/*
Theme Name: DovePesco
Description: Tema per la directory dei laghetti di pesca sportiva (predisposto per mare e fiumi). Da usare con il plugin Pesca Spot.
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dovepesco
*/
@font-face{font-family:"Bricolage Grotesque";src:url("assets/fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#eaf0ed;--surface:#fafcfb;--card:#fff;--ink:#0f3a43;--text:#17323a;--muted:#4d6467;--line:#c9d6d0;
  --link:#2f5d44;--accent:#d4382c;--on-accent:#fff;--btn:#0f3a43;--on-btn:#fff;--band:#0f3a43;--on-band:#e6efed;
  --head:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:6px;--w:1120px;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0a191d;--surface:#10272d;--card:#10272d;--ink:#e6efed;--text:#d7e4e1;--muted:#98b0b0;--line:#244249;
  --link:#8fd1aa;--accent:#ff6a58;--on-accent:#1a0a07;--btn:#e6efed;--on-btn:#0a191d;--band:#061114;--on-band:#d7e4e1;
}}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:var(--head);color:var(--ink);line-height:1.12;margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:700;letter-spacing:-.028em;line-height:1.04}
h2{font-size:clamp(1.5rem,3vw,2.05rem);font-weight:700}
h3{font-size:1.2rem;font-weight:650}
p{margin:0 0 1em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;z-index:9999;background:var(--surface);padding:8px 12px}
.lead{font-size:1.15rem;max-width:60ch;color:var(--muted)}
.muted{color:var(--muted)}

/* Pulsanti */
.btn{display:inline-block;font:700 1rem/1 var(--body);padding:.85rem 1.2rem;border-radius:var(--r);border:2px solid var(--btn);background:var(--btn);color:var(--on-btn);text-decoration:none;cursor:pointer}
.btn:hover{color:var(--on-btn);filter:brightness(1.15)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-accent:hover{color:var(--on-accent)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--bg)}
.btn-block{display:block;text-align:center}

