.acm-map-widget{
  --acm-height:560px;
  --acm-mobile-height:500px;
  --acm-active-color:#151515;
  --acm-active-text-color:#fff;
  --acm-filter-text:#151515;
  --acm-popup-button-bg:#151515;
  --acm-popup-button-text:#fff;
  --acm-close-bg:#151515;
  --acm-close-text:#fff;
  position:relative;
  width:100%;
  min-height:var(--acm-height);
  border-radius:18px;
  overflow:hidden;
  background:#f3f3f3;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  isolation:isolate;
}
.acm-map-widget .acm-map-canvas{position:absolute;inset:0;z-index:1;background:#f3f3f3;}
.acm-map-widget.acm-theme-grey_elegant{background:#e8e8e8;}
.acm-map-widget.acm-theme-classic{background:#eef2f4;}
.acm-map-widget.acm-theme-night{background:#111827;}
.acm-map-widget.acm-theme-voyager{background:#edf0ed;}
.acm-map-widget.acm-theme-terrain{background:#e6eadf;}
.acm-map-widget.acm-theme-positron_nolabels{background:#f3f3f3;}

/* v1.10.15: estilos visuales sobre teselas OpenStreetMap, sin CARTO/API key. */
.acm-map-widget.acm-theme-minimal .leaflet-tile{filter:grayscale(.18) saturate(.72) brightness(1.06) contrast(.96);}
.acm-map-widget.acm-theme-grey_elegant .leaflet-tile{filter:grayscale(.72) saturate(.42) brightness(1.04) contrast(.96);}
.acm-map-widget.acm-theme-classic .leaflet-tile{filter:none;}
.acm-map-widget.acm-theme-night .leaflet-tile{filter:invert(.92) hue-rotate(180deg) brightness(.72) contrast(1.08) saturate(.58);}
.acm-map-widget.acm-theme-voyager .leaflet-tile{filter:saturate(.82) brightness(1.03) contrast(.96);}
.acm-map-widget.acm-theme-positron_nolabels .leaflet-tile{filter:grayscale(.42) saturate(.55) brightness(1.09) contrast(.93);}
.acm-map-widget.acm-theme-terrain .leaflet-tile{filter:none;}

/* v1.10.29:
   OFF -> permanecen intactos los selectores de la v1.10.16 de arriba.
   ON  -> reproduce el tratamiento visual de la v1.10.20 únicamente en este widget. */
.acm-map-widget.acm-grid-v20.acm-theme-minimal .leaflet-tile{filter:none;}
.acm-map-widget.acm-grid-v20.acm-theme-grey_elegant .leaflet-tile{filter:none;}
.acm-map-widget.acm-grid-v20.acm-theme-classic .leaflet-tile{filter:none;}
.acm-map-widget.acm-grid-v20.acm-theme-night .leaflet-tile{filter:none;}
.acm-map-widget.acm-grid-v20.acm-theme-voyager .leaflet-tile{filter:none;}
.acm-map-widget.acm-grid-v20.acm-theme-positron_nolabels .leaflet-tile{filter:none;}
.acm-map-widget.acm-grid-v20.acm-theme-terrain .leaflet-tile{filter:none;}

.acm-map-widget.acm-grid-v20.acm-theme-minimal .leaflet-tile-pane{filter:grayscale(.18) saturate(.72) brightness(1.06) contrast(.96);}
.acm-map-widget.acm-grid-v20.acm-theme-grey_elegant .leaflet-tile-pane{filter:grayscale(.72) saturate(.42) brightness(1.04) contrast(.96);}
.acm-map-widget.acm-grid-v20.acm-theme-classic .leaflet-tile-pane{filter:none;}
.acm-map-widget.acm-grid-v20.acm-theme-night .leaflet-tile-pane{filter:invert(.92) hue-rotate(180deg) brightness(.72) contrast(1.08) saturate(.58);}
.acm-map-widget.acm-grid-v20.acm-theme-voyager .leaflet-tile-pane{filter:saturate(.82) brightness(1.03) contrast(.96);}
.acm-map-widget.acm-grid-v20.acm-theme-positron_nolabels .leaflet-tile-pane{filter:grayscale(.42) saturate(.55) brightness(1.09) contrast(.93);}
.acm-map-widget.acm-grid-v20.acm-theme-terrain .leaflet-tile-pane{filter:none;}

.acm-map-widget.acm-grid-v20 .leaflet-tile{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  max-width:none!important;
  max-height:none!important;
  box-sizing:content-box!important;
  background:transparent!important;
  display:block!important;
}
.acm-map-widget.acm-grid-v20 .leaflet-tile-container{
  font-size:0!important;
  line-height:0!important;
}

/* v1.10.30: modo SIN cuadrícula tomado del renderizado estable de la v1.10.21.
   Neutraliza filtros por tesela y cualquier borde/espaciado para evitar juntas visibles. */
.acm-map-widget.acm-no-grid-v21 .leaflet-tile-pane,
.acm-map-widget.acm-no-grid-v21 .leaflet-tile-container,
.acm-map-widget.acm-no-grid-v21 .leaflet-tile{
  filter:none!important;
}
.acm-map-widget.acm-no-grid-v21 .leaflet-tile{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  max-width:none!important;
  max-height:none!important;
  box-sizing:border-box!important;
  background:transparent!important;
  display:block!important;
  opacity:1!important;
}
.acm-map-widget.acm-no-grid-v21 .leaflet-tile-container{
  font-size:0!important;
  line-height:0!important;
}

.acm-map-widget .acm-controls{
  position:absolute;
  z-index:5;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:4px;
  padding:5px;
  max-width:calc(100% - 36px);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.acm-map-widget .acm-filter{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:7px 12px;
  background:transparent;
  color:var(--acm-filter-text);
  font-size:13px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
  white-space:nowrap;
  text-transform:none!important;
  letter-spacing:normal!important;
  min-height:0!important;
  height:auto!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  outline:none!important;
  -webkit-tap-highlight-color:transparent;
}

.acm-map-widget .acm-filter,
.acm-map-widget .acm-filter:visited{
  box-shadow:none;
}
.acm-map-widget .acm-filter:focus-visible{
  outline:2px solid rgba(21,21,21,.18)!important;
  outline-offset:2px;
}

.acm-map-widget .acm-filter:hover,
.acm-map-widget .acm-filter:focus,
.acm-map-widget .acm-filter:active{
  border-radius:999px!important;
  border:0!important;
  outline:none!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.acm-map-widget .acm-filter:hover{background:rgba(0,0,0,.05);}
.acm-map-widget .acm-filter.is-active,
.acm-map-widget .acm-filter.is-active:hover,
.acm-map-widget .acm-filter.is-active:focus,
.acm-map-widget .acm-filter.is-active:active{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
  border-radius:999px!important;
  box-shadow:0 5px 16px rgba(0,0,0,.14);
}
.acm-map-widget .acm-count,
.acm-map-widget .acm-no-results{
  position:absolute;
  z-index:5;
  left:50%;
  transform:translateX(-50%);
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#151515;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.acm-map-widget .acm-count{bottom:18px;}
.acm-map-widget .acm-no-results{top:50%;transform:translate(-50%,-50%);}
.acm-pin{
  width:18px;
  height:18px;
  border-radius:50%;
  transform:translate(-9px,-9px);
  border:3px solid #fff;
  box-shadow:0 4px 14px rgba(0,0,0,.24);
}

.acm-marker-pin-shell{
  position:relative;
  display:block;
  overflow:visible;
}
.acm-marker-pin-shell .acm-marker-pin-body{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 5px 15px rgba(0,0,0,.26);
  box-sizing:border-box;
}
.acm-marker-pin-svg .acm-marker-pin-body{
  background:#fff;
}
.acm-marker-pin-shell .acm-marker-pin-icon{
  width:62%;
  height:62%;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:rotate(45deg);
}
.acm-marker-pin-shell .acm-marker-pin-icon svg{
  width:100%;
  height:100%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.acm-map-widget .leaflet-popup-content-wrapper,
.acm-map-widget .leaflet-popup-tip{background:#fff;color:#151515;box-shadow:0 12px 34px rgba(0,0,0,.18);}
.acm-map-widget .leaflet-popup-content{margin:0;width:250px!important;}
.acm-popup{overflow:hidden;border-radius:12px;}
.acm-popup-image,
.acm-popup-carousel{width:100%;height:135px;background:#eee;position:relative;overflow:hidden;}
.acm-popup-image img,
.acm-popup-slide img{width:100%;height:135px;display:block;object-fit:cover;}
.acm-popup-slide{display:none;}
.acm-popup-slide.is-active{display:block;}
.acm-popup-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;border:0;background:rgba(255,255,255,.86);color:#151515;font-weight:800;cursor:pointer;line-height:1;
}
.acm-popup-prev{left:8px;}
.acm-popup-next{right:8px;}
.acm-popup-body{padding:13px;}
.acm-popup-title{margin:0 0 4px;font-size:15px;font-weight:800;color:#151515;line-height:1.2;}
.acm-popup-meta{margin:0 0 8px;font-size:12px;color:#777;line-height:1.35;}
.acm-popup-description{margin:0 0 12px;font-size:13px;color:#333;line-height:1.4;}
.acm-popup-category{display:inline-block;margin:0 8px 10px 0;padding:5px 8px;border-radius:999px;background:#f1f1f1;color:#151515;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.acm-popup-link{display:inline-block;padding:8px 11px;border-radius:999px;background:var(--acm-popup-button-bg)!important;color:var(--acm-popup-button-text)!important;text-decoration:none!important;font-size:12px;font-weight:700;}
.acm-map-widget .leaflet-control-attribution{font-size:10px;}
.acm-map-widget .leaflet-control-zoom{margin:12px!important;}
.acm-map-widget .leaflet-top,.acm-map-widget .leaflet-bottom{z-index:6;}
.acm-map-error{padding:15px;border:1px solid #ddd;border-radius:10px;background:#fff;color:#b32d2e;}
@media(max-width:600px){
  .acm-map-widget{min-height:var(--acm-mobile-height);border-radius:14px;}
  .acm-map-widget .acm-controls{
    top:12px;
    left:50%;
    right:auto;
    width:max-content;
    max-width:calc(100% - 24px);
    overflow-x:auto;
    overflow-y:hidden;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:4px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .acm-map-widget .acm-controls::-webkit-scrollbar{display:none;}
  .acm-map-widget .acm-filter{
    flex:0 0 auto;
    padding:8px 12px;
    font-size:12px;
    border-radius:999px!important;
  }
  .acm-map-widget .leaflet-control-zoom{margin:12px!important;}
  .acm-map-widget .leaflet-control-zoom a{
    width:30px;
    height:30px;
    line-height:30px;
  }
  .acm-map-widget .acm-count{bottom:12px;}
  .acm-map-widget .leaflet-top,.acm-map-widget .leaflet-bottom{z-index:6;}
}

/* v1.2.5: zoom estable. Usamos el control nativo de Leaflet y solo reforzamos visibilidad/posición. */
.acm-map-widget .leaflet-control-container{
  display:block!important;
  visibility:visible!important;
}
.acm-map-widget .leaflet-top,
.acm-map-widget .leaflet-bottom{
  position:absolute!important;
  z-index:30!important;
  display:block!important;
  visibility:visible!important;
  pointer-events:none!important;
}
.acm-map-widget .leaflet-top{top:0!important;}
.acm-map-widget .leaflet-bottom{bottom:0!important;}
.acm-map-widget .leaflet-left{left:0!important;}
.acm-map-widget .leaflet-right{right:0!important;}
.acm-map-widget .leaflet-control{
  pointer-events:auto!important;
}
.acm-map-widget .leaflet-control-zoom{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin:12px!important;
  border:1px solid rgba(0,0,0,.10)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
  background:#fff!important;
}
.acm-map-widget .leaflet-control-zoom a{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:32px!important;
  height:32px!important;
  line-height:30px!important;
  background:#fff!important;
  color:#151515!important;
  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.10)!important;
  text-indent:0!important;
  font-size:20px!important;
  font-weight:700!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.acm-map-widget .leaflet-control-zoom a:last-child{border-bottom:0!important;}
.acm-map-widget .leaflet-control-zoom a:hover,
.acm-map-widget .leaflet-control-zoom a:focus{background:#f5f5f5!important;color:#151515!important;}
@media(max-width:600px){
  .acm-map-widget .leaflet-control-zoom{margin:12px!important;}
  .acm-map-widget .leaflet-control-zoom a{width:31px!important;height:31px!important;line-height:29px!important;font-size:19px!important;}
  .acm-map-widget.acm-zoom-hidden-mobile .leaflet-control-zoom{display:none!important;}
}


/* v1.2.6: zoom propio del plugin, independiente del control nativo de Leaflet. */
.acm-map-widget .acm-custom-zoom{
  position:absolute!important;
  z-index:40!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid rgba(0,0,0,.10)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
  pointer-events:auto!important;
}
.acm-map-widget .acm-custom-zoom button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#151515!important;
  font-family:Arial, sans-serif!important;
  font-size:22px!important;
  line-height:34px!important;
  font-weight:700!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.acm-map-widget .acm-custom-zoom button:first-child{border-bottom:1px solid rgba(0,0,0,.10)!important;}
.acm-map-widget .acm-custom-zoom button:hover,
.acm-map-widget .acm-custom-zoom button:focus{background:#f5f5f5!important;color:#151515!important;outline:none!important;}
.acm-map-widget.acm-zoom-desktop-topleft .acm-custom-zoom{top:12px!important;left:12px!important;right:auto!important;bottom:auto!important;}
.acm-map-widget.acm-zoom-desktop-topright .acm-custom-zoom{top:12px!important;right:12px!important;left:auto!important;bottom:auto!important;}
.acm-map-widget.acm-zoom-desktop-bottomleft .acm-custom-zoom{bottom:12px!important;left:12px!important;right:auto!important;top:auto!important;}
.acm-map-widget.acm-zoom-desktop-bottomright .acm-custom-zoom{bottom:12px!important;right:12px!important;left:auto!important;top:auto!important;}
@media(max-width:600px){
  .acm-map-widget .acm-custom-zoom button{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;line-height:32px!important;font-size:21px!important;}
  .acm-map-widget.acm-zoom-mobile-topleft .acm-custom-zoom{top:64px!important;left:12px!important;right:auto!important;bottom:auto!important;}
  .acm-map-widget.acm-zoom-mobile-topright .acm-custom-zoom{top:64px!important;right:12px!important;left:auto!important;bottom:auto!important;}
  .acm-map-widget.acm-zoom-mobile-bottomleft .acm-custom-zoom{bottom:12px!important;left:12px!important;right:auto!important;top:auto!important;}
  .acm-map-widget.acm-zoom-mobile-bottomright .acm-custom-zoom{bottom:12px!important;right:12px!important;left:auto!important;top:auto!important;}
  .acm-map-widget.acm-zoom-mobile-none .acm-custom-zoom{display:none!important;}
}

/* v1.4.0: filtros desplegables, popup premium, campos con iconos y marcadores avanzados */
.acm-map-widget .acm-filter-dropdown-wrap{
  position:absolute;
  z-index:5;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  display:none;
  align-items:center;
  gap:8px;
  padding:6px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.acm-map-widget .acm-filter-dropdown-label{font-size:12px;font-weight:700;color:#151515;margin:0 2px 0 8px;white-space:nowrap;}
.acm-map-widget .acm-filter-dropdown{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:999px;
  background:var(--acm-active-color);
  color:var(--acm-active-text-color);
  font-size:13px;
  font-weight:700;
  padding:8px 34px 8px 12px;
  line-height:1;
  cursor:pointer;
  outline:none;
  background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position:calc(100% - 17px) 50%, calc(100% - 12px) 50%;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
}
.acm-map-widget.acm-filter-mode-dropdown .acm-controls{display:none!important;}
.acm-map-widget.acm-filter-mode-dropdown .acm-filter-dropdown-wrap{display:flex!important;}
.acm-marker-svg,
.acm-marker-custom{
  border-radius:999px;
  background:#fff;
  border:2px solid #fff;
  box-shadow:0 4px 14px rgba(0,0,0,.24);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.acm-marker-svg svg{width:62%;height:62%;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.acm-marker-custom img{width:100%;height:100%;display:block;object-fit:contain;}
.acm-map-widget .leaflet-popup-close-button{display:none!important;}
.acm-popup{position:relative;overflow:hidden;border-radius:12px;}
.acm-popup-close{
  position:absolute;
  z-index:5;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0!important;
  border-radius:9px!important;
  background:var(--acm-close-bg)!important;
  color:var(--acm-close-text)!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer!important;
  box-shadow:0 8px 18px rgba(0,0,0,.22)!important;
  padding:0!important;
  margin:0!important;
}
.acm-popup-close:hover,.acm-popup-close:focus{filter:brightness(.92);color:var(--acm-close-text)!important;outline:none!important;}
.acm-popup-badge{display:inline-block;margin:0 8px 10px 0;padding:5px 8px;border-radius:999px;background:#151515;color:#fff;font-size:10px;font-weight:800;letter-spacing:.02em;}
.acm-popup-fields{display:grid;gap:7px;margin:0 0 12px;}
.acm-popup-field{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#333;line-height:1.35;}
.acm-popup-field-icon{width:16px;min-width:16px;height:16px;color:var(--acm-field-icon-color);display:inline-flex;align-items:center;justify-content:center;margin-top:1px;}
.acm-popup-field-icon svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.acm-popup-field-value a{color:#151515!important;text-decoration:none!important;font-weight:700;}
.acm-popup-field-value a:hover{text-decoration:underline!important;}
@media(max-width:600px){
  .acm-map-widget.acm-filter-mode-responsive .acm-controls{display:none!important;}
  .acm-map-widget.acm-filter-mode-responsive .acm-filter-dropdown-wrap{display:flex!important;top:12px;max-width:calc(100% - 24px);}
  .acm-map-widget.acm-filter-mode-dropdown .acm-filter-dropdown-wrap{top:12px;max-width:calc(100% - 24px);}
  .acm-map-widget .acm-filter-dropdown-label{font-size:11px;}
  .acm-map-widget .acm-filter-dropdown{font-size:12px;padding:8px 32px 8px 11px;max-width:180px;}
  .acm-map-widget .leaflet-popup-content{width:225px!important;}
  .acm-popup-image,.acm-popup-carousel{height:112px;}
  .acm-popup-image img,.acm-popup-slide img{height:112px;}
  .acm-popup-body{padding:11px;}
  .acm-popup-title{font-size:14px;}
  .acm-popup-description{font-size:12px;margin-bottom:10px;}
  .acm-popup-field{font-size:11.5px;gap:7px;}
  .acm-popup-close{width:27px!important;height:27px!important;font-size:17px!important;top:7px;right:7px;}
}

/* v1.7.6: filtros jerárquicos estables (botones + desplegable) */
.acm-map-widget.acm-v176:not(.acm-is-ready) .acm-controls,
.acm-map-widget.acm-v176:not(.acm-is-ready) .acm-filter-dropdown-wrap,
.acm-map-widget.acm-v176:not(.acm-is-ready) .acm-count,
.acm-map-widget.acm-v176:not(.acm-is-ready) .acm-custom-zoom,
.acm-map-widget.acm-v176:not(.acm-is-ready) .acm-no-results{
  visibility:hidden!important;
  opacity:0!important;
}
.acm-map-widget.acm-v176.acm-is-ready .acm-controls,
.acm-map-widget.acm-v176.acm-is-ready .acm-filter-dropdown-wrap,
.acm-map-widget.acm-v176.acm-is-ready .acm-count,
.acm-map-widget.acm-v176.acm-is-ready .acm-custom-zoom,
.acm-map-widget.acm-v176.acm-is-ready .acm-no-results{
  visibility:visible!important;
  opacity:1!important;
}
.acm-map-widget.acm-v176 .acm-controls,
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap,
.acm-map-widget.acm-v176 .acm-filter-menu,
.acm-map-widget.acm-v176 .acm-filter-menu-panel,
.acm-map-widget.acm-v176 .acm-menu-parent-group,
.acm-map-widget.acm-v176 .acm-filter-group{
  overflow:visible!important;
}
.acm-map-widget.acm-v176 .acm-controls{
  align-items:center!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter,
.acm-map-widget.acm-v176 .acm-filter-menu-toggle{
  min-width:124px!important;
  min-height:34px!important;
  height:34px!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176 .acm-filter:hover:not(.is-active),
.acm-map-widget.acm-v176 .acm-filter:focus:not(.is-active){
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-filter.is-active,
.acm-map-widget.acm-v176 .acm-filter.is-active:hover,
.acm-map-widget.acm-v176 .acm-filter.is-active:focus{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}

/* Desplegable principal */
.acm-map-widget.acm-v176 .acm-filter-menu{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
  padding:8px 14px!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:none!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu-caret{
  flex:0 0 auto!important;
  font-size:10px!important;
  line-height:1!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu-panel{
  position:absolute!important;
  z-index:10000!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
  display:none!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:230px!important;
  padding:8px!important;
  border-radius:17px!important;
  background:#fff!important;
  color:#151515!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
  pointer-events:auto!important;
  transform:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu-panel::before{
  content:''!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-12px!important;
  height:12px!important;
  display:block!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.is-open > .acm-filter-menu-panel,
.acm-map-widget.acm-v176 .acm-filter-menu:focus-within > .acm-filter-menu-panel{
  display:flex!important;
}
@media(hover:hover) and (pointer:fine){
  .acm-map-widget.acm-v176 .acm-filter-menu:hover > .acm-filter-menu-panel{
    display:flex!important;
  }
}
.acm-map-widget.acm-v176 .acm-filter-menu-panel .acm-filter,
.acm-map-widget.acm-v176 .acm-menu-subpanel .acm-filter,
.acm-map-widget.acm-v176 .acm-subfilters .acm-filter{
  width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  height:auto!important;
  justify-content:flex-start!important;
  text-align:left!important;
  border-radius:12px!important;
  padding:9px 11px!important;
  background:#fff!important;
  color:#151515!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu-panel .acm-filter:hover:not(.is-active),
.acm-map-widget.acm-v176 .acm-filter-menu-panel .acm-filter:focus:not(.is-active),
.acm-map-widget.acm-v176 .acm-menu-subpanel .acm-filter:hover:not(.is-active),
.acm-map-widget.acm-v176 .acm-menu-subpanel .acm-filter:focus:not(.is-active),
.acm-map-widget.acm-v176 .acm-subfilters .acm-filter:hover:not(.is-active),
.acm-map-widget.acm-v176 .acm-subfilters .acm-filter:focus:not(.is-active){
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}

/* Padre dentro del desplegable principal: texto filtra, flecha abre */
.acm-map-widget.acm-v176 .acm-menu-parent-group{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) 40px!important;
  align-items:stretch!important;
  width:100%!important;
  min-height:36px!important;
  position:relative!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name{
  width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  border-radius:12px 0 0 12px!important;
  justify-content:flex-start!important;
}
.acm-map-widget.acm-v176 .acm-menu-arrow{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid rgba(0,0,0,.07)!important;
  border-radius:0 12px 12px 0!important;
  background:#fff!important;
  color:#151515!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row:hover .acm-menu-parent-name:not(.is-active),
.acm-map-widget.acm-v176 .acm-menu-parent-row:hover .acm-menu-arrow,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-arrow{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-name.is-active + .acm-menu-arrow{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-menu-subpanel{
  position:absolute!important;
  z-index:10001!important;
  top:0!important;
  left:calc(100% + 10px)!important;
  right:auto!important;
  display:none!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:205px!important;
  padding:8px!important;
  border-radius:17px!important;
  background:#fff!important;
  color:#151515!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
  pointer-events:auto!important;
}
.acm-map-widget.acm-v176 .acm-menu-subpanel::before{
  content:''!important;
  position:absolute!important;
  left:-12px!important;
  top:0!important;
  width:12px!important;
  height:100%!important;
  display:block!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-group.acm-submenu-left > .acm-menu-subpanel{
  left:auto!important;
  right:calc(100% + 10px)!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-group.acm-submenu-left > .acm-menu-subpanel::before{
  left:auto!important;
  right:-12px!important;
}
.acm-map-widget.acm-v176.acm-filter-hierarchy-parent_dropdowns .acm-menu-parent-group.is-open > .acm-menu-subpanel,
.acm-map-widget.acm-v176.acm-filter-hierarchy-parent_dropdowns .acm-menu-parent-group:focus-within > .acm-menu-subpanel{
  display:flex!important;
}
@media(hover:hover) and (pointer:fine){
  .acm-map-widget.acm-v176.acm-filter-hierarchy-parent_dropdowns .acm-menu-parent-group:hover > .acm-menu-subpanel{
    display:flex!important;
  }
}
.acm-map-widget.acm-v176:not(.acm-filter-hierarchy-parent_dropdowns) .acm-menu-subpanel{
  display:none!important;
}

/* Botones con hijos: botón padre + flecha sin romper el layout */
.acm-map-widget.acm-v176 .acm-filter-group{
  position:relative!important;
  display:inline-grid!important;
  grid-template-columns:minmax(94px, 1fr) 38px!important;
  align-items:stretch!important;
  min-width:132px!important;
  min-height:34px!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name{
  min-width:0!important;
  width:100%!important;
  min-height:34px!important;
  height:34px!important;
  padding:8px 10px 8px 14px!important;
  border-radius:999px 0 0 999px!important;
  justify-content:center!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  min-width:38px!important;
  min-height:34px!important;
  height:34px!important;
  padding:0!important;
  border:0!important;
  border-left:1px solid rgba(0,0,0,.07)!important;
  border-radius:0 999px 999px 0!important;
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  cursor:pointer!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-group:hover > .acm-filter-parent-name:not(.is-active),
.acm-map-widget.acm-v176 .acm-filter-group:hover > .acm-filter-toggle,
.acm-map-widget.acm-v176 .acm-filter-group.is-open > .acm-filter-toggle{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-subfilters{
  position:absolute!important;
  z-index:10001!important;
  top:calc(100% + 10px)!important;
  left:0!important;
  right:auto!important;
  transform:none!important;
  display:none!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:205px!important;
  padding:8px!important;
  border-radius:17px!important;
  background:#fff!important;
  color:#151515!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
  pointer-events:auto!important;
}
.acm-map-widget.acm-v176 .acm-subfilters::before{
  content:''!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-12px!important;
  height:12px!important;
  display:block!important;
}
.acm-map-widget.acm-v176.acm-filter-hierarchy-parent_dropdowns .acm-filter-group.is-open > .acm-subfilters,
.acm-map-widget.acm-v176.acm-filter-hierarchy-parent_dropdowns .acm-filter-group:focus-within > .acm-subfilters{
  display:flex!important;
}
@media(hover:hover) and (pointer:fine){
  .acm-map-widget.acm-v176.acm-filter-hierarchy-parent_dropdowns .acm-filter-group:hover > .acm-subfilters{
    display:flex!important;
  }
}
.acm-map-widget.acm-v176:not(.acm-filter-hierarchy-parent_dropdowns) .acm-subfilters{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-filter-hierarchy-flat .acm-filter-child,
.acm-map-widget.acm-v176.acm-filter-hierarchy-hierarchy .acm-filter-child{
  min-width:124px!important;
}
.acm-map-widget.acm-v176.acm-filter-hierarchy-hierarchy .acm-filter-child{
  background:rgba(0,0,0,.04)!important;
}

@media(max-width:600px){
  .acm-map-widget.acm-v176 .acm-controls > .acm-filter,
  .acm-map-widget.acm-v176 .acm-filter-menu-toggle{
    min-width:112px!important;
    height:33px!important;
    min-height:33px!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-menu-panel{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    min-width:225px!important;
    max-width:calc(100vw - 34px)!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-group{
    min-width:124px!important;
    grid-template-columns:minmax(86px, 1fr) 36px!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name,
  .acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle{
    height:33px!important;
    min-height:33px!important;
  }
  .acm-map-widget.acm-v176 .acm-menu-subpanel,
  .acm-map-widget.acm-v176 .acm-filter-group > .acm-subfilters{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:100%!important;
    min-width:0!important;
    margin:6px 0 7px!important;
    box-shadow:none!important;
    border-radius:13px!important;
    background:#f8f8f8!important;
  }
  .acm-map-widget.acm-v176 .acm-menu-subpanel::before,
  .acm-map-widget.acm-v176 .acm-subfilters::before,
  .acm-map-widget.acm-v176 .acm-filter-menu-panel::before{
    display:none!important;
  }
  .acm-map-widget.acm-v176 .acm-menu-arrow span{transform:rotate(90deg);}
  .acm-map-widget.acm-v176 .acm-menu-parent-group:hover > .acm-menu-subpanel,
  .acm-map-widget.acm-v176 .acm-filter-group:hover > .acm-subfilters{
    display:none!important;
  }
  .acm-map-widget.acm-v176 .acm-menu-parent-group.is-open > .acm-menu-subpanel,
  .acm-map-widget.acm-v176 .acm-filter-group.is-open > .acm-subfilters{
    display:flex!important;
  }
}


/* v1.7.9: botón padre unificado sin efecto partido */
.acm-map-widget.acm-v176 .acm-filter-group{
  display:inline-flex!important;
  align-items:stretch!important;
  min-width:136px!important;
  min-height:34px!important;
  border-radius:999px!important;
  overflow:visible!important;
  gap:0!important;
  background:transparent!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name{
  flex:1 1 auto!important;
  min-width:94px!important;
  height:34px!important;
  min-height:34px!important;
  border-radius:999px 0 0 999px!important;
  padding:8px 8px 8px 14px!important;
  margin:0!important;
  box-shadow:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  border:0!important;
  border-left:0!important;
  border-radius:0 999px 999px 0!important;
  margin:0!important;
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-group:hover > .acm-filter-parent-name:not(.is-active),
.acm-map-widget.acm-v176 .acm-filter-group:hover > .acm-filter-toggle,
.acm-map-widget.acm-v176 .acm-filter-group.is-open > .acm-filter-parent-name:not(.is-active),
.acm-map-widget.acm-v176 .acm-filter-group.is-open > .acm-filter-toggle{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name.is-active,
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
@media(max-width:600px){
  .acm-map-widget.acm-v176 .acm-filter-group{min-width:126px!important;}
  .acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name,
  .acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle{height:33px!important;min-height:33px!important;}
}


/* v1.7.10: botón padre visualmente unificado. La flecha mantiene su click, pero no parece otro botón. */
.acm-map-widget.acm-v176 .acm-filter-group{
  display:inline-flex!important;
  align-items:center!important;
  min-width:136px!important;
  height:34px!important;
  min-height:34px!important;
  border-radius:999px!important;
  overflow:visible!important;
  gap:0!important;
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name,
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle{
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  margin:0!important;
  border:0!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name{
  flex:1 1 auto!important;
  min-width:96px!important;
  height:34px!important;
  min-height:34px!important;
  padding:8px 8px 8px 14px!important;
  border-radius:999px 0 0 999px!important;
  justify-content:center!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px 0 4px!important;
  border-radius:0 999px 999px 0!important;
}
.acm-map-widget.acm-v176 .acm-filter-group:hover,
.acm-map-widget.acm-v176 .acm-filter-group.is-open,
.acm-map-widget.acm-v176 .acm-filter-group.is-active{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
  box-shadow:0 5px 16px rgba(0,0,0,.14)!important;
}
.acm-map-widget.acm-v176 .acm-filter-group:hover > .acm-filter-parent-name,
.acm-map-widget.acm-v176 .acm-filter-group:hover > .acm-filter-toggle,
.acm-map-widget.acm-v176 .acm-filter-group.is-open > .acm-filter-parent-name,
.acm-map-widget.acm-v176 .acm-filter-group.is-open > .acm-filter-toggle,
.acm-map-widget.acm-v176 .acm-filter-group.is-active > .acm-filter-parent-name,
.acm-map-widget.acm-v176 .acm-filter-group.is-active > .acm-filter-toggle{
  background:transparent!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name:hover:not(.is-active),
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name:focus:not(.is-active),
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle:hover,
.acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle:focus{
  background:transparent!important;
  color:inherit!important;
}

/* v1.7.10: filas padre del desplegable como una sola pieza */
.acm-map-widget.acm-v176 .acm-menu-parent-row{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:36px!important;
  border-radius:12px!important;
  overflow:visible!important;
  background:#fff!important;
  color:#151515!important;
  transition:background .18s ease,color .18s ease!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-arrow{
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  border:0!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name{
  flex:1 1 auto!important;
  border-radius:12px 0 0 12px!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-arrow{
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
  border-radius:0 12px 12px 0!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row:hover,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-open > .acm-menu-parent-row,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-active > .acm-menu-parent-row{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row:hover .acm-menu-parent-name,
.acm-map-widget.acm-v176 .acm-menu-parent-row:hover .acm-menu-arrow,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-parent-name,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-arrow,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-active > .acm-menu-parent-row .acm-menu-parent-name,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-active > .acm-menu-parent-row .acm-menu-arrow{
  background:transparent!important;
  color:var(--acm-active-text-color)!important;
}
@media(max-width:600px){
  .acm-map-widget.acm-v176 .acm-filter-group{min-width:126px!important;height:33px!important;min-height:33px!important;}
  .acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-parent-name,
  .acm-map-widget.acm-v176 .acm-filter-group > .acm-filter-toggle{height:33px!important;min-height:33px!important;}
}


/* v1.7.11: botón padre realmente unificado.
   La zona del nombre y la flecha siguen teniendo acciones distintas, pero la pieza visual es una sola. */
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:136px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group:hover::before,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open::before,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before{
  background:var(--acm-active-color)!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before{
  box-shadow:0 5px 16px rgba(0,0,0,.14)!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group:hover,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  color:var(--acm-active-text-color)!important;
  background:transparent!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:hover,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:hover,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:focus,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:focus,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:active,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:active,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  position:relative!important;
  z-index:1!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  border:0!important;
  outline:none!important;
  margin:0!important;
  border-radius:0!important;
  text-transform:none!important;
  letter-spacing:normal!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name{
  flex:1 1 auto!important;
  min-width:96px!important;
  width:auto!important;
  height:34px!important;
  min-height:34px!important;
  padding:8px 6px 8px 14px!important;
  justify-content:center!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px 0 4px!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-subfilters{
  z-index:10001!important;
}

/* v1.7.11: fila padre del desplegable como una sola pieza visual */
.acm-map-widget.acm-v176 .acm-menu-parent-row{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:36px!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#151515!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  border-radius:12px!important;
  background:#fff!important;
  transition:background .18s ease,color .18s ease!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row:hover::before,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-open > .acm-menu-parent-row::before,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-active > .acm-menu-parent-row::before{
  background:var(--acm-active-color)!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row:hover,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-open > .acm-menu-parent-row,
.acm-map-widget.acm-v176 .acm-menu-parent-group.is-active > .acm-menu-parent-row{
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-arrow,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name:hover,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-arrow:hover,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name:focus,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-arrow:focus,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name:active,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-arrow:active,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name.is-active,
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name.is-active + .acm-menu-arrow{
  position:relative!important;
  z-index:1!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  border:0!important;
  outline:none!important;
  margin:0!important;
  border-radius:0!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-parent-name{
  flex:1 1 auto!important;
  min-width:0!important;
  justify-content:flex-start!important;
}
.acm-map-widget.acm-v176 .acm-menu-parent-row .acm-menu-arrow{
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
}
@media(max-width:600px){
  .acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group{
    min-width:126px!important;
    height:33px!important;
    min-height:33px!important;
  }
  .acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name,
  .acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
    height:33px!important;
    min-height:33px!important;
  }
}


/* v1.7.13: precarga oculta sin loader ni HTML bruto visible */
.acm-map-widget.acm-v176 .acm-map-stage{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  visibility:hidden;
  opacity:0;
}
.acm-map-widget.acm-v176.acm-is-ready .acm-map-stage{
  visibility:visible!important;
  opacity:1!important;
}


/* v1.8: listado y búsqueda de puntos, sin API externa */
.acm-map-widget.acm-v176:not(.acm-is-ready) .acm-directory-panel{visibility:hidden!important;opacity:0!important;}
.acm-map-widget .acm-directory-panel{
  position:absolute;
  z-index:8;
  top:82px;
  left:18px;
  width:min(330px, calc(100% - 36px));
  max-height:calc(100% - 132px);
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 14px 40px rgba(0,0,0,.13);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  color:#151515;
  box-sizing:border-box;
}
.acm-map-widget.acm-directory-layout-right .acm-directory-panel{left:auto;right:18px;}
.acm-map-widget.acm-directory-layout-bottom .acm-directory-panel{
  top:auto;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(720px, calc(100% - 36px));
  max-height:230px;
}
.acm-map-widget.acm-directory-layout-responsive .acm-directory-panel{left:18px;right:auto;}
.acm-directory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:1.2;}
.acm-directory-head strong{font-size:15px;font-weight:800;color:#151515;}
.acm-directory-head span{font-size:12px;font-weight:800;color:#666;white-space:nowrap;}
.acm-directory-search{display:block;position:relative;margin:0;}
.acm-directory-search::after{content:'⌕';position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:700;color:#9a9a9a;line-height:1;pointer-events:none;}
.acm-directory-search-input{
  width:100%;
  height:40px;
  border:1px solid rgba(0,0,0,.10)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#151515!important;
  box-shadow:none!important;
  padding:0 38px 0 15px!important;
  font-size:13px!important;
  font-weight:600!important;
  outline:none!important;
  box-sizing:border-box;
}
.acm-directory-search-input:focus{border-color:var(--acm-active-color)!important;box-shadow:0 0 0 3px rgba(0,0,0,.05)!important;}
.acm-directory-list{display:flex;flex-direction:column;gap:9px;overflow:auto;padding:2px 2px 2px 0;scrollbar-width:thin;}
.acm-directory-card{
  display:flex;
  gap:10px;
  padding:10px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 4px 14px rgba(0,0,0,.05);
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.acm-directory-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.09);border-color:rgba(0,0,0,.10);}
.acm-directory-thumb{flex:0 0 56px;width:56px;height:56px;border-radius:12px;overflow:hidden;background:#f2f2f2;}
.acm-directory-thumb img{width:100%;height:100%;display:block;object-fit:cover;}
.acm-directory-card-body{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1;}
.acm-directory-title{appearance:none;border:0;background:transparent!important;color:#151515!important;padding:0!important;margin:0!important;text-align:left;font-size:13px;font-weight:800;line-height:1.2;cursor:pointer;text-transform:none!important;box-shadow:none!important;}
.acm-directory-title:hover{color:var(--acm-active-color)!important;}
.acm-directory-meta{font-size:12px;color:#666;line-height:1.35;}
.acm-directory-cats{display:flex;flex-wrap:wrap;gap:5px;margin:1px 0 0;}
.acm-directory-cats .acm-popup-category{margin:0;padding:4px 7px;font-size:9px;}
.acm-directory-contact{display:flex;flex-direction:column;gap:2px;font-size:11px;font-weight:700;color:#333;line-height:1.35;}
.acm-directory-map-btn{align-self:flex-start;border:0!important;border-radius:999px!important;background:var(--acm-active-color)!important;color:var(--acm-active-text-color)!important;padding:6px 10px!important;margin:2px 0 0!important;font-size:11px!important;font-weight:800!important;line-height:1!important;cursor:pointer;text-transform:none!important;box-shadow:none!important;}
.acm-directory-empty{padding:14px;border-radius:14px;background:#fff;color:#777;font-size:13px;font-weight:700;text-align:center;}
.acm-map-widget.acm-has-directory .acm-no-results{display:none!important;}

@media(max-width:760px){
  .acm-map-widget .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-left .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-right .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-responsive .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-bottom .acm-directory-panel{
    top:auto;
    left:12px;
    right:12px;
    bottom:12px;
    transform:none;
    width:auto;
    max-height:42%;
    border-radius:18px;
    padding:12px;
  }
  .acm-directory-head strong{font-size:14px;}
  .acm-directory-search-input{height:38px!important;font-size:12px!important;}
  .acm-directory-card{padding:9px;border-radius:14px;}
  .acm-directory-thumb{width:48px;height:48px;flex-basis:48px;}
  .acm-map-widget.acm-has-directory .acm-count{display:none;}
}

/* v1.8.1: directorio integrado como panel real del mapa */
.acm-map-widget.acm-v176.acm-has-directory .acm-directory-panel{
  position:absolute!important;
  z-index:999!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
  right:auto!important;
  width:clamp(340px,32%,430px)!important;
  max-width:min(430px,92%)!important;
  height:100%!important;
  max-height:none!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:18px!important;
  border-radius:0 24px 24px 0!important;
  background:rgba(255,255,255,.96)!important;
  border:0!important;
  border-right:1px solid rgba(0,0,0,.08)!important;
  box-shadow:18px 0 46px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.acm-map-widget.acm-directory-layout-right .acm-directory-panel{
  left:auto!important;
  right:0!important;
  border-radius:24px 0 0 24px!important;
  border-right:0!important;
  border-left:1px solid rgba(0,0,0,.08)!important;
  box-shadow:-18px 0 46px rgba(0,0,0,.16)!important;
}
.acm-map-widget.acm-directory-layout-bottom .acm-directory-panel{
  top:auto!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:none!important;
  height:min(330px,58%)!important;
  border-radius:24px 24px 0 0!important;
  border-right:0!important;
  border-top:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 -18px 46px rgba(0,0,0,.16)!important;
}
.acm-map-widget.acm-directory-layout-responsive .acm-directory-panel{
  left:0!important;
  right:auto!important;
}
.acm-directory-head{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  border-bottom:1px solid rgba(0,0,0,.07)!important;
  padding-bottom:12px!important;
}
.acm-directory-title-wrap{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;}
.acm-directory-head strong{font-size:18px!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
.acm-directory-head span{font-size:12px!important;font-weight:800!important;color:#666!important;white-space:normal!important;}
.acm-directory-close{
  appearance:none!important;
  border:0!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:12px!important;
  background:#f2f2f2!important;
  color:#151515!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
}
.acm-directory-close:hover{background:var(--acm-active-color)!important;color:var(--acm-active-text-color)!important;}
.acm-directory-search{flex:0 0 auto!important;}
.acm-directory-list{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:2px 4px 8px 0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.acm-directory-card{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  align-items:flex-start!important;
  padding:12px!important;
  gap:12px!important;
  border-radius:18px!important;
}
.acm-directory-card-body{min-width:0!important;width:100%!important;flex:1 1 auto!important;overflow:visible!important;}
.acm-directory-title{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.acm-directory-meta,
.acm-directory-contact,
.acm-directory-contact span{white-space:normal!important;overflow-wrap:anywhere!important;}
.acm-directory-open{
  position:absolute!important;
  z-index:999!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#151515!important;
  box-shadow:0 10px 28px rgba(0,0,0,.16)!important;
  padding:10px 14px!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
  display:none!important;
}
.acm-directory-open-label{display:inline-block;white-space:nowrap;}
.acm-directory-open-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:15px;
  min-width:15px;
  height:15px;
  font-size:20px;
  line-height:1;
  font-weight:800;
}
.acm-directory-open-arrow::before{content:'›';}
.acm-directory-open-style-text-arrow{gap:7px!important;}
.acm-directory-open-style-arrow{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  padding:0!important;
}
.acm-map-widget.acm-directory-layout-right .acm-directory-open{left:auto!important;right:14px!important;}
.acm-map-widget.acm-directory-layout-right .acm-directory-open-arrow::before{content:'‹';}
.acm-map-widget.acm-directory-layout-bottom .acm-directory-open-arrow::before{content:'⌃';}
.acm-map-widget.acm-directory-layout-bottom .acm-directory-open{left:50%!important;right:auto!important;top:auto!important;bottom:14px!important;transform:translateX(-50%)!important;}
.acm-map-widget.acm-directory-collapsed .acm-directory-panel{display:none!important;}
.acm-map-widget.acm-directory-collapsed .acm-directory-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.acm-map-widget.acm-directory-hide-controls:not(.acm-directory-collapsed) .acm-controls,
.acm-map-widget.acm-directory-hide-controls:not(.acm-directory-collapsed) .acm-filter-dropdown-wrap{display:none!important;}
.acm-map-widget.acm-has-search-control.acm-filter-mode-dropdown .acm-controls{
  display:flex!important;
  left:18px!important;
  right:auto!important;
  transform:none!important;
  max-width:none!important;
  z-index:20!important;
}
.acm-map-widget.acm-has-search-control.acm-filter-mode-dropdown .acm-controls .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-has-search-control.acm-filter-mode-dropdown .acm-controls .acm-filter-group{display:none!important;}
.acm-map-search-toggle{
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  padding:0!important;
  font-size:19px!important;
  line-height:1!important;
  border-radius:999px!important;
  flex:0 0 36px!important;
}
.acm-map-search-toggle.is-open,
.acm-map-search-toggle:hover{background:var(--acm-active-color)!important;color:var(--acm-active-text-color)!important;}
.acm-map-search-popover{
  position:absolute!important;
  z-index:998!important;
  top:70px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(380px, calc(100% - 36px))!important;
  padding:10px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-filter-mode-dropdown .acm-map-search-popover,
.acm-map-widget.acm-filter-mode-responsive .acm-map-search-popover{left:18px!important;transform:none!important;}
.acm-map-search-popover[hidden]{display:none!important;}
.acm-map-search-box{display:block!important;margin:0!important;}
@media(max-width:760px){
  .acm-map-widget.acm-has-directory .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-left .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-right .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-responsive .acm-directory-panel,
  .acm-map-widget.acm-directory-layout-bottom .acm-directory-panel{
    top:auto!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:none!important;
    height:min(76%, calc(100% - 74px))!important;
    max-height:none!important;
    border-radius:24px 24px 0 0!important;
    border:0!important;
    border-top:1px solid rgba(0,0,0,.08)!important;
    box-shadow:0 -16px 44px rgba(0,0,0,.18)!important;
    padding:14px!important;
  }
  .acm-directory-open,
  .acm-map-widget.acm-directory-layout-right .acm-directory-open,
  .acm-map-widget.acm-directory-layout-bottom .acm-directory-open{
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:14px!important;
    transform:translateX(-50%)!important;
  }
  .acm-directory-head strong{font-size:17px!important;}
  .acm-directory-title{font-size:14px!important;}
  .acm-map-widget.acm-has-search-control.acm-filter-mode-responsive .acm-controls,
  .acm-map-widget.acm-has-search-control.acm-filter-mode-dropdown .acm-controls{display:flex!important;left:12px!important;top:12px!important;transform:none!important;}
  .acm-map-widget.acm-has-search-control.acm-filter-mode-responsive .acm-controls .acm-filter:not(.acm-map-search-toggle),
  .acm-map-widget.acm-has-search-control.acm-filter-mode-responsive .acm-controls .acm-filter-group{display:none!important;}
  .acm-map-search-popover,
  .acm-map-widget.acm-filter-mode-dropdown .acm-map-search-popover,
  .acm-map-widget.acm-filter-mode-responsive .acm-map-search-popover{
    left:12px!important;
    right:12px!important;
    top:62px!important;
    width:auto!important;
    transform:none!important;
  }
}

/* v1.8.2: listado/búsqueda más limpio y opciones combinadas de filtros */
.acm-map-widget{
  border:1px solid rgba(0,0,0,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset;
}
.acm-map-widget.acm-v176.acm-has-directory .acm-directory-panel{
  z-index:999!important;
}
.acm-map-widget.acm-v176.acm-has-directory.acm-directory-collapsed .acm-directory-panel{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176.acm-has-directory:not(.acm-directory-collapsed) .acm-directory-open{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176.acm-has-directory.acm-directory-collapsed .acm-directory-open{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.acm-map-widget.acm-v176 .acm-directory-card{
  min-width:0!important;
}
.acm-map-widget.acm-v176 .acm-directory-title,
.acm-map-widget.acm-v176 .acm-directory-meta,
.acm-map-widget.acm-v176 .acm-directory-contact{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.acm-map-widget.acm-v176.acm-filter-visibility-search .acm-controls{
  min-width:auto!important;
}
.acm-map-widget.acm-v176 .acm-map-search-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.acm-map-widget.acm-v176 .acm-map-search-popover{
  z-index:997!important;
}
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-popover{
  z-index:1000!important;
}


/* v1.8.3: buscador sincronizado con listado y pestaña lateral elegante */
.acm-map-widget.acm-v176 .acm-directory-search--toggleable{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-directory-search-active .acm-directory-search--toggleable{
  display:block!important;
}
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-popover{
  display:none!important;
}
.acm-map-widget.acm-v176 .acm-directory-open{
  left:0!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  border-radius:0 999px 999px 0!important;
  padding:12px 15px 12px 13px!important;
  min-height:42px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-left:0!important;
  box-shadow:8px 10px 28px rgba(0,0,0,.16)!important;
}
.acm-map-widget.acm-v176 .acm-directory-open:hover,
.acm-map-widget.acm-v176 .acm-directory-open:focus{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176.acm-directory-layout-right .acm-directory-open{
  left:auto!important;
  right:0!important;
  border-radius:999px 0 0 999px!important;
  border-left:1px solid rgba(0,0,0,.08)!important;
  border-right:0!important;
  box-shadow:-8px 10px 28px rgba(0,0,0,.16)!important;
}
.acm-map-widget.acm-v176.acm-directory-layout-bottom .acm-directory-open{
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:0!important;
  transform:translateX(-50%)!important;
  border-radius:999px 999px 0 0!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-bottom:0!important;
  box-shadow:0 -8px 28px rgba(0,0,0,.14)!important;
}
.acm-map-widget.acm-v176:not(.acm-directory-collapsed) .acm-directory-open{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176.acm-directory-collapsed .acm-directory-open{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-directory-open,
  .acm-map-widget.acm-v176.acm-directory-layout-right .acm-directory-open,
  .acm-map-widget.acm-v176.acm-directory-layout-bottom .acm-directory-open{
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    border-radius:999px 999px 0 0!important;
    border:1px solid rgba(0,0,0,.08)!important;
    border-bottom:0!important;
    box-shadow:0 -8px 28px rgba(0,0,0,.14)!important;
  }
}


/* v1.8.4: lupa sin estado activo fijo y búsqueda visible cuando el listado arranca abierto */
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-toggle.is-open{
  background:#fff!important;
  color:#151515!important;
}
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-toggle:hover,
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-toggle:focus-visible{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176.acm-has-directory.acm-directory-state-visible .acm-directory-search--toggleable{
  display:block!important;
}


/* v1.8.5: pestaña móvil lateral, contador opcional y popup horizontal */
.acm-map-widget.acm-v176 .leaflet-popup-content{
  width:auto!important;
}
.acm-map-widget.acm-v176 .acm-popup{
  width:250px;
  max-width:calc(100vw - 44px);
}
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left{
  width:390px;
  display:grid;
  grid-template-columns:150px minmax(0, 1fr);
  align-items:stretch;
  max-width:calc(100vw - 52px);
}
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-image,
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel{
  width:150px;
  height:auto;
  min-height:190px;
  align-self:stretch;
}
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-image img,
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-slide img{
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
}
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-body{
  min-width:0;
  padding:15px;
}
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-title{
  font-size:16px;
}
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-description,
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-fields{
  margin-bottom:10px;
}
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-directory-open,
  .acm-map-widget.acm-v176.acm-directory-layout-right .acm-directory-open,
  .acm-map-widget.acm-v176.acm-directory-layout-bottom .acm-directory-open{
    left:0!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    border-radius:0 999px 999px 0!important;
    border:1px solid rgba(0,0,0,.08)!important;
    border-left:0!important;
    box-shadow:8px 10px 28px rgba(0,0,0,.16)!important;
    padding:12px 15px 12px 13px!important;
  }
  .acm-map-widget.acm-v176 .acm-popup,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left{
    width:225px!important;
    display:block!important;
    grid-template-columns:none!important;
  }
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-image,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel{
    width:100%!important;
    height:112px!important;
    min-height:112px!important;
  }
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-image img,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-slide img{
    height:112px!important;
    min-height:112px!important;
  }
}


/* v1.8.6: ubicación única con icono, títulos compactos e indicaciones por categoría */
.acm-map-widget.acm-v176 .acm-directory-meta{
  display:flex!important;
  align-items:flex-start!important;
  gap:7px!important;
  color:#666!important;
  line-height:1.35!important;
}
.acm-map-widget.acm-v176 .acm-directory-meta-icon{
  width:15px!important;
  min-width:15px!important;
  height:15px!important;
  color:var(--acm-field-icon-color)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:1px!important;
}
.acm-map-widget.acm-v176 .acm-directory-meta-icon svg{
  width:15px!important;
  height:15px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.acm-map-widget.acm-v176 .acm-directory-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:anywhere!important;
  max-height:2.5em!important;
}
.acm-map-widget.acm-v176 .acm-popup-actions,
.acm-map-widget.acm-v176 .acm-directory-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.acm-map-widget.acm-v176 .acm-popup-actions{
  margin-top:2px!important;
}
.acm-map-widget.acm-v176 .acm-directory-actions{
  margin-top:3px!important;
}
.acm-map-widget.acm-v176 .acm-directions-link{
  appearance:none!important;
  border:1px solid rgba(0,0,0,.14)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--acm-active-color)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:7px 10px!important;
  margin:0!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  text-transform:none!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.acm-map-widget.acm-v176 .acm-directions-link svg{
  width:13px!important;
  height:13px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.acm-map-widget.acm-v176 .acm-directions-link:hover,
.acm-map-widget.acm-v176 .acm-directions-link:focus-visible{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
  border-color:var(--acm-active-color)!important;
  outline:none!important;
}
.acm-map-widget.acm-v176 .acm-directions-link:disabled,
.acm-map-widget.acm-v176 .acm-directions-link.is-loading{
  opacity:.58!important;
  cursor:wait!important;
}
.acm-map-widget.acm-v176 .acm-popup-link,
.acm-map-widget.acm-v176 .acm-directory-map-btn{
  margin:0!important;
}
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-popup-actions,
  .acm-map-widget.acm-v176 .acm-directory-actions{
    gap:6px!important;
  }
  .acm-map-widget.acm-v176 .acm-directions-link{
    padding:7px 9px!important;
    font-size:10.5px!important;
  }
}

/* v1.8.7: botones de indicaciones alineados con las acciones principales */
.acm-map-widget.acm-v176 .acm-popup-link,
.acm-map-widget.acm-v176 .acm-directions-link-popup{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}
.acm-map-widget.acm-v176 .acm-directory-map-btn,
.acm-map-widget.acm-v176 .acm-directions-link-list{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:29px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}
.acm-map-widget.acm-v176 .acm-directions-link-popup svg{
  width:14px!important;
  height:14px!important;
}
.acm-map-widget.acm-v176 .acm-directions-link-list svg{
  width:12px!important;
  height:12px!important;
}
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-popup-link,
  .acm-map-widget.acm-v176 .acm-directions-link-popup{
    min-height:31px!important;
    padding:8px 10px!important;
    font-size:11.5px!important;
  }
  .acm-map-widget.acm-v176 .acm-directory-map-btn,
  .acm-map-widget.acm-v176 .acm-directions-link-list{
    min-height:28px!important;
    padding:6px 9px!important;
    font-size:10.5px!important;
  }
}

/* v1.8.8: popups coherentes con/sin imagen y título protegido frente al cierre */
.acm-map-widget.acm-v176 .acm-popup-title{
  font-size:18px!important;
  line-height:1.15!important;
}
/* Si el diseño horizontal no tiene imagen, el popup vuelve al formato vertical completo. */
.acm-map-widget.acm-v176 .acm-popup.acm-popup-no-image{
  width:250px!important;
  display:block!important;
  grid-template-columns:none!important;
}
/* La X permanece dentro del popup, pero el título nunca puede quedar debajo de ella. */
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-title,
.acm-map-widget.acm-v176 .acm-popup.acm-popup-no-image .acm-popup-title{
  padding-right:38px!important;
  box-sizing:border-box!important;
}
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-popup-title{
    font-size:16px!important;
  }
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-title,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-no-image .acm-popup-title{
    padding-right:36px!important;
  }
}



/* v1.8.9: etiquetas respiradas y encuadre seguro de popups */
.acm-map-widget.acm-v176 .acm-popup-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:7px 0 12px;
}
.acm-map-widget.acm-v176 .acm-popup-tags .acm-popup-badge,
.acm-map-widget.acm-v176 .acm-popup-tags .acm-popup-category{
  margin:0!important;
}
.acm-map-widget.acm-v176 .acm-popup-body > .acm-popup-tags:first-child{
  margin-top:0;
}
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-popup-tags{
    gap:6px;
    margin-top:7px;
    margin-bottom:10px;
  }
}

/* v1.8.11: CTAs del popup con ancho mínimo común y botón de indicaciones sin icono */
.acm-map-widget.acm-v176 .acm-popup-actions .acm-popup-link,
.acm-map-widget.acm-v176 .acm-popup-actions .acm-directions-link-popup{
  min-width:112px!important;
  text-align:center!important;
}
.acm-map-widget.acm-v176 .acm-directions-link{
  gap:0!important;
}
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-popup-actions .acm-popup-link,
  .acm-map-widget.acm-v176 .acm-popup-actions .acm-directions-link-popup{
    min-width:108px!important;
  }
}


/* v1.8.12: responsive real por ancho del mapa y apertura desde listado móvil */
/* En resoluciones intermedias el panel conserva su presencia, pero los controles
   se centran en el área de mapa que queda libre, no detrás del listado. */
.acm-map-widget.acm-v176.acm-responsive-tablet.acm-has-directory:not(.acm-directory-collapsed):not(.acm-directory-layout-bottom) .acm-directory-panel{
  width:clamp(320px,34%,380px)!important;
  max-width:min(380px,46%)!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet.acm-has-directory:not(.acm-directory-collapsed).acm-directory-layout-left .acm-controls,
.acm-map-widget.acm-v176.acm-responsive-tablet.acm-has-directory:not(.acm-directory-collapsed).acm-directory-layout-responsive .acm-controls{
  left:calc(50% + clamp(160px,17%,190px))!important;
  max-width:calc(100% - clamp(320px,34%,380px) - 24px)!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet.acm-has-directory:not(.acm-directory-collapsed).acm-directory-layout-right .acm-controls{
  left:calc(50% - clamp(160px,17%,190px))!important;
  max-width:calc(100% - clamp(320px,34%,380px) - 24px)!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet.acm-has-directory:not(.acm-directory-collapsed).acm-directory-layout-left .acm-filter-dropdown-wrap,
.acm-map-widget.acm-v176.acm-responsive-tablet.acm-has-directory:not(.acm-directory-collapsed).acm-directory-layout-responsive .acm-filter-dropdown-wrap{
  left:calc(50% + clamp(160px,17%,190px))!important;
  max-width:calc(100% - clamp(320px,34%,380px) - 24px)!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet.acm-has-directory:not(.acm-directory-collapsed).acm-directory-layout-right .acm-filter-dropdown-wrap{
  left:calc(50% - clamp(160px,17%,190px))!important;
  max-width:calc(100% - clamp(320px,34%,380px) - 24px)!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet .acm-controls{
  gap:3px!important;
  padding:5px!important;
  border-radius:22px!important;
  row-gap:5px!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet .acm-controls > .acm-filter,
.acm-map-widget.acm-v176.acm-responsive-tablet .acm-filter-menu-toggle{
  min-width:104px!important;
  padding-left:10px!important;
  padding-right:10px!important;
  font-size:12px!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet .acm-controls > .acm-filter-group.acm-filter-parent-group{
  min-width:116px!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name{
  min-width:78px!important;
  padding-left:10px!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  flex-basis:30px!important;
  width:30px!important;
  min-width:30px!important;
  padding-right:8px!important;
}
.acm-map-widget.acm-v176.acm-responsive-tablet .acm-map-search-toggle{
  min-width:34px!important;
  width:34px!important;
  flex-basis:34px!important;
}

/* Cuando el propio bloque del mapa es estrecho, aunque la ventana sea grande,
   se aplica el mismo drawer móvil para evitar solapamientos en columnas. */
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-has-directory .acm-directory-panel,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-directory-layout-left .acm-directory-panel,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-directory-layout-right .acm-directory-panel,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-directory-layout-responsive .acm-directory-panel,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-directory-layout-bottom .acm-directory-panel{
  top:auto!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:none!important;
  height:min(76%, calc(100% - 74px))!important;
  max-height:none!important;
  border-radius:24px 24px 0 0!important;
  border:0!important;
  border-top:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 -16px 44px rgba(0,0,0,.18)!important;
  padding:14px!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-directory-open,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-directory-layout-right .acm-directory-open,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-directory-layout-bottom .acm-directory-open{
  left:0!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  border-radius:0 999px 999px 0!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-left:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
  box-shadow:8px 10px 28px rgba(0,0,0,.16)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-directory-open-arrow::before{content:'›';}
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-has-directory .acm-count{
  display:none!important;
}

/* v1.8.15: etiqueta del listado configurable */
.acm-map-widget.acm-v176 .acm-directory-open{
  gap:0!important;
  white-space:nowrap!important;
}
.acm-map-widget.acm-v176 .acm-directory-open.acm-directory-open-style-text-arrow{
  gap:7px!important;
}
.acm-map-widget.acm-v176 .acm-directory-open.acm-directory-open-style-arrow{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
}
.acm-map-widget.acm-v176 .acm-directory-open-label{
  display:inline-block!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.acm-map-widget.acm-v176 .acm-directory-open-arrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  font-size:21px!important;
  line-height:1!important;
  font-weight:800!important;
}
.acm-map-widget.acm-v176 .acm-directory-open-arrow::before{content:'›'!important;}
.acm-map-widget.acm-v176.acm-directory-layout-right .acm-directory-open-arrow::before{content:'‹'!important;}
.acm-map-widget.acm-v176.acm-directory-layout-bottom .acm-directory-open-arrow::before{content:'⌃'!important;}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-directory-open-arrow::before{content:'›'!important;}


/* v1.8.16: filtros móviles completos y listado siempre superpuesto */
/* Se usa la clase responsive calculada con el ancho real del mapa, no solo la ventana. */
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-all .acm-controls,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls{
  left:12px!important;
  right:12px!important;
  top:12px!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:5px!important;
  overflow:visible!important;
  padding:5px!important;
  border-radius:22px!important;
  box-sizing:border-box!important;
}

/* Cada filtro permanece visible; cuando no cabe, pasa a la fila siguiente. */
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter-group.acm-filter-parent-group{
  flex:1 1 104px!important;
  width:auto!important;
  min-width:92px!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* La lupa no fuerza una columna ancha y deja sitio al resto de filtros. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-map-search-toggle{
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
}

/* El botón padre se estira como una sola pieza, manteniendo nombre y flecha integrados. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name{
  min-width:0!important;
  flex:1 1 auto!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  flex:0 0 32px!important;
  width:32px!important;
  min-width:32px!important;
}

/* Los modos con un único botón también quedan centrados y dentro del mapa. */
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-main .acm-controls,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_main .acm-controls,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search .acm-controls{
  left:12px!important;
  right:12px!important;
  top:12px!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  justify-content:center!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-main .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_main .acm-controls > .acm-filter:not(.acm-map-search-toggle){
  flex:1 1 auto!important;
  min-width:112px!important;
  max-width:220px!important;
}

/* El desplegable ocupa el ancho útil sin salirse en mapas estrechos. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap{
  left:12px!important;
  right:12px!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown{
  min-width:0!important;
  max-width:none!important;
  flex:1 1 auto!important;
}

/* Si el listado coincide con controles o popup, el listado manda sin cambiar su altura. */
.acm-map-widget.acm-v176.acm-has-directory .acm-directory-panel{
  position:absolute!important;
  z-index:3000!important;
}
.acm-map-widget.acm-v176.acm-has-directory .acm-directory-close{
  position:relative!important;
  z-index:3001!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-has-directory .acm-directory-panel{
  height:min(76%, calc(100% - 74px))!important;
  max-height:none!important;
}

/* v1.8.20: menús de categorías móviles reconstruidos sobre la base estable 1.8.16.
   El control conserva el tamaño normal y los paneles se abren hacia abajo sin deformar botones. */

/* La barra puede tener varias filas, pero nunca estira sus botones verticalmente. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls{
  position:absolute!important;
  overflow:visible!important;
  isolation:isolate!important;
  z-index:4200!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter:not(.acm-map-search-toggle){
  min-height:36px!important;
  height:36px!important;
  padding:8px 12px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-map-search-toggle{
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:36px!important;
  height:36px!important;
  padding:0!important;
}

/* Categorías padre en modo botones: una sola píldora visual y altura fija. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px!important;
  flex:1 1 132px!important;
  width:auto!important;
  min-width:124px!important;
  max-width:100%!important;
  min-height:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  min-height:36px!important;
  height:36px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name{
  width:100%!important;
  min-width:0!important;
  padding:8px 5px 8px 13px!important;
  border-radius:999px 0 0 999px!important;
  overflow:hidden!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name .acm-filter-label{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  width:34px!important;
  min-width:34px!important;
  padding:0 8px 0 2px!important;
  border-radius:0 999px 999px 0!important;
}

/* Subcategorías de botones: panel independiente debajo de toda la barra. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-subfilters,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:focus-within > .acm-subfilters{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:8px!important;
  transform:none!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:17px!important;
  background:#fff!important;
  color:#151515!important;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
  max-height:min(46vh,330px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  z-index:4300!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open > .acm-subfilters{
  display:flex!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-subfilters::before{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-subfilters .acm-filter{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:38px!important;
  height:auto!important;
  padding:9px 12px!important;
  justify-content:flex-start!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}

/* Desplegable principal: misma píldora que escritorio, sin crecer al abrirse. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  top:12px!important;
  width:auto!important;
  max-width:none!important;
  min-height:46px!important;
  height:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:5px!important;
  overflow:visible!important;
  isolation:isolate!important;
  border-radius:24px!important;
  box-sizing:border-box!important;
  z-index:4200!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-label{
  flex:0 1 auto!important;
  min-width:0!important;
  margin:0 2px 0 8px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-filter-menu{
  position:relative!important;
  display:block!important;
  flex:1 1 150px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-toggle{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:36px!important;
  height:36px!important;
  margin:0!important;
  padding:8px 13px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-current{
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* El panel principal siempre baja desde la píldora. Solo .is-open puede mostrarlo. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu > .acm-filter-menu-panel,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu:focus-within > .acm-filter-menu-panel{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:auto!important;
  width:min(320px,calc(100vw - 34px))!important;
  min-width:220px!important;
  max-width:calc(100vw - 34px)!important;
  margin:0!important;
  padding:8px!important;
  transform:none!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:17px!important;
  background:#fff!important;
  color:#151515!important;
  box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
  max-height:min(54vh,360px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  z-index:4300!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu.is-open > .acm-filter-menu-panel{
  display:flex!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu > .acm-filter-menu-panel::before{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel > .acm-filter,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-row{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Padre e hijas dentro del desplegable: acordeón vertical estable. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-group{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 40px!important;
  min-height:38px!important;
  height:38px!important;
  margin:0!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-arrow{
  min-height:38px!important;
  height:38px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-name{
  min-width:0!important;
  border-radius:12px 0 0 12px!important;
  overflow:hidden!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-arrow{
  width:40px!important;
  min-width:40px!important;
  padding:0!important;
  border-radius:0 12px 12px 0!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-group > .acm-menu-subpanel,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-group:focus-within > .acm-menu-subpanel{
  display:none!important;
  position:static!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:5px 0 2px!important;
  padding:5px 0 5px 12px!important;
  transform:none!important;
  flex-direction:column!important;
  gap:3px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-left:2px solid rgba(0,0,0,.09)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  max-height:none!important;
  overflow:visible!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-group.is-open > .acm-menu-subpanel{
  display:flex!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-group > .acm-menu-subpanel::before{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-group > .acm-menu-parent-row .acm-menu-arrow span{
  display:inline-block!important;
  transform:rotate(90deg)!important;
  transition:transform .16s ease!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-panel .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-arrow span{
  transform:rotate(-90deg)!important;
}

/* Mientras un menú está abierto puede verse sobre el listado; el listado sigue siendo absoluto. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-group.is-open{
  z-index:4300!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-has-directory .acm-directory-panel{
  position:absolute!important;
  z-index:3000!important;
  height:min(76%,calc(100% - 74px))!important;
  max-height:none!important;
}
.acm-map-widget.acm-v176.acm-has-directory .acm-directory-close{
  z-index:3001!important;
}


/* v1.8.21: en responsive solo se colorea el botón activo, nunca toda la barra. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap{
  background:rgba(255,255,255,.96)!important;
  color:var(--acm-filter-text)!important;
}

/* Los filtros conservan su ancho natural y saltan de fila si no caben. */
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter:not(.acm-map-search-toggle){
  flex:0 1 auto!important;
  width:auto!important;
  min-width:104px!important;
  max-width:100%!important;
}

/* La categoría padre es una única píldora compacta; no rellena toda la fila. */
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open{
  display:inline-grid!important;
  grid-template-columns:minmax(92px,auto) 34px!important;
  flex:0 1 auto!important;
  width:max-content!important;
  min-width:126px!important;
  max-width:100%!important;
  background:transparent!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group::before{
  inset:0!important;
  width:auto!important;
  max-width:100%!important;
}

/* En el modo desplegable el color pertenece al selector, no al contenedor blanco. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-filter-menu{
  flex:0 1 210px!important;
  width:auto!important;
  min-width:145px!important;
  max-width:min(64%,260px)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-menu-toggle{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Abrir un menú no modifica el fondo de la barra. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls:has(.is-open),
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap:has(.is-open){
  background:rgba(255,255,255,.96)!important;
  color:var(--acm-filter-text)!important;
}

/* v1.8.22: en móvil el estado abierto/activo colorea únicamente la píldora padre.
   El contenedor del grupo y la barra nunca reciben el color principal. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:hover::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before{
  content:none!important;
  display:none!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Estado normal: las dos zonas siguen pareciendo una única píldora blanca/transparente. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
}

/* Estado abierto o seleccionado: solo se colorea la superficie real del botón. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open > .acm-filter-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open > .acm-filter-toggle,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active > .acm-filter-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active > .acm-filter-toggle,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}

/* Hover táctil/ratón limitado al botón, sin pintar la fila ni la caja superior. */
@media (hover:hover) and (pointer:fine){
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:not(.is-open):not(.is-active):hover > .acm-filter-parent-name,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:not(.is-open):not(.is-active):hover > .acm-filter-toggle{
    background:rgba(0,0,0,.05)!important;
    color:var(--acm-filter-text)!important;
  }
}

/* Refuerzo final: la barra conserva siempre su fondo claro aunque contenga un menú abierto. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls:has(.is-open),
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap:has(.is-open){
  background:rgba(255,255,255,.96)!important;
  color:var(--acm-filter-text)!important;
}

/* v1.8.23: categoría padre móvil como una sola píldora visual.
   Nombre y flecha conservan acciones distintas, pero comparten una única superficie. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  grid-template-columns:none!important;
  width:max-content!important;
  min-width:126px!important;
  max-width:100%!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:hover::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  pointer-events:none!important;
  transition:background .18s ease,box-shadow .18s ease!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before{
  background:var(--acm-active-color)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before{
  box-shadow:0 5px 16px rgba(0,0,0,.14)!important;
}
@media (hover:hover) and (pointer:fine){
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:not(.is-open):not(.is-active):hover::before{
    background:rgba(0,0,0,.05)!important;
  }
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:focus,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:focus,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  position:relative!important;
  z-index:1!important;
  min-height:36px!important;
  height:36px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:transparent!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name{
  display:flex!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:92px!important;
  max-width:none!important;
  padding:8px 5px 8px 14px!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  display:flex!important;
  flex:0 0 34px!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  padding:0 10px 0 3px!important;
}


/* v1.8.24: píldora padre móvil unificada sin colorear el bloque/fila.
   El grupo deja de crecer por flex; su fondo cubre solo nombre + flecha. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  position:relative!important;
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:stretch!important;
  justify-content:center!important;
  width:auto!important;
  min-width:126px!important;
  max-width:100%!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:auto!important;
}

/* Anula la superficie grande creada en la versión anterior. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:hover::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before{
  content:none!important;
  display:none!important;
}

/* El fondo se aplica al grupo compacto: nombre y flecha parecen un solo botón. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  box-shadow:0 5px 16px rgba(0,0,0,.14)!important;
}
@media (hover:hover) and (pointer:fine){
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:not(.is-open):not(.is-active):hover{
    background:rgba(0,0,0,.05)!important;
    color:var(--acm-filter-text)!important;
  }
}

/* Las dos zonas conservan funciones distintas, pero no dibujan fondos separados. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:focus,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:focus,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  position:relative!important;
  z-index:1!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:transparent!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name{
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:92px!important;
  max-width:min(58vw,240px)!important;
  padding:8px 5px 8px 14px!important;
  border-radius:999px 0 0 999px!important;
  overflow:hidden!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  display:flex!important;
  flex:0 0 34px!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  padding:0 10px 0 3px!important;
  border-radius:0 999px 999px 0!important;
}


/* v1.8.25: corrección final del botón padre móvil.
   Solo se pinta la píldora activa, y nombre + flecha se perciben como una sola pieza. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter-group.acm-filter-parent-group{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 1 auto!important;
  width:auto!important;
  min-width:126px!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active::before,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active::before{
  background:var(--acm-active-color)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.14)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  color:var(--acm-filter-text)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active{
  color:var(--acm-active-text-color)!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:hover,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:focus,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:focus,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name:active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle:active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  position:relative!important;
  z-index:1!important;
  margin:0!important;
  border:0!important;
  outline:none!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  padding:8px 6px 8px 14px!important;
  border-radius:999px 0 0 999px!important;
  justify-content:center!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-name .acm-filter-label{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-toggle{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  padding:0 10px 0 4px!important;
  border-radius:0 999px 999px 0!important;
}


/* v1.8.26: control móvil real, una sola pieza visual.
   Se introduce .acm-filter-parent-control para aislar el aspecto del botón
   del contenedor que aloja el submenú. Así nunca se colorea toda la fila. */
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  min-height:34px;
  border-radius:999px;
  background:transparent;
  color:var(--acm-filter-text);
  box-shadow:none;
  overflow:hidden;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open > .acm-filter-parent-control,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active > .acm-filter-parent-control{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
  box-shadow:0 5px 16px rgba(0,0,0,.14)!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name:hover,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle:hover,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name:focus,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle:focus,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name:active,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle:active,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name.is-active,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name.is-active + .acm-filter-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name{
  flex:1 1 auto!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:8px 6px 8px 14px!important;
  justify-content:center!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 10px 0 4px!important;
}

@media(max-width:760px){
  /* El grupo solo posiciona el submenú: nunca recibe el color activo. */
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group,
  .acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group,
  .acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-hierarchy-parent_dropdowns .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open{
    position:static!important;
    display:inline-block!important;
    flex:0 1 auto!important;
    width:auto!important;
    min-width:126px!important;
    max-width:100%!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--acm-filter-text)!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group::before{
    display:none!important;
    content:none!important;
  }
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:126px!important;
    max-width:100%!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    gap:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:var(--acm-filter-text)!important;
    box-shadow:none!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-open > .acm-filter-parent-control,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group.is-active > .acm-filter-parent-control{
    background:var(--acm-active-color)!important;
    color:var(--acm-active-text-color)!important;
    box-shadow:0 6px 18px rgba(0,0,0,.14)!important;
  }
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name:hover,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle:hover,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name:focus,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle:focus,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name:active,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle:active,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name.is-active,
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name.is-active + .acm-filter-toggle{
    background:transparent!important;
    color:inherit!important;
    box-shadow:none!important;
    border:0!important;
    outline:0!important;
    margin:0!important;
    border-radius:0!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:92px!important;
    max-width:calc(100% - 34px)!important;
    height:36px!important;
    min-height:36px!important;
    padding:8px 5px 8px 14px!important;
    justify-content:center!important;
  }
  .acm-map-widget.acm-v176.acm-responsive-mobile .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle{
    flex:0 0 34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 10px 0 4px!important;
  }
}


/* v1.8.27: elimina el parpadeo visual del control jerárquico.
   El estado cambia de forma inmediata y solo una capa controla el color. */
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group::before,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-parent-name,
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control > .acm-filter-toggle{
  transition:none!important;
  animation:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group::before{
  display:none!important;
  content:none!important;
}
.acm-map-widget.acm-v176 .acm-controls > .acm-filter-group.acm-filter-parent-group > .acm-filter-parent-control{
  will-change:auto!important;
  transform:none!important;
}

/* v1.8.28: filtros unificados y lupa integrada.
   Un único selector controla botones, desplegable, responsive y buscador. */
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap{
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  max-width:calc(100% - 36px)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--acm-filter-text)!important;
  box-shadow:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle:hover,
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle:focus-visible,
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle.is-open{
  background:rgba(0,0,0,.06)!important;
  color:var(--acm-filter-text)!important;
}
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-dropdown-label{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:110px!important;
  margin:0 2px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu{
  flex:1 1 150px!important;
  width:auto!important;
  min-width:118px!important;
  max-width:260px!important;
}

/* Dropdown puro: solo aparece la barra combinada. */
.acm-map-widget.acm-v176.acm-filter-mode-dropdown .acm-controls{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-filter-mode-dropdown .acm-filter-dropdown-wrap{
  display:flex!important;
}

/* Responsive: botones en escritorio y barra combinada en móvil. */
.acm-map-widget.acm-v176.acm-filter-mode-responsive:not(.acm-responsive-mobile) .acm-controls{
  display:flex!important;
}
.acm-map-widget.acm-v176.acm-filter-mode-responsive:not(.acm-responsive-mobile) .acm-filter-dropdown-wrap{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-filter-mode-responsive.acm-responsive-mobile .acm-controls{
  display:none!important;
}
.acm-map-widget.acm-v176.acm-filter-mode-responsive.acm-responsive-mobile .acm-filter-dropdown-wrap{
  display:flex!important;
}

/* En viewport móvil también se respeta el cambio aunque ResizeObserver aún no haya añadido la clase. */
@media(max-width:600px){
  .acm-map-widget.acm-v176.acm-filter-mode-responsive .acm-controls{
    display:none!important;
  }
  .acm-map-widget.acm-v176.acm-filter-mode-responsive .acm-filter-dropdown-wrap{
    display:flex!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    padding:5px!important;
    gap:5px!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle{
    flex-basis:34px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-dropdown-label{
    max-width:78px!important;
    font-size:11px!important;
    margin:0!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu-toggle{
    width:100%!important;
    min-width:0!important;
  }
}

/* Alias de la antigua visibilidad "all" para el nuevo valor "buttons". */
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls{
  left:12px!important;
  right:12px!important;
  top:12px!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:5px!important;
  overflow:visible!important;
  padding:5px!important;
  border-radius:22px!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls > .acm-filter-group.acm-filter-parent-group{
  flex:1 1 104px!important;
  width:auto!important;
  min-width:92px!important;
  max-width:none!important;
  box-sizing:border-box!important;
}


/* v1.8.29: la lupa es un control independiente, no un filtro.
   El texto del desplegable permanece visible y no se sustituye por el icono de búsqueda. */
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-dropdown-label{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu{
  flex:0 1 180px!important;
  min-width:130px!important;
}
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu-current{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:600px){
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-dropdown-label{
    min-width:auto!important;
    max-width:92px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu{
    flex:1 1 auto!important;
    min-width:112px!important;
    max-width:none!important;
  }
}


/* v1.8.30: lupa neutra y ligeramente alargada en todos los modos.
   No hereda el color activo de categorías y mantiene la misma apariencia
   con botones, desplegable, solo lupa, botón principal y modo responsive. */
.acm-map-widget.acm-v176 .acm-map-search-toggle,
.acm-map-widget.acm-v176 .acm-controls > .acm-map-search-toggle,
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(0,0,0,.055)!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.035)!important;
  color:#151515!important;
  box-shadow:none!important;
  outline:none!important;
  line-height:1!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
.acm-map-widget.acm-v176 .acm-map-search-toggle:hover,
.acm-map-widget.acm-v176 .acm-map-search-toggle:focus,
.acm-map-widget.acm-v176 .acm-map-search-toggle:focus-visible,
.acm-map-widget.acm-v176 .acm-map-search-toggle:active,
.acm-map-widget.acm-v176 .acm-map-search-toggle.is-open,
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-toggle:hover,
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-toggle:focus-visible,
.acm-map-widget.acm-v176.acm-has-directory .acm-map-search-toggle.is-open,
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle:hover,
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle:focus-visible,
.acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle.is-open{
  background:rgba(0,0,0,.085)!important;
  border-color:rgba(0,0,0,.08)!important;
  color:#151515!important;
  box-shadow:none!important;
}
.acm-map-widget.acm-v176 .acm-map-search-toggle:active{
  transform:scale(.98)!important;
}
@media(max-width:600px){
  .acm-map-widget.acm-v176 .acm-map-search-toggle,
  .acm-map-widget.acm-v176 .acm-controls > .acm-map-search-toggle,
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap > .acm-map-search-toggle{
    flex-basis:44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:34px!important;
    min-height:34px!important;
  }
}


/* v1.8.31: color independiente para forma/pin e icono SVG */
.acm-marker-pin-svg .acm-marker-pin-body{
  background:var(--acm-marker-bg,#d83a2e)!important;
}
.acm-marker-pin-svg .acm-marker-pin-icon{
  color:var(--acm-marker-icon,#fff)!important;
}
.acm-marker-circle-svg{
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #fff;
  border-radius:50%;
  box-sizing:border-box;
  box-shadow:0 4px 14px rgba(0,0,0,.24);
}
.acm-marker-circle-svg svg{
  width:58%;
  height:58%;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* v1.8.33: PNG/WebP personalizados dentro de la forma del mapa y recoloreables.
   La transparencia de la imagen define la silueta; fondo y silueta usan colores independientes. */
.acm-marker-pin-custom .acm-marker-pin-body{
  background:var(--acm-marker-bg,#d83a2e)!important;
}
.acm-marker-pin-custom .acm-marker-pin-icon{
  color:var(--acm-marker-icon,#fff)!important;
}
.acm-marker-circle-custom{
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #fff;
  border-radius:50%;
  box-sizing:border-box;
  background:var(--acm-marker-bg,#d83a2e)!important;
  color:var(--acm-marker-icon,#fff)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.24);
}
.acm-marker-pin-custom .acm-marker-custom-mask{
  width:100%;
  height:100%;
}
.acm-marker-circle-custom .acm-marker-custom-mask{
  width:58%;
  height:58%;
}
.acm-marker-custom-mask{
  display:block;
  background-color:currentColor;
  -webkit-mask-image:var(--acm-custom-mask);
  mask-image:var(--acm-custom-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}


/* v1.8.34: iconos PNG/WebP visibles con recoloración y fallback robusto.
   La imagen original queda debajo; la máscara coloreada se superpone cuando el navegador la soporta. */
.acm-marker-pin-custom .acm-marker-pin-icon,
.acm-marker-circle-custom .acm-marker-custom-visual{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.acm-marker-circle-custom .acm-marker-custom-visual{
  width:58%!important;
  height:58%!important;
}
.acm-marker-custom-image,
.acm-marker-custom-mask{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  pointer-events:none!important;
}
.acm-marker-custom-image{
  z-index:1!important;
  opacity:1!important;
}
.acm-marker-custom-mask{
  z-index:2!important;
  background:var(--acm-marker-icon,#fff)!important;
  color:var(--acm-marker-icon,#fff)!important;
  -webkit-mask-image:var(--acm-custom-mask)!important;
  mask-image:var(--acm-custom-mask)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}
/* Si el navegador no admite máscaras, el PNG/WebP original continúa visible. */
@supports ((-webkit-mask-image:url("")) or (mask-image:url(""))){
  .acm-marker-custom-image{opacity:.001!important;}
}

/* v1.8.35: SVG personalizado inline, sanitizado y recoloreable. */
.acm-marker-custom-svg{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  color:var(--acm-marker-icon,#fff)!important;
  pointer-events:none!important;
}
.acm-marker-custom-svg svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  color:inherit!important;
  overflow:visible!important;
}
.acm-marker-circle-custom .acm-marker-custom-svg{
  width:58%!important;
  height:58%!important;
}
.acm-marker-pin-custom .acm-marker-custom-svg{
  width:100%!important;
  height:100%!important;
}

/* v1.8.36: galería del popup estable, automática y responsive */
.acm-map-widget.acm-v176 .acm-popup-carousel{
  position:relative!important;
  width:100%!important;
  height:145px!important;
  min-height:145px!important;
  overflow:hidden!important;
  background:#eceeef!important;
  isolation:isolate!important;
  touch-action:pan-y!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .32s ease, visibility .32s ease!important;
  z-index:0!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:1!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:absolute!important;
  top:50%!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:999px!important;
  background:rgba(21,21,21,.46)!important;
  color:#fff!important;
  box-shadow:0 4px 14px rgba(0,0,0,.18)!important;
  opacity:.78!important;
  cursor:pointer!important;
  line-height:1!important;
  text-indent:0!important;
  font-size:0!important;
  transition:opacity .16s ease, background .16s ease, transform .16s ease!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav:hover,
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav:focus-visible{
  background:rgba(21,21,21,.72)!important;
  opacity:1!important;
  outline:none!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav:active{
  transform:translateY(-50%) scale(.94)!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav svg{
  display:block!important;
  width:16px!important;
  height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-prev{left:9px!important;}
.acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-next{right:9px!important;}

/* La galería lateral ocupa toda la columna de imagen sin deformarse. */
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel{
  width:150px!important;
  height:100%!important;
  min-height:210px!important;
  align-self:stretch!important;
}
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel .acm-popup-slide,
.acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel .acm-popup-slide img{
  width:100%!important;
  height:100%!important;
  min-height:210px!important;
}

/* Tablet: conserva el carrusel dentro del popup sin que las flechas invadan el contenido. */
@media (min-width:761px) and (max-width:1024px){
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left{
    width:370px!important;
    grid-template-columns:142px minmax(0,1fr)!important;
  }
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-image{
    width:142px!important;
    min-height:200px!important;
  }
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav{
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
  }
}

/* Móvil: el popup siempre es vertical y el carrusel mantiene proporción compacta. */
@media (max-width:760px){
  .acm-map-widget.acm-v176 .acm-popup-carousel,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel{
    width:100%!important;
    height:122px!important;
    min-height:122px!important;
  }
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-slide,
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-slide img,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel .acm-popup-slide,
  .acm-map-widget.acm-v176 .acm-popup.acm-popup-layout-image-left .acm-popup-carousel .acm-popup-slide img{
    width:100%!important;
    height:122px!important;
    min-height:122px!important;
  }
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav{
    width:27px!important;
    min-width:27px!important;
    max-width:27px!important;
    height:27px!important;
    min-height:27px!important;
    max-height:27px!important;
    opacity:.88!important;
  }
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-prev{left:7px!important;}
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-next{right:7px!important;}
}

@media (prefers-reduced-motion:reduce){
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-slide,
  .acm-map-widget.acm-v176 .acm-popup-carousel .acm-popup-nav{
    transition:none!important;
  }
}

/* v1.9.2: desplegable jerárquico móvil contenido y en acordeón.
   Se limita únicamente a los modos que muestran la barra desplegable en móvil. */
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-filter-menu{
  position:relative!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-filter-menu-panel{
  top:calc(100% + 7px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:6px!important;
  gap:4px!important;
  transform:none!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  max-height:min(62vh, 390px)!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-filter-menu-panel > *,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-parent-group,
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-parent-row{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-parent-row{
  grid-template-columns:minmax(0, 1fr) 34px!important;
  overflow:hidden!important;
  border-radius:12px!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-parent-row .acm-menu-parent-name{
  min-width:0!important;
  max-width:100%!important;
  padding:9px 8px 9px 10px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-parent-row .acm-menu-arrow{
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-subpanel{
  position:static!important;
  inset:auto!important;
  width:calc(100% - 10px)!important;
  min-width:0!important;
  max-width:calc(100% - 10px)!important;
  margin:4px 0 3px 10px!important;
  padding:5px!important;
  gap:3px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:0!important;
  border-left:2px solid rgba(0,0,0,.08)!important;
  border-radius:0 10px 10px 0!important;
  background:#f7f7f7!important;
  box-shadow:none!important;
  transform:none!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-subpanel::before{
  display:none!important;
  content:none!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-subpanel .acm-filter{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:8px 9px!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-arrow span{
  display:block!important;
  transform:rotate(90deg)!important;
  transform-origin:center!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile .acm-filter-dropdown-wrap .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-arrow span{
  transform:rotate(-90deg)!important;
}
/* Respaldo mientras ResizeObserver todavía no haya aplicado la clase responsive. */
@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu-panel{
    left:0!important;
    right:0!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-subpanel{
    box-sizing:border-box!important;
  }
}


/* v1.9.3: corrección final y aislada del desplegable principal en móvil.
   El panel queda ligado al ancho real del selector y las flechas jerárquicas
   permanecen dentro del panel tanto en desplegable como en lupa + desplegable. */
@media (max-width:760px){
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu,
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu-toggle{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu-panel{
    left:0!important;
    right:auto!important;
    width:var(--acm-mobile-dropdown-panel-width,100%)!important;
    min-width:0!important;
    max-width:var(--acm-mobile-dropdown-panel-width,100%)!important;
    transform:none!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    border-radius:17px!important;
    background-clip:padding-box!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-filter-menu-panel > *,
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-group,
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-row{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    overflow:hidden!important;
    border-radius:12px!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-row .acm-menu-parent-name{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-row .acm-menu-arrow{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:auto!important;
    min-height:36px!important;
    padding:0!important;
    overflow:visible!important;
    color:#151515!important;
    box-sizing:border-box!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-row .acm-menu-arrow span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    height:100%!important;
    color:inherit!important;
    font-size:0!important;
    line-height:1!important;
    transform:none!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-row .acm-menu-arrow span::before{
    content:'▾'!important;
    display:block!important;
    color:currentColor!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-dropdown-wrap .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-arrow span::before{
    content:'▴'!important;
  }
}

/* v1.10.0 — agrupaciones de marcadores con color predominante. */
.acm-map-widget .acm-cluster-icon{background:transparent!important;border:0!important}
.acm-map-widget .acm-cluster-shape{--acm-cluster-bg:#151515;--acm-cluster-text:#fff;display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-sizing:border-box;background:var(--acm-cluster-bg);color:var(--acm-cluster-text);border:3px solid rgba(255,255,255,.92);box-shadow:0 5px 18px rgba(0,0,0,.25);font-weight:800;font-size:14px;line-height:1;letter-spacing:-.02em;transition:transform .18s ease,box-shadow .18s ease}
.acm-map-widget .acm-cluster-icon:hover .acm-cluster-shape{transform:scale(1.07);box-shadow:0 7px 22px rgba(0,0,0,.3)}
.acm-map-widget .acm-cluster-circle .acm-cluster-shape{border-radius:999px}
.acm-map-widget .acm-cluster-pin .acm-cluster-shape{border-radius:50% 50% 50% 10%;transform:rotate(-45deg)}
.acm-map-widget .acm-cluster-pin:hover .acm-cluster-shape{transform:rotate(-45deg) scale(1.07)}
.acm-map-widget .acm-cluster-pin .acm-cluster-number{transform:rotate(45deg)}
.acm-map-widget .acm-cluster-small .acm-cluster-shape{font-size:13px}
.acm-map-widget .acm-cluster-medium .acm-cluster-shape{font-size:14px}
.acm-map-widget .acm-cluster-large .acm-cluster-shape{font-size:15px}
.acm-map-widget .marker-cluster-spider-leg{stroke:#555;stroke-opacity:.55}

/* v1.10.1 — navegación horizontal de filtros y desplegables largos adaptativos. */
.acm-map-widget.acm-v176 .acm-controls-scroll{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:absolute!important;
  z-index:8!important;
  top:23px;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#151515!important;
  box-shadow:0 7px 22px rgba(0,0,0,.13)!important;
  font-size:23px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.acm-map-widget.acm-v176 .acm-controls-scroll[hidden]{display:none!important;}
.acm-map-widget.acm-v176 .acm-controls-scroll-prev{left:10px!important;}
.acm-map-widget.acm-v176 .acm-controls-scroll-next{right:10px!important;}
.acm-map-widget.acm-v176 .acm-controls-scroll:hover,
.acm-map-widget.acm-v176 .acm-controls-scroll:focus-visible{
  background:var(--acm-active-color)!important;
  color:var(--acm-active-text-color)!important;
  outline:none!important;
}
.acm-map-widget.acm-v176 .acm-controls-scroll:disabled{
  opacity:.34!important;
  cursor:default!important;
  pointer-events:none!important;
}

/* En móvil y tablet los botones forman una sola fila desplazable por gesto. */
@media (max-width:1024px){
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls{
    left:50%!important;
    right:auto!important;
    top:12px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    width:max-content!important;
    max-width:calc(100% - 96px)!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
    scrollbar-width:none!important;
    scroll-behavior:smooth!important;
    border-radius:999px!important;
  }
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls::-webkit-scrollbar{display:none!important;}
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls > .acm-filter,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls > .acm-filter-group.acm-filter-parent-group{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
  }
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll{top:17px!important;}
  /* Un submenú abierto necesita escapar verticalmente del carril. El desplazamiento
     horizontal vuelve a activarse al cerrar el submenú. */
  .acm-map-widget.acm-v176.acm-controls-submenu-open .acm-controls{
    overflow:visible!important;
  }
}

/* Los listados planos largos pueden desplazarse también en escritorio. */
.acm-map-widget.acm-v176:not(.acm-filter-hierarchy-parent_dropdowns) .acm-filter-menu-panel,
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-scrollable > .acm-filter-menu-panel{
  max-height:var(--acm-dropdown-max-height, min(70vh,520px))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-gutter:stable!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-open-up > .acm-filter-menu-panel{
  top:auto!important;
  bottom:calc(100% + 10px)!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-open-up > .acm-filter-menu-panel::before{
  top:auto!important;
  bottom:-12px!important;
}

/* Cuando un desplegable jerárquico necesita scroll, sus subcategorías se convierten
   en acordeón dentro del panel para que nunca queden cortadas lateralmente. */
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-scrollable .acm-menu-subpanel{
  position:static!important;
  inset:auto!important;
  width:calc(100% - 10px)!important;
  min-width:0!important;
  max-width:calc(100% - 10px)!important;
  margin:4px 0 3px 10px!important;
  padding:5px!important;
  gap:3px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  border:0!important;
  border-left:2px solid rgba(0,0,0,.08)!important;
  border-radius:0 10px 10px 0!important;
  background:#f7f7f7!important;
  box-shadow:none!important;
  transform:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-scrollable .acm-menu-subpanel::before{
  display:none!important;
  content:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-scrollable .acm-menu-parent-group:hover > .acm-menu-subpanel{
  display:none!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-scrollable .acm-menu-parent-group.is-open > .acm-menu-subpanel{
  display:flex!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-scrollable .acm-menu-arrow span{
  transform:rotate(90deg)!important;
}
.acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-scrollable .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-arrow span{
  transform:rotate(-90deg)!important;
}

/* En tablet y móvil se prioriza siempre el acordeón y el scroll vertical seguro. */
@media (max-width:1024px){
  .acm-map-widget.acm-v176 .acm-filter-menu.is-open > .acm-filter-menu-panel{
    max-height:var(--acm-dropdown-max-height, min(68vh,460px))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
    scrollbar-gutter:stable!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-menu.is-open .acm-menu-subpanel{
    position:static!important;
    inset:auto!important;
    width:calc(100% - 10px)!important;
    min-width:0!important;
    max-width:calc(100% - 10px)!important;
    margin:4px 0 3px 10px!important;
    padding:5px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    border:0!important;
    border-left:2px solid rgba(0,0,0,.08)!important;
    border-radius:0 10px 10px 0!important;
    background:#f7f7f7!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .acm-map-widget.acm-v176 .acm-filter-menu.is-open .acm-menu-subpanel::before{display:none!important;content:none!important;}
  .acm-map-widget.acm-v176 .acm-filter-menu.is-open .acm-menu-parent-group:hover > .acm-menu-subpanel{display:none!important;}
  .acm-map-widget.acm-v176 .acm-filter-menu.is-open .acm-menu-parent-group.is-open > .acm-menu-subpanel{display:flex!important;}
  .acm-map-widget.acm-v176 .acm-filter-menu.is-open .acm-menu-arrow span{transform:rotate(90deg)!important;}
  .acm-map-widget.acm-v176 .acm-filter-menu.is-open .acm-menu-parent-group.is-open > .acm-menu-parent-row .acm-menu-arrow span{transform:rotate(-90deg)!important;}
  .acm-map-widget.acm-v176 .acm-filter-menu.acm-menu-open-up > .acm-filter-menu-panel{
    bottom:calc(100% + 7px)!important;
  }
}


/* v1.10.2 — corrección de rendimiento y carril táctil real en móvil/tablet. */
.acm-map-widget.acm-v176:not(.acm-is-ready) .acm-controls-scroll{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176.acm-is-ready .acm-controls-scroll{
  visibility:visible!important;
  opacity:1!important;
}

@media (max-width:1024px){
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls{
    touch-action:pan-x pan-y!important;
  }

  /* Estas reglas tienen más especificidad que el antiguo diseño móvil en varias filas. */
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-all .acm-controls,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls{
    left:50%!important;
    right:auto!important;
    top:12px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    width:calc(100% - 96px)!important;
    max-width:calc(100% - 96px)!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
    scrollbar-width:none!important;
    scroll-behavior:smooth!important;
    border-radius:999px!important;
  }
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter-group.acm-filter-parent-group,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter-group.acm-filter-parent-group{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
  }

  /* Al abrir una subcategoría se deja escapar el panel vertical sin perder las flechas. */
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-submenu-open.acm-responsive-mobile .acm-controls{
    overflow-x:visible!important;
    overflow-y:visible!important;
  }
}

/* v1.10.4 — filtros en carril horizontal de una sola línea en todos los tamaños. */
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-content:center!important;
  row-gap:0!important;
  column-gap:4px!important;
  width:max-content!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:5px!important;
  box-sizing:border-box!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  scrollbar-width:none!important;
  scroll-behavior:smooth!important;
  scroll-padding-inline:43px!important;
  border-radius:999px!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls > .acm-filter,
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls > .acm-filter-group.acm-filter-parent-group{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Se reserva espacio dentro de la propia píldora para que las flechas nunca
   tapen la primera ni la última categoría. */
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow .acm-controls{
  padding-left:43px!important;
  padding-right:43px!important;
}

/* Las flechas quedan integradas visualmente dentro del carril y siguen su
   posición aunque el listado lateral cambie el área útil del mapa. */
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll{
  top:var(--acm-control-arrow-top,23px)!important;
  width:var(--acm-control-arrow-size,30px)!important;
  min-width:var(--acm-control-arrow-size,30px)!important;
  max-width:var(--acm-control-arrow-size,30px)!important;
  height:var(--acm-control-arrow-size,30px)!important;
  min-height:var(--acm-control-arrow-size,30px)!important;
  max-height:var(--acm-control-arrow-size,30px)!important;
  z-index:4401!important;
  border-color:rgba(0,0,0,.065)!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.11)!important;
  font-size:19px!important;
  transition:background .16s ease,color .16s ease,opacity .16s ease,transform .16s ease!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll-prev{
  left:var(--acm-control-arrow-prev-left,10px)!important;
  right:auto!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll-next{
  left:var(--acm-control-arrow-next-left,auto)!important;
  right:auto!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll:hover:not(:disabled),
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll:focus-visible:not(:disabled){
  transform:scale(1.04)!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll:active:not(:disabled){
  transform:scale(.97)!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready:not(.acm-controls-has-overflow) .acm-controls-scroll{
  display:none!important;
}

/* Al abrir subcategorías, el panel puede salir verticalmente del carril. La
   fila superior continúa sin saltos ni segundas líneas. */
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-submenu-open .acm-controls{
  flex-wrap:nowrap!important;
  overflow:visible!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-submenu-open .acm-controls-scroll{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Sobrescribe de forma explícita los antiguos layouts móviles que convertían
   Botones y Lupa + botones en una cuadrícula. */
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-all .acm-controls,
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls,
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls{
  left:50%!important;
  right:auto!important;
  top:12px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  min-width:0!important;
  max-width:calc(100% - 24px)!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:5px!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow.acm-responsive-mobile.acm-filter-visibility-all .acm-controls,
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls,
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls{
  padding-left:43px!important;
  padding-right:43px!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter:not(.acm-map-search-toggle),
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-all .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls > .acm-filter-group.acm-filter-parent-group,
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls > .acm-filter-group.acm-filter-parent-group{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}


@media(prefers-reduced-motion:reduce){
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll{
    scroll-behavior:auto!important;
    transition:none!important;
  }
}

/* Prioridad final para que los submenús jerárquicos no queden recortados. */
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-submenu-open .acm-controls,
.acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-submenu-open.acm-responsive-mobile .acm-controls{
  flex-flow:row nowrap!important;
  overflow:visible!important;
}


/* v1.10.5 — carril más recogido y flechas laterales discretas. */
/* Cuando hay desbordamiento se deja una zona de seguridad a ambos lados para
   que el carril no invada los controles del mapa ni quede pegado al borde. Si
   todas las categorías caben, conserva su ancho natural y no muestra flechas. */
@media (min-width:1025px){
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow .acm-controls{
    max-width:calc(100% - 160px)!important;
  }
}
@media (max-width:1024px){
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow .acm-controls,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow.acm-responsive-mobile.acm-filter-visibility-all .acm-controls,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow.acm-responsive-mobile.acm-filter-visibility-buttons .acm-controls,
  .acm-map-widget.acm-v176.acm-controls-scroll-ready.acm-controls-has-overflow.acm-responsive-mobile.acm-filter-visibility-search_buttons .acm-controls{
    max-width:calc(100% - 96px)!important;
  }
}

/* El hover no altera los colores: únicamente aplica un aumento casi
   imperceptible y una sombra algo más definida. */
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll:hover:not(:disabled),
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll:focus-visible:not(:disabled){
  background:rgba(255,255,255,.97)!important;
  color:#151515!important;
  box-shadow:0 5px 16px rgba(0,0,0,.13)!important;
  transform:scale(1.035)!important;
  outline:none!important;
}
.acm-map-widget.acm-v176.acm-controls-scroll-ready .acm-controls-scroll:active:not(:disabled){
  background:rgba(255,255,255,.97)!important;
  color:#151515!important;
  transform:scale(.985)!important;
}

/* v1.10.11 — subcategorías de Botones/Lupa + botones en una capa flotante.
   La fila superior mantiene exactamente su altura, scroll y posición. */
.acm-map-widget.acm-v176 .acm-button-submenu-portal{
  position:absolute!important;
  inset:0!important;
  z-index:4600!important;
  display:block!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.acm-map-widget.acm-v176 .acm-button-submenu-portal .acm-subfilters.acm-subfilters-portal{
  position:absolute!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  margin:0!important;
  padding:8px!important;
  border-radius:17px!important;
  background:#fff!important;
  color:#151515!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.18)!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  pointer-events:auto!important;
  transform:none!important;
}
.acm-map-widget.acm-v176 .acm-button-submenu-portal .acm-subfilters.acm-subfilters-portal::before{
  content:none!important;
  display:none!important;
}
.acm-map-widget.acm-v176 .acm-button-submenu-portal .acm-subfilters.acm-subfilters-portal .acm-filter{
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Aunque los controladores antiguos detecten el grupo como abierto, el carril
   no puede cambiar de altura ni pasar a overflow visible. */
.acm-map-widget.acm-v176.acm-button-submenu-open .acm-controls,
.acm-map-widget.acm-v176.acm-button-submenu-open.acm-controls-submenu-open .acm-controls,
.acm-map-widget.acm-v176.acm-button-submenu-open.acm-responsive-mobile .acm-controls,
.acm-map-widget.acm-v176.acm-button-submenu-open.acm-responsive-tablet .acm-controls{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.acm-map-widget.acm-v176.acm-button-submenu-open .acm-controls-scroll:not([hidden]){
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.acm-map-widget.acm-v176.acm-button-submenu-open .acm-filter-group.acm-submenu-portal-owner{
  position:relative!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  overflow:visible!important;
}
.acm-map-widget.acm-v176.acm-responsive-mobile.acm-button-submenu-open .acm-filter-group.acm-submenu-portal-owner{
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
}

@media(max-width:760px){
  .acm-map-widget.acm-v176 .acm-button-submenu-portal .acm-subfilters.acm-subfilters-portal{
    border-radius:15px!important;
    padding:7px!important;
    box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
  }
}


/* v1.10.12 — el listado debe cubrir siempre el carril y sus flechas.
   Evita que la flecha izquierda se superponga al buscador o a las tarjetas
   cuando el directorio ocupa el lateral del mapa. */
.acm-map-widget.acm-v176.acm-has-directory .acm-directory-panel{
  z-index:5000!important;
  isolation:isolate!important;
}
