@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap");


:root{
  --vq-blue:#063b91;
  --vq-blue-2:#0a4da8;
  --vq-navy:#052b68;
  --vq-orange:#ff9d13;
  --vq-orange-2:#ffb52b;
  --vq-text:#12213a;
  --vq-muted:#667085;
  --vq-bg:#f6f9ff;
  --vq-border:#dce5f2;
  --shadow:0 12px 30px rgba(6,59,145,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Be Vietnam Pro",sans-serif;color:var(--vq-text);background:#fff;margin:0}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:1180px}
.topbar{background:linear-gradient(110deg,#052b68,#073f99);color:#fff}
.brand-wrap{display:flex;align-items:center;gap:14px;padding:12px 0}
.brand-logo{width:78px;height:78px;object-fit:contain}
.brand-title{font-size:25px;font-weight:800;line-height:1.05}
.brand-sub{font-size:13px;margin-top:5px;opacity:.9}
.hotline{display:flex;align-items:center;gap:12px}
.hotline-icon{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--vq-orange);display:grid;place-items:center;font-size:23px}
.hotline small{display:block;font-weight:700}
.hotline strong{display:block;color:var(--vq-orange);font-size:22px}
.navbar{position:-webkit-sticky !important;position:sticky !important;top:0 !important;z-index:1035 !important;box-shadow:0 2px 10px rgba(0,0,0,.08);background:#fff}
.navbar .nav-link{font-weight:700;color:#14233e;padding:17px 22px!important;position:relative}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--vq-blue)}
.navbar .nav-link.active:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:var(--vq-orange);border-radius:3px 3px 0 0}
.hero-carousel .carousel-item{height:330px}
.hero-carousel img{height:330px;width:100%;object-fit:cover}
.hero-caption{position:absolute;left:6%;top:25%;max-width:430px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.hero-caption h2{font-size:38px;font-weight:900;margin-bottom:6px}
.hero-caption p{font-size:18px;margin:4px 0}
.hero-caption .badge{font-size:13px;background:var(--vq-orange)}
.booking-card{margin-top:-30px;position:relative;z-index:3;background:linear-gradient(135deg,#063b91,#0756bd);border-radius:12px;box-shadow:0 15px 35px rgba(0,0,0,.18);color:#fff;padding:20px}
.section-title{text-align:center;color:var(--vq-navy);font-weight:900;margin:30px 0 18px;letter-spacing:.2px}
.section-title span{color:var(--vq-orange)}
.form-label{font-size:13px;font-weight:700;margin-bottom:5px}
.booking-card .form-control,.booking-card .form-select{border:0;min-height:43px}
.btn-vq{background:var(--vq-orange);color:#fff;border:0;font-weight:800;padding:11px 20px;border-radius:7px}
.btn-vq:hover{background:#e88a00;color:#fff}
.btn-blue{background:var(--vq-blue);color:#fff;border:0;font-weight:800;border-radius:7px}
.btn-blue:hover{background:#052d70;color:#fff}
.tabs-vq{justify-content:center;gap:8px;margin-bottom:15px}
.tabs-vq .nav-link{border:1px solid #d5deeb;border-radius:25px;color:#24324b;font-weight:700;padding:8px 17px;background:#fff}
.tabs-vq .nav-link.active{background:var(--vq-blue);color:#fff;border-color:var(--vq-blue)}
.route-card{border:1px solid var(--vq-border);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(5,43,104,.08);height:100%;transition:.2s}
.route-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(5,43,104,.15)}
.route-card img{width:100%;height:150px;object-fit:cover}
.route-body{padding:13px}
.route-title{font-size:16px;font-weight:900}
.route-meta{display:flex;justify-content:space-between;color:#52627b;font-size:13px;margin:9px 0}
.route-price{font-size:18px;font-weight:900;color:#e53935}
.route-prices{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.45;margin-bottom:10px}.route-prices .price-line{display:block}.route-prices strong{font-weight:900;color:#e53935}
.navbar.sticky-ready{position:-webkit-sticky !important;position:sticky !important;top:0 !important}
@media(max-width:767px){.navbar{top:0 !important}.route-prices{font-size:12px}}
.reason-wrap{background:#f8fbff;border-top:1px solid #edf2f8;border-bottom:1px solid #edf2f8;padding:25px 0}
.reason{background:#fff;border:1px solid var(--vq-border);border-radius:10px;padding:18px 12px;height:100%;text-align:center}
.reason i{font-size:29px;color:var(--vq-blue);margin-bottom:8px}
.reason h6{font-weight:900;color:var(--vq-blue);font-size:14px}
.reason p{font-size:12px;color:#60708a;margin:0;line-height:1.55}
.service-card,.info-card,.post-card{border:1px solid var(--vq-border);border-radius:12px;background:#fff;height:100%;box-shadow:0 8px 20px rgba(6,59,145,.07)}
.service-card{padding:25px}
.service-card i{font-size:30px;color:var(--vq-orange)}
.page-hero{background:linear-gradient(110deg,#052b68,#0b4fa9);color:#fff;padding:55px 0}
.page-hero h1{font-size:38px;font-weight:900;margin:0 0 7px}
.page-hero p{margin:0;opacity:.9}
.table-vq thead th{background:var(--vq-blue);color:#fff;white-space:nowrap}
.table-vq tbody tr:hover{background:#f5f9ff}
.post-card img{height:190px;width:100%;object-fit:cover;border-radius:12px 12px 0 0}
.post-body{padding:18px}
.post-body h3{font-size:18px;font-weight:900}
.post-meta{font-size:12px;color:var(--vq-muted)}
.footer{background:linear-gradient(110deg,#052b68,#073f99);color:#fff;padding:38px 0 18px;margin-top:40px}
.footer h5{font-weight:900;font-size:16px;margin-bottom:14px}
.footer p,.footer li{font-size:13px;line-height:1.7;color:#e3ebfa}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin-bottom:3px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:25px;padding-top:14px;font-size:12px;text-align:center}
.floating-actions{position:fixed;right:18px;bottom:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}
.float-btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.2);border:3px solid #fff}
.float-hotline{background:#e53935}
.float-zalo{background:#1683ff;font-size:13px}
.float-book{background:var(--vq-orange)}
.back-top{position:fixed;right:20px;bottom:200px;width:42px;height:42px;border-radius:50%;background:var(--vq-blue);color:#fff;border:0;display:none;z-index:999}
.contact-box{border-radius:12px;padding:24px;background:#f7faff;border:1px solid var(--vq-border)}
.map-placeholder{height:320px;border-radius:12px;background:linear-gradient(135deg,#e8f1ff,#fff);display:grid;place-items:center;color:var(--vq-blue);font-weight:900;border:1px dashed #9bb7df}
@media(max-width:991px){
  .brand-title{font-size:20px}
  .brand-logo{width:62px;height:62px}
  .hotline strong{font-size:17px}
  .hero-carousel .carousel-item,.hero-carousel img{height:280px}
  .hero-caption h2{font-size:28px}
  .navbar .nav-link{padding:12px 15px!important}
}
@media(max-width:767px){
  .brand-wrap{padding:9px 0}
  .brand-logo{width:55px;height:55px}
  .brand-title{font-size:17px}
  .brand-sub{font-size:10px}
  .hotline small{font-size:10px}
  .hotline strong{font-size:14px}
  .hotline-icon{width:36px;height:36px;font-size:18px}
  .hero-carousel .carousel-item,.hero-carousel img{height:240px}
  .hero-caption{top:18%;left:7%;max-width:280px}
  .hero-caption h2{font-size:25px}
  .hero-caption p{font-size:13px}
  .booking-card{margin-top:-12px;padding:14px}
  .page-hero{padding:40px 0}
  .page-hero h1{font-size:30px}
  .route-card img{height:130px}
  .floating-actions{right:12px;bottom:12px}
  .float-btn{width:46px;height:46px}
}

.blog-layout{max-width:920px;margin:auto}.blog-article{background:#fff;border:1px solid var(--vq-border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.blog-cover{width:100%;height:420px;object-fit:cover}.blog-content{padding:30px}.blog-content h2{font-size:26px;font-weight:900;color:var(--vq-navy);margin-top:28px}.blog-content h3{font-size:21px;font-weight:800;color:var(--vq-blue);margin-top:24px}.blog-content p,.blog-content li{font-size:16px;line-height:1.85;color:#3e4b60}.blog-content ul,.blog-content ol{padding-left:24px}.blog-cta{background:linear-gradient(110deg,#052b68,#0b4fa9);color:#fff;border-radius:12px;padding:22px;margin-top:28px}.route-grid-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.province-description{color:var(--vq-muted);font-size:14px}.table-filter-card{background:#f7faff;border:1px solid var(--vq-border);border-radius:12px;padding:16px;margin-bottom:18px}.dt-container .dt-search input{border:1px solid var(--vq-border)!important;border-radius:8px!important}.dt-container .dt-length select{border:1px solid var(--vq-border)!important;border-radius:8px!important}.map-frame{width:100%;height:420px;border:0;border-radius:12px}.ckeditor-layout-note{background:#f7faff;border:1px dashed #a8bddc;border-radius:10px;padding:12px;font-size:13px;color:#51617a}.editor-preview-structure{border:1px solid var(--vq-border);border-radius:10px;padding:12px;background:#fbfdff;font-size:13px}.editor-preview-structure strong{display:block;color:var(--vq-blue);margin-bottom:6px}@media(max-width:767px){.blog-cover{height:250px}.blog-content{padding:20px}.blog-content h2{font-size:22px}.blog-content p,.blog-content li{font-size:15px}.map-frame{height:320px}}
