/* Tema Gimnasio Freire — estilos (desde prototipo/estilos.css, aprobado por Juan).
   Concepto «bloques de patio»: bloques grandes y redondeados; botones y piedras del camino con sombra dura, como fichas.
   Paleta «Cielo» (ADR-003): celeste suave de fondo, el azul manda en títulos y botones, el amarillo del escudo solo
   acentúa (estrellas, etiqueta, números, piedras del preescolar). Nunca como fondo de una sección.
   Las secciones son grupos con clase (seccion, fondo-suave, fondo-azul, hero, pagina-hero…) y un grupo interior
   «contenedor» de 1120 px. Los espacios entre bloques los define este archivo (theme.json deja blockGap en null). */

:root{
  --azul:#233A8F;
  --azul-oscuro:#152566;
  --azul-claro:#E4E9FA;
  --amarillo:#FFD93B;
  --amarillo-sombra:#D9B51C;
  --amarillo-suave:#FFF2B8;
  --blanco:#FFFFFF;
  --tinta:#1C2340;
  --tinta-suave:#4E5574;
  --celeste:#DCEBFF;
  --celeste-suave:#F1F6FF;
  --celeste-linea:#BFD8FF;
  --hero-sub:#3B4A6B;
  --fuerte-sub:#D7DEF8;
  --fuente-titulos:var(--wp--preset--font-family--baloo-2,"Baloo 2","Arial Rounded MT Bold","Trebuchet MS",Verdana,sans-serif);
  --fuente-texto:var(--wp--preset--font-family--nunito,"Nunito","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif);
  --radio:28px;
  --ancho:1120px;
  --alto-top:38px;
  --estrella:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFD93B' d='M12 2l2.9 6.3 6.9.8-5.1 4.7 1.4 6.8L12 17.3 5.9 20.6l1.4-6.8L2.2 9.1l6.9-.8z'/%3E%3C/svg%3E");
  --estrella-azul:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23233A8F' d='M12 2l2.9 6.3 6.9.8-5.1 4.7 1.4 6.8L12 17.3 5.9 20.6l1.4-6.8L2.2 9.1l6.9-.8z'/%3E%3C/svg%3E");
  --ola:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath fill='%23FFFFFF' d='M0,34 C240,70 480,-6 720,30 C960,66 1200,-6 1440,30 L1440,60 L0,60 Z'/%3E%3C/svg%3E");
  color-scheme:light;
}

/* ------------------------------------------------------------------ base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--blanco);color:var(--tinta);font-family:var(--fuente-texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
img{max-width:100%;height:auto}
body :where(h1,h2,h3,h4){font-family:var(--fuente-titulos);line-height:1.1;margin:0;text-wrap:balance;color:var(--azul)}
body h1{font-size:clamp(2.1rem,5vw,3.5rem);font-weight:800;letter-spacing:-.01em}
body h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:800}
body h3{font-size:1.25rem;font-weight:700}
body :where(p,figure,ul,ol){margin:0}
a{color:var(--azul)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* El contenido de la página llega a todo el ancho; las secciones se centran con su «contenedor». */
.wp-block-post-content.is-layout-constrained > .alignfull{max-width:none;margin-left:0!important;margin-right:0!important}
body .contenedor{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:20px}
body .seccion{padding-block:72px}
@media (max-width:640px){body .seccion{padding-block:52px}}
body .fondo-suave{background:var(--celeste-suave)}
body .fondo-azul{background:var(--azul);color:var(--blanco)}
body .fondo-azul :where(h2,h3){color:var(--blanco)}

/* Encabezado de cada sección */
body .encabezado{max-width:640px;display:grid;gap:14px;margin-bottom:40px}
body .encabezado > p{font-size:1.1rem;color:var(--tinta-suave)}
body .fondo-azul .encabezado > p{color:var(--fuerte-sub)}
body .encabezado > p.is-style-frase,body p.is-style-frase{font-family:var(--fuente-titulos);font-weight:700;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.25;color:var(--azul);border-left:6px solid var(--amarillo);padding-left:16px;text-wrap:balance}
body p.is-style-nota{font-size:.95rem;color:var(--tinta-suave);font-style:italic}
body .borrador{color:#8A5A00;background:var(--amarillo-suave);border-radius:6px;padding:0 5px;font-style:normal}

/* ------------------------------------------------------------------ botones (fichas con sombra dura) */
body .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
body .wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:50px;padding:0 24px;border-radius:999px;border:2px solid transparent;
  font-family:var(--fuente-titulos);font-weight:700;font-size:1.05rem;line-height:1.1;
  text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background-color .15s;
  background:var(--azul);color:var(--blanco);box-shadow:0 4px 0 var(--azul-oscuro);
}
body .wp-block-button__link:hover{transform:translateY(-2px);color:var(--blanco)}
body .wp-block-button__link:active{transform:translateY(2px);box-shadow:none}
body .is-style-borde .wp-block-button__link{background:transparent;color:var(--azul);border-color:var(--azul);box-shadow:none}
body .is-style-borde .wp-block-button__link:hover{background:var(--azul-claro);color:var(--azul)}
body :is(.hero,.pagina-hero) .is-style-borde .wp-block-button__link:hover{background:rgba(255,255,255,.4)}
body .is-style-amarillo .wp-block-button__link{background:var(--amarillo);color:var(--azul);box-shadow:0 4px 0 var(--amarillo-sombra)}
body .is-style-amarillo .wp-block-button__link:hover{color:var(--azul)}
body .is-style-enlace .wp-block-button__link{background:none;box-shadow:none;border:0;min-height:44px;padding:0 6px;color:inherit;text-decoration:underline;text-underline-offset:4px;font-family:var(--fuente-texto);font-weight:700}
body .fondo-azul .is-style-enlace .wp-block-button__link{color:var(--blanco)}
body .is-style-enlace .wp-block-button__link:hover{transform:none}

/* Etiqueta amarilla («Admisiones 2027 abiertas») */
body p.is-style-pill{display:inline-flex;align-items:center;gap:10px;background:var(--amarillo);color:var(--azul);border-radius:999px;padding:7px 16px 7px 10px;font-weight:700;font-size:.95rem;width:max-content;max-width:100%}
body p.is-style-pill::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--azul);box-shadow:0 0 0 4px rgba(0,0,0,.08);flex:none}

/* ------------------------------------------------------------------ barra superior y cabecera */
.cabecera-sitio{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) - var(--alto-top));z-index:30}
body .top{background:var(--azul-oscuro);color:var(--blanco);font-size:.92rem}
body .top .contenedor{display:flex;justify-content:space-between;align-items:center;gap:16px;height:var(--alto-top);white-space:nowrap;overflow:hidden}
body .top a{color:var(--blanco);text-decoration:none;font-weight:600}
body .top a:hover{text-decoration:underline}
@media (max-width:640px){body .top{font-size:.85rem} body .top .contenedor{gap:10px}}
body .cabecera{background:var(--blanco);box-shadow:0 3px 0 var(--celeste-linea)}
body .cabecera .contenedor{display:flex;align-items:center;gap:14px;min-height:80px;position:relative}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--azul);font-family:var(--fuente-titulos);font-weight:800;font-size:1.1rem;line-height:1.05;flex:none}
.marca img{width:58px;height:auto;flex:none}
body .cabecera nav.wp-block-navigation{margin-left:auto;font-weight:700;font-size:1rem}
body .cabecera .wp-block-navigation .wp-block-navigation__container{gap:2px}
body .cabecera .wp-block-navigation .wp-block-navigation-item__content{display:block;padding:10px 13px;border-radius:999px;color:var(--tinta);text-decoration:none;white-space:nowrap}
body .cabecera .wp-block-navigation .wp-block-navigation-item__content:hover{background:var(--celeste-suave);color:var(--azul)}
body .cabecera .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]{background:var(--celeste);color:var(--azul)}
body .cabecera .plataforma{flex:none}
body .cabecera .plataforma .wp-block-button__link{min-height:44px;padding:0 20px;font-size:1rem}
/* Botón «Menú» y menú desplegado (el bloque de navegación de WordPress) */
body .cabecera .wp-block-navigation__responsive-container-open{min-height:44px;min-width:44px;padding:0 12px;border-radius:999px;border:2px solid var(--azul);background:var(--blanco);color:var(--azul);align-items:center;justify-content:center}
body .cabecera .wp-block-navigation__responsive-container.is-menu-open{background:var(--blanco);color:var(--tinta);padding:24px 20px}
body .cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:6px}
body .cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:1.2rem;padding:12px 16px}
body .cabecera .wp-block-navigation__responsive-container-close{color:var(--azul)}
/* Entre 600 y 1040 px el menú no cabe en una línea: se muestra el botón, como en el celular. */
@media (min-width:600px) and (max-width:1040px){
  body .cabecera .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
  body .cabecera .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
}
@media (max-width:480px){
  .marca span{font-size:.95rem}
  .marca img{width:48px}
  body .cabecera .contenedor{gap:10px}
  body .cabecera .plataforma .wp-block-button__link{padding:0 14px;font-size:.95rem}
}

