/* ============================================================
   Tripsorb — Tours marketplace styles (v0.221.0)
   Token-only (var(--ts-*)) so the shared dark/light engine remaps
   every surface. No hardcoded colours (ORB dark-mode discipline).
   Prefix: .t-  to avoid collisions with Experiences listing styles.
   ============================================================ */

/* hero -------------------------------------------------------- */
.t-hero{
  border-radius:var(--r-xl);
  margin-top:var(--sp-8);
  padding:64px 48px 28px;
  color:var(--ts-white);
  background-image:linear-gradient(90deg,rgba(20,33,61,.82),rgba(20,33,61,.34)),linear-gradient(120deg,#ff8a5b,#c0394f 55%,#2d7f9c);
  background-size:cover;background-position:center;
}
.t-hero h1{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-6xl);line-height:1.08;margin:0 0 var(--sp-14);color:var(--ts-white)}
.t-hero h1 .c{color:#ffd0bf}
.t-hero .sub{font-size:var(--fs-lg);color:rgba(255,255,255,.9);margin:0 0 var(--sp-24);max-width:540px}

.t-search{
  background:var(--ts-surface);border-radius:var(--r-lg);padding:var(--sp-10);
  display:flex;gap:var(--sp-6);align-items:stretch;flex-wrap:wrap;
  box-shadow:0 24px 60px -24px rgba(20,33,61,.55);max-width:940px;
}
.t-sf{flex:1 1 150px;padding:var(--sp-8) var(--sp-14);border-right:1px solid var(--ts-line);min-width:0}
.t-sf:last-of-type{border-right:none}
.t-sf .lb{font-size:var(--fs-2xs);font-weight:800;color:var(--ts-slate);text-transform:uppercase;letter-spacing:.4px}
.t-sf .vl{font-size:var(--fs-base);color:var(--ts-ink);font-weight:600;margin-top:3px;display:flex;align-items:center;gap:var(--sp-6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-sf .vl i{color:var(--ts-coral)}
.t-sf input,.t-sf select{border:none;background:transparent;font:inherit;font-weight:600;color:var(--ts-ink);width:100%;padding:0;outline:none}
.t-search .go{background:var(--ts-grad);color:var(--ts-white);border:none;border-radius:var(--r-md);padding:0 var(--sp-24);font-weight:800;font-size:var(--fs-md);display:flex;align-items:center;gap:var(--sp-8);cursor:pointer}
.t-search .ai{background:var(--ts-coral-50);color:#7b3ff2;border:none;border-radius:var(--r-md);padding:0 var(--sp-18);font-weight:800;font-size:var(--fs-base);display:flex;align-items:center;gap:var(--sp-6);cursor:pointer;text-decoration:none}
.t-chips{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-top:var(--sp-18);align-items:center}
.t-chips .lbl{color:rgba(255,255,255,.85);font-size:var(--fs-sm);font-weight:700;margin-right:2px}
.t-chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);color:var(--ts-white);border-radius:var(--r-pill);padding:5px 13px;font-size:var(--fs-xs);font-weight:600;text-decoration:none}
.t-chip:hover{background:rgba(255,255,255,.26)}

/* stats ------------------------------------------------------- */
.t-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-14);margin:var(--sp-24) 0 var(--sp-6)}
.t-stat{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--r-lg);padding:var(--sp-18) var(--sp-14);text-align:center;box-shadow:0 10px 24px -20px rgba(20,33,61,.4)}
.t-stat .ic{width:42px;height:42px;border-radius:var(--r-md);background:var(--ts-coral-50);color:var(--ts-coral);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-2xl)}
.t-stat .n{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-4xl);margin-top:var(--sp-8);color:var(--ts-ink)}
.t-stat .l{color:var(--ts-slate);font-size:var(--fs-xs);font-weight:600}

/* section head ------------------------------------------------ */
.t-shead{display:flex;align-items:baseline;justify-content:space-between;margin:var(--sp-32) 0 var(--sp-16);gap:var(--sp-12)}
.t-shead h2{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-4xl);margin:0;color:var(--ts-ink)}
.t-shead a{color:var(--ts-coral);font-weight:700;font-size:var(--fs-sm);text-decoration:none;display:flex;align-items:center;gap:var(--sp-4);white-space:nowrap}

