/*
 * THEME 1B V1.0 — Odonto pediátrico integral
 * Solo presentación. Todos los colores de marca proceden de Identidad.
 */

:root[data-theme="odonto-pediatrico-1b"] {
    --tema-radio-xs: 14px;
    --tema-radio-sm: 20px;
    --tema-radio-md: 28px;
    --tema-radio-lg: 38px;
    --tema-sombra-suave: 0 16px 42px rgba(var(--identidad-texto-rgb), .09);
    --tema-sombra-postal: 0 26px 58px rgba(var(--identidad-principal-oscuro-rgb), .18);
    --tema-borde: rgba(var(--identidad-principal-rgb), .16);
    --tema-tinta-suave: rgba(var(--identidad-texto-rgb), .68);
}

html[data-theme="odonto-pediatrico-1b"] body {
    background:
        radial-gradient(circle at 4% 16%, rgba(var(--identidad-secundario-rgb), .17), transparent 20rem),
        radial-gradient(circle at 96% 42%, rgba(var(--identidad-acento-rgb), .10), transparent 23rem),
        var(--identidad-fondo);
}

/* Cabecera */
html[data-theme="odonto-pediatrico-1b"] .cedim-barra-superior {
    border: 0;
    background: var(--identidad-principal);
}

html[data-theme="odonto-pediatrico-1b"] .cabecera {
    position: sticky;
    top: 0;
    z-index: 120;
    border-bottom: 1px solid var(--tema-borde);
    background: rgba(var(--identidad-fondo-rgb), .95);
    box-shadow: 0 10px 34px rgba(var(--identidad-texto-rgb), .055);
    backdrop-filter: blur(12px);
}

html[data-theme="odonto-pediatrico-1b"] .cabecera .navegacion {
    min-height: 86px;
}

html[data-theme="odonto-pediatrico-1b"] .cabecera .marca img {
    max-width: 148px;
    max-height: 68px;
}

html[data-theme="odonto-pediatrico-1b"] .cabecera .menu > a:not(.boton),
html[data-theme="odonto-pediatrico-1b"] .cabecera .menu-enlace-padre {
    border-radius: 999px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

html[data-theme="odonto-pediatrico-1b"] .cabecera .menu > a:not(.boton):hover,
html[data-theme="odonto-pediatrico-1b"] .cabecera .menu > a:not(.boton):focus-visible,
html[data-theme="odonto-pediatrico-1b"] .cabecera .menu > a[aria-current="page"],
html[data-theme="odonto-pediatrico-1b"] .cabecera .menu-grupo-activo .menu-grupo-cabecera {
    color: var(--identidad-principal-oscuro);
    background: rgba(var(--identidad-secundario-rgb), .42);
}

html[data-theme="odonto-pediatrico-1b"] .cabecera .menu > .boton,
html[data-theme="odonto-pediatrico-1b"] .cabecera .menu > a.boton {
    border-radius: 18px 999px 999px 999px;
    box-shadow: 0 10px 24px rgba(var(--identidad-principal-rgb), .18);
}

html[data-theme="odonto-pediatrico-1b"] .submenu {
    border: 1px solid var(--tema-borde);
    border-radius: var(--tema-radio-sm);
    box-shadow: var(--tema-sombra-suave);
}

/* Hero Inicio — postal dinámica */
html[data-theme="odonto-pediatrico-1b"] .hero {
    min-height: 650px;
    overflow: hidden;
    color: var(--identidad-texto);
    background:
        radial-gradient(circle at 12% 22%, rgba(var(--identidad-secundario-rgb), .58), transparent 27%),
        radial-gradient(circle at 90% 18%, rgba(var(--identidad-acento-rgb), .22), transparent 26%),
        linear-gradient(120deg, var(--identidad-fondo), rgba(var(--identidad-secundario-rgb), .23));
}

html[data-theme="odonto-pediatrico-1b"] .hero::before,
html[data-theme="odonto-pediatrico-1b"] .hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    border-radius: 50%;
}

html[data-theme="odonto-pediatrico-1b"] .hero::before {
    width: 260px;
    height: 260px;
    left: -95px;
    top: 58px;
    border: 2px dashed rgba(var(--identidad-principal-rgb), .28);
}

html[data-theme="odonto-pediatrico-1b"] .hero::after {
    width: 390px;
    height: 390px;
    right: -150px;
    bottom: -190px;
    border: 74px solid rgba(var(--identidad-secundario-rgb), .22);
}

