:root{--navy:#0f4c5c;--navy2:#13606f;--deep:#0b2f38;--night:#0b0e0d;--orange:#e8792b;--gold:#f3b04a;--gold2:#f3b04a;--cream:#faf5e9;--cream2:#f5ecd7;--paper:#fff;--ink:#1d2433;--muted:#5d6577;--line:#eadfc6;--ok:#1f7a4d;--err:#a32020;--radius:14px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--navy2)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:99}
.muted{color:var(--muted)}
h1,h2,h3{font-family:var(--serif);color:var(--navy);line-height:1.2;margin:0 0 .4em}
h1{font-size:clamp(1.6rem,4.5vw,2.4rem)}h2{font-size:1.35rem}h3{font-size:1.1rem}
/* top bar */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px max(14px,env(safe-area-inset-left));background:var(--night);border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,.2)}
.emblem{width:46px;height:46px;flex:none}
.brand-yi{font-size:.92rem;color:var(--gold);font-weight:700;line-height:1.1;text-align:left}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
.brand-mark{width:42px;height:42px;flex:none;display:grid;place-items:center}
.brand-mark img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.brand-mark img+svg{display:none}
.brand-mark svg{width:42px;height:42px}
.brand-text{display:flex;flex-direction:column;min-width:0}
.brand-name{font-family:var(--sans);font-size:1.12rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--cream2);white-space:nowrap}
.brand-tag{font-size:.72rem;color:#d7dceb;letter-spacing:.4px;white-space:nowrap}
.topnav{display:flex;align-items:center;gap:12px}
.topnav>a:not(.btn){color:var(--cream2);text-decoration:none;font-weight:600;font-size:.95rem}
@media(max-width:420px){.topnav>a:not(.btn){display:none}.brand-name{font-size:.98rem;letter-spacing:.4px}.emblem{width:42px;height:42px}}
.adminbar{background:#7a1f1f;color:#fff;padding:8px 14px;font-size:.9rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.adminbar button{background:#fff;color:#7a1f1f;border:0;border-radius:8px;padding:4px 10px;font-weight:600}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;padding:11px 18px;font:600 .98rem var(--sans);text-decoration:none;cursor:pointer;min-height:44px}
.btn-sm{padding:7px 14px;min-height:36px;font-size:.9rem}
.btn-gold{background:var(--gold);color:var(--deep)}.btn-gold:hover{background:#f7c46e}
.btn-orange{background:var(--orange);color:#1a1209}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy2)}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn[disabled]{opacity:.6;cursor:wait}
.btn-del{background:#fff;color:var(--err);border:1.5px solid var(--err);border-radius:8px;padding:4px 10px;font:600 .82rem var(--sans);cursor:pointer}
/* layout */
main{display:block;min-height:60vh}
.page{max-width:1100px;margin:0 auto;padding:18px 14px 40px}
.narrow{max-width:720px}
.loading{padding:60px 16px;text-align:center;color:var(--muted)}
/* hero */
.hero{background:var(--night);color:#fff;padding:14px 16px 30px;text-align:center;position:relative;overflow:hidden;border-bottom:6px solid var(--navy)}
.hero-logo{width:min(360px,82vw);height:auto;margin:0 auto 6px}
.hero h1{color:#fff;margin-bottom:.25em}
.hero h1{font-family:var(--sans);font-weight:800;font-size:clamp(1.35rem,4.2vw,2rem)}.hero h1 span{color:var(--gold)}
.hero p{max-width:620px;margin:0 auto 18px;color:#dfe4f1}
.hero .mtn{position:absolute;left:0;right:0;bottom:0;height:46px;width:100%;opacity:.25}
.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative}
.search{position:relative;max-width:440px;margin:0 auto 16px}
.search input{width:100%;border:0;border-radius:999px;padding:13px 18px;font-size:1rem;background:#fff;color:var(--ink)}
.cats-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px auto 0;max-width:720px;position:relative}
.cats-strip span{display:inline-flex;align-items:center;gap:6px;background:rgba(15,76,92,.45);border:1px solid rgba(243,176,74,.5);color:var(--cream2);border-radius:999px;padding:5px 11px;font-size:.85rem}
.cats-strip svg{width:16px;height:16px}
/* state grid */
.section-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;margin:26px 0 12px}
.section-title h2{margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.state .nm{overflow-wrap:anywhere;max-width:100%}
@media(max-width:420px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
.state{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px 8px 10px;text-align:center;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .12s,box-shadow .12s;position:relative}
.state:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,33,61,.12)}
.state svg{width:100%;max-width:92px;aspect-ratio:1;height:auto}
.state svg path{fill:var(--navy);stroke:var(--orange);stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.state.has svg path{fill:var(--orange);stroke:var(--navy)}
.state .nm{font-family:var(--serif);font-weight:700;font-size:.98rem;line-height:1.15;color:var(--navy)}
.state .ab{font-size:.72rem;color:var(--muted);letter-spacing:1px}
.state .cnt{position:absolute;top:7px;right:7px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 7px}
@media(max-width:420px){.state{padding:9px 4px 8px;min-width:0}.state .nm{font-size:.8rem}.state svg{max-width:64px}}
/* cards */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:0 1px 0 rgba(20,33,61,.03)}
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.feed .card p{margin:.3em 0 0}
.feed .who{font-size:.85rem;color:var(--muted)}
/* state page */
.state-head{display:flex;gap:16px;align-items:center;margin-bottom:6px}
.state-head svg{width:96px;height:96px;flex:none}
.state-head svg path{fill:var(--navy);stroke:var(--orange);stroke-width:1.5;vector-effect:non-scaling-stroke}
.crumbs{font-size:.88rem;margin-bottom:10px}.crumbs a{text-decoration:none}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:8px -14px 6px;padding-left:14px;padding-right:14px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:8px 13px;font:600 .9rem var(--sans);cursor:pointer;text-decoration:none;min-height:40px}
.tab svg{width:17px;height:17px}
.tab[aria-current="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.tab .n{font-weight:500;opacity:.75}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
@media(max-width:420px){.list{grid-template-columns:1fr}}
.place{display:flex;flex-direction:column;gap:0;overflow:hidden;padding:0}
.place-link{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit}
.card-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}
.card-actions .btn{flex:1 1 auto}
.place .cover{aspect-ratio:16/9;background:#eef0f5 center/cover no-repeat}
.place .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}
.place h3{margin:0}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#9a4510;background:#fde9d6;border-radius:999px;padding:3px 9px;width:max-content}
.badge svg{width:14px;height:14px}
.meta{font-size:.9rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px}
.place .note{font-size:.93rem;margin:0}
.pill-src{font-size:.75rem;color:var(--ok);font-weight:600}
.empty{text-align:center;padding:30px 14px;background:#fff;border:1.5px dashed var(--line);border-radius:var(--radius)}
/* place page */
.detail-top{display:flex;flex-direction:column;gap:8px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.actions .btn{min-height:40px;padding:8px 14px;font-size:.92rem}
.info{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}
.info li{display:flex;gap:8px}.info b{min-width:84px;color:var(--navy)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:10px 0}
.gallery figure{margin:0;position:relative}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;cursor:zoom-in;background:#eee}
.gallery .btn-del{position:absolute;top:6px;right:6px}
.review{border-top:1px solid var(--line);padding:12px 0}
.review:first-child{border-top:0}
.review .who{font-weight:700;color:var(--navy)}
.review .when{font-size:.82rem;color:var(--muted);margin-left:6px}
.review p{margin:.35em 0;white-space:pre-wrap;word-wrap:break-word}
.source{font-size:.85rem;color:var(--muted);background:var(--cream2);border-radius:10px;padding:8px 10px;word-break:break-word}
/* forms */
form.f{display:grid;gap:12px}
.f label{display:grid;gap:5px;font-weight:600;color:var(--navy);font-size:.95rem}
.f .hint{font-weight:400;color:var(--muted);font-size:.83rem}
.f input,.f select,.f textarea{width:100%;font:16px var(--sans);padding:11px 12px;border:1.5px solid #d5ceb9;border-radius:10px;background:#fff;color:var(--ink)}
.f textarea{min-height:110px;resize:vertical}
.f .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.f .row{grid-template-columns:1fr}}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumbs img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.msg{padding:10px 12px;border-radius:10px;font-weight:600}
.msg.ok{background:#e6f4ec;color:var(--ok)}.msg.err{background:#fbeaea;color:var(--err)}
/* gadgets */
.gadgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.gadget{padding:0;overflow:hidden;display:flex;flex-direction:column}
.gadget-img{display:block;background:#fff;padding:14px;border-bottom:1px solid var(--line)}
.gadget-img img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.gadget-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px}
.gadget h3{margin:0;font-size:1.25rem}
.gadget-why{margin:0}
.howto{border:1.5px solid var(--line);border-radius:10px;background:var(--cream)}
.howto summary{cursor:pointer;padding:10px 12px;font-weight:700;color:var(--navy);list-style:none;display:flex;align-items:center;gap:8px;min-height:44px}
.howto summary::-webkit-details-marker{display:none}
.howto summary::before{content:"";width:0;height:0;border-left:7px solid var(--orange);border-top:5px solid transparent;border-bottom:5px solid transparent;transition:transform .15s}
.howto[open] summary::before{transform:rotate(90deg)}
.howto ol{margin:0;padding:0 14px 12px 32px}
.howto li{margin:4px 0}
.gadget-meta{margin:0}
.gadget-btn{align-self:flex-start;min-height:44px}
.gadget-title{font-size:.78rem;margin:0;line-height:1.35}
/* lightbox */
.lb{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,14,25,.92);display:grid;place-items:center;z-index:50;padding:16px}
.lb img{max-height:88vh;max-width:100%;border-radius:8px}
.lb button{position:absolute;top:14px;right:14px;background:#fff;border:0;border-radius:999px;width:40px;height:40px;font-size:1.3rem}
.footer{background:var(--night);color:#e9e2cf;text-align:center;padding:22px 16px 30px;font-size:.92rem;border-top:3px solid var(--orange)}
.footer a{color:var(--gold)}.footer .muted{color:#bdb6a4}.footer p{margin:.3em auto;max-width:700px}

[hidden]{display:none!important}
.group{display:flex;align-items:center;gap:8px;font-size:1.15rem;margin:20px 0 10px}.group svg{width:22px;height:22px;color:var(--orange)}
.btn-edit{display:inline-block;background:#fff;color:var(--navy);border:1.5px solid var(--navy);border-radius:8px;padding:4px 10px;font:600 .82rem var(--sans);cursor:pointer;text-decoration:none}
.admin-row{display:flex;gap:8px;flex-wrap:wrap}

/* ---- reviews & traveler verification (Oct 19, 2026) ---- */
.stars{color:var(--gold);letter-spacing:1px;font-size:1.05rem;line-height:1}
.stars.dim{color:#cfc7b4}
.rating{display:inline-flex;align-items:center;gap:6px;font-size:.92rem}
.rating b{color:var(--ink)}
.rating-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:2px 0}
.vbadge{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;border-radius:999px;padding:3px 10px;width:max-content;max-width:100%;line-height:1.3}
.vbadge.none{background:#eeeae0;color:#6a6252}
.vbadge.ok{background:#e3f3ea;color:var(--ok)}
.vbadge.warn{background:#fdebe4;color:#a33a13}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:4px 0 14px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1.5px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:7px 12px;font:600 .85rem var(--sans);cursor:pointer;min-height:36px}
.chip[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.verify h2{margin-top:0}
.vstatus{margin:0 0 6px}
.vbtns{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}
.vbtns .btn{flex:1 1 160px}
.vform{margin:8px 0}
.reports{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:4px;font-size:.92rem;color:#a33a13}
.linkbtn{background:none;border:0;color:var(--navy);text-decoration:underline;font:inherit;cursor:pointer;padding:0}
.admin-votes{margin-top:12px;font-size:.9rem;border-top:1px solid var(--line);padding-top:8px}
.admin-votes ul{padding-left:18px;display:grid;gap:6px}
.starpick{border:0;padding:0;margin:0;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.starpick legend{font-weight:600;color:var(--navy);font-size:.95rem;margin-bottom:4px;padding:0;width:100%}
.starpick input{position:absolute;opacity:0;width:0;height:0}
.starpick label{font-size:2.1rem;line-height:1;color:#cfc7b4;cursor:pointer;padding:2px 3px;min-width:40px;text-align:center}
.starpick label:hover,.starpick label:hover~label{color:#cfc7b4}
.starpick input:checked~label{color:#cfc7b4}
.starpick{flex-direction:row-reverse;justify-content:flex-end}
.starpick legend{order:9}
.starpick .starlabel{order:0;margin-right:auto;margin-left:8px;font-size:.9rem;align-self:center}
.starpick input:checked~label,.starpick label:hover,.starpick label:hover~label{color:var(--gold)}
.starpick input:focus-visible+label{outline:2px solid var(--navy);border-radius:6px}
.review .stars{font-size:.95rem}
/* ---- gadgets in D1, suggestions, admin ---- */
.gadget.pending{opacity:.72;border-style:dashed;border-color:#b8b09c;background:#f6f2e8}
.gadget.pending .thumbs img{width:120px;height:120px}
.inbox{margin-bottom:14px;border-color:var(--navy)}
.cnt-badge{display:inline-block;background:var(--orange);color:#fff;border-radius:999px;padding:1px 9px;font-size:.85rem;margin-left:6px;vertical-align:middle}
.sugs{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.sugs li{border-top:1px solid var(--line);padding-top:10px}
.sugs li p{margin:.3em 0}
.gform .thumbs img{width:120px;height:120px}
.suggest h2{margin-top:0}
/* ---- shabbos food delivery ---- */
.lead{font-size:1.05rem;color:var(--ink)}
.ship h3{margin:0 0 6px;font-size:1.25rem}
.ship .info b{min-width:90px}
.tips ul{padding-left:20px;margin:0;display:grid;gap:8px}
.tips h2{margin-top:0}
@media (max-width:420px){.card-actions .btn{font-size:.86rem;padding:7px 10px}.toolbar{flex-direction:column;align-items:stretch}.toolbar .btn{width:100%}}
.f label.chk{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.f label.chk input{width:auto;margin:0}
.alertbox{background:#fff4e5;border:2px solid var(--orange);border-radius:12px;padding:12px 14px;margin:10px 0}.alertbox h3{margin:0 0 6px;color:#a33a13;font-size:1.05rem}.alertbox p{margin:0 0 8px;white-space:pre-wrap}.alertbox .actions{margin:0}.alert-fields{border:1.5px dashed var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:10px}.alert-fields legend{font-weight:600;color:var(--navy);padding:0 4px}

/* ===== phase 2 (Oct 19, 2026) ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.topnav{gap:8px}
.iconbtn{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--cream2);text-decoration:none;font-size:1.25rem;border:1.5px solid rgba(243,176,74,.55)}
.nbadge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--orange);color:#1a1209;font:800 .72rem var(--sans)}
.iconbtn .nbadge{position:absolute;top:-5px;right:-6px}
.narrowtxt{display:none}
@media(max-width:420px){.wide{display:none}.narrowtxt{display:inline}}
.stickyhead{position:sticky;top:0;z-index:20}
.stickyhead .topbar{position:relative}
.navstrip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:8px 12px;background:var(--deep);border-bottom:1px solid rgba(0,0,0,.25);mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}
.navstrip::-webkit-scrollbar{display:none}
.navstrip a{flex:none;color:var(--cream2);text-decoration:none;font:600 .9rem var(--sans);padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.07);white-space:nowrap}
.navstrip a[aria-current]{background:var(--gold);color:var(--deep)}
@media(min-width:900px){.navstrip{justify-content:center;flex-wrap:wrap;mask-image:none;-webkit-mask-image:none}}
.askfab{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;background:var(--orange);color:#1a1209;text-decoration:none;font:800 .95rem var(--sans);padding:12px 16px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.askfab[hidden]{display:none}
@media(min-width:900px){.askfab{display:none}}
.ichips{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}
.ichip{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;border-radius:999px;padding:2px 9px;background:var(--cream2);color:var(--navy);border:1px solid var(--line);line-height:1.5}
.ichip.price{background:#e9f4ee;color:var(--ok);border-color:#bfe0cc}
.ichip.kids{background:#eef3fb;color:#1d4b8f;border-color:#cddcf2}
.ichip.ok{background:#e9f4ee;color:var(--ok);border-color:#bfe0cc}
.ichip.warn{background:#fdecec;color:var(--err);border-color:#f2c6c6}
.ichip.pin{background:#fff4dc;color:#8a5a00}
.savebtn{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:6px 12px;min-height:36px;font:600 .9rem var(--sans);cursor:pointer}
.savebtn .heart{color:#c0392b;font-size:1.05rem;line-height:1}
.savebtn[aria-pressed="true"]{background:#fdecec;border-color:#f2c6c6}
.savebtn .sc{font-size:.78rem;color:var(--muted)}
.savebtn.big{min-height:44px;padding:9px 16px}
.tfields{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0;display:grid;gap:6px}
.tfields legend{font-weight:700;color:var(--navy);padding:0 4px}
.checks{display:flex;flex-wrap:wrap;gap:6px}
.ck{display:inline-flex!important;align-items:center;gap:6px;font-weight:600;color:var(--ink)!important;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:6px 11px;cursor:pointer;grid-template-columns:none!important}
.ck input{margin:0;width:auto;min-height:0}
.gtk li span small{font-size:.8rem}
.filters{margin:-4px 0 12px}
select.chip{appearance:auto;padding-right:8px}
.asksec{padding-bottom:0}
.askcard{border:2px solid var(--gold);background:linear-gradient(180deg,#fffaf0,#fff)}
.askform.compact .askmore[hidden]{display:none}
.askform input[name=title]{font-size:1.02rem}
.tip{font-size:.85rem;color:var(--muted);margin:0}
.qlist{display:grid;gap:8px;margin-top:10px}
.qitem{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;padding:11px 12px}
.qcount{flex:none;display:grid;place-items:center;width:54px;padding:4px 0;border-radius:10px;background:var(--navy);color:#fff;font-size:.7rem;line-height:1.2;text-align:center}
.qcount b{font-size:1.1rem}
.qcount.zero{background:var(--cream2);color:var(--muted)}
.qmain{display:grid;gap:2px;min-width:0}
.qmain strong{color:var(--navy);line-height:1.3}
.qmain .ichips{margin:2px 0}
.who{font-size:.84rem;color:var(--muted)}
.qdetail h1{font-size:1.45rem}
.qphoto{max-height:340px;border-radius:12px;margin:8px 0;object-fit:cover;cursor:zoom-in}
.qactions{font-size:.88rem}
.reply.best{border:2px solid var(--ok);border-radius:12px;padding:10px;background:#f4fbf6}
.bestlbl{font-weight:800;color:var(--ok);font-size:.85rem}
.ractions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip.helpful[aria-pressed="true"]{background:#e9f4ee;border-color:#bfe0cc;color:var(--ok)}
.thitem{display:grid;gap:2px;text-decoration:none;color:inherit}
.thitem.unread{border-left:4px solid var(--orange)}
.thitem .last{color:var(--ink);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vrating{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:inherit;margin:2px 0 6px;font-size:.92rem}
.searchform{gap:10px}
.searchform input[type=search]{font-size:1.05rem}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.sgrid label{font-size:.85rem}
.small{font-size:.86rem}
.synclink{width:100%;font-size:.85rem}
.gsaved img{width:100%;height:150px;object-fit:contain;background:#fff}
.plain{list-style:none;padding:0;display:grid;gap:6px}
.adminbox{border-color:#7a1f1f}

.topnav>a.iconbtn{display:inline-grid!important}

/* ===== phase 2 B: trips, sheet, chat ===== */
.navstrip .nbadge{margin-left:4px;min-width:17px;height:17px;font-size:.68rem}
.tripbtn{border:1.5px solid var(--navy);background:#fff;color:var(--navy);border-radius:999px;padding:6px 12px;min-height:36px;font:600 .9rem var(--sans);cursor:pointer}
.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:rgba(11,14,13,.45);display:flex;align-items:flex-end;justify-content:center}
.sheet{position:relative;background:#fff;width:100%;max-width:560px;max-height:85vh;overflow:auto;border-radius:18px 18px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(0,0,0,.25)}
@media(min-width:700px){.sheet-wrap{align-items:center}.sheet{border-radius:18px}}
.sheet h3{margin:0 30px 12px 0}
.sheet-x{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;background:var(--cream2);border-radius:50%;font-size:1.3rem;cursor:pointer}
.sheetlist{display:grid;gap:8px}
.sheetlist .btn{justify-content:flex-start}
.ride{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ride .btn-navy{flex:1;justify-content:flex-start}
body.noscroll{overflow:hidden}
.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--deep);color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;z-index:70;box-shadow:0 4px 14px rgba(0,0,0,.3);max-width:90vw;text-align:center}
.mytrip .ttitle{width:100%;font:800 1.5rem var(--serif);color:var(--navy);border:0;border-bottom:2px dashed var(--line);background:transparent;padding:4px 0;margin:4px 0 10px}
.mytrip .row{align-items:end}
.mytrip label.f1{display:grid;gap:4px;font-weight:600;color:var(--navy);font-size:.92rem}
.mytrip label.f1 input{font:16px var(--sans);padding:9px 10px;border:1.5px solid #d5ceb9;border-radius:10px}
.stepper{display:inline-flex;align-items:center;gap:10px}
.stepper button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--navy);background:#fff;color:var(--navy);font-size:1.2rem;cursor:pointer}
.tday{margin-top:14px}
.tday.shabbos{border:2px solid var(--gold);background:#fffaf0}
.tday-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px}
.tday-h h2{margin:0;font-size:1.15rem}
.titems{list-style:none;padding:0;margin:10px 0;display:grid;gap:10px}
.titem{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;display:grid;gap:6px}
.titem-top{display:flex;gap:8px;align-items:flex-start}
.ticon svg{width:22px;height:22px;color:var(--navy)}
.tname{flex:1;display:grid;min-width:0}
.tname a,.tname b{font-weight:700;color:var(--navy);text-decoration:none}
.ttime{width:96px;font:15px var(--sans);padding:6px;border:1px solid var(--line);border-radius:8px}
.tnote{width:100%;font:15px var(--sans);padding:7px 9px;border:1px solid var(--line);border-radius:8px}
.tcost{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.9rem}
.tcost input{width:70px;font:15px var(--sans);padding:6px;border:1px solid var(--line);border-radius:8px}
.tcost select{font:14px var(--sans);padding:6px;border:1px solid var(--line);border-radius:8px;background:#fff}
.tline{margin-left:auto;color:var(--ok)}
.tbtns{display:flex;flex-wrap:wrap;gap:6px}
.tbtns button{border:1px solid var(--line);background:var(--cream);border-radius:8px;padding:6px 10px;font:600 .85rem var(--sans);cursor:pointer;min-height:34px}
.tbtns .danger,.danger{color:var(--err)}
.addcustom{display:flex;gap:6px;margin-top:8px}
.addcustom input{flex:1;min-width:0;font:15px var(--sans);padding:8px 10px;border:1.5px dashed #d5ceb9;border-radius:10px}
.addcustom input[name=cost],.addcustom input[name=amount]{flex:0 0 70px}
.tcostbox{margin-top:14px;border:2px solid var(--ok)}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.row3 label{display:grid;gap:4px;font-weight:600;color:var(--navy);font-size:.9rem}
.row3 input{font:16px var(--sans);padding:8px;border:1.5px solid #d5ceb9;border-radius:10px;width:100%}
.ctable{width:100%;border-collapse:collapse;margin:10px 0}
.ctable td{padding:7px 4px;border-bottom:1px solid var(--line)}
.ctable td:last-child{text-align:right;font-weight:700}
.ctable tr.total td{font-size:1.15rem;color:var(--ok);border-bottom:0}
.printhead,.printonly{display:none}
.switch{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--navy);cursor:pointer}
.switch input{width:22px;height:22px}
.goingcard strong{color:var(--navy)}
.drive{display:inline-block;margin:10px 14px 0;font-weight:700;color:var(--ok);font-size:.88rem}
.tcover{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin-bottom:10px}
.chat{display:grid;gap:8px;margin:12px 0}
.bubble{max-width:85%;background:#fff;border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:8px 12px}
.bubble p{margin:0;white-space:pre-wrap}
.bubble.mine{justify-self:end;background:#e7f0f2;border-color:#c9dde2;border-radius:16px 16px 4px 16px}
.bubble .when{font-size:.75rem}
.chatform textarea{min-height:70px}
.country{margin:-4px 0 10px}
.curin{display:flex;gap:6px}
.curin select{flex:0 0 84px}
.admrow summary{cursor:pointer}
.rideform{margin-top:10px}
@media print{
  .stickyhead,.footer,.noprint,.askfab,.adminbar,.crumbs,.sheet-wrap,.toast{display:none!important}
  body{background:#fff}
  .printhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
  .printhead img{width:150px}
  .printonly{display:block}
  .card{box-shadow:none;break-inside:avoid}
  .titem{break-inside:avoid}
  .mytrip .ttitle{border:0}
  .ttime{border:0;width:auto}
  .tnote{border:0;padding:0}
  .tnote:placeholder-shown{display:none}
  .page{padding:0}
}

/* ===== Shop, Traveler Points, install banner (Oct 19, 2026) ===== */
.paynote{background:#fff4dc;border:1px solid #f0d9a6;color:#6b4a00;border-radius:12px;padding:10px 12px;font-size:.95rem}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media(min-width:760px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.pimg{background:#fff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:8px;border-bottom:1px solid var(--line)}
.pimg img{width:100%;height:100%;object-fit:contain;display:block}
.pbody{padding:10px;display:flex;flex-direction:column;gap:4px;flex:1}
.pbody h2{font-size:1.02rem;margin:0}
.pbody p{margin:0}
.pprice{font-size:.98rem;color:var(--ink)}
.pprice b{font-size:1.1rem;color:var(--navy)}
.ship{color:var(--muted);font-size:.86rem;font-weight:600}
.ptsprice{font-weight:700;color:#8a5a00}
.pbtns{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.pbtns .btn{flex:1 1 auto;justify-content:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lvl{display:inline-flex;align-items:center;gap:3px;font-size:.74rem;font-weight:700;border-radius:999px;padding:1px 8px;background:#eef3fb;color:#1d4b8f;border:1px solid #cddcf2;white-space:nowrap;vertical-align:middle}
.lvl-guide{background:#e9f4ee;color:var(--ok);border-color:#bfe0cc}
.lvl-ambassador{background:#fff4dc;color:#8a5a00;border-color:#f0d9a6}
.board{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.board li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;background:var(--cream)}
.board .rk{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex:none}
.board li:first-child .rk{background:var(--gold);color:var(--night)}
.board .bn{flex:1;min-width:0;font-weight:600}
.ptscard .ptsnum{display:flex;align-items:baseline;gap:8px}
.ptscard .ptsnum b{font:800 2.4rem var(--serif);color:var(--navy)}
.earn li,.hist li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.hist b.pending{color:#8a5a00}.hist b.rejected{color:var(--err);text-decoration:line-through}.hist b.approved{color:var(--ok)}
.lvls li{padding:4px 0}
.nickf{margin:10px 0}
.lbcard{margin-top:14px}
.installbar{display:flex;align-items:center;gap:10px;margin:12px 14px 0;padding:10px 12px;background:var(--night);color:#fff;border:2px solid var(--gold);border-radius:var(--radius);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.installbar img{width:48px;height:48px;border-radius:12px;flex:none}
.installbar .ib-t{flex:1;min-width:0;display:grid;line-height:1.3}
.installbar .ib-t b{color:var(--gold)}
.installbar .ib-t span{font-size:.84rem;color:#e8e2d2}
.installbar .ib-x{background:transparent;border:0;color:#fff;font-size:1.4rem;width:32px;height:32px;cursor:pointer;flex:none}
@media(min-width:760px){.installbar{max-width:1100px;margin:12px auto 0}}
.howto{padding-left:1.3em;display:grid;gap:6px}
#installSlot:not(:empty){background:var(--night);padding-bottom:4px}

/* ===== ad spaces (Oct 19, 2026) ===== */
.adslot{margin:14px 0}
.adcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.adcard img{display:block;width:100%;max-height:220px;object-fit:contain;background:#fff}
.adtag{position:absolute;top:6px;right:6px;background:rgba(11,14,13,.7);color:#fff;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:999px;z-index:1}
.adtext{padding:10px 12px 0;display:grid;gap:2px}.adtext p{margin:4px 0 0;font-size:.94rem}
.adbtns{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 12px}
.adcard>.adtext:last-child{padding-bottom:12px}
.adempty{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1.5px dashed var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--cream);color:var(--muted);font-size:.9rem;font-weight:600}
.thitem>.nbadge,.thitem>.ichip{justify-self:start;width:auto}

/* ===== Plan Your Trip (Oct 19, 2026) ===== */
.pmap{height:300px;border-radius:12px;overflow:hidden;margin:10px 0 4px;background:var(--cream2)}
.rsum{font-size:1.05rem;margin:4px 0}
.zbox.ok{border-left:5px solid var(--ok)}.zbox.warn{border-left:5px solid var(--gold);background:#fffaf0}.zbox.bad{border-left:5px solid var(--err);background:#fdf3f3}
.zbox{margin-top:14px}
.zl li{padding:6px 0;border-bottom:1px solid var(--line);font-size:.93rem}
.stopcat{margin:14px 0 6px;font-size:1.05rem}
.stops li.stoprow{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}
.stops .ck input{width:22px;height:22px;margin-top:2px}
.planpage .chips{margin-bottom:6px}
@media print{.pmap{height:260px}}

/* ===== Useful Apps (Oct 19, 2026) ===== */
.appgrid{display:grid;gap:10px}
@media(min-width:760px){.appgrid{grid-template-columns:1fr 1fr}}
.appcard{display:flex;flex-direction:column;gap:4px}
.appcard h3{margin:0;font-size:1.05rem}
.appcard p{margin:0}
.apphead{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.appchips{margin:6px 0 4px}
.mv button{padding:2px 7px;min-height:28px}
.homelink{display:flex;align-items:center;gap:12px;margin-top:10px;text-decoration:none;color:inherit}.homelink>span:first-child{font-size:1.6rem}.homelink>span:nth-child(2){flex:1}.homelink>span:last-child{color:var(--navy);font-weight:800}
.ichip.plat{background:#fff}.appnote{background:#eef3fb;border-radius:8px;padding:6px 8px;color:#1d4b8f}.appprice{color:var(--muted)}

/* ™ mark (Oct 19, 2026): small and raised */
sup.tm{font-size:.6em;line-height:0;vertical-align:super;position:relative;top:-.05em;margin-left:.08em;letter-spacing:0;font-weight:700}

/* Oct 19, 2026: logins, messages, admin start */
.userbtn.on{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 2px var(--gold)}
.codebox{font:800 1.35rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-align:center;background:#fff;border:2px dashed var(--gold);border-radius:12px;padding:14px 8px;margin:10px 0;color:var(--navy);word-break:break-all;user-select:all}
.reccode h1{font-size:1.5rem}.reccode .ck{display:flex;gap:8px;align-items:center;font-weight:600;margin:6px 0}
.showpw{display:flex!important;grid-template-columns:none!important;gap:8px;align-items:center;font-weight:500!important;font-size:.9rem!important}
.showpw input{width:auto!important}
.searchrow{display:flex;gap:8px;margin:10px 0}.searchrow input{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:16px}
.admtabs{flex-wrap:wrap;overflow:visible;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.ovgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.ovrow{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;padding:12px}
.ovrow .ovn{font:800 1.4rem/1 system-ui;color:var(--muted);min-width:28px;text-align:center}
.ovrow.hot{border-color:var(--gold);background:#fff8ea}.ovrow.hot .ovn{color:var(--orange)}
.admhow li{margin:4px 0}
.adminbadge{font-size:.7rem;vertical-align:middle}
.bubs{display:grid;gap:8px;margin:10px 0}
.bub{background:#f1f3f6;border-radius:12px;padding:8px 12px;max-width:92%}
.bub.me{background:#e8f1fb;justify-self:end}
.bub p{margin:4px 0 0;white-space:pre-wrap}.bwho{font-size:.8rem;font-weight:700}
.mrow{display:block;text-decoration:none;color:inherit;margin:8px 0}.mrow.unread,.mthread.unread{border-color:var(--gold)}
.mthread{margin:10px 0}.crrow{margin:8px 0}.crphoto{max-width:100%;max-height:220px;border-radius:8px;object-fit:contain;background:#fff}
.crst input{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.crst select{padding:6px;border-radius:8px}
.setlogin-cta{background:#fff8ea;border-color:var(--gold)}
.acctlinks{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:420px){.topbar{gap:6px}.topnav{gap:5px}.topnav .iconbtn{width:34px;height:34px;font-size:1.02rem}.topnav .btn-sm{padding:6px 10px;white-space:nowrap;min-height:34px}.brand{gap:7px}.emblem{width:38px;height:38px}.brand-name{font-size:.92rem;letter-spacing:.2px}.brand-yi{font-size:.85rem}}
@media(max-width:360px){.brand-name{font-size:.82rem;letter-spacing:0}.topnav .btn-sm{padding:6px 8px}}
.updbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom));z-index:90;background:var(--gold);color:var(--deep);border:0;border-radius:999px;padding:12px 18px;font-weight:800;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actualbox{border-color:#2f7d4f}.actualtotal{font-size:1.15rem}.actualedit summary{cursor:pointer;padding:2px 0}.actualedit{margin-top:14px}.refactual{background:#f3f8f3;border-radius:8px;padding:8px}

/* 🧳 Packing List (Oct 19, 2026) */
.packpage h1{margin-bottom:.2em}
.pk-prog{margin:12px 0}.pk-progtop{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.pk-progtop b{font-size:1.15rem;color:var(--navy)}
.pk-bar{height:12px;border-radius:999px;background:var(--cream2);overflow:hidden;margin-top:8px}.pk-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--gold));border-radius:999px;transition:width .25s}
.pk-done{margin:8px 0 0;font-weight:700;color:var(--ok)}
.pk-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.pk-switch{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:6px 12px;min-height:36px;cursor:pointer}
.pk-switch input{width:20px;height:20px;margin:0;accent-color:var(--navy)}
.btn-wa{background:#1f8f4e;color:#fff}.btn-wa:hover{background:#177a41}
.pk-cat{margin:0 0 12px;padding:12px 12px 10px}
.pk-sech{display:flex;align-items:center;gap:8px;margin:22px 0 10px;padding:10px 14px;border-radius:12px;background:var(--navy);color:#fff;font-size:1.25rem}.pk-sech .ico,.pk-sech svg{display:inline-block!important;width:22px;height:22px;flex:none;color:var(--gold)}
.pk-cat.pk-insec{border-left:4px solid var(--gold)}
.pk-cath{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:1.2rem;margin:0 0 6px}
.pk-catn{font:700 .85rem var(--sans);color:var(--muted);background:var(--cream);border-radius:999px;padding:2px 9px;flex:none}.pk-catn.all{background:#e6f4ec;color:var(--ok)}
.pk-note{margin:0 0 6px;font-size:.9rem;color:var(--muted);background:var(--cream);border-radius:10px;padding:7px 10px}
.pk-items{list-style:none;margin:0;padding:0}
.pk-item{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);min-height:46px}
.pk-item:first-child{border-top:0}
.pk-item label{flex:1;display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 0;min-width:0}
.pk-item input[type=checkbox]{width:24px;height:24px;margin:0;flex:none;accent-color:var(--ok)}
.pk-name{font-size:1rem;color:var(--ink);overflow-wrap:anywhere}
.pk-item.on .pk-name{color:var(--muted);text-decoration:line-through}
.pk-own{font-size:.72rem;font-weight:700;color:var(--navy);background:var(--cream2);border-radius:999px;padding:1px 7px;text-decoration:none;display:inline-block}
.pk-link{font-size:.82rem;font-weight:700;white-space:nowrap;text-decoration:none;color:var(--navy2);padding:6px 2px}
.pk-del{flex:none;width:34px;height:34px;border:0;background:transparent;color:#a0a6b3;font-size:1.3rem;line-height:1;border-radius:8px;cursor:pointer}.pk-del:hover{background:#fbeaea;color:var(--err)}
.pk-add{display:flex;gap:8px;margin-top:8px}.pk-add input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font:1rem var(--sans);min-height:40px}
.pk-herobtn{background:var(--navy);color:#fff}
.pk-admitems{list-style:none;margin:6px 0;padding:0;display:grid;gap:6px}
.pk-admitems li{display:grid;grid-template-columns:1fr auto;gap:4px 6px;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--cream)}
.pk-admitems li input{border:1px solid var(--line);border-radius:8px;padding:7px 8px;font:.95rem var(--sans);min-width:0;background:#fff}
.pk-admitems li input[data-if=link]{grid-column:1;font-size:.82rem}
.pk-admitems li .btn-del{grid-row:1/3;grid-column:2;align-self:center}
.flashpick{outline:3px solid var(--gold);outline-offset:2px}

@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/SourceSans3.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/RobotoSlab.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* =====================================================================
   REDESIGN (Oct 19, 2026) — official, restrained look.
   Brand: deep teal + brass from the logo; warm neutrals; Source Serif 4 headings, Source Sans 3 body.
   Spacing scale: 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64
   ===================================================================== */
:root{--brand:#0B4A52;--brand-d:#073A40;--brand-l:#E8F0EF;--accent:#B5884F;--accent-d:#86602F;--bg:#F7F6F2;--ink:#17232A;--ink2:#3A474D;--muted:#5A666C;--line:#E2DED5;--line2:#CFCAC0;
  --navy:#0B4A52;--navy2:#0E5F68;--deep:#073A40;--night:#073A40;--orange:#B5884F;--gold:#C9A46A;--gold2:#C9A46A;--cream:#F7F6F2;--cream2:#F1EEE6;--paper:#fff;--radius:8px;
  --serif:"Source Serif 4","Iowan Old Style",Georgia,serif;--sans:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body{background:var(--bg);color:var(--ink);font:16.5px/1.55 var(--sans)}
a{color:var(--brand)}
h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:700;letter-spacing:-.01em;line-height:1.18}
h1{font-size:clamp(1.75rem,4.2vw,2.5rem)}h2{font-size:clamp(1.3rem,2.6vw,1.65rem)}h3{font-size:1.12rem}
h1>.ie,h2>.ie,h1>svg.ie,.section-title h2>.ie{display:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2F8F99;outline-offset:2px}
.page{max-width:1200px;padding:24px 16px 48px}
.narrow{max-width:760px}
.muted{color:var(--muted)}
.kicker{margin:0 0 6px;font:700 .76rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-d)}
/* icons */
.i{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none;display:inline-block}
.ie{margin-right:.08em}
/* ---------- header ---------- */
.stickyhead{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.topbar,.stickyhead .topbar{position:relative;display:block;background:#fff;border:0;box-shadow:none;padding:0}
.topbar-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-width:0}
.emblem,.topbar .emblem{width:42px;height:42px;flex:none;border-radius:50%}
.brand-name,.topbar .brand-name{font:700 1.18rem/1.1 var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);white-space:nowrap}
.brand-yi,.topbar .brand-yi{font:600 .8rem/1.2 var(--sans);color:var(--accent-d);text-align:left;margin-top:2px}
.topnav,.topbar .topnav{display:flex;align-items:center;gap:6px}
.topbar .topnav .iconbtn,.iconbtn{position:relative;display:inline-grid!important;place-items:center;width:40px;height:40px;border:0;border-radius:8px;color:var(--ink2);background:transparent;font-size:1rem;cursor:pointer;padding:0}
.iconbtn:hover{background:var(--cream2)}
.iconbtn .i{width:22px;height:22px}
.iconbtn .nbadge{position:absolute;top:2px;right:0}
.userbtn.on{color:var(--brand)}
.nbadge{background:#B3261E;color:#fff;border-radius:999px;font:700 .66rem/17px var(--sans);min-width:17px;height:17px;padding:0 4px;text-align:center}
.topbar .addbtn{display:none}
@media(min-width:760px){.topbar .addbtn{display:inline-flex;margin-left:6px}.brand-name,.topbar .brand-name{font-size:1.3rem}.emblem,.topbar .emblem{width:46px;height:46px}}
@media(max-width:380px){.brand-name,.topbar .brand-name{font-size:1.02rem}.brand-yi{font-size:.72rem}.topbar .topnav .iconbtn{width:36px}}
.navstrip,.stickyhead .navstrip{display:block;background:#fff;border-top:1px solid var(--line);border-bottom:0;padding:0;mask-image:none;-webkit-mask-image:none;overflow:visible}
.navstrip-in{max-width:1200px;margin:0 auto;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:0 8px}
.navstrip-in::-webkit-scrollbar{display:none}
.navstrip a{flex:none;display:inline-flex;align-items:center;color:var(--ink2);text-decoration:none;font:600 .93rem var(--sans);padding:11px 10px 10px;border-radius:0;background:none;border-bottom:3px solid transparent;white-space:nowrap}
.navstrip a:hover{color:var(--brand)}
.navstrip a[aria-current]{background:none;color:var(--brand);border-bottom-color:var(--accent)}
@media(min-width:900px){.navstrip-in{justify-content:flex-start;padding:0 6px}.navstrip a{padding:12px 12px 11px}}
.adminbar{background:#7A1F1F;color:#fff;padding:8px 16px;font-size:.9rem;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.adminbar a{color:#fff;font-weight:700}
/* drawer */
.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:rgba(8,22,25,.45)}
.drawer{position:absolute;top:0;right:0;bottom:0;width:min(360px,88vw);background:#fff;overflow-y:auto;padding:12px 20px 32px;box-shadow:-8px 0 30px rgba(0,0,0,.15)}
.drawer-h{display:flex;align-items:center;justify-content:space-between;padding:4px 0 8px;border-bottom:1px solid var(--line);font:700 1.05rem var(--sans)}
.drawer-groups h3{font:700 .74rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-d);margin:20px 0 4px}
.drawer-groups a{display:flex;align-items:center;gap:12px;padding:10px 2px;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid #F0EDE6}
.drawer-groups a .i{width:20px;height:20px;color:var(--brand)}
/* ---------- buttons ---------- */
.btn{border-radius:8px;padding:10px 18px;font:600 .98rem var(--sans);letter-spacing:0;min-height:44px;gap:8px;transition:background .15s,border-color .15s}
.btn .i{width:18px;height:18px}
.btn-sm{padding:7px 13px;min-height:38px;font-size:.92rem}
.btn-gold,.btn-navy{background:var(--brand);color:#fff;border:1px solid var(--brand)}
.btn-gold:hover,.btn-navy:hover{background:var(--brand-d);color:#fff}
.btn-orange{background:var(--accent-d);color:#fff;border:1px solid var(--accent-d)}
.btn-orange:hover{background:#6F4F27}
.btn-ghost{background:#fff;color:var(--brand);border:1px solid var(--line2)}
.btn-ghost:hover{border-color:var(--brand)}
.btn-edit,.btn-del{border-radius:6px}
/* ---------- chips, tabs, badges ---------- */
.chip{border:1px solid var(--line2);background:#fff;color:var(--ink2);border-radius:6px;padding:6px 12px;font:600 .88rem var(--sans);min-height:36px}
.chip[aria-pressed="true"]{background:var(--brand-l);color:var(--brand);border-color:var(--brand)}
.chip .n{font-weight:700;color:var(--muted);margin-left:2px}
.chip[aria-pressed="true"] .n{color:var(--brand)}
.tabs{gap:0;border-bottom:1px solid var(--line);margin:4px 0 18px;padding:0}
.tab{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--ink2);padding:10px 12px 9px;min-height:44px;font:600 .93rem var(--sans)}
.tab svg{width:18px;height:18px;color:var(--muted)}
.tab[aria-current="true"]{background:none;color:var(--ink);border-bottom-color:var(--f1,var(--brand))}
.tab[aria-current="true"] svg{color:var(--f1,var(--brand))}
.tab .n{background:none;color:var(--muted);font-weight:600;padding:0;margin-left:2px}
.badge{background:none;padding:0;border-radius:0;color:var(--brand);font-size:.74rem;letter-spacing:.08em;gap:6px}
.badge svg{width:15px;height:15px}
.vbadge{border-radius:4px;padding:2px 8px;font-size:.78rem;font-weight:600}
.vbadge.none{background:#F1EFEA;color:#5F6366}
.vbadge.ok{background:#E7F3EC;color:#1C6B44}
.vbadge.warn{background:#FBEDE6;color:#9A3412}
.ichip{border-radius:4px;border:0;background:#F1EFEA;color:var(--ink2);font-weight:600;padding:2px 8px}
.ichip.price{background:#E7F3EC;color:#1C6B44}
.ichip.kids{background:#EAF0F8;color:#1F4A85}
.ichip.ok{background:#E7F3EC;color:#1C6B44}
.ichip.warn{background:#FBEDE6;color:#9A3412}
.ichip.pin{background:#FBF3E4;color:#7A5410}
.pill-src{color:#1C6B44}
.savebtn{border:1px solid var(--line2);border-radius:6px;color:var(--ink2);font-weight:600}
.savebtn .heart{color:#B3261E;display:inline-flex}
.savebtn .heart .i{width:18px;height:18px}
.savebtn[aria-pressed="true"]{background:#FDF0EF;border-color:#EBC3BF}
.savebtn[aria-pressed="true"] .heart .i{fill:currentColor}
.stars{color:#B7791F;letter-spacing:1px}
/* ---------- cards & lists ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:18px}
.card.place{padding:0;overflow:hidden}
.card.place:hover{border-color:var(--line2);box-shadow:0 4px 16px rgba(23,35,42,.06)}
.place h3{font-family:var(--serif);font-size:1.12rem}
.section-title{margin:32px 0 14px}
.section-title h2{font-size:clamp(1.25rem,2.4vw,1.5rem)}
.group{font-family:var(--serif);font-size:1.25rem;margin:28px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.group svg{width:22px;height:22px;color:var(--f1,var(--brand))}
.empty{background:#fff;border:1px dashed var(--line2);border-radius:var(--radius);padding:24px;text-align:left}
.loading{color:var(--muted)}
.crumbs{margin:0 0 12px}
.crumbs a{display:inline-flex;align-items:center;gap:4px;color:var(--ink2);text-decoration:none;font-weight:600;font-size:.92rem}
.crumbs a:hover{color:var(--brand)}
.crumbs a .i{width:16px;height:16px}
.msg{border-radius:6px}
.f input,.f select,.f textarea{border:1px solid var(--line2);border-radius:6px;background:#fff;font:inherit}
.f label{font-weight:600;color:var(--ink)}
form.f,.searchform{background:#fff}
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px}
.doc h2{font-size:1.25rem;margin-top:1.4em}
.doc ul{padding-left:1.2em}.doc li{margin:.35em 0}
@media(max-width:600px){.doc{padding:20px 16px}}
/* ---------- home: hero ---------- */
.hero{position:relative;overflow:hidden;background:#0B2E33;color:#fff;padding:0;text-align:left;border-bottom:0;min-height:480px;display:flex;align-items:flex-end}
.hero-bg,.hero-bg img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}
.hero-bg img{object-fit:cover;object-position:50% 60%}
.hero::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(6,28,32,.15) 0%,rgba(6,28,32,.55) 45%,rgba(6,28,32,.88) 100%)}
.hero-in{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:72px 16px 32px}
.hero .eyebrow{margin:0 0 10px;font:700 .8rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#E9D3A8}
.hero h1{font-family:var(--serif);font-weight:700;color:#fff;font-size:clamp(2rem,5.6vw,3.4rem);line-height:1.08;max-width:15ch;margin:0 0 12px;letter-spacing:-.015em}
.hero .hero-sub{max-width:560px;margin:0 0 22px;color:rgba(255,255,255,.9);font-size:1.05rem}
.hero-search{display:flex;align-items:center;background:#fff;border-radius:10px;padding:6px;max-width:640px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hero-search .hs-ic{display:grid;place-items:center;color:var(--muted);padding:0 4px 0 8px}
.hero-search .hs-ic .i{width:20px;height:20px}
.hero-search input{flex:1;min-width:0;border:0;outline:0;font:1.05rem var(--sans);padding:10px 8px;color:var(--ink);background:transparent}
.hero-search input:focus-visible{outline:0}
.hero-search:focus-within{box-shadow:0 0 0 3px rgba(201,164,106,.9),0 10px 30px rgba(0,0,0,.25)}
.hero-search .btn{min-height:46px;padding:10px 22px}
.hero-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hero-cats a{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;font-weight:600;font-size:.93rem;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:rgba(255,255,255,.08)}
.hero-cats a:hover{background:rgba(255,255,255,.18)}
.hero-cats svg{width:17px;height:17px}
@media(min-width:900px){.hero{min-height:560px}.hero::after{background:linear-gradient(90deg,rgba(6,28,32,.86) 0%,rgba(6,28,32,.55) 50%,rgba(6,28,32,.15) 100%)}.hero-in{padding:96px 24px 64px}}
@media(max-width:600px){.hero{min-height:0}.hero-in{padding:120px 16px 28px}.hero-search .btn{padding:10px 14px}.hero-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hero-cats a{justify-content:flex-start}}
/* ---------- home: sections ---------- */
.homepage{padding-top:8px;padding-bottom:8px}
.hsec{margin:40px 0}
.hsec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px}
.hsec-head h2{margin:0}
.hsec-head .muted{margin:4px 0 0}
.hsec-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;gap:2px;background:#fff;border:1px solid var(--line2);border-radius:8px;padding:3px}
.seg .chip{border:0;border-radius:6px;background:transparent;min-height:34px;padding:6px 14px;color:var(--ink2)}
.seg .chip[aria-pressed="true"]{background:var(--brand);color:#fff}
.seg .chip[aria-pressed="true"] .n{color:rgba(255,255,255,.8)}
.filterbox{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line2);border-radius:8px;padding:0 10px;color:var(--muted)}
.filterbox input{border:0;outline:0;font:inherit;padding:8px 2px;width:170px;background:transparent;color:var(--ink)}
.filterbox:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,74,82,.15)}
@media(max-width:600px){.hsec-tools{width:100%}.filterbox{flex:1}.filterbox input{width:100%}}
/* state tiles: each in its own flag colors */
.grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}
@media(max-width:600px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
.state{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 8px 16px;gap:4px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.state:hover{transform:none;border-color:var(--f1,var(--line2));box-shadow:0 4px 14px rgba(23,35,42,.08)}
.state svg{max-width:76px;margin-bottom:4px}
.state svg path,.state.has svg path{fill:var(--f1,var(--brand));stroke:var(--f2,var(--accent));stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.state .nm{font:600 .93rem/1.2 var(--sans);color:var(--ink)}
.state .ab{font-size:.7rem;letter-spacing:.1em;color:var(--muted)}
.state .cnt{top:7px;right:7px;background:#F1EFEA;color:var(--ink2);font-size:.7rem;padding:1px 7px;border-radius:999px}
.fband{position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--fband,var(--brand));box-shadow:0 -1px 0 rgba(0,0,0,.05)}
/* feature lists */
.features{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.feature{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.feature:hover .feature-t b{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.feature-ic{width:46px;height:46px;border-radius:8px;background:var(--brand-l);color:var(--brand);display:grid;place-items:center;flex:none}
.feature-ic .i{width:23px;height:23px}
.feature-t{display:flex;flex-direction:column;min-width:0}
.feature-t b{font-size:1.04rem}
.feature-t span{color:var(--muted);font-size:.93rem;line-height:1.4}
.feature-go{margin-left:auto;color:var(--line2);width:20px;height:20px}
@media(min-width:760px){.features{grid-template-columns:repeat(2,1fr);column-gap:32px}}
@media(min-width:1100px){.features{grid-template-columns:repeat(3,1fr)}}
.feed{gap:12px}
.feedcard{text-decoration:none;color:inherit}
.feedcard:hover{border-color:var(--line2)}
.cta-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;background:var(--brand);color:#fff;border-radius:10px;padding:28px 24px;margin:48px 0 16px}
.cta-band h2{color:#fff;margin:0 0 6px}
.cta-band p{margin:0;color:rgba(255,255,255,.85);max-width:560px}
.cta-band .btn{background:#fff;color:var(--brand-d);border-color:#fff}
.cta-band .btn:hover{background:#F1EEE6}
/* sections from the home hooks (ask, contributors, install) */
#homeTop .page{padding-top:0;padding-bottom:0}
#homeTop .asksec,#homeTop>.page{margin-top:8px}
.askcard,.lbcard{padding:22px}
.askcard .section-title,.lbcard .section-title{margin:0 0 8px!important}
.homelink{display:none}
#homeInstall:empty{display:none}
#homeInstall .installbar{margin:0 0 8px}
.installbar{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:none;color:var(--ink)}
/* ---------- state page ---------- */
.state-hero{position:relative;background:#fff;border-bottom:1px solid var(--line)}
.state-hero-in{max-width:1200px;margin:0 auto;padding:16px 16px 26px}
.state-hero .state-head{gap:18px;margin:0}
.state-hero .state-head svg{width:92px;height:92px}
.state-head svg path{fill:var(--f1,var(--brand));stroke:var(--f2,var(--accent));stroke-width:1.8;vector-effect:non-scaling-stroke}
.state-hero h1{margin:0 0 4px}
.state-hero .kicker{color:var(--ink2)}
.state-hero .fband{height:6px;box-shadow:none}
.statepage{padding-top:12px}
.statepage .toolbar{gap:10px}
@media(min-width:900px){.state-hero .state-head svg{width:120px;height:120px}.state-hero-in{padding:20px 24px 32px}}
/* ---------- footer ---------- */
.footer{background:var(--brand-d);color:rgba(255,255,255,.82);text-align:left;padding:0;font-size:.95rem;border-top:0;margin-top:48px}
.footer-in{max-width:1200px;margin:0 auto;padding:48px 16px 28px;display:grid;gap:32px}
.footer .brand{color:#fff;margin-bottom:12px}
.footer .brand-name{color:#fff;font:700 1.2rem var(--serif)}
.footer .brand-yi{color:#E2C795}
.footer-brand p{margin:0 0 16px;max-width:340px;color:rgba(255,255,255,.8)}
.footer .btn-gold{background:#fff;color:var(--brand-d);border-color:#fff}
.footer-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
.footer-cols h3{font:700 .76rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#E2C795;margin:0 0 10px}
.footer-cols a{display:block;color:rgba(255,255,255,.88);text-decoration:none;padding:4px 0}
.footer-cols a:hover{color:#fff;text-decoration:underline}
.footer-legal{max-width:1200px;margin:0 auto;padding:18px 16px 96px;border-top:1px solid rgba(255,255,255,.14);font-size:.84rem;color:rgba(255,255,255,.66)}
.footer-legal p{margin:.35em 0;max-width:none}
.footer-legal a{color:#fff}
.footer a{color:inherit}
@media(min-width:900px){.footer-in{grid-template-columns:1.1fr 3fr;padding:56px 24px 32px}.footer-cols{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-legal{padding:20px 24px 32px}}
/* ask button */
.askfab{background:var(--brand);color:#fff;font:700 .95rem var(--sans);padding:11px 16px;border-radius:999px;box-shadow:0 6px 18px rgba(7,58,64,.3);display:inline-flex;align-items:center;gap:8px}
.askfab .i{width:20px;height:20px}
@media(min-width:900px){.askfab{display:none}}
/* misc polish */
.lead{color:var(--ink2)}
.toast{border-radius:8px}
.tday.shabbos{border-color:#D9C49A}
.pk-herobtn{display:none}

.hero h1{max-width:20ch}
@media(max-width:600px){.hero-in{padding:84px 16px 28px}.hero h1{max-width:16ch}}
.state-hero{background:#fff;background:color-mix(in srgb,var(--f1,#fff) 6%,#fff)}
a.chip{text-decoration:none;display:inline-flex;align-items:center;gap:6px}

/* ---- reference pass (Lazer's reference site): slab headings, square corners, gold call-to-action, small-caps nav ---- */
:root{--serif:"Roboto Slab",Rockwell,Georgia,serif;--radius:3px;--gold-cta:#E3B25A;--gold-cta-d:#D29E3F}
h1,h2,h3,.hero h1,.brand-name,.topbar .brand-name,.footer .brand-name,.place h3,.group{font-family:var(--serif);letter-spacing:-.005em}
h1,.hero h1{font-weight:800}h2,h3{font-weight:700}
.btn,.chip,.tab,.savebtn,.iconbtn,.filterbox,.seg,.seg .chip,.hero-search,.hero-cats a,.card,.state,.feature-ic,.empty,.doc,.cta-band,.installbar,.f input,.f select,.f textarea,.vbadge,.ichip,.btn-edit,.btn-del,.msg,.drawer-groups a,.rv-tag,.rv-opt span{border-radius:3px}
.btn-gold{background:var(--gold-cta);border-color:var(--gold-cta);color:#1B1A14}
.btn-gold:hover{background:var(--gold-cta-d);border-color:var(--gold-cta-d);color:#1B1A14}
.cta-band .btn,.footer .btn-gold{background:var(--gold-cta);border-color:var(--gold-cta);color:#1B1A14}
.navstrip a{text-transform:uppercase;font-size:.8rem;letter-spacing:.07em;font-weight:700}
.navstrip a .nbadge{letter-spacing:0}
.topbar .addbtn{text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;font-weight:700}
.kicker{color:#9A6B22}
.hsec-head h2{font-size:clamp(1.5rem,3vw,2rem)}
.feature-ic{background:#0B4A52;color:#F3D9AD}
.annbar{background:var(--brand-d);color:#fff}
.annbar-in{max-width:1200px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;font-size:.95rem}
.annbar-in span{min-width:0}
.annbar .btn{min-height:34px;padding:5px 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;flex:none}
.hero-cats a{border-radius:2px}
/* ---- reviews (modelled on the reference's "share your experience" flow) ---- */
#reviews,#review-form,#verify{scroll-margin-top:120px}
.rv-sec{margin-top:16px}
.rv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.rv-head h2{margin:0}
.rv-sum{display:grid;grid-template-columns:auto 1fr;gap:16px 24px;align-items:center;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rv-avg{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:110px}
.rv-avg b{font:800 2.6rem/1 var(--serif);color:var(--ink)}
.rv-avg .stars{font-size:1.1rem}
.rv-avg .muted{font-size:.85rem}
.rv-bars{display:grid;gap:5px}
.rv-bar{display:grid;grid-template-columns:52px 1fr 24px;gap:8px;align-items:center;font-size:.85rem;color:var(--ink2)}
.rv-track{height:8px;background:#EEEBE4;border-radius:1px;overflow:hidden}
.rv-track span{display:block;height:100%;background:var(--gold-cta-d)}
.rv-n{text-align:right;color:var(--muted)}
@media(max-width:420px){.rv-sum{grid-template-columns:1fr}.rv-avg{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}}
.rv-say{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0 4px;font-size:.9rem}
.rv-tag{display:inline-flex;align-items:center;gap:6px;background:#F3EFE5;color:#5B4520;font-weight:600;font-size:.8rem;padding:3px 8px}
.rv-tag b{font-weight:700;color:#9A6B22}
.rv-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.rv-sort{margin:14px 0 4px}
.rv-list{display:grid}
.review.rv{padding:18px 0;border-top:1px solid var(--line);border-bottom:0}
.rv-list .review.rv:first-child{border-top:0}
.rv-top{display:flex;align-items:center;gap:12px}
.rv-av{width:40px;height:40px;border-radius:50%;background:var(--brand);color:#F3D9AD;display:grid;place-items:center;font:700 1.05rem var(--serif);flex:none}
.rv-who{display:flex;flex-direction:column;min-width:0}
.rv-who .who{font-weight:700;color:var(--ink);font-size:1rem}
.rv-meta{font-size:.85rem;color:var(--muted)}
.rv-meta .when{color:inherit;font-size:inherit;margin:0}
.rv-adm{margin-left:auto;display:flex;gap:6px}
.rv-stars{display:block;margin:10px 0 2px;font-size:1.05rem}
.rv-body{margin:6px 0 4px;white-space:pre-wrap}
.rv-body:empty{display:none}
.rv-empty{padding:8px 0}
.rv-form .rv-formsub{margin:-4px 0 14px}
.rv-pick{border:0;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:8px}
.rv-pick legend{font-weight:600;margin-bottom:8px;padding:0}
.rv-opt{display:inline-flex!important;margin:0!important;font-weight:600!important;cursor:pointer}
.rv-opt input{position:absolute;opacity:0;width:1px;height:1px}
.rv-opt span{display:inline-block;border:1px solid var(--line2);background:#fff;color:var(--ink2);padding:7px 12px;font-size:.9rem}
.rv-opt input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.rv-opt input:focus-visible+span{outline:3px solid #2F8F99;outline-offset:2px}
.rvfeed .rvcard{display:flex;flex-direction:column;gap:4px}
.rvcard-t{font:700 1.05rem var(--serif)}
.rvcard-s{font-size:.85rem}
.rvcard-b{margin:6px 0;color:var(--ink);font-style:italic;border-left:3px solid var(--gold-cta);padding-left:10px}
.rvcard .who{font-size:.85rem;color:var(--muted);margin-top:auto}
.card-actions .btn .i{width:16px;height:16px}

.f .starpick label,.starpick label{color:#D6D1C4;font-weight:400}
.f .starpick input:checked~label,.f .starpick label:hover,.f .starpick label:hover~label{color:var(--gold-cta-d)}
.starpick legend,.tfields legend{color:var(--ink)}
.tfields{border-radius:3px}
.ck{border-radius:3px;background:#fff}

/* flag art inside the silhouettes: a thin dark edge so light flags (white, yellow) still read on white tiles */
.state svg.flagsvg path,.state.has svg.flagsvg path,.state-head svg.flagsvg path{stroke-width:1.4}

/* ---- older phones (Oct 19, 2026): fallbacks where aspect-ratio isn't supported (iOS before 15) + the Retry box ---- */
@supports not (aspect-ratio:1){
.state svg{height:72px}
.place .cover{height:0;padding-top:56.25%}
.gallery img{height:110px}
.gadget-img img{height:180px}
.pimg{height:180px}
}
.loadfail{text-align:left}
.loadfail p:last-child{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}


/* ---- Who's Going box at the top of My Trip (Oct 19, 2026) ---- */
.mytrip .goingtop{margin:4px 0 14px;border-left:4px solid var(--gold-cta)}
.goingtop-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.goingtop-h h2{margin:0;font-size:1.15rem}
.mytrip .goingtop .muted.small{margin:8px 0 0}
.mytrip .goingtop .f{margin-top:12px}

/* ---- Share your trip by hand, #/share-trip?manual=1 (Oct 19, 2026) ---- */
.mfill{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px}
.mfill .muted{margin:0}
.f fieldset.mdays{border:1px solid var(--line);border-radius:3px;padding:12px 14px 14px;margin:0;display:grid;gap:10px;min-width:0}
.f fieldset.mdays legend{font-weight:700;padding:0 6px;color:var(--ink)}
.f fieldset.mdays > p{margin:0}
.mdaylist{display:grid;gap:10px}
.mday{display:grid;gap:6px;padding:10px;background:#f7f8f8;border-radius:3px}
.mday-h{display:flex;gap:8px;align-items:center}
.mday-h .mday-l{flex:1;min-width:0;font-weight:700}
.mday-x{flex:none;width:40px;height:40px;border:1px solid var(--line2);background:#fff;border-radius:3px;cursor:pointer;color:var(--muted)}
.mday-t{width:100%;min-height:80px}
.f fieldset.mdays [data-mdayadd]{justify-self:start}
.schoices{display:grid;grid-template-columns:1fr;gap:10px;margin:6px 0 18px}
@media(min-width:600px){.schoices{grid-template-columns:1fr 1fr}}
.schoice{display:flex;align-items:center;gap:14px;min-height:72px;padding:14px 16px;background:#fff;border:1.5px solid var(--line2);border-radius:3px;color:var(--ink);text-decoration:none}
.schoice .i{flex:none;width:28px;height:28px;color:var(--brand)}
.schoice span{display:grid;gap:2px}
.schoice b{font-size:1.05rem}
.schoice small{color:var(--muted);font-size:.9rem}
a.schoice:hover{border-color:var(--brand)}
.schoice.on{border-color:var(--brand);box-shadow:inset 4px 0 0 var(--brand);background:var(--brand-l)}
.schoice.off{opacity:.55;background:#f3f4f4;cursor:not-allowed}
.schoice.off .i{color:var(--muted)}
/* ---- How many people (Oct 19, 2026): My Trip top, trip cards, trip page ---- */
.mytrip .tpeople{margin:4px 0 14px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:3px}
.mytrip .tpeople .row{margin:0}
.tpeople-h{margin:0 0 8px;font-weight:700;color:var(--ink)}
.tpeople-n{display:flex;align-items:center;gap:6px;margin:8px 0 0;color:var(--brand);font-weight:600}
.tppl{display:inline-flex;align-items:center;gap:5px}
svg.ip{width:16px;height:16px;flex:none}
.mytrip .tpeople .row{grid-template-columns:1fr 1fr}
/* ---- Sunday Getaway: optional distance + By plane (Oct 19, 2026) ---- */
.sunhow{display:flex;flex-wrap:wrap;gap:8px 16px}
.sunhow label.ck{display:inline-flex;align-items:center;gap:6px}
.drive svg.ip{width:15px;height:15px;vertical-align:-2px}
.flytag{display:inline-flex;align-items:center;gap:5px}
.flylist{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:700px){.flylist{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.flylist{grid-template-columns:1fr 1fr 1fr}}
.flystate{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--f1, var(--brand));border-radius:3px;color:var(--ink);text-decoration:none}
.flystate:hover{border-color:var(--brand)}
.flystate-i{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--f1, var(--brand-l));color:var(--fink, var(--brand))}
.flystate-t{flex:1;display:grid;gap:2px;min-width:0}
.flystate-t small{color:var(--muted)}

/* Oct 20, 2026: shared trips — Like, Ask a question, Write a review, Q&A */
.tsocial{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.tsocial .btn{display:inline-flex;align-items:center;gap:6px;min-height:42px}
.tsocial .btn svg{width:18px;height:18px;flex:none}
.tlike{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.tlike.on{background:var(--navy);color:#fff}
.tlike-n{display:inline-block;min-width:1.4em;padding:0 6px;border-radius:999px;background:var(--cream2);color:var(--navy);font-size:.85rem;text-align:center}
.tlike.on .tlike-n{background:var(--gold);color:var(--navy)}
.tsoc-mini{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 2px;font-size:.88rem;color:var(--muted);font-weight:700}
.tsoc-mini span{display:inline-flex;align-items:center;gap:4px}
.tsoc-mini svg{width:16px;height:16px}
.tq{border-top:1px solid var(--line);padding:12px 0}
.tq:first-of-type{border-top:0}
.tq .who{font-weight:700;color:var(--navy)}
.tq .when{font-size:.82rem;color:var(--muted);margin-left:6px}
.tq p{margin:.35em 0;white-space:pre-wrap;word-wrap:break-word}
.tq-a{margin:8px 0 0 14px;padding:8px 12px;border-left:3px solid var(--gold);background:var(--cream);border-radius:0 10px 10px 0}
.tq-tag{display:inline-block;margin-left:6px;font-size:.72rem;font-weight:700;color:#fff;background:var(--navy);border-radius:999px;padding:1px 8px;vertical-align:middle}
.tq-tag.adm{background:var(--gold);color:var(--navy)}
.tq.is-hidden,.tq-a.is-hidden{opacity:.55}
.tq-replybtn{margin-top:6px}
.tq-replyform{margin:8px 0 0 14px}

/* ---- Oct 20, 2026: state / province photo cards (Lazer: "more fancy, roundish", a scenic photo per state) ---- */
.grid.sgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:600px){.grid.sgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:900px){.grid.sgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
@media(min-width:1180px){.grid.sgrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.grid .state.sp{display:block;position:relative;padding:0;margin:0;border:0;border-radius:20px;overflow:hidden;background:#0B4A52;background:linear-gradient(135deg,#0B4A52,#13606f);color:#fff;text-align:left;box-shadow:0 6px 18px rgba(7,58,64,.18),0 1px 3px rgba(0,0,0,.08);-webkit-mask-image:-webkit-radial-gradient(white,black);transform:translateZ(0);transition:box-shadow .25s,transform .25s;min-width:0}
.grid .state.sp::before{content:"";display:block;padding-top:78%}
.grid .state.sp[hidden]{display:none!important}
.sp-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.sp-shade{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(4,30,34,.42) 58%,rgba(4,28,32,.9) 100%)}
.sp-txt{position:absolute;left:12px;right:10px;bottom:11px;display:block}
.sp-txt::before{content:"";display:block;width:24px;height:3px;border-radius:3px;background:var(--gold);margin-bottom:6px}
.grid .state.sp .nm{display:block;font:800 1.06rem/1.15 var(--sans);color:#fff;letter-spacing:.005em;text-shadow:0 1px 3px rgba(0,0,0,.55);overflow-wrap:break-word;max-width:100%}
.sp-n{display:inline-block;margin-top:5px;font:600 .74rem/1.2 var(--sans);color:rgba(255,255,255,.82);letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.grid .state.sp.has .sp-n{color:#fff;background:rgba(11,74,82,.82);border:1px solid rgba(243,176,74,.75);border-radius:999px;padding:2px 9px;text-shadow:none}
.grid .state.sp:hover,.grid .state.sp:focus-visible{border-color:transparent;transform:translateY(-3px) translateZ(0);box-shadow:0 14px 28px rgba(7,58,64,.28),0 2px 6px rgba(0,0,0,.1)}
.grid .state.sp:hover .sp-img,.grid .state.sp:focus-visible .sp-img,.grid .state.sp:active .sp-img{transform:scale(1.07)}
.grid .state.sp:active{transform:scale(.98) translateZ(0)}
.grid .state.sp:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(min-width:900px){.grid .state.sp .nm{font-size:1.15rem}.sp-txt{left:14px;bottom:13px}}
@media(max-width:360px){.grid .state.sp .nm{font-size:.96rem}}
/* state page: the same photo as the header */
.state-hero.sphero{position:relative;overflow:hidden;background:#0B4A52;color:#fff;border-bottom:0;min-height:230px;display:flex;align-items:flex-end}
.state-hero.sphero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--brand,#0B4A52),var(--gold) 60%,var(--brand,#0B4A52))}
.sphero-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.sphero-shade{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.08) 32%,rgba(4,28,32,.55) 65%,rgba(4,28,32,.9) 100%)}
.state-hero.sphero .state-hero-in{position:relative;z-index:1;width:100%;padding-top:14px;padding-bottom:22px}
.state-hero.sphero .crumbs{margin-bottom:58px}
.state-hero.sphero .crumbs a{display:inline-flex;align-items:center;gap:4px;color:#fff;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 12px 5px 8px;text-decoration:none;font-weight:600;font-size:.88rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.state-hero.sphero .crumbs a svg{width:16px;height:16px}
.state-hero.sphero .kicker{color:#F6D58E;text-shadow:0 1px 2px rgba(0,0,0,.6);margin:0 0 4px}
.state-hero.sphero h1{color:#fff;font-size:2.3rem;line-height:1.05;margin:0 0 6px;text-shadow:0 2px 6px rgba(0,0,0,.55)}
.sphero-sub{margin:0;color:rgba(255,255,255,.92);text-shadow:0 1px 3px rgba(0,0,0,.6);font-weight:500}
.sphero-scene{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:.76rem;color:rgba(255,255,255,.78);text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.sphero-scene svg{width:14px;height:14px}
.sphero-scene:hover{color:#fff;text-decoration:underline}
@media(min-width:900px){.state-hero.sphero{min-height:340px}.state-hero.sphero h1{font-size:3.2rem}.state-hero.sphero .crumbs{margin-bottom:110px}.state-hero.sphero .state-hero-in{padding-bottom:30px}}
/* photo credits page */
.crdlist{list-style:none;padding:0;margin:0 0 18px}
.crd{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.crd-img{flex:none;display:block;width:96px;height:60px;border-radius:10px;overflow:hidden;background:#0B4A52}
.crd-img img{width:100%;height:100%;object-fit:cover;display:block}
.crd-t{min-width:0;font-size:.92rem;line-height:1.4;overflow-wrap:anywhere}
.crd-t .muted{font-size:.84rem}

/* ---- Oct 20, 2026: photo credit under Wikimedia place photos + folded review form after posting ---- */
.gallery figure.has-credit{grid-column:1/-1}
.gallery figure.has-credit img{aspect-ratio:16/10;max-height:300px}
.ph-credit{font-size:11.5px;line-height:1.35;color:#7a7f85;margin-top:4px;overflow-wrap:anywhere}
.rv-form.rv-done .rv-formsub,.rv-form.rv-done #rf{display:none}
.rv-donebox .msg{margin:0 0 10px}
@supports not (aspect-ratio:1){.gallery figure.has-credit img{height:220px}}
.crd-place .crd-t{font-size:14px}
.crd-st{font-size:16px;margin:16px 0 6px}
.crdplist{list-style:none;padding:0;margin:0}
.crdplist li{padding:7px 0;border-bottom:1px solid #eceef0;font-size:14px;line-height:1.4}
.crdplist .muted{font-size:12.5px}
.ph-credit a{color:inherit;text-decoration:none}

/* Oct 20, 2026: attraction type chips (Zoos, Water Parks, …) + the small type label on attraction cards. No flex gap (Chrome 79). */
.atchips{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 14px 10px;margin:2px -14px 8px;scrollbar-width:none}
.atchips::-webkit-scrollbar{display:none}
.atchips::after{content:"";flex:none;width:6px}
.atchip{flex:none;display:inline-flex;align-items:center;margin-right:8px;border:1.5px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:7px 12px;font:600 .88rem var(--sans);cursor:pointer;min-height:38px;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.atchip .ati{font-size:1.05rem;line-height:1;margin-right:6px}
.atchip .n{margin-left:5px;font-weight:700;color:var(--muted);font-size:.8rem}
.atchip[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.atchip[aria-pressed="true"] .n{color:#ffe2a8}
.atlabel{display:inline-flex;align-items:center;vertical-align:middle;margin:3px 0 0;align-self:flex-start;font-size:.76rem;font-weight:700;color:var(--navy);background:#e3f0f2;border-radius:999px;padding:3px 9px;width:max-content;max-width:100%;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atlabel .ati{margin-right:5px;font-size:.95rem;line-height:1}
.detail-top .atlabel{margin:6px 0 2px}

/* Oct 20, 2026: trip day photos + "Use this trip" (Add to My Trip / Download PDF) */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0;margin:0;padding:0;border:0}
.dphotos{margin-top:10px}
.dpstrip{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));grid-gap:6px}
.dpstrip:empty{display:none}
.dpth{position:relative;display:block;padding-top:75%;border-radius:10px;overflow:hidden;background:var(--line)}
.dpth img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.dprm{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(11,47,56,.85);color:#fff;font-size:18px;line-height:28px;padding:0;cursor:pointer}
.dpbar{display:flex;flex-wrap:wrap;align-items:center;margin-top:8px}
.dpbar .dpadd{position:relative;margin:0 10px 0 0;cursor:pointer}
.f label.dpadd{display:inline-flex;align-items:center;grid-gap:0;width:auto;font-size:.9rem}
.dpmsg .msg{display:inline-block;margin:4px 0}
.tphotos{border-top:1px dashed var(--line);padding-top:10px}
.dpfs{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.dpfs legend{font-weight:700;padding:0 4px}
.dpday{padding:8px 0;border-bottom:1px solid var(--line)}.dpday:last-child{border-bottom:0}
.mday .dphotos{margin-top:6px}
.tuse{margin:12px 0 4px;padding:12px;border:1.5px solid var(--gold);border-radius:14px;background:#fffaf0}
.tuse-h{margin:0 0 6px;font-weight:700;color:var(--navy)}
.tuse .actions{gap:0;margin:0}
.tuse .actions .btn{margin:0 8px 8px 0}
.tuse-n{margin:2px 0 0}
.tphint{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:var(--brand-l,#e8f0ef);font-size:.92rem}
.ytsheet{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,14,25,.55);z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:12px}
.ytsheet-box{background:#fff;border-radius:16px;max-width:440px;width:100%;padding:18px 16px calc(14px + env(safe-area-inset-bottom));box-shadow:0 10px 30px rgba(0,0,0,.3)}
.ytsheet-box h3{margin:0 0 6px}
.ytsheet-btns .btn{display:block;width:100%;margin-top:8px;text-align:center}
@media (min-width:700px){.ytsheet{align-items:center}}
@media print{.dphotos .dpbar,.dprm,.tuse{display:none!important}}

/* Oct 20, 2026: 💡 Travel Tips */
.tipchips{margin:6px 0 4px}
.tipitem{display:flex;align-items:flex-start;text-decoration:none;color:inherit}
.tipthumb{width:76px;height:76px;object-fit:cover;border-radius:10px;margin-right:12px;flex:0 0 auto}
.tipmain{display:block;min-width:0}
.tipmain strong{display:block;font-size:1.05rem;color:var(--navy)}
.tipex{display:block;margin:4px 0;color:var(--ink);font-size:.93rem;overflow-wrap:anywhere}
.tipitem .who{display:block;color:var(--muted);font-size:.85rem}
.tipbody{white-space:pre-wrap;font-size:1.02rem;overflow-wrap:anywhere}
.tipphotos img{cursor:zoom-in}
.tipacts .btn{margin:0 8px 8px 0}.tipacts{gap:0}
.tq.is-hidden{opacity:.55}

/* Oct 20, 2026: ⛺ Camping page */
.camptabs{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:6px 0 16px;padding-bottom:2px}
.camptabs::-webkit-scrollbar{display:none}
.camptabs .chip{flex:none;text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:6px 10px;font-size:.84rem}
.camptabs .chip[aria-current="page"]{background:var(--brand,#0f4c5c);color:#fff;border-color:var(--brand,#0f4c5c)}
.campfilter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.campfilter label{font-weight:700}
.campfilter select{min-width:220px;max-width:100%;padding:9px 10px;border-radius:10px;border:1px solid var(--line2,#cfd5dd);background:#fff;font-size:1rem}
.campcover{display:block;position:relative;height:0;padding-top:56.25%;background:#eef0f5;overflow:hidden}
.campcover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.campcover.none{padding-top:0;height:90px;display:flex;align-items:center;justify-content:center;font-size:2.4rem;background:#eef3ec}
.campcard .campdesc{font-size:.9rem;color:var(--muted,#5b6670);line-height:1.4}
.campcard .meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.88rem;color:var(--muted,#5b6670)}

/* Oct 20, 2026: a small picture before every item in the top strip (Lazer) */
.navstrip a .ni{width:19px;height:19px;margin-right:6px;vertical-align:-4px;color:var(--brand);stroke-width:1.9}
.navstrip a[aria-current] .ni{color:var(--accent)}
.loadfail .errdetail{font-size:.75rem;color:#8a8a8a;word-break:break-word;margin-top:8px}
/* Oct 20, 2026: 📅 Upcoming Events */
.evlist{display:grid;gap:12px}
.evcard{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;padding:12px}
.evcard h3{margin:4px 0 2px;font-size:1.05rem;color:var(--brand)}
.evcard p{margin:2px 0}
.evdate{flex:none;width:54px;text-align:center;border-radius:10px;background:var(--brand-l);color:var(--brand);padding:6px 0;line-height:1.1}
.evdate span{display:block;font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.06em}
.evdate b{display:block;font-size:1.45rem}
.evimg{flex:none;width:84px;height:84px;object-fit:cover;border-radius:10px}
.evbody{flex:1;min-width:0}
.evtype{font-size:.78rem}
.evmonth{display:inline-flex;gap:8px;align-items:center;margin:4px 0 12px;font-weight:600}
.evmonth select{padding:6px 8px;border-radius:8px;border:1px solid var(--line2);background:#fff}
.evgallery{display:flex;gap:8px;overflow-x:auto;margin:10px 0;-webkit-overflow-scrolling:touch}
.evgallery img{flex:none;height:190px;max-width:85%;object-fit:cover;border-radius:10px;cursor:zoom-in}
.evdesc{margin:12px 0;line-height:1.55}
.evfiles .btn{margin:4px 4px 4px 0}
.evpage .actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.evdisc{margin-top:14px}
.evform .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.evpub{margin:6px 0 0}
.evthumbs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.evthumbs img,.evth img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.evth{position:relative;display:inline-block}
.evth button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#b3261e;color:#fff;font-size:14px;line-height:22px;padding:0}
.evadm h3{margin:4px 0}
.evcredit{margin:-4px 0 8px;font-size:.72rem}
/* Oct 20, 2026: 📊 admin Stats */
.stgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:700px){.stgrid{grid-template-columns:repeat(4,1fr)}}
.sttile{padding:10px 12px;margin:0;display:flex;flex-direction:column}
.sttile b{font-size:1.5rem;color:var(--brand)}
.sttile span{font-weight:600;font-size:.9rem}
.sttile small{font-size:.75rem}
.stchart{display:flex;align-items:flex-end;gap:2px;height:140px;padding:6px 4px 18px;background:#fff;border:1px solid var(--line);border-radius:10px;position:relative}
.stbar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.stbar span{display:block;width:100%;min-height:2px;background:var(--brand);border-radius:3px 3px 0 0}
.stbar i{position:absolute;bottom:-16px;font-style:normal;font-size:.55rem;color:var(--muted)}
.stbar:nth-child(even) i{visibility:hidden}
.stlist{padding-left:20px;margin:4px 0}
.stlist li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--line)}
/* Oct 20, 2026: review photos — first 4 + "+N more", swipeable gallery */
.rvthumbs img{cursor:zoom-in}
.rvmore{width:76px;height:76px;border-radius:8px;border:1px solid var(--line2);background:var(--brand-l);color:var(--brand);font-weight:700;font-size:.95rem}
.rvaddph{margin:6px 0 0}
/* Oct 21, 2026: photo viewer (app.js openGallery) — swipe track moved by JS transform, no scroll-snap, no flex gap */
.lbg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:rgba(0,0,0,.97);overflow:hidden;-webkit-user-select:none;user-select:none}
html.lbg-on,html.lbg-on body{overflow:hidden}
.lbg-track{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-wrap:nowrap;touch-action:pan-y pinch-zoom;will-change:transform}
.lbg-slide{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:56px 8px 52px;box-sizing:border-box}
.lbg-slide img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;-webkit-user-drag:none}
.lbg-x{position:absolute;top:8px;right:8px;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:30px;line-height:48px;padding:0;text-align:center;cursor:pointer;z-index:2}
.lbg-arr{position:absolute;top:50%;margin-top:-26px;width:44px;height:52px;border:0;border-radius:10px;background:rgba(0,0,0,.45);color:#fff;font-size:34px;line-height:48px;padding:0;text-align:center;cursor:pointer;z-index:2}
.lbg-prev{left:6px}.lbg-next{right:6px}
.lbg-arr[disabled]{opacity:.25;cursor:default}
.lbg-n{position:absolute;top:18px;left:0;right:0;text-align:center;color:#fff;font:700 1rem var(--sans);pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.rvthumbs{gap:6px}.rvthumbs img,.rvthumbs .rvmore{width:58px;height:58px}.rvthumbs .rvmore{font-size:.85rem}
/* Oct 20, 2026: 🔔 Get updates */
.subcard{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;padding:10px 12px}
.subcard p{margin:0;flex-basis:100%}
.subprefs{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:8px 0}
.subprefs .ck{display:flex;gap:8px;align-items:flex-start;margin:6px 0;font-weight:500}
.subrow.off{opacity:.55}
.subrow,.obrow{padding:8px 10px;margin:6px 0}

/* Share this app (Oct 20, 2026) */
.drawer-groups a.drawer-share{margin-top:12px;background:var(--cream);border:1px solid var(--line);padding:12px 12px;flex-wrap:wrap;column-gap:12px;row-gap:0}
.drawer-share .drawer-share-sub{flex-basis:100%;padding-left:32px;font-weight:400;font-size:.86rem;color:var(--muted)}
.footer .footer-share{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);margin-left:6px}
.footer .footer-share .i{color:#fff}
.sharelist{margin:6px 0 12px}
.sharelist .btn{width:100%;box-sizing:border-box}
.sharelink{width:100%;box-sizing:border-box}
.acctshare{margin-top:14px;text-align:center}
.sharelink{padding:9px 10px;border:1px solid var(--line);border-radius:6px;font-size:.9rem;color:var(--muted);background:#fff}

/* Oct 20, 2026 (Lazer 1:26 PM): event type chips wrap so every type + "Create your event" (last) shows without sideways scrolling */
.atchips.evchips{flex-wrap:wrap;overflow:visible;margin:4px 0 6px;padding:2px 0 0}
.atchips.evchips::after{display:none}
.evchips .atchip{margin:0 8px 8px 0}
.evchips .atchip.evcreate{background:#f3b04a;border-color:#e39a2a;color:var(--deep);font-weight:800;text-decoration:none;box-shadow:0 1px 3px rgba(11,47,56,.18)}
.evchips .atchip.evcreate:hover,.evchips .atchip.evcreate:focus{background:#f7c46e;border-color:#f7c46e}
.evmore{margin:14px 0 4px}.evmore a{font-weight:700;color:var(--navy)}
.evtype .evemo{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-style:normal}
.evchips .evemo{font-size:1.15rem;line-height:1;margin-right:6px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif;font-style:normal}
.evchips .evcreate .ati svg{width:1.1em;height:1.1em;stroke-width:3}

/* Colour emoji icons in the top strip, ☰ menu and home tiles (Oct 20, 2026, Lazer: "change it also to colored").
   Spans carry data-noicon so ui.js never swaps them for one-colour line icons. */
.nemo,.femo{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif;font-style:normal;font-weight:400;letter-spacing:0;text-transform:none;line-height:1;display:inline-block;text-align:center}
.navstrip a .ni.nemo{font-size:17px;width:auto;height:auto;margin-right:6px;vertical-align:-1px;color:inherit}
.drawer-groups a .di.nemo{font-size:19px;width:24px;flex:none}
.feature-ic.femo{background:var(--cream,#FBF6EC);border:1px solid var(--line,#E5DFD3);font-size:25px}
.drawer-share .drawer-share-sub{padding-left:36px}
/* Chrome 79 (old Android) has no flex "gap": space the menu emoji with a margin instead */
.drawer-groups a{gap:0}
.drawer-groups a.drawer-share{column-gap:0}
.drawer-groups a .di.nemo{margin-right:12px}

/* Oct 20, 2026 (SEO): text shown before the app starts (search engines read it too) */
.seo-intro{text-align:center;padding:32px 18px;max-width:560px;margin:0 auto}
.seo-intro h1{font-size:24px;margin:0 0 8px}
.seo-intro p{margin:6px 0}

/* Oct 20, 2026: journey stops are links (📍 to the place / search, 🗺️ Map) + ✏️ Edit my journey */
.tname a.tloc{color:var(--teal,#0B4A52);text-decoration:underline;text-underline-offset:3px;font-weight:700}
.tlocemo{margin-right:4px;text-decoration:none;display:inline-block}
a.tmap{display:inline-block;margin-left:6px;font-size:13px;font-weight:600;color:#1a5fb4;text-decoration:underline;white-space:nowrap}
a.tmap span{margin-right:3px;text-decoration:none;display:inline-block}
.tedit{margin:10px 0 0}
.tedit-page .te-day h2{margin-top:0}
.te-item{border:1px solid var(--line,#e6e0d2);border-radius:10px;padding:10px 12px;margin:10px 0;background:#fffdf8}
.te-itools,.te-dtools{margin:8px 0 0}
.te-itools button,.te-dtools button{margin:2px 4px 2px 0}
.te-h{font-size:16px;margin:14px 0 4px}
.te-vis{border:0;padding:0;margin:10px 0 0}
.te-save{position:sticky;bottom:0;background:var(--bg,#faf7f0);padding:10px 0;margin:0}
.mjlist{list-style:none;padding:0;margin:0}.mjlist li{padding:8px 0;border-top:1px solid var(--line,#e6e0d2)}.mjlist li:first-child{border-top:0}

/* Oct 20, 2026: 🤝 Public Trips (public.js) — two tabs, Q&A, join box. Margins, not gap (Chrome 79 has no flex gap). */
.pubpage .evemo,.pubpage .ptab .evemo,.mypublic h2{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif}
.ptabs{display:flex;margin:6px 0 12px;border:2px solid var(--navy);border-radius:12px;overflow:hidden;background:#fff}
.ptab{flex:1 1 50%;text-align:center;padding:10px 6px;font-weight:800;color:var(--navy);text-decoration:none;font-size:.98rem;line-height:1.2}
.ptab+.ptab{border-left:2px solid var(--navy)}
.ptab.on{background:var(--navy);color:#fff}
.ptab .evemo{font-size:1.1rem;margin-right:4px}
.pubh2{margin:4px 0 6px}
.pubrules{background:#fff8e6;border:1px solid #f3d38a;color:var(--deep);border-radius:10px;padding:8px 12px;font-weight:700;font-size:.95rem}
.pubgoing{color:var(--navy);font-weight:700;margin:2px 0 0}
.pubspots{font-size:1.05rem;color:var(--navy);margin:8px 0}
.pubdetail .actions .btn,.pubdetail .actions .msg,.pubdetail .actions .vbadge{margin:0 8px 8px 0;display:inline-block}
.pubin{padding:6px 10px}
.pubjoin,.pubjoiners{margin-top:12px}
.publist{list-style:none;padding:0;margin:0}.publist li{padding:8px 0;border-top:1px solid var(--line)}.publist li:first-child{border-top:0}
.pubqa{margin-top:14px}
.pubq{padding:8px 0;border-top:1px solid var(--line)}.pubq p{margin:2px 0}
.pubq.reply{margin-left:22px;padding-left:10px;border-left:3px solid var(--line);border-top:0}
.pubqact .linkbtn{margin-right:10px}
.pubqform{margin-top:10px}
.pubreport{margin:8px 0 0;text-align:right}.pubreport .linkbtn{color:var(--muted)}
.pubrepform{margin-top:8px}
.pubcontact{display:inline-block;margin:0 8px 8px 0;font-weight:700}
.pubadm{margin-top:14px;border:2px dashed var(--orange)}
.pubtoggle{display:flex;align-items:center;font-size:1rem}.pubtoggle input{width:22px;height:22px;margin:0 10px 0 0;flex:none}
.pubempty{margin-top:8px}
/* Chrome 79 / old Androids: emoji in headings, buttons and text fall back to the colour emoji font, not a one-colour symbol font */
.pubpage,.mypublic{font-family:var(--sans),"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol"}
.pubpage h1,.pubpage h2,.pubpage h3,.mypublic h2{font-family:var(--serif),"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol"}
.pubpage .btn,.pubpage button,.pubpage .ichip,.pubpage .atchip,.pubpage .ptab{font-family:var(--sans),"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol"}
.pubpage .evemo{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif;font-style:normal}

/* Oct 20, 2026: 🛒 Travel Store (gadgets = 🎒 Travel Gear tab, shop = 👕 Merch tab). Colour emoji font so Chrome 79 / old Android don't draw one-colour glyphs. */
.semo{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif;font-style:normal;font-weight:400;letter-spacing:0;text-transform:none}
.storeh .semo{margin-right:2px}
.stabs .ptab .semo{font-size:1.1rem;margin-right:4px}
.storepage .atchip .ati{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Segoe UI Symbol",sans-serif}
.storepage .atchip[aria-pressed="true"] .ati{background:#fff;border-radius:50%;padding:2px 3px;line-height:1}
/* Oct 20, 2026: "Follow me on…" (Public Trips, Shows & Events, Traveler's Journeys). Margins, not gap (Chrome 79). */
.follow{margin:12px 0}
.follow>b{display:block;margin-bottom:6px;color:var(--navy)}
.fbtns{display:flex;flex-wrap:wrap;margin:0 -6px -6px 0}
.fbtn{display:inline-block;margin:0 6px 6px 0;padding:7px 12px;border-radius:999px;font-weight:700;font-size:.92rem;text-decoration:none;color:#fff;line-height:1.2}
.fbtn .semo{margin-right:4px}
.fb-instagram{background:#C13584}.fb-facebook{background:#1877F2}.fb-tiktok{background:#111}.fb-youtube{background:#E00}.fb-x{background:#222}.fb-whatsapp{background:#1FA855}.fb-website{background:var(--navy,#0B4A52)}
.socfs .socin{display:block}
/* Oct 20, 2026: My Trip own stop with address / Google Maps link, map & directions; Plan Your Trip add result + leaving time */
.addown{flex-wrap:wrap}
.addown .addaddr{flex:1 1 100%;margin-top:6px}
.taddr{display:block}
.tmapbox{margin-top:14px}
.tmapbtns .btn{margin:0 8px 8px 0}
.tnum span{display:block;width:26px;height:26px;border-radius:50%;background:#0f4c5c;color:#fff;border:2px solid #fff;font:700 13px/22px var(--sans,sans-serif);text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.retime{margin:4px 0 8px}
.retime input{width:auto;display:inline-block;padding:6px 8px;margin-left:6px}
.retime .btn{margin-left:6px}
.addhint{margin:8px 0 4px}
#addOut .msg{margin-top:8px}
.tnum.guess span{background:#fff;color:#0f4c5c;border:2px dashed #0f4c5c}
/* Oct 20, 2026: 🔍 Search → 📍 Near me / 🛣️ Along my route */
.wherechips{margin-bottom:8px}
.wherechips .chip{margin:0 6px 6px 0}
.wherebox{margin:0 0 8px}
.wherebox p{margin:0 0 6px}
.within select{width:auto;display:inline-block;margin-left:6px}
.rwrap .rmile{margin:0 0 -4px;font-weight:700;color:var(--navy);font-size:.9rem}
.geonote{background:#fff8e6;border:1px solid #f3d38a;border-radius:8px;padding:6px 10px;margin:6px 0}
/* Oct 20, 2026: More results from OpenStreetMap in Near me / Along my route */
.osmbox{margin-top:14px}
.osmh{font-size:1.1rem;margin:10px 0 4px}
.osmitem{padding:10px 12px;margin:0 0 8px}
.osmbtns{margin-top:6px}
.osmbtns .btn{margin:0 6px 4px 0}
/* Oct 20, 2026: address suggestions */
.sugbox{position:absolute;z-index:60;background:#fff;border:1.5px solid #d5ceb9;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.15);overflow:hidden;max-height:320px;overflow-y:auto}
.sugitem{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #eee7d6;padding:10px 12px;font:15px var(--sans,sans-serif);color:#1d2b36;cursor:pointer}
.sugitem:hover,.sugitem:focus{background:#fff8e6}
.sugsrc{font-size:11px;color:#8a8270;padding:4px 10px;text-align:right}

/* Oct 20, 2026 (Lazer 7:38–7:41 PM): big where-chips on Search, inline search + own stop on Plan Your Trip, Directions on every My Trip stop */
.wherechips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.wherechips .chip{margin:0;min-height:52px;font-size:.98rem;padding:8px 6px;display:flex;align-items:center;justify-content:center;gap:5px;text-align:center;line-height:1.15;border-width:2px;border-radius:10px}
.wherechips .chip[aria-pressed="true"]{background:var(--brand,#0B4A52);color:#fff;border-color:var(--brand,#0B4A52)}
.tbtns a.tbtn{border:1px solid var(--line);background:var(--cream);border-radius:8px;padding:6px 10px;font:600 .85rem var(--sans);min-height:34px;display:inline-flex;align-items:center;gap:4px;text-decoration:none;color:var(--navy,#0B4A52)}
.tbtns a.tdir{background:#e8f1f2;border-color:#b9d3d6}
.tname a.tgm{font-weight:700;color:var(--brand,#0B4A52);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.tname .tdet{font-weight:600;margin-left:6px}
.tname .geonote{display:block;margin:4px 0 0}
.geonote.warn{background:#fff4d6;border-color:#e9c46a}
.tsearchbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tnearlist{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tnearlist .chip{text-decoration:none}
.psearch{margin-top:14px;padding-top:12px;border-top:2px solid var(--line2,#e5e0d0)}
.psearch .psh{margin:0 0 8px;font-size:1.08rem}
.pwchips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.pwchips .chip{margin:0;min-height:46px;font-size:.95rem;border-width:2px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:5px}
.pwchips .chip[aria-pressed="true"]{background:var(--brand,#0B4A52);color:#fff;border-color:var(--brand,#0B4A52)}
.psf{display:flex;gap:6px;align-items:stretch}
.psf input{flex:1;min-width:0;font-size:16px;padding:10px 12px;border:2px solid var(--brand,#0B4A52);border-radius:10px}
.psf select{width:auto;flex:none;font-size:15px;border-radius:10px;padding:0 6px}
.psf .btn{flex:none}
.pquick{display:flex;gap:6px;overflow-x:auto;padding:8px 0 4px;-webkit-overflow-scrolling:touch}
.pquick .chip{flex:none;white-space:nowrap}
.psub{margin:12px 0 6px;font-size:.98rem}
.pown{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line2,#e5e0d0)}
.pown .addown{display:flex;flex-direction:column;gap:6px}
.pown .addown input{font-size:16px;padding:10px 12px}
.pown .addown .btn{align-self:flex-start}
.pmine{margin-top:12px;background:#f3f8f8;border:1px solid #cfe2e4;border-radius:10px;padding:10px 12px}
.pmine .psh{font-size:1rem}
.pminel{margin:0 0 6px;padding-left:22px}
.pminel li{margin:3px 0}
.pminel li a:first-child{font-weight:700}
.pnum span{background:#E3B25A;color:#222}

/* Oct 21, 2026 (Lazer 7:42 PM): Plan Your Trip + My Trip on one screen */
.onescreen .planf{margin-bottom:12px}
.onescreen .routecard{margin-bottom:12px}
.onescreen .tlisth{margin:18px 0 6px;font-size:1.25rem}
details.tmore{margin:6px 0 2px;border:1px solid var(--line2,#e5e0d0);border-radius:8px;background:#fcfbf7}
details.tmore>summary{cursor:pointer;padding:9px 10px;font:600 .88rem var(--sans);color:var(--ink2,#444);list-style:none;min-height:40px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
details.tmore>summary::-webkit-details-marker{display:none}
details.tmore>summary::before{content:"▸";color:var(--muted,#888)}
details.tmore[open]>summary::before{content:"▾"}
details.tmore .tline-s{margin-left:auto;font-weight:700;color:var(--ink,#222)}
details.tmore[open]{padding:0 8px 8px}
.psugg .stoprow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line2,#eee)}
.psugg .stoprow .sinfo{flex:1;min-width:0}
.psugg .stoprow .sadd{flex:none;min-height:42px;min-width:84px}
.psugg .stoprow .sadd[disabled]{background:#e9f4ee;color:var(--ok,#1f7a4d);border-color:#bfe0cc;opacity:1}
.osmbtns .btn[disabled]{background:#e9f4ee;color:var(--ok,#1f7a4d);border-color:#bfe0cc;opacity:1}
.tbtns button,.tbtns a.tbtn{min-height:40px}

.planf .planbar{display:none}
.planf.collapsed{padding:10px 12px}
.planf.collapsed>*:not(.planbar){display:none!important}
.planf.collapsed>.planbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.planf .pbtxt{flex:1;min-width:0;font-size:1rem}
.planf label{margin-bottom:6px}
.planf .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.planf .row label{margin:0}

/* Oct 21, 2026: photo pickers (Gallery / Google Photos / Camera) — real input hidden inside the label, a big button opens it */
label.phpick{position:relative}
label.phpick input.vh,label.phbtn2 input.vh{width:1px!important;height:1px!important;padding:0!important;border:0!important}
label.phpick .phbtn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:48px;white-space:normal;text-align:center;line-height:1.25;font-weight:700;cursor:pointer;border:1.5px dashed var(--navy,#1d2b4f);background:#fff}
label.phpick input.vh:focus+.phhint,label.phpick .phbtn:active{outline:none}
.phhint{display:block;font-size:.78rem;font-weight:400;color:#6b6b6b;margin-top:2px;width:100%}
.phcount{display:block;font-size:.85rem;font-weight:700;color:#1d7a3a}
.phcount:empty{display:none}
label.phbtn2{white-space:normal;text-align:left;line-height:1.25}
.dpbar{flex-wrap:wrap}
.rvaddph .phhint{margin-top:4px}
.rarr{font-weight:700;margin:0 .15em}
/* Oct 21, 2026 (Lazer: "just a search bar … expand into more details"): simple Search — bar + where chips, the rest folded */
.sbar{display:flex;gap:8px;align-items:stretch}
.sbar input[type=search]{flex:1;min-width:0;font-size:1.08rem;padding:13px 12px;min-height:50px}
.sbar .sgo{flex:0 0 auto;min-width:56px;font-size:1.25rem;padding:0 14px;display:flex;align-items:center;justify-content:center}
.smore{border:1.5px solid #e2dccb;border-radius:10px;background:#fbf9f3}
.smore>summary{list-style:none;cursor:pointer;padding:11px 12px;font-weight:700;color:var(--navy,#1d2b4f);display:flex;align-items:center;gap:6px;min-height:44px}
.smore>summary::-webkit-details-marker{display:none}
.smore .scaret{margin-left:auto;transition:transform .15s}
.smore[open] .scaret{transform:rotate(180deg)}
.smore[open]>summary{border-bottom:1px solid #e2dccb}
.smore>div,.smore>label{margin:10px 12px}
.smore #withinBox:empty{display:none}
.sbadge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#c8102e;color:#fff;font-size:.75rem;font-weight:800}
.sbadge[hidden]{display:none}
.smore .within select{width:auto}
.smore .sgrid{grid-template-columns:1fr 1fr;gap:8px 10px}
.searchform #whereBox:empty{display:none}
.wherechips{margin-bottom:0}

/* Oct 21, 2026 (Lazer 8:37 PM: "make them a little smaller and nicer", search bar "same concept as More options, round by the edges") */
.searchform .sbar{display:flex;align-items:stretch;height:48px;border:1.5px solid #d9d2bf;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04);margin-bottom:10px}
.searchform .sbar:focus-within{border-color:var(--brand,#0B4A52);box-shadow:0 0 0 3px rgba(11,74,82,.14)}
.searchform .sbar input[type=search]{flex:1 1 auto;min-width:0;height:100%;min-height:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:1.02rem;padding:0 14px;-webkit-appearance:none;appearance:none}
.searchform .sbar input[type=search]:focus,.searchform .sbar input[type=search]:focus-visible{outline:0}
.searchform .sbar .sgo{flex:0 0 auto;width:54px;min-width:54px;height:100%;min-height:0;margin:0;padding:0;border:0;border-left:1.5px solid #d9d2bf;border-radius:0;font-size:1.15rem;display:flex;align-items:center;justify-content:center}
.searchform .smore{border-radius:14px}
/* pill chips: Search where-chips, trip-screen where-chips, quick chips (flex gap needs Chrome 84 -> margins) */
.wherechips,.pwchips{display:flex;flex-wrap:nowrap;align-items:center;margin:0 0 10px;padding:0}
.searchform .wherechips{margin-bottom:12px}
.wherechips .chip,.pwchips .chip,.pquick .chip{display:inline-flex;align-items:center;justify-content:center;height:36px;min-height:36px;margin:0;padding:0 12px;border:1.5px solid #d9d2bf;border-radius:999px;background:#fff;color:var(--ink2,#3a3f4a);font:600 .86rem/1 var(--sans);white-space:nowrap;text-align:center;box-shadow:none}
.wherechips .chip,.pwchips .chip{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.wherechips .chip+.chip,.pwchips .chip+.chip{margin-left:8px}
.wherechips .chip .semo,.pwchips .chip .semo,.pquick .chip .semo{margin-right:5px;font-size:.95rem;line-height:1}
.wherechips .chip[aria-pressed="true"],.pwchips .chip[aria-pressed="true"],.pquick .chip[aria-pressed="true"]{background:var(--brand,#0B4A52);border-color:var(--brand,#0B4A52);color:#fff}
.wherechips .chip:active,.pwchips .chip:active,.pquick .chip:active{transform:scale(.97)}
.pquick{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:8px 0 6px;-webkit-overflow-scrolling:touch}
.pquick .chip{flex:0 0 auto}
.pquick .chip+.chip{margin-left:8px}
.psf input{border-radius:14px}
.psf select,.psf .btn{border-radius:14px}

.searchform>*{min-width:0}
.wherechips,.pwchips{min-width:0;width:100%;gap:0}
.pquick{gap:0;min-width:0}
.wherechips .chip,.pwchips .chip,.pquick .chip{padding:0 10px;font-size:.84rem}
.wherechips .chip+.chip,.pwchips .chip+.chip,.pquick .chip+.chip{margin-left:6px}
.wherechips .chip .semo,.pwchips .chip .semo,.pquick .chip .semo{margin-right:4px;font-size:.9rem}

.searchform .sbar input[type=search]{font-size:1rem;padding:0 12px}
.psf input,.psf select{font-family:var(--sans);height:46px}
.psf select{background:#fff;border:1.5px solid #d9d2bf;color:var(--ink2,#3A474D)}

/* Oct 21, 2026 (Lazer: "within how many miles, or unlimited"): distance picker — slider 1–200 mi + pill chips. Chrome 79-safe: margins, no flex gap. */
.wpick{margin:4px 0 10px;padding:10px 12px 6px;border:1.5px solid #e4ddca;border-radius:14px;background:#fffdf7}
.wpick .wtop{font:600 .92rem/1.2 var(--sans);color:var(--ink2,#3a3f4a);margin-bottom:6px}
.wpick .wval{color:var(--brand,#0B4A52);font-size:1rem}
.wpick .wrange{-webkit-appearance:none;appearance:none;display:block;width:100%;height:32px;margin:0 0 6px;padding:0;background:transparent;border:0;box-shadow:none}
.wpick .wrange:focus{outline:none}
.wpick .wrange::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#d9e6e7}
.wpick .wrange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--brand,#0B4A52);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.wpick .wrange::-moz-range-track{height:6px;border-radius:999px;background:#d9e6e7}
.wpick .wrange::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--brand,#0B4A52);border:3px solid #fff}
.wpick .wchips{display:flex;flex-wrap:wrap;align-items:center;margin:0 -6px 0 0}
.wpick .wchips .chip{display:inline-flex;align-items:center;justify-content:center;height:32px;min-height:32px;margin:0 6px 6px 0;padding:0 11px;border:1.5px solid #d9d2bf;border-radius:999px;background:#fff;color:var(--ink2,#3a3f4a);font:600 .84rem/1 var(--sans);white-space:nowrap;box-shadow:none}
.wpick .wchips .chip[aria-pressed="true"]{background:var(--brand,#0B4A52);border-color:var(--brand,#0B4A52);color:#fff}
.wpick .wchips .chip .semo{margin-right:4px}
.pwithin{margin-top:8px}

/* Oct 21, 2026: ⚡ Quick fill (beta) on Share your trip — big buttons, 390px friendly, no flex gap (Chrome 79) */
.qfbox{border:2px solid var(--accent,#B5884F);background:#fffbf2;margin:12px 0 14px;padding:14px}
.qfh{font-family:var(--sans);font-weight:800;font-size:1.2rem;margin:0 0 4px;color:var(--brand,#0B4A52)}
.qfbeta{display:inline-block;vertical-align:middle;margin-left:6px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--brand,#0B4A52);color:#fff;border-radius:999px;padding:2px 8px}
.qfsub{margin:0 0 10px;color:var(--muted);font-size:.95rem;line-height:1.35}
.qfbtns{display:block}
.qfbig{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:52px;margin:0 0 8px;font-weight:700;font-size:1.02rem;line-height:1.25;white-space:normal;text-align:center;border-radius:12px}
.qfbtns .qfbig{background:#fff;color:var(--brand,#0B4A52);border:1.5px solid var(--line2,#CFCAC0)}
.qfbtns .qfbig:active,.qfbtns .qfbig.on{background:var(--brand-l,#E8F0EF);border-color:var(--brand,#0B4A52)}
.qfbtns .qfbig.on{animation:qfpulse 1.2s infinite}
@keyframes qfpulse{50%{box-shadow:0 0 0 4px rgba(11,74,82,.18)}}
.qfphoto{position:relative;cursor:pointer}
.qfphoto small{display:block;font-weight:500;font-size:.8rem;color:var(--muted);margin-top:2px}
.qfphoto input.vh{width:1px!important;height:1px!important;padding:0!important;border:0!important}
.qfpaste{margin:4px 0 0}
.qflbl{display:block;font-weight:700;font-size:.92rem;margin:0 0 4px}
.qftext{display:block;width:100%;min-height:150px;font:16px/1.4 var(--sans);padding:10px 12px;border:1.5px solid var(--line2,#CFCAC0);border-radius:10px;background:#fff;margin:0 0 8px}
.qfgo{margin-top:2px}
.qfstatus{font-size:.95rem;line-height:1.4}
.qfstatus:empty{display:none}
.qfstatus.ok,.qfstatus.warn,.qfstatus:not(:empty){margin:6px 0 4px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line,#E2DED5)}
.qfstatus.ok{border-left:5px solid var(--ok,#1f7a4d)}
.qfstatus.warn{border-left:5px solid var(--err,#a32020)}
.qfstatus .btn-sm{margin-top:6px}
.qfkept{color:var(--ink2,#3A474D)}
.qfbar{display:block;height:8px;border-radius:999px;background:var(--cream2,#F1EEE6);overflow:hidden;margin:6px 0 4px}
.qfbar span{display:block;height:100%;background:var(--brand,#0B4A52);border-radius:999px;transition:width .3s}
.qfspin{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border:2px solid var(--line2,#CFCAC0);border-top-color:var(--brand,#0B4A52);border-radius:50%;animation:qfspin .8s linear infinite}
@keyframes qfspin{to{transform:rotate(360deg)}}
.qftip{margin:8px 0 0;font-size:.85rem;color:var(--muted);line-height:1.35}
.qf-hit{background:#fff6d1!important;box-shadow:0 0 0 2px #e2b85a!important}
.qfrev{border:2px solid var(--ok,#1f7a4d);background:#f6fbf7;margin:0 0 14px;padding:14px}
.qfrl{list-style:none;margin:6px 0 8px;padding:0}
.qfrl li{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--line,#E2DED5)}
.qfrl li b{flex:none;width:34%;padding-right:8px;color:var(--ink2,#3A474D)}
.qfrl li span{flex:1;min-width:0;text-align:right;word-break:break-word}
.qfdays{margin:6px 0 8px;padding-left:22px}
.qfdays>li{margin:0 0 8px}
.qfdays ul{margin:2px 0 0;padding-left:18px}
.qfmiss{color:var(--err,#a32020);font-style:normal;font-weight:700}
.qfnote{font-size:.92rem}
.qfname{display:block;font-weight:700;margin:8px 0}
.qfname input{display:block;width:100%;margin-top:4px;font-size:16px;padding:10px 12px;border:1.5px solid var(--line2,#CFCAC0);border-radius:10px}
.qfrbtns{display:block;margin-top:10px}
.qfrbtns .btn-ghost{background:#fff;border:1.5px solid var(--line2,#CFCAC0)}

/* Oct 21, 2026 UX pass (Lazer 6:08 AM "most intuitive… buttons"): every tap target at least 44px tall (fingers, older phones). No flex gap (Chrome 79). */
.btn,.btn-sm,.topnav .btn-sm,.annbar .btn,.chip,.seg .chip,.tripbtn,.savebtn,.atchip,.pk-switch,.tbtns button,.tbtns a.tbtn,.linkbtn.btn{min-height:44px}
.wherechips .chip,.pwchips .chip,.pquick .chip,.wpick .wchips .chip{height:44px;min-height:44px}
.topnav .iconbtn{width:44px;height:44px}
.sheet-x,.pk-del,.installbar .ib-x{min-width:44px;min-height:44px}
.ttl-l{display:block;margin:2px 0 0;font-weight:700;font-size:.85rem;color:var(--ink2)}
.ttl-l .hint{font-weight:400}

/* Oct 21, 2026 (Lazer 6:29 AM): several cities / places as chips on Share your trip; tappable on the posted trip */
.ccbox{margin:0 0 12px}
.cclab{display:block;font-weight:700;margin:0 0 6px}
.ccchips{margin:0 0 4px}
.ccchip{display:inline-flex;align-items:center;margin:0 6px 6px 0;padding:0 0 0 12px;min-height:44px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:600}
.ccchip button{min-width:40px;min-height:40px;border:0;background:transparent;color:#a33;font-size:1.3rem;line-height:1;cursor:pointer;padding:0 8px}
.ccadd{display:flex;align-items:center}
.ccadd .ccin{flex:1;min-width:0;margin:0 8px 0 0}
.ccadd .ccbtn{flex:none;white-space:nowrap}
.ccsug{border:1px solid var(--line);border-radius:12px;background:#fff;margin:6px 0 0;max-height:320px;overflow:auto;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.ccs{display:block;width:100%;text-align:left;min-height:44px;padding:8px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;font:inherit;color:var(--navy);cursor:pointer}
.ccs:last-child{border-bottom:0}
.ccs-own{color:var(--ink2);font-weight:600}
.citylinks a.cityl{display:inline-flex;align-items:center;min-height:44px;margin:2px 6px 2px 0;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:600;text-decoration:none}
.citylinks a.cityl .semo{margin-right:4px}
.citylinks a.cityl-place{border-color:var(--gold)}
.tfollow{margin-top:14px}
.ccbox input.qf-hit~.ccchips .ccchip{background:#fff3c4}

/* Oct 21, 2026 (Lazer's phone screenshot: the floating "💬 Ask" covered the Chabad Houses tile): no floating Ask on the home page
   (home has its own Ask box), elsewhere a small round button lower in the corner, and every page ends with room so nothing stays under it. */
@media(max-width:899px){
  .askfab{width:52px;height:52px;padding:0;justify-content:center;right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}
  .askfab span{display:none}
  .askfab .i{width:24px;height:24px;margin:0}
  main{padding-bottom:72px}
}

/* Oct 21, 2026: Share trip by hand — "How many days?" stepper, one box per day, stops one by one (no flex gap: Chrome 79) */
.mdcount{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px 8px 14px}
.mdcount-l{font-weight:700;font-size:1.05rem;color:var(--ink);margin:4px 10px 4px 0;display:block}
.mdstep{display:inline-flex;align-items:center}
.mdstep .mdbtn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--navy);background:#fff;color:var(--navy);font-size:1.4rem;line-height:1;cursor:pointer;padding:0;flex:none}
.mdstep .mdbtn:active{background:#eef2f7}
.f .mdstep .mdn,.mdstep .mdn{width:64px;height:48px;margin:0 8px;text-align:center;font-size:1.25rem;font-weight:700;padding:0 4px;-moz-appearance:textfield}
.mdstep .mdn::-webkit-outer-spin-button,.mdstep .mdn::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mdhint{margin:0}
.mday{padding:10px 8px;background:#f5f7f9;border:1px solid var(--line);border-radius:12px}
.mday-h .mday-l{margin:0 8px 0 0;font-size:1.02rem}
.mday-x{width:44px;height:44px}
.mstops{list-style:none;margin:2px 0 0;padding:0}
.mstop{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 2px 4px 6px;margin:0 0 8px}
.mstop-r{display:flex;align-items:center}
.mstop-num{flex:none;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-right:8px}
.f .mstop-n,.mstop-n{flex:1;min-width:0;margin:0;min-height:44px}
.mstop-x{flex:none;width:44px;height:44px;margin-left:2px;border:0;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:8px}
.mstop-x:active{background:#f0f0f0}
.mstop-sug{margin:6px 0 2px 32px}
.mstop-on{margin:4px 0 0 32px;color:#2e6b3a;font-weight:600}
.f .mstop-note,.mstop-note{display:block;width:calc(100% - 32px);margin:6px 0 0 32px;font-size:.95rem;min-height:44px}
.mstop-note[hidden],.mstop-tools[hidden],.mstop-on[hidden],.mstop-t[hidden]{display:none}
.mstop-tools{display:flex;align-items:center;justify-content:space-between;margin:2px 0 0 24px}
.mstop-t{min-height:44px;min-width:44px;padding:0 8px;border:0;background:transparent;color:var(--navy);font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;border-radius:8px}
.mstop-t:active{background:#eef2f7}
.mstop-mv .mstop-t{font-size:1.15rem;color:var(--muted)}
.mstop:first-child .mstop-mv [data-mstopmv="-1"],.mstop:last-child .mstop-mv [data-mstopmv="1"]{visibility:hidden}
.mstop-add{display:block;width:100%;min-height:48px;border:1.5px dashed var(--navy);border-radius:10px;background:#fff;color:var(--navy);font-weight:700}
.mstop .mstop-n.qf-hit{background:#fff6d1!important}
@media print{.mstop-x,.mstop-tools,.mstop-add,.mdstep .mdbtn{display:none}}
.mstop-adr{display:flex;align-items:center;margin:6px 0 0 32px}
.mstop-adr[hidden],.mstop-got[hidden]{display:none}
.f .mstop-a,.mstop-a{flex:1;min-width:0;margin:0 6px 0 0;min-height:44px;font-size:.95rem}
.mstop-find{flex:none;border:1px solid var(--line2)!important;background:#fff!important}
.mstop-got{margin:4px 0 0 32px;color:#2e6b3a;font-weight:600;line-height:1.35}
.mstop-got .muted{font-weight:400}
.mstop-tools > span:first-child{display:flex;flex-wrap:nowrap;flex:1 1 auto;min-width:0}
.mstop-tools .mstop-t{flex:none;white-space:nowrap}
.mstop-mv{display:flex;flex:none}
/* trip page: stop with a saved address */
details.tpin{display:block}
details.tpin summary{cursor:pointer;list-style:none;display:flex;align-items:center;flex-wrap:wrap;min-height:44px;color:var(--navy);font-weight:700}
details.tpin summary::-webkit-details-marker{display:none}
.tpin-n{text-decoration:underline;text-decoration-color:rgba(15,76,92,.35);text-underline-offset:3px;margin-right:8px}
.tpin-h{font-size:.8rem;font-weight:600;color:var(--navy);background:#eef4f6;border-radius:999px;padding:3px 10px}
details.tpin[open] .tpin-h{background:var(--navy);color:#fff}
.tpin-b{background:#f7f9fa;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:4px 0 6px}
.tpin-a{margin:0 0 8px;font-weight:600;color:var(--ink)}
.tpin-btns{margin:0;display:flex;flex-wrap:wrap}
.tpin-btns .btn{margin:0 8px 8px 0;min-height:44px;display:inline-flex;align-items:center}
@media print{details.tpin .tpin-b{display:block}.tpin-h,.tpin-btns{display:none}}
.ccs-h{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 12px 4px;background:#fafafa;border-bottom:1px solid var(--line)}
.ccs-2{display:flex;align-items:flex-start;line-height:1.3;padding:9px 12px}
.ccs-2 .semo{flex:none;margin:1px 8px 0 0}
.ccs-t{display:block;min-width:0}
.ccs-t b{display:block;font-weight:700;color:var(--navy)}
.ccs-addr{display:block;font-size:.85rem;color:var(--muted);font-weight:400;margin-top:2px}
.ccs-note{cursor:default}
.mstop-sug{max-height:none;overflow:visible}

/* ===== Oct 21, 2026: 🧭 Make my trip (beta, maketrip.js) — Chrome 79 safe: no flex gap, no :has ===== */
.mthome{display:inline-block;margin:12px 0 4px;padding:12px 20px;min-height:48px;line-height:24px;border-radius:999px;background:var(--gold-cta);color:#1B1A14;font-weight:700;font-size:1.05rem;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.mthome:hover{background:var(--gold-cta-d);color:#1B1A14}
.mthome-s{font-weight:400;font-size:.92rem}
@media (max-width:480px){.mthome-s{display:none}}
.mtcta{display:flex;align-items:center;border:2px solid var(--gold-cta);background:#fffaf0;border-radius:12px;padding:12px 14px;margin:8px 0 14px;text-decoration:none;color:var(--ink);min-height:56px}
.mtcta:hover{background:#fff3da;color:var(--ink)}
.mtcta-e{font-size:1.8rem;margin-right:12px;flex:none}
.mtcta-t b{display:block;font-size:1.1rem}.mtcta-t span{display:block;color:var(--muted);font-size:.92rem}
.mt .mtform{padding:16px}
.mt .mtl{display:block;font-weight:700;margin:16px 0 6px;font-size:1.02rem;color:var(--ink)}
.mt .mtform .mtl:first-child{margin-top:0}
.mtwhere{position:relative}
.mt .mtwhere input{width:100%;min-height:50px;font-size:1.08rem;box-sizing:border-box}
.mtsug{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border:1px solid var(--line2);border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.15);max-height:330px;overflow:auto;margin-top:2px}
.mtopt{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:10px 12px;min-height:50px;font:inherit;color:var(--ink);cursor:pointer}
.mtopt:last-child{border-bottom:0}.mtopt:active,.mtopt:hover{background:#f4f7f7}
.mtopt b,.mtopt span{display:block}
.mt .mtdays{margin-top:16px}
.mt .mtcheck{display:flex;align-items:center;min-height:50px;margin:12px 0 0;font-weight:600;cursor:pointer}
.mt .mtcheck input{width:24px;height:24px;min-height:0;margin:0 12px 0 0;flex:none}
.mtints{margin:0 -4px}
.mtint{display:inline-block;margin:4px;min-height:46px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:600 .95rem var(--sans);color:var(--ink);cursor:pointer;vertical-align:top}
.mtint[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.mt .mtsel,.mt .mtdate{width:100%;min-height:50px;font-size:1rem;box-sizing:border-box}
.mt .mtgo{display:block;width:100%;min-height:58px;font-size:1.18rem;margin-top:20px}
.mte{display:inline-block;width:1.6em;text-align:center;flex:none;font-style:normal}
.mt .mtsub{margin-top:-4px}
.mtnote{background:#fff8e6;border:1px solid #f0dcaa;border-radius:10px;padding:10px 12px;margin:8px 0;color:var(--ink)}
.mtshab{background:#f6f3ff;border-color:#dcd3f5}
.mt .mtday{margin:14px 0;padding:14px}
.mt .mtday h2{margin:0 0 6px;font-size:1.18rem}
.mtday.shabbos{background:#f8f6ff}
.mtfri{margin:0 0 6px;color:var(--ink2)}
.mtlist{list-style:none;margin:0;padding:0}
.mtstop{display:flex;align-items:flex-start;padding:8px 0;min-height:44px}
.mtt{flex:none;width:76px;font-weight:700;color:var(--brand);padding-top:3px;white-space:nowrap}
.mtstop .mte{font-size:1.35rem;margin-right:6px;line-height:1.3}
.mtn{flex:1;min-width:0;padding-top:2px}
.mtn a{font-weight:700;font-size:1.06rem}
.mtn > span,.mtn > b{display:block}
.mtx{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:#fff;color:var(--muted);font-size:1.05rem;line-height:1;cursor:pointer;margin-left:6px;padding:0}
.mtx:active{background:#f3f3f3}
.mtdrive{color:var(--muted);font-size:.9rem;padding:0 0 0 76px;border-left:0}
.mtmore h2{margin:0 0 6px;font-size:1.1rem}
.mtul{list-style:none;padding:0;margin:0}
.mtul li{padding:9px 0;min-height:44px;border-top:1px solid var(--line);box-sizing:border-box}
.mtul li:first-child{border-top:0}
.mtul li a{font-weight:600}
.mtacts{margin:18px 0 30px}
.mt .mtsave{display:block;width:100%;min-height:60px;font-size:1.22rem}
.mtrow{margin:10px -4px 4px}
.mtrow .btn{margin:4px;min-height:48px}
.mtempty .btn{margin:6px 6px 0 0;min-height:48px}

/* Oct 21, 2026 — "Trip created by Yiddish Travelers™" footer at the end of every printed trip (print only; a real link in Save as PDF) */
.printfoot{display:none}
@media print{
  .printfoot{display:block!important;margin:12px 0 0;padding-top:6px;border-top:1px solid #e3d7bf;text-align:center;break-inside:avoid;page-break-inside:avoid}
  .printfoot a{display:inline-block;color:#0f4c5c!important;text-decoration:none;font-size:10.5pt;line-height:22px}
  .printfoot img{display:inline-block!important;width:22px;height:22px;vertical-align:middle;margin-right:8px;border-radius:50%}
  .printfoot span{vertical-align:middle}
  .printfoot b{color:#0f4c5c}
  .adempty{display:none!important}
}

/* ===== Oct 21, 2026: Make my trip — cities per day, add your own places, change times (Chrome 79 safe: no flex gap, no :has) ===== */
.mt .mtdays1{margin-top:0;margin-bottom:4px}
.mtlink{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 0;min-height:46px;font:600 1rem var(--sans);color:var(--brand);cursor:pointer;text-decoration:underline}
.mtmh{margin:0 0 6px}
.mtdrow{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 10px;background:#fbfcfc}
.mtdh{font-weight:800;color:var(--navy);margin:0 0 6px;font-size:1.02rem}
.mtcity{display:flex;align-items:center;margin:0 0 8px}
.mtcity .mtwhere{flex:1;min-width:0}
.mt .mtcity .mtwhere input{min-height:48px;font-size:1.02rem}
.mtcn{flex:none;width:26px;height:26px;line-height:26px;border-radius:50%;background:var(--brand);color:#fff;text-align:center;font-weight:700;font-size:.85rem;margin-right:8px}
.mtxc{margin-left:8px}
.mtaddc{display:inline-block;background:#fff;border:1.5px dashed var(--line2);border-radius:999px;padding:8px 14px;min-height:44px;font:600 .95rem var(--sans);color:var(--brand);cursor:pointer}
.mt .mtsearch{margin:10px 0 4px;padding:12px 14px;border:2px solid var(--gold-cta);background:#fffaf0}
.mt .mtsearch .mtl{margin:0 0 6px}
.mt .mtsearch input{width:100%;min-height:50px;font-size:1.05rem;box-sizing:border-box}
.mtsh{margin:6px 0 0}
.mtsearch .ccs-h{padding:6px 12px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:#f6f7f8}
.mtpk{margin:10px 0 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.mtpk b,.mtpk > span{display:block}
.mtpickday{margin:8px 0 0}
.mtpickday p{margin:0 0 4px}
.mtdaybtn{margin:4px 6px 0 0;min-height:46px}
.mtcancel{display:inline-block;min-height:44px;padding:8px 6px;margin-top:4px;background:none;border:0;color:var(--muted);text-decoration:underline;font:inherit;cursor:pointer}
.mtdc{margin:-2px 0 8px;font-weight:700;color:var(--brand)}
.mt .mtt{background:none;border:0;border-bottom:2px dotted var(--brand);border-radius:0;font:700 1rem var(--sans);text-align:left;padding:3px 0 2px;min-height:40px;cursor:pointer;margin-right:4px}
.mt .mtt.mtpin{color:#9a4510;border-bottom-color:#9a4510;border-bottom-style:solid}
.mtstop.mtediting{flex-wrap:wrap}
.mttbox{flex:0 0 100%;display:flex;align-items:center;flex-wrap:wrap;margin:0 0 6px}
.mttin{flex:none;width:150px;min-height:46px;font-size:1.05rem;margin:0 8px 0 0;padding:4px 6px;box-sizing:border-box}
.mttok{min-height:46px;margin-right:6px}
.mtmine{background:#f2faf7;border-radius:10px;padding-left:6px;padding-right:2px;margin:2px -6px 2px -6px}
.mtn .mte{font-size:1rem;width:1.35em;margin-right:2px;line-height:1.2}
.mtyou{display:block;color:var(--ok,#1d7a50);font-weight:700}
.mtaddr{display:block;margin-top:2px;color:var(--ink2,#333)}
.mtmaps{display:block}
.mtmaps a{display:inline-block;min-height:44px;line-height:44px;margin-right:14px;font-weight:700;font-size:.95rem}
.mtwarn{display:block;color:#a33b00;margin-top:2px}
.mttip{margin:4px 0 0}
.mtul li .mtal{display:block}
.mtaddb{margin:6px 0 0;min-height:44px}
.mtin-ok{display:inline-block;margin-top:4px;color:var(--ok,#1d7a50);font-weight:700}
.mtsth{margin:8px 0 2px;font-weight:700}
.mtflash{animation:mtflash 2.4s ease-out}
@keyframes mtflash{0%{background:#ffe9a8}100%{background:transparent}}
.mtmine.mtflash{animation:mtflash2 2.4s ease-out}
@keyframes mtflash2{0%{background:#ffe9a8}100%{background:#f2faf7}}
.mtback{margin:0 0 12px;border:2px solid var(--gold-cta);background:#fffaf0}
.mtback-h{margin:0 0 6px;font-weight:700}
.mtback-b{margin:4px 8px 4px 0;min-height:48px}
.tdaycity{display:block;font:600 .9rem var(--sans);color:var(--brand);margin-top:2px}
@media print{.mt .mtt{border:0;padding:0;min-height:0}.mtmaps a{min-height:0;line-height:1.3}.mtmine{background:none}}

/* Oct 21, 2026 — Make my trip: 🏠 Leave from / 🏁 End at rows + Shachris / Mincha / Maariv at shul stops (Lazer 12:21 PM). No flex gap (Chrome 79). */
.mtse{border:1.5px dashed var(--line2);border-radius:12px;padding:10px 12px;margin:6px 0 10px;background:#f6fafa}
.mtse-e{margin:10px 0 6px}
.mtse-h{font-weight:800;color:var(--navy);font-size:1rem;margin:0 0 6px}
.mtse-src{display:inline-block;font-weight:600;font-size:.8rem;color:#6b5200;background:#fff3cf;border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle}
.mtse-pv{display:none}
.mtse-ed{display:flex;align-items:center}
.mtse-ed .mtwhere{flex:1;min-width:0}
.mt .mtse-ed .mtwhere input{min-height:48px;font-size:1.02rem;width:100%;box-sizing:border-box}
.mtse-x{margin-left:8px}
.mtse-t{display:flex;align-items:center;margin:8px 0 0;font-weight:600;min-height:48px}
.mtse-t span{flex:none;margin-right:10px}
.mt .mtse-t input{min-height:46px;font-size:1.05rem;width:150px;max-width:60%;box-sizing:border-box}
.mtse-i{margin:8px 0 0;font-size:.95rem;color:var(--ink)}
.mtse-i b{color:var(--brand)}
.mtse-late{display:block;font-size:.88rem;color:#8a5a00;margin-top:2px}
.mtse .ccs-h{padding:6px 12px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:#f6f7f8}
.mtprn{font-weight:800}
.mtpr{margin:6px -3px 0;display:block}
.mtpr-l{display:inline-block;margin:0 4px 0 3px;vertical-align:middle}
.mtprb{display:inline-block;margin:3px;min-height:44px;min-width:44px;padding:8px 12px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:600 .92rem var(--sans);color:var(--ink);cursor:pointer;vertical-align:middle}
.mtprb[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.mtprb:disabled{opacity:.6}
.mtaddsh{margin:4px -3px 0;padding:6px 0 0;border-top:1px solid var(--line)}
.mtaddsh-l{display:inline-block;font-weight:600;font-size:.92rem;margin:0 4px 0 3px;vertical-align:middle}
@media print{
  .mtse{border:1px solid #bbb;background:#fff;padding:6px 10px;margin:4px 0 6px;break-inside:avoid}
  .mtse-pv{display:block;font-weight:700}
  .mtse-src{background:none;padding:0}
}
.mtprrow{list-style:none;padding:0 0 6px 30px}
.mtprrow .mtpr{margin:0 -3px}
.mtprb{padding:7px 11px;font-size:.9rem}
.mtaddsh-l{display:block;margin:2px 3px 2px}
@media print{.mt .mtx,.mt .mttip{display:none!important}}

/* Oct 21, 2026 (Lazer 1:25–1:29 PM): trip page — 📖 story box at the top, compact "Use this trip" + Like/Ask/Review after the days. No flex gap (Chrome 79). */
.tstory{margin:14px 0 2px;padding:12px 14px;border:1.5px solid var(--gold);border-left-width:5px;border-radius:12px;background:#fffaf0}
.tstory h2{margin:0 0 6px;font-size:1.08rem;color:var(--navy)}
.tstory p{margin:0;white-space:pre-wrap;line-height:1.5;overflow-wrap:break-word;word-wrap:break-word}
.ttips h2{font-size:1.1rem;margin:0 0 6px}
.ttips p{margin:0;overflow-wrap:break-word;word-wrap:break-word}
.card.tuse{margin:14px 0 0;padding:10px 12px;border:1.5px solid var(--gold);border-radius:12px;background:#fffaf0}
.tuse .tuse-h{margin:0 0 6px;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--navy)}
.tuse-row{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:-6px}
.tuse-row>*{margin:0 8px 6px 0}
.tuse-row>*:last-child{margin-right:0}
.tuse-row .btn,.tuse-row .savebtn{min-height:44px;padding:8px 12px;font-size:.92rem;white-space:nowrap;line-height:1.2}
.tuse-row .savebtn.big{padding:8px 12px}
.tsocialcard{margin-top:14px;padding:10px 12px}
.tsocialcard .tsocial{margin:0;gap:0}
.tsocialcard .tsocial .btn{margin:0 8px 8px 0;min-height:44px}
.tsocialcard .rsum{margin:2px 0 0}
@media print{.tsocialcard,.card.tuse{display:none!important}.tstory{break-inside:avoid}}
.tstory-f .tstory-h{display:block;font-weight:400;margin:-2px 0 0}
.tstory-f .tstory-t .hint{margin-left:4px}

/* Oct 21, 2026 (Lazer 3:09 PM "Change the outline to be solid not dotted"): input-like boxes solid, not dashed */
.addcustom input{border:1px solid #c9c1aa}
.mytrip .ttitle{border-bottom:2px solid var(--line)}
.alert-fields{border:1px solid var(--line)}
.mtse{border:1px solid #c9d6d6}
.mstop-add{border:1px solid var(--navy)}
.mtaddc{border:1px solid var(--line2,#d9d2bf)}
.mt .mtt{border-bottom:1px solid var(--brand)}
/* Oct 21, 2026 (Lazer 3:11 PM "these 6 boxes should be more round by the edges"): rounded hero tiles + nearby controls */
.hero-cats a{border-radius:12px}
.hero-search{border-radius:14px}
.hero-search .btn{border-radius:10px}
.seg{border-radius:12px}
.seg .chip{border-radius:9px}
.filterbox{border-radius:12px}

/* Oct 21, 2026: Travel Store categories + search + traveler reviews on items */
.gsearch{display:flex;margin:6px 0 4px;min-height:46px;max-width:520px}
.gsearch input{width:100%;font-size:16px}
.gcatchips{margin-top:6px}
.gcatchips .atchip{min-height:44px;padding:8px 14px;font-size:.92rem}
.gcatchips .atchip .ati{margin-right:5px}
.gcatchips .atchip .n{margin-left:5px;font-weight:600;color:var(--muted);font-size:.8rem}
.gcatchips .atchip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.gcatchips .atchip[aria-pressed="true"] .n{color:rgba(255,255,255,.85)}
.grv-sum{display:block;margin:2px 0 10px;text-decoration:none;color:var(--ink);font-size:.92rem;min-height:24px}
.grv-sum .stars{color:#e0a100;letter-spacing:1px}
.grv-btn{display:block;width:100%;min-height:44px;margin-top:8px}
.grv{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.grv .grv-r{padding:8px 0;border-bottom:1px solid var(--line)}
.grv .grv-r .stars{color:#e0a100}
.grv .grv-r .who{font-weight:700;margin:0 6px}
.grv .grv-r .vrbody{margin:4px 0 0;white-space:pre-wrap}
.grv-f{margin-top:10px}
.gcatfs .checks{display:flex;flex-wrap:wrap}
.gcatfs .ck{margin:0 12px 8px 0;min-height:36px}

/* Oct 21, 2026 (Lazer 3:23 PM: "the first page background to be stable … the words moving"): the home hero photo stays still while the
   text and boxes scroll over it. A position:fixed photo layer, clipped to the hero box by clip-path (not background-attachment:fixed,
   which phones ignore); the dark gradient moves with the text so it stays readable. */
.hero{-webkit-clip-path:inset(0);clip-path:inset(0)}
.hero .hero-bg{position:fixed;top:0;left:0;right:0;bottom:auto;width:100%;height:100vh;z-index:0;pointer-events:none}
.hero .hero-bg img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
@media print{.hero .hero-bg{position:absolute;height:100%}}

/* Oct 21, 2026: 🔗 Share on store items + shared item link (Chrome 79 safe: no flex gap) */
.gbtns{display:flex;align-items:stretch;margin-top:8px}
.gbtns .grv-btn{flex:1 1 auto;width:auto;margin-top:0;min-width:0}
.gbtns .gshare-btn{flex:0 0 auto;margin-left:8px;min-height:44px;padding-left:14px;padding-right:14px;white-space:nowrap}
.gpicklbl{background:#fff6dc;color:var(--ink);font-weight:700;font-size:.92rem;padding:8px 12px;border:1px solid #eadfba;border-radius:10px;margin:10px 10px 0}
.gpicklbl .linkbtn{font-weight:600;min-height:32px}
.gcatsharep{margin:-2px 0 10px;text-align:right}
.gcatshare{min-height:40px;font-size:.92rem}
.gshare-btn svg,.gcatshare svg,.gpicklbl svg{margin-right:5px;vertical-align:-2px}
/* Oct 21, 2026: Forgot password → email a code */
.fgh{margin:0 0 4px;font-size:1.15rem}
.fgcodein{font-size:1.5rem;letter-spacing:6px;font-weight:700;max-width:220px}
details.fgrec{margin-top:14px}details.fgrec>summary{cursor:pointer;font-weight:700;min-height:44px;line-height:1.35;padding:10px 0;box-sizing:border-box}
details.fgrec[open]>summary{margin-bottom:8px}

/* Oct 21, 2026 — Make my trip: hold & drag stops, ▲ ▼, ＋ note / own item, ⏱ stay length, prayer chips collapse (Lazer 8:45–8:53 PM) */
.mtlist .mtstop,.titems .titem-top{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.mtlist input,.mtlist textarea,.mtlist select,.titems input{-webkit-user-select:text;user-select:text}
.ytdragging .mtdrive,.ytdragging .mtprrow,.ytdragging .mtctl,.ytdragging .mtpanel{display:none!important}
.ytdph{list-style:none;border:2px dashed var(--brand);border-radius:12px;background:#eef7f6;margin:4px 0;box-sizing:border-box}
.ytghost{position:fixed!important;z-index:1000;margin:0!important;background:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.3);-webkit-transform:scale(1.03);transform:scale(1.03);opacity:.97;pointer-events:none;box-sizing:border-box;padding-left:8px!important;padding-right:8px!important;list-style:none}
.mtctl{list-style:none;display:flex;align-items:center;justify-content:flex-end;padding:0 0 8px 70px;margin-top:-2px}
.mtmv{flex:none;width:44px;min-height:40px;margin-left:6px;border:1px solid var(--line2);border-radius:10px;background:#fff;color:var(--brand);font-size:.85rem;line-height:1;cursor:pointer;padding:0}
.mtmv:disabled{opacity:.35;cursor:default}
.mtplus{flex:none;min-height:40px;margin-left:6px;padding:0 12px;border:1.5px solid var(--brand);border-radius:999px;background:#fff;color:var(--brand);font:700 .88rem var(--sans);cursor:pointer;white-space:nowrap}
.mtmv:active,.mtplus:active{background:#eef7f6}
.mtpanel{list-style:none;background:#fbf8f1;border:1px solid #e3d7bf;border-radius:12px;padding:10px;margin:2px 0 12px}
.mtptabs{margin:0 0 4px}
.mtptab{min-height:44px;margin:0 6px 6px 0;padding:6px 12px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:600 .9rem var(--sans);color:var(--ink);cursor:pointer}
.mtptab[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.mtpl{display:block;margin:2px 0 4px;font-weight:700}
.mtpanel textarea,.mtpanel input,.mtpanel select{display:block;width:100%;box-sizing:border-box;min-height:46px;font-size:1rem;border:1px solid #c9c1aa;border-radius:8px;padding:8px;background:#fff;font-family:inherit}
.mtprow2 label{display:block;margin:8px 0 4px;font-weight:700}
.mtpbtns{display:flex;flex-wrap:wrap;align-items:center;margin-top:8px}
.mtpbtns .btn{margin:0 8px 4px 0;min-height:44px}
.mtstay{display:block;margin-top:2px}
.mt .mtdur{background:none;border:0;border-bottom:1.5px dotted var(--brand);border-radius:0;padding:8px 0 2px;min-height:40px;font:700 .92rem var(--sans);color:var(--brand);cursor:pointer;margin-right:8px;text-align:left}
.mtsg{display:inline}
.mtusesg{min-height:40px;padding:4px 2px;color:var(--brand);text-decoration:underline;background:none;border:0;font:700 .88rem var(--sans);cursor:pointer}
.mtnt{display:block;margin-top:4px;background:#fff8e1;border-radius:6px;padding:4px 7px;color:#5b4a14;word-wrap:break-word;overflow-wrap:break-word}
.mtdbox{display:-webkit-box;display:flex;flex-wrap:wrap;align-items:center;margin:4px 0;width:100%}
.mtdbox label{margin:0 6px 0 0;font-weight:700}
.mtdbox select,.mtdbox input{min-height:46px;font-size:1rem;margin:0 10px 6px 0;padding:4px 6px;box-sizing:border-box;max-width:150px}
.mtdbox .mtpbtns{flex:0 0 100%;margin-top:2px}
.mtown{background:#fff8e1}
.mtundo{list-style:none;display:flex;flex-wrap:wrap;align-items:center;background:#f1f6f8;border:1px solid #cfe0e6;border-radius:10px;padding:6px 8px;margin:4px 0 8px}
.mtundo-t{flex:1 1 100%;margin:0 0 4px}
.mtundo .btn{min-height:44px;margin:0 8px 2px 0}
.mtprch{font-size:.8em;margin-left:3px}
@media print{.mt .mtdur{border:0!important;padding:0!important;min-height:0!important;color:#333!important;font-weight:400!important}.mtusesg,.mtctl,.mtpanel{display:none!important}.mtnt{background:none!important;padding:0!important}}
