body {
    margin: 0;
}
.wp-site-blocks {
    padding: 0;
}
.encabezado-principal {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid rgba(107, 63, 160, 0.12);
    box-shadow: 0 5px 20px rgba(48, 40, 63, 0.06);
}
.encabezado-principal .wp-block-site-title {
    margin: 0;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    line-height: 1.2;
}
.encabezado-principal .wp-block-site-title a {
    text-decoration: none;
}
.menu-principal .wp-block-navigation__container {
    column-gap: 1rem;
    row-gap: 0.5rem;
}
.menu-principal .wp-block-navigation-item__content {
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}
.menu-principal .wp-block-navigation-item__content:hover,
.menu-principal .current-menu-item > .wp-block-navigation-item__content {
    color: var(--wp--preset--color--morado);
}
.hero-inicio {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            #fffdf7 0%,
            #fff9df 52%,
            #eef9fd 100%
        ) !important;
}
.hero-inicio::before,
.hero-inicio::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 999px;
    opacity: 0.45;
    pointer-events: none;
}
.hero-inicio::before {
    width: 280px;
    height: 140px;
    top: -70px;
    right: 8%;
    background: #79c8e8;
}
.hero-inicio::after {
    width: 220px;
    height: 220px;
    bottom: -120px;
    left: -70px;
    background: #f6c945;
}
.hero-inicio .wp-block-button__link {
    font-weight: 700;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.hero-inicio .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(48, 40, 63, 0.14);
}
.hero-inicio .has-amarillo-background-color {
    box-shadow: 0 18px 45px rgba(107, 63, 160, 0.13);
}
.pie-principal {
    margin-top: 0;
}
@media (max-width: 1100px) {
    .menu-principal .wp-block-navigation__container {
        column-gap: 0.65rem;
    }
    .menu-principal .wp-block-navigation-item__content {
        font-size: 0.84rem;
    }
}
@media (max-width: 781px) {
    .hero-inicio {
        text-align: center;
    }
    .hero-inicio .wp-block-buttons {
        justify-content: center;
    }
    .hero-inicio .wp-block-column {
        flex-basis: 100% !important;
    }
    .hero-inicio .has-amarillo-background-color {
        text-align: left;
    }
}
@media (max-width: 480px) {
    .encabezado-principal {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .hero-inicio {
        border-bottom-left-radius: 28px !important;
        border-bottom-right-radius: 28px !important;
    }
    .hero-inicio h1 {
        font-size: 2.35rem !important;
    }
    .hero-inicio .wp-block-buttons,
    .hero-inicio .wp-block-button {
        width: 100%;
    }
    .hero-inicio .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}
/* LOGO_COLGANTE_INICIO */
.logo-hanger {
    position: relative;
    width: 180px;
    min-width: 180px;
    height: 165px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-top: -12px;
    z-index: 30;
}
/* Clavo */
.logo-hanger::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 50%;
    width: 13px;
    height: 13px;
    transform: translateX(-50%);
    background: #ff9800;
    border-radius: 50%;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
    z-index: 5;
}
/* Cuerdas en forma de V */
.logo-hanger::after {
    content: "";
    position: absolute;
    top: 12px;
    left: 50%;
    width: 120px;
    height: 62px;
    transform: translateX(-50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='62' viewBox='0 0 120 62'%3E%3Cpath d='M60 0 L4 62 M60 0 L116 62' fill='none' stroke='%23d19a28' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 120px 62px;
    z-index: 1;
    pointer-events: none;
}
.logo-hanger .logo-frame {
    position: relative;
    width: auto !important;
    margin: 0 !important;
    padding: 8px;
    background: #ffffff;
    border: 5px solid #ffd43b;
    border-radius: 20px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16);
    transform-origin: top center;
    animation: cuadroBalanceo 3.6s ease-in-out infinite;
    z-index: 3;
}
.logo-hanger .logo-frame a {
    display: block;
    line-height: 0;
}
.logo-hanger .logo-frame img {
    display: block;
    width: 138px !important;
    max-width: 138px !important;
    height: auto !important;
}
@keyframes cuadroBalanceo {
    0%   { transform: rotate(-3deg); }
    50%  { transform: rotate(3deg); }
    100% { transform: rotate(-3deg); }
}
@media (max-width: 900px) {
    .logo-hanger {
        width: 105px;
        min-width: 105px;
        height: 105px;
        margin-top: -5px;
    }
    .logo-hanger::before {
        width: 9px;
        height: 9px;
    }
    .logo-hanger::after {
        top: 9px;
        width: 72px;
        height: 38px;
        background-size: 72px 38px;
    }
    .logo-hanger .logo-frame {
        padding: 4px;
        border-width: 3px;
        border-radius: 15px;
    }
    .logo-hanger .logo-frame img {
        width: 72px !important;
        max-width: 72px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .logo-hanger .logo-frame {
        animation: none;
        transform: rotate(-2deg);
    }
}
/* LOGO_COLGANTE_FIN */
/* HERO_V3_INICIO */
.hero-sonrisas-v3 {
    position: relative;
    overflow: hidden;
    padding: clamp(3rem, 6vw, 5.5rem) 1.5rem;
    background: linear-gradient(135deg, #ffd84d 0%, #ffe783 100%);
    border-radius: 0 0 55px 55px;
}
.hero-sonrisas-v3::before {
    content: "";
    position: absolute;
    width: 270px;
    height: 270px;
    top: -140px;
    right: -70px;
    border-radius: 50%;
    background: #79c8e8;
    opacity: 0.75;
}
.hero-sonrisas-v3__columnas {
    position: relative;
    z-index: 2;
    gap: clamp(2.5rem, 6vw, 5rem);
}
.hero-sonrisas-v3__etiqueta {
    display: inline-block;
    margin: 0 0 1.2rem;
    padding: 0.65rem 1.1rem;
    border-radius: 999px;
    background: #fff;
    color: #6b3fa0;
    font-size: 0.88rem;
    font-weight: 800;
    box-shadow: 0 6px 0 rgba(107, 63, 160, 0.15);
}
.hero-sonrisas-v3__titulo {
    margin: 0;
    color: #34234c;
    font-size: clamp(2.8rem, 5.7vw, 5.3rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.05em;
}
.hero-sonrisas-v3__titulo span {
    color: #6b3fa0;
}
.hero-sonrisas-v3__texto {
    max-width: 620px;
    margin: 1.5rem 0 2rem;
    color: #493f51;
    font-size: 1.15rem;
    line-height: 1.65;
}
.hero-sonrisas-v3__botones {
    gap: 0.8rem;
}
.hero-sonrisas-v3__botones .wp-block-button__link {
    padding: 0.95rem 1.5rem;
    border-radius: 999px;
    font-weight: 800;
}
.hero-sonrisas-v3__botones .wp-block-button:first-child .wp-block-button__link {
    background: #6b3fa0;
    color: #fff;
    box-shadow: 0 7px 0 #4c2477;
}
.hero-sonrisas-v3__botones .is-style-outline .wp-block-button__link {
    background: #fff;
    color: #6b3fa0;
    border: 3px solid #6b3fa0;
}
.hero-sonrisas-v3__beneficios {
    gap: 0.6rem;
    margin-top: 2rem;
}
.hero-sonrisas-v3__beneficios p {
    margin: 0;
    padding: 0.55rem 0.9rem;
    background: rgba(255, 255, 255, 0.88);
    color: #523870;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 700;
}
.hero-sonrisas-v3__visual {
    position: relative;
}
.hero-sonrisas-v3__visual::before {
    content: "";
    position: absolute;
    inset: 8% -5% -7% 10%;
    background: #6b3fa0;
    border-radius: 45% 55% 50% 50%;
    transform: rotate(5deg);
}
.hero-sonrisas-v3__imagen {
    position: relative;
    margin: 0;
    padding: 10px;
    background: #fff;
    border-radius: 42% 58% 46% 54%;
    box-shadow: 0 22px 45px rgba(70, 38, 96, 0.22);
    transform: rotate(-2deg);
}
.hero-sonrisas-v3__imagen img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: inherit;
}
@media (max-width: 781px) {
    .hero-sonrisas-v3 {
        padding: 3rem 1.1rem;
        text-align: center;
        border-radius: 0 0 32px 32px;
    }
    .hero-sonrisas-v3__columnas {
        gap: 2.5rem;
    }
    .hero-sonrisas-v3__columnas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .hero-sonrisas-v3__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .hero-sonrisas-v3__botones,
    .hero-sonrisas-v3__beneficios {
        justify-content: center;
    }
}
/* HERO_V3_FIN */
/* AJUSTE_PROPUESTA_AMIGA_INICIO */
.hero-sonrisas-v3 {
    padding: clamp(2.5rem, 5vw, 4.5rem) 1.5rem 4rem;
    background:
        radial-gradient(circle at 8% 15%, rgba(255, 216, 77, 0.28), transparent 24%),
        linear-gradient(135deg, #fffdf7 0%, #f5fbff 100%);
    border-radius: 0 0 48px 48px;
}
.hero-sonrisas-v3__columnas {
    gap: clamp(2rem, 4vw, 4rem);
}
.hero-sonrisas-v3__titulo {
    color: #43aeb4;
    font-size: clamp(2.5rem, 4.5vw, 4.4rem);
    line-height: 1.03;
    letter-spacing: -0.035em;
}
.hero-sonrisas-v3__titulo span {
    color: #6b3fa0;
}
.hero-sonrisas-v3__texto {
    max-width: 560px;
    color: #3f3650;
}
.hero-sonrisas-v3__visual::before {
    display: none;
}
.hero-sonrisas-v3__imagen {
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 42px;
    box-shadow: 0 22px 45px rgba(63, 44, 88, 0.16);
    transform: none;
    overflow: hidden;
}
.hero-sonrisas-v3__imagen img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    border-radius: 42px;
}
.hero-sonrisas-v3__beneficios {
    display: none;
}
@media (min-width: 782px) {
    .hero-sonrisas-v3__columnas > .wp-block-column:first-child {
        flex-basis: 43% !important;
    }
    .hero-sonrisas-v3__columnas > .wp-block-column:last-child {
        flex-basis: 57% !important;
    }
}
/* AJUSTE_PROPUESTA_AMIGA_FIN */
/* HERO_CON_VIDA_INICIO */
.hero-sonrisas-v3 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
    padding-bottom: clamp(5rem, 7vw, 7rem);
    background:
        radial-gradient(circle at 8% 18%, rgba(255,216,77,.55) 0 85px, transparent 86px),
        radial-gradient(circle at 93% 12%, rgba(121,200,232,.65) 0 100px, transparent 101px),
        radial-gradient(circle at 87% 88%, rgba(239,120,167,.30) 0 135px, transparent 136px),
        radial-gradient(circle at 18% 90%, rgba(107,63,160,.12) 0 110px, transparent 111px),
        linear-gradient(135deg, #fffdf5 0%, #f2fbff 55%, #fff5fa 100%);
}
/* Pequeños elementos infantiles decorativos */
.hero-sonrisas-v3::before {
    content: "✦   ☁️   ★";
    position: absolute;
    top: 35px;
    right: 7%;
    width: auto;
    height: auto;
    background: none;
    color: #f4bd22;
    font-size: clamp(1.5rem, 3vw, 2.4rem);
    letter-spacing: 1rem;
    opacity: .9;
    transform: rotate(-4deg);
    pointer-events: none;
}
/* Borde inferior tipo nube */
.hero-sonrisas-v3::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 46px;
    background:
        radial-gradient(circle at 24px 46px, #ffffff 24px, transparent 25px)
        0 0 / 48px 46px repeat-x;
    pointer-events: none;
}
/* Título más expresivo */
.hero-sonrisas-v3__titulo {
    text-shadow: 0 4px 0 rgba(255,255,255,.75);
}
.hero-sonrisas-v3__titulo span {
    display: inline-block;
    transform: rotate(-1deg);
}
/* Imagen más protagonista */
.hero-sonrisas-v3__visual {
    transform: translateY(12px);
}
.hero-sonrisas-v3__imagen {
    position: relative;
    overflow: hidden;
    border: 10px solid #ffffff;
    border-radius: 48px 72px 52px 90px;
    box-shadow:
        18px 20px 0 rgba(107,63,160,.20),
        0 28px 55px rgba(63,44,88,.20);
    transform: rotate(1.5deg) scale(1.06);
}
.hero-sonrisas-v3__imagen img {
    border-radius: 38px 62px 42px 80px;
}
/* Sol decorativo */
.hero-sonrisas-v3__visual::after {
    content: "☀️";
    position: absolute;
    top: -42px;
    right: -35px;
    z-index: 5;
    font-size: clamp(3rem, 6vw, 5.2rem);
    filter: drop-shadow(0 7px 5px rgba(0,0,0,.10));
    transform: rotate(8deg);
}
/* Beneficios como tarjetas */
.hero-sonrisas-v3__beneficios {
    display: flex;
    gap: .8rem;
    margin-top: 2rem;
}
.hero-sonrisas-v3__beneficios p {
    padding: .75rem 1rem;
    background: #ffffff;
    border: 2px solid rgba(107,63,160,.10);
    border-radius: 20px;
    box-shadow: 0 8px 18px rgba(72,45,95,.10);
    font-size: .88rem;
    font-weight: 750;
    transition: transform .2s ease;
}
.hero-sonrisas-v3__beneficios p:nth-child(1) {
    border-bottom: 5px solid #f6c945;
}
.hero-sonrisas-v3__beneficios p:nth-child(2) {
    border-bottom: 5px solid #79c8e8;
}
.hero-sonrisas-v3__beneficios p:nth-child(3) {
    border-bottom: 5px solid #ef78a7;
}
.hero-sonrisas-v3__beneficios p:hover {
    transform: translateY(-3px);
}
.hero-sonrisas-v3__botones .wp-block-button__link {
    transition: transform .2s ease, box-shadow .2s ease;
}
.hero-sonrisas-v3__botones .wp-block-button__link:hover {
    transform: translateY(-3px);
}
@media (max-width: 781px) {
    .hero-sonrisas-v3::before {
        top: 18px;
        right: 2%;
        letter-spacing: .45rem;
    }
    .hero-sonrisas-v3__visual {
        transform: none;
    }
    .hero-sonrisas-v3__imagen {
        transform: rotate(1deg);
        border-width: 7px;
        box-shadow:
            10px 12px 0 rgba(107,63,160,.18),
            0 20px 40px rgba(63,44,88,.16);
    }
    .hero-sonrisas-v3__visual::after {
        top: -30px;
        right: -8px;
    }
    .hero-sonrisas-v3__beneficios {
        justify-content: center;
    }
}
/* HERO_CON_VIDA_FIN */
/* ESTILO_WORD_INICIO */
.hero-sonrisas-v3 {
    position: relative;
    min-height: 590px;
    padding: 3rem 1.5rem 6rem;
    overflow: hidden;
    background: #ffffff;
    border-radius: 0;
    isolation: isolate;
}
/* Onda inferior */
.hero-sonrisas-v3::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 105px;
    background: #e8e0f6;
    clip-path: polygon(
        0 55%, 10% 68%, 20% 62%, 30% 75%,
        40% 61%, 50% 72%, 60% 56%, 70% 67%,
        80% 53%, 90% 65%, 100% 54%,
        100% 100%, 0 100%
    );
}
/* Adornos pequeños */
.hero-sonrisas-v3::before {
    content: "♡   ★   ☁";
    position: absolute;
    top: 28px;
    left: 8%;
    width: auto;
    height: auto;
    background: none;
    color: #7cc7cf;
    font-size: 2rem;
    letter-spacing: 1.2rem;
    opacity: 0.9;
    pointer-events: none;
}
.hero-sonrisas-v3__columnas {
    position: relative;
    z-index: 2;
    gap: clamp(2rem, 4vw, 4.5rem);
}
.hero-sonrisas-v3__etiqueta {
    display: none;
}
.hero-sonrisas-v3__titulo {
    margin: 0 0 1.5rem;
    color: #42afb5;
    font-size: clamp(2.8rem, 4.6vw, 4.9rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.035em;
    text-shadow: none;
}
.hero-sonrisas-v3__titulo span {
    color: #42afb5;
    transform: none;
}
.hero-sonrisas-v3__texto {
    max-width: 520px;
    margin: 0 0 2rem;
    color: #27376f;
    font-size: 1.12rem;
    line-height: 1.65;
}
.hero-sonrisas-v3__beneficios {
    display: none;
}
/* Fotografía protagonista */
.hero-sonrisas-v3__visual {
    position: relative;
    transform: none;
}
.hero-sonrisas-v3__visual::before,
.hero-sonrisas-v3__visual::after {
    display: none;
}
.hero-sonrisas-v3__imagen {
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
}
.hero-sonrisas-v3__imagen img {
    display: block;
    width: 100%;
    height: clamp(430px, 42vw, 610px);
    object-fit: cover;
    object-position: 62% center;
    border-radius: 0;
}
/* Botones */
.hero-sonrisas-v3__botones .wp-block-button__link {
    padding: 0.95rem 1.5rem;
    border-radius: 999px;
    font-weight: 800;
}
@media (min-width: 782px) {
    .hero-sonrisas-v3__columnas > .wp-block-column:first-child {
        flex-basis: 42% !important;
    }
    .hero-sonrisas-v3__columnas > .wp-block-column:last-child {
        flex-basis: 58% !important;
    }
}
@media (max-width: 781px) {
    .hero-sonrisas-v3 {
        min-height: auto;
        padding: 3.5rem 1.1rem 5rem;
        text-align: center;
    }
    .hero-sonrisas-v3__columnas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .hero-sonrisas-v3__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .hero-sonrisas-v3__botones {
        justify-content: center;
    }
    .hero-sonrisas-v3__imagen img {
        height: 420px;
        object-position: 62% center;
    }
}
/* ESTILO_WORD_FIN */
/* HEADER_COMPACTO_INICIO */
.header-sonrisas {
    position: sticky;
    top: 0;
    z-index: 999;
    margin: 0;
    padding: 8px 22px 28px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 6px 20px rgba(62, 41, 82, 0.08);
}
body.admin-bar .header-sonrisas {
    top: 32px;
}
.header-sonrisas::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -22px;
    height: 30px;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='34' viewBox='0 0 240 34'%3E%3Cpath d='M0 0H240V16C220 16 220 27 200 27C180 27 180 16 160 16C140 16 140 27 120 27C100 27 100 16 80 16C60 16 60 27 40 27C20 27 20 16 0 16Z' fill='%23ffffff'/%3E%3Cpath d='M0 16C20 16 20 27 40 27C60 27 60 16 80 16C100 16 100 27 120 27C140 27 140 16 160 16C180 16 180 27 200 27C220 27 220 16 240 16' fill='none' stroke='%23ddd4ec' stroke-width='2' stroke-dasharray='2 7' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: 240px 34px;
}
.header-sonrisas__interior {
    min-height: 88px;
    gap: clamp(1rem, 2.5vw, 2.5rem);
}
/* Logo colgante compacto */
.logo-colgante-menu {
    position: relative;
    display: flex;
    flex: 0 0 125px;
    width: 125px;
    height: 94px;
    align-items: flex-end;
    justify-content: center;
    margin: -4px 0 -14px;
}
.logo-colgante-menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 11px;
    height: 11px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #ff9800;
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.18);
    z-index: 4;
}
.logo-colgante-menu::after {
    content: "";
    position: absolute;
    top: 9px;
    left: 50%;
    width: 86px;
    height: 44px;
    transform: translateX(-50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='86' height='44' viewBox='0 0 86 44'%3E%3Cpath d='M43 0L3 44M43 0L83 44' fill='none' stroke='%23d19a28' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
}
.logo-cuadro-menu {
    position: relative;
    z-index: 3;
    margin: 0 !important;
    padding: 5px;
    border: 4px solid #ffd43b;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 20px rgba(61, 40, 75, 0.18);
    transform-origin: top center;
    animation: balanceoLogoMenu 4s ease-in-out infinite;
}
.logo-cuadro-menu img {
    display: block;
    width: 96px !important;
    height: auto !important;
}
@keyframes balanceoLogoMenu {
    0%, 100% { transform: rotate(-2deg); }
    50% { transform: rotate(2deg); }
}
/* Menú central */
.menu-sonrisas {
    flex: 1 1 auto;
}
.menu-sonrisas .wp-block-navigation__container {
    justify-content: center;
    gap: clamp(0.65rem, 1.4vw, 1.35rem);
}
.menu-sonrisas .wp-block-navigation-item__content {
    display: flex;
    min-width: 58px;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 4px 2px;
    color: #453653;
    font-size: clamp(0.72rem, 0.9vw, 0.9rem);
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}
.menu-sonrisas .wp-block-navigation-item__content:hover,
.menu-sonrisas .current-menu-item > .wp-block-navigation-item__content {
    color: #6b3fa0;
    transform: translateY(-3px);
}
/* Acciones del encabezado */
.header-sonrisas__acciones {
    flex: 0 0 auto;
    gap: 0.7rem;
}
.telefono-header {
    margin: 0;
    white-space: nowrap;
}
.telefono-header a {
    color: #6b3fa0;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
}
.boton-inscripciones-header {
    margin: 0;
}
.boton-inscripciones-header .wp-block-button__link {
    padding: 0.8rem 1.25rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #6b3fa0, #8b4ac4);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 800;
    box-shadow: 0 6px 0 #4c2477;
    transition: transform 0.2s ease;
}
.boton-inscripciones-header .wp-block-button__link:hover {
    transform: translateY(-3px);
}
/* Adaptación */
@media (max-width: 1180px) {
    .telefono-header {
        display: none;
    }
    .menu-sonrisas .wp-block-navigation__container {
        gap: 0.55rem;
    }
    .menu-sonrisas .wp-block-navigation-item__content {
        min-width: 48px;
        font-size: 0.72rem;
    }
}
@media (max-width: 900px) {
    .header-sonrisas {
        padding: 5px 12px 22px;
    }
    body.admin-bar .header-sonrisas {
        top: 46px;
    }
    .header-sonrisas__interior {
        min-height: 70px;
    }
    .logo-colgante-menu {
        flex-basis: 80px;
        width: 80px;
        height: 67px;
        margin-bottom: -8px;
    }
    .logo-colgante-menu::after {
        width: 56px;
        height: 29px;
        background-size: 56px 29px;
    }
    .logo-cuadro-menu {
        padding: 3px;
        border-width: 3px;
        border-radius: 12px;
        animation: none;
    }
    .logo-cuadro-menu img {
        width: 62px !important;
    }
    .boton-inscripciones-header {
        display: none;
    }
    .menu-sonrisas {
        flex: 0 0 auto;
    }
    .menu-sonrisas .wp-block-navigation__responsive-container-open {
        padding: 9px 13px;
        border: 0;
        border-radius: 999px;
        background: #fff2a8;
        color: #6b3fa0;
        box-shadow: 0 5px 0 #ffd43b;
    }
}
@media (prefers-reduced-motion: reduce) {
    .logo-cuadro-menu {
        animation: none;
    }
}
/* HEADER_COMPACTO_FIN */
/* MENU_UNA_LINEA_INICIO */
.telefono-header {
    display: none !important;
}
.header-sonrisas__interior {
    flex-wrap: nowrap !important;
}
.menu-sonrisas .wp-block-navigation__container {
    flex-wrap: nowrap !important;
    gap: clamp(0.5rem, 1vw, 1rem);
}
.menu-sonrisas .wp-block-navigation-item__content {
    min-width: auto;
    white-space: nowrap;
}
/* MENU_UNA_LINEA_FIN */
/* MENU_MAS_IZQUIERDA_INICIO */
@media (min-width: 901px) {
    .header-sonrisas__interior {
        gap: 0.75rem !important;
    }
    .logo-colgante-menu {
        flex-basis: 110px;
        width: 110px;
    }
    .menu-sonrisas {
        flex: 1 1 auto;
        margin-left: -8px;
    }
    .menu-sonrisas .wp-block-navigation__container {
        justify-content: flex-start !important;
        gap: clamp(0.65rem, 1.05vw, 1.15rem) !important;
    }
    .menu-sonrisas .wp-block-navigation-item__content {
        font-size: clamp(0.82rem, 0.95vw, 0.98rem) !important;
        white-space: nowrap;
    }
    .header-sonrisas__acciones {
        margin-left: auto;
    }
    .boton-inscripciones-header .wp-block-button__link {
        padding: 0.78rem 1.1rem;
        font-size: 0.92rem;
    }
}
/* MENU_MAS_IZQUIERDA_FIN */
/* MENU_SIN_HUECO_INICIO */
@media (min-width: 901px) {
    .header-sonrisas__interior {
        justify-content: flex-start !important;
    }
    .menu-sonrisas {
        flex: 0 1 auto !important;
        margin-left: 0 !important;
    }
    .header-sonrisas__acciones {
        margin-left: 1.25rem !important;
    }
    .menu-sonrisas .wp-block-navigation-item__content {
        font-size: 1rem !important;
    }
}
/* MENU_SIN_HUECO_FIN */
/* CENTRAR_ENCABEZADO_INICIO */
@media (min-width: 901px) {
    .header-sonrisas__interior {
        width: fit-content !important;
        max-width: calc(100% - 48px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
        gap: 1.15rem !important;
    }
    .menu-sonrisas {
        flex: 0 1 auto !important;
    }
    .header-sonrisas__acciones {
        margin-left: 0.35rem !important;
    }
}
/* CENTRAR_ENCABEZADO_FIN */
/* NUBES_IRREGULARES_INICIO */
.header-sonrisas::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -28px;
    height: 45px;
    z-index: 2;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='70' viewBox='0 0 1600 70' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1600V18 C1560 13 1540 42 1496 31 C1450 19 1431 50 1380 34 C1333 19 1305 45 1260 30 C1215 15 1188 49 1138 31 C1095 15 1066 45 1018 32 C970 18 942 51 895 32 C850 14 821 43 770 31 C724 20 695 48 648 33 C598 17 575 49 525 31 C480 15 449 44 400 30 C355 17 322 50 274 32 C229 16 202 45 152 30 C104 15 77 47 31 31 C18 27 9 23 0 22Z' fill='%23ffffff' fill-opacity='.72'/%3E%3Cpath d='M0 22 C31 36 63 14 104 29 C152 47 181 17 229 31 C274 48 308 17 355 31 C400 46 431 17 480 31 C525 48 553 17 598 32 C648 49 676 19 724 32 C770 46 802 18 850 32 C895 49 925 18 970 32 C1018 47 1047 18 1095 32 C1138 48 1170 17 1215 31 C1260 47 1288 19 1333 32 C1380 48 1412 17 1450 31 C1496 48 1531 17 1560 31 C1576 38 1588 34 1600 29' fill='none' stroke='%23cfc5df' stroke-opacity='.45' stroke-width='2' stroke-dasharray='2 9' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% 45px;
    opacity: 0.9;
    transform: translateZ(0);
    animation: none !important;
}
/* NUBES_IRREGULARES_FIN */
/* NUBES_TIPO_STANFORD_INICIO */
.header-sonrisas {
    overflow: visible !important;
}
.header-sonrisas::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -64px !important;
    width: 100% !important;
    height: 82px !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='92' viewBox='0 0 1600 92' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1600V23 C1560 22 1554 64 1512 64 C1474 64 1468 38 1428 38 C1386 38 1382 78 1336 78 C1290 78 1284 45 1242 45 C1198 45 1192 90 1142 90 C1094 90 1086 52 1038 52 C990 52 984 82 938 82 C892 82 886 42 840 42 C792 42 786 75 738 75 C690 75 684 50 638 50 C590 50 584 88 534 88 C484 88 478 46 430 46 C382 46 376 74 330 74 C282 74 276 36 230 36 C184 36 178 82 128 82 C80 82 70 50 34 50 C17 50 8 59 0 68Z' fill='%23ffffff' fill-opacity='.90'/%3E%3Cpath d='M0 68 C8 59 17 50 34 50 C70 50 80 82 128 82 C178 82 184 36 230 36 C276 36 282 74 330 74 C376 74 382 46 430 46 C478 46 484 88 534 88 C584 88 590 50 638 50 C684 50 690 75 738 75 C786 75 792 42 840 42 C886 42 892 82 938 82 C984 82 990 52 1038 52 C1086 52 1094 90 1142 90 C1192 90 1198 45 1242 45 C1284 45 1290 78 1336 78 C1382 78 1386 38 1428 38 C1468 38 1474 64 1512 64 C1554 64 1560 22 1600 23' fill='none' stroke='%23c7bdd7' stroke-opacity='.55' stroke-width='2.2' stroke-dasharray='2 9' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: 100% 82px !important;
    opacity: 0.94 !important;
    filter: drop-shadow(0 5px 4px rgba(70, 45, 90, 0.07));
    animation: none !important;
}
@media (max-width: 900px) {
    .header-sonrisas::after {
        bottom: -45px !important;
        height: 60px !important;
        background-size: 100% 60px !important;
    }
}
/* NUBES_TIPO_STANFORD_FIN */
/* NUBES_STANFORD_FINAL_INICIO */
.header-sonrisas {
    overflow: visible !important;
    padding-bottom: 18px !important;
}
.header-sonrisas__interior {
    position: relative;
    z-index: 20;
}
.header-sonrisas::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -61px !important;
    width: 100% !important;
    height: 82px !important;
    z-index: 10 !important;
    pointer-events: none !important;
    opacity: 1 !important;
    animation: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='100' viewBox='0 0 1600 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1600V50 C1580 40 1560 35 1540 45 C1515 58 1510 82 1475 82 C1430 82 1420 52 1375 52 C1330 52 1320 88 1270 88 C1220 88 1210 40 1165 40 C1120 40 1110 80 1065 80 C1020 80 1010 46 965 46 C920 46 910 90 860 90 C810 90 800 52 755 52 C710 52 700 82 655 82 C610 82 600 45 555 45 C510 45 505 94 455 94 C405 94 400 50 355 50 C310 50 305 84 260 84 C215 84 210 42 170 42 C130 42 125 72 80 72 C35 72 35 27 0 27Z' fill='%23ffffff' fill-opacity='.97'/%3E%3Cpath d='M0 27 C35 27 35 72 80 72 C125 72 130 42 170 42 C210 42 215 84 260 84 C305 84 310 50 355 50 C400 50 405 94 455 94 C505 94 510 45 555 45 C600 45 610 82 655 82 C700 82 710 52 755 52 C800 52 810 90 860 90 C910 90 920 46 965 46 C1010 46 1020 80 1065 80 C1110 80 1120 40 1165 40 C1210 40 1220 88 1270 88 C1320 88 1330 52 1375 52 C1420 52 1430 82 1475 82 C1510 82 1515 58 1540 45 C1560 35 1580 40 1600 50' fill='none' stroke='%23c8bfd4' stroke-opacity='.65' stroke-width='2.5' stroke-dasharray='2 9' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: 100% 82px !important;
    filter: drop-shadow(0 5px 5px rgba(68, 45, 86, .08));
}
@media (max-width: 900px) {
    .header-sonrisas::after {
        bottom: -42px !important;
        height: 58px !important;
        background-size: 100% 58px !important;
    }
}
/* NUBES_STANFORD_FINAL_FIN */
/* ENCABEZADO_FIJO_INICIO */
.header-sonrisas {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999 !important;
    width: auto;
    box-sizing: border-box;
}
/* Espacio para que el encabezado no tape la página */
.wp-site-blocks {
    padding-top: 155px !important;
}
/* Cuando estás conectado aparece la barra negra de WordPress */
body.admin-bar .header-sonrisas {
    top: 32px;
}
@media (max-width: 900px) {
    .wp-site-blocks {
        padding-top: 108px !important;
    }
    body.admin-bar .header-sonrisas {
        top: 46px;
    }
}
/* ENCABEZADO_FIJO_FIN */
/* HEADER_ANIMADO_SCROLL_INICIO */
.header-sonrisas {
    transition:
        transform 0.35s ease,
        padding 0.35s ease,
        box-shadow 0.35s ease;
}
.header-sonrisas__interior,
.logo-colgante-menu,
.logo-cuadro-menu,
.logo-cuadro-menu img,
.header-sonrisas::after {
    transition:
        transform 0.35s ease,
        width 0.35s ease,
        height 0.35s ease,
        min-height 0.35s ease,
        margin 0.35s ease,
        bottom 0.35s ease,
        opacity 0.35s ease;
}
/* Al desplazarse, sube y se compacta */
body.header-compacto .header-sonrisas {
    transform: translateY(-10px);
    padding-top: 2px !important;
    padding-bottom: 10px !important;
    box-shadow: 0 8px 24px rgba(62, 41, 82, 0.13);
}
body.header-compacto .header-sonrisas__interior {
    min-height: 70px !important;
}
body.header-compacto .logo-colgante-menu {
    transform: translateY(-3px) scale(0.90);
    margin-bottom: -18px;
}
body.header-compacto .header-sonrisas::after {
    bottom: -50px !important;
    height: 68px !important;
    background-size: 100% 68px !important;
    opacity: 0.94 !important;
}
@media (max-width: 900px) {
    body.header-compacto .header-sonrisas {
        transform: translateY(-5px);
        padding-bottom: 8px !important;
    }
    body.header-compacto .header-sonrisas__interior {
        min-height: 58px !important;
    }
    body.header-compacto .header-sonrisas::after {
        bottom: -38px !important;
        height: 52px !important;
        background-size: 100% 52px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .header-sonrisas,
    .header-sonrisas__interior,
    .logo-colgante-menu,
    .logo-cuadro-menu,
    .logo-cuadro-menu img,
    .header-sonrisas::after {
        transition: none !important;
    }
}
/* HEADER_ANIMADO_SCROLL_FIN */
/* SECCION_FELICIDAD_INICIO */
.seccion-felicidad {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 1.5rem;
    background:
        radial-gradient(circle at 8% 22%, rgba(246, 201, 69, 0.30) 0 90px, transparent 91px),
        radial-gradient(circle at 94% 78%, rgba(121, 200, 232, 0.28) 0 125px, transparent 126px),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.seccion-felicidad::before {
    content: "✦  ☁  ★";
    position: absolute;
    top: 45px;
    right: 7%;
    color: #ef78a7;
    font-size: clamp(1.4rem, 2.5vw, 2rem);
    letter-spacing: 0.7rem;
    opacity: 0.75;
    transform: rotate(5deg);
}
.seccion-felicidad__interior {
    position: relative;
    z-index: 2;
}
.seccion-felicidad__etiqueta {
    display: table;
    margin: 0 auto 1rem;
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    background: #fff2a8;
    color: #6b3fa0;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    box-shadow: 0 5px 0 #f6c945;
}
.seccion-felicidad__titulo {
    max-width: 820px;
    margin: 0 auto 1.25rem;
    color: #43aeb4;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.035em;
}
.seccion-felicidad__texto {
    max-width: 850px;
    margin: 0 auto;
    color: #423851;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.75;
}
.seccion-felicidad__tarjetas {
    max-width: 1120px;
    margin: 3rem auto 2.5rem;
    gap: clamp(1.2rem, 2.5vw, 2rem);
    align-items: stretch;
}
.tarjeta-felicidad {
    height: 100%;
    box-sizing: border-box;
    padding: 2.2rem 1.6rem;
    border: 6px solid #ffffff;
    border-radius: 38px 28px 42px 30px;
    box-shadow:
        0 12px 0 rgba(107, 63, 160, 0.10),
        0 20px 35px rgba(64, 42, 82, 0.10);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}
.tarjeta-felicidad h3 {
    margin-top: 0;
    color: #4d3568;
    font-size: clamp(1.15rem, 1.7vw, 1.45rem);
    font-weight: 850;
    line-height: 1.25;
}
.tarjeta-felicidad p {
    margin-bottom: 0;
    color: #4e4558;
    line-height: 1.65;
}
.tarjeta-felicidad--amarilla {
    background: #fff2a8;
    transform: rotate(-1.2deg);
}
.tarjeta-felicidad--azul {
    background: #dff5ff;
    transform: translateY(-12px) rotate(1deg);
}
.tarjeta-felicidad--morada {
    background: #eee6fa;
    transform: rotate(-0.8deg);
}
.tarjeta-felicidad:hover {
    transform: translateY(-8px) rotate(0deg);
    box-shadow:
        0 14px 0 rgba(107, 63, 160, 0.13),
        0 25px 40px rgba(64, 42, 82, 0.14);
}
.boton-conocenos .wp-block-button__link {
    padding: 0.95rem 1.6rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #6b3fa0, #8b4ac4);
    color: #ffffff;
    font-weight: 800;
    box-shadow: 0 7px 0 #4c2477;
    transition: transform 0.2s ease;
}
.boton-conocenos .wp-block-button__link:hover {
    transform: translateY(-3px);
}
@media (max-width: 781px) {
    .seccion-felicidad {
        padding: 4rem 1.1rem;
    }
    .seccion-felicidad__tarjetas {
        gap: 1.25rem;
    }
    .tarjeta-felicidad,
    .tarjeta-felicidad--amarilla,
    .tarjeta-felicidad--azul,
    .tarjeta-felicidad--morada {
        transform: none;
    }
}
/* SECCION_FELICIDAD_FIN */
/* HERO_INICIO_FINAL_INICIO */
.hero-inicio-final {
    position: relative;
    overflow: hidden;
    padding: 3rem 1.5rem 5rem;
    background:
        radial-gradient(
            circle at 7% 18%,
            rgba(246, 201, 69, 0.24) 0 85px,
            transparent 86px
        ),
        radial-gradient(
            circle at 94% 14%,
            rgba(121, 200, 232, 0.20) 0 115px,
            transparent 116px
        ),
        #ffffff;
}
.hero-inicio-final::before {
    content: "♡  ★  ☁";
    position: absolute;
    top: 2.4rem;
    left: 7%;
    color: #7bc6ce;
    font-size: 1.8rem;
    letter-spacing: 0.75rem;
    opacity: 0.78;
    pointer-events: none;
}
.hero-inicio-final::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 68px;
    background: #eee7f8;
    clip-path: polygon(
        0 54%,
        10% 70%,
        20% 61%,
        30% 77%,
        40% 60%,
        50% 72%,
        60% 56%,
        70% 69%,
        80% 54%,
        90% 67%,
        100% 53%,
        100% 100%,
        0 100%
    );
    pointer-events: none;
}
.hero-inicio-final__columnas {
    position: relative;
    z-index: 2;
    max-width: 1240px;
    gap: 3.5rem;
}
.hero-inicio-final__contenido {
    padding-top: 1rem;
}
.hero-inicio-final__etiqueta {
    display: inline-block;
    margin: 0 0 1.15rem;
    padding: 0.6rem 1rem;
    border-radius: 999px;
    background: #fff2a8;
    color: #6b3fa0;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    box-shadow: 0 5px 0 #f6c945;
}
.hero-inicio-final__titulo {
    max-width: 590px;
    margin: 0;
    color: #43aeb4;
    font-size: clamp(2.8rem, 4.7vw, 5rem);
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.045em;
}
.hero-inicio-final__titulo span {
    color: #6b3fa0;
}
.hero-inicio-final__texto {
    max-width: 560px;
    margin: 1.4rem 0 1.8rem;
    color: #27376f;
    font-size: 1.12rem;
    line-height: 1.7;
}
.hero-inicio-final__botones {
    gap: 0.85rem;
}
.hero-inicio-final__botones .wp-block-button__link {
    padding: 0.9rem 1.45rem;
    border-radius: 999px;
    font-weight: 800;
    transition: transform 0.2s ease;
}
.hero-boton-principal .wp-block-button__link {
    background: #6b3fa0;
    color: #ffffff;
    box-shadow: 0 7px 0 #4c2477;
}
.hero-boton-secundario .wp-block-button__link {
    background: #ffffff;
    color: #6b3fa0;
    border: 3px solid #6b3fa0;
}
.hero-inicio-final__botones .wp-block-button__link:hover {
    transform: translateY(-3px);
}
.hero-inicio-final__beneficios {
    gap: 0.65rem;
    margin-top: 1.8rem;
}
.hero-inicio-final__beneficios p {
    margin: 0;
    padding: 0.65rem 0.9rem;
    border-radius: 18px;
    background: #ffffff;
    color: #523870;
    font-size: 0.85rem;
    font-weight: 750;
    box-shadow: 0 7px 18px rgba(68, 45, 90, 0.10);
}
.hero-inicio-final__beneficios p:nth-child(1) {
    border-bottom: 4px solid #f6c945;
}
.hero-inicio-final__beneficios p:nth-child(2) {
    border-bottom: 4px solid #79c8e8;
}
.hero-inicio-final__beneficios p:nth-child(3) {
    border-bottom: 4px solid #ef78a7;
}
.hero-inicio-final__visual {
    display: flex;
    position: relative;
    align-items: center;
}
.hero-inicio-final__imagen {
    width: 100%;
    margin: 0;
    transform: translateY(-8px) scale(1.035);
}
.hero-inicio-final__imagen img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 610px;
    object-fit: contain;
}
@media (max-width: 900px) {
    .hero-inicio-final {
        padding: 3rem 1.1rem 5rem;
    }
    .hero-inicio-final__columnas {
        gap: 2.2rem;
    }
    .hero-inicio-final__columnas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .hero-inicio-final__contenido {
        padding-top: 0;
        text-align: center;
    }
    .hero-inicio-final__titulo,
    .hero-inicio-final__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .hero-inicio-final__botones,
    .hero-inicio-final__beneficios {
        justify-content: center;
    }
    .hero-inicio-final__imagen {
        transform: none;
    }
}
@media (max-width: 480px) {
    .hero-inicio-final__titulo {
        font-size: 2.65rem;
    }
    .hero-inicio-final__botones,
    .hero-inicio-final__botones .wp-block-button {
        width: 100%;
    }
    .hero-inicio-final__botones .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
    }
}
/* HERO_INICIO_FINAL_FIN */
/* SECCION_NIVELES_INICIO */
.seccion-niveles {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 1.5rem;
    background:
        radial-gradient(circle at 5% 80%, rgba(239,120,167,.22) 0 120px, transparent 121px),
        radial-gradient(circle at 94% 18%, rgba(246,201,69,.28) 0 95px, transparent 96px),
        linear-gradient(180deg, #fffaf0 0%, #fff 100%);
}
.seccion-niveles::before {
    content: "★  ☁  ✦";
    position: absolute;
    top: 3rem;
    left: 7%;
    color: #79c8e8;
    font-size: 1.7rem;
    letter-spacing: .8rem;
    opacity: .75;
}
.seccion-niveles__interior {
    position: relative;
    z-index: 2;
}
.seccion-niveles__etiqueta {
    display: table;
    margin: 0 auto 1rem;
    padding: .55rem 1.1rem;
    border-radius: 999px;
    background: #dff5ff;
    color: #6b3fa0;
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .07em;
    box-shadow: 0 5px 0 #79c8e8;
}
.seccion-niveles__titulo {
    max-width: 850px;
    margin: 0 auto 1.2rem;
    color: #6b3fa0;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -.035em;
}
.seccion-niveles__texto {
    max-width: 760px;
    margin: 0 auto 3rem;
    color: #423851;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.7;
}
.niveles-fila {
    max-width: 1120px;
    margin: 0 auto 1.7rem;
    gap: clamp(1.2rem, 2.4vw, 2rem);
    align-items: stretch;
}
.niveles-fila--dos {
    max-width: 760px;
    margin-bottom: 2.5rem;
}
.tarjeta-nivel {
    height: 100%;
    box-sizing: border-box;
    padding: 2rem 1.5rem;
    border: 6px solid #fff;
    border-radius: 38px 28px 42px 30px;
    box-shadow:
        0 12px 0 rgba(107,63,160,.10),
        0 20px 35px rgba(64,42,82,.10);
    transition: transform .22s ease, box-shadow .22s ease;
}
.tarjeta-nivel__icono {
    margin: 0 0 .8rem;
    font-size: 3rem;
    line-height: 1;
}
.tarjeta-nivel h3 {
    margin: 0 0 .8rem;
    color: #4d3568;
    font-size: 1.45rem;
    font-weight: 900;
}
.tarjeta-nivel p:not(.tarjeta-nivel__icono) {
    margin: 0;
    color: #4f4658;
    line-height: 1.6;
}
.nivel-materno {
    background: #fff2a8;
    transform: rotate(-1deg);
}
.nivel-parvulos {
    background: #dff5ff;
    transform: translateY(-10px) rotate(1deg);
}
.nivel-prejardin {
    background: #fce5ef;
    transform: rotate(-.8deg);
}
.nivel-jardin {
    background: #e8f4d5;
    transform: rotate(.8deg);
}
.nivel-transicion {
    background: #eee6fa;
    transform: translateY(-8px) rotate(-1deg);
}
.tarjeta-nivel:hover {
    transform: translateY(-9px) rotate(0);
    box-shadow:
        0 14px 0 rgba(107,63,160,.14),
        0 25px 42px rgba(64,42,82,.15);
}
.boton-niveles .wp-block-button__link {
    padding: .95rem 1.6rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #43aeb4, #6b3fa0);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 7px 0 #4c2477;
    transition: transform .2s ease;
}
.boton-niveles .wp-block-button__link:hover {
    transform: translateY(-3px);
}
@media (max-width: 781px) {
    .seccion-niveles {
        padding: 4rem 1.1rem;
    }
    .niveles-fila {
        gap: 1.25rem;
    }
    .tarjeta-nivel,
    .nivel-materno,
    .nivel-parvulos,
    .nivel-prejardin,
    .nivel-jardin,
    .nivel-transicion {
        transform: none;
    }
}
/* SECCION_NIVELES_FIN */
/* SECCION_PROPUESTA_INICIO */
.seccion-propuesta {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 1.5rem;
    background:
        radial-gradient(circle at 7% 18%, rgba(121, 200, 232, 0.26) 0 105px, transparent 106px),
        radial-gradient(circle at 94% 82%, rgba(239, 120, 167, 0.20) 0 125px, transparent 126px),
        linear-gradient(180deg, #f8f4ff 0%, #ffffff 100%);
}
.seccion-propuesta::before {
    content: "🎨   ✦   ☁";
    position: absolute;
    top: 3rem;
    right: 7%;
    color: #ef78a7;
    font-size: 1.7rem;
    letter-spacing: 0.7rem;
    opacity: 0.78;
    transform: rotate(4deg);
}
.seccion-propuesta__interior {
    position: relative;
    z-index: 2;
}
.seccion-propuesta__etiqueta {
    display: table;
    margin: 0 auto 1rem;
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    background: #fce5ef;
    color: #6b3fa0;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    box-shadow: 0 5px 0 #ef78a7;
}
.seccion-propuesta__titulo {
    max-width: 850px;
    margin: 0 auto 1.2rem;
    color: #43aeb4;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.035em;
}
.seccion-propuesta__texto {
    max-width: 820px;
    margin: 0 auto 3rem;
    color: #423851;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.72;
}
.propuesta-tarjetas {
    max-width: 1180px;
    margin: 0 auto 2.8rem;
    gap: clamp(1rem, 2vw, 1.6rem);
    align-items: stretch;
}
.tarjeta-propuesta {
    height: 100%;
    box-sizing: border-box;
    padding: 2rem 1.35rem;
    border: 6px solid #ffffff;
    border-radius: 34px 26px 38px 28px;
    box-shadow:
        0 11px 0 rgba(107, 63, 160, 0.10),
        0 20px 34px rgba(64, 42, 82, 0.10);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}
.tarjeta-propuesta__icono {
    margin: 0 0 0.8rem;
    font-size: 3rem;
    line-height: 1;
}
.tarjeta-propuesta h3 {
    margin: 0 0 0.8rem;
    color: #4d3568;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.25;
}
.tarjeta-propuesta p:not(.tarjeta-propuesta__icono) {
    margin: 0;
    color: #4f4658;
    line-height: 1.62;
}
.propuesta-juego {
    background: #fff2a8;
    transform: rotate(-1deg);
}
.propuesta-arte {
    background: #fce5ef;
    transform: translateY(-10px) rotate(0.8deg);
}
.propuesta-ingles {
    background: #dff5ff;
    transform: rotate(-0.7deg);
}
.propuesta-robotica {
    background: #e8f4d5;
    transform: translateY(-8px) rotate(1deg);
}
.tarjeta-propuesta:hover {
    transform: translateY(-9px) rotate(0);
    box-shadow:
        0 14px 0 rgba(107, 63, 160, 0.14),
        0 25px 42px rgba(64, 42, 82, 0.15);
}
.boton-propuesta .wp-block-button__link {
    padding: 0.95rem 1.6rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ef78a7, #6b3fa0);
    color: #ffffff;
    font-weight: 800;
    box-shadow: 0 7px 0 #4c2477;
    transition: transform 0.2s ease;
}
.boton-propuesta .wp-block-button__link:hover {
    transform: translateY(-3px);
}
@media (max-width: 900px) {
    .propuesta-tarjetas {
        flex-wrap: wrap !important;
    }
    .propuesta-tarjetas > .wp-block-column {
        flex-basis: calc(50% - 1rem) !important;
    }
}
@media (max-width: 600px) {
    .seccion-propuesta {
        padding: 4rem 1.1rem;
    }
    .propuesta-tarjetas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .tarjeta-propuesta,
    .propuesta-juego,
    .propuesta-arte,
    .propuesta-ingles,
    .propuesta-robotica {
        transform: none;
    }
}
/* SECCION_PROPUESTA_FIN */
/* SECCION_SERVICIOS_INICIO */
.seccion-servicios {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 1.5rem;
    background:
        radial-gradient(
            circle at 7% 82%,
            rgba(121, 200, 232, 0.24) 0 125px,
            transparent 126px
        ),
        radial-gradient(
            circle at 94% 17%,
            rgba(246, 201, 69, 0.28) 0 105px,
            transparent 106px
        ),
        linear-gradient(180deg, #fffdf4 0%, #ffffff 100%);
}
.seccion-servicios::before {
    content: "☁   ♥   ✦";
    position: absolute;
    top: 3rem;
    left: 7%;
    color: #79c8e8;
    font-size: 1.7rem;
    letter-spacing: 0.75rem;
    opacity: 0.75;
    transform: rotate(-4deg);
}
.seccion-servicios__interior {
    position: relative;
    z-index: 2;
}
.seccion-servicios__etiqueta {
    display: table;
    margin: 0 auto 1rem;
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    background: #e8f4d5;
    color: #6b3fa0;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    box-shadow: 0 5px 0 #9dcc67;
}
.seccion-servicios__titulo {
    max-width: 900px;
    margin: 0 auto 1.2rem;
    color: #6b3fa0;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.035em;
}
.seccion-servicios__texto {
    max-width: 820px;
    margin: 0 auto 3rem;
    color: #423851;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.72;
}
.servicios-fila {
    max-width: 1120px;
    margin: 0 auto 1.7rem;
    gap: clamp(1.2rem, 2.4vw, 2rem);
    align-items: stretch;
}
.servicios-fila--dos {
    max-width: 760px;
    margin-bottom: 2.7rem;
}
.tarjeta-servicio {
    height: 100%;
    box-sizing: border-box;
    padding: 2rem 1.5rem;
    border: 6px solid #ffffff;
    border-radius: 38px 28px 42px 30px;
    box-shadow:
        0 12px 0 rgba(107, 63, 160, 0.10),
        0 20px 35px rgba(64, 42, 82, 0.10);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}
.tarjeta-servicio__icono {
    margin: 0 0 0.8rem;
    font-size: 3rem;
    line-height: 1;
}
.tarjeta-servicio h3 {
    margin: 0 0 0.8rem;
    color: #4d3568;
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1.25;
}
.tarjeta-servicio p:not(.tarjeta-servicio__icono) {
    margin: 0;
    color: #4f4658;
    line-height: 1.62;
}
.servicio-almuerzo {
    background: #fff2a8;
    transform: rotate(-1deg);
}
.servicio-enfermeria {
    background: #dff5ff;
    transform: translateY(-10px) rotate(1deg);
}
.servicio-psicologia {
    background: #fce5ef;
    transform: rotate(-0.8deg);
}
.servicio-vacaciones {
    background: #e8f4d5;
    transform: rotate(0.8deg);
}
.servicio-fonoaudiologia {
    background: #eee6fa;
    transform: translateY(-8px) rotate(-1deg);
}
.tarjeta-servicio:hover {
    transform: translateY(-9px) rotate(0);
    box-shadow:
        0 14px 0 rgba(107, 63, 160, 0.14),
        0 25px 42px rgba(64, 42, 82, 0.15);
}
.boton-servicios .wp-block-button__link {
    padding: 0.95rem 1.6rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #43aeb4, #6b3fa0);
    color: #ffffff;
    font-weight: 800;
    box-shadow: 0 7px 0 #4c2477;
    transition: transform 0.2s ease;
}
.boton-servicios .wp-block-button__link:hover {
    transform: translateY(-3px);
}
@media (max-width: 781px) {
    .seccion-servicios {
        padding: 4rem 1.1rem;
    }
    .servicios-fila {
        gap: 1.25rem;
    }
    .tarjeta-servicio,
    .servicio-almuerzo,
    .servicio-enfermeria,
    .servicio-psicologia,
    .servicio-vacaciones,
    .servicio-fonoaudiologia {
        transform: none;
    }
}
/* SECCION_SERVICIOS_FIN */
/* SECCION_MATRICULAS_INICIO */
.seccion-matriculas {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 1.5rem;
    background:
        radial-gradient(
            circle at 92% 15%,
            rgba(121, 200, 232, 0.30) 0 115px,
            transparent 116px
        ),
        radial-gradient(
            circle at 7% 86%,
            rgba(239, 120, 167, 0.22) 0 135px,
            transparent 136px
        ),
        linear-gradient(135deg, #fff8d9 0%, #ffffff 55%, #f5f0ff 100%);
}
.seccion-matriculas::before {
    content: "✦   ☁   ★";
    position: absolute;
    top: 3rem;
    right: 7%;
    color: #ef78a7;
    font-size: 1.7rem;
    letter-spacing: 0.75rem;
    opacity: 0.76;
    transform: rotate(4deg);
    pointer-events: none;
}
.seccion-matriculas__columnas {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    gap: clamp(2.5rem, 5vw, 5rem);
}
.seccion-matriculas__visual {
    position: relative;
}
.seccion-matriculas__visual::before {
    content: "";
    position: absolute;
    inset: 8% -5% -8% 9%;
    z-index: -1;
    border-radius: 45% 55% 48% 52% / 52% 43% 57% 48%;
    background: #6b3fa0;
    transform: rotate(-4deg);
    opacity: 0.92;
}
.seccion-matriculas__imagen {
    margin: 0;
    overflow: hidden;
    border: 9px solid #ffffff;
    border-radius: 48px 72px 52px 90px;
    background: #ffffff;
    box-shadow: 0 24px 48px rgba(66, 42, 87, 0.20);
    transform: rotate(1.5deg);
}
.seccion-matriculas__imagen img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 38px 62px 42px 80px;
}
.seccion-matriculas__contenido {
    position: relative;
}
.seccion-matriculas__etiqueta {
    display: inline-block;
    margin: 0 0 1.15rem;
    padding: 0.6rem 1.05rem;
    border-radius: 999px;
    background: #fff2a8;
    color: #6b3fa0;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    box-shadow: 0 5px 0 #f6c945;
}
.seccion-matriculas__titulo {
    max-width: 650px;
    margin: 0;
    color: #43aeb4;
    font-size: clamp(2.3rem, 4.2vw, 4.2rem);
    font-weight: 900;
    line-height: 1.06;
    letter-spacing: -0.04em;
}
.seccion-matriculas__texto {
    max-width: 650px;
    margin: 1.35rem 0 1.7rem;
    color: #423851;
    font-size: clamp(1rem, 1.25vw, 1.14rem);
    line-height: 1.72;
}
.seccion-matriculas__datos {
    gap: 0.65rem;
    margin-bottom: 1.9rem;
}
.seccion-matriculas__datos p {
    margin: 0;
    padding: 0.65rem 0.9rem;
    border: 2px solid rgba(107, 63, 160, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    color: #523870;
    font-size: 0.86rem;
    font-weight: 750;
    box-shadow: 0 7px 17px rgba(68, 45, 90, 0.09);
}
.seccion-matriculas__datos p:nth-child(1) {
    border-bottom: 4px solid #f6c945;
}
.seccion-matriculas__datos p:nth-child(2) {
    border-bottom: 4px solid #79c8e8;
}
.seccion-matriculas__datos p:nth-child(3) {
    border-bottom: 4px solid #ef78a7;
}
.seccion-matriculas__botones {
    gap: 0.85rem;
}
.seccion-matriculas__botones .wp-block-button__link {
    padding: 0.95rem 1.5rem;
    border-radius: 999px;
    font-weight: 800;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.boton-matriculas-principal .wp-block-button__link {
    background: linear-gradient(135deg, #6b3fa0, #8b4ac4);
    color: #ffffff;
    box-shadow: 0 7px 0 #4c2477;
}
.boton-matriculas-whatsapp .wp-block-button__link {
    border: 3px solid #38a95f;
    background: #ffffff;
    color: #278949;
}
.seccion-matriculas__botones .wp-block-button__link:hover {
    transform: translateY(-3px);
}
@media (max-width: 900px) {
    .seccion-matriculas {
        padding: 4rem 1.1rem;
    }
    .seccion-matriculas__columnas {
        gap: 3rem;
    }
    .seccion-matriculas__columnas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .seccion-matriculas__contenido {
        text-align: center;
    }
    .seccion-matriculas__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .seccion-matriculas__datos,
    .seccion-matriculas__botones {
        justify-content: center;
    }
    .seccion-matriculas__visual {
        max-width: 650px;
        margin: 0 auto;
    }
}
@media (max-width: 480px) {
    .seccion-matriculas__botones,
    .seccion-matriculas__botones .wp-block-button {
        width: 100%;
    }
    .seccion-matriculas__botones .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
    }
    .seccion-matriculas__imagen {
        border-width: 6px;
        border-radius: 32px 46px 36px 58px;
    }
    .seccion-matriculas__imagen img {
        border-radius: 25px 39px 29px 51px;
    }
}
/* SECCION_MATRICULAS_FIN */
/* CONTACTO_FINAL_INICIO */
.seccion-contacto-final {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 1.5rem;
    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(246, 201, 69, 0.32) 0 105px,
            transparent 106px
        ),
        radial-gradient(
            circle at 92% 82%,
            rgba(121, 200, 232, 0.28) 0 135px,
            transparent 136px
        ),
        linear-gradient(135deg, #f8f3ff 0%, #ffffff 50%, #fff8da 100%);
}
.seccion-contacto-final::before {
    content: "★   ☁   ♥";
    position: absolute;
    top: 3rem;
    left: 7%;
    color: #ef78a7;
    font-size: 1.8rem;
    letter-spacing: 0.8rem;
    opacity: 0.75;
    transform: rotate(-4deg);
    pointer-events: none;
}
.seccion-contacto-final::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -110px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    background: rgba(107, 63, 160, 0.10);
    transform: translateX(-50%);
    pointer-events: none;
}
.seccion-contacto-final__interior {
    position: relative;
    z-index: 2;
    max-width: 980px;
    padding: clamp(2.5rem, 5vw, 4.5rem);
    border: 8px solid #ffffff;
    border-radius: 60px 38px 70px 44px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow:
        0 14px 0 rgba(107, 63, 160, 0.10),
        0 28px 55px rgba(64, 42, 82, 0.13);
    backdrop-filter: blur(5px);
}
.seccion-contacto-final__icono {
    margin: 0 0 0.8rem;
    font-size: clamp(3.5rem, 7vw, 5.5rem);
    line-height: 1;
}
.seccion-contacto-final__titulo {
    max-width: 820px;
    margin: 0 auto 1.2rem;
    color: #6b3fa0;
    font-size: clamp(2.3rem, 4.4vw, 4.2rem);
    font-weight: 900;
    line-height: 1.07;
    letter-spacing: -0.04em;
}
.seccion-contacto-final__texto {
    max-width: 760px;
    margin: 0 auto 2rem;
    color: #423851;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.72;
}
.seccion-contacto-final__datos {
    gap: 0.75rem;
    margin-bottom: 2.2rem;
}
.seccion-contacto-final__datos p {
    margin: 0;
    padding: 0.75rem 1.05rem;
    border: 2px solid rgba(107, 63, 160, 0.08);
    border-radius: 20px;
    background: #ffffff;
    color: #523870;
    font-size: 0.92rem;
    font-weight: 800;
    box-shadow: 0 7px 17px rgba(68, 45, 90, 0.09);
}
.seccion-contacto-final__datos p:nth-child(1) {
    border-bottom: 5px solid #f6c945;
}
.seccion-contacto-final__datos p:nth-child(2) {
    border-bottom: 5px solid #79c8e8;
}
.seccion-contacto-final__datos p:nth-child(3) {
    border-bottom: 5px solid #ef78a7;
}
.seccion-contacto-final__botones {
    gap: 0.9rem;
}
.seccion-contacto-final__botones .wp-block-button__link {
    padding: 1rem 1.65rem;
    border-radius: 999px;
    font-weight: 850;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.boton-contacto-whatsapp .wp-block-button__link {
    background: #35a85a;
    color: #ffffff;
    box-shadow: 0 7px 0 #237d40;
}
.boton-contacto-visita .wp-block-button__link {
    border: 3px solid #6b3fa0;
    background: #ffffff;
    color: #6b3fa0;
}
.seccion-contacto-final__botones .wp-block-button__link:hover {
    transform: translateY(-3px);
}
@media (max-width: 700px) {
    .seccion-contacto-final {
        padding: 4rem 1.1rem;
    }
    .seccion-contacto-final__interior {
        padding: 2.5rem 1.3rem;
        border-width: 6px;
        border-radius: 38px 26px 45px 30px;
    }
    .seccion-contacto-final__botones,
    .seccion-contacto-final__botones .wp-block-button {
        width: 100%;
    }
    .seccion-contacto-final__botones .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
    }
}
/* CONTACTO_FINAL_FIN */
/* FOOTER_SONRISAS_INICIO */
.footer-sonrisas {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 6rem 1.5rem 1.5rem;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 92% 18%,
            rgba(121, 200, 232, 0.22) 0 120px,
            transparent 121px
        ),
        radial-gradient(
            circle at 8% 90%,
            rgba(246, 201, 69, 0.18) 0 105px,
            transparent 106px
        ),
        linear-gradient(135deg, #563087 0%, #6b3fa0 55%, #814ab2 100%);
}
/* Borde superior ondulado */
.footer-sonrisas::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    height: 58px;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='70' viewBox='0 0 1600 70' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1600V22C1540 58 1480 16 1420 42C1360 68 1300 20 1240 44C1180 68 1120 19 1060 43C1000 67 940 20 880 44C820 68 760 17 700 42C640 67 580 19 520 43C460 67 400 17 340 42C280 67 220 18 160 43C100 68 48 20 0 40Z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 58px;
    background-position: center top;
}
.footer-sonrisas::after {
    content: "★   ☁   ♥";
    position: absolute;
    right: 5%;
    top: 5rem;
    color: rgba(255, 255, 255, 0.24);
    font-size: 2rem;
    letter-spacing: 0.9rem;
    transform: rotate(5deg);
    pointer-events: none;
}
.footer-sonrisas__columnas {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: flex-start;
}
.footer-sonrisas h3 {
    color: #ffffff;
    font-weight: 900;
}
.footer-sonrisas__nombre {
    margin: 1rem 0 0.7rem;
    font-size: 1.45rem;
}
.footer-sonrisas__descripcion {
    max-width: 390px;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.7;
}
.footer-sonrisas__logo {
    display: inline-block;
    margin: 0 !important;
    padding: 7px;
    border: 4px solid #ffd43b;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(35, 18, 52, 0.25);
    transform: rotate(-2deg);
}
.footer-sonrisas__logo img {
    display: block;
    width: 105px !important;
    height: auto !important;
}
.footer-sonrisas__enlaces h3,
.footer-sonrisas__contacto h3 {
    margin: 0 0 1.1rem;
    font-size: 1.3rem;
}
.footer-sonrisas__enlaces ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer-sonrisas__enlaces li {
    margin-bottom: 0.7rem;
}
.footer-sonrisas a {
    color: #ffffff;
    text-decoration: none;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}
.footer-sonrisas__enlaces a {
    display: inline-block;
    color: rgba(255, 255, 255, 0.88);
    font-weight: 700;
}
.footer-sonrisas__enlaces a::before {
    content: "✦";
    margin-right: 0.55rem;
    color: #ffd84d;
}
.footer-sonrisas a:hover {
    color: #ffd84d;
}
.footer-sonrisas__enlaces a:hover {
    transform: translateX(4px);
}
.footer-sonrisas__contacto p {
    margin: 0 0 0.75rem;
    color: rgba(255, 255, 255, 0.90);
    line-height: 1.55;
}
.footer-sonrisas__boton {
    margin-top: 1.35rem;
}
.footer-sonrisas__boton .wp-block-button__link {
    padding: 0.9rem 1.35rem;
    border-radius: 999px;
    background: #35a85a;
    color: #ffffff;
    font-weight: 850;
    box-shadow: 0 7px 0 #237d40;
    transition: transform 0.2s ease;
}
.footer-sonrisas__boton .wp-block-button__link:hover {
    color: #ffffff;
    transform: translateY(-3px);
}
.footer-sonrisas__inferior {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    margin-top: 3rem;
    padding-top: 1.3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    color: rgba(255, 255, 255, 0.78);
}
.footer-sonrisas__inferior p {
    margin: 0.4rem 0;
}
.footer-sonrisas__inferior a {
    color: rgba(255, 255, 255, 0.88);
}
@media (max-width: 781px) {
    .footer-sonrisas {
        padding: 5rem 1.2rem 1.5rem;
        text-align: center;
    }
    .footer-sonrisas__columnas {
        gap: 2.5rem;
    }
    .footer-sonrisas__columnas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .footer-sonrisas__descripcion {
        margin-left: auto;
        margin-right: auto;
    }
    .footer-sonrisas__boton {
        justify-content: center;
    }
    .footer-sonrisas__inferior {
        justify-content: center !important;
    }
}
/* FOOTER_SONRISAS_FIN */
/* PAGINA_CONTACTO_INICIO */
/* Evita repetir el título generado por la plantilla */
.page-id-13 .wp-block-post-title {
    display: none;
}
.pagina-contacto {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6.5rem) 1.5rem;
    background:
        radial-gradient(
            circle at 7% 18%,
            rgba(246, 201, 69, 0.30) 0 100px,
            transparent 101px
        ),
        radial-gradient(
            circle at 94% 84%,
            rgba(121, 200, 232, 0.27) 0 135px,
            transparent 136px
        ),
        linear-gradient(135deg, #fffdf4 0%, #ffffff 50%, #f6f0ff 100%);
}
.pagina-contacto::before {
    content: "☁   ★   💛";
    position: absolute;
    top: 3rem;
    right: 7%;
    color: #ef78a7;
    font-size: 1.8rem;
    letter-spacing: 0.8rem;
    opacity: 0.74;
    transform: rotate(4deg);
    pointer-events: none;
}
.pagina-contacto__encabezado {
    position: relative;
    z-index: 2;
    margin-bottom: 3rem;
}
.pagina-contacto__etiqueta {
    display: table;
    margin: 0 auto 1rem;
    padding: 0.58rem 1.15rem;
    border-radius: 999px;
    background: #fce5ef;
    color: #6b3fa0;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    box-shadow: 0 5px 0 #ef78a7;
}
.pagina-contacto__titulo {
    max-width: 900px;
    margin: 0 auto 1.2rem;
    color: #43aeb4;
    font-size: clamp(2.5rem, 4.8vw, 4.7rem);
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.045em;
}
.pagina-contacto__introduccion {
    max-width: 750px;
    margin: 0 auto;
    color: #423851;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.72;
}
.pagina-contacto__columnas {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    gap: clamp(1.8rem, 4vw, 3.5rem);
    align-items: stretch;
}
.contacto-datos,
.contacto-mapa {
    height: 100%;
    box-sizing: border-box;
}
.contacto-datos {
    padding: clamp(2rem, 4vw, 3rem);
    border: 7px solid #ffffff;
    border-radius: 44px 30px 52px 34px;
    background: #eee6fa;
    box-shadow:
        0 12px 0 rgba(107, 63, 160, 0.11),
        0 23px 42px rgba(64, 42, 82, 0.13);
}
.contacto-datos h2 {
    margin: 0 0 1.5rem;
    color: #6b3fa0;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 900;
}
.contacto-datos p {
    margin: 0 0 1.15rem;
    color: #44394e;
    line-height: 1.65;
}
.contacto-datos strong {
    color: #4d3568;
    font-size: 1.02rem;
}
.contacto-datos a {
    color: #6b3fa0;
    font-weight: 750;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.contacto-datos a:hover {
    text-decoration: underline;
}
.contacto-datos__botones {
    gap: 0.8rem;
    margin-top: 1.8rem;
}
.contacto-datos__botones .wp-block-button__link {
    padding: 0.9rem 1.3rem;
    border-radius: 999px;
    font-weight: 850;
    transition: transform 0.2s ease;
}
.contacto-whatsapp .wp-block-button__link {
    background: #35a85a;
    color: #ffffff;
    box-shadow: 0 7px 0 #237d40;
}
.contacto-correo .wp-block-button__link {
    border: 3px solid #6b3fa0;
    background: #ffffff;
    color: #6b3fa0;
}
.contacto-datos__botones .wp-block-button__link:hover {
    transform: translateY(-3px);
}
.contacto-mapa {
    overflow: hidden;
    padding: 8px;
    border-radius: 36px 54px 40px 65px;
    background: #ffffff;
    box-shadow:
        15px 17px 0 rgba(67, 174, 180, 0.20),
        0 23px 45px rgba(64, 42, 82, 0.15);
}
.contacto-mapa iframe {
    display: block;
    width: 100%;
    min-height: 520px;
    border: 0;
    border-radius: 29px 47px 33px 58px;
}
@media (max-width: 900px) {
    .pagina-contacto {
        padding: 4rem 1.1rem;
    }
    .pagina-contacto__columnas {
        gap: 2rem;
    }
    .pagina-contacto__columnas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .contacto-datos {
        text-align: center;
    }
    .contacto-datos__botones {
        justify-content: center;
    }
    .contacto-mapa iframe {
        min-height: 420px;
    }
}
@media (max-width: 480px) {
    .pagina-contacto__titulo {
        font-size: 2.55rem;
    }
    .contacto-datos {
        padding: 2rem 1.25rem;
        border-width: 5px;
        border-radius: 32px 24px 38px 26px;
    }
    .contacto-datos__botones,
    .contacto-datos__botones .wp-block-button {
        width: 100%;
    }
    .contacto-datos__botones .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
    }
    .contacto-mapa iframe {
        min-height: 350px;
    }
}
/* PAGINA_CONTACTO_FIN */
/* CONTACTO_AJUSTE_FINAL_INICIO */
.pagina-contacto {
    padding-top: clamp(3rem, 5vw, 4.5rem);
    padding-bottom: clamp(3.5rem, 6vw, 5rem);
}
.pagina-contacto__encabezado {
    margin-bottom: 2.25rem;
}
.pagina-contacto__columnas {
    max-width: 1120px;
    gap: clamp(1.5rem, 3vw, 2.5rem);
}
.pagina-contacto__columnas > .wp-block-column:first-child {
    flex-basis: 42% !important;
}
.pagina-contacto__columnas > .wp-block-column:last-child {
    flex-basis: 58% !important;
}
.contacto-datos {
    padding: clamp(1.8rem, 3vw, 2.5rem);
}
.contacto-datos h2 {
    font-size: clamp(1.8rem, 2.5vw, 2.4rem);
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}
.contacto-mapa {
    display: flex;
    min-height: 470px;
    height: auto;
}
.contacto-mapa iframe {
    flex: 1 1 auto;
    width: 100%;
    height: auto !important;
    min-height: 470px;
}
@media (max-width: 900px) {
    .pagina-contacto__columnas > .wp-block-column {
        flex-basis: 100% !important;
    }
    .contacto-datos h2 {
        white-space: normal;
    }
    .contacto-mapa,
    .contacto-mapa iframe {
        min-height: 400px;
    }
}
/* CONTACTO_AJUSTE_FINAL_FIN */
/* CONTACTO_ESTRUCTURA_VERTICAL_INICIO */
.pagina-contacto {
    padding-top: 1.8rem !important;
    padding-bottom: 5rem;
}
.pagina-contacto__encabezado {
    max-width: 920px;
    margin-bottom: 2.5rem;
}
.pagina-contacto__tarjetas-superiores {
    width: min(100%, 1020px);
    max-width: 1020px;
    margin: 0 auto 3.2rem;
    gap: 2rem;
    align-items: stretch;
}
.pagina-contacto__tarjetas-superiores > .wp-block-column {
    display: flex;
    flex-basis: calc(50% - 1rem) !important;
}
.contacto-datos,
.contacto-acciones {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: clamp(2.2rem, 3vw, 3rem);
    border: 7px solid #ffffff;
    border-radius: 42px 30px 50px 34px;
    box-shadow:
        0 12px 0 rgba(107, 63, 160, 0.10),
        0 22px 42px rgba(64, 42, 82, 0.12);
}
.contacto-datos {
    background: #eee6fa;
}
.contacto-acciones {
    background: #dff5ff;
}
.contacto-datos h2,
.contacto-acciones h2 {
    margin: 0 0 1.4rem;
    color: #6b3fa0;
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
    font-weight: 900;
    line-height: 1.15;
}
.contacto-datos p,
.contacto-acciones p,
.contacto-acciones li {
    color: #44394e;
    font-size: 1rem;
    line-height: 1.65;
}
.contacto-datos p {
    margin: 0 0 1.1rem;
}
.contacto-acciones ul {
    margin: 1.3rem 0 1.8rem;
    padding-left: 1.4rem;
}
.contacto-acciones li {
    margin-bottom: 0.65rem;
}
.contacto-datos__botones {
    gap: 0.85rem;
    margin-top: 1.7rem;
}
.contacto-mapa-bloque {
    width: min(100%, 1080px);
    max-width: 1080px;
    margin: 0 auto;
}
.contacto-mapa-bloque > h2 {
    margin: 0 0 1.5rem;
    color: #6b3fa0;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 900;
}
.contacto-mapa {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 10px;
    border-radius: 38px 54px 42px 64px;
    background: #ffffff;
    box-shadow:
        14px 16px 0 rgba(67, 174, 180, 0.20),
        0 22px 44px rgba(64, 42, 82, 0.14);
}
.contacto-mapa iframe {
    display: block;
    width: 100%;
    height: 460px !important;
    min-height: 460px;
    border-radius: 30px 46px 34px 56px;
}
@media (max-width: 781px) {
    .pagina-contacto {
        padding-top: 2rem !important;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .pagina-contacto__tarjetas-superiores {
        gap: 1.5rem;
    }
    .pagina-contacto__tarjetas-superiores > .wp-block-column {
        flex-basis: 100% !important;
    }
    .contacto-datos,
    .contacto-acciones {
        text-align: center;
    }
    .contacto-acciones ul {
        display: inline-block;
        text-align: left;
    }
    .contacto-datos__botones {
        justify-content: center;
    }
    .contacto-mapa iframe {
        height: 380px !important;
        min-height: 380px;
    }
}
@media (max-width: 480px) {
    .contacto-datos,
    .contacto-acciones {
        padding: 2rem 1.3rem;
        border-width: 5px;
    }
    .contacto-datos__botones,
    .contacto-datos__botones .wp-block-button {
        width: 100%;
    }
    .contacto-datos__botones .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
    }
    .contacto-mapa iframe {
        height: 330px !important;
        min-height: 330px;
    }
}
/* CONTACTO_ESTRUCTURA_VERTICAL_FIN */
/* CONTACTO_TIPOGRAFIA_COMPACTA_INICIO */
/* Etiqueta superior */
.pagina-contacto__etiqueta {
    font-size: 0.74rem !important;
    padding: 0.48rem 0.95rem !important;
}
/* Título principal */
.pagina-contacto__titulo {
    max-width: 760px !important;
    font-size: clamp(2rem, 3.5vw, 3.35rem) !important;
    line-height: 1.08 !important;
}
/* Texto introductorio */
.pagina-contacto__introduccion {
    max-width: 700px !important;
    font-size: clamp(0.94rem, 1.1vw, 1.05rem) !important;
    line-height: 1.65 !important;
}
/* Títulos de las dos tarjetas */
.contacto-datos h2,
.contacto-acciones h2 {
    margin-bottom: 1.15rem !important;
    font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
    line-height: 1.15 !important;
}
/* Contenido general de las tarjetas */
.contacto-datos p,
.contacto-acciones p,
.contacto-acciones li {
    font-size: 0.94rem !important;
    line-height: 1.58 !important;
}
.contacto-datos strong {
    font-size: 0.96rem !important;
}
.contacto-datos p {
    margin-bottom: 0.9rem !important;
}
.contacto-acciones ul {
    margin-top: 1rem !important;
    margin-bottom: 1.35rem !important;
}
/* Botones */
.contacto-datos__botones .wp-block-button__link {
    padding: 0.78rem 1.15rem !important;
    font-size: 0.88rem !important;
}
/* Título Cómo llegar */
.contacto-mapa-bloque > h2 {
    margin-bottom: 1.2rem !important;
    font-size: clamp(1.65rem, 2.4vw, 2.25rem) !important;
}
/* Reducción ligera del pie de página */
.footer-sonrisas__nombre {
    font-size: 1.25rem !important;
}
.footer-sonrisas__descripcion,
.footer-sonrisas__contacto p,
.footer-sonrisas__enlaces a {
    font-size: 0.9rem !important;
}
.footer-sonrisas__enlaces h3,
.footer-sonrisas__contacto h3 {
    font-size: 1.15rem !important;
}
/* CONTACTO_TIPOGRAFIA_COMPACTA_FIN */
/* CONTACTO_REDUCIR_ESPACIO_SUPERIOR_INICIO */
.page-id-13 .pagina-contacto {
    margin-top: -55px !important;
    padding-top: 1.25rem !important;
}
.page-id-13 .pagina-contacto__encabezado {
    margin-top: 0 !important;
}
@media (max-width: 900px) {
    .page-id-13 .pagina-contacto {
        margin-top: -25px !important;
        padding-top: 1.5rem !important;
    }
}
/* CONTACTO_REDUCIR_ESPACIO_SUPERIOR_FIN */
/* PREESCOLAR_MISION_COMUNIDAD_INICIO */
.preescolar-mision-valores {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 1.5rem;
    background:
        radial-gradient(circle at 8% 15%, rgba(246, 201, 69, 0.24) 0 105px, transparent 106px),
        radial-gradient(circle at 93% 84%, rgba(121, 200, 232, 0.22) 0 125px, transparent 126px),
        linear-gradient(135deg, #fffdf4 0%, #ffffff 52%, #f6f0ff 100%);
}
.preescolar-mision-valores__columnas {
    max-width: 1100px;
    margin: 2.6rem auto 0;
    gap: clamp(1.4rem, 3vw, 2.5rem);
    align-items: stretch;
}
.preescolar-mision,
.preescolar-valores-institucionales {
    height: 100%;
    box-sizing: border-box;
    padding: clamp(2rem, 3.5vw, 3rem);
    border: 7px solid #ffffff;
    border-radius: 42px 30px 50px 34px;
    box-shadow:
        0 12px 0 rgba(107, 63, 160, 0.10),
        0 24px 44px rgba(64, 42, 82, 0.12);
}
.preescolar-mision {
    background: #dff5ff;
}
.preescolar-valores-institucionales {
    background: #fff2a8;
}
.preescolar-mision__icono {
    margin: 0 0 0.7rem;
    font-size: 2.8rem;
    line-height: 1;
}
.preescolar-mision h3,
.preescolar-valores-institucionales h3 {
    margin: 0 0 1rem;
    color: #6b3fa0;
    font-size: clamp(1.55rem, 2.3vw, 2.1rem);
    font-weight: 900;
}
.preescolar-mision p,
.preescolar-valores-institucionales p,
.preescolar-valores-lista li {
    color: #493f51;
    font-size: 0.96rem;
    line-height: 1.68;
}
.preescolar-valores-lista {
    margin: 1.2rem 0;
    padding-left: 1.4rem;
}
.preescolar-valores-lista li {
    margin-bottom: 0.55rem;
    font-weight: 750;
}
.preescolar-comunidad {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 1.5rem;
    background:
        radial-gradient(circle at 93% 15%, rgba(239, 120, 167, 0.19) 0 115px, transparent 116px),
        linear-gradient(180deg, #f8f4ff 0%, #ffffff 100%);
}
.preescolar-comunidad__tarjetas {
    max-width: 1180px;
    margin: 2.8rem auto 0;
    gap: clamp(1.2rem, 2.2vw, 1.8rem);
    align-items: stretch;
}
.comunidad-tarjeta {
    height: 100%;
    box-sizing: border-box;
    padding: 1rem 1rem 1.8rem;
    border: 6px solid #ffffff;
    border-radius: 34px 26px 40px 29px;
    box-shadow:
        0 11px 0 rgba(107, 63, 160, 0.10),
        0 22px 38px rgba(64, 42, 82, 0.11);
}
.comunidad-docente {
    background: #fff2a8;
}
.comunidad-administrativa {
    background: #dff5ff;
}
.comunidad-apoyo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #e8f4d5;
}
.comunidad-tarjeta__imagen {
    margin: 0 0 1.25rem;
    overflow: hidden;
    border: 5px solid #ffffff;
    border-radius: 27px 21px 32px 23px;
    background: #ffffff;
}
.comunidad-tarjeta__imagen img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.comunidad-tarjeta h3 {
    margin: 0 0 0.8rem;
    padding: 0 0.6rem;
    color: #6b3fa0;
    font-size: 1.35rem;
    font-weight: 900;
}
.comunidad-tarjeta > p:not(.comunidad-apoyo__icono) {
    margin-left: 0.6rem;
    margin-right: 0.6rem;
    color: #4f4658;
    font-size: 0.93rem;
    line-height: 1.62;
}
.comunidad-tarjeta__nota {
    margin-top: 1rem !important;
    padding-top: 0.8rem;
    border-top: 1px dashed rgba(107, 63, 160, 0.30);
    font-size: 0.76rem !important;
    font-style: italic;
    opacity: 0.76;
}
.comunidad-apoyo__icono {
    margin: 0 0 1rem;
    font-size: 5rem;
    line-height: 1;
}
.comunidad-tarjeta__destacado {
    margin-top: 1.3rem !important;
    padding: 0.85rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.70);
    color: #6b3fa0 !important;
    font-weight: 850;
}
@media (max-width: 900px) {
    .preescolar-comunidad__tarjetas {
        flex-wrap: wrap !important;
    }
    .preescolar-comunidad__tarjetas > .wp-block-column {
        flex-basis: calc(50% - 1rem) !important;
    }
}
@media (max-width: 700px) {
    .preescolar-mision-valores,
    .preescolar-comunidad {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .preescolar-mision-valores__columnas > .wp-block-column,
    .preescolar-comunidad__tarjetas > .wp-block-column {
        flex-basis: 100% !important;
    }
}
/* PREESCOLAR_MISION_COMUNIDAD_FIN */
/* ACCESOS_MODULOS_INICIO */
.seccion-accesos-modulos {
    position: relative;
    overflow: hidden;
    padding: clamp(3.8rem, 7vw, 6rem) 1.5rem;
    background:
        radial-gradient(circle at 8% 18%, rgba(246, 201, 69, 0.22) 0 92px, transparent 93px),
        radial-gradient(circle at 92% 82%, rgba(121, 200, 232, 0.22) 0 118px, transparent 119px),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
}
.seccion-accesos-modulos__interior {
    max-width: 1180px;
}
.seccion-accesos-modulos__etiqueta {
    display: table;
    margin: 0 auto 1rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: #fff2a8;
    color: #6b3fa0;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 0 #f6c945;
}
.seccion-accesos-modulos__titulo {
    max-width: 780px;
    margin: 0 auto;
    color: #43aeb4;
    font-size: clamp(2rem, 4.2vw, 3.5rem);
    font-weight: 900;
    line-height: 1.04;
}
.seccion-accesos-modulos__texto {
    max-width: 760px;
    margin: 1rem auto 2.6rem;
    color: #4f4658;
    font-size: clamp(0.98rem, 1.4vw, 1.08rem);
    line-height: 1.65;
}
.accesos-modulos__fila {
    gap: clamp(1.2rem, 2.4vw, 2rem);
    margin-bottom: clamp(1.2rem, 2.4vw, 2rem);
    align-items: stretch;
}
.accesos-modulos__fila--segunda {
    margin-bottom: 0;
}
.modulo-card {
    height: 100%;
    box-sizing: border-box;
    padding: 1.5rem 1.35rem 1.35rem;
    border: 6px solid #ffffff;
    border-radius: 34px 26px 40px 29px;
    box-shadow:
        0 10px 0 rgba(107, 63, 160, 0.10),
        0 20px 38px rgba(64, 42, 82, 0.10);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}
.modulo-card:hover {
    transform: translateY(-7px);
    box-shadow:
        0 13px 0 rgba(107, 63, 160, 0.11),
        0 28px 46px rgba(64, 42, 82, 0.14);
}
.modulo-preescolar {
    background: #fff2a8;
}
.modulo-niveles {
    background: #e8f4d5;
}
.modulo-propuesta {
    background: #fce5ef;
}
.modulo-servicios {
    background: #dff5ff;
}
.modulo-galeria {
    background: #eee6fa;
}
.modulo-contacto {
    background: #fff3e5;
}
.modulo-card__icono {
    min-height: 86px;
    margin: 0 0 0.75rem;
}
.modulo-card__icono::before {
    content: "";
    display: block;
    width: 86px;
    height: 86px;
    margin: 0 auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.modulo-preescolar .modulo-card__icono::before {
    background-image: url("../images/menu-icons/preescolar.webp");
}
.modulo-niveles .modulo-card__icono::before {
    background-image: url("../images/menu-icons/niveles.webp");
}
.modulo-propuesta .modulo-card__icono::before {
    background-image: url("../images/menu-icons/propuesta.webp");
}
.modulo-servicios .modulo-card__icono::before {
    background-image: url("../images/menu-icons/servicios.webp");
}
.modulo-galeria .modulo-card__icono::before {
    background-image: url("../images/menu-icons/galeria.webp");
}
.modulo-contacto .modulo-card__icono::before {
    background-image: url("../images/menu-icons/contacto.webp");
}
.modulo-card h3 {
    margin: 0 0 0.75rem;
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    font-weight: 900;
    line-height: 1.15;
}
.modulo-card h3 a {
    color: #6b3fa0;
    text-decoration: none;
}
.modulo-card > p:not(.modulo-card__icono):not(.modulo-card__enlace) {
    min-height: 4.8em;
    margin: 0;
    color: #4f4658;
    font-size: 0.94rem;
    line-height: 1.55;
}
.modulo-card__enlace {
    margin: 1.15rem 0 0;
}
.modulo-card__enlace a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.68rem 1rem;
    border-radius: 999px;
    background: #ffffff;
    color: #6b3fa0;
    font-size: 0.86rem;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 4px 0 rgba(107, 63, 160, 0.18);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.modulo-card__enlace a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 0 rgba(107, 63, 160, 0.20);
}
@media (max-width: 900px) {
    .accesos-modulos__fila {
        flex-wrap: wrap !important;
    }
    .accesos-modulos__fila > .wp-block-column {
        flex-basis: calc(50% - 1rem) !important;
    }
}
@media (max-width: 650px) {
    .seccion-accesos-modulos {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .accesos-modulos__fila > .wp-block-column {
        flex-basis: 100% !important;
    }
    .modulo-card > p:not(.modulo-card__icono):not(.modulo-card__enlace) {
        min-height: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    .modulo-card,
    .modulo-card__enlace a {
        transition: none;
    }
}
/* ACCESOS_MODULOS_FIN */
/* INICIO_ULTRACOMPACTO_INICIO */
.seccion-accesos-modulos--compacta {
    padding: clamp(2.8rem, 5vw, 4rem) 1.5rem;
}
.seccion-accesos-modulos--compacta .seccion-accesos-modulos__titulo {
    max-width: 720px;
    font-size: clamp(1.9rem, 3.8vw, 3rem);
}
.seccion-accesos-modulos--compacta .accesos-modulos__fila {
    gap: clamp(1rem, 2vw, 1.5rem);
    margin-top: 1.8rem;
    margin-bottom: 1rem;
}
.seccion-accesos-modulos--compacta .accesos-modulos__fila--segunda {
    margin-top: 0;
    margin-bottom: 0;
}
.seccion-accesos-modulos--compacta .modulo-card {
    position: relative;
    min-height: 205px;
    padding: 1.15rem 1rem 1.1rem;
    cursor: pointer;
}
.seccion-accesos-modulos--compacta .modulo-card__icono {
    min-height: 66px;
    margin-bottom: 0.4rem;
}
.seccion-accesos-modulos--compacta .modulo-card__icono::before {
    width: 66px;
    height: 66px;
}
.seccion-accesos-modulos--compacta .modulo-card h3 {
    margin: 0 0 0.45rem;
    font-size: clamp(1.08rem, 1.7vw, 1.35rem);
}
.seccion-accesos-modulos--compacta .modulo-card > p:not(.modulo-card__icono):not(.modulo-card__overlay-wrap) {
    min-height: 0;
    margin: 0;
    color: #4f4658;
    font-size: 0.88rem;
    line-height: 1.45;
}
.modulo-card__overlay-wrap {
    position: static;
    margin: 0;
}
.modulo-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    overflow: hidden;
    border-radius: inherit;
    color: transparent !important;
    font-size: 0;
    text-decoration: none;
}
.modulo-card:focus-within {
    outline: 3px solid #6b3fa0;
    outline-offset: 4px;
}
.seccion-matriculas-compacta {
    position: relative;
    overflow: hidden;
    padding: clamp(2.8rem, 5vw, 4.2rem) 1.5rem;
    background:
        radial-gradient(circle at 12% 20%, rgba(246, 201, 69, 0.34) 0 76px, transparent 77px),
        radial-gradient(circle at 88% 80%, rgba(121, 200, 232, 0.28) 0 96px, transparent 97px),
        linear-gradient(135deg, #6b3fa0 0%, #8b4ac4 100%);
}
.seccion-matriculas-compacta__interior {
    max-width: 900px;
    text-align: center;
}
.seccion-matriculas-compacta__etiqueta {
    display: table;
    margin: 0 auto 0.85rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: #fff2a8;
    color: #6b3fa0;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.04em;
}
.seccion-matriculas-compacta__titulo {
    max-width: 820px;
    margin: 0 auto;
    color: #ffffff;
    font-size: clamp(1.9rem, 4vw, 3.2rem);
    font-weight: 900;
    line-height: 1.08;
}
.seccion-matriculas-compacta__texto {
    max-width: 680px;
    margin: 0.9rem auto 1.5rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(0.96rem, 1.4vw, 1.08rem);
    line-height: 1.6;
}
.seccion-matriculas-compacta__botones {
    gap: 0.9rem;
}
.boton-matriculas-compacto .wp-block-button__link {
    border: 0;
    border-radius: 999px;
    background: #f6c945;
    color: #4c2477;
    font-weight: 900;
    box-shadow: 0 6px 0 #d6a900;
}
.boton-matriculas-whatsapp-compacto .wp-block-button__link {
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    font-weight: 900;
}
.boton-matriculas-compacto .wp-block-button__link:hover,
.boton-matriculas-whatsapp-compacto .wp-block-button__link:hover {
    transform: translateY(-2px);
}
@media (max-width: 650px) {
    .seccion-accesos-modulos--compacta,
    .seccion-matriculas-compacta {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .seccion-accesos-modulos--compacta .modulo-card {
        min-height: 175px;
    }
    .seccion-matriculas-compacta__botones {
        flex-direction: column;
        align-items: stretch;
    }
    .seccion-matriculas-compacta__botones .wp-block-button {
        width: 100%;
    }
    .seccion-matriculas-compacta__botones .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
    }
}
/* INICIO_ULTRACOMPACTO_FIN */
/* AJUSTE_FINAL_INICIO_INICIO */
/* Reduce la altura visual de la portada sin alterar su estructura. */
.page-id-6 .seccion-accesos-modulos--compacta {
    padding-top: clamp(2.4rem, 4vw, 3.2rem);
    padding-bottom: clamp(1.8rem, 3vw, 2.4rem);
}
.page-id-6 .seccion-accesos-modulos--compacta .accesos-modulos__fila {
    margin-top: 1.35rem;
    margin-bottom: 0.8rem;
}
.page-id-6 .seccion-accesos-modulos--compacta .accesos-modulos__fila--segunda {
    margin-top: 0;
    margin-bottom: 0;
}
.page-id-6 .seccion-accesos-modulos--compacta .modulo-card {
    min-height: 185px;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.page-id-6 .seccion-matriculas-compacta {
    padding-top: clamp(2rem, 3.5vw, 2.8rem);
    padding-bottom: clamp(2rem, 3.5vw, 2.8rem);
}
.page-id-6 .seccion-matriculas-compacta__titulo {
    font-size: clamp(1.75rem, 3.5vw, 2.8rem);
}
.page-id-6 .seccion-matriculas-compacta__texto {
    margin-top: 0.7rem;
    margin-bottom: 1.15rem;
}
.page-id-6 .footer-sonrisas {
    padding-top: clamp(2rem, 3.5vw, 2.8rem) !important;
    padding-bottom: 1rem !important;
}
.page-id-6 .footer-sonrisas__columnas {
    margin-bottom: 1.2rem;
}
.page-id-6 .footer-sonrisas__inferior {
    margin-top: 1rem;
    padding-top: 0.9rem;
}
@media (max-width: 650px) {
    .page-id-6 .seccion-accesos-modulos--compacta {
        padding-top: 2rem;
        padding-bottom: 1.5rem;
    }
    .page-id-6 .seccion-accesos-modulos--compacta .modulo-card {
        min-height: 165px;
    }
    .page-id-6 .seccion-matriculas-compacta {
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }
    .page-id-6 .footer-sonrisas {
        padding-top: 1.8rem !important;
        padding-bottom: 0.8rem !important;
    }
}
/* AJUSTE_FINAL_INICIO_FIN */
/* PAGINA_PREESCOLAR_V3_INICIO */
.page-id-7 .pagina-preescolar-v2 {
    --psi-morado: #6939a8;
    --psi-morado-oscuro: #52278b;
    --psi-turquesa: #31b7bd;
    --psi-amarillo: #ffd95a;
    --psi-azul: #dff4fb;
    --psi-verde: #e5f5d9;
    --psi-crema: #fffaf1;
    --psi-texto: #4a4252;
    color: var(--psi-texto);
    overflow: hidden;
}
.page-id-7 .entry-title,
.page-id-7 .wp-block-post-title,
.page-id-7 .page-title,
.page-id-7 .post-title {
    display: none !important;
}
.page-id-7 .preescolar-v2-hero,
.page-id-7 .preescolar-v2-proposito,
.page-id-7 .preescolar-v2-identidad,
.page-id-7 .preescolar-v2-manual,
.page-id-7 .preescolar-v2-comunidad,
.page-id-7 .preescolar-v2-cta {
    width: calc(100% - 48px) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
.page-id-7 .preescolar-v2-hero {
    display: flex;
    align-items: center;
    gap: clamp(38px, 5vw, 72px);
    padding: clamp(46px, 5vw, 70px) 0 clamp(34px, 4vw, 54px);
    margin-bottom: 0;
}
.page-id-7 .preescolar-v2-hero > .wp-block-column:first-child {
    flex: 1 1 54% !important;
    min-width: 0;
}
.page-id-7 .preescolar-v2-hero > .wp-block-column:last-child {
    flex: 1 1 46% !important;
    min-width: 0;
}
.page-id-7 .preescolar-v2-etiqueta,
.page-id-7 .preescolar-v2-seccion-etiqueta {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--psi-amarillo);
    color: var(--psi-morado-oscuro);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}
.page-id-7 .has-text-align-center.preescolar-v2-seccion-etiqueta {
    display: flex;
    margin-left: auto;
    margin-right: auto;
}
.page-id-7 .preescolar-v2-hero__titulo {
    max-width: 650px;
    margin: 0;
    color: var(--psi-turquesa);
    font-size: clamp(3rem, 4.4vw, 4.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.page-id-7 .preescolar-v2-hero__texto {
    max-width: 600px;
    margin: 22px 0 0;
    font-size: clamp(1rem, 1.2vw, 1.12rem);
    line-height: 1.72;
}
.page-id-7 .preescolar-v2-botones {
    margin-top: 26px;
    gap: 12px;
}
.page-id-7 .preescolar-v2-botones .wp-block-button__link,
.page-id-7 .preescolar-v2-cta .wp-block-button__link,
.page-id-7 .preescolar-v2-boton-manual .wp-block-button__link {
    border-radius: 999px;
    padding: 13px 22px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease;
}
.page-id-7 .preescolar-v2-boton-principal .wp-block-button__link,
.page-id-7 .preescolar-v2-boton-manual .wp-block-button__link {
    background: var(--psi-morado);
    color: #fff;
    box-shadow: 0 12px 24px rgba(105, 57, 168, 0.2);
}
.page-id-7 .preescolar-v2-boton-secundario .wp-block-button__link {
    border: 2px solid var(--psi-morado);
    background: #fff;
    color: var(--psi-morado);
}
.page-id-7 .preescolar-v2-hero__visual {
    position: relative;
    display: flex;
    justify-content: center;
    min-width: 0;
}
.page-id-7 .preescolar-v2-hero__visual::before {
    content: "";
    position: absolute;
    inset: -18px 18px 18px -18px;
    z-index: 0;
    border-radius: 34% 66% 45% 55% / 48% 38% 62% 52%;
    background: linear-gradient(135deg, var(--psi-azul), #f7d8e8);
}
.page-id-7 .preescolar-v2-hero__imagen {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 520px;
    margin: 0;
}
.page-id-7 .preescolar-v2-hero__imagen img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 8px solid #fff;
    border-radius: 30px;
    box-shadow: 0 24px 58px rgba(82, 39, 139, 0.18);
}
.page-id-7 .preescolar-v2-proposito {
    padding: 24px clamp(22px, 4vw, 44px);
    border: 1px solid rgba(105, 57, 168, 0.1);
    border-radius: 26px;
    background: var(--psi-crema);
    box-shadow: 0 12px 30px rgba(82, 39, 139, 0.08);
}
.page-id-7 .preescolar-v2-proposito__texto {
    max-width: 900px;
    margin: 0 auto;
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.65;
}
.page-id-7 .preescolar-v2-datos {
    gap: 12px;
    margin-top: 16px;
}
.page-id-7 .preescolar-v2-datos p {
    margin: 0;
    padding: 9px 14px;
    border-radius: 999px;
    background: #fff;
    color: var(--psi-morado-oscuro);
    font-weight: 750;
}
.page-id-7 .preescolar-v2-identidad,
.page-id-7 .preescolar-v2-comunidad {
    padding-top: clamp(48px, 5vw, 68px);
}
.page-id-7 .preescolar-v2-seccion-titulo {
    max-width: 900px;
    margin: 0 auto 16px;
    color: var(--psi-morado-oscuro);
    font-size: clamp(2.25rem, 3.7vw, 3.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.page-id-7 .preescolar-v2-seccion-texto {
    max-width: 780px;
    margin: 0 auto 28px;
    font-size: 1.04rem;
    line-height: 1.65;
}
.page-id-7 .preescolar-v2-identidad__columnas {
    gap: 24px;
    margin-top: 30px;
}
.page-id-7 .preescolar-v2-mision,
.page-id-7 .preescolar-v2-valores {
    height: 100%;
    min-height: 0;
    padding: clamp(26px, 3vw, 38px);
    border-radius: 28px;
    box-shadow: 0 16px 38px rgba(82, 39, 139, 0.1);
}
.page-id-7 .preescolar-v2-mision {
    background: var(--psi-azul);
}
.page-id-7 .preescolar-v2-valores {
    background: #fff0a9;
}
.page-id-7 .preescolar-v2-mision h3,
.page-id-7 .preescolar-v2-valores h3,
.page-id-7 .preescolar-v2-comunidad__tarjeta h3 {
    margin: 0 0 14px;
    color: var(--psi-morado-oscuro);
    font-size: clamp(1.35rem, 1.8vw, 1.7rem) !important;
    line-height: 1.15 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.page-id-7 .preescolar-v2-mision p,
.page-id-7 .preescolar-v2-comunidad__tarjeta p {
    line-height: 1.65;
}
.page-id-7 .preescolar-v2-icono,
.page-id-7 .preescolar-v2-comunidad__icono {
    margin: 0 0 14px;
    font-size: 2.1rem;
    line-height: 1;
}
.page-id-7 .preescolar-v2-valores__rejilla {
    gap: 10px;
}
.page-id-7 .preescolar-v2-valores__rejilla p {
    margin: 0;
    padding: 12px 14px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.75);
    color: var(--psi-morado-oscuro);
    font-weight: 750;
}
.page-id-7 .preescolar-v2-manual {
    margin-top: clamp(44px, 5vw, 64px);
    padding: clamp(28px, 3vw, 42px);
    border-radius: 30px;
    background: linear-gradient(135deg, #f5ebff, #e2f6ff);
}
.page-id-7 .preescolar-v2-manual h2 {
    margin: 0 0 10px;
    color: var(--psi-morado-oscuro);
    font-size: clamp(1.8rem, 2.7vw, 2.5rem) !important;
    line-height: 1.12;
}
.page-id-7 .preescolar-v2-manual p:not(.preescolar-v2-seccion-etiqueta) {
    margin-bottom: 0;
    line-height: 1.65;
}
.page-id-7 .preescolar-v2-comunidad__tarjetas {
    display: flex;
    align-items: stretch;
    gap: 22px;
    margin-top: 30px;
}
.page-id-7 .preescolar-v2-comunidad__tarjetas > .wp-block-column {
    flex: 1 1 0 !important;
    min-width: 0;
}
.page-id-7 .preescolar-v2-comunidad__tarjeta {
    height: 100%;
    min-height: 260px;
    padding: 28px;
    border-radius: 26px;
    box-shadow: 0 14px 34px rgba(82, 39, 139, 0.1);
}
.page-id-7 .tarjeta-docente {
    background: #fff1b7;
}
.page-id-7 .tarjeta-administrativa {
    background: var(--psi-azul);
}
.page-id-7 .tarjeta-apoyo {
    background: var(--psi-verde);
}
.page-id-7 .preescolar-v2-cta {
    margin-top: clamp(46px, 5vw, 66px);
    margin-bottom: clamp(50px, 5vw, 72px);
    padding: clamp(32px, 4vw, 48px) clamp(22px, 5vw, 58px);
    border-radius: 32px;
    background: linear-gradient(135deg, #fff5c9, #e2f4ff 55%, #f8e3ef);
    text-align: center;
}
.page-id-7 .preescolar-v2-cta h2 {
    max-width: 850px;
    margin: 0 auto 14px;
    color: var(--psi-turquesa);
    font-size: clamp(2rem, 3.7vw, 3.1rem) !important;
    line-height: 1.08 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.page-id-7 .preescolar-v2-cta p {
    margin: 0 auto 24px;
    font-size: 1.04rem;
}
.page-id-7 .preescolar-v2-cta .wp-block-buttons {
    gap: 12px;
}
@media (max-width: 900px) {
    .page-id-7 .preescolar-v2-hero,
    .page-id-7 .preescolar-v2-identidad__columnas,
    .page-id-7 .preescolar-v2-comunidad__tarjetas,
    .page-id-7 .preescolar-v2-manual .wp-block-columns {
        flex-direction: column;
    }
    .page-id-7 .preescolar-v2-hero > .wp-block-column,
    .page-id-7 .preescolar-v2-identidad__columnas > .wp-block-column,
    .page-id-7 .preescolar-v2-comunidad__tarjetas > .wp-block-column,
    .page-id-7 .preescolar-v2-manual .wp-block-column {
        flex-basis: 100% !important;
        width: 100%;
    }
    .page-id-7 .preescolar-v2-hero__contenido {
        text-align: center;
    }
    .page-id-7 .preescolar-v2-etiqueta,
    .page-id-7 .preescolar-v2-botones {
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }
    .page-id-7 .preescolar-v2-hero__titulo,
    .page-id-7 .preescolar-v2-hero__texto {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-7 .preescolar-v2-hero__visual {
        width: min(100%, 650px);
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-7 .preescolar-v2-manual .wp-block-buttons {
        justify-content: flex-start !important;
    }
    .page-id-7 .preescolar-v2-comunidad__tarjeta {
        min-height: 0;
    }
}
@media (max-width: 600px) {
    .page-id-7 .preescolar-v2-hero,
    .page-id-7 .preescolar-v2-proposito,
    .page-id-7 .preescolar-v2-identidad,
    .page-id-7 .preescolar-v2-manual,
    .page-id-7 .preescolar-v2-comunidad,
    .page-id-7 .preescolar-v2-cta {
        width: calc(100% - 24px) !important;
    }
    .page-id-7 .preescolar-v2-hero {
        padding-top: 34px;
        gap: 30px;
    }
    .page-id-7 .preescolar-v2-hero__titulo {
        font-size: clamp(2.3rem, 11vw, 3.15rem) !important;
    }
    .page-id-7 .preescolar-v2-seccion-titulo {
        font-size: clamp(2rem, 8vw, 2.65rem) !important;
    }
    .page-id-7 .preescolar-v2-botones,
    .page-id-7 .preescolar-v2-botones .wp-block-button,
    .page-id-7 .preescolar-v2-cta .wp-block-buttons,
    .page-id-7 .preescolar-v2-cta .wp-block-button,
    .page-id-7 .preescolar-v2-boton-manual {
        width: 100%;
    }
    .page-id-7 .preescolar-v2-botones .wp-block-button__link,
    .page-id-7 .preescolar-v2-cta .wp-block-button__link,
    .page-id-7 .preescolar-v2-boton-manual .wp-block-button__link {
        display: block;
        width: 100%;
        text-align: center;
    }
    .page-id-7 .preescolar-v2-datos {
        align-items: stretch;
    }
    .page-id-7 .preescolar-v2-datos p {
        width: 100%;
        text-align: center;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-7 .preescolar-v2-botones .wp-block-button__link,
    .page-id-7 .preescolar-v2-cta .wp-block-button__link,
    .page-id-7 .preescolar-v2-boton-manual .wp-block-button__link {
        transition: none;
    }
}
/* PAGINA_PREESCOLAR_V3_FIN */
/* ANCHO_REAL_PREESCOLAR_V3_INICIO */
body.page-id-7 {
    overflow-x: clip;
}
.page-id-7 .entry-content,
.page-id-7 .wp-block-post-content {
    width: 100% !important;
    max-width: none !important;
}
.page-id-7 .pagina-preescolar-v2 {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
}
.page-id-7 .preescolar-v2-hero,
.page-id-7 .preescolar-v2-proposito,
.page-id-7 .preescolar-v2-identidad,
.page-id-7 .preescolar-v2-manual,
.page-id-7 .preescolar-v2-comunidad,
.page-id-7 .preescolar-v2-cta {
    width: min(1160px, calc(100vw - 48px)) !important;
    max-width: 1160px !important;
}
@media (max-width: 600px) {
    .page-id-7 .preescolar-v2-hero,
    .page-id-7 .preescolar-v2-proposito,
    .page-id-7 .preescolar-v2-identidad,
    .page-id-7 .preescolar-v2-manual,
    .page-id-7 .preescolar-v2-comunidad,
    .page-id-7 .preescolar-v2-cta {
        width: calc(100vw - 24px) !important;
    }
}
/* ANCHO_REAL_PREESCOLAR_V3_FIN */
/* AJUSTE_INTERNO_PREESCOLAR_V4_INICIO */
/* Hero: menos vacío superior y una imagen con mayor presencia */
.page-id-7 .preescolar-v2-hero {
    padding-top: clamp(28px, 3.2vw, 44px);
    padding-bottom: clamp(30px, 3.4vw, 46px);
    gap: clamp(42px, 5vw, 76px);
}
.page-id-7 .preescolar-v2-hero > .wp-block-column:first-child {
    flex-basis: 52% !important;
}
.page-id-7 .preescolar-v2-hero > .wp-block-column:last-child {
    flex-basis: 48% !important;
}
.page-id-7 .preescolar-v2-hero__imagen {
    max-width: 570px;
}
/* Liberar los contenedores internos que Gutenberg seguía restringiendo */
.page-id-7 .preescolar-v2-identidad > *,
.page-id-7 .preescolar-v2-comunidad > *,
.page-id-7 .preescolar-v2-manual > *,
.page-id-7 .preescolar-v2-cta > * {
    max-width: none !important;
}
.page-id-7 .preescolar-v2-identidad__columnas {
    width: min(920px, 100%) !important;
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-id-7 .preescolar-v2-comunidad__intro {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-id-7 .preescolar-v2-comunidad__tarjetas {
    width: min(1020px, 100%) !important;
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-id-7 .preescolar-v2-manual > .wp-block-columns {
    width: 100% !important;
    max-width: none !important;
}
/* Tarjetas más cómodas y legibles */
.page-id-7 .preescolar-v2-mision,
.page-id-7 .preescolar-v2-valores {
    padding: clamp(30px, 3vw, 42px);
}
.page-id-7 .preescolar-v2-mision p,
.page-id-7 .preescolar-v2-valores p,
.page-id-7 .preescolar-v2-comunidad__tarjeta p {
    font-size: 1rem;
    line-height: 1.7;
}
.page-id-7 .preescolar-v2-comunidad__tarjeta {
    min-height: 250px;
    padding: clamp(28px, 3vw, 36px);
}
.page-id-7 .preescolar-v2-comunidad__tarjeta h3 {
    font-size: clamp(1.45rem, 1.8vw, 1.75rem) !important;
}
/* Ritmo vertical más cercano al de Inicio */
.page-id-7 .preescolar-v2-identidad,
.page-id-7 .preescolar-v2-comunidad {
    padding-top: clamp(42px, 4vw, 58px);
}
.page-id-7 .preescolar-v2-manual {
    margin-top: clamp(38px, 4vw, 52px);
}
.page-id-7 .preescolar-v2-cta {
    margin-top: clamp(40px, 4vw, 56px);
    margin-bottom: clamp(42px, 4vw, 58px);
}
@media (max-width: 900px) {
    .page-id-7 .preescolar-v2-hero > .wp-block-column:first-child,
    .page-id-7 .preescolar-v2-hero > .wp-block-column:last-child {
        flex-basis: 100% !important;
    }
    .page-id-7 .preescolar-v2-identidad__columnas,
    .page-id-7 .preescolar-v2-comunidad__tarjetas {
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media (max-width: 600px) {
    .page-id-7 .preescolar-v2-hero {
        padding-top: 24px;
        padding-bottom: 28px;
    }
    .page-id-7 .preescolar-v2-mision,
    .page-id-7 .preescolar-v2-valores,
    .page-id-7 .preescolar-v2-comunidad__tarjeta {
        padding: 24px;
    }
}
/* AJUSTE_INTERNO_PREESCOLAR_V4_FIN */
/* ICONOS_BENEFICIOS_PREESCOLAR_V5_INICIO */
.page-id-7 .preescolar-v2-datos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: 18px;
}
.page-id-7 .preescolar-v2-datos p {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin: 0 !important;
    padding: 12px 18px !important;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 24px rgba(82, 39, 139, 0.08);
    border: 1px solid rgba(105, 57, 168, 0.08);
    color: #5b2f97 !important;
    font-weight: 800;
    line-height: 1.2;
    min-height: 58px;
}
.page-id-7 .preescolar-v2-datos p::before {
    content: "";
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 12px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-id-7 .preescolar-v2-datos p:nth-child(1)::before {
    background-image: url("../images/preescolar-beneficios/beneficio-12-meses.svg");
}
.page-id-7 .preescolar-v2-datos p:nth-child(2)::before {
    background-image: url("../images/preescolar-beneficios/beneficio-aprender-jugando.svg");
}
.page-id-7 .preescolar-v2-datos p:nth-child(3)::before {
    background-image: url("../images/preescolar-beneficios/beneficio-desarrollo-integral.svg");
}
@media (max-width: 600px) {
    .page-id-7 .preescolar-v2-datos {
        align-items: stretch;
    }
    .page-id-7 .preescolar-v2-datos p {
        width: 100%;
        justify-content: flex-start;
    }
}
/* ICONOS_BENEFICIOS_PREESCOLAR_V5_FIN */
/* ICONOS_BENEFICIOS_PREESCOLAR_V6_INICIO */
.page-id-7 .preescolar-v2-datos {
    gap: 16px;
}
.page-id-7 .preescolar-v2-datos p {
    gap: 14px;
    padding: 14px 20px !important;
    min-height: 68px;
    font-size: 1rem;
}
.page-id-7 .preescolar-v2-datos p::before {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 14px;
}
@media (max-width: 600px) {
    .page-id-7 .preescolar-v2-datos p {
        min-height: 64px;
    }
    .page-id-7 .preescolar-v2-datos p::before {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }
}
/* ICONOS_BENEFICIOS_PREESCOLAR_V6_FIN */
/* BENEFICIOS_TRES_COLUMNAS_PREESCOLAR_V7_INICIO */
.page-id-7 .preescolar-v2-datos {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    margin: 22px auto 0 !important;
    gap: 18px !important;
    align-items: stretch;
}
.page-id-7 .preescolar-v2-datos p {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    width: 100% !important;
    min-width: 0;
    min-height: 82px;
    padding: 16px 20px !important;
    gap: 15px;
    border-radius: 20px;
    font-size: 1.02rem;
    text-align: left;
}
.page-id-7 .preescolar-v2-datos p::before {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border-radius: 16px;
}
@media (max-width: 900px) {
    .page-id-7 .preescolar-v2-datos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 680px) !important;
    }
    .page-id-7 .preescolar-v2-datos p:nth-child(3) {
        grid-column: 1 / -1;
        width: min(100%, 330px) !important;
        justify-self: center;
    }
}
@media (max-width: 600px) {
    .page-id-7 .preescolar-v2-datos {
        grid-template-columns: 1fr;
        width: 100% !important;
        gap: 12px !important;
    }
    .page-id-7 .preescolar-v2-datos p,
    .page-id-7 .preescolar-v2-datos p:nth-child(3) {
        grid-column: auto;
        width: 100% !important;
        min-height: 72px;
        justify-self: stretch;
    }
    .page-id-7 .preescolar-v2-datos p::before {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }
}
/* BENEFICIOS_TRES_COLUMNAS_PREESCOLAR_V7_FIN */
/* TEXTO_CALIDO_TIPOGRAFIA_PREESCOLAR_V8_INICIO */
.page-id-7 .preescolar-v2-hero__texto {
    font-size: clamp(1.08rem, 1.35vw, 1.2rem) !important;
    line-height: 1.72 !important;
}
.page-id-7 .preescolar-v2-proposito__texto {
    font-size: clamp(1.05rem, 1.3vw, 1.16rem) !important;
    line-height: 1.68 !important;
}
.page-id-7 .preescolar-v2-seccion-texto,
.page-id-7 .preescolar-v2-comunidad__intro {
    font-size: clamp(1.03rem, 1.25vw, 1.14rem) !important;
    line-height: 1.7 !important;
}
.page-id-7 .preescolar-v2-mision p,
.page-id-7 .preescolar-v2-valores p,
.page-id-7 .preescolar-v2-manual p:not(.preescolar-v2-seccion-etiqueta),
.page-id-7 .preescolar-v2-comunidad__tarjeta p {
    font-size: clamp(1rem, 1.12vw, 1.08rem) !important;
    line-height: 1.68 !important;
}
.page-id-7 .preescolar-v2-valores__rejilla p {
    min-height: 46px;
    padding: 12px 15px !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
}
.page-id-7 .preescolar-v2-datos p {
    font-size: clamp(1rem, 1.15vw, 1.08rem) !important;
    line-height: 1.3 !important;
}
.page-id-7 .preescolar-v2-cta p {
    font-size: clamp(1.02rem, 1.2vw, 1.12rem) !important;
    line-height: 1.65 !important;
}
.page-id-7 .preescolar-v2-botones .wp-block-button__link,
.page-id-7 .preescolar-v2-cta .wp-block-button__link,
.page-id-7 .preescolar-v2-boton-manual .wp-block-button__link {
    font-size: 0.98rem !important;
}
.page-id-7 .preescolar-v2-etiqueta,
.page-id-7 .preescolar-v2-seccion-etiqueta {
    font-size: 0.82rem !important;
}
@media (max-width: 600px) {
    .page-id-7 .preescolar-v2-hero__texto,
    .page-id-7 .preescolar-v2-proposito__texto,
    .page-id-7 .preescolar-v2-seccion-texto,
    .page-id-7 .preescolar-v2-comunidad__intro,
    .page-id-7 .preescolar-v2-mision p,
    .page-id-7 .preescolar-v2-manual p:not(.preescolar-v2-seccion-etiqueta),
    .page-id-7 .preescolar-v2-comunidad__tarjeta p,
    .page-id-7 .preescolar-v2-cta p {
        font-size: 1rem !important;
    }
}
/* TEXTO_CALIDO_TIPOGRAFIA_PREESCOLAR_V8_FIN */
/* PAGINA_NIVELES_V1_INICIO */
body.page-id-8 {
    overflow-x: clip;
}
.page-id-8 .entry-title,
.page-id-8 .wp-block-post-title,
.page-id-8 .page-title,
.page-id-8 .post-title {
    display: none !important;
}
.page-id-8 .entry-content,
.page-id-8 .wp-block-post-content {
    width: 100% !important;
    max-width: none !important;
}
.page-id-8 .pagina-niveles-v1 {
    --niv-morado: #6939a8;
    --niv-morado-oscuro: #51288b;
    --niv-turquesa: #30b8bf;
    --niv-amarillo: #ffd95f;
    --niv-crema: #fffaf1;
    --niv-texto: #4b4254;
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    color: var(--niv-texto);
    overflow: hidden;
}
.page-id-8 .niveles-v1-hero,
.page-id-8 .niveles-v1-franja,
.page-id-8 .niveles-v1-seccion,
.page-id-8 .niveles-v1-cta {
    width: min(1160px, calc(100vw - 48px)) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
.page-id-8 .niveles-v1-hero {
    display: flex;
    align-items: center;
    gap: clamp(42px, 5vw, 76px);
    padding: clamp(44px, 5vw, 70px) 0 clamp(36px, 4vw, 56px);
}
.page-id-8 .niveles-v1-hero > .wp-block-column {
    min-width: 0;
}
.page-id-8 .niveles-v1-etiqueta,
.page-id-8 .niveles-v1-seccion-etiqueta {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--niv-amarillo);
    color: var(--niv-morado-oscuro);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}
.page-id-8 .has-text-align-center.niveles-v1-seccion-etiqueta {
    display: flex;
    margin-left: auto;
    margin-right: auto;
}
.page-id-8 .niveles-v1-hero__titulo {
    max-width: 650px;
    margin: 0;
    color: var(--niv-turquesa);
    font-size: clamp(3rem, 4.5vw, 4.3rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em;
}
.page-id-8 .niveles-v1-hero__texto {
    max-width: 620px;
    margin: 22px 0 0;
    font-size: clamp(1.08rem, 1.35vw, 1.2rem);
    line-height: 1.72;
}
.page-id-8 .niveles-v1-botones {
    gap: 12px;
    margin-top: 26px;
}
.page-id-8 .niveles-v1-botones .wp-block-button__link,
.page-id-8 .niveles-v1-cta .wp-block-button__link {
    border-radius: 999px;
    padding: 13px 22px;
    font-size: 0.98rem;
    font-weight: 800;
    text-decoration: none;
}
.page-id-8 .niveles-v1-boton-principal .wp-block-button__link {
    background: var(--niv-morado);
    color: #fff;
    box-shadow: 0 12px 24px rgba(105, 57, 168, 0.2);
}
.page-id-8 .niveles-v1-boton-secundario .wp-block-button__link {
    border: 2px solid var(--niv-morado);
    background: #fff;
    color: var(--niv-morado);
}
.page-id-8 .niveles-v1-collage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 22px;
    border-radius: 34px;
    background: linear-gradient(135deg, #e8f8ff, #fff3c7 55%, #f9e5ef);
    box-shadow: 0 24px 58px rgba(82, 39, 139, 0.14);
}
.page-id-8 .niveles-v1-collage__item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 88px;
    margin: 0;
    padding: 14px 16px;
    border-radius: 20px;
    background: rgba(255,255,255,0.88);
    color: var(--niv-morado-oscuro);
    font-weight: 800;
}
.page-id-8 .niveles-v1-collage__item:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 8px);
    justify-self: center;
}
.page-id-8 .niveles-v1-collage__item::before,
.page-id-8 .nivel-v1-icono::before {
    content: "";
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-id-8 .niveles-v1-collage__item::before {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
}
.page-id-8 .nivel-icono-materno::before,
.page-id-8 .nivel-v1-materno .nivel-v1-icono::before {
    background-image: url("../images/niveles/materno.svg");
}
.page-id-8 .nivel-icono-parvulos::before,
.page-id-8 .nivel-v1-parvulos .nivel-v1-icono::before {
    background-image: url("../images/niveles/parvulos.svg");
}
.page-id-8 .nivel-icono-prejardin::before,
.page-id-8 .nivel-v1-prejardin .nivel-v1-icono::before {
    background-image: url("../images/niveles/prejardin.svg");
}
.page-id-8 .nivel-icono-jardin::before,
.page-id-8 .nivel-v1-jardin .nivel-v1-icono::before {
    background-image: url("../images/niveles/jardin.svg");
}
.page-id-8 .nivel-icono-transicion::before,
.page-id-8 .nivel-v1-transicion .nivel-v1-icono::before {
    background-image: url("../images/niveles/transicion.svg");
}
.page-id-8 .niveles-v1-franja {
    padding: 24px clamp(22px, 4vw, 44px);
    border: 1px solid rgba(105,57,168,0.1);
    border-radius: 26px;
    background: var(--niv-crema);
    box-shadow: 0 12px 30px rgba(82,39,139,0.08);
}
.page-id-8 .niveles-v1-franja__texto {
    max-width: 900px;
    margin: 0 auto;
    font-size: clamp(1.05rem, 1.3vw, 1.16rem);
    line-height: 1.68;
}
.page-id-8 .niveles-v1-seccion {
    padding-top: clamp(54px, 6vw, 78px);
}
.page-id-8 .niveles-v1-seccion > * {
    max-width: none !important;
}
.page-id-8 .niveles-v1-seccion-titulo {
    max-width: 900px !important;
    margin: 0 auto 14px;
    color: var(--niv-morado-oscuro);
    font-size: clamp(2.35rem, 3.8vw, 3.35rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em;
}
.page-id-8 .niveles-v1-seccion-texto {
    max-width: 780px !important;
    margin: 0 auto 34px;
    font-size: clamp(1.03rem, 1.25vw, 1.14rem);
    line-height: 1.7;
}
.page-id-8 .niveles-v1-tarjetas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: min(1060px, 100%) !important;
    max-width: 1060px !important;
    margin: 0 auto !important;
}
.page-id-8 .nivel-v1-tarjeta {
    position: relative;
    min-height: 330px;
    padding: clamp(28px, 3vw, 38px);
    border-radius: 30px;
    box-shadow: 0 16px 38px rgba(82,39,139,0.1);
}
.page-id-8 .nivel-v1-transicion {
    grid-column: 1 / -1;
    width: calc(50% - 12px);
    justify-self: center;
}
.page-id-8 .nivel-v1-materno { background: #fff2b9; }
.page-id-8 .nivel-v1-parvulos { background: #e3f6ff; }
.page-id-8 .nivel-v1-prejardin { background: #ffe7f0; }
.page-id-8 .nivel-v1-jardin { background: #e8f6df; }
.page-id-8 .nivel-v1-transicion { background: #eee8ff; }
.page-id-8 .nivel-v1-icono {
    width: 76px;
    height: 76px;
    margin: 0 0 16px;
}
.page-id-8 .nivel-v1-icono::before {
    width: 76px;
    height: 76px;
}
.page-id-8 .nivel-v1-tarjeta h3 {
    margin: 0 0 6px;
    color: var(--niv-morado-oscuro);
    font-size: clamp(1.7rem, 2.2vw, 2.05rem) !important;
    line-height: 1.1 !important;
}
.page-id-8 .nivel-v1-subtitulo {
    margin: 0 0 14px;
    color: var(--niv-morado);
    font-size: 1.04rem;
    font-weight: 800;
}
.page-id-8 .nivel-v1-tarjeta > p:not(.nivel-v1-icono):not(.nivel-v1-subtitulo) {
    margin-bottom: 20px;
    font-size: clamp(1rem, 1.12vw, 1.08rem);
    line-height: 1.68;
}
.page-id-8 .nivel-v1-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}
.page-id-8 .nivel-v1-chips span {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.8);
    color: var(--niv-morado-oscuro);
    font-size: 0.92rem;
    font-weight: 750;
}
.page-id-8 .niveles-v1-cta {
    margin-top: clamp(48px, 5vw, 68px);
    margin-bottom: clamp(52px, 5vw, 74px);
    padding: clamp(34px, 4vw, 50px) clamp(24px, 5vw, 60px);
    border-radius: 32px;
    background: linear-gradient(135deg, #fff5c9, #e2f4ff 55%, #f8e3ef);
    text-align: center;
}
.page-id-8 .niveles-v1-cta h2 {
    max-width: 850px;
    margin: 0 auto 14px;
    color: var(--niv-turquesa);
    font-size: clamp(2.1rem, 3.7vw, 3.15rem) !important;
    line-height: 1.08 !important;
}
.page-id-8 .niveles-v1-cta p {
    max-width: 760px;
    margin: 0 auto 24px;
    font-size: clamp(1.02rem, 1.2vw, 1.12rem);
    line-height: 1.65;
}
.page-id-8 .niveles-v1-cta .wp-block-buttons {
    gap: 12px;
}
@media (max-width: 900px) {
    .page-id-8 .niveles-v1-hero {
        flex-direction: column;
    }
    .page-id-8 .niveles-v1-hero > .wp-block-column {
        width: 100%;
        flex-basis: 100% !important;
    }
    .page-id-8 .niveles-v1-hero__contenido {
        text-align: center;
    }
    .page-id-8 .niveles-v1-etiqueta,
    .page-id-8 .niveles-v1-botones {
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }
    .page-id-8 .niveles-v1-hero__titulo,
    .page-id-8 .niveles-v1-hero__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-8 .niveles-v1-tarjetas {
        grid-template-columns: 1fr;
        max-width: 720px !important;
    }
    .page-id-8 .nivel-v1-transicion {
        grid-column: auto;
        width: 100%;
    }
}
@media (max-width: 600px) {
    .page-id-8 .niveles-v1-hero,
    .page-id-8 .niveles-v1-franja,
    .page-id-8 .niveles-v1-seccion,
    .page-id-8 .niveles-v1-cta {
        width: calc(100vw - 24px) !important;
    }
    .page-id-8 .niveles-v1-hero__titulo {
        font-size: clamp(2.35rem, 11vw, 3.2rem) !important;
    }
    .page-id-8 .niveles-v1-collage {
        grid-template-columns: 1fr;
    }
    .page-id-8 .niveles-v1-collage__item:last-child {
        grid-column: auto;
        width: 100%;
    }
    .page-id-8 .niveles-v1-botones,
    .page-id-8 .niveles-v1-botones .wp-block-button,
    .page-id-8 .niveles-v1-cta .wp-block-buttons,
    .page-id-8 .niveles-v1-cta .wp-block-button {
        width: 100%;
    }
    .page-id-8 .niveles-v1-botones .wp-block-button__link,
    .page-id-8 .niveles-v1-cta .wp-block-button__link {
        display: block;
        width: 100%;
        text-align: center;
    }
    .page-id-8 .nivel-v1-tarjeta {
        min-height: 0;
        padding: 24px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-8 .niveles-v1-botones .wp-block-button__link,
    .page-id-8 .niveles-v1-cta .wp-block-button__link {
        transition: none;
    }
}
/* PAGINA_NIVELES_V1_FIN */
/* ICONOS_ILUSTRADOS_NIVELES_V2_INICIO */
/* Reemplazo de iconos simples por ilustraciones grandes y coherentes */
.page-id-8 .niveles-v1-collage__item::before,
.page-id-8 .nivel-v1-icono::before {
    border-radius: 22px;
    filter: drop-shadow(0 10px 18px rgba(82, 39, 139, 0.12));
}
.page-id-8 .niveles-v1-collage__item::before {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
}
.page-id-8 .nivel-v1-icono,
.page-id-8 .nivel-v1-icono::before {
    width: 112px;
    height: 112px;
}
.page-id-8 .nivel-v1-icono {
    margin: 0 auto 18px;
}
.page-id-8 .nivel-icono-materno::before,
.page-id-8 .nivel-v1-materno .nivel-v1-icono::before {
    background-image: url("../images/niveles-ilustrados/materno.webp") !important;
}
.page-id-8 .nivel-icono-parvulos::before,
.page-id-8 .nivel-v1-parvulos .nivel-v1-icono::before {
    background-image: url("../images/niveles-ilustrados/parvulos.webp") !important;
}
.page-id-8 .nivel-icono-prejardin::before,
.page-id-8 .nivel-v1-prejardin .nivel-v1-icono::before {
    background-image: url("../images/niveles-ilustrados/prejardin.webp") !important;
}
.page-id-8 .nivel-icono-jardin::before,
.page-id-8 .nivel-v1-jardin .nivel-v1-icono::before {
    background-image: url("../images/niveles-ilustrados/jardin.webp") !important;
}
.page-id-8 .nivel-icono-transicion::before,
.page-id-8 .nivel-v1-transicion .nivel-v1-icono::before {
    background-image: url("../images/niveles-ilustrados/transicion.webp") !important;
}
/* Hero collage con mejor presencia visual */
.page-id-8 .niveles-v1-collage {
    gap: 18px;
    padding: 26px;
}
.page-id-8 .niveles-v1-collage__item {
    min-height: 108px;
    padding: 16px 18px;
    font-size: 1rem;
}
/* Tarjetas: la ilustración debe sentirse como protagonista, no como estampilla */
.page-id-8 .nivel-v1-tarjeta {
    padding-top: clamp(30px, 3vw, 42px);
}
.page-id-8 .nivel-v1-tarjeta h3 {
    margin-top: 2px;
}
@media (max-width: 900px) {
    .page-id-8 .niveles-v1-collage__item::before {
        width: 66px;
        height: 66px;
        flex-basis: 66px;
    }
    .page-id-8 .nivel-v1-icono,
    .page-id-8 .nivel-v1-icono::before {
        width: 104px;
        height: 104px;
    }
}
@media (max-width: 600px) {
    .page-id-8 .niveles-v1-collage__item::before {
        width: 60px;
        height: 60px;
        flex-basis: 60px;
    }
    .page-id-8 .nivel-v1-icono,
    .page-id-8 .nivel-v1-icono::before {
        width: 96px;
        height: 96px;
    }
}
/* ICONOS_ILUSTRADOS_NIVELES_V2_FIN */
/* SLIDER_NIVELES_V2_INICIO */
/* Un poco más de cariño en el hero */
.page-id-8 .niveles-slider-hero {
    padding-bottom: clamp(26px, 3vw, 42px);
}
.page-id-8 .niveles-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(150px, 220px) 1fr;
    align-items: center;
    gap: 22px;
    padding: clamp(22px, 3vw, 34px);
    border-radius: 34px;
    background: linear-gradient(135deg, #e9f8ff, #fff2bf 52%, #fbe5ef);
    box-shadow: 0 24px 58px rgba(82, 39, 139, 0.14);
}
.page-id-8 .niveles-hero-card::before,
.page-id-8 .niveles-hero-card::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    opacity: 0.55;
    pointer-events: none;
}
.page-id-8 .niveles-hero-card::before {
    width: 92px;
    height: 92px;
    left: -22px;
    top: -24px;
    background: #fff2b9;
}
.page-id-8 .niveles-hero-card::after {
    width: 76px;
    height: 76px;
    right: -18px;
    bottom: -20px;
    background: #dff5fb;
}
.page-id-8 .niveles-hero-card img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 220px;
    border-radius: 28px;
    box-shadow: 0 16px 34px rgba(82, 39, 139, 0.14);
}
.page-id-8 .niveles-hero-card div {
    position: relative;
    z-index: 1;
}
.page-id-8 .niveles-hero-card span {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #ffd95f;
    color: #51288b;
    font-weight: 850;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.page-id-8 .niveles-hero-card strong {
    display: block;
    color: #51288b;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    line-height: 1.16;
}
/* Compactación general: ya no necesitamos el grid largo */
.page-id-8 .niveles-slider-seccion {
    padding-top: clamp(42px, 4.8vw, 62px);
}
.page-id-8 .niveles-slider-seccion .niveles-v1-seccion-texto {
    margin-bottom: 22px;
}
/* Slider */
.page-id-8 .niveles-slider-v2 {
    position: relative;
    width: min(1060px, 100%);
    margin: 0 auto;
    padding: 0 58px;
}
.page-id-8 .niveles-slider-v2__viewport {
    overflow: hidden;
    border-radius: 34px;
}
.page-id-8 .niveles-slider-v2__track {
    display: flex;
    transition: transform 360ms ease;
    will-change: transform;
}
.page-id-8 .niveles-slider-v2__slide {
    flex: 0 0 100%;
    display: grid;
    grid-template-columns: minmax(260px, 40%) 1fr;
    align-items: center;
    gap: clamp(24px, 4vw, 52px);
    min-height: 420px;
    padding: clamp(32px, 4vw, 54px);
    border-radius: 34px;
    box-shadow: 0 18px 42px rgba(82, 39, 139, 0.12);
}
.page-id-8 .niveles-slider-v2__imagen {
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-id-8 .niveles-slider-v2__imagen img {
    width: min(100%, 310px);
    border-radius: 32px;
    box-shadow: 0 18px 38px rgba(82, 39, 139, 0.14);
}
.page-id-8 .niveles-slider-v2__contenido {
    max-width: 560px;
}
.page-id-8 .niveles-slider-v2__numero {
    display: inline-flex;
    margin: 0 0 14px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #51288b;
    font-weight: 900;
    letter-spacing: 0.08em;
}
.page-id-8 .niveles-slider-v2__slide h3 {
    margin: 0 0 8px;
    color: #51288b;
    font-size: clamp(2.2rem, 4vw, 3rem);
    line-height: 1.05;
}
.page-id-8 .niveles-slider-v2__slide .nivel-v1-subtitulo {
    margin-bottom: 16px;
    font-size: clamp(1.06rem, 1.25vw, 1.16rem);
}
.page-id-8 .niveles-slider-v2__slide p:not(.nivel-v1-subtitulo):not(.niveles-slider-v2__numero) {
    font-size: clamp(1.03rem, 1.18vw, 1.13rem);
    line-height: 1.68;
}
.page-id-8 .niveles-slider-v2__slide .nivel-v1-chips {
    margin-top: 20px;
}
.page-id-8 .niveles-slider-v2__flecha {
    position: absolute;
    top: 45%;
    z-index: 4;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: #6939a8;
    color: #fff;
    box-shadow: 0 12px 24px rgba(105, 57, 168, 0.22);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}
.page-id-8 .niveles-slider-v2__flecha--prev {
    left: 0;
}
.page-id-8 .niveles-slider-v2__flecha--next {
    right: 0;
}
.page-id-8 .niveles-slider-v2__puntos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
}
.page-id-8 .niveles-slider-v2__puntos button {
    border: 2px solid rgba(105, 57, 168, 0.18);
    border-radius: 999px;
    background: #fff;
    color: #51288b;
    padding: 9px 14px;
    font-weight: 850;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(82, 39, 139, 0.06);
}
.page-id-8 .niveles-slider-v2__puntos button.is-active {
    background: #6939a8;
    border-color: #6939a8;
    color: #fff;
}
/* Menos altura total */
.page-id-8 .niveles-slider-cta {
    margin-top: clamp(34px, 4vw, 50px);
}
@media (max-width: 900px) {
    .page-id-8 .niveles-hero-card {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .page-id-8 .niveles-hero-card img {
        margin: 0 auto;
    }
    .page-id-8 .niveles-slider-v2 {
        padding: 0 0 58px;
    }
    .page-id-8 .niveles-slider-v2__slide {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .page-id-8 .niveles-slider-v2__contenido {
        max-width: 100%;
        margin: 0 auto;
    }
    .page-id-8 .niveles-slider-v2__slide .nivel-v1-chips {
        justify-content: center;
    }
    .page-id-8 .niveles-slider-v2__flecha {
        top: auto;
        bottom: 0;
    }
    .page-id-8 .niveles-slider-v2__flecha--prev {
        left: calc(50% - 62px);
    }
    .page-id-8 .niveles-slider-v2__flecha--next {
        right: calc(50% - 62px);
    }
    .page-id-8 .niveles-slider-v2__puntos {
        margin-top: 16px;
    }
}
@media (max-width: 600px) {
    .page-id-8 .niveles-slider-v2__slide {
        min-height: 0;
        padding: 26px;
    }
    .page-id-8 .niveles-slider-v2__imagen img {
        width: min(100%, 240px);
    }
    .page-id-8 .niveles-slider-v2__puntos button {
        font-size: 0.9rem;
        padding: 8px 11px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-8 .niveles-slider-v2__track {
        transition: none;
    }
}
/* SLIDER_NIVELES_V2_FIN */
/* ARREGLO_SLIDER_NIVELES_V3_INICIO */
/* Evita que se vean diapositivas laterales y corrige el desborde horizontal */
.page-id-8 .niveles-slider-v2 {
    width: min(1060px, 100%) !important;
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 58px !important;
    padding-right: 58px !important;
    box-sizing: border-box;
    overflow: visible;
}
.page-id-8 .niveles-slider-v2__viewport {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border-radius: 34px;
}
.page-id-8 .niveles-slider-v2__track {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
}
.page-id-8 .niveles-slider-v2__slide {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    overflow: hidden;
}
/* Estado sin JS: mostrar solo el primer nivel */
.page-id-8 .niveles-slider-v2__track:not(.is-ready) .niveles-slider-v2__slide {
    display: none !important;
}
.page-id-8 .niveles-slider-v2__track:not(.is-ready) .niveles-slider-v2__slide:first-child {
    display: grid !important;
}
/* Estado con JS: mostrar solo el nivel activo */
.page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide {
    display: none !important;
}
.page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active {
    display: grid !important;
}
/* Flechas fuera del contenido, pero sin tapar textos */
.page-id-8 .niveles-slider-v2__flecha {
    top: 50%;
    transform: translateY(-50%);
}
.page-id-8 .niveles-slider-v2__flecha--prev {
    left: 0;
}
.page-id-8 .niveles-slider-v2__flecha--next {
    right: 0;
}
/* Puntos más cercanos al slider */
.page-id-8 .niveles-slider-v2__puntos {
    margin-top: 16px !important;
}
/* Mejor ajuste de imagen y texto dentro de la tarjeta */
.page-id-8 .niveles-slider-v2__slide {
    grid-template-columns: minmax(230px, 38%) 1fr;
    gap: clamp(24px, 3.8vw, 46px);
}
.page-id-8 .niveles-slider-v2__imagen img {
    width: min(100%, 300px);
}
.page-id-8 .niveles-slider-v2__contenido {
    min-width: 0;
}
@media (max-width: 900px) {
    .page-id-8 .niveles-slider-v2 {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 58px;
    }
    .page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active,
    .page-id-8 .niveles-slider-v2__track:not(.is-ready) .niveles-slider-v2__slide:first-child {
        display: grid !important;
        grid-template-columns: 1fr;
    }
    .page-id-8 .niveles-slider-v2__flecha {
        top: auto;
        bottom: 0;
        transform: none;
    }
    .page-id-8 .niveles-slider-v2__flecha--prev {
        left: calc(50% - 62px);
    }
    .page-id-8 .niveles-slider-v2__flecha--next {
        right: calc(50% - 62px);
    }
}
@media (max-width: 600px) {
    .page-id-8 .niveles-slider-v2__slide {
        padding: 24px;
    }
    .page-id-8 .niveles-slider-v2__imagen img {
        width: min(100%, 230px);
    }
}
/* ARREGLO_SLIDER_NIVELES_V3_FIN */
/* AJUSTE_SLIDER_NIVELES_V4_INICIO */
/* Mantiene el slider del mismo tamaño aunque algunos chips bajen a otra línea */
.page-id-8 .niveles-slider-v2__viewport {
    min-height: 430px;
}
.page-id-8 .niveles-slider-v2__slide {
    min-height: 430px !important;
    align-items: center;
}
.page-id-8 .niveles-slider-v2__contenido {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.page-id-8 .niveles-slider-v2__slide .nivel-v1-chips {
    min-height: 78px;
    align-content: flex-start;
    align-items: flex-start;
}
/* Chips más compactos para que Transición no agrande la tarjeta */
.page-id-8 .niveles-slider-v2__slide .nivel-v1-chips span {
    padding: 8px 11px;
    font-size: 0.88rem;
    line-height: 1.15;
}
/* Un poco más de margen para que las flechas no parezcan pegadas al borde */
.page-id-8 .niveles-slider-v2 {
    padding-left: 66px !important;
    padding-right: 66px !important;
}
.page-id-8 .niveles-slider-v2__flecha {
    width: 46px;
    height: 46px;
}
/* Indicadores inferiores: una sola línea más limpia en escritorio */
.page-id-8 .niveles-slider-v2__puntos {
    gap: 8px !important;
}
.page-id-8 .niveles-slider-v2__puntos button {
    padding: 8px 13px;
    font-size: 0.92rem;
}
/* Pequeña mejora visual: que el número no empuje demasiado el contenido */
.page-id-8 .niveles-slider-v2__numero {
    margin-bottom: 10px !important;
}
/* En móviles dejamos que crezca naturalmente */
@media (max-width: 900px) {
    .page-id-8 .niveles-slider-v2 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .page-id-8 .niveles-slider-v2__viewport,
    .page-id-8 .niveles-slider-v2__slide {
        min-height: 0 !important;
    }
    .page-id-8 .niveles-slider-v2__slide .nivel-v1-chips {
        min-height: 0;
        justify-content: center;
    }
}
/* AJUSTE_SLIDER_NIVELES_V4_FIN */
/* PROGRESO_TRANSICIONES_NIVELES_V5_INICIO */
/* Barra de avance del slider */
.page-id-8 .niveles-slider-v2__progreso {
    position: relative;
    width: min(420px, 78%);
    height: 8px;
    margin: 16px auto 0;
    border-radius: 999px;
    background: rgba(105, 57, 168, 0.12);
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(82, 39, 139, 0.08);
}
.page-id-8 .niveles-slider-v2__progreso span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, #ffd95f, #30b8bf, #6939a8);
}
.page-id-8 .niveles-slider-v2__progreso.is-running span {
    animation: nivelesSliderProgress 6.5s linear forwards;
}
@keyframes nivelesSliderProgress {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}
/* Transiciones aleatorias suaves */
.page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-fade {
    animation: nivelesFxFade 420ms ease both;
}
.page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-lift {
    animation: nivelesFxLift 460ms ease both;
}
.page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-zoom {
    animation: nivelesFxZoom 430ms ease both;
}
.page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-soft-slide {
    animation: nivelesFxSoftSlide 460ms ease both;
}
@keyframes nivelesFxFade {
    from {
        opacity: 0;
        filter: blur(5px);
    }
    to {
        opacity: 1;
        filter: blur(0);
    }
}
@keyframes nivelesFxLift {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes nivelesFxZoom {
    from {
        opacity: 0;
        transform: scale(0.965);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
@keyframes nivelesFxSoftSlide {
    from {
        opacity: 0;
        transform: translateX(22px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
/* Ajuste de ubicación de puntos por la nueva barra */
.page-id-8 .niveles-slider-v2__puntos {
    margin-top: 14px !important;
}
@media (max-width: 600px) {
    .page-id-8 .niveles-slider-v2__progreso {
        width: min(100%, 320px);
        height: 7px;
        margin-top: 14px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-8 .niveles-slider-v2__progreso.is-running span,
    .page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-fade,
    .page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-lift,
    .page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-zoom,
    .page-id-8 .niveles-slider-v2__track.is-ready .niveles-slider-v2__slide.is-active.fx-soft-slide {
        animation: none !important;
    }
    .page-id-8 .niveles-slider-v2__progreso span {
        transform: none;
    }
}
/* PROGRESO_TRANSICIONES_NIVELES_V5_FIN */
/* PAGINA_PROPUESTA_EDUCATIVA_V1_INICIO */
body.page-id-9 {
    overflow-x: clip;
}
.page-id-9 .entry-title,
.page-id-9 .wp-block-post-title,
.page-id-9 .page-title,
.page-id-9 .post-title {
    display: none !important;
}
.page-id-9 .entry-content,
.page-id-9 .wp-block-post-content {
    width: 100% !important;
    max-width: none !important;
}
.page-id-9 .pagina-propuesta-v1 {
    --pro-morado: #6939a8;
    --pro-morado-oscuro: #51288b;
    --pro-turquesa: #30b8bf;
    --pro-amarillo: #ffd95f;
    --pro-crema: #fffaf1;
    --pro-texto: #4b4254;
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    color: var(--pro-texto);
    overflow: hidden;
}
.page-id-9 .propuesta-v1-hero,
.page-id-9 .propuesta-v1-franja,
.page-id-9 .propuesta-v1-seccion,
.page-id-9 .propuesta-v1-ambientes,
.page-id-9 .propuesta-v1-cta {
    width: min(1160px, calc(100vw - 48px)) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
.page-id-9 .propuesta-v1-hero {
    display: flex;
    align-items: center;
    gap: clamp(42px, 5vw, 76px);
    padding: clamp(44px, 5vw, 70px) 0 clamp(34px, 4vw, 52px);
}
.page-id-9 .propuesta-v1-hero > .wp-block-column {
    min-width: 0;
}
.page-id-9 .propuesta-v1-etiqueta,
.page-id-9 .propuesta-v1-seccion-etiqueta {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--pro-amarillo);
    color: var(--pro-morado-oscuro);
    font-size: 0.82rem;
    font-weight: 850;
    letter-spacing: 0.08em;
}
.page-id-9 .has-text-align-center.propuesta-v1-seccion-etiqueta {
    display: flex;
    margin-left: auto;
    margin-right: auto;
}
.page-id-9 .propuesta-v1-hero__titulo {
    max-width: 680px;
    margin: 0;
    color: var(--pro-turquesa);
    font-size: clamp(2.9rem, 4.4vw, 4.15rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.035em;
}
.page-id-9 .propuesta-v1-hero__texto {
    max-width: 630px;
    margin: 22px 0 0;
    font-size: clamp(1.08rem, 1.35vw, 1.2rem);
    line-height: 1.72;
}
.page-id-9 .propuesta-v1-botones {
    gap: 12px;
    margin-top: 26px;
}
.page-id-9 .propuesta-v1-botones .wp-block-button__link,
.page-id-9 .propuesta-v1-cta .wp-block-button__link {
    border-radius: 999px;
    padding: 13px 22px;
    font-size: 0.98rem;
    font-weight: 850;
    text-decoration: none;
}
.page-id-9 .propuesta-v1-boton-principal .wp-block-button__link {
    background: var(--pro-morado);
    color: #fff;
    box-shadow: 0 12px 24px rgba(105, 57, 168, 0.2);
}
.page-id-9 .propuesta-v1-boton-secundario .wp-block-button__link {
    border: 2px solid var(--pro-morado);
    background: #fff;
    color: var(--pro-morado);
}
/* Hero visual */
.page-id-9 .propuesta-v1-cosmos {
    position: relative;
    min-height: 430px;
    border-radius: 38px;
    background: radial-gradient(circle at 30% 25%, #fff7c8, transparent 32%),
                radial-gradient(circle at 78% 72%, #e2f5ff, transparent 30%),
                linear-gradient(135deg, #eef9ff, #fff4c7 54%, #fbe3ef);
    box-shadow: 0 24px 58px rgba(82, 39, 139, 0.14);
}
.page-id-9 .propuesta-v1-centro,
.page-id-9 .propuesta-v1-orbita {
    position: absolute;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 30px;
    background: rgba(255,255,255,0.86);
    color: var(--pro-morado-oscuro);
    box-shadow: 0 16px 34px rgba(82,39,139,0.12);
    font-weight: 850;
}
.page-id-9 .propuesta-v1-centro {
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    padding: 18px;
    border-radius: 46px;
}
.page-id-9 .propuesta-v1-centro span,
.page-id-9 .propuesta-v1-orbita span {
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-id-9 .propuesta-v1-centro span {
    width: 96px;
    height: 96px;
    background-image: url("../images/propuesta-v1/desarrollo.svg");
}
.page-id-9 .propuesta-v1-orbita span {
    width: 66px;
    height: 66px;
}
.page-id-9 .propuesta-v1-orbita {
    width: 142px;
    height: 128px;
    padding: 14px;
    font-size: 0.95rem;
}
.page-id-9 .propuesta-v1-orbita--juego {
    left: 28px;
    top: 36px;
}
.page-id-9 .propuesta-v1-orbita--juego span {
    background-image: url("../images/propuesta-v1/juego.svg");
}
.page-id-9 .propuesta-v1-orbita--ingles {
    right: 30px;
    top: 38px;
}
.page-id-9 .propuesta-v1-orbita--ingles span {
    background-image: url("../images/propuesta-v1/ingles.svg");
}
.page-id-9 .propuesta-v1-orbita--robotica {
    right: 34px;
    bottom: 38px;
}
.page-id-9 .propuesta-v1-orbita--robotica span {
    background-image: url("../images/propuesta-v1/robotica.svg");
}
.page-id-9 .propuesta-v1-orbita--arte {
    left: 36px;
    bottom: 40px;
}
.page-id-9 .propuesta-v1-orbita--arte span {
    background-image: url("../images/propuesta-v1/constructivismo.svg");
}
.page-id-9 .propuesta-v1-franja {
    padding: 24px clamp(22px, 4vw, 44px);
    border: 1px solid rgba(105,57,168,0.1);
    border-radius: 26px;
    background: var(--pro-crema);
    box-shadow: 0 12px 30px rgba(82,39,139,0.08);
}
.page-id-9 .propuesta-v1-franja__texto {
    max-width: 920px;
    margin: 0 auto;
    font-size: clamp(1.05rem, 1.3vw, 1.16rem);
    line-height: 1.68;
}
.page-id-9 .propuesta-v1-seccion {
    padding-top: clamp(52px, 5vw, 72px);
}
.page-id-9 .propuesta-v1-seccion > * {
    max-width: none !important;
}
.page-id-9 .propuesta-v1-seccion-titulo {
    max-width: 920px !important;
    margin: 0 auto 14px;
    color: var(--pro-morado-oscuro);
    font-size: clamp(2.3rem, 3.7vw, 3.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em;
}
.page-id-9 .propuesta-v1-seccion-texto {
    max-width: 780px !important;
    margin: 0 auto 30px;
    font-size: clamp(1.03rem, 1.25vw, 1.14rem);
    line-height: 1.7;
}
.page-id-9 .propuesta-v1-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    width: min(1160px, 100%) !important;
    max-width: 1160px !important;
    margin: 0 auto !important;
}
.page-id-9 .propuesta-v1-card {
    min-height: 300px;
    padding: 26px 22px;
    border-radius: 28px;
    box-shadow: 0 16px 38px rgba(82,39,139,0.1);
}
.page-id-9 .propuesta-card-juego { background: #fff2b9; }
.page-id-9 .propuesta-card-constructivismo { background: #e3f6ff; }
.page-id-9 .propuesta-card-ingles { background: #eee8ff; }
.page-id-9 .propuesta-card-robotica { background: #e8f6df; }
.page-id-9 .propuesta-card-desarrollo { background: #ffe7f0; }
.page-id-9 .propuesta-v1-icono,
.page-id-9 .propuesta-v1-icono::before {
    width: 88px;
    height: 88px;
}
.page-id-9 .propuesta-v1-icono {
    margin: 0 auto 16px;
}
.page-id-9 .propuesta-v1-icono::before {
    content: "";
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: drop-shadow(0 10px 18px rgba(82, 39, 139, 0.12));
}
.page-id-9 .propuesta-card-juego .propuesta-v1-icono::before { background-image: url("../images/propuesta-v1/juego.svg"); }
.page-id-9 .propuesta-card-constructivismo .propuesta-v1-icono::before { background-image: url("../images/propuesta-v1/constructivismo.svg"); }
.page-id-9 .propuesta-card-ingles .propuesta-v1-icono::before { background-image: url("../images/propuesta-v1/ingles.svg"); }
.page-id-9 .propuesta-card-robotica .propuesta-v1-icono::before { background-image: url("../images/propuesta-v1/robotica.svg"); }
.page-id-9 .propuesta-card-desarrollo .propuesta-v1-icono::before { background-image: url("../images/propuesta-v1/desarrollo.svg"); }
.page-id-9 .propuesta-v1-card h3 {
    margin: 0 0 12px;
    color: var(--pro-morado-oscuro);
    font-size: clamp(1.35rem, 1.7vw, 1.6rem) !important;
    line-height: 1.12 !important;
}
.page-id-9 .propuesta-v1-card p:not(.propuesta-v1-icono) {
    margin: 0;
    font-size: 1rem;
    line-height: 1.62;
}
/* Ambientes */
.page-id-9 .propuesta-v1-ambientes {
    margin-top: clamp(50px, 5vw, 70px);
    padding: clamp(34px, 4vw, 50px);
    border-radius: 34px;
    background: linear-gradient(135deg, #f4ecff, #e2f6ff 58%, #fff3c7);
}
.page-id-9 .propuesta-v1-ambientes h2 {
    margin: 0 0 14px;
    color: var(--pro-morado-oscuro);
    font-size: clamp(2rem, 3.2vw, 2.9rem) !important;
    line-height: 1.1;
}
.page-id-9 .propuesta-v1-ambientes p {
    font-size: clamp(1.02rem, 1.2vw, 1.12rem);
    line-height: 1.68;
}
.page-id-9 .propuesta-v1-ambientes__lista {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.page-id-9 .propuesta-v1-ambientes__lista article {
    padding: 20px;
    border-radius: 22px;
    background: rgba(255,255,255,0.82);
    box-shadow: 0 12px 28px rgba(82,39,139,0.08);
}
.page-id-9 .propuesta-v1-ambientes__lista span {
    display: block;
    width: 56px;
    height: 56px;
    margin-bottom: 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-id-9 .ambiente-aula { background-image: url("../images/propuesta-v1/ambientes.svg"); }
.page-id-9 .ambiente-arte { background-image: url("../images/propuesta-v1/constructivismo.svg"); }
.page-id-9 .ambiente-juego { background-image: url("../images/propuesta-v1/juego.svg"); }
.page-id-9 .ambiente-tecnologia { background-image: url("../images/propuesta-v1/robotica.svg"); }
.page-id-9 .propuesta-v1-ambientes__lista strong {
    display: block;
    color: var(--pro-morado-oscuro);
    font-size: 1.08rem;
    margin-bottom: 6px;
}
.page-id-9 .propuesta-v1-ambientes__lista p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.55;
}
.page-id-9 .propuesta-v1-cta {
    margin-top: clamp(48px, 5vw, 68px);
    margin-bottom: clamp(52px, 5vw, 74px);
    padding: clamp(34px, 4vw, 50px) clamp(24px, 5vw, 60px);
    border-radius: 32px;
    background: linear-gradient(135deg, #fff5c9, #e2f4ff 55%, #f8e3ef);
    text-align: center;
}
.page-id-9 .propuesta-v1-cta h2 {
    max-width: 850px;
    margin: 0 auto 14px;
    color: var(--pro-turquesa);
    font-size: clamp(2.1rem, 3.7vw, 3.15rem) !important;
    line-height: 1.08 !important;
}
.page-id-9 .propuesta-v1-cta p {
    max-width: 760px;
    margin: 0 auto 24px;
    font-size: clamp(1.02rem, 1.2vw, 1.12rem);
    line-height: 1.65;
}
.page-id-9 .propuesta-v1-cta .wp-block-buttons {
    gap: 12px;
}
@media (max-width: 1100px) {
    .page-id-9 .propuesta-v1-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .page-id-9 .propuesta-v1-hero,
    .page-id-9 .propuesta-v1-ambientes .wp-block-columns {
        flex-direction: column;
    }
    .page-id-9 .propuesta-v1-hero > .wp-block-column,
    .page-id-9 .propuesta-v1-ambientes .wp-block-column {
        width: 100%;
        flex-basis: 100% !important;
    }
    .page-id-9 .propuesta-v1-hero__contenido {
        text-align: center;
    }
    .page-id-9 .propuesta-v1-etiqueta,
    .page-id-9 .propuesta-v1-botones {
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }
    .page-id-9 .propuesta-v1-hero__titulo,
    .page-id-9 .propuesta-v1-hero__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-9 .propuesta-v1-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px !important;
    }
    .page-id-9 .propuesta-v1-cosmos {
        min-height: 390px;
    }
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-v1-hero,
    .page-id-9 .propuesta-v1-franja,
    .page-id-9 .propuesta-v1-seccion,
    .page-id-9 .propuesta-v1-ambientes,
    .page-id-9 .propuesta-v1-cta {
        width: calc(100vw - 24px) !important;
    }
    .page-id-9 .propuesta-v1-hero__titulo {
        font-size: clamp(2.3rem, 11vw, 3.2rem) !important;
    }
    .page-id-9 .propuesta-v1-grid,
    .page-id-9 .propuesta-v1-ambientes__lista {
        grid-template-columns: 1fr;
    }
    .page-id-9 .propuesta-v1-card {
        min-height: 0;
    }
    .page-id-9 .propuesta-v1-cosmos {
        min-height: 520px;
    }
    .page-id-9 .propuesta-v1-centro {
        top: 50%;
        width: 160px;
        height: 160px;
    }
    .page-id-9 .propuesta-v1-orbita {
        width: 132px;
        height: 120px;
    }
    .page-id-9 .propuesta-v1-botones,
    .page-id-9 .propuesta-v1-botones .wp-block-button,
    .page-id-9 .propuesta-v1-cta .wp-block-buttons,
    .page-id-9 .propuesta-v1-cta .wp-block-button {
        width: 100%;
    }
    .page-id-9 .propuesta-v1-botones .wp-block-button__link,
    .page-id-9 .propuesta-v1-cta .wp-block-button__link {
        display: block;
        width: 100%;
        text-align: center;
    }
}
/* PAGINA_PROPUESTA_EDUCATIVA_V1_FIN */
/* AJUSTE_TITULOS_PROPUESTA_V2_INICIO */
/* Bajamos la intensidad visual: la página estaba gritando "MAYÚSCULAS EN REUNIÓN". */
.page-id-9 .propuesta-v1-hero__titulo {
    max-width: 650px;
    font-size: clamp(2.45rem, 3.65vw, 3.35rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
}
.page-id-9 .propuesta-v1-seccion-titulo {
    max-width: 820px !important;
    font-size: clamp(1.95rem, 3vw, 2.55rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.02em !important;
}
.page-id-9 .propuesta-v1-ambientes h2 {
    font-size: clamp(1.85rem, 2.65vw, 2.35rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.015em !important;
}
.page-id-9 .propuesta-v1-cta h2 {
    max-width: 760px;
    font-size: clamp(1.95rem, 3vw, 2.55rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.018em !important;
}
/* Títulos de tarjetas más proporcionados */
.page-id-9 .propuesta-v1-card h3 {
    font-size: clamp(1.18rem, 1.45vw, 1.38rem) !important;
    line-height: 1.16 !important;
}
/* Un poco más de legibilidad para que al reducir títulos no se sienta seco */
.page-id-9 .propuesta-v1-hero__texto,
.page-id-9 .propuesta-v1-franja__texto,
.page-id-9 .propuesta-v1-seccion-texto,
.page-id-9 .propuesta-v1-ambientes p,
.page-id-9 .propuesta-v1-cta p {
    line-height: 1.7 !important;
}
/* Etiquetas menos dominantes */
.page-id-9 .propuesta-v1-etiqueta,
.page-id-9 .propuesta-v1-seccion-etiqueta {
    font-size: 0.78rem !important;
    padding: 7px 13px !important;
}
/* Ajuste menor de aire vertical al bajar jerarquía */
.page-id-9 .propuesta-v1-seccion {
    padding-top: clamp(44px, 4.4vw, 62px) !important;
}
.page-id-9 .propuesta-v1-ambientes {
    margin-top: clamp(42px, 4.4vw, 60px) !important;
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-v1-hero__titulo {
        font-size: clamp(2.15rem, 9.5vw, 2.85rem) !important;
    }
    .page-id-9 .propuesta-v1-seccion-titulo,
    .page-id-9 .propuesta-v1-cta h2 {
        font-size: clamp(1.8rem, 7.5vw, 2.35rem) !important;
    }
    .page-id-9 .propuesta-v1-ambientes h2 {
        font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
    }
}
/* AJUSTE_TITULOS_PROPUESTA_V2_FIN */
/* AJUSTE_PILARES_PROPUESTA_V3_INICIO */
/* Pilares: pasamos de 5 columnas apretadas a 3 + 2 con más aire */
.page-id-9 .propuesta-v1-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: min(1080px, 100%) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-id-9 .propuesta-v1-card {
    grid-column: span 2;
    min-height: 270px !important;
    padding: 30px 28px !important;
    border-radius: 30px !important;
}
/* Segunda fila centrada: dos tarjetas amplias */
.page-id-9 .propuesta-card-robotica {
    grid-column: 2 / span 2;
}
.page-id-9 .propuesta-card-desarrollo {
    grid-column: 4 / span 2;
}
.page-id-9 .propuesta-v1-icono,
.page-id-9 .propuesta-v1-icono::before {
    width: 98px !important;
    height: 98px !important;
}
.page-id-9 .propuesta-v1-icono {
    margin-bottom: 18px !important;
}
.page-id-9 .propuesta-v1-card h3 {
    font-size: clamp(1.28rem, 1.65vw, 1.55rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 12px !important;
}
.page-id-9 .propuesta-v1-card p:not(.propuesta-v1-icono) {
    font-size: clamp(1rem, 1.08vw, 1.06rem) !important;
    line-height: 1.65 !important;
}
/* La sección central queda más compacta pero menos asfixiada */
.page-id-9 .propuesta-v1-seccion-texto {
    margin-bottom: 28px !important;
}
/* Ambientes: un poco más de respiración, sin agrandar demasiado */
.page-id-9 .propuesta-v1-ambientes {
    padding: clamp(38px, 4vw, 54px) !important;
}
.page-id-9 .propuesta-v1-ambientes__lista {
    gap: 18px !important;
}
.page-id-9 .propuesta-v1-ambientes__lista article {
    padding: 22px !important;
    border-radius: 24px !important;
}
.page-id-9 .propuesta-v1-ambientes__lista span {
    width: 62px !important;
    height: 62px !important;
}
.page-id-9 .propuesta-v1-ambientes__lista strong {
    font-size: 1.12rem !important;
}
.page-id-9 .propuesta-v1-ambientes__lista p {
    font-size: 1rem !important;
    line-height: 1.58 !important;
}
/* CTA un poco más cerca, para no alargar innecesariamente */
.page-id-9 .propuesta-v1-cta {
    margin-top: clamp(42px, 4.4vw, 58px) !important;
}
@media (max-width: 1100px) {
    .page-id-9 .propuesta-v1-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 820px !important;
    }
    .page-id-9 .propuesta-v1-card,
    .page-id-9 .propuesta-card-robotica,
    .page-id-9 .propuesta-card-desarrollo {
        grid-column: auto !important;
    }
    .page-id-9 .propuesta-card-desarrollo {
        grid-column: 1 / -1 !important;
        width: min(100%, 390px);
        justify-self: center;
    }
}
@media (max-width: 900px) {
    .page-id-9 .propuesta-v1-card {
        min-height: 0 !important;
    }
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-v1-grid {
        grid-template-columns: 1fr !important;
        max-width: 100% !important;
    }
    .page-id-9 .propuesta-card-desarrollo {
        grid-column: auto !important;
        width: 100%;
    }
    .page-id-9 .propuesta-v1-card {
        padding: 26px 24px !important;
    }
    .page-id-9 .propuesta-v1-icono,
    .page-id-9 .propuesta-v1-icono::before {
        width: 88px !important;
        height: 88px !important;
    }
}
/* AJUSTE_PILARES_PROPUESTA_V3_FIN */
/* AJUSTE_ESPACIO_SUPERIOR_PROPUESTA_V5_INICIO */
/* Ajuste moderado: reduce el aire superior sin pegar el hero a la onda */
.page-id-9 main,
.page-id-9 .site-main,
.page-id-9 .wp-block-post-content {
    padding-top: 0 !important;
}
.page-id-9 .pagina-propuesta-v1 {
    margin-top: clamp(-34px, -2.4vw, -20px) !important;
}
.page-id-9 .propuesta-v1-hero {
    padding-top: clamp(34px, 3.4vw, 48px) !important;
    padding-bottom: clamp(32px, 3.5vw, 48px) !important;
}
/* En pantallas pequeñas casi no se sube para evitar que se pegue */
@media (max-width: 900px) {
    .page-id-9 .pagina-propuesta-v1 {
        margin-top: -18px !important;
    }
    .page-id-9 .propuesta-v1-hero {
        padding-top: 32px !important;
    }
}
@media (max-width: 600px) {
    .page-id-9 .pagina-propuesta-v1 {
        margin-top: -8px !important;
    }
    .page-id-9 .propuesta-v1-hero {
        padding-top: 28px !important;
    }
}
/* AJUSTE_ESPACIO_SUPERIOR_PROPUESTA_V5_FIN */
/* JUEGO_OCULTO_PROPUESTA_V1_INICIO */
/* Gatillo oculto: la palabra "jugando" abre el juego con triple clic */
.page-id-9 .propuesta-egg-trigger {
    position: relative;
    display: inline-block;
    cursor: pointer;
    outline: none;
}
.page-id-9 .propuesta-egg-trigger::after {
    content: "✦";
    position: absolute;
    right: -0.45em;
    top: -0.35em;
    color: #ffd95f;
    font-size: 0.32em;
    opacity: 0;
    transform: scale(0.7) rotate(-12deg);
    transition: opacity 160ms ease, transform 160ms ease;
}
.page-id-9 .propuesta-egg-trigger:hover::after,
.page-id-9 .propuesta-egg-trigger:focus-visible::after,
.page-id-9 .propuesta-egg-trigger.is-tapped::after {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}
.propuesta-juego-abierto {
    overflow: hidden;
}
.propuesta-juego-modal[hidden] {
    display: none !important;
}
.propuesta-juego-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(35, 22, 58, 0.46);
    backdrop-filter: blur(5px);
}
.propuesta-juego-modal__panel {
    position: relative;
    width: min(620px, 100%);
    padding: clamp(24px, 4vw, 36px);
    border-radius: 34px;
    background: linear-gradient(135deg, #fff6cc, #e5f7ff 52%, #ffe4f0);
    box-shadow: 0 26px 70px rgba(35, 22, 58, 0.28);
    text-align: center;
    color: #4b4254;
}
.propuesta-juego-modal__cerrar {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: #6939a8;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}
.propuesta-juego-modal__etiqueta {
    display: inline-flex;
    margin: 0 0 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #ffd95f;
    color: #51288b;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}
.propuesta-juego-modal h2 {
    margin: 0 0 10px;
    color: #30b8bf;
    font-size: clamp(2rem, 4vw, 2.8rem);
    line-height: 1.05;
}
.propuesta-juego-modal__texto {
    max-width: 470px;
    margin: 0 auto 12px;
    line-height: 1.6;
}
.propuesta-juego-modal__marcador {
    display: inline-flex;
    margin: 4px auto 14px;
    padding: 9px 15px;
    border-radius: 999px;
    background: #fff;
    color: #51288b;
    font-weight: 850;
    box-shadow: 0 8px 18px rgba(82, 39, 139, 0.08);
}
.propuesta-juego-modal__zona {
    position: relative;
    height: 250px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.68);
    box-shadow: inset 0 0 0 2px rgba(105, 57, 168, 0.08);
    overflow: hidden;
}
.propuesta-juego-item {
    position: absolute;
    width: 58px;
    height: 58px;
    border: 0;
    border-radius: 20px;
    cursor: pointer;
    box-shadow: 0 12px 22px rgba(82, 39, 139, 0.16);
    animation: propuestaGamePop 260ms ease both, propuestaGameFloat 1100ms ease-in-out infinite alternate;
}
.propuesta-juego-item::before {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    font-size: 1.9rem;
}
.propuesta-juego-item--estrella {
    background: #fff2b9;
}
.propuesta-juego-item--estrella::before {
    content: "⭐";
}
.propuesta-juego-item--corazon {
    background: #ffe4ef;
}
.propuesta-juego-item--corazon::before {
    content: "💛";
}
.propuesta-juego-item--sonrisa {
    background: #e5f7ff;
}
.propuesta-juego-item--sonrisa::before {
    content: "😊";
}
.propuesta-juego-item--globo {
    background: #eee8ff;
}
.propuesta-juego-item--globo::before {
    content: "🎈";
}
@keyframes propuestaGamePop {
    from {
        opacity: 0;
        transform: scale(0.65);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
@keyframes propuestaGameFloat {
    from {
        translate: 0 0;
    }
    to {
        translate: 0 -8px;
    }
}
.propuesta-juego-modal__mensaje {
    min-height: 28px;
    margin: 14px 0 0;
    color: #51288b;
    font-weight: 850;
}
.propuesta-juego-modal__reiniciar {
    margin-top: 12px;
    border: 0;
    border-radius: 999px;
    background: #30b8bf;
    color: #fff;
    padding: 12px 18px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(48, 184, 191, 0.22);
}
.propuesta-juego-confetti {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 5px;
    background: #ffd95f;
    animation: propuestaGameConfetti 900ms ease both;
}
.propuesta-juego-confetti:nth-child(3n) {
    background: #30b8bf;
}
.propuesta-juego-confetti:nth-child(3n+1) {
    background: #ff8fb5;
}
.propuesta-juego-confetti:nth-child(3n+2) {
    background: #6939a8;
}
@keyframes propuestaGameConfetti {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.6) rotate(0deg);
    }
    to {
        opacity: 1;
        transform: translateY(-18px) scale(1) rotate(180deg);
    }
}
@media (max-width: 600px) {
    .propuesta-juego-modal {
        padding: 14px;
    }
    .propuesta-juego-modal__zona {
        height: 230px;
    }
    .propuesta-juego-item {
        width: 52px;
        height: 52px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9 .propuesta-egg-trigger::after,
    .propuesta-juego-item,
    .propuesta-juego-confetti {
        animation: none !important;
        transition: none !important;
    }
}
/* JUEGO_OCULTO_PROPUESTA_V1_FIN */
/* JUEGO_OCULTO_PROPUESTA_V2_INICIO */
/* Pista visible pero coqueta */
.page-id-9 .propuesta-egg-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 14px 0 0;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255, 217, 95, 0.22);
    color: #51288b;
    font-size: 0.95rem;
    line-height: 1.35;
    border: 1px dashed rgba(105, 57, 168, 0.2);
    width: fit-content;
}
.page-id-9 .propuesta-egg-hint strong {
    color: #6939a8;
}
.page-id-9 .propuesta-egg-trigger {
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 0.12em;
}
/* Evita doble icono del V1 y deja el item siempre visible */
.propuesta-juego-item::before {
    content: none !important;
    display: none !important;
}
.propuesta-juego-item {
    display: grid !important;
    place-items: center;
}
.propuesta-juego-item__icono {
    display: block;
    font-size: 1.9rem;
    line-height: 1;
}
/* Colores por ronda aleatoria */
.propuesta-juego-item[data-mode="sonrisas"] {
    background: #e5f7ff;
}
.propuesta-juego-item[data-mode="corazones"] {
    background: #ffe4ef;
}
.propuesta-juego-item[data-mode="estrellas"] {
    background: #fff2b9;
}
.propuesta-juego-item[data-mode="globos"] {
    background: #eee8ff;
}
/* El marcador y el botón cambian sutilmente con el modo */
.propuesta-juego-modal[data-mode="sonrisas"] .propuesta-juego-modal__marcador {
    background: #e5f7ff;
}
.propuesta-juego-modal[data-mode="corazones"] .propuesta-juego-modal__marcador {
    background: #ffe4ef;
}
.propuesta-juego-modal[data-mode="estrellas"] .propuesta-juego-modal__marcador {
    background: #fff2b9;
}
.propuesta-juego-modal[data-mode="globos"] .propuesta-juego-modal__marcador {
    background: #eee8ff;
}
@media (max-width: 900px) {
    .page-id-9 .propuesta-egg-hint {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-egg-hint {
        display: flex;
        width: 100%;
        justify-content: center;
        font-size: 0.9rem;
        padding: 10px 12px;
    }
}
/* JUEGO_OCULTO_PROPUESTA_V2_FIN */
/* JUEGO_OCULTO_PROPUESTA_V3_INICIO */
/* Pista más explícita, pero todavía bonita */
.page-id-9 .propuesta-egg-hint--explicit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 13px !important;
    padding: 11px 15px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(255, 217, 95, 0.26), rgba(226, 246, 255, 0.6));
    border: 1px dashed rgba(105, 57, 168, 0.28) !important;
    color: #51288b !important;
    font-size: 0.98rem !important;
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 8px 18px rgba(82, 39, 139, 0.06);
}
.page-id-9 .propuesta-egg-hint--explicit strong {
    font-weight: 900;
}
/* Modal más compacto para que no se salga de la pantalla */
.propuesta-juego-modal {
    padding: 12px !important;
    align-items: center;
}
.propuesta-juego-modal__panel {
    width: min(520px, calc(100vw - 24px)) !important;
    max-height: calc(100vh - 24px);
    overflow: auto;
    padding: clamp(18px, 3vw, 26px) !important;
    border-radius: 28px !important;
}
.propuesta-juego-modal__cerrar {
    width: 34px !important;
    height: 34px !important;
    top: 10px !important;
    right: 10px !important;
    font-size: 1.35rem !important;
}
.propuesta-juego-modal__etiqueta {
    margin-bottom: 8px !important;
    padding: 6px 11px !important;
    font-size: 0.74rem !important;
}
.propuesta-juego-modal h2 {
    margin-bottom: 8px !important;
    font-size: clamp(1.7rem, 3.4vw, 2.25rem) !important;
}
.propuesta-juego-modal__texto {
    max-width: 420px !important;
    margin-bottom: 9px !important;
    font-size: 0.98rem !important;
    line-height: 1.45 !important;
}
.propuesta-juego-modal__marcador {
    margin-bottom: 10px !important;
    padding: 8px 13px !important;
}
.propuesta-juego-modal__zona {
    height: min(230px, 34vh) !important;
    min-height: 180px;
    border-radius: 22px !important;
}
/* Más figuras en pantalla */
.propuesta-juego-item {
    width: 48px !important;
    height: 48px !important;
    border-radius: 17px !important;
}
.propuesta-juego-item__icono {
    font-size: 1.55rem !important;
}
.propuesta-juego-item.is-decoy {
    opacity: 0.72;
    filter: saturate(0.82);
}
.propuesta-juego-item.is-target {
    opacity: 1;
    outline: 2px solid rgba(255, 255, 255, 0.9);
}
.propuesta-juego-item.is-wrong {
    animation: propuestaGameWrong 340ms ease both !important;
}
.propuesta-juego-item.is-caught {
    animation: propuestaGameCaught 180ms ease both !important;
}
@keyframes propuestaGameWrong {
    0%, 100% { transform: translateX(0) scale(1); }
    25% { transform: translateX(-5px) scale(1.03); }
    50% { transform: translateX(5px) scale(1.03); }
    75% { transform: translateX(-3px) scale(1.03); }
}
@keyframes propuestaGameCaught {
    from { opacity: 1; transform: scale(1); }
    to { opacity: 0; transform: scale(1.35); }
}
.propuesta-juego-modal__mensaje {
    min-height: 22px !important;
    margin-top: 10px !important;
    font-size: 0.98rem !important;
}
.propuesta-juego-modal__reiniciar {
    margin-top: 8px !important;
    padding: 10px 16px !important;
}
@media (max-width: 600px) {
    .propuesta-juego-modal {
        padding: 8px !important;
    }
    .propuesta-juego-modal__panel {
        width: calc(100vw - 16px) !important;
        max-height: calc(100vh - 16px);
        padding: 18px 16px !important;
    }
    .propuesta-juego-modal__zona {
        height: min(220px, 32vh) !important;
        min-height: 170px;
    }
    .propuesta-juego-item {
        width: 44px !important;
        height: 44px !important;
    }
    .propuesta-juego-item__icono {
        font-size: 1.45rem !important;
    }
}
/* JUEGO_OCULTO_PROPUESTA_V3_FIN */
/* JUEGO_CORAZON_PROPUESTA_V4_INICIO */
/* El juego ya no se abre desde la palabra: se abre desde el corazón central de la imagen */
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon {
    cursor: pointer;
    user-select: none;
    transition: transform 180ms ease, box-shadow 180ms ease, outline-color 180ms ease;
}
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon:hover,
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon:focus-visible,
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon.is-tapped {
    transform: translate(-50%, -50%) scale(1.045);
    box-shadow: 0 20px 42px rgba(82, 39, 139, 0.18);
    outline: 3px solid rgba(255, 217, 95, 0.72);
    outline-offset: 6px;
}
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon::after {
    content: "🎮";
    position: absolute;
    right: -8px;
    top: -10px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #ffd95f;
    color: #51288b;
    font-size: 1rem;
    box-shadow: 0 10px 20px rgba(82, 39, 139, 0.16);
}
.page-id-9 .propuesta-egg-hint--corazon {
    background: linear-gradient(135deg, rgba(255, 217, 95, 0.28), rgba(226, 246, 255, 0.7)) !important;
}
.page-id-9 .propuesta-egg-hint--corazon strong {
    color: #6939a8;
}
/* Ya no subrayamos la palabra jugando como enlace */
.page-id-9 .propuesta-v1-hero__titulo .propuesta-egg-trigger:not(.propuesta-egg-trigger--corazon) {
    text-decoration: none !important;
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon::after {
        width: 30px;
        height: 30px;
        right: -6px;
        top: -8px;
        font-size: 0.92rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon {
        transition: none !important;
    }
}
/* JUEGO_CORAZON_PROPUESTA_V4_FIN */
/* JUEGO_CORAZON_PROPUESTA_V6_INICIO */
/* La tarjeta central vuelve a comportarse como antes. No es botón, no se agranda, no se sale. */
.page-id-9 .propuesta-v1-centro {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 190px !important;
    height: 190px !important;
    transform: translate(-50%, -50%) !important;
    padding: 18px !important;
    border-radius: 46px !important;
    text-decoration: none !important;
    z-index: 5;
}
.page-id-9 .propuesta-v1-centro::after {
    content: none !important;
    display: none !important;
}
.page-id-9 .propuesta-v1-centro strong {
    text-decoration: none !important;
}
/* El clic queda solo sobre el ícono/corazón interno */
.page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger {
    position: relative;
    cursor: pointer;
    border-radius: 24px;
    outline: none;
    text-decoration: none !important;
    transition: transform 160ms ease, filter 160ms ease;
}
.page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger:hover,
.page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger:focus-visible,
.page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger.is-tapped {
    transform: scale(1.06);
    filter: drop-shadow(0 10px 18px rgba(82, 39, 139, 0.18));
}
.page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger:focus-visible {
    outline: 3px solid rgba(255, 217, 95, 0.78);
    outline-offset: 4px;
}
/* Pista visual pequeña pegada al corazón, no a toda la tarjeta */
.page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger::after {
    content: "🎮";
    position: absolute;
    right: -8px;
    top: -9px;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #ffd95f;
    color: #51288b;
    font-size: 0.78rem;
    box-shadow: 0 8px 16px rgba(82, 39, 139, 0.14);
}
/* Neutraliza los estilos anteriores que movían toda la tarjeta */
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger,
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon,
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon:hover,
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon:focus-visible,
.page-id-9 .propuesta-v1-centro.propuesta-egg-trigger--corazon.is-tapped {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    outline: none !important;
    text-decoration: none !important;
}
.page-id-9 .propuesta-egg-hint--corazon {
    background: linear-gradient(135deg, rgba(255, 217, 95, 0.28), rgba(226, 246, 255, 0.7)) !important;
}
@media (max-width: 900px) {
    .page-id-9 .propuesta-v1-centro {
        width: 178px !important;
        height: 178px !important;
        padding: 16px !important;
    }
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-v1-centro {
        width: 160px !important;
        height: 160px !important;
        padding: 14px !important;
        border-radius: 38px !important;
    }
    .page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger::after {
        width: 24px;
        height: 24px;
        right: -6px;
        top: -7px;
        font-size: 0.72rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-9 .propuesta-v1-centro .propuesta-egg-heart-trigger {
        transition: none !important;
    }
}
/* JUEGO_CORAZON_PROPUESTA_V6_FIN */
/* CORREGIR_PISTA_JUEGO_PROPUESTA_V7_INICIO */
/*
   La pista estaba como flex y cada fragmento de texto se volvió una columna.
   Ahora vuelve a ser una frase normal, compacta y legible.
*/
.page-id-9 .propuesta-egg-hint,
.page-id-9 .propuesta-egg-hint--explicit,
.page-id-9 .propuesta-egg-hint--corazon {
    display: block !important;
    width: fit-content !important;
    max-width: min(100%, 620px) !important;
    margin: 14px 0 0 !important;
    padding: 11px 16px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(255, 217, 95, 0.28), rgba(226, 246, 255, 0.72)) !important;
    border: 1px dashed rgba(105, 57, 168, 0.28) !important;
    color: #51288b !important;
    font-size: 0.96rem !important;
    font-weight: 700 !important;
    line-height: 1.42 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    box-shadow: 0 8px 18px rgba(82, 39, 139, 0.06) !important;
}
.page-id-9 .propuesta-egg-hint strong,
.page-id-9 .propuesta-egg-hint--explicit strong,
.page-id-9 .propuesta-egg-hint--corazon strong {
    display: inline !important;
    color: #6939a8 !important;
    font-weight: 900 !important;
    white-space: normal !important;
}
@media (max-width: 900px) {
    .page-id-9 .propuesta-egg-hint,
    .page-id-9 .propuesta-egg-hint--explicit,
    .page-id-9 .propuesta-egg-hint--corazon {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-egg-hint,
    .page-id-9 .propuesta-egg-hint--explicit,
    .page-id-9 .propuesta-egg-hint--corazon {
        width: 100% !important;
        font-size: 0.9rem !important;
        padding: 10px 12px !important;
    }
}
/* CORREGIR_PISTA_JUEGO_PROPUESTA_V7_FIN */
/* AJUSTE_TARJETAS_PROPUESTA_V8_INICIO */
/* Pilares más compactos y con iconos alineados a la misma altura */
.page-id-9 .propuesta-v1-grid {
    gap: 18px !important;
    width: min(1040px, 100%) !important;
    max-width: 1040px !important;
}
.page-id-9 .propuesta-v1-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    min-height: 238px !important;
    padding: 22px 24px 24px !important;
    border-radius: 27px !important;
}
.page-id-9 .propuesta-v1-icono {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 78px !important;
    height: 78px !important;
    min-height: 78px !important;
    margin: 0 auto 14px !important;
    flex: 0 0 78px !important;
}
.page-id-9 .propuesta-v1-icono::before {
    width: 78px !important;
    height: 78px !important;
}
.page-id-9 .propuesta-v1-card h3 {
    margin: 0 0 10px !important;
    font-size: clamp(1.16rem, 1.4vw, 1.32rem) !important;
    line-height: 1.16 !important;
}
.page-id-9 .propuesta-v1-card p:not(.propuesta-v1-icono) {
    margin: 0 !important;
    font-size: clamp(0.95rem, 1vw, 1rem) !important;
    line-height: 1.55 !important;
}
/* Misma altura visual en la primera fila */
.page-id-9 .propuesta-card-juego,
.page-id-9 .propuesta-card-constructivismo,
.page-id-9 .propuesta-card-ingles {
    min-height: 238px !important;
}
/* Segunda fila centrada, pero sin gigantismo */
.page-id-9 .propuesta-card-robotica,
.page-id-9 .propuesta-card-desarrollo {
    min-height: 238px !important;
}
/* Reducimos ligeramente el espacio antes y después del bloque */
.page-id-9 .propuesta-v1-seccion {
    padding-top: clamp(38px, 4vw, 56px) !important;
}
.page-id-9 .propuesta-v1-seccion-texto {
    margin-bottom: 24px !important;
}
.page-id-9 .propuesta-v1-ambientes {
    margin-top: clamp(38px, 4vw, 54px) !important;
}
/* En pantallas medianas mantenemos igualdad sin forzar exceso */
@media (max-width: 1100px) {
    .page-id-9 .propuesta-v1-card,
    .page-id-9 .propuesta-card-juego,
    .page-id-9 .propuesta-card-constructivismo,
    .page-id-9 .propuesta-card-ingles,
    .page-id-9 .propuesta-card-robotica,
    .page-id-9 .propuesta-card-desarrollo {
        min-height: 230px !important;
    }
    .page-id-9 .propuesta-card-desarrollo {
        width: min(100%, 380px) !important;
    }
}
@media (max-width: 600px) {
    .page-id-9 .propuesta-v1-card,
    .page-id-9 .propuesta-card-juego,
    .page-id-9 .propuesta-card-constructivismo,
    .page-id-9 .propuesta-card-ingles,
    .page-id-9 .propuesta-card-robotica,
    .page-id-9 .propuesta-card-desarrollo {
        min-height: 0 !important;
        padding: 22px !important;
    }
    .page-id-9 .propuesta-v1-icono,
    .page-id-9 .propuesta-v1-icono::before {
        width: 72px !important;
        height: 72px !important;
        min-height: 72px !important;
        flex-basis: 72px !important;
    }
}
/* AJUSTE_TARJETAS_PROPUESTA_V8_FIN */
/* PAGINA_SERVICIOS_V1_INICIO */
body.page-id-11 {
    overflow-x: clip;
}
.page-id-11 .entry-title,
.page-id-11 .wp-block-post-title,
.page-id-11 .page-title,
.page-id-11 .post-title {
    display: none !important;
}
.page-id-11 .entry-content,
.page-id-11 .wp-block-post-content {
    width: 100% !important;
    max-width: none !important;
}
.page-id-11 .pagina-servicios-v1 {
    --ser-morado: #6939a8;
    --ser-morado-oscuro: #51288b;
    --ser-turquesa: #30b8bf;
    --ser-amarillo: #ffd95f;
    --ser-crema: #fffaf1;
    --ser-texto: #4b4254;
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    color: var(--ser-texto);
    overflow: hidden;
}
.page-id-11 .servicios-v1-hero,
.page-id-11 .servicios-v1-franja,
.page-id-11 .servicios-v1-seccion,
.page-id-11 .servicios-v1-familias,
.page-id-11 .servicios-v1-cta {
    width: min(1160px, calc(100vw - 48px)) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
.page-id-11 .servicios-v1-hero {
    display: flex;
    align-items: center;
    gap: clamp(42px, 5vw, 76px);
    padding: clamp(42px, 5vw, 66px) 0 clamp(32px, 4vw, 48px);
}
.page-id-11 .servicios-v1-hero > .wp-block-column {
    min-width: 0;
}
.page-id-11 .servicios-v1-etiqueta,
.page-id-11 .servicios-v1-seccion-etiqueta {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--ser-amarillo);
    color: var(--ser-morado-oscuro);
    font-size: 0.8rem;
    font-weight: 850;
    letter-spacing: 0.08em;
}
.page-id-11 .has-text-align-center.servicios-v1-seccion-etiqueta {
    display: flex;
    margin-left: auto;
    margin-right: auto;
}
.page-id-11 .servicios-v1-hero__titulo {
    max-width: 670px;
    margin: 0;
    color: var(--ser-turquesa);
    font-size: clamp(2.45rem, 3.65vw, 3.35rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em;
}
.page-id-11 .servicios-v1-hero__texto {
    max-width: 630px;
    margin: 22px 0 0;
    font-size: clamp(1.08rem, 1.35vw, 1.2rem);
    line-height: 1.72;
}
.page-id-11 .servicios-v1-botones {
    gap: 12px;
    margin-top: 26px;
}
.page-id-11 .servicios-v1-botones .wp-block-button__link,
.page-id-11 .servicios-v1-cta .wp-block-button__link {
    border-radius: 999px;
    padding: 13px 22px;
    font-size: 0.98rem;
    font-weight: 850;
    text-decoration: none;
}
.page-id-11 .servicios-v1-boton-principal .wp-block-button__link {
    background: var(--ser-morado);
    color: #fff;
    box-shadow: 0 12px 24px rgba(105, 57, 168, 0.2);
}
.page-id-11 .servicios-v1-boton-secundario .wp-block-button__link {
    border: 2px solid var(--ser-morado);
    background: #fff;
    color: var(--ser-morado);
}
/* Hero visual */
.page-id-11 .servicios-v1-panel {
    position: relative;
    min-height: 430px;
    border-radius: 38px;
    background: radial-gradient(circle at 24% 20%, #fff7c8, transparent 32%),
                radial-gradient(circle at 78% 72%, #e2f5ff, transparent 30%),
                linear-gradient(135deg, #eef9ff, #fff4c7 54%, #fbe3ef);
    box-shadow: 0 24px 58px rgba(82, 39, 139, 0.14);
}
.page-id-11 .servicios-v1-panel__centro,
.page-id-11 .servicios-v1-burbuja {
    position: absolute;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 30px;
    background: rgba(255,255,255,0.86);
    color: var(--ser-morado-oscuro);
    box-shadow: 0 16px 34px rgba(82,39,139,0.12);
    font-weight: 850;
}
.page-id-11 .servicios-v1-panel__centro {
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    padding: 18px;
    border-radius: 46px;
}
.page-id-11 .servicios-v1-panel__centro span,
.page-id-11 .servicios-v1-burbuja span {
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-id-11 .servicios-v1-panel__centro span {
    width: 96px;
    height: 96px;
    background-image: url("../images/servicios-v1/familias.svg");
}
.page-id-11 .servicios-v1-burbuja span {
    width: 66px;
    height: 66px;
}
.page-id-11 .servicios-v1-burbuja {
    width: 142px;
    height: 128px;
    padding: 14px;
    font-size: 0.95rem;
}
.page-id-11 .servicio-bienestar {
    left: 28px;
    top: 36px;
}
.page-id-11 .servicio-bienestar span {
    background-image: url("../images/servicios-v1/bienestar.svg");
}
.page-id-11 .servicio-alimentacion {
    right: 30px;
    top: 38px;
}
.page-id-11 .servicio-alimentacion span {
    background-image: url("../images/servicios-v1/alimentacion.svg");
}
.page-id-11 .servicio-psicologia {
    left: 36px;
    bottom: 40px;
}
.page-id-11 .servicio-psicologia span {
    background-image: url("../images/servicios-v1/psicologia.svg");
}
.page-id-11 .servicio-fono {
    right: 34px;
    bottom: 38px;
}
.page-id-11 .servicio-fono span {
    background-image: url("../images/servicios-v1/fonoaudiologia.svg");
}
.page-id-11 .servicios-v1-franja {
    padding: 24px clamp(22px, 4vw, 44px);
    border: 1px solid rgba(105,57,168,0.1);
    border-radius: 26px;
    background: var(--ser-crema);
    box-shadow: 0 12px 30px rgba(82,39,139,0.08);
}
.page-id-11 .servicios-v1-franja__texto {
    max-width: 920px;
    margin: 0 auto;
    font-size: clamp(1.05rem, 1.3vw, 1.16rem);
    line-height: 1.68;
}
.page-id-11 .servicios-v1-seccion {
    padding-top: clamp(44px, 4.4vw, 62px);
}
.page-id-11 .servicios-v1-seccion > * {
    max-width: none !important;
}
.page-id-11 .servicios-v1-seccion-titulo {
    max-width: 850px !important;
    margin: 0 auto 14px;
    color: var(--ser-morado-oscuro);
    font-size: clamp(1.95rem, 3vw, 2.55rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.02em;
}
.page-id-11 .servicios-v1-seccion-texto {
    max-width: 780px !important;
    margin: 0 auto 28px;
    font-size: clamp(1.03rem, 1.25vw, 1.14rem);
    line-height: 1.7;
}
/* Cards */
.page-id-11 .servicios-v1-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px;
    width: min(1080px, 100%) !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
}
.page-id-11 .servicios-v1-card {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 260px;
    padding: 26px 26px 28px;
    border-radius: 30px;
    box-shadow: 0 16px 38px rgba(82,39,139,0.1);
}
.page-id-11 .servicios-card-vacaciones {
    grid-column: 2 / span 2;
}
.page-id-11 .servicios-card-fonoaudiologia {
    grid-column: 4 / span 2;
}
.page-id-11 .servicios-card-bienestar { background: #ffe7f0; }
.page-id-11 .servicios-card-alimentacion { background: #fff2b9; }
.page-id-11 .servicios-card-psicologia { background: #eee8ff; }
.page-id-11 .servicios-card-vacaciones { background: #e3f6ff; }
.page-id-11 .servicios-card-fonoaudiologia { background: #e8f6df; }
.page-id-11 .servicios-v1-icono,
.page-id-11 .servicios-v1-icono::before {
    width: 84px;
    height: 84px;
}
.page-id-11 .servicios-v1-icono {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 84px;
    margin: 0 auto 16px;
    flex: 0 0 84px;
}
.page-id-11 .servicios-v1-icono::before {
    content: "";
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: drop-shadow(0 10px 18px rgba(82, 39, 139, 0.12));
}
.page-id-11 .servicios-card-bienestar .servicios-v1-icono::before { background-image: url("../images/servicios-v1/bienestar.svg"); }
.page-id-11 .servicios-card-alimentacion .servicios-v1-icono::before { background-image: url("../images/servicios-v1/alimentacion.svg"); }
.page-id-11 .servicios-card-psicologia .servicios-v1-icono::before { background-image: url("../images/servicios-v1/psicologia.svg"); }
.page-id-11 .servicios-card-vacaciones .servicios-v1-icono::before { background-image: url("../images/servicios-v1/vacaciones.svg"); }
.page-id-11 .servicios-card-fonoaudiologia .servicios-v1-icono::before { background-image: url("../images/servicios-v1/fonoaudiologia.svg"); }
.page-id-11 .servicios-v1-card h3 {
    margin: 0 0 10px;
    color: var(--ser-morado-oscuro);
    font-size: clamp(1.22rem, 1.55vw, 1.45rem) !important;
    line-height: 1.16 !important;
}
.page-id-11 .servicios-v1-card p:not(.servicios-v1-icono) {
    margin: 0;
    font-size: clamp(0.98rem, 1.06vw, 1.04rem);
    line-height: 1.6;
}
/* Familias */
.page-id-11 .servicios-v1-familias {
    margin-top: clamp(42px, 4.4vw, 60px);
    padding: clamp(36px, 4vw, 52px);
    border-radius: 34px;
    background: linear-gradient(135deg, #f4ecff, #e2f6ff 58%, #fff3c7);
}
.page-id-11 .servicios-v1-familias h2 {
    margin: 0 0 14px;
    color: var(--ser-morado-oscuro);
    font-size: clamp(1.85rem, 2.65vw, 2.35rem) !important;
    line-height: 1.15;
    letter-spacing: -0.015em;
}
.page-id-11 .servicios-v1-familias p {
    font-size: clamp(1.02rem, 1.2vw, 1.12rem);
    line-height: 1.68;
}
.page-id-11 .servicios-v1-pasos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.page-id-11 .servicios-v1-pasos article {
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,0.82);
    box-shadow: 0 12px 28px rgba(82,39,139,0.08);
}
.page-id-11 .servicios-v1-pasos span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: var(--ser-amarillo);
    color: var(--ser-morado-oscuro);
    font-weight: 900;
}
.page-id-11 .servicios-v1-pasos strong {
    display: block;
    color: var(--ser-morado-oscuro);
    font-size: 1.12rem;
    margin-bottom: 7px;
}
.page-id-11 .servicios-v1-pasos p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.55;
}
.page-id-11 .servicios-v1-cta {
    margin-top: clamp(42px, 4.4vw, 58px);
    margin-bottom: clamp(52px, 5vw, 74px);
    padding: clamp(34px, 4vw, 50px) clamp(24px, 5vw, 60px);
    border-radius: 32px;
    background: linear-gradient(135deg, #fff5c9, #e2f4ff 55%, #f8e3ef);
    text-align: center;
}
.page-id-11 .servicios-v1-cta h2 {
    max-width: 760px;
    margin: 0 auto 14px;
    color: var(--ser-turquesa);
    font-size: clamp(1.95rem, 3vw, 2.55rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.018em;
}
.page-id-11 .servicios-v1-cta p {
    max-width: 760px;
    margin: 0 auto 24px;
    font-size: clamp(1.02rem, 1.2vw, 1.12rem);
    line-height: 1.65;
}
.page-id-11 .servicios-v1-cta .wp-block-buttons {
    gap: 12px;
}
@media (max-width: 1100px) {
    .page-id-11 .servicios-v1-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 820px !important;
    }
    .page-id-11 .servicios-v1-card,
    .page-id-11 .servicios-card-vacaciones,
    .page-id-11 .servicios-card-fonoaudiologia {
        grid-column: auto !important;
    }
    .page-id-11 .servicios-card-fonoaudiologia {
        grid-column: 1 / -1 !important;
        width: min(100%, 390px);
        justify-self: center;
    }
}
@media (max-width: 900px) {
    .page-id-11 .servicios-v1-hero,
    .page-id-11 .servicios-v1-familias .wp-block-columns {
        flex-direction: column;
    }
    .page-id-11 .servicios-v1-hero > .wp-block-column,
    .page-id-11 .servicios-v1-familias .wp-block-column {
        width: 100%;
        flex-basis: 100% !important;
    }
    .page-id-11 .servicios-v1-hero__contenido {
        text-align: center;
    }
    .page-id-11 .servicios-v1-etiqueta,
    .page-id-11 .servicios-v1-botones {
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }
    .page-id-11 .servicios-v1-hero__titulo,
    .page-id-11 .servicios-v1-hero__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-11 .servicios-v1-panel {
        min-height: 390px;
    }
    .page-id-11 .servicios-v1-pasos {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 600px) {
    .page-id-11 .servicios-v1-hero,
    .page-id-11 .servicios-v1-franja,
    .page-id-11 .servicios-v1-seccion,
    .page-id-11 .servicios-v1-familias,
    .page-id-11 .servicios-v1-cta {
        width: calc(100vw - 24px) !important;
    }
    .page-id-11 .servicios-v1-hero__titulo {
        font-size: clamp(2.15rem, 9.5vw, 2.85rem) !important;
    }
    .page-id-11 .servicios-v1-grid {
        grid-template-columns: 1fr;
        max-width: 100% !important;
    }
    .page-id-11 .servicios-card-fonoaudiologia {
        grid-column: auto !important;
        width: 100%;
    }
    .page-id-11 .servicios-v1-card {
        min-height: 0;
        padding: 24px;
    }
    .page-id-11 .servicios-v1-panel {
        min-height: 520px;
    }
    .page-id-11 .servicios-v1-panel__centro {
        width: 160px;
        height: 160px;
    }
    .page-id-11 .servicios-v1-burbuja {
        width: 132px;
        height: 120px;
    }
    .page-id-11 .servicios-v1-botones,
    .page-id-11 .servicios-v1-botones .wp-block-button,
    .page-id-11 .servicios-v1-cta .wp-block-buttons,
    .page-id-11 .servicios-v1-cta .wp-block-button {
        width: 100%;
    }
    .page-id-11 .servicios-v1-botones .wp-block-button__link,
    .page-id-11 .servicios-v1-cta .wp-block-button__link {
        display: block;
        width: 100%;
        text-align: center;
    }
}
/* PAGINA_SERVICIOS_V1_FIN */
/* PAGINA_SERVICIOS_PROPUESTA_V3_INICIO */
body.page-id-11 {
    overflow-x: clip;
}
.page-id-11 .entry-title,
.page-id-11 .wp-block-post-title,
.page-id-11 .page-title,
.page-id-11 .post-title {
    display: none !important;
}
.page-id-11 .entry-content,
.page-id-11 .wp-block-post-content {
    width: 100% !important;
    max-width: none !important;
}
.page-id-11 .pagina-servicios-propuesta-v3 {
    --ser-morado: #6939a8;
    --ser-morado-oscuro: #51288b;
    --ser-turquesa: #30b8bf;
    --ser-amarillo: #ffd95f;
    --ser-rosa: #ff8fb5;
    --ser-crema: #fffaf1;
    --ser-texto: #4b4254;
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    color: var(--ser-texto);
    overflow: hidden;
}
.page-id-11 .servicios-propuesta-hero,
.page-id-11 .servicios-propuesta-franja,
.page-id-11 .servicios-propuesta-seccion,
.page-id-11 .servicios-propuesta-cta {
    width: min(1160px, calc(100vw - 48px)) !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
.page-id-11 .servicios-propuesta-hero {
    display: flex;
    align-items: center;
    gap: clamp(42px, 5vw, 76px);
    padding: clamp(40px, 5vw, 64px) 0 clamp(30px, 4vw, 48px);
}
.page-id-11 .servicios-propuesta-hero > .wp-block-column {
    min-width: 0;
}
.page-id-11 .servicios-propuesta-etiqueta,
.page-id-11 .servicios-propuesta-seccion-etiqueta {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--ser-amarillo);
    color: var(--ser-morado-oscuro);
    font-size: 0.8rem;
    font-weight: 850;
    letter-spacing: 0.08em;
}
.page-id-11 .has-text-align-center.servicios-propuesta-seccion-etiqueta {
    display: flex;
    margin-left: auto;
    margin-right: auto;
}
.page-id-11 .servicios-propuesta-hero__titulo {
    max-width: 690px;
    margin: 0;
    color: var(--ser-turquesa);
    font-size: clamp(2.35rem, 3.5vw, 3.2rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em;
}
.page-id-11 .servicios-propuesta-hero__texto {
    max-width: 630px;
    margin: 22px 0 0;
    font-size: clamp(1.08rem, 1.35vw, 1.2rem);
    line-height: 1.72;
}
.page-id-11 .servicios-propuesta-botones {
    gap: 12px;
    margin-top: 26px;
}
.page-id-11 .servicios-propuesta-botones .wp-block-button__link,
.page-id-11 .servicios-propuesta-cta .wp-block-button__link {
    border-radius: 999px;
    padding: 13px 22px;
    font-size: 0.98rem;
    font-weight: 850;
    text-decoration: none;
}
.page-id-11 .servicios-propuesta-boton-principal .wp-block-button__link {
    background: var(--ser-morado);
    color: #fff;
    box-shadow: 0 12px 24px rgba(105, 57, 168, 0.2);
}
.page-id-11 .servicios-propuesta-boton-secundario .wp-block-button__link {
    border: 2px solid var(--ser-morado);
    background: #fff;
    color: var(--ser-morado);
}
/* Hero distinto: maletín de servicios, sin reutilizar los gráficos de propuesta */
.page-id-11 .servicios-propuesta-maletin {
    position: relative;
    min-height: 390px;
    border-radius: 40px;
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 217, 95, 0.5), transparent 28%),
        radial-gradient(circle at 90% 78%, rgba(48, 184, 191, 0.28), transparent 30%),
        linear-gradient(135deg, #fff5c9, #eef9ff 58%, #ffe8f1);
    box-shadow: 0 24px 58px rgba(82, 39, 139, 0.14);
    overflow: hidden;
}
.page-id-11 .servicios-propuesta-maletin::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 54px;
    width: 170px;
    height: 70px;
    transform: translateX(-50%);
    border: 14px solid rgba(105, 57, 168, 0.18);
    border-bottom: 0;
    border-radius: 80px 80px 0 0;
}
.page-id-11 .servicios-propuesta-maletin__cuerpo {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(78%, 360px);
    min-height: 205px;
    transform: translate(-50%, -45%);
    display: grid;
    place-items: center;
    text-align: center;
    padding: 28px 26px;
    border: 6px solid #fff;
    border-radius: 40px 32px 44px 34px;
    background: rgba(255,255,255,0.9);
    color: var(--ser-morado-oscuro);
    box-shadow:
        0 14px 0 rgba(105, 57, 168, 0.10),
        0 22px 42px rgba(82, 39, 139, 0.13);
}
.page-id-11 .servicios-propuesta-maletin__corazon {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin-bottom: 6px;
    border-radius: 26px;
    background: #fff0f7;
    font-size: 2.1rem;
}
.page-id-11 .servicios-propuesta-maletin__cuerpo strong {
    display: block;
    font-size: clamp(1.45rem, 2.2vw, 1.9rem);
    line-height: 1.08;
}
.page-id-11 .servicios-propuesta-maletin__cuerpo p {
    margin: 10px 0 0;
    max-width: 270px;
    line-height: 1.45;
}
.page-id-11 .servicios-propuesta-maletin__etiquetas {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 26px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.page-id-11 .servicios-propuesta-maletin__etiquetas span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.9);
    color: var(--ser-morado-oscuro);
    font-weight: 850;
    font-size: 0.9rem;
    box-shadow: 0 8px 18px rgba(82, 39, 139, 0.08);
}
/* Franja */
.page-id-11 .servicios-propuesta-franja {
    padding: 22px clamp(22px, 4vw, 44px);
    border: 1px solid rgba(105,57,168,0.1);
    border-radius: 26px;
    background: var(--ser-crema);
    box-shadow: 0 12px 30px rgba(82,39,139,0.08);
}
.page-id-11 .servicios-propuesta-franja__texto {
    max-width: 940px;
    margin: 0 auto;
    font-size: clamp(1.02rem, 1.22vw, 1.12rem);
    line-height: 1.68;
}
/* Sección tabs */
.page-id-11 .servicios-propuesta-seccion {
    padding-top: clamp(44px, 4.4vw, 62px);
}
.page-id-11 .servicios-propuesta-seccion > * {
    max-width: none !important;
}
.page-id-11 .servicios-propuesta-seccion-titulo {
    max-width: 850px !important;
    margin: 0 auto 14px;
    color: var(--ser-morado-oscuro);
    font-size: clamp(1.95rem, 3vw, 2.55rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.02em;
}
.page-id-11 .servicios-propuesta-seccion-texto {
    max-width: 780px !important;
    margin: 0 auto 28px;
    font-size: clamp(1.03rem, 1.25vw, 1.14rem);
    line-height: 1.7;
}
.page-id-11 .servicios-tabs-v3 {
    width: min(1080px, 100%);
    margin: 0 auto;
}
.page-id-11 .servicios-tabs-v3__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 18px;
}
.page-id-11 .servicios-tabs-v3__nav button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid rgba(105,57,168,0.16);
    border-radius: 999px;
    background: #fff;
    color: var(--ser-morado-oscuro);
    padding: 10px 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(82,39,139,0.06);
}
.page-id-11 .servicios-tabs-v3__nav button span {
    font-size: 1.15rem;
}
.page-id-11 .servicios-tabs-v3__nav button.is-active {
    background: var(--ser-morado);
    border-color: var(--ser-morado);
    color: #fff;
}
.page-id-11 .servicios-tabs-v3__nav button:focus-visible {
    outline: 3px solid var(--ser-amarillo);
    outline-offset: 3px;
}
.page-id-11 .servicios-tabs-v3__paneles {
    border-radius: 34px;
}
.page-id-11 .servicios-tabs-v3__panel {
    display: none;
    grid-template-columns: minmax(120px, 170px) 1fr;
    gap: clamp(24px, 4vw, 48px);
    align-items: center;
    min-height: 410px;
    padding: clamp(32px, 4vw, 54px);
    border: 6px solid #fff;
    border-radius: 38px 28px 42px 30px;
    box-shadow:
        0 14px 0 rgba(105, 57, 168, 0.10),
        0 24px 44px rgba(82, 39, 139, 0.12);
}
.page-id-11 .servicios-tabs-v3__panel.is-active {
    display: grid;
}
.page-id-11 .servicio-panel-almuerzo { background: #fff2a8; }
.page-id-11 .servicio-panel-enfermeria { background: #dff5ff; }
.page-id-11 .servicio-panel-psicologia { background: #fce5ef; }
.page-id-11 .servicio-panel-vacaciones { background: #e8f4d5; }
.page-id-11 .servicio-panel-fonoaudiologia { background: #eee6fa; }
.page-id-11 .servicios-tabs-v3__icono {
    display: grid;
    place-items: center;
    width: clamp(112px, 13vw, 150px);
    height: clamp(112px, 13vw, 150px);
    border-radius: 36px;
    background: rgba(255,255,255,0.85);
    font-size: clamp(3rem, 5vw, 4.4rem);
    box-shadow: 0 18px 34px rgba(82,39,139,0.12);
}
.page-id-11 .servicios-tabs-v3__contenido {
    max-width: 760px;
}
.page-id-11 .servicios-tabs-v3__sobre {
    display: inline-flex;
    margin: 0 0 12px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.76);
    color: var(--ser-morado-oscuro);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.page-id-11 .servicios-tabs-v3__contenido h3 {
    margin: 0 0 14px;
    color: var(--ser-morado-oscuro);
    font-size: clamp(2rem, 3.4vw, 2.8rem) !important;
    line-height: 1.08 !important;
}
.page-id-11 .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
    margin: 0 0 10px;
    font-size: clamp(1rem, 1.16vw, 1.08rem);
    line-height: 1.62;
}
/* CTA */
.page-id-11 .servicios-propuesta-cta {
    margin-top: clamp(44px, 4.4vw, 62px);
    margin-bottom: clamp(52px, 5vw, 74px);
    padding: clamp(34px, 4vw, 50px) clamp(24px, 5vw, 60px);
    border-radius: 32px;
    background: linear-gradient(135deg, #fff5c9, #e2f4ff 55%, #f8e3ef);
    text-align: center;
}
.page-id-11 .servicios-propuesta-cta h2 {
    max-width: 760px;
    margin: 0 auto 14px;
    color: var(--ser-turquesa);
    font-size: clamp(1.95rem, 3vw, 2.55rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.018em;
}
.page-id-11 .servicios-propuesta-cta p {
    max-width: 760px;
    margin: 0 auto 24px;
    font-size: clamp(1.02rem, 1.2vw, 1.12rem);
    line-height: 1.65;
}
.page-id-11 .servicios-propuesta-cta .wp-block-buttons {
    gap: 12px;
}
@media (max-width: 900px) {
    .page-id-11 .servicios-propuesta-hero {
        flex-direction: column;
    }
    .page-id-11 .servicios-propuesta-hero > .wp-block-column {
        width: 100%;
        flex-basis: 100% !important;
    }
    .page-id-11 .servicios-propuesta-hero__contenido {
        text-align: center;
    }
    .page-id-11 .servicios-propuesta-etiqueta,
    .page-id-11 .servicios-propuesta-botones {
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }
    .page-id-11 .servicios-propuesta-hero__titulo,
    .page-id-11 .servicios-propuesta-hero__texto {
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-11 .servicios-tabs-v3__panel {
        grid-template-columns: 1fr;
        text-align: center;
        min-height: 0;
    }
    .page-id-11 .servicios-tabs-v3__icono {
        margin: 0 auto;
    }
    .page-id-11 .servicios-tabs-v3__contenido {
        max-width: 100%;
    }
}
@media (max-width: 600px) {
    .page-id-11 .servicios-propuesta-hero,
    .page-id-11 .servicios-propuesta-franja,
    .page-id-11 .servicios-propuesta-seccion,
    .page-id-11 .servicios-propuesta-cta {
        width: calc(100vw - 24px) !important;
    }
    .page-id-11 .servicios-propuesta-hero__titulo {
        font-size: clamp(2.05rem, 9vw, 2.7rem) !important;
    }
    .page-id-11 .servicios-propuesta-maletin {
        min-height: 440px;
    }
    .page-id-11 .servicios-propuesta-maletin__cuerpo {
        width: min(82%, 300px);
    }
    .page-id-11 .servicios-tabs-v3__nav {
        justify-content: stretch;
    }
    .page-id-11 .servicios-tabs-v3__nav button {
        width: 100%;
        justify-content: center;
    }
    .page-id-11 .servicios-tabs-v3__panel {
        padding: 26px 22px;
    }
    .page-id-11 .servicios-propuesta-botones,
    .page-id-11 .servicios-propuesta-botones .wp-block-button,
    .page-id-11 .servicios-propuesta-cta .wp-block-buttons,
    .page-id-11 .servicios-propuesta-cta .wp-block-button {
        width: 100%;
    }
    .page-id-11 .servicios-propuesta-botones .wp-block-button__link,
    .page-id-11 .servicios-propuesta-cta .wp-block-button__link {
        display: block;
        width: 100%;
        text-align: center;
    }
}
@media (prefers-reduced-motion: reduce) {
    .page-id-11 .servicios-tabs-v3__nav button,
    .page-id-11 .servicios-tabs-v3__panel {
        transition: none !important;
    }
}
/* PAGINA_SERVICIOS_PROPUESTA_V3_FIN */
/* AJUSTE_SERVICIOS_TABS_V5_INICIO */
/* Punto medio: ni pista de aterrizaje ni pegado a la onda */
.page-id-11 .pagina-servicios-propuesta-v3 {
    margin-top: clamp(-18px, -1.4vw, -8px) !important;
}
.page-id-11 .servicios-propuesta-hero {
    padding-top: clamp(42px, 4.2vw, 58px) !important;
    padding-bottom: clamp(30px, 3.4vw, 44px) !important;
}
/* Menú de servicios: de píldoras poco obvias a tarjetas clicables */
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px !important;
    margin: 0 auto 22px !important;
    width: min(1120px, 100%);
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button {
    position: relative;
    display: grid !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
    min-height: 112px;
    padding: 18px 16px !important;
    border: 3px solid rgba(105,57,168,0.14) !important;
    border-radius: 28px !important;
    background: #fff !important;
    color: #51288b !important;
    box-shadow:
        0 10px 0 rgba(105,57,168,0.08),
        0 18px 32px rgba(82,39,139,0.08) !important;
    text-align: left;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button::after {
    content: "Ver detalle";
    position: absolute;
    right: 14px;
    bottom: 10px;
    color: rgba(81,40,139,0.62);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button:hover,
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(105,57,168,0.42) !important;
    box-shadow:
        0 12px 0 rgba(105,57,168,0.12),
        0 24px 38px rgba(82,39,139,0.12) !important;
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button.is-active {
    background: linear-gradient(135deg, #6939a8, #7e46bd) !important;
    border-color: #6939a8 !important;
    color: #fff !important;
    transform: translateY(-5px);
    box-shadow:
        0 12px 0 #4c2477,
        0 24px 42px rgba(82,39,139,0.18) !important;
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button.is-active::after {
    content: "Seleccionado";
    color: rgba(255,255,255,0.78);
}
.page-id-11 .servicios-tabs-v5__emoji {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 18px;
    background: #fff5c9;
    font-size: 1.55rem !important;
    line-height: 1;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,0.7);
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button.is-active .servicios-tabs-v5__emoji {
    background: rgba(255,255,255,0.22);
}
.page-id-11 .servicios-tabs-v5__texto {
    display: block;
    min-width: 0;
    padding-bottom: 18px;
}
.page-id-11 .servicios-tabs-v5__texto strong {
    display: block;
    margin-bottom: 5px;
    font-size: 1.02rem;
    line-height: 1.12;
    font-weight: 950;
}
.page-id-11 .servicios-tabs-v5__texto em {
    display: block;
    color: rgba(75,66,84,0.78);
    font-size: 0.82rem;
    line-height: 1.28;
    font-style: normal;
    font-weight: 700;
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button.is-active .servicios-tabs-v5__texto em {
    color: rgba(255,255,255,0.82);
}
/* Panel un poco más cerca del nuevo menú */
.page-id-11 .servicios-tabs-v3__panel {
    min-height: 380px !important;
    padding: clamp(30px, 3.8vw, 48px) !important;
}
/* Mejor lectura del título dentro del panel */
.page-id-11 .servicios-tabs-v3__contenido h3 {
    font-size: clamp(1.9rem, 3vw, 2.55rem) !important;
}
/* La sección no debe quedar tan arriba al llegar con ancla */
.page-id-11 #servicios-subpestanas {
    scroll-margin-top: 130px;
}
@media (max-width: 1100px) {
    .page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 820px;
    }
    .page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button:last-child {
        grid-column: 1 / -1;
        width: min(100%, 390px);
        justify-self: center;
    }
}
@media (max-width: 900px) {
    .page-id-11 .pagina-servicios-propuesta-v3 {
        margin-top: -6px !important;
    }
    .page-id-11 .servicios-propuesta-hero {
        padding-top: 38px !important;
    }
}
@media (max-width: 600px) {
    .page-id-11 .pagina-servicios-propuesta-v3 {
        margin-top: 0 !important;
    }
    .page-id-11 .servicios-propuesta-hero {
        padding-top: 30px !important;
    }
    .page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav {
        grid-template-columns: 1fr;
    }
    .page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button,
    .page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button:last-child {
        width: 100%;
        grid-column: auto;
        min-height: 98px;
    }
    .page-id-11 .servicios-tabs-v5__emoji {
        width: 46px;
        height: 46px;
        font-size: 1.4rem !important;
    }
    .page-id-11 .servicios-tabs-v3__panel {
        min-height: 0 !important;
    }
}
/* AJUSTE_SERVICIOS_TABS_V5_FIN */
/* SERVICIOS_ILUSTRACIONES_PANEL_V6_INICIO */
/* Paneles con ilustraciones infantiles: menos adulto, más jardín */
.page-id-11 .servicios-tabs-v3__panel {
    grid-template-columns: minmax(220px, 360px) 1fr !important;
    gap: clamp(24px, 4vw, 46px) !important;
    align-items: center !important;
    min-height: 420px !important;
}
.page-id-11 .servicios-tabs-v3__icono {
    display: none !important;
}
.page-id-11 .servicios-tabs-v6__figura {
    width: 100%;
    max-width: 340px;
    margin: 0 auto !important;
    padding: 0;
    border-radius: 34px;
    overflow: hidden;
    background: rgba(255,255,255,0.56);
    box-shadow:
        0 16px 0 rgba(105,57,168,0.08),
        0 26px 46px rgba(82,39,139,0.14);
    transform: rotate(-1.5deg);
}
.page-id-11 .servicio-panel-enfermeria .servicios-tabs-v6__figura,
.page-id-11 .servicio-panel-vacaciones .servicios-tabs-v6__figura {
    transform: rotate(1.5deg);
}
.page-id-11 .servicios-tabs-v6__figura img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.page-id-11 .servicios-tabs-v3__contenido {
    max-width: 690px !important;
}
.page-id-11 .servicios-tabs-v3__contenido h3 {
    font-size: clamp(1.9rem, 3vw, 2.48rem) !important;
}
.page-id-11 .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
    font-size: clamp(1rem, 1.12vw, 1.06rem) !important;
    line-height: 1.62 !important;
}
@media (max-width: 900px) {
    .page-id-11 .servicios-tabs-v3__panel {
        grid-template-columns: 1fr !important;
        text-align: center;
        min-height: 0 !important;
    }
    .page-id-11 .servicios-tabs-v6__figura {
        max-width: 300px;
    }
}
@media (max-width: 600px) {
    .page-id-11 .servicios-tabs-v6__figura {
        max-width: 260px;
        border-radius: 28px;
    }
}
/* SERVICIOS_ILUSTRACIONES_PANEL_V6_FIN */
/* AJUSTE_SERVICIOS_LAYOUT_TIPOGRAFIA_V7_INICIO */
/* Entendiendo las flechas:
   1) subir el bloque de texto para que no quede tan abajo,
   2) aprovechar mejor el ancho para evitar vacío innecesario,
   3) usar una letra menos seria y más amable para jardín.
*/
.page-id-11 .servicios-tabs-v3__panel {
    align-items: start !important;
    grid-template-columns: minmax(220px, 300px) 1fr !important;
    gap: clamp(18px, 3vw, 34px) !important;
    min-height: 340px !important;
    padding: clamp(24px, 3.2vw, 38px) !important;
}
.page-id-11 .servicios-tabs-v6__figura {
    align-self: start !important;
    max-width: 260px !important;
    margin: 0 auto 0 0 !important;
}
.page-id-11 .servicios-tabs-v3__contenido {
    align-self: start !important;
    max-width: 100% !important;
    padding-top: 2px;
}
/* Tipografía más cálida y menos formal */
.page-id-11 .servicios-tabs-v3__nav button,
.page-id-11 .servicios-tabs-v3__contenido,
.page-id-11 .servicios-tabs-v3__sobre {
    font-family: "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
}
.page-id-11 .servicios-tabs-v3__sobre {
    margin-bottom: 10px !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.04em !important;
}
.page-id-11 .servicios-tabs-v3__contenido h3 {
    margin: 0 0 10px !important;
    font-family: "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: clamp(1.72rem, 2.5vw, 2.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.01em !important;
}
.page-id-11 .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
    margin: 0 0 8px !important;
    font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
    font-size: clamp(0.96rem, 1.02vw, 1rem) !important;
    line-height: 1.52 !important;
}
.page-id-11 .servicios-tabs-v5__texto strong {
    font-family: "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: 0.98rem !important;
}
.page-id-11 .servicios-tabs-v5__texto em {
    font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
    font-size: 0.8rem !important;
    line-height: 1.24 !important;
}
/* Versión tablet/escritorio angosto:
   mantenemos imagen + texto lado a lado para evitar esos huecos. */
@media (max-width: 900px) and (min-width: 680px) {
    .page-id-11 .servicios-tabs-v3__panel {
        grid-template-columns: 210px 1fr !important;
        text-align: left !important;
        min-height: 300px !important;
    }
    .page-id-11 .servicios-tabs-v6__figura {
        max-width: 210px !important;
        margin: 0 !important;
    }
    .page-id-11 .servicios-tabs-v3__contenido {
        text-align: left !important;
    }
}
/* Solo en pantallas realmente pequeñas apilamos */
@media (max-width: 679px) {
    .page-id-11 .servicios-tabs-v3__panel {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        min-height: 0 !important;
    }
    .page-id-11 .servicios-tabs-v6__figura {
        max-width: 230px !important;
        margin: 0 auto 12px !important;
    }
    .page-id-11 .servicios-tabs-v3__contenido {
        text-align: center !important;
    }
}
/* AJUSTE_SERVICIOS_LAYOUT_TIPOGRAFIA_V7_FIN */
/* SERVICIOS_PANEL_LADO_A_LADO_V8_INICIO */
/*
   Corrección solicitada:
   imagen a la izquierda y texto al lado derecho.
   Nada de imagen arriba y texto abajo, salvo pantallas muy pequeñas.
*/
.page-id-11 .servicios-tabs-v3__panel,
.page-id-11 .servicios-tabs-v3__panel.is-active {
    display: grid !important;
    grid-template-columns: minmax(210px, 285px) minmax(0, 1fr) !important;
    grid-template-areas: "imagen texto" !important;
    align-items: center !important;
    gap: clamp(24px, 3.6vw, 44px) !important;
    min-height: 330px !important;
    padding: clamp(26px, 3.3vw, 40px) !important;
    text-align: left !important;
}
.page-id-11 .servicios-tabs-v6__figura {
    grid-area: imagen !important;
    align-self: center !important;
    justify-self: start !important;
    width: 100% !important;
    max-width: 285px !important;
    margin: 0 !important;
    border-radius: 32px !important;
    transform: rotate(-1deg) !important;
}
.page-id-11 .servicio-panel-enfermeria .servicios-tabs-v6__figura,
.page-id-11 .servicio-panel-vacaciones .servicios-tabs-v6__figura {
    transform: rotate(1deg) !important;
}
.page-id-11 .servicios-tabs-v3__contenido {
    grid-area: texto !important;
    align-self: center !important;
    max-width: 760px !important;
    padding-top: 0 !important;
    text-align: left !important;
}
/* Tipografía más infantil, redondeada y menos "informe administrativo" */
.page-id-11 .servicios-tabs-v3__contenido,
.page-id-11 .servicios-tabs-v3__contenido p,
.page-id-11 .servicios-tabs-v3__sobre,
.page-id-11 .servicios-tabs-v5__texto,
.page-id-11 .servicios-tabs-v5__texto strong,
.page-id-11 .servicios-tabs-v5__texto em {
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
}
.page-id-11 .servicios-tabs-v3__sobre {
    margin: 0 0 10px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.045em !important;
}
.page-id-11 .servicios-tabs-v3__contenido h3 {
    margin: 0 0 12px !important;
    color: #51288b !important;
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: clamp(2rem, 3vw, 2.55rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.018em !important;
    font-weight: 950 !important;
}
.page-id-11 .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
    max-width: 760px !important;
    margin: 0 0 9px !important;
    color: #40354d !important;
    font-size: clamp(1rem, 1.08vw, 1.08rem) !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
}
/* Mejor uso del espacio para que no quede ese hueco largo señalado */
.page-id-11 .servicios-tabs-v3__paneles {
    width: min(1080px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* En tablet todavía va lado a lado */
@media (max-width: 900px) {
    .page-id-11 .servicios-tabs-v3__panel,
    .page-id-11 .servicios-tabs-v3__panel.is-active {
        grid-template-columns: minmax(170px, 230px) minmax(0, 1fr) !important;
        grid-template-areas: "imagen texto" !important;
        gap: 22px !important;
        text-align: left !important;
        min-height: 0 !important;
    }
    .page-id-11 .servicios-tabs-v6__figura {
        max-width: 230px !important;
        justify-self: start !important;
        margin: 0 !important;
    }
    .page-id-11 .servicios-tabs-v3__contenido {
        text-align: left !important;
    }
    .page-id-11 .servicios-tabs-v3__contenido h3 {
        font-size: clamp(1.72rem, 4vw, 2.2rem) !important;
    }
}
/* En pantallas angostas aún lado a lado, más compacto */
@media (max-width: 700px) {
    .page-id-11 .servicios-tabs-v3__panel,
    .page-id-11 .servicios-tabs-v3__panel.is-active {
        grid-template-columns: 132px minmax(0, 1fr) !important;
        gap: 16px !important;
        padding: 22px 18px !important;
    }
    .page-id-11 .servicios-tabs-v6__figura {
        max-width: 132px !important;
        border-radius: 22px !important;
    }
    .page-id-11 .servicios-tabs-v3__sobre {
        font-size: 0.68rem !important;
        padding: 6px 9px !important;
    }
    .page-id-11 .servicios-tabs-v3__contenido h3 {
        font-size: clamp(1.45rem, 6vw, 1.9rem) !important;
        margin-bottom: 8px !important;
    }
    .page-id-11 .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
        font-size: 0.92rem !important;
        line-height: 1.48 !important;
    }
}
/* Solo en celulares realmente pequeños se apila para no romper lectura */
@media (max-width: 480px) {
    .page-id-11 .servicios-tabs-v3__panel,
    .page-id-11 .servicios-tabs-v3__panel.is-active {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "imagen"
            "texto" !important;
        text-align: center !important;
    }
    .page-id-11 .servicios-tabs-v6__figura {
        max-width: 220px !important;
        justify-self: center !important;
        margin: 0 auto 8px !important;
    }
    .page-id-11 .servicios-tabs-v3__contenido {
        text-align: center !important;
    }
}
/* SERVICIOS_PANEL_LADO_A_LADO_V8_FIN */
/* SERVICIOS_TABS_COMPORTAMIENTO_V9_INICIO */
/*
   Corrección:
   V8 forzó display:grid a TODOS los paneles.
   Eso hizo que en el PDF salieran Almuerzo, Enfermería, Psicología,
   Vacaciones y Fonoaudiología abiertos al mismo tiempo.
   Aquí recuperamos el comportamiento real de subpestañas.
*/
/* Paneles inactivos ocultos */
.page-id-11 .servicios-tabs-v3__panel {
    display: none !important;
}
/* Solo el panel activo se ve, con imagen izquierda y texto derecha */
.page-id-11 .servicios-tabs-v3__panel.is-active {
    display: grid !important;
    grid-template-columns: minmax(230px, 300px) minmax(0, 1fr) !important;
    grid-template-areas: "imagen texto" !important;
    align-items: center !important;
    gap: clamp(26px, 3.8vw, 46px) !important;
    min-height: 330px !important;
    padding: clamp(28px, 3.4vw, 42px) !important;
    text-align: left !important;
}
/* Refuerzo para que el atributo hidden del JS gane siempre */
.page-id-11 .servicios-tabs-v3__panel[hidden] {
    display: none !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active[hidden] {
    display: none !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active:not([hidden]) {
    display: grid !important;
}
/* Imagen izquierda */
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v6__figura {
    grid-area: imagen !important;
    align-self: center !important;
    justify-self: start !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 !important;
}
/* Texto derecha */
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido {
    grid-area: texto !important;
    align-self: center !important;
    max-width: 760px !important;
    text-align: left !important;
}
/* Ajuste de aire para que el panel activo no se vea perdido */
.page-id-11 .servicios-tabs-v3__paneles {
    margin-top: 10px !important;
}
/* Tipografía infantil, pero legible */
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido h3 {
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: clamp(2rem, 2.8vw, 2.45rem) !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
    font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif !important;
    font-size: clamp(1rem, 1.05vw, 1.07rem) !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
}
/* Tablet: todavía lado a lado */
@media (max-width: 900px) {
    .page-id-11 .servicios-tabs-v3__panel.is-active:not([hidden]) {
        grid-template-columns: minmax(180px, 230px) minmax(0, 1fr) !important;
        grid-template-areas: "imagen texto" !important;
        gap: 22px !important;
        text-align: left !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v6__figura {
        max-width: 230px !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido {
        text-align: left !important;
    }
}
/* Móvil angosto: apila para no romper lectura */
@media (max-width: 560px) {
    .page-id-11 .servicios-tabs-v3__panel.is-active:not([hidden]) {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "imagen"
            "texto" !important;
        text-align: center !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v6__figura {
        max-width: 230px !important;
        justify-self: center !important;
        margin: 0 auto 8px !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido {
        text-align: center !important;
    }
}
/* SERVICIOS_TABS_COMPORTAMIENTO_V9_FIN */
/* SERVICIOS_SLIDER_TEXTO_IZQ_IMAGEN_DER_V10_INICIO */
/*
   Lo solicitado: no es acordeón, no es lista, no es imagen arriba.
   Es un "slider" de servicios:
   botones arriba y un solo panel activo abajo.
   En el panel: texto a la izquierda + imagen a la derecha.
*/
/* Asegura que solo exista visualmente un slide activo */
.page-id-11 .servicios-tabs-v3__panel {
    display: none !important;
}
.page-id-11 .servicios-tabs-v3__panel[hidden] {
    display: none !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active {
    display: grid !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active[hidden] {
    display: none !important;
}
/* Slide activo: texto izquierda, imagen derecha */
.page-id-11 .servicios-tabs-v3__panel.is-active:not([hidden]) {
    grid-template-columns: minmax(0, 1.15fr) minmax(250px, 360px) !important;
    grid-template-areas: "texto imagen" !important;
    align-items: center !important;
    gap: clamp(28px, 4vw, 54px) !important;
    min-height: 390px !important;
    padding: clamp(34px, 4vw, 52px) !important;
    text-align: left !important;
}
/* Texto a la izquierda */
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido {
    grid-area: texto !important;
    align-self: center !important;
    max-width: 700px !important;
    text-align: left !important;
    padding: 0 !important;
}
/* Imagen a la derecha */
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v6__figura {
    grid-area: imagen !important;
    align-self: center !important;
    justify-self: end !important;
    width: 100% !important;
    max-width: 350px !important;
    margin: 0 !important;
    border-radius: 34px !important;
    transform: rotate(1.5deg) !important;
}
.page-id-11 .servicio-panel-enfermeria.is-active .servicios-tabs-v6__figura,
.page-id-11 .servicio-panel-vacaciones.is-active .servicios-tabs-v6__figura {
    transform: rotate(-1.5deg) !important;
}
/* Oculta el emoji gigante viejo: ya tenemos ilustración */
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__icono {
    display: none !important;
}
/* Letra más amable y legible */
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido,
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido p,
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__sobre {
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__sobre {
    margin: 0 0 12px !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.045em !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido h3 {
    margin: 0 0 14px !important;
    color: #51288b !important;
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: clamp(2.1rem, 3.2vw, 2.75rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.018em !important;
    font-weight: 950 !important;
}
.page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
    max-width: 670px !important;
    margin: 0 0 10px !important;
    color: #3f354d !important;
    font-size: clamp(1rem, 1.08vw, 1.08rem) !important;
    line-height: 1.62 !important;
    font-weight: 650 !important;
}
/* Menú menos alto y con sensación de selector de slider */
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav {
    margin-bottom: 24px !important;
}
.page-id-11 .servicios-tabs-v3__nav.servicios-tabs-v5__nav button {
    min-height: 104px !important;
}
/* CTA no debe parecer pegado al selector */
.page-id-11 .servicios-propuesta-cta {
    margin-top: clamp(48px, 5vw, 70px) !important;
}
/* Tablet: todavía texto izquierda + imagen derecha */
@media (max-width: 900px) {
    .page-id-11 .servicios-tabs-v3__panel.is-active:not([hidden]) {
        grid-template-columns: minmax(0, 1fr) minmax(190px, 250px) !important;
        grid-template-areas: "texto imagen" !important;
        gap: 24px !important;
        min-height: 0 !important;
        padding: 28px !important;
        text-align: left !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v6__figura {
        max-width: 250px !important;
        justify-self: end !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido {
        text-align: left !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido h3 {
        font-size: clamp(1.8rem, 4vw, 2.3rem) !important;
    }
}
/* Móvil horizontal/angosto: se mantiene mientras quepa */
@media (max-width: 700px) {
    .page-id-11 .servicios-tabs-v3__panel.is-active:not([hidden]) {
        grid-template-columns: minmax(0, 1fr) 145px !important;
        gap: 16px !important;
        padding: 22px 18px !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v6__figura {
        max-width: 145px !important;
        border-radius: 22px !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__sobre {
        font-size: 0.66rem !important;
        padding: 6px 9px !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido h3 {
        font-size: clamp(1.42rem, 6vw, 1.85rem) !important;
        margin-bottom: 8px !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido p:not(.servicios-tabs-v3__sobre) {
        font-size: 0.91rem !important;
        line-height: 1.48 !important;
    }
}
/* Solo en celular estrecho se apila */
@media (max-width: 500px) {
    .page-id-11 .servicios-tabs-v3__panel.is-active:not([hidden]) {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "imagen"
            "texto" !important;
        text-align: center !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v6__figura {
        max-width: 230px !important;
        justify-self: center !important;
        margin: 0 auto 10px !important;
    }
    .page-id-11 .servicios-tabs-v3__panel.is-active .servicios-tabs-v3__contenido {
        text-align: center !important;
    }
}
/* SERVICIOS_SLIDER_TEXTO_IZQ_IMAGEN_DER_V10_FIN */
/* SERVICIOS_SLIDER_LIMPIO_V11_INICIO */
.page-id-11 .servicios-slider-v11 {
    width: min(1120px, 100%);
    margin: 0 auto;
}
/* Selector superior */
.page-id-11 .servicios-slider-v11__selector {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin: 0 auto 24px;
}
.page-id-11 .servicios-slider-v11__tab {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 108px;
    padding: 17px 15px 30px;
    border: 3px solid rgba(105, 57, 168, 0.14);
    border-radius: 26px;
    background: #fff;
    color: #51288b;
    text-align: left;
    cursor: pointer;
    box-shadow:
        0 9px 0 rgba(105,57,168,0.08),
        0 18px 30px rgba(82,39,139,0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.page-id-11 .servicios-slider-v11__tab:hover,
.page-id-11 .servicios-slider-v11__tab:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(105, 57, 168, 0.38);
    box-shadow:
        0 11px 0 rgba(105,57,168,0.12),
        0 24px 34px rgba(82,39,139,0.12);
}
.page-id-11 .servicios-slider-v11__tab.is-active {
    background: linear-gradient(135deg, #6939a8, #7d47bd);
    border-color: #6939a8;
    color: #fff;
    transform: translateY(-5px);
    box-shadow:
        0 12px 0 #4c2477,
        0 24px 38px rgba(82,39,139,0.18);
}
.page-id-11 .servicios-slider-v11__emoji {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 17px;
    background: #fff5c9;
    font-size: 1.45rem;
}
.page-id-11 .servicios-slider-v11__tab.is-active .servicios-slider-v11__emoji {
    background: rgba(255,255,255,0.22);
}
.page-id-11 .servicios-slider-v11__tab strong,
.page-id-11 .servicios-slider-v11__tab em,
.page-id-11 .servicios-slider-v11__tab small {
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif;
}
.page-id-11 .servicios-slider-v11__tab strong {
    display: block;
    margin-bottom: 5px;
    font-size: 1rem;
    line-height: 1.1;
    font-weight: 950;
}
.page-id-11 .servicios-slider-v11__tab em {
    display: block;
    color: rgba(75,66,84,0.78);
    font-size: 0.78rem;
    line-height: 1.24;
    font-style: normal;
    font-weight: 750;
}
.page-id-11 .servicios-slider-v11__tab.is-active em {
    color: rgba(255,255,255,0.86);
}
.page-id-11 .servicios-slider-v11__tab small {
    position: absolute;
    right: 14px;
    bottom: 10px;
    color: rgba(81,40,139,0.62);
    font-size: 0.7rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.page-id-11 .servicios-slider-v11__tab.is-active small {
    color: rgba(255,255,255,0.78);
}
/* Slides */
.page-id-11 .servicios-slider-v11__marco {
    width: 100%;
}
.page-id-11 .servicios-slider-v11__slide {
    display: none !important;
}
.page-id-11 .servicios-slider-v11__slide[hidden] {
    display: none !important;
}
.page-id-11 .servicios-slider-v11__slide.is-active:not([hidden]) {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-areas: "texto";
    align-items: center;
    gap: clamp(30px, 4vw, 56px);
    min-height: 385px;
    padding: clamp(34px, 4vw, 52px);
    border: 6px solid #fff;
    border-radius: 38px 28px 42px 30px;
    box-shadow:
        0 14px 0 rgba(105,57,168,0.1),
        0 24px 44px rgba(82,39,139,0.12);
    text-align: left;
}
.page-id-11 .servicio-v11-almuerzo { background: #fff2a8; }
.page-id-11 .servicio-v11-enfermeria { background: #dff5ff; }
.page-id-11 .servicio-v11-psicologia { background: #fce5ef; }
.page-id-11 .servicio-v11-vacaciones { background: #e8f4d5; }
.page-id-11 .servicio-v11-fonoaudiologia { background: #eee6fa; }
.page-id-11 .servicios-slider-v11__texto {
    grid-area: texto;
    max-width: 690px;
}
.page-id-11 .servicios-slider-v11__categoria {
    display: inline-flex;
    margin: 0 0 12px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,0.78);
    color: #51288b;
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}
.page-id-11 .servicios-slider-v11__texto h3 {
    margin: 0 0 14px;
    color: #51288b;
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif;
    font-size: clamp(2.1rem, 3.2vw, 2.75rem);
    line-height: 1.06;
    letter-spacing: -0.018em;
    font-weight: 950;
}
.page-id-11 .servicios-slider-v11__texto p:not(.servicios-slider-v11__categoria) {
    max-width: 670px;
    margin: 0 0 10px;
    color: #3f354d;
    font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
    font-size: clamp(1rem, 1.08vw, 1.08rem);
    line-height: 1.62;
    font-weight: 650;
}
.page-id-11 .servicios-slider-v11__imagen {
    grid-area: imagen;
    justify-self: end;
    width: 100%;
    max-width: 345px;
    margin: 0;
    border-radius: 34px;
    overflow: hidden;
    background: rgba(255,255,255,0.56);
    box-shadow:
        0 16px 0 rgba(105,57,168,0.08),
        0 26px 46px rgba(82,39,139,0.14);
    transform: rotate(1.5deg);
}
.page-id-11 .servicio-v11-enfermeria .servicios-slider-v11__imagen,
.page-id-11 .servicio-v11-vacaciones .servicios-slider-v11__imagen {
    transform: rotate(-1.5deg);
}
.page-id-11 .servicios-slider-v11__imagen img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
}
/* Anula visualmente residuos del slider viejo si por caché quedaran cerca */
.page-id-11 .servicios-tabs-v3 {
    display: none !important;
}
@media (max-width: 1100px) {
    .page-id-11 .servicios-slider-v11__selector {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 820px;
    }
    .page-id-11 .servicios-slider-v11__tab:last-child {
        grid-column: 1 / -1;
        width: min(100%, 390px);
        justify-self: center;
    }
}
@media (max-width: 900px) {
    .page-id-11 .servicios-slider-v11__slide.is-active:not([hidden]) {
        grid-template-columns: minmax(0, 1fr) minmax(190px, 250px);
        grid-template-areas: "texto imagen";
        gap: 24px;
        min-height: 0;
        padding: 28px;
    }
    .page-id-11 .servicios-slider-v11__imagen {
        max-width: 250px;
    }
    .page-id-11 .servicios-slider-v11__texto h3 {
        font-size: clamp(1.8rem, 4vw, 2.3rem);
    }
}
@media (max-width: 700px) {
    .page-id-11 .servicios-slider-v11__slide.is-active:not([hidden]) {
        grid-template-columns: minmax(0, 1fr) 145px;
        gap: 16px;
        padding: 22px 18px;
    }
    .page-id-11 .servicios-slider-v11__imagen {
        max-width: 145px;
        border-radius: 22px;
    }
    .page-id-11 .servicios-slider-v11__categoria {
        font-size: 0.66rem;
        padding: 6px 9px;
    }
    .page-id-11 .servicios-slider-v11__texto h3 {
        font-size: clamp(1.42rem, 6vw, 1.85rem);
        margin-bottom: 8px;
    }
    .page-id-11 .servicios-slider-v11__texto p:not(.servicios-slider-v11__categoria) {
        font-size: 0.91rem;
        line-height: 1.48;
    }
}
@media (max-width: 500px) {
    .page-id-11 .servicios-slider-v11__selector {
        grid-template-columns: 1fr;
    }
    .page-id-11 .servicios-slider-v11__tab,
    .page-id-11 .servicios-slider-v11__tab:last-child {
        width: 100%;
        grid-column: auto;
    }
    .page-id-11 .servicios-slider-v11__slide.is-active:not([hidden]) {
        grid-template-columns: 1fr;
        grid-template-areas:
            "imagen"
            "texto";
        text-align: center;
    }
    .page-id-11 .servicios-slider-v11__imagen {
        max-width: 230px;
        justify-self: center;
        margin: 0 auto 10px;
    }
    .page-id-11 .servicios-slider-v11__texto {
        text-align: center;
    }
}
/* SERVICIOS_SLIDER_LIMPIO_V11_FIN */
/* GALERIA_ADMINISTRABLE_V1_INICIO */
.page-id-12 .galeria-page-v1 {
    width: min(1120px, calc(100% - 28px));
    margin: 0 auto;
    padding: clamp(32px, 5vw, 58px) 0 clamp(50px, 7vw, 80px);
}
.page-id-12 .galeria-hero-v1 {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: clamp(24px, 5vw, 58px);
    align-items: center;
    margin-bottom: clamp(34px, 5vw, 58px);
}
.page-id-12 .galeria-hero-v1__kicker,
.page-id-12 .sgaleria__kicker {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 14px;
    padding: 9px 14px;
    border-radius: 999px;
    background: #ffd95f;
    color: #4c2477;
    font-size: 0.82rem;
    font-weight: 950;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.page-id-12 .galeria-hero-v1 h1 {
    margin: 0;
    color: #30b8bf;
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif;
    font-size: clamp(2.45rem, 5.2vw, 4.5rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}
.page-id-12 .galeria-hero-v1 p {
    max-width: 640px;
    margin: 18px 0 0;
    color: #3f354d;
    font-size: clamp(1.03rem, 1.45vw, 1.18rem);
    line-height: 1.7;
    font-weight: 650;
}
.page-id-12 .galeria-hero-v1__visual {
    position: relative;
    min-height: 290px;
    border-radius: 42px;
    background:
        radial-gradient(circle at 24% 20%, rgba(255,255,255,0.95) 0 16%, transparent 17%),
        radial-gradient(circle at 75% 28%, rgba(255,217,95,0.74) 0 18%, transparent 19%),
        radial-gradient(circle at 32% 74%, rgba(255,143,181,0.54) 0 22%, transparent 23%),
        linear-gradient(135deg, #e8f7fa, #fff3c8);
    box-shadow: 0 18px 0 rgba(105,57,168,0.09), 0 28px 54px rgba(82,39,139,0.14);
    overflow: hidden;
}
.page-id-12 .galeria-hero-v1__visual::before {
    content: "📷";
    position: absolute;
    left: 11%;
    top: 16%;
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    border-radius: 30px;
    background: #ffffff;
    font-size: 2.5rem;
    transform: rotate(-8deg);
    box-shadow: 0 14px 28px rgba(82,39,139,0.12);
}
.page-id-12 .galeria-hero-v1__visual::after {
    content: "Momentos para recordar";
    position: absolute;
    right: 9%;
    bottom: 13%;
    width: min(210px, 70%);
    padding: 20px;
    border-radius: 28px;
    background: #6939a8;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.08;
    font-weight: 950;
    transform: rotate(4deg);
    box-shadow: 0 16px 28px rgba(82,39,139,0.18);
}
.page-id-12 .sgaleria__intro {
    max-width: 760px;
    margin: 0 auto clamp(24px, 4vw, 36px);
    text-align: center;
}
.page-id-12 .sgaleria__intro h2 {
    margin: 0;
    color: #51288b;
    font-family: "Nunito", "Baloo 2", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.06;
    letter-spacing: -0.035em;
}
.page-id-12 .sgaleria__intro p {
    margin: 14px auto 0;
    color: #4a4058;
    font-size: 1.04rem;
    line-height: 1.65;
    font-weight: 650;
}
.page-id-12 .sgaleria__filtros {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 auto clamp(24px, 4vw, 34px);
}
.page-id-12 .sgaleria__filtro {
    min-height: 42px;
    padding: 10px 16px;
    border: 2px solid rgba(105,57,168,0.18);
    border-radius: 999px;
    background: #fff;
    color: #51288b;
    font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
    font-size: 0.92rem;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 8px 16px rgba(82,39,139,0.06);
}
.page-id-12 .sgaleria__filtro.is-active {
    background: #6939a8;
    color: #fff;
    border-color: #6939a8;
    box-shadow: 0 9px 0 #4c2477, 0 14px 24px rgba(82,39,139,0.14);
    transform: translateY(-3px);
}
.page-id-12 .sgaleria__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 22px);
}
.page-id-12 .sgaleria__item[hidden] {
    display: none !important;
}
.page-id-12 .sgaleria__open {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    padding: 0;
    border: 6px solid #fff;
    border-radius: 30px;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 12px 0 rgba(105,57,168,0.08), 0 22px 42px rgba(82,39,139,0.13);
    transform: rotate(-1deg);
}
.page-id-12 .sgaleria__item:nth-child(2n) .sgaleria__open {
    transform: rotate(1deg);
}
.page-id-12 .sgaleria__item:nth-child(3n) .sgaleria__open {
    transform: rotate(0deg);
}
.page-id-12 .sgaleria__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
}
.page-id-12 .sgaleria__open:hover .sgaleria__img,
.page-id-12 .sgaleria__open:focus-visible .sgaleria__img {
    transform: scale(1.05);
}
.page-id-12 .sgaleria__overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: grid;
    gap: 4px;
    padding: 44px 16px 15px;
    color: #fff;
    text-align: left;
    background: linear-gradient(to top, rgba(35,24,49,0.82), rgba(35,24,49,0));
}
.page-id-12 .sgaleria__overlay em {
    width: fit-content;
    padding: 5px 9px;
    border-radius: 999px;
    background: #ffd95f;
    color: #4c2477;
    font-size: 0.68rem;
    line-height: 1;
    font-style: normal;
    font-weight: 950;
    text-transform: uppercase;
}
.page-id-12 .sgaleria__overlay strong {
    font-size: 1.02rem;
    line-height: 1.1;
    font-weight: 950;
}
.page-id-12 .sgaleria__overlay small {
    font-size: 0.78rem;
    line-height: 1.25;
    opacity: 0.92;
    font-weight: 750;
}
.page-id-12 .sgaleria__vacia {
    max-width: 720px;
    margin: 0 auto;
    padding: 28px;
    border: 3px dashed rgba(105,57,168,0.22);
    border-radius: 30px;
    background: #fff;
    color: #4c2477;
    text-align: center;
    box-shadow: 0 16px 34px rgba(82,39,139,0.08);
}
.sgaleria-modal-open {
    overflow: hidden;
}
.page-id-12 .sgaleria__modal {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(35,24,49,0.78);
    backdrop-filter: blur(8px);
}
.page-id-12 .sgaleria__modal[hidden] {
    display: none !important;
}
.page-id-12 .sgaleria__cerrar {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    color: #4c2477;
    font-size: 2rem;
    line-height: 1;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 30px rgba(0,0,0,0.18);
}
.page-id-12 .sgaleria__modal_fig {
    width: min(980px, 100%);
    max-height: calc(100vh - 80px);
    margin: 0;
    border: 8px solid #fff;
    border-radius: 30px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,0.28);
}
.page-id-12 .sgaleria__modal_fig img {
    display: block;
    width: 100%;
    max-height: calc(100vh - 190px);
    object-fit: contain;
    background: #f7f1ff;
}
.page-id-12 .sgaleria__modal_fig figcaption {
    display: grid;
    gap: 5px;
    padding: 14px 18px 18px;
    color: #3f354d;
}
.page-id-12 .sgaleria__modal_fig figcaption strong {
    color: #51288b;
    font-size: 1.1rem;
    font-weight: 950;
}
@media (max-width: 900px) {
    .page-id-12 .galeria-hero-v1 {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .page-id-12 .galeria-hero-v1__kicker,
    .page-id-12 .sgaleria__kicker {
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-12 .galeria-hero-v1 p {
        margin-left: auto;
        margin-right: auto;
    }
    .page-id-12 .galeria-hero-v1__visual {
        min-height: 240px;
    }
    .page-id-12 .sgaleria__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    .page-id-12 .galeria-page-v1 {
        width: min(100% - 22px, 520px);
    }
    .page-id-12 .sgaleria__grid {
        grid-template-columns: 1fr;
    }
    .page-id-12 .sgaleria__open {
        aspect-ratio: 4 / 3;
        border-radius: 26px;
    }
    .page-id-12 .sgaleria__filtros {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px;
    }
    .page-id-12 .sgaleria__filtro {
        flex: 0 0 auto;
    }
}
/* GALERIA_ADMINISTRABLE_V1_FIN */








/* REPARAR_GALERIA_COMPLETA_V12_INICIO */

/*
   Reparación completa:
   El V11 retiró estilos base del hero. Esta versión reinstala TODO el diseño
   de la cabecera, cámara y layout, sin depender de V10.
*/

.page-id-12 .entry-title,
.page-id-12 .wp-block-post-title,
.page-id-12 .page-title,
.page-id-12 .entry-header,
.page-id-12 h1.wp-block-post-title,
.page-id-12 header.entry-header {
    display: none !important;
}

.page-id-12 .entry-content > .wp-block-html,
.page-id-12 .wp-block-html {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.page-id-12 .galeria-page-v12 {
    width: min(1160px, calc(100% - 40px)) !important;
    margin: clamp(24px, 3.4vw, 42px) auto 0 !important;
    padding: 0 0 clamp(50px, 7vw, 84px) !important;
}

/* Hero */
.page-id-12 .galeria-hero-v12 {
    display: grid !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(340px, 0.94fr) !important;
    gap: clamp(28px, 4vw, 54px) !important;
    align-items: center !important;
    margin: 0 0 clamp(30px, 4.2vw, 48px) !important;
}

.page-id-12 .galeria-hero-v12__texto {
    max-width: 660px !important;
    margin: 0 !important;
    text-align: left !important;
    justify-self: start !important;
}

.page-id-12 .galeria-hero-v12__kicker {
    display: inline-block !important;
    margin: 0 0 14px !important;
    padding: 9px 15px !important;
    border-radius: 999px !important;
    background: #ffd95f !important;
    color: #4c2477 !important;
    font-family: "Nunito", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: 0.82rem !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

.page-id-12 .galeria-hero-v12 h1 {
    max-width: 660px !important;
    margin: 0 !important;
    color: #30b8bf !important;
    font-family: "Nunito", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: clamp(2.85rem, 4.05vw, 3.95rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.045em !important;
    font-weight: 950 !important;
}

.page-id-12 .galeria-hero-v12 p {
    max-width: 620px !important;
    margin: 16px 0 0 !important;
    color: #3f354d !important;
    font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif !important;
    font-size: clamp(1.04rem, 1.18vw, 1.14rem) !important;
    line-height: 1.62 !important;
    font-weight: 680 !important;
}

/* Visual cámara */
.page-id-12 .galeria-hero-v12__visual {
    position: relative !important;
    width: min(100%, 430px) !important;
    min-height: 310px !important;
    justify-self: end !important;
    border-radius: 38px !important;
    background:
        radial-gradient(circle at 80% 18%, rgba(255,217,95,0.92) 0 15%, transparent 16%),
        radial-gradient(circle at 19% 78%, rgba(255,150,190,0.48) 0 17%, transparent 18%),
        linear-gradient(135deg, #eef9ff 0%, #fff4cf 100%) !important;
    box-shadow:
        0 16px 0 rgba(105,57,168,0.08),
        0 28px 52px rgba(82,39,139,0.12) !important;
    overflow: hidden !important;
}

.page-id-12 .galeria-camera-v12 {
    position: absolute !important;
    inset: 0 !important;
}

.page-id-12 .galeria-camera-v12__flash {
    position: absolute !important;
    top: 38px !important;
    right: 70px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.9) !important;
    box-shadow: 0 0 0 10px rgba(255,255,255,0.22), 0 0 24px rgba(255,255,255,0.8) !important;
}

.page-id-12 .galeria-camera-v12__body {
    position: absolute !important;
    left: 84px !important;
    top: 94px !important;
    width: 268px !important;
    height: 160px !important;
    border-radius: 36px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6f1ff 100%) !important;
    box-shadow:
        0 16px 30px rgba(82,39,139,0.14),
        inset 0 -10px 0 rgba(140,114,199,0.12) !important;
}

.page-id-12 .galeria-camera-v12__body::before {
    content: "";
    position: absolute;
    left: 70px;
    top: -26px;
    width: 140px;
    height: 30px;
    border-radius: 18px 18px 10px 10px;
    background: #9a7ee0;
    box-shadow: inset 0 -4px 0 rgba(78,38,136,0.18);
}

.page-id-12 .galeria-camera-v12__lens {
    position: absolute !important;
    left: 92px !important;
    top: 36px !important;
    width: 88px !important;
    height: 88px !important;
    border-radius: 50% !important;
    background:
        radial-gradient(circle at 38% 34%, rgba(255,255,255,0.8) 0 10%, transparent 11%),
        radial-gradient(circle at 50% 50%, #5b5b73 0 18%, #2f2f44 19% 40%, #9a7ee0 41% 49%, #3a3254 50% 62%, #191726 63% 100%) !important;
    box-shadow: inset 0 0 0 8px rgba(255,255,255,0.7), 0 8px 18px rgba(47,47,68,0.18) !important;
}

.page-id-12 .galeria-camera-v12__button {
    position: absolute !important;
    right: 36px !important;
    top: 42px !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #ffd95f !important;
    box-shadow: inset 0 -3px 0 rgba(165,114,18,0.18) !important;
}

.page-id-12 .galeria-camera-v12__slot {
    position: absolute !important;
    left: 34px !important;
    top: 30px !important;
    width: 36px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #d9d0f4 !important;
}

.page-id-12 .galeria-camera-v12__shine {
    position: absolute !important;
    left: 24px !important;
    top: 18px !important;
    width: 82px !important;
    height: 34px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.82), rgba(255,255,255,0.18)) !important;
}

.page-id-12 .galeria-camera-v12__label {
    position: absolute !important;
    right: 28px !important;
    bottom: 30px !important;
    min-width: 150px !important;
    padding: 13px 18px !important;
    border-radius: 22px !important;
    background: #6f3dbc !important;
    color: #fff !important;
    font-family: "Nunito", "Trebuchet MS", "Arial Rounded MT Bold", "Segoe UI", sans-serif !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center !important;
    box-shadow: 0 10px 0 #50258a, 0 18px 30px rgba(82,39,139,0.18) !important;
    transform: rotate(3deg) !important;
}

/* Evitar duplicado de introducción del shortcode */
.page-id-12 .sgaleria__intro {
    display: none !important;
}

.page-id-12 .sgaleria__filtros {
    margin-top: 0 !important;
    margin-bottom: clamp(20px, 3vw, 30px) !important;
}

.page-id-12 .sgaleria__grid {
    gap: clamp(16px, 2vw, 22px) !important;
}

/* Tablet */
@media (max-width: 920px) {
    .page-id-12 .galeria-page-v12 {
        width: min(100% - 24px, 760px) !important;
        margin-top: 18px !important;
    }

    .page-id-12 .galeria-hero-v12 {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        text-align: center !important;
    }

    .page-id-12 .galeria-hero-v12__texto {
        max-width: 680px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .page-id-12 .galeria-hero-v12__kicker {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .page-id-12 .galeria-hero-v12 h1 {
        max-width: 650px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: clamp(2.3rem, 7vw, 3.4rem) !important;
    }

    .page-id-12 .galeria-hero-v12 p {
        max-width: 620px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .page-id-12 .galeria-hero-v12__visual {
        justify-self: center !important;
        width: min(100%, 390px) !important;
        min-height: 286px !important;
    }
}

/* Celular */
@media (max-width: 620px) {
    .page-id-12 .galeria-page-v12 {
        width: min(100% - 18px, 520px) !important;
        margin-top: 10px !important;
    }

    .page-id-12 .galeria-hero-v12 h1 {
        font-size: clamp(2rem, 9vw, 2.7rem) !important;
    }

    .page-id-12 .galeria-hero-v12 p {
        font-size: 1rem !important;
        line-height: 1.55 !important;
    }

    .page-id-12 .galeria-hero-v12__visual {
        width: min(100%, 350px) !important;
        min-height: 250px !important;
    }

    .page-id-12 .galeria-camera-v12__flash {
        top: 30px !important;
        right: 44px !important;
        width: 24px !important;
        height: 24px !important;
    }

    .page-id-12 .galeria-camera-v12__body {
        left: 54px !important;
        top: 78px !important;
        width: 214px !important;
        height: 128px !important;
        border-radius: 28px !important;
    }

    .page-id-12 .galeria-camera-v12__body::before {
        left: 28px !important;
        top: -18px !important;
        width: 114px !important;
        height: 20px !important;
    }

    .page-id-12 .galeria-camera-v12__lens {
        left: 72px !important;
        top: 28px !important;
        width: 70px !important;
        height: 70px !important;
    }

    .page-id-12 .galeria-camera-v12__button {
        right: 28px !important;
        top: 34px !important;
        width: 22px !important;
        height: 22px !important;
    }

    .page-id-12 .galeria-camera-v12__slot {
        left: 26px !important;
        top: 24px !important;
        width: 28px !important;
    }

    .page-id-12 .galeria-camera-v12__shine {
        left: 18px !important;
        top: 16px !important;
        width: 60px !important;
        height: 24px !important;
    }

    .page-id-12 .galeria-camera-v12__label {
        right: 22px !important;
        bottom: 22px !important;
        min-width: 118px !important;
        padding: 10px 14px !important;
        font-size: 0.9rem !important;
    }
}
/* REPARAR_GALERIA_COMPLETA_V12_FIN */

/* AJUSTAR_ANCHOS_POSICION_GALERIA_V13_INICIO */

/*
  Ajuste fino pedido:
  - subir el hero;
  - abrirlo hacia izquierda y derecha;
  - cerrar un poco la separación entre texto e imagen;
  - sin cambiar el estilo visual del V12.
*/

.page-id-12 .galeria-page-v12 {
    width: min(1240px, calc(100% - 24px)) !important;
    margin: clamp(8px, 1.6vw, 18px) auto 0 !important;
    padding-bottom: clamp(46px, 6vw, 78px) !important;
}

.page-id-12 .galeria-hero-v12 {
    grid-template-columns: minmax(0, 1.02fr) minmax(390px, 0.98fr) !important;
    gap: clamp(18px, 2.4vw, 30px) !important;
    align-items: center !important;
    margin: 0 0 clamp(24px, 3vw, 36px) !important;
}

.page-id-12 .galeria-hero-v12__texto {
    max-width: 650px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    justify-self: start !important;
}

.page-id-12 .galeria-hero-v12 h1 {
    max-width: 650px !important;
    font-size: clamp(2.85rem, 3.95vw, 3.9rem) !important;
}

.page-id-12 .galeria-hero-v12 p {
    max-width: 610px !important;
    margin-top: 14px !important;
}

.page-id-12 .galeria-hero-v12__visual {
    width: min(100%, 455px) !important;
    min-height: 315px !important;
    justify-self: end !important;
    margin-right: 0 !important;
}

/* Un poquito más de presencia sin rediseñar la cámara */
.page-id-12 .galeria-camera-v12__body {
    left: 92px !important;
}

.page-id-12 .galeria-camera-v12__flash {
    right: 62px !important;
}

.page-id-12 .galeria-camera-v12__label {
    right: 24px !important;
}

/* Tablet */
@media (max-width: 920px) {
    .page-id-12 .galeria-page-v12 {
        width: min(100% - 22px, 780px) !important;
        margin-top: 12px !important;
    }

    .page-id-12 .galeria-hero-v12 {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        text-align: center !important;
    }

    .page-id-12 .galeria-hero-v12__texto {
        max-width: 690px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .page-id-12 .galeria-hero-v12__kicker {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .page-id-12 .galeria-hero-v12 h1 {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .page-id-12 .galeria-hero-v12 p {
        max-width: 620px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .page-id-12 .galeria-hero-v12__visual {
        width: min(100%, 400px) !important;
        min-height: 290px !important;
        justify-self: center !important;
    }
}

/* Celular */
@media (max-width: 620px) {
    .page-id-12 .galeria-page-v12 {
        width: min(100% - 16px, 520px) !important;
        margin-top: 8px !important;
    }

    .page-id-12 .galeria-hero-v12 {
        gap: 18px !important;
    }

    .page-id-12 .galeria-hero-v12 h1 {
        font-size: clamp(1.95rem, 8.8vw, 2.6rem) !important;
    }

    .page-id-12 .galeria-hero-v12__visual {
        width: min(100%, 350px) !important;
        min-height: 250px !important;
    }
}
/* AJUSTAR_ANCHOS_POSICION_GALERIA_V13_FIN */


/* === NIVELES_SLIDER_ORIGINAL_FOTOS_V8_INICIO ===
   Recupera el slider original tipo scroll.
   No modifica .niveles-slider-v2__track ni .niveles-slider-v2__slide.
   Solo limita el marco de la foto para que todas las imágenes reales
   se vean proporcionadas dentro del diseño existente.
*/

body.page-id-8 .niveles-slider-v2 .niveles-slider-v2__imagen {
  width: min(30vw, 240px) !important;
  max-width: 240px !important;
  height: min(30vw, 240px) !important;
  max-height: 240px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}

body.page-id-8 .niveles-slider-v2 .niveles-slider-v2__imagen img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

@media (max-width: 720px) {
  body.page-id-8 .niveles-slider-v2 .niveles-slider-v2__imagen {
    width: min(76vw, 220px) !important;
    max-width: 220px !important;
    height: 200px !important;
    max-height: 200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* === NIVELES_SLIDER_ORIGINAL_FOTOS_V8_FIN === */


/* === NIVELES_AMPLIAR_FOTO_V9_INICIO ===
   Nuestros Niveles:
   La estructura del slider NO se toca.
   Solo se agranda la foto dentro del marco izquierdo, para que ocupe
   casi todo el espacio disponible señalado en rojo.
*/

body.page-id-8 .niveles-slider-v2 .niveles-slider-v2__imagen {
  width: min(36vw, 340px) !important;
  max-width: 340px !important;
  height: 310px !important;
  max-height: 310px !important;
  overflow: hidden !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-id-8 .niveles-slider-v2 .niveles-slider-v2__imagen img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Para la foto de Jardín, se baja apenas el encuadre para que se vea mejor el grupo */
body.page-id-8 .niveles-slider-v2 .nivel-v1-jardin .niveles-slider-v2__imagen img {
  object-position: center 52% !important;
}

/* Para Transición, se centra el grupo */
body.page-id-8 .niveles-slider-v2 .nivel-v1-transicion .niveles-slider-v2__imagen img {
  object-position: center center !important;
}

@media (max-width: 900px) {
  body.page-id-8 .niveles-slider-v2 .niveles-slider-v2__imagen {
    width: min(36vw, 310px) !important;
    max-width: 310px !important;
    height: 280px !important;
    max-height: 280px !important;
  }
}

@media (max-width: 720px) {
  body.page-id-8 .niveles-slider-v2 .niveles-slider-v2__imagen {
    width: min(86vw, 300px) !important;
    max-width: 300px !important;
    height: 230px !important;
    max-height: 230px !important;
  }
}
/* === NIVELES_AMPLIAR_FOTO_V9_FIN === */


/* === GALERIA_AZUL_MENU_ACTIVO_V1_INICIO ===
   Galería:
   - Fondo azul suave en lugar de rosado.
   - Filtros/menú de álbumes más claros en hover y activo.
   - Navegación principal con estado hover/current más visible.
*/

body.page-id-12,
body.page-id-12 .site-main,
body.page-id-12 main,
body.page-id-12 .entry-content {
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 255, 255, 0.72), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(187, 234, 255, 0.55), transparent 30%),
    linear-gradient(180deg, #f1fbff 0%, #eaf8ff 48%, #f7fcff 100%) !important;
}

body.page-id-12 .galeria-v19 {
  background:
    radial-gradient(circle at 8% 16%, rgba(255,255,255,0.72), transparent 26%),
    radial-gradient(circle at 90% 12%, rgba(196,235,255,0.58), transparent 30%),
    linear-gradient(180deg, #effbff 0%, #e8f7ff 52%, #f7fcff 100%) !important;
}

body.page-id-12 .galeria-v19__hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 225, 96, 0.28), transparent 24%),
    radial-gradient(circle at 88% 16%, rgba(98, 205, 220, 0.22), transparent 28%),
    linear-gradient(135deg, #f0fbff 0%, #e4f7ff 48%, #f4fbff 100%) !important;
}

body.page-id-12 .sgaleria,
body.page-id-12 .sgaleria__wrap,
body.page-id-12 .sgaleria__grid {
  background-color: transparent !important;
}

body.page-id-12 .sgaleria__filtros {
  background: rgba(236, 249, 255, 0.82) !important;
  border: 1px solid rgba(72, 190, 210, 0.20) !important;
  box-shadow: 0 14px 30px rgba(63, 155, 185, 0.10) !important;
}

body.page-id-12 .sgaleria__filtro,
body.page-id-12 .sgaleria button,
body.page-id-12 .sgaleria [role="button"] {
  transition:
    transform 180ms ease,
    background 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    border-color 180ms ease !important;
}

body.page-id-12 .sgaleria__filtro:hover,
body.page-id-12 .sgaleria__filtro:focus-visible,
body.page-id-12 .sgaleria button:hover,
body.page-id-12 .sgaleria button:focus-visible {
  background: #ffffff !important;
  color: #51288b !important;
  border-color: rgba(72, 190, 210, 0.55) !important;
  box-shadow:
    0 10px 24px rgba(72, 190, 210, 0.20),
    0 0 0 3px rgba(72, 190, 210, 0.16) !important;
  transform: translateY(-2px) !important;
  outline: none !important;
}

body.page-id-12 .sgaleria__filtro.is-active,
body.page-id-12 .sgaleria__filtro[aria-selected="true"],
body.page-id-12 .sgaleria__filtro[aria-pressed="true"],
body.page-id-12 .sgaleria button.is-active,
body.page-id-12 .sgaleria button[aria-selected="true"],
body.page-id-12 .sgaleria button[aria-pressed="true"] {
  background: linear-gradient(135deg, #6d37b2 0%, #42c7c7 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow:
    0 14px 30px rgba(93, 44, 160, 0.22),
    0 0 0 4px rgba(66, 199, 199, 0.16) !important;
  transform: translateY(-2px) !important;
}

body.page-id-12 .sgaleria__card,
body.page-id-12 .sgaleria article {
  background: #ffffff !important;
  box-shadow: 0 18px 36px rgba(54, 146, 176, 0.13) !important;
}

body .site-header a,
body header a,
body .main-navigation a,
body .site-nav a,
body .wp-block-navigation a {
  transition:
    color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease !important;
}

body .site-header a:hover,
body header a:hover,
body .main-navigation a:hover,
body .site-nav a:hover,
body .wp-block-navigation a:hover,
body .site-header a:focus-visible,
body header a:focus-visible,
body .main-navigation a:focus-visible,
body .site-nav a:focus-visible,
body .wp-block-navigation a:focus-visible {
  color: #5d2ca0 !important;
  background: rgba(236, 249, 255, 0.92) !important;
  box-shadow: 0 8px 18px rgba(72, 190, 210, 0.16) !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}

body .current-menu-item > a,
body .current_page_item > a,
body .current-menu-ancestor > a,
body .wp-block-navigation-item.current-menu-item > a,
body .wp-block-navigation-item.current-menu-ancestor > a {
  color: #5d2ca0 !important;
  background: #fff4bf !important;
  box-shadow:
    inset 0 -3px 0 #42c7c7,
    0 8px 18px rgba(80, 43, 128, 0.10) !important;
}

body.page-id-12 .site-header a[href*="galeria"],
body.page-id-12 header a[href*="galeria"],
body.page-id-12 .main-navigation a[href*="galeria"],
body.page-id-12 .site-nav a[href*="galeria"],
body.page-id-12 .wp-block-navigation a[href*="galeria"] {
  color: #5d2ca0 !important;
  background: #fff4bf !important;
  box-shadow:
    inset 0 -3px 0 #42c7c7,
    0 8px 18px rgba(80, 43, 128, 0.10) !important;
}

@media (max-width: 720px) {
  body.page-id-12 .sgaleria__filtros {
    background: rgba(236, 249, 255, 0.92) !important;
  }

  body.page-id-12 .sgaleria__filtro:hover,
  body.page-id-12 .sgaleria button:hover {
    transform: none !important;
  }
}
/* === GALERIA_AZUL_MENU_ACTIVO_V1_FIN === */


/* === SITIO_AZUL_MENU_NUBE_V2_INICIO ===
   Fondo azul suave global y menú superior tipo nube.
*/

html,
body {
  background:
    radial-gradient(circle at 12% 10%, rgba(255,255,255,0.78), transparent 28%),
    radial-gradient(circle at 90% 16%, rgba(188,235,255,0.54), transparent 30%),
    linear-gradient(180deg, #f2fbff 0%, #eaf8ff 48%, #f8fdff 100%) !important;
}

body .site,
body .wp-site-blocks,
body main,
body .site-main,
body .entry-content {
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,0.58), transparent 26%),
    radial-gradient(circle at 92% 18%, rgba(201,239,255,0.46), transparent 30%),
    linear-gradient(180deg, #f3fbff 0%, #eaf8ff 50%, #fbfeff 100%) !important;
}

/* Menú superior: base */
body header nav a,
body .site-header nav a,
body .main-navigation a,
body .site-nav a,
body .wp-block-navigation a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  color: #3f3360 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  z-index: 1 !important;
  transition: color 180ms ease, transform 180ms ease !important;
}

/* Nube/burbuja detrás del menú */
body header nav a::before,
body .site-header nav a::before,
body .main-navigation a::before,
body .site-nav a::before,
body .wp-block-navigation a::before {
  content: "" !important;
  position: absolute !important;
  inset: 3px 4px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(255,255,255,0.96) 0 13px, transparent 14px),
    radial-gradient(circle at 48% 38%, rgba(255,255,255,0.96) 0 15px, transparent 16px),
    radial-gradient(circle at 78% 50%, rgba(255,255,255,0.96) 0 13px, transparent 14px),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(239,250,255,0.98)) !important;
  opacity: 0 !important;
  transform: scale(0.86) translateY(3px) !important;
  box-shadow: 0 8px 20px rgba(72, 190, 210, 0.12) !important;
  z-index: -1 !important;
  transition: opacity 180ms ease, transform 180ms ease, box-shadow 180ms ease !important;
}

/* Hover/foco: identificar claramente dónde se está pasando */
body header nav a:hover,
body .site-header nav a:hover,
body .main-navigation a:hover,
body .site-nav a:hover,
body .wp-block-navigation a:hover,
body header nav a:focus-visible,
body .site-header nav a:focus-visible,
body .main-navigation a:focus-visible,
body .site-nav a:focus-visible,
body .wp-block-navigation a:focus-visible {
  color: #5d2ca0 !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}

body header nav a:hover::before,
body .site-header nav a:hover::before,
body .main-navigation a:hover::before,
body .site-nav a:hover::before,
body .wp-block-navigation a:hover::before,
body header nav a:focus-visible::before,
body .site-header nav a:focus-visible::before,
body .main-navigation a:focus-visible::before,
body .site-nav a:focus-visible::before,
body .wp-block-navigation a:focus-visible::before {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
  box-shadow:
    0 10px 24px rgba(72, 190, 210, 0.18),
    0 0 0 3px rgba(72, 190, 210, 0.13) !important;
}

/* Página activa */
body .current-menu-item > a,
body .current_page_item > a,
body .current-menu-ancestor > a,
body .wp-block-navigation-item.current-menu-item > a,
body .wp-block-navigation-item.current-menu-ancestor > a {
  color: #5d2ca0 !important;
  font-weight: 900 !important;
}

body .current-menu-item > a::before,
body .current_page_item > a::before,
body .current-menu-ancestor > a::before,
body .wp-block-navigation-item.current-menu-item > a::before,
body .wp-block-navigation-item.current-menu-ancestor > a::before {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
  background:
    radial-gradient(circle at 18% 50%, #fff5bf 0 13px, transparent 14px),
    radial-gradient(circle at 48% 38%, #ffffff 0 15px, transparent 16px),
    radial-gradient(circle at 78% 50%, #e8fbff 0 13px, transparent 14px),
    linear-gradient(180deg, #fff8cc, #e9fbff) !important;
  box-shadow:
    inset 0 -3px 0 #42c7c7,
    0 10px 24px rgba(80,43,128,0.12) !important;
}

/* Refuerzo por página si el menú no marca current-menu-item */
body.page-id-7 header nav a[href*="nuestro-preescolar"],
body.page-id-8 header nav a[href*="nuestros-niveles"],
body.page-id-9 header nav a[href*="propuesta-educativa"],
body.page-id-10 header nav a[href*="inscripciones"],
body.page-id-11 header nav a[href*="servicios"],
body.page-id-12 header nav a[href*="galeria"],
body.page-id-13 header nav a[href*="contacto"],
body.page-id-7 .site-header nav a[href*="nuestro-preescolar"],
body.page-id-8 .site-header nav a[href*="nuestros-niveles"],
body.page-id-9 .site-header nav a[href*="propuesta-educativa"],
body.page-id-10 .site-header nav a[href*="inscripciones"],
body.page-id-11 .site-header nav a[href*="servicios"],
body.page-id-12 .site-header nav a[href*="galeria"],
body.page-id-13 .site-header nav a[href*="contacto"] {
  color: #5d2ca0 !important;
  font-weight: 900 !important;
}

body.page-id-7 header nav a[href*="nuestro-preescolar"]::before,
body.page-id-8 header nav a[href*="nuestros-niveles"]::before,
body.page-id-9 header nav a[href*="propuesta-educativa"]::before,
body.page-id-10 header nav a[href*="inscripciones"]::before,
body.page-id-11 header nav a[href*="servicios"]::before,
body.page-id-12 header nav a[href*="galeria"]::before,
body.page-id-13 header nav a[href*="contacto"]::before,
body.page-id-7 .site-header nav a[href*="nuestro-preescolar"]::before,
body.page-id-8 .site-header nav a[href*="nuestros-niveles"]::before,
body.page-id-9 .site-header nav a[href*="propuesta-educativa"]::before,
body.page-id-10 .site-header nav a[href*="inscripciones"]::before,
body.page-id-11 .site-header nav a[href*="servicios"]::before,
body.page-id-12 .site-header nav a[href*="galeria"]::before,
body.page-id-13 .site-header nav a[href*="contacto"]::before {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
  background:
    radial-gradient(circle at 18% 50%, #fff5bf 0 13px, transparent 14px),
    radial-gradient(circle at 48% 38%, #ffffff 0 15px, transparent 16px),
    radial-gradient(circle at 78% 50%, #e8fbff 0 13px, transparent 14px),
    linear-gradient(180deg, #fff8cc, #e9fbff) !important;
  box-shadow:
    inset 0 -3px 0 #42c7c7,
    0 10px 24px rgba(80,43,128,0.12) !important;
}

/* Galería: filtros/álbumes con hover y activo claro */
body.page-id-12 .galeria-v19 {
  background:
    radial-gradient(circle at 8% 16%, rgba(255,255,255,0.72), transparent 26%),
    radial-gradient(circle at 90% 12%, rgba(196,235,255,0.58), transparent 30%),
    linear-gradient(180deg, #effbff 0%, #e8f7ff 52%, #f7fcff 100%) !important;
}

body.page-id-12 .sgaleria__filtros {
  background: rgba(236, 249, 255, 0.88) !important;
  border: 1px solid rgba(72, 190, 210, 0.20) !important;
  box-shadow: 0 14px 30px rgba(63, 155, 185, 0.10) !important;
}

body.page-id-12 .sgaleria__filtro:hover,
body.page-id-12 .sgaleria__filtro:focus-visible,
body.page-id-12 .sgaleria button:hover,
body.page-id-12 .sgaleria button:focus-visible {
  background: #ffffff !important;
  color: #51288b !important;
  border-color: rgba(72, 190, 210, 0.55) !important;
  box-shadow:
    0 10px 24px rgba(72, 190, 210, 0.20),
    0 0 0 3px rgba(72, 190, 210, 0.16) !important;
  transform: translateY(-2px) !important;
  outline: none !important;
}

body.page-id-12 .sgaleria__filtro.is-active,
body.page-id-12 .sgaleria__filtro[aria-selected="true"],
body.page-id-12 .sgaleria__filtro[aria-pressed="true"],
body.page-id-12 .sgaleria button.is-active,
body.page-id-12 .sgaleria button[aria-selected="true"],
body.page-id-12 .sgaleria button[aria-pressed="true"] {
  background: linear-gradient(135deg, #6d37b2 0%, #42c7c7 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow:
    0 14px 30px rgba(93, 44, 160, 0.22),
    0 0 0 4px rgba(66, 199, 199, 0.16) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 760px) {
  body header nav a,
  body .site-header nav a,
  body .main-navigation a,
  body .site-nav a,
  body .wp-block-navigation a {
    min-height: 32px !important;
    padding: 7px 10px !important;
  }
}
/* === SITIO_AZUL_MENU_NUBE_V2_FIN === */


/* === GALERIA_MENU_ALBUMES_V1_INICIO ===
   Galería:
   Cambia los filtros de álbumes tipo botones por un selector claro.
   Pensado para cuando existan muchos álbumes/eventos.
*/

body.page-id-12 .sgaleria-menu-albumes-v1 {
  width: min(1060px, calc(100vw - 36px));
  margin: clamp(18px, 3vw, 30px) auto clamp(18px, 3vw, 34px);
  padding: clamp(14px, 2vw, 20px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 12%, rgba(255, 217, 95, 0.20), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(66, 199, 199, 0.18), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(235,249,255,0.96));
  border: 1px solid rgba(72, 190, 210, 0.22);
  box-shadow: 0 18px 38px rgba(54, 146, 176, 0.12);
}

body.page-id-12 .sgaleria-menu-albumes-v1__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);
  gap: 14px;
  align-items: center;
}

body.page-id-12 .sgaleria-menu-albumes-v1__label {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.page-id-12 .sgaleria-menu-albumes-v1__icon {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #fff4bf;
  color: #6d37b2;
  font-size: 1.25rem;
  box-shadow: 0 8px 18px rgba(80,43,128,0.10);
  flex: 0 0 auto;
}

body.page-id-12 .sgaleria-menu-albumes-v1__title {
  margin: 0;
  color: #5d2ca0;
  font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: clamp(1.08rem, 2.1vw, 1.35rem);
  font-weight: 950;
  line-height: 1.15;
}

body.page-id-12 .sgaleria-menu-albumes-v1__hint {
  margin: 4px 0 0;
  color: #554d68;
  font-size: .94rem;
  line-height: 1.45;
}

body.page-id-12 .sgaleria-menu-albumes-v1__control {
  position: relative;
}

body.page-id-12 .sgaleria-menu-albumes-v1__select {
  width: 100%;
  min-height: 54px;
  appearance: none;
  -webkit-appearance: none;
  padding: 0 48px 0 18px;
  border-radius: 999px;
  border: 2px solid rgba(109, 55, 178, 0.18);
  background:
    linear-gradient(135deg, #ffffff 0%, #f5fbff 100%);
  color: #4b286f;
  font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(80,43,128,0.09);
  outline: none;
  cursor: pointer;
}

body.page-id-12 .sgaleria-menu-albumes-v1__control::after {
  content: "⌄";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-54%);
  color: #6d37b2;
  font-size: 1.45rem;
  font-weight: 900;
  pointer-events: none;
}

body.page-id-12 .sgaleria-menu-albumes-v1__select:hover,
body.page-id-12 .sgaleria-menu-albumes-v1__select:focus {
  border-color: rgba(66, 199, 199, 0.72);
  box-shadow:
    0 12px 24px rgba(80,43,128,0.10),
    0 0 0 4px rgba(66, 199, 199, 0.16);
}

/* Oculta el menú antiguo solo cuando el nuevo selector ya fue creado */
body.page-id-12 .sgaleria.sgaleria--menu-albumes-v1 .sgaleria__filtros,
body.page-id-12 .sgaleria.sgaleria--menu-albumes-v1 .sgaleria__filters,
body.page-id-12 .sgaleria.sgaleria--menu-albumes-v1 .sgaleria-filtros {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

/* Si el shortcode usa otro contenedor de filtros */
body.page-id-12 .sgaleria.sgaleria--menu-albumes-v1 > div:first-child:has(button) {
  position: absolute;
  left: -9999px;
}

body.page-id-12 .sgaleria-menu-albumes-v1__current {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(109, 55, 178, 0.08);
  color: #5d2ca0;
  font-size: .85rem;
  font-weight: 900;
}

@media (max-width: 760px) {
  body.page-id-12 .sgaleria-menu-albumes-v1 {
    width: min(100vw - 22px, 1060px);
    margin-top: 14px;
    border-radius: 24px;
  }

  body.page-id-12 .sgaleria-menu-albumes-v1__grid {
    grid-template-columns: 1fr;
  }

  body.page-id-12 .sgaleria-menu-albumes-v1__label {
    align-items: flex-start;
  }

  body.page-id-12 .sgaleria-menu-albumes-v1__select {
    min-height: 52px;
    font-size: .96rem;
  }
}
/* === GALERIA_MENU_ALBUMES_V1_FIN === */








/* === MENU_UNIFORME_V4_INICIO === */
/*
 * Normalización visual del menú superior.
 * Corrige el efecto de “dos menús”: fuerza el mismo patrón para todos
 * los ítems centrales: icono arriba, texto abajo, misma altura y mismo hover.
 */

/* BLOQUE_HREF_V5V6_RETIRADO_EN_V7 */

/* === MENU_UNIFORME_V4_FIN === */

/* === MENU_COMPACTO_ACTIVO_V5_INICIO === */
/*
 * Menú superior compacto + opción activa visible.
 * Reduce altura y tamaño general del menú central.
 * Marca la página actual con fondo blanco, sombra suave y línea turquesa inferior.
 */

/* BLOQUE_HREF_V5V6_RETIRADO_EN_V7 (copia 1) */

/* === MENU_COMPACTO_ACTIVO_V5_FIN === */

/* === MENU_ACTIVO_TARJETA_V6_INICIO === */
/*
 * Mejora de estado activo del menú.
 * Quita la línea turquesa flotante y cambia el activo por una tarjeta visible:
 * fondo suave, borde turquesa, sombra y realce inferior.
 */

@media (min-width: 901px) {
  body header nav a.si-menu-active,
  body .site-header nav a.si-menu-active,
  body nav a.si-menu-active,
  body header nav li.si-menu-active > a,
  body .site-header nav li.si-menu-active > a,
  body nav li.si-menu-active > a,
  body header nav li.current-menu-item > a,
  body .site-header nav li.current-menu-item > a,
  body nav li.current-menu-item > a,
  body header nav li.current_page_item > a,
  body .site-header nav li.current_page_item > a,
  body nav li.current_page_item > a,
  body header nav li.current-menu-ancestor > a,
  body .site-header nav li.current-menu-ancestor > a,
  body nav li.current-menu-ancestor > a {
    background:
      radial-gradient(circle at 18% 12%, rgba(255,217,95,.42), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(239,251,255,.96) 100%) !important;
    border: 2px solid rgba(47,181,196,.78) !important;
    border-radius: 18px !important;
    box-shadow:
      0 4px 0 rgba(47,181,196,.90),
      0 12px 24px rgba(80,43,128,.14) !important;
    color: #4b238e !important;
    transform: translateY(-2px) !important;
  }

  /*
   * El bloque V5 dibujaba una línea turquesa con ::before.
   * La anulamos para que no quede flotando arriba del icono.
   */
  body header nav a.si-menu-active::before,
  body .site-header nav a.si-menu-active::before,
  body nav a.si-menu-active::before,
  body header nav li.si-menu-active > a::before,
  body .site-header nav li.si-menu-active > a::before,
  body nav li.si-menu-active > a::before,
  body header nav li.current-menu-item > a::before,
  body .site-header nav li.current-menu-item > a::before,
  body nav li.current-menu-item > a::before,
  body header nav li.current_page_item > a::before,
  body .site-header nav li.current_page_item > a::before,
  body nav li.current_page_item > a::before,
  body header nav li.current-menu-ancestor > a::before,
  body .site-header nav li.current-menu-ancestor > a::before,
  body nav li.current-menu-ancestor > a::before {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /*
   * Mantiene el icono normal, pero un poco más visible dentro de la tarjeta activa.
   */
  body header nav a.si-menu-active::after,
  body .site-header nav a.si-menu-active::after,
  body nav a.si-menu-active::after,
  body header nav li.si-menu-active > a::after,
  body .site-header nav li.si-menu-active > a::after,
  body nav li.si-menu-active > a::after,
  body header nav li.current-menu-item > a::after,
  body .site-header nav li.current-menu-item > a::after,
  body nav li.current-menu-item > a::after,
  body header nav li.current_page_item > a::after,
  body .site-header nav li.current_page_item > a::after,
  body nav li.current_page_item > a::after,
  body header nav li.current-menu-ancestor > a::after,
  body .site-header nav li.current-menu-ancestor > a::after,
  body nav li.current-menu-ancestor > a::after {
    transform: scale(1.08) !important;
    filter: drop-shadow(0 3px 3px rgba(80,43,128,.16)) !important;
  }

  body header nav a.si-menu-active:hover,
  body .site-header nav a.si-menu-active:hover,
  body nav a.si-menu-active:hover,
  body header nav li.si-menu-active > a:hover,
  body .site-header nav li.si-menu-active > a:hover,
  body nav li.si-menu-active > a:hover,
  body header nav li.current-menu-item > a:hover,
  body .site-header nav li.current-menu-item > a:hover,
  body nav li.current-menu-item > a:hover,
  body header nav li.current_page_item > a:hover,
  body .site-header nav li.current_page_item > a:hover,
  body nav li.current_page_item > a:hover,
  body header nav li.current-menu-ancestor > a:hover,
  body .site-header nav li.current-menu-ancestor > a:hover,
  body nav li.current-menu-ancestor > a:hover {
    background:
      radial-gradient(circle at 18% 12%, rgba(255,217,95,.50), transparent 36%),
      linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(230,249,255,.98) 100%) !important;
    box-shadow:
      0 5px 0 rgba(47,181,196,.95),
      0 14px 28px rgba(80,43,128,.16) !important;
  }
}
/* === MENU_ACTIVO_TARJETA_V6_FIN === */

/* MENU_ACTIVO_SIMPLE_V7_INICIO */
/* Resalta el item activo por body.page-id-X / parent-pageid-X, sin depender
   de la clase si2-item (que el script de sonrisas-menu-unificado-v2.php no
   aplica de forma consistente a Nuestro Preescolar, Nuestros Niveles y
   Propuesta Educativa). Replica el mismo estilo "pildora" que ya usan los
   items donde si2-item si funciona, para que los 7 se vean igual. */
body.page-id-6 .menu-inicio > .wp-block-navigation-item__content,
body.page-id-7 .menu-preescolar > .wp-block-navigation-item__content,
body.parent-pageid-7 .menu-preescolar > .wp-block-navigation-item__content,
body.page-id-8 .menu-niveles > .wp-block-navigation-item__content,
body.parent-pageid-8 .menu-niveles > .wp-block-navigation-item__content,
body.page-id-9 .menu-propuesta > .wp-block-navigation-item__content,
body.page-id-11 .menu-servicios > .wp-block-navigation-item__content,
body.page-id-12 .menu-galeria > .wp-block-navigation-item__content,
body.page-id-13 .menu-contacto > .wp-block-navigation-item__content {
    background: rgba(255,255,255,.64) !important;
    background-color: rgba(255,255,255,.64) !important;
    box-shadow: 0 7px 18px rgba(80,43,128,.08) !important;
    transform: translateY(-1px) !important;
    color: #6b3fa0;
}
/* MENU_ACTIVO_SIMPLE_V7_FIN */

/* ESTILO_MENU_REFERENCIA_STANFORD_INICIO: tipografia + hover inspirados en jardininfantilstanford.edu.co, sin iconos */
.menu-sonrisas > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    border-radius: 999px;
    padding: 8px 14px;
    transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out, transform 0.2s ease;
}
.menu-sonrisas > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.menu-sonrisas > .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content {
    color: #ffffff !important;
    background-color: var(--wp--preset--color--morado);
    transform: translateY(-3px);
}
.wp-block-navigation__submenu-container {
    border: none !important;
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(48, 40, 63, 0.18);
    padding: 10px 0;
    min-width: 220px;
    overflow: hidden;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display: block !important;
    text-align: left !important;
    color: var(--wp--preset--color--texto) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    padding: 10px 18px !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    transform: none !important;
}
.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
    color: #ffffff !important;
    background-color: var(--wp--preset--color--morado) !important;
}
/* ESTILO_MENU_REFERENCIA_STANFORD_FIN */

/* FIX_CORREO_CONTACTO_INICIO: evita que el correo de contacto quede con una
   sola letra suelta en la ultima linea (tarjeta "Datos de contacto" y footer) */
.contacto-datos a[href^="mailto:"],
.footer-sonrisas__contacto a[href^="mailto:"] {
  font-size: 0.88em !important;
  letter-spacing: -0.01em !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  display: inline-block !important;
  max-width: 100% !important;
}
/* FIX_CORREO_CONTACTO_FIN */

/* FIX_ESPACIO_HEADER_CONTENIDO_INICIO: reduce el espacio vacio entre el
   menu fijo y el contenido de cada pagina (se veia con "mucho espacio" en
   casi todas las paginas). Se deja un margen de seguridad para que el
   header fijo (120px de alto) nunca tape el contenido. */
.wp-site-blocks {
  padding-top: 130px !important;
}
.wp-site-blocks > main {
  margin-top: 0 !important;
}
main.wp-block-group {
  padding-top: 1.25rem !important;
}
main.wp-block-group > .entry-content {
  margin-top: 8px !important;
}
@media (max-width: 900px) {
  .wp-site-blocks {
    padding-top: 100px !important;
  }
}
/* FIX_ESPACIO_HEADER_CONTENIDO_FIN */

/* FIX_INSCRIPCIONES_MOBIL_INICIO: la seccion de Inscripciones (grids de la
   foto/hero, los 4 pasos, el bloque de pago y los 4 datos de contacto) no
   tenia ningun estilo para celular, y las columnas tenian anchos minimos
   fijos (350px, 310px) que no cabian en pantallas angostas. Como el
   contenedor usa overflow-x:hidden, eso se veia "cortado" en vez de
   completo. Se apilan las columnas en pantallas angostas. */
@media (max-width: 820px) {
  .insc-compacta-v5__hero {
    grid-template-columns: 1fr !important;
  }
  .insc-compacta-v5__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .insc-compacta-v5__payment {
    grid-template-columns: 1fr !important;
  }
  .insc-compacta-v5__contact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  .insc-compacta-v5__steps,
  .insc-compacta-v5__contact {
    grid-template-columns: 1fr !important;
  }
}
/* FIX_INSCRIPCIONES_MOBIL_FIN */

/* FIX_INSCRIPCIONES_MOBIL_V2_INICIO: el truco de ancho completo (100vw +
   margen negativo) de .insc-compacta-v5 no funciona bien en celular porque
   su contenedor "main" tiene padding horizontal. Eso hacia que la seccion
   quedara corrida ~24px a la derecha y se cortara el texto. Se desactiva
   ese truco solo en celular. */
@media (max-width: 820px) {
  .insc-compacta-v5 {
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .insc-compacta-v5__wrap {
    width: 100% !important;
  }
}
/* FIX_INSCRIPCIONES_MOBIL_V2_FIN */

/* FIX_INSCRIPCIONES_MOBIL_V3_INICIO: capa extra de seguridad para que
   nada dentro de la seccion de Inscripciones (botones, tarjetas, avisos)
   pueda ser mas ancho que la pantalla en celular. */
@media (max-width: 820px) {
  .insc-compacta-v5,
  .insc-compacta-v5 * {
    max-width: 100% !important;
  }
  .insc-compacta-v5__actions {
    flex-direction: column !important;
  }
  .insc-compacta-v5__btn {
    width: 100% !important;
  }
}
/* FIX_INSCRIPCIONES_MOBIL_V3_FIN */

/* BOTONES_GRAFICOS_INICIO_INICIO: botones ilustrados de Inscripcion y Pago
   que reemplazan los botones planos de "Consultar inscripciones" y "Pagar
   por PSE" en el Inicio. */
/* MARCO_UNIFORME_BOTONES_INICIO: las 3 imagenes (Inscripcion, Pago PSE,
   Agendar visita) son PNG con fondo transparente. Se les da el MISMO ancho
   y alto a las 3 (antes cada una se dimensionaba segun su propia relacion
   de aspecto: 600x600 vs 700x466, quedando desparejas), SIN marco/caja
   blanca: la ilustracion flota directo sobre el fondo celeste de la
   seccion (pedido explicito de la duena tras ver el marco en vivo).
   object-fit:contain centra cada ilustracion completa dentro del area sin
   recortarla ni deformarla. */
.inicio-v6__btn-graphic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 250px;
  height: 210px;
  padding: 0;
  text-decoration: none;
  transition: transform .18s ease;
}
.inicio-v6__btn-graphic:hover {
  transform: translateY(-3px);
}
.inicio-v6__btn-graphic img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media (max-width: 480px) {
  .inicio-v6__btn-graphic {
    width: 200px;
    height: 168px;
  }
}
/* BOTONES_GRAFICOS_INICIO_FIN */

/* MEJORA_AGENDAR_VISITA_INICIO: centra los botones de la fila (en vez de
   estirarlos) y deja "Agendar visita" con un estilo solido y prominente,
   ya que ahora es el unico boton extra junto a los dos graficos. */
.inicio-v6__actions {
  align-items: center !important;
}
.inicio-v6__btn--agendar {
  background: linear-gradient(135deg, #ff9f43, #ff7f50);
  color: #fff !important;
  border: none;
  box-shadow: 0 8px 0 #d9711f;
  font-size: 1.02rem;
  padding: 16px 26px;
  min-height: 56px;
}
.inicio-v6__btn--agendar:hover {
  transform: translateY(-3px);
}
/* MEJORA_AGENDAR_VISITA_FIN */

/* FIX_SCROLLBAR_GUTTER_ANCHO_COMPLETO_INICIO: las secciones de ancho
   completo (100vw + margen negativo: zigzags, photobands) quedaban
   corridas unos px hacia la izquierda y el texto se veia cortado en
   pantallas con scroll vertical, porque 100vw incluye el ancho de la
   barra de scroll pero el 50% del calculo no. Con scrollbar-gutter:
   stable el navegador siempre reserva ese espacio, asi que 100vw y 100%
   quedan consistentes y el corte desaparece en TODAS las secciones de
   ancho completo del sitio, actuales y futuras. */
html {
  scrollbar-gutter: stable;
}
/* FIX_SCROLLBAR_GUTTER_ANCHO_COMPLETO_FIN */

/* FIX_ENTRYCONTENT_OVERFLOW_ANCHO_COMPLETO_INICIO: WordPress agrega
   automaticamente overflow-x:hidden a .entry-content y a la seccion
   contenedora (ambas de 760px) para las paginas de bloques
   "is-layout-constrained". Eso RECORTA cualquier seccion de ancho
   completo (100vw + margen negativo) que estuviera hecha dentro de esas
   paginas, aunque el propio elemento midiera el ancho correcto (por eso
   no se detectaba con getBoundingClientRect: el layout esta bien, lo que
   se recorta es la pintura visual). Se desactiva ese overflow SOLO en
   las paginas que tienen alguna seccion de ancho completo nuestra
   (zigzag o photoband), usando :has() para no tocar el resto del sitio. */
body:has(.mv__zigzag, .sipg__team-zigzag, .peduc__photoband, .peduc__zigzag, .snivclean__zigzag) .entry-content,
body:has(.mv__zigzag, .sipg__team-zigzag, .peduc__photoband, .peduc__zigzag, .snivclean__zigzag) .entry-content section,
body:has(.mv__zigzag, .sipg__team-zigzag, .peduc__photoband, .peduc__zigzag, .snivclean__zigzag) main.wp-block-group.alignfull {
  overflow-x: visible !important;
}
/* FIX_ENTRYCONTENT_OVERFLOW_ANCHO_COMPLETO_FIN */


/* FIX_TIPOGRAFIA_GLOBAL_UNIFICADA: unifica la tipografia de TODO el sitio con la que ya usaban las
   paginas de Nuestros Niveles / Mision y Valores (la que le gusta a la duena),
   en vez de dejar textos sueltos (titulos h1 en casi todas las paginas, y el
   texto completo de Servicios-indice y Contacto) sin esta regla, cayendo al
   font-family "sistema" por defecto de WordPress. */
body, h1, h2, h3, h4, h5, h6, p, li, blockquote, label, a, span, button, input, textarea {
  font-family: Nunito, "Trebuchet MS", "Segoe UI", Arial, sans-serif !important;
}


/* FIX_PASOS_INSCRIPCION_7_IMG_INICIO: grid limpio para las 7 imagenes de pasos de Inscripciones.
   Las imagenes ya son banners con todo el texto e ilustracion incluidos, por eso NO se les pone
   fondo ni marco extra (pedido explicito de la duena), solo se ordenan en grid con separacion. */
.insc-compacta-v5__steps-img {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.insc-compacta-v5__steps-img img {
  width: 100%;
  aspect-ratio: 16 / 7;
  display: block;
  border-radius: 20px;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 8px 18px rgba(82,39,139,.08);
}
@media (max-width: 820px) {
  .insc-compacta-v5__steps-img {
    grid-template-columns: 1fr;
  }
}
/* FIX_PASOS_INSCRIPCION_7_IMG_FIN */


/* FIX_GALERIA_FOTOS_SIN_RECORTE: las fotos de la Galeria (tarjetas tipo polaroid) usaban
   aspect-ratio:4/3 + object-fit:cover, lo que recortaba cualquier foto que no calzara
   exactamente esa proporcion (pedido de la duena: que no se corten). Se cambia a
   object-fit:contain, dejando el fondo blanco de la tarjeta como "marco" cuando la foto
   no llena el espacio -- encaja con el estilo polaroid que ya tenia border blanco. */
.page-id-12 .sgaleria__img {
  object-fit: contain !important;
  background: #fff;
}
/* FIN_FIX_GALERIA_FOTOS_SIN_RECORTE */


/* FIX_PEDUC_FOTOS_SIN_RECORTE: las fotos de Propuesta Educativa (patron zigzag/photoband,
   4 paginas: Aprender Jugando, Metodologia, Ingles, Desarrollo Integral) usaban
   aspect-ratio:16/10 + object-fit:cover, recortando cualquier foto que no calzara esa
   proporcion (pedido de la duena: que no se corten). Se cambia a object-fit:contain con
   un fondo suave para que la foto completa siempre se vea entera dentro del marco redondeado. */
.peduc__photoband > img,
.peduc__photoband__fade img {
  object-fit: contain !important;
  background: #f6f2fb;
}
/* FIN_FIX_PEDUC_FOTOS_SIN_RECORTE */


/* ===== FIX_MARCO_NIVELES_UNIFICADO_V1 (2026-08-16) =====
   Aplica el mismo marco tipo tarjeta que ya le encanta a la duena en
   "Nuestros Niveles" (fondo blanco, padding, radio, sombra en capas,
   borde sutil, overflow:hidden) a Misión y Valores, Nuestra Comunidad
   y Propuesta Educativa, para que TODO el sitio use el mismo lenguaje
   visual de foto. Tambien resuelve el hueco vertical raro cuando el
   texto es mas largo que la foto (align-items:flex-start + alto fijo
   por rango en vez de aspect-ratio rigido). Mantiene object-fit:contain
   (nunca recorta), solo cambia el marco/tarjeta alrededor.
*/
.mv__zigzag,
.sipg__team-zigzag,
.peduc__zigzag {
  align-items: flex-start !important;
}

.mv__zigzag__img,
.sipg__team-zigzag__img,
.peduc__photoband {
  position: relative !important;
  background: #ffffff !important;
  border-radius: 28px !important;
  padding: 14px !important;
  border: 1px solid rgba(80,43,128,.16) !important;
  box-shadow: 0 18px 42px rgba(80,43,128,.13) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  height: clamp(300px, 30vw, 440px) !important;
  width: 100% !important;
  aspect-ratio: unset !important;
  transition: transform .3s ease, box-shadow .3s ease;
}
.mv__zigzag__img:hover,
.sipg__team-zigzag__img:hover,
.peduc__photoband:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 54px rgba(80,43,128,.20) !important;
}

.mv__zigzag__img img,
.sipg__team-zigzag__img img,
.peduc__photoband > img,
.peduc__photoband__fade img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: unset !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  background: #f6f2fb !important;
  display: block !important;
}

@media (max-width: 820px) {
  .mv__zigzag__img,
  .sipg__team-zigzag__img,
  .peduc__photoband {
    height: clamp(220px, 60vw, 320px) !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }
  .mv__zigzag__img img,
  .sipg__team-zigzag__img img,
  .peduc__photoband > img,
  .peduc__photoband__fade img {
    border-radius: 14px !important;
  }
}
/* ===== FIN FIX_MARCO_NIVELES_UNIFICADO_V1 ===== */


/* ===== FIX_MARCO_NIVELES_UNIFICADO_V1_MOBILE_PATCH (2026-08-16) =====
   Corrige un bug real: cuando la fila pasa a flex-direction:column en
   movil, el flex-basis heredado (ej. "flex:1 1 44%") pasa a controlar
   el ALTO (eje principal en columna) en vez del ancho, colapsando la
   tarjeta de foto a una altura minuscula. Se fuerza flex:0 0 auto justo
   en el breakpoint real donde cada familia pasa a columna (no todas
   son iguales: Mision y Valores=900px, Nuestra Comunidad=780px,
   Propuesta Educativa=820px).
*/
@media (max-width: 900px) {
  .mv__zigzag__img {
    flex: 0 0 auto !important;
    height: clamp(200px, 55vw, 320px) !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }
  .mv__zigzag__img img { border-radius: 14px !important; }
}
@media (max-width: 780px) {
  .sipg__team-zigzag__img {
    flex: 0 0 auto !important;
    height: clamp(200px, 55vw, 320px) !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }
  .sipg__team-zigzag__img img { border-radius: 14px !important; }
}
@media (max-width: 820px) {
  .peduc__photoband {
    flex: 0 0 auto !important;
    height: clamp(200px, 55vw, 320px) !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }
  .peduc__photoband > img, .peduc__photoband__fade img { border-radius: 14px !important; }
}
/* ===== FIN FIX_MARCO_NIVELES_UNIFICADO_V1_MOBILE_PATCH ===== */


/* ===== FIX_MARCO_ALINEACION_DERECHA_Y_COVER_V1 (2026-08-16) =====
   La duena pidio: (1) TODAS las fotos a la derecha (sin alternar
   izquierda/derecha entre secciones), (2) que las FOTOS (no solo el
   marco) se vean del mismo tamano. 
   (1) Nuestra Comunidad--reverse (Administrativo) tenia la foto en el
   DOM primero y flex-direction:row, dejandola a la izquierda; se
   fuerza row-reverse para que quede a la derecha. Propuesta
   Educativa--reverse (Metodologia, Desarrollo Integral) tenia
   row-reverse (texto primero en el DOM, foto quedaba a la izquierda);
   se fuerza row para que la foto quede a la derecha. Misión y Valores
   ya mostraba ambas fotos a la derecha, no se toca.
   Ambas reglas SOLO aplican en desktop (por encima del punto exacto
   donde cada familia pasa a columna en movil) para no romper el
   apilado movil ya verificado.
   (2) object-fit pasa de contain a cover (igual que Niveles, que ya
   le gusta a la duena) para que la foto llene siempre el mismo marco
   sin dejar espacio de "letterbox" que la hacia ver mas chica.
*/
@media (min-width: 781px) {
  .sipg__team-zigzag--reverse {
    flex-direction: row-reverse !important;
  }
}
@media (min-width: 821px) {
  .peduc__zigzag--reverse {
    flex-direction: row !important;
  }
}

.mv__zigzag__img img,
.sipg__team-zigzag__img img,
.peduc__photoband > img,
.peduc__photoband__fade img {
  object-fit: cover !important;
  object-position: center !important;
}
/* ===== FIN FIX_MARCO_ALINEACION_DERECHA_Y_COVER_V1 ===== */
