.er-map-shell{grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:auto minmax(0,1fr)}
.er-map-toolbar{grid-column:1/-1;grid-row:1}
.er-map-viewport{grid-column:1;grid-row:2}
.er-map-layer-panel{grid-column:2;grid-row:2;min-width:0;overflow:auto;padding:.85rem;border-left:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#10151d,#0b0f15);color:#e9edf2}
.er-map-layer-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;padding-bottom:.7rem;margin-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.08)}
.er-map-layer-panel__head small{display:block;color:#c9a45f;font-size:.62rem;font-weight:900;letter-spacing:.13em}
.er-map-layer-panel__head strong{display:block;margin-top:.12rem;color:#f2dfb5;font-size:.85rem}
.er-map-layer-panel__head button{padding:.35rem .48rem;border:1px solid rgba(201,164,95,.24);border-radius:7px;background:rgba(201,164,95,.07);color:#d9c28e;font-size:.62rem;font-weight:800;cursor:pointer}
.er-map-layer-panel__head button:hover,.er-map-layer-panel__head button:focus-visible{border-color:rgba(201,164,95,.55);background:rgba(201,164,95,.13);outline:none}
.er-map-layer-list{display:grid;gap:.42rem}
.er-map-layer-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:flex-start;padding:.55rem;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.025);cursor:pointer}
.er-map-layer-toggle:hover{background:rgba(255,255,255,.045)}
.er-map-layer-toggle input{width:16px;height:16px;margin:.12rem 0 0;accent-color:#c9a45f}
.er-map-layer-toggle strong{display:block;color:#e9edf2;font-size:.72rem}
.er-map-layer-toggle small{display:block;margin-top:.12rem;color:#8f98a4;font-size:.62rem;line-height:1.32}

/* La planimetria OpenAI è il vero sfondo della mappa. La griglia deve restare leggibile
   senza coprire dettagli, geometria e POI che l'immagine ha già ricevuto dal blueprint canonico. */
.er-map-image{opacity:1;filter:saturate(1) contrast(1.02) brightness(.96)}
.er-map-cell{background:rgba(10,14,19,.035);border-color:rgba(230,236,242,.26);box-shadow:inset 0 0 6px rgba(0,0,0,.035)}
.er-map-cell.is-blocked{background:repeating-linear-gradient(135deg,rgba(7,9,12,.5) 0,rgba(7,9,12,.5) 8px,rgba(38,43,49,.46) 8px,rgba(38,43,49,.46) 13px);box-shadow:inset 0 0 0 1px rgba(0,0,0,.34)}
.er-map-cell.is-reachable{background:rgba(164,132,70,.22)}
.er-map-cell.is-reachable:hover{background:rgba(196,157,82,.38)}

.er-map-dialog.is-layer-background-hidden .er-map-image{opacity:0}
.er-map-dialog.is-layer-grid-hidden .er-map-grid{opacity:0;pointer-events:none}
.er-map-dialog.is-layer-blocked-hidden .er-map-cell.is-blocked{background:rgba(10,14,19,.035);box-shadow:none}
.er-map-dialog.is-layer-participants-hidden .er-map-marker--participant,
.er-map-dialog.is-layer-participants-hidden .er-map-marker--ai,
.er-map-dialog.is-layer-doors-hidden .er-map-marker--Door,
.er-map-dialog.is-layer-objects-hidden .er-map-marker--Object,
.er-map-dialog.is-layer-hazards-hidden .er-map-marker--Hazard,
.er-map-dialog.is-layer-landmarks-hidden .er-map-marker--Landmark,
.er-map-dialog.is-layer-photos-hidden .er-map-marker--Photo{display:none}

@media(max-width:900px){
    .er-map-shell{grid-template-columns:minmax(0,1fr) 200px}
    .er-map-layer-panel{padding:.65rem}
    .er-map-layer-toggle{padding:.45rem}
    .er-map-layer-toggle small{display:none}
}
@media(max-width:720px){
    .er-map-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}
    .er-map-toolbar{grid-column:1;grid-row:1}
    .er-map-viewport{grid-column:1;grid-row:2}
    .er-map-layer-panel{grid-column:1;grid-row:3;max-height:155px;padding:.5rem .65rem;border-left:0;border-top:1px solid rgba(255,255,255,.08)}
    .er-map-layer-panel__head{padding-bottom:.45rem;margin-bottom:.4rem}
    .er-map-layer-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.32rem}
    .er-map-layer-toggle{padding:.38rem;gap:.4rem}
    .er-map-layer-toggle strong{font-size:.66rem}
}
@media(max-width:480px){.er-map-layer-list{grid-template-columns:repeat(2,minmax(0,1fr))}}