/* Mappa Blue Delta Crab — stile navy/oro, nessun inline */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gm-sec{background:var(--navy-0);padding:0 0 clamp(40px,6vw,80px)}
.gm{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:0;max-width:1680px;margin-inline:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:min(78vh,820px);min-height:560px;position:relative}
.gm-side{display:flex;flex-direction:column;background:linear-gradient(180deg,var(--navy),var(--navy-0));border-right:1px solid var(--line);min-height:0;min-width:0}
.gm-tabs{display:flex;border-bottom:1px solid var(--line)}
.gm-tab{flex:1;background:none;border:0;color:#aebbcc;font:500 .72rem var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:18px 10px;cursor:pointer;border-bottom:2px solid transparent}
.gm-tab[aria-selected=true]{color:var(--gold-hi);border-bottom-color:var(--gold)}
.gm-tab:focus-visible,.gm-chip:focus-visible,.gm-item button:focus-visible,.gm-card__x:focus-visible{outline:2px solid var(--gold-hi);outline-offset:-2px}
.gm-pn{flex:1;overflow:auto;padding:16px 18px 22px;min-height:0}
.gm-pn[hidden]{display:none}
.gm-search{display:block;margin-bottom:12px}
.gm-search input{width:100%;background:rgba(5,13,26,.7);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;color:var(--paper);font:300 1rem var(--sans)}
.gm-search input:focus{outline:none;border-color:var(--gold-hi)}
.gm-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.gm-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(230,201,138,.05);border:1px solid var(--line-2);color:#d3dce8;border-radius:999px;padding:7px 12px;font:400 .76rem var(--sans);cursor:pointer}
.gm-chip[aria-pressed=true]{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.gm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.55)}
.gm-dot--pesca,.gm-pin--pesca span{background:#4FB3E8}
.gm-dot--lotti,.gm-pin--lotti span{background:#E6C98A}
.gm-dot--trasf,.gm-pin--trasf span{background:#B98CF0}
.gm-dot--rist,.gm-pin--rist span{background:#F08C7A}
.gm-dot--gdo,.gm-pin--gdo span{background:#8FD1A8}
.gm-dot--scuole,.gm-pin--scuole span{background:#F0B36A}
.gm-dot--eventi,.gm-pin--eventi span{background:#F27FB5}
.gm-dot--mondo,.gm-pin--mondo span{background:#9AA9FF}
.gm-views{display:flex;gap:8px;margin-bottom:12px}
.gm-count{font-size:.8rem;color:#9fb0c6;margin:6px 0 10px}
.gm-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.gm-item[hidden]{display:none}
.gm-item button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:none;border:1px solid transparent;border-radius:10px;padding:10px;color:var(--paper);cursor:pointer;font:inherit}
.gm-item button:hover,.gm-item.is-on button{background:rgba(230,201,138,.08);border-color:var(--line)}
.gm-item__t{display:grid;flex:1;min-width:0}
.gm-item__t b{font:500 .95rem var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-item__t small{color:#8fa1b8;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gm-item__v{color:var(--ok);font-weight:600;width:1em;text-align:center}
.gm-mapwrap{position:relative;min-width:0;min-height:0;background:#0b2036}
.gm-map{position:absolute;inset:0;background:#0d2a46}
.gm-map.is-offline,.gm-map.is-nomap{background:radial-gradient(circle at 50% 40%,#17406b,#0a1a30)}
.gm-offline{position:absolute;left:12px;bottom:34px;z-index:500;max-width:330px;background:rgba(5,13,26,.92);border:1px solid var(--line-2);border-radius:10px;padding:10px 14px;font-size:.8rem;color:#dfe6ef}
.gm-offline[hidden]{display:none}
.gm-pin{background:none;border:0}
.gm-pin span{display:block;width:22px;height:22px;margin:4px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.5);transition:transform .2s}
.gm-pin:hover span,.gm-pin:focus span{transform:rotate(-45deg) scale(1.2)}
.gm-pin.is-visited span{border-color:var(--gold-hi);box-shadow:0 0 0 3px rgba(230,201,138,.5),0 2px 8px rgba(0,0,0,.5)}
.leaflet-marker-icon:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px;border-radius:50%}
.leaflet-container{font-family:var(--sans)}
.gm-card{position:absolute;z-index:600;top:12px;right:12px;bottom:12px;width:min(390px,calc(100% - 24px));overflow:auto;background:rgba(7,18,34,.97);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.55);color:var(--paper)}
.gm-card[hidden]{display:none}
.gm-card__fig{margin:0;position:relative;aspect-ratio:16/9;background:#0b2036}
.gm-card__fig img{width:100%;height:100%;object-fit:cover;display:block}
.gm-card__x{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:rgba(5,13,26,.85);color:var(--gold-hi);font-size:1.3rem;cursor:pointer;line-height:1}
.gm-card__ex{position:absolute;left:10px;bottom:10px;background:var(--warn);color:#2a1a02;font:600 .66rem var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.gm-card__ex[hidden]{display:none}
.gm-card__b{padding:18px 20px 22px}
.gm-badge{display:inline-block;font:500 .66rem var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.4em .85em;border-radius:999px;border:1px solid var(--line-2);color:var(--gold-hi)}
.gm-card h2{font-size:1.7rem;margin:.5em 0 .2em}
.gm-card h2:focus{outline:none}
.gm-card__loc{color:#aebbcc;font-size:.88rem;margin:0 0 12px}
.gm-card__d{font-size:.98rem;line-height:1.55;color:#dfe6ef}
.gm-card__st{font-size:.8rem;color:var(--warn);border-left:2px solid var(--warn);padding-left:10px;margin:12px 0}
.gm-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px}
.gm-tags li{font-size:.72rem;color:#9fb0c6;border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.gm-card__act{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.gm-quiz{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.gm-quiz[hidden]{display:none}
.gm-q fieldset{border:0;padding:0;margin:0 0 10px}
.gm-q legend{font-weight:500;color:var(--gold-hi);margin-bottom:8px;line-height:1.35}
.gm-opt{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;font-size:.9rem;cursor:pointer}
.gm-opt input{margin-top:.25em;accent-color:var(--gold)}
.gm-fb{font-size:.88rem;margin:6px 0 10px}
.gm-fb.is-ok{color:var(--ok)}.gm-fb.is-bad{color:var(--bad)}
.gm-score{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.gm-score div{background:rgba(230,201,138,.06);border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}
.gm-score b{display:block;font:500 1.25rem var(--serif);color:var(--gold-hi)}
.gm-score small{color:#9fb0c6;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.gm-h{font-size:1.5rem;margin:.2em 0 .3em}.gm-h2{font:500 .74rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:18px 0 8px}
.gm-steps{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}
.gm-steps li{display:flex;gap:10px;align-items:center;font-size:.92rem;color:#9fb0c6;padding:6px 8px;border-radius:8px}
.gm-sn{width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-size:.74rem;flex:none}
.gm-steps .is-done{color:var(--ok)}.gm-steps .is-done .gm-sn{background:var(--ok);color:var(--navy);border-color:var(--ok)}
.gm-steps .is-now{color:var(--paper);background:rgba(230,201,138,.09)}.gm-steps .is-now .gm-sn{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.gm-now{font-size:.92rem;line-height:1.5}
.gm-actions{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.gm-win{border:1px solid var(--ok);border-radius:12px;padding:12px 14px;margin:10px 0;background:rgba(143,209,168,.07)}
.gm-win h4{margin:0 0 .3em;color:var(--ok)}
.gm-badges ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.gm-badges li{border:1px dashed var(--line);border-radius:10px;padding:8px 10px;opacity:.55;display:grid}
.gm-badges li small{color:#9fb0c6;font-size:.76rem}
.gm-badges li.is-got{opacity:1;border:1px solid var(--gold);background:rgba(201,169,98,.1)}
.gm-badges li.is-got b::before{content:"\2605  ";color:var(--gold-hi)}
.gm-reset{margin-top:16px}
.gm-note{max-width:900px;margin:28px auto 0;padding-inline:var(--pad);font-size:.88rem;color:#9fb0c6}
.gm-static{padding-block:clamp(40px,6vw,80px)}
.gm-static ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.gm-static li{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:rgba(10,26,48,.6)}
.gm-static li h3{font-size:1.25rem;margin:0 0 .2em}.gm-static li p{margin:.3em 0;font-size:.9rem;color:#cdd7e4}
.gm-static .gm-badge{font-size:.6rem}
@media (max-width:900px){
 .gm{grid-template-columns:minmax(0,1fr);height:auto;min-height:0}
 .gm-mapwrap{height:68vh;min-height:420px;order:-1}
 .gm-side{border-right:0;border-top:1px solid var(--line)}
 .gm-pn{max-height:none;overflow:visible}
 .gm-card{top:auto;right:0;left:0;bottom:0;width:auto;max-height:78%;border-radius:16px 16px 0 0}
}
@media (prefers-reduced-motion:reduce){.gm-pin span{transition:none}}
