/* ==========================================================
   Vinpearl Resort Booking â€“ Luxury theme
   Bootstrap 5 + Swiper + FontAwesome 6
   ========================================================== */
:root{
  --navy: #3b4691;
  --navy-2:#2a3373;
  --navy-3:#3b4691;
  --brand:#3b4691;
  --purple:#8353e2;
  --cyan:#14b8d9;
  --gold:#f2a33a;
  --gold-2:#ffc977;
  --gold-dark: #fd7e14;
  --ivory:#f7f8fa;
  --sand:#f0f2f6;
  --ink:#1d2433;
  --muted:#667085;
  --line:#dfe2f0;
  --font-head:'Playfair Display',Georgia,serif;
  --font-body:'Inter',system-ui,sans-serif;
  --radius:16px;
  --shadow:0 16px 40px -20px rgba(27,34,82,.22);
  --bs-body-font-family:var(--font-body);
  --bs-body-color:var(--ink);
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:#fff;font-size:15px;line-height:1.75;overflow-x:clip;padding-top:0}
h1,h2,h3,h4,h5{font-family: var(--font-body);color:var(--navy);line-height:1.25}
a{color:inherit;text-decoration:none;transition:.25s}
img{max-width:100%}
.section{padding:80px 0}
.section-sm{padding:56px 0}
.bg-ivory{background:var(--ivory)} .bg-navy{background:var(--navy);color:#cfd6e4} .bg-sand{background:var(--sand)}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4{color:#fff}
.text-gold{color:var(--gold)!important}

/* ---------- Section heading ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);font-weight:600;margin-bottom:14px}
.eyebrow::before,.eyebrow::after{content:"";width:34px;height:1px;background:var(--gold)}
.sec-title{font-size:clamp(28px,3.2vw,40px);margin-bottom:16px}
.sec-desc{color:var(--muted);max-width:640px}
.text-center .sec-desc{margin-inline:auto}
.bg-navy .sec-desc{color:#aab4c8}
.divider{display:block;width:70px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin:18px 0 22px}
.text-center .divider{margin-inline:auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* ---------- Buttons ---------- */
.btn-gold,.btn-outline-gold,.btn-navy{font-size:14px;letter-spacing:.02em;text-transform:none;font-weight:600;padding: 10px 20px;border-radius: 7px;border:1px solid var(--gold);transition:.3s}
.btn-gold{background:var(--gold);color: var(--navy-2);box-shadow:0 6px 18px -12px rgba(181,101,15,.4)}
.btn-gold:hover{color:var(--navy);transform:translateY(-2px);filter:brightness(1.06)}
.btn-outline-gold{color:#fff;background:transparent}
.btn-outline-gold:hover{background:var(--gold);color:var(--navy)}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-navy:hover{background: #fd7e14;border-color: var(--bs-orange);color: #fff;}
.link-arrow{font-size:13px;letter-spacing:.02em;text-transform:none;font-weight:600;color:var(--gold-dark)}
.link-arrow i{transition:.25s;margin-left:6px}.link-arrow:hover i{transform:translateX(6px)}

/* ---------- Top bar & header ---------- */
.topbar{background:var(--navy);color:#b9c2d4;font-size:12.5px;padding:9px 0;letter-spacing:.03em}
.topbar a:hover{color:var(--gold-2)}
.topbar i{color:var(--gold);margin-right:6px}
.site-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:.3s}
.site-header.scrolled{box-shadow:0 8px 30px -14px rgba(27,34,82,.35)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-size:18px;border:2px solid var(--gold)}
.brand-text{font-family:var(--font-head);font-size:20px;color:var(--navy);line-height:1.05;font-weight:700}
.brand-text small{display:block;font-family:var(--font-body);font-size:9.5px;letter-spacing:.34em;color:var(--gold-dark);text-transform:uppercase;margin-top:4px;font-weight:600}
.navbar{padding:14px 0}
.navbar .nav-link{font-size: 18px;letter-spacing:.01em;text-transform:none;font-weight:600;color: var(--navy-3);padding:10px 13px!important;position:relative;text-transform: capitalize;}
.navbar .nav-link::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height: 2px;background:var(--gold);transform:scaleX(0);transition:.3s}
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{transform:scaleX(1)}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--gold-dark)!important}
.navbar-toggler{border:0;box-shadow:none!important;color:var(--navy);font-size:22px}
.nav-cta{padding:11px 24px}
@media(max-width:991px){.navbar-collapse{padding:14px 0 20px}.navbar .nav-link::after{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;height:clamp(580px,72vh,740px);min-height:0;background:var(--navy)}
.hero .swiper,.hero .swiper-slide{height:100%}
.hero .swiper-slide{position:relative;display:flex;align-items:center;background-size:cover;background-position:center;max-width: 100% !important;}
.hero .swiper-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,25,53,.78) 0%,rgba(18,25,53,.42) 52%,rgba(18,25,53,.12) 100%)}
.hero-content{position:relative;z-index:2;color:#fff;max-width: 100%;width: 800px;margin: 0px auto;text-align: center;}
.hero-content .eyebrow{color:var(--gold-2)}
.hero-content h1{color:#fff;font-size:clamp(36px,4.6vw,64px);margin-bottom:20px}
.hero-content h1 em{color:var(--gold-2);font-style:italic}
.hero-content p{font-size:17px;color:#dbe2ef;max-width:540px;margin-bottom:34px}
.hero .swiper-pagination{bottom:130px!important;text-align:left;padding-left:calc((100vw - min(100vw,1320px))/2 + 12px)}
.hero .swiper-pagination-bullet{width:34px;height:3px;border-radius:0;background:#fff;opacity:.4}
.hero .swiper-pagination-bullet-active{background:var(--gold);opacity:1}
.hero .swiper-button-next,.hero .swiper-button-prev{color:#fff;width:52px;height:52px;border:1px solid rgba(255,255,255,.4);border-radius:50%;top:45%}
.hero .swiper-button-next::after,.hero .swiper-button-prev::after{font-size:15px;font-weight:700}
.hero .swiper-button-next:hover,.hero .swiper-button-prev:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
@media(max-width:767px){.hero .swiper-button-next,.hero .swiper-button-prev{display:none}.hero .swiper-pagination{padding-left:16px;bottom:30px!important}}

/* Page hero (inner pages) */
.page-hero{position:relative;padding:80px 0 68px;background-size:cover;background-position:center;color:#fff;text-align:center}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,25,53,.55),rgba(18,25,53,.72))}
.page-hero .container{position:relative}
.page-hero h1{color:#fff;font-size:clamp(30px,4vw,48px)}
.page-hero p{color:#d6dded;max-width:620px;margin:14px auto 0}
.breadcrumb{justify-content:center;margin:18px 0 0;font-size:12px;letter-spacing:.02em;text-transform:none}
.breadcrumb a{color:var(--gold-2)} .breadcrumb-item.active{color:#fff}
.breadcrumb-item+.breadcrumb-item::before{color:#8fa0bd;content:"/"}

/* ---------- Booking bar ---------- */
.booking-wrap{position:relative;z-index:5;margin-top:-48px}
.booking{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 28px;border-top:3px solid var(--gold);padding-top: 20px;}
.booking label{font-size: 14px;letter-spacing:.02em;text-transform:none;color:var(--gold-dark);font-weight:700;margin-bottom:4px}
.booking .form-control,.booking .form-select{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;font-weight:500;box-shadow:none;background-color:transparent}
.booking .form-control:focus,.booking .form-select:focus{
    border: none;
    box-shadow: none;
    outline: none;
}

/* ---------- Destination cards ---------- */
.dest-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;height:360px;color:#fff;box-shadow:var(--shadow)}
.dest-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.dest-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,34,82,0) 35%,rgba(27,34,82,.92))}
.dest-card:hover img{transform:scale(1.08)}
.dest-card .info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px}
.dest-card h3{color:#fff;font-size:24px;margin:0 0 6px}
.dest-card .count{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2)}
.dest-card .go{position:absolute;top:20px;right:20px;z-index:2;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);transition:.3s}
.dest-card:hover .go{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.dest-card.tall{height:430px}

/* ---------- Room cards ---------- */
.room-card{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);height:100%;display:flex;flex-direction:column;transition:.4s}
.room-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.room-img{position:relative;overflow:hidden;aspect-ratio:16/10}
.room-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.room-card:hover .room-img img{transform:scale(1.07)}
.tag{position:absolute;top:16px;left:16px;background:var(--navy);color:var(--gold-2);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:6px 14px;border-radius:30px;font-weight:600}
.room-body{/* padding:24px; *//* display:flex; *//* flex-direction:column; *//* flex:1; */}
.room-loc{font-size:12px;letter-spacing:.02em;text-transform:none;color: var(--bs-orange);font-weight:600}
.room-body h3{font-family:var(--font-body);font-weight:600;font-size:18px;line-height:1.45;margin:8px 0 14px}
.amen{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--muted);margin-bottom:18px;display: none;}
.amen i{color:var(--gold);margin-right:5px;width:14px}
.room-foot{margin-top: 0;display:flex;align-items:end;justify-content:space-between;border-top:1px dashed var(--line);padding-top: 10px;}
.price small{display:block;font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.price strong{font-family:var(--font-head);font-size:23px;color: red;}
.price span{font-size:12px;color:var(--muted)}
.room-card .btn-navy{padding:10px 22px;font-size:11px}

/* Swiper generic */
.swiper-nav{display:flex;gap:10px}
.swiper-nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--navy);background:transparent;color:var(--navy);transition:.3s}
.swiper-nav button:hover{background:var(--gold);border-color:var(--gold)}
.swiper-pagination-bullet-active{background:var(--gold)!important}
.room-swiper{padding-bottom:50px!important}

/* ---------- Feature / why ---------- */
.feature{text-align:center;padding:38px 26px;border:1px solid rgba(242,163,58,.28);border-radius:var(--radius);height:100%;transition:.4s;background:rgba(255,255,255,.03)}
.feature:hover{background:rgba(242,163,58,.08);transform:translateY(-6px);border-color:var(--gold)}
.feature .ico{width:70px;height:70px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;font-size:26px;color:var(--gold);border:1px solid var(--gold)}
.feature h4{font-size:19px;margin-bottom:10px}
.feature p{font-size:14px;color:#aab4c8;margin:0}
.light-feature{background:#fff;border-color:var(--line)}
.light-feature h4{color:var(--navy)} .light-feature p{color:var(--muted)}
.light-feature:hover{background:#fff;box-shadow:var(--shadow)}

/* ---------- About ---------- */
.about-img{position:relative;padding:0 40px 40px 0}
.about-img .main{border-radius:var(--radius);width:100%;aspect-ratio:4/5;object-fit:cover}
.about-img .sub{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:8px solid #fff;box-shadow:var(--shadow)}
.about-img::before{content:"";position:absolute;left:-18px;top:-18px;width:55%;height:55%;border:2px solid var(--gold);border-radius:var(--radius);z-index:-1}
.stat{text-align:center}
.stat b{display:block;font-family:var(--font-head);font-size:42px;color:var(--gold);line-height:1}
.stat span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#aab4c8}
.check-list{list-style:none;padding:0;margin:0}
.check-list li{padding-left:30px;position:relative;margin-bottom:10px}
.check-list li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:1px;color:var(--gold);font-size:13px}

/* ---------- Promo ---------- */
.promo-card{position:relative;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line);height:100%;transition:.4s;display:flex;flex-direction:column}
.promo-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.promo-card .pimg{position:relative;aspect-ratio:16/10;overflow:hidden}
.promo-card .pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.promo-card:hover .pimg img{transform:scale(1.06)}
.badge-off{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,var(--gold-2),var(--gold-dark));color:var(--navy);font-weight:700;font-size:13px;padding:7px 14px;border-radius:30px}
.promo-card .pbody{padding:24px;display:flex;flex-direction:column;flex:1}
.promo-card h3{font-family:var(--font-body);font-size:18px;line-height:1.5;font-weight:600;margin-bottom:10px}
.promo-card p{color:var(--muted);font-size:14px}
.promo-card .until{font-size:12px;color:var(--gold-dark);font-weight:600;letter-spacing:.06em;margin-top:auto;padding-top:10px}

/* ---------- Gallery ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px}
.gallery-grid a{position:relative;overflow:hidden;border-radius:12px;display:block}
.gallery-grid a:nth-child(1){grid-column:span 2;grid-row:span 1}
.gallery-grid a:nth-child(6){grid-column:span 2}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.gallery-grid a::after{content:"\f002";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:22px;background:rgba(27,34,82,.5);opacity:0;transition:.4s}
.gallery-grid a:hover::after{opacity:1}.gallery-grid a:hover img{transform:scale(1.1)}
@media(max-width:767px){.gallery-grid{grid-template-columns: repeat(2,1fr) !important;grid-auto-rows: 160px !important;}.gallery-grid a:nth-child(1){grid-column:span 2}}

/* ---------- Testimonials ---------- */
.testi{background:#fff;border-radius:var(--radius);padding:36px;border:1px solid var(--line);position:relative;height:100%}
.testi::before{content:"\201C";font-family:var(--font-head);position:absolute;top:6px;right:26px;font-size:96px;color:var(--gold-2);line-height:1}
.testi .stars{color:var(--gold);font-size:13px;margin-bottom:14px}
.testi p{font-style:italic;color:#444c5e}
.testi .who{display:flex;align-items:center;gap:14px;margin-top:22px}
.testi .who img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.testi .who b{display:block;color:var(--navy);font-size:14.5px}.testi .who small{color:var(--muted)}

/* ---------- News ---------- */
.news-card{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);transition:.4s}
.news-card:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.news-card .nimg{aspect-ratio:16/10;overflow:hidden}
.news-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.news-card:hover img{transform:scale(1.07)}
.news-card .nbody{padding:24px}
.news-card .meta{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.news-card h3{font-family:var(--font-body);font-size:18px;font-weight:600;line-height:1.5;margin:10px 0}
.news-card p{font-size:14px;color:var(--muted);margin-bottom:12px}
.article{margin:auto;line-height:1.85;width: 1000px;max-width: 100%;}
.article h2{font-size:27px;margin:36px 0 16px}
.article p{font-size:16px}
.article img{border-radius:var(--radius);margin:24px 0}

/* ---------- CTA / Contact form ---------- */
.cta{position:relative;background:linear-gradient(90deg,rgba(20,26,66,.9) 0%,rgba(27,34,82,.62) 55%,rgba(27,34,82,.5) 100%),url(../../img_data/images/bg-tu-van.webp) center/cover fixed,var(--navy);color:#fff}
.cta h2{color:#fff}
.contact-card{background:#fff;border-radius:var(--radius);padding: 30px;box-shadow:var(--shadow);color:var(--ink)}
.contact-card h3{font-size: 28px;font-weight: 600;}
.form-control,.form-select{border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14.5px}
.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(242,163,58,.2)}
.info-item{display:flex;gap:18px;margin-bottom:26px}
.info-item .ico{flex:0 0 52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(242,163,58,.14);color:var(--gold);font-size:18px;border:1px solid rgba(242,163,58,.5)}
.info-item small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.info-item b,.info-item a{font-size:16px;color:#fff;font-weight:500}
.light-info .info-item b,.light-info .info-item a{color:var(--navy)}
.light-info .info-item small{color:var(--gold-dark)}

/* ---------- Filters ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}
.filter-btn{border:1px solid var(--line);background:#fff;padding:10px 18px;border-radius:8px;font-size:13px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--navy);transition:.3s}
.filter-btn:hover,.filter-btn.active{background:var(--navy);color:var(--gold-2);border-color:var(--navy)}

/* ---------- Highlight list (dest page) ---------- */
.hl{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);height:100%}
.hl i{font-size:24px;color:var(--gold);margin-top:3px}
.hl h4{font-size:17px;margin-bottom:4px}.hl p{margin:0;font-size:13.5px;color:var(--muted)}
.table-lux{border-color:var(--line)}
.table-lux thead th{background:var(--navy);color:var(--gold-2);font-size:13px;letter-spacing:0;text-transform:none;border:0;padding:14px 18px}
.table-lux td{padding:14px 18px;vertical-align:middle}

/* ---------- Disclaimer + Footer ---------- */
.disclaimer{background:#faf7ef;border-bottom:1px solid #ebe3d2;color:#766344;font-size:11.5px;text-align:center;padding:8px 12px;display: none;}
.site-footer{background:var(--navy);color:#c5ccdc;padding-top:64px;font-size:14px}
.site-footer h5{color:#fff;font-size:18px;margin-bottom:22px;position:relative;padding-bottom:14px}
.site-footer h5::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--gold)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:11px}
.site-footer a:hover{color:var(--gold-2);padding-left:4px}
.site-footer li i{color:var(--gold);width:22px}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:inline-grid;place-items:center;margin-right:8px;color:#fff}
.social a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);padding-left:0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:56px;padding:22px 0;font-size:13px}

/* Floating contact */
.float-contact{position:fixed;right:18px;bottom:22px;z-index:1040;display:flex;flex-direction:column;gap:12px}
.float-contact a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:20px;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);position:relative}
.float-contact .f-call{background:var(--gold);color:var(--navy);animation:pulse 2s infinite}
.float-contact .f-zalo{background:#0068ff;font-size:13px;font-weight:700}
.float-contact .f-book{background:var(--navy);border:1px solid var(--gold);color:var(--gold)}
.float-contact .f-book:hover{background:var(--gold);color:var(--navy)}
.float-contact .f-top{background:var(--navy);border:1px solid var(--gold);color:var(--gold);opacity:0;pointer-events:none;transition:.3s}
.float-contact .f-top.show{opacity:1;pointer-events:auto}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,163,58,.6)}70%{box-shadow:0 0 0 18px rgba(242,163,58,0)}100%{box-shadow:0 0 0 0 rgba(242,163,58,0)}}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
.img-fallback{background:linear-gradient(135deg,var(--navy-3),var(--navy))}
@media(max-width:767px){.section{padding:64px 0}.booking{padding:20px}.contact-card{padding:26px}.dest-card,.dest-card.tall{height:340px}}

/* ---------- Dropdown ---------- */
.navbar .dropdown-menu{border:0;border-top:2px solid var(--gold);border-radius:0 0 12px 12px;box-shadow:var(--shadow);padding:10px 0;margin-top:10px}
.navbar .dropdown-item{font-size: 15px;padding:10px 24px;color:var(--navy);font-weight: 600;}
.navbar .dropdown-item:hover,.navbar .dropdown-item.active{background:var(--ivory);color:var(--gold-dark)}
.navbar .dropdown-toggle::after{vertical-align:.15em;margin-left:6px}
@media(min-width:992px){.navbar .dropdown-menu{top:100%;margin-top:0}.navbar .dropdown:hover>.dropdown-menu{display:block}}
.room-body h3 a:hover{color:var(--gold-dark)}
.btn-outline-navy{border:1px solid var(--navy);color:var(--navy);border-radius:10px;font-size:14px;letter-spacing:.02em;text-transform:none;font-weight:600;padding: 10px 20px;}
.btn-outline-navy:hover{background:var(--navy);color:#fff}

/* ---------- List tools ---------- */
.list-tools{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-bottom:36px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.list-tools .filter-bar{margin:0;justify-content:flex-start}
.list-tools .sel{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.list-tools .form-select{min-width:150px;font-size:13px;padding:9px 14px}
.result-count{font-size:13px;color:var(--muted);white-space:nowrap}

/* ---------- Detail ---------- */
.detail-main{border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;background:var(--navy)}
.detail-main img{width:100%;height:100%;object-fit:cover}
.detail-main .swiper-button-next,.detail-main .swiper-button-prev{color:#fff;width:44px;height:44px;border-radius:50%;background:rgba(27,34,82,.55)}
.detail-main .swiper-button-next::after,.detail-main .swiper-button-prev::after{font-size:15px;font-weight:700}
.detail-thumbs{margin-top:10px}
.detail-thumbs .swiper-slide{aspect-ratio:16/10;border-radius:10px;overflow:hidden;opacity:.55;cursor:pointer;transition:.3s}
.detail-thumbs .swiper-slide-thumb-active{opacity:1;outline:2px solid var(--gold);outline-offset:-2px}
.detail-thumbs img{width:100%;height:100%;object-fit:cover}
.badge-inline{display:inline-block;background:var(--navy);color:var(--gold-2);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:4px 12px;border-radius:30px;font-weight:600;vertical-align:middle;margin-left:8px}
.spec-row{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:12px;color:var(--ink);font-weight:500;font-size:14px}
.spec-row i{color:var(--gold);margin-right:8px}
.tabs-lux{border-bottom:1px solid var(--line);gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}
.tabs-lux .nav-link{border:0;border-bottom:2px solid transparent;color:var(--muted);font-size: 16px;letter-spacing:0;text-transform:none;font-weight:600;padding:12px 20px;white-space:nowrap;background:none}
.tabs-lux .nav-link:hover{color:var(--navy)}
.tabs-lux .nav-link.active{color: var(--bs-orange);border-color: var(--bs-orange);background:none}
.feat-chip{background:var(--ivory);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13.5px}
.feat-chip i{color:var(--gold);margin-right:8px}
.x-list{list-style:none;padding:0;margin:0}
.x-list li{padding-left:30px;position:relative;margin-bottom:10px}
.x-list li::before{font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:1px;font-size:13px}
.x-list.yes li::before{content:"\f00c";color:#2f8f5b}
.x-list.no li::before{content:"\f00d";color:#c0453d}
.accordion-lux .accordion-item{border:1px solid var(--line);border-radius:12px!important;margin-bottom:12px;overflow:hidden}
.accordion-lux .accordion-button{font-family: var(--font-body);font-weight:600;color:var(--navy);font-size:17px;padding:18px 22px}
.accordion-lux .accordion-button:not(.collapsed){background:var(--ivory);color:var(--gold-dark);box-shadow:none}
.accordion-lux .accordion-button:focus{box-shadow:none}
.accordion-lux .accordion-body{padding:6px 22px 22px}
.book-card{position:sticky;top:100px;background: #f7f8fa;border:1px solid var(--line);border-radius:var(--radius);padding: 20px;box-shadow:var(--shadow)}
.book-price small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.book-price strong{font-family: var(--font-body);font-size: 28px;color:var(--navy)}
.book-price span{color:var(--muted);font-size:13px}
.book-card .form-control,.book-card .form-select{padding: 8px 14px;font-size:14px}
.estimate{display:flex;justify-content:space-between;align-items:center;background:var(--ivory);padding:12px 16px;border-radius:10px;border:1px dashed var(--gold)}
.estimate b{font-family:var(--font-head);font-size:19px;color:var(--navy)}
.book-help{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.book-help .btn{padding:11px 10px;font-size:11px;letter-spacing:.12em}
@media(max-width:991px){.book-card{position:static}}

/* ---------- Brand logo (Nidu Travel) ---------- */
.brand-logo{height:64px;width:auto;display:block}
.brand-card{display:inline-block;background:#fff;border-radius:14px;padding:10px 14px;margin-bottom:22px}
.brand-card .brand-logo{height:78px}
.avatar{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy-3),var(--navy));color:var(--gold-2);font-family:var(--font-head);font-weight:600;font-size:18px;flex:0 0 50px}
.company{font-size:12.5px;color:#8c97b8;margin-top:6px}

/* ---------- Header search, nav sizing ---------- */
.top-search{display:flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:2px 4px 2px 14px}
.top-search input{background:none;border:0;outline:0;color:#fff;font-size:12.5px;width:170px}
.top-search input::placeholder{color:#9aa6c9}
.top-search button{background:none;border:0;color:var(--gold);padding:4px 8px}
.navbar-collapse .top-search{background:#fff;border-color:var(--line)}
.navbar-collapse .top-search input{color:var(--ink);width:100%}
@media(min-width:992px) and (max-width:1199px){.navbar .nav-link{padding:10px 8px!important;font-size:11.5px;letter-spacing:.08em}.navbar .nav-link::after{left:8px;right:8px}.brand-logo{height:54px}}
@media(min-width:1200px) and (max-width:1399px){.navbar .nav-link{padding:10px 10px!important;letter-spacing:.1em}}
.table-lux a:not(.link-arrow){color:var(--navy);font-weight:600}.table-lux a:not(.link-arrow):hover{color:var(--gold-dark)}
.table-lux td{font-size:14px}
.step{position:relative;text-align:center;padding:0 14px}
.step .num{width:72px;height:72px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;font-family:var(--font-head);font-size:28px;color:var(--navy);background:linear-gradient(135deg,var(--gold-2),var(--gold));box-shadow:0 12px 26px -10px rgba(242,163,58,.8)}
.step h4{font-size:19px}.step p{font-size:14px;color:var(--muted)}
.value-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;height:100%;transition:.4s}
.value-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.value-card i{font-size:28px;color:var(--gold);margin-bottom:16px}
.err-code{font-family:var(--font-head);font-size:clamp(110px,22vw,220px);line-height:1;background:linear-gradient(135deg,var(--gold-2),var(--gold) 50%,var(--gold-dark));-webkit-background-clip:text;background-clip:text;color:transparent}
.search-box{display:flex;max-width:620px;margin:26px auto 0;background:#fff;border-radius:50px;padding:6px;box-shadow:var(--shadow)}
.search-box input{flex:1;border:0;outline:0;padding:10px 22px;border-radius:50px;font-size:15px}
.search-box button{border-radius:50px;padding:12px 28px}

/* ---------- Fixes after browser test ---------- */
.swiper-slide{height:auto}
.room-swiper .swiper-slide>.room-card,.room-swiper .swiper-slide>div{height:100%}
.room-foot{flex-wrap:wrap;gap:12px}
.room-card .btn-navy{white-space:nowrap;padding:10px 20px}
.price strong{font-size:21px;white-space:nowrap}
.price span{white-space:nowrap}
.brand-logo{height: 70px;}
.navbar{padding:8px 0}
@media(min-width:992px) and (max-width:1199px){.brand-logo{height:64px}}
@media(max-width:575px){.brand-logo{height:60px}}
.table-lux{--bs-table-bg:transparent;--bs-table-hover-bg:var(--ivory)}
.table-lux thead th{background-color:var(--navy)!important;box-shadow:none!important;color:var(--gold-2)!important}
/* mobile: g-5 gutters overflowed the container */
@media(max-width:991px){.row.g-5{--bs-gutter-x:1.5rem}}
html{overflow-x:hidden}

/* Consistent reading rhythm, accessible controls and responsive spacing. */
#site-header{display:contents}
.page-hero h1{max-width:1000px;margin-inline:auto;text-wrap:balance}
.page-hero p{text-wrap:balance}
.topbar{padding: 8px 0;font-size: 13px;}
.topbar .top-search{padding-block:0}
.topbar .me-4{margin-right:1rem!important;}
.topbar .top-search input{width:150px;font-size: 13px;}
.navbar .dropdown-toggle::after{position:static;display:inline-block;width:0;height:0;background:none;transform:none;border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent;vertical-align:middle}
.navbar .nav-cta{font-size: 14px;padding:11px 18px;white-space:nowrap}
.room-card:hover,.promo-card:hover,.news-card:hover{transform:translateY(-4px)}
.room-card .btn-navy{font-size: 14px;padding: 8px 20px;font-weight: 400;}
.price strong{font-family:var(--font-body);font-size:20px;font-weight: 600;}
.price small{font-size: 14px;letter-spacing:0;text-transform:none}
.price span{margin-left:4px}
.news-card .meta{font-size:12px;letter-spacing:0;text-transform:none}
.news-card .nbody{display:flex;flex-direction:column;flex:1}
.news-card .link-arrow{margin-top:auto}
.feature p,.bg-navy .sec-desc,.cta .sec-desc{color:#c5ccdc}
.contact-card{box-shadow:0 12px 40px -24px rgba(27,34,82,.24)}
.contact-card label,.book-card label{display:block;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:7px}
.form-control,.form-select{min-height: 42px;}
.form-hint{font-size:12px;color:var(--muted);line-height:1.65;margin:12px 0 0}
.estimate{gap:12px;flex-wrap:wrap}.estimate b{font-family:var(--font-body);font-size:17px}
.list-tools .sel{width:100%;padding-top:16px;border-top:1px solid var(--line)}
.list-tools .form-select{width:auto;min-width:180px}
.list-tools .result-count{margin-left:auto}
.table-lux td,.table-lux th{min-width:110px}.table-lux td:first-child{min-width:220px}
.table-responsive{border:1px solid var(--line);border-radius:12px}.table-responsive .table{margin-bottom:0}
.article a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px}
.article .sec-title{font-size:clamp(28px,3vw,38px);margin-top:8px}
.article .lead{font-size:18px;line-height:1.8;color:var(--muted)}
.article p,.article li{overflow-wrap:anywhere}
.search-box input{min-width:0;width:100%}
.search-box{margin-top:0;border-radius:12px;border:1px solid var(--line);box-shadow:none}
.search-box button{border-radius:8px;white-space:nowrap}
.search-empty{max-width:650px;margin:auto;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--ivory)}
.search-empty .suggestions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:24px}
.float-contact{right:16px;bottom:18px;gap:10px}
.float-contact a{width:46px;height:46px;font-size:18px;box-shadow:0 4px 16px rgba(0,0,0,.16)}
.float-contact .f-call{animation:none;justify-content: center;align-items: center;}.float-contact .f-zalo{font-size:12px}
.site-footer a:hover{padding-left:0}.footer-bottom{margin-top:40px}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.booking label{display:block}.booking .form-control,.booking .form-select{font-size:14px;padding-right:24px}
.booking .btn{min-height:46px}.booking-wrap+.section{padding-top: 70px;}
@media(min-width:1200px) and (max-width:1399px){.navbar .nav-link{letter-spacing:0;padding-inline:9px!important}.brand-logo{height:58px}.topbar{font-size:10px}}
@media(min-width:992px) and (max-width:1199px){.navbar .nav-link{font-size:12px;letter-spacing:0}.brand-logo{height:56px}.topbar .top-search{display:none}}
@media(max-width:991px){
 .section{padding:64px 0}.section-sm{padding:48px 0}
 .topbar .container>div:first-child{display:none}.topbar .container{justify-content:center!important}
 .navbar-collapse{max-height:calc(100dvh - 100px);overflow-y:auto}.navbar .nav-link{font-size:14px;padding:12px 0!important}
 .navbar .dropdown-menu{box-shadow:none;border-top:0;border-left:2px solid var(--gold);margin:0 0 8px;border-radius:0}
 .navbar .nav-cta{display:block}.navbar-toggler{min-width:44px;min-height:44px}
 .hero-content{max-width: 100%;}.hero .swiper-button-prev,.hero .swiper-button-next{display:none}
 .page-hero{padding:64px 0 56px}.hl{padding:20px}
 .about-img .main{aspect-ratio:5/4}.book-card{position:static}
}
@media(max-width:767px){
 body{font-size:14px}.container{padding-inline:20px}.section{padding:52px 0}.section-sm{padding:40px 0}
 .disclaimer{font-size:10px;line-height:1.55;padding:6px 16px}.brand-logo{height:52px}
 .hero{height:570px}.hero-content{padding-bottom:20px}.hero-content h1{font-size:40px;line-height:1.2;max-width:540px}
 .hero-content p{font-size:15px;line-height:1.75;margin-bottom:24px}.hero-content .eyebrow{font-size:11px}
 .hero .swiper-pagination{bottom:48px!important;padding-left:20px}
 .booking-wrap{margin-top:-24px}.booking{padding:22px 18px}.booking label{font-size:11px}
 .booking-wrap+.section{padding-top:56px}.page-hero{padding:52px 0 44px}.page-hero h1{font-size:32px;line-height:1.3}
 .page-hero p{font-size:14px}.breadcrumb{font-size:11px;line-height:1.7;letter-spacing:0}
 .eyebrow{font-size:11px;letter-spacing:.1em}.sec-title{font-size: 24px !important;line-height:1.3}
 .about-img{padding:0 24px 24px 0}.about-img::before{left:-8px;top:-8px}.about-img .sub{border-width:5px}
 .dest-card,.dest-card.tall{height:330px}.dest-card .info{padding:24px}.dest-card h3{font-size:25px}
 .room-body,.promo-card .pbody,.news-card .nbody{padding:22px}.room-body h3,.promo-card h3,.news-card h3{font-size:18px}
 .room-img{aspect-ratio:16/10}.room-foot{align-items:center}.room-loc{font-size:12px}
 .contact-card{padding:24px 20px}.contact-card h3{font-size:24px}.book-card{padding:24px 20px}
 .form-control,.form-select{font-size:16px}.list-tools{padding:18px;gap:12px}.list-tools .filter-bar{gap:8px}
 .filter-btn{font-size:12px;padding:10px 13px}.list-tools .sel{gap:10px}.list-tools .form-select{width:100%;min-width:0;font-size:14px}
 .result-count{width:100%;margin-left:0!important}.tabs-lux .nav-link{font-size:13px;padding:12px 16px}
 .table-lux td,.table-lux th{padding:12px;font-size:13px}.article h2{font-size:24px}.article .lead{font-size:16px}
 .feature{padding:28px 22px}.feature h4{font-size:21px}.feature .ico{width:58px;height:58px;font-size:22px}
 .gallery-grid{grid-auto-rows:145px;gap:10px}.testi{padding:28px}.site-footer{padding-top:48px}
 .site-footer .row{--bs-gutter-y:2rem}.site-footer .col-6 h5{font-size:17px}.site-footer li{font-size:13px}
 .float-contact{right:10px;bottom:12px;gap:8px}.float-contact a{width:42px;height:42px}
 .search-box input{padding:10px 12px;font-size:14px}.search-box button{padding:12px 16px;font-size:13px}
 .search-empty{padding:28px 20px}.cta{background-attachment:scroll}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.hero-content h1{max-width:620px;text-wrap:balance}
@media(max-width:767px){body{padding-bottom:66px}.float-contact{left:0;right:0;bottom:0;flex-direction:row;align-items:center;gap:10px;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.float-contact a{height:42px;box-shadow:none}.float-contact .f-top{margin-right:auto;border-radius:8px}.float-contact .f-zalo{width:70px;border-radius:8px;font-size:14px}.float-contact .f-call{width:142px;border-radius:8px;display:flex;gap:10px;font-size:14px;font-weight:600}.float-contact .f-call::after{content:'Gọi tư vấn'}}
.hero-content h1 em{white-space:nowrap}

/* Balanced footer: five links per navigation group. */
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.15fr 1.35fr;gap:36px;align-items:start}
.footer-grid>div{min-width:0}
.footer-grid h5{font-family:var(--font-body);font-size:16px;font-weight:600;line-height:1.5;margin:0 0 18px;padding-bottom:12px}
.footer-grid ul{display:grid;gap:12px}
.footer-grid li{margin:0;font-size:13px;line-height:1.6}
.footer-brand .brand-card{padding:8px 12px;border-radius:10px;margin-bottom:16px}
.footer-brand .brand-logo{height:62px}
.footer-brand p{font-size:13px;line-height:1.8;margin-bottom:16px;max-width:290px}
.footer-brand .social{display:flex;gap:8px}
.footer-brand .social a{width:34px;height:34px;margin:0;font-size:14px}
.footer-contact li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px}
.footer-contact li i{width:auto;line-height:1.6}
.footer-contact a,.footer-contact span{overflow-wrap:anywhere}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:36px;padding:22px 0;font-size:12px;line-height:1.7}
.footer-bottom .company{font-size:11px;color:#bac4d9}
@media(min-width:768px) and (max-width:1199px){
 .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px}
 .footer-brand{grid-column:span 2;grid-row:1}.footer-brand p{max-width:440px}
 .footer-contact{grid-column:3;grid-row:1}
 .footer-destinations,.footer-services,.footer-support{grid-row:2}
 .footer-bottom{align-items:flex-start}
}
@media(max-width:767px){
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
 .footer-brand,.footer-support,.footer-contact{grid-column:span 2}
 .footer-brand p{max-width:100%}.footer-support ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
 .footer-grid h5{font-size:16px;margin-bottom:16px}.footer-grid ul{row-gap:10px}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;padding:20px 0}
}

/* =====================================================================
   Bá»” SUNG CHO Báº¢N PHP (khÃ´ng cÃ³ trong prototype tÄ©nh)
   ===================================================================== */
/* KhÃ´ng JS thÃ¬ váº«n tháº¥y ná»™i dung */
html:not(.js) .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Ná»™i dung CKEditor (price table, áº£nh, linkâ€¦) */
.rte{overflow-wrap:anywhere}
.rte h2,.rte h3,.rte h4{margin:1.6em 0 .6em}
.rte img{max-width:100%;height:auto;border-radius:12px}
.rte table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.2em 0}
.rte table td,.rte table th{border:1px solid var(--line);padding:8px 12px;min-width:90px}
.rte table th{background:var(--sand);color:var(--navy)}
.rte a{color:var(--brand);text-decoration:underline}
.rte ul,.rte ol{padding-left:1.3em}
.rte iframe{max-width:100%}

/* Form AJAX */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg-box{margin-top:12px;font-size:14px;display:none}
.form-msg-box.is-ok{display:block;color:#0a7a3d;background:#e8f7ee;border:1px solid #bfe6cf;padding:10px 14px;border-radius:10px}
.form-msg-box.is-err{display:block;color:#a12626;background:#fdecec;border:1px solid #f4c5c5;padding:10px 14px;border-radius:10px}
.form-note{font-size:12.5px;color:var(--muted);margin:10px 0 0}
.req{color:#c0392b}

/* Sidebar trang con */
.side-box{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:#fff;margin-bottom:22px}
.side-box h3{font-size: 17px;margin-bottom:14px;font-weight: 600;border-bottom: 2px solid var(--bs-orange);text-transform: uppercase;padding-bottom: 4px;margin-bottom: 20px;}
.side-box ul{list-style:none;margin:0;padding:0}
.side-box ul li{/* padding-bottom: 10px; */}
.side-box li a{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);font-size: 14px;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.side-box li:last-child a{border-bottom:0}
.side-box li.is-active a,.side-box li a:hover{color:var(--gold-dark);font-weight:600}
.side-sticky{position:sticky;top:96px}
.mini-post{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.mini-post img{width:76px;height:60px;object-fit:cover;border-radius:8px;flex:none}
.mini-post strong{display:block;font-size:14px;line-height:1.4;color:var(--navy)}
.mini-post small{color:var(--muted)}

/* TiÃªu Ä‘á» phá»¥ trÃªn hero */
.page-hero .eyebrow{margin-bottom:10px}
.page-hero.has-img::before{background:linear-gradient(180deg,rgba(18,25,53,.5),rgba(18,25,53,.75))}

/* NhÃ£n "ChÆ°a cÃ³ giÃ¡" */
.price .ask{font-size:15px;font-weight:600;color:var(--navy)}
.room-card .room-img{aspect-ratio:4/3}
.room-card .room-img img{width:100%;height:100%;object-fit:cover}
.room-card[hidden]{display:none}
.col-filter[hidden]{display:none!important}

/* PhÃ¢n bá»‘ Ä‘iá»ƒm Ä‘áº¿n */
.dest-block+.dest-block{margin-top:56px}
.dest-block h3{font-size:24px;margin-bottom:6px}
.search-box{max-width:620px;margin:22px auto 0;display:flex;gap:10px}
.search-box input{flex:1}
.empty-note{text-align:center;color:var(--muted);padding:40px 0}
.result-count{font-size:13px;color:var(--muted)}
.gallery-grid.is-album{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:190px}
.gallery-grid.is-album a:nth-child(n){grid-column:auto;grid-row:auto}

.hero-content .display-title{color:#fff;font-size:clamp(30px,5vw,58px);line-height:1.15;margin-bottom: 40px;text-transform: uppercase;}
a.room-img{display:block;position:relative;overflow:hidden}
.dest-card.sm{height:260px}
/* Má»¥c lá»¥c bÃ i viáº¿t */
.toc{background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);padding:16px 22px;margin:0 0 28px;max-width:640px}
.toc summary{font-family:var(--font-head);font-weight:600;color:var(--navy);cursor:pointer;font-size:17px}
.toc ol{margin:12px 0 0;padding-left:20px;font-size:14.5px}
.toc li{margin:6px 0}
.toc li.lv3{margin-left:16px;list-style:circle}
.toc a{color:var(--brand)}
.toc a:hover{color:var(--gold-dark)}
.rte h2[id],.rte h3[id]{scroll-margin-top:96px}
.price del,.book-price del{color:var(--muted);font-weight:400;margin-left:4px}

/* =====================================================================
   TINH CHá»ˆNH UI (2026-10-11) â€” thang chá»¯, nhá»‹p khoáº£ng cÃ¡ch, mobile.
   Äáº·t CUá»I file Ä‘á»ƒ tháº¯ng cÃ¡c báº£n vÃ¡ ráº£i rÃ¡c phÃ­a trÃªn. Sá»­a kÃ­ch thÆ°á»›c chá»¯/khoáº£ng cÃ¡ch á»Ÿ token, khÃ´ng sá»­a láº».
   ===================================================================== */
:root{
  --fs-xs:12.5px;
  --fs-sm:13.5px;
  --fs-body:15.5px;
  --fs-lead:17px;
  --fs-h4:19px;
  --fs-h3:clamp(20px,.9vw + 15px,24px);
  --fs-h2:clamp(26px,1.6vw + 18px,38px);
  --fs-h1:clamp(30px,2.2vw + 20px,46px);
  --fs-display:clamp(30px,3.4vw + 14px,56px);
  --lh-body:1.72;
  --lh-head:1.28;
  --space-section: clamp(50px,6vw,50px);
  --space-section-sm:clamp(40px,4vw,60px);
}
body{font-size:var(--fs-body);line-height:var(--lh-body)}
h1,h2,h3,h4,h5{line-height:var(--lh-head);text-wrap:wrap;}
/* balance chá»‰ cho tiÃªu Ä‘á» canh giá»¯a; tiÃªu Ä‘á» canh trÃ¡i (tháº» phÃ²ng, bÃ i viáº¿tâ€¦) xuá»‘ng dÃ²ng tá»± nhiÃªn, khÃ´ng báº» Ä‘Ã´i khi dÃ²ng Ä‘áº§u cÃ²n chá»— */
.text-center :is(h1,h2,h3,h4),.text-center .sec-title,.feature h4,.contact-card h3{/* text-wrap:balance; */}
p,li{text-wrap:wrap}
.section{padding:var(--space-section) 0}
.section-sm{padding:var(--space-section-sm) 0}
.sec-title{font-size: 32px;font-weight: 700;text-transform: uppercase;}
.sec-desc{font-size:var(--fs-body)}
.lead{font-size:var(--fs-lead);line-height:1.65;color:var(--ink)}

/* Topbar + menu: má»™t cá»¡ chá»¯ nháº¥t quÃ¡n theo bá» rá»™ng (chá»¯ menu Ä‘Ã£ chuáº©n hoÃ¡ á»Ÿ PHP â€” vp_tc) */
.topbar{font-size:var(--fs-xs);letter-spacing:.01em}
.navbar .nav-link{font-size: 14px;letter-spacing:0;text-transform:none;padding: 20px 15px!important;text-transform: uppercase;}
@media(min-width:1200px) and (max-width:1399px){.navbar .nav-link{font-size:14.5px;padding-inline:9px!important}.topbar{font-size:var(--fs-xs)}}
@media(min-width:992px) and (max-width:1199px){.navbar .nav-link{font-size:13.5px;padding-inline:7px!important}}
@media(max-width:991px){.navbar .nav-link{font-size:16px;padding:12px 4px!important;border-bottom:1px solid var(--line)}}

/* Hero */
.hero-content .display-title{font-size:var(--fs-display);line-height:1.14;letter-spacing:-.01em;}
.page-hero{padding:clamp(56px,6vw,84px) 0 clamp(48px,5vw,68px)}
.page-hero h1,.page-hero div.h1,.page-hero>.container>div:not(.eyebrow){font-size:var(--fs-h1)}
.page-hero h1,.page-hero .container>div:first-of-type{max-width:22ch;margin-inline:auto;line-height:1.2}
.page-hero p{font-size:var(--fs-lead);max-width:60ch}

/* Tháº» sáº£n pháº©m: tÃªn tá»‘i Ä‘a 3 dÃ²ng Ä‘á»ƒ hÃ ng tháº» tháº³ng nhau */
.room-body{padding: 20px 20px 20px;}
.room-body h3{font-size:16.5px;line-height:1.45;margin: 5px 0 10px;display:-webkit-box;-webkit-line-clamp: 2;-webkit-box-orient:vertical;overflow:hidden}
.amen{font-size:var(--fs-sm)}
.news-card h3{font-size:17px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Ná»™i dung bÃ i / trang / sáº£n pháº©m: cá»¡ chá»¯ Ä‘á»c dÃ i, Ä‘á»™ dÃ i dÃ²ng â‰¤ ~75 kÃ½ tá»± */
.rte{font-size:16px;line-height:1.8;text-align: justify;}
.article .rte,.col-lg-8 > article > .rte{width: 1000px;max-width: 100%;}
.rte h2{font-size:var(--fs-h3);margin:1.8em 0 .6em}
.rte h3{font-size:19px;margin:1.5em 0 .5em}
.rte p{margin-bottom:1em}
.rte table{font-size:14.5px;line-height:1.55}
.rte table tr:first-child td{background:var(--sand);color:var(--navy);font-weight:600}
.rte img{margin:8px 0}
.detail-title{font-size:var(--fs-h2)}
.article .sec-title{font-size:var(--fs-h1)}

/* Tab cuá»™n Ä‘Æ°á»£c (khÃ´ng cÄƒn giá»¯a khi trÃ n â†’ tab Ä‘áº§u khÃ´ng bá»‹ cáº¯t) */
.tabs-scroll{justify-content:flex-start;scrollbar-width:none}
.tabs-scroll::-webkit-scrollbar{display:none}
@media(min-width:768px){.tabs-scroll{justify-content:center}}

/* HÃ ng tháº» cuá»™n ngang trÃªn mobile (Ä‘iá»ƒm Ä‘áº¿n, tab sáº£n pháº©m) â€” giá»¯ Ä‘á»§ liÃªn káº¿t mÃ  khÃ´ng kÃ©o dÃ i trang */
@media(max-width:767px){
  .scroll-row{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-right:-16px;scrollbar-width:thin}
  .scroll-row>*{flex:0 0 84%;max-width:84%;scroll-snap-align:start}
  .scroll-row .dest-card,.scroll-row .dest-card.tall{height:300px}
  .dest-card h3{font-size:21px}
  .hero{height:auto;min-height:520px}
  .hero .swiper-slide{min-height:520px;padding:90px 0 110px;max-width: 100%;}
  .booking-wrap{margin-top:-36px}
  .booking label{font-size:var(--fs-xs)}
  .page-hero .breadcrumb{font-size:11.5px;flex-wrap:wrap;row-gap:4px}
  .contact-card{padding:24px}
  .book-card{padding:22px}
}

/* Nhá»‹p chuyá»ƒn Ä‘á»™ng: chá»‰ má» dáº§n nháº¹, quÃ£ng ngáº¯n */
.reveal{transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}

/* Truy cáº­p bÃ n phÃ­m */
a:focus-visible,button:focus-visible,.form-control:focus-visible,.form-select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;box-shadow:none}
@media(max-width:767px){
  .feature{padding:20px 14px}
  .feature .ico{width:48px;height:48px;font-size:18px;margin-bottom:12px}
  .feature h4{font-size:16.5px;margin-bottom:6px}
  .feature p{font-size:13px;line-height:1.55}
}
/* Banner: tiÃªu Ä‘á» cÃ³ thá»ƒ lÃ  <div> (khi H1 náº±m trong ná»™i dung) â€” giá»¯ cÃ¹ng kiá»ƒu chá»¯ */
.page-hero .page-hero-title{font-family: var(--font-body);font-weight:600;color:#fff;font-size:var(--fs-h1);line-height:1.2;max-width:24ch;margin:0 auto}
/* MÃ u inline tá»« CKEditor cá»§a site cÅ© â†’ vá» báº£ng mÃ u thÆ°Æ¡ng hiá»‡u (dá»¯ liá»‡u giá»¯ nguyÃªn) */
.rte [style*="color:#0000ff"],.rte [style*="color: #0000ff"],.rte [style*="color:#3333ff"],.rte [style*="color: #3333ff"],
.rte [style*="color:#0000cc"],.rte [style*="color: #0000cc"],.rte [style*="color:#3498db"],.rte [style*="color: #3498db"],
.rte [style*="color:rgb(0, 0, 255)"],.rte [style*="color: rgb(0, 0, 255)"]{color:var(--brand)!important}
.rte [style*="color:#000000"],.rte [style*="color: #000000"],.rte [style*="color:black"],.rte [style*="color: black"]{color:var(--ink)!important}
.rte [style*="background:#eeeeee"],.rte [style*="background: #eeeeee"],.rte [style*="background:rgb(238,238,238)"],.rte [style*="background: rgb(238, 238, 238)"],
.rte [style*="background-color:#eeeeee"],.rte [style*="background-color: #eeeeee"]{background:var(--ivory)!important;border:1px solid var(--line)!important;border-radius:12px;padding:16px 20px!important}
.rte [style*="color:#e74c3c"],.rte [style*="color: #e74c3c"]{color:#c0392b!important}
/* NÃºt "Äáº·t chá»—" trong thanh liÃªn há»‡ ná»•i â€” chá»‰ trang chi tiáº¿t sáº£n pháº©m, chá»‰ mobile */
/* BÃ i dÃ i trÃªn trang nhÃ³m/Ä‘iá»ƒm Ä‘áº¿n: cá»™t Ä‘á»c ~ 860px á»Ÿ giá»¯a */
.content-narrow{max-width:880px;margin-inline:auto}

/* ===== Äáº¶T CHá»–: lÆ°u trÃº / tour (module/lead-form.php mode booking | tour, products_detail.php) ===== */
.book-price .unit,.room-card .price .unit{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--muted);margin-left:2px}
.book-sub{margin-top:4px;font-size:var(--fs-sm);color:var(--ink)}
.side-sticky.no-stick{position:static}
.bk-form .form-label{margin-bottom:5px}
.bk-opts{border:0;padding-top:0;padding-bottom:0;margin:0}
.bk-opts legend{float:none;width:auto;margin-bottom:6px}
.bk-opt,.book-card .bk-opt{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line);border-radius:10px;margin:0 0 8px;cursor:pointer;font-size:14px;line-height:1.45;transition:border-color .15s,background .15s}
.bk-opt input{margin-top:3px;accent-color:var(--navy);flex:0 0 auto}
.bk-opt:has(input:checked){border-color:var(--navy-3);background:var(--ivory)}
.bk-opt .opt-desc{display:block;color:var(--muted);font-size:12.5px;line-height:1.45;margin-top:1px}
.bk-form .opt-hint{display:block;margin-top:4px;font-size:12px}
.bk-invoice-toggle{margin-bottom:0}
.bk-invoice{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
/* Tour: lá»‹ch khá»Ÿi hÃ nh + lá»‹ch trÃ¬nh */
.tour-depart{margin-top:14px;font-size:14px;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tour-depart>i{color:var(--gold);margin-right:4px}
.tour-depart .chip{display:inline-block;padding:2px 10px;border-radius:20px;background:var(--sand);font-weight:600;font-size:13px}
.tour-depart .sep{color:var(--muted);margin:0 2px}
.itin{list-style:none;margin:0;padding:0;position:relative}
.itin::before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:2px;background:var(--line)}
.itin-day{position:relative;padding:0 0 22px 54px}
.itin-day:last-child{padding-bottom:0}
.itin-no{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--gold-2);display:grid;place-items:center;font-weight:700;font-size:14px}
.itin-day h3{font-family:var(--font-body);font-size:16.5px;font-weight:700;color:var(--navy);margin:6px 0 6px;line-height:1.4}
.itin-day .rte{font-size:15px}

/* ---------- Ná»™i dung bÃ i (.rte) sau vp_rte_clean() â€” sources/lib/content.php ---------- */
.rte{color:var(--ink)}
.rte > :first-child{margin-top:0}
.rte h2{position:relative;padding-top:.9em;margin: 40px 0 20px;border-bottom: 1px solid var(--brand);padding-bottom: 10px;font-weight: 600;}
.rte > h2:first-child{border-top:0;padding-top:0}
.rte h2::before{content:"";position:absolute;bottom: -2px;left:0;width: 100px;height:3px;background:var(--gold)}
.rte > h2:first-child::before{display:none}
.rte h3{font-size:var(--fs-h4);color: var(--bs-body-color);margin:1.7em 0 .5em}
.rte h4{font-size:16.5px;font-family:var(--font-body);font-weight:700;color:var(--navy);margin:1.4em 0 .4em}
.rte p{margin:0 0 1em}
.rte .rte-label{font-weight:600;color:var(--navy);margin:1.4em 0 .4em}
.rte strong{color:var(--navy);font-weight:600}
.rte ul{list-style:none;padding-left:0}
.rte ul > li{position:relative;padding-left:1.35em;margin:.35em 0}
.rte ul > li::before{content:"";position:absolute;left:.15em;top:.78em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.rte ol{padding-left:1.4em}
.rte ol > li{margin:.35em 0;padding-left:.2em}
.rte ol > li::marker{color:var(--gold-dark);font-weight:600}
.rte li > ul,.rte li > ol{margin:.3em 0}
.rte-fig{margin:1.5em 0;text-align:center}
.rte-fig img{display:block;margin:0 auto;max-width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow)}
.rte-fig--multi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.rte-fig--multi img{width:100%;height:100%;object-fit:cover}
.rte-fig figcaption{font-size:var(--fs-sm);color:var(--muted);margin-top:8px;font-style:italic}
.rte-fig--multi figcaption{grid-column:1/-1;margin-top:0}
.rte img{box-shadow:none}
.rte .rte-fig img{box-shadow:var(--shadow)}
.rte-table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line);border-radius:12px;-webkit-overflow-scrolling:touch}
.rte-table-wrap .rte-table{display:table;width:100%;margin:0;border-collapse:collapse;font-size:14.5px;line-height:1.55}
.rte-table th,.rte-table td{border:0;border-bottom:1px solid var(--line);padding:10px 14px;vertical-align:top;min-width:96px;text-align:left}
.rte-table tr:last-child td{border-bottom:0}
.rte-table thead th{background:var(--navy);color:#fff;font-weight:600;border-bottom:0;vertical-align:middle}
.rte-table tbody tr:nth-child(even) td{background:var(--ivory)}
.rte-table td.ta-c,.rte-table th.ta-c{text-align:center}
.rte-table td.ta-r,.rte-table th.ta-r{text-align:right}
.rte-table td p{margin:0 0 .5em}
.rte-table td ul{margin:0}
.rte-table.rte-price td:not(:first-child){font-variant-numeric:tabular-nums}
.rte .rte-table tr:first-child td{background:inherit;color:inherit;font-weight:inherit}
.rte .rte-table tbody tr:first-child:only-child td{background:var(--ivory)}
.rte-callout{background:var(--ivory);border:1px solid var(--line);/* border-left:4px solid var(--gold); */border-radius:12px;padding:16px 20px;margin:1.4em 0}
.rte-callout > :last-child{margin-bottom:0}
.rte blockquote{border-left:4px solid var(--gold);background:var(--ivory);margin:1.4em 0;padding:14px 20px;border-radius:0 12px 12px 0;color:var(--ink)}
.rte blockquote p:last-child{margin-bottom:0}
.rte-cta{margin:1.6em 0;text-align:center}
.rte-cta .btn{text-decoration:none}
.rte a:not(.btn){color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.rte a:not(.btn):hover{color:var(--gold-dark)}
.rte-embed{position:relative;aspect-ratio:16/9;margin:1.4em 0;border-radius:12px;overflow:hidden;background:var(--sand)}
.rte-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rte-embed--map{aspect-ratio:4/3}
.rte hr{border:0;border-top:1px solid var(--line);margin:2em 0}
@media(max-width:575px){
  .rte-table th,.rte-table td{padding:8px 10px;min-width:84px;font-size:13.5px}
  .rte-callout{padding:14px 16px}
  .rte h2{margin-top:1.8em}
}
.rte h2,.rte h3,.rte h4,.toc,.sec-title{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 18px;font-size:var(--fs-sm);color:var(--muted)}
.post-meta i{margin-right:6px;color:var(--gold-dark)}
.post-feat{margin:0 0 28px}
.post-feat img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}
.quick-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.quick-nav a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;font-size:var(--fs-sm);font-weight:600;color:var(--navy);background:#fff}
.quick-nav a:hover{border: none;color:var(--gold-dark)}
.quick-nav i{color:var(--gold-dark);margin-right: 7px;}
#dat-cho,#lich-trinh,#chi-tiet,#hoi-dap{scroll-margin-top:96px}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px -16px rgba(27,34,82,.35)}
.mbar-price{line-height:1.2;min-width:0}
.mbar-price small{display:block;font-size:12px;color:var(--muted)}
.mbar-price strong{font-family:var(--font-head);font-size: 17px;color:var(--navy);font-variant-numeric:lining-nums}
.mbar-price span{font-size:12px;color:var(--muted);margin-left:4px}
.mbar .btn{white-space:nowrap;padding: 7px 10px;}
@media(max-width:991px){body:has(.mbar){padding-bottom:70px}body:has(.mbar) .float-contact{bottom:84px}}
.post-feat.is-logo img{aspect-ratio:auto;object-fit:contain;max-height:180px;width:auto;box-shadow:none;border-radius:0}
.rte-numbered{counter-reset:sec}
.rte-numbered > h2{counter-increment:sec}
.rte-numbered > h2::before{content:counter(sec) ". ";position:static;display:inline;width:auto;height:auto;background:none;color:var(--gold-dark)}
.resort-links{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.resort-links-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.resort-links-row a{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:var(--fs-sm);color:var(--ink)}
.resort-links-row a:hover{border-color:var(--gold);color:var(--gold-dark)}
.resort-links-row a.rl-dest{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.resort-links-row a.rl-dest:hover{color:var(--gold-2)}
.toc ol{list-style:none;padding-left:0;counter-reset:toc}
.toc li{counter-increment:none}
.toc li.lv2{counter-increment:toc;padding-left:1.7em;position:relative}
.toc li.lv2::before{content:counter(toc) ".";position:absolute;left:0;color:var(--gold-dark);font-weight:600}
.toc li.lv3{list-style:none;margin-left:1.7em;padding-left:1em;position:relative;font-size:.95em}
.toc li.lv3::before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--line)}

/* Menu Ä‘á»™ng: tÃªn má»¥c do admin Ä‘áº·t (cÃ³ thá»ƒ dÃ i) â†’ khÃ´ng xuá»‘ng dÃ²ng, thu gá»n theo Ä‘á»™ rá»™ng */
@media(min-width:992px){.navbar .nav-link{white-space:nowrap}.navbar .navbar-nav{flex-wrap:nowrap}}
@media(min-width:1200px) and (max-width:1599px){.navbar .nav-link{font-size:13.5px;padding-inline:9px!important}}
@media(min-width:992px) and (max-width:1199px){.navbar .nav-link{font-size:11.5px;padding-inline:5px!important}}
@media(max-width:767px){.float-contact .f-book{width:56px;border-radius:8px}}

/* Menu cáº¥p 2: link cha váº«n báº¥m Ä‘Æ°á»£c; mÅ©i tÃªn má»Ÿ dropdown (báº¥m) hoáº·c rÃª chuá»™t trÃªn desktop */
.navbar .has-sub{display:flex;align-items:center;position:relative}
.navbar .nav-caret{background:none;border:0;padding:10px 4px 10px 0;margin-left:-6px;color:var(--navy-3);cursor:pointer}
.navbar .nav-caret::after{margin-left:0;vertical-align:.1em}
.navbar .has-sub .dropdown-menu{top:100%;left:0;min-width:260px;max-width:340px;margin-top:0;border-top: none;}
.navbar .dropdown-item{white-space:normal;font-size:14px;padding:8px 16px}
@media(min-width:992px){.navbar .has-sub:hover>.dropdown-menu{display:block}.navbar .has-sub:hover .nav-link{color:var(--gold-dark)!important;}}
@media(max-width:991px){.navbar .has-sub{flex-wrap:wrap}.navbar .has-sub .nav-link{flex:1}.navbar .has-sub .dropdown-menu{position:static!important;width:100%;max-width:none;border:0;border-left:2px solid var(--gold);margin:0 0 6px 4px;transform:none!important}}
.navbar .navbar-brand{flex-shrink:0}.navbar .brand-logo{width:auto;max-width:none}

/* Ná»n áº£nh cho "VÃ¬ sao chá»n chÃºng tÃ´i" (áº£nh táº¡o báº±ng Codex, img_data/images/bg-vi-sao-chon.webp) */
.bg-why{background:linear-gradient(180deg,rgba(27,34,82,.55),rgba(27,34,82,.35) 45%,rgba(20,26,66,.72)),url(../../img_data/images/bg-vi-sao-chon.webp) center/cover,var(--navy)}
@media(max-width:991px){.bg-why{background-position:70% center}.cta{background-position:62% center}}
.bg-why .feature{background:rgba(20,26,66,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* .list-tools: má»™t hÃ ng â€” bá»™ lá»c bÃªn trÃ¡i, Ã´ chá»n (.sel) canh pháº£i; khÃ´ng cÃ²n .result-count */
.list-tools{flex-wrap:nowrap;gap:20px}
.list-tools .filter-bar{flex:1 1 auto;min-width:0}
.list-tools .sel{flex:0 0 auto;margin-left:auto;justify-content:flex-end;flex-wrap:nowrap;width:auto;padding-top:0;border-top:0}
@media(max-width:767px){.list-tools{flex-wrap:wrap}.list-tools .sel{width:100%;margin-left:0;justify-content:flex-end;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}}

/* PhÃ¢n trang danh sÃ¡ch sáº£n pháº©m (JS: data-per-page) */
.vp-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:40px}
.vp-pager .pg{min-width:44px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:600;font-size:15px;font-variant-numeric:lining-nums;cursor:pointer;transition:.2s}
.vp-pager .pg:hover:not(:disabled){border-color:var(--gold);color:var(--gold-dark)}
.vp-pager .pg.active{background:var(--navy);border-color:var(--navy);color:#fff}
.vp-pager .pg:disabled{opacity:.4;cursor:default}
.vp-pager .dots{color:var(--muted);padding:0 4px}
.vp-pager[hidden]{display:none}
@media(max-width:575px){.vp-pager{gap:6px}.vp-pager .pg{min-width:40px;height:40px;padding:0 10px}}

/* =====================================================================
   TRANG CHI TIáº¾T Sáº¢N PHáº¨M (2026-10-13): breadcrumb gá»n, tÃ³m táº¯t nhanh, tab dÃ­nh, CTA, ngÄƒn Ä‘áº·t chá»— mobile, báº£ng giÃ¡ dáº¡ng tháº»
   ===================================================================== */
.crumb-bar{background:var(--ivory);border-bottom:1px solid var(--line);padding:12px 0}
.crumb-bar .breadcrumb{margin:0;justify-content:flex-start;font-size:var(--fs-sm);flex-wrap:wrap}
.crumb-bar .breadcrumb a{color:var(--navy)}
.crumb-bar .breadcrumb-item.active{color:var(--muted)}
.crumb-bar .breadcrumb-item + .breadcrumb-item::before{color:var(--muted)}
.sd-page{padding-top:28px}

/* Ä‘áº§u bÃ i: nhÃ£n + H1 + chip Ä‘iá»ƒm ná»•i báº­t */
.sd-head{margin-top:26px}
.sd-kicker{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.detail-title{text-transform:none;letter-spacing:0;font-size: clamp(24px,2.6vw,32px);line-height:1.25;margin:10px 0 0;font-weight: 600;}
.hl-chips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hl-chips li{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;background:#fff8ec;border:1px solid #f6dcae;color:var(--navy);font-size:var(--fs-sm);font-weight:600}
.hl-chips i{color:var(--gold-dark);font-size:11px}

/* tÃ³m táº¯t nhanh */
.sum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.sum-item{display:flex;gap: 15px;align-items:flex-start;padding: 10px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.sum-item>i{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold-2);font-size:16px}
.sum-item small{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.sum-item strong{display:block;font-size:var(--fs-body);line-height:1.4;color:var(--navy);font-variant-numeric:lining-nums;margin-top:2px}
.sum-item strong em{font-style:normal;font-weight:500;font-size:13px;color:var(--muted)}
.sum-item>div>span{display:block;font-size:var(--fs-sm);color:var(--muted);margin-top:2px;line-height:1.45}
.sum-item:first-child strong{font-family: var(--font-body);font-size: 20px;}
.sum-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.sum-pills span{padding:3px 10px;border-radius:999px;background:var(--ivory);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--navy)}

/* tab dÃ­nh */
.quick-nav{position:sticky;top:var(--hdr-h,85px);z-index:25;display:flex;flex-wrap:nowrap;gap:4px;margin:26px 0 0;padding:0;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom: 2px solid var(--bs-orange);overflow-x:auto;scrollbar-width:none;}
.quick-nav::-webkit-scrollbar{display:none}
.quick-nav a{flex:0 0 auto;border:0;border-bottom:3px solid transparent;border-radius:0;padding:14px 16px;background:none;font-size:var(--fs-sm);white-space:nowrap;font-size: 14px;text-transform: uppercase;font-weight: 700;}
.quick-nav a.active{border: none;color:var(--gold-dark)}
.quick-nav a.qn-book{margin-left:auto;color:var(--gold-dark)}
.sd-main>.sd-block,.sd-main>.cta-strip,.sd-main>.sd-lead{margin-top:24px}
#gia,#lich-trinh,#chi-tiet,#hoi-dap{scroll-margin-top:calc(var(--hdr-h,85px) + 56px);}

/* báº£ng giÃ¡ (noi_dung) lÃªn Ä‘áº§u */
.sd-price .rte{max-width:none}
.sd-price .rte>div:first-child,.sd-price .rte .rte-callout{margin-top:0}
.sd-h2{font-size:var(--fs-h3);margin: 40px 0 15px;text-transform: uppercase;font-weight: 600;}

/* dáº£i CTA */
.cta-strip{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;padding:18px 22px;border-radius:var(--radius);background:linear-gradient(120deg,var(--navy),#2b3680);color:#fff;margin:30px 0}
.cta-strip-text strong{display:block;font-size:var(--fs-lead);color:#fff;line-height:1.35}
.cta-strip-text span{display:block;font-size:var(--fs-sm);color:#c5ccdc;margin-top:2px}
.cta-strip-act{display:flex;flex-wrap:wrap;gap:10px}
.cta-strip .btn-outline-navy{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.cta-strip .btn-outline-navy:hover{background:#fff;color:var(--navy)}
.rte .cta-strip{margin:34px 0}
.btn-zalo{background:#0068ff;border-color:#0068ff;color:#fff;font-weight:600}
.btn-zalo:hover{background:#0052cc;border-color:#0052cc;color:#fff}

/* tháº» Ä‘áº·t chá»— */
.book-price .book-note{display:block;font-style:normal;font-size:var(--fs-sm);color: #141415;margin-top: -1px;font-size: 12px;font-style: italic;}
.sheet-close,.sheet-backdrop{display:none}

/* tiÃªu Ä‘á» trong bÃ i canh trÃ¡i; sá»‘ liá»‡u giÃ¡ khÃ´ng bá»‹ báº» */
.rte h2,.rte h3,.rte h4,.rte h5{text-align:left}
.rte-price td,.rte-price th{font-variant-numeric:lining-nums}
.rte-price td.ta-c,.rte-price td:not(:first-child){white-space:nowrap}
.rte-table-wrap{position:relative}
.rte-table th:first-child,.rte-table td:first-child{position:sticky;left:0;z-index:1;background:#fff}
.rte-table thead th:first-child{background:var(--navy)}

@media(max-width:575px){
  .sum-grid{grid-template-columns:1fr}
  .cta-strip{padding:16px}
  .cta-strip-act{width:100%}.cta-strip-act .btn{flex:1 1 auto;justify-content:center}
}

/* mobile / tablet: ngÄƒn kÃ©o Ä‘áº·t chá»— + báº£ng thÃ nh tháº» */
@media(max-width:991px){
  .js .quote-box.as-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:1055;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;margin:0;
    border-radius:18px 18px 0 0;border:0;border-top:3px solid var(--gold);transform:translateY(105%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;
    padding:22px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 40px -12px rgba(15,20,50,.45)}
  .js .quote-box.as-sheet.is-open{transform:none;visibility:visible;transition:transform .3s ease}
  .js .quote-box.as-sheet h3{padding-right:48px}
  .js .book-card{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:1055;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;
    border-radius:18px 18px 0 0;border-top-width:3px;transform:translateY(105%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;
    padding:22px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 40px -12px rgba(15,20,50,.45)}
  .js .book-card.is-open{transform:none;visibility:visible;transition:transform .3s ease}
  .js .sheet-close{display:grid;place-items:center;position:absolute;top:10px;right:10px;width:42px;height:42px;border:0;border-radius:50%;background:var(--ivory);color:var(--navy);font-size:18px}
  .js .sheet-backdrop{display:block;position:fixed;inset:0;z-index:1050;background:rgba(15,20,50,.55)}
  .js .sheet-backdrop[hidden]{display:none}
  body.sheet-open{overflow:hidden}
  .quick-nav{top:var(--hdr-h,78px);margin-left:-16px;margin-right:-16px;padding-left:12px;padding-right:12px}
  .quick-nav a.qn-book{display:none}
  .sd-head{margin-top:20px}
}
@media(max-width:767px){
  /* báº£ng cÃ³ data-label (do vp_rte_clean gáº¯n) â†’ má»—i hÃ ng lÃ  má»™t tháº» */
  .rte-table-wrap{overflow:visible}
  .rte-table:has(td[data-label]){display:block;border:0;min-width:0!important}
  .rte-table:has(td[data-label]) thead{display:none}
  .rte-table:has(td[data-label]) tbody,.rte-table:has(td[data-label]) tr{display:block}
  .rte-table:has(td[data-label]) tr{margin:0 0 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
  .rte-table:has(td[data-label]) td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 14px;border:0;border-top:1px solid var(--line);text-align:right!important;white-space:normal;position:static;background:#fff}
  .rte-table:has(td[data-label]) td:first-child{display:block;border-top:0;background:var(--navy);color:#fff;text-align:left!important;font-weight:700;padding:12px 14px}
  .rte-table:has(td[data-label]) td:first-child *{color:#fff}
  .rte-table:has(td[data-label]) td[data-label]::before{content:attr(data-label);flex:0 1 52%;text-align:left;font-size:12.5px;font-weight:600;color:var(--muted);text-transform:none;line-height:1.35}
  .rte-table:has(td[data-label]) td[data-label]{font-weight:600;color:var(--navy)}
  .rte-price td:not(:first-child){white-space:normal}
  .toc{max-width:none}
}
.rte-callout > h2:first-child,.rte-callout > h3:first-child{margin-top:0;padding-top:0;border-top:0}
.rte-callout > h2:first-child::before{display:none}
.rte-callout > h2:first-child{font-size:var(--fs-h3)}
/* thanh Ä‘áº·t chá»— mobile: giÃ¡ + gá»i / Zalo / Ä‘áº·t; thay tháº¿ cá»¥m nÃºt ná»•i (áº©n trÃªn trang cÃ³ .mbar) */
.mbar-act{display:flex;align-items:center;gap: 7px;flex:0 0 auto}
.mbar-ico{width: 40px;height: 40px;border-radius:10px;display:grid;place-items:center;background:var(--gold);color:var(--navy);font-size:17px}
.mbar-zalo{background:#0068ff;color:#fff;font-size:12.5px;font-weight:700}
@media(max-width:991px){body:has(.mbar) .float-contact{display:none}body:has(.mbar){padding-bottom:78px}}

/* tháº» Ä‘áº·t chá»— luÃ´n dÃ­nh khi cuá»™n (desktop): cao hÆ¡n mÃ n hÃ¬nh thÃ¬ cuá»™n bÃªn trong tháº», khÃ´ng tháº£ trÃ´i */
@media(min-width:992px){
  .book-card.side-sticky{position:sticky;top:calc(var(--hdr-h,85px) + 16px);max-height:calc(100vh - var(--hdr-h,85px) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}

/* Cá»™t pháº£i trang Ä‘iá»ƒm Ä‘áº¿n / resort: sáº£n pháº©m theo Ä‘á»‹a Ä‘iá»ƒm */
.side-products h3{margin-bottom:14px;font-weight: 600;background: transparent;text-align: left;}
.sp-mini{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sp-mini li{display:flex;gap:12px;align-items: center;padding-bottom:14px;border-bottom:1px solid var(--line)}
.sp-mini li:last-child{border-bottom:0;padding-bottom:0}
.sp-mini-img{flex:0 0 96px;border-radius:10px;overflow:hidden;aspect-ratio: 4/3;background:var(--ivory);border-radius: 10px;overflow: hidden;}
.sp-mini-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius: 10px;}
.sp-mini-body{min-width:0}
.sp-mini-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-sm);font-weight:600;line-height:1.4;color:var(--navy)}
.sp-mini-name:hover{color:var(--gold-dark)}
.sp-mini-price{display:block;margin-top:4px;font-size:12.5px;color:var(--muted)}
.sp-mini-price b{color:#d9232d;font-size:15px;font-variant-numeric:lining-nums}
@media(min-width:992px){.side-sticky:has(.side-products){max-height:calc(100vh - var(--hdr-h,85px) - 32px);overflow-y:auto;top:calc(var(--hdr-h,85px) + 16px);scrollbar-width:thin}}

/* Cá»™t pháº£i dÃ­nh cho má»i trang cÃ³ .side-sticky (Ä‘iá»ƒm Ä‘áº¿n, resort, bÃ i viáº¿t): cao hÆ¡n mÃ n hÃ¬nh thÃ¬ cuá»™n bÃªn trong, khÃ´ng tháº£ trÃ´i */
@media(min-width:992px){
  .side-sticky{position:sticky;top:calc(var(--hdr-h,85px) + 16px);max-height:calc(100vh - var(--hdr-h,85px) - 32px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;align-self:flex-start}
  .side-sticky>.side-box:last-child{margin-bottom:0}
}
.quote-box .quote-sub{font-size:var(--fs-sm);color:var(--muted);margin:-6px 0 14px;line-height:1.5}
.quote-box .quote-sub b{color:var(--navy)}
.quote-box .form-label{margin-bottom:5px;font-weight: 600;}
.quote-box .form-select,.quote-box .form-control{padding:10px 12px;font-size:14px}
.quote-box textarea.form-control{min-height:84px}
.sp-mini-name{-webkit-line-clamp:2}
.side-sticky>.quote-box{margin-bottom:18px;background-color: #f7f8fa;}

/* Chi tiáº¿t bÃ i viáº¿t: tiÃªu Ä‘á» dá»… Ä‘á»c (khÃ´ng IN HOA toÃ n bá»™), chá»¯ canh trÃ¡i, má»¥c lá»¥c Ä‘á»§ rá»™ng, dáº£i CTA */
.article .sec-title{text-transform:none;font-size:clamp(26px,3vw,38px);line-height:1.28;letter-spacing:0}
.article .rte h2{text-transform:none;font-size:clamp(22px,2.2vw,28px);line-height:1.35}
.article .rte h3{font-size:19px;color:var(--navy)}
.article .rte,.article .lead{text-align:left}
.article .toc{max-width:none}
.article .cta-strip{margin:34px 0}
.article .rte-numbered > h2::before{margin-right:.15em}
.article .cta-strip .btn,.rte .cta-strip .btn{text-decoration:none;box-shadow:none}
.article .cta-strip .btn-gold{color:var(--navy)}
.article .cta-strip .btn-outline-navy{color:#fff}
.article .cta-strip .btn-outline-navy:hover{color:var(--navy)}
.article .toc a,.rte .toc a{text-decoration:none}.article .toc a:hover{text-decoration:underline}

/* Form Ä‘áº·t phÃ²ng: chá»n sá»‘ phÃ²ng theo tá»«ng gÃ³i (module/lead-form.php .bk-pkgs) */
.bk-pkgs{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:0!important;margin-top:4px}
.bk-pkgs-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:var(--ivory);border-bottom:1px solid var(--line);font-weight:700;color:var(--navy);font-size:13.5px;text-transform:uppercase;letter-spacing:.02em}
.bk-pkgs-count{font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;color:#c2410c;white-space:nowrap}
.bk-pkgs-count.is-ok{color:#15803d}
.bk-pkgs-count.is-ok::before{content:"âœ“ "}
.bk-pkg{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:space-between;padding:12px 14px;border-top:1px solid var(--line);background:#fff;transition:background .2s}
.bk-pkg:first-of-type{border-top:0}
.bk-pkg.is-on{background:#fffaf0}
.bk-pkg-info{flex:1 1 160px;min-width:0}
.bk-pkg-info strong{display:block;font-size:14.5px;color:var(--navy);line-height:1.35}
.bk-pkg-info ul{list-style:none;margin:6px 0 0;padding:0}
.bk-pkg-info li{position:relative;padding-left:20px;font-size:12.5px;color:var(--ink);line-height:1.45;margin-top:3px}
.bk-pkg-info li::before{content:"";position:absolute;left:3px;top:3px;width:9px;height:5px;border-left:2px solid var(--gold-dark);border-bottom:2px solid var(--gold-dark);transform:rotate(-45deg)}
.bk-pkg-act{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto;margin-left:auto}
.bk-step{display:flex;align-items:center;gap:6px}
.bk-step-lb{font-size:12.5px;color:var(--muted);margin-right:2px}
.bk-step-btn{width:32px;height:32px;border-radius:50%;border:0;display:grid;place-items:center;font-size:18px;line-height:1;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s}
.bk-step-btn.minus{background:#8a8f99;color:#fff}
.bk-step-btn.plus{background:var(--navy);color:#fff}
.bk-step-btn:active{transform:scale(.92)}
.bk-step-btn:disabled{opacity:.3;cursor:default}
.bk-step input{width:34px;height:32px;border:0;background:transparent;text-align:center;font-weight:700;font-size:15px;color:var(--navy);padding:0;-moz-appearance:textfield;pointer-events:none}
.bk-step input::-webkit-outer-spin-button,.bk-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:400px){.bk-pkg-act{flex-direction:row;align-items:center;width:100%;justify-content:space-between}}
/* cá»™t Ä‘áº·t chá»— háº¹p: tÃªn gÃ³i á»Ÿ trÃªn, hÃ ng dÆ°á»›i = bá»™ chá»n sá»‘ phÃ²ng (trÃ¡i) + giÃ¡ (pháº£i) */
.book-card .bk-pkg-info{flex-basis:100%}
.book-card .bk-pkg-act{flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-left:0}

/* Lịch chọn ngày (flatpickr) theo màu thương hiệu */
.flatpickr-input.form-control[readonly]{background-color:#fff;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b7280' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.flatpickr-calendar{font-family:var(--font-body);border-radius:14px;box-shadow:0 18px 40px -12px rgba(15,20,50,.35);border:1px solid var(--line)}
.flatpickr-calendar.arrowTop::before,.flatpickr-calendar.arrowTop::after{display:none}
.flatpickr-months{padding:6px 4px 2px}
.flatpickr-current-month{font-size:15px;font-weight:700;color:var(--navy)}
.flatpickr-current-month .cur-month{font-weight:700}
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{top:6px}
.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--gold-dark)}
span.flatpickr-weekday{color:var(--muted);font-weight:600;font-size:12px}
.flatpickr-day{border-radius:10px;color:var(--ink);font-variant-numeric:lining-nums}
.flatpickr-day:hover,.flatpickr-day:focus{background:#fff4e2;border-color:#fff4e2}
.flatpickr-day.today{border-color:var(--gold)}
.flatpickr-day.today:hover{background:#fff4e2;color:var(--ink)}
.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.selected:focus{background:var(--navy);border-color:var(--navy);color:#fff}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:rgba(57,57,57,.22);text-decoration:line-through;background:none;border-color:transparent}
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:rgba(57,57,57,.35)}
@media(max-width:575px){.flatpickr-calendar{max-width:calc(100vw - 16px)}}
/* lịch mở trong ngăn kéo đặt chỗ (z 1055) phải nổi trên ngăn */
.flatpickr-calendar.open{z-index:1070}

/* Trang chi tiết: tab "Tiện ích" (icon + chữ, 3 cột desktop / 2 cột mobile) */
.sd-amen{margin-top:8px}
.sd-amen .sd-h2{margin-top:40px}
.amen-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px}
.amen-grid li{display:flex;align-items:center;gap:12px;font-size:var(--fs-body);color:var(--ink);line-height:1.35}
.amen-grid img{width:26px;height:26px;flex:none;object-fit:contain}
.amen-grid i{width:26px;text-align:center;color:var(--gold-dark);flex:none}
#tien-ich{scroll-margin-top:calc(var(--hdr-h,85px) + 56px)}
@media(max-width:767px){.amen-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.amen-grid li{font-size:14.5px;gap:10px}.amen-grid img{width:22px;height:22px}}

/* Chân trang: logo + tên công ty, cột dropdown trên mobile (sources/_footer.php) */
.ft-brand-link{display:flex;align-items:center;gap:14px;margin-bottom:18px;color:#fff}
.ft-brand-link:hover{padding-left:0!important;color:#fff}
.ft-brand .brand-card{margin:0;flex:none;padding:8px 10px;border-radius:12px}
.ft-brand .brand-card .brand-logo{height:64px}
.ft-company{font-family:var(--font-body);font-weight:700;font-size:14px;line-height:1.45;letter-spacing:.02em;color:#fff;text-transform:uppercase}
.ft-brand p{font-size:13.5px;line-height:1.75}
.footer-contact li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px}
.footer-contact li i{width:auto;line-height:1.6}
.footer-contact a,.footer-contact span{overflow-wrap:anywhere}
@media(max-width:767px){
  .site-footer .ft-row{--bs-gutter-y:0;--bs-gutter-x:1rem}
  .ft-brand{margin-bottom:18px}
  .ft-company{font-size:13px}
  .ft-brand .brand-card .brand-logo{height:56px}
  .ft-col{border-top:1px solid rgba(255,255,255,.12)}
  .site-footer .ft-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:15px 0;font-size:15.5px;cursor:pointer;user-select:none}
  .site-footer .ft-head::after{position:static;width:8px;height:8px;background:none;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(45deg) translateY(-3px);transition:transform .25s;flex:none}
  .ft-col.is-open .ft-head::after{transform:rotate(-135deg) translateY(-2px)}
  .ft-head:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .ft-body{display:none!important;padding-bottom:14px!important}
  .ft-col.is-open .ft-body{display:block!important}
  .ft-body li{margin-bottom:10px;font-size:13.5px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:6px;margin-top: 0px;}
}

/* Khuyến mãi: nhãn "Tên chương trình · -x%", giá gốc gạch ngang (chỉ khi 0 < khuyến mãi < giá) */
.room-img{position:relative}
.promo-badge{position:absolute;top:14px;right:14px;max-width:calc(100% - 120px);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:30px;background:#d9232d;color:#fff;font-size:12px;font-weight:700;line-height:1.25;box-shadow:0 6px 16px -6px rgba(217,35,45,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promo-badge i{font-size:11px;color:#ffd166;flex:none}
.pct{display:inline-block;padding:1px 7px;border-radius:20px;background:#fde8e8;color:#c81e1e;font-size:11.5px;font-weight:700;font-style:normal;line-height:1.6;vertical-align:middle;font-variant-numeric:lining-nums}
del{color:var(--muted);font-weight:400}
.promo-flag{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:11px 16px;border-radius:12px;background:linear-gradient(90deg,#fff1f1,#fff8ec);border:1px solid #f7c9c9;color:#7a1414;font-size:var(--fs-sm);line-height:1.5}
.promo-flag i{color:#d9232d;margin-top:3px}
.promo-flag b{color:#b91c1c}
.promo-flag del{margin-left:2px}
.book-promo{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;padding:5px 11px;border-radius:30px;background:#d9232d;color:#fff;font-size:12px;font-weight:700;line-height:1.3}
.book-promo i{color:#ffd166;font-size:11px}
.sum-item strong del{font-family:var(--font-body);font-size:13px;margin-left:4px}
.sum-item strong .pct{font-family:var(--font-body)}
.mbar-price small del{margin-left:2px}
.mbar-price small .pct{font-size:10.5px;padding:0 5px}
.sp-mini-price del{font-size:12px}
.bg-price del{font-size:13px;margin-left:4px}
.bg-price .pct{margin-left:4px}
.book-price .book-promo{color:#fff;font-size:12px}
.bk-step-lb{white-space:nowrap}
