/* =========================================================================
   SIP — Sistema de diseño (v1)
   Tokens y reglas comunes: colores, títulos, botones, flechas, listas,
   íconos y separación de secciones. Se carga después de sip.css.
   Los selectores empiezan con "html body" para ganarle al CSS propio de
   cada elemento (que se imprime en la página) y al CSS adicional del sitio.
   ========================================================================= */

/* ---------- tokens ---------- */
:root {
  --azul: #002B86;
  --azul-oscuro: #011F5F;
  --celeste: #009DDE;
  --celeste-texto: #006B9C;
  --celeste-claro: #8FD3F5;
  --naranjo: #EE9224;
  --amarillo: #FDD400;
  --rojo-seccion: #E34546;
  --verde-seccion: #8DBF2A;
  --texto: #434343;
  --texto-suave: #5E6678;
  --borde: #D5DAE4;
  --gris: #EAEAEA;
  --gris-claro: #F4F6FA;
  --blanco: #FFFFFF;

  --space-2: 8px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-14: 56px;
  --space-20: 80px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-pill: 999px;
  --sombra-tarjeta: 0 2px 12px rgba(0, 43, 134, .10);
  --sombra-flecha: 0 2px 6px rgba(0, 0, 0, .35);

  --seccion-pad: var(--space-20);
  --titulo-gap: var(--space-10);
  --diagonal: 44px;

  /* Variables antiguas del tema apuntando a los tokens */
  --sip-azul: var(--azul);
  --sip-azul-oscuro: var(--azul-oscuro);
  --sip-celeste: var(--celeste);
  --sip-naranjo: var(--naranjo);
  --sip-amarillo: var(--amarillo);
  --sip-texto: var(--texto);
  --sip-gris: var(--gris);
}
@media (max-width: 980px) {
  :root {
    --seccion-pad: var(--space-14);
    --titulo-gap: var(--space-8);
    --diagonal: 24px;
  }
}

/* ---------- texto ---------- */
html body { font-size: 16px; line-height: 26px; color: var(--texto); }
html body .sip-mod-texto a:not(.sip-btn):not(.et_pb_button),
html body .entry-content a:not(.sip-btn):not(.et_pb_button) { color: var(--celeste-texto); }
html body .sip-fondo-oscuro .sip-mod-texto a:not(.sip-btn):not(.et_pb_button) { color: var(--blanco); }

/* ---------- títulos ---------- */
html body .sip-single-head .entry-title { color: var(--azul); }
/* Fechas */
html body .sip-post-date,
html body .sip-post-meta,
html body .sip-title-meta { color: var(--celeste-texto) !important; }
html body .sip-fondo-oscuro .sip-post-meta,
html body .sip-fondo-oscuro .sip-post-meta *,
html body .sip-fondo-oscuro .sip-title-meta { color: var(--blanco) !important; }

/* Interlineado de títulos para todo el sitio (reemplaza los 1em y 0.4em heredados) */
html body h1 { line-height: 1.18 !important; }
html body h2 { line-height: 1.23 !important; }
html body h3 { line-height: 1.3 !important; }
html body h4 { line-height: 1.35 !important; }
html body h5, html body h6 { line-height: 1.4 !important; }
/* Título de sección: h2 en mayúsculas, azul, con la línea naranja de 80×4 debajo. */
html body .sip-section .sip-mod-texto h2 { line-height: 32px !important; }
html body .sip-mod-texto:has(h2) + .sip-mod-separador { height: auto; margin-bottom: var(--titulo-gap) !important; justify-content: inherit; }
html body .sip-mod-texto:has(h2) + .sip-mod-separador .sip-divider-line {
  width: 80px !important; max-width: 80px; margin: 0 auto;
  border-top: 4px solid var(--naranjo) !important;
}
/* Si debajo del título va «Ver más», ese texto queda entre la línea y el contenido */
html body .sip-mod-texto:has(h2) + .sip-mod-separador:has(+ .sip-mod-texto .flecha-derecha) { margin-bottom: var(--space-4) !important; }
html body .sip-mod-texto:has(.flecha-derecha) { margin-bottom: var(--space-6) !important; margin-left: 0 !important; margin-right: 0 !important; }