html[data-theme="odonto-pediatrico-1b"] .hero .slider {
    position: relative;
    z-index: 2;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva {
    padding: 58px 0 88px;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva-grid {
    min-height: 500px;
    grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
    gap: clamp(38px, 5vw, 76px);
}

html[data-theme="odonto-pediatrico-1b"] .hero .contenido-slide {
    position: relative;
    z-index: 4;
    padding: 26px 0;
}

html[data-theme="odonto-pediatrico-1b"] .hero .hero-etiqueta {
    margin-bottom: 18px;
    border: 1px dashed rgba(var(--identidad-principal-rgb), .42);
    color: var(--identidad-principal-oscuro);
    background: rgba(var(--identidad-fondo-rgb), .78);
    box-shadow: 0 8px 22px rgba(var(--identidad-texto-rgb), .05);
}

html[data-theme="odonto-pediatrico-1b"] .hero .hero-titulo-slide,
html[data-theme="odonto-pediatrico-1b"] .hero h1 {
    max-width: 680px;
    color: var(--identidad-texto) !important;
    font-size: clamp(2.75rem, 5.6vw, 5rem);
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

html[data-theme="odonto-pediatrico-1b"] .hero .texto-principal {
    max-width: 620px;
    color: var(--tema-tinta-suave) !important;
    font-size: clamp(1rem, 1.5vw, 1.14rem);
    line-height: 1.7;
}

html[data-theme="odonto-pediatrico-1b"] .hero .boton-claro {
    border: 0;
    border-radius: 18px 999px 999px 999px;
    color: var(--identidad-fondo);
    background: var(--identidad-principal);
    box-shadow: 0 12px 28px rgba(var(--identidad-principal-rgb), .22);
}

html[data-theme="odonto-pediatrico-1b"] .hero .boton-transparente {
    border: 1px dashed rgba(var(--identidad-principal-rgb), .38);
    border-radius: 999px 18px 999px 999px;
    color: var(--identidad-principal-oscuro);
    background: rgba(var(--identidad-fondo-rgb), .76);
}

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva {
    position: relative;
    z-index: 3;
    width: min(100%, 620px);
    max-width: 620px;
    aspect-ratio: 6 / 5;
    overflow: visible;
    border: 10px solid var(--identidad-fondo);
    border-radius: var(--tema-radio-lg);
    background: rgba(var(--identidad-secundario-rgb), .36);
    box-shadow: var(--tema-sombra-postal);
    transform-origin: center;
}

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::before,
html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: var(--tema-radio-md);
}

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::before {
    z-index: -2;
    inset: 8% -8% -8% 10%;
    background: rgba(var(--identidad-acento-rgb), .18);
    transform: rotate(5deg);
}

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::after {
    z-index: -1;
    inset: -5% 8% 8% -7%;
    border: 2px dashed rgba(var(--identidad-principal-rgb), .48);
    transform: rotate(-4deg);
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-fondo,
html[data-theme="odonto-pediatrico-1b"] .hero .imagen-velo {
    display: none;
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: calc(var(--tema-radio-lg) - 10px);
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal {
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: calc(var(--tema-radio-lg) - 10px);
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-fondo ~ .imagen-principal-picture .imagen-principal {
    object-fit: cover;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="1"] .marco-diapositiva {
    justify-self: end;
    transform: rotate(-1.7deg) translateY(-3px);
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="2"] .marco-diapositiva {
    justify-self: center;
    transform: rotate(2.1deg) translateY(8px);
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="3"] .marco-diapositiva {
    justify-self: end;
    transform: rotate(-.8deg) translate(-10px, 7px);
}

html[data-theme="odonto-pediatrico-1b"] .hero .slider-controles {
    bottom: 22px;
}

html[data-theme="odonto-pediatrico-1b"] .hero .slider-punto {
    width: 9px;
    height: 9px;
    background: rgba(var(--identidad-principal-rgb), .28) !important;
}

html[data-theme="odonto-pediatrico-1b"] .hero .slider-punto.activo,
html[data-theme="odonto-pediatrico-1b"] .hero .slider-punto[aria-current="true"] {
    width: 28px;
    background: var(--identidad-principal) !important;
}

html[data-theme="odonto-pediatrico-1b"] .hero .slider-flecha {
    width: 50px;
    height: 50px;
    border: 2px solid rgba(var(--identidad-principal-rgb), .20);
    color: var(--identidad-principal-oscuro);
    background: rgba(var(--identidad-fondo-rgb), .94);
    box-shadow: 0 10px 24px rgba(var(--identidad-texto-rgb), .10);
}

/* Franja de confianza */
html[data-theme="odonto-pediatrico-1b"] .franja {
    position: relative;
    z-index: 6;
    margin-top: -34px;
}

html[data-theme="odonto-pediatrico-1b"] .franja .franja-grid {
    overflow: hidden;
    border: 2px dashed rgba(var(--identidad-principal-rgb), .20);
    border-radius: 28px 28px 44px 28px;
    background: var(--identidad-fondo);
    box-shadow: var(--tema-sombra-suave);
}

html[data-theme="odonto-pediatrico-1b"] .franja .franja-item {
    background: transparent;
}

html[data-theme="odonto-pediatrico-1b"] .franja-icono,
html[data-theme="odonto-pediatrico-1b"] .franja-icono-svg {
    border-radius: 14px 20px 16px 20px;
}

/* Secciones y encabezados */
html[data-theme="odonto-pediatrico-1b"] .inicio-configurable .web-seccion,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticias-portada,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio,
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-seccion {
    position: relative;
    overflow: hidden;
}

html[data-theme="odonto-pediatrico-1b"] .inicio-configurable .web-seccion::after,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticias-portada::after,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 180px;
    height: 180px;
    right: -92px;
    top: 42px;
    border: 2px dashed rgba(var(--identidad-acento-rgb), .22);
    border-radius: 50%;
    pointer-events: none;
}

html[data-theme="odonto-pediatrico-1b"] .inicio-configurable .web-seccion > *,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticias-portada > *,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio > * {
    position: relative;
    z-index: 1;
}

html[data-theme="odonto-pediatrico-1b"] .web-etiqueta,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticias-etiqueta,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__etiqueta,
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-etiqueta {
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    color: var(--identidad-principal-oscuro);
    background: rgba(var(--identidad-secundario-rgb), .42);
    letter-spacing: .08em;
}

html[data-theme="odonto-pediatrico-1b"] .web-titulo,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticias-cabecera h2,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__titulo,
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-titulo {
    text-wrap: balance;
}

/* Tarjetas */
html[data-theme="odonto-pediatrico-1b"] .web-card,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticia-card,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__card,
html[data-theme="odonto-pediatrico-1b"] .especialidad,
html[data-theme="odonto-pediatrico-1b"] .servicio,
html[data-theme="odonto-pediatrico-1b"] .profesional,
html[data-theme="odonto-pediatrico-1b"] .colaborador-card {
    overflow: hidden;
    border: 2px solid rgba(var(--identidad-principal-rgb), .12);
    border-radius: var(--tema-radio-md);
    background: var(--identidad-fondo);
    box-shadow: var(--tema-sombra-suave);
}

html[data-theme="odonto-pediatrico-1b"] .web-card:nth-child(3n+1),
html[data-theme="odonto-pediatrico-1b"] .cedim-noticia-card:nth-child(3n+1),
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__card:nth-child(3n+1) {
    border-top-color: rgba(var(--identidad-principal-rgb), .52);
}

html[data-theme="odonto-pediatrico-1b"] .web-card:nth-child(3n+2),
html[data-theme="odonto-pediatrico-1b"] .cedim-noticia-card:nth-child(3n+2),
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__card:nth-child(3n+2) {
    border-top-color: rgba(var(--identidad-acento-rgb), .48);
}

html[data-theme="odonto-pediatrico-1b"] .web-card:nth-child(3n+3),
html[data-theme="odonto-pediatrico-1b"] .cedim-noticia-card:nth-child(3n+3),
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__card:nth-child(3n+3) {
    border-top-color: rgba(var(--identidad-secundario-rgb), .72);
}

html[data-theme="odonto-pediatrico-1b"] .web-card-media,
html[data-theme="odonto-pediatrico-1b"] .especialidad-imagen,
html[data-theme="odonto-pediatrico-1b"] .servicio-imagen,
html[data-theme="odonto-pediatrico-1b"] .profesional-foto,
html[data-theme="odonto-pediatrico-1b"] .colaborador-foto,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticia-imagen-enlace,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__imagen {
    background:
        radial-gradient(circle at 24% 20%, rgba(var(--identidad-secundario-rgb), .55), transparent 34%),
        rgba(var(--identidad-principal-rgb), .055);
}

html[data-theme="odonto-pediatrico-1b"] .web-card:hover,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticia-card:hover,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__card:hover,
html[data-theme="odonto-pediatrico-1b"] .especialidad:hover,
html[data-theme="odonto-pediatrico-1b"] .servicio:hover,
html[data-theme="odonto-pediatrico-1b"] .profesional:hover,
html[data-theme="odonto-pediatrico-1b"] .colaborador-card:hover {
    transform: translateY(-6px) rotate(-.25deg);
    border-color: rgba(var(--identidad-principal-rgb), .28);
    box-shadow: 0 24px 52px rgba(var(--identidad-principal-oscuro-rgb), .13);
}

html[data-theme="odonto-pediatrico-1b"] .web-card-enlace,
html[data-theme="odonto-pediatrico-1b"] .especialidad-enlace,
html[data-theme="odonto-pediatrico-1b"] .servicio-enlace,
html[data-theme="odonto-pediatrico-1b"] .profesional-enlace,
html[data-theme="odonto-pediatrico-1b"] .colaborador-enlace,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticia-leer,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__enlace {
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

/* Promociones */
html[data-theme="odonto-pediatrico-1b"] .inicio-promociones {
    background:
        radial-gradient(circle at 8% 18%, rgba(var(--identidad-acento-rgb), .18), transparent 26%),
        rgba(var(--identidad-secundario-rgb), .18);
}

html[data-theme="odonto-pediatrico-1b"] .inicio-promocion-slide {
    overflow: hidden;
    border: 2px dashed rgba(var(--identidad-principal-rgb), .20);
    border-radius: 36px 22px 36px 22px;
    background: var(--identidad-fondo);
    box-shadow: var(--tema-sombra-suave);
}

html[data-theme="odonto-pediatrico-1b"] .inicio-promocion-imagen {
    border-radius: 28px 18px 28px 18px;
}

html[data-theme="odonto-pediatrico-1b"] .inicio-promocion-detalle,
html[data-theme="odonto-pediatrico-1b"] .inicio-promocion-consulta,
html[data-theme="odonto-pediatrico-1b"] .inicio-promociones-enlace-todas,
html[data-theme="odonto-pediatrico-1b"] .cedim-blog-inicio__cta,
html[data-theme="odonto-pediatrico-1b"] .cedim-noticias-ver-todas {
    border-radius: 17px 999px 999px 999px;
}

/* FAQ */
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-bloque,
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-item {
    border-radius: var(--tema-radio-md);
}

html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-item[open] {
    border-color: rgba(var(--identidad-principal-rgb), .30);
    box-shadow: var(--tema-sombra-suave);
}

/* Hero interno */
html[data-theme="odonto-pediatrico-1b"] .hero-publico {
    min-height: 330px;
    color: var(--identidad-texto);
    background:
        radial-gradient(circle at 7% 20%, rgba(var(--identidad-secundario-rgb), .48), transparent 28%),
        radial-gradient(circle at 92% 18%, rgba(var(--identidad-acento-rgb), .18), transparent 26%),
        var(--identidad-fondo);
}

html[data-theme="odonto-pediatrico-1b"] .hero-publico__capa {
    background: linear-gradient(90deg, rgba(var(--identidad-fondo-rgb), .96), rgba(var(--identidad-fondo-rgb), .72));
}

html[data-theme="odonto-pediatrico-1b"] .hero-publico__migas,
html[data-theme="odonto-pediatrico-1b"] .hero-publico__descripcion,
html[data-theme="odonto-pediatrico-1b"] .hero-publico__meta {
    color: var(--tema-tinta-suave);
}

html[data-theme="odonto-pediatrico-1b"] .hero-publico__migas a,
html[data-theme="odonto-pediatrico-1b"] .hero-publico h1 {
    color: var(--identidad-texto);
}

html[data-theme="odonto-pediatrico-1b"] .hero-publico__etiqueta {
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    color: var(--identidad-principal-oscuro);
    background: rgba(var(--identidad-secundario-rgb), .42);
}

html[data-theme="odonto-pediatrico-1b"] .hero-publico__detalle {
    border-style: dashed;
    border-color: rgba(var(--identidad-principal-rgb), .24);
}

/* Galerías */
html[data-theme="odonto-pediatrico-1b"] .galeria-global-item,
html[data-theme="odonto-pediatrico-1b"] [data-galeria-global] img,
html[data-theme="odonto-pediatrico-1b"] .blog-galeria-item,
html[data-theme="odonto-pediatrico-1b"] .institucional-galeria-item {
    border-radius: 24px 18px 24px 18px;
}

/* Footer */
html[data-theme="odonto-pediatrico-1b"] .pie {
    position: relative;
    overflow: hidden;
    border-top: 0;
    color: var(--identidad-fondo);
    background:
        radial-gradient(circle at 10% 16%, rgba(var(--identidad-secundario-rgb), .18), transparent 26%),
        var(--identidad-principal-oscuro);
}

html[data-theme="odonto-pediatrico-1b"] .pie::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    top: -150px;
    right: 8%;
    border: 2px dashed rgba(var(--identidad-fondo-rgb), .24);
    border-radius: 50%;
    pointer-events: none;
}

html[data-theme="odonto-pediatrico-1b"] .pie a,
html[data-theme="odonto-pediatrico-1b"] .pie h2,
html[data-theme="odonto-pediatrico-1b"] .pie p,
html[data-theme="odonto-pediatrico-1b"] .pie .pie-legal {
    color: inherit;
}

html[data-theme="odonto-pediatrico-1b"] .pie-logo img {
    max-width: 176px;
    max-height: 96px;
    padding: 10px;
    border-radius: 22px;
    background: rgba(var(--identidad-fondo-rgb), .94);
}

html[data-theme="odonto-pediatrico-1b"] .pie-enlace-libro-reclamaciones,
html[data-theme="odonto-pediatrico-1b"] .credito-creativa {
    border-radius: 999px;
}

/* Estados de foco */
html[data-theme="odonto-pediatrico-1b"] a:focus-visible,
html[data-theme="odonto-pediatrico-1b"] button:focus-visible,
html[data-theme="odonto-pediatrico-1b"] summary:focus-visible {
    outline: 3px solid rgba(var(--identidad-acento-rgb), .72);
    outline-offset: 4px;
}

@media (max-width: 980px) {
    html[data-theme="odonto-pediatrico-1b"] .hero {
        min-height: auto;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva-grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
        gap: 32px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva {
        max-width: 480px;
    }
}

@media (max-width: 760px) {
    html[data-theme="odonto-pediatrico-1b"] .cabecera .navegacion {
        min-height: 72px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero {
        background:
            radial-gradient(circle at 84% 12%, rgba(var(--identidad-acento-rgb), .18), transparent 22%),
            linear-gradient(155deg, var(--identidad-fondo), rgba(var(--identidad-secundario-rgb), .26));
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva {
        padding: 32px 0 84px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva-grid {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .contenido-slide {
        padding: 4px 0 12px;
        text-align: left !important;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .hero-titulo-slide,
    html[data-theme="odonto-pediatrico-1b"] .hero h1 {
        max-width: 100%;
        font-size: clamp(2.35rem, 12vw, 3.55rem);
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .hero-botones {
        justify-content: flex-start !important;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva,
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal] .marco-diapositiva {
        width: min(91%, 430px);
        max-width: 430px;
        aspect-ratio: 5 / 4;
        justify-self: center;
        transform: rotate(-1.1deg);
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::before {
        inset: 7% -5% -6% 8%;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::after {
        inset: -4% 7% 7% -5%;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .slider-controles {
        bottom: 16px;
    }

    html[data-theme="odonto-pediatrico-1b"] .franja {
        margin-top: -20px;
    }

    html[data-theme="odonto-pediatrico-1b"] .franja .franja-grid {
        border-radius: 22px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero-publico {
        min-height: 250px;
    }
}

@media (max-width: 420px) {
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva {
        padding-top: 24px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva,
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal] .marco-diapositiva {
        width: 88%;
        border-width: 7px;
        border-radius: 28px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .hero-botones .boton {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme="odonto-pediatrico-1b"] *,
    html[data-theme="odonto-pediatrico-1b"] *::before,
    html[data-theme="odonto-pediatrico-1b"] *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* ==========================================================================
   THEME.1B — Identidad visual reforzada
   ========================================================================== */
:root[data-theme="odonto-pediatrico-1b"] {
    --tema-costura: rgba(var(--identidad-principal-rgb), .44);
    --tema-costura-suave: rgba(var(--identidad-principal-rgb), .25);
    --tema-tarjeta-a: color-mix(in srgb, var(--identidad-fondo) 88%, var(--identidad-secundario));
    --tema-tarjeta-b: color-mix(in srgb, var(--identidad-fondo) 90%, var(--identidad-acento));
    --tema-tarjeta-c: color-mix(in srgb, var(--identidad-fondo) 90%, var(--identidad-principal));
}

html[data-theme="odonto-pediatrico-1b"] .odonto1b-card {
    position: relative;
    isolation: isolate;
    border: 0 !important;
    border-radius: 28px 22px 30px 22px !important;
    box-shadow: 0 16px 38px rgba(var(--identidad-texto-rgb), .08) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 8;
    border-radius: inherit;
    pointer-events: none;
    background:
        linear-gradient(90deg,var(--tema-costura) 50%,transparent 0) repeat-x top left / 12px 2px,
        linear-gradient(90deg,var(--tema-costura) 50%,transparent 0) repeat-x bottom right / 12px 2px,
        linear-gradient(0deg,var(--tema-costura) 50%,transparent 0) repeat-y left bottom / 2px 12px,
        linear-gradient(0deg,var(--tema-costura) 50%,transparent 0) repeat-y right top / 2px 12px;
    animation: odonto1b-costura-legacy 12s linear infinite;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card[data-tema-variante="1"] { background: var(--tema-tarjeta-a) !important; }
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card[data-tema-variante="2"] { background: var(--tema-tarjeta-b) !important; }
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card[data-tema-variante="3"] { background: var(--tema-tarjeta-c) !important; }
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:hover {
    transform: translateY(-7px) rotate(-.35deg) !important;
    box-shadow: 0 26px 54px rgba(var(--identidad-principal-oscuro-rgb), .15) !important;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:hover::after { animation-duration: 3.8s; }
@keyframes odonto1b-costura-legacy {
    to { background-position: 24px 0,-24px 100%,0 -24px,100% 24px; }
}

/* Tarjetas de listados: imagen con recorte de postal y cuerpo más expresivo */
html[data-theme="odonto-pediatrico-1b"] :is(.especialidad-imagen,.servicio-imagen,.profesional-foto,.colaborador-foto,.promocion-card-imagen,.blog-card-imagen,.cedim-noticia-imagen-enlace,.cedim-blog-inicio__imagen) {
    overflow: hidden;
    border-radius: 24px 18px 22px 16px;
    margin: 10px 10px 0;
}
html[data-theme="odonto-pediatrico-1b"] :is(.especialidad-contenido,.servicio-contenido,.profesional-contenido,.colaborador-contenido,.promocion-card-contenido,.blog-card-cuerpo,.cedim-blog-inicio__cuerpo) {
    padding-left: clamp(20px,3vw,28px);
    padding-right: clamp(20px,3vw,28px);
}
html[data-theme="odonto-pediatrico-1b"] :is(.especialidad h2,.servicio h2,.profesional h2,.colaborador-card h2,.promocion-card h2,.blog-card h2,.cedim-blog-inicio__card h3) {
    letter-spacing: -.025em;
    text-wrap: balance;
}

/* Páginas y secciones: curvas y separadores más visibles */
html[data-theme="odonto-pediatrico-1b"] :is(.especialidades-seccion,.servicios-seccion,.profesionales-seccion,.colaboradores-seccion,.promociones-listado,.blog-listado,.faq-publica-contenido,.institucional-seccion,.ppub-seccion) {
    position: relative;
}
html[data-theme="odonto-pediatrico-1b"] :is(.especialidades-seccion,.servicios-seccion,.profesionales-seccion,.colaboradores-seccion,.promociones-listado,.blog-listado,.faq-publica-contenido)::before {
    content: "";
    position: absolute;
    width: 130px;
    height: 72px;
    right: 4%;
    top: 24px;
    border: 2px dashed rgba(var(--identidad-acento-rgb), .30);
    border-radius: 52% 48% 62% 38%;
    transform: rotate(8deg);
    pointer-events: none;
}
html[data-theme="odonto-pediatrico-1b"] :is(.institucional-mvv-card,.institucional-ruta,.ppub-tarjeta,.faq-publica-item) {
    background: color-mix(in srgb,var(--identidad-fondo) 90%,var(--identidad-secundario)) !important;
}
html[data-theme="odonto-pediatrico-1b"] .institucional-fotografia {
    padding: 8px;
    background: var(--identidad-fondo);
}
html[data-theme="odonto-pediatrico-1b"] .institucional-fotografia:nth-child(even) { transform: rotate(.55deg); }
html[data-theme="odonto-pediatrico-1b"] .institucional-fotografia:nth-child(odd) { transform: rotate(-.55deg); }

/* Botones/enlaces: rasgo común del tema */
html[data-theme="odonto-pediatrico-1b"] :is(.boton,.especialidad-enlace,.servicio-enlace,.profesional-enlace,.colaborador-enlace,.promocion-card-detalle,.blog-card-enlace,.cedim-blog-inicio__enlace,.institucional-boton,.ppub-boton) {
    border-radius: 16px 999px 999px 999px !important;
}
html[data-theme="odonto-pediatrico-1b"] :is(.especialidad-enlace,.servicio-enlace,.profesional-enlace,.colaborador-enlace,.blog-card-enlace,.cedim-blog-inicio__enlace) {
    text-decoration-style: dotted;
    text-decoration-thickness: 2px;
}

/* FAQ: cada pregunta se siente tarjeta, no lista neutra */
html[data-theme="odonto-pediatrico-1b"] .faq-publica-item,
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-item {
    margin-bottom: 12px;
    overflow: hidden;
}
html[data-theme="odonto-pediatrico-1b"] .faq-publica-item[open],
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-item[open] {
    background: color-mix(in srgb,var(--identidad-fondo) 86%,var(--identidad-acento)) !important;
}

/* Promociones: panel destacado como gran postal */
html[data-theme="odonto-pediatrico-1b"] .promocion-destacada,
html[data-theme="odonto-pediatrico-1b"] .ficha-promocion-grid {
    border: 2px dashed rgba(var(--identidad-principal-rgb), .36);
    border-radius: 38px 24px 38px 24px;
    background: color-mix(in srgb,var(--identidad-fondo) 90%,var(--identidad-secundario));
    box-shadow: var(--tema-sombra-suave);
}

/* Hero interno: marco más reconocible */
html[data-theme="odonto-pediatrico-1b"] .hero-publico__detalle {
    border-width: 2px;
    border-radius: 26px 18px 30px 18px;
    box-shadow: 0 18px 42px rgba(var(--identidad-texto-rgb), .08);
}

/* Footer: costura superior */
html[data-theme="odonto-pediatrico-1b"] .pie::after {
    content: "";
    position: absolute;
    inset: 12px 2.5% auto;
    height: 2px;
    opacity: .5;
    background: repeating-linear-gradient(90deg,rgba(var(--identidad-fondo-rgb),.72) 0 7px,transparent 7px 14px);
    animation: odonto1b-footer-costura 10s linear infinite;
}
@keyframes odonto1b-footer-costura { to { background-position: 28px 0; } }

/* Fondos fotográficos administrables: mantener legibilidad de secciones */
html[data-theme="odonto-pediatrico-1b"][data-theme-page="principal"] body,
html[data-theme="odonto-pediatrico-1b"][data-theme-page="secundaria"] body { background-attachment: fixed; }
html[data-theme="odonto-pediatrico-1b"][data-theme-page="principal"] :is(main,.institucional-seccion,.ppub-seccion),
html[data-theme="odonto-pediatrico-1b"][data-theme-page="secundaria"] :is(main,.institucional-seccion,.ppub-seccion) { background-color: transparent; }

@media (max-width:760px) {
    html[data-theme="odonto-pediatrico-1b"] .odonto1b-card::after { animation-duration: 16s; }
    html[data-theme="odonto-pediatrico-1b"] :is(.especialidad-imagen,.servicio-imagen,.profesional-foto,.colaborador-foto,.promocion-card-imagen,.blog-card-imagen,.cedim-noticia-imagen-enlace,.cedim-blog-inicio__imagen) { margin: 7px 7px 0; }
    html[data-theme="odonto-pediatrico-1b"][data-theme-page="principal"] body,
    html[data-theme="odonto-pediatrico-1b"][data-theme-page="secundaria"] body { background-attachment: scroll; }
}
@media (prefers-reduced-motion:reduce) {
    html[data-theme="odonto-pediatrico-1b"] .odonto1b-card::after,
    html[data-theme="odonto-pediatrico-1b"] .pie::after { animation:none!important; }
}


/* ========================================================================== 
   ODONTO PEDIÁTRICO 1B · V1.0.0
   Capa integral de identidad. Solo presentación; no altera datos ni lógica.
   ========================================================================== */
:root[data-theme="odonto-pediatrico-1b"] {
    --od1b-radius-xs: 14px;
    --od1b-radius-sm: 20px;
    --od1b-radius-md: 28px;
    --od1b-radius-lg: 42px;
    --od1b-thread: rgba(var(--identidad-principal-rgb), .52);
    --od1b-thread-soft: rgba(var(--identidad-principal-rgb), .25);
    --od1b-thread-accent: rgba(var(--identidad-acento-rgb), .52);
    --od1b-panel: color-mix(in srgb, var(--identidad-fondo) 93%, var(--identidad-secundario));
    --od1b-panel-accent: color-mix(in srgb, var(--identidad-fondo) 91%, var(--identidad-acento));
    --od1b-ink-soft: color-mix(in srgb, var(--identidad-texto) 70%, transparent);
    --od1b-shadow: 0 18px 50px rgba(var(--identidad-texto-rgb), .10);
    --od1b-shadow-hover: 0 28px 68px rgba(var(--identidad-principal-oscuro-rgb), .16);
    --od1b-sweep-duration: 440ms;
}

html[data-theme="odonto-pediatrico-1b"] {
    scroll-behavior: smooth;
}

/* Fondo general: luminoso, con profundidad discreta y sin hardcodear marca. */
html[data-theme="odonto-pediatrico-1b"] body {
    background-color: var(--identidad-fondo);
    background-image:
        radial-gradient(circle at 6% 8%, rgba(var(--identidad-secundario-rgb), .18), transparent 20rem),
        radial-gradient(circle at 94% 28%, rgba(var(--identidad-acento-rgb), .10), transparent 25rem),
        radial-gradient(circle at 38% 84%, rgba(var(--identidad-principal-rgb), .055), transparent 30rem);
    background-attachment: fixed;
}

/* --------------------------------------------------------------------------
   Hilo dental / costura: borde completo en movimiento
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .odonto1b-stitch {
    position: relative;
    isolation: isolate;
}

html[data-theme="odonto-pediatrico-1b"] .odonto1b-stitch::after {
    content: "";
    position: absolute;
    inset: 3px;
    z-index: 8;
    border-radius: inherit;
    pointer-events: none;
    opacity: .86;
    background:
        linear-gradient(90deg, var(--od1b-thread) 55%, transparent 0) repeat-x left top / 14px 2px,
        linear-gradient(90deg, var(--od1b-thread) 55%, transparent 0) repeat-x right bottom / 14px 2px,
        linear-gradient(0deg, var(--od1b-thread) 55%, transparent 0) repeat-y left bottom / 2px 14px,
        linear-gradient(0deg, var(--od1b-thread) 55%, transparent 0) repeat-y right top / 2px 14px;
    animation: od1b-thread-loop 9s linear infinite;
}

@keyframes od1b-thread-loop {
    to { background-position: 28px 0, -28px 100%, 0 -28px, 100% 28px; }
}

html[data-theme="odonto-pediatrico-1b"] .odonto1b-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 0 !important;
    border-radius: var(--od1b-radius-md) !important;
    box-shadow: var(--od1b-shadow) !important;
    transition: transform .26s ease, box-shadow .26s ease, background-color .26s ease !important;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card[data-od1b-tilt="1"] { transform: rotate(-.35deg); }
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card[data-od1b-tilt="2"] { transform: rotate(.38deg); }
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card[data-od1b-tilt="3"] { transform: rotate(-.16deg); }
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:hover,
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:focus-within {
    transform: translateY(-6px) rotate(0deg) !important;
    box-shadow: var(--od1b-shadow-hover) !important;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:hover::after,
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:focus-within::after { animation-duration: 3.4s; }

/* --------------------------------------------------------------------------
   Header / navegación: cápsula clínica y submenú de postal
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .cabecera {
    border-bottom: 0;
    background: color-mix(in srgb, var(--identidad-fondo) 90%, transparent);
    box-shadow: 0 12px 36px rgba(var(--identidad-texto-rgb), .065);
    backdrop-filter: blur(16px) saturate(1.15);
}
html[data-theme="odonto-pediatrico-1b"] .cabecera::after {
    content: "";
    position: absolute;
    left: 4%; right: 4%; bottom: 0;
    height: 2px;
    opacity: .35;
    pointer-events: none;
    background: repeating-linear-gradient(90deg, var(--od1b-thread) 0 7px, transparent 7px 15px);
}
html[data-theme="odonto-pediatrico-1b"] .submenu {
    overflow: hidden;
    border: 2px dashed var(--od1b-thread-soft);
    background: color-mix(in srgb, var(--identidad-fondo) 96%, transparent);
    backdrop-filter: blur(14px);
}

/* --------------------------------------------------------------------------
   Hero de Inicio: fotografía suspendida + profundidad; motor del carrusel intacto
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .hero {
    min-height: clamp(620px, 76vh, 800px);
    border-radius: 0 0 clamp(34px, 6vw, 84px) clamp(34px, 6vw, 84px);
    background:
        radial-gradient(circle at 13% 21%, rgba(var(--identidad-secundario-rgb), .64), transparent 30%),
        radial-gradient(circle at 89% 18%, rgba(var(--identidad-acento-rgb), .23), transparent 25%),
        radial-gradient(circle at 73% 82%, rgba(var(--identidad-principal-rgb), .11), transparent 30%),
        linear-gradient(125deg, var(--identidad-fondo), color-mix(in srgb, var(--identidad-fondo) 72%, var(--identidad-secundario)));
}
html[data-theme="odonto-pediatrico-1b"] .hero::before {
    width: 310px; height: 310px; left: -115px; top: 62px;
    border: 2px dashed var(--od1b-thread-soft);
    animation: od1b-orbit 18s linear infinite;
}
html[data-theme="odonto-pediatrico-1b"] .hero::after {
    width: 440px; height: 440px; right: -170px; bottom: -210px;
    border: 86px solid rgba(var(--identidad-secundario-rgb), .23);
    animation: od1b-breathe 7s ease-in-out infinite;
}
@keyframes od1b-orbit { to { transform: rotate(360deg); } }
@keyframes od1b-breathe { 50% { transform: scale(1.045); opacity: .82; } }

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva {
    transform: rotate(-1.1deg);
    border-radius: 44px 30px 48px 32px;
    box-shadow: 0 32px 72px rgba(var(--identidad-principal-oscuro-rgb), .18);
}
html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture {
    animation: od1b-photo-float 6.4s ease-in-out infinite;
    will-change: transform;
}
html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::before {
    animation: od1b-frame-float 8.2s ease-in-out infinite reverse;
}
html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::after {
    border-color: var(--od1b-thread);
    animation: od1b-frame-float 9.4s ease-in-out infinite;
}
@keyframes od1b-photo-float {
    0%,100% { transform: translate3d(0,0,0) rotate(.15deg); }
    50% { transform: translate3d(0,-13px,0) rotate(-.35deg); }
}
@keyframes od1b-frame-float {
    0%,100% { translate: 0 0; }
    50% { translate: 0 8px; }
}

html[data-theme="odonto-pediatrico-1b"] .hero .hero-etiqueta,
html[data-theme="odonto-pediatrico-1b"] :is(.web-etiqueta,.institucional-etiqueta,.ppub-kicker,.blog-sobrelinea,.noticia-etiqueta,.cedim-404-etiqueta,.lr-kicker) {
    border: 1px dashed var(--od1b-thread-soft);
    border-radius: 999px;
    background: color-mix(in srgb, var(--identidad-fondo) 76%, var(--identidad-secundario));
    box-shadow: 0 8px 22px rgba(var(--identidad-texto-rgb), .045);
}


html[data-theme="odonto-pediatrico-1b"] :is(.hero,.hero-publico) .od1b-spark {
    position: absolute;
    z-index: 3;
    width: clamp(30px, 4vw, 58px);
    height: auto;
    right: clamp(18px, 7vw, 110px);
    top: clamp(28px, 12%, 86px);
    color: var(--identidad-acento);
    opacity: .72;
    pointer-events: none;
    filter: drop-shadow(0 10px 14px rgba(var(--identidad-acento-rgb), .14));
    animation: od1b-spark-float 5.8s ease-in-out infinite;
}
@keyframes od1b-spark-float { 50% { transform: translateY(-8px) rotate(8deg) scale(1.05); } }

/* --------------------------------------------------------------------------
   Títulos: subrayado gráfico / hilo odontológico
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] :is(
    .web-titulo,.encabezado h1,.encabezado h2,.encabezado-seccion h2,.listado-cabecera h1,
    .promociones-encabezado h1,.blog-listado-cabecera h1,.faq-publica-grupo-cabecera h2,
    .institucional-encabezado h2,.ppub-seccion h2,.contacto-seccion h2,.lr-bloque h2,
    .cedim-404 h1,.hero-publico h1
) {
    position: relative;
    text-wrap: balance;
}
html[data-theme="odonto-pediatrico-1b"] :is(
    .web-titulo,.encabezado-seccion h2,.faq-publica-grupo-cabecera h2,.institucional-encabezado h2,
    .ppub-seccion h2,.contacto-seccion h2,.lr-bloque h2
)::after {
    content: "";
    display: block;
    width: clamp(52px, 8vw, 96px);
    height: 7px;
    margin-top: 10px;
    border-radius: 999px;
    background: repeating-linear-gradient(90deg, var(--od1b-thread-accent) 0 9px, transparent 9px 15px);
}

/* --------------------------------------------------------------------------
   Botones: cápsula suave con respuesta física mínima
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] :is(
    .boton,.lr-boton,.ppub-boton,.institucional-boton,.contacto-boton,.red-boton,
    .promocion-card-detalle,.promocion-card-consulta,.boton-promocion,.cedim-404-boton
) {
    border-radius: 18px 999px 999px 999px !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
html[data-theme="odonto-pediatrico-1b"] :is(
    .boton,.lr-boton,.ppub-boton,.institucional-boton,.contacto-boton,.red-boton,
    .promocion-card-detalle,.promocion-card-consulta,.boton-promocion,.cedim-404-boton
):hover { transform: translateY(-2px); }
html[data-theme="odonto-pediatrico-1b"] :is(
    .boton,.lr-boton,.ppub-boton,.institucional-boton,.contacto-boton,.red-boton,
    .promocion-card-detalle,.promocion-card-consulta,.boton-promocion,.cedim-404-boton
):active { transform: translateY(1px) scale(.99); }

/* --------------------------------------------------------------------------
   Páginas interiores: hero, migas, paneles y detalles
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .hero-publico {
    min-height: clamp(260px, 32vw, 410px);
    overflow: hidden;
    border-radius: 0 0 clamp(32px, 5vw, 68px) clamp(32px, 5vw, 68px);
    background:
        radial-gradient(circle at 15% 25%, rgba(var(--identidad-secundario-rgb), .50), transparent 28%),
        radial-gradient(circle at 84% 32%, rgba(var(--identidad-acento-rgb), .16), transparent 27%),
        linear-gradient(120deg, color-mix(in srgb, var(--identidad-fondo) 91%, var(--identidad-secundario)), var(--identidad-fondo));
}
html[data-theme="odonto-pediatrico-1b"] .hero-publico::after {
    content: "";
    position: absolute;
    width: 170px; height: 170px;
    right: 5%; top: 20%;
    border-radius: 43% 57% 58% 42%;
    border: 2px dashed var(--od1b-thread-soft);
    transform: rotate(11deg);
    pointer-events: none;
}
html[data-theme="odonto-pediatrico-1b"] .hero-publico__detalle {
    border: 0;
    border-radius: 28px 20px 32px 22px;
    background: color-mix(in srgb, var(--identidad-fondo) 86%, transparent);
    backdrop-filter: blur(12px);
}
html[data-theme="odonto-pediatrico-1b"] .miga,
html[data-theme="odonto-pediatrico-1b"] .migas {
    border-radius: 999px;
}

/* Listados clínicos y editoriales */
html[data-theme="odonto-pediatrico-1b"] :is(
    .especialidades-grid,.servicios-grid,.profesionales-grid,.colaboradores-grid,.promociones-grid,
    .blog-grid,.noticias-grid,.web-grid,.institucional-mvv-grid,.institucional-rutas,.mas-opciones,.equipo-opciones
) { gap: clamp(18px, 2.4vw, 30px); }

html[data-theme="odonto-pediatrico-1b"] :is(
    .especialidad-imagen,.servicio-imagen,.profesional-foto,.colaborador-foto,.promocion-card-imagen,
    .blog-card-imagen,.noticia-imagen,.web-card-media,.ficha-promocion-imagen,.foto-principal,.presentacion-imagen
) img {
    transition: transform .45s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:hover :is(
    .especialidad-imagen,.servicio-imagen,.profesional-foto,.colaborador-foto,.promocion-card-imagen,
    .blog-card-imagen,.noticia-imagen,.web-card-media
) img { transform: scale(1.035) rotate(.15deg); }

/* Detalles / fichas */
html[data-theme="odonto-pediatrico-1b"] :is(
    .ficha-detalle,.ficha-profesional,.ficha-especialidad,.ficha-servicio,.ficha-colaborador,
    .ficha-promocion-grid,.presentacion,.presentacion-colaborador,.bloque-perfil,.tarjeta-lateral,
    .noticia-contenido,.blog-articulo-ancho,.legal-contenido,.panel-contacto,.red-contenido-caja
) {
    border-radius: var(--od1b-radius-lg);
}
html[data-theme="odonto-pediatrico-1b"] :is(.foto-principal,.presentacion-imagen,.ficha-promocion-imagen) {
    border-radius: 36px 24px 40px 26px;
    box-shadow: var(--od1b-shadow);
}

/* FAQ */
html[data-theme="odonto-pediatrico-1b"] .faq-publica-item,
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-item {
    border-radius: 24px 18px 28px 20px !important;
    transition: transform .2s ease, background-color .2s ease !important;
}
html[data-theme="odonto-pediatrico-1b"] .faq-publica-item[open],
html[data-theme="odonto-pediatrico-1b"] .cedim-faq-inicio-item[open] {
    transform: translateX(4px);
}

/* Formularios / Contacto / Reclamaciones: suaves, pero funcionalidad intacta */
html[data-theme="odonto-pediatrico-1b"] :is(.panel-contacto,.lr-form,.lr-bloque,.contacto-dato,.red-resumen-card) {
    border-radius: 28px 20px 32px 22px;
    box-shadow: 0 14px 38px rgba(var(--identidad-texto-rgb), .07);
}
html[data-theme="odonto-pediatrico-1b"] :is(.lr-campo input,.lr-campo select,.lr-campo textarea,.contacto-seccion input,.contacto-seccion textarea,.contacto-seccion select) {
    border-radius: 16px !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
html[data-theme="odonto-pediatrico-1b"] :is(.lr-campo input,.lr-campo select,.lr-campo textarea,.contacto-seccion input,.contacto-seccion textarea,.contacto-seccion select):focus {
    box-shadow: 0 0 0 4px rgba(var(--identidad-principal-rgb), .12);
}

/* Institucional / Nosotros / personalizadas */
html[data-theme="odonto-pediatrico-1b"] :is(.institucional-mvv-card,.institucional-ruta,.institucional-fotografia,.ppub-tarjeta,.mas-card,.equipo-card) {
    border-radius: 30px 22px 34px 24px !important;
}
html[data-theme="odonto-pediatrico-1b"] .institucional-slide-contenido {
    border-radius: 30px 22px 34px 24px;
    background: color-mix(in srgb, var(--identidad-fondo) 72%, transparent);
    backdrop-filter: blur(10px);
}
html[data-theme="odonto-pediatrico-1b"] .institucional-fotografia:nth-child(3n+1) { transform: rotate(-.65deg); }
html[data-theme="odonto-pediatrico-1b"] .institucional-fotografia:nth-child(3n+2) { transform: rotate(.55deg); }
html[data-theme="odonto-pediatrico-1b"] .institucional-fotografia:nth-child(3n) { transform: rotate(-.15deg); }

/* Galerías: postal y controles visibles */
html[data-theme="odonto-pediatrico-1b"] :is(.cg-galeria-tarjeta,.galeria-global-item,.blog-galeria-item) {
    border-radius: 26px 20px 30px 22px;
    box-shadow: 0 14px 38px rgba(var(--identidad-texto-rgb), .08);
}
html[data-theme="odonto-pediatrico-1b"] .cg-galeria-modal-nav {
    border-radius: 999px;
}

/* 404: ilustración decorativa inyectada por theme.js; contenido original intacto. */
html[data-theme="odonto-pediatrico-1b"] .cedim-404 {
    position: relative;
    overflow: hidden;
    min-height: min(720px, calc(100vh - 160px));
    padding-top: clamp(52px, 8vw, 100px);
    padding-bottom: clamp(52px, 8vw, 100px);
}
html[data-theme="odonto-pediatrico-1b"] .cedim-404 .contenedor {
    position: relative;
    z-index: 2;
}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-visual {
    width: min(360px, 78vw);
    aspect-ratio: 1;
    margin: 0 auto 24px;
    position: relative;
    display: grid;
    place-items: center;
    pointer-events: none;
}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-visual::before,
html[data-theme="odonto-pediatrico-1b"] .od1b-404-visual::after {
    content: "";
    position: absolute;
    inset: 12%;
    border: 2px dashed var(--od1b-thread);
    border-radius: 50%;
    animation: od1b-404-orbit 14s linear infinite;
}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-visual::after {
    inset: 25%;
    border-color: var(--od1b-thread-accent);
    animation-direction: reverse;
    animation-duration: 9s;
}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-tooth {
    width: 42%;
    height: auto;
    filter: drop-shadow(0 20px 22px rgba(var(--identidad-principal-rgb), .18));
    animation: od1b-404-float 5.5s ease-in-out infinite;
}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-dot {
    position: absolute;
    width: 18px; height: 18px;
    border-radius: 50%;
    background: var(--identidad-acento);
    box-shadow: 0 0 0 8px rgba(var(--identidad-acento-rgb), .12);
}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-dot:nth-child(2){left:12%;top:35%;}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-dot:nth-child(3){right:10%;top:22%;width:12px;height:12px;background:var(--identidad-principal);}
html[data-theme="odonto-pediatrico-1b"] .od1b-404-dot:nth-child(4){right:22%;bottom:12%;width:14px;height:14px;background:var(--identidad-secundario);}
@keyframes od1b-404-orbit { to { transform: rotate(360deg); } }
@keyframes od1b-404-float { 50% { transform: translateY(-12px) rotate(2deg); } }

/* --------------------------------------------------------------------------
   Reveal tipo lámina: solo se activa cuando JS añade od1b-motion-ready.
   Contenido visible por defecto sin JS.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"].od1b-motion-ready .od1b-reveal {
    opacity: 0;
    transform: translate3d(0, 26px, 0) scale(.988);
    transition: opacity .48s ease, transform .52s cubic-bezier(.2,.7,.2,1);
}
html[data-theme="odonto-pediatrico-1b"].od1b-motion-ready .od1b-reveal[data-od1b-reveal="left"] { transform: translate3d(-34px, 0, 0) rotate(-.35deg); }
html[data-theme="odonto-pediatrico-1b"].od1b-motion-ready .od1b-reveal[data-od1b-reveal="right"] { transform: translate3d(34px, 0, 0) rotate(.35deg); }
html[data-theme="odonto-pediatrico-1b"].od1b-motion-ready .od1b-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* --------------------------------------------------------------------------
   Barrido entre páginas: overlay decorativo creado por JS.
   -------------------------------------------------------------------------- */
.od1b-page-sweep {
    position: fixed;
    inset: 0;
    z-index: 1800;
    pointer-events: none;
    transform: translate3d(-105%,0,0);
    background:
        radial-gradient(circle at 75% 28%, rgba(var(--identidad-acento-rgb), .32), transparent 24%),
        radial-gradient(circle at 22% 76%, rgba(var(--identidad-secundario-rgb), .34), transparent 27%),
        linear-gradient(110deg, var(--identidad-principal), color-mix(in srgb, var(--identidad-principal) 64%, var(--identidad-secundario)));
    transition: transform var(--od1b-sweep-duration) cubic-bezier(.65,0,.25,1);
    will-change: transform;
}
.od1b-page-sweep::after {
    content: "";
    position: absolute;
    right: -9vw; top: -15vh;
    width: 34vw; height: 130vh;
    border-radius: 50%;
    border: 3px dashed rgba(var(--identidad-fondo-rgb), .48);
}
.od1b-page-sweep.is-resetting { transition: none !important; }
.od1b-page-sweep.is-covering { transform: translate3d(0,0,0); }
.od1b-page-sweep.is-leaving { transform: translate3d(105%,0,0); }

/* Footer: onda visual + hilo superior */
html[data-theme="odonto-pediatrico-1b"] .pie {
    position: relative;
    overflow: hidden;
    border-radius: clamp(34px, 5vw, 70px) clamp(34px, 5vw, 70px) 0 0;
}
html[data-theme="odonto-pediatrico-1b"] .pie::before {
    content: "";
    position: absolute;
    width: 320px; height: 320px;
    right: -120px; top: -180px;
    border-radius: 50%;
    border: 58px solid rgba(var(--identidad-fondo-rgb), .08);
    pointer-events: none;
}

/* Focus: nunca sacrificar accesibilidad al estilo. */
html[data-theme="odonto-pediatrico-1b"] :focus-visible {
    outline: 3px solid color-mix(in srgb, var(--identidad-acento) 76%, var(--identidad-principal));
    outline-offset: 4px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 980px) {
    html[data-theme="odonto-pediatrico-1b"] body { background-attachment: scroll; }
    html[data-theme="odonto-pediatrico-1b"] .hero { min-height: auto; }
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva-grid { grid-template-columns: 1fr; gap: 30px; }
    html[data-theme="odonto-pediatrico-1b"] .hero .contenido-slide { text-align: center; }
    html[data-theme="odonto-pediatrico-1b"] .hero .hero-etiqueta { margin-left: auto; margin-right: auto; }
    html[data-theme="odonto-pediatrico-1b"] .hero .hero-botones { justify-content: center !important; }
    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva { justify-self: center !important; }
}

@media (max-width: 760px) {
    :root[data-theme="odonto-pediatrico-1b"] { --od1b-radius-lg: 30px; }
    html[data-theme="odonto-pediatrico-1b"] .odonto1b-card[data-od1b-tilt] { transform: none; }
    html[data-theme="odonto-pediatrico-1b"] .odonto1b-stitch::after { animation-duration: 14s; }
    html[data-theme="odonto-pediatrico-1b"] .hero::before { width: 190px; height: 190px; left: -95px; }
    html[data-theme="odonto-pediatrico-1b"] .hero::after { width: 280px; height: 280px; right: -150px; bottom: -130px; border-width: 48px; }
    html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture { animation-duration: 7.5s; }
    html[data-theme="odonto-pediatrico-1b"] .hero-publico::after { width: 110px; height: 110px; right: -25px; }
    .od1b-page-sweep::after { width: 70vw; right: -28vw; }
}

@media (max-width: 420px) {
    html[data-theme="odonto-pediatrico-1b"] .hero .hero-titulo-slide,
    html[data-theme="odonto-pediatrico-1b"] .hero h1 { font-size: clamp(2.25rem, 13vw, 3.2rem); }
    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva { width: 91%; border-width: 7px; }
    html[data-theme="odonto-pediatrico-1b"] .hero .hero-botones .boton { width: 100%; justify-content: center; }
    html[data-theme="odonto-pediatrico-1b"] .od1b-404-visual { width: min(290px, 86vw); }
}

/* Movimiento reducido: sin barridos, giros, flotación ni reveals. */
@media (prefers-reduced-motion: reduce) {
    html[data-theme="odonto-pediatrico-1b"] { scroll-behavior: auto; }
    html[data-theme="odonto-pediatrico-1b"] .hero::before,
    html[data-theme="odonto-pediatrico-1b"] .hero::after,
    html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture,
    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::before,
    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::after,
    html[data-theme="odonto-pediatrico-1b"] .odonto1b-stitch::after,
    html[data-theme="odonto-pediatrico-1b"] .od1b-404-visual::before,
    html[data-theme="odonto-pediatrico-1b"] .od1b-404-visual::after,
    html[data-theme="odonto-pediatrico-1b"] .od1b-404-tooth,
    html[data-theme="odonto-pediatrico-1b"] .od1b-spark {
        animation: none !important;
    }
    html[data-theme="odonto-pediatrico-1b"].od1b-motion-ready .od1b-reveal,
    html[data-theme="odonto-pediatrico-1b"].od1b-motion-ready .od1b-reveal.is-visible {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .od1b-page-sweep { display: none !important; }
}

/* ========================================================================== 
   ODONTO PEDIÁTRICO 1B · PATCH V1.0.1
   Ajustes de revisión: Hero Polaroid, transición de contenido, costura
   perimetral continua y pausada, menor saturación en FAQ/Contacto.
   ========================================================================== */

:root[data-theme="odonto-pediatrico-1b"] {
    --od1b-stitch-speed: 22s;
    --od1b-stitch-speed-quiet: 28s;
    --od1b-page-slide-duration: 220ms;
    --od1b-page-enter-x: -28px;
    --od1b-page-exit-x: 34px;
}

/* 1) Costura V1.0.1: el SVG sustituye el borde, no se superpone dentro. */
html[data-theme="odonto-pediatrico-1b"] .odonto1b-stitch::after,
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card::after {
    content: none !important;
    display: none !important;
    animation: none !important;
}

html[data-theme="odonto-pediatrico-1b"] .odonto1b-stitch {
    position: relative;
    isolation: isolate;
}

html[data-theme="odonto-pediatrico-1b"] .od1b-stitch-svg {
    position: absolute;
    inset: 0;
    z-index: 8;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    opacity: .64;
}

html[data-theme="odonto-pediatrico-1b"] .od1b-stitch-path {
    fill: none;
    stroke: var(--od1b-thread);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-dasharray: 7 10;
    stroke-dashoffset: 0;
    animation: od1b-stitch-path-flow var(--od1b-stitch-speed) linear infinite;
}

html[data-theme="odonto-pediatrico-1b"] [data-od1b-stitch-mode="quiet"] .od1b-stitch-svg {
    opacity: .46;
}
html[data-theme="odonto-pediatrico-1b"] [data-od1b-stitch-mode="quiet"] .od1b-stitch-path {
    animation-duration: var(--od1b-stitch-speed-quiet);
}

@keyframes od1b-stitch-path-flow {
    to { stroke-dashoffset: -132; }
}

html[data-theme="odonto-pediatrico-1b"] .odonto1b-card {
    border: 0 !important;
    border-radius: 28px !important;
}

/* En hover no se acelera el hilo: evita efecto estroboscópico. */
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:hover .od1b-stitch-path,
html[data-theme="odonto-pediatrico-1b"] .odonto1b-card:focus-within .od1b-stitch-path {
    animation-duration: var(--od1b-stitch-speed) !important;
}

/* La línea inferior del menú participa del mismo movimiento, pero muy lenta. */
html[data-theme="odonto-pediatrico-1b"] .cabecera::after {
    left: 3%;
    right: 3%;
    opacity: .25;
    background: repeating-linear-gradient(90deg, var(--od1b-thread) 0 7px, transparent 7px 16px);
    animation: od1b-thread-horizontal 22s linear infinite;
}

html[data-theme="odonto-pediatrico-1b"] .pie::after {
    opacity: .34;
    animation: od1b-thread-horizontal 24s linear infinite !important;
}

@keyframes od1b-thread-horizontal {
    to { background-position: 132px 0; }
}

/* Submenús: sin segundo perímetro punteado compitiendo con el hilo del header. */
html[data-theme="odonto-pediatrico-1b"] .submenu {
    border: 1px solid var(--od1b-thread-soft) !important;
}

/* 2) Hero: composición Polaroid apilada, contenida en altura. */
html[data-theme="odonto-pediatrico-1b"] .hero {
    min-height: clamp(540px, 66vh, 670px);
    max-height: none;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva {
    padding: 28px 0 66px;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva-grid {
    min-height: clamp(450px, 56vh, 540px);
    grid-template-columns: minmax(0, .88fr) minmax(430px, 1.12fr);
    gap: clamp(10px, 2vw, 30px);
}

html[data-theme="odonto-pediatrico-1b"] .hero .contenido-slide {
    align-self: center;
    padding: 20px 0 34px;
}

html[data-theme="odonto-pediatrico-1b"] .hero .hero-titulo-slide,
html[data-theme="odonto-pediatrico-1b"] .hero h1 {
    max-width: 590px;
    font-size: clamp(2.65rem, 5vw, 4.7rem);
}

html[data-theme="odonto-pediatrico-1b"] .hero .texto-principal {
    max-width: 540px;
}

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva,
html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal] .marco-diapositiva {
    --od1b-front-r: -2.2deg;
    --od1b-front-x: 0px;
    --od1b-front-y: 0px;
    --od1b-back-r: 3.1deg;
    position: relative;
    z-index: 3;
    width: min(100%, 580px);
    max-width: 580px;
    aspect-ratio: 1.14 / 1;
    overflow: visible;
    justify-self: end;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="1"] .marco-diapositiva {
    --od1b-front-r: -2.4deg;
    --od1b-front-x: 0px;
    --od1b-front-y: -5px;
    --od1b-back-r: 3.2deg;
    justify-self: end;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="2"] .marco-diapositiva {
    --od1b-front-r: 1.6deg;
    --od1b-front-x: -18px;
    --od1b-front-y: 7px;
    --od1b-back-r: -2.8deg;
    justify-self: center;
}

html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="3"] .marco-diapositiva {
    --od1b-front-r: -.8deg;
    --od1b-front-x: -30px;
    --od1b-front-y: 5px;
    --od1b-back-r: 3.7deg;
    justify-self: end;
}

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::before,
html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva::after {
    content: none !important;
    display: none !important;
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front,
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back {
    box-sizing: border-box;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(var(--identidad-texto-rgb), .08);
    border-radius: 5px;
    background: color-mix(in srgb, #ffffff 97%, var(--identidad-secundario));
    box-shadow: 0 24px 54px rgba(var(--identidad-texto-rgb), .18);
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front {
    position: absolute;
    z-index: 3;
    inset: auto;
    left: 7%;
    top: 2%;
    width: 84%;
    height: 90%;
    padding: 12px 12px clamp(42px, 5vw, 58px);
    transform: translate3d(var(--od1b-front-x), var(--od1b-front-y), 0) rotate(var(--od1b-front-r));
    transform-origin: 50% 72%;
    animation: od1b-polaroid-front-float 7.2s ease-in-out infinite;
    will-change: transform;
}

html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back {
    position: absolute;
    z-index: 1;
    right: 1%;
    top: 7%;
    width: 79%;
    height: 84%;
    padding: 10px 10px clamp(36px, 4vw, 50px);
    opacity: .88;
    transform: translate3d(0, 8px, 0) rotate(var(--od1b-back-r));
    transform-origin: 50% 74%;
    filter: saturate(.92) brightness(.98);
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front .imagen-principal,
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back .od1b-polaroid-back-img {
    position: absolute;
    inset: 12px 12px clamp(42px, 5vw, 58px);
    width: auto !important;
    height: auto !important;
    display: block;
    border-radius: 2px;
    object-fit: contain;
    background: color-mix(in srgb, var(--identidad-secundario) 38%, #ffffff);
}

html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back .od1b-polaroid-back-img {
    inset: 10px 10px clamp(36px, 4vw, 50px);
    width: auto !important;
    height: auto !important;
}

html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva.modo-cubrir .imagen-principal-picture.od1b-polaroid-front .imagen-principal,
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back .od1b-polaroid-back-img {
    object-fit: cover;
}

@keyframes od1b-polaroid-front-float {
    0%, 100% {
        transform: translate3d(var(--od1b-front-x), var(--od1b-front-y), 0) rotate(var(--od1b-front-r));
    }
    50% {
        transform: translate3d(var(--od1b-front-x), calc(var(--od1b-front-y) - 7px), 0) rotate(calc(var(--od1b-front-r) + .25deg));
    }
}

/* El stack no obliga al Hero a crecer: controles y franja permanecen compactos. */
html[data-theme="odonto-pediatrico-1b"] .hero .slider-controles {
    bottom: 15px;
}
html[data-theme="odonto-pediatrico-1b"] .franja {
    margin-top: -24px;
}

/* 3) Transición de navegación: se mueven los elementos reales; no hay overlay. */
html[data-theme="odonto-pediatrico-1b"] #contenido-principal {
    animation: od1b-page-enter-left var(--od1b-page-slide-duration) cubic-bezier(.2,.72,.2,1) both;
}

html[data-theme="odonto-pediatrico-1b"] #contenido-principal.od1b-page-exit-right {
    animation: od1b-page-exit-right 190ms cubic-bezier(.55,.1,.8,.55) both !important;
}

@keyframes od1b-page-enter-left {
    from { opacity: .36; transform: translate3d(var(--od1b-page-enter-x), 0, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes od1b-page-exit-right {
    from { opacity: 1; transform: translate3d(0, 0, 0); }
    to { opacity: .28; transform: translate3d(var(--od1b-page-exit-x), 0, 0); }
}

/* El overlay de V1.0 queda expresamente desactivado aunque existiera en DOM cacheado. */
.od1b-page-sweep {
    display: none !important;
}

/* 4) FAQ: cerradas limpias; solo la pregunta abierta muestra hilo perimetral. */
html[data-theme="odonto-pediatrico-1b"] .odonto1b-faq {
    border: 1px solid rgba(var(--identidad-principal-rgb), .14) !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 22px rgba(var(--identidad-texto-rgb), .045) !important;
    background: color-mix(in srgb, var(--identidad-fondo) 93%, var(--identidad-secundario)) !important;
}

html[data-theme="odonto-pediatrico-1b"] .odonto1b-faq .od1b-stitch-svg {
    opacity: 0;
    transition: opacity .2s ease;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-faq .od1b-stitch-path {
    animation-duration: 30s;
    animation-play-state: paused;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-faq[open] {
    border-color: transparent !important;
    transform: none !important;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-faq[open] .od1b-stitch-svg {
    opacity: .48;
}
html[data-theme="odonto-pediatrico-1b"] .odonto1b-faq[open] .od1b-stitch-path {
    animation-play-state: running;
}

/* 5) Contacto: un perímetro para la ficha; datos internos como lista limpia. */
html[data-theme="odonto-pediatrico-1b"] .contacto-ficha {
    border: 0 !important;
    border-radius: 28px !important;
}

html[data-theme="odonto-pediatrico-1b"] .contacto-datos {
    padding: 2px 22px;
}

html[data-theme="odonto-pediatrico-1b"] .contacto-dato {
    margin: 0 !important;
    padding: 17px 6px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(var(--identidad-principal-rgb), .13) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html[data-theme="odonto-pediatrico-1b"] .contacto-dato:last-child {
    border-bottom: 0 !important;
}

html[data-theme="odonto-pediatrico-1b"] .contacto-horario-adicional {
    border-top: 1px solid rgba(var(--identidad-principal-rgb), .12) !important;
}

html[data-theme="odonto-pediatrico-1b"] .contacto-acciones {
    padding-top: 6px;
}

/* Etiquetas internas de profesionales ya no pueden heredar el tratamiento de card. */
html[data-theme="odonto-pediatrico-1b"] article.profesional .especialidad,
html[data-theme="odonto-pediatrico-1b"] article.profesional .profesion-salud {
    position: static !important;
    isolation: auto !important;
    border-style: solid;
}
html[data-theme="odonto-pediatrico-1b"] article.profesional .especialidad .od1b-stitch-svg,
html[data-theme="odonto-pediatrico-1b"] article.profesional .profesion-salud .od1b-stitch-svg {
    display: none !important;
}

/* Otros bordes punteados grandes pasan a superficies tranquilas. */
html[data-theme="odonto-pediatrico-1b"] .franja .franja-grid,
html[data-theme="odonto-pediatrico-1b"] .hero-publico__detalle {
    border-style: solid !important;
    border-width: 1px !important;
    border-color: rgba(var(--identidad-principal-rgb), .14) !important;
}

html[data-theme="odonto-pediatrico-1b"] .inicio-promocion-slide,
html[data-theme="odonto-pediatrico-1b"] .promocion-destacada,
html[data-theme="odonto-pediatrico-1b"] .ficha-promocion-grid {
    border: 0 !important;
}

/* Responsive del Hero Polaroid y de la transición. */
@media (max-width: 980px) {
    html[data-theme="odonto-pediatrico-1b"] .hero {
        min-height: clamp(500px, 62vh, 620px);
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva-grid {
        grid-template-columns: minmax(0, .9fr) minmax(350px, 1.1fr);
        gap: 12px;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .contenido-slide {
        text-align: left;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .hero-etiqueta {
        margin-left: 0;
        margin-right: 0;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .hero-botones {
        justify-content: flex-start !important;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva,
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal] .marco-diapositiva {
        width: min(100%, 470px);
    }
}

@media (max-width: 760px) {
    html[data-theme="odonto-pediatrico-1b"] .hero {
        min-height: 0;
        border-radius: 0 0 34px 34px;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva {
        padding: 24px 0 48px;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva-grid {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 18px;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .contenido-slide {
        padding: 6px 0 0;
        text-align: left;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva,
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal] .marco-diapositiva {
        width: min(86vw, 390px);
        max-width: 100%;
        aspect-ratio: 1.08 / 1;
        justify-self: center;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front {
        left: 8%;
        top: 2%;
        width: 84%;
        height: 90%;
        padding: 9px 9px 39px;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back {
        right: 4%;
        top: 7%;
        width: 76%;
        height: 82%;
        padding: 8px 8px 34px;
        opacity: .74;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front .imagen-principal {
        inset: 9px 9px 39px;
        width: calc(100% - 18px);
        height: calc(100% - 48px);
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back .od1b-polaroid-back-img {
        inset: 8px 8px 34px;
        width: calc(100% - 16px);
        height: calc(100% - 42px);
    }
    :root[data-theme="odonto-pediatrico-1b"] {
        --od1b-page-enter-x: -20px;
        --od1b-page-exit-x: 22px;
    }
}

@media (max-width: 420px) {
    html[data-theme="odonto-pediatrico-1b"] .hero .hero-titulo-slide,
    html[data-theme="odonto-pediatrico-1b"] .hero h1 {
        font-size: clamp(2.05rem, 11vw, 2.8rem);
        line-height: 1;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .texto-principal {
        line-height: 1.55;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .marco-diapositiva,
    html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal] .marco-diapositiva {
        width: 94%;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front {
        --od1b-front-r: -1.25deg;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back {
        transform: translate3d(0, 6px, 0) rotate(1.5deg);
    }
    html[data-theme="odonto-pediatrico-1b"] .contacto-datos {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme="odonto-pediatrico-1b"] .od1b-stitch-path,
    html[data-theme="odonto-pediatrico-1b"] .cabecera::after,
    html[data-theme="odonto-pediatrico-1b"] .pie::after,
    html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front {
        animation: none !important;
    }
    html[data-theme="odonto-pediatrico-1b"] #contenido-principal,
    html[data-theme="odonto-pediatrico-1b"] #contenido-principal.od1b-page-exit-right {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
}

/* ========================================================================== 
   ODONTO PEDIÁTRICO 1B · PATCH V1.0.2
   Fotografías normalizadas, Polaroid más sutil, cinta decorativa en Hero,
   perfiles Polaroid, chips compactos y carrusel Infraestructura en Base.
   ========================================================================== */

:root[data-theme="odonto-pediatrico-1b"] {
    --od1b-polaroid-edge: 10px;
    --od1b-polaroid-bottom: 29px;
    --od1b-polaroid-back-edge: 9px;
    --od1b-polaroid-back-bottom: 26px;
}

/* --------------------------------------------------------------------------
   Hero · ventana fotográfica rígida + base Polaroid sutil
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front {
    height: 88%;
    padding: var(--od1b-polaroid-edge) var(--od1b-polaroid-edge) var(--od1b-polaroid-bottom);
    overflow: visible;
}

html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back {
    height: 82%;
    padding: var(--od1b-polaroid-back-edge) var(--od1b-polaroid-back-edge) var(--od1b-polaroid-back-bottom);
    overflow: visible;
}

html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front .imagen-principal {
    inset: var(--od1b-polaroid-edge) var(--od1b-polaroid-edge) var(--od1b-polaroid-bottom) var(--od1b-polaroid-edge) !important;
    width: calc(100% - (var(--od1b-polaroid-edge) * 2)) !important;
    height: calc(100% - var(--od1b-polaroid-edge) - var(--od1b-polaroid-bottom)) !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center;
    background: color-mix(in srgb, var(--identidad-secundario) 30%, #ffffff);
}

html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back .od1b-polaroid-back-img {
    inset: var(--od1b-polaroid-back-edge) var(--od1b-polaroid-back-edge) var(--od1b-polaroid-back-bottom) var(--od1b-polaroid-back-edge) !important;
    width: calc(100% - (var(--od1b-polaroid-back-edge) * 2)) !important;
    height: calc(100% - var(--od1b-polaroid-back-edge) - var(--od1b-polaroid-back-bottom)) !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center;
}

/* La ubicación del papel sigue variando por diapositiva; la ventana no cambia de tamaño. */
html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="1"] .imagen-principal-picture.od1b-polaroid-front .imagen-principal {
    object-position: 50% 50%;
}
html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="2"] .imagen-principal-picture.od1b-polaroid-front .imagen-principal {
    object-position: 50% 48%;
}
html[data-theme="odonto-pediatrico-1b"] .hero .diapositiva[data-od1b-postal="3"] .imagen-principal-picture.od1b-polaroid-front .imagen-principal {
    object-position: 52% 50%;
}

/* --------------------------------------------------------------------------
   Cinta adhesiva: local, semitransparente, rasgada y del color del Theme.
   No tapa el centro de la fotografía: se ancla al papel y sus esquinas.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape {
    --od1b-tape-bg: rgba(var(--identidad-secundario-rgb), .62);
    position: absolute;
    z-index: 8;
    width: clamp(44px, 5vw, 68px);
    height: clamp(17px, 2vw, 24px);
    pointer-events: none;
    opacity: .78;
    border: 1px solid rgba(255,255,255,.24);
    background:
        repeating-linear-gradient(105deg, rgba(255,255,255,.13) 0 2px, transparent 2px 7px),
        var(--od1b-tape-bg);
    box-shadow: 0 4px 10px rgba(var(--identidad-texto-rgb), .08);
    clip-path: polygon(2% 10%, 8% 2%, 14% 9%, 22% 1%, 31% 8%, 40% 2%, 50% 7%, 60% 1%, 69% 8%, 78% 2%, 87% 9%, 96% 3%, 100% 15%, 97% 88%, 90% 99%, 82% 92%, 73% 100%, 63% 93%, 54% 99%, 44% 92%, 34% 100%, 25% 93%, 15% 99%, 7% 91%, 1% 96%);
    backdrop-filter: blur(1.5px) saturate(.92);
}

html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-color-1 { --od1b-tape-bg: rgba(var(--identidad-secundario-rgb), .64); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-color-2 { --od1b-tape-bg: rgba(var(--identidad-principal-rgb), .48); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-color-3 { --od1b-tape-bg: rgba(var(--identidad-acento-rgb), .54); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-color-4 { --od1b-tape-bg: rgba(var(--identidad-fondo-rgb), .76); }

html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-top-left { left: 12%; top: -9px; transform: rotate(-8deg); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-top-right { right: 11%; top: -9px; transform: rotate(9deg); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-left-mid { left: -20px; top: 34%; transform: rotate(-12deg); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-right-mid { right: -20px; top: 39%; transform: rotate(11deg); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-bottom-left { left: 14%; bottom: -8px; transform: rotate(7deg); }
html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-bottom-right { right: 13%; bottom: -8px; transform: rotate(-7deg); }

html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back .od1b-tape {
    opacity: .48;
    transform: scale(.9) rotate(-5deg);
}

/* --------------------------------------------------------------------------
   Listados de Profesionales y Colaboradores · foto Polaroid discreta.
   La franja blanca es sutil; no consume altura útil.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] :is(.profesional-foto,.colaborador-foto) {
    box-sizing: border-box;
    min-height: 285px;
    margin: 8px 8px 0 !important;
    padding: 8px 8px 21px;
    border: 1px solid rgba(var(--identidad-texto-rgb), .06) !important;
    border-radius: 22px 22px 12px 12px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 10px 26px rgba(var(--identidad-texto-rgb), .08);
}

html[data-theme="odonto-pediatrico-1b"] :is(.profesional-foto,.colaborador-foto)::after {
    inset: 8px 8px 21px !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, transparent 68%, rgba(var(--identidad-principal-oscuro-rgb), .08)) !important;
}

html[data-theme="odonto-pediatrico-1b"] :is(.profesional-foto,.colaborador-foto) img {
    inset: 8px 8px 21px !important;
    width: calc(100% - 16px) !important;
    height: calc(100% - 29px) !important;
    max-width: none !important;
    border-radius: 16px !important;
    object-fit: cover !important;
}

/* Chips internos: compactos y proporcionales al texto. */
html[data-theme="odonto-pediatrico-1b"] article.profesional .profesion-salud {
    align-self: flex-start;
    width: fit-content !important;
    min-height: 0 !important;
    margin-top: 8px !important;
    padding: 4px 9px !important;
    border: 1px solid rgba(var(--identidad-principal-rgb), .18) !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--identidad-secundario) 72%, #ffffff) !important;
    font-size: .70rem !important;
    line-height: 1.1 !important;
}

html[data-theme="odonto-pediatrico-1b"] article.profesional .especialidad {
    align-self: flex-start;
    width: fit-content !important;
    min-height: 0 !important;
    margin: 7px 0 0 !important;
    padding: 2px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: .84rem !important;
    line-height: 1.25 !important;
}

html[data-theme="odonto-pediatrico-1b"] article.profesional .profesional-contenido p {
    margin-top: 12px;
}

/* --------------------------------------------------------------------------
   Detalle de Profesional / Colaborador · Polaroid vertical.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .foto-principal {
    box-sizing: border-box;
    isolation: isolate;
    min-height: 0 !important;
    aspect-ratio: 4 / 5;
    overflow: visible !important;
    padding: 10px 10px 29px;
    border: 1px solid rgba(var(--identidad-texto-rgb), .08) !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 28px 62px rgba(var(--identidad-texto-rgb), .18) !important;
    transform: rotate(-1.15deg);
}

html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .foto-principal::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 8px -10px -9px 12px;
    border: 1px solid rgba(var(--identidad-texto-rgb), .06);
    border-radius: 5px;
    background: color-mix(in srgb, #ffffff 88%, var(--identidad-secundario));
    box-shadow: 0 15px 34px rgba(var(--identidad-texto-rgb), .10);
    transform: rotate(2.2deg);
}

html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .foto-principal img {
    inset: 10px 10px 29px !important;
    width: calc(100% - 20px) !important;
    height: calc(100% - 39px) !important;
    max-width: none !important;
    border-radius: 3px !important;
    object-fit: cover !important;
    object-position: center center;
}

html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .iniciales-principales {
    position: relative;
    z-index: 2;
}

/* --------------------------------------------------------------------------
   Infraestructura · el carrusel vuelve deliberadamente a la composición Base.
   Se preserva únicamente la identidad cromática que ya proviene de Identidad.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide {
    position: relative;
    isolation: isolate;
    min-height: 500px;
    overflow: hidden;
    border: 1px solid rgba(var(--identidad-principal-rgb), .10) !important;
    border-radius: 32px !important;
    background: var(--identidad-principal-oscuro) !important;
    box-shadow: 0 18px 48px rgba(var(--identidad-principal-oscuro-rgb), .09) !important;
    transform: none !important;
}

html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide picture,
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide img {
    object-fit: cover;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide-capa {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(var(--identidad-principal-oscuro-rgb), .62), rgba(var(--identidad-principal-oscuro-rgb), .18) 70%),
        rgba(0,24,28,var(--opacidad-slide,.45)) !important;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide-contenido {
    position: relative;
    z-index: 2;
    width: min(690px, 100%);
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(36px, 6vw, 66px);
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide.alineacion-centro .nosotros-slide-contenido {
    margin-inline: auto;
    align-items: center;
    text-align: center;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide.alineacion-derecha .nosotros-slide-contenido {
    margin-left: auto;
    align-items: flex-end;
    text-align: right;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide-etiqueta {
    width: fit-content;
    margin: 0 0 14px;
    padding: 6px 10px;
    border: 1px solid currentColor !important;
    border-radius: 999px;
    color: inherit;
    background: transparent !important;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
    opacity: .84;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide h3 {
    max-width: 650px;
    margin: 0;
    color: inherit;
    font-size: clamp(2.1rem, 5vw, 4.25rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide-subtitulo {
    margin: 18px 0 0;
    color: inherit;
    font-size: 1.08rem;
    font-weight: 700;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide-descripcion {
    max-width: 610px;
    margin: 15px 0 0;
    color: inherit;
    line-height: 1.75;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide-boton {
    min-height: 46px;
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 25px;
    padding: 11px 20px;
    border: 0;
    border-radius: 999px;
    color: var(--identidad-principal);
    background: #fff;
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-diapositivas-controles {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto 46px;
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 10px 12px;
    border: 1px solid rgba(var(--identidad-principal-rgb), .14) !important;
    border-radius: 18px;
    background: #fff !important;
    box-shadow: 0 24px 60px rgba(var(--identidad-principal-oscuro-rgb), .14) !important;
}

/* --------------------------------------------------------------------------
   CTA Nosotros · únicamente la etiqueta/nombre institucional deja de ser badge.
   La composición aprobada se conserva.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .cta :is(.web-etiqueta,.etiqueta,.cta-etiqueta,.institucional-etiqueta) {
    display: block;
    width: fit-content;
    margin: 0 0 8px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: color-mix(in srgb, #ffffff 86%, var(--identidad-secundario)) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(.88rem, 1.35vw, 1.06rem) !important;
    line-height: 1.3;
    letter-spacing: .06em !important;
}

/* Responsive V1.0.2 */
@media (max-width: 760px) {
    :root[data-theme="odonto-pediatrico-1b"] {
        --od1b-polaroid-edge: 8px;
        --od1b-polaroid-bottom: 23px;
        --od1b-polaroid-back-edge: 7px;
        --od1b-polaroid-back-bottom: 21px;
    }

    html[data-theme="odonto-pediatrico-1b"] .hero .imagen-principal-picture.od1b-polaroid-front {
        padding: var(--od1b-polaroid-edge) var(--od1b-polaroid-edge) var(--od1b-polaroid-bottom) !important;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-polaroid-back {
        padding: var(--od1b-polaroid-back-edge) var(--od1b-polaroid-back-edge) var(--od1b-polaroid-back-bottom) !important;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape {
        width: 44px;
        height: 17px;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-bottom-left,
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-bottom-right {
        display: none;
    }

    html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .presentacion-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }
    html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .foto-principal {
        width: min(82vw, 390px);
        justify-self: center;
        transform: rotate(-.65deg);
    }

    html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide,
    html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .nosotros-slide-contenido {
        min-height: 420px;
    }
}

@media (max-width: 420px) {
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape {
        width: 38px;
        height: 15px;
        opacity: .68;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-right-mid,
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-left-mid {
        display: none;
    }
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-top-left,
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape-top-right {
        display: block;
    }

    html[data-theme="odonto-pediatrico-1b"] :is(.profesional-foto,.colaborador-foto) {
        min-height: 260px;
        padding-bottom: 18px;
    }
    html[data-theme="odonto-pediatrico-1b"] :is(.profesional-foto,.colaborador-foto)::after,
    html[data-theme="odonto-pediatrico-1b"] :is(.profesional-foto,.colaborador-foto) img {
        bottom: 18px !important;
    }
    html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .foto-principal {
        width: min(86vw, 330px);
        padding: 8px 8px 23px;
    }
    html[data-theme="odonto-pediatrico-1b"] :is(.ficha-profesional,.ficha-colaborador) .foto-principal img {
        inset: 8px 8px 23px !important;
        width: calc(100% - 16px) !important;
        height: calc(100% - 31px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme="odonto-pediatrico-1b"] .hero .od1b-tape {
        backdrop-filter: none;
    }
}

/* Infraestructura también puede renderizarse por pagina-institucional.php.
   En ese caso restauramos explícitamente el slider Base y anulamos el panel
   translúcido introducido por V1.0.0/V1.0.1. */
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide {
    position: relative;
    isolation: isolate;
    min-height: 500px;
    overflow: hidden;
    border: 1px solid rgba(var(--identidad-principal-rgb), .10) !important;
    border-radius: 32px !important;
    background: var(--identidad-principal-oscuro) !important;
    box-shadow: 0 20px 50px rgba(var(--identidad-principal-oscuro-rgb), .11) !important;
    transform: none !important;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide picture,
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide img {
    object-fit: cover;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide-capa {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(0,24,28,.40), transparent 72%),
        rgba(0,24,28,var(--opacidad-slide,.45)) !important;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide-contenido {
    position: relative;
    z-index: 2;
    width: min(700px, 100%);
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(35px, 6vw, 68px);
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide.alineacion-centro .institucional-slide-contenido {
    margin-inline: auto;
    align-items: center;
    text-align: center;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide.alineacion-derecha .institucional-slide-contenido {
    margin-left: auto;
    align-items: flex-end;
    text-align: right;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide-etiqueta {
    margin: 0 0 12px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: inherit;
    background: transparent !important;
    box-shadow: none !important;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide h3 {
    max-width: 660px;
    margin: 0;
    color: inherit;
    font-size: clamp(2rem, 5vw, 4.2rem);
    line-height: 1.03;
    letter-spacing: -.035em;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide-subtitulo {
    margin: 17px 0 0;
    font-size: 1.08rem;
    font-weight: 750;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide-descripcion {
    max-width: 620px;
    margin: 14px 0 0;
    line-height: 1.72;
}
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide-boton {
    width: fit-content;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 25px;
    padding: 11px 20px;
    border: 1px solid rgba(255,255,255,.30);
    border-radius: 999px;
    color: var(--identidad-principal);
    background: #fff;
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 760px) {
    html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide,
    html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-slide-contenido {
        min-height: 420px;
    }
}
/* ==========================================================================
   V1.0.3 · CONSISTENCIA VISUAL FINAL
   Solo presentación: no genera contenido ni altera datos/funcionalidad.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Fallback visual.
   Las siglas/iniciales se muestran estrictamente cuando NO existe imagen.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .profesional-foto.od1b-has-visual > .profesional-iniciales,
html[data-theme="odonto-pediatrico-1b"] .colaborador-foto.od1b-has-visual > .colaborador-iniciales,
html[data-theme="odonto-pediatrico-1b"] .web-card-media.medico-media.od1b-has-visual > .medico-iniciales,
html[data-theme="odonto-pediatrico-1b"] .foto-principal.od1b-has-visual > .iniciales-principales {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Servicios / Especialidades.
   Si existe recurso visual, la fotografía ocupa TODO su marco.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .presentacion .presentacion-imagen.od1b-has-visual {
    position: relative !important;
    padding: 0 !important;
    overflow: hidden !important;
}
html[data-theme="odonto-pediatrico-1b"] .presentacion .presentacion-imagen.od1b-has-visual > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    border-radius: inherit !important;
    transform: none !important;
}
html[data-theme="odonto-pediatrico-1b"] .presentacion .presentacion-imagen.od1b-has-visual > .presentacion-icono {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Etiquetas / eyebrows compactas.
   El perímetro acompaña al texto; nunca se convierte en una barra larga.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] :is(
    .hero .hero-etiqueta,
    .web-etiqueta,
    .institucional-etiqueta:not(.institucional-etiqueta--cta),
    .ppub-kicker,
    .blog-sobrelinea,
    .noticia-etiqueta,
    .cedim-404-etiqueta,
    .lr-kicker,
    .cedim-noticias-etiqueta,
    .cedim-blog-inicio__etiqueta,
    .cedim-faq-inicio-etiqueta
) {
    box-sizing: border-box;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center;
    padding: 6px 12px !important;
    line-height: 1.25 !important;
    white-space: normal;
}

/* --------------------------------------------------------------------------
   Nombre institucional del CTA.
   Mismo contenido y composición; solo gana jerarquía y respiración.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-etiqueta--cta {
    width: fit-content !important;
    display: block !important;
    margin: 0 0 13px clamp(5px, .65vw, 9px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: color-mix(in srgb, #ffffff 84%, var(--identidad-secundario)) !important;
    font-size: clamp(1.08rem, 1.65vw, 1.24rem) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
}

/* Variante Nosotros si en algún render incorpora etiqueta institucional. */
html[data-theme="odonto-pediatrico-1b"] .pagina-nosotros .cta :is(.web-etiqueta,.etiqueta,.cta-etiqueta,.institucional-etiqueta) {
    font-size: clamp(1.08rem, 1.65vw, 1.24rem) !important;
    margin-left: clamp(5px, .65vw, 9px) !important;
}

/* --------------------------------------------------------------------------
   Galerías Institucionales y Páginas Personalizadas.
   Polaroid RECTO: sin rotación; cinta local semitransparente.
   -------------------------------------------------------------------------- */
html[data-theme="odonto-pediatrico-1b"] :is(
    .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta,
    .ppub-main .ppub-galeria-item.cg-galeria-tarjeta
).od1b-gallery-polaroid {
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    overflow: visible !important;
    margin: 0 !important;
    padding: 9px 9px 18px !important;
    border: 1px solid rgba(var(--identidad-texto-rgb), .08) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 16px 38px rgba(var(--identidad-texto-rgb), .12) !important;
    transform: none !important;
}

html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta.od1b-gallery-polaroid {
    padding-bottom: 0 !important;
}

html[data-theme="odonto-pediatrico-1b"] :is(
    .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta,
    .ppub-main .ppub-galeria-item.cg-galeria-tarjeta
).od1b-gallery-polaroid > .cg-galeria-disparador {
    width: 100%;
    display: block;
    overflow: hidden;
    border-radius: 3px;
    background: color-mix(in srgb, var(--identidad-fondo) 92%, #ffffff);
}

html[data-theme="odonto-pediatrico-1b"] :is(
    .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta,
    .ppub-main .ppub-galeria-item.cg-galeria-tarjeta
).od1b-gallery-polaroid img {
    width: 100% !important;
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover !important;
    border-radius: 3px !important;
}

html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-fotografia.od1b-gallery-polaroid figcaption {
    padding: 14px 8px 16px !important;
}

/* El hover puede elevar la pieza, pero nunca rotarla. */
html[data-theme="odonto-pediatrico-1b"] :is(
    .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta,
    .ppub-main .ppub-galeria-item.cg-galeria-tarjeta
).od1b-gallery-polaroid:hover {
    transform: translateY(-3px) !important;
}

/* Cinta de las galerías: decoración, no contenido. */
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape {
    --od1b-gallery-tape-bg: rgba(var(--identidad-secundario-rgb), .58);
    position: absolute;
    z-index: 8;
    width: clamp(38px, 4.2vw, 56px);
    height: clamp(15px, 1.6vw, 20px);
    pointer-events: none;
    opacity: .72;
    border: 1px solid rgba(255,255,255,.22);
    background:
        repeating-linear-gradient(105deg, rgba(255,255,255,.12) 0 2px, transparent 2px 7px),
        var(--od1b-gallery-tape-bg);
    box-shadow: 0 4px 9px rgba(var(--identidad-texto-rgb), .07);
    clip-path: polygon(
        2% 12%, 9% 3%, 16% 10%, 24% 2%, 33% 9%, 42% 3%, 51% 8%, 61% 2%,
        70% 9%, 79% 3%, 88% 10%, 97% 3%, 100% 16%, 97% 87%, 90% 98%,
        82% 92%, 73% 99%, 64% 92%, 55% 98%, 45% 92%, 35% 99%, 25% 92%,
        15% 98%, 7% 91%, 1% 96%
    );
    backdrop-filter: blur(1.2px) saturate(.92);
}
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-color-1 { --od1b-gallery-tape-bg: rgba(var(--identidad-secundario-rgb), .60); }
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-color-2 { --od1b-gallery-tape-bg: rgba(var(--identidad-principal-rgb), .44); }
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-color-3 { --od1b-gallery-tape-bg: rgba(var(--identidad-acento-rgb), .50); }
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-color-4 { --od1b-gallery-tape-bg: rgba(var(--identidad-fondo-rgb), .75); }

html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-top-left {
    left: 12%;
    top: -8px;
    transform: rotate(-6deg);
}
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-top-center {
    left: 50%;
    top: -9px;
    transform: translateX(-50%) rotate(3deg);
}
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-top-right {
    right: 12%;
    top: -8px;
    transform: rotate(6deg);
}
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-left-mid {
    left: -15px;
    top: 34%;
    transform: rotate(-10deg);
}
html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-right-mid {
    right: -15px;
    top: 38%;
    transform: rotate(10deg);
}

@media (max-width: 760px) {
    html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape {
        width: 40px;
        height: 15px;
        opacity: .66;
    }
    html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-left-mid,
    html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape-right-mid {
        display: none;
    }
    html[data-theme="odonto-pediatrico-1b"] :is(
        .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta,
        .ppub-main .ppub-galeria-item.cg-galeria-tarjeta
    ).od1b-gallery-polaroid {
        padding: 8px 8px 16px !important;
    }
    html[data-theme="odonto-pediatrico-1b"] .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta.od1b-gallery-polaroid {
        padding-bottom: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme="odonto-pediatrico-1b"] :is(
        .pagina-institucional .institucional-fotografia.cg-galeria-tarjeta,
        .ppub-main .ppub-galeria-item.cg-galeria-tarjeta
    ).od1b-gallery-polaroid:hover {
        transform: none !important;
    }
    html[data-theme="odonto-pediatrico-1b"] .od1b-gallery-tape {
        backdrop-filter: none;
    }
}
