/* ====== Estilo base y hover de las CCAA ====== */

/* Estado base (todas las CCAA) */
#svg-wrapper svg path.ccaa{
  fill: #2b2b2b;
  opacity: 0.9;
  stroke: #888;
  stroke-width: 1;
  cursor: pointer;
  transition: fill 140ms ease, opacity 140ms ease, stroke-width 140ms ease, filter 140ms ease;
}

/* Hover (pasa el ratón) */
#svg-wrapper svg path.ccaa:hover{
  fill: #2ed573;
  opacity: 1;
  stroke: #fff;
  stroke-width: 1.6;
  filter: drop-shadow(0 0 6px rgba(46, 213, 115, .55));
}

/* Seleccionada (click) */
#svg-wrapper svg path.ccaa.selected{
  fill: #2ecc71;
  opacity: 1;
  stroke: #fff;
  stroke-width: 1.5;
  filter: none;
}

/* (Opcional) Hover sobre la seleccionada: halo sutil */
#svg-wrapper svg path.ccaa.selected:hover{
  filter: drop-shadow(0 0 8px rgba(46, 213, 115, .65));
}

/* ====== Sincronía PATH <-> OVERLAY (todas las CCAA con logo) ====== */

:root { --ov-scale-hover: 1.12; --ov-scale-selected: 1.06; --ov-scale-selhover: 1.14; }

/* Helper: agranda overlay cuando pasas por el overlay */
[id^="overlay-ES"]:hover{
  transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important;
  filter: drop-shadow(0 0 10px rgba(46, 213, 115, .85));
  opacity: 1;
}

/* Lista: ESAN, ESAR, ESAS, ESCB, ESCN, ESCL, ESCM, ESCT, ESCE, ESEX, ESGA, ESMD, ESML, ESMC, ESNC, ESPV, ESRI, ESVC, ESIB */

/* path:hover -> overlay */
#svg-wrapper:has(svg path#ESAN:hover) #overlay-ESAN{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESAR:hover) #overlay-ESAR{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESAS:hover) #overlay-ESAS{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCB:hover) #overlay-ESCB{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCN:hover) #overlay-ESCN{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCL:hover) #overlay-ESCL{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCM:hover) #overlay-ESCM{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCT:hover) #overlay-ESCT{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCE:hover) #overlay-ESCE{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESEX:hover) #overlay-ESEX{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESGA:hover) #overlay-ESGA{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESMD:hover) #overlay-ESMD{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESML:hover) #overlay-ESML{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESMC:hover) #overlay-ESMC{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESNC:hover) #overlay-ESNC{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESPV:hover) #overlay-ESPV{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESRI:hover) #overlay-ESRI{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESVC:hover) #overlay-ESVC{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESIB:hover) #overlay-ESIB{ transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important; filter: drop-shadow(0 0 10px rgba(46,213,115,.85)); opacity: 1; }

/* path.selected -> overlay */
#svg-wrapper:has(svg path#ESAN.selected) #overlay-ESAN{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESAR.selected) #overlay-ESAR{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESAS.selected) #overlay-ESAS{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCB.selected) #overlay-ESCB{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCN.selected) #overlay-ESCN{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCL.selected) #overlay-ESCL{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCM.selected) #overlay-ESCM{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCT.selected) #overlay-ESCT{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESCE.selected) #overlay-ESCE{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESEX.selected) #overlay-ESEX{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESGA.selected) #overlay-ESGA{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESMD.selected) #overlay-ESMD{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESML.selected) #overlay-ESML{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESMC.selected) #overlay-ESMC{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESNC.selected) #overlay-ESNC{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESPV.selected) #overlay-ESPV{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESRI.selected) #overlay-ESRI{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESVC.selected) #overlay-ESVC{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }
#svg-wrapper:has(svg path#ESIB.selected) #overlay-ESIB{ transform: translate(-50%, -50%) scale(var(--ov-scale-selected)) !important; filter: drop-shadow(0 0 10px rgba(0,231,101,.85)); opacity: 1; }