@media (max-width: 980px) {
  html body h1 { font-size: 28px !important; line-height: 34px !important; }
  html body .sip-section .sip-mod-texto h2 { font-size: 22px !important; line-height: 28px !important; }
}

/* ---------- secciones ---------- */
html body .sip-section:not(.sip-full):not(.popup) {
  padding-top: var(--seccion-pad) !important;
  padding-bottom: var(--seccion-pad) !important;
}
html body .sip-section.sip-con-diag-arriba:not(.popup) { padding-top: calc(var(--seccion-pad) + var(--diagonal)) !important; }
html body .sip-section.sip-con-diag-abajo:not(.popup) { padding-bottom: calc(var(--seccion-pad) + var(--diagonal)) !important; }
/* La primera y la última fila no suman relleno: el ritmo lo da la sección. */
html body .sip-section:not(.sip-full):not(.popup) > .sip-row:nth-child(1 of .sip-row) { padding-top: 0 !important; }
html body .sip-section:not(.sip-full):not(.popup) > .sip-row:nth-last-child(1 of .sip-row) { padding-bottom: 0 !important; }
/* Diagonal */
html body .sip-divider--diag { height: var(--diagonal) !important; }

/* ---------- botones ---------- */
html body .sip-btn,
html body .et_pb_button,
html body .wpcf7 input[type=submit] {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 10px 24px !important;
  font-size: 15px !important; font-weight: 700 !important; line-height: 20px !important;
  text-transform: none !important; letter-spacing: 0;
  color: var(--blanco) !important; background-color: var(--azul) !important;
  border: 2px solid var(--azul) !important; border-radius: var(--radius-pill) !important;
  box-shadow: none; opacity: 1;
}
html body .sip-btn:hover,
html body .et_pb_button:hover,
html body .wpcf7 input[type=submit]:hover { background-color: var(--azul-oscuro) !important; border-color: var(--azul-oscuro) !important; padding: 10px 24px !important; opacity: 1; }
html body .sip-btn::after, html body .et_pb_button::after { display: none !important; }
html body .sip-btn:focus-visible, html body .et_pb_button:focus-visible { outline: 3px solid var(--amarillo); outline-offset: 2px; }
/* Secundario */
html body .sip-btn--secundario { background-color: transparent !important; color: var(--azul) !important; }
html body .sip-btn--secundario:hover { background-color: var(--azul) !important; color: var(--blanco) !important; }
/* Inverso: sobre fondos oscuros y sobre fotos */
html body .sip-fondo-oscuro .sip-btn,
html body .sip-fondo-oscuro .et_pb_button,
html body .sip-slider .sip-btn,
html body .sip-btn--inverso {
  background-color: var(--blanco) !important; border-color: var(--blanco) !important; color: var(--azul) !important;
}
html body .sip-fondo-oscuro .sip-btn:hover,
html body .sip-fondo-oscuro .et_pb_button:hover,
html body .sip-slider .sip-btn:hover,
html body .sip-btn--inverso:hover { background-color: var(--amarillo) !important; border-color: var(--amarillo) !important; color: var(--azul) !important; }
/* Grande (hero) */
html body .sip-slider .sip-btn, html body .sip-btn--grande { min-height: 52px; font-size: 17px !important; padding: 14px 32px !important; }
html body .sip-slider .sip-btn:hover { padding: 14px 32px !important; }

/* Enlace con flecha («Leer más →», «Ver más →») */
html body .sip-enlace,
html body .sip-more {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 700; line-height: 20px; color: var(--celeste-texto) !important; text-decoration: none;
}
html body .sip-enlace::after,
html body .sip-more::after,
html body .flecha-derecha::after {
  content: ""; flex: 0 0 auto; width: 22px; height: 22px; background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: transform .2s;
}
html body .sip-enlace:hover, html body .sip-more:hover { opacity: 1; }
html body .sip-enlace:hover::after, html body .sip-more:hover::after { transform: translateX(4px); }