/* ------------------------------------------------------------------ portada (hero) y encabezado de páginas */
body .hero,body .pagina-hero{position:relative;background:var(--celeste);overflow:hidden}
body .hero{padding-block:64px 104px}
body .pagina-hero{padding-block:44px 84px}
body .hero::before,body .pagina-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;opacity:.9}
body .hero::before{
  background-image:var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella);
  background-size:44px,28px,62px,34px,22px,18px,26px,38px,16px,30px;
  background-position:left 4% top 14%,left 33% top 5%,right 6% top 8%,right 12% bottom 22%,left 49% bottom 7%,left 3% bottom 42%,left 57% bottom 9%,right 29% top 17%,right 3% top 47%,left 2% bottom 7%;
}
body .pagina-hero::before{
  background-image:var(--estrella),var(--estrella);
  background-size:62px,34px;
  background-position:right 6% top 8%,right 12% bottom 22%;
}
body .hero::after,body .pagina-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:56px;background:var(--ola) center bottom/100% 100% no-repeat;pointer-events:none}
body .hero > *,body .pagina-hero > *{position:relative;z-index:1}
body .hero-grid{display:flex;gap:48px;align-items:center;margin:0 auto}
body .hero-texto{display:grid;gap:22px;max-width:600px;align-content:center}
body .hero h1{color:var(--azul)}
body p.hero-sub{font-size:1.15rem;color:var(--hero-sub);max-width:52ch}
body .sticker{background:var(--blanco);border-radius:36px;padding:28px;box-shadow:0 18px 44px rgba(35,58,143,.2);transform:rotate(-4deg);max-width:400px;margin-inline:auto;width:100%}
body .sticker img{display:block;width:100%;height:auto}
/* Foto de la fachada (Juan, 21 oct 2026): a la izquierda del titular en computador; en celular va después del texto, recortada 4:5 */
body .fachada{background:var(--blanco);border-radius:32px;padding:14px;box-shadow:0 18px 44px rgba(35,58,143,.2);transform:rotate(-3deg);max-width:340px;width:100%;margin:0 auto}
body .fachada img{display:block;width:100%;height:auto;border-radius:22px}
/* El escudo a la derecha del titular (Juan, 21 oct 2026): fachada | texto | escudo. Por debajo de 1000 px: texto, fachada y el escudo pequeño sobre la esquina de la foto */
body .hero h1{font-size:clamp(2.1rem,4vw,3.1rem)}
body .hero .sticker{max-width:210px;padding:18px;border-radius:30px;transform:rotate(4deg)}
@media (min-width:1001px){
  body .hero-grid{gap:44px}
  body .hero-grid > .hero-foto{order:-1;flex:0 0 280px!important}
  body .hero-grid > .hero-texto{flex:1 1 0!important;min-width:0}
  body .hero-grid > .hero-escudo{order:1;flex:0 0 210px!important}
  body .hero-grid > .wp-block-column{align-self:center}
}
@media (max-width:1000px){
  body .hero-grid{flex-wrap:wrap!important;gap:36px}
  body .hero-grid > .wp-block-column{flex:0 0 100%!important}
  body .fachada{max-width:360px;padding:10px;transform:rotate(-2deg)}
  body .fachada img{aspect-ratio:4/5;object-fit:cover;object-position:50% 55%}
  body .hero-grid > .hero-escudo{max-width:360px;width:100%;margin:-104px auto 0;display:flex;justify-content:flex-end;position:relative;z-index:2}
  body .hero .hero-escudo .sticker{width:130px;max-width:130px;padding:12px;border-radius:22px;transform:translate(14px,8px) rotate(6deg);margin:0}
}
@media (max-width:900px){
  body .hero{padding-block:44px 88px}
  body .hero::before{
    background-image:var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella);
    background-size:30px,44px,34px,22px,18px,26px,30px;
    background-position:left 66% top 3%,right 6% top 8%,right 12% bottom 22%,left 30% bottom 16%,left 4% bottom 38%,left 57% bottom 9%,left 2% bottom 7%;
  }
  body .sticker{max-width:300px;padding:20px}
}
@media (max-width:781px){body .hero-grid{gap:36px}}
/* Estrellas (Juan, 21 oct 2026, ADR-011): en la portada, azules en las secciones blancas y amarillas en «Por qué las
   familias escogen…», «Así se llega al Gimnasio Freire» y «Ven a conocernos»; amarillas también en el pie de página,
   en todo el sitio. En computador van en los márgenes; desde 1200 px hacia abajo, solo en la franja libre de arriba
   y de abajo para no tapar texto. */