/* category cards --------------------------------------------- */
.t-cats{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--sp-12)}
.t-cat{text-decoration:none;color:inherit}
.t-cat .img{height:120px;border-radius:var(--r-lg);background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden}
.t-cat .img i{font-size:26px;color:var(--ts-white);margin:0 auto var(--sp-8) var(--sp-10);filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}
.t-cat .n{font-weight:800;font-size:var(--fs-sm);margin-top:var(--sp-8);color:var(--ts-ink)}
.t-cat .c{color:var(--ts-slate);font-size:var(--fs-xs);font-weight:600}

/* destination / tour cards ----------------------------------- */
.t-dests{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-14)}
.t-dest{text-decoration:none;color:inherit;background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 12px 30px -22px rgba(20,33,61,.5)}
.t-dest .img{height:128px;background-size:cover;background-position:center;position:relative}
.t-dest .badge{position:absolute;left:10px;top:10px;background:var(--ts-surface);color:var(--ts-coral);font-size:var(--fs-2xs);font-weight:800;padding:3px 9px;border-radius:var(--r-pill)}
.t-dest .b{padding:var(--sp-12) var(--sp-14) var(--sp-14)}
.t-dest .n{font-weight:800;font-size:var(--fs-lg);color:var(--ts-ink)}
.t-dest .m{color:var(--ts-slate);font-size:var(--fs-sm);font-weight:600;margin-top:2px}
.t-dest .m b{color:var(--ts-ink)}
.t-dest .r{margin-top:var(--sp-6);font-size:var(--fs-xs);font-weight:800;color:var(--ts-amber);display:flex;align-items:center;gap:var(--sp-4)}
.t-dest .r span{color:var(--ts-slate);font-weight:600}

/* AI planner band -------------------------------------------- */
.t-ai{margin:var(--sp-40) 0 56px;border-radius:var(--r-xl);padding:var(--sp-32) var(--sp-40);color:var(--ts-white);background-image:linear-gradient(120deg,#2a1a4a,#4a2a6a);overflow:hidden}
.t-ai h2{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-5xl);margin:0 0 var(--sp-6);color:var(--ts-white)}
.t-ai p{color:rgba(255,255,255,.82);margin:0 0 var(--sp-18);font-size:var(--fs-md)}
.t-ai .row{display:flex;gap:var(--sp-10);max-width:720px;flex-wrap:wrap}
.t-ai .row input{flex:1 1 320px;border:none;border-radius:var(--r-md);padding:14px 16px;font:inherit;font-size:var(--fs-base)}
.t-ai .row button{background:var(--ts-grad);color:var(--ts-white);border:none;border-radius:var(--r-md);padding:0 24px;font-weight:800;cursor:pointer}
.t-ai .feats{display:flex;gap:var(--sp-24);margin-top:var(--sp-16);color:rgba(255,255,255,.85);font-size:var(--fs-xs);font-weight:600;flex-wrap:wrap}
.t-ai .feats span{display:flex;align-items:center;gap:var(--sp-6)}

/* responsive -------------------------------------------------- */
@media(max-width:1100px){
  .t-cats{grid-template-columns:repeat(4,1fr)}
  .t-dests{grid-template-columns:repeat(3,1fr)}
  .t-stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .t-hero{padding:40px 22px 22px;border-radius:var(--r-lg)}
  .t-hero h1{font-size:var(--fs-5xl)}
  .t-search{flex-direction:column;gap:0;padding:var(--sp-8)}
  .t-sf{border-right:none;border-bottom:1px solid var(--ts-line);flex-basis:auto}
  .t-search .go,.t-search .ai{padding:12px;justify-content:center;margin-top:var(--sp-8)}
  .t-cats{grid-template-columns:repeat(2,1fr)}
  .t-dests{grid-template-columns:repeat(2,1fr)}
  .t-stats{grid-template-columns:repeat(2,1fr)}
  .t-ai{padding:var(--sp-24) var(--sp-20)}
}

/* ============================================================
   Tours — Listing / search page (Phase 3)
   ============================================================ */
.tl-head{margin:var(--sp-8) 0 var(--sp-14)}
.tl-head h1{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-5xl);margin:0 0 var(--sp-4);color:var(--ts-ink)}
.tl-head p{color:var(--ts-slate);margin:0;font-size:var(--fs-base)}

