:root{
  --ink:#0E0E0E; --ink-2:#0E0E0E; --paper:#FFFFFF; --paper-2:#F4F4F4; --line:#E2E2E2; --muted:#5F5F5F;
  --red:#FF5A36; --red-deep:#E14A28; --blue:#0E0E0E; --blue-light:#F1F1F1; --yellow:#D9BC6A; --yellow-light:#F3F3F3;
  --teal:var(--blue); --teal-soft:var(--blue-light);
  --bg:var(--paper); --card:var(--paper-2); --text:var(--ink);
  --ok:var(--blue); --warn:#8a6400; --radius:14px; --shadow:none;
  --display:"DM Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif; --body:"DM Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);color:var(--text);background:var(--bg);line-height:1.5}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.025em;margin:0 0 .4rem;color:var(--ink)}
h1{font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.08}
h2{font-size:1.6rem}
h3{font-size:1.15rem}
p{margin:.3rem 0}
a{color:var(--teal)}
.muted{color:var(--muted)} .small{font-size:.85rem}
main{max-width:1080px;margin:0 auto;padding:0 16px 80px}

.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:8px 16px;gap:4px 10px}
.brand{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;white-space:nowrap}
.brand-mark{display:none}
.brand .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--red);margin-left:1px;vertical-align:-1px}
.nav{display:flex;gap:4px}
.nav a{text-decoration:none;color:var(--ink-2);font-weight:600;font-size:.85rem;padding:6px 9px;border-radius:999px;white-space:nowrap}
@media(max-width:560px){.nav{width:100%;justify-content:flex-start}}
.nav a.on{background:var(--ink);color:#fff}
.pill{display:inline-block;background:var(--blue);color:#fff;border-radius:999px;font-size:.7rem;padding:0 6px;margin-left:3px;vertical-align:1px}

.view{display:none;padding-top:22px;scroll-margin-top:80px}
.view.on{display:block}
.hero{padding:34px 0 20px;max-width:720px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--muted)}
.lede{font-size:1.1rem;color:var(--ink-2);max-width:600px}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn{display:inline-block;border:1px solid var(--ink);background:#fff;color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none;cursor:pointer;font-size:.95rem;font-family:inherit}
.btn.primary{background:var(--red);border-color:var(--red);color:#fff}
.btn.primary:hover{background:var(--red-deep);border-color:var(--red-deep)}
.btn.ghost{border-color:var(--line);color:var(--ink-2)}
.btn.wide{width:100%;margin-top:14px}
.btn.sm{padding:6px 12px;font-size:.85rem}
.btn:disabled{opacity:.5;cursor:default}

.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}
@media(min-width:720px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.stat b{display:block;font-family:var(--display);font-size:1.8rem;color:var(--ink);line-height:1.1}
.stat span{font-size:.8rem;color:var(--muted)}

.home-grid{display:grid;gap:14px}
@media(min-width:820px){.home-grid{grid-template-columns:1.1fr 1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.picks{margin:.6rem 0 0;padding-left:1.2rem}
.picks li{margin:.35rem 0}
.picks small{color:var(--muted);display:block}
.how{padding-left:1.1rem;margin:.5rem 0}
.how li{margin:.4rem 0}

.section-head{margin-bottom:14px}
.filters{position:sticky;top:54px;z-index:10;background:var(--paper);padding:6px 0 10px}
.filters input[type=search],.filters select,.calc input,.calc select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--text)}
input:focus,select:focus,button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.chips{display:flex;gap:6px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600;color:var(--ink-2);cursor:pointer;font-family:inherit}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;align-items:center}
@media(min-width:720px){.filter-row{grid-template-columns:1fr 1fr auto auto}}
.check{font-size:.85rem;display:flex;align-items:center;gap:6px;color:var(--ink-2);white-space:nowrap}

.list{display:grid;gap:10px}
@media(min-width:720px){.list{grid-template-columns:1fr 1fr}}
.r{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:6px 12px;transition:border-color .15s}
.r:hover{border-color:var(--ink)}
.r h4{margin:0;font-size:1rem;color:var(--ink);font-family:var(--body);font-weight:700}
.r .where{font-size:.82rem;color:var(--muted)}
.r .score{text-align:right}
.r .score b{display:block;font-family:var(--display);font-size:1.35rem;color:var(--ink);line-height:1}
.r .score span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.r .score.na b{color:var(--muted);font-size:1rem}
.tags{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:.72rem;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px 7px;color:var(--ink-2)}
.tag.char{background:var(--blue-light);border-color:#F1F1F1;color:var(--blue)}
.tag.price{background:var(--yellow-light);border-color:#E6D49C;color:var(--ink)}
.meter{grid-column:1/-1;height:4px;background:var(--line);border-radius:3px;overflow:hidden}
.meter i{display:block;height:100%;background:var(--blue)}

.drawer-bg{position:fixed;inset:0;background:rgba(15,42,68,.45);display:none;z-index:30}
.drawer-bg.on{display:block}
.drawer{position:fixed;z-index:31;background:#fff;right:0;top:0;bottom:0;width:min(520px,100%);transform:translateX(100%);transition:transform .25s;overflow-y:auto;padding:20px;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
.drawer.on{transform:none}
@media(max-width:600px){.drawer{top:auto;max-height:88vh;width:100%;border-radius:18px 18px 0 0;transform:translateY(100%)}}
.drawer .close{float:right;border:0;background:var(--bg);border-radius:999px;width:34px;height:34px;font-size:1.1rem;cursor:pointer}
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;font-size:.9rem;margin:12px 0}
.kv dt{color:var(--muted)} .kv dd{margin:0}
.links{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.links a{font-size:.85rem;border:1px solid var(--line);border-radius:999px;padding:6px 12px;text-decoration:none;color:var(--ink)}
.note{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:.88rem}

.calc{display:grid;gap:14px}
@media(min-width:820px){.calc{grid-template-columns:1fr 1fr;align-items:start}}
.calc label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-2);margin:10px 0 0;position:relative}
.calc label input,.calc label select{margin-top:4px;font-weight:400}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.suggest{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:5;max-height:260px;overflow-y:auto;display:none}
.suggest.on{display:block}
.suggest div{padding:9px 12px;cursor:pointer;font-weight:400}
.suggest div:hover{background:var(--bg)}
.suggest small{color:var(--muted);display:block}
.chosen{margin-top:10px}
.chosen .box{background:var(--teal-soft);border-radius:10px;padding:10px 12px;font-size:.9rem}
.mode-toggle{display:flex;background:var(--bg);border-radius:999px;padding:3px;margin:14px 0 4px}
.mode{flex:1;border:0;background:transparent;border-radius:999px;padding:8px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--ink-2)}
.mode.on{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.assump{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.assump summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.items{display:grid;gap:6px;margin:10px 0}
.item{display:grid;grid-template-columns:1fr 80px 60px 30px;gap:6px;align-items:center}
.item input{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.item button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1.1rem}

.calc-result{position:sticky;top:70px;background:#fff}
.total{font-family:var(--display);font-size:2.6rem;color:var(--ink);line-height:1;margin:6px 0}
.per{color:var(--muted);font-size:.9rem}
.lines{width:100%;border-collapse:collapse;margin:14px 0;font-size:.9rem}
.lines td{padding:6px 0;border-bottom:1px solid var(--line)}
.lines td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.lines tr.sub td{font-weight:700;border-bottom:2px solid var(--ink)}
.basis{font-size:.8rem;color:var(--muted);background:var(--bg);border-radius:8px;padding:8px 10px}

.trip-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.trip-row b{display:block}
.trip-row small{color:var(--muted)}
.trip-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px}
.trip-total .total{font-size:2rem}
.bar{height:10px;background:var(--line);border-radius:6px;overflow:hidden;margin:10px 0 4px;display:flex}
.bar i{display:block;height:100%}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}

.foot{max-width:1080px;margin:0 auto;padding:24px 16px 50px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.foot b{color:var(--ink)}
.foot{padding:14px 16px 40px;font-size:.8rem}.foot .small{margin:0}.foot #footDetail p{margin:8px 0 0;font-size:.78rem}.linklike{background:none;border:0;padding:0;color:var(--blue);text-decoration:underline;cursor:pointer;font:inherit}
#signinBtn.signed{border-color:var(--blue);color:var(--blue);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* planner additions */
.stepper{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.stepper a{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;text-decoration:none;color:var(--text)}
.stepper a:hover{border-color:var(--ink)}
.stepper .num{width:32px;height:32px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;font-weight:700;color:var(--ink)}
.stepper li.done .num{background:var(--blue);color:#fff;border-color:var(--blue)}
.stepper b{display:block;color:var(--ink)} .stepper small{color:var(--muted)}
.stepper .arrow{color:var(--muted);font-size:1.3rem}
.steps-home{margin:18px 0}
.step-head{margin-bottom:14px}
.step-no{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--muted)}
.step .cta-row{margin-top:18px}
.day{margin-bottom:10px}
.dayhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.parks{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.park{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;font-family:inherit}
.park b{display:block;font-size:.9rem;color:var(--ink)} .park span{font-size:.75rem;color:var(--muted)}
.park.on{border-color:var(--blue);background:var(--blue)} .park.on b,.park.on span{color:#fff}
.park:disabled{opacity:.5;cursor:default}
.dayline{margin-top:10px;font-size:.9rem;color:var(--ink-2)}
.evrow{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);font-size:.9rem}
.evrow small{display:block;color:var(--muted)}
.subtabs{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px;margin:4px 0 14px}
.subtabs button{flex:1;border:0;background:transparent;border-radius:999px;padding:8px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--ink-2);font-size:.9rem}
.subtabs button.on{background:var(--ink);color:#fff}
.r.sel{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue) inset}
#hotelChosen{margin-top:14px}
#hotelChosen label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-2);margin:10px 0 0}
#hotelChosen input,#hotelChosen select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;margin-top:4px;font-weight:400}
#step1 label,#step4 label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-2);margin:10px 0 0}
#step1 input,#step4 input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;margin-top:4px;font-weight:400}
.lines.budget td{vertical-align:top}
.lines.budget td small{display:block;color:var(--muted);font-weight:400}
.lines.budget a{color:var(--ink);font-weight:600;text-decoration:none}
.sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.kind{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;border-radius:6px;padding:2px 6px;background:var(--bg);color:var(--muted)}
.kind.published{background:var(--blue-light);color:var(--blue)} .kind.estimate{background:var(--yellow-light);color:var(--ink)} .kind.yours{background:#E2E2E2;color:var(--ink)}

.hours{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.8rem;color:var(--ink-2);margin:4px 0 8px}
.hours b{color:var(--muted);font-weight:600}
.hours small{flex-basis:100%;color:var(--muted);font-size:.72rem}
.wx{display:flex;gap:10px;align-items:baseline;font-size:.85rem;color:var(--ink-2);margin:2px 0 6px}
.wx-t{font-weight:700;color:var(--ink)} .wx small{color:var(--muted);font-size:.72rem}
.wxrow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.llday{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.llday small{display:block;color:var(--muted)}
.llopts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
@media(max-width:520px){.llday{grid-template-columns:1fr}}

.unlock{margin-top:14px;border-color:var(--red);background:#fff}
@media print{.topbar,.nav,.cta-row,.unlock,.foot,.stepper{display:none!important}.view{display:none!important}.view.on{display:block!important}body{background:#fff}}

.chat{margin-bottom:18px}
.chat-log{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto;padding:4px 0 10px}
.msg{max-width:85%;padding:10px 14px;border-radius:16px;font-size:.95rem;line-height:1.45}
.msg.bot{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}
.msg.me{background:var(--blue);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.chat-form{display:flex;gap:8px}
.chat-form input{flex:1;padding:11px 12px;border:1px solid var(--line);border-radius:999px;font:inherit}
.chat-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.chat-quick button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:.85rem;font-family:inherit;cursor:pointer;color:var(--ink-2)}
.chat-quick button:hover{border-color:var(--ink)}

/* packing list */
.pack-group{margin:14px 0}
.pack-group h3{margin-bottom:6px}
.pack-item{display:flex;gap:10px;align-items:flex-start;padding:7px 0;border-top:1px solid var(--line);font-size:.95rem}
.pack-item input{margin-top:4px;accent-color:var(--blue)}
.pack-item.done span{text-decoration:line-through;color:var(--muted)}
.pack-item small{display:block;color:var(--muted);font-size:.8rem}
.pack-why{background:var(--yellow-light);border-radius:10px;padding:10px 12px;font-size:.9rem;margin:10px 0}
.pack-progress{height:8px;background:var(--line);border-radius:6px;overflow:hidden;margin:6px 0 2px}
.pack-progress i{display:block;height:100%;background:var(--blue)}

.shoplink{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--blue);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap;background:#fff}
.gear{display:grid;gap:8px}
@media(min-width:720px){.gear{grid-template-columns:1fr 1fr}}
.gear-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.gear-item b{flex:1 1 55%}
.gear-item small{flex-basis:100%;color:var(--muted);font-size:.8rem;order:3}
.gear-item .btn{margin-left:auto}

/* ---------- app shell (sidebar design) ---------- */
body.app{background:var(--paper-2)}
.mark{flex:none}
.brand .dot{display:none}
.mobile-only{display:none}
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow:auto;background:#fff;border-right:1px solid var(--line);padding:18px 16px;display:flex;flex-direction:column;gap:16px}
.side .brand{font-size:1.05rem}
.side-nav{display:flex;flex-direction:column;gap:2px}
.side-nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:.9rem;padding:9px 11px;border-radius:10px}
.side-nav a:hover{background:var(--paper-2)}
.side-nav a.on{background:var(--ink);color:#fff}
.side-nav a.on .pill{background:#fff;color:var(--ink)}
.side-nav a.ask{margin-top:8px;border:1px solid var(--line)}
.side-nav a.ask.on{border-color:var(--ink)}
.side-foot{margin-top:auto}
.side-foot a{color:var(--muted)}
.trip-card{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:14px}
.trip-card .eyebrow{margin:0 0 4px}
.trip-card .trip-name{display:block;font-family:var(--display);font-size:1.05rem}
.trip-card small{display:block;color:var(--muted);font-size:.8rem;margin:2px 0 8px}
.trip-card .trip-total{font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;margin-bottom:8px}
.trip-card .btn{margin-top:10px;width:100%;text-align:center}
.split{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--line)}
.split i{display:block;height:100%}
.split .pub,.legend .pub{background:var(--blue)}
.split .est,.legend .est{background:var(--yellow,#D9BC6A)}
.split .you,.legend .you{background:var(--ink)}
.split.empty i{background:var(--line)}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.78rem;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.total-card .total-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.total-card .total{font-family:var(--display);font-weight:700;font-size:2.2rem;letter-spacing:-.02em;line-height:1;margin:4px 0 12px}
.total-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0 10px}
.total-grid a{display:block;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--ink)}
.total-grid a small{display:block;color:var(--muted);font-size:.75rem}
.total-grid a b{font-size:1.05rem}
@media(min-width:720px){.total-grid{grid-template-columns:repeat(4,1fr)}}
/* three-column dining tool */
@media(min-width:1180px){.calc{grid-template-columns:1.05fr .95fr .8fr}}
.calc-compare h3{margin:0 0 10px;font-size:1rem}
.calc-compare h3+ .rbar{margin-top:0}
.calc-compare h3:not(:first-child){margin-top:16px}
.rbar{display:grid;grid-template-columns:76px 1fr 44px;align-items:center;gap:8px;font-size:.8rem;margin:6px 0}
.rbar span{color:var(--muted)}
.rbar .track{height:7px;border-radius:999px;background:var(--line);overflow:hidden}
.rbar .track i{display:block;height:100%;background:var(--blue)}
.rbar b{text-align:right}
.near a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:.88rem}
.near a:first-child{border-top:0}
.near a small{display:block;color:var(--muted);font-size:.75rem;font-weight:400}
.near a>b{color:var(--blue);white-space:nowrap}
.menu-btn{font:inherit;font-weight:600;font-size:.85rem;border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer}
@media(max-width:900px){
  .mobile-only{display:flex}
  .shell{display:block}
  .side{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);z-index:40;transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 0 100vw rgba(0,0,0,0)}
  body.menu-open .side{transform:none;box-shadow:0 0 0 100vw rgba(20,20,20,.35)}
  .side>.brand{display:none}
}
@media print{.side,.mobile-only{display:none!important}.shell{display:block}}
.pq-q{font-family:var(--display);font-size:1.5rem;margin:10px 0 6px}
.pq-done{margin-bottom:6px}
.pq-done .chip{font-size:.78rem}
.pq-done .chip b{font-weight:700}
/* park day timeline */
.day-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-bottom:10px}
.day-head h3{margin:2px 0 4px;font-family:var(--display);font-size:1.35rem}
.day-stats{display:flex;gap:8px}
.day-stats div{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;text-align:center;min-width:72px}
.day-stats b{display:block;font-family:var(--display);font-size:1.3rem;line-height:1.1}
.day-stats span{font-size:.72rem;color:var(--muted)}
.day-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 14px;font-size:.85rem}
.day-controls label{font-weight:600;color:var(--ink-2)}
.day-controls select{margin-left:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);margin-left:70px}
.tl{display:grid;grid-template-columns:1fr auto;gap:4px 10px;position:relative;padding:9px 0 9px 18px;border-bottom:1px solid var(--line)}
.tl::before{content:"";position:absolute;left:-7px;top:16px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--blue)}
.tl.meal::before{border-color:var(--yellow);background:var(--yellow)}
.tl.rest::before{border-color:var(--line);background:var(--paper-2)}
.tl.show::before{border-color:var(--ink);background:var(--ink)}
.tl-time{position:absolute;left:-82px;top:10px;width:64px;text-align:right;font-weight:700;font-size:.85rem}
.tl-time small{display:block;font-weight:400;color:var(--muted);font-size:.72rem}
.tl-body b{display:block}
.tl-body small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.tl-body .tl-land{color:var(--ink-2)}
.tl-pills{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start}
.tl-pills i{font-style:normal;font-size:.68rem;font-weight:700;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tl-pills .pill-ll{background:var(--blue);color:#fff;border-color:var(--blue)}
.tl-pills .pill-live{background:var(--yellow-light);color:var(--ink);border-color:var(--yellow)}
.tl-pills .pill-kind{background:var(--paper-2)}
.day-note{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.85rem;margin-top:12px}
@media(max-width:560px){.timeline{margin-left:0;border-left:0}.tl{grid-template-columns:1fr;padding-left:0}.tl::before{display:none}.tl-time{position:static;width:auto;text-align:left;display:flex;gap:8px}.tl-pills{justify-content:flex-start}}
.todos{list-style:none;margin:0;padding:0}
.todos li{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.todos li.past{opacity:.55}
.todo-date b{display:block;font-size:.9rem}.todo-date small{color:var(--muted);font-size:.75rem}
.todo-body b{display:block}.todo-body small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.todo-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.todos li{grid-template-columns:1fr}.todo-act{justify-content:flex-start}}
.tl-skip{font:inherit;font-size:.68rem;font-weight:700;border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 8px;cursor:pointer;color:var(--muted)}
.tl-skip:hover{border-color:var(--ink);color:var(--ink)}
.linkbtn{font:inherit;font-size:.8rem;background:none;border:0;color:var(--blue);text-decoration:underline;cursor:pointer;padding:0}
.explain-grid{display:grid;gap:12px}
@media(min-width:720px){.explain-grid{grid-template-columns:repeat(3,1fr)}}
.explain-grid div{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.explain-grid b{display:block;margin-bottom:4px}
.explain-grid p{margin:0;font-size:.85rem;color:var(--ink-2)}
.verdict{display:inline-block;font-style:normal;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;margin-top:6px;border:1px solid var(--line)}
.verdict.yes{background:var(--blue);color:#fff;border-color:var(--blue)}
.verdict.maybe{background:var(--yellow-light);border-color:var(--yellow)}
.verdict.no{background:var(--paper-2);color:var(--ink-2)}
.advice{grid-column:1/-1;margin:8px 0 0;font-size:.88rem;color:var(--ink-2)}
.waits{grid-column:1/-1;margin-top:8px;display:grid;gap:5px}
.waits small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.waits span{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto;gap:10px;align-items:center;font-size:.8rem}
.waits span b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.waits span i{display:block;height:7px;border-radius:999px;background:var(--blue);min-width:4px;justify-self:start;width:100%}
.waits span em{font-style:normal;color:var(--muted);white-space:nowrap}
.basis-line{grid-column:1/-1;margin:8px 0 0;font-size:.82rem;color:var(--ink-2)}
.basis-line .muted{display:block;margin-top:2px}
.trial-note{display:block;text-align:center;margin-top:8px;color:var(--muted);font-size:.74rem}
/* trip guide */
.guide{padding:28px 30px}
.g-cover h1{font-family:var(--display);font-size:2rem;margin:4px 0 8px;letter-spacing:-.02em}
.g-cover .lede{font-size:1rem;color:var(--ink-2);margin:0 0 14px}
.g-total{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px}
.g-total small{display:block;color:var(--muted);font-size:.75rem}
.g-total b{font-family:var(--display);font-size:2.2rem;line-height:1}
.guide section{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.guide h2{font-family:var(--display);font-size:1.4rem;margin:0 0 10px}
.guide h3{font-family:var(--display);font-size:1.1rem;margin:16px 0 4px}
.g-tl,.g-todo{width:100%;border-collapse:collapse;font-size:.86rem}
.g-tl td,.g-todo td{padding:6px 8px 6px 0;border-bottom:1px solid var(--line);vertical-align:top}
.g-tl td:first-child{white-space:nowrap;width:70px;font-weight:700}
.g-tl td:last-child{white-space:nowrap;text-align:right}
.g-tl tr.meal td:nth-child(2) b{color:#8a6a00}
.g-tl i{font-style:normal;font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--blue-light);color:var(--blue)}
.g-pack{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.g-pack ul{margin:4px 0 0;padding-left:16px;font-size:.84rem}
.g-pack li{margin:2px 0}
@media print{.noprint,.side,.topbar,.cta-row,.step-head{display:none!important}.shell{display:block}main{padding:0;max-width:none}.guide{border:0;box-shadow:none;padding:0}.g-day{break-inside:avoid}}

.lastyear{display:flex;gap:10px;margin:10px 0 6px;flex-wrap:wrap}
.lastyear span{flex:1 1 180px;background:var(--paper2,#F4F4F4);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.lastyear small{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#5F5F5F}
.lastyear b{font-family:var(--display);font-size:26px;line-height:1.1;color:#0E0E0E}
.lastyear em{font-style:normal;font-size:12px;color:#555}
@media print{.lastyear{break-inside:avoid}}

/* intake wizard, when to go, premier */
.nav-group{display:block;margin:12px 11px 2px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.pill.free{background:var(--yellow,#D9BC6A);color:#0E0E0E}
.wizard{max-width:720px}
.wizard .row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wizard label{display:block;font-weight:600;font-size:.95rem}
/* Wizard fields: full width, 16px text (stops iPhone Safari zooming in on tap), a tap-sized box */
.wizard label input:not([type=checkbox]):not([type=radio]),.wizard label select{display:block;width:100%;margin-top:6px;padding:11px 12px;min-height:46px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;font-weight:400;background:#fff;color:var(--text);box-sizing:border-box}
/* Phones: Back and Next stay pinned to the bottom of the screen while a question is taller than the screen (the month list after "Not yet"). */
@media(max-width:700px){.wizard .cta-row{position:sticky;bottom:0;z-index:6;background:inherit;margin:16px -18px -18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius)}.wizard .cta-row .btn{flex:1;min-height:48px}}
.wiz-prog{display:flex;align-items:center;gap:6px;margin-bottom:18px}
.wiz-prog i{flex:1;height:5px;border-radius:3px;background:var(--line)}
.wiz-prog i.done{background:var(--ink)}
.wiz-prog i.on{background:var(--red)}
.wiz-prog small{margin-left:8px;color:var(--muted);white-space:nowrap}
.wizard h3{font-family:var(--display);font-size:1.6rem;margin:0 0 12px;line-height:1.15}
.wiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wiz-opts .park{text-align:left;padding:14px}
.chips.wrap{flex-wrap:wrap;overflow:visible}
.chip button{background:none;border:0;color:inherit;font-size:1rem;cursor:pointer;padding:0 0 0 4px}
.wizard .suggest{position:static;margin-top:6px}
.wizard .suggest button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 12px;font:inherit;cursor:pointer}
.wizard .suggest button:hover{background:var(--bg)}
.chosen-line{margin:10px 0 6px}
.when-hero h3{font-family:var(--display);font-size:1.7rem;margin:4px 0 12px;line-height:1.15}
.when-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 12px}
.when-grid div{background:var(--bg);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.when-grid small{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700}
.when-grid b{font-family:var(--display);font-size:1.5rem}
.when-grid span{font-size:.78rem;color:var(--ink-2)}
.stars{letter-spacing:1px;color:var(--blue);font-size:.95rem}
.when-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:8px}
.when-table th{text-align:left;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.when-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.when-table td small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}
.when-table tr.hl td{background:var(--yellow-light,#F3F3F3)}
.verdict-word{font-family:var(--display);font-size:1.05rem}
.v-best .verdict-word{color:#1f7a3f}.v-good .verdict-word{color:var(--blue)}.v-fair .verdict-word{color:#8a6d00}.v-tough .verdict-word{color:var(--red)}
.unlock-list{list-style:none;padding:0;margin:10px 0;counter-reset:u}
.unlock-list li{display:grid;grid-template-columns:28px 130px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9rem;align-items:baseline}
.unlock-list li::before{counter-increment:u;content:counter(u);width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.unlock-list li span{color:var(--ink-2)}
.note-card{background:var(--bg);font-size:.9rem;margin-bottom:12px}
.tag.booked{background:var(--ink);color:#fff;border-color:var(--ink);vertical-align:middle;font-size:.65rem}
.planned-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.planned-row small{display:block;color:var(--muted);font-size:.78rem}
@media (max-width:640px){.wiz-opts{grid-template-columns:1fr}.unlock-list li{grid-template-columns:28px 1fr}.unlock-list li span{grid-column:2}.when-table td small{display:none}}
.target{margin:8px 0 4px;font-size:.9rem;position:relative;padding-bottom:10px}
.target i{display:block;height:6px;border-radius:3px;background:var(--blue);margin-top:6px;max-width:100%}
.target.over i{background:var(--red)}
.trip-total .vs{display:block;font-family:Public Sans,sans-serif;font-size:.72rem;color:var(--muted);font-weight:500}
.trip-total .vs.over{color:var(--red)}
.day-note.alert{background:#F3F3F3;border-left:4px solid var(--yellow)}
.basis-line.single{color:var(--ink-2)}
.when-table .btn.sm{margin-top:4px}

.side-tools{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 6px}
.side-pop{margin:6px 0;padding:12px;font-size:.85rem}
.side-pop input[type=text]{width:100%;font-size:.75rem;margin:6px 0}
.side-pop .cta-row{margin-top:6px;flex-wrap:wrap}

.plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 6px}
.plan{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:14px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:4px;color:var(--ink)}
.plan.best{border-color:var(--ink)}
.plan b{font-size:.95rem}.plan .price{font-family:var(--display);font-size:1.6rem;font-weight:700}.plan .price small{font-family:Public Sans,sans-serif;font-size:.8rem;font-weight:500;color:var(--muted)}
.plan small{font-size:.78rem;color:var(--ink-2)}
.plan:hover{border-color:var(--blue)}.plan:disabled{opacity:.6}
@media (max-width:520px){.plans{grid-template-columns:1fr}}
.code-row{margin:4px 0 0}.code-row input.promo{width:11em;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.85rem;text-transform:uppercase}

.free-total{border:2px solid var(--ink)}
.free-total .total{font-family:var(--display);font-size:2.6rem;font-weight:700;line-height:1;margin:4px 0}
.free-total .per{color:var(--muted);font-size:.85rem;margin-bottom:6px}
.free-total table small{display:block;color:var(--muted);font-size:.74rem}
/* no control wider than its column on phones */
select,input[type=number],input[type=text],input[type=search],input[type=date]{max-width:100%;box-sizing:border-box}
.lines td:first-child,.budget td:first-child{overflow-wrap:anywhere}
.lines td:last-child,.lines .kind{white-space:nowrap}
@media (max-width:640px){#hotelMode,#diningStyle,#dayBucket,#dayPace,#mealDate{display:block;width:100%;margin:6px 0 0}.cta-row{flex-wrap:wrap}}
/* tap targets: 44px on touch screens */
@media (pointer:coarse){.btn,.btn.sm,.menu-btn,.chip,.linkbtn,#signinBtn,#sendPhone,.subtabs button,#chatQuick button{min-height:44px;padding-top:10px;padding-bottom:10px}}

.uni-row{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}
.uni-row small{flex-basis:100%;color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.park.uni{border-style:dashed}
.hinfo{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0 0;font-size:.85rem}.hinfo dt{color:var(--muted);font-weight:600}.hinfo dd{margin:0}
.split-stay{margin-top:12px}.split-stay .cta-row{align-items:center;flex-wrap:wrap}.split-stay select{max-width:100%}
.day-controls.replan{margin:8px 0}.day-controls.replan .btn.on{background:var(--ink);color:#fff}
.tag.menu{background:#F1F1F1;color:#0E0E0E}
#courseOpts .check{display:block;margin:4px 0}#courseOpts .check small{display:block;color:var(--muted);margin-left:24px}
.park.water{border-style:dotted}

.conf-in{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.conf-print{display:none}
.g-day.rest h3{color:var(--muted)}
@media print{@page{size:letter;margin:.6in}.conf-in{display:none}.conf-print{display:inline;font-weight:600}.g-cover{break-after:avoid}.g-day{break-inside:avoid;page-break-inside:avoid}section h2{break-after:avoid}.g-pack{columns:2}.day-controls,.chips,#guidePdf,.sticky,.menu-btn{display:none!important}body{font-size:11pt}a{color:inherit;text-decoration:none}}

/* plan scopes: Disney, Universal or Both */
.scope-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.park.locked{opacity:.55;border-style:dashed}.park.locked span{color:var(--muted)}
.lock-note{padding:10px 12px;background:var(--bg);border-radius:10px;margin:0 0 12px}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--blue);text-decoration:underline;cursor:pointer}

/* phones: tables scroll inside their card, chips wrap, split-stay stacks */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tscroll .when-table{min-width:520px}
.free-total .chips{flex-wrap:wrap;overflow:visible}
.form-err{color:#E14A28;font-size:.9rem;margin:8px 0 0}
input.age{width:72px}
input[type=number].age::-webkit-outer-spin-button,input[type=number].age::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].age{-moz-appearance:textfield}
.plan .plan-cta{display:inline-flex;margin-top:10px;pointer-events:none}
.r[data-hotel]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (max-width:640px){.split-stay .cta-row{flex-direction:column;align-items:stretch}.split-stay select,.split-stay label,.split-stay input{width:100%;max-width:100%}.when-table{font-size:.82rem}.when-table td,.when-table th{padding:7px 6px}}

/* dining plan comparison and Candlelight packages */
.plans-cmp td small,.lines td small{display:block;color:var(--muted,#5F5F5F);font-size:12.5px;font-weight:400;margin-top:2px}
.plans-cmp tr.on td{background:#F6F6F6}
.plans-cmp td.num.over{color:#C73A1C}.plans-cmp td.num.under{color:#1A7F4B}
#candleBox .cta-row label{display:inline-flex;gap:6px;align-items:center}
#candleBox .lines th,#planBox .lines td{vertical-align:top}
#candleBox .lines th.num,#candleBox .lines td.num,#planBox .lines td.num{text-align:right;white-space:nowrap;padding-left:14px}
#planBox .lines td.num small{white-space:normal}
#candleBox .lines th{font-weight:600}

.combo{position:relative}.suggest [role="option"].active{background:#F1F1F1;outline:2px solid #0E0E0E;outline-offset:-2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#step1Note.err{color:var(--red,#FF5A36);font-weight:600}
@media print{.drawer,.drawer-bg,.chat,.access-note .noprint{display:none!important}.drawer{box-shadow:none!important}main{max-width:none;padding:0}.total-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.total-grid a,.g-day,.g-todo tr{break-inside:avoid}html,body{overflow:visible!important;width:auto!important}}
.g-event{margin:6px 0;padding:8px 10px;border-left:3px solid var(--blue);background:var(--paper-2);font-size:.9rem}
.warn-txt{color:#C73A1C;font-weight:600;display:block}
.book-first{margin:10px 0 4px;padding:8px 12px;border-left:3px solid var(--blue);background:var(--paper-2);font-size:.92rem}
.kind.included{background:var(--blue-light);color:var(--blue)}
.target.pending{background:var(--paper-2);border:1px dashed var(--line);color:var(--ink)}
.note.carry{border-left:3px solid var(--blue);margin:10px 0}
.note.carry .cta-row{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
p.gaps{margin:6px 0}

/* ---------- trip guide: park strip (screen and print) ---------- */
.printonly{display:none}
.g-parks{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 14px}
.g-parks .gp{display:flex;flex-direction:column;min-width:74px;padding:6px 9px 7px;border-radius:10px;background:var(--paper-2);border:1px solid var(--line);line-height:1.15}
.g-parks .gp small{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.g-parks .gp b{font-size:.95rem}
.g-parks .gp i{font-style:normal;font-size:.72rem;font-weight:600;color:var(--muted);margin-top:2px}
.gp[data-park="Magic Kingdom"],.gp[data-park="Universal Studios Florida"]{background:var(--blue);border-color:var(--blue);color:#fff}
.gp[data-park="EPCOT"],.gp[data-park="Epic Universe"]{background:var(--ink);border-color:var(--ink);color:#fff}
.gp[data-park="Hollywood Studios"],.gp[data-park="Islands of Adventure"]{background:var(--red);border-color:var(--red);color:#fff}
.gp[data-park="Animal Kingdom"],.gp[data-park="Typhoon Lagoon"],.gp[data-park="Blizzard Beach"],.gp[data-park="Volcano Bay"]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.gp[data-park]:not([data-park=""]) small,.gp[data-park]:not([data-park=""]) i{color:inherit;opacity:.85}

/* ---------- trip guide: printed / PDF version ---------- */
@media print{
  html,body,body *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  @page{size:letter;margin:.55in .55in .7in}
  @page{@bottom-left{content:"The Happiest Planner";font:600 8pt Inter,sans-serif;color:#5F5F5F}@bottom-right{content:"Page " counter(page);font:600 8pt Inter,sans-serif;color:#5F5F5F}}
  body,body.app{background:#fff!important}
  #guideBox{font-size:10pt;color:var(--ink)}
  .printonly{display:flex}
  .g-break{break-before:page;page-break-before:always}
  /* cover */
  .g-hero{background:var(--blue);color:#fff;border-radius:18px;padding:22px 26px 20px;margin:0 0 16px;position:relative;overflow:hidden}
  .g-hero::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:var(--yellow);opacity:.95}
  .g-hero::before{content:"";position:absolute;right:70px;top:96px;width:46px;height:46px;border-radius:50%;background:var(--red)}
  .g-brand{align-items:center;gap:8px;font-weight:700;font-size:10pt;letter-spacing:.01em;margin-bottom:22px;position:relative;z-index:1}
  .g-hero .eyebrow{color:var(--yellow)!important;font-size:8.5pt;letter-spacing:.14em;position:relative;z-index:1}
  .g-hero h1{color:#fff!important;font-size:30pt!important;line-height:1.05;margin:6px 0 10px!important;max-width:75%;position:relative;z-index:1}
  .g-hero .lede{color:#fff!important;opacity:.92;font-size:10.5pt;max-width:78%;position:relative;z-index:1}
  .g-hero .g-parks{margin:16px 0 0;position:relative;z-index:1}
  .g-hero .gp{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff;min-width:70px}
  .g-hero .gp[data-park="Magic Kingdom"],.g-hero .gp[data-park="Universal Studios Florida"]{background:#fff;color:var(--blue);border-color:#fff}
  .g-hero .gp[data-park="EPCOT"],.g-hero .gp[data-park="Epic Universe"]{background:var(--ink);border-color:var(--ink)}
  .g-hero .gp small,.g-hero .gp i{color:inherit!important}
  .g-total{flex-direction:row!important;align-items:flex-end;justify-content:space-between;gap:16px;border:2px solid var(--ink);border-radius:14px;padding:14px 18px;margin:0 0 12px!important}
  .g-total small{font-size:8pt;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)!important}
  .g-total b{font-size:30pt!important;letter-spacing:-.02em}
  .g-total .gaps{text-transform:none;letter-spacing:0;font-weight:500;color:var(--red)!important;max-width:320px}
  .g-total .split{width:220px;height:12px}
  .total-grid{gap:8px!important}
  .total-grid a{background:#fff!important;border:1px solid var(--line)!important;border-top:5px solid var(--blue)!important;border-radius:10px!important;padding:9px 12px!important}
  .total-grid a:nth-child(4n+2){border-top-color:var(--red)!important}
  .total-grid a:nth-child(4n+3){border-top-color:var(--yellow)!important}
  .total-grid a:nth-child(4n+4){border-top-color:var(--ink)!important}
  .total-grid small{font-size:7.5pt;color:var(--muted)}
  .total-grid b{font-size:14pt}
  .g-cover > .muted.small{font-size:8.5pt}
  /* section titles */
  #guideBox section > h2{font-size:20pt!important;letter-spacing:-.02em;margin:0 0 12px!important;padding-bottom:6px;border-bottom:3px solid var(--ink);display:flex;align-items:center;gap:10px}
  #guideBox section > h2::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--red);flex:0 0 auto}
  #guideBox section.g-packsec > h2::before{background:var(--yellow)}
  /* confirmations: write-in lines */
  .g-todo.conf td{padding:9px 0;border-bottom:1px dashed #BDBDBD}
  .g-todo.conf td:last-child{width:45%;border-bottom:1px solid var(--ink)}
  /* before you go */
  .g-todo td:first-child b{display:inline-block;background:var(--yellow);border-radius:6px;padding:1px 7px;font-size:8.5pt}
  .g-todo.conf td:first-child b{background:none;padding:0;font-size:inherit}
  /* day by day */
  .g-day{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0 0 14px;padding:0 14px 10px;break-inside:avoid}
  .g-day > h3{margin:0 -14px 8px!important;padding:9px 14px;font-size:13pt!important;background:var(--blue);color:#fff!important}
  .g-day[data-park="EPCOT"] > h3,.g-day[data-park="Epic Universe"] > h3{background:var(--ink)}
  .g-day[data-park="Hollywood Studios"] > h3,.g-day[data-park="Islands of Adventure"] > h3{background:var(--red)}
  .g-day[data-park="Animal Kingdom"] > h3,.g-day[data-park="Typhoon Lagoon"] > h3,.g-day[data-park="Blizzard Beach"] > h3,.g-day[data-park="Volcano Bay"] > h3{background:var(--yellow);color:var(--ink)!important}
  .g-day.rest{background:var(--paper-2);border-style:dashed}
  .g-day.rest > h3{background:transparent;color:var(--ink)!important;border-bottom:1px solid var(--line)}
  .g-day > p.muted{font-size:8.5pt}
  .g-tl{font-size:9pt}
  .g-tl td{padding:5px 8px 5px 0;border-bottom:1px dotted #D4D4D4}
  .g-tl tr:last-child td{border-bottom:0}
  .g-tl td:first-child{color:var(--blue);width:62px}
  .g-tl tr.meal td{background:#FDECEC}
  .g-tl tr.meal td:nth-child(2) b{color:var(--red)!important}
  .g-tl i{background:var(--yellow)!important;color:var(--ink)!important}
  .g-event{border-left-color:var(--red)!important;background:#fff!important;border:1px solid var(--line)}
  /* dining and passes */
  .g-todo{font-size:9pt}
  .g-todo tr:last-child td{border-bottom:2px solid var(--ink);font-size:10pt}
  /* packing: a checklist */
  .g-pack{display:grid!important;grid-template-columns:repeat(3,1fr)!important;columns:auto!important;gap:14px!important}
  .g-pack > div{border:1px solid var(--line);border-radius:12px;padding:10px 12px;break-inside:avoid}
  .g-pack > div > b{display:block;font-size:8pt;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:4px}
  .g-pack ul{list-style:none;padding:0!important;font-size:9pt}
  .g-pack li{position:relative;padding-left:20px;margin:5px 0}
  .g-pack li::before{content:"";position:absolute;left:0;top:2px;width:11px;height:11px;border:1.5px solid var(--ink);border-radius:3px}
  .g-foot{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}
  .g-foot p{font-size:7.5pt}
  .access-note{font-size:8pt}
}
@media print{
  .shell,main,.view,.view.on,.guide,#guideBox,.card{background:#fff!important;box-shadow:none!important;border:0!important}
  .g-hero::after{right:-46px;top:-56px;width:150px;height:150px}
  .g-hero::before{right:96px;top:auto;bottom:-22px;width:56px;height:56px;opacity:.9}
  .g-hero h1,.g-hero .lede{max-width:70%}
  .g-hero .gp[data-park="Hollywood Studios"],.g-hero .gp[data-park="Islands of Adventure"]{background:var(--red);border-color:var(--red);color:#fff}
  .g-hero .gp[data-park="Animal Kingdom"],.g-hero .gp[data-park="Typhoon Lagoon"],.g-hero .gp[data-park="Blizzard Beach"],.g-hero .gp[data-park="Volcano Bay"]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
  .g-dine td:first-child b{background:none!important;padding:0!important;font-size:inherit!important}
  .g-pack{grid-template-columns:repeat(2,1fr)!important}
  .g-keydates{display:block;margin-top:16px;border-radius:14px;background:var(--paper-2)!important;padding:12px 14px}
  .kd-title{display:block;font-size:8pt;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
  .kd-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .kd{background:#fff;border-radius:10px;padding:8px 10px;border-left:4px solid var(--yellow)}
  .kd small{display:block;font-size:7.5pt;font-weight:700;color:var(--blue)}
  .kd b{font-size:8.5pt;line-height:1.25;display:block;margin-top:2px}
}
@media print{
  .g-hero::before{display:none}
  .g-foot{margin-top:8px;padding-top:6px}
  .g-foot p,.access-note{font-size:7pt!important;line-height:1.35;margin:3px 0!important}
  .g-pack li{margin:3px 0}
  .g-packsec > p.muted{font-size:8pt;margin:0 0 8px}
}

/* ---------- Hotels (redesign) ---------- */
#step3h{--hx-r:14px}
.hx-top{padding:0;overflow:hidden;border-radius:var(--hx-r)}
.hx-sum{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(240px,1fr);gap:18px 24px;align-items:start;padding:18px 20px}
.hx-sum.empty{display:block}
.hx-sum h3{font-size:1.35rem;margin:2px 0 2px;line-height:1.2}
.hx-sum .eyebrow{color:var(--blue)}
.hx-where{margin:0;color:var(--muted);font-size:.86rem}
.hx-perk{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font-size:.88rem;font-weight:600}
.hx-sum-price{text-align:right;white-space:nowrap}
.hx-sum-price b{display:block;font-family:var(--display);font-size:2.1rem;letter-spacing:-.02em;line-height:1}
.hx-sum-price span{font-size:.78rem;color:var(--muted)}
.hx-sum-ctl{display:flex;flex-direction:column;gap:8px}
.hx-sum-ctl label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:700;color:var(--ink-2)}
.hx-sum-ctl select,.hx-sum-ctl input{font:inherit;font-size:.92rem;font-weight:500;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:42px;width:100%}
.hx-sum-links{display:flex;gap:14px;flex-wrap:wrap;font-size:.86rem;font-weight:600}
.hx-sum-links a{color:var(--blue)}
.hx-offers{border-top:1px solid var(--line);padding:10px 20px}
.hx-offers summary{cursor:pointer;font-weight:600;font-size:.88rem}
.hx-top .split-stay{border-top:1px solid var(--line);padding:12px 20px;background:var(--paper-2)}
.hx-top .split-stay select{max-width:100%}
.linkbtn{background:none;border:0;padding:0;color:var(--blue);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.hx-toast{position:sticky;top:62px;z-index:12;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0;padding:10px 14px;border-radius:12px;background:var(--ink);color:#fff;font-size:.9rem;box-shadow:0 8px 24px rgba(20,20,20,.18)}
.hx-toast[hidden]{display:none}
.hx-toast b{color:var(--yellow)}
.hx-toast .btn{background:#fff;color:var(--ink);border-color:#fff}
.hx-x{margin-left:auto;background:none;border:0;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;padding:2px 6px}
.hx-filters{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.hx-filters #hq{width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff}
#hotelFilterChips{display:flex;flex-direction:column;gap:10px}
.hx-seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px;align-self:flex-start;max-width:100%;overflow-x:auto}
.hx-seg button{border:0;background:transparent;border-radius:999px;padding:7px 14px;font:inherit;font-size:.86rem;font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.hx-seg button.on{background:var(--ink);color:#fff}
.hx-bar{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;font-size:.86rem}
.hx-count{margin-right:auto;color:var(--ink-2)}
.hx-sel{display:flex;align-items:center;gap:6px;font-weight:600}
.hx-sel select{font:inherit;font-size:.86rem;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:200px}
.hx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:6px}
.hx-card{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--hx-r);padding:16px 16px 14px;min-width:0}
.hx-card.sel{border:2px solid var(--blue);padding:15px 15px 13px}
.hx-card.closed{opacity:.7}
.hx-flag{position:absolute;top:-11px;left:14px;display:inline-flex;align-items:center;gap:4px;background:var(--blue);color:#fff;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px}
.hx-name{margin:0;font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}
.hx-price{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hx-price b{font-family:var(--display);font-size:1.6rem;letter-spacing:-.02em;line-height:1.05}
.hx-price b.na{font-size:1.15rem;color:var(--ink-2)}
.hx-price span{font-size:.78rem;color:var(--muted)}
.hx-price .kind,.hx-sum-price .kind{font-size:.66rem;padding:1px 6px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.hx-warn{margin:0;color:#C73A1C;font-weight:600;font-size:.86rem}
.hx-ben{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.86rem;line-height:1.4}
.hx-ben li{display:flex;gap:8px;align-items:flex-start}
.ic{flex:0 0 auto;width:10px;height:10px;margin-top:5px;display:inline-block}
.ic-bus{background:var(--blue);border-radius:3px}
.ic-star{background:var(--yellow);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:12px;height:12px;margin-top:4px}
.ic-fit{background:var(--red);border-radius:50%}
.hx-details{background:var(--paper-2);border-radius:10px;padding:10px 12px;font-size:.84rem}
.hx-details p{margin:4px 0}
.hx-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px;align-items:center}
.hx-act .btn{flex:1 1 auto;text-align:center;min-height:38px}
.hx-act .btn.on{background:var(--blue-light);border-color:var(--blue);color:var(--blue)}
.hx-act .btn[disabled]{opacity:.45;cursor:not-allowed}
.hx-chosen{flex:1 1 auto;text-align:center;font-weight:700;font-size:.86rem;color:var(--blue);padding:8px 0}
.hx-fold{margin-top:12px}
.hx-empty{text-align:center;padding:24px}
.hx-compare{margin:4px 0 14px;padding:16px}
.hx-cmp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.hx-cmp{width:100%;border-collapse:collapse;font-size:.86rem;min-width:520px}
.hx-cmp th,.hx-cmp td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--line)}
.hx-cmp thead th{font-size:.95rem;border-bottom:2px solid var(--ink)}
.hx-cmp tbody th{width:140px;color:var(--muted);font-weight:600;font-size:.8rem}
.hx-tray{position:sticky;bottom:12px;z-index:12;display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 14px;background:#fff;border:1px solid var(--ink);border-radius:999px;box-shadow:0 10px 30px rgba(20,20,20,.15);font-size:.86rem}
.hx-tray[hidden]{display:none}
.hx-tray span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
@media (max-width:900px){.hx-sum{grid-template-columns:1fr auto}.hx-sum-ctl{grid-column:1 / -1}}
@media (max-width:560px){
  .hx-sum{grid-template-columns:1fr;padding:16px}
  .hx-sum-price{text-align:left}
  .hx-grid{grid-template-columns:1fr}
  .hx-tray{border-radius:14px;bottom:8px}
  .hx-bar{flex-direction:column;align-items:flex-start}
  .hx-sel select{max-width:none}
}
.hx-sum-ctl label[hidden]{display:none}
#hotelList{display:block}
.hx-top{background:#fff!important;border:1px solid var(--line)}
.hx-filters{background:transparent!important}
.drawer:not(.on){box-shadow:none;visibility:hidden}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}} /* clip hides sideways overflow without making the page a scroll box, so position:sticky (top bar, filters, the wizard's Next row) works */
#hotelChosen .hx-sum-ctl label{display:flex;margin:0}
#hotelChosen label[hidden]{display:none}
.hx-seg .shrt{display:none}
@media (max-width:480px){.hx-seg .lg{display:none}.hx-seg .shrt{display:inline}.hx-seg{display:flex;width:100%}.hx-seg button{flex:1}}
@media (max-width:1200px){.hx-sum{grid-template-columns:minmax(0,1fr) auto}.hx-sum-ctl{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;align-items:end}.hx-sum-links{grid-column:1 / -1}}
@media (max-width:560px){.hx-sum-ctl{display:flex}}
@media (max-width:560px){.hx-sum{grid-template-columns:1fr}.hx-sum-price{text-align:left}.hx-sum-ctl{display:flex;flex-direction:column}}
#hotelChosen .hx-range{grid-column:1 / -1;margin:0}
/* no sideways scrolling: button strips wrap, tables stack on phones */
.chips{flex-wrap:wrap;overflow-x:visible}
@media (max-width:600px){
  .tscroll{overflow-x:visible}
  .tscroll .when-table{min-width:0}
  table.when-table,table.when-table tbody,table.when-table tr,table.when-table td{display:block;width:auto}
  table.when-table thead{display:none}
  table.when-table tr{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0 0 8px;background:#fff}
  table.when-table td{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:8px;padding:4px 0;border:0;text-align:left!important}
  table.when-table td::before{content:attr(data-label);font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
  table.when-table td[data-label=""]{grid-template-columns:1fr}
  table.when-table td[data-label=""]::before{display:none}
}
@media (max-width:600px){table.when-table td>*{grid-column:2}table.when-table td>br{display:none}table.when-table td small{display:block}table.when-table td[data-label=""]>*{grid-column:1}}
@media screen and (max-width:600px){
  .tscroll .hx-cmp,.hx-cmp{min-width:0}
  table.hx-cmp,table.hx-cmp tbody,table.hx-cmp tr{display:block;width:auto}
  table.hx-cmp thead{display:none}
  table.hx-cmp tr{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0 0 8px;background:#fff}
  table.hx-cmp tbody th{display:block;width:auto;padding:0 0 4px;border:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
  table.hx-cmp td{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:8px;padding:5px 0;border:0;border-top:1px solid var(--line)}
  table.hx-cmp td::before{content:attr(data-label);font-weight:700;font-size:.8rem}
  table.hx-cmp tr:last-child th{display:none}
  table.lines,table.lines tbody,table.lines tfoot{display:block;width:100%}
  table.lines thead{display:none}
  table.lines tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:9px 0;border-bottom:1px solid var(--line)}
  table.lines td,table.lines th{display:block;border:0!important;padding:0!important;text-align:left}
  table.lines td:first-child,table.lines th:first-child{flex:1 1 100%}
  table.lines td:last-child{margin-left:auto;text-align:right}
  table.lines td.num small,#planBox .lines td.num small{white-space:normal}
  table.lines td[data-label]:not([data-label=""]):not(:first-child)::before{content:attr(data-label) ": ";color:var(--muted);font-size:.78rem}
  table.lines tr.sub{border-bottom:2px solid var(--ink)}
  .tscroll .lines{min-width:0}
  table.g-todo,table.g-todo tbody,table.g-todo tr{display:block;width:auto}
  table.g-todo tr{padding:8px 0;border-bottom:1px solid var(--line)}
  table.g-todo td{display:block;width:auto!important;border:0!important;padding:2px 0!important}
  table.g-todo td input,table.g-todo td select{width:100%;max-width:100%;box-sizing:border-box}
}
@media screen and (max-width:600px){table.hx-cmp td>*{align-self:start;justify-self:start}table.hx-cmp td>.btn{width:auto}table.hx-cmp td{align-items:start}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lead-gate{border:2px solid var(--ink);max-width:640px}
.lead-gate h3{font-size:1.5rem;margin:4px 0 8px}
.lead-row{display:flex;gap:10px;margin:14px 0 6px;flex-wrap:wrap}
.lead-row input{flex:1 1 220px;min-width:0;font-size:1rem;padding:12px 14px;border:1px solid var(--line);border-radius:10px}
.lead-row .btn{flex:0 0 auto}
@media (max-width:560px){.lead-row .btn{flex:1 1 100%}}
/* Free report vs. full planner (shown under the free total) */
.unlock-teaser{margin-top:14px;background:#fff;border:1px solid var(--line)}
.unlock-teaser h3{font-size:1.15rem}
.ut-free,.ut-grid{list-style:none;padding:0;margin:10px 0 0}
.ut-free{display:flex;flex-wrap:wrap;gap:8px}
.ut-free li{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--blue-light);color:var(--blue);font-size:.85rem;font-weight:600}
.ut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ut-grid li{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);font-size:.88rem;font-weight:600;color:var(--ink)}
.ut-grid li svg{flex:none;color:var(--muted)}
.unlock-teaser .cta-row{align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}
.offer-note{margin:12px 0;padding:10px 12px;border-radius:10px;background:var(--blue-light);font-size:.9rem}
@media (max-width:600px){.ut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.unlock-teaser{display:none!important}}
.lead-wait{visibility:hidden}
.welcome-back .offer-note{margin:12px 0}

.offer-top{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:2px solid var(--ink);margin:0 0 14px}.offer-top .eyebrow{margin:0 0 4px}.offer-top-line{margin:0;font-size:1rem}.offer-top-cta{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.offer-top-cta .happy-msg{margin:0}@media(max-width:600px){.offer-top-cta,.offer-top-cta .btn{width:100%}.offer-top-cta .btn{text-align:center}}

.save-plan{margin:10px 0 14px;padding:12px 14px;border-radius:12px;background:var(--blue-light)}.save-plan .eyebrow{margin:0 0 6px}.save-plan p{margin:0}.save-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 8px}.save-grid b{display:block;font-size:1.3rem;line-height:1.2}.save-grid small{display:block;color:#5F5F5F;font-size:.78rem;line-height:1.3}
.save-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 8px;align-items:end}.save-inputs label{font-size:.85rem;display:flex;flex-direction:column;gap:4px}.money-in{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #CFCFCF;border-radius:10px;padding:6px 10px;font-weight:700}.money-in input{border:0;outline:0;font:inherit;font-size:1.1rem;width:100%;background:transparent;padding:0}.save-chips{margin:0 0 10px}.save-bar{height:10px;border-radius:999px;background:#fff;overflow:hidden;border:1px solid #CFCFCF}.save-bar i{display:block;height:100%;background:var(--blue)}.save-ok,.save-short{margin:0}.save-short b{color:var(--red)}
.card-cost{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}.card-cost b{color:var(--red)}
/* Nov 6, 2026: free entry + one unlock */
#topnav a.locked::after{content:"";display:inline-block;width:11px;height:11px;margin-left:6px;vertical-align:-1px;opacity:.55;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5zm-3 8V7a3 3 0 0 1 6 0v3H9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5zm-3 8V7a3 3 0 0 1 6 0v3H9z'/%3E%3C/svg%3E") center/contain no-repeat}
.plans.one{grid-template-columns:1fr;max-width:420px}
.chip.day-locked{opacity:.7}
.chip.day-locked svg{vertical-align:-2px}
.day-lock h3 svg{vertical-align:-1px;margin-right:4px}