body :is(.estrellas-azules,.estrellas-amarillas){position:relative;overflow:hidden}
body :is(.estrellas-azules,.estrellas-amarillas)::before{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;opacity:.9}
body :is(.estrellas-azules,.estrellas-amarillas) > *{position:relative;z-index:1}
body #razones.estrellas-amarillas::before{
  background-image:var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella);
  background-size:40px,20px,30px,46px,24px,16px;
  background-position:left 3% top 12%,left 7% top 34%,right 4% top 9%,right 2% bottom 32%,left 4% bottom 12%,right 7% bottom 7%;
}
body #admisiones.estrellas-amarillas::before{
  background-image:var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella);
  background-size:38px,18px,30px,44px,22px;
  background-position:right 3% top 12%,right 7% top 32%,left 3% top 18%,left 5% bottom 18%,right 4% bottom 10%;
}
body #contacto.estrellas-amarillas::before{
  background-image:var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella);
  background-size:36px,18px,28px,42px,22px;
  background-position:left 3% top 14%,left 6% bottom 30%,right 3% top 10%,right 5% bottom 16%,left 2% bottom 8%;
}
body .pie.estrellas-amarillas::before{
  background-image:var(--estrella),var(--estrella),var(--estrella),var(--estrella),var(--estrella);
  background-size:34px,16px,26px,40px,20px;
  background-position:left 3% top 16%,left 6% top 52%,right 3% top 12%,right 5% bottom 34%,left 2% bottom 12%;
}
body #camino.estrellas-azules::before{
  background-image:var(--estrella-azul),var(--estrella-azul),var(--estrella-azul),var(--estrella-azul),var(--estrella-azul);
  background-size:34px,18px,44px,22px,16px;
  background-position:left 3% top 13%,left 7% top 30%,right 4% top 10%,right 8% bottom 16%,left 5% bottom 9%;
}
body #vida-escolar.estrellas-azules::before{
  background-image:var(--estrella-azul),var(--estrella-azul),var(--estrella-azul),var(--estrella-azul),var(--estrella-azul);
  background-size:40px,18px,26px,36px,20px;
  background-position:right 3% top 9%,right 8% top 26%,left 4% top 15%,left 2% bottom 20%,right 5% bottom 8%;
}
@media (max-width:1200px){
  body #camino.estrellas-azules::before,body #vida-escolar.estrellas-azules::before{
    background-image:var(--estrella-azul),var(--estrella-azul),var(--estrella-azul);
    background-size:26px,14px,20px;
  }
  body #camino.estrellas-azules::before{background-position:right 6% top 22px,right 16% top 12px,left 5% bottom 18px}
  body #vida-escolar.estrellas-azules::before{background-position:left 72% top 16px,right 5% top 30px,right 7% bottom 18px}
  body #razones.estrellas-amarillas::before{
    background-image:var(--estrella),var(--estrella),var(--estrella);
    background-size:28px,14px,22px;
    background-position:right 6% top 18px,right 17% top 10px,left 6% bottom 16px;
  }
  body #admisiones.estrellas-amarillas::before{
    background-image:var(--estrella),var(--estrella),var(--estrella);
    background-size:26px,14px,22px;
    background-position:right 6% top 18px,right 17% top 10px,left 55% bottom 16px;
  }
  body #contacto.estrellas-amarillas::before{
    background-image:var(--estrella),var(--estrella),var(--estrella);
    background-size:26px,14px,22px;
    background-position:right 6% top 16px,left 8% top 22px,left 7% bottom 18px;
  }
  body .pie.estrellas-amarillas::before{
    background-image:var(--estrella),var(--estrella),var(--estrella);
    background-size:26px,14px,20px;
    background-position:right 6% top 16px,right 16% top 28px,left 6% bottom 26px;
  }
}
body .pagina-hero .contenedor{display:grid;gap:18px}
body .pagina-hero h1{font-size:clamp(2rem,4.2vw,3rem);color:var(--azul);max-width:18ch}
body .pagina-hero p.lead{font-size:1.15rem;color:var(--hero-sub);max-width:60ch}
body .pagina-hero .wp-block-post-title{font-size:clamp(2rem,4.2vw,3rem);max-width:24ch}
body p.miga,body .miga{font-size:.92rem;color:var(--hero-sub)}
body .miga a{color:var(--azul);font-weight:700;text-decoration:none}
body .miga a:hover{text-decoration:underline}
body .pagina-hero-sola{padding-block:72px 120px}
@media (max-width:640px){
  body .pagina-hero{padding-block:32px 72px}
  /* En celular las estrellas van en la franja de arriba: más abajo tapaban el texto del encabezado. */
  body .pagina-hero::before{background-size:26px,14px;background-position:right 5% top 4px,right 15% top 12px}
}