.tl-grid{display:grid;grid-template-columns:250px 1fr;gap:var(--sp-24);align-items:start;padding-bottom:56px}

.tl-side{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--r-lg);padding:var(--sp-16) var(--sp-16) var(--sp-8);box-shadow:0 12px 30px -24px rgba(20,33,61,.5);position:sticky;top:16px}
.tl-side .sh{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-10)}
.tl-side .sh b{font-size:var(--fs-md);color:var(--ts-ink);display:flex;align-items:center;gap:var(--sp-6)}
.tl-side .sh a{color:var(--ts-coral);font-size:var(--fs-xs);font-weight:700;text-decoration:none}
.tl-fg{border-top:1px solid var(--ts-line);padding:var(--sp-12) 0}
.tl-fg .ft{font-weight:800;font-size:var(--fs-sm);color:var(--ts-ink);margin-bottom:var(--sp-8)}
.tl-search-in{width:100%;border:1px solid var(--ts-line);border-radius:var(--r-sm);padding:7px 10px;font-size:var(--fs-xs);margin-bottom:var(--sp-8);background:var(--ts-surface);color:var(--ts-ink)}
.tl-chk{display:flex;align-items:center;gap:var(--sp-8);padding:var(--sp-4) 0;font-size:var(--fs-sm);color:var(--ts-ink-700);cursor:pointer}
.tl-chk input{accent-color:var(--ts-coral);width:15px;height:15px}
.tl-chk .cnt{margin-left:auto;color:var(--ts-slate);font-size:var(--fs-2xs);font-weight:700}
.tl-more{color:var(--ts-coral);font-size:var(--fs-xs);font-weight:700;cursor:pointer;background:none;border:none;padding:var(--sp-4) 0}

/* dual-range slider */
.tl-slider{position:relative;height:26px;margin:var(--sp-8) 4px 0}
.tl-slider .track{position:absolute;top:11px;left:0;right:0;height:4px;border-radius:4px;background:var(--ts-line)}
.tl-slider .fill{position:absolute;top:11px;height:4px;border-radius:4px;background:var(--ts-grad)}
.tl-slider input[type=range]{position:absolute;top:0;left:0;width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;height:26px}
.tl-slider input[type=range]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ts-surface);border:3px solid var(--ts-coral);cursor:pointer;margin-top:0}
.tl-slider input[type=range]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--ts-surface);border:3px solid var(--ts-coral);cursor:pointer}
.tl-rrange{display:flex;justify-content:space-between;font-size:var(--fs-2xs);color:var(--ts-slate);margin-top:2px}

.tl-rtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-14);gap:var(--sp-12);flex-wrap:wrap}
.tl-rtop .cnt{font-size:var(--fs-sm);color:var(--ts-ink-700);font-weight:600}.tl-rtop .cnt b{color:var(--ts-ink)}
.tl-sort{font-size:var(--fs-sm);color:var(--ts-ink-700);font-weight:600;display:flex;align-items:center;gap:var(--sp-6)}
.tl-sort select{border:1px solid var(--ts-line);border-radius:var(--r-sm);padding:6px 10px;font:inherit;font-weight:700;color:var(--ts-ink);background:var(--ts-surface)}

