/* ===== Mẫu trang chi tiết tour – mở rộng home.css + lt.css ===== */
.tc-hero{min-height:620px}
@media(min-width:1024px){.tc-hero{min-height:640px;padding-bottom:110px}}
.tc-hero .lt-hero-bg img{object-position:50% 60%}
.tc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.tc-tags span{font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px)}
.tc-tags .tc-code{background:#fff;color:var(--navy-d);border-color:#fff;letter-spacing:.03em}
.tc-hero h1{max-width:760px}
.tc-route{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:14px;font-weight:600;color:#ffd7ad;max-width:640px}
.tc-route svg{flex:none;width:18px;height:18px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}

/* Thông số */
.tc-facts-w{position:relative;z-index:2;margin-top:-34px}
@media(min-width:1024px){.tc-facts-w{margin-top:-62px}}
.tc-facts{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 18px 44px rgba(9,27,54,.12)}
@media(min-width:900px){.tc-facts{grid-template-columns:repeat(5,1fr)}}
.tc-facts li{display:flex;gap:10px;align-items:center;background:#fff;padding:14px}
@media(min-width:900px){.tc-facts li{padding:20px 18px}}
.tc-facts li:last-child{grid-column:1/-1}
@media(min-width:900px){.tc-facts li:last-child{grid-column:auto}}
.tc-facts svg{flex:none;width:38px;height:38px;padding:9px;border-radius:12px;background:#fff1e3;fill:none;stroke:var(--or-btn);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tc-facts small{display:block;font-size:12px;color:var(--muted)}
.tc-facts b{display:block;font-size:14.5px;color:var(--navy-d);line-height:1.3}

/* Thanh mục dính */
.tc-sub{position:sticky;top:0;z-index:40;margin-top:18px;background:rgba(248,250,252,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.tc-sub-in{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;padding-top:6px;padding-bottom:6px}
.tc-sub-in::-webkit-scrollbar{display:none}
.tc-sub a:not(.btn){flex:none;display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;color:var(--muted);font-weight:600;font-size:14.5px;text-decoration:none;white-space:nowrap}
.tc-sub a:not(.btn):hover{color:var(--navy)}
.tc-sub a.on{background:var(--navy);color:#fff}
.tc-sub-cta{margin-left:auto;flex:none}
@media(max-width:899px){.tc-sub-cta{display:none}}
.tc-page .hdr.hide~main .tc-sub,.tc-page main .tc-sub{transition:top .25s}


.tc-page section[id],.tc-page #lien-he{scroll-margin-top:130px}
@media(min-width:1180px){.tc-page section[id],.tc-page #lien-he{scroll-margin-top:170px}}

/* Tổng quan + bản đồ */
.tc-ov-in{display:grid;gap:28px}
@media(min-width:1024px){.tc-ov-in{grid-template-columns:1fr 1fr;gap:56px;align-items:center}}
.tc-ov h2,.tc-page .sh h2{font-size:clamp(23px,2.5vw,32px);line-height:1.22;font-weight:800;color:var(--navy-d);margin:4px 0 12px;text-wrap:balance}
.tc-ov-t>p:not(.sh-k){color:var(--txt);margin-bottom:12px;max-width:600px}
.tc-fit{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tc-fit li{font-size:13.5px;font-weight:600;color:var(--navy);background:var(--tint);border:1px solid var(--line2);border-radius:999px;padding:7px 12px}
.tc-map{margin:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:var(--sh-soft)}
.tc-map-svg{display:block;width:100%;height:auto;background:#f4efe6;border-radius:16px}
.tc-map .sea{fill:#cfe6f3}.tc-map .lag{fill:#dcecf5}
.tc-map .sea-t{font-size:11px;font-style:normal;fill:#4f86a8;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.tc-map .rt{fill:none;stroke:var(--or);stroke-width:2.2;stroke-dasharray:5 5;stroke-linecap:round}
.tc-map .pt circle{fill:#fff;stroke:var(--navy);stroke-width:2.5}
.tc-map .pt.base circle{fill:var(--or);stroke:#fff;stroke-width:3}
.tc-map .pt text,.tc-map .ap text{font-size:11.5px;font-weight:700;fill:var(--navy-dd);paint-order:stroke;stroke:#f4efe6;stroke-width:3px}
.tc-map .ap circle{fill:var(--navy);stroke:#fff;stroke-width:2.5}
.tc-map .note{font-size:9.5px;fill:#8a7f6e}
.tc-map figcaption{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 4px 2px;font-size:12.5px;color:var(--muted)}
.tc-map figcaption span{display:flex;align-items:center;gap:6px}
.lg{display:inline-block;width:12px;height:12px;border-radius:50%}
.lg.base{background:var(--or)}.lg.pt{background:#fff;border:2.5px solid var(--navy)}
.lg.rt{width:18px;height:0;border-radius:0;border-top:2.5px dashed var(--or)}

/* Tiêu đề khối */
.tc-page .sh{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.tc-page .sh h2{margin-bottom:0}

/* Điểm nổi bật */
.tc-hls{background:linear-gradient(#fff,var(--bg))}
.tc-hl-list{list-style:none;display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 calc(var(--gut)*-1);padding-left:var(--gut);padding-right:var(--gut);scroll-padding-left:var(--gut);scrollbar-width:thin}
@media(min-width:700px){.tc-hl-list{grid-auto-columns:42%}}
@media(min-width:1024px){.tc-hl-list{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible;margin:0;padding:0;gap:22px}}
.tc-hl{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--sh-card)}
.tc-hl-img{position:relative;aspect-ratio:3/2;background:#e8f1f7}
.tc-hl-img img{width:100%;height:100%;object-fit:cover}
.tc-hl-img .lt-noimg{position:absolute;inset:0}
.tc-hl-n{position:absolute;left:12px;bottom:12px;background:rgba(9,27,54,.75);color:#fff;font-weight:800;font-size:13px;border-radius:10px;padding:4px 9px;backdrop-filter:blur(4px)}
.tc-hl h3{font-size:16.5px;line-height:1.3;color:var(--navy-d);padding:14px 16px 4px}
.tc-hl p{font-size:14px;color:var(--txt);line-height:1.55;padding:0 16px 16px}

/* Lịch trình */
.tc-it-tools{display:flex;gap:8px;flex-wrap:wrap}
.tc-it-tools .btn{display:inline-flex;align-items:center;gap:6px}
.tc-it-tools svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.tc-it-tools [aria-disabled=true]{opacity:.55;pointer-events:none}
.tc-days{display:grid;gap:12px}
.tc-day{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--sh-card)}
.tc-day[open]{border-color:#c8dcea;box-shadow:var(--sh-soft)}
.tc-day summary{list-style:none;display:flex;gap:14px;align-items:center;padding:14px 16px;cursor:pointer;min-height:64px}
.tc-day summary::-webkit-details-marker{display:none}
.tc-day summary:focus-visible{outline:3px solid #4fb3e8;outline-offset:-3px}
.tc-dt{flex:1;min-width:0}
.tc-dt b{display:block;font-size:16.5px;color:var(--navy-d);line-height:1.3}
.tc-dt span{display:block;font-size:14px;color:var(--muted);line-height:1.45;margin-top:3px}
.tc-dchev svg{width:22px;height:22px;fill:none;stroke:var(--navy);stroke-width:2;transition:transform .2s}
.tc-day[open] .tc-dchev svg{transform:rotate(180deg)}
.tc-dbody{padding:0 16px 18px}
@media(min-width:1024px){.tc-dbody{padding:0 24px 24px 84px}}
.tc-dmeta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tc-dmeta span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--navy);background:var(--tint);border-radius:999px;padding:5px 11px}
.tc-dmeta svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.tc-dgrid{display:grid;gap:16px}
@media(min-width:900px){.tc-dgrid{grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}}
.tc-seg{list-style:none;position:relative;display:grid;gap:2px}
.tc-seg::before{content:"";position:absolute;left:65px;top:8px;bottom:8px;width:2px;background:var(--line2)}
.tc-seg li{position:relative;display:grid;grid-template-columns:46px 1fr;gap:34px;padding:7px 0}
.tc-seg li::before{content:"";position:absolute;left:59px;top:13px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--or)}
.tc-seg .tm{font-size:12.5px;font-weight:800;color:var(--or-btn);padding-top:3px;text-align:right}
.tc-seg b{display:block;font-size:15px;color:var(--ink);line-height:1.35}
.tc-seg p{font-size:14px;color:var(--txt);line-height:1.55;margin-top:2px}
.tc-day-ph{position:relative;margin:0;border-radius:16px;overflow:hidden;aspect-ratio:3/2}
.tc-day-ph img{width:100%;height:100%;object-fit:cover}
.tc-it-note{font-size:13.5px;color:var(--muted);margin-top:14px}

/* Bao gồm */

/* Lưu ý */
.tc-info-g{list-style:none;display:grid;gap:12px}
@media(min-width:700px){.tc-info-g{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.tc-info-g{grid-template-columns:repeat(4,1fr)}}
.tc-info-g li{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.tc-info-g li.todo{border-style:dashed;background:#fffaf3}
.tc-info-g .ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--tint)}
.tc-info-g .ic svg{width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tc-info-g b{display:block;font-size:15px;color:var(--navy-d);margin-bottom:3px}
.tc-info-g p{font-size:13.5px;color:var(--txt);line-height:1.55}

/* Ảnh đoàn */
.tc-gal-g{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(min-width:900px){.tc-gal-g{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:12px}.tc-gal-g li:first-child{grid-column:span 2;grid-row:span 2}}
.tc-gal-g li{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/2}
@media(min-width:900px){.tc-gal-g li{aspect-ratio:auto}}
.tc-gal-g img{width:100%;height:100%;object-fit:cover}
.tc-gal-g span{position:absolute;left:8px;bottom:8px;font-size:12px;font-weight:600;color:#fff;background:rgba(9,27,54,.65);border-radius:8px;padding:3px 8px}

@media(max-width:639px){
  .tc-hero{min-height:600px;padding-bottom:58px}
  .tc-route{font-size:13px}
  .tc-day summary{padding:12px;gap:12px}
  .tc-dt span{font-size:13.5px}
  .tc-dbody{padding:0 12px 16px}
  .tc-seg::before{left:57px}
  .tc-seg li{grid-template-columns:40px 1fr;gap:30px}
  .tc-seg li::before{left:51px}
}
@media(max-width:899px){.tc-gal-g li:first-child{grid-column:1/-1}}
.tc-sub{transition:top .25s}

/* Số ngày dạng chữ số lớn */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tc-dn{flex:none;display:flex;align-items:flex-end;gap:6px;min-width:92px;line-height:.8}
.tc-dn small{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:3px}
.tc-dn .num{font-size:46px;font-weight:900;letter-spacing:-.04em;background:linear-gradient(180deg,#e8761a 0%,#f2a35e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;transition:filter .2s}
.tc-day:not([open]) .tc-dn .num{filter:saturate(.75) brightness(1.04)}
.tc-day[open] .tc-dn .num{background-image:linear-gradient(180deg,#d9650c 0%,#f08a2e 100%)}
@media(min-width:1024px){.tc-dn{min-width:118px}.tc-dn .num{font-size:58px}.tc-dbody{padding-left:150px}}
@media(max-width:639px){.tc-dn{min-width:76px;gap:4px}.tc-dn small{font-size:12px;letter-spacing:.1em}.tc-dn .num{font-size:38px}}

/* Tour gợi ý – thẻ ảnh lớn */
.tc-rel-g{display:grid;gap:14px}
@media(min-width:800px){.tc-rel-g{grid-template-columns:repeat(3,1fr);gap:20px}}
@media(max-width:799px){.tc-rel-g{grid-auto-flow:column;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gut)*-1);padding:2px var(--gut) 10px;scroll-padding-left:var(--gut)}}
.tc-rel{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:340px;border-radius:24px;overflow:hidden;color:#fff;text-decoration:none;scroll-snap-align:start;box-shadow:0 10px 30px rgba(9,27,54,.12)}
.tc-rel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.tc-rel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,27,54,0) 30%,rgba(9,27,54,.88) 78%)}
.tc-rel:hover>img{transform:scale(1.05)}
.tc-rel:focus-visible{outline:3px solid #4fb3e8;outline-offset:3px}
.tc-rel-tag{position:absolute;top:14px;left:14px;font-size:12.5px;font-weight:700;color:var(--navy-d);background:rgba(255,255,255,.94);border-radius:999px;padding:5px 11px}
.tc-rel-b{display:block;padding:20px}
.tc-rel-b small{display:block;font-size:12.5px;font-weight:700;letter-spacing:.03em;color:#ffd7ad}
.tc-rel-b b{display:block;font-size:19px;line-height:1.3;margin:4px 0 10px;text-wrap:balance}
.tc-rel-m{display:flex;align-items:center;gap:6px;font-size:13.5px;color:#dbe8f2}
.tc-rel-m svg,.tc-rel-go svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.tc-rel-go{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:700;padding:9px 14px;min-height:40px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(4px);transition:background .2s}
.tc-rel:hover .tc-rel-go{background:#b85400;border-color:#b85400}
@media(max-width:639px){
  .tc-dn{min-width:52px;flex-direction:column;align-items:flex-start;gap:2px}
  .tc-dn small{padding:0;font-size:12px}
  .tc-dn .num{font-size:36px}
}

/* Dải vuốt ngang: ẩn thanh cuộn, dùng nút trước/sau */
[data-rail]{scrollbar-width:none;scroll-behavior:smooth}
[data-rail]::-webkit-scrollbar{display:none}
.rail-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.rail-nav[hidden]{display:none}
.rail-dots{display:flex;gap:6px;flex-wrap:wrap}
.rail-dots i{width:8px;height:8px;border-radius:999px;background:#c9d6e2;transition:width .25s,background .25s}
.rail-dots i.on{width:24px;background:var(--or)}
.rail-btns{display:flex;align-items:center;gap:10px}
.rail-n{font-size:13.5px;font-weight:700;color:var(--muted);min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.rail-b,.tc-rv-b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--navy);background:#fff;color:var(--navy);cursor:pointer;transition:background .2s,color .2s,opacity .2s}
.rail-b svg,.tc-rv-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.rail-b.prev svg,.tc-rv-b.prev svg{transform:rotate(180deg)}
.rail-b:hover:not(:disabled){background:var(--navy);color:#fff}
.rail-b:disabled{opacity:.35;cursor:default}
.rail-b:focus-visible,.tc-rv-b:focus-visible{outline:3px solid #4fb3e8;outline-offset:2px}

/* Phản hồi – slider ảnh toàn khổ, khung chữ sáng */
.tc-rev{position:relative;background:#f6efe5}
.tc-rv-s{position:relative;margin:0;height:clamp(640px,56vw,880px);display:flex;align-items:flex-end}
.tc-rv-s[hidden]{display:none}
.tc-rv-s.in{animation:rvIn .45s ease}
@keyframes rvIn{from{opacity:.25}to{opacity:1}}
.tc-rv-bg{position:absolute;inset:0}
.tc-rv-bg img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.tc-rv-s::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,27,54,.38),rgba(9,27,54,0) 40%);pointer-events:none}
.tc-rv-pos{position:relative;z-index:1;width:100%;padding-bottom:64px}
.tc-rv-card{position:relative;margin:0;max-width:520px;background:#fffdf9;border-radius:22px;padding:30px 32px 26px;color:var(--ink);box-shadow:0 24px 60px rgba(9,27,54,.28);border-top:5px solid var(--or)}
.tc-rv-k{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#b85400;margin-bottom:12px}
.tc-rv-k::after{content:"";flex:1;height:1px;background:#eadfce}
.tc-rv-q{display:block}
.tc-rv-q .q{display:block;margin-bottom:4px}
.tc-rv-q .q svg{width:40px;height:40px;fill:none;stroke:#f58220;stroke-width:2.6;stroke-linecap:round}
.tc-rv-q p{font-size:19px;line-height:1.55;font-weight:500;color:var(--navy-d);margin:0;text-wrap:pretty}
.tc-rv-card footer{display:block;margin:20px 0 0;padding-top:16px;border-top:1px solid #eee4d6}
.tc-rv-card footer b{display:block;font-size:16px;color:var(--navy-d)}
.tc-rv-card footer small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.tc-rv-cap{margin:10px 0 0;font-size:12px;color:#8a97a5}
.tc-rv-nav{display:flex;align-items:center;gap:12px;margin:18px 0 0}
.tc-rv-b{border:1.5px solid var(--navy);background:#fff;color:var(--navy)}
.tc-rv-b:hover{background:var(--navy);color:#fff}
.tc-rv-n{font-size:14px;font-weight:700;color:var(--navy-d);font-variant-numeric:tabular-nums}
.tc-rv[data-count="1"] .tc-rv-nav{display:none}
@media(max-width:767px){
  .tc-rv-s{display:block;height:auto}
  .tc-rv-s[hidden]{display:none}
  .tc-rv-s::after{display:none}
  .tc-rv-bg{position:relative;display:block;aspect-ratio:4/3}
  .tc-rv-pos{padding:0 var(--gut) 36px}
  .tc-rv-card{max-width:none;margin-top:-44px;padding:22px 20px 20px;box-shadow:0 14px 34px rgba(9,27,54,.16)}
  .tc-rv-q .q svg{width:32px;height:32px}
  .tc-rv-q p{font-size:17px}
}
.tc-map .rv{fill:none;stroke:#9cc7e0;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tc-ai-tag{position:absolute;right:20px;top:18px;z-index:3;margin:0;background:rgba(6,20,32,.6);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.tc-ai-note{margin-top:6px;font-size:var(--fs-xs,13px);color:var(--muted,#5b6b78)}
@media(max-width:1023px){.tc-ai-tag{top:10px;right:12px;font-size:12px;padding:2px 8px}}
.tc-up{display:inline-block;vertical-align:2px;margin-left:8px;font-size:12px;font-weight:700;font-style:normal;letter-spacing:.02em;color:#fff;background:#d4691a;padding:2px 8px;border-radius:999px;white-space:nowrap}
.tc-ver{display:grid;gap:14px;margin:0 0 22px}
@media(min-width:768px){.tc-ver{grid-template-columns:1fr 1fr}}
.tc-ver-c{background:#fff;border:1px solid #dde6ee;border-radius:16px;padding:18px 20px}
.tc-ver-c:last-child{border-color:#f0b98a;background:#fff8f1}
.tc-ver-c .k{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#d4691a}
.tc-ver-c h3{margin:2px 0 10px;font-size:20px;color:#10547c}
.tc-ver-c ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:15px;line-height:1.5}
.tc-dt b .tc-up{display:inline-block;width:auto;margin:0 0 0 8px;font-size:12px;line-height:1.5;color:#fff;vertical-align:2px}
.tc-map .fl{fill:none;stroke:var(--navy);stroke-width:1.6;stroke-dasharray:2 4;stroke-linecap:round}
.tc-rv[data-count="1"] .tc-rv-nav{display:none}
.tc-ov-t,.tc-map{min-width:0}
.tc-hl-img .tc-ai-tag,.tc-day-ph .tc-ai-tag{top:10px;right:10px;font-size:11.5px;padding:2px 8px}
@media(max-width:767px){.tc-hero>.tc-ai-tag{top:auto;bottom:36px;right:14px;font-size:10.5px;line-height:1.5;padding:1px 7px}}
.rel-act{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
