/* VÂN DU TRAVEL — Phương án A "Hiện đại, sáng": Plus Jakarta Sans, teal + cam CTA, bo tròn mềm.
   Mọi màu/phông/bo góc/đổ bóng nằm trong :root để đổi nhanh. */
:root{
  /* nền & chữ */
  --bg:#FFFFFF; --bg-soft:#F3F7F9; --bg-soft-2:#E9F0F4; --ink:#0B1B2B; --ink-2:#34475A; --ink-3:#5B6B7B; --line:#E6ECF1; --line-2:#D3DDE5;
  /* màu chính (teal): link, nút phụ, trạng thái active */
  --accent:#0E7C86; --accent-dk:#0A636B; --accent-soft:#E3F2F3;
  /* màu CTA (cam): chỉ dùng cho nút hành động chính */
  --cta:#FF6B3D; --cta-dk:#EE5323; --cta-soft:#FFEDE6; --cta-ink:#B83D14;
  --ok:#1D7348; --ok-soft:#E6F3EC; --warn:#8A5A00; --warn-soft:#FFF4D6; --err:#D92D20; --err-ink:#B42318; --err-soft:#FEF3F2; --star:#FF6B3D; --zalo:#0068FF; --zalo-soft:#EAF2FF;
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --fw-head:800; --ls-head:-.025em;
  --r-btn:999px; --r-input:12px; --r-card:20px; --r-img:16px; --r-box:28px; --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1240px; --gut:clamp(16px,3.5vw,40px);
  --sh-1:0 8px 24px rgba(11,27,43,.06);
  --sh-2:0 12px 32px rgba(11,27,43,.10);
  --sh-3:0 20px 50px rgba(11,27,43,.18);
  --hdr:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:130px}
html.locked{overflow:hidden}
body{background:var(--bg);color:var(--ink);font:400 15.5px/1.65 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.container{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.section{padding:clamp(56px,7vw,88px) 0}
.section.alt{background:var(--bg-soft)}
.h2{font:var(--fw-head) clamp(26px,3vw,38px)/1.15 var(--font);letter-spacing:var(--ls-head)}
.sub{color:var(--ink-2);margin-top:6px;max-width:62ch}
.lead{font-size:17px;color:var(--ink-2);max-width:66ch;margin-top:10px}
.muted{color:var(--ink-2)} .small{font-size:13px;color:var(--ink-3)} .center{text-align:center}
.note{font-size:12.5px;color:var(--ink-3);margin-top:16px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-btn);font-weight:600}
.skip:focus{top:12px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap;margin-bottom:28px}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;color:var(--accent);margin-bottom:10px}
.ic{width:24px;height:24px;flex-shrink:0}
.fi{display:inline-block;height:1em;width:auto;aspect-ratio:1;fill:currentColor;vertical-align:-.125em;flex-shrink:0;overflow:visible}
.fi[viewBox="0 0 384 512"]{aspect-ratio:384/512}.fi[viewBox="0 0 448 512"]{aspect-ratio:448/512}.fi[viewBox="0 0 320 512"]{aspect-ratio:320/512}.fi[viewBox="0 0 576 512"]{aspect-ratio:576/512}.fi[viewBox="0 0 640 512"]{aspect-ratio:640/512}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:var(--r-btn);font-weight:600;font-size:15px;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .3s var(--ease);white-space:nowrap;line-height:1}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-dk)}
.btn-cta{background:var(--cta);color:#fff;box-shadow:0 6px 16px rgba(255,107,61,.28)}.btn-cta:hover{background:var(--cta-dk)}
.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{background:var(--ink-2)}
.btn-line{border-color:var(--line-2);background:#fff;color:var(--ink)}.btn-line:hover{border-color:var(--accent);color:var(--accent)}
.btn-ghost{border-color:var(--line-2);color:var(--ink);background:#fff}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-zalo{background:var(--zalo-soft);color:var(--zalo)}.btn-zalo:hover{background:#DCE9FF}
.btn-sm{height:40px;padding:0 16px;font-size:14px}
.btn-lg{height:52px;padding:0 24px;font-size:16px}
.btn-block{width:100%}
.link{display:inline-flex;gap:6px;align-items:center;font-weight:600;color:var(--accent)}
.link:hover{color:var(--accent-dk);text-decoration:underline;text-underline-offset:3px}
.link .fi{font-size:12px;transition:transform .3s var(--ease)} .link:hover .fi{transform:translateX(3px)}
.link-btn{background:none;border:0;color:var(--accent);font-weight:600;font-size:14px}
.link-btn:hover{text-decoration:underline}
.icon-btn{width:40px;height:40px;border-radius:var(--r-btn);border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:17px}
.icon-btn:hover{border-color:var(--ink)}

/* ===== top bar + header ===== */
.topbar{background:var(--bg-soft);color:var(--ink-2);font-size:12.5px;border-bottom:1px solid var(--line)}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;height:36px}
.topbar .fi{margin-right:6px;color:var(--accent)}
.tb-lic{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-links{display:flex;gap:20px;align-items:center;white-space:nowrap}
.tb-links a:hover{color:var(--accent)}
.tb-hours{color:var(--ink-3)}
.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.header.shrink{box-shadow:var(--sh-2)}
.header-inner{display:flex;align-items:center;gap:24px;height:var(--hdr);transition:height .35s var(--ease)}
.header.shrink .header-inner{height:60px}
.logo{display:flex;align-items:center;gap:10px;font:var(--fw-head) 20px/1 var(--font);letter-spacing:-.02em;flex-shrink:0}
.logo svg{width:30px;height:30px}
.logo small{display:block;font:600 9px/1 var(--font);letter-spacing:.24em;margin-top:5px;color:var(--ink-3)}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav>a,.dd-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;font-weight:600;font-size:14.5px;border-radius:var(--r-btn);color:var(--ink);background:none;border:0;transition:background .2s,color .2s}
.nav>a:hover,.dd-btn:hover,.dd.open .dd-btn{background:var(--bg-soft);color:var(--ink)}
.nav>a.active,.dd-btn.active{color:var(--accent)}
.nav>a.active,.dd-btn.active{background:var(--accent-soft)}
.dd-btn .fi{font-size:10px;transition:transform .3s var(--ease)}
.dd.open .dd-btn .fi{transform:rotate(180deg)}
.dd{position:relative}
.dd-panel{position:absolute;left:-12px;top:100%;padding-top:10px;width:min(760px,90vw);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .3s var(--ease),visibility .2s}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card) var(--r-card) 0 0;border-bottom:0;padding:18px;box-shadow:var(--sh-2)}
.dd-col{display:flex;flex-direction:column;gap:2px}
.dd-col a{padding:8px 12px;border-radius:12px;font-size:14px;font-weight:500;line-height:1.35}
.dd-col a:hover{background:var(--accent-soft);color:var(--accent-dk)}
.dd-col a small{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.dd-col a[aria-current]{color:var(--accent)}
.dd-col .dd-h{font-weight:800;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);display:flex;justify-content:space-between;align-items:center}
.dd-col .dd-h small{display:inline;margin:0;text-transform:none;letter-spacing:0}
.dd-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--bg-soft);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-card) var(--r-card);padding:12px 28px;font-size:13px;color:var(--ink-3);box-shadow:var(--sh-2)}
.dd-foot a{font-weight:700;color:var(--accent);font-size:14px}
.hdr-right{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;font-size:12.5px;font-weight:700;padding:2px;gap:2px}
.lang a,.lang span{padding:5px 11px;line-height:1.2;border-radius:999px}
.lang span{background:var(--ink);color:#fff}
.lang a:hover{background:var(--bg-soft)}
.menu-btn{display:none;width:44px;height:44px;border-radius:var(--r-btn);border:1px solid var(--line-2);background:#fff;font-size:18px}

/* drawer mobile */
.drawer{position:fixed;inset:0;z-index:100;visibility:hidden;transition:visibility .4s}
.drawer.open{visibility:visible}
.drawer-ov{position:absolute;inset:0;background:rgba(15,17,21,.5);opacity:0;transition:opacity .35s}
.drawer.open .drawer-ov{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(380px,88vw);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .45s var(--ease);overflow-y:auto}
.drawer.open .drawer-panel{transform:none}
.drawer-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.drawer-nav{display:flex;flex-direction:column;padding:8px 18px}
.drawer-nav>a,.dr-group a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;font-weight:600;font-size:16px;border-bottom:1px solid var(--line)}
.drawer-nav a.active,.drawer-nav a[aria-current]{color:var(--accent)}
.dr-group{border-bottom:1px solid var(--line);padding:10px 0 4px}
.dr-label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-top:4px}
.dr-group a{padding:10px 0 10px 12px;font-weight:500;font-size:15px;border-bottom:0}
.dr-group small{font-size:12px;color:var(--ink-3);background:var(--bg-soft);border-radius:999px;padding:2px 8px}
.drawer-foot{margin-top:auto;padding:18px;display:grid;gap:10px;border-top:1px solid var(--line);background:var(--bg-soft)}
.drawer-foot .lang{justify-self:start}

