.mmc-mappa{
  --mmc-orange:#E9832C;
  --mmc-orange-dark:#C96A17;
  --mmc-peach:#FED2A1;
  --mmc-peach-soft:#FFF4E8;
  --mmc-dark:#3C3C3B;
  --mmc-grey:#7A7A7A;
  --mmc-line:#EFE6DC;
  --mmc-h:640px;
  font-family:"Sora",sans-serif;
  color:var(--mmc-dark);
  background:#fff;
  border-radius:10px;
  box-shadow:0 6px 30px rgba(60,60,59,.12);
  overflow:hidden;
}
.mmc-mappa *,.mmc-mappa *::before,.mmc-mappa *::after{box-sizing:border-box}
.mmc-mappa .mmc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* toolbar */
.mmc-mappa .mmc-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  padding:18px 22px;background:var(--mmc-peach-soft);border-bottom:1px solid var(--mmc-line);
}
.mmc-mappa .mmc-field{position:relative;display:flex;align-items:center;margin:0}
.mmc-mappa .mmc-search{flex:1 1 260px}
.mmc-mappa .mmc-search svg{position:absolute;left:16px;width:18px;height:18px;fill:none;stroke:var(--mmc-grey);stroke-width:2;stroke-linecap:round;pointer-events:none}
.mmc-mappa input,.mmc-mappa select{
  font:inherit;font-size:15px;color:var(--mmc-dark);
  height:46px;margin:0;padding:0 18px;
  background:#fff;border:1px solid #E3D6C8;border-radius:100px;
  box-shadow:none;outline:none;transition:border-color .2s,box-shadow .2s;
}
.mmc-mappa input{width:100%;padding-left:44px}
.mmc-mappa select{
  min-width:190px;padding-right:42px;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E9832C' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center;
}
.mmc-mappa input:focus,.mmc-mappa select:focus{border-color:var(--mmc-orange);box-shadow:0 0 0 3px rgba(233,131,44,.2)}
.mmc-mappa .mmc-btn{
  font:inherit;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;
  height:46px;padding:0 24px;margin:0;border:0;border-radius:100px;cursor:pointer;
  background:var(--mmc-orange);color:#fff;transition:background .2s;
}
.mmc-mappa .mmc-btn:hover,.mmc-mappa .mmc-btn:focus-visible{background:var(--mmc-orange-dark);color:#fff}
.mmc-mappa .mmc-count{margin:0 0 0 auto;font-size:14px;color:var(--mmc-grey);white-space:nowrap}
.mmc-mappa .mmc-count b{color:var(--mmc-orange);font-weight:700}

/* layout */
.mmc-mappa .mmc-body{display:flex;height:var(--mmc-h)}
.mmc-mappa .mmc-lista{width:340px;flex:0 0 340px;overflow-y:auto;border-right:1px solid var(--mmc-line);background:#fff}
.mmc-mappa .mmc-lista ul{list-style:none;margin:0;padding:6px 0}
.mmc-mappa .mmc-item{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:8px 18px;margin:0;border:0;border-left:4px solid transparent;
  background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;
  transition:background .15s,border-color .15s;
}
.mmc-mappa .mmc-item:hover,.mmc-mappa .mmc-item:focus-visible{background:var(--mmc-peach-soft);outline:none}
.mmc-mappa .mmc-item.is-active{background:var(--mmc-peach-soft);border-left-color:var(--mmc-orange)}
.mmc-mappa .mmc-item img{width:36px;height:36px;flex:0 0 36px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid var(--mmc-line);padding:3px}
.mmc-mappa .mmc-item-nome{display:block;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--mmc-dark)}
.mmc-mappa .mmc-item-luogo{display:block;font-size:12px;color:var(--mmc-grey);margin-top:1px}
.mmc-mappa .mmc-vuoto{padding:24px 20px;margin:0;font-size:14px;color:var(--mmc-grey)}

.mmc-mappa .mmc-mapwrap{position:relative;flex:1;min-width:0}
.mmc-mappa .mmc-map{position:absolute;inset:0;z-index:0;font-family:inherit}
.mmc-mappa .mmc-hint{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:500;
  padding:8px 16px;border-radius:100px;background:rgba(60,60,59,.85);color:#fff;
  font-size:12.5px;pointer-events:none;transition:opacity .3s;
  white-space:nowrap;max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis;
}
.mmc-mappa .mmc-hint.is-hidden{opacity:0}

/* marker */
.mmc-mappa .mmc-marker{
  width:46px;height:46px;border-radius:50%;background:#fff;
  border:3px solid var(--mmc-orange);box-shadow:0 3px 10px rgba(0,0,0,.3);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  transition:border-color .15s,box-shadow .15s;
}
.mmc-mappa .mmc-marker img{width:100%;height:100%;object-fit:contain;padding:3px}
.mmc-mappa .leaflet-marker-icon:hover .mmc-marker,
.mmc-mappa .leaflet-marker-icon:focus-visible .mmc-marker{border-color:var(--mmc-orange-dark);box-shadow:0 0 0 4px rgba(233,131,44,.35),0 3px 10px rgba(0,0,0,.3)}
.mmc-mappa .leaflet-marker-icon:focus-visible{outline:none}

/* cluster */
.mmc-mappa .mmc-cluster{
  width:46px;height:46px;border-radius:50%;
  background:var(--mmc-orange);color:#fff;border:4px solid rgba(255,255,255,.9);
  box-shadow:0 3px 12px rgba(233,131,44,.5);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;
}

/* popup */
.mmc-mappa .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.mmc-mappa .leaflet-popup-content{margin:18px 20px;text-align:center;font-family:"Sora",sans-serif;color:var(--mmc-dark);min-width:210px}
.mmc-mappa .mmc-pop-logo{display:block;max-width:120px;max-height:70px;margin:0 auto 12px;object-fit:contain}
.mmc-mappa .mmc-pop-nome{margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.3;color:var(--mmc-dark)}
.mmc-mappa .mmc-pop-sigla{display:inline-block;padding:3px 12px;border-radius:100px;background:var(--mmc-peach);color:var(--mmc-dark);font-size:12px;font-weight:600;margin-bottom:10px}
.mmc-mappa .mmc-pop-ind{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--mmc-grey)}
.mmc-mappa .mmc-pop-link{
  display:inline-block;padding:9px 18px;border-radius:100px;background:var(--mmc-orange);
  color:#fff!important;text-decoration:none;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;
}
.mmc-mappa .mmc-pop-link:hover{background:var(--mmc-orange-dark)}
.mmc-mappa .leaflet-container a.leaflet-popup-close-button{color:var(--mmc-grey);top:6px;right:6px}
.mmc-mappa .leaflet-bar a{color:var(--mmc-dark)}
.mmc-mappa .leaflet-bar a:hover{color:var(--mmc-orange)}

