
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:#123b67;background:#f4f9fd}a{text-decoration:none;color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 18px}
.header{background:#fff;border-bottom:1px solid #e3edf6;position:sticky;top:0;z-index:20}.nav{min-height:68px;display:flex;align-items:center;gap:24px}.brand{display:flex;gap:10px;align-items:center;min-width:220px}.brand .ico{font-size:34px}.brand b{font-size:22px;color:#075cae}.brand small{display:block;color:#7890a7;font-size:11px}.menu{display:flex;gap:24px;flex:1;justify-content:center}.menu a{font-size:13px;font-weight:bold;padding:25px 0}.phone,.btn{background:#0876d1;color:#fff;border:0;border-radius:24px;padding:11px 18px;font-weight:bold;font-size:13px;display:inline-block;cursor:pointer}.hero{background:linear-gradient(120deg,#0474c9,#54bfe8 65%,#dff7ff);padding:48px 0 30px;color:#fff}.hero h1{font-size:40px;margin:0 0 10px}.hero p{font-size:17px;font-weight:bold}.search{background:#fff;padding:15px;border-radius:15px;box-shadow:0 8px 25px #0b578a33;display:grid;grid-template-columns:1fr 1fr 1fr .65fr auto;gap:10px;margin-top:28px;color:#355c7e}.field{border:1px solid #d9e6f1;border-radius:9px;padding:9px 12px}.field small{display:block;color:#8095a9;font-size:10px}.field input,.field select{width:100%;border:0;outline:0;padding-top:4px;background:transparent}.section{padding:34px 0}.section h2{color:#075cae;margin:0 0 18px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.route{background:#fff;border:1px solid #dfebf5;border-radius:13px;padding:12px;display:flex;gap:10px;align-items:center;box-shadow:0 3px 10px #075cae0d}.route .pic{width:62px;height:62px;border-radius:10px;background:#dff2ff;display:grid;place-items:center;font-size:28px}.route b{font-size:14px;display:block;margin-bottom:8px}.route .btn{font-size:10px;padding:8px 11px}.list{display:grid;gap:12px}.op{background:#fff;border:1px solid #dce9f3;border-radius:14px;padding:17px;display:grid;grid-template-columns:1.1fr 1.2fr 1fr .8fr;gap:15px;align-items:center}.op h3{margin:0 0 8px;color:#075cae;font-size:17px}.op p{font-size:12px;color:#58718a;margin:5px 0}.badge{font-size:10px;background:#eaf6ff;color:#0876d1;padding:5px 8px;border-radius:15px;margin-right:4px}.time{font-weight:bold;color:#e56a18!important}.actions{text-align:right}.zalo{background:#0068ff}.notice{background:#edf8ff;border:1px solid #cfe8fa;padding:12px;border-radius:9px;font-size:12px;color:#476b84;margin-top:12px}.form{background:#fff;border:1px solid #dce8f2;border-radius:15px;padding:20px;margin-top:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form label{font-size:12px;font-weight:bold}.form input,.form select{width:100%;padding:11px;border:1px solid #d5e3ed;border-radius:8px;margin-top:5px}.full{grid-column:1/-1}.rental{background:#eaf7ff;border-radius:15px;padding:25px;display:flex;justify-content:space-between;align-items:center}.cars{font-size:65px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{background:#fff;border:1px solid #dfebf5;border-radius:13px;text-align:center;padding:20px}.num{margin:auto auto 10px;width:38px;height:38px;border-radius:50%;background:#0876d1;color:#fff;display:grid;place-items:center;font-weight:bold}footer{background:#064d8d;color:#fff;margin-top:35px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:25px;padding:30px 18px}.foot a{display:block;color:#dceeff;font-size:12px;margin:8px 0}.copy{text-align:center;background:#043d70;padding:10px;font-size:11px}.bottom{position:fixed;bottom:0;left:0;right:0;background:#075cae;color:#fff;text-align:center;padding:9px;z-index:30;font-size:12px}.bottom a{background:#fff;color:#075cae;border-radius:18px;padding:7px 12px;margin-left:7px;font-weight:bold}.pagehead{background:#eaf7ff;padding:34px 0}.pagehead h1{margin:0;color:#075cae}.back{color:#0876d1;font-weight:bold;display:inline-block;margin-bottom:10px}
@media(max-width:900px){.nav{flex-wrap:wrap;padding:8px 14px}.menu{order:3;width:100%;overflow:auto;justify-content:flex-start}.menu a{padding:7px 0}.phone{margin-left:auto;font-size:10px}.search{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}.op{grid-template-columns:1fr 1fr}.actions{text-align:left}}
@media(max-width:560px){.hero h1{font-size:29px}.search,.grid,.steps,.formgrid{grid-template-columns:1fr}.op{grid-template-columns:1fr}.foot{grid-template-columns:1fr}.phone{display:none}.brand b{font-size:18px}}

/* VŨ VÉ XE mobile + detail upgrade */
.menu{min-width:0}.op{grid-template-columns:1.05fr 1.1fr 1fr .85fr}.detailchips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.reviewbox{background:#f6fbff;border:1px solid #d9edf9;border-radius:10px;padding:10px;margin-top:10px;font-size:12px;color:#45677f}.reviewbox b{color:#075cae}.source{font-size:11px;color:#71899e;margin-top:8px}.route-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px}.summary-card{background:#fff;border:1px solid #dce9f3;border-radius:12px;padding:14px}.summary-card b{display:block;color:#075cae;font-size:13px;margin-bottom:5px}.summary-card span{font-size:12px;color:#58718a}.seo-text{background:#fff;border:1px solid #dce9f3;border-radius:14px;padding:18px;margin-top:18px;color:#45677f;font-size:13px;line-height:1.65}.seo-text h2,.seo-text h3{color:#075cae}.rental-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.rental-card{background:#fff;border:1px solid #dce9f3;border-radius:14px;padding:20px}.rental-card h2{margin-top:0}.checklist{padding-left:20px;line-height:1.8}.quick-zalo{margin-top:10px}.route .btn{white-space:nowrap}
@media(max-width:900px){.op{grid-template-columns:1fr 1fr}.route-summary{grid-template-columns:1fr 1fr}.rental-grid{grid-template-columns:1fr}.menu{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;white-space:nowrap;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu a{flex:0 0 auto;padding:8px 0}.brand{min-width:0}.nav{gap:12px}}
@media(max-width:560px){.op{grid-template-columns:1fr}.route-summary{grid-template-columns:1fr}.hero .search{grid-template-columns:1fr}.hero .search .btn{width:100%;text-align:center}.brand small{font-size:10px}.brand b{font-size:18px}.brand .ico{font-size:28px}.pagehead h1{font-size:32px}.op h3{font-size:18px}.bottom{font-size:11px}.bottom a{padding:7px 9px}}

/* VŨ VÉ XE V3 - professional ticket UI */
.booking-hero{margin:0 0 18px;padding:18px 20px;border-radius:18px;background:linear-gradient(110deg,#005da9,#0b86d8);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 8px 24px rgba(0,85,150,.14)}
.booking-copy h2{margin:0 0 5px;color:#fff;font-size:21px}.booking-copy p{margin:0;color:#eaf7ff;font-size:13px;max-width:620px;line-height:1.5}.booking-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.contact-number,.contact-zalo{background:#fff;color:#075cae;padding:11px 14px;border-radius:12px;font-weight:800;font-size:13px;white-space:nowrap}.contact-zalo{background:#ffe66d;color:#173d62}.contact-mini{display:flex;flex-direction:column;gap:5px}.contact-mini a{display:block;background:#075cae;color:#fff;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:800}.rating-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.filter-btn{border:1px solid #cfe2ef;background:#fff;color:#276086;border-radius:20px;padding:8px 12px;font-weight:700;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:#0876d1;color:#fff;border-color:#0876d1}.op{position:relative;overflow:hidden;box-shadow:0 5px 16px rgba(4,86,140,.06)}.op:before{content:'NHÀ XE';position:absolute;top:0;right:0;background:#eef8ff;color:#0a6eb7;font-size:9px;font-weight:800;padding:5px 9px;border-bottom-left-radius:10px}.op h3{font-size:19px}.reviewbox{font-weight:700}.reviewbox b{color:#0b78c7}.home-contact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0 5px}.home-contact-title{font-weight:900;color:#fff;margin-right:4px}.home-number{background:#fff;color:#075cae;border-radius:12px;padding:10px 13px;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,.1)}.home-zalo{background:#ffe66d;color:#123b67;border-radius:12px;padding:10px 14px;font-weight:900}.home-contact+.search{margin-top:14px}
@media(max-width:700px){.booking-hero{display:block}.booking-actions{justify-content:flex-start;margin-top:12px}.contact-number,.contact-zalo{font-size:12px}.home-contact{gap:7px}.home-contact-title{width:100%}.home-number{padding:9px 10px;font-size:12px}.home-zalo{padding:9px 11px;font-size:12px}}

.about-vuvexe .about-box{background:#fff;border:1px solid #dceaf2;border-radius:16px;padding:22px;box-shadow:0 6px 20px rgba(20,70,100,.06)}
.about-vuvexe h2{margin-top:0}
.about-vuvexe p{line-height:1.7;margin:10px 0}

/* V8 - gọn nhẹ: linh vật chỉ ở thương hiệu và góc dưới */
.brand .mascot{font-size:32px}
.corner-mascot{position:fixed;right:14px;bottom:54px;width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 4px 14px #075cae33;display:grid;place-items:center;font-size:27px;z-index:31;border:2px solid #d9ecfb}
.feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feedback{background:#fff;border:1px solid #dfebf5;border-radius:14px;padding:18px;box-shadow:0 3px 10px #075cae0d}
.feedback .stars{color:#f4a51c;letter-spacing:2px;margin-bottom:8px}
.feedback b{color:#075cae;display:block;margin-bottom:7px}
.feedback p{font-size:13px;line-height:1.6;color:#58718a;margin:0}
.feedback-note{font-size:11px;color:#71879a;margin-top:12px;background:#f3f8fc;border-radius:8px;padding:9px}
@media(max-width:900px){.feedback-grid{grid-template-columns:1fr}.corner-mascot{right:10px;bottom:55px;width:42px;height:42px;font-size:24px}}

/* V9: contact emphasis and route-report */
.route-phone{display:inline-block!important;background:#fff4d6;border:1px solid #ffd36a;color:#075cae!important;border-radius:8px;padding:6px 9px!important;font-size:13px!important;font-weight:900!important;margin:4px 4px 4px 0!important;}
.action-phone{background:#edf8ff;border:1px solid #cfe8fa;border-radius:9px;padding:7px 9px;margin:8px 0 0!important;line-height:1.7;}
.action-phone b{color:#075cae!important;font-size:13px;}
.phone{font-size:12px!important;padding:11px 14px!important;white-space:nowrap;box-shadow:0 4px 12px rgba(0,91,160,.12);}
.booking-actions .contact-number{border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.08);}
.report-box{background:#fff8e8;border:1px solid #f4d48a;border-radius:15px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.report-box h2{margin:0 0 7px;color:#075cae;}
.report-box p{margin:0;color:#506b80;font-size:13px;line-height:1.55;}
.report-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;}
.report-actions a{background:#075cae;color:#fff;border-radius:10px;padding:10px 13px;font-weight:900;font-size:12px;white-space:nowrap;}
.report-actions a:last-child{background:#ffe66d;color:#173d62;}
@media(max-width:700px){.report-box{display:block}.report-actions{justify-content:flex-start;margin-top:12px}.route-phone{font-size:12px!important}.phone{font-size:10px!important;padding:9px 10px!important;white-space:normal;}}

.seo-direct{margin:.45rem 0 0;color:#5d7180;font-size:.95rem}

.reverse-route{margin:12px 0;padding:10px 14px;background:#eef7ff;border-radius:10px}.reverse-route a{font-weight:700}
.all-routes-link{text-align:center;margin:14px 0}.all-routes-link a{font-weight:800}

/* V12 - linh vật Vũ Vé Xe và ô tìm kiếm chống lỗi đường dẫn */
.brand-mascot{width:48px;height:48px;object-fit:cover;object-position:18% 88%;border-radius:12px;display:block}
.hero-mascot-card{margin-top:18px;background:#fff;border-radius:18px;padding:14px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 25px rgba(0,0,0,.08)}
.hero-mascot-card img{width:150px;height:120px;object-fit:cover;object-position:18% 88%;border-radius:14px}
.hero-mascot-card b{font-size:19px;color:#0757a6}.hero-mascot-card p{margin:6px 0 10px;color:#555;line-height:1.5}.hero-zalo{display:inline-block;background:#00a884;color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700}
.corner-mascot img{width:58px;height:58px;object-fit:cover;object-position:18% 88%;border-radius:50%;display:block}
@media(max-width:600px){.hero-mascot-card{align-items:flex-start}.hero-mascot-card img{width:105px;height:105px}.hero-mascot-card b{font-size:16px}}
.brand-logo{display:block;height:60px;width:auto}.footer-logo{display:block;height:76px;width:auto;background:#fff;border-radius:12px;padding:6px 10px;margin:0 0 10px}
@media(max-width:900px){.brand-logo{height:52px}}
@media(max-width:560px){.brand-logo{height:48px}}
header>.wrap>div.brand .brand-logo{height:40px}.footer-logo-plain{background:none;padding:0}
header:not([class])>.wrap{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}header:not([class])>.wrap>div.brand{grid-row:span 2;min-width:0}
.dest-section{padding:8px 0 0}
.dest-banners{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:1720px;margin:auto;padding:0 32px}
.dest-banner{display:block;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(0,60,120,.15);transition:transform .2s}
.dest-banner:hover{transform:translateY(-2px)}.dest-banner img{display:block;width:100%;height:auto}
.dest-section+.section{padding-top:22px}
@media(max-width:700px){.dest-banners{grid-template-columns:1fr;padding:0 16px}}
.guide-toc{gap:8px}.guide-toc .badge{font-size:14.5px;line-height:1.3;padding:8px 14px;margin-right:0}
@media(max-width:600px){.guide-toc{gap:7px}.guide-toc .badge{font-size:14px;padding:8px 12px}}
@media(max-width:900px){.header{position:static}.menu{flex:0 0 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;white-space:normal;padding:2px 0 8px}.menu a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px;padding:6px 4px;font-size:13px;line-height:1.25;background:#eef6fd;border-radius:9px}}
@media(min-width:601px) and (max-width:900px){.menu a{font-size:14px}}
.seo-text{font-size:17px;line-height:1.75}.seo-text p{margin:0 0 1em}.seo-text li{margin:0 0 .35em}
.seo-text h2{font-size:23px;line-height:1.3;margin:1.3em 0 .55em}.seo-text h3{font-size:19px;line-height:1.35;margin:1.2em 0 .45em}.seo-text>h2:first-child{margin-top:0}
.pagehead h1{font-size:28px;line-height:1.25}.dest-section~.section h2{font-size:24px}
.summary-card b{font-size:16px}.summary-card span{font-size:14px}.route b{font-size:16px}.route .btn{font-size:14px}
.op p,.notice,.reviewbox,.source,.action-phone b{font-size:14px}.feedback p,.report-box p{font-size:15px}.bottom{font-size:14px}.copy{font-size:13px}
.route-phone,.phone{font-size:14px!important}
@media(max-width:700px){.route-phone,.phone{font-size:13px!important}}
@media(min-width:901px){.seo-text{font-size:18px}.seo-text h2{font-size:28px}.seo-text h3{font-size:22px}.pagehead h1{font-size:36px}.dest-section~.section h2{font-size:28px}}
@media(max-width:900px){.seo-text{font-size:18px}.seo-text h2{font-size:24px}.seo-text h3{font-size:20px}.pagehead h1{font-size:30px}.dest-section~.section h2{font-size:25px}.menu a{font-size:14px}.guide-toc .badge{font-size:15px}.summary-card b,.route b{font-size:17px}.summary-card span,.route .btn{font-size:15px}.op p,.notice,.reviewbox,.source,.action-phone b{font-size:15px}.feedback p,.report-box p{font-size:16px}.bottom{font-size:15px}.route-phone,.phone{font-size:14px!important}}

/*bia-tuyen*/.route .pic{flex:none}.route .pic-img{width:96px;height:96px;padding:0;overflow:hidden;background:#dff2ff}.route .pic-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:560px){.route .pic-img{width:80px;height:80px}}