.tl-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-16)}
.rc{text-decoration:none;color:inherit;background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 14px 34px -24px rgba(20,33,61,.55);transition:transform .15s,box-shadow .15s}
.rc:hover{transform:translateY(-2px);box-shadow:0 20px 44px -22px rgba(20,33,61,.6)}
.rc .img{height:170px;background-size:cover;background-position:center;position:relative}
.rc .badge{position:absolute;left:11px;top:11px;color:var(--ts-white);font-size:var(--fs-2xs);font-weight:800;padding:4px 10px;border-radius:var(--r-pill)}
.rc .badge.best{background:var(--ts-coral)}.rc .badge.top{background:var(--ts-lagoon-600)}.rc .badge.new{background:#2d7f9c}.rc .badge.pop{background:#7b3ff2}
.rc .heart{position:absolute;right:11px;top:11px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ts-coral);display:flex;align-items:center;justify-content:center}
.rc .days{position:absolute;left:11px;bottom:11px;background:rgba(20,33,61,.72);color:var(--ts-white);font-size:var(--fs-2xs);font-weight:700;padding:4px 10px;border-radius:var(--r-pill);display:flex;align-items:center;gap:5px}
.rc .b{padding:var(--sp-12) var(--sp-14) var(--sp-14)}
.rc .t{font-weight:800;font-size:var(--fs-md);color:var(--ts-ink)}
.rc .loc{color:var(--ts-slate);font-size:var(--fs-xs);font-weight:600;margin-top:3px;display:flex;align-items:center;gap:4px}
.rc .f{display:flex;justify-content:space-between;align-items:flex-end;margin-top:var(--sp-10)}
.rc .r{font-size:var(--fs-xs);font-weight:800;color:var(--ts-amber);display:flex;align-items:center;gap:4px}.rc .r span{color:var(--ts-slate);font-weight:600}
.rc .p{text-align:right;color:var(--ts-slate);font-size:var(--fs-2xs);font-weight:600}.rc .p b{display:block;color:var(--ts-coral);font-size:var(--fs-xl)}

.tl-pag{display:flex;gap:var(--sp-6);justify-content:center;margin-top:var(--sp-24);flex-wrap:wrap}
.tl-pag a,.tl-pag span{min-width:34px;height:34px;border-radius:var(--r-sm);border:1px solid var(--ts-line);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ts-ink-700);font-weight:700;font-size:var(--fs-sm);background:var(--ts-surface);padding:0 8px}
.tl-pag a.on{background:var(--ts-grad);color:var(--ts-white);border:none}
.tl-pag span.gap{border:none;background:none}

.tl-empty{grid-column:1 / -1;text-align:center;padding:50px 0;color:var(--ts-slate)}

.tl-fbtn{display:none}
@media(max-width:900px){
  .tl-grid{grid-template-columns:1fr}
  .tl-side{position:static;display:none}
  .tl-side.open{display:block}
  .tl-fbtn{display:inline-flex;align-items:center;gap:6px;background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--r-md);padding:9px 14px;font-weight:700;color:var(--ts-ink);margin-bottom:var(--sp-12);cursor:pointer}
  .tl-cards{grid-template-columns:1fr}
}

/* ============================================================
   Tours — Detail page (Phase 4)
   ============================================================ */
.td-crumb{font-size:var(--fs-xs);color:var(--ts-slate);font-weight:600;margin:var(--sp-6) 0 var(--sp-12);display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}
.td-crumb a{color:var(--ts-slate);text-decoration:none}.td-crumb .on{color:var(--ts-coral)}
.td-crumb .actions{margin-left:auto;display:flex;gap:var(--sp-8)}
.td-crumb .actions a{border:1px solid var(--ts-line);border-radius:var(--r-sm);padding:5px 12px;color:var(--ts-ink-700);text-decoration:none;font-size:var(--fs-xs);display:flex;align-items:center;gap:5px}

.td-top{display:grid;grid-template-columns:1fr 340px;gap:var(--sp-24);align-items:start}
.td-gallery .main{height:360px;border-radius:var(--r-xl);background-size:cover;background-position:center;position:relative}
.td-gallery .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ts-coral);display:flex;align-items:center;justify-content:center;font-size:26px;text-decoration:none}
.td-gallery .gnav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;color:var(--ts-ink);border:none;cursor:pointer}
.td-gallery .gnav.l{left:12px}.td-gallery .gnav.r{right:12px}
.td-thumbs{display:flex;gap:var(--sp-10);margin-top:var(--sp-10)}
.td-thumbs .th{flex:1;height:64px;border-radius:var(--r-md);background-size:cover;background-position:center;cursor:pointer;border:2px solid transparent}
.td-thumbs .th.on{border-color:var(--ts-coral)}