/* «Ver más» escrito en el editor junto a un título (span.flecha-derecha) */
html body span.flecha-derecha { position: static; display: inline-flex; vertical-align: middle; margin: 0 0 0 4px; }
html body .flecha-derecha::after { display: inline-block; font-family: inherit; background-image: none; background-size: auto; }
html body .sip-mod-texto p:has(> .flecha-derecha) { display: inline-flex; align-items: center; font-size: 15px !important; font-weight: 700; color: var(--celeste-texto) !important; }
/* Flecha destacada: sobre fondos de color, blanca y más grande */
html body .sip-fondo-oscuro .sip-mod-texto p:has(> .flecha-derecha) { font-size: 17px !important; color: var(--blanco) !important; }
html body .sip-fondo-oscuro .flecha-derecha::after { width: 30px; height: 30px; }
html body .sip-mod-texto:has(.flecha-derecha) a:hover .flecha-derecha::after,
html body .sip-mod-texto[data-sip-href]:hover .flecha-derecha::after { transform: translateX(4px); }

/* ---------- flechas de carrusel ---------- */
html body .sip-flecha-car {
  width: 44px !important; height: 44px !important; padding: 0 !important;
  display: inline-grid; place-items: center;
  background: none !important; border: 0 !important; border-radius: var(--radius-sm) !important; box-shadow: none !important;
  color: var(--azul); font-size: 0 !important; line-height: 0; cursor: pointer;
  transition: transform .2s, opacity .2s;
}
html body .sip-flecha-car .sip-chevron {
  display: block; width: 36px; height: 36px;
  fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
}
html body .sip-flecha-car:hover { transform: scale(1.12); box-shadow: none !important; }
html body .ig-car__nav.sip-flecha-car:hover { transform: translateY(-50%) scale(1.12); }
html body .sip-flecha-car:focus-visible { outline: 3px solid var(--amarillo); outline-offset: 2px; }
html body .ig-car__nav.sip-flecha-car::before { display: none; }
/* Blancas con sombra sobre fondos oscuros o fotos */
html body .sip-fondo-oscuro .sip-flecha-car,
html body .sip-slider .sip-flecha-car { color: var(--blanco); }
html body .sip-slider .sip-flecha-car .sip-chevron,
html body .sip-fondo-oscuro .sip-flecha-car .sip-chevron { filter: drop-shadow(var(--sombra-flecha)); }
html body .sip-slider-arrow.sip-flecha-car { padding: 0 !important; margin: 0 12px; }
html body .colegios-carrusel__nav .sip-flecha-car:hover { color: var(--amarillo); }
html body .colegios-carrusel__nav button polyline { transform: none; }

