/* KTP trip tools: selector, shortlist tray, comparison, enquiry carry-over, proof module. Uses the storefront tokens; restrained motion. */
.tt,.tt-tray,.tt-proof,.tt-carried,.tt-picked{--r:#7A2E1E;--rd:#5E2216;--pine:#2F4B3F;--gold:#C8912F;--paper:#FBF7F2;--sand:#F3EBE0;--ink:#1F1E1D;--mut:#5C5751;--bd:#E6DDD1;font-family:Inter,system-ui,sans-serif;color:var(--ink)}
.tt *{box-sizing:border-box}
.tt [hidden],.tt-tray[hidden],.tt-carried[hidden],.tt-picked[hidden]{display:none!important}
.tt-finder{padding:44px 0;background:var(--sand)}
.tt-finder__head{max-width:760px;margin-bottom:18px}
.tt-eyebrow{margin:0 0 6px;font:600 12px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--r)}
.tt-h2{font:600 clamp(24px,3vw,34px)/1.2 Fraunces,Georgia,serif;margin:0 0 8px}
.tt-h3{font:600 clamp(20px,2.4vw,26px)/1.25 Fraunces,Georgia,serif;margin:0 0 8px}
.tt-h3:focus{outline:none}.tt-h3:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.tt-sub{margin:0;color:var(--mut);max-width:680px}
.tt-form{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:20px;max-width:860px;box-shadow:0 1px 2px rgba(31,30,29,.04)}
.tt-prog{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--mut)}
.tt-step{border:0;margin:0;padding:0;min-width:0}
.tt-step legend{font:600 20px/1.25 Fraunces,Georgia,serif;padding:0;margin:0 0 14px}
.tt-step legend:focus{outline:none}.tt-step legend:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.tt-opt{font:400 14px/1 Inter,sans-serif;color:var(--mut)}
.tt-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.tt-grid--2{grid-template-columns:1fr 1fr;margin-top:16px}
.tt-grid--3{grid-template-columns:1.3fr 1fr 1.4fr}
.tt-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.tt-field label,.tt-lbl,.tt-lbl2{font-size:14px;font-weight:600}
.tt-lbl{margin:16px 0 8px}
.tt-field input,.tt-field select{min-height:48px;padding:0 12px;border:1.5px solid #CDBFAE;border-radius:12px;background:#fff;font:400 16px/1.2 Inter,sans-serif;color:var(--ink);width:100%}
.tt-field input:focus,.tt-field select:focus,.tt-chip input:focus-visible+span,.tt-check input:focus-visible,.tt-radios input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.tt-field small,.tt-hint{font-size:13px;color:var(--mut);margin:0}
.tt-hint{margin-top:10px}
.tt-chips{display:flex;flex-wrap:wrap;gap:8px}
.tt-chip{position:relative;display:inline-flex}
.tt-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tt-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid #CDBFAE;border-radius:999px;background:#fff;font-size:15px;font-weight:500}
.tt-chip input:checked+span{background:var(--r);border-color:var(--r);color:#fff}
.tt-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:14px}
.tt-check input{width:20px;height:20px;margin-top:2px;flex:none}
.tt-radios{display:flex;flex-wrap:wrap;gap:6px 16px;min-height:48px;align-items:center}
.tt-radios label{display:inline-flex;gap:8px;align-items:center;font-weight:500;font-size:15px}
.tt-radios input{width:20px;height:20px}
.tt-budget{margin-top:6px;padding-top:4px;border-top:1px solid var(--bd)}
.tt-err{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#FBEFEC;color:#7A2E1E;font-weight:600;font-size:14px}
.tt-nav{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.tt-nav .bk-btn{min-width:130px}
.tt-link{background:none;border:0;padding:0;font:600 14px/1.3 Inter,sans-serif;color:var(--r);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tt-link:hover{color:var(--rd)}
.tt-link:focus-visible,.bk-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* results */
.tt-results{margin-top:22px}
.tt-res__head{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.tt-sum{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.tt-sum li{padding:3px 10px;border-radius:999px;background:#fff;border:1px solid var(--bd);font-size:13px}
.tt-cards{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
.tt-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bd);border-radius:16px;overflow:hidden}
.tt-card__img{display:block;aspect-ratio:3/2;background:var(--sand)}
.tt-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.tt-card__body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.tt-badge{align-self:flex-start;padding:2px 10px;border-radius:999px;background:#E3ECE7;color:var(--pine);font-size:12px;font-weight:700}
.tt-badge--close{background:#F6EAD3;color:#8A5A12}
.tt-card__t{font:600 20px/1.25 Fraunces,Georgia,serif;margin:0}
.tt-card__t a{color:var(--ink);text-decoration:none}.tt-card__t a:hover{color:var(--r)}
.tt-dur{margin:0;font-size:15px}
.tt-route{margin:0;font-size:14px;color:var(--mut)}.tt-route span{font-weight:600;color:var(--ink)}
.tt-h5{margin:4px 0 0;font:600 13px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--pine)}
.tt-h5--mm{color:#8A5A12}
.tt-why,.tt-mm{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:14px}
.tt-why li,.tt-mm li{display:flex;gap:8px}
.tt-why li::before{content:"✓";color:var(--pine);font-weight:700;flex:none}
.tt-mm li::before{content:"!";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#F6EAD3;color:#8A5A12;font-size:11px;font-weight:700;flex:none;margin-top:2px}
.tt-card__act{padding:12px 16px 16px;border-top:1px solid var(--bd);display:grid;gap:10px}
.tt-card__act .bk-btn{width:100%}
.tt-card__act .bk-btn[aria-pressed=true]{background:#E3ECE7;color:var(--pine)!important;border-color:var(--pine)}
.tt-card__act .tt-link{justify-self:start}
.tt-note{margin:14px 0 0;font-size:13.5px;color:var(--mut);max-width:760px}
.tt-note--warn{padding:12px 14px;border-radius:12px;background:#FFF6E0;border:1px solid #E8D3A5;color:#5A3F0E;font-size:14px}
.tt-relax{margin:8px 0 0;padding-left:18px}.tt-relax li{margin:4px 0}
.tt-res__foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:16px}
/* price block */
.tt-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}
.tt-price__lbl,.tt-price__pp{font-size:13px;color:var(--mut)}
.tt-price b{font:600 24px/1.1 Fraunces,Georgia,serif;color:var(--r)}
.tt-price small{flex-basis:100%;font-size:12.5px;color:var(--mut);line-height:1.4}
.tt-price--quote b{font-size:20px}
.tt-price .ktp-fx{flex-basis:100%;font-size:12px;color:var(--mut)}
/* tray */
.tt-tray{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--bd);box-shadow:0 -8px 24px rgba(31,30,29,.14);padding:10px 0}
.tt-tray[hidden]{display:none}
.tt-tray__in{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tt-tray__msg{margin:0;font-size:14px}.tt-tray__msg b{margin-right:6px}
.tt-tray__list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;flex:1}
.tt-tray__list li{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border-radius:999px;background:var(--sand);font-size:13px}
.tt-tray__list button{width:28px;height:28px;border:0;border-radius:50%;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:var(--r)}
.tt-tray__act{display:flex;align-items:center;gap:12px}
.tt-tray .bk-btn[disabled]{opacity:.5}
body.tt-tray-on{padding-bottom:84px}
.bk-link{background:none;border:0;padding:0;font:600 14px Inter,sans-serif;color:var(--r);text-decoration:underline;cursor:pointer}
/* comparison */
.tt-cmp__ctl{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}
.tt-cmp__ctl label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.tt-cmp__ctl select{min-height:44px;padding:0 10px;border:1.5px solid #CDBFAE;border-radius:10px;background:#fff;font:400 15px Inter,sans-serif}
.tt-diff{margin:10px 0 4px;padding:12px 16px;border-radius:14px;background:var(--sand)}
.tt-diff ul{margin:6px 0 0;padding-left:18px;font-size:14px}
.tt-cmp__tablewrap{overflow-x:auto;margin-top:14px;border:1px solid var(--bd);border-radius:14px;background:#fff}
.tt-cmp__table{border-collapse:collapse;width:100%;min-width:720px;table-layout:fixed}
.tt-cmp__table th,.tt-cmp__table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--bd);font-size:14px;line-height:1.5}
.tt-cmp__table thead th{font:600 17px/1.3 Fraunces,Georgia,serif;position:sticky;top:0;background:#fff;z-index:1}
.tt-cmp__table thead th a{color:var(--ink);text-decoration:none}.tt-cmp__table thead th a:hover{color:var(--r)}
.tt-cmp__table tbody th{width:170px;font-weight:600;color:var(--mut);background:#FCFAF6}
.tt-cmp__table tr:last-child>*{border-bottom:0}
.tt-cmp__table ul,.tt-cmp__stack ul{margin:0;padding-left:18px}
.tt-cmp__table li,.tt-cmp__stack li{margin:2px 0}
.tt-unk{color:var(--mut);font-style:italic}
.tt-rm{display:block;margin-top:6px;font-weight:600}
.tt-cmp__stack{display:none}
.tt-cmp__item{border:1px solid var(--bd);border-radius:14px;background:#fff;padding:14px 16px;margin-top:14px}
.tt-cmp__item h3{font:600 20px/1.25 Fraunces,Georgia,serif;margin:0 0 4px}
.tt-cmp__item h3 a{color:var(--ink);text-decoration:none}
.tt-cmp__item dl{margin:10px 0 0;display:grid;gap:10px}
.tt-cmp__item dt{font:600 12px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--pine);margin-bottom:2px}
.tt-cmp__item dd{margin:0;font-size:14px;line-height:1.5;padding-bottom:10px;border-bottom:1px solid var(--bd)}
.tt-cmp__item dd:last-child{border-bottom:0}
.tt-cmp__foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.tt-empty{padding:28px;border:1px dashed #CDBFAE;border-radius:16px;background:#fff;max-width:640px}
/* enquiry carry-over */
.tt-carried{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#E3ECE7;border:1px solid #BFD1C6;font-size:14px}
.tt-carried p{margin:0}.tt-carried a{color:var(--pine);font-weight:600}
.tt-picked{margin:0 0 16px;padding:12px 14px;border:1px solid var(--bd);border-radius:12px;background:#fff}
.tt-picked__h{margin:0 0 6px;font-size:14px}.tt-picked__h span{color:var(--mut);font-size:13px;margin-left:4px}
.tt-picked ul{list-style:none;margin:0;padding:0}
.tt-picked li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--bd);font-size:14px}
.tt-picked li:first-child{border-top:0}
/* proof */
.tt-proof{border:1px solid var(--bd);border-radius:16px;background:#fff;padding:18px 20px;margin:16px 0}
.tt-proof__h{font:600 20px/1.25 Fraunces,Georgia,serif;margin:0 0 12px}
.tt-proof__grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tt-proof--full .tt-proof__grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.tt-proof h4{font:600 15px/1.3 Fraunces,Georgia,serif;margin:0 0 6px}
.tt-proof__p{margin:0 0 8px;font-size:14.5px;line-height:1.55}
.tt-proof__n{color:var(--mut);font-size:13.5px}
.tt-proof__ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px;font-size:14px}
.tt-proof__ul span{display:inline-block;min-width:96px;color:var(--mut)}
.tt-proof a{color:var(--r);font-weight:600}
.tt-proof__img{width:100%;max-width:520px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block;margin-top:8px}
.tt-proof__drv{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tt-proof__drv li{display:flex;gap:12px;align-items:center}
.tt-proof__drv small{display:block;color:var(--mut);font-size:13px}
.tt-proof__ph{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.tt-vid{margin-top:8px;max-width:520px}
.tt-vid__btn{position:relative;display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:pointer;background:#000;aspect-ratio:16/9}
.tt-vid__btn img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.tt-vid__ic{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--r);display:grid;place-items:center;font-size:24px;padding-left:4px}
.tt-vid__v{width:100%;border-radius:12px;background:#000;max-height:60vh}
.tt-vid__tx,.tt-vid__note{margin-top:8px;font-size:14px;color:var(--mut)}
.tt-vid__tx summary{cursor:pointer;font-weight:600;color:var(--r)}
@media (max-width:899px){.tt-cards{grid-template-columns:1fr 1fr}}
@media (max-width:759px){
  .tt-finder{padding:32px 0}
  .tt-form{padding:16px;border-radius:14px}
  .tt-grid,.tt-grid--2,.tt-grid--3{grid-template-columns:1fr}
  .tt-grid--2{grid-template-columns:1fr 1fr}
  .tt-cards{grid-template-columns:1fr}
  .tt-nav .bk-btn{flex:1}
  .tt-cmp__tablewrap{display:none}
  .tt-cmp__stack{display:block}
  .tt-tray__in{gap:8px}
  .tt-tray__act{width:100%;justify-content:space-between}
  body.tt-tray-on{padding-bottom:132px}
}
@media (min-width:760px){.tt-cmp__stack{display:none}}
@media (prefers-reduced-motion:no-preference){.tt-card,.tt-chip span{transition:box-shadow .15s ease,border-color .15s ease,background-color .15s ease}.tt-card:hover{box-shadow:0 8px 24px rgba(31,30,29,.08)}}
@media print{.tt-tray,.tt-nav{display:none!important}}

.tt-finder--fold{padding:14px 0}.tt-fold>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:10px 0;list-style:none}.tt-fold>summary::-webkit-details-marker{display:none}.tt-fold>summary::after{content:"+";margin-left:auto;font:600 22px/1 Inter,sans-serif;color:var(--r)}.tt-fold[open]>summary::after{content:"−"}.tt-fold>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.tt-fold[open]{padding-bottom:6px}
.tt-res__head .tt-h3{align-self:flex-start}
@media (max-width:759px){body.ui-has-bar .tt-tray,body.ktp-has-hvbar .tt-tray{bottom:84px}body.ui-has-bar.tt-tray-on,body.ktp-has-hvbar.tt-tray-on{padding-bottom:230px}}