.td-title{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-5xl);margin:var(--sp-18) 0 var(--sp-6);color:var(--ts-ink)}
.td-meta{color:var(--ts-ink-700);font-size:var(--fs-sm);font-weight:600;display:flex;gap:var(--sp-16);flex-wrap:wrap;align-items:center}
.td-meta i{color:var(--ts-coral)}.td-meta .r{color:var(--ts-amber)}
.td-badges{display:flex;gap:var(--sp-10);margin:var(--sp-14) 0 4px;flex-wrap:wrap}
.td-bd{font-size:var(--fs-xs);font-weight:800;padding:6px 13px;border-radius:var(--r-pill);display:flex;align-items:center;gap:var(--sp-6)}
.td-bd.best{background:var(--ts-coral);color:#fff}.td-bd.inst{background:var(--ts-lagoon-50);color:var(--ts-lagoon-600)}.td-bd.free{background:#eef3ff;color:#2d7f9c}

.td-sec{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--r-lg);padding:var(--sp-20) var(--sp-24);margin-top:var(--sp-16);box-shadow:0 12px 30px -26px rgba(20,33,61,.5)}
.td-sec h2{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-2xl);margin:0 0 var(--sp-10);color:var(--ts-ink)}
.td-sec p{color:var(--ts-ink-700);font-size:var(--fs-base);line-height:1.65;margin:0}

.td-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-12);margin-top:var(--sp-14)}
.td-fact{display:flex;gap:var(--sp-10);align-items:center;background:var(--ts-sand);border-radius:var(--r-md);padding:var(--sp-12)}
.td-fact .ic{width:38px;height:38px;border-radius:var(--r-md);background:var(--ts-surface);color:var(--ts-coral);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.td-fact .l{font-size:var(--fs-2xs);color:var(--ts-slate);font-weight:700}.td-fact .v{font-size:var(--fs-sm);font-weight:800;color:var(--ts-ink)}

.td-day{display:flex;gap:var(--sp-14);padding-bottom:var(--sp-16);position:relative}
.td-day:not(:last-child)::before{content:'';position:absolute;left:26px;top:36px;bottom:0;width:2px;background:var(--ts-line)}
.td-day .n{flex:none;width:54px;height:54px;border-radius:50%;background:var(--ts-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:var(--fs-2xs);text-align:center;line-height:1.1}
.td-day .t{font-weight:800;font-size:var(--fs-md);color:var(--ts-ink)}
.td-day .x{color:var(--ts-slate);font-size:var(--fs-sm);margin-top:3px;line-height:1.55}
.td-day .x .slot{display:block}.td-day .x .slot b{color:var(--ts-ink-700);min-width:74px;display:inline-block}

.td-inc2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-24)}
.td-inc h3{font-size:var(--fs-base);margin:0 0 var(--sp-10);color:var(--ts-ink);display:flex;align-items:center;gap:6px}
.td-inc ul{list-style:none;padding:0;margin:0}
.td-inc li{display:flex;gap:9px;align-items:flex-start;padding:5px 0;font-size:var(--fs-sm);color:var(--ts-ink-700)}
.td-inc .g{color:var(--ts-lagoon-600)}.td-inc .rr{color:var(--ts-coral)}

