/* =====================================================================
   MBTS · Plan My Trip  (public/frontend/css/mbts-planner.css)
   Moved out of the page <style> block of trip-planner.blade.php — everything is inside .tp
   ===================================================================== */
/* =====================================================================
   MBTS · PLAN MY TRIP  — everything is scoped under .tp so the site
   header/footer and bootstrap pages are never affected.
   Theme = driver-registration page (.dr): forest / sage / gold.
   ===================================================================== */
.tp{
  --bg:#F4F6F2; --card:#FFFFFF; --ink:#17251C; --ink-2:#5A6B5F; --ink-3:#8B978E;
  --forest:#1E3A2B; --forest-2:#2C5540; --sage:#4E7A5C; --sage-10:#EAF1EB; --sage-20:#D5E4D8;
  --line:#E1E7DF; --line-2:#CFD8CC; --gold:#B8873A; --gold-10:#F7EEDD;
  --danger:#B03A28; --danger-bg:#FCEFEC; --warn:#8A5A00; --warn-bg:#FFF4D9;
  --sky:#3E7CA6; --sky-10:#E6F0F6; --plum:#6E5A94; --plum-10:#EFEAF6;
  --r:12px; --r-lg:16px;
  --shadow:0 1px 2px rgba(23,37,28,.04), 0 8px 24px rgba(23,37,28,.05);
  background:var(--bg); color:var(--ink);
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
.tp *{box-sizing:border-box;}
.tp h1,.tp h2,.tp h3,.tp h4{margin:0;color:var(--forest);font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.01em;line-height:1.2;}
.tp p{margin:0;}
.tp label{margin:0;}
.tp button{font-family:inherit;cursor:pointer;}
.tp input,.tp select,.tp textarea{font-family:inherit;}
.tp a{color:inherit;text-decoration:none;}
.tp-main{min-height:60vh;padding-bottom:2.5rem;}
.tp-wrap{max-width:1360px;margin:0 auto;padding:0 1.15rem;}
.tp-wrap.narrow{max-width:980px;}

/* hero (same as .dr) */
.tp-hero{background:var(--forest);color:#fff;}
.tp-hero .tp-wrap{padding-top:1.7rem;padding-bottom:1.9rem;}
.tp-kicker{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.86rem;color:#A9C1AF;margin-bottom:.9rem;}
.tp-hero h1{color:#fff;font-size:clamp(1.5rem,4.6vw,2.1rem);}
.tp-hero p{margin-top:.6rem;color:#A9C1AF;font-size:.92rem;max-width:62ch;}
.tp-hero-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.3rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14);}
.tp-hero-meta div b{display:block;font-size:.9rem;font-weight:700;color:#fff;}
.tp-hero-meta div span{font-size:.75rem;color:#A9C1AF;}
.tp-hero-meta div.on b{color:#E2C48D;}

/* cards & groups */
.tp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.2rem;margin-bottom:1.1rem;box-shadow:var(--shadow);}
.tp-grp{display:flex;align-items:baseline;gap:.6rem;margin:0 0 1.05rem;padding-bottom:.75rem;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.tp-grp h2{font-size:1.12rem;}
.tp-grp span{font-size:.79rem;color:var(--ink-3);}
.tp-grp .end{margin-left:auto;}
.tp-lbl{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--ink);}
.tp-lbl .opt{color:var(--ink-3);font-weight:500;}
.tp-help{font-size:.78rem;color:var(--ink-3);margin-top:.3rem;}
.tp-field{margin-bottom:1rem;}
.tp-field:last-child{margin-bottom:0;}
.tp-r2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.tp-r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem;}
.tp-r4{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;}
.tp input[type=text],.tp input[type=tel],.tp input[type=email],.tp input[type=number],.tp input[type=date],.tp input[type=time],.tp textarea,.tp select{
  width:100%;padding:.72rem .85rem;border:1.5px solid var(--line-2);border-radius:var(--r);background:#fff;font-size:.95rem;color:var(--ink);
  transition:border-color .15s,box-shadow .15s;height:auto;}
.tp select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%235A6B5F' stroke-width='1.8' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.2rem;}
.tp textarea{min-height:5em;resize:vertical;}
.tp input:focus,.tp textarea:focus,.tp select:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(78,122,92,.15);}
.tp .err input,.tp .err select{border-color:var(--danger);background:var(--danger-bg);}
.tp-err-msg{display:none;font-size:.78rem;color:var(--danger);font-weight:600;margin-top:.35rem;}
.tp .err .tp-err-msg{display:block;}

@media (max-width:600px){
  .tp-card{padding:1rem 1rem;margin-bottom:1rem;}
  .tp-grp{gap:.5rem;margin:0 0 0.9rem;padding-bottom:.5rem;}
  .tp-grp h2 {font-size: 1rem;}
}

/* pick boxes (radio-like) */
.tp-picker{display:grid;gap:.55rem;}
.tp-picker.c2{grid-template-columns:1fr 1fr;}
.tp-picker.c3{grid-template-columns:repeat(3,1fr);}
.tp-picker.c4{grid-template-columns:repeat(4,1fr);}
.tp-pick{display:flex;align-items:center;gap:.7rem;border:1.5px solid var(--line-2);border-radius:var(--r);padding:.75rem .85rem;background:#fff;transition:all .15s;text-align:left;width:100%;}
.tp-pick:hover{border-color:var(--sage);}
.tp-pick .ic{width:36px;height:36px;flex:none;border-radius:9px;background:var(--sage-10);display:flex;align-items:center;justify-content:center;color:var(--forest-2);font-size:1rem;}
.tp-pick b{display:block;font-size:.9rem;font-weight:700;line-height:1.25;color:var(--ink);}
.tp-pick em{display:block;font-style:normal;font-size:.76rem;color:var(--ink-3);line-height:1.35;}
.tp-pick.on{border-color:var(--forest);background:var(--sage-10);box-shadow:0 0 0 1px var(--forest) inset;}
.tp-pick.on .ic{background:var(--forest);color:#fff;}

@media (max-width:600px){
  .tp-pick b {font-size: .75rem;font-weight: 700;line-height: 1;}
  .tp-pick em{font-size:.65rem;line-height:1.15;}
}
/* chips */
.tp-chips{display:flex;flex-wrap:wrap;gap:.45rem;}
.tp-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .8rem;border:1.5px solid var(--line-2);border-radius:999px;font-size:.83rem;font-weight:600;color:var(--ink-2);background:#fff;transition:all .15s;user-select:none;}
.tp-chip:hover{border-color:var(--sage);}
.tp-chip.on{background:var(--forest);border-color:var(--forest);color:#fff;}
.tp-chip.gold{background:var(--gold-10);border-color:#E6CFA4;color:#6B4A12;}
.tp-chip.gold.on{background:var(--gold);border-color:var(--gold);color:#fff;}
.tp-chip.dis{opacity:.45;}
.tp-chip.sm{padding:.28rem .62rem;font-size:.76rem;}

@media (max-width:600px){
  .tp-chip.sm{padding:.25rem .6rem;font-size:.70rem;}
}

/* buttons */
.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.92rem;border-radius:999px;padding:.78rem 1.4rem;border:none;transition:background .15s,transform .1s;line-height:1.2;}
.tp-btn:active{transform:scale(.98);}
.tp-btn.primary{background:var(--forest);color:#fff;}
.tp-btn.primary:hover{background:var(--forest-2);}
.tp-btn.primary[disabled]{opacity:.5;cursor:not-allowed;}
.tp-btn.gold{background:var(--gold);color:#fff;}
.tp-btn.gold:hover{filter:brightness(1.06);}
.tp-btn.ghost{background:#fff;color:var(--forest);border:1.5px solid var(--line-2);}
.tp-btn.ghost:hover{border-color:var(--sage);background:var(--sage-10);}
.tp-btn.sm{padding:.5rem .9rem;font-size:.8rem;}
.tp-btn.block{width:100%;}
.tp-link{background:none;border:none;padding:0;color:var(--sage);font-weight:700;font-size:.82rem;}
.tp-link.red{color:var(--danger);}

/* steppers */
.tp-count{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1.5px solid var(--line-2);border-radius:var(--r);padding:.55rem .6rem .55rem .85rem;background:#fff;}
.tp-count b{display:block;font-size:.88rem;}
.tp-count span{display:block;font-size:.72rem;color:var(--ink-3);}
.tp-stp{display:flex;align-items:center;gap:.4rem;flex-shrink:0;}
.tp-stp button{width:30px;height:30px;min-width:30px;padding:0;margin:0;border-radius:9px;border:1.5px solid var(--line-2);background:#fff;color:var(--forest);font-size:1rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;}
.tp-stp button:hover:not([disabled]){border-color:var(--sage);background:var(--sage-10);}
.tp-stp button[disabled]{opacity:.35;cursor:not-allowed;}
.tp-stp output{min-width:26px;text-align:center;font-weight:800;font-size:.9rem;}

/* states grid */
.tp-states{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;}
.tp-state{position:relative;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;text-align:left;padding:0;transition:all .15s;}
.tp-state:hover{border-color:var(--sage);}
.tp-state .im{height:92px;background-size:cover;background-position:center;background-color:var(--sage-10);}
.tp-state .in{padding:.55rem .7rem;}
.tp-state b{display:block;font-size:.88rem;}
.tp-state span{font-size:.72rem;color:var(--ink-3);}
.tp-state.on{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest) inset;}
.tp-state .tick{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--forest);color:#fff;font-size:.75rem;display:none;align-items:center;justify-content:center;}
.tp-state.on .tick{display:flex;}

@media (max-width:600px){
  .tp-state b {font-size: .7rem;}
  .tp-state span{font-size:.7rem;}
  .tp-state .in{padding:.5rem .5rem;}
}

.tp-submit{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.tp-submit .sum b{display:block;font-size:.95rem;}
.tp-submit .sum span{font-size:.8rem;color:var(--ink-3);}

/* ---------- board ---------- */
.tp-bar{background:var(--forest);color:#fff;}
.tp-bar .tp-wrap{display:flex;align-items:center;gap:.5rem;padding-top:.7rem;padding-bottom:.7rem;overflow-x:auto;scrollbar-width:none;}
.tp-bar .tp-wrap::-webkit-scrollbar{display:none;}
.tp-bchip{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;}
.tp-bchip small{color:#A9C1AF;font-weight:600;}
.tp-bar .edit{margin-left:auto;background:#fff;color:var(--forest);border:none;border-radius:999px;padding:.42rem .9rem;font-size:.8rem;font-weight:700;white-space:nowrap;}

.tp-board{display:grid;grid-template-columns:360px minmax(0,1fr) 320px;gap:1.1rem;padding-top:1.1rem;align-items:start;}
.tp-sticky{position:sticky;top:12px;}
.tp-sec-l{font-size:.72rem;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin:1rem 0 .5rem;}
.tp-sec-l:first-child{margin-top:0;}

.tp-routes{display:grid;gap:.55rem;}
.tp-route{border:1.5px solid var(--line-2);border-radius:var(--r);padding:.7rem .8rem;background:#fff;text-align:left;width:100%;}
.tp-route:hover{border-color:var(--sage);}
.tp-route.on{border-color:var(--forest);background:var(--sage-10);box-shadow:0 0 0 1px var(--forest) inset;}
.tp-route .h{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;}
.tp-route b{font-size:.9rem;}
.tp-route .meta{font-size:.74rem;color:var(--ink-3);margin-top:.15rem;}
.tp-bstep.later{opacity:.55;}
.tp-bstep.later .tp-grp{margin-bottom:.3rem;border-bottom:0;padding-bottom:0;}
.tp-bstep.done .tp-grp{margin-bottom:.4rem;padding-bottom:.4rem;}
.tp-bsn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--sage-10);color:var(--forest);font-size:.8rem;font-weight:800;margin-right:.45rem;vertical-align:middle;}
.tp-bstep.cur .tp-bsn{background:var(--forest);color:#fff;}
.tp-bstep.done .tp-bsn{background:var(--sage);color:#fff;}
.tp-bsum{font-size:.8rem;color:var(--ink-2);}
.tp-bnext{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap;margin-top:.9rem;}
.tp-cityblk{border:1px solid var(--line);border-radius:var(--r);padding:.7rem .8rem;margin-bottom:.7rem;}
.tp-cityblk>.h{display:flex;align-items:center;gap:.45rem;margin-bottom:.4rem;}
.tp-cityblk>.h span:last-child{margin-left:auto;font-size:.74rem;color:var(--ink-3);}
.tp-cityblk .tp-sec-l{margin:.6rem 0 .35rem;}
.tp-chip.tp-inc{background:var(--sage-10);border-color:transparent;color:var(--forest-2);cursor:default;}
.tp-ppath{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .2rem;margin-top:.4rem;font-size:.74rem;}
.tp-ppath i{font-style:normal;color:var(--ink-3);}
.tp-pp{padding:.08rem .4rem;border-radius:5px;background:#f4f6f4;color:var(--ink-2);}
.tp-pp b{font-size:.66rem;margin-right:.25rem;color:var(--ink-3);}
.tp-pp.city{background:var(--forest);color:#fff;font-weight:700;}
.tp-pp.city b{color:#E2C48D;}
.tp-pp.paid{background:var(--gold-10);color:#6B4A12;font-weight:700;}
.tp-pp.away{background:#fff4e0;color:#8a5a12;}
.tp-pp.ep{background:none;color:var(--ink-3);font-style:italic;}
.tp-se-h{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.35rem;}
.tp-se-sel{font-size:.8rem;padding:.25rem .4rem;border:1px solid var(--line-2);border-radius:6px;max-width:100%;}
.tp-se{margin-bottom:.7rem;}
.tp-guide{border:1.5px dashed var(--line-2);border-radius:var(--r);padding:1.4rem;background:#fff;}
.tp-guide h2{font-size:1.15rem;margin-bottom:.2rem;}
.tp-guide p{color:var(--ink-3);font-size:.85rem;margin-bottom:1rem;}
.tp-gstep{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem 0;border-top:1px solid var(--line);}
.tp-gstep>span{flex:none;width:1.7rem;height:1.7rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sage-10);color:var(--forest);font-weight:800;font-size:.8rem;}
.tp-gstep.cur>span{background:var(--forest);color:#fff;}
.tp-gstep.done>span{background:var(--sage);color:#fff;}
.tp-gstep b{display:block;font-size:.9rem;}
.tp-gstep small{color:var(--ink-3);font-size:.78rem;}
.tp-route .path{font-size:.76rem;color:var(--ink-2);margin-top:.3rem;font-weight:600;}
.tp-tag{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .45rem;border-radius:999px;background:var(--sage-10);color:var(--forest-2);}
.tp-tag.gold{background:var(--gold-10);color:#6B4A12;}
.tp-tag.red{background:var(--danger-bg);color:var(--danger);}
.tp-tag.dark{background:var(--forest);color:#E2C48D;}

.tp-map{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#EEF3EA;}
.tp-map svg{display:block;width:100%;height:auto;}
.tp-map .pin{cursor:pointer;}
.tp-legend{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.72rem;color:var(--ink-3);font-weight:700;margin-top:.45rem;}
.tp-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.3rem;vertical-align:-1px;}

.tp-stop{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:var(--r);background:var(--bg);}
.tp-stop + .tp-stop{margin-top:.4rem;}
.tp-stop .n{width:24px;height:24px;border-radius:50%;background:var(--forest);color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tp-stop .t{flex:1;min-width:0;font-size:.86rem;font-weight:700;}
.tp-stop .t small{display:block;font-size:.72rem;color:var(--ink-3);font-weight:600;}
.tp-stop .mv{background:none;border:none;color:var(--sage);font-size:.7rem;padding:0 .15rem;}
.tp-note{gap:.5rem;align-items:flex-start;padding:.6rem .75rem;border-radius:var(--r);background:var(--sage-10);color:var(--forest-2);font-size:.8rem;font-weight:600;margin-top:.6rem;}
.tp-note.warn{background:var(--warn-bg);color:var(--warn);}
.tp-note.bad{background:var(--danger-bg);color:var(--danger);}
.tp-note .acts{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.4rem;}
.tp-note .acts button{border:1.5px solid currentColor;background:#fff;color:inherit;border-radius:999px;padding:.2rem .6rem;font-size:.74rem;font-weight:700;}

.tp-sugg{display:flex;align-items:center;gap:.55rem;padding:.45rem 0;border-bottom:1px dashed var(--line);}
.tp-sugg:last-child{border-bottom:0;}
.tp-sugg .t{flex:1;min-width:0;font-size:.84rem;font-weight:700;}
.tp-sugg .t small{display:block;font-size:.72rem;color:var(--ink-3);font-weight:600;}

/* transport */
.tp-cabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.5rem;}
.tp-cab{border:1.5px solid var(--line-2);border-radius:var(--r);padding:.6rem .55rem;background:#fff;text-align:center;}
.tp-cab:hover{border-color:var(--sage);}
.tp-cab.on{border-color:var(--forest);background:var(--sage-10);box-shadow:0 0 0 1px var(--forest) inset;}
.tp-cab .e{font-size:1.3rem;line-height:1.2;}
.tp-cab b{display:block;font-size:.8rem;line-height:1.2;margin-top:.15rem;}
.tp-cab span{display:block;font-size:.7rem;color:var(--ink-3);font-weight:600;}
.tp-cab strong{display:block;font-size:.8rem;color:var(--forest);margin-top:.2rem;}
.tp-legs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.8rem;}
.tp-leg{border:1.5px dashed var(--line-2);border-radius:var(--r);padding:.6rem .7rem;}
.tp-leg b{font-size:.82rem;}
.tp-leg small{display:block;font-size:.72rem;color:var(--ink-3);margin-bottom:.4rem;}

/* timeline */
.tp-tl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin:1.2rem 0 .8rem;flex-wrap:wrap;}
.tp-tl-head h2{font-size:1.45rem;}
.tp-tl-head p{color:var(--ink-3);font-size:.84rem;margin-top:.2rem;}
.tp-days{position:relative;display:grid;gap:.85rem;}
.tp-days:has(> .tp-days-in):before{display:none}
.tp-days-in{position:relative;display:grid;gap:.85rem;}
.tp-days-in:before{content:"";position:absolute;left:25px;top:18px;bottom:18px;width:2px;background:repeating-linear-gradient(180deg,var(--line-2) 0 7px,transparent 7px 13px);}
.tp-days:before{content:"";position:absolute;left:25px;top:18px;bottom:18px;width:2px;background:repeating-linear-gradient(180deg,var(--line-2) 0 7px,transparent 7px 13px);}
.tp-day{display:grid;grid-template-columns:52px minmax(0,1fr);gap:.7rem;position:relative;}
.tp-dbadge{width:52px;height:56px;border-radius:14px;background:#fff;border:1.5px solid var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;}
.tp-dbadge small{font-size:.6rem;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;}
.tp-dbadge b{font-family:'Fraunces',Georgia,serif;font-size:1.35rem;line-height:1;color:var(--forest);}
.tp-day.edge .tp-dbadge{background:var(--forest);border-color:var(--forest);}
.tp-day.edge .tp-dbadge b,.tp-day.edge .tp-dbadge small{color:#fff;}
.tp-dcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:.85rem .95rem;box-shadow:var(--shadow);min-width:0;}
.tp-dh{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.tp-dh h4{font-size:1.02rem;}
.tp-dh .date{font-size:.76rem;color:var(--ink-3);font-weight:700;}
.tp-dh .amt{margin-left:auto;font-weight:800;font-size:.85rem;color:var(--forest);}
.tp-load{display:flex;align-items:center;gap:.5rem;margin-top:.45rem;font-size:.72rem;font-weight:700;color:var(--ink-3);}
.tp-load .tr{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden;}
.tp-load .tr i{display:block;height:100%;border-radius:999px;background:var(--sage);transition:width .4s;}
.tp-load.over .tr i{background:var(--danger);}
.tp-load.over{color:var(--danger);}
.tp-slot{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem;border-radius:var(--r);margin-top:.5rem;}
.tp-slot .ic{width:32px;height:32px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.tp-slot .th{width:46px;height:38px;border-radius:9px;background-size:cover;background-position:center;flex-shrink:0;background-color:var(--sage-20);}
.tp-slot .t{flex:1;min-width:0;}
.tp-slot .t b{display:block;font-size:.86rem;line-height:1.3;}
.tp-slot .t span{display:block;font-size:.74rem;color:var(--ink-2);}
.tp-slot .t span.tp-tag{display:inline-block;vertical-align:1px;font-size:.62rem;color:inherit;}
.tp-slot .t span.tp-tag.dark{color:#E2C48D;}
.tp-slot .p{font-weight:800;font-size:.84rem;white-space:nowrap;}
.tp-slot.arr{background:var(--gold-10);}
.tp-slot.drive{background:var(--sky-10);}
.tp-slot.visit{background:var(--bg);}
.tp-slot.stay{background:var(--sage-10);}
.tp-slot.exp{background:var(--plum-10);}
.tp-slot.empty{border:1.5px dashed var(--line-2);background:transparent;cursor:pointer;}
.tp-slot.empty:hover{border-color:var(--sage);background:var(--sage-10);}
.tp-slot .acts{display:flex;align-items:center;gap:.35rem;flex-shrink:0;}
.tp-x{width:26px;height:26px;border-radius:8px;border:1.5px solid var(--line-2);background:#fff;color:var(--ink-3);font-size:.75rem;display:flex;align-items:center;justify-content:center;padding:0;}
.tp-x:hover{color:var(--danger);border-color:var(--danger);}
.tp-mini-sel{width:auto!important;padding:.25rem 1.7rem .25rem .5rem!important;font-size:.74rem!important;border-radius:8px!important;background-position:right .5rem center!important;}
.tp-dadd{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.55rem;}
.tp-dadd button{background:none;border:none;padding:0;font-weight:700;font-size:.8rem;color:var(--sage);}
.tp-dadd button.p{color:var(--plum);}
.tp-meals{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.35rem;}

/* wallet */
.tp-wallet{overflow:hidden;padding:0;}
.tp-wtop{background:var(--forest);color:#fff;padding:1rem 1.1rem;}
.tp-wtop small{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#E2C48D;text-transform:uppercase;}
.tp-donut{display:flex;align-items:center;gap:.9rem;margin-top:.6rem;}
.tp-donut .lb b{font-family:'Fraunces',Georgia,serif;font-size:1.55rem;display:block;line-height:1.1;}
.tp-donut .lb span{font-size:.76rem;color:#A9C1AF;}
.tp-ok{color:#A8DDB5;} .tp-bad{color:#FFB39A;}
.tp-bars{padding:.8rem 1.1rem .2rem;}
.tp-barr{margin-bottom:.55rem;}
.tp-barr .bt{display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;}
.tp-barr .tr{height:6px;border-radius:999px;background:var(--line);margin-top:.25rem;overflow:hidden;}
.tp-barr .tr i{display:block;height:100%;border-radius:999px;transition:width .4s;}
.tp-wsum{padding:.3rem 1.1rem .9rem;border-top:1px dashed var(--line);}
.tp-wsum .r{display:flex;justify-content:space-between;font-size:.78rem;color:var(--ink-3);padding:.12rem 0;}
.tp-wsum .tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:.4rem;}
.tp-wsum .tot span{font-weight:800;}
.tp-wsum .tot b{font-family:'Fraunces',Georgia,serif;font-size:1.6rem;color:var(--forest);}
.tp-wsum .pp{text-align:right;font-size:.74rem;color:var(--ink-3);}
.tp-ready{padding:0 1.1rem .8rem;}
.tp-ready div{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;color:var(--ink-3);padding:.15rem 0;}
.tp-ready div i{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:.62rem;}
.tp-ready div.ok{color:var(--forest);}
.tp-ready div.ok i{background:var(--sage);border-color:var(--sage);color:#fff;}

/* drawer */
.tp-dr-bg{position:fixed;inset:0;background:rgba(20,30,24,.45);z-index:1040;opacity:0;pointer-events:none;transition:opacity .2s;}
.tp-dr-bg.is-open{opacity:1;pointer-events:auto;}
.tp-drawer{position:fixed;top:0;right:0;bottom:0;width:min(540px,100%);background:var(--bg);z-index:1041;transform:translateX(105%);transition:transform .28s ease;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.15);}
.tp-drawer.is-open{transform:none;}
.tp-drh{padding:1rem 1.1rem;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:.8rem;background:#fff;}
.tp-drh h3{font-size:1.2rem;}
.tp-drh p{font-size:.8rem;color:var(--ink-3);margin-top:.15rem;}
.tp-drh .x{margin-left:auto;width:34px;height:34px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff;font-size:1rem;flex-shrink:0;}
.tp-drb{flex:1;overflow:auto;padding:1rem 1.1rem 2rem;}
.tp-opt{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:.8rem;}
.tp-opt.on{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest) inset;}
.tp-opt .oa{height:120px;background-size:cover;background-position:center;position:relative;background-color:var(--sage-20);}
.tp-opt .oa .tl{position:absolute;top:.6rem;left:.6rem;display:flex;gap:.3rem;flex-wrap:wrap;}
.tp-opt .oa .rt{position:absolute;bottom:.6rem;left:.6rem;background:#fff;border-radius:999px;padding:.12rem .55rem;font-size:.74rem;font-weight:800;}
.tp-opt .ob{padding:.75rem .85rem;}
.tp-opt .rw{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start;}
.tp-opt h4{font-size:1.02rem;}
.tp-opt small{font-size:.76rem;color:var(--ink-3);}
.tp-opt .pr{text-align:right;white-space:nowrap;}
.tp-opt .pr b{font-family:'Fraunces',Georgia,serif;font-size:1.15rem;display:block;color:var(--forest);}
.tp-calc{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.6rem;font-size:.78rem;color:var(--ink-2);}
.tp-calc b{color:var(--forest);}
.tp-rooms{display:grid;gap:.4rem;margin-top:.6rem;}
.tp-room{display:flex;align-items:center;gap:.6rem;border:1.5px solid var(--line-2);border-radius:10px;padding:.45rem .6rem;background:#fff;text-align:left;width:100%;}
.tp-room.on{border-color:var(--forest);background:var(--sage-10);}
.tp-room .t{flex:1;min-width:0;}
.tp-room b{display:block;font-size:.82rem;}
.tp-room span{font-size:.72rem;color:var(--ink-3);}
.tp-room strong{font-size:.84rem;white-space:nowrap;}
.tp-spin{display:inline-block;width:16px;height:16px;border:2.5px solid var(--line-2);border-top-color:var(--forest);border-radius:50%;animation:tpspin 1s linear infinite;vertical-align:-3px;}
@keyframes tpspin{to{transform:rotate(360deg)}}
.tp-empty{text-align:center;color:var(--ink-3);font-size:.86rem;padding:1.6rem .6rem;}

/* review */
.tp-review{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.1rem;padding-top:1.1rem;align-items:start;}
.tp-ptable{width:100%;border-collapse:collapse;font-size:.84rem;}
.tp-ptable td{padding:.45rem 0;border-bottom:1px solid var(--line);vertical-align:top;}
.tp-ptable td:last-child{text-align:right;font-weight:700;white-space:nowrap;padding-left:.6rem;}
.tp-ptable td small{display:block;color:var(--ink-3);font-size:.72rem;}
.tp-ptable tr.g td{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding-top:.8rem;border-bottom:0;}
.tp-ptable tr.tot td{font-family:'Fraunces',Georgia,serif;font-size:1.25rem;color:var(--forest);border-bottom:0;padding-top:.7rem;}
.tp-inc{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.tp-inc ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem;font-size:.84rem;}
.tp-inc li{display:flex;gap:.45rem;}
.tp-inc .y li:before{content:"✓";color:var(--sage);font-weight:800;}
.tp-inc .n li:before{content:"✕";color:var(--danger);font-weight:800;}
.tp-rday{display:flex;gap:.7rem;padding:.55rem 0;border-bottom:1px dashed var(--line);font-size:.84rem;}
.tp-rday:last-child{border-bottom:0;}
.tp-rday b.d{width:54px;flex-shrink:0;color:var(--forest);}
.tp-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.84rem;color:var(--ink-2);}
.tp-consent input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--forest);flex:none;}

/* done */
.tp-done{max-width:860px;margin:2rem auto 1rem;}
.tp-pc{display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 24px 50px rgba(23,37,28,.14);border:1px solid var(--line);}
.tp-pc .img{background-size:cover;background-position:center;min-height:320px;position:relative;background-color:var(--forest);}
.tp-pc .img .g{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;color:#fff;font-family:'Fraunces',Georgia,serif;font-size:1.9rem;line-height:1.1;text-shadow:0 3px 18px rgba(0,0,0,.4);}
.tp-pc .img .g small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:.8rem;font-weight:700;margin-bottom:.35rem;}
.tp-pc .back{padding:1.3rem;border-left:2px dashed var(--line);}
.tp-pc .ln{display:flex;justify-content:space-between;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.85rem;}
.tp-pc .ln span{color:var(--ink-3);}

/* toast + mobile bar + sheet */
.tp-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:var(--ink);color:#fff;padding:.7rem 1.1rem;border-radius:12px;font-size:.85rem;font-weight:600;opacity:0;pointer-events:none;transition:all .25s;z-index:1100;max-width:calc(100% - 32px);text-align:center;}
.tp-toast.is-open{opacity:1;transform:translate(-50%,0);}
.tp-mbar{display:none;}
.tp-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1041;max-height:86vh;overflow:auto;transform:translateY(105%);transition:transform .25s ease;background:#fff;border-radius:18px 18px 0 0;}
.tp-sheet.is-open{transform:none;}
.tp-sheet .tp-card{margin:0;border:0;border-radius:18px 18px 0 0;box-shadow:none;}
.tp-mtabs{display:none;}
.tp-loading{display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:40vh;color:var(--ink-2);font-weight:700;}

@media (max-width:1240px){
  .tp-board{grid-template-columns:340px minmax(0,1fr);}
  .tp-board > .tp-right{display:none;}
  .tp-review{grid-template-columns:minmax(0,1fr) 320px;}
  .tp-mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:1030;background:var(--forest);color:#fff;border-radius:16px;padding:.6rem .7rem .6rem 1rem;gap:.6rem;align-items:center;box-shadow:0 14px 30px rgba(0,0,0,.25);}
  .tp-mbar .tt{flex:1;min-width:0;cursor:pointer;}
  .tp-mbar .tt span{display:block;font-size:.68rem;color:#A9C1AF;font-weight:700;}
  .tp-mbar .tt b{font-family:'Fraunces',Georgia,serif;font-size:1.2rem;}
  .tp-mbar .tt em{font-style:normal;font-size:.72rem;font-weight:800;margin-left:.35rem;}
  .tp.board-on .tp-main{padding-bottom:6rem;}
  .tp.board-on .tp-toast{bottom:90px;}
}
@media (max-width:920px){
  .tp-board{grid-template-columns:minmax(0,1fr);}
  .tp-mtabs{display:flex;gap:.3rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.25rem;margin-top:.9rem;}
  .tp-mtabs button{flex:1;border:0;background:transparent;border-radius:9px;padding:.55rem;font-weight:800;font-size:.75rem;color:var(--ink-3);}
  .tp-mtabs button.on{background:var(--forest);color:#fff;}
  .tp-board.t-plan > .tp-left{display:none;}
  .tp-board.t-map > .tp-center{display:none;}
  .tp-review{grid-template-columns:minmax(0,1fr);}
  .tp-review > aside{order:-1;}
  .tp-states{grid-template-columns:repeat(3,1fr);}
  .tp-sticky{position:static;}
}
@media (max-width:600px){
  .tp-r2,.tp-r3,.tp-legs,.tp-inc{grid-template-columns:1fr;}
  .tp-r4{grid-template-columns:1fr;}
  .tp-picker.c3,.tp-picker.c4{grid-template-columns:1fr 1fr;}
  .tp-picker.c2{grid-template-columns:1fr;}
  .tp-states{grid-template-columns:1fr 1fr;}
  .tp-days:before,.tp-days-in:before{left:20px;}
  .tp-day{grid-template-columns:42px minmax(0,1fr);gap:.5rem;}
  .tp-dbadge{width:42px;height:48px;border-radius:12px;}
  .tp-dbadge b{font-size:1.1rem;}
  .tp-dcard{padding:.7rem;}
  .tp-slot{padding:.5rem;gap:.5rem;}
  .tp-slot .ic{width:28px;height:28px;}
  .tp-slot{flex-wrap:wrap;}
  .tp-slot .t{flex:1 1 calc(100% - 60px);}
  .tp-slot .acts{margin-left:auto;}
  .tp-slot.stay .acts{flex-direction:row!important;align-items:center!important;width:100%;justify-content:space-between;}
  .tp-stop{flex-wrap:wrap;}
  .tp-stop .t{flex:1 1 140px;}
  .tp-pc{grid-template-columns:1fr;}
  .tp-pc .back{border-left:0;border-top:2px dashed var(--line);}
  .tp-pc .img{min-height:200px;}
  .tp-submit .tp-btn{width:100%;}
}

/* ===== v10 board ===== */
.tp-bhero{position:relative;color:#fff;background:var(--forest);padding-bottom:5.5rem;}
.tp-bhero:before{content:"";position:absolute;inset:0;background-image:var(--hero);background-size:cover;background-position:center;opacity:.35;}
.tp-bhero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,38,28,.55),rgba(18,38,28,.92));}
.tp-bhero .tp-wrap{position:relative;z-index:1;padding-top:1.6rem;}
.tp-kicker2{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#E2C48D;}
.tp-bhero h1{color:#fff;font-size:clamp(1.8rem,5vw,2.7rem);margin-top:.35rem;}
.tp-bhero h1 em,.tp-mt em,.tp-lh h2 em{font-style:italic;color:#C9A55C;font-weight:500;}
.tp-mt em,.tp-lh h2 em{color:var(--sage);}
.tp-hchips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem;}
.tp-hchips span,.tp-hchips button{font-size:.74rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18);}
.tp-hchips button{background:#fff;color:var(--forest);}
.tp-hlegs{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center;margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.14);}
.tp-hleg{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.8rem;}
.tp-hleg .w{color:#A9C1AF;font-weight:700;}
.tp-hleg small{color:#A9C1AF;}
.tp-hleg .arr{color:#A9C1AF;margin-left:.2rem;}
.tp-hchip{font-size:.74rem;font-weight:700;padding:.22rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;}
.tp-hchip.on{background:#E2C48D;border-color:#E2C48D;color:var(--forest);}
.tp-hchip small{opacity:.7;font-weight:600;}
.tp-hchip.static{cursor:default;}
.tp-hchange{background:none;border:0;color:#E2C48D;font-size:.76rem;font-weight:700;padding:0;margin-left:auto;}
.tp-v10 .tp-board.v10{grid-template-columns:300px minmax(0,1fr) 300px;margin-top:-4.6rem;position:relative;z-index:2;padding-top:0;}
.tp-board.v10 .tp-card{border-radius:18px;box-shadow:0 10px 30px rgba(20,40,30,.08);}
.tp-lh{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.9rem;}
.tp-lh h2{font-size:1.25rem;line-height:1.1;}
.tp-lh small{font-size:.74rem;color:var(--ink-3);}
.tp-bsn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--forest);color:#fff;font-size:.8rem;font-weight:800;}
.tp-ztabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.7rem 0;}
.tp-ztabs button{border:1.5px solid var(--line-2);background:#fff;border-radius:999px;padding:.45rem .4rem;font-size:.76rem;font-weight:700;color:var(--ink-2);}
.tp-ztabs button.on{background:var(--forest);border-color:var(--forest);color:#fff;}
.tp-ztabs i{font-style:normal;background:#E2C48D;color:var(--forest);border-radius:999px;padding:0 .35rem;margin-left:.2rem;font-size:.68rem;}
.tp-ccard{display:flex;gap:.6rem;align-items:center;border:1.5px solid var(--line);border-radius:14px;padding:.55rem .6rem;margin-bottom:.5rem;background:#fff;}
.tp-ccard.on{border-color:var(--sage);background:var(--sage-10);}
.tp-ccard.off{opacity:.55;}
.tp-ccard .th{flex:none;width:44px;height:40px;border-radius:9px;background-size:cover;background-position:center;}
.tp-ccard .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;}
.tp-ccard .t b{font-size:.86rem;}
.tp-ccard .t .tp-tag{align-self:flex-start;}
.tp-ccard .t span{font-size:.72rem;color:var(--ink-3);}
.tp-ccard .t .no{color:var(--danger);font-weight:700;}
.tp-cbtn{flex:none;width:2rem;height:2rem;border-radius:50%;border:1.5px solid var(--line-2);background:#fff;color:var(--forest);font-weight:800;display:inline-flex;align-items:center;justify-content:center;}
.tp-cbtn.on{background:var(--forest);border-color:var(--forest);color:#fff;}
.tp-cbtn.sm{width:1.3rem;height:1.3rem;font-size:.7rem;margin-right:.5rem;}
.tp-lsum div{display:flex;align-items:center;padding:.35rem 0;font-weight:700;font-size:.86rem;border-bottom:1px dashed var(--line);}
.tp-lsum small{color:var(--ink-3);font-weight:600;margin-left:.3rem;}
.tp-lsum+.tp-link{margin-top:.7rem;}
.tp-lroute{display:flex;justify-content:space-between;gap:.5rem;align-items:center;background:var(--sage-10);border-radius:10px;padding:.5rem .7rem;margin-bottom:.7rem;font-size:.84rem;}
.tp-rcard{display:block;width:100%;text-align:left;border:1.5px solid var(--line);border-radius:14px;padding:.7rem .75rem;margin-bottom:.6rem;background:#fff;}
.tp-rcard.pv{border-color:var(--sage);box-shadow:0 0 0 1px var(--sage) inset;}
.tp-rcard.on{background:var(--sage-10);border-color:var(--forest);}
.tp-rcard .h{display:flex;align-items:baseline;gap:.45rem;}
.tp-rcard .h b{font-size:.92rem;}
.tp-rcard .h small{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);}
.tp-rcard .tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0;}
.tp-rcard .meta{font-size:.72rem;color:var(--ink-3);}
.tp-rcs{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;margin-top:.45rem;}
.tp-rcs i{font-style:normal;color:var(--ink-3);font-size:.7rem;}
.tp-rc{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:.18rem .45rem;border-radius:6px;background:var(--sage-10);color:var(--forest);}
.tp-rcard.on .tp-rc{background:var(--forest);color:#fff;}
.tp-mcard{padding-top:1rem;}
.tp-prog{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin-bottom:.8rem;}
.tp-prog i{height:4px;border-radius:4px;background:var(--line);}
.tp-prog i.on{background:var(--sage);}
.tp-bnav{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding-bottom:.9rem;margin-bottom:1rem;border-bottom:1px solid var(--line);}
.tp-bnav.foot{border-bottom:0;border-top:1px solid var(--line);padding:.9rem 0 0;margin:1.2rem 0 0;}
.tp-bnav .lb{font-size:.78rem;color:var(--ink-3);}
.tp-bnav .lb b{color:var(--forest);}
.tp-bnav .tp-btn[disabled]{opacity:.55;cursor:not-allowed;}
.tp-mt{font-size:1.55rem;}
.tp-ms{color:var(--ink-3);font-size:.84rem;margin:.25rem 0 1rem;}
.tp-pill{display:inline-block;background:var(--sage-10);color:var(--forest);font-weight:700;font-size:.8rem;border-radius:999px;padding:.4rem .9rem;margin-bottom:1rem;}
.tp-pcity{border:1px solid var(--line);border-radius:14px;padding:.8rem .9rem;margin-bottom:.8rem;}
.tp-pcity>.h{display:flex;align-items:center;gap:.45rem;}
.tp-pcity>.h b{font-family:'Fraunces',Georgia,serif;font-size:1.05rem;color:var(--forest);}
.tp-pcity>.h .c{margin-left:auto;font-size:.74rem;color:var(--ink-3);}
.tp-pcity .tp-sec-l{margin:.7rem 0 .4rem;}
.tp-addon{display:flex;align-items:center;gap:.7rem;border:1.5px solid #EAD9B5;background:#FFFBF2;border-radius:12px;padding:.55rem .7rem;margin-bottom:.45rem;}
.tp-addon.on{border-color:var(--gold);background:var(--gold-10);}
.tp-addon .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;}
.tp-addon .t b{font-size:.86rem;}
.tp-addon .t span,.tp-addon .t small{font-size:.72rem;color:var(--ink-3);}
.tp-addon .r{text-align:right;}
.tp-addon .r b{display:block;font-size:.88rem;}
.tp-addon .r small{font-size:.66rem;color:var(--ink-3);}
.tp-free{margin-top:.6rem;}
.tp-free summary{cursor:pointer;font-size:.8rem;color:var(--forest-2);list-style:none;padding:.45rem .6rem;background:var(--sage-10);border-radius:10px;}
.tp-free summary::-webkit-details-marker{display:none;}
.tp-free summary span{float:right;color:var(--sage);font-weight:700;}
.tp-free[open] summary span{visibility:hidden;}
.tp-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.5rem;}
.tp-fgrid span{font-size:.76rem;background:#F6F8F6;border-radius:8px;padding:.35rem .55rem;color:var(--ink-2);}
.tp-pvd{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px dashed var(--line);}
.tp-pvd .d{flex:none;width:44px;height:48px;border-radius:12px;background:var(--forest);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.tp-pvd .d small{font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#E2C48D;}
.tp-pvd .d b{font-family:'Fraunces',Georgia,serif;font-size:1.2rem;line-height:1;}
.tp-pvd .t{flex:1;min-width:0;}
.tp-pvd .t>b{font-size:.92rem;color:var(--forest);}
.tp-pvd .t>small{display:block;font-size:.74rem;color:var(--ink-3);}
.tp-pvd .ps{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem;}
.tp-pvd .ps span{font-size:.72rem;background:#F4F6F4;border-radius:6px;padding:.15rem .45rem;}
.tp-pvd .ps span.paid{background:var(--gold-10);color:#6B4A12;font-weight:700;}
.tp-pvd .ps span.free{color:var(--ink-3);font-style:italic;}
.tp-rmini .r{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.8rem;border-bottom:1px dashed var(--line);}
.tp-rmini .r span{flex:1;min-width:0;}
.tp-rmini .r small{display:block;color:var(--ink-3);font-size:.68rem;}
.tp-board.v10 .tp-wallet .tp-btn.primary{background:#F2B33D;border-color:#F2B33D;color:var(--forest);}
.tp-board.v10 .tp-right #tpVehicle .tp-cabs{grid-template-columns:1fr;}
.tp-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.4rem;margin:1.4rem 0 .4rem;font-size:.76rem;color:var(--ink-3);}
.tp-narrow{display:none;}
.tp-secard{padding:.85rem .95rem!important;margin-bottom:.9rem;}
.tp-serow{padding-bottom:.6rem;margin-bottom:.6rem;border-bottom:1px dashed var(--line);}
.tp-serow .a{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem;font-size:.8rem;}
.tp-serow .a span{color:var(--ink-3);font-weight:700;}
.tp-serow .a b{color:var(--forest);}
.tp-serow .a small{color:var(--ink-3);font-size:.72rem;width:100%;}
.tp-serow .c{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.4rem;}
.tp-serow .c>small{font-size:.7rem;color:var(--ink-3);font-weight:700;margin-right:.1rem;}
.tp-sechip{font-size:.72rem;font-weight:700;padding:.22rem .6rem;border-radius:999px;border:1.5px solid var(--line-2);background:#fff;color:var(--ink-2);}
.tp-sechip.on{background:var(--forest);border-color:var(--forest);color:#fff;}
.tp-sechip small{opacity:.7;font-weight:600;}
.tp-sechip.static{cursor:default;}
.tp-secard .tp-link{font-size:.75rem;border: 1px solid;border-radius: 50px;padding: 2px 5px;}
.tp-sight{border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;margin-top:.5rem;background:#fff;}
.tp-sight>.h{font-weight:700;font-size:.88rem;color:var(--forest);}
.tp-sight>.h small{display:block;font-weight:500;color:var(--ink-3);font-size:.72rem;}
.tp-sight .tp-sec-l{margin:.6rem 0 .35rem;}
.tp-sight .tp-addon .tp-x{flex:none;}
.tp-onway{font-size:.76rem;color:var(--ink-2);padding:.25rem .2rem .25rem 2.6rem;}
.tp-fgrid span.must{background:var(--sage-10);color:var(--forest);font-weight:700;}
.tp-more{margin-top:.5rem;}
.tp-more summary{cursor:pointer;list-style:none;font-size:.78rem;color:var(--forest-2);background:var(--sage-10);border-radius:10px;padding:.45rem .6rem;}
.tp-more summary::-webkit-details-marker{display:none;}
.tp-more summary span{float:right;color:var(--sage);font-weight:700;}
.tp-same{display:block;font-style:normal;color:#8a5a12;font-size:.7rem;}
.tp-board.v10 .tp-left .tp-stop .t small{white-space:normal;overflow:visible;text-overflow:clip;}
@media (min-width:921px){ .tp-board.v10 .tp-left [data-a="toPlan"]{display:none;} }
@media (max-width:1240px){
  .tp-v10 .tp-board.v10{grid-template-columns:300px minmax(0,1fr);}
  .tp-narrow{display:block;}
}
@media (max-width:920px){
  .tp-v10 .tp-board.v10{grid-template-columns:minmax(0,1fr);margin-top:-4rem;}
  .tp-hchange{margin-left:0;}
  .tp-fgrid{grid-template-columns:1fr;}
  .tp-bnav .lb{order:-1;width:100%;}
  .tp-bnav .tp-btn{flex:1;}
}
/* ===== v10.4 — paid add-on rows + must-visit chips (desktop + mobile) =====
   Paste at the END of the <style> block in trip-planner.blade.php
   (just above "@media (prefers-reduced-motion:reduce)"), so it overrides the older .tp-addon / .tp-fgrid rules. */

/* paid add-on row: name + price info | price | add button */
.tp-addon{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.8rem;
  padding:.75rem .85rem;margin-bottom:.5rem;background:#fff;
  border:1px solid #EADFC8;border-left:4px solid #D9B26A;border-radius:12px;
  transition:border-color .15s,box-shadow .15s,background .15s;}
.tp-addon:hover{border-color:#D9B26A;box-shadow:0 4px 14px rgba(140,100,30,.10);}
.tp-addon.on{background:#FFF8EA;border-color:#C9A55C;border-left-color:#B8873A;box-shadow:0 0 0 1px #C9A55C inset;}
.tp-addon .t{display:block;min-width:0;}
.tp-addon .t b{font-size:.9rem;color:var(--ink);margin-right:.35rem;}
.tp-addon .t .tp-tag{vertical-align:2px;}
.tp-addon .t span{display:block;margin-top:.2rem;font-size:.74rem;color:var(--ink-3);line-height:1.45;}
.tp-addon .t small{display:block;margin-top:.15rem;font-size:.7rem;color:#8a6a2c;line-height:1.4;}
.tp-addon .r{text-align:right;white-space:nowrap;}
.tp-addon .r b{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.05rem;color:var(--forest);line-height:1.1;}
.tp-addon .r small{font-size:.66rem;color:var(--ink-3);}
.tp-addon .tp-cbtn{width:2.25rem;height:2.25rem;font-size:1rem;border-color:#D9B26A;color:#8a5a12;background:#fff;}
.tp-addon .tp-cbtn:hover{background:#FFF1D6;}
.tp-addon .tp-cbtn.on{background:#B8873A;border-color:#B8873A;color:#fff;}
.tp-addon .tp-x{flex:none;}

/* must visit + free place chips: white cards, green edge for must visit */
.tp-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.35rem;}
.tp-fgrid span{display:block;padding:.45rem .65rem;font-size:.78rem;line-height:1.35;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);border-radius:10px;}
.tp-fgrid span.must{background:#fff;color:var(--forest);font-weight:700;border-color:var(--sage-20);
  box-shadow:inset 3px 0 0 var(--sage);padding-left:.8rem;}

/* phone: price goes under the name, button stays on the right; chips one per line */
@media (max-width:600px){
  .tp-addon{grid-template-columns:minmax(0,1fr) auto;row-gap:.45rem;padding:.7rem .75rem;}
  .tp-addon .r{grid-column:1;grid-row:2;text-align:left;display:flex;align-items:baseline;gap:.35rem;}
  .tp-addon .r b{display:inline;}
  .tp-addon .tp-cbtn,.tp-addon .tp-x{grid-column:2;grid-row:1 / span 2;align-self:center;}
  .tp-fgrid{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){.tp *{transition:none!important;animation:none!important;}}

/* ---------- v2: step wizard ---------- */
.tp-hero .tp-wrap{padding-bottom:1.5rem;}
.tp-steps{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;}
.tp-steps ol{list-style:none;margin:0;padding:.55rem 0;display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;}
.tp-steps ol::-webkit-scrollbar{display:none;}
.tp-steps li{flex:1 0 auto;}
.tp-steps button{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:0;padding:.35rem .5rem;border-radius:10px;text-align:left;color:var(--ink-3);}
.tp-steps button:not([disabled]):hover{background:var(--sage-10);}
.tp-steps button[disabled]{cursor:default;}
.tp-steps i{width:26px;height:26px;flex:none;border-radius:50%;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:.78rem;background:#fff;}
.tp-steps b{display:block;font-size:.8rem;line-height:1.2;white-space:nowrap;}
.tp-steps em{display:block;font-style:normal;font-size:.68rem;white-space:nowrap;}
.tp-steps li.done i{background:var(--sage);border-color:var(--sage);color:#fff;}
.tp-steps li.done b{color:var(--forest-2);}
.tp-steps li.on i{background:var(--forest);border-color:var(--forest);color:#fff;}
.tp-steps li.on b{color:var(--forest);}
@media (max-width:1100px){.tp-steps em{display:none;}}
@media (max-width:700px){.tp-steps li:not(.on) b{display:none;}.tp-steps li{flex:0 0 auto;}}

.tp-flow{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.1rem;padding-top:1.1rem;align-items:start;}
.tp-fmain{min-width:0;}
.tp-wtot b{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.7rem;line-height:1.1;margin-top:.35rem;}
.tp-wtot span{font-size:.76rem;color:#A9C1AF;}
.tp-nav{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin:1.1rem 0 .5rem;}
.tp-nav.flat{margin:0;flex:1;justify-content:flex-end;}
.tp-nav-r{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;}
.tp-nav-why{font-size:.8rem;font-weight:700;color:var(--warn);}
.tp-btn[aria-disabled="true"]{opacity:.55;}

/* places */
.tp-pgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1rem;align-items:start;}
.tp-pgroup{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:.8rem;}
.tp-pgh{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem .8rem;background:var(--bg);border-bottom:1px solid var(--line);}
.tp-pgh b{font-size:.9rem;display:flex;align-items:center;gap:.4rem;}
.tp-pgh span{font-size:.74rem;color:var(--ink-3);}
.tp-pl{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border-bottom:1px solid var(--line);background:#fff;}
.tp-pl:last-child{border-bottom:0;}
.tp-pl.on{background:var(--sage-10);}
.tp-pl .th{width:54px;height:44px;border-radius:9px;background-size:cover;background-position:center;flex-shrink:0;background-color:var(--sage-20);}
.tp-pl .t{flex:1;min-width:0;}
.tp-pl .t b{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.88rem;line-height:1.3;}
.tp-pl .t > span{display:block;font-size:.74rem;color:var(--ink-2);margin-top:.15rem;}
.tp-pl-btn{flex-shrink:0;border:1.5px solid var(--forest);background:#fff;color:var(--forest);border-radius:999px;padding:.38rem .8rem;font-weight:800;font-size:.78rem;white-space:nowrap;}
.tp-pl.on .tp-pl-btn{background:var(--forest);color:#fff;}
.tp-code{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:18px;padding:0 .3rem;border-radius:5px;color:#fff;font-size:.66rem;font-weight:800;margin-right:.15rem;vertical-align:1px;font-family:'Plus Jakarta Sans',sans-serif;}
.tp-code.big{min-width:26px;height:22px;font-size:.78rem;}
.tp-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.1rem;}
.tp-chip-x{border:0;background:none;color:inherit;padding:0 0 0 .2rem;font-size:.75rem;opacity:.8;}
.tp-note > div{flex:1;min-width:0;}
.tp-path{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.84rem;font-weight:700;}
.tp-path .pp{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.25rem .6rem;}
.tp-path .ar{color:var(--ink-3);}

/* stays */
.tp-scard{border:1.5px solid var(--line);border-radius:var(--r-lg);padding:.8rem .9rem;margin-bottom:.8rem;background:#fff;}
.tp-scard.on{border-color:var(--sage-20);}
.tp-scard-h{display:flex;align-items:center;gap:.6rem;}
.tp-scard-h .n{width:26px;height:26px;border-radius:50%;background:var(--forest);color:#fff;font-size:.74rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tp-scard-h b{display:block;font-size:.95rem;}
.tp-scard-h small{display:block;font-size:.74rem;color:var(--ink-3);}
.tp-sec-l .opt{text-transform:none;letter-spacing:0;font-weight:600;}

/* day plan + vehicle */
.tp-near{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.55rem;}
.tp-near > span{font-size:.74rem;font-weight:700;color:var(--ink-3);margin-right:.2rem;}
.tp-near small{font-weight:600;opacity:.8;}
.tp-trow{padding:.5rem 0;border-bottom:1px dashed var(--line);}
.tp-trow:last-child{border-bottom:0;}

@media (max-width:1240px){
  .tp-flow{grid-template-columns:minmax(0,1fr);}
  .tp-flow > .tp-fside{display:none;}
}
@media (max-width:920px){ .tp-pgrid{grid-template-columns:minmax(0,1fr);} }
@media (max-width:600px){
  .tp-pl{flex-wrap:wrap;}
  .tp-pl .t{flex:1 1 calc(100% - 70px);}
  .tp-pl-btn{margin-left:auto;}
  .tp-nav .tp-btn{flex:1;}
  .tp-nav-r{width:100%;}
  .tp-nav-why{width:100%;text-align:right;}
}

/* ---------- v3: board left column places list ---------- */
.tp-left .tp-plist{max-height:560px;overflow:auto;margin:0 -.2rem;padding:0 .2rem;}
.tp-left .tp-pl{padding:.5rem .6rem;gap:.55rem;}
.tp-left .tp-pl .th{width:40px;height:36px;}
.tp-left .tp-pl .t b{font-size:.84rem;}
.tp-left .tp-pl .t > span{font-size:.71rem;}
.tp-left .tp-pl-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;}
.tp-pl.off{opacity:.55;}
.tp-left .tp-pgh{padding:.45rem .6rem;}
@media (max-width:920px){ .tp-left .tp-plist{max-height:none;} }
.tp-left .tp-stop{flex-wrap:wrap;row-gap:.35rem;}
.tp-left .tp-stop .t{flex:1 1 calc(100% - 70px);}
.tp-left .tp-stop .t small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tp-left .tp-stop .mv:first-of-type{margin-left:30px;}
.tp-left .tp-stop .tp-stp{margin-left:auto;}
@media (max-width:600px){ .tp-left .tp-pl{flex-wrap:nowrap;} .tp-left .tp-pl .t{flex:1 1 auto;} .tp-left .tp-pl-btn{margin-left:0;} }
/* v4 city mode */
.tp-city{border:1px solid var(--line,#E2E8E1);border-radius:14px;margin-bottom:.55rem;background:#fff;overflow:hidden}
.tp-city.on{border-color:#1E3A2B;box-shadow:0 0 0 1px #1E3A2B inset}
.tp-city.off{opacity:.55}
.tp-city-h{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem}
.tp-city-h .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.tp-city-h .t b{font-size:.95rem}
.tp-city-h .t span{font-size:.76rem;color:var(--ink-3,#6B786E)}
.tp-city-opt{padding:0 .7rem .5rem;align-items:center}
.tp-city-opt small{font-size:.72rem;color:var(--ink-3,#6B786E)}
.tp-city-places{padding:0 .5rem .5rem;border-top:1px dashed var(--line,#E2E8E1)}
.tp-city-places .tp-pl{margin-top:.4rem}
/* v5 start / end + arrival / departure strips */
.tp-se{margin-bottom:.6rem}.tp-se:last-child{margin-bottom:0}
.tp-se-l{display:block;font-size:.8rem;color:var(--ink-2);margin-bottom:.35rem}
.tp-se .tp-chip small{opacity:.8;font-weight:600}
.tp-edge{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:var(--r-lg);background:var(--gold-10);border:1.5px dashed #E6CFA4;margin-left:62px}
.tp-edge .ic{width:34px;height:34px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tp-edge .t{flex:1;min-width:0}.tp-edge .t b{display:block;font-size:.88rem}
.tp-edge .t span{display:block;font-size:.78rem;color:var(--ink-2)}.tp-edge .t small{display:block;font-size:.72rem;color:var(--ink-3)}
.tp-edge .p{font-weight:800;white-space:nowrap}
@media (max-width:600px){.tp-edge{margin-left:0}}

/* v6: stay or day out (optional towns) */
.tp-leg2{font-size:.72rem;color:var(--ink-3);font-weight:700;padding:.15rem 0 .15rem 1.1rem}
.tp-leg2.start,.tp-leg2.end{color:var(--forest-2)}
.tp-circ{border:1px dashed var(--line-2);border-radius:var(--r);padding:.5rem .6rem;margin:.45rem 0;background:#fff}
.tp-circ-h{font-size:.8rem;font-weight:800;color:var(--forest);margin-bottom:.2rem}
.tp-circ-h small{font-weight:600;color:var(--ink-3)}
.tp-circ .tp-slot{margin:.15rem 0}
.tp-onway{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--gold,#B8873A);margin:.4rem 0 .1rem}
.tp-city-opt2{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;padding:.45rem 0;border-top:1px solid var(--line,#E3E8E1)}
.tp-city-opt2 b{font-size:.9rem}
.tp-city-opt2 small{font-size:.72rem;color:var(--ink-3,#6B786E)}
.tp-city-opt2 .tp-chips{margin-left:auto}
.tp-near{margin-bottom:.8rem}


/* ===== v15: Paid add-ons panel · day plan (stay + travel) · vehicle list ===== */
.tp-paidp .hd{display:flex;align-items:center;gap:.45rem;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.75rem;}
.tp-paidp .hd small{margin-left:auto;letter-spacing:0;text-transform:none;font-weight:700;color:var(--sage);font-size:.72rem;}
.tp-pacc{border:1px solid var(--line);border-radius:14px;margin-bottom:.55rem;overflow:hidden;background:#fff;}
.tp-pacc>button.h{display:flex;align-items:center;gap:.4rem;width:100%;border:0;background:#fff;padding:.7rem .8rem;text-align:left;}
.tp-pacc.open>button.h{background:var(--bg);}
.tp-pacc>button.h b{font-family:'Fraunces',Georgia,serif;font-size:1rem;color:var(--forest);}
.tp-pacc>button.h small{font-size:.7rem;color:var(--ink-3);font-weight:600;}
.tp-pacc>button.h small.on{color:var(--sage);font-weight:800;}
.tp-pacc>button.h i{margin-left:auto;font-style:normal;color:var(--ink-3);transition:transform .2s;}
.tp-pacc.open>button.h i{transform:rotate(180deg);}
.tp-prow{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border-top:1px solid var(--line);}
.tp-prow .t{flex:1;min-width:0;}
.tp-prow .t b{display:block;font-size:.84rem;line-height:1.25;}
.tp-prow .bd{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem;}
.tp-prow .bd span{font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:5px;padding:.12rem .35rem;}
.tp-prow .bd .must{background:var(--forest);color:#fff;}
.tp-prow .bd .pm{background:#FDECEC;color:#B42318;border:1px solid #F5C2C0;}
.tp-prow .bd .en{background:var(--gold-10);color:#8a5a12;border:1px solid #E6CFA4;}
.tp-prow .t small{display:block;font-size:.7rem;color:var(--ink-3);margin-top:.25rem;}
.tp-prow .tp-cbtn{width:2.3rem;height:2.3rem;font-size:1.05rem;border-color:var(--ink);color:var(--ink);}
.tp-prow .tp-cbtn.on{background:var(--forest);border-color:var(--forest);color:#fff;}
.tp-dload{display:flex;align-items:center;gap:.6rem;margin:.5rem 0 .2rem;font-size:.74rem;font-weight:800;color:var(--forest);}
.tp-dload .tr{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden;}
.tp-dload .tr i{display:block;height:100%;border-radius:999px;background:var(--forest-2);}
.tp-dload .dr{color:var(--ink-2);font-weight:700;white-space:nowrap;}
.tp-dload.over,.tp-dload.over+.tp-dsub{color:var(--danger);}
.tp-dload.over .tr i{background:var(--danger);}
.tp-dsub{font-size:.72rem;color:var(--ink-3);margin:0 0 .55rem;}
.tp-vh h2{font-size:1.3rem;margin:0;}.tp-vh h2 em{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--sage);font-weight:500;}
.tp-vh>span{display:block;font-size:.74rem;color:var(--ink-3);margin:.15rem 0 .85rem;}
.tp-vlist{display:grid;gap:.5rem;}
.tp-vrow{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:.7rem .75rem;}
.tp-vrow:hover{border-color:var(--sage);}
.tp-vrow .rd{flex:none;width:1.15rem;height:1.15rem;border-radius:50%;border:1.5px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;color:#fff;}
.tp-vrow.on{border-color:var(--forest);background:var(--sage-10);box-shadow:0 0 0 1px var(--forest) inset;}
.tp-vrow.on .rd{background:var(--forest);border-color:var(--forest);}
.tp-vrow .t{flex:1;min-width:0;}.tp-vrow .t b{display:block;font-size:.84rem;line-height:1.2;}
.tp-vrow .t small{display:block;font-size:.7rem;color:var(--ink-3);margin-top:.15rem;}
.tp-vrow .p{text-align:right;white-space:nowrap;}.tp-vrow .p b{display:block;font-size:.95rem;}
.tp-vrow .p small{display:block;font-size:.66rem;color:var(--ink-3);}
.tp-vcnt{margin-top:.2rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.76rem;color:var(--ink-2);font-weight:700;padding:.1rem .2rem;}
.tp-vleg{border:1.5px solid var(--line);border-radius:14px;padding:.75rem .8rem;margin-top:.6rem;}
.tp-vleg .h{display:flex;align-items:center;gap:.4rem;font-size:.86rem;}
.tp-vleg .h b{flex:1;}.tp-vleg .h strong{font-size:.95rem;}
.tp-vleg>small{display:block;font-size:.72rem;color:var(--ink-3);margin:.2rem 0 .55rem;}
.tp-vleg .yn{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;}
.tp-vleg .yn button{display:flex;align-items:center;gap:.45rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;padding:.5rem .6rem;font-size:.8rem;font-weight:700;color:var(--ink);}
.tp-vleg .yn button .rd{width:1rem;height:1rem;border-radius:50%;border:1.5px solid var(--line-2);flex:none;}
.tp-vleg .yn button.on{border-color:var(--forest);background:var(--sage-10);}
.tp-vleg .yn button.on .rd{border:5px solid var(--forest);}
.tp-vleg select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:.5rem .55rem;font-size:.8rem;background:#fff;}

/* =====================================================================
   NEW-DESIGN LAYER (common MBTS header / footer pages)
   - bootstrap.min.css / style.css are not loaded any more → base rules here
   - Manrope + new site colours; Fraunces only for the italic accent words
   - --mbs-top = height of the sticky site header (set by mbts-planner.js),
     so sticky bars / scroll targets stop below it
   ===================================================================== */
body.tpp-page{margin:0;background:#FAF8F3}
.tp{
  --bg:#FAF8F3; --ink:#111A14; --ink-2:#4B564E; --ink-3:#7D877F;
  --sage:#2F7A42; --sage-10:#EAF2EA; --sage-20:#D3E6D5; --line:#E4E7E1; --line-2:#CFD8CC;
  --danger:#B42318; --danger-bg:#FDECEC;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:15px; line-height:1.55;
}
:where(.tp) *::before,:where(.tp) *::after{box-sizing:border-box}
:where(.tp) :is(h5,h6){margin:0}
:where(.tp) :is(ul,ol){margin:0 0 1rem;padding-left:1.5rem}
:where(.tp) :is(button,input,select,textarea){font-size:inherit;line-height:inherit;margin:0;color:inherit}
:where(.tp) button{border-radius:0;text-transform:none}
:where(.tp) label{display:inline-block}
:where(.tp) :is(img,svg){vertical-align:middle}
:where(.tp) table{border-collapse:collapse}
:where(.tp) :is(b,strong){font-weight:bolder}
:where(.tp) small{font-size:.875em}
:where(.tp) hr{margin:1rem 0;border:0;border-top:1px solid var(--line)}
:where(.tp) [hidden]{display:none!important}
.tp :focus-visible{outline:3px solid #F5B800;outline-offset:2px}

/* headings: Manrope bold; <em> words in Fraunces italic */
.tp h1,.tp h2,.tp h3,.tp h4{font-family:'Manrope',system-ui,sans-serif;font-weight:800;letter-spacing:-.02em}
.tp :is(h1,h2,h3,h4) em{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.01em}

/* step-1 hero: photo + green shade, like the other new pages */
.tp-hero{position:relative;background:#14281C url(../images/home/hero-summit.jpg) center/cover no-repeat}
.tp-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,15,.88) 0%,rgba(10,22,15,.66) 55%,rgba(10,22,15,.42) 100%)}
.tp-hero .tp-wrap{position:relative;padding-top:clamp(1.8rem,4vw,2.8rem);padding-bottom:1.8rem}
.tp-hero h1{color:#fff;font-size:clamp(1.8rem,4.6vw,3rem);line-height:1.06;letter-spacing:-.025em}
.tp-hero h1 em{color:#F2D27C}
.tp-hero p{color:rgba(255,255,255,.86)}
.tp-kicker{color:#F2D27C;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tp-hero-meta div span{color:rgba(255,255,255,.72)}
.tp-hero-meta div.on b{color:#F2D27C}
.tp-crumb{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;font-size:.78rem;color:rgba(255,255,255,.75)}
.tp-crumb a{color:#fff}
.tp-crumb a:hover{text-decoration:underline}
/* board hero (state photo) */
.tp-bhero h1{color:#fff;line-height:1.08;letter-spacing:-.025em}
.tp-bhero h1 em{color:#F2D27C}
.tp-kicker2{color:#F2D27C}

/* sticky parts stop under the sticky site header */
.tp-steps{top:var(--mbs-top,0px)}
.tp-sticky{top:calc(var(--mbs-top,0px) + 12px)}
.tp-board,.tp-mcard,.tp-flow,.tp-review{scroll-margin-top:calc(var(--mbs-top,0px) + 12px)}

/* phone: 16px text in fields so iPhone does not zoom in */
@media (max-width:767px){ .tp :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px} }
@media (max-width:575px){ .tp-crumb{display:none} }
/* tablet: guest counters 2 per row (4 in a row did not fit at ~820px) */
@media (min-width:601px) and (max-width:1023px){ .tp-r4{grid-template-columns:repeat(2,minmax(0,1fr))} }