/* ---------- listas ---------- */
html body .sip-mod-texto ul:where(:not([class]), .wp-block-list),
html body .entry-content ul:where(:not([class]), .wp-block-list),
html body .sip-mod-contenido_entrada ul:where(:not([class]), .wp-block-list) { list-style: none; padding: 0 0 var(--space-4); margin: 0; }
html body .sip-mod-texto ul:where(:not([class]), .wp-block-list) > li,
html body .entry-content ul:where(:not([class]), .wp-block-list) > li,
html body .sip-mod-contenido_entrada ul:where(:not([class]), .wp-block-list) > li { position: relative; padding-left: 24px; }
html body .sip-mod-texto ul:where(:not([class]), .wp-block-list) > li + li,
html body .entry-content ul:where(:not([class]), .wp-block-list) > li + li,
html body .sip-mod-contenido_entrada ul:where(:not([class]), .wp-block-list) > li + li { margin-top: var(--space-2); }
html body .sip-mod-texto ul:where(:not([class]), .wp-block-list) > li::before,
html body .entry-content ul:where(:not([class]), .wp-block-list) > li::before,
html body .sip-mod-contenido_entrada ul:where(:not([class]), .wp-block-list) > li::before {
  content: ""; position: absolute; left: 4px; top: calc(.5lh - 4px); width: 8px; height: 8px; border-radius: 50%; background: var(--naranjo);
}
html body .sip-mod-texto ul:where(:not([class]), .wp-block-list) ul > li::before,
html body .entry-content ul:where(:not([class]), .wp-block-list) ul > li::before,
html body .sip-mod-contenido_entrada ul:where(:not([class]), .wp-block-list) ul > li::before { width: 10px; height: 2px; border-radius: 0; top: calc(.5lh - 1px); left: 3px; background: var(--celeste); }
html body .sip-mod-texto ul:where(:not([class]), .wp-block-list) ul,
html body .entry-content ul:where(:not([class]), .wp-block-list) ul,
html body .sip-mod-contenido_entrada ul:where(:not([class]), .wp-block-list) ul { padding: var(--space-2) 0 0; }
/* Numerada */
html body .sip-mod-texto ol:where(:not([class]), .wp-block-list),
html body .entry-content ol:where(:not([class]), .wp-block-list),
html body .sip-mod-contenido_entrada ol:where(:not([class]), .wp-block-list) { list-style: none; counter-reset: sip-n; padding: 0 0 var(--space-4); margin: 0; }
html body .sip-mod-texto ol:where(:not([class]), .wp-block-list) > li,
html body .entry-content ol:where(:not([class]), .wp-block-list) > li,
html body .sip-mod-contenido_entrada ol:where(:not([class]), .wp-block-list) > li { position: relative; padding-left: 32px; counter-increment: sip-n; }
html body .sip-mod-texto ol:where(:not([class]), .wp-block-list) > li + li,
html body .entry-content ol:where(:not([class]), .wp-block-list) > li + li,
html body .sip-mod-contenido_entrada ol:where(:not([class]), .wp-block-list) > li + li { margin-top: var(--space-2); }
html body .sip-mod-texto ol:where(:not([class]), .wp-block-list) > li::before,
html body .entry-content ol:where(:not([class]), .wp-block-list) > li::before,
html body .sip-mod-contenido_entrada ol:where(:not([class]), .wp-block-list) > li::before { content: counter(sip-n); position: absolute; left: 0; top: 0; font-weight: 800; color: var(--azul); }
/* Verificación (clase de bloque "sip-lista--check" en el editor) */
html body ul.sip-lista--check { list-style: none; padding: 0 0 var(--space-4); margin: 0; }
html body ul.sip-lista--check > li { position: relative; padding-left: 30px; }
html body ul.sip-lista--check > li + li { margin-top: var(--space-2); }
html body ul.sip-lista--check > li::before {
  content: ""; position: absolute; left: 0; top: calc(.5lh - 9px); width: 18px; height: 18px; background: var(--celeste-texto);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Sobre fondos oscuros */
html body .sip-fondo-oscuro ul:where(:not([class]), .wp-block-list) > li,
html body .sip-fondo-oscuro ol:where(:not([class]), .wp-block-list) > li { color: var(--blanco); }
html body .sip-fondo-oscuro ol:where(:not([class]), .wp-block-list) > li::before { color: var(--blanco); }
html body .sip-fondo-oscuro ul.sip-lista--check > li::before { background: var(--celeste-claro); }

/* ---------- íconos ---------- */
html body .sip-blurb .sip-icon { font-size: 56px !important; }
/* Ícono suelto (por ejemplo el «+» sobre las fotos de Nuestros focos) */
html body .sip-mod-icono .sip-icon { font-size: 40px !important; }
html body .sip-icon--20 { font-size: 20px !important; }
html body .sip-icon--32 { font-size: 32px !important; }
html body .sip-icon--56 { font-size: 56px !important; }
html body .sip-fondo-oscuro .sip-blurb .sip-icon:not([style]),
html body .sip-fondo-oscuro .sip-mod-icono .sip-icon:not([style]) { color: var(--blanco); }
/* Redes sociales: cada una mantiene el color de su marca (definido en el bloque). */

/* ---------- página de noticias ---------- */
html body .sip-not__meta { line-height: 16px; gap: 4px 8px; color: var(--celeste-texto); }
html body .sip-not__mas.sip-enlace { align-self: flex-start; padding-top: 8px; }

/* ---------- puntos de paginación (slider, noticias, colegios) ----------
   Punto de 12px con área de toque de 24px. Los inactivos se ven siempre. */
html body .sip-slider-dots button,
html body .colegios-carrusel__dots button {
  width: 24px !important; height: 24px !important; padding: 6px !important; margin: 0 !important;
  border: 0 !important; border-radius: 50% !important; background-clip: content-box !important;
  background-color: rgba(0, 43, 134, .25) !important; opacity: 1 !important; cursor: pointer;
}
html body .sip-slider-dots button.is-active,
html body .colegios-carrusel__dots button.is-active { background-color: var(--azul) !important; }
html body .colegios-carrusel__dots { gap: 4px !important; }
/* Sobre fotos y fondos oscuros: blancos */
html body .sip-slider-dots button,
html body .sip-fondo-oscuro .colegios-carrusel__dots button { background-color: rgba(255, 255, 255, .5) !important; }
html body .sip-slider-dots button.is-active,
html body .sip-fondo-oscuro .colegios-carrusel__dots button.is-active { background-color: var(--blanco) !important; }

/* ---------- pin de comuna (carrusel de colegios) ---------- */
html body .sip-pin { display: inline-block; width: 14px; height: 14px; margin-right: 4px; vertical-align: -1px; fill: currentColor; }

/* ---------- página de noticias: zona azul con diagonal ---------- */
html body .sip-not__azul { position: relative; background: var(--azul); padding-bottom: calc(var(--space-14) + var(--diagonal)); }
html body .sip-not__azul--dest { padding-bottom: calc(var(--space-10) + var(--diagonal)); }
html body .sip-not__azul .sip-not__cab { background: none; padding: var(--space-8) 0 var(--space-10); }
html body .sip-not__diag { position: absolute; left: 0; bottom: -1px; width: 100%; height: calc(var(--diagonal) + 1px); display: block; }
html body .sip-not__diag path { fill: var(--gris); }
html body .sip-not__dest { position: relative; z-index: 1; }
html body .sip-not__cuerpo { margin-top: 0; }
html body .sip-not__filtros { margin-top: var(--space-10); }
html body .sip-not__azul--dest + .sip-not__cuerpo .sip-not__filtros { margin-top: var(--space-6); }
/* Etiquetas sobre la foto (colegio y categorías) */
html body .sip-not__card { position: relative; }
html body .sip-not__tags { position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
html body .sip-not__tag {
  pointer-events: auto; display: inline-block; padding: 5px 10px; border-radius: var(--radius-sm);
  background: var(--azul); color: var(--blanco) !important; font-size: 11px; line-height: 14px; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; box-shadow: 0 2px 6px rgba(0, 0, 0, .18); transition: background-color .2s;
}
html body .sip-not__tag:hover { background: var(--azul-oscuro); opacity: 1; }
html body .sip-not__tag:focus-visible { outline: 3px solid var(--amarillo); outline-offset: 2px; }
html body .sip-not__card .sip-not__meta { justify-content: flex-start; }
html body .sip-not__card .sip-not__fecha { color: var(--texto-suave); }

/* ---------- noticia individual ---------- */
html body .noticia-ultima .sip-post-title a { color: var(--azul); }
html body .noticia-ultima .sip-post-title a:hover { color: var(--celeste-texto); }
/* Botones escritos en el editor (bloque Botón y botones antiguos) = primario */
html body .entry-content .wp-block-button__link,
html body .entry-content a.small-button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 24px !important; margin: 16px 0;
  background: var(--azul) !important; color: var(--blanco) !important; border: 0 !important; border-radius: var(--radius-pill) !important;
  font-size: 15px !important; font-weight: 700 !important; line-height: 20px !important; text-decoration: none;
}
html body .entry-content .wp-block-button__link:hover,
html body .entry-content a.small-button:hover { background: var(--azul-oscuro) !important; color: var(--blanco) !important; opacity: 1; }

/* ---------- migas de pan ---------- */
.sip-migas ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 20px; font-weight: 600; }
.sip-migas li { display: inline-flex; align-items: center; min-width: 0; color: var(--texto-suave); }
.sip-migas li + li::before {
  content: ""; width: 14px; height: 14px; margin: 0 6px; flex: 0 0 auto; background: currentColor; opacity: .7;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.sip-migas a { color: var(--celeste-texto); text-decoration: none; }
.sip-migas a:hover { text-decoration: underline; opacity: 1; }
.sip-migas [aria-current] { color: var(--texto-suave); font-weight: 500; max-width: 48ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sip-migas-barra { background: var(--blanco); border-bottom: 1px solid var(--borde); }
.sip-migas-barra__ancho { max-width: var(--sip-ancho, 1080px); margin: 0 auto; padding: 12px 24px; box-sizing: content-box; }
/* Sobre azul (cabecera de Noticias) */
.sip-migas--sobre-azul { margin-bottom: var(--space-4); }
.sip-migas--sobre-azul li { color: var(--celeste-claro); }
.sip-migas--sobre-azul a { color: var(--blanco); }
.sip-migas--sobre-azul [aria-current] { color: var(--celeste-claro); }
@media (max-width: 980px) {
  .sip-migas-barra__ancho { padding: 10px 20px; }
  .sip-migas [aria-current] { max-width: 28ch; }
}

/* ---------- galería slider en noticias (bloque Galería, estilo «Slider») ---------- */
.sip-galslider { position: relative; margin: var(--space-6) 0; }
html body .wp-block-gallery.is-style-sip-slider {
  display: flex !important; flex-wrap: nowrap !important; gap: 0 !important; margin: 0 !important; padding: 0 !important;
  overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain;
  scrollbar-width: none; border-radius: var(--radius-md); background: var(--azul-oscuro);
}
html body .wp-block-gallery.is-style-sip-slider::-webkit-scrollbar { display: none; }
html body .wp-block-gallery.is-style-sip-slider:focus-visible { outline: 3px solid var(--amarillo); outline-offset: 2px; }
html body .wp-block-gallery.is-style-sip-slider > .wp-block-image {
  flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; margin: 0 !important;
  scroll-snap-align: start; position: relative; aspect-ratio: 3 / 2; display: flex !important; align-items: center; justify-content: center;
}
html body .wp-block-gallery.is-style-sip-slider > .wp-block-image > a { display: contents; }
html body .wp-block-gallery.is-style-sip-slider > .wp-block-image img {
  width: 100% !important; height: 100% !important; object-fit: contain !important; border-radius: 0 !important;
}
/* Pie de cada foto */
html body .wp-block-gallery.is-style-sip-slider > .wp-block-image figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; margin: 0; max-height: none; overflow: visible;
  padding: 48px 72px 16px; background: linear-gradient(180deg, rgba(1, 31, 95, 0), rgba(1, 31, 95, .85));
  color: var(--blanco); font-size: 14px; line-height: 20px; text-align: center;
}
/* Pie general de la galería (fuera del carrusel) */
.sip-galslider > .blocks-gallery-caption, html body .wp-block-gallery.is-style-sip-slider > .blocks-gallery-caption {
  flex: 0 0 100%; margin: var(--space-2) 0 0; font-size: 14px; line-height: 20px; color: var(--texto-suave); text-align: center;
}
/* Flechas: blancas con sombra, sobre la foto */
.sip-galslider__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; color: var(--blanco); }
.sip-galslider__nav--prev { left: 8px; }
.sip-galslider__nav--next { right: 8px; }
html body .sip-galslider .sip-galslider__nav.sip-flecha-car { color: var(--blanco); }
html body .sip-galslider .sip-flecha-car .sip-chevron { filter: drop-shadow(var(--sombra-flecha)); }
html body .sip-galslider .sip-galslider__nav.sip-flecha-car:hover { transform: translateY(-50%) scale(1.12); }
.sip-galslider__nav[hidden] { display: none !important; }
/* Contador y puntos */
.sip-galslider__cont { position: absolute; top: 12px; right: 12px; z-index: 2; padding: 2px 10px; border-radius: var(--radius-pill); background: rgba(1, 31, 95, .7); color: var(--blanco); font-size: 12px; line-height: 20px; font-weight: 700; }
.sip-galslider__puntos { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin-top: var(--space-2); }
.sip-galslider__puntos button { width: 24px; height: 24px; padding: 6px; border: 0; border-radius: 50%; background: rgba(0, 43, 134, .25); background-clip: content-box; cursor: pointer; }
.sip-galslider__puntos button[aria-current="true"] { background-color: var(--azul); }
@media (max-width: 600px) {
  html body .wp-block-gallery.is-style-sip-slider > .wp-block-image { aspect-ratio: 4 / 3; }
  html body .wp-block-gallery.is-style-sip-slider > .wp-block-image figcaption { padding: 40px 16px 12px; font-size: 13px; }
}

