/* ===== SECCIÓN COBERTURA · CONTROL INTERNET =====
   Todo prefijado con .cob para no chocar con tu CSS */
.cob{
  --red:#e5323f; --red-2:#b81f2b; --red-glow:rgba(229,50,63,.55);
  --bg:#0b1120; --card:#0f172a; --card-2:#131d33; --line:#22304d;
  --muni:#131e35; --muni-line:#2b3b5c; --label:#6b7ea3;
  --txt:#ffffff; --muted:#9aa6bf;
  font-family:var(--body);
  background:var(--bg); color:var(--txt); padding:90px 24px;
}
.cob *{box-sizing:border-box}
.cob-wrap{max-width:1240px;margin:0 auto}
.cob-head{text-align:center;margin-bottom:44px}
.cob-eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.3em;color:var(--red);text-transform:uppercase;margin:0 0 14px}
.cob-title{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:900;line-height:1.02;letter-spacing:-.02em;margin:0 0 14px}
.cob-title span{color:var(--red)}
.cob-lead{font-size:1.05rem;color:var(--muted);max-width:56ch;margin:0 auto;line-height:1.55}

.cob-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:stretch}

/* ---------- Mapa ---------- */
.cob-map{position:relative;background:radial-gradient(120% 90% at 70% 25%,#16223d 0%,var(--card) 55%,#0a1020 100%);
  border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:560px;
  box-shadow:inset 0 0 80px rgba(0,0,0,.45),0 30px 60px -30px rgba(0,0,0,.8)}
.cob-map svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.cob-muni{fill:var(--muni);stroke:var(--muni-line);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .2s}
.cob-muni:hover{fill:#18264280}
.cob-slp{fill:url(#cobRed);stroke:#ff7a82;stroke-width:1.6;vector-effect:non-scaling-stroke;filter:url(#cobGlow);cursor:pointer}
.cob-lbl{fill:var(--label);font-weight:600;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#0f172a;stroke-width:3px;stroke-linejoin:round}
.cob-lbl-slp{fill:#fff;font-weight:800}
.cob-zone{fill:rgba(255,255,255,.14);stroke:#fff;stroke-dasharray:4 4;stroke-width:1.2;vector-effect:non-scaling-stroke;pointer-events:none;opacity:0;transition:opacity .4s}
.is-zoom .cob-zone{opacity:1}
.cob-dot{cursor:pointer;display:none}
.cob-dot.is-active{display:inline}
.cob-hq{display:none}
.cob-dot .core{fill:#fff;stroke:var(--red);stroke-width:2;vector-effect:non-scaling-stroke}
.cob-dot .ring{fill:none;stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center}
.is-zoom .cob-dot .ring{animation:cobPulse 2.8s ease-out infinite}
.cob-dot.is-active .core{fill:var(--red);stroke:#fff}
.cob-dot.is-active .ring{animation:cobPulse 1.4s ease-out infinite!important;stroke:var(--red)}
.cob-hq .ring{fill:none;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:cobPulse 2.2s ease-out infinite}
.cob-hq .ring:nth-of-type(2){animation-delay:1.1s}
.cob-hq .core{fill:#fff}
@keyframes cobPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.6);opacity:0}}

.cob-tip{position:absolute;z-index:3;pointer-events:none;background:#fff;color:#0d1220;border-radius:10px;padding:8px 12px;font-size:.82rem;font-weight:700;
  transform:translate(-50%,calc(-100% - 14px));white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.4);opacity:0;transition:opacity .15s}
.cob-tip small{display:block;font-weight:500;color:#5b6478;font-size:.74rem}
.cob-tip::after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-bottom:0;border-top-color:#fff}
.cob-tip.show{opacity:1}

.cob-ctrl{position:absolute;top:16px;left:16px;right:16px;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none}
.cob-ctrl>*{pointer-events:auto}
.cob-chip{background:rgba(11,17,32,.85);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.8rem;color:var(--muted);backdrop-filter:blur(6px)}
.cob-chip b{color:#fff}
.cob-btn{background:var(--red);color:#fff;border:0;border-radius:999px;padding:10px 18px;font:700 .82rem var(--body);cursor:pointer;box-shadow:0 6px 18px -4px var(--red-glow)}
.cob-btn:hover{background:var(--red-2)}
.cob-btn.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);box-shadow:none}
.cob-btn.ghost:hover{background:rgba(255,255,255,.16)}
.cob-legend{position:absolute;left:16px;bottom:16px;z-index:2;display:flex;gap:16px;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}
.cob-legend span{display:flex;align-items:center;gap:8px}
.cob-legend i{display:inline-block}
.cob-lg-mun{width:16px;height:11px;border-radius:3px;background:linear-gradient(135deg,var(--red),var(--red-2));box-shadow:0 0 8px var(--red-glow)}
.cob-lg-dot{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--red)}
.cob-lg-zone{width:14px;height:14px;border-radius:50%;border:1.5px dashed #fff;background:rgba(255,255,255,.14)}

/* ---------- Panel ---------- */
.cob-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;min-height:560px}
.cob-ptop{padding:22px}
.cob-ptop h3{margin:0 0 4px;font-size:1.15rem;font-weight:800}
.cob-ptop p{margin:0 0 16px;font-size:.88rem;color:var(--muted)}
.cob-search{position:relative;display:block}
.cob-search input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:14px 14px 14px 44px;font:500 1rem var(--body);color:#fff;background:var(--card-2);outline:none}
.cob-search input::placeholder{color:#6b7896}
.cob-search input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(229,50,63,.2)}
.cob-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.cob-result{margin-top:14px;border-radius:12px;padding:14px;font-size:.9rem;line-height:1.45;display:none;color:#dfe5f1}
.cob-result.is-yes{display:block;background:rgba(46,196,120,.12);border:1px solid rgba(46,196,120,.45)}
.cob-result.is-no{display:block;background:rgba(229,50,63,.12);border:1px solid rgba(229,50,63,.5)}
.cob-result strong{display:block;font-size:1rem;color:#fff;margin-bottom:2px}
.cob-result a{display:inline-block;margin-top:10px;background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:.84rem;padding:9px 14px;border-radius:8px}
.cob-result a:hover{background:var(--red-2)}
.cob-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 12px}
.cob-tab{flex:1;background:none;border:0;padding:13px 8px;font:700 .88rem var(--body);color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}
.cob-tab[aria-selected="true"]{color:#fff;border-bottom-color:var(--red)}
.cob-tab em{font-style:normal;color:var(--red);margin-left:5px}
.cob-list{flex:1;overflow-y:auto;max-height:340px;padding:4px 0 8px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.cob-group{padding:12px 22px 4px;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--red);position:sticky;top:0;background:var(--card);z-index:1}
.cob-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;padding:9px 22px;font:500 .92rem var(--body);color:#dfe5f1;cursor:pointer}
.cob-item::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}
.cob-item span{flex:1}
.cob-item small{color:var(--muted);font-size:.76rem}
.cob-item:hover,.cob-item.is-active{background:rgba(229,50,63,.12);color:#fff}
.cob-empty{padding:24px 22px;color:var(--muted);font-size:.9rem}
.cob-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.cob-foot a{color:#fff;background:#25d366;text-decoration:none;font-weight:700;padding:8px 12px;border-radius:8px;white-space:nowrap}

.cob :focus-visible{outline:3px solid var(--red);outline-offset:2px}
@media (max-width:960px){
  .cob{padding:60px 14px}
  .cob-grid{grid-template-columns:1fr}
  .cob-map{min-height:0;aspect-ratio:1/0.95}
  .cob-panel{min-height:0}
  .cob-legend{font-size:.72rem;gap:10px}
}
@media (max-width:600px){
  .cob-map{aspect-ratio:1/1.12}
  .cob-chip{display:none}
  .cob-ctrl{justify-content:flex-end}
  .cob-legend{flex-direction:column;gap:6px;left:14px;bottom:14px}
}
@media (prefers-reduced-motion:reduce){.cob *{animation:none!important;transition:none!important}}

/* Ajustes para integrar el mapa en la pagina. */
.cob-grid > *{min-width:0}
.cob-title,.cob-ptop h3{font-family:var(--display)}
.cob-foot{flex-wrap:wrap}
.cob-tip{max-width:calc(100% - 24px);white-space:normal;overflow-wrap:anywhere}
.cob-item span,.cob-item small{min-width:0;overflow-wrap:anywhere}
