/* v3 layout + accessibility (display only) */
html[lang=cy] .v-en,html:not([lang=cy]) .v-cy{display:none}
/* type: 16px minimum body, 18px+ buttons, nothing greyer than #C9D1DE */
body,.card p,.card .sub,.warn,small,.call small,.ot,.ot .src,.tnote,#hid,footer,.made,.cen span,.tag,#xupd,#xupd small,.rph,.rpd small,.rpk,.leaflet-popup-content,.sub,#xextra p{font-size:16px!important}
:root{--muted:#C9D1DE}
.btn,button.btn,.go,.rpsend,.rpcancel,.rpb,#xclosed summary{font-size:18px!important}
button,.btn,a.btn,.links a,.v3t,.xt,input,.cen a{min-height:48px}
/* shorter header */
header{padding:6px 12px 4px!important}header .brand{display:none}header h1{font-size:20px!important;margin:4px 0 8px!important;line-height:1.2;padding-right:96px}
/* three big task buttons */
#v3big{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}
.v3b{--c:#F5C518;--g:rgba(245,197,24,.3);display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:0 16px;border-radius:12px;border:2px solid var(--c);background:#13223d;color:#F4E6C6;font-size:20px;font-weight:800;text-align:left;cursor:pointer;outline:none;transition:background-color 150ms,border-color 150ms,box-shadow 150ms}
.v3b[data-l=ws]{--c:#D55E00;--g:rgba(213,94,0,.3)}.v3b[data-l=sh]{--c:#56B4E9;--g:rgba(86,180,233,.3)}
.v3b .ic{font-size:26px;width:32px;text-align:center}
.v3b[aria-pressed=true]{background:var(--c);border-color:var(--c);color:#0A1628;box-shadow:0 0 0 3px var(--g);outline:none}
/* secondary: layer toggles, clearly ON/OFF */
#xbar{margin:0 0 6px!important}
.xt{font-size:16px!important;gap:4px!important;padding:0 3px!important;letter-spacing:-.2px}
.xt .sw{width:12px!important;height:12px!important;flex-basis:12px!important}
.xt[aria-pressed=true]::before{content:"✓";font-weight:900;font-size:18px;margin-right:2px}
.xt[aria-pressed=false]{background:#0A1628!important;color:#F2F4F8!important}
#v3tools{display:flex;gap:6px;margin:0 0 6px}
.v3t{flex:1;min-height:48px;border-radius:10px;border:2px solid #F2F4F8;background:transparent;color:#F2F4F8;font-size:16px;font-weight:700;padding:4px 8px;cursor:pointer}
.v3t[aria-pressed=true]{background:#F2F4F8;color:#0A1628}.v3t[aria-pressed=true]::before{content:"✓ ";font-weight:900}
.v3oo{width:100%;margin:2px 0 6px;font-size:17px}
/* Before you go: one line */
#xbefore summary{flex-direction:row!important;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;min-height:48px!important}
#xbefore .bt{flex:0 0 auto;font-size:14px!important}#xbefore .bs{overflow:hidden;text-overflow:ellipsis;font-size:16px}
/* results: Open today lives here */
#v3res{padding:0 12px}#v3res label.tog{margin-top:8px}#v3res .tnote{margin:0 0 4px 34px;color:#C9D1DE}
/* cards: status first, then distance + walk */
.v3st{display:block;font-weight:900;font-size:17px;letter-spacing:.02em;padding:8px 12px;border-radius:8px;margin:0 0 8px}
.v3st.open{background:#1E7B3A;color:#fff}.v3st.shut{background:#F2F4F8;color:#0A1628;border-left:6px solid #E63946}.v3st.unk{background:transparent;color:#F2F4F8;border:2px solid #C9D1DE}
.v3wk{font-size:16px;font-weight:700;margin:0 0 8px}
.btn.gm,.btn.call,a.btn.call{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:56px!important;background:#F5C518!important;color:#0A1628!important;border:0!important;font-size:18px!important;font-weight:800;border-radius:10px;text-decoration:none;margin:8px 0}
.btn.call small{color:#0A1628!important;margin-left:6px;font-weight:600}
.v3share{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:52px;background:transparent;border:2px solid #F5C518;color:#F2F4F8;font-weight:800;border-radius:10px;margin:8px 0}
.card .links{display:flex;gap:16px;margin:4px 0}.card .links a,.leaflet-popup-content .links a{flex:0 0 auto!important;border:0!important;justify-content:flex-start!important;text-decoration:underline;font-size:16px!important;padding:0}
/* Get food at: no gap, full-width rows */
.lh{margin:10px 0 2px!important}.cen{margin:0!important}.cen li{padding:0!important}
.cen a{display:flex!important;width:100%;min-height:52px;padding:6px 10px;background:#13223d;border:2px solid #F5C518;border-radius:10px;margin:4px 0 0;text-decoration:none}
.cen a::after{content:"›";margin-left:auto;font-size:24px}.cen span{padding:2px 0 6px 2px}
/* sheet close X: 44px, never clipped */
#sheet{padding-top:56px!important}
#sheet .x{position:absolute!important;top:2px!important;right:2px!important;width:52px!important;height:52px!important;font-size:24px!important;line-height:52px!important;touch-action:manipulation;padding:0!important;border-radius:10px;background:#13223d!important;color:#F2F4F8!important;border:2px solid #F2F4F8!important;z-index:3;display:flex;align-items:center;justify-content:center}
#sheet .ncb{margin-right:0!important}
/* shelters emergency strip */
#v3sos,.v3sos{display:block}#v3sos[hidden]{display:none}
.v3sos{background:#F2F4F8;color:#0A1628;border-left:6px solid #56B4E9;border-radius:8px;padding:10px 12px;margin:0 0 8px;font-size:16px;line-height:1.35}
.v3sos a{color:#0A1628!important;font-weight:800;text-decoration:underline;display:inline!important;min-height:0!important}
/* list-only view */
html.nomap #map{display:none}
/* high-contrast light mode */
html.light,html.light body{background:#fff!important;color:#000!important}
html.light header,html.light #xextra,html.light #v3res,html.light footer,html.light .made{color:#000!important}
html.light header h1,html.light .card h3,html.light .lh,html.light #xclosed summary{color:#000!important}
html.light .card,html.light #xclosed,html.light .rpfix,html.light .rpr,html.light .rpc{background:#fff!important;border:2px solid #000!important;border-left:8px solid #000!important;color:#000!important}
html.light #sheet,html.light .rpd{background:#fff!important;color:#000!important;border-color:#000!important}
html.light .card p,html.light .card .sub,html.light small,html.light .tnote,html.light #hid,html.light .cen span,html.light footer,html.light .made,html.light .rph,html.light .rpk,html.light .rpd small,html.light #xupd b,html.light #v3res .tnote{color:#000!important}
html.light a:not(.btn),html.light .card .links a,html.light footer a,html.light .made a,html.light #xextra a:not(.btn){color:#00379E!important}
html.light .v3b{--c:#8A5A00;--g:rgba(245,197,24,.3);background:#fff;color:#0A1628}html.light .v3b[data-l=ws]{--c:#D55E00;--g:rgba(213,94,0,.3)}html.light .v3b[data-l=sh]{--c:#0072B2;--g:rgba(86,180,233,.3)}html.light .v3b[aria-pressed=true]{background:var(--c);border-color:var(--c);color:#0A1628}html.light .v3b[data-l=fb][aria-pressed=true]{--c:#F5C518}html.light .v3b[data-l=sh][aria-pressed=true]{--c:#56B4E9}html.light .v3b[aria-pressed=true] .ic{color:#0A1628}
html.light .v3t,html.light .xt[aria-pressed=false],html.light #xlang,html.light .v3share,html.light .rpb,html.light .rpcancel,html.light .v3st.unk{background:#fff!important;color:#000!important;border-color:#000!important}
html.light .v3t[aria-pressed=true]{background:#000!important;color:#fff!important}html.light #xbar{border-color:#000!important}
html.light .cen a{background:#fff!important;color:#00379E!important;border-color:#000!important}
html.light .rpd legend,html.light .rphead h2{color:#000!important}html.light #sheet .x{background:#fff!important;color:#000!important;border-color:#000!important}
html.light #xlang b{color:#000!important;text-decoration:underline}
html.light .rpd textarea,html.light .rpd input[type=text],html.light .rpd input[type=email],html.light #q{border:2px solid #000!important}
html.light .loc{color:#000!important;border-color:#000!important}

/* v4 final fixes (Motion Designer final review, 21 Oct 2026) */
#xbar,#xbar[hidden]{display:none!important}
.v3b[aria-pressed=true]::after{content:"✓";margin-left:auto;font-size:26px;font-weight:900}
.v3b:focus-visible{outline:2px solid #F4E6C6;outline-offset:2px}html.light .v3b:focus-visible{outline-color:#0A1628}
#v3tools{display:flex;gap:18px;justify-content:center;margin:0 0 4px}
.v3t{flex:0 0 auto;border:0!important;background:transparent!important;color:#F2F4F8!important;font-size:15px!important;font-weight:700;text-decoration:underline;padding:0 4px;min-height:44px}
.v3t[aria-pressed=true]{background:transparent!important;color:#F5C518!important}
#xbefore .bt{display:none}#xbefore .bs{white-space:nowrap;font-size:16px;font-weight:700}
.v3st.open{background:#F5C518!important;color:#0A1628!important;border:0}
.v3st.shut{background:#F2F4F8!important;color:#0A1628!important;border:0!important;border-left:0!important}
.v3st.shut::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:#6B7280;margin-right:8px;vertical-align:middle}
.cen span{font-size:16px!important;color:#C9D1DE!important}
.cen a.cdir{display:flex!important;width:100%;min-height:56px;justify-content:center;align-items:center;background:#F5C518!important;color:#0A1628!important;border:0!important;font-size:18px;font-weight:800;margin:4px 0 10px}
.cen a.cdir::after{content:none}
#v3res .tnote,.tnote{font-size:15px!important;color:#C9D1DE!important}
.sosb{display:flex;gap:8px;margin-top:8px}
.v3sos a.sosl{display:flex!important;flex:1;align-items:center;justify-content:center;min-height:48px!important;border-radius:10px;background:#0A1628;color:#F2F4F8!important;text-decoration:none;font-weight:800;font-size:16px}
.v3sos a.sosl.s999{background:#E63946;color:#fff!important}
#xnear{min-height:56px}
/* light mode: no gold or pale grey text on white */
html.light .note,html.light .ot tr.td td,html.light #hid,html.light #msg:not(.err),html.light .lh,html.light .tnl,html.light .ref b,html.light .made a,html.light footer a,html.light .card .links a,html.light #xupd small,html.light .v3t[aria-pressed=true]{color:#8A5A00!important;border-color:#8A5A00}
html.light .ot .src,html.light .card .sub,html.light .warn,html.light #v3res .tnote,html.light .tnote,html.light .cen span,html.light small{color:#4A5568!important}
html.light .v3t{color:#000!important}
html.light .cen a.cdir{background:#F5C518!important;color:#0A1628!important;border:2px solid #000!important}
header h1{min-height:46px;display:flex;align-items:center;margin:6px 0 12px!important}

/* v6 (Motion Designer verdict, approved by Dean): one line-icon set, short labels, tidier cards */
.ico{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em;margin-right:6px}
.v3b .ic{display:flex;align-items:center;justify-content:center;width:34px;font-size:30px}.v3b .ic .ico{margin:0;width:30px;height:30px}
.v3b .ic{color:var(--c)}.v3b[aria-pressed=true] .ic{color:#0A1628}
.v3b{white-space:nowrap}
.v3b[aria-pressed=true]::after{content:none}
.btn.call .ico,.sosl .ico{width:20px;height:20px}
#me .ico{margin:0;width:24px;height:24px}
#xnear{display:flex;align-items:center;justify-content:center}
.v3nx{font-size:16px;margin:-2px 0 10px;color:#F2F4F8}.v3nx .ico{color:#C9D1DE}
.v3wk{display:flex;align-items:center}
.ot>b{display:inline-flex;align-items:center}
.ncb{display:flex;align-items:flex-start}.ncb .ico{margin-top:2px}
.xw{display:flex;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.chip{display:inline-block;font-size:15px;font-weight:700;padding:4px 10px;border-radius:999px;border:2px solid #D55E00;color:#F2F4F8}
#xextra .v3oo{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:48px!important;border:2px solid #F2F4F8!important;border-radius:10px;text-decoration:none!important;font-size:17px!important;margin:4px 0 6px}
#xextra .v3oo[aria-pressed=true]{background:#F2F4F8!important;color:#0A1628!important}
#xextra .v3oo[aria-pressed=true]::before{content:none}
.v3ex{font-size:15px!important;color:#C9D1DE!important;margin:0 0 8px}
#v3res .tnote,.tnote{font-size:15px!important;color:#C9D1DE!important}
html.light .v3nx{color:#000}html.light .v3nx .ico{color:#4A5568}
html.light .chip{color:#000;border-color:#8A5A00}
html.light #xextra .v3oo{border-color:#000!important;color:#000!important}html.light #xextra .v3oo[aria-pressed=true]{background:#000!important;color:#fff!important}
html.light .v3ex{color:#4A5568!important}
html.light .v3sos a.sosl:not(.s999){background:#0A1628;color:#fff!important}
html.light .v3t[aria-pressed=true]{background:transparent!important;color:#8A5A00!important}html.light .v3t[aria-pressed=true]::before{content:none}

html.light #xextra .card.xws{border-left-color:#D55E00!important}
.psrc{display:block;font-size:15px!important;margin:-4px 0 8px;color:#C9D1DE}html.light .psrc{color:#000!important}
.v3st.shut b{font-weight:800;white-space:nowrap!important}

/* v7 toggle (Dean approved 21 Oct 2026): stacked radio rows, solid lit fill, no glow, night cue */
#v3big{gap:12px}
.v3b,.v3b[aria-pressed]{min-height:64px;border:3px solid var(--c);background:#1A2D4D;color:#F4E6C6;box-shadow:none!important;outline:none;padding:6px 14px;gap:12px;transition:background-color 150ms,border-color 150ms,transform 100ms}
.v3b .ic{color:var(--c);width:30px;flex:0 0 30px}.v3b .ic .ico{width:28px;height:28px}
.v3bt{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.v3bl{font-size:20px;font-weight:800}.v3bs{font-size:15px;font-weight:600;opacity:.95;margin-top:2px}
.v3tick{margin-left:auto;display:none;flex:0 0 22px}.v3sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v3b[aria-checked=false] .v3sr{display:none}
.v3b[aria-checked=true]{background:var(--c);border-color:var(--c);color:#0A1628}
.v3b[aria-checked=true] .ic,.v3b[aria-checked=true] .v3tick{color:#0A1628}.v3b[aria-checked=true] .v3tick{display:block}
.v3b[aria-checked=true] .ic .ico>*:not([d^="M8 3.5"]):not([d^="M16 12"]){fill:currentColor}
.v3b[aria-checked=true] .ic .ico circle{fill:#56B4E9}
.v3b:active{transform:scale(.98)}
.v3b:focus-visible{outline:2px solid #F4E6C6;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.v3b,.v3b[aria-pressed]{transition:none}.v3b:active{transform:none}}
#v3night{font-size:16px;font-weight:700;color:#F4E6C6;padding-left:55px;margin:-6px 0 0}
#v3sos .v3sos{font-size:16px;line-height:1.45;padding:16px}
.sosb{gap:12px}
.v3sos a.sosl{font-size:18px;font-weight:700;min-height:48px!important}
.v3sos a.sosl.s999{background:#0A1628;color:#F4E6C6!important;border:2px solid #0A1628}.v3sos a.sosl:not(.s999){background:#fff;color:#0A1628!important;border:2px solid #0A1628}
.card.v3closed>*:not(.btn){opacity:.6}  /* dimmed card, but Directions / Call / Share stay full colour */
.pop .btn.call{margin-top:6px;min-height:48px!important}.leaflet-popup-content .pop a.btn.gm,.leaflet-popup-content .pop a.btn.call{color:#0A1628!important}.ptd{margin-top:6px;font-size:15px}.ptd .ico{width:16px;height:16px;vertical-align:-3px;margin-right:4px}.xnl{color:#5b6677;font-style:italic}html:not(.light) .xnl{color:#b7c0cf}.palt{display:block}
#q,#q::placeholder{font-size:17px}#f .go{font-size:17px;font-weight:700}
html.light .v3b{background:#fff;color:#0A1628;--c:#8A5A00}html.light .v3b[data-l=ws]{--c:#D55E00}html.light .v3b[data-l=sh]{--c:#0072B2}
html.light .v3b[aria-checked=true]{--c:#F5C518}html.light .v3b[data-l=ws][aria-checked=true]{--c:#D55E00}html.light .v3b[data-l=sh][aria-checked=true]{--c:#56B4E9}
html.light .v3b[aria-checked=true]{background:var(--c);color:#0A1628}
html.light .v3b:focus-visible{outline-color:#0A1628}
html.light #v3night{color:#0A1628}
html.light .v3sos{background:#0A1628;color:#F4E6C6}html.light .v3sos a.sosl.s999{background:#F4E6C6;color:#0A1628!important;border-color:#F4E6C6}
html.light .v3sos a.sosl:not(.s999){background:transparent;color:#F4E6C6!important;border:2px solid #F4E6C6}
#f{position:relative;z-index:1200;margin-bottom:12px}