/* tablet / mobile */
@media (max-width:1024px){
  .mmc-mappa .mmc-lista{width:280px;flex-basis:280px}
  .mmc-mappa .mmc-count{flex-basis:100%;margin:0}
}
/* titolo e "mostra tutte" dell'elenco: solo su mobile */
.mmc-mappa .mmc-lista-head,.mmc-mappa .mmc-altre{display:none}

@media (max-width:767px){
  /* filtri compatti: ricerca su una riga, regione e provincia affiancate, azzera e contatore sotto */
  .mmc-mappa .mmc-toolbar{padding:14px;gap:10px}
  .mmc-mappa .mmc-search{flex:1 1 100%}
  .mmc-mappa .mmc-field:not(.mmc-search){flex:1 1 calc(50% - 5px);min-width:0}
  .mmc-mappa select{width:100%;min-width:0;padding-left:14px;padding-right:34px;background-position:right 14px center;font-size:14px}
  .mmc-mappa input,.mmc-mappa select{height:44px}
  .mmc-mappa .mmc-count{order:1;flex:1 1 auto;margin:0}
  .mmc-mappa .mmc-btn{order:2;flex:0 0 auto;height:auto;padding:6px 0;background:none!important;color:var(--mmc-orange)!important;font-size:13px;text-decoration:underline;text-underline-offset:3px}

  .mmc-mappa .mmc-body{flex-direction:column-reverse;height:auto}
  .mmc-mappa .mmc-mapwrap{height:420px;flex:none}

  /* elenco nella pagina, senza scroll interno: prime 6 aziende + pulsante */
  .mmc-mappa .mmc-lista{width:100%;flex:none;max-height:none;overflow:visible;border-right:0;border-top:1px solid var(--mmc-line)}
  .mmc-mappa .mmc-lista-head{display:block;margin:0;scroll-margin-top:120px;padding:16px 18px 6px;font-size:15px;font-weight:600;color:var(--mmc-dark)}
  .mmc-mappa .mmc-lista-n{color:var(--mmc-orange)}
  .mmc-mappa .mmc-lista:not(.is-open) li.mmc-over{display:none}
  .mmc-mappa .mmc-altre:not([hidden]){
    display:block;width:calc(100% - 36px);margin:6px 18px 18px;height:46px;
    font:inherit;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;
    border:2px solid var(--mmc-orange);border-radius:100px;background:#fff;color:var(--mmc-orange);cursor:pointer;
  }
  .mmc-mappa .mmc-altre:active{background:var(--mmc-peach-soft)}
}

/* varianti */
.mmc-mappa .mmc-noimg{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--mmc-peach);color:var(--mmc-dark);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.mmc-mappa .mmc-marker .mmc-noimg{width:100%;height:100%;flex:none;font-size:11px}
@media (max-width:767px){ .mmc-mappa.mmc-no-elenco .mmc-body{flex-direction:column} }

/* Elementor: nei contenitori flex il widget prende tutta la larghezza disponibile */
.mmc-mappa{width:100%}
.e-con > .elementor-widget:has(.mmc-mappa),
.e-con-inner > .elementor-widget:has(.mmc-mappa){flex:1 1 100%;width:100%;max-width:100%}
/* Hello Elementor imposta white-space:nowrap sui button: i nomi lunghi vanno a capo */
.mmc-mappa .mmc-item{white-space:normal}
.mmc-mappa .mmc-item > span{min-width:0}

/* etichetta col nome al passaggio del mouse */
.mmc-mappa .leaflet-tooltip.mmc-tip{
  font-family:"Sora",sans-serif;font-size:12.5px;font-weight:600;color:#fff;
  background:var(--mmc-dark);border:0;border-radius:100px;padding:6px 12px;
  box-shadow:0 3px 10px rgba(0,0,0,.25);white-space:nowrap;
}
.mmc-mappa .leaflet-tooltip-top.mmc-tip::before{border-top-color:var(--mmc-dark)}

/* altezza="pagina": mappa a tutto schermo sotto l'header, senza bordi né ombra */
.mmc-mappa.mmc-piena{border-radius:0;box-shadow:none}
@media (max-width:767px){
  .mmc-mappa.mmc-piena .mmc-mapwrap{height:var(--mmc-hm,420px)}
}