.td-help{background:linear-gradient(120deg,var(--ts-coral-50),#ffe9df);border:1px solid #ffd9cd}
.ts-theme[data-theme="dark"] .td-help{background:var(--ts-surface);border-color:var(--ts-line)}
.td-related{margin-top:var(--sp-24);padding-top:var(--sp-20);border-top:1px solid var(--ts-line)}
.td-related>h2{font-family:var(--font-disp);font-weight:500;margin:0 0 var(--sp-14)}
.td-rel-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.td-rel-scroll>*{flex:none;width:290px;scroll-snap-align:start}
.td-op{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.td-op-av{width:60px;height:60px;border-radius:50%;background:var(--ts-grad);background-size:cover;background-position:center;color:#fff;display:grid;place-items:center;font-family:var(--font-disp);font-weight:600;font-size:23px;flex:none}
.td-op-main{flex:1;min-width:180px}
.td-op-nm{font-weight:800;font-size:17px;color:var(--ts-ink);display:flex;align-items:center;gap:6px}
.td-op-stats{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:5px;color:var(--ts-slate);font-size:13px}
.td-op-stats span{display:inline-flex;align-items:center;gap:5px}
.td-op-stats i{color:var(--ts-amber);font-size:14px}
.td-op-btn{flex:none;padding:10px 18px;border:1px solid var(--ts-line);border-radius:var(--r-md);font-weight:700;color:var(--ts-ink);text-decoration:none;background:var(--ts-white)}
.td-op-btn:hover{border-color:var(--ts-coral);color:var(--ts-coral)}
.td-op-trust{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ts-line)}
.td-op-trust span{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ts-slate);font-weight:600}
.td-op-trust i{color:var(--ts-lagoon-600);font-size:16px}
.td-help .row{display:flex;align-items:center;gap:var(--sp-14);flex-wrap:wrap}
.td-help .row p{flex:1;min-width:240px}
.td-help .cta{background:var(--ts-grad);color:var(--ts-white);border:none;border-radius:var(--r-md);padding:11px 20px;font-weight:800;display:flex;align-items:center;gap:8px;text-decoration:none}

/* booking card */
.td-book{background:var(--ts-surface);border:1px solid var(--ts-line);border-radius:var(--r-xl);padding:var(--sp-20);box-shadow:0 22px 50px -26px rgba(20,33,61,.55);position:sticky;top:16px}
.td-book .from{color:var(--ts-slate);font-size:var(--fs-xs);font-weight:700;text-align:right}
.td-book .price{font-family:var(--font-disp);font-weight:600;font-size:var(--fs-6xl);text-align:right;line-height:1;color:var(--ts-ink)}
.td-book .pp{text-align:right;color:var(--ts-slate);font-size:var(--fs-xs);margin-bottom:var(--sp-14)}
.td-bbtn{display:block;width:100%;text-align:center;border:none;border-radius:var(--r-md);padding:13px;font-weight:800;font-size:var(--fs-md);cursor:pointer;text-decoration:none;margin-bottom:9px}
.td-bbtn.book{background:var(--ts-grad);color:var(--ts-white)}
.td-bbtn.req{background:var(--ts-surface);color:var(--ts-coral);border:1.5px solid var(--ts-coral)}
.td-brow{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--ts-ink-700);padding:7px 0;border-top:1px solid var(--ts-line)}
.td-brow b{font-weight:700;color:var(--ts-ink)}
.td-note{text-align:center;color:var(--ts-slate);font-size:var(--fs-xs);margin-top:var(--sp-8)}
.td-form{margin-top:var(--sp-12);border-top:1px solid var(--ts-line);padding-top:var(--sp-12)}
.td-form.hide{display:none}
.td-form label{display:block;font-size:var(--fs-xs);font-weight:700;margin:var(--sp-8) 0 3px;color:var(--ts-ink-700)}
.td-form input,.td-form textarea,.td-form select{width:100%;padding:9px 10px;border:1px solid var(--ts-line);border-radius:var(--r-sm);font:inherit;background:var(--ts-surface);color:var(--ts-ink);box-sizing:border-box}
.td-form .two{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8)}
.td-ptier{display:flex;justify-content:space-between;font-size:var(--fs-sm);padding:5px 0;border-bottom:1px dashed var(--ts-line);color:var(--ts-ink-700)}

@media(max-width:900px){
  .td-top{grid-template-columns:1fr}
  .td-book{position:static}
  .td-facts{grid-template-columns:1fr 1fr}
  .td-inc2{grid-template-columns:1fr}
}