/* ---------- tarjetas con ícono ---------- */
/* Íconos siempre en estilo Solid (los «regular» heredados pasan a relleno) */
html body .sip-icon.fam-regular { font-weight: 900; }
/* Ícono al lado del texto (tarjeta con ícono a la izquierda, p. ej. Contacto): 32px */
html body .sip-blurb.sip-blurb-left .sip-icon { font-size: 28px !important; }
/* Si lleva círculo, que sea siempre redondo (el pin es más angosto que el sobre) */
html body .sip-blurb.sip-blurb-left .sip-icon[style*="color"], html body .sip-blurb.sip-blurb-left .sip-icon { box-sizing: border-box; width: 56px; height: 56px; padding: 0 !important; display: inline-grid !important; place-items: center; line-height: 1 !important; }
/* El texto de las tarjetas nunca con interlineado menor a 1 (había 0em heredado de Divi) */
html body .sip-blurb-desc,
html body .sip-blurb-desc p { line-height: 1.5 !important; }

/* ---------- formularios (Contact Form 7) ---------- */
/* Texto escrito en color de lectura; el texto de ayuda (placeholder) más suave, pero legible (contraste 4,5:1 sobre el gris del campo) */
html body .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),
html body .wpcf7 select,
html body .wpcf7 textarea { color: var(--texto) !important; -webkit-text-fill-color: var(--texto); }
html body .wpcf7 input::placeholder,
html body .wpcf7 textarea::placeholder { color: #6B7280 !important; -webkit-text-fill-color: #6B7280; opacity: 1; }
html body .wpcf7 input:focus,
html body .wpcf7 select:focus,
html body .wpcf7 textarea:focus { outline: 2px solid var(--celeste-texto); outline-offset: 1px; }
/* Autocompletado del navegador: mismo fondo que los demás campos (en vez del celeste) */
html body .wpcf7 input:-webkit-autofill,
html body .wpcf7 input:-webkit-autofill:hover,
html body .wpcf7 input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--texto);
  -webkit-box-shadow: 0 0 0 1000px var(--gris) inset;
  transition: background-color 9999s ease-out 0s;
}

/* Sello de reCAPTCHA siempre por encima del mapa y el pie (bajo la cabecera y las ventanas) */
html body .grecaptcha-badge { z-index: 9000 !important; }
