.elementor-556 .elementor-element.elementor-element-cd3a20e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-cd3a20e *//* ===== Mapa reuniones presenciales OA ===== */
.oa-map {
  --oa-crema: #fffdf5;
  --oa-tierra: #f2faea;
  --oa-mancha: #edf8e0;
  --oa-linea: #6f746c;
  --oa-verde: #27a20c;
  --oa-verde-osc: #1c7a08;
  --oa-verde-suave: #c9e9b4;
  --oa-negro: #050505;
  --oa-texto: #343434;
  --oa-gris: #77786f;
  --oa-borde: #e2dfd7;

  font-family: inherit;
  color: var(--oa-texto);
  background: var(--oa-crema);
  line-height: 1.6;
  padding: 56px 0;
}
.oa-map *, .oa-map *::before, .oa-map *::after { box-sizing: border-box; }
.oa-map p { margin: 0; }

/* Layout: mapa a la izquierda, texto a la derecha */
.oa-map__layout {
  max-width: 1320px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  gap: 40px; align-items: center;
}

/* ---------- Mapa ---------- */
.oa-map__svg { display: block; width: 112%; max-width: none; height: auto; margin-left: -6%; overflow: visible; }
.oa-map__blob { fill: var(--oa-mancha); }
.oa-map__inset {
  fill: none; stroke: #a3a69e; stroke-width: 1; vector-effect: non-scaling-stroke;
}

.oa-map__region { cursor: pointer; outline: none; }
.oa-map__land {
  fill: var(--oa-region-fill, var(--oa-tierra));
  stroke: var(--oa-linea); stroke-width: 1; stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transition: fill .2s ease;
}
.oa-map__hit { fill: transparent; }

.oa-map__pin {
  filter: drop-shadow(0 3px 3px rgba(39, 162, 12, .3));
}
.oa-map__pin-shape {
  fill: var(--oa-pin-fill, var(--oa-verde));
  transform: scale(var(--oa-pin-s, 1)) translateY(var(--oa-pin-y, 0px));
  transition: fill .2s ease, transform .2s ease;
}
.oa-map__pin-eye {
  fill: #fff;
  transform: scale(var(--oa-pin-s, 1)) translateY(var(--oa-pin-y, 0px));
  transition: transform .2s ease;
}

/* Nombre de la comunidad al pasar el ratón */
.oa-map__labels { pointer-events: none; }
.oa-map__label {
  font-family: inherit; font-size: 21px; font-weight: 600;
  fill: var(--oa-negro);
  stroke: var(--oa-crema); stroke-width: 6px; stroke-linejoin: round; paint-order: stroke;
  text-anchor: middle; dominant-baseline: middle;
  opacity: var(--oa-label-op, 0);
  transform: translateY(var(--oa-label-y, 6px));
  transform-box: fill-box; transform-origin: center;
  transition: opacity .2s ease, transform .2s ease;
}

/* ---------- Texto ---------- */
.oa-map__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase;
  color: var(--oa-negro);
}
.oa-map__eyebrow::before {
  content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--oa-verde);
}
.oa-map__title {
  margin: 14px 0 14px; font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 400; line-height: 1.12; letter-spacing: -.01em; color: var(--oa-negro);
}
.oa-map__title strong { display: block; font-weight: 700; letter-spacing: -.02em; }
.oa-map__intro { font-size: 14px; max-width: 46ch; margin-bottom: 22px !important; }

