/* Trang chi tiết trip mẫu — bố cục kiểu Viatu */
.tv{--tv-g:#1c4533;--tv-plum:#fd5100;--tv-acc:#fd5100;--tv-ink:#1f2d26;--tv-mute:#5b6b60;--tv-line:#e7dfd0;--tv-card:#fff;--tv-bg:#fbf8f2;--tv-soft:#f3ece0;background:var(--tv-bg);color:var(--tv-ink)}
.dark .tv{--tv-g:#e6eadb;--tv-ink:#e6eadb;--tv-mute:#b3bfa8;--tv-line:#2c3a32;--tv-card:#17221c;--tv-bg:#0f1813;--tv-soft:#1e2b24;--tv-plum:#ff8a50}
.tv img{display:block;width:100%;height:100%;object-fit:cover}
.tv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:3.25rem;padding:0 1.6rem;border-radius:12px;font-weight:600;font-size:1rem;border:0;cursor:pointer;transition:background .2s,color .2s,transform .2s;white-space:nowrap}
.tv-btn--acc{background:var(--tv-acc);color:#fff}.tv-btn--acc:hover{background:#e04800}
.tv-btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.75)}.tv-btn--ghost:hover{background:rgba(255,255,255,.14)}
.tv-btn--plum{background:var(--tv-plum);color:#fff}.tv-btn--light{background:#fff;color:#1c4533}
.tv-btn:focus-visible{outline:3px solid #ffb27a;outline-offset:2px}
/* hero */
.tv-hero{position:relative;min-height:min(78vh,44rem);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center 40%;padding:5rem 1.25rem 6rem}
.tv-hero__in{max-width:62rem}
.tv-badge{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid rgba(255,255,255,.7);border-radius:10px;padding:.45rem .9rem;font-weight:600;font-size:.9rem;backdrop-filter:blur(4px)}
.tv-soon{display:inline-block;margin-left:.5rem;background:#ffb27a;color:#3a1d0b;border-radius:99px;padding:.35rem .8rem;font-size:.8rem;font-weight:700}
.tv-hero h1{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;font-size:clamp(2.8rem,1.6rem + 5vw,5.6rem);line-height:.95;margin:1.25rem 0 .75rem;color:#fff;text-wrap:balance;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.tv-en{font-family:Lora,Georgia,serif;font-style:italic;font-size:clamp(1.05rem,.9rem + .5vw,1.4rem);opacity:.92}
.tv-from{margin-top:.9rem;font-size:1.05rem}.tv-from b{font-size:1.5rem}
.tv-hero__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.6rem}
.tv-see{position:absolute;left:max(1.25rem,4vw);bottom:1.25rem;text-align:left;font-size:.82rem;max-width:60%;opacity:.95}.tv-see b{display:block;font-size:.85rem}
.tv-crumb{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem max(1.25rem,4vw);font-size:.875rem;color:var(--tv-mute);border-bottom:1px solid var(--tv-line)}
.tv-crumb a:hover{color:var(--tv-g)}
/* tổng quan */
.tv-ov{max-width:60rem;margin:4rem auto 3rem;padding:0 1.25rem;text-align:center}
.tv-k{color:#c2410c;font-weight:700;letter-spacing:.14em;font-size:.8rem;text-transform:uppercase}
.tv-lead{font-size:clamp(1.25rem,1rem + 1vw,1.85rem);line-height:1.5;font-weight:500;color:var(--tv-g);margin-top:.9rem;text-wrap:pretty}
.tv-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem 2.5rem;margin-top:2rem;font-size:.95rem;color:var(--tv-mute)}
.tv-facts b{display:block;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:2.2rem;line-height:1.1;color:var(--tv-g)}
.tv-ov blockquote{margin:2.25rem auto 0;max-width:40rem;font-family:Lora,Georgia,serif;font-style:italic;font-size:1.25rem;color:var(--tv-g)}
.tv-ov cite{display:block;margin-top:.5rem;font-family:inherit;font-style:normal;font-size:.9rem;color:var(--tv-mute)}
/* lưới ảnh */
.tv-mos{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:14.5rem 14.5rem;gap:.9rem;padding:0 max(1.25rem,4vw)}
.tv-mos__i{position:relative;border:0;padding:0;border-radius:18px;overflow:hidden;cursor:zoom-in;background:var(--tv-soft)}
.tv-mos__i img{transition:transform .5s ease}.tv-mos__i:hover img{transform:scale(1.04)}
.tv-mos__i span{position:absolute;left:.9rem;bottom:.75rem;color:#fff;font-weight:600;font-size:.88rem;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.tv-mos__i--1{grid-row:span 2}
.tv-mos__all{position:absolute;right:calc(max(1.25rem,4vw) + .9rem);bottom:.9rem;background:#fff;color:#1c4533;border-radius:10px;padding:.45rem .8rem;font-size:.85rem;font-weight:600;pointer-events:none}
@media(max-width:799px){.tv-mos{grid-template-columns:1fr 1fr;grid-template-rows:12rem 8rem 8rem}.tv-mos__i--1{grid-column:span 2;grid-row:auto}}
/* bản đồ */
.tv-mapbox{position:relative;margin:2.5rem max(1.25rem,4vw) 0;height:30rem;border-radius:22px;overflow:hidden;background:#d7e8ec}
.dark .tv-mapbox{background:#163240}
.tv-map__svg{position:absolute;inset:0;width:100%;height:100%}
.tv-map__lbl{font-weight:700;fill:#1c4533;paint-order:stroke;stroke:#efe6d6;font-family:inherit}
.tv-legend{position:absolute;left:1.75rem;top:1.75rem;background:#fff;color:#1f2d26;border-radius:16px;padding:1.25rem 1.4rem;width:20rem;max-width:calc(100% - 3.5rem);box-shadow:0 20px 40px -24px rgba(0,0,0,.45)}
.tv-legend h2{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:1.75rem;color:#1c4533}
.tv-legend ol{list-style:none;margin:.6rem 0 0;padding:0}
.tv-legend li{display:flex;gap:.75rem;padding:.6rem 0;border-top:1px solid #e7dfd0;font-size:.95rem}
.tv-legend li span{width:1.65rem;height:1.65rem;border-radius:50%;background:#fd5100;color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:700;flex:none}
.tv-legend li small{display:block;color:#5b6b60;font-size:.8rem}
.tv-mapbox__btn{position:absolute;right:1.75rem;bottom:1.75rem}
@media(max-width:699px){.tv-mapbox{height:34rem}.tv-legend{top:auto;bottom:1rem;left:1rem;right:1rem;width:auto;max-width:none}.tv-mapbox__btn{display:none}}
/* thanh mục */
.tv-tabs{position:sticky;top:4rem;z-index:20;display:flex;justify-content:center;gap:clamp(1.25rem,4vw,3.5rem);margin-top:3rem;background:var(--tv-bg);border-bottom:1px solid var(--tv-line);overflow-x:auto;scrollbar-width:none;padding:0 1.25rem}
.tv-tabs a{padding:1.05rem 0;color:var(--tv-mute);white-space:nowrap;font-size:1rem}
.tv-tabs a.is-on{color:var(--tv-g);font-weight:600;box-shadow:inset 0 -3px 0 var(--tv-acc)}
/* nội dung */
.tv-body{max-width:64rem;margin:0 auto;padding:0 1.25rem 7rem}
.tv-sec{padding-top:4rem;scroll-margin-top:7.5rem}
.tv-sec>h2{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:clamp(2.2rem,1.7rem + 2vw,3rem);color:var(--tv-g);text-align:center;margin-bottom:2rem}
.tv-stop{margin:2rem 0 0;scroll-margin-top:7.5rem}
.tv-stop__img{height:clamp(14rem,30vw,25rem);border-radius:22px;overflow:hidden;margin:0}
.tv-stop__head{display:flex;gap:1.1rem;align-items:center;margin:1.6rem 0 .5rem}
.tv-num{width:3.25rem;height:3.25rem;border-radius:50%;background:var(--tv-plum);color:#fff;display:grid;place-items:center;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:1.75rem;flex:none}
.tv-stop__head h3{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:2.75rem;line-height:1;color:var(--tv-g)}
.tv-stop__head p{color:var(--tv-mute);font-size:.95rem;margin-top:.25rem}
.tv-sub{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.1rem;color:var(--tv-g);margin-top:1.4rem}
.tv-intro{margin:.6rem 0 0 1.9rem;font-size:1.06rem;line-height:1.7;color:var(--tv-mute)}
.tv-exp{list-style:none;margin:.5rem 0 0 1.9rem;padding:0}
.tv-exp li{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-bottom:1px dashed var(--tv-line)}
.tv-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--tv-acc);flex:none}
.tv-exp div{flex:1;min-width:0}.tv-exp b{font-weight:600}.tv-exp small{display:block;color:var(--tv-mute);font-size:.82rem}
.tv-exp em{font-style:normal;font-size:.75rem;background:var(--tv-soft);padding:.25rem .65rem;border-radius:99px;white-space:nowrap}
.tv-exp a{color:#c2410c;font-weight:600;font-size:.88rem;white-space:nowrap}.tv-exp a:hover{text-decoration:underline}
.tv-stay{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:center;margin:1.75rem 0 0 1.9rem;padding-top:1.6rem;border-top:1px solid var(--tv-line)}
.tv-stay--noimg{grid-template-columns:1fr}
.tv-stay small{display:inline-flex;align-items:center;gap:.4rem;color:var(--tv-mute);font-size:.85rem}
.tv-stay h5{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:2rem;line-height:1.05;color:var(--tv-g);margin:.2rem 0 .4rem}
.tv-stay p{color:var(--tv-mute);font-size:.95rem}
.tv-stay figure{height:15rem;border-radius:18px;overflow:hidden;margin:0}
@media(max-width:699px){.tv-stay{grid-template-columns:1fr;margin-left:0}.tv-intro,.tv-exp{margin-left:0}.tv-exp li{flex-wrap:wrap}.tv-stop__head h3{font-size:2.2rem}}
.tv-move{display:flex;gap:1rem;align-items:center;margin:2.25rem 0;padding:1.05rem 1.35rem;border:1px solid var(--tv-line);border-radius:16px;background:var(--tv-card)}
.tv-move__ic{width:2.75rem;height:2.75rem;border-radius:12px;background:var(--tv-soft);color:var(--tv-plum);display:grid;place-items:center;flex:none}
.tv-move b{font-weight:600}.tv-move small{display:block;color:var(--tv-mute);font-size:.88rem}
.tv-inc{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:699px){.tv-inc{grid-template-columns:1fr}}
.tv-inc>div{background:var(--tv-card);border:1px solid var(--tv-line);border-radius:18px;padding:1.6rem}
.tv-inc h3{font-size:1.15rem;color:var(--tv-g);margin-bottom:.6rem;font-weight:700}
.tv-inc ul{list-style:none;margin:0;padding:0}.tv-inc li{position:relative;padding:.45rem 0 .45rem 1.6rem}
.tv-inc__y li::before{content:"✓";position:absolute;left:0;color:#2f7a4f;font-weight:700}
.tv-inc__n li::before{content:"✕";position:absolute;left:0;color:#c2410c;font-weight:700}
.tv-legend2{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:1.25rem;color:var(--tv-mute)}
.tv-legend2 i{font-style:normal;color:var(--tv-acc);letter-spacing:2px}
.tv-months{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}
@media(max-width:699px){.tv-months{grid-template-columns:repeat(3,1fr)}}
.tv-m{border-radius:14px;padding:.85rem .5rem;background:var(--tv-card);border:1.5px solid var(--tv-line);text-align:center;cursor:pointer;color:inherit;font:inherit;transition:border-color .2s,transform .2s}
.tv-m:hover{transform:translateY(-2px)}
.tv-m b{display:block;font-size:.92rem}.tv-stars{display:block;color:var(--tv-acc);letter-spacing:2px;margin:.2rem 0}
.tv-m small{color:var(--tv-mute);font-size:.75rem}.tv-m strong{display:block;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:1.5rem;color:var(--tv-g)}
.tv-m--ly{background:#fff1e6;border-color:#f5c7a6}.dark .tv-m--ly{background:#3a2216;border-color:#6b3a20}
.tv-m[aria-pressed="true"]{border-color:var(--tv-plum);box-shadow:0 0 0 2px var(--tv-plum)}
.tv-m:focus-visible{outline:3px solid var(--tv-acc);outline-offset:2px}
.tv-note{margin-top:.9rem;text-align:center;color:var(--tv-mute);font-size:.9rem}
.tv-faq{background:var(--tv-card);border:1px solid var(--tv-line);border-radius:14px;padding:1.1rem 1.35rem;margin-bottom:.65rem}
.tv-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-weight:600;font-size:1.05rem;color:var(--tv-g)}
.tv-faq summary::-webkit-details-marker{display:none}
.tv-faq summary span::before{content:"+";font-size:1.4rem;line-height:1;color:var(--tv-acc)}
.tv-faq[open] summary span::before{content:"–"}
.tv-faq p{margin-top:.6rem;color:var(--tv-mute);line-height:1.6}
.tv-cur{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;background:#1c4533;color:#fff;border-radius:22px;padding:1.75rem 2rem;margin-top:2rem}
.tv-cur__av{width:4rem;height:4rem;border-radius:50%;background:var(--tv-acc);display:grid;place-items:center;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:1.5rem;flex:none}
.tv-cur b{font-size:1.2rem}.tv-cur p{opacity:.85;margin-top:.2rem}.tv-cur .tv-btn{margin-left:auto}
.tv-credit{margin-top:3rem;font-size:.78rem;color:var(--tv-mute)}.tv-credit a{text-decoration:underline}
/* thanh đặt chỗ */
.tv-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--tv-card);border-top:1px solid var(--tv-line);box-shadow:0 -10px 30px -20px rgba(0,0,0,.35);transform:translateY(110%);transition:transform .3s ease}
.tv-bar.is-on{transform:none}
.tv-bar__in{display:flex;align-items:center;gap:1.5rem;max-width:90rem;margin:0 auto;padding:.8rem max(1.25rem,4vw)}
.tv-bar__t{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:1.5rem;color:var(--tv-g);margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tv-bar__p{color:var(--tv-mute);white-space:nowrap}.tv-bar__p b{font-size:1.5rem;color:var(--tv-g)}
.tv-bar__p span{display:block;font-size:.78rem}
@media(max-width:699px){.tv-bar__t{display:none}.tv-bar__in{gap:.75rem}.tv-bar .tv-btn{flex:1;padding:0 1rem}}
body:has(.tv-bar.is-on) .lp-app{bottom:6rem}
@media(prefers-reduced-motion:reduce){.tv-bar,.tv-mos__i img,.tv-m{transition:none}}
.tv-mapbox{height:clamp(26rem,34vw,34rem)}
.tv-legend .tv-mapbox__btn{position:static;display:flex;width:100%;height:2.75rem;margin-top:.8rem;font-size:.92rem}
@media(max-width:699px){.tv-mapbox{height:auto;display:flex;flex-direction:column}.tv-map__svg{position:relative;height:20rem;flex:none}
 .tv-legend{position:relative;inset:auto;left:auto;top:auto;bottom:auto;margin:0 1rem 1rem;width:auto;max-width:none}.tv-legend .tv-mapbox__btn{display:flex}}
/* dải ảnh chạy ngang kiểu Viatu: cột 1 ảnh hoặc 2 ảnh xếp chồng, chạy liên tục */
.tv-tk{position:relative;overflow:hidden;padding:1rem 0 4.25rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.tv-tk__track{display:flex;align-items:flex-start;gap:1.5rem;width:max-content;margin:0;padding:0 0 0 1.5rem;list-style:none;animation:tv-tick 40s linear infinite}
.tv-tk.is-paused .tv-tk__track{animation-play-state:paused}
@keyframes tv-tick{to{transform:translateX(-50%)}}
.tv-tk__c{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}
.tv-tk__c--1{padding-top:1.75rem}.tv-tk__c--3{padding-top:1.75rem}.tv-tk__c--5{padding-top:7.5rem}.tv-tk__c--6{padding-top:4rem}
.tv-tk__c--3,.tv-tk__c--6{align-items:flex-end}
.tv-tk__b{position:relative;display:block;flex:none;border:0;padding:0;border-radius:20px;overflow:hidden;cursor:zoom-in;background:var(--tv-soft);box-shadow:0 14px 30px -20px rgba(0,0,0,.45)}
.tv-tk__b--s{width:11rem;height:11rem}.tv-tk__b--b{width:16rem;height:16rem}
.tv-tk__b:focus-visible{outline:3px solid var(--tv-acc);outline-offset:3px}
.tv-tk__b img{transition:transform .6s ease}.tv-tk__b:hover img{transform:scale(1.06)}
.tv-tk__b span{position:absolute;left:.85rem;right:.85rem;bottom:.7rem;color:#fff;font-weight:600;font-size:.82rem;text-align:left;text-shadow:0 1px 6px rgba(0,0,0,.8);opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}
.tv-tk__b:hover span,.tv-tk__b:focus-visible span{opacity:1;transform:none}
.tv-tk .tv-mos__all{position:absolute;left:calc(max(1.25rem,4vw) + 7.5rem);right:auto;bottom:1rem;border:0;cursor:pointer;pointer-events:auto;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.tv-tk__pause{position:absolute;left:max(1.25rem,4vw);bottom:1rem;background:#fff;color:#1c4533;border:0;border-radius:10px;padding:.45rem .8rem;font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
@media(max-width:699px){.tv-tk__b--s{width:8rem;height:8rem}.tv-tk__b--b{width:11.5rem;height:11.5rem}.tv-tk__track,.tv-tk__c{gap:1rem}.tv-tk__track{animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.tv-tk{overflow-x:auto}.tv-tk__track{animation:none}.tv-tk__pause{display:none}}
/* ảnh lớn: căn giữa màn hình */
.tv~* .lt-lightbox,.tv .lt-lightbox{position:fixed;inset:0;margin:auto;height:fit-content;max-height:96vh}
.tv .lt-lightbox figcaption{color:#e6eadb}
.tv .lt-lb-nav{display:flex;justify-content:center;gap:.6rem;margin-top:.8rem}
/* Bản đồ trip mẫu: nền xanh lá đậm, đất be cam, lộ trình cam (giống bản đồ Localis Trip) */
.tv-mapbox,.dark .tv-mapbox{background:#24503d}
.tv-map__svg>path:first-of-type{fill:#efd3b6;stroke:#c9a27d}
.tv-map__svg>path:nth-of-type(2){stroke:#fd5100;stroke-dasharray:none}
.tv-map__svg circle{fill:#fd5100}
.tv-map__lbl{fill:#fff;stroke:#1c4533}
.tv-legend li span{background:#fd5100}
.tv-tk__pause,.tv-tk .tv-mos__all{display:none!important}.tv-tk{padding-bottom:1.5rem}
.tv-btn--plum:hover{background:#e04800}

/* Câu trả lời Hỏi đáp nhỏ hơn câu hỏi */
.tv-faq p{font-size:.92rem;line-height:1.6}
.tv-faq summary{font-size:1.05rem}
.tv-lead{font-size:clamp(1.05rem,.95rem + .45vw,1.3rem);line-height:1.65;font-style:italic;font-weight:400;max-width:52rem;margin-left:auto;margin-right:auto}

/* Số liệu trip — một hàng gọn trên mobile */
@media(max-width:639px){
  .tv-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:1.75rem;padding:.9rem 0;border-top:1px solid var(--line,rgba(28,69,51,.15));border-bottom:1px solid var(--line,rgba(28,69,51,.15));font-size:.7rem;line-height:1.3}
  .tv-facts>div{padding:0 .35rem;text-wrap:balance}
  .tv-facts>div+div{border-left:1px solid var(--line,rgba(28,69,51,.15))}
  .tv-facts b{font-size:1.9rem;line-height:1;margin-bottom:.3rem}
}