/* ------------------------------------------------------------------ camino de grados */
body ol.camino{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;list-style:none;margin:0 0 28px;padding:0;position:relative}
body ol.camino::before{content:"";position:absolute;left:6%;right:6%;top:36px;border-top:3px dashed #C9D1F0}
body ol.camino li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;position:relative;min-width:0;color:var(--tinta-suave);font-size:.9rem;margin:0}
body ol.camino li::before{content:"";width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fuente-titulos);font-weight:800;font-size:1.3rem;background:var(--amarillo);color:var(--azul);box-shadow:0 5px 0 var(--amarillo-sombra);flex:none}
body ol.camino li:nth-child(1)::before{content:"PJ"}
body ol.camino li:nth-child(2)::before{content:"J"}
body ol.camino li:nth-child(3)::before{content:"T"}
body ol.camino li:nth-child(4)::before{content:"1.º"}
body ol.camino li:nth-child(5)::before{content:"2.º"}
body ol.camino li:nth-child(6)::before{content:"3.º"}
body ol.camino li:nth-child(7)::before{content:"4.º"}
body ol.camino li:nth-child(8)::before{content:"5.º"}
body ol.camino li:nth-child(n+4)::before{background:var(--azul);color:var(--blanco);box-shadow:0 5px 0 var(--azul-oscuro)}
body ol.camino li strong{display:block;font-weight:700;font-size:1rem;margin-top:6px;color:var(--tinta)}
body .leyenda{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}
body p.chip{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:8px 16px 8px 10px;font-weight:700;font-size:.95rem;background:var(--blanco);border:2px solid var(--azul-claro)}
body p.chip::before{content:"";width:16px;height:16px;border-radius:50%;flex:none}
body p.chip-amarillo::before{background:var(--amarillo);box-shadow:0 2px 0 var(--amarillo-sombra)}
body p.chip-azul::before{background:var(--azul)}
body .dos-columnas{gap:32px}
body .dos-columnas > .wp-block-column{display:grid;gap:10px;align-content:start}
@media (max-width:900px){body ol.camino{grid-template-columns:repeat(4,1fr);row-gap:28px} body ol.camino::before{display:none}}
@media (max-width:480px){body ol.camino{gap:10px} body ol.camino li::before{width:56px;height:56px;font-size:1.1rem} body ol.camino li strong{font-size:.9rem} body ol.camino li{font-size:.8rem}}