/* ===== HERO trang chủ ===== */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--ink);margin:16px;border-radius:var(--r-box);isolation:isolate}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.18) 45%,rgba(0,0,0,.5)),linear-gradient(90deg,rgba(0,0,0,.35),transparent 70%)}
.hero-in{position:relative;z-index:2;padding-top:clamp(56px,8vw,110px);padding-bottom:clamp(48px,6vw,88px)}
.hero-kicker{font-size:13.5px;font-weight:700;color:#fff;opacity:.92;margin-bottom:14px}
.hero h1{font:var(--fw-head) clamp(32px,5vw,60px)/1.05 var(--font);letter-spacing:-.03em;max-width:18ch}
.hero-sub{font-size:clamp(15.5px,1.4vw,18px);max-width:56ch;margin:18px 0 26px;color:rgba(255,255,255,.92);line-height:1.55}
.search{display:grid;grid-template-columns:1.35fr 1fr 1fr auto;align-items:center;background:#fff;color:var(--ink);border-radius:999px;box-shadow:0 20px 50px rgba(0,0,0,.25);padding:8px 8px 8px 20px;gap:0;max-width:900px}
.sf{display:flex;flex-direction:column;justify-content:center;padding:6px 16px;border-right:1px solid var(--line);min-width:0}
.sf label{font-size:12px;font-weight:600;color:var(--ink-3);display:flex;gap:7px;align-items:center}
.sf label .fi{color:var(--accent);font-size:12px}
.sf select{border:0;background:none;font-weight:600;font-size:15.5px;padding:3px 0;width:100%;min-width:0;cursor:pointer;color:var(--ink)}
.sf select:focus{outline:none}
.sf:focus-within{background:var(--bg-soft);border-radius:18px}
.search .btn{margin-left:8px;height:56px;padding:0 28px}
.hero-quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;font-size:13.5px;color:rgba(255,255,255,.85)}
.hero-quick a{padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);font-weight:500;transition:background .2s}
.hero-quick a:hover{background:rgba(255,255,255,.28)}
.hero-cap{position:absolute;right:var(--gut);bottom:14px;z-index:2;font-size:12px;color:rgba(255,255,255,.7)}

/* trust strip */
.trust{background:#fff;padding:8px 0 0}
.trust-grid{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.trust-grid li{display:flex;gap:10px;align-items:center;padding:14px;background:var(--bg-soft);border-radius:16px;min-width:0}
.trust-grid .ic{color:var(--accent);width:26px;height:26px}
.trust-grid b{display:block;font-size:14.5px;white-space:nowrap;font-weight:700;line-height:1.3}
.trust-grid span{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.4}

/* tabs vùng */
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{height:40px;padding:0 16px;border-radius:999px;border:1px solid transparent;background:var(--bg-soft);font-weight:600;font-size:14px;transition:all .2s}
.tab:hover{background:var(--bg-soft-2)}
.tab[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.tgrid[data-r=""] [data-extra]{display:none}
.center-cta{text-align:center;margin-top:32px}

/* ===== TOUR CARD ===== */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-1);transition:box-shadow .35s var(--ease),transform .45s var(--ease),border-color .3s}
.tcard:hover{box-shadow:var(--sh-2);transform:translateY(-3px);border-color:var(--line-2)}
.tc-media{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--bg-soft-2);margin:10px 10px 0;border-radius:var(--r-img)}
.tc-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.tcard:hover .tc-media img{transform:scale(1.04)}
.tc-badges{position:absolute;left:10px;top:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap}
.bdg{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(11,27,43,.12)}
.bdg.hot{background:var(--cta-soft);color:var(--cta-ink)}
.bdg.low{background:var(--warn-soft);color:var(--warn)}
.tc-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.tc-rate{display:flex;gap:5px;align-items:center;font-size:13px;color:var(--ink-3)}
.tc-rate .fi{color:var(--star);font-size:12px}
.tc-rate b{color:var(--ink);font-weight:700}
.tcard h3{font:700 18px/1.3 var(--font);letter-spacing:-.015em;margin:6px 0 10px}
.tc-link::after{content:"";position:absolute;inset:0;z-index:1}
.tc-link:hover{color:var(--accent)}
.tc-link:focus-visible{outline:none}
.tcard:has(.tc-link:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.tc-meta{list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--ink-2)}
.tc-meta li{display:inline-flex;gap:6px;align-items:center}
.tc-meta .fi{color:var(--ink-3);font-size:12px}
.tc-dep{font-size:13px;color:var(--ink-2);margin-top:8px;display:flex;gap:6px;align-items:baseline}
.tc-dep .fi{color:var(--ink-3);font-size:12px}
.tc-dep b{font-weight:600;color:var(--ink)}
.tc-dep{margin-bottom:16px}
.tc-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.tc-price small{font-size:12.5px;color:var(--ink-3)}
.tc-price small:first-child{display:block}
.tc-price b{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.tcard:hover .tc-cta{background:var(--accent-dk)}

/* ===== bảng khởi hành ===== */
.dtable-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-1)}
.dtable{width:100%;border-collapse:collapse;font-size:14.5px}
.dtable th,.dtable td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.dtable thead th{background:var(--bg-soft);font-size:12.5px;font-weight:600;color:var(--ink-3);white-space:nowrap}
.dtable tbody tr:last-child td{border-bottom:0}
.dtable tbody tr:hover{background:var(--bg-soft)}
.c-date b{display:block;font-weight:700;white-space:nowrap}
.c-date span,.c-tour span{display:block;font-size:12.5px;color:var(--ink-3)}
.c-tour a{font-weight:600}
.m-dur{display:none;font-style:normal}
.call-btn{color:var(--accent)}
.c-tour a:hover{color:var(--accent)}
.c-dur{white-space:nowrap;color:var(--ink-2)}
.c-price{white-space:nowrap;text-align:right!important}
.c-price b{font-weight:800;color:var(--ink)}
.c-act{text-align:right!important;width:1%}
.dtable:not(.dtable-s) th:nth-last-child(2){text-align:right}
.dtable-s td:last-child,.dtable-s th:last-child{text-align:right}
.is-full{color:var(--ink-3)} .is-full .c-price b{color:var(--ink-3);text-decoration:line-through}
.seat{display:inline-block;font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--ok-soft);color:var(--ok)}
.seat.low{background:var(--cta-soft);color:var(--cta-ink)}
.seat.mid{background:var(--warn-soft);color:var(--warn)}
.seat.full{background:var(--bg-soft-2);color:var(--ink-3)}

/* mùa nào đi đâu */
.months{display:flex;gap:6px;flex-wrap:wrap}
.months button{height:36px;min-width:44px;padding:0 10px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-weight:600;font-size:13.5px}
.months button:hover{border-color:var(--ink)}
.months button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.dest{position:relative;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;scroll-snap-align:start;color:#fff;display:block;background:var(--ink)}
.dest img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.dest:hover img{transform:scale(1.05)}
.dest::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.78))}
.dest .t{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.dest h3{font:var(--fw-head) 21px/1.2 var(--font)}
.dest p{font-size:13.5px;color:rgba(255,255,255,.85);margin-top:4px}
.dest .why{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:600;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:4px 9px;border-radius:6px}
.rail-empty{padding:32px 0;color:var(--ink-2)}

/* vì sao chọn */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.wcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px;box-shadow:var(--sh-1)}
.wic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent);margin-bottom:14px}
.wcard h3{font:var(--fw-head) 16.5px/1.35 var(--font);margin-bottom:6px}
.wcard p{font-size:14px;color:var(--ink-2)}
.cta-band{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid var(--line);border-radius:var(--r-box);overflow:hidden;margin-top:40px;box-shadow:var(--sh-2)}
.cb-media{min-height:320px;position:relative}
.cb-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cb-body{padding:clamp(24px,3.5vw,44px)}
.cb-body h2{font:var(--fw-head) clamp(21px,2.2vw,27px)/1.3 var(--font);letter-spacing:-.01em}
.cb-body p{color:var(--ink-2);margin:10px 0 18px}
.cb-stats{list-style:none;display:flex;gap:24px;flex-wrap:wrap;margin-bottom:22px;font-size:13.5px;color:var(--ink-2)}
.cb-stats b{display:block;font-size:22px;font-weight:700;color:var(--ink)}
.cb-btns{display:flex;gap:10px;flex-wrap:wrap}

/* đánh giá */
.stars{display:inline-flex;gap:2px;color:var(--star);font-size:13px}
.stars .off{color:var(--line-2)}
.rv-wrap{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
.agg{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px;box-shadow:var(--sh-1)}
.agg-n{display:block;font-size:52px;font-weight:700;line-height:1;letter-spacing:-.02em}
.agg .stars{font-size:16px;margin:8px 0 6px}
.agg p{font-size:14px;color:var(--ink-2)}
.agg-list{list-style:none;margin-top:16px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px;font-size:13.5px}
.agg-list li{display:flex;justify-content:space-between;gap:10px}
.agg-list a:hover{color:var(--accent)}
.agg-list span{font-weight:700;white-space:nowrap}.agg-list .fi{color:var(--star);font-size:11px;margin-right:4px}
.agg-sm{display:flex;gap:18px;align-items:center;margin-bottom:18px}
.agg-sm .agg-n{font-size:44px}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rgrid-1{grid-template-columns:1fr}
.rcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px;display:flex;flex-direction:column;box-shadow:var(--sh-1)}
.rc-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rc-when{font-size:12.5px;color:var(--ink-3)}
.rcard blockquote{font-size:15px;color:var(--ink);margin:12px 0 16px;flex:1}
.rcard figcaption{display:flex;gap:12px;align-items:center;font-size:14px;border-top:1px solid var(--line);padding-top:14px}
.rcard figcaption b{display:block;font-weight:700}
.rcard figcaption small{display:block;font-size:12.5px;color:var(--ink-3)}
.rcard figcaption a:hover{color:var(--accent)}
.ava{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--accent-soft);color:var(--accent-dk);flex-shrink:0}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:start}
.help-card{display:grid;gap:10px;margin-top:22px;max-width:320px}
.help-card .link{margin-top:6px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:10px;transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--sh-1)}
.faq summary{font-weight:600;font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s var(--ease);flex-shrink:0}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{color:var(--ink-2);padding:0 20px 18px;font-size:15px}

/* ===== page head (trang con) ===== */
.page-head{background:var(--bg-soft);padding:28px 0 32px;margin:16px;border-radius:var(--r-box)}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);margin-bottom:14px}
.crumb a:hover{color:var(--accent);text-decoration:underline}
.crumb .fi{font-size:8px}
.crumb span{color:var(--ink-2);font-weight:500}
.page-title{font:var(--fw-head) clamp(26px,3.4vw,38px)/1.2 var(--font);letter-spacing:-.015em}
.page-hero{position:relative;color:#fff;min-height:340px;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);margin:16px;border-radius:var(--r-box);isolation:isolate}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,14,18,.2),rgba(12,14,18,.72))}
.page-hero .container{position:relative;z-index:2;width:100%;padding-bottom:36px}
.page-hero .crumb,.page-hero .crumb span{color:rgba(255,255,255,.85)}
.page-hero h1{font:var(--fw-head) clamp(28px,3.8vw,44px)/1.15 var(--font)}
.page-hero .sub{color:rgba(255,255,255,.9);font-size:17px}

/* ===== listing ===== */
.list-layout{display:grid;grid-template-columns:270px 1fr;gap:32px;align-items:start;padding-top:32px;padding-bottom:64px}
.list-layout>*{min-width:0}
.fpanel{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1)}
.fp-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.fp-head h2{font-size:16px;font-weight:700}
.fp-x,.fp-foot,.fp-ov{display:none}
.fp-body{padding:6px 18px 18px}
.fgroup{border:0;padding:14px 0;border-bottom:1px solid var(--line)}
.fgroup:last-of-type{border-bottom:0;margin-bottom:6px}
.fgroup legend,.fgroup .legend{display:block;font-size:13px;font-weight:700;margin-bottom:8px;padding-top:14px;float:left;width:100%}
.fgroup .legend{float:none;padding-top:0}
.opt{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-size:14.5px;clear:both}
.opt input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}
.opt span{flex:1}
.opt small{font-size:12px;color:var(--ink-3);background:var(--bg-soft);border-radius:999px;padding:1px 8px}
.rbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.rbar-l{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rcount{font-weight:700;font-size:16px}
.achips{display:flex;gap:6px;flex-wrap:wrap}
.achip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-dk);font-size:13px;font-weight:600}
.achip .fi{font-size:11px}
.achip.clear{background:none;border-color:transparent;text-decoration:underline}
.rbar-r{display:flex;align-items:center;gap:10px}
.sort-l{font-size:13.5px;color:var(--ink-3)}
.fp-open{display:none}
.nbadge{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:var(--cta);color:#fff;font-size:11.5px;padding:0 6px}
.tgrid-2{grid-template-columns:repeat(2,1fr)}
.empty{padding:48px 24px;text-align:center;color:var(--ink-2);border:1.5px dashed var(--line-2);border-radius:var(--r-card);background:var(--bg-soft)}
.empty>.fi{font-size:32px;color:var(--ink-3)}
.empty h3{font-size:18px;color:var(--ink);margin:10px 0 4px}
.empty-b{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}

/* ===== form ===== */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fgrid .full{grid-column:1/-1}
.field{margin-bottom:12px}
.fgrid .field{margin-bottom:0}
.field label,.flabel{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.input{width:100%;height:50px;border:1px solid var(--line-2);border-radius:var(--r-input);background:#fff;padding:0 12px;font-size:15px;transition:border-color .2s,box-shadow .2s}
select.input{cursor:pointer}
.input::placeholder{color:#8B98A5}
.input-sm{height:42px;font-size:14px;width:auto;padding-right:28px}
textarea.input{height:auto;min-height:110px;padding:10px 12px;resize:vertical}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.input.err{border-color:var(--err);background:var(--err-soft)}
.err-msg{color:var(--err-ink);font-size:13px;margin-top:5px;display:none}
.input.err+.err-msg{display:block}
.ok-box{display:none;text-align:center;padding:6px 2px}
.ok-box.show{display:block}
.ok-box:focus{outline:none}
.ok-box>.fi{font-size:34px;color:var(--ok)}
.ok-box h3{font:var(--fw-head) 21px var(--font);margin:8px 0 4px}
.ok-box code{display:inline-block;font:700 19px ui-monospace,Menlo,monospace;letter-spacing:.06em;color:var(--accent-dk);background:var(--accent-soft);padding:6px 16px;border-radius:999px;margin:6px 0 10px}

/* ===== tour detail ===== */
.d-head{padding:22px 0 0}
.d-title h1{font:var(--fw-head) clamp(24px,3vw,34px)/1.25 var(--font);letter-spacing:-.015em;margin:8px 0 8px}
.d-badges{display:flex;gap:6px;flex-wrap:wrap}
.d-badges .bdg{background:var(--bg-soft);box-shadow:none}
.d-badges .bdg.hot{background:var(--cta-soft);color:var(--cta-ink)}
.d-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink-2)}
.d-meta span{display:inline-flex;gap:6px;align-items:center}
.d-meta .fi{color:var(--ink-3);font-size:13px}
.d-meta .d-rate .fi{color:var(--star)}
.d-meta a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.d-gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px;gap:10px;margin-top:18px}
.d-gal a{display:block;overflow:hidden;background:var(--bg-soft-2);border-radius:var(--r-img)}
.d-gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.d-gal a:hover img{transform:scale(1.04)}
.d-gal .g0{grid-row:span 2}
.d-gal.n4 .g1{grid-column:span 2}
.d-gal.n3{grid-template-columns:2fr 1fr}
.d-facts{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:18px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff}
.d-facts li{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-right:1px solid var(--line);min-width:0}
.d-facts li:last-child{border-right:0}
.d-facts .fi{color:var(--accent);margin-top:4px;font-size:14px;width:16px;text-align:center}
.d-facts small{display:block;font-size:12px;color:var(--ink-3)}
.d-facts b{display:block;font-size:14px;font-weight:600;line-height:1.35}
.d-tabs{position:sticky;top:60px;z-index:40;background:#fff;border-bottom:1px solid var(--line);margin-top:24px}
.d-tabs-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.d-tabs-in::-webkit-scrollbar{display:none}
.d-tabs a{padding:14px 14px;font-weight:600;font-size:14.5px;color:var(--ink-3);white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.d-tabs a:hover{color:var(--ink)}
.d-tabs a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}
.d-layout{display:grid;grid-template-columns:1fr 370px;gap:40px;align-items:start;padding-top:8px}
.d-layout>*{min-width:0}
.d-sec{padding:32px 0;border-bottom:1px solid var(--line);scroll-margin-top:140px}
.d-sec:last-child{border-bottom:0}
.d-sec h2{font:var(--fw-head) 22px/1.3 var(--font);margin-bottom:14px}
.d-sec h3{font:var(--fw-head) 16.5px/1.4 var(--font);margin:20px 0 10px}
.d-sec p{margin-bottom:12px;color:var(--ink-2)}
.d-lead{font-size:17px;color:var(--ink)!important;font-weight:500}
.sec-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.sec-row h2{margin:0}
.hl-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.hl-list li{display:flex;gap:10px;font-size:15px}
.hl-list .fi{color:var(--ok);margin-top:5px;font-size:12px}
.itin{display:grid;gap:10px}
.day{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.day[open]{box-shadow:var(--sh-1)}
.day summary{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;list-style:none}
.day summary::-webkit-details-marker{display:none}
.day summary:hover{background:var(--bg-soft)}
.dn{flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--accent-dk);background:var(--accent-soft);border-radius:999px;padding:4px 11px}
.dt{flex:1;font-weight:600;font-size:15.5px}
.day summary>.fi{font-size:12px;color:var(--ink-3);transition:transform .3s var(--ease)}
.day[open] summary>.fi{transform:rotate(180deg)}
.day-b{padding:2px 18px 18px}
.day-b p{font-size:15px}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.tags span{display:inline-flex;gap:6px;align-items:center;font-size:13px;background:var(--bg-soft);padding:5px 10px;border-radius:6px;color:var(--ink-2)}
.tags .fi{color:var(--ink-3);font-size:12px}
.day figure{margin-top:14px;border-radius:10px;overflow:hidden;aspect-ratio:16/8}
.day figure img{width:100%;height:100%;object-fit:cover}
.inc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inc>div{border:1px solid var(--line);border-radius:12px;padding:18px}
.inc .y{background:var(--ok-soft)}
.inc h3{margin:0 0 10px!important}
.inc ul{list-style:none;display:grid;gap:9px;font-size:14.5px}
.inc li{display:flex;gap:10px}
.inc .y .fi{color:var(--ok);margin-top:5px;font-size:12px}
.inc .n .fi{color:var(--err-ink);margin-top:5px;font-size:12px}
.pol-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pol{border:1px solid var(--line);border-radius:12px;padding:16px}
.pol h3{margin:0 0 6px!important;font-size:15px!important;display:flex;gap:8px;align-items:center}
.pol h3 .fi{color:var(--accent);font-size:14px}
.pol p{font-size:14px;margin:0}
.pol-t{margin-top:24px!important}
.d-sec .dtable-wrap+.small{margin-top:10px}
.more{padding-top:48px}

/* booking box */
.book{position:sticky;top:118px;margin-top:32px;max-height:calc(100vh - 130px);overflow-y:auto;scrollbar-width:thin;border-radius:var(--r-box)}
.book-in{background:#fff;border:1px solid var(--line);border-radius:var(--r-box);padding:20px;box-shadow:var(--sh-2);transition:box-shadow .4s}
.book.flash .book-in{box-shadow:0 0 0 3px var(--accent-soft),var(--sh-2)}
.bk-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.bk-head small{display:block;font-size:13px;color:var(--ink-3)}
.bk-head b{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.bk-head span{font-size:14px;color:var(--ink-3)}
.bk-x,.book-ov{display:none}
.pax{border:1px solid var(--line);border-radius:12px;padding:6px 14px 10px;margin-bottom:12px}
.pax-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.pax-row:nth-child(2){border-bottom:0}
.pax-row b{display:block;font-size:14.5px;font-weight:600}
.pax-row small{font-size:12.5px;color:var(--ink-3)}
.stepper{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-btn);height:40px;background:#fff}
.stepper button{width:38px;height:100%;border:0;background:none;font-size:18px;color:var(--ink-2)}
.stepper button:hover{color:var(--accent)}
.stepper output{min-width:32px;text-align:center;font-weight:700}
.bk-warn{font-size:13px;color:var(--warn);background:var(--warn-soft);border-radius:8px;padding:8px 10px;margin-top:6px}
.bk-sum{background:var(--bg-soft);border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:14px}
.bk-sum .ln{display:flex;justify-content:space-between;gap:10px;padding:3px 0;color:var(--ink-2)}
.bk-sum .tot{border-top:1px solid var(--line-2);margin-top:6px;padding-top:9px;color:var(--ink);font-weight:600}
.bk-sum .tot b{font-size:20px;font-weight:800;color:var(--ink)}
.bk-sum .small{margin-top:4px}
.bk-alt{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.bk-tel{text-align:center;font-weight:600;font-size:14px;padding:6px;white-space:nowrap}
.bk-tel .fi{color:var(--accent);margin-right:6px}
.bk-assure{list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:12.5px;color:var(--ink-2)}
.bk-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-names .field{margin-bottom:10px}
.bk-assure .fi{color:var(--ok);margin-right:8px;font-size:11px}
.bk-dl{display:grid;gap:0;text-align:left;margin:4px 0 12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13.5px}
.bk-dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line)}
.bk-dl div:last-child{border-bottom:0}
.bk-dl dt{color:var(--ink-3)} .bk-dl dd{font-weight:600;text-align:right}
.ok-box .small{margin-bottom:12px}

/* ===== tailor-made wizard ===== */
.wz{display:grid;grid-template-columns:1fr 340px;gap:clamp(24px,4vw,48px);align-items:start}
.wz>*{min-width:0}
.wz-steps{display:flex;gap:6px;margin-bottom:20px}
.wz-steps span{flex:1;height:4px;border-radius:4px;background:var(--line);transition:background .4s}
.wz-steps span.on{background:var(--accent)}
.wz-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-box);padding:clamp(20px,3vw,34px);box-shadow:var(--sh-1)}
.wz-step{display:none;border:0}
.wz-step.on{display:block;animation:fadeUp .5s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wz-step legend.h2{font-size:clamp(21px,2.2vw,26px)!important;max-width:none;margin-bottom:4px}
.wz-step .hint{color:var(--ink-2);margin:4px 0 20px}
.pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pick{position:relative;border-radius:var(--r-img);overflow:hidden;aspect-ratio:4/3;cursor:pointer;color:#fff;display:block;background:var(--ink)}
.pick img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pick:hover img{transform:scale(1.04)}
.pick::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.75))}
.pick span{position:absolute;left:12px;bottom:10px;right:12px;z-index:2;font-weight:700;font-size:15px;line-height:1.3}
.pick span small{display:block;font-weight:500;font-size:12px;opacity:.9}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick .tick{position:absolute;top:10px;right:10px;left:auto;bottom:auto;z-index:2;width:26px;height:26px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;font-size:12px;background:rgba(0,0,0,.25)}
.pick .tick .fi{opacity:0}
.pick:has(input:checked){outline:3px solid var(--accent);outline-offset:-3px}
.pick:has(input:checked) .tick{background:var(--accent);border-color:var(--accent)}
.pick:has(input:checked) .tick .fi{opacity:1}
.pick:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:2px}
.pick.plain{background:var(--bg-soft);color:var(--ink);display:grid;place-items:center;text-align:center;border:1.5px dashed var(--line-2)}
.pick.plain::after{display:none}
.pick.plain span{position:static;padding:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);background:#fff;font-weight:600;font-size:14px;transition:all .2s}
.chips label:hover span{border-color:var(--ink)}
.chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.chips input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.wz .stepper{height:46px;max-width:200px}
.wz .stepper button{width:46px}
.wz .stepper output{flex:1}
.wz-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.wz-row>*{min-width:0}
.wz-block{margin-bottom:22px}
.season-note{margin-top:12px;font-size:14px;padding:10px 12px;border-radius:10px;background:var(--ok-soft);color:var(--ok);display:none}
.season-note.show{display:block}
.season-note.warn{background:var(--warn-soft);color:var(--warn)}
.wz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.wz-sum{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:var(--r-box);padding:24px;box-shadow:var(--sh-2)}
.wz-sum h3{font:var(--fw-head) 18px var(--font);margin-bottom:14px}
.wz-sum dl{display:grid;gap:12px;font-size:14px}
.wz-sum dt{color:var(--ink-3);font-size:12.5px;font-weight:600}
.wz-sum dd{font-weight:600}
.wz-sum .est{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.wz-sum .est .small{color:var(--ink-3)!important}
.wz-sum .est b{display:block;font:var(--fw-head) 22px/1.3 var(--font);color:var(--ink);margin:4px 0}
.plan{margin-top:18px;display:grid;gap:8px}
.plan div{display:flex;gap:12px;align-items:baseline;font-size:14.5px;background:var(--bg-soft);border-radius:10px;padding:10px 14px}
.plan b{font-weight:700;color:var(--accent);min-width:70px}

/* ===== about / contact / terms / credits ===== */
.prose{font-size:16px;color:var(--ink-2);max-width:70ch}
.prose p{margin-bottom:14px}
.prose h2{font:var(--fw-head) 20px/1.35 var(--font);color:var(--ink);margin:32px 0 10px}
.prose h2:first-child{margin-top:0}
.prose .dep,.prose .dtable{margin:6px 0}
.dep{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.dep th,.dep td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}
.dep thead th{background:var(--bg-soft);font-size:13px;font-weight:600;color:var(--ink-3)}
.dep td:last-child,.dep th:last-child{text-align:right}
.dep tr:last-child td{border-bottom:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split>*{min-width:0}
.split-img{border-radius:var(--r-box);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-2)}
.split-img img{width:100%;height:100%;object-fit:cover}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.member{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1);overflow:hidden;transition:box-shadow .35s var(--ease),transform .45s var(--ease)}
.member.in:hover,.member:not(.rv):hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.m-photo{aspect-ratio:4/5;margin:10px 10px 0;border-radius:var(--r-img);overflow:hidden;background:var(--bg-soft-2)}
.m-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.m-ph{display:grid;place-items:center;background:linear-gradient(160deg,var(--accent-soft),var(--bg-soft-2))}
.m-ph span{font:var(--fw-head) 44px/1 var(--font);letter-spacing:-.03em;color:var(--accent-dk);opacity:.55}
.member figcaption{padding:14px 16px 18px}
.member b{display:block;font:var(--fw-head) 16.5px/1.3 var(--font);letter-spacing:-.01em}
.m-role{display:block;font-size:13.5px;font-weight:600;color:var(--accent);margin-top:2px}
.member p{font-size:13.5px;color:var(--ink-2);line-height:1.5;margin-top:8px}
.legal{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;font-size:15px}
.legal th,.legal td{padding:13px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.legal th{width:34%;color:var(--ink-3);font-weight:600;background:var(--bg-soft)}
.legal tr:last-child th,.legal tr:last-child td{border-bottom:0}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}
.contact>*{min-width:0}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r-box);padding:clamp(20px,3vw,32px);box-shadow:var(--sh-1)}
.office{display:grid;gap:18px}
.office h3{font:var(--fw-head) 18px var(--font);margin-bottom:6px}
.office p{color:var(--ink-2);font-size:15px}
.office a:hover{color:var(--accent)}
.map{border-radius:12px;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line);margin-top:10px}
.map iframe{width:100%;height:100%;border:0}
.credits{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--line)}
.credits td,.credits th{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.credits img{width:84px;height:56px;object-fit:cover;border-radius:6px}
.credits a{color:var(--accent);word-break:break-word}

/* ===== footer (sáng) ===== */
.footer{background:var(--bg-soft);color:var(--ink-2);padding:0 0 24px;font-size:14px;margin:clamp(56px,6vw,80px) 16px 16px;border-radius:var(--r-box)}
.foot-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:32px 0;border-bottom:1px solid var(--line)}
.foot-cta h2{font:var(--fw-head) clamp(20px,2.2vw,26px)/1.25 var(--font);letter-spacing:var(--ls-head);color:var(--ink)}
.foot-cta p{color:var(--ink-3);margin-top:4px}
.foot-cta-b{display:flex;gap:10px;flex-wrap:wrap}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr .9fr 1.3fr;gap:32px;padding-top:40px}
.footer .logo{color:var(--ink)}
.foot-brand p{margin-top:14px;max-width:340px}
.foot-brand .lic{font-size:12.5px;color:var(--ink-3);display:flex;gap:8px}
.foot-brand .lic .fi{margin-top:4px;color:var(--accent)}
.social{display:flex;gap:8px;margin-top:18px}
.social a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--ink-2);transition:background .2s,color .2s,border-color .2s}
.social a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.social a.zl{width:auto;padding:0 14px;border-radius:999px;font-size:12.5px;font-weight:700}
.footer h4{font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}
.footer ul{list-style:none;display:grid;gap:9px}
.footer a:hover{color:var(--accent)}
.footer .more{color:var(--accent);font-weight:600}
.foot-contact li{display:flex;gap:10px}
.foot-contact .fi{color:var(--accent);margin-top:4px;width:14px;text-align:center}
.pay-h{margin-top:20px}
.pay{display:flex;flex-wrap:wrap;gap:6px}
.pay span{font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.foot-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}

