/*
Theme Name: Comercios València Centro
Theme URI: https://www.comercioscentrovalencia.com/
Author: Vicente (LYBA Store)
Description: Tema a medida para la Asociación Comercios València Centro: directorio de comercios, plano interactivo, campañas, agenda, noticias y zona privada de socios.
Version: 0.2.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: cvc
License: GPL-2.0-or-later
*/
/* Layout: la identidad del cartel del 30 aniversario (crema, granate, naranja) con botones en forma de entrada, como los de su web actual. Tema claro único, a propósito, para respetar la marca. */
:root{
  --cream:#f7f0e3; --paper:#fffaf2; --ink:#2b1a14; --muted:#6e5a4f; --line:#e6d8c3;
  --red:#a3261c; --red-dark:#7d1c14; --orange:#e2591a; --orange-soft:#fbe3d2; --gold:#d79a1c;
  --display:"Oswald","Arial Narrow",Impact,sans-serif;
  --body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --wrap:1180px; --r:12px;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
a{color:var(--red)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);text-wrap:balance;line-height:1.1;margin:0;font-weight:600;letter-spacing:.01em}
h1{font-size:clamp(2rem,4.6vw,3.2rem);text-transform:uppercase}
h2{font-size:clamp(1.6rem,3vw,2.2rem);text-transform:uppercase}
h3{font-size:1.15rem}
p{margin:0}
.eyebrow{font-family:var(--display);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);font-weight:600}
.lead{font-size:1.12rem;color:var(--muted);max-width:62ch}
.sr{position:absolute;left:-9999px}

/* botón entrada (como "QUIÉNES SOMOS" de su web) */
.tk{--tc:var(--orange);--tt:#fff8ec;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 1rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--tt);background:var(--tc);padding:13px 30px;border:0;cursor:pointer;
  -webkit-mask:radial-gradient(circle 9px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 9px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  box-shadow:inset 0 0 0 3px var(--tc),inset 0 0 0 5px rgba(255,248,236,.55);transition:filter .15s,transform .15s}
.tk:hover{filter:brightness(1.08);transform:translateY(-1px)}
.tk.red{--tc:var(--red)}
.tk.cream{--tc:var(--paper);--tt:var(--red)}
.tk.sm{font-size:.85rem;padding:9px 22px}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:9px 14px;font:600 .9rem var(--body);text-decoration:none;cursor:pointer;border:1.5px solid var(--line);color:var(--ink);background:var(--paper)}
.btn[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}


/* cabecera */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--paper);border-bottom:3px solid var(--red)}
header.top .wrap{display:flex;align-items:center;gap:18px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand img{width:58px;height:58px;border-radius:50%}
.brand b{font-family:var(--display);font-size:1.1rem;text-transform:uppercase;line-height:1.05;display:block;letter-spacing:.03em}
.brand small{font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
nav.main{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto}
nav.main a{text-decoration:none;color:var(--ink);font:500 1rem var(--display);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-radius:6px}
nav.main a:hover{color:var(--red)}
nav.main a[aria-current="page"]{color:var(--paper);background:var(--red)}
.tools{display:flex;gap:10px;align-items:center}
.lang{display:flex;border:1.5px solid var(--line);border-radius:6px;overflow:hidden}
.lang button{border:0;background:none;color:var(--muted);font:600 .76rem var(--body);padding:6px 8px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.menu-toggle{display:none}
@media (max-width:1080px){
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:3px solid var(--red);flex-direction:column;padding:8px max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px))}
  nav.main.open{display:flex}
  .menu-toggle{display:inline-flex;margin-left:auto}
  .tools .tk{display:none}
}
@media (max-width:480px){.brand small{display:none}.brand img{width:46px;height:46px}.brand b{font-size:.95rem}}