/* ------------------------------------------------------------------ razones (con ícono) */
body .razones{display:grid;grid-template-columns:1fr 1fr;gap:36px 48px}
body .razon{position:relative;padding-left:82px;min-height:64px;display:grid;gap:6px;align-content:start}
body .razon::before{content:"";position:absolute;left:0;top:0;width:64px;height:64px;border-radius:22px;background:var(--azul) var(--icono) center/34px no-repeat;box-shadow:0 5px 0 var(--azul-oscuro)}
body .razon > p{color:var(--tinta-suave)}
@media (max-width:760px){body .razones{grid-template-columns:1fr;gap:28px}}
.razon-ingles{--icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD93B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10a4 4 0 0 1 4 4v8H8a4 4 0 0 1-4-4z'/%3E%3Cpath d='M8 10h6'/%3E%3Cpath d='M8 14h4'/%3E%3Cpath d='M18 10l2-2'/%3E%3C/svg%3E")}
.razon-acoso{--icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD93B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12h8'/%3E%3Cpath d='M12 8v8'/%3E%3Cpath d='M5.5 5.5l13 13'/%3E%3C/svg%3E")}
.razon-grupos{--icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD93B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Ccircle cx='16.5' cy='9.5' r='2.4'/%3E%3Cpath d='M3.5 19c0-3 2.5-5 5.5-5s5.5 2 5.5 5'/%3E%3Cpath d='M15 17.5c.4-2.2 2-3.5 4-3.5 1.4 0 2.6.7 3.3 1.8'/%3E%3C/svg%3E")}
.razon-familias{--icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD93B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-7.5-10A4.2 4.2 0 0 1 12 8a4.2 4.2 0 0 1 7.5 2.5c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E")}
.razon-profesores{--icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD93B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7.5' r='3.5'/%3E%3Cpath d='M5 20c0-3.9 3.1-7 7-7s7 3.1 7 7'/%3E%3Cpath d='M9.5 3.5l2.5-1 2.5 1'/%3E%3C/svg%3E")}
.razon-web{--icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD93B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='10' height='19' rx='2.5'/%3E%3Cpath d='M11 18.5h2'/%3E%3Cpath d='M9.5 10.5l1.8 1.8 3.4-3.6'/%3E%3C/svg%3E")}

/* ------------------------------------------------------------------ pasos (bloque azul) */
body .pasos{counter-reset:paso;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-bottom:40px}
body .paso{counter-increment:paso;display:grid;gap:10px;align-content:start;min-width:0}
body .paso::before{content:counter(paso);width:56px;height:56px;border-radius:50%;background:var(--amarillo);color:var(--azul);display:flex;align-items:center;justify-content:center;font-family:var(--fuente-titulos);font-weight:800;font-size:1.5rem;box-shadow:0 5px 0 var(--amarillo-sombra);margin-bottom:6px}
body .paso > p{color:var(--fuerte-sub)}
@media (max-width:900px){body .pasos{grid-template-columns:1fr 1fr}}
@media (max-width:480px){body .pasos{grid-template-columns:1fr}}

/* ------------------------------------------------------------------ línea de tiempo (Admisiones) */
body .linea{counter-reset:paso;display:grid}
body .linea-paso{counter-increment:paso;position:relative;padding:0 0 36px 76px;display:grid;gap:6px;align-content:start;min-width:0}
body .linea-paso::before{content:counter(paso);position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;background:var(--amarillo);color:var(--azul);display:flex;align-items:center;justify-content:center;font-family:var(--fuente-titulos);font-weight:800;font-size:1.5rem;box-shadow:0 5px 0 var(--amarillo-sombra)}
body .linea-paso::after{content:"";position:absolute;left:26px;top:64px;bottom:8px;border-left:3px dashed #C9D1F0}
body .linea-paso:last-child{padding-bottom:0}
body .linea-paso:last-child::after{display:none}
body .linea-paso > p{color:var(--tinta-suave)}
body .linea-paso > p.dato{font-size:.92rem;font-weight:700;color:var(--azul)}

/* ------------------------------------------------------------------ tarjetas y listas con chulo */
body .tres-columnas{gap:24px}
body .tarjeta{background:var(--blanco);border:2px solid var(--azul-claro);border-radius:24px;padding:26px;display:grid;gap:14px;align-content:start}
body ul.is-style-check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
body ul.is-style-check li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;margin:0}
body ul.is-style-check li::before{content:"";width:24px;height:24px;border-radius:50%;background:var(--amarillo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23233A8F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:0 2px 0 var(--amarillo-sombra);margin-top:2px}

/* ------------------------------------------------------------------ tabla de costos */
body .wp-block-table.is-style-costos{overflow-x:auto;margin:0}
body .is-style-costos table{width:100%;min-width:560px;border-collapse:separate;border-spacing:0;background:var(--blanco);border:2px solid var(--azul-claro);border-radius:20px;overflow:hidden;table-layout:auto}
body .is-style-costos :is(th,td){padding:14px 16px;text-align:left;border:0;border-bottom:1px solid var(--azul-claro);vertical-align:top}
body .is-style-costos thead{border:0}
body .is-style-costos th{font-family:var(--fuente-titulos);color:var(--azul);background:var(--celeste-suave);font-weight:700}
body .is-style-costos tbody tr:last-child td{border-bottom:0}
body .is-style-costos td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}
body .is-style-costos td em{display:inline;font-style:normal;color:var(--tinta-suave);font-weight:400}
body .is-style-costos td em strong{color:var(--azul)}
body .pronto{margin-top:20px;background:var(--celeste-suave);border:2px solid var(--celeste-linea);border-left:8px solid var(--amarillo);border-radius:20px;padding:18px 22px;display:grid;gap:6px;max-width:760px}
body .pronto > p:first-child strong{font-family:var(--fuente-titulos);color:var(--azul);font-size:1.15rem}
body .pronto + p.is-style-nota{margin-top:18px}

/* ------------------------------------------------------------------ tabla de datos (contacto, política) */
body .wp-block-table.is-style-datos{margin:0 0 14px;overflow:visible}
body .is-style-datos table{width:100%;border-collapse:collapse;border:0;table-layout:auto}
body .is-style-datos :is(th,td){border:0;padding:8px 0;vertical-align:top;text-align:left}
body .is-style-datos td:first-child{width:150px;padding-right:12px;font-family:var(--fuente-titulos);font-weight:700;color:var(--azul)}
body .is-style-datos td em{display:inline;font-style:normal;color:var(--tinta-suave)}
body .is-style-datos td{overflow-wrap:anywhere}
@media (max-width:480px){
  body .is-style-datos :is(table,tbody,tr,td){display:block;width:auto}
  body .is-style-datos td:first-child{width:auto;padding:10px 0 0}
  body .is-style-datos td:last-child{padding-top:2px}
}

/* ------------------------------------------------------------------ calendario */
body .calendario{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
body .fecha{background:var(--blanco);border:2px solid var(--azul-claro);border-radius:22px;padding:18px;display:grid;gap:6px;align-content:start}
body .fecha > p:first-child strong{font-family:var(--fuente-titulos);color:var(--azul);font-size:1.05rem}
body .fecha > p:last-child{color:var(--tinta-suave)}

/* ------------------------------------------------------------------ formulario «Solicitar información» */
body .lado-a-lado{gap:48px;align-items:flex-start}
body .lado-a-lado > .wp-block-column:first-child{display:grid;gap:18px}
.formulario{background:var(--blanco);border-radius:var(--radio);padding:32px;box-shadow:0 18px 44px rgba(35,58,143,.12);display:grid;gap:18px}
.campo{display:grid;gap:6px}
.campo label{font-weight:700;color:var(--azul)}
.campo :is(input,select,textarea){font:inherit;padding:12px 14px;border:2px solid var(--azul-claro);border-radius:14px;background:var(--blanco);color:var(--tinta);min-height:48px;width:100%}
.campo :is(input,select,textarea):focus{outline:3px solid var(--azul);outline-offset:2px;border-color:var(--azul)}
.campo textarea{min-height:110px;resize:vertical}
.dos-campos{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.consentimiento{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:.95rem;color:var(--tinta-suave)}
.consentimiento input{width:22px;height:22px;margin-top:3px}
.formulario button{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;border:2px solid transparent;font-family:var(--fuente-titulos);font-weight:700;font-size:1.05rem;line-height:1;cursor:pointer;background:var(--azul);color:var(--blanco);box-shadow:0 4px 0 var(--azul-oscuro);transition:transform .15s,box-shadow .15s}
.formulario button:hover{transform:translateY(-2px)}
.formulario button:active{transform:translateY(2px);box-shadow:none}
.formulario button[disabled]{opacity:.7;cursor:progress;transform:none}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.error{color:#A32D2D;font-weight:700;font-size:.95rem;margin:0}
@media (max-width:860px){.dos-campos{grid-template-columns:1fr} .formulario{padding:24px}}

/* ------------------------------------------------------------------ preguntas frecuentes */
body .faq{display:grid;gap:12px;max-width:780px}
body .faq .wp-block-details{background:var(--blanco);border:2px solid var(--azul-claro);border-radius:18px;padding:0 20px;margin:0}
body .faq .wp-block-details summary{cursor:pointer;list-style:none;font-family:var(--fuente-titulos);font-weight:700;color:var(--azul);padding:16px 0;display:flex;justify-content:space-between;gap:16px;align-items:center}
body .faq .wp-block-details summary::-webkit-details-marker{display:none}
body .faq .wp-block-details summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--azul);flex:none}
body .faq .wp-block-details[open] summary::after{content:"–"}
body .faq .wp-block-details > p{padding:0 0 18px;color:var(--tinta-suave)}

/* ------------------------------------------------------------------ llamado (familias que ya están) */
body .llamado{background:var(--celeste-suave);border:2px solid var(--celeste-linea);border-radius:var(--radio);padding:28px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
body .llamado > .wp-block-group{display:grid;gap:6px;max-width:60ch}
body .llamado p{color:var(--tinta-suave)}

/* ------------------------------------------------------------------ vida escolar: la cinta de fotos */
body .wp-block-gallery.has-nested-images.is-style-cinta{display:flex;flex-wrap:nowrap;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 14px;margin:0;scrollbar-width:thin;scrollbar-color:var(--celeste-linea) transparent;-webkit-overflow-scrolling:touch;align-items:flex-start}
body .wp-block-gallery.has-nested-images.is-style-cinta:focus-visible{outline:3px solid var(--azul);outline-offset:4px;border-radius:12px}
body .wp-block-gallery.has-nested-images.is-style-cinta figure.wp-block-image:not(#individual-image){flex:0 0 min(78vw,340px);width:auto;max-width:none;margin:0;scroll-snap-align:start;display:flex;flex-direction:column;align-self:flex-start;gap:8px}
body .wp-block-gallery.has-nested-images.is-style-cinta figure.wp-block-image:has(figcaption)::before{content:none;display:none}
body .wp-block-gallery.has-nested-images.is-style-cinta figure.wp-block-image img{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;background:var(--azul-claro);flex:none}
body .wp-block-gallery.has-nested-images.is-style-cinta figure.wp-block-image figcaption{position:static;background:none;color:var(--tinta-suave);text-align:left;padding:0;margin:0;font-size:1rem;max-height:none;overflow:visible;text-shadow:none;width:auto;flex:none;-webkit-mask-image:none;mask-image:none;display:block}
body .wp-block-gallery.has-nested-images.is-style-cinta figure.wp-block-image figcaption strong{display:block;font-family:var(--fuente-titulos);color:var(--azul);font-size:1.1rem;font-weight:700;margin-bottom:2px}
.cinta-botones{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}
.cinta-btn{width:46px;height:46px;border-radius:50%;border:2px solid var(--azul);background:var(--blanco);color:var(--azul);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 3px 0 var(--azul-oscuro);display:grid;place-items:center;padding:0 0 3px}
.cinta-btn:hover{background:var(--celeste-suave)}
.cinta-btn:active{transform:translateY(2px);box-shadow:none}

/* ------------------------------------------------------------------ contacto y mapa */
body .contacto{gap:48px;align-items:flex-start}
body .contacto > .wp-block-column:first-child{display:grid;gap:26px}
.mapa-real{border-radius:var(--radio);overflow:hidden;border:3px solid var(--celeste-linea);min-height:320px;background:var(--azul-claro)}
.mapa-real iframe{display:block;width:100%;height:360px;border:0}

/* ------------------------------------------------------------------ páginas de texto (política de datos, noticias) */
body .legal > *{max-width:780px}
body .legal :where(h2){font-size:clamp(1.3rem,2.4vw,1.6rem);margin:40px 0 12px}
body .legal :where(h3){font-size:1.1rem;margin:22px 0 6px}
body .legal :where(p,li){line-height:1.7}
body .legal :where(p + p){margin-top:12px}
body .legal :where(ul,ol){padding-left:22px;display:grid;gap:8px;margin:10px 0}
body .legal-resumen{background:var(--celeste-suave);border:2px solid var(--celeste-linea);border-radius:20px;padding:20px 24px}
body .legal-resumen > p:first-child strong{font-family:var(--fuente-titulos);color:var(--azul);font-size:1.15rem}
body .legal .wp-block-table.is-style-datos td:first-child{width:120px;font-family:var(--fuente-texto)}
body p.legal-version{margin-top:36px;color:var(--tinta-suave);font-size:.92rem}
body .legal :where(.wp-block-image){margin:20px 0}

/* ------------------------------------------------------------------ noticias (listado) */
body .noticias{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;padding:0;margin:0}
body .noticias > li{display:grid;gap:8px;align-content:start;min-width:0}
body .noticias .wp-block-post-featured-image img{border-radius:24px}
body .noticias .wp-block-post-title{font-size:1.25rem}
@media (max-width:900px){body .noticias{grid-template-columns:1fr 1fr}}
@media (max-width:560px){body .noticias{grid-template-columns:1fr}}

/* ------------------------------------------------------------------ pie */
body .pie{background:var(--azul-oscuro);color:#D7DEF8;padding-block:56px 28px}
body .pie-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
body .pie h2.pie-titulo{color:var(--amarillo);font-size:1.05rem;margin-bottom:12px}
body .pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
body .pie a{color:#D7DEF8;text-decoration:none}
body .pie a:hover{color:var(--blanco);text-decoration:underline}
body .pie-marca{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start}
body .pie-marca .pie-escudo img{background:var(--blanco);border-radius:14px;padding:4px;width:72px;display:block}
body .pie-marca strong{color:var(--blanco);font-family:var(--fuente-titulos);font-size:1.15rem}
body .pie-marca em{display:block;margin-top:6px;color:#AEB9E6;font-style:normal;font-size:.92rem}
body .pie-legal{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:.9rem;color:#AEB9E6;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-bottom:60px}
@media (max-width:900px){body .pie-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){body .pie-grid{grid-template-columns:1fr}}

/* Botón flotante «Solicitar información» (ADR-011): lleva al formulario de Admisiones; se esconde cuando el formulario
   está a la vista (gf.js) y no aparece en la página de gracias (functions.php). El pie le reserva espacio abajo. */
body .wp-block-buttons.boton-flotante{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;margin:0;transition:opacity .2s,transform .2s,visibility .2s}
body .boton-flotante .wp-block-button__link{box-shadow:0 4px 0 var(--amarillo-sombra),0 10px 24px rgba(21,37,102,.25)}
body .wp-block-buttons.boton-flotante.oculto{opacity:0;visibility:hidden;transform:translateY(16px)}
body.sin-boton-flotante .boton-flotante{display:none}
@media (max-width:560px){
  body .wp-block-buttons.boton-flotante{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  body .boton-flotante .wp-block-button__link{min-height:48px;padding:0 18px;font-size:1rem}
}

/* ------------------------------------------------------------------ editor de bloques: que se vea como la página */
.editor-styles-wrapper .cabecera-sitio{position:static}
.editor-styles-wrapper .wp-block-buttons.boton-flotante{position:static;padding:12px 20px}