/* Lista de comunidades en píldoras */
.oa-map__list ul {
  list-style: none; margin: 0 0 22px; padding: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
}
.oa-map__list li { margin: 0; padding: 0; }
.oa-map a.oa-map__chip {
  display: inline-block; padding: 5px 12px; border-radius: 999px;
  font-size: 13px; line-height: 1.4; text-decoration: none !important;
  color: var(--oa-chip-color, var(--oa-texto)) !important;
  background: var(--oa-chip-bg, #fff);
  border: 1px solid var(--oa-chip-border, var(--oa-borde));
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.oa-map a.oa-map__btn {
  display: inline-block; padding: 11px 22px; border-radius: 6px;
  background: #fff; border: 1px solid #d9d7d0;
  color: var(--oa-negro) !important; text-decoration: none !important;
  font-size: 11px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase;
  transition: border-color .2s ease, color .2s ease;
}
.oa-map a.oa-map__btn:hover { border-color: var(--oa-verde); color: var(--oa-verde-osc) !important; }

/* Iluminado cruzado: mapa ↔ lista */
.oa-map:has([data-ccaa="andalucia"]:is(:hover,:focus-visible)) [data-ccaa="andalucia"],
.oa-map:has([data-ccaa="aragon"]:is(:hover,:focus-visible)) [data-ccaa="aragon"],
.oa-map:has([data-ccaa="asturias"]:is(:hover,:focus-visible)) [data-ccaa="asturias"],
.oa-map:has([data-ccaa="canarias"]:is(:hover,:focus-visible)) [data-ccaa="canarias"],
.oa-map:has([data-ccaa="cantabria"]:is(:hover,:focus-visible)) [data-ccaa="cantabria"],
.oa-map:has([data-ccaa="castilla-y-leon"]:is(:hover,:focus-visible)) [data-ccaa="castilla-y-leon"],
.oa-map:has([data-ccaa="castilla-la-mancha"]:is(:hover,:focus-visible)) [data-ccaa="castilla-la-mancha"],
.oa-map:has([data-ccaa="cataluna"]:is(:hover,:focus-visible)) [data-ccaa="cataluna"],
.oa-map:has([data-ccaa="ceuta"]:is(:hover,:focus-visible)) [data-ccaa="ceuta"],
.oa-map:has([data-ccaa="comunidad-valenciana"]:is(:hover,:focus-visible)) [data-ccaa="comunidad-valenciana"],
.oa-map:has([data-ccaa="madrid"]:is(:hover,:focus-visible)) [data-ccaa="madrid"],
.oa-map:has([data-ccaa="extremadura"]:is(:hover,:focus-visible)) [data-ccaa="extremadura"],
.oa-map:has([data-ccaa="galicia"]:is(:hover,:focus-visible)) [data-ccaa="galicia"],
.oa-map:has([data-ccaa="islas-baleares"]:is(:hover,:focus-visible)) [data-ccaa="islas-baleares"],
.oa-map:has([data-ccaa="la-rioja"]:is(:hover,:focus-visible)) [data-ccaa="la-rioja"],
.oa-map:has([data-ccaa="melilla"]:is(:hover,:focus-visible)) [data-ccaa="melilla"],
.oa-map:has([data-ccaa="navarra"]:is(:hover,:focus-visible)) [data-ccaa="navarra"],
.oa-map:has([data-ccaa="pais-vasco"]:is(:hover,:focus-visible)) [data-ccaa="pais-vasco"],
.oa-map:has([data-ccaa="murcia"]:is(:hover,:focus-visible)) [data-ccaa="murcia"] {
  --oa-region-fill: var(--oa-verde-suave);
  --oa-pin-fill: var(--oa-verde-osc);
  --oa-pin-y: -3px;
  --oa-label-op: 1;
  --oa-label-y: 0px;
  --oa-chip-bg: var(--oa-tierra);
  --oa-chip-border: var(--oa-verde);
  --oa-chip-color: var(--oa-verde-osc);
}

/* Respaldo para navegadores sin :has() */
.oa-map__region:hover, .oa-map__region:focus-visible {
  --oa-region-fill: var(--oa-verde-suave); --oa-pin-fill: var(--oa-verde-osc); --oa-pin-y: -3px;
}
.oa-map a.oa-map__chip:hover, .oa-map a.oa-map__chip:focus-visible {
  --oa-chip-bg: var(--oa-tierra); --oa-chip-border: var(--oa-verde); --oa-chip-color: var(--oa-verde-osc);
}

/* Foco con teclado */
.oa-map__region:focus-visible .oa-map__land { stroke: var(--oa-verde-osc); stroke-width: 2; }
.oa-map a.oa-map__chip:focus-visible,
.oa-map a.oa-map__btn:focus-visible { outline: 2px solid var(--oa-verde); outline-offset: 2px; }

/* Notas */
.oa-map__notas { margin-top: 26px; display: grid; gap: 6px; font-size: 12.5px; color: var(--oa-gris); }
.oa-map__notas p { display: flex; gap: 10px; align-items: baseline; }
.oa-map__notas a { color: var(--oa-verde-osc) !important; }
.oa-map__dot { flex: 0 0 5px; height: 5px; border-radius: 50%; background: var(--oa-verde); transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  .oa-map__land, .oa-map__pin-shape, .oa-map__pin-eye, .oa-map__label,
  .oa-map a.oa-map__chip, .oa-map a.oa-map__btn { transition: none; }
}

/* ---------- Tablet / móvil ---------- */
@media (max-width: 900px) {
  .oa-map { padding: 40px 0; }
  .oa-map__layout { grid-template-columns: 1fr; gap: 28px; }
  .oa-map__svg { width: 100%; margin-left: 0; }
  .oa-map__label { font-size: 34px; stroke-width: 8px; }
  .oa-map__pin { --oa-pin-s: 1.45; }
}
@media (max-width: 480px) {
  .oa-map__layout { padding: 0 16px; }
  .oa-map a.oa-map__btn { display: block; text-align: center; }
}/* End custom CSS */