:root{color-scheme:light;--tinta:#203b4b;--profundo:#112d40;--muted:#5d7180;--linea:#d8e3e9;--fondo:#f4f7f8;--panel:#fff;--acento:#207b91}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #3f9bb9;outline-offset:3px}
a{color:#175c75;text-underline-offset:3px}
.contenedor{max-width:1380px;margin:auto;padding-left:clamp(16px,3.4vw,54px);padding-right:clamp(16px,3.4vw,54px)}
.site-head{background:linear-gradient(120deg,#123449 0%,#17495b 75%,#1a5564 100%);color:white;padding:31px 0 28px}
.encabezado-marca{font-size:11px;font-weight:800;letter-spacing:.21em;color:#a9dae3}.icono-marca{color:#f4c884;margin-right:9px}.marca-separador{color:#729aa6;margin:0 10px}
.titular-fila{display:flex;justify-content:space-between;align-items:center;gap:24px}
.site-head h1{font-weight:780;letter-spacing:-.045em;font-size:clamp(30px,4.2vw,56px);line-height:1.1;margin:16px 0 10px}
.site-head h1 span{color:#c5e7e9}
.site-head p{color:#d9e9ee;font-size:15px;max-width:725px;margin:0;line-height:1.65}
.estado-propuesta{border:1px solid #7ba6b1;color:#e9f5f7;border-radius:100px;padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}
.punto-estado{height:8px;width:8px;border-radius:100%;background:#f4bf72}
.cifras-principales{display:flex;gap:clamp(12px,3vw,44px);border-top:1px solid #ffffff24;padding-top:18px;margin-top:27px;flex-wrap:wrap}
.cifras-principales>div{display:flex;align-items:baseline;gap:8px}
.cifras-principales strong{font-size:20px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cifras-principales span{font-size:12px;color:#c3dbe3}
.contenido-principal{padding-top:30px;padding-bottom:38px}
.intro-seccion{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px}
.intro-seccion h2,.titular-lista h2{font-size:22px;letter-spacing:-.03em;margin:0 0 4px}
.intro-seccion p,.titular-lista p{margin:0;color:var(--muted);font-size:14px}
.subtitulo-mapa{font-size:10px;font-weight:800;letter-spacing:.1em;color:#7192a1;white-space:nowrap}
.explorador{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(280px,.9fr);gap:15px;align-items:stretch}
.panel-mapa,.panel-detalle{background:var(--panel);border:1px solid var(--linea);border-radius:14px;overflow:hidden}
.barra-mapa{padding:13px 17px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--linea);min-height:56px}
.grupo-capas{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.opcion-capa{display:inline-flex;align-items:center;gap:7px;color:#3c596b;font-size:12px;font-weight:650;user-select:none;cursor:pointer}
.opcion-capa input{accent-color:#207b91;height:16px;width:16px;margin:0}
.grupo-vistas{display:flex;gap:5px;flex-wrap:wrap}
.boton-texto{background:transparent;border:0;color:#21667c;font-weight:700;font-size:12px;padding:8px 6px;border-radius:7px}
.boton-texto:hover{background:#eaf5f7}
.lienzo-mapa{position:relative;overflow:hidden;background:#eaf4f8;height:clamp(340px,36vw,494px)}
#mapa-cantones{display:block;width:100%;height:100%;touch-action:none;user-select:none;cursor:grab}
#mapa-cantones.arrastrando{cursor:grabbing}
.canton-geometria{stroke:#315166;stroke-width:2.25;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;fill-rule:evenodd;transition:fill-opacity .17s,stroke-width .17s}
.canton-geometria:hover,.canton-geometria.seleccionado{stroke:#082d43;stroke-width:3.5}
.canton-geometria.atenuado{fill-opacity:.79}
.municipio-geometria{fill:none;stroke:#4c6570;stroke-width:.75;opacity:.55;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.barrio-geometria{fill:none;stroke:#25536a;stroke-width:.8;opacity:.85;vector-effect:non-scaling-stroke;stroke-dasharray:3 2}
.etiqueta-mapa{text-anchor:middle;dominant-baseline:middle;font-size:17px;font-weight:780;fill:#17384e;stroke:#fff;stroke-width:3.5px;paint-order:stroke;stroke-linejoin:round;pointer-events:none}
.etiqueta-mapa.metro-numero{font-weight:900;fill:#1e3d50}
.mapa-tooltip{position:absolute;z-index:8;max-width:225px;padding:7px 10px;background:#173449;color:white;border-radius:7px;box-shadow:0 4px 15px #0b35443b;pointer-events:none;font-size:12px}
.controles-zoom{position:absolute;right:14px;top:15px;display:grid;gap:5px}
.controles-zoom button{border:1px solid #cbdde4;background:#fff;min-width:37px;min-height:37px;color:#2b4f62;border-radius:7px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;box-shadow:0 2px 6px #29455616}
.controles-zoom button:hover{background:#edf7f9}
.rosa-vientos{position:absolute;left:16px;bottom:15px;display:flex;flex-direction:column;align-items:center;color:#264759;font-weight:900;font-size:12px;pointer-events:none}
.instruccion-mapa{font-size:11.5px;color:#6a7f8b;padding:0 17px;margin:9px 0 7px}
.leyenda-lineas{border-top:1px solid #e6eef1;padding:10px 17px 13px;display:flex;gap:17px;flex-wrap:wrap;color:#617482;font-size:10.5px}
.leyenda-lineas span{display:inline-flex;align-items:center;gap:8px}
.leyenda-lineas i{display:inline-block;width:26px;height:0;border-top:2px solid #304d5d}
.leyenda-lineas .linea-municipio{border-color:#7a8d94;border-width:1px}
.leyenda-lineas .linea-barrio{border-color:#4b798d;border-style:dashed;border-width:1px}
.panel-detalle{padding:22px 23px;min-height:445px}
.detalle-inicial{height:100%;min-height:365px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#718493}
.detalle-inicial .asterisco{font-size:34px;color:#93c7d0}
.detalle-inicial h3{color:#284658;font-size:21px;letter-spacing:-.03em;margin:8px 0}
.detalle-inicial p{max-width:270px;font-size:13px}
.detalle-encabezado{display:flex;align-items:center;gap:10px;color:#6b7f8a;font-weight:900;font-size:10px;letter-spacing:.13em}
.bolita-color{width:12px;height:12px;border-radius:4px;display:inline-block;border:1px solid #0f324526}
.panel-detalle h3{font-size:clamp(22px,2.3vw,29px);letter-spacing:-.035em;line-height:1.16;margin:13px 0 18px;color:#153347}
.detalle-poblacion{display:flex;flex-direction:column;gap:0}
.detalle-poblacion strong{font-size:clamp(30px,3vw,43px);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.045em}
.detalle-poblacion span{color:#6d8290;font-size:12px;margin-top:5px}
.barra-comparativa{position:relative;height:9px;border-radius:6px;background:#edf2f5;margin:16px 0 8px;overflow:visible}
.barra-comparativa>div:first-child{height:100%;border-radius:6px;background:#4ba1b2;width:0}
.marca-promedio{position:absolute;left:91.27%;top:-4px;width:2px;height:17px;background:#243d4a}
.comparacion-poblacion{font-size:12px;margin:0;color:#5c7480}
.detalle-division{border-top:1px solid #e2eaf0;margin:19px 0 18px}
.panel-detalle h4{font-size:12px;letter-spacing:.025em;margin:0 0 9px;color:#39586a}
.detalle-municipios p{margin:0;font-size:13px;line-height:1.7;color:#465d6a}
.detalle-partes{margin-top:18px}
.detalle-partes p{font-size:12px;line-height:1.65;margin:3px 0 12px;color:#526a78}
.detalle-partes strong{color:#2b4b5e}
.boton-enfocar{display:block;width:100%;margin-top:22px;padding:11px 12px;border:1px solid #b7d8e0;background:#eaf6f8;color:#155a73;border-radius:8px;font-size:12px;font-weight:750}
.boton-enfocar:hover{background:#d9eff4}
.seccion-lista{margin-top:29px}
.titular-lista{margin-bottom:12px}
.cuadricula-cantones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.canton-opcion{background:white;border:1px solid var(--linea);display:flex;align-items:center;gap:11px;padding:12px;border-radius:9px;min-width:0;text-align:left;color:#1b3d4f;transition:border-color .16s,background .16s}
.canton-opcion:hover{border-color:#79aebd;background:#f4fbfc}
.canton-opcion[aria-pressed="true"]{border-color:#267c91;box-shadow:0 0 0 1px #267c91 inset;background:#eef9fa}
.muestra-color{width:8px;align-self:stretch;border-radius:5px;flex-shrink:0}
.numero-lista{font-size:11px;color:#82929c;font-weight:800;flex-shrink:0}
.canton-opcion .info{min-width:0;display:flex;flex-direction:column;gap:3px}
.canton-opcion strong{font-size:12px;line-height:1.23;white-space:normal}
.canton-opcion small{font-size:10.5px;color:#6c8390;white-space:nowrap;font-variant-numeric:tabular-nums}
.datos-fuentes{display:grid;grid-template-columns:2.5fr 1fr;gap:26px;align-items:start;margin-top:26px;padding:20px 23px;background:#e8eff2;border:1px solid #d6e2e7;border-radius:11px}
.datos-fuentes strong{font-size:12px}
.datos-fuentes p{font-size:12px;color:#637987;line-height:1.6;margin:6px 0 0}
.datos-enlaces{display:flex;flex-direction:column;gap:8px}
.datos-enlaces a{font-size:12px;font-weight:700;text-decoration:none}
.datos-enlaces a:hover{text-decoration:underline}
.pie-sitio{border-top:1px solid #d7e4e8;padding:17px 0;color:#6b808c;background:#f8fafb;font-size:11px}
.pie-sitio .contenedor{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.advertencia-noscript{padding:16px;text-align:center}
body.modo-incrustado{background:transparent}
.modo-incrustado .site-head,.modo-incrustado .pie-sitio{display:none}
.modo-incrustado .contenido-principal{padding-top:12px;padding-bottom:13px}
.modo-incrustado .datos-fuentes{margin-top:16px}
@media(max-width:1110px){.explorador{grid-template-columns:minmax(0,1.45fr) minmax(265px,1fr)}.cuadricula-cantones{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.explorador{grid-template-columns:minmax(0,1fr)}.panel-detalle{min-height:0}.detalle-inicial{min-height:145px}.lienzo-mapa{height:410px}.cuadricula-cantones{grid-template-columns:repeat(3,minmax(0,1fr))}.datos-fuentes{grid-template-columns:1fr}.site-head{padding-top:21px}.estado-propuesta{display:none}}
@media(max-width:550px){.cifras-principales{gap:7px 22px}.cifras-principales>div{flex-direction:column;gap:0}.cifras-principales strong{font-size:19px}.cifras-principales span{font-size:10px}.titular-fila{display:block}.intro-seccion{display:block}.subtitulo-mapa{display:none}.barra-mapa{display:block}.grupo-capas{gap:9px 14px}.grupo-vistas{margin-top:8px}.lienzo-mapa{height:340px}.panel-detalle{padding:17px}.cuadricula-cantones{grid-template-columns:repeat(2,minmax(0,1fr))}.datos-fuentes{padding:16px}.leyenda-lineas{gap:7px 14px}}
@media(max-width:350px){.cuadricula-cantones{grid-template-columns:1fr}.opcion-capa{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
[hidden]{display:none!important}

/* Enlace al portal principal cuando la página está en /cantones/. */
.enlace-inicio{color:#a9dae3;text-decoration:none}
.enlace-inicio:hover,.enlace-inicio:focus-visible{color:#fff;text-decoration:underline}
.pie-regresar{color:#186b86;font-weight:750;text-decoration:none}
.pie-regresar:hover,.pie-regresar:focus-visible{text-decoration:underline}