/* Barra delle pagine utili, sopra l'intestazione (scorre via: resta fissa solo l'intestazione) */
.topbar{background:var(--band);color:var(--on-band);font-size:.88rem}
.topbar-in{display:flex;align-items:center;gap:16px;min-height:36px}
.topbar ul{display:flex;list-style:none;margin:0;padding:0}
.topbar li+li{border-left:1px solid rgba(230,239,237,.25)}
.topbar a{display:block;padding:.35rem .8rem;color:var(--on-band);text-decoration:none;font-weight:700;white-space:nowrap}
.topbar li:first-child a{padding-left:0}
.topbar a:hover,.topbar a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:.3em}
.topbar-dx{margin-left:auto;display:flex;align-items:center}
.topbar-dx>:not([hidden])~*{border-left:1px solid rgba(230,239,237,.25)}
.topbar-dx a:last-child{padding-right:0}
.topbar-app{display:flex;align-items:center;gap:6px;padding:.35rem .8rem;background:none;border:0;color:var(--on-band);font:700 1em var(--body);cursor:pointer;white-space:nowrap}
.topbar-app:hover{color:#fff;text-decoration:underline;text-underline-offset:.3em}
.topbar-app[hidden]{display:none}
.topbar-nl{display:flex!important;align-items:center;gap:6px}
.menu.menu-extra{display:none}
@media (max-width:1080px){
  .topbar nav{overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
  .topbar nav::-webkit-scrollbar{display:none}
  .topbar-dx{display:none}
  .menu.menu-extra{display:flex;border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
  .menu-extra a{font-weight:400}
}

/* Intestazione */
.site-header{position:sticky;top:0;z-index:2000;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font:700 1.35rem/1 var(--head);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.brand .float{width:18px;height:26px}
.nav{margin-left:auto}
.menu{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.menu a{display:block;padding:.5rem .65rem;color:var(--ink);text-decoration:none;font-weight:700;border-radius:var(--r);white-space:nowrap}
.cta{white-space:nowrap}
.menu a:hover,.menu .current-menu-item a{background:var(--surface);box-shadow:inset 0 -3px 0 var(--accent)}
.nav-toggle{display:none;margin-left:auto;font:700 1rem var(--body);background:none;border:2px solid var(--ink);color:var(--ink);border-radius:var(--r);padding:.5rem .8rem}
@media (max-width:1080px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 20px 16px;margin:0}
  .nav.open{display:block}
  .menu{flex-direction:column}
  .cta{display:none}
}

/* Galleggiante (logo, bollino, mappa) */
.float{display:inline-block;vertical-align:-3px;color:var(--accent)}
.float .st{stroke:var(--ink);fill:none;stroke-width:2}
.float .wh{fill:#fff}
.float .tp{fill:currentColor}
.float .ol{fill:none;stroke:var(--ink);stroke-width:1.6}
.vf{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink)}
.vf .float{width:12px;height:18px;vertical-align:baseline}
.vf.no{color:var(--muted);font-weight:400}
.vf.no .float{color:#8a9b9a}
.pesca-float{background:none;border:0}
.pesca-float svg{display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}

/* Prima schermata: testo + filtri, poi mappa a tutta larghezza */
.hero{padding:clamp(28px,5vw,56px) 0 24px}
.hero h1{max-width:16ch}
.hero .lead{margin-bottom:22px;max-width:none}
/* Pannello filtri: etichetta sopra ogni campo, filtri attivi evidenziati */
.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 12px;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 2px 12px rgba(15,58,67,.07)}
.f-campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.f-campo label{font:700 .74rem/1 var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.filters select{width:100%;min-width:0;-webkit-appearance:none;appearance:none;cursor:pointer;font-size:1rem;padding:.65rem 2.2rem .65rem .8rem;border-radius:9px;border:1.5px solid transparent;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234d6467' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .85rem center/12px;transition:border-color .15s,background-color .15s;text-overflow:ellipsis}
.filters select:hover{border-color:var(--line)}
.filters select:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.filters select:disabled{opacity:.5;cursor:not-allowed}
.filters select.attivo{border-color:var(--ink);background-color:var(--card);font-weight:700;color:var(--ink)}
.f-azioni{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:18px}
.f-azioni .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:.75rem 1.4rem}
.f-azzera{color:var(--muted);font-weight:700;font-size:.95rem;text-decoration:underline;text-underline-offset:3px}
.f-azzera:hover{color:var(--accent)}
@media (min-width:900px){.filters{grid-template-columns:repeat(4,1fr);padding:20px 22px}.f-azioni{grid-column:-3/-1}}
@media (max-width:899px){.f-azioni .btn{flex:1}}
/* Pagine elenco: filtri in una fascia bianca a tutta larghezza, su una riga */
.filtri-band{background:var(--card);border-block:1px solid var(--line);padding:16px 0;margin-bottom:24px}
.filtri-band .filters{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
@media (min-width:1000px){.filtri-band .filters{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.filtri-band .f-azioni{grid-column:auto;flex-direction:row-reverse}}
select,input[type=text],input[type=url],input[type=email],input[type=password],input[type=search],input[type=number],input[type=date],input[type=time],textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.7rem .8rem}
.bleed{width:100%}
.map-full .map-wrap{border-inline:0}
.map-full #pesca-map{height:calc(100svh - 150px)!important;min-height:480px}
.map-wrap{position:relative;isolation:isolate;border-block:1px solid var(--line);background:var(--line)}
.single-spot .map-wrap,.pesca-form .map-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.leaflet-tile-pane{filter:saturate(.7)}
@media (prefers-color-scheme:dark){.leaflet-tile-pane{filter:brightness(.8) saturate(.55)}}
.legend{font-size:.95rem;color:var(--muted);padding:10px 0 0}
.pesca-filtri{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 12px;max-width:var(--w);padding:0 20px}
.pesca-filtri button,.pesca-filtri a{display:inline-flex;align-items:center;gap:8px;font:700 .95rem var(--body);padding:.5rem .9rem;border:2px solid var(--ink);background:transparent;color:var(--ink);border-radius:var(--r);cursor:pointer;text-decoration:none}
.pesca-filtri button:hover,.pesca-filtri a:hover,.pesca-filtri [aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--ink);flex:none}
.dot-vf{background:#fff;border:3px solid #f5b700;box-shadow:none}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.legend .key{display:inline-flex;align-items:center;gap:6px}

/* Sezioni */
.band{padding:clamp(32px,5vw,56px) 0}
.band-ink{background:var(--band);color:var(--on-band)}
.band-ink h2{color:var(--on-band)}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}
.section-head h2{margin:0}

/* Elenco province */
.rows{list-style:none;margin:0;padding:0;columns:2 340px;column-gap:40px}
.rows li{break-inside:avoid}
.rows a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:.85rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font:650 1.2rem var(--head)}
.rows a:hover{border-bottom-color:var(--accent)}
.rows .n{font:400 1rem var(--body);color:var(--muted)}

/* Schede (card) */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 4px rgba(15,58,67,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(15,58,67,.15);border-color:var(--ink)}
.card-img{overflow:hidden}.card-img img{transition:transform .35s ease}.card:hover .card-img img{transform:scale(1.04)}
/* Schede senza foto: immagine satellitare con lo spot al centro (vedi dp_satellite) */
.sat{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#3b4a45;transition:transform .35s ease}
.sat-m{position:absolute;left:0;top:50%;width:100%;aspect-ratio:1;display:grid;grid-template-columns:1fr 1fr;transform:translateY(calc(-1 * var(--fy)))}
.sat-m img,.card:hover .sat-m img{display:block;width:100%;height:100%;transform:none}
.sat::after{content:"";position:absolute;left:var(--fx);top:var(--ty);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.sat-tag{position:absolute;left:8px;bottom:8px;z-index:1;padding:3px 8px;border-radius:99px;background:rgba(10,25,29,.72);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.card:hover .sat{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.sat{transition:none}.card:hover .sat{transform:none}}
@media (prefers-reduced-motion:reduce){.card,.card-img img{transition:none}.card:hover{transform:none}.card:hover .card-img img{transform:none}}
.card-img{display:block;aspect-ratio:3/2;background:var(--line)}
.card-img img{width:100%;height:100%;object-fit:cover}
.ph{display:block;width:100%;height:100%;background:repeating-radial-gradient(circle at 78% 120%,transparent 0 22px,rgba(15,58,67,.09) 23px 24px),var(--line)}
.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{margin:0}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card{position:relative}
.card-where{margin:0;color:var(--muted);font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.chip{display:inline-block;padding:.2rem .6rem;border:1px solid var(--line);border-radius:99px;font-size:.9rem;color:var(--text);text-decoration:none;background:var(--bg);position:relative;z-index:1}
a.chip:hover{border-color:var(--ink);color:var(--ink)}
.card .vf{margin-top:auto;padding-top:6px;font-size:.95rem}

/* Archivio */
.page-head{padding:clamp(28px,5vw,48px) 0 20px}
.page-head .filters{margin-top:18px}
.count{color:var(--muted);margin:18px 0}
.regione{margin:24px 0 10px;font-size:1.1rem}
.cond-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 16px}
.cond-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.cond-box p{margin:0}
.cond-l{font-size:.9rem;color:var(--muted)}
.cond-v{font-weight:700;font-size:1.15rem}
.cond-n{font-size:.9rem;color:var(--muted);margin:4px 0}
.cond-badge{display:inline-block;margin:4px 0 0;padding:6px 12px;border-radius:var(--r);font-weight:700;font-size:.95rem;background:var(--surface);border:1px solid var(--line)}
.cond-giu{background:#e3f6e8;color:#1f6b33;border-color:#a8dcb5}
.cond-su{background:#fdeee3;color:#8a3d0f;border-color:#f3c3a0}
.cond-marea{display:block;width:100%;height:auto;color:#1e6fd9;margin:4px 0 8px}
.cond-marea text{font-size:12px;fill:var(--muted)}
.cond-ora{stroke:#e03131;stroke-width:1.5;stroke-dasharray:4 3}
.cond-riga{border-top:1px solid var(--line);padding-top:8px}
.cond-giorni{margin:10px 0}
.cond-giorni summary{cursor:pointer;font-weight:700}
.cond-giorni table{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:8px}
.cond-giorni th,.cond-giorni td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.cond-giorni table{display:block;overflow-x:auto}
.cond-fonte{font-size:.8rem;color:var(--muted)}
.pp-cond{margin-top:6px;font-size:.85rem;color:#3b4a4d}
/* Foto nel popup della mappa: misura fissa, così non esce mai dal riquadro */
.pp-foto{display:block;width:220px;max-width:100%;height:140px;object-fit:cover;border-radius:4px;margin-top:8px}
.more{margin:32px 0 0;text-align:center;color:var(--muted)}
.empty{padding:32px;border:1px dashed var(--line);border-radius:var(--r);background:var(--surface)}
.pagination{margin:32px 0 0}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.pagination .page-numbers{padding:.5rem .85rem;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;background:var(--surface);color:var(--ink)}
.pagination .current{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Scheda singola */
.crumbs{font-size:.95rem;color:var(--muted);margin:0 0 14px}
.crumbs a{color:var(--muted)}
.crumbs>*+*::before{content:"/";margin:0 .5em}
.spot-head{padding:clamp(24px,4vw,44px) 0 18px}
.spot-head h1{max-width:20ch;margin-bottom:.3em}
.spot-head .where{font-size:1.15rem;color:var(--muted);margin:0 0 12px}
.spot-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start;padding-bottom:56px}
@media (max-width:900px){.spot-grid{grid-template-columns:minmax(0,1fr)}}
.cover{margin:0 0 24px}
.cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);background:var(--line)}
/* Copertina con tutte le foto (assets/foto.js) */
.cover-car{position:relative;margin:0 0 24px;container-type:inline-size}
.car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline:0}
.car-track::-webkit-scrollbar{display:none}
.car-slide{flex:0 0 100%;margin:0;scroll-snap-align:start;min-width:0}
.car-zoom{display:block;cursor:zoom-in;border-radius:var(--r);overflow:hidden}
.car-zoom img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--line);transition:transform .35s ease}
.car-zoom:hover img{transform:scale(1.02)}
.car-btn{position:absolute;top:calc(100cqw * 9 / 32);transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#0f3a43;box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:pointer;transition:transform .15s,background .15s}
.car-btn:hover{background:#fff;transform:translateY(-50%) scale(1.08)}
.car-prev{left:12px}.car-next{right:12px}
.car-num{position:absolute;top:12px;right:12px;padding:3px 10px;border-radius:99px;background:rgba(10,25,29,.7);color:#fff;font-size:.8rem;font-weight:700}
.car-dots{position:absolute;left:0;right:0;top:calc(100cqw * 9 / 16 - 26px);display:flex;justify-content:center;gap:7px;pointer-events:none}
.car-dots button{pointer-events:auto;width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.6);box-shadow:0 0 3px rgba(0,0,0,.5);cursor:pointer;transition:width .2s,background .2s}
.car-dots button[aria-current]{width:22px;border-radius:99px;background:#fff}
@media (max-width:600px){.car-btn{width:36px;height:36px}.car-prev{left:8px}.car-next{right:8px}}
@media (prefers-reduced-motion:reduce){.car-zoom img,.car-btn,.car-dots button{transition:none}}
/* Foto ingrandita */
.lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,14,17,.94);color:#fff}
.lb::backdrop{background:rgba(5,14,17,.94)}
.lb-fig{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 70px 24px;box-sizing:border-box}
.lb-fig img{max-width:100%;max-height:calc(100% - 40px);object-fit:contain;border-radius:4px}
.lb-cap{font-size:.85rem;color:#c9d6d0;text-align:center}.lb-cap a{color:#fff}
.lb-num{position:absolute;top:18px;left:20px;font-weight:700;font-size:.95rem}
.lb-chiudi{position:absolute;top:10px;right:14px;width:44px;height:44px;border:0;background:none;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer}
.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.lb-btn:hover{background:rgba(255,255,255,.25)}
.lb-prev{left:12px}.lb-next{right:12px}
@media (max-width:600px){.lb-fig{padding:56px 8px 20px}.lb-btn{top:auto;bottom:14px;transform:none;width:44px;height:44px}.lb-prev{left:calc(50% - 56px)}.lb-next{right:calc(50% - 56px)}.lb-fig img{max-height:calc(100% - 110px)}}
html.lb-aperto{overflow:hidden}
.credit{font-size:.8rem;color:var(--muted);margin-top:6px}
.credit a{color:inherit}
.facts{margin:24px 0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:9rem 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.facts dt{font:650 1.05rem var(--head);color:var(--ink)}
.facts dd{margin:0;white-space:pre-line}
@media (max-width:560px){.facts div{grid-template-columns:1fr;gap:4px}}
.group{margin:28px 0}
.group h2{font-size:1.3rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.gallery img{border-radius:var(--r);width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.side{display:flex;flex-direction:column;gap:16px;position:sticky;top:84px}
@media (max-width:900px){.side{position:static}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.panel p{margin:0 0 .6em}
.panel .btn{margin-top:8px}
.claim{font-size:.95rem}

/* Scheda singola: testata, sottomenu, sezioni */
html{scroll-padding-top:130px}
.spot-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap}
.spot-meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:0}
.stelle{color:#b07800;letter-spacing:1px;white-space:nowrap}
.stelle .vuote{color:var(--line)}
.voto{display:inline-flex;align-items:center;gap:6px}
.big{font:700 3rem/1 var(--head);color:var(--ink)}
.subnav{position:sticky;top:64px;z-index:1500;background:var(--surface);border-block:1px solid var(--line)}
.subnav .wrap{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{padding:14px 12px 11px;font-weight:700;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.subnav a span{font-weight:400}
.subnav a:hover,.subnav a[aria-current]{color:var(--ink);border-bottom-color:var(--accent)}
.spot .spot-grid{margin-top:32px}
/* La colonna laterale segue lo scorrimento solo se lo schermo è abbastanza alto da contenerla tutta */
.spot .side{position:static}
/* colonna destra fissa durante lo scorrimento (solo desktop): se è più alta dello schermo scorre al suo interno, così indicazioni e mappa restano sempre in vista */
@media (min-width:901px){.spot .side{position:sticky;top:var(--side-top,130px);max-height:calc(100vh - var(--side-top,130px) - 16px);overflow-y:auto;scrollbar-width:thin;padding:2px 4px 2px 2px;margin:-2px -4px -2px -2px}.admin-bar .spot .side{--side-top:162px}}
.sez{margin:0 0 52px}
.sez-testa{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.fatti{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:20px 0 0}
.fatti div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.fatti dt{font-size:.9rem;color:var(--muted)}
.fatti dd{margin:2px 0 0;font-weight:700;color:var(--ink)}
.fatti dd p{margin:0}
.fatti .chip{font-weight:400}
.cond-riparo{margin:10px 0 4px;font-weight:700}
button.link{background:none;border:0;padding:0;font:inherit;color:var(--link);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
button.link.muted{color:var(--muted)}
.forte{font-weight:700}

/* Punti di pesca */
.punti-map{margin-bottom:14px}
.pesca-num span{display:flex;width:28px;height:28px;box-sizing:border-box;border-radius:50%;background:#0f3a43;color:#fff;border:2px solid #fff;align-items:center;justify-content:center;font:700 13px/1 var(--body);box-shadow:0 1px 3px rgba(0,0,0,.5)}
.pesca-num.on span{background:#d4382c}
.punti{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.punto{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;scroll-margin-top:140px;transition:box-shadow .3s}
.punto.evid,.punto:target{box-shadow:0 0 0 3px var(--accent)}
.punto .num{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--bg);font-weight:700;display:flex;align-items:center;justify-content:center}
.punto h3{margin:0 0 4px}
.punto p{margin:0 0 6px}
.punto .chips{margin:6px 0 0}
.punto-azioni{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.95rem;margin-top:10px!important}

/* Recensioni */
.rv-msg{padding:12px 14px;border-left:4px solid var(--link);background:var(--surface);margin:0 0 16px}
.rv-err{border-left-color:var(--accent)}
.rv-sintesi{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px 28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin-bottom:16px}
.rv-media{display:flex;flex-direction:column;gap:4px}
.rv-media .stelle{font-size:1.2rem}
.rv-barre{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rv-barre li{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:10px;align-items:center;font-size:.9rem}
.barra{height:10px;background:var(--line);border-radius:99px;overflow:hidden}
.barra span{display:block;height:100%;background:var(--ink)}
.rv-filtri{display:flex;flex-wrap:wrap;gap:8px}
.rv-filtri button{font:700 .9rem var(--body);padding:.45rem .85rem;min-height:40px;border:2px solid var(--ink);border-radius:var(--r);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap}
.rv-filtri button[aria-pressed="true"],.rv-filtri button:hover{background:var(--ink);color:var(--bg)}
.rv-lista{display:flex;flex-direction:column;gap:12px;margin:14px 0}
.rv{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;scroll-margin-top:140px}
.rv.oltre,.rv[hidden]{display:none}
.rv:target{box-shadow:0 0 0 3px var(--accent)}
.rv-testa{display:flex;align-items:center;gap:12px}
.rv-avatar{width:40px;height:40px;border-radius:50%;flex:none}
.rv-iniz{display:flex;align-items:center;justify-content:center;background:#d7e3de;color:#0f3a43;font-weight:700}
.rv-chi{display:flex;flex-direction:column;line-height:1.3}
.rv-chi a{color:var(--ink);text-decoration:none}
.rv-chi .muted{font-size:.85rem}
.rv-data{margin-left:auto;font-size:.9rem;white-space:nowrap}
.rv-voto{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 0}
.rv-voto .stelle{font-size:1.15rem}
.rv-punto{font-size:.88rem;font-weight:700;padding:2px 10px;border-radius:99px;background:var(--bg);color:var(--ink);text-decoration:none;border:1px solid var(--line)}
.rv-uscita{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.92rem;background:var(--bg);border-radius:var(--r);padding:8px 12px;margin:10px 0 0}
.rv-testo{margin-top:10px}
.rv-testo p{margin:0 0 .6em}
.rv-foto{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.rv-foto img{width:110px;height:82px;object-fit:cover;border-radius:var(--r)}
.rv-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:10px;font-size:.92rem}
.rv-azioni form{margin:0}
.btn-mini{font:700 .9rem var(--body);background:none;border:1px solid var(--line);border-radius:var(--r);padding:.4rem .8rem;min-height:38px;color:var(--ink);cursor:pointer}
.btn-mini:hover{border-color:var(--ink)}
.rv-altre{text-align:center}
.rv-altre[hidden]{display:none}

/* Modulo recensione */
.rv-form{background:var(--surface);border:1px solid var(--ink);border-radius:var(--r);padding:22px;margin-top:24px;scroll-margin-top:130px}
.rv-form h3{font-size:1.4rem;margin-bottom:14px}
.rv-form p{margin:0 0 14px}
.rv-form label{display:block;font-weight:700}
.rv-form input[type=date],.rv-form input[type=file]{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:.6rem .7rem;max-width:100%}
.opz{font-weight:400;font-size:.9rem;color:var(--muted)}
.rv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-items:start}
.rv-quando{display:flex;flex-wrap:wrap;gap:8px}
.rv-quando input{flex:1 1 9rem;min-width:0}
.rv-quando select{width:auto;flex:1 1 7rem;min-width:0}
.rv-login{background:var(--bg);border-radius:var(--r);padding:14px 16px;margin:0 0 18px}
.rv-login p{margin:0 0 10px}
.rv-accedi{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.rv-ospite{font-size:.95rem;color:var(--muted);margin:10px 0 0!important}
.rv-stelle{border:0;padding:0;margin:0 0 14px}
.rv-stelle legend{font-weight:700;padding:0}
.rv-stelle-in{display:inline-flex;flex-direction:row-reverse}
.rv-stelle input{position:absolute;opacity:0;width:1px;height:1px}
.rv-stelle label{font-size:2rem;line-height:1;color:var(--line);cursor:pointer;padding:4px 2px;min-width:44px;text-align:center}
.rv-stelle input:checked~label,.rv-stelle label:hover,.rv-stelle label:hover~label{color:#b07800}
.rv-stelle input:focus-visible+label{outline:3px solid var(--accent);outline-offset:-3px}
.rv-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv-invia{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.rv-invia .muted{font-size:.92rem}
.rv-foto-mie{border:0;padding:0;margin:0 0 14px;display:flex;gap:10px;flex-wrap:wrap}
.rv-foto-mie legend{font-weight:700;padding:0}
.rv-foto-mie label{font-weight:400}
.rv-foto-mie img{width:96px;height:72px;object-fit:cover;border-radius:var(--r)}
@media (max-width:560px){.rv-sintesi,.rv-grid{grid-template-columns:1fr}.rv-filtri{flex-wrap:nowrap;overflow-x:auto;margin-right:-20px;padding-right:20px}}

/* Galleria e info pratiche */
.foto-filtro{display:flex;align-items:center;gap:8px;color:var(--muted)}
.foto-filtro select{width:auto}
.galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px}
.galleria figure{margin:0}
.galleria figure[hidden]{display:none}
.galleria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.galleria figcaption{font-size:.85rem;color:var(--muted);margin-top:4px}
.info details{border-top:1px solid var(--line);padding:12px 0}
.info details:last-child{border-bottom:1px solid var(--line)}
.info summary{font:650 1.15rem var(--head);color:var(--ink);cursor:pointer;min-height:32px}
.info details p{margin:8px 0 0;max-width:68ch}
.info .chips{margin-top:8px}
.panel-t{font-size:1.1rem;margin:0 0 8px}
.punti-map-lato{margin:0 0 14px}
.btn-proponi{display:block;text-align:center;margin-top:12px;font-weight:700;padding:.5rem}
/* Su telefono e tablet la colonna laterale va sotto la pagina: la mappa dei punti c'è già sopra */
@media (max-width:900px){.punti-map-lato{display:none}}
/* Con la barra di amministrazione di WordPress (utenti connessi) intestazione e sottomenu scendono di conseguenza */
.admin-bar .site-header{top:32px}
.admin-bar .subnav{top:96px}
@media (max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .subnav{top:110px}}
@media (max-width:600px){.admin-bar .site-header{top:0}.admin-bar .subnav{top:64px}}
.side select{margin-bottom:8px}
.voto-panel{display:flex;align-items:center;gap:10px}
.voto-panel .big{font-size:2rem}

/* Barra delle azioni in basso, solo su telefono */
.barra-azioni{display:none}
@media (max-width:700px){
  .spot-head-row>.btn{display:none}
  .barra-azioni{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:1900;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 14px rgba(15,58,67,.12)}
  .barra-azioni .btn{text-align:center}
  .barra-azioni{padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px}
  .ba{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;border-radius:var(--r);color:var(--ink);text-decoration:none;font:700 .8rem/1.1 var(--body)}
  .ba:active{background:var(--bg)}
  .ba-wa{color:#128c4b}
  .ba-forte{background:var(--accent);color:var(--on-accent)}
  .ba-forte:hover,.ba-forte:active{color:var(--on-accent);background:var(--accent)}
  .single-spot .site-footer{padding-bottom:100px}
}
@media (prefers-color-scheme:dark){.ba-wa{color:#5fd396}}

/* Orari settimanali, aperto ora */
.orario-stato{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;font-size:.95rem}
.orario-stato::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.orario-aperto{color:#1d7a43}
.orario-chiuso{color:var(--accent)}
.orario-forse{color:var(--muted)}
@media (prefers-color-scheme:dark){.orario-aperto{color:#6fd99a}}
table.orari{border-collapse:collapse;margin:10px 0 4px;min-width:260px;font-size:.98rem}
table.orari th,table.orari td{text-align:left;padding:5px 14px 5px 0;border-bottom:1px solid var(--line);font-weight:400}
table.orari th{color:var(--muted)}
table.orari tr.oggi th,table.orari tr.oggi td{font-weight:700;color:var(--ink)}
table.orari td.chiuso{color:var(--accent)}

/* Domande frequenti e spot vicini nella scheda */
.faq details{border-top:1px solid var(--line);padding:12px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font:650 1.08rem var(--head);color:var(--ink);cursor:pointer}
.faq details p{margin:8px 0 0;max-width:68ch}
.faq-lic{margin-top:12px}
.vicini{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.vicini a{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"km nome" "km info";column-gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--text);height:100%}
.vicini a:hover{border-color:var(--ink)}
.v-km{grid-area:km;font:700 1rem var(--head);color:var(--ink);min-width:56px;align-self:center}
.v-nome{grid-area:nome;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:6px}
.v-nome .dot{width:9px;height:9px;border-radius:50%;flex:none}
.v-info{grid-area:info;font-size:.88rem}
.panel-gestore .btn{margin:2px 0 12px}
.migliora{margin:0;padding:0 4px}
.btn-wa{border-color:#128c4b;color:#128c4b}
.btn-wa:hover{background:#128c4b;color:#fff}

/* Webcam nella scheda */
.webcam-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.webcam{margin:0;position:relative}
.webcam[hidden]{display:none}
.webcam img,.webcam iframe,.webcam-play,.webcam-img{display:block;width:100%;aspect-ratio:16/9;border-radius:var(--r);border:0;object-fit:cover;background:var(--surface)}
.webcam-img{min-height:60px}
.webcam-play{position:relative;padding:0;cursor:pointer;overflow:hidden}
.webcam-tasto{position:absolute;left:50%;top:50%;width:64px;height:44px;margin:-22px 0 0 -32px;border-radius:12px;background:rgba(212,56,44,.92)}
.webcam-tasto::after{content:"";position:absolute;left:26px;top:13px;border:9px solid transparent;border-left:15px solid #fff;border-right:0}
.webcam figcaption{font-size:.92rem;margin-top:6px;font-weight:700;color:var(--ink)}
.webcam-fonte{position:absolute;right:6px;top:6px;font-size:.72rem;background:rgba(0,0,0,.55);color:#fff;padding:2px 6px;border-radius:4px}
.webcam-link{align-self:center}
.webcam-nota{font-size:.88rem;margin-top:10px}

/* Livelli della mappa */
.mappa-livelli{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0 10px}
.mappa-livelli button{font:600 .9rem var(--body);padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.mappa-livelli button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.liv-ico span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35);font-size:15px;line-height:1}
.liv-gara span{background:#f2b705}
.liv-avv span,.avv-ico span{background:#1c7ed6}
.avv-ico span{display:block;width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.avv-predatori span{background:#d4382c}.avv-mangianza span{background:#1c7ed6}.avv-catture span{background:#2f9e44}
.avv-meduse span{background:#ae3ec9}.avv-acqua span{background:#8d6e3a}.avv-divieto span{background:#111}.avv-altro span{background:#868e96}

/* Calendario gare */
.gare-filtri{margin-top:16px}
.gare-mese{font-size:1.3rem;margin:28px 0 10px;text-transform:capitalize}
.gare-lista{max-width:820px}
.gara-card{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.gara-data{flex:none;width:64px;height:64px;border-radius:var(--r);background:var(--ink);color:var(--bg);display:grid;place-content:center;text-align:center;text-decoration:none;line-height:1}
.gara-data:hover{color:var(--bg)}
.g-g{font:700 1.6rem var(--head)}.g-m{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.gara-corpo h3{margin:0 0 4px;font-size:1.15rem}
.gara-corpo p{margin:0;font-size:.95rem}
.gare-altro{margin:20px 0}
.gara-segnala{margin-top:36px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);max-width:820px}
.gara-segnala h2{margin-top:0}
.gara-dati{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 20px}
.gara-dati div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.gara-dati dt{font-size:.9rem;color:var(--muted)}
.gara-dati dd{margin:2px 0 0;font-weight:700;color:var(--ink)}
.gara-lato .btn{margin-bottom:8px}
.gara-sat{margin:20px 0}

/* Newsletter nel footer */
.nl{margin-top:18px}
.nl .ftit{margin-bottom:6px}
.nl p{font-size:.95rem}
.nl-riga{display:flex;gap:8px}
.nl-riga input{flex:1;min-width:0}
.nl-privacy{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;margin-top:8px}
.nl-privacy input{margin-top:4px}
.nl-msg{padding:10px 12px;border-left:4px solid var(--accent);background:rgba(255,255,255,.08);border-radius:var(--r)}

/* Avvistamenti */
.avv .map-wrap{margin:0 0 20px}
.avv-lista{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.avv-lista li{padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.avv-lista p{margin:6px 0 0}
.avv-form-box{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.avv-form-box h2{margin-top:0}
.avv-dove{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* Questionario "Quale licenza ti serve?" */
.lic{display:grid;gap:16px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin:0 0 20px}
.lic fieldset{border:0;margin:0;padding:0}
.lic legend,.lic label[for]{font-weight:700;color:var(--ink);margin-bottom:6px;display:block}
.lic-scelte{display:flex;flex-wrap:wrap;gap:8px}
.lic-scelte label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg);cursor:pointer;font-weight:400}
.lic-scelte label:has(input:checked){border-color:var(--ink);background:var(--card);font-weight:700;color:var(--ink)}
.lic p{margin:0}
.lic-due{display:grid;grid-template-columns:minmax(0,180px) 1fr;gap:16px;align-items:end}
.lic-dis label{display:flex;gap:8px;align-items:flex-start}
.lic-dis input{margin-top:5px}
@media (max-width:560px){.lic-due{grid-template-columns:minmax(0,1fr)}}
.lic-esito{display:grid;gap:12px}
.lic-b{padding:16px 18px;border-left:4px solid var(--line);background:var(--surface);border-radius:var(--r)}
.lic-b.ok{border-left-color:#1d7a43}
.lic-b h3{margin:0 0 6px}
.lic-b p{margin:0}
.lic-fonte{font-weight:700}
.lic-nota{font-size:.9rem;color:var(--muted)}

/* Proponi un punto */
.proponi{margin-top:16px}
.proponi>summary{list-style:none;display:inline-block}
.proponi>summary::-webkit-details-marker{display:none}
.proponi[open]>summary{margin-bottom:12px}
.proponi-corpo{background:var(--surface);border:1px solid var(--ink);border-radius:var(--r);padding:20px}
.pt-form p{margin:0 0 14px}
.pt-form label{display:block;font-weight:700}
.pt-form input[type=file]{font:inherit;max-width:100%}
.pt-azioni{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.pt-azioni .btn[disabled]{opacity:.5;cursor:not-allowed}
.pt-stato{font-weight:700;padding:10px 12px;border-radius:var(--r);background:var(--bg);margin:10px 0 16px!important}
.pt-stato.si{background:#e3f6e8;color:#1f6b33}
.pt-stato.no{background:#fdeee3;color:#8a3d0f}
.pt-venti{border:0;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:4px 16px}
.pt-venti legend{font-weight:700;padding:0;margin-bottom:4px}
.pt-venti label{font-weight:400}
.punto-cred{font-size:.9rem;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.punto-cred .gps{font-weight:700;color:#1f6b33}
.profilo-punti{padding-left:20px;margin:0 0 28px}
.profilo-punti li{margin:6px 0}
.stato-attesa{font-size:.85rem;background:#fcf0d9;color:#7a4a00;padding:2px 8px;border-radius:99px}
@media (prefers-color-scheme:dark){.pt-stato.si{background:#16352a;color:#8fd1aa}.pt-stato.no{background:#3a2416;color:#f3c3a0}.punto-cred .gps{color:#8fd1aa}}

.profilo-testa{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.profilo-testa img{border-radius:50%}
.profilo-testa h1{margin:0}
.profilo-testa p{margin:4px 0 0}

/* Accesso nell'intestazione */
.account{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;padding:.4rem .5rem;border-radius:var(--r)}
.account img{border-radius:50%}
.account:hover{background:var(--surface)}
@media (max-width:1080px){.account span{display:none}}
@media (prefers-color-scheme:dark){.stelle,.rv-stelle input:checked~label,.rv-stelle label:hover,.rv-stelle label:hover~label{color:#f5c04a}.rv-iniz{background:#244249;color:#e6efed}}

/* Contenuti, commenti, moduli */
.content{max-width:76ch}
.content h2{margin-top:1.6em}
.page-body{padding-top:clamp(28px,5vw,48px);padding-bottom:64px}
.pesca-form{max-width:640px}
.pesca-form p{margin:0 0 18px}
.pesca-form label{font-weight:700}
.pesca-form input[type=checkbox]{width:auto;margin-right:8px}
.pesca-ok{padding:14px 16px;border-left:4px solid var(--link);background:var(--surface)}
.comments{margin-top:48px;max-width:68ch}
.comment-list{list-style:none;padding:0}
.comment-list .comment-body{padding:16px 0;border-bottom:1px solid var(--line)}
.comment-list .avatar{float:left;margin-right:12px;border-radius:50%}
.comment-list ol{list-style:none;padding-left:24px}
.comment-form p{margin:0 0 14px}
.comment-form label{display:block;font-weight:700}
.comment-form .submit{font:700 1rem var(--body);padding:.85rem 1.2rem;border-radius:var(--r);border:2px solid var(--btn);background:var(--btn);color:var(--on-btn);cursor:pointer;width:auto}
.post-meta{color:var(--muted)}

/* Invito + piè di pagina */
.invite{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.invite h2{margin:0 0 .2em}
.invite p{margin:0;opacity:.85}
.site-footer{background:var(--band);color:var(--on-band);padding:44px 0 24px;margin-top:0}
.site-footer a{color:var(--on-band)}
.site-footer strong{font:700 1.2rem var(--head);display:block;margin-bottom:8px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:4px 0}
.fcols{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}
.fbrand p{margin:10px 0 18px;max-width:38ch;opacity:.9}
.fmarchio{display:inline-flex;align-items:center;gap:10px;font:700 1.4rem/1 var(--head);text-decoration:none;color:var(--on-band)!important}
.fmarchio .float{width:20px;height:29px;vertical-align:0}
.fmarchio .float .wh{fill:#fff}.fmarchio .float .tp{fill:var(--accent)}.fmarchio .float .st,.fmarchio .float .ol{stroke:var(--on-band)}
.fbrand .btn{color:var(--on-accent)!important}
.fbrand .fapp{background:transparent;border-color:var(--on-band);color:var(--on-band)!important;margin-left:8px}
.fbrand .fapp:hover{background:var(--on-band);color:var(--band)!important}
.fbrand .fapp[hidden],.fapp-ios[hidden]{display:none}
.fapp-ios{font-size:.92rem;margin:14px 0 0;opacity:.9}
.fapp-ios strong{display:inline;font:inherit;font-weight:700;margin:0}
@media (max-width:520px){.fbrand .fapp{margin:10px 0 0}}
.ftit{font:700 .85rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--on-band);opacity:.7;margin:4px 0 12px}
.site-footer nav a{text-decoration:none}
.site-footer nav a:hover{text-decoration:underline}
.site-footer nav li{margin:0 0 8px}
@media (max-width:900px){.fcols{grid-template-columns:repeat(3,minmax(0,1fr))}.fbrand{grid-column:1/-1}}
@media (max-width:560px){.fcols{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.fcols nav:last-child{grid-column:1/-1}}
/* logo e frase su una riga, a tutta larghezza sotto le colonne */
.fmotto{display:flex;align-items:center;gap:12px 24px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
.fmotto .fmarchio{flex:none}
.fmotto p{margin:0;opacity:.9}
@media (max-width:700px){.fmotto{flex-direction:column;align-items:flex-start}}
.fbrand .fapp{margin:0 0 18px}
.fbrand .nl{margin-top:0} /* il titolo Newsletter in linea con Esplora, Partecipa e Informazioni */
.legal p{margin:0 0 6px}
.legal a{text-decoration:underline}

.legal{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.9rem;opacity:.85}
.band-ink + .site-footer{border-top:1px solid rgba(255,255,255,.14)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- Mappa generale: elenco + mappa, cluster, regioni ---------- */
.mappa-barra{max-width:var(--w);margin:0 auto 12px;padding:0 20px}
.mappa-barra .pesca-filtri{padding:0;margin-bottom:10px}
.mappa-cerca{display:flex;gap:8px;justify-content:center;max-width:640px;margin:0 auto}
.mappa-cerca input{flex:1;min-width:0;padding:.55rem .8rem}
.mappa-cerca .btn{padding:.55rem .9rem;white-space:nowrap}
.mappa-msg{text-align:center;font-size:.92rem;color:var(--muted);margin:6px 0 0;min-height:1.3em}
.mappa-corpo{display:grid;grid-template-columns:minmax(0,1fr)}
.mappa-lista{background:var(--surface);padding:14px 16px;border-bottom:1px solid var(--line)}
@media (min-width:901px){
  .mappa-corpo{grid-template-columns:360px minmax(0,1fr)}
  .mappa-lista{order:0;max-height:620px;overflow:auto;border:0;border-block:1px solid var(--line);border-right:1px solid var(--line)}
  .mappa-mappa{order:1}
}
@media (max-width:900px){
  .mappa-mappa{order:0}
  .mappa-lista{order:1}
  .mappa-app #pesca-map{height:50svh!important;min-height:300px;max-height:440px}
  .mappa-cerca{flex-wrap:wrap}
  .mappa-cerca input{flex-basis:100%}
  .mappa-cerca .btn{flex:1}
}
.mappa-app.carica .mappa-mappa::after{content:"";position:absolute;z-index:1000;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:mappa-carica 1s linear infinite}
@keyframes mappa-carica{from{background-position:-50% 0}to{background-position:150% 0}}
@media (prefers-reduced-motion:reduce){.mappa-app.carica .mappa-mappa::after{animation:none;background:var(--accent);opacity:.5}}
.ml-h{font-size:1.15rem;margin:0 0 4px}
.ml-nota{font-size:.92rem;margin:0 0 8px}
.ml,.ml-reg{list-style:none;margin:8px 0 0;padding:0}
.ml li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--line);border-radius:var(--r)}
.ml li.on{background:var(--bg)}
.ml-foto{display:block;width:64px;height:48px;border-radius:4px;overflow:hidden;opacity:.9}
.ml-foto img{display:block;width:100%;height:100%;object-fit:cover}
/* Spot senza foto nell'elenco e nel popup della mappa: vista satellitare con lo spot al centro (mappa.js, satHtml) */
.ml-foto{position:relative}
.sat-mini{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#3b4a45}
.sat-mini>span{position:absolute;left:calc(50% - var(--x));top:calc(50% - var(--y));width:calc(var(--t) * 2);display:grid;grid-template-columns:1fr 1fr}
.sat-mini img,.ml-foto .sat-mini img{display:block;width:var(--t);height:var(--t);max-width:none;object-fit:fill;border-radius:0}
.sat-mini::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#d4382c;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.5)}
.pp-sat{overflow:hidden}
.cover-sat{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden}
.cover-sat .sat-m img{aspect-ratio:auto;height:100%;border-radius:0;object-fit:fill}
.ml-tit{display:block;font:700 1rem/1.25 var(--head);color:var(--ink);text-decoration:none}
.ml-tit:hover{text-decoration:underline}
.ml-sub{margin:2px 0 0;font-size:.85rem;line-height:1.3;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.ml-sub .dot{width:9px;height:9px;border-width:1px}
.ml-voto{color:var(--ink);font-weight:700}
.ml-ver{color:#8a6500;font-weight:700}
@media (prefers-color-scheme:dark){.ml-ver{color:#f5b700}}
.ml-vedi{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.ml-vedi:hover{background:var(--ink);color:var(--bg)}
.ml-altri{width:100%;margin-top:10px}
.ml-reg button{display:flex;justify-content:space-between;width:100%;padding:.6rem .2rem;background:none;border:0;border-bottom:1px solid var(--line);font:650 1.05rem var(--head);color:var(--ink);cursor:pointer;text-align:left}
.ml-reg button:hover span:first-child{text-decoration:underline}
.ml-reg .n{color:var(--muted);font:400 .95rem var(--body)}
/* segnaposti della mappa */
.pesca-dot{background:none;border:0}
.pesca-dot span{display:block;width:12px;height:12px;margin:2px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(15,58,67,.8),0 1px 2px rgba(0,0,0,.4);box-sizing:border-box}
.pesca-dot.ver span{box-shadow:0 0 0 2px #f5b700,0 1px 2px rgba(0,0,0,.4)}
.pesca-on{z-index:9000!important;transform-origin:center}
.pesca-dot.pesca-on span{transform:scale(1.6)}
.pesca-float.pesca-on svg{transform:scale(1.3);transform-origin:50% 90%}
.pesca-cluster{background:none;border:0}
.pesca-cluster span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:rgba(15,58,67,.88);color:#fff;font:700 .95rem/1 var(--body);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45);box-sizing:border-box}
.mappa-reg{background:none;border:0;width:0!important;height:0!important;cursor:pointer}
.mappa-reg .mr{display:flex;width:max-content;transform:translate(-50%,-50%)}
.mappa-reg b,.mappa-reg span{display:inline-block;white-space:nowrap;font:700 .9rem/1 var(--body);padding:7px 9px}
.mappa-reg b{background:#fff;color:#0f3a43;border-radius:999px 0 0 999px;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.mappa-reg span{background:#d4382c;color:#fff;border-radius:0 999px 999px 0;box-shadow:0 1px 4px rgba(0,0,0,.45)}
@media (max-width:600px){.mappa-reg b,.mappa-reg span{font-size:.75rem;padding:5px 7px}}
.mappa-reg:hover b{text-decoration:underline}.mappa-torna{display:flex;gap:6px}
.mappa-torna[hidden],.mappa-torna [hidden]{display:none}
.mappa-torna button{font:700 .9rem var(--body);padding:.45rem .75rem;background:#fff;color:#0f3a43;border:0;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.45);cursor:pointer}
.mappa-torna button:hover{background:#0f3a43;color:#fff}
@media (max-width:760px){.mappa-torna{display:none!important}} /* da cellulare niente «Indietro» e «Tutta Italia» sulla mappa */
.ml-percorso{font-size:.9rem;color:var(--muted);margin:0 0 6px}
.ml-percorso button{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--link);text-decoration:underline;cursor:pointer}
.ml-percorso span{font-weight:700;color:var(--ink)}
.regione a{color:inherit;text-decoration:none}
.regione a:hover{text-decoration:underline}

.migliori-nota{margin:-6px 0 16px;font-size:.95rem}
[data-migliori]{transition:opacity .2s}
[data-migliori].carica{opacity:.45}
.card-voto{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.92rem;color:var(--muted)}
.card-voto strong{color:var(--ink)}

/* Scheda singola: testata compatta (titolo e pulsante sulla stessa riga, una riga di informazioni) */
.spot-head{padding:clamp(16px,2.5vw,28px) 0 16px}
.spot-head .crumbs{margin-bottom:8px;font-size:.9rem}
.spot-head-row{align-items:center;flex-wrap:nowrap}
.spot-head h1{font-size:clamp(2rem,4.2vw,3.2rem);max-width:none;margin:0}
.spot-head-row>.btn{flex:none;white-space:nowrap}
.spot-head .spot-meta{margin-top:10px;gap:4px 0;color:var(--muted);font-size:1.02rem}
.spot-head .spot-meta>*{display:inline-flex;align-items:center;gap:6px}
.spot-head .spot-meta>*+*::before{content:"·";margin:0 .6em;color:var(--muted)}
.spot-head .spot-meta .voto strong{color:var(--ink)}
.spot-head .spot-meta .dot{width:10px;height:10px}@media (max-width:600px){.spot-head .spot-meta{gap:6px 16px;font-size:.98rem}.spot-head .spot-meta>*+*::before{content:none}}

/* Homepage: a cosa serve dovepesco */
.chi-siamo{background:var(--surface);border-block:1px solid var(--line)}
.chi-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;align-items:start}
.chi-intro h2{margin:0}
.chi-intro p:last-child{margin-bottom:0}
@media (max-width:760px){.chi-intro{grid-template-columns:minmax(0,1fr);gap:4px}.chi-intro h2{margin-bottom:.4em}}
.chi-intro h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.chi-intro p{font-size:1.1rem}
.chi-tre{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.chi-tre li{border-top:3px solid var(--accent);padding-top:14px}
.chi-tre h3{font-size:1.25rem;margin-bottom:.3em}
.chi-tre p{margin:0;color:var(--muted)}
.chi-azioni{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
@media (max-width:760px){.chi-tre{grid-template-columns:minmax(0,1fr)}}
/* "I migliori spot": la scheda si solleva e la foto si ingrandisce dentro la cornice */
[data-migliori] .card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
[data-migliori] .card-img{overflow:hidden}
[data-migliori] .card-img img{display:block;transition:transform .5s ease}
[data-migliori] .card:hover,[data-migliori] .card:focus-within{transform:translateY(-6px);box-shadow:0 14px 28px rgba(15,58,67,.18),0 3px 8px rgba(15,58,67,.12)}
[data-migliori] .card:hover .card-img img,[data-migliori] .card:focus-within .card-img img{transform:scale(1.07)}
@media (prefers-color-scheme:dark){[data-migliori] .card:hover,[data-migliori] .card:focus-within{box-shadow:0 14px 28px rgba(0,0,0,.5)}}
@media (prefers-reduced-motion:reduce){[data-migliori] .card,[data-migliori] .card-img img{transition:none}[data-migliori] .card:hover,[data-migliori] .card:focus-within{transform:none}[data-migliori] .card:hover .card-img img,[data-migliori] .card:focus-within .card-img img{transform:none}}
/* "I migliori spot": pagine da 6 con frecce e puntini (telefono: "Mostra altri 6") */
.mig-carosello{position:relative}
.mig-vista{overflow:hidden;padding:10px 8px 34px;margin:-10px -8px -34px}
.mig-binario{display:flex;column-gap:24px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.mig-pagina{flex:0 0 100%;min-width:0}
.mig-freccia{position:absolute;top:calc(50% - 22px);z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:var(--surface);color:var(--ink);box-shadow:0 2px 10px rgba(15,58,67,.28);cursor:pointer;transition:opacity .2s,background .2s,color .2s}
.mig-freccia:hover{background:var(--ink);color:var(--bg)}
.mig-freccia:disabled{opacity:0;pointer-events:none}
.mig-prec{left:-22px}
.mig-succ{right:-22px}
@media (max-width:1180px){.mig-prec{left:-12px}.mig-succ{right:-12px}}
.mig-puntini{display:flex;justify-content:center;gap:10px;margin-top:18px}
.mig-puntini button{width:10px;height:10px;padding:0;border-radius:50%;border:2px solid var(--ink);background:transparent;cursor:pointer;transition:background .2s,transform .2s}
.mig-puntini button[aria-current]{background:var(--ink);transform:scale(1.2)}
.mig-puntini button::before{content:"";display:block;margin:-8px;width:26px;height:26px}
.mig-altri{display:none;width:100%;margin-top:18px}
@media (max-width:760px){
  .mig-binario{display:block;transform:none!important;transition:none}
  .mig-pagina+.mig-pagina{margin-top:22px}
  .mig-freccia,.mig-puntini{display:none}
  .mig-altri{display:block}
  .mig-altri[hidden]{display:none}
}
@media (prefers-reduced-motion:reduce){.mig-binario{transition:none}}.mig-pagina[hidden]{display:none}

/* Indice del giorno */
.ix-ottimo{--ix:#1f8a4c}.ix-buono{--ix:#5a9e2f}.ix-discreto{--ix:#c98a00}.ix-scarso{--ix:#c0392b}
@media (prefers-color-scheme:dark){.ix-ottimo{--ix:#4cc27a}.ix-buono{--ix:#8fcb5a}.ix-discreto{--ix:#f0b429}.ix-scarso{--ix:#ff6b5b}}
.ix-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 3px;border-radius:999px;border:1.5px solid var(--ix);color:var(--ink);font-size:.92rem;font-weight:600;white-space:nowrap;line-height:1.5}
.ix-badge b{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 4px;border-radius:999px;background:var(--ix);color:#fff;font-size:.85rem}
.ix-link{text-decoration:none}
.ix-box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;padding:16px 18px;margin:0 0 18px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--ix);border-radius:var(--r)}
.ix-val{display:grid;place-items:center;align-content:center;width:84px;height:84px;border-radius:50%;border:5px solid var(--ix);color:var(--ink)}
.ix-val b{font:700 2rem/1 var(--head)}
.ix-val span{font-size:.75rem;color:var(--muted)}
.ix-txt p{margin:0 0 6px}
.ix-tit{font-size:1.05rem}
.ix-tit strong{color:var(--ix)}
.ix-perche{list-style:none;margin:6px 0 8px;padding:0;display:grid;gap:3px;font-size:.95rem}
.ix-perche li::before{display:inline-block;width:1.2em;font-weight:700}
.ix-perche .piu::before{content:"+";color:#1f8a4c}
.ix-perche .meno::before{content:"−";color:#c0392b}
.ix-specie{display:flex;flex-wrap:wrap;gap:6px}
.ix-sp{display:inline-flex;align-items:center;gap:6px;padding:2px 3px 2px 10px;border-radius:999px;background:var(--bg);font-size:.88rem}
.ix-sp b{display:inline-grid;place-items:center;min-width:24px;height:20px;padding:0 4px;border-radius:999px;background:var(--ix);color:#fff;font-size:.8rem}
.ix-nota{font-size:.85rem;color:var(--muted);margin-top:8px!important}
@media (max-width:560px){.ix-box{gap:12px;padding:14px}.ix-val{width:60px;height:60px;border-width:4px}.ix-val b{font-size:1.45rem}.ix-val span{font-size:.65rem}}.leaflet-popup-content .ix-badge{margin:4px 0 2px;font-size:.85rem}
.ml-sub .ix-badge{font-size:.8rem;padding-right:8px}
.ml-sub .ix-badge b{min-width:22px;height:18px;font-size:.75rem}

/* "I migliori spot": più votati / migliori oggi, specie */
.mig-comandi{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 10px}
.mig-modi{display:inline-flex;border:2px solid var(--ink);border-radius:var(--r);overflow:hidden}
.mig-modi button{font:700 .95rem var(--body);padding:.45rem .9rem;border:0;background:transparent;color:var(--ink);cursor:pointer}
.mig-modi button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.mig-comandi select{width:auto;min-width:200px;padding:.45rem .7rem}
.card-ix{margin:0 0 4px}
/* Pagine di testo: testo + indice "In questa pagina" (o riquadro contatti) a destra */
.page-head .lead{max-width:70ch}
.page-body.con-indice{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;align-items:start}
.page-body.con-indice .content{max-width:76ch}
.page-indice{position:sticky;top:96px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font-size:.95rem}
.admin-bar .page-indice{top:128px}
.page-indice-t{font:700 .8rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.page-indice ol,.page-indice ul{margin:0 0 4px;padding-left:1.2em}
.page-indice li{margin:0 0 7px}
.page-indice ol a{color:var(--ink);text-decoration:none}
.page-indice ol a:hover{text-decoration:underline}
.page-agg{font-size:.85rem;margin:12px 0 0}
@media (max-width:900px){.page-body.con-indice{grid-template-columns:minmax(0,1fr);gap:28px}.page-indice{position:static;order:-1}.ct-lato{order:0}}
.content h2{scroll-margin-top:100px}
.content h3{font-size:1.15rem;margin-top:1.4em}
.content ul,.content ol{padding-left:1.3em}
.content li{margin:0 0 .4em}
.content .avviso{padding:14px 16px;border-left:4px solid var(--accent);background:var(--surface);border-radius:var(--r)}
.content table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem}
.content th,.content td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.content th{color:var(--ink)}
/* Contatti */
.ct-mail{font:700 1.15rem var(--head);word-break:break-all}
.ct-lato p{margin:0 0 10px}
.ct-lato ul{margin-bottom:0}
.contatti-modulo{margin-top:24px;padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.ct-form label{display:block;font-weight:700;color:var(--ink);margin-bottom:4px}
.ct-form p{margin:0 0 14px}
.ct-due{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
@media (max-width:560px){.ct-due{grid-template-columns:minmax(0,1fr)}}
.ct-form textarea,.ct-form input[type=url]{width:100%}
.ct-form .ct-privacy label{font-weight:400;color:var(--text);display:block;position:relative;padding-left:28px}
.ct-privacy input{position:absolute;left:0;top:5px;margin:0;width:18px;height:18px}
.ct-err{padding:12px 14px;border-left:4px solid var(--accent);background:var(--bg);margin:0 0 14px}
/* Accedi / Iscriviti */
.acc-pagina{display:grid;grid-template-columns:minmax(0,440px) 300px;gap:56px;align-items:start;padding-top:8px}
.acc-box{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.acc-social{display:flex;justify-content:center}
.acc-social .nsl-container{width:100%;margin:0!important}
.acc-social .nsl-container-buttons{width:100%;padding:0!important}
.acc-social .nsl-container-buttons a{display:block;width:100%!important;max-width:none!important;margin:0!important;text-decoration:none}
.acc-social .nsl-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:10px 16px;border:1px solid #c9d6d0;border-radius:var(--r);background:#fff;color:#1f1f1f;font:700 1rem/1.2 var(--body);box-shadow:none}
.acc-social .nsl-button:hover{border-color:#0f3a43}
.acc-social .nsl-button-svg-container{display:flex;padding:0}
.acc-social .nsl-button-label-container{margin:0;padding:0;font:inherit}
.acc-social .nsl-button-label-container b{font-weight:700}
.acc-oppure{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--muted);font-size:.9rem}
.acc-oppure::before,.acc-oppure::after{content:"";flex:1;border-top:1px solid var(--line)}
.acc-pw{position:relative;display:block}
.acc-pw input{padding-right:48px}
.acc-occhio{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:var(--r)}
.acc-occhio[aria-pressed=true]{color:var(--ink)}
.acc-riga{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ct-form .acc-ricorda{display:flex;gap:8px;align-items:center;font-weight:400;color:var(--text);margin:0}
.acc-form .btn-block{width:100%}
.acc-form p:last-child{margin-bottom:0}
.acc-sotto{margin:18px 0 0;text-align:center}
.acc-ok{padding:12px 14px;border-left:4px solid var(--link);background:var(--bg);margin:0}
.acc-vantaggi{padding-left:1.2em;margin:0 0 14px}
.acc-vantaggi li{margin:0 0 8px}
.acc-lato .muted{font-size:.9rem;margin:0}
@media (max-width:900px){.acc-pagina{grid-template-columns:minmax(0,1fr);gap:24px}.acc-box{padding:18px}.acc-lato{order:0}}
.ct-ok h2{margin-top:0}.da-completare{background:#fff3bf;color:#5c4400;padding:0 4px;border-radius:3px;font-weight:700}
.content table{display:block;overflow-x:auto}
@media (min-width:700px){.content table{display:table}}
.content td:first-child{white-space:nowrap}
.content td:nth-child(2){min-width:180px}
/* Homepage: "Manca uno spot?" su fondo grigio, staccato dal footer scuro */
:root{--grigio:#d9dfdc}
@media (prefers-color-scheme:dark){:root{--grigio:#1c2f34}}
.band-grigio{background:var(--grigio);color:var(--text)}
.band-grigio h2{color:var(--ink)}
/* Homepage: titolo centrato; filtri e ricerca in una barra attaccata alla mappa */
.home .hero{text-align:center;padding-bottom:clamp(20px,3vw,32px)}
.home .hero h1{max-width:none;margin-inline:auto}
.home .hero .lead{margin:0 auto;max-width:none}
.mappa-barra{max-width:none;margin:0;padding:12px max(20px,calc((100% - var(--w)) / 2 + 20px));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;background:var(--surface);border-top:1px solid var(--line)}
.mappa-barra .pesca-filtri{margin:0;padding:0;max-width:none;justify-content:flex-start;gap:6px}
.mappa-barra .pesca-filtri button{height:42px;padding:0 .85rem;border-width:1.5px;font-size:.92rem}
.mappa-cerca{flex:1 1 420px;max-width:560px;margin:0;justify-content:flex-end;gap:6px}
.mappa-cerca input{height:42px;padding:0 .8rem}
.mappa-cerca .btn{height:42px;padding:0 .9rem;display:inline-flex;align-items:center;justify-content:center}
.mappa-msg{flex-basis:100%;margin:0;min-height:0;text-align:left}
.mappa-msg:empty{display:none}
@media (max-width:900px){
  .mappa-barra{padding:10px 16px}
  .mappa-barra .pesca-filtri{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;width:calc(100% + 32px)}
  .mappa-barra .pesca-filtri::-webkit-scrollbar{display:none}
  .mappa-barra .pesca-filtri button{flex:none}
  .mappa-cerca{flex-basis:100%;max-width:none;flex-wrap:wrap}
  .mappa-cerca input{flex:1 1 100%}
  .mappa-cerca .btn{flex:1}
}
/* Homepage: filtri centrati nella barra; ricerca in cima alla colonna dell'elenco */
.mappa-barra{justify-content:center}
.mappa-barra .pesca-filtri{justify-content:center}
.mappa-lato{display:flex;flex-direction:column;background:var(--surface);min-width:0}
.mappa-lato .mappa-cerca{flex:none;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:14px 16px 0;margin:0}
.mappa-lato .mappa-cerca input{width:100%}
.mappa-lato .mappa-vicino{grid-column:1/-1;height:38px!important}
.mappa-lato .mappa-msg{padding:6px 16px 0;text-align:left}
.mappa-lato .mappa-lista{flex:1;min-height:0}
@media (min-width:901px){
  .mappa-lato{order:0;height:var(--mappa-h,620px);border-block:1px solid var(--line);border-right:1px solid var(--line)}
  .mappa-lato .mappa-lista{max-height:none;overflow:auto;border:0}
}
@media (max-width:900px){
  .mappa-lato{display:contents}
  .mappa-lato .mappa-cerca{order:0;background:var(--surface);padding:0 16px 12px}
  .mappa-lato .mappa-msg{order:1;background:var(--surface);padding:0 16px 10px}
  .mappa-mappa{order:2}
  .mappa-lato .mappa-lista{order:3}
  .mappa-lato .mappa-cerca .btn{flex:none}
}@media (max-width:900px){.mappa-barra .pesca-filtri{justify-content:flex-start}}
.mappa-lato .mappa-msg{flex:none;min-height:0;margin:0}

/* Homepage: "Vicino a me" in cima all'elenco; ricerca in una riga sotto la mappa */
.mappa-vicino-box{margin:0;padding:14px 16px 0;flex:none}
.mappa-vicino-box .btn{width:100%;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.mappa-vicino-box .btn::before{content:"";width:10px;height:10px;border-radius:50%;background:#1e6fd9;box-shadow:0 0 0 3px rgba(30,111,217,.25)}
.mappa-sotto{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;padding:12px max(16px,calc((100% - var(--w)) / 2 + 20px));background:var(--surface);border-bottom:1px solid var(--line)}
.mappa-sotto .mappa-cerca{flex:0 1 620px;max-width:620px;display:flex;gap:6px;margin:0;padding:0}
.mappa-sotto .mappa-cerca input{flex:1;min-width:0;height:42px}
.mappa-sotto .mappa-cerca .btn{flex:none;height:42px}
.mappa-sotto .mappa-msg{flex-basis:100%;text-align:center;margin:0;padding:0}
@media (min-width:901px){.mappa-sotto{order:2}}
@media (max-width:900px){
  .mappa-vicino-box{order:0;background:var(--surface);padding:0 16px 12px}
  .mappa-sotto{order:3}
  .mappa-lato .mappa-lista{order:4}
  .mappa-sotto .mappa-cerca{flex-basis:100%;max-width:none;flex-wrap:nowrap}
  .mappa-sotto .mappa-cerca input{flex:1 1 auto}
}
/* Telefono: avviso "due dita" sulla mappa e regioni in una riga di bottoni subito sotto */
.mappa-due-dita{position:absolute;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(10,25,29,.58);color:#fff;font:700 1.1rem/1.3 var(--body);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
.mappa-due-dita.on{opacity:1}
@media (max-width:900px){
  .mappa-app.vista-regioni .mappa-lato .mappa-lista{order:3;padding:12px 0 14px}
  .mappa-app.vista-regioni .mappa-sotto{order:4}
  .vista-regioni .mappa-lista .ml-h{font-size:.95rem;margin:0;padding:0 16px;color:var(--muted);font-family:var(--body);font-weight:700}
  .vista-regioni .mappa-lista .ml-nota{display:none}
  .ml-reg{display:flex;gap:8px;overflow-x:auto;margin:8px 0 0;padding:2px 16px 4px;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:16px}
  .ml-reg::-webkit-scrollbar{display:none}
  .ml-reg li{flex:none;scroll-snap-align:start}
  .ml-reg button{width:auto;align-items:center;gap:8px;padding:.55rem .85rem;border:1.5px solid var(--line);border-radius:999px;background:var(--card);font-size:.98rem;white-space:nowrap}
  .ml-reg .n{color:var(--accent);font-weight:700}
}
/* Ricerca con autocompletamento (sotto la mappa) */
.mappa-ac{position:relative;flex:1;min-width:0}
.mappa-ac input{width:100%}
.mappa-sotto .mappa-cerca .btn:disabled{opacity:.45;cursor:not-allowed}
.mappa-sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:1200;list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 28px rgba(15,58,67,.22);max-height:360px;overflow:auto;text-align:left}
.mappa-sugg[hidden]{display:none}
.mappa-sugg li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;cursor:pointer}
.mappa-sugg li:hover,.mappa-sugg li[aria-selected="true"]{background:var(--bg)}
.ms-tipo{flex:none;width:74px;font:700 .72rem var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ms-nome{flex:1;min-width:0;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ms-nome small{font-weight:400;color:var(--muted);font-size:.85rem}
.ms-nome .dot{width:9px;height:9px;border-width:1px}
.ms-n{flex:none;font-size:.85rem;color:var(--muted)}
@media (max-width:560px){.ms-tipo{width:auto}}
/* ---------- Catture recenti (homepage) ---------- */
.cat-carosello{position:relative}
.cat-scorri{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * 18px) / 4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 10px;margin:0 -2px;scrollbar-width:none}
.cat-scorri::-webkit-scrollbar{display:none}
@media (max-width:1000px){.cat-scorri{grid-auto-columns:calc((100% - 2 * 18px) / 3)}}
@media (max-width:760px){.cat-scorri{grid-auto-columns:calc((100% - 18px) / 2)}.cat-freccia{display:none}}
@media (max-width:520px){.cat-scorri{grid-auto-columns:82%}}
.cat-freccia{top:calc(50% - 50px)}
.cat-puntini{display:flex;justify-content:center;gap:10px;margin-top:14px}
.cat-puntini[hidden]{display:none}
.cat-puntini button{width:10px;height:10px;padding:0;border-radius:50%;border:2px solid var(--ink);background:transparent;cursor:pointer;transition:background .2s,transform .2s}
.cat-puntini button[aria-current]{background:var(--ink);transform:scale(1.2)}
.cat-puntini button::before{content:"";display:block;margin:-8px;width:26px;height:26px}
.cat-card{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 1px 4px rgba(15,58,67,.06);transition:box-shadow .2s,border-color .2s}
.cat-card:hover{border-color:var(--ink);box-shadow:0 12px 26px rgba(15,58,67,.15)}
.cat-img{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;border-radius:11px 11px 0 0;background:var(--line)}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.cat-card:hover .cat-img img{transform:scale(1.04)}
.cat-img .sat-m img{transform:none!important}
.cat-bollino{position:absolute;left:10px;bottom:10px;z-index:2;max-width:calc(100% - 20px);padding:5px 11px;border-radius:99px;background:var(--accent);color:#fff;font:700 .92rem/1.2 var(--body);box-shadow:0 2px 8px rgba(0,0,0,.25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-pos{position:absolute;left:10px;top:10px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--band);color:#fff;font:700 1rem var(--head)}
.cat-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.cat-body h3{margin:0;font-size:1.08rem}
.cat-body h3 a{color:var(--ink);text-decoration:none}
.cat-body h3 a:hover{text-decoration:underline}
.cat-chi{margin:2px 0 8px;font-size:.92rem;color:var(--muted)}
.cat-body .cond{margin-top:auto;align-self:flex-start}

/* ---------- Condividi ---------- */
.cond{position:relative;display:inline-block}
.cond>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.cond>summary::-webkit-details-marker{display:none}
.cond[open]>summary{border-color:var(--ink)}
.cond-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:30;min-width:220px;display:flex;flex-direction:column;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px rgba(10,25,29,.22)}
.cond-su .cond-menu{top:auto;bottom:calc(100% + 6px)}
.cond-dx .cond-menu{left:auto;right:0}
.cond-menu a,.cond-menu button{display:block;text-align:left;padding:.6rem .75rem;border-radius:6px;font:700 .95rem var(--body);color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer}
.cond-menu a:hover,.cond-menu button:hover{background:var(--bg)}
.cond-menu span{display:block;font-weight:400;font-size:.82rem;color:var(--muted)}
.rv-evid{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}

/* ---------- Classifiche ---------- */
.cl-dopo{margin-top:clamp(28px,4vw,44px)}
.cl-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.cl-col{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 18px 10px}
.cl-col h3{margin:0}
.cl-sotto{margin:2px 0 12px;font-size:.9rem}
.cl-lista{list-style:none;margin:0;padding:0;counter-reset:cl}
.cl-lista li{counter-increment:cl;display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.cl-lista li:first-child{border-top:0}
.cl-lista li::before{content:counter(cl);flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--bg);color:var(--ink);font:700 .9rem var(--head)}
.cl-lista li:first-child::before{background:var(--accent);color:#fff}
.cl-foto img,.cl-avatar{width:48px;height:48px;border-radius:8px;object-fit:cover;display:block;flex:none}
.cl-avatar{border-radius:50%;width:40px;height:40px}
.cl-testo{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}
.cl-testo a{color:var(--ink);text-decoration:none}
.cl-testo a:hover{text-decoration:underline}
.cl-testo .muted{font-size:.88rem;overflow:hidden;text-overflow:ellipsis}
.cl-num{flex:none;font-size:.85rem}
.cl-vuoto{margin:0 0 10px;color:var(--muted);font-size:.95rem}
.cl-tutte{margin:18px 0 0}
.cl-mesi{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cl-mesi a{padding:.45rem .9rem;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem;text-transform:capitalize}
.cl-mesi a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.cl-top{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:clamp(18px,3vw,36px);align-items:center;margin-bottom:28px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.cl-top-img img{display:block;width:100%;height:auto;border-radius:10px}
.cl-top h2{margin:.1em 0 .3em}
.cl-etichetta{margin:0;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}
.cl-nota{margin-top:18px;font-size:.9rem}
@media (max-width:640px){.cl-top{grid-template-columns:1fr}.cl-top-img{max-width:300px}}

/* ---------- Guide ---------- */
/* Elenco: categorie come pulsanti (stile dei mesi delle classifiche), guida in evidenza */
.guide-cat{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.guide-cat a{padding:.45rem .9rem;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem;background:var(--surface)}
.guide-cat a:hover{border-color:var(--ink)}
.guide-cat a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.guide-body{padding-top:8px}
.guida-evid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);margin-bottom:28px;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(15,58,67,.06)}
.ge-img{display:block;min-height:280px;background:var(--line)}
.ge-img img{width:100%;height:100%;object-fit:cover}
.ge-body{padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;justify-content:center;gap:4px}
.ge-body h2{margin:0 0 .3em;font-size:clamp(1.5rem,2.6vw,2rem)}
.ge-body h2 a{color:var(--ink);text-decoration:none}
.ge-body h2 a:hover{text-decoration:underline}
.ge-body .btn{align-self:flex-start;margin-top:6px}
.ge-cat{margin:0;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}
@media (max-width:760px){.guida-evid{grid-template-columns:1fr}.ge-img{min-height:0;aspect-ratio:16/9}}
.card-txt{margin:0;font-size:.95rem}
/* Pagina della guida */
.guida-head h1{max-width:22ch}
.guida-head .lead{margin-bottom:10px}
.guida-meta{margin:0;color:var(--muted);font-size:.95rem}
.guida-cover{margin:0}
.guida-cover img{width:100%;height:auto;max-height:560px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:var(--line)}
.guida .content>p:first-child{font-size:1.08rem}
.guida .content figure{margin:1.4em 0}
.guida .content h3{color:var(--ink)}
.guida .content .wp-block-table{margin:1.2em 0}
.guida .content blockquote{margin:1.4em 0;padding:14px 18px;border-left:4px solid var(--link);background:var(--surface);border-radius:var(--r)}
.guida .content blockquote p:last-child{margin:0}
/* Blocco "Spot" dentro il testo */
.spot-blocco{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);margin:1.4em 0;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(15,58,67,.06);transition:box-shadow .2s,border-color .2s}
.spot-blocco:hover{border-color:var(--ink);box-shadow:0 10px 24px rgba(15,58,67,.14)}
.sb-img{display:block;background:var(--line);min-height:150px}
.sb-img img{width:100%;height:100%;object-fit:cover}
.sb-img .sat{height:100%}
.sb-body{padding:14px 18px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.sb-body p{margin:0}
.sb-tipo{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.sb-tipo .dot{width:10px;height:10px}
.sb-nome{font:700 1.2rem/1.2 var(--head)}
.sb-nome a{color:var(--ink);text-decoration:none}
.sb-nome a::after{content:"";position:absolute;inset:0}
.sb-dove{color:var(--muted);font-size:.95rem}
.sb-dati{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.95rem}
.sb-body .chips{margin-top:4px}
.sb-vai{margin-top:6px;font-weight:700;font-size:.95rem;position:relative;z-index:1}
@media (max-width:560px){.spot-blocco{grid-template-columns:1fr}.sb-img{aspect-ratio:16/9;min-height:0}}
/* Guide nella scheda spot e nelle pagine di zona, specie e tecnica */
.guide-lista{list-style:none;margin:0;padding:0}
.guide-lista li{padding:9px 0;border-top:1px solid var(--line);line-height:1.3}
.guide-lista li:first-child{border-top:0;padding-top:2px}
.guide-lista a{font-weight:700;color:var(--ink);text-decoration:none}
.guide-lista a:hover{text-decoration:underline}
.guide-lista span{display:block;margin-top:3px;font-size:.85rem;color:var(--muted)}
.guide-leggi{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:14px 0 0;font-size:.95rem}
.guide-leggi span{font-weight:700;color:var(--muted)}
.guide-leggi a{padding:.3rem .75rem;border:1px solid var(--line);border-radius:99px;background:var(--surface);text-decoration:none;color:var(--ink);font-weight:700}
.guide-leggi a:hover{border-color:var(--ink)}
/* Spot consigliati nella regione del lettore: barra con la regione, poi le schede */
.spot-consigliati{margin:1.4em 0}
.sc-barra{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.sc-dove{margin:0;font-size:.98rem}
.sc-dove strong{color:var(--ink)}
.sc-chiedi{display:none;font:700 1.05rem/1.3 var(--head);color:var(--ink)}
.sc-comandi{display:flex;flex-wrap:wrap;gap:8px}
.sc-comandi select{width:auto;min-width:190px;padding:.5rem .7rem;font-weight:700;color:var(--ink)}
.sc-pos{padding:.55rem .9rem;font-size:.95rem;display:inline-flex;align-items:center;gap:8px}
.sc-pos::before{content:"";width:9px;height:9px;border-radius:50%;background:#1e6fd9;box-shadow:0 0 0 3px rgba(30,111,217,.25)}
.sc-pos[hidden]{display:none}
/* prima visita: invito in evidenza */
.sc-invito.sc-primo .sc-barra{border:2px solid var(--accent);background:var(--card);padding:16px 18px}
.sc-invito.sc-primo .sc-chiedi{display:block}
.sc-invito.sc-primo .sc-qui{display:block;margin-top:2px;font-size:.9rem;color:var(--muted)}
.sc-invito.sc-primo .sc-qui strong{color:inherit;font-weight:400}
.sc-msg{margin:10px 0 0;padding:10px 14px;border-left:4px solid var(--accent);background:var(--surface);border-radius:var(--r);font-size:.95rem}
.sc-msg[hidden]{display:none}
.sc-lista{transition:opacity .2s}
.sc-carica .sc-lista{opacity:.45}
.sc-lista .spot-blocco:first-child{margin-top:12px}
.band .spot-consigliati{margin:0}
.band .sc-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:0 22px}
@media (max-width:560px){.sc-barra{flex-direction:column;align-items:stretch}.sc-comandi select,.sc-pos{flex:1;min-width:0}.band .sc-lista{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.sc-lista{transition:none}}
/* Ricerca di spot e luoghi (lente nel menu, pagine elenco, 404, risultati) */
.cerca{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;margin:0}
.cerca .mappa-ac{flex:1 1 260px}
.cerca input[type=search]{height:44px;padding:0 .8rem}
.cerca .btn{height:44px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cerca-msg{flex-basis:100%;margin:0;font-size:.92rem;color:var(--muted)}
.cerca-msg:empty{display:none}
.cerca-larga{max-width:640px;margin-top:18px}
.cerca-oppure{margin:22px 0 0;font-weight:700;color:var(--muted)}
.cerca-apri{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;background:none;border:0;border-radius:var(--r);color:var(--ink);cursor:pointer}
.cerca-apri:hover,.cerca-apri[aria-expanded="true"]{background:var(--surface)}
.cerca-pannello{border-top:1px solid var(--line);background:var(--bg);padding:12px 0 14px}
.cerca-pannello[hidden]{display:none}
.cerca-pannello .cerca{max-width:720px;margin:0 auto}
@media (max-width:1080px){.bar{gap:10px}}
@media (max-width:560px){.cerca .btn{flex:1 1 100%;justify-content:center}}

/* App per il telefono: voce nel Menu, invito in basso, istruzioni per iPhone, pagina /app/ */
.menu-app button{display:block;width:100%;text-align:left;padding:.5rem .65rem;background:none;border:0;border-radius:var(--r);color:var(--accent);font:700 1rem var(--body);cursor:pointer}
.menu-app[hidden]{display:none}
.pwa-invito{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:1950;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"ico testo installa" "ico testo no";gap:2px 12px;align-items:center;padding:12px 12px 10px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(15,58,67,.28)}
.pwa-invito[hidden]{display:none}
.pwa-invito img{grid-area:ico;border-radius:10px}
.pwa-invito p{grid-area:testo;margin:0;font-size:.88rem;line-height:1.35;color:var(--muted)}
.pwa-invito strong{display:block;color:var(--ink);font-size:.98rem}
.pwa-invito .btn{grid-area:installa;padding:.5rem .9rem;font-size:.95rem}
.pwa-no{grid-area:no;background:none;border:0;color:var(--muted);font:700 .82rem var(--body);padding:4px;cursor:pointer;text-decoration:underline}
@media (min-width:701px){.pwa-invito{display:none!important}}
/* nella scheda spot l'invito sta sopra la barra Chiama / WhatsApp / Indicazioni */
.single-spot .pwa-invito{bottom:calc(72px + env(safe-area-inset-bottom))}
.pwa-ios-box{position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(10,25,29,.55)}
.pwa-ios-box[hidden]{display:none}
.pwa-ios-in{width:100%;max-width:440px;background:var(--card);border-radius:16px;padding:22px 20px 18px;box-shadow:0 20px 50px rgba(0,0,0,.35);text-align:center}
.pwa-ios-in img{border-radius:12px}
.pwa-ios-in h2{font-size:1.25rem;margin:10px 0 12px}
.pwa-ios-in ol{text-align:left;margin:0 0 12px;padding-left:1.3em}
.pwa-ios-in li{margin:0 0 10px}
.pwa-tasto{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-weight:700;color:var(--ink);white-space:nowrap}
.pwa-tasto svg{color:#1e6fd9}
.pwa-ios-in p{color:var(--muted);margin:0 0 14px}
.pwa-ios-in .btn{width:100%}
.app-azione{margin:1.2em 0}
.app-azione p{margin:0 0 .6em}
.app-azione [hidden]{display:none}
.app-installa{font-size:1.1rem;padding:.8rem 1.6rem}
.app-nota{color:var(--muted)}
.app-qr{display:inline-flex;flex-direction:column;align-items:center;gap:8px;margin:1em 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}
.app-qr img{width:200px;height:200px}
.app-qr figcaption{max-width:220px;text-align:center;font-size:.9rem;color:#4d6467}
@media (max-width:700px){.app-qr,.app-solo-computer{display:none}}

/* Banner dei cookie e preferenze */
.flink{background:none;border:0;padding:0;color:var(--on-band);font:inherit;cursor:pointer;text-align:left}
.flink:hover{text-decoration:underline}
.consenso{position:fixed;left:0;right:0;bottom:0;z-index:2500;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(15,58,67,.22);padding:18px 16px calc(16px + env(safe-area-inset-bottom));max-height:85vh;overflow:auto}
.consenso[hidden]{display:none}
.consenso-in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 28px;align-items:center}
.consenso h2{grid-column:1/-1;font-size:1.15rem;margin:0}
.consenso p{margin:0;font-size:.95rem;color:var(--text)}
.consenso p a{font-weight:700}
.consenso-scelte{grid-column:1/-1;display:grid;gap:10px;margin:8px 0 4px}
.consenso-scelte[hidden]{display:none}
.consenso-voce{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:.92rem;cursor:pointer}
.consenso-voce input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--ink)}
.consenso-pulsanti{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.consenso-pulsanti [hidden]{display:none}
.consenso-pulsanti .btn{white-space:nowrap}
.consenso-x{position:absolute;top:6px;right:8px;width:40px;height:40px;background:none;border:0;font-size:1.7rem;line-height:1;color:var(--muted);cursor:pointer;border-radius:var(--r)}
.consenso-x:hover{background:var(--surface);color:var(--ink)}
@media (max-width:820px){
  .consenso-in{grid-template-columns:1fr}
  .consenso h2{padding-right:36px}
  .consenso-pulsanti{display:grid;grid-template-columns:1fr 1fr}
  .consenso-pulsanti .consenso-pers{grid-column:1/-1;grid-row:2}
}
.consenso-stato{color:var(--muted);font-size:.95rem;margin-left:8px}
.cookie-tab{width:100%;border-collapse:collapse;font-size:.93rem;margin:1em 0}
.cookie-tab th,.cookie-tab td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.cookie-tab th{background:var(--surface)}
@media (max-width:640px){.cookie-tab{display:block;overflow-x:auto}}

/* Luna: riquadro nelle Condizioni della scheda e calendario lunare */
.cond-luna{display:flex;gap:14px;align-items:center;margin:14px 0 6px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.cond-luna .luna-ico{flex:none}
.cond-luna p{margin:0}
.cond-luna .cond-n{margin-top:2px}
.luna-ico{display:block}
.luna-fasi{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.luna-fasi li{display:flex;gap:10px;align-items:center;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font-size:.95rem}
.luna-mese{margin:0 0 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 16px}
.luna-mese[hidden]{display:none}
.luna-mese>summary{cursor:pointer;list-style:none;padding:14px 0}
.luna-mese>summary::-webkit-details-marker{display:none}
.luna-mese>summary h2{display:inline;font-size:1.2rem;margin:0}
.luna-mese>summary::after{content:"▾";float:right;color:var(--muted)}
.luna-mese[open]>summary::after{content:"▴"}
.luna-tab{width:100%;border-collapse:collapse;font-size:.93rem;margin:0 0 16px}
.luna-tab th,.luna-tab td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.luna-tab thead th{font-size:.82rem;color:var(--muted);font-weight:700}
.luna-tab tbody th{font-weight:700;white-space:nowrap}
.luna-tab tr.oggi{background:var(--surface);box-shadow:inset 4px 0 0 var(--accent)}
.luna-cella{display:flex;gap:8px;align-items:center}
.luna-cella small{color:var(--muted)}
.luna-pesca{white-space:nowrap}
.luna-p2{font-weight:700;color:var(--ink)}
.luna-p1{color:var(--ink)}
.luna-p0{color:var(--muted)}
.luna-nota{font-size:.85rem;color:var(--muted);font-weight:400}
@media (max-width:600px){.luna-mese{padding:0 10px}.luna-tab{font-size:.85rem}.luna-tab th,.luna-tab td{padding:6px 4px}.luna-cella .luna-ico{width:20px;height:20px}}
.lp-corto{display:none}
@media (max-width:600px){
  .luna-tab .luna-nome{display:none}
  .lp-lungo{display:none}
  .lp-corto{display:inline;color:var(--accent);letter-spacing:.05em}
  .luna-p0 .lp-corto{color:var(--muted)}
  .luna-tab thead .luna-nota{display:none}
}
@media (max-width:600px){
  .luna-tab{table-layout:fixed}
  .luna-tab thead th{font-size:.72rem}
  .luna-tab th:nth-child(1){width:52px}
  .luna-tab th:nth-child(3){width:44px}
  .luna-tab th:nth-child(4){width:56px}
  .luna-tab th:nth-child(5){width:40px;text-align:center}
  .luna-tab td.luna-pesca{text-align:center}
  .luna-cella{gap:6px;align-items:flex-start}
  .luna-cella>span{min-width:0;overflow-wrap:anywhere;line-height:1.3}
}
@media (max-width:600px){.content .luna-tab,.luna-tab{display:table;overflow:visible;white-space:normal}}
.luna-cella .luna-ico{flex:none}
.luna-legenda{display:none}
@media (max-width:600px){.luna-legenda{display:block}}