/* carrusel del cartel */
.slider{position:relative;background:var(--red-dark)}
.slides{position:relative;aspect-ratio:1920/700;max-width:100%;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide.cartel img{object-position:50% 45%}
.slide .cap{position:absolute;right:max(16px,4%);bottom:12%;display:grid;gap:10px;justify-items:end}
.slide.text{background:var(--red);display:grid;place-items:center;color:var(--paper);text-align:center}
.slide.text .in{display:grid;gap:14px;justify-items:center;padding:16px}
.slide.text h2{font-size:clamp(1.6rem,4.4vw,3.4rem);color:var(--paper)}
.slide.text p{color:#f6d9c4;font-size:clamp(.95rem,1.6vw,1.2rem);max-width:52ch}
.dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px}
.dots button{width:12px;height:12px;border-radius:50%;border:2px solid var(--paper);background:transparent;cursor:pointer;padding:0}
.dots button[aria-current="true"]{background:var(--paper)}
@media (max-width:640px){.slides{aspect-ratio:4/3}.slide .cap{bottom:16%}}

/* buscador */
.finder{background:var(--paper);border-bottom:1px solid var(--line)}
.finder .wrap{padding-block:18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.finder form{display:flex;gap:8px;flex:1;min-width:260px;background:var(--cream);border:1.5px solid var(--line);border-radius:10px;padding:5px}
.finder input{flex:1;min-width:0;border:0;background:none;font:500 1rem var(--body);padding:9px 10px;color:var(--ink)}
.finder .quick{display:flex;gap:6px;flex-wrap:wrap}
.pill{font:600 .82rem var(--body);border:1.5px solid var(--line);background:var(--paper);color:var(--ink);padding:6px 12px;border-radius:99px;cursor:pointer;text-decoration:none}
.pill:hover{border-color:var(--orange);color:var(--orange)}

section.band{padding-block:56px}
section.band.paper{background:var(--paper);border-block:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.sec-head > div{display:grid;gap:6px}

/* botones grandes con foto (como "Conoce nuestros asociados") */
.big-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bigb{position:relative;border-radius:var(--r);overflow:hidden;min-height:250px;display:grid;place-items:center;text-decoration:none;isolation:isolate}
.bigb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.bigb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,26,20,.15),rgba(43,26,20,.6));z-index:-1}
.bigb:hover img{transform:scale(1.05)}
.bigb .in{display:grid;gap:10px;justify-items:center;text-align:center;padding:16px}
.bigb .in p{color:#fff3e4;font-weight:500;max-width:30ch;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.bigb.online{background:#fff}
.bigb.online::after{background:none}
.bigb.online img{object-fit:contain;padding:10px 10px 70px}
.bigb.online .in{align-self:end}
@media (max-width:900px){.big-btns{grid-template-columns:1fr}.bigb{min-height:200px}}

/* familias */
.fams{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.fam-b{display:flex;align-items:center;gap:12px;background:var(--paper);border:1.5px solid var(--line);border-radius:10px;padding:14px;text-decoration:none;color:var(--ink);cursor:pointer;font:inherit;text-align:left}
.fam-b:hover{border-color:var(--orange)}
.fam-b .ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#fff;font:700 1rem var(--display)}
.fam-b b{display:block;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.98rem;line-height:1.15}
.fam-b small{color:var(--muted);font-size:.82rem}

/* tarjetas de comercio */
.grid{display:grid;gap:18px}
.g4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.shop{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s;min-width:0}
.shop:hover{transform:translateY(-3px);border-color:var(--orange)}
.shop .lg{aspect-ratio:16/11;max-width:100%;background:#fff;display:grid;place-items:center;border-bottom:1.5px solid var(--line)}
.shop .lg img{max-width:88%;max-height:88%;object-fit:contain}
.shop .bd{padding:12px 14px 14px;display:grid;gap:5px}
.shop h3{font-size:1.08rem;text-transform:uppercase;letter-spacing:.02em}
.shop .meta{font-size:.86rem;color:var(--muted)}
.tag{justify-self:start;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:4px;color:#fff}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:.74rem;font-weight:600;padding:3px 8px;border-radius:99px;background:var(--orange-soft);color:var(--red-dark)}

/* directorio */
.dir{display:grid;grid-template-columns:270px 1fr;gap:26px;align-items:start}
.filters{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:16px;position:sticky;top:100px}
.filters label{font-weight:600;font-size:.86rem;display:grid;gap:6px}
.filters input[type=search],.filters select{font:500 .95rem var(--body);padding:9px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink)}
.check{display:flex !important;align-items:center;gap:8px;font-weight:500 !important}
.famf{display:flex;flex-wrap:wrap;gap:6px}
.famf button{font:500 .8rem var(--body);border:1.5px solid var(--line);background:var(--cream);color:var(--ink);padding:5px 10px;border-radius:99px;cursor:pointer}
.famf button[aria-pressed="true"]{background:var(--red);color:var(--paper);border-color:var(--red)}
.count{color:var(--muted);font-size:.92rem}
@media (max-width:880px){.dir{grid-template-columns:1fr}.filters{position:static}}

/* plano */
.map{position:relative;background:#eee;border:1.5px solid var(--line);border-radius:var(--r);overflow:hidden}
.map .vp{overflow:auto;max-height:640px;-webkit-overflow-scrolling:touch;cursor:grab}
.map .stage{position:relative;width:100%;transition:width .25s}
.map .stage img.base{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.pin{position:absolute;transform:translate(-50%,-100%);width:30px;height:38px;border:0;background:none;padding:0;cursor:pointer;z-index:1}
.pin svg{width:100%;height:100%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.pin.me{width:40px;height:50px;z-index:2}
.pin:hover,.pin.sel{z-index:3}
.pop{position:absolute;z-index:4;width:230px;background:var(--paper);border:1.5px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(43,26,20,.3);overflow:hidden;transform:translate(-50%,calc(-100% - 46px))}
.pop .lg{height:90px;background:#fff;display:grid;place-items:center;border-bottom:1px solid var(--line)}
.pop .lg img{max-height:80px;max-width:80%}
.pop .bd{padding:10px 12px;display:grid;gap:4px}
.pop .x{position:absolute;top:4px;right:6px;border:0;background:var(--paper);border-radius:50%;width:26px;height:26px;cursor:pointer;font-size:1rem;color:var(--ink)}
.zoom{position:absolute;top:10px;right:10px;display:grid;gap:4px;z-index:5}
.zoom button{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--line);background:var(--paper);font:700 1.2rem var(--body);cursor:pointer;color:var(--ink)}
.legend{display:flex;gap:6px 14px;flex-wrap:wrap;padding:10px 14px;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);background:var(--paper)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.osm{position:absolute;left:6px;bottom:6px;background:rgba(255,255,255,.85);font-size:.7rem;padding:2px 6px;border-radius:4px;z-index:5;color:#333}

/* ficha */
.ficha{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start}
.ficha .lgbig{background:#fff;border:1.5px solid var(--line);border-radius:14px;aspect-ratio:16/9;max-width:100%;display:grid;place-items:center}
.ficha .lgbig img{max-width:70%;max-height:75%;object-fit:contain}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.side{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:14px}
dl.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:.95rem}
dl.kv dt{color:var(--muted);font-weight:500}
dl.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.note{font-size:.82rem;color:var(--muted)}
@media (max-width:880px){.ficha{grid-template-columns:1fr}}

/* agenda y noticias */
.ev{display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1.5px dashed var(--line)}
.ev .date{background:var(--red);color:var(--paper);border-radius:8px;text-align:center;padding:8px 4px;font-variant-numeric:tabular-nums}
.ev .date b{display:block;font-family:var(--display);font-size:1.8rem;line-height:1}
.ev .date span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.ev h3{font-family:var(--body);font-weight:700;font-size:1.02rem}
@media (max-width:600px){.ev{grid-template-columns:64px 1fr}.ev .chip{grid-column:2;justify-self:start}}
.news{display:grid;gap:4px;padding:14px 0;border-bottom:1.5px dashed var(--line)}
.news time{font-size:.84rem;color:var(--orange);font-weight:600;font-variant-numeric:tabular-nums}
.news h3{font-family:var(--body);font-weight:700;font-size:1.02rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media (max-width:880px){.two{grid-template-columns:1fr}}

/* bono */
.bono{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.voucher{background:var(--red);color:var(--paper);border-radius:14px;padding:28px;display:grid;gap:8px;max-width:460px;position:relative;
  -webkit-mask:radial-gradient(circle 16px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 16px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 16px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 16px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  box-shadow:inset 0 0 0 8px var(--red),inset 0 0 0 10px rgba(255,248,236,.5)}
.voucher .big{font-family:var(--display);font-weight:700;font-size:4rem;line-height:1}
.steps{display:grid;gap:14px;counter-reset:s;padding:0;margin:0}
.steps li{list-style:none;display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}
.steps li::before{counter-increment:s;content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font:700 1.05rem var(--display)}
@media (max-width:880px){.bono{grid-template-columns:1fr}}

.banner-img{width:100%;border-radius:var(--r);display:block;border:1.5px solid var(--line)}

/* formularios */
form.f{display:grid;gap:14px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:22px}
form.f label{display:grid;gap:6px;font-weight:600;font-size:.9rem}
form.f input,form.f select,form.f textarea{font:500 1rem var(--body);padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink);width:100%}
form.f input[type=checkbox]{width:auto}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){.row2{grid-template-columns:1fr}}
.ok{background:var(--orange-soft);color:var(--red-dark);padding:12px 14px;border-radius:8px;font-weight:600}
.prose{display:grid;gap:14px;max-width:66ch}
.stats{display:flex;gap:34px;flex-wrap:wrap}
.stat b{display:block;font-family:var(--display);font-size:2.6rem;color:var(--red);line-height:1;font-variant-numeric:tabular-nums}
.stat span{color:var(--muted);font-size:.9rem}
#login{}
@media (max-width:880px){#login{grid-template-columns:1fr !important}}
.panel{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
.panel aside{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:8px;display:grid;gap:2px}
.panel aside button{all:unset;cursor:pointer;padding:10px 12px;border-radius:8px;font-weight:600}
.panel aside button[aria-pressed="true"]{background:var(--red);color:var(--paper)}
.panel aside button:focus-visible{outline:3px solid var(--orange)}
@media (max-width:880px){.panel{grid-template-columns:1fr}}
.card{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:6px}
.card .meta{color:var(--muted);font-size:.92rem}

footer{background:var(--red-dark);color:#f6e3d2}
footer .wrap{padding-block:40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:28px}
footer a{color:#f6e3d2;text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:#fff}
footer h3{font-size:1rem;margin-bottom:8px;text-transform:uppercase;color:#fff}
footer p{font-size:.92rem}
footer input{font:500 .95rem var(--body);padding:9px 10px;border-radius:8px;border:0;width:100%;margin-block:8px}
.social{display:flex;gap:8px;margin-top:6px}
.social span{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;font:700 .78rem var(--body)}
@media (max-width:880px){footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .wrap{grid-template-columns:1fr}}

.cookie{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--paper);border-top:3px solid var(--red);box-shadow:0 -8px 24px rgba(0,0,0,.12);padding-bottom:env(safe-area-inset-bottom,0px)}
.cookie .wrap{padding-block:14px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.cookie p{font-size:.9rem;max-width:70ch}
.cookie .btns{display:flex;gap:8px;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){.slide{transition:none}.shop,.tk,.bigb img{transition:none}}
.crumbs{font-size:.88rem;color:var(--muted);padding-block:18px 0}
.crumbs a{color:var(--muted)}
.ph1{font-size:clamp(1.8rem,4vw,2.7rem)}

/* --- WordPress --- */
.screen-reader-text{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;z-index:100;background:var(--paper);padding:8px 12px;width:auto;height:auto}
.entry{max-width:72ch;display:grid;gap:14px}
.entry img{max-width:100%;height:auto;border-radius:10px}
.entry h2{font-size:1.6rem;margin-top:12px}
.alignwide{max-width:var(--wrap)}
.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.nav-links .page-numbers{padding:8px 12px;border:1.5px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);background:var(--paper)}
.nav-links .current{background:var(--red);color:var(--paper);border-color:var(--red)}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:wrap}
@media (max-width:1080px){nav.main ul{flex-direction:column}}
nav.main .current-menu-item>a,nav.main .current_page_item>a,nav.main .current-menu-ancestor>a{color:var(--paper);background:var(--red)}
.leaflet-map{height:560px;max-height:70vh;border:1.5px solid var(--line);border-radius:var(--r);z-index:0}
.leaflet-map.small{height:320px}
.leaflet-popup-content{margin:10px 12px;font-family:var(--body)}
.leaflet-popup-content .pl{height:70px;display:grid;place-items:center;margin-bottom:6px}
.leaflet-popup-content .pl img{max-height:64px;max-width:160px}
.leaflet-popup-content b{font-family:var(--display);text-transform:uppercase;font-size:1rem;display:block}
.cvc-pin{background:none;border:0}
.status-recibida{background:#efe7da;color:var(--muted)}
.status-tramite{background:var(--orange-soft);color:var(--red-dark)}
.status-resuelta{background:#e3efd8;color:#3b5d1d}
.notice{padding:12px 14px;border-radius:8px;font-weight:600;background:var(--orange-soft);color:var(--red-dark)}
.notice.error{background:#f7dad7;color:#7d1c14}

/* Formulario de acceso de WordPress dentro del área de socios */
#loginform{display:grid;gap:14px}
#loginform p{margin:0;display:grid;gap:6px}
#loginform label{font-weight:600;font-size:.9rem}
#loginform input[type=text],#loginform input[type=password]{font:inherit;padding:11px 12px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper)}
#loginform .login-remember label{display:flex;gap:8px;align-items:center;font-weight:500}
#loginform input[type=submit]{justify-self:start;font:600 1rem var(--display);text-transform:uppercase;letter-spacing:.04em;background:var(--orange);color:#fff;border:0;padding:12px 26px;border-radius:6px;cursor:pointer}
.fams label.fam-b:has(input:checked){border-color:var(--red);background:var(--orange-soft)}
.fams label.fam-b input{margin-top:4px}
.leaflet-container a.tk{color:var(--tt)}
@media (min-width:1081px){nav.main ul{flex-wrap:nowrap}nav.main a{padding:8px 7px;font-size:.95rem}}
@media (min-width:1081px) and (max-width:1280px){.brand small{display:none}.brand b{font-size:.95rem}}
.shop .lg{overflow:hidden}
.shop .lg img{width:88%;height:88%;max-width:none;max-height:none;object-fit:contain}
@media (max-width:1080px){nav.main ul{flex-direction:column}}
@media (max-width:480px){header.top .wrap{gap:8px}.brand{min-width:0;flex:1}.brand b{font-size:.85rem;line-height:1.15;white-space:normal}.menu-toggle{margin-left:0}.tools .btn{padding:7px 8px !important}}
footer p a{display:inline}
[hidden]{display:none !important}
.lang a{color:var(--muted);font:600 .76rem var(--body);padding:6px 8px;text-decoration:none}
.lang a[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
footer li{list-style:none}
footer ul{margin:0;padding:0}
@media (min-width:1081px) and (max-width:1366px){nav.main a{padding:8px 5px;font-size:.9rem}.brand b{max-width:12ch}}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card .chip{justify-self:start;align-self:start}
.card{align-content:start}
