/* L2S Mappa Dintorni — mobile-first. Il tema (Twenty Seventeen "dark") fornisce colori/font di base. */
.l2s-map{--l2s-h:60vh;--l2s-radius:10px;margin:0 0 1.5em}
.l2s-map *,.l2s-map *::before,.l2s-map *::after{box-sizing:border-box}

/* Filtri */
.l2s-map__chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 10px}
.l2s-chip{--c:#444;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1.5px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.9em;line-height:1.2;cursor:pointer;white-space:nowrap;box-shadow:none;transition:background .15s,color .15s}
.l2s-chip:hover{background:rgba(127,127,127,.15)}
.l2s-chip:focus-visible{outline:2px solid var(--c);outline-offset:2px}
.l2s-chip.is-active{background:var(--c);border-color:var(--c);color:#fff}
.l2s-chip__n{font-size:.8em;opacity:.8}

/* Icone categoria (Material Symbols inline) */
.l2s-cat-icon{display:inline-flex;align-items:center;margin-right:.35em;vertical-align:-.15em}
.l2s-cat-icon svg{width:1.15em;height:1.15em;fill:currentColor}
.l2s-cat-emoji{margin-right:.3em}
.l2s-popup__cat .l2s-cat-icon svg{width:1em;height:1em}
.l2s-list__cat .l2s-cat-icon svg{width:1.2em;height:1.2em;color:var(--c)}

/* Mappa */
.l2s-map__canvas{height:var(--l2s-h);min-height:320px;border-radius:var(--l2s-radius);overflow:hidden;background:#e5e3df;isolation:isolate;z-index:0}
.l2s-map .leaflet-container{font:inherit;font-size:14px;color:#222}
.l2s-map .leaflet-container a{color:#1a73e8;box-shadow:none;text-decoration:none}
/* Il CSS custom del tema forza width:100% su tutte le img in .entry-content: le tile devono restare 256px. */
.l2s-map .leaflet-tile{width:256px !important;height:256px !important;max-width:none !important}
.l2s-map .leaflet-marker-icon,.l2s-map .leaflet-marker-shadow{width:auto !important;max-width:none !important}

/* Full-bleed: larghezza e margine calcolati dal JS (clientWidth, senza barra di scorrimento) */
.l2s-map--full .l2s-map__canvas{border-radius:0;max-width:none}

/* Marker */
.l2s-pin-wrap{background:transparent;border:0}
.l2s-pin{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#555;color:#fff;font:700 13px/1 system-ui,sans-serif;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45);transition:transform .12s}
.l2s-pin--home{width:36px;height:36px;font-size:18px;background:#fff;color:#222;border-color:#222}
.leaflet-marker-icon:hover .l2s-pin{transform:scale(1.12)}

/* Popup */
.l2s-map .leaflet-popup-content-wrapper{border-radius:var(--l2s-radius);padding:0;overflow:hidden}
.l2s-map .leaflet-popup-content{margin:0;width:auto !important;line-height:1.4}
.l2s-popup{width:250px;max-width:80vw}
.l2s-popup__photo{display:block;width:100% !important;height:140px;object-fit:cover;margin:0}
.l2s-popup__body{padding:12px 14px 14px}
.l2s-popup__cat{display:inline-block;font-size:.75em;font-weight:600;color:#fff;background:var(--c,#555);border-radius:999px;padding:2px 8px;margin-bottom:6px}
.l2s-map .leaflet-popup h4.l2s-popup__name{margin:0 0 6px;font-size:1.05em;font-weight:700;color:#222;letter-spacing:0;text-transform:none;line-height:1.3}
.l2s-popup__desc{margin:0 0 8px;font-size:.92em;color:#333}
.l2s-popup__meta{margin:0 0 10px;font-size:.82em;color:#666}
.l2s-popup__actions{display:flex;gap:8px;flex-wrap:wrap}
.l2s-popup__actions{gap:10px}
/* Bottoni icona (Material Symbols inline) */
.l2s-ibtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#222;color:#fff !important;text-decoration:none;box-shadow:none !important;transition:background .15s,transform .12s}
.l2s-ibtn svg{width:24px;height:24px;fill:currentColor}
.l2s-ibtn:hover{background:#000;transform:scale(1.06)}
.l2s-ibtn--gmaps{background:#1a73e8}
.l2s-ibtn--gmaps:hover{background:#1558b0}
.l2s-ibtn--phone{background:#1e8e3e}
.l2s-ibtn--phone:hover{background:#166b2f}
.l2s-ibtn .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.l2s-map .leaflet-popup-close-button{top:6px;right:6px;width:26px;height:26px;padding:0;border-radius:50%;background:rgba(255,255,255,.9);color:#333 !important;font:400 18px/26px system-ui,sans-serif;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.3)}

/* Elenco */
.l2s-list{margin-top:1.5em}
.l2s-list__title{margin:0 0 .6em}
.l2s-list__group{margin:0 0 1.4em;break-inside:avoid-column}
.l2s-list__cat{--c:#555;margin:0 0 .5em;padding-left:12px;border-left:4px solid var(--c);font-size:1.05em}
.l2s-list__items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.l2s-item{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(127,127,127,.3);border-radius:var(--l2s-radius)}
.l2s-item.is-hidden{display:none}
.l2s-item__n{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;padding:0;color:#fff;font:700 13px/30px system-ui,sans-serif;text-align:center;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.l2s-item__n:hover{transform:scale(1.1)}
.l2s-item__body{flex:1 1 auto;min-width:0}
.l2s-item__name{display:block;margin-bottom:2px}
.l2s-item__desc{margin:0 0 4px;font-size:.92em}
.l2s-item__meta{margin:0;font-size:.82em;opacity:.85;display:flex;gap:6px 12px;flex-wrap:wrap}
.l2s-item__actions{margin:8px 0 0;display:flex;gap:8px}
.l2s-item__actions .l2s-ibtn{width:38px;height:38px}
.l2s-item__actions .l2s-ibtn svg{width:21px;height:21px}

/* Desktop */
@media screen and (min-width:48em){
  .l2s-map{--l2s-h:70vh}
  .l2s-map__canvas{max-height:680px}
  .l2s-chip{font-size:.95em}
  .l2s-list__items{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Stampa: stesso JSON, elenco numerato + mappa fissa, senza controlli */
@media print{
  .l2s-map{--l2s-h:11cm;color:#000 !important;background:#fff}
  .l2s-map .l2s-list,.l2s-map .l2s-list *{color:#000 !important;background:transparent}
  .l2s-map__chips,.l2s-map .leaflet-control-zoom,.l2s-item__actions,.l2s-map .leaflet-popup,
  #l2s-cb,.serot-qi,.back-to-top,.grecaptcha-badge,#wpadminbar,.custom-header-media,.navigation-top,.site-footer,.entry-footer{display:none !important}
  .l2s-map .l2s-item__n{display:block !important} /* il tema nasconde i button in stampa */
  html{margin-top:0 !important}
  .site-content-contain,.site-header,.custom-header{background:#fff !important}
  .entry-title,.site-title,.site-title a,.site-description{color:#000 !important}
  .l2s-map__canvas{max-height:none;border-radius:0;break-inside:avoid}
  .l2s-list{margin-top:.8cm}
  .l2s-list__items{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .l2s-item{border-color:#bbb;padding:6px 8px;break-inside:avoid;font-size:10.5pt}
  .l2s-item__n{color:#fff !important}
  .l2s-item__n,.l2s-pin,.l2s-list__cat{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .l2s-item.is-hidden{display:flex}
}