/* mobile bar + toast */
.mbar{display:none}
.toast{position:fixed;left:50%;bottom:26px;z-index:120;transform:translate(-50%,160%);visibility:hidden;background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px;font-weight:500;font-size:14.5px;display:flex;gap:10px;align-items:center;transition:transform .45s var(--ease),visibility .45s;max-width:calc(100vw - 32px);box-shadow:var(--sh-3)}
.toast.show{transform:translate(-50%,0);visibility:visible}
.toast .fi{color:#6EE7A8}

.rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.nf{min-height:60vh;display:grid;place-items:center;text-align:center;padding:64px 0}
.nf b{display:block;font:var(--fw-head) clamp(90px,14vw,160px)/1 var(--font);color:var(--accent)}
.nf .lead{margin:8px auto 24px}
.nf-b{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}


/* ===== about ===== */
.story{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:start}
.story>*{min-width:0}
.story .h2{margin:0 0 16px}
.story-sign{display:flex;gap:12px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.story-sign b{display:block}.story-sign small{color:var(--ink-3);font-size:13px}
.story-img{border-radius:var(--r-box);overflow:hidden;aspect-ratio:4/3.4;box-shadow:var(--sh-2)}
.story-img img{width:100%;height:100%;object-fit:cover}
.stats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(36px,5vw,56px);background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1)}
.stats li{padding:22px 24px;border-right:1px solid var(--line)}
.stats li:last-child{border-right:0}
.stats b{display:block;font-size:clamp(26px,2.8vw,36px);font-weight:800;letter-spacing:-.03em;color:var(--accent);line-height:1.2}
.stats span{font-size:14px;color:var(--ink-2)}
/* mốc thời gian: thẻ ảnh 16:10, so le trái/phải trên desktop */
.tl2{list-style:none;position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:72px;row-gap:14px;max-width:1080px;margin:0 auto}
.tl2::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--line-2)}
.tl-item{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1)}
.tl-item:nth-child(odd){grid-column:1}
.tl-item:nth-child(even){grid-column:2}
.tl-item{align-self:start}
.tl-item::after{content:"";position:absolute;top:44px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg-soft),0 0 0 6px var(--line-2)}
.tl-item:nth-child(odd)::after{right:-44px}
.tl-item:nth-child(even)::after{left:-44px}
.tl-photo{aspect-ratio:16/10;margin:10px 10px 0;border-radius:var(--r-img);overflow:hidden;background:var(--bg-soft-2)}
.tl-photo img{width:100%;height:100%;object-fit:cover}
.tl-body{padding:16px 20px 20px}
.ty{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:13.5px}
.tl-body h3{font:var(--fw-head) 18px/1.3 var(--font);letter-spacing:-.01em;margin:10px 0 4px}
.tl-body p{font-size:14.5px;color:var(--ink-2)}
/* khoảnh khắc trên tour */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}
.mo{position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--bg-soft-2);box-shadow:var(--sh-1)}
.mo img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.mo:hover img{transform:scale(1.04)}
.mo1{grid-column:span 2;grid-row:span 2}
.mosaic-8 .mo6{grid-column:span 2}
.mo figcaption{position:absolute;left:10px;bottom:10px;right:10px;width:fit-content;max-width:calc(100% - 20px);font-size:12.5px;font-weight:600;line-height:1.35;padding:6px 12px;border-radius:14px;background:rgba(255,255,255,.93);color:var(--ink);box-shadow:0 1px 3px rgba(11,27,43,.12)}
/* avatar ảnh thật */
.ava-img{object-fit:cover;background:var(--bg-soft-2);padding:0}
.ava-md{width:56px;height:56px;font-size:17px}
.ava-lg{width:72px;height:72px;font-size:20px}
.rcard .ava{width:48px;height:48px}
.help-team{display:flex;align-items:center;gap:12px;margin-top:22px}
.help-team .ava{width:44px;height:44px;border:3px solid var(--bg-soft);margin-right:-22px}
.help-team .ava:nth-child(3){margin-right:0}
.help-team p{font-size:13.5px;color:var(--ink-2);line-height:1.4;padding-left:22px}
.help-team b{color:var(--ink)}
.guide-card{display:flex;gap:16px;align-items:flex-start;margin-top:24px;padding:18px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-card)}
.guide-card small{display:block;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.guide-card b{display:block;font:var(--fw-head) 17px/1.3 var(--font)}
.guide-card span{display:block;font-size:13.5px;color:var(--accent);font-weight:600}
.guide-card p{font-size:14.5px;color:var(--ink-2);margin:6px 0 2px}
.planner{display:flex;gap:12px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.planner small{display:block;font-size:12px;color:var(--ink-3);font-weight:600}
.planner b{display:block;font-size:15px}
.planner span{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.4}
/* văn phòng */
.offices{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ocard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1);overflow:hidden}
.oc-media{position:relative;aspect-ratio:16/10;margin:10px 10px 0;border-radius:var(--r-img);overflow:hidden;background:var(--bg-soft-2)}
.oc-media img{width:100%;height:100%;object-fit:cover}
.oc-media .bdg{position:absolute;left:12px;top:12px}
.oc-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.oc-body h3{font:var(--fw-head) 19px/1.3 var(--font);letter-spacing:-.01em}
.oc-addr{display:flex;gap:8px;align-items:baseline;font-weight:600;margin-top:6px}
.oc-addr .fi{color:var(--accent);font-size:13px;flex-shrink:0}
.oc-cap{font-size:13.5px;color:var(--ink-3);margin-top:2px}
.oc-meta{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--ink-2);margin:12px 0 16px}
.oc-meta li{display:flex;gap:7px;align-items:center}.oc-meta .fi{color:var(--ink-3);font-size:12px}
.oc-btns{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:auto}
.nf-photo{margin:40px auto 0;max-width:720px;border-radius:var(--r-box);overflow:hidden;position:relative;box-shadow:var(--sh-2)}
.nf-photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.nf-photo figcaption{position:absolute;left:12px;bottom:12px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.93)}

/* ===== contact ===== */
.qc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}
.qc{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:20px;box-shadow:var(--sh-1);transition:border-color .2s,box-shadow .3s var(--ease),transform .3s var(--ease)}
.qc:hover{border-color:var(--accent);box-shadow:var(--sh-2);transform:translateY(-2px)}
.qc-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:19px;flex-shrink:0}
.qc-ic.zl{background:var(--zalo-soft);color:var(--zalo)}
.qc small{display:block;font-size:13px;color:var(--ink-3)}
.qc b{display:block;font-size:17px;font-weight:700;word-break:break-word}
.qc div>span{display:block;font-size:13.5px;color:var(--ink-2)}
.hours h3{display:flex;gap:8px;align-items:center}
.hours h3 .fi{color:var(--accent)}
.hours dl{display:grid;gap:0;margin:6px 0 8px}
.hours dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}
.hours dt{color:var(--ink-2);font-size:14.5px}.hours dd{font-weight:700;text-align:right}

/* chip cuộn ngang có mờ mép */
.scroll-x{overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.scroll-x::-webkit-scrollbar{display:none}
.scroll-x>*{scroll-snap-align:start}
.hero-media picture{display:block;width:100%;height:100%}

/* ===== responsive ===== */
@media (max-width:1180px){
  .nav>a,.dd-btn{padding:0 9px;font-size:14px}
  .tb-hours{display:none}
  .trust-grid{grid-template-columns:repeat(3,1fr)}
  .trust-grid li{border-bottom:1px solid var(--line)}
  .trust-grid li:nth-child(3n){border-right:0}
  .trust-grid li:nth-child(3n+1){padding-left:0}
  .trust-grid li:nth-child(n+4){border-bottom:0}
  .d-facts{grid-template-columns:repeat(3,1fr)}
  .d-facts li:nth-child(3n){border-right:0}
  .d-facts li:nth-child(-n+3){border-bottom:1px solid var(--line)}
}
@media (max-width:1024px){
  .nav,.hdr-call{display:none}
  .menu-btn{display:grid;place-items:center}
  .hdr-right{margin-left:auto}
  .tgrid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .rgrid{grid-template-columns:1fr 1fr}
  .rv-wrap{grid-template-columns:1fr}
  .agg{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center}
  .agg-list{grid-column:1/-1}
  .rail{grid-auto-columns:calc((100% - 40px)/3)}
  .search{grid-template-columns:1fr 1fr 1fr}
  .search .btn{grid-column:1/-1;margin:8px 0 0;min-height:50px}
  .sf:nth-child(3){border-right:0}
  /* listing: bộ lọc thành bottom sheet */
  .list-layout{grid-template-columns:1fr}
  .fp-open{display:inline-flex}
  .fpanel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:110;border-radius:var(--r-box) var(--r-box) 0 0;max-height:86vh;display:flex;flex-direction:column;transform:translateY(105%);visibility:hidden;transition:transform .45s var(--ease),visibility .45s;box-shadow:var(--sh-3)}
  body.filters-open .fpanel{transform:none;visibility:visible}
  .fp-body{overflow-y:auto;flex:1}
  .fp-x{display:grid}
  .fp-foot{display:block;padding:12px 18px;border-top:1px solid var(--line)}
  .fp-ov{display:block;position:fixed;inset:0;z-index:105;background:rgba(15,17,21,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  body.filters-open .fp-ov{opacity:1;visibility:visible}
  .tgrid-2{grid-template-columns:1fr 1fr}
  /* chi tiết: khung đặt chỗ thành sheet */
  .d-layout{grid-template-columns:1fr}
  .book{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:110;margin:0;max-height:90vh;overflow-y:auto;transform:translateY(105%);visibility:hidden;transition:transform .45s var(--ease),visibility .45s}
  .book-in{border-radius:var(--r-box) var(--r-box) 0 0;box-shadow:var(--sh-3);max-width:640px;margin:0 auto}
  body.book-open .book{transform:none;visibility:visible}
  .book{border-radius:0}
  .bk-x{display:grid}
  .book-ov{display:block;position:fixed;inset:0;z-index:105;background:rgba(15,17,21,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  body.book-open .book-ov{opacity:1;visibility:visible}
  body.has-book{padding-bottom:72px}
  .mbar-book{display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:70;height:68px;padding:0 12px 0 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(16,24,40,.08)}
  .mb-price{flex:1;line-height:1.2;min-width:0}
  .mb-price small{font-size:12px;color:var(--ink-3)}
  .mb-price b{display:block;font-size:18px;color:var(--ink);font-weight:800}
  .mb-price small:last-child{display:none}
  .mb-ic{width:44px;height:44px;border-radius:var(--r-btn);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--ink-2);flex-shrink:0}
  .mbar-book .btn{height:46px;padding:0 20px}
  .toast{bottom:84px}
  .wz,.contact{grid-template-columns:1fr}
  .wz-sum{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:1fr 1fr}
}
@media (max-width:800px){
  .topbar{display:none}
  .split,.faq-wrap,.cta-band{grid-template-columns:1fr}
  .cb-media{min-height:220px}
  .pick-grid{grid-template-columns:1fr 1fr}
  .rail{grid-auto-columns:62%}
  .d-gal{grid-template-columns:none!important;grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--r-card);gap:8px;scrollbar-width:none}
  .d-gal a{grid-row:auto!important;grid-column:auto!important;aspect-ratio:16/10;scroll-snap-align:start;border-radius:var(--r-card)}
  /* bảng khởi hành trang chủ → danh sách xếp chồng */
  .dtable:not(.dtable-s) thead{display:none}
  .dtable:not(.dtable-s),.dtable:not(.dtable-s) tbody{display:block}
  .dtable:not(.dtable-s) tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 16px;border-bottom:1px solid var(--line)}
  .dtable:not(.dtable-s) tbody tr:last-child{border-bottom:0}
  .dtable:not(.dtable-s) td{padding:0;border:0;text-align:left!important}
  .dtable .c-date{grid-column:1;grid-row:1;display:flex;gap:8px;align-items:baseline}
  .dtable .c-date span{display:inline}
  .dtable .c-seat{grid-column:2;grid-row:1;text-align:right!important}
  .dtable .c-tour{grid-column:1/-1}
  .dtable .c-dur{display:none!important}
  .m-dur{display:inline}
  .dtable .c-back{grid-column:1;font-size:13px;color:var(--ink-3)}
  .dtable .c-back::before{content:"→ "}
  .dtable .c-price{grid-column:1;align-self:center}
  .dtable .c-act{grid-column:2;width:auto;align-self:center}
  .dtable-d .c-price{grid-row:3}
  .dtable-d .c-act{grid-row:2/4}
}
@media (max-width:640px){
  :root{--hdr:62px}
  body{padding-bottom:64px}
  .header.shrink .header-inner{height:56px}
  .d-tabs{top:56px}
  .logo{font-size:18px}.logo svg{width:26px;height:26px}
  .hdr-right>.lang{display:none}
  .section{padding:48px 0}
  .search{grid-template-columns:1fr;padding:6px}
  .sf{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}
  .sf:nth-child(3){border-bottom:0}
  .search .btn{margin:6px 0 0}
  .hero-in{padding-top:40px;padding-bottom:36px}
  .hero h1{font-size:28px}
  .hero-cap{display:none}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-grid li{padding:14px 10px 14px 0!important;border-right:0!important;border-bottom:1px solid var(--line)!important;gap:10px}
  .trust-grid li:nth-child(n+5){border-bottom:0!important}
  .trust-grid .ic{width:22px;height:22px}
  .trust-grid b{font-size:14px}
  .tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .tab{flex-shrink:0}
  .bk-names{grid-template-columns:1fr}
  .tgrid,.tgrid-2,.why-grid,.rgrid,.fgrid,.wz-row,.inc,.hl-list,.pol-grid{grid-template-columns:1fr}
  .rail{grid-auto-columns:78%}
  .d-facts{grid-template-columns:1fr 1fr}
  .d-facts li{border-right:0!important;border-bottom:1px solid var(--line)}
  .d-facts li:nth-child(odd){border-right:1px solid var(--line)!important}
  .d-facts li:nth-last-child(-n+2){border-bottom:0}
  .d-facts li{padding:12px}
  .rbar{align-items:stretch}
  .rbar-r{width:100%;justify-content:space-between}
  .sort-l{display:none}
  .foot-grid{grid-template-columns:1fr}
  .foot-grid{gap:26px}
  .mbar:not(.mbar-book){display:grid;grid-template-columns:1fr 1fr 1.5fr;position:fixed;left:0;right:0;bottom:0;z-index:70;height:64px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(16,24,40,.08)}
  .mbar:not(.mbar-book) a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:600;font-size:12.5px;color:var(--ink-2)}
  .mbar:not(.mbar-book) a .fi{font-size:17px}
  .mbar:not(.mbar-book) a.go{background:var(--cta);color:#fff;flex-direction:row;gap:8px;font-size:14.5px}
  body.has-book{padding-bottom:72px}
  .toast{bottom:80px}
  .foot-cta-b{width:100%}.foot-cta-b .btn{flex:1}
  .cb-btns .btn{flex:1}
}
@media (min-width:641px) and (max-width:1024px){.mbar:not(.mbar-book){display:none}}

@media (max-width:1024px){
  .story{grid-template-columns:1fr}
  .story-img{aspect-ratio:16/10}
  .stats{grid-template-columns:1fr 1fr}
  .stats li:nth-child(2){border-right:0}
  .stats li:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .qc-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  /* chip vùng: hàng cuộn ngang, snap, mờ mép phải */
  .tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin-right:calc(var(--gut) * -1);padding-right:var(--gut);-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
  .tabs::-webkit-scrollbar{display:none}
  .tabs.at-end{-webkit-mask-image:none;mask-image:none}
  .tab{scroll-snap-align:start;flex:1 0 auto;padding:0 10px;font-size:13.5px}
  .tabs{gap:6px}
  .sec-head .tabs{margin-right:0;padding-right:0}
  .d-tabs-in{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .d-tabs-in.at-end{-webkit-mask-image:none;mask-image:none}
  /* vùng chạm tối thiểu 44px */
  .tab,.months button,.btn-sm,.icon-btn,.menu-btn{min-height:44px}
  .icon-btn{width:44px;height:44px}
  .months{gap:6px}.months button{min-width:48px}
  .achip{min-height:40px;padding:0 12px}
  .stepper{height:44px}.stepper button{width:44px}
  .opt{min-height:44px}
  .lang a,.lang span{padding:11px 14px}
  .hero-quick a{padding:10px 14px}
  .crumb a{padding:6px 0}
  .footer ul{gap:0}.footer ul a{display:inline-flex;align-items:center;min-height:44px}
  .sf select{padding:12px 0 10px}
  .link-btn,.link{min-height:44px}
  .input-sm{height:44px}
  .logo{min-height:44px}
  .foot-bottom a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
  .social a{width:44px;height:44px}
  .d-tabs a{padding:14px 12px}
  .stats li{padding:16px}
  .qc{padding:16px}
  .dtable .c-act .btn{min-width:88px}
}
@media (max-width:380px){
  .tabs{gap:5px}.tab{padding:0 8px;font-size:13px}
  .trust-grid b{font-size:13px;white-space:normal}.trust-grid span{font-size:12px}.trust-grid .ic{width:20px;height:20px}
  .mbar-book .btn{padding:0 14px}
  .mb-price b{font-size:16px}
  .search .btn{font-size:15px}
}

/* ===== Phương án A: điều chỉnh theo màn hình ===== */
@media (max-width:1024px){
  .search{border-radius:24px;padding:8px}
  .search .btn{height:52px}
}
@media (max-width:640px){
  .hero,.page-hero,.page-head{margin:8px;border-radius:22px}
  .footer{margin:48px 8px 8px;border-radius:22px}
  .search{border-radius:22px}
  .trust-grid{gap:8px}
  .trust-grid li{padding:12px!important;border:0!important}
}

/* ===== in trang chi tiết tour ===== */
@media print{
  @page{margin:14mm}
  body{font-size:11pt;color:#000;background:#fff;padding:0!important}
  .topbar,.header,.drawer,.d-tabs,.book,.book-ov,.mbar,.toast,.footer,.more,.skip,.d-gal a:not(.g0),#expandAll,.dtable .c-act,.crumb,.note{display:none!important}
  .d-layout{display:block}
  .d-gal{display:block;height:auto;border-radius:0;margin:10px 0}
  .d-gal .g0 img{max-height:70mm;width:100%;object-fit:cover}
  .d-facts{grid-template-columns:repeat(3,1fr);box-shadow:none}
  .d-sec{padding:14px 0;break-inside:auto}
  .day{break-inside:avoid;box-shadow:none}
  .day:not([open]) .day-b{display:block}
  details.day>.day-b{display:block!important}
  .day figure{display:none}
  .rv{opacity:1!important;transform:none!important}
  a{color:inherit;text-decoration:none}
  .dtable-wrap,.inc>div,.pol,.rcard,.agg{box-shadow:none}
}

/* ===== ảnh đội ngũ, mốc thời gian, khoảnh khắc, văn phòng — responsive ===== */
@media (max-width:1024px){
  .team{grid-template-columns:repeat(2,1fr)}
  .mosaic{grid-auto-rows:180px}
}
@media (max-width:800px){
  .tl2{grid-template-columns:1fr;padding:0 0 0 30px;row-gap:18px}
  .tl2::before{left:8px;margin-left:0}
  .tl-item:nth-child(odd),.tl-item:nth-child(even){grid-column:1;grid-row:auto!important}
  .tl-item:nth-child(odd)::after,.tl-item:nth-child(even)::after{left:-29px;right:auto;top:30px;width:12px;height:12px}
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
  .mo1{grid-column:span 2;grid-row:span 2}
  .mosaic-8 .mo6{grid-column:span 2;grid-row:span 1}
  .offices{grid-template-columns:1fr}
}
@media (max-width:640px){
  .team{gap:12px}
  .member figcaption{padding:12px 12px 14px}
  .member b{font-size:15px}
  .m-role{font-size:12.5px}
  .member p{font-size:12.5px}
  .mo figcaption{font-size:11.5px;padding:5px 10px;left:8px;bottom:8px;max-width:calc(100% - 16px)}
  .guide-card{padding:14px;gap:12px}
  .ava-lg{width:56px;height:56px}
}