/* overlay:hover -> path (equivalente al hover en el mapa) */
#svg-wrapper:has(#overlay-ESAN:hover) svg path#ESAN,
#svg-wrapper:has(#overlay-ESAR:hover) svg path#ESAR,
#svg-wrapper:has(#overlay-ESAS:hover) svg path#ESAS,
#svg-wrapper:has(#overlay-ESCB:hover) svg path#ESCB,
#svg-wrapper:has(#overlay-ESCN:hover) svg path#ESCN,
#svg-wrapper:has(#overlay-ESCL:hover) svg path#ESCL,
#svg-wrapper:has(#overlay-ESCM:hover) svg path#ESCM,
#svg-wrapper:has(#overlay-ESCT:hover) svg path#ESCT,
#svg-wrapper:has(#overlay-ESCE:hover) svg path#ESCE,
#svg-wrapper:has(#overlay-ESEX:hover) svg path#ESEX,
#svg-wrapper:has(#overlay-ESGA:hover) svg path#ESGA,
#svg-wrapper:has(#overlay-ESMD:hover) svg path#ESMD,
#svg-wrapper:has(#overlay-ESML:hover) svg path#ESML,
#svg-wrapper:has(#overlay-ESMC:hover) svg path#ESMC,
#svg-wrapper:has(#overlay-ESNC:hover) svg path#ESNC,
#svg-wrapper:has(#overlay-ESPV:hover) svg path#ESPV,
#svg-wrapper:has(#overlay-ESRI:hover) svg path#ESRI,
#svg-wrapper:has(#overlay-ESVC:hover) svg path#ESVC,
#svg-wrapper:has(#overlay-ESIB:hover) svg path#ESIB{
  fill:#2ed573!important; opacity:1!important; stroke:#fff!important; stroke-width:1.6!important;
  filter:drop-shadow(0 0 6px rgba(46,213,115,.55))!important;
}

/* ====== Fallback sin :has() (JS del app.py pone data-hover-<RID>=1) ====== */
#svg-wrapper[data-hover-ESAN="1"] svg path#ESAN,
#svg-wrapper[data-hover-ESAR="1"] svg path#ESAR,
#svg-wrapper[data-hover-ESAS="1"] svg path#ESAS,
#svg-wrapper[data-hover-ESCB="1"] svg path#ESCB,
#svg-wrapper[data-hover-ESCN="1"] svg path#ESCN,
#svg-wrapper[data-hover-ESCL="1"] svg path#ESCL,
#svg-wrapper[data-hover-ESCM="1"] svg path#ESCM,
#svg-wrapper[data-hover-ESCT="1"] svg path#ESCT,
#svg-wrapper[data-hover-ESCE="1"] svg path#ESCE,
#svg-wrapper[data-hover-ESEX="1"] svg path#ESEX,
#svg-wrapper[data-hover-ESGA="1"] svg path#ESGA,
#svg-wrapper[data-hover-ESMD="1"] svg path#ESMD,
#svg-wrapper[data-hover-ESML="1"] svg path#ESML,
#svg-wrapper[data-hover-ESMC="1"] svg path#ESMC,
#svg-wrapper[data-hover-ESNC="1"] svg path#ESNC,
#svg-wrapper[data-hover-ESPV="1"] svg path#ESPV,
#svg-wrapper[data-hover-ESRI="1"] svg path#ESRI,
#svg-wrapper[data-hover-ESVC="1"] svg path#ESVC,
#svg-wrapper[data-hover-ESIB="1"] svg path#ESIB{
  fill:#2ed573!important; opacity:1!important; stroke:#fff!important; stroke-width:1.6!important;
  filter:drop-shadow(0 0 6px rgba(46,213,115,.55))!important;
}

#svg-wrapper[data-hover-ESAN="1"] #overlay-ESAN,
#svg-wrapper[data-hover-ESAR="1"] #overlay-ESAR,
#svg-wrapper[data-hover-ESAS="1"] #overlay-ESAS,
#svg-wrapper[data-hover-ESCB="1"] #overlay-ESCB,
#svg-wrapper[data-hover-ESCN="1"] #overlay-ESCN,
#svg-wrapper[data-hover-ESCL="1"] #overlay-ESCL,
#svg-wrapper[data-hover-ESCM="1"] #overlay-ESCM,
#svg-wrapper[data-hover-ESCT="1"] #overlay-ESCT,
#svg-wrapper[data-hover-ESCE="1"] #overlay-ESCE,
#svg-wrapper[data-hover-ESEX="1"] #overlay-ESEX,
#svg-wrapper[data-hover-ESGA="1"] #overlay-ESGA,
#svg-wrapper[data-hover-ESMD="1"] #overlay-ESMD,
#svg-wrapper[data-hover-ESML="1"] #overlay-ESML,
#svg-wrapper[data-hover-ESMC="1"] #overlay-ESMC,
#svg-wrapper[data-hover-ESNC="1"] #overlay-ESNC,
#svg-wrapper[data-hover-ESPV="1"] #overlay-ESPV,
#svg-wrapper[data-hover-ESRI="1"] #overlay-ESRI,
#svg-wrapper[data-hover-ESVC="1"] #overlay-ESVC,
#svg-wrapper[data-hover-ESIB="1"] #overlay-ESIB{
  transform: translate(-50%, -50%) scale(var(--ov-scale-hover)) !important;
  filter: drop-shadow(0 0 10px rgba(46, 213, 115, .85));
  opacity: 1;
}
