
.digican-public-map{
  position:relative;
  width:100%;
  min-height:420px;
  border-radius:18px;
  overflow:hidden;
  background:#dbe7ee;
}
.digican-public-map .digican-map-canvas{
  position:absolute;
  inset:0;
}
.digican-public-map .digican-brand{
  position:absolute;
  z-index:600;
  left:16px;
  top:16px;
  background:rgba(255,255,255,.94);
  border-radius:14px;
  padding:10px 12px;
  box-shadow:0 14px 36px rgba(0,0,0,.16);
}
.digican-public-map .digican-brand img{
  display:block;
  width:190px;
  max-width:44vw;
  height:auto;
}
.digican-public-map .digican-public-filters{
  position:absolute;
  z-index:600;
  right:16px;
  top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  max-width:54%;
  justify-content:flex-end;
}
.digican-public-map .digican-public-filters button{
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.94);
  color:#172a38;
  padding:8px 11px;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
  box-shadow:0 8px 22px rgba(0,0,0,.09);
  cursor:pointer;
}
.digican-public-map .digican-public-filters button.is-active{
  background:#7d27f1;
  color:#fff;
}
.digican-public-map .digican-label{
  background:rgba(255,255,255,.95);
  border:0;
  color:#132331;
  font-size:11px;
  font-weight:800;
  border-radius:8px;
  padding:3px 7px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.digican-public-map .leaflet-tooltip.digican-label:before{display:none}
.digican-public-map .leaflet-popup-content-wrapper{border-radius:14px}
.digican-public-map .leaflet-control-attribution{font-size:9px}
@media(max-width:720px){
  .digican-public-map .digican-brand{left:10px;top:10px}
  .digican-public-map .digican-brand img{width:145px;max-width:55vw}
  .digican-public-map .digican-public-filters{
    left:10px;right:10px;top:auto;bottom:12px;max-width:none;justify-content:flex-start
  }
  .digican-public-map .digican-public-filters button{font-size:11px;padding:7px 9px}
}


/* Pulso visual de emisión */
.digican-public-map .digican-antenna-wrapper{
  background:transparent !important;
  border:0 !important;
}
.digican-public-map .digican-antenna-img{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:block;
  object-fit:contain;
  z-index:2;
  pointer-events:none;
}
.digican-public-map .digican-antenna-img.is-large{
  width:50px;
  height:51px;
}
.digican-public-map .digican-antenna-img.is-small{
  width:31px;
  height:31px;
}
.digican-public-map .digican-pulse{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.45);
  border-radius:50%;
  border:2px solid rgba(255, 45, 105, .58);
  box-shadow:0 0 0 0 rgba(255, 45, 105, .20);
  opacity:0;
  z-index:1;
  pointer-events:none;
  animation:digicanPulse 2.25s ease-out infinite;
}
.digican-public-map .digican-antenna-wrapper::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:100%;
  height:100%;
  transform:translate(-50%,-50%) scale(.45);
  border-radius:50%;
  border:2px solid rgba(255, 45, 105, .34);
  opacity:0;
  pointer-events:none;
  animation:digicanPulse 2.25s ease-out infinite .8s;
}
@keyframes digicanPulse{
  0%{
    transform:translate(-50%,-50%) scale(.45);
    opacity:.78;
  }
  70%{
    opacity:.20;
  }
  100%{
    transform:translate(-50%,-50%) scale(1.35);
    opacity:0;
  }
}
@media (prefers-reduced-motion: reduce){
  .digican-public-map .digican-pulse,
  .digican-public-map .digican-antenna-wrapper::after{
    animation:none;
    opacity:0;
  }
}


.digican-public-map .digican-zone-tooltip{
  background:rgba(8,20,33,.88);
  color:#fff;
  border:0;
  border-radius:8px;
  padding:4px 7px;
  font-size:11px;
  font-weight:700;
  box-shadow:0 4px 12px rgba(0,0,0,.14);
}
.digican-public-map .leaflet-tooltip.digican-zone-tooltip:before{display:none}
