/* ==========================================================
   H360 DESIGN SYSTEM
   Herramientas360 Template
   Versión 3.0
   BLOQUE 1
   Variables · Reset · Base · Utilidades
   © 2026 José Carlos Núñez Florido
========================================================== */


/* ==========================================================
   IMPORTAR FUENTE
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');


/* ==========================================================
   VARIABLES GLOBALES
========================================================== */

:root{

    /* ======================================================
       COLORES
    ====================================================== */

    --color-primary:#2563eb;
    --color-primary-dark:#1d4ed8;
    --color-primary-light:#dbeafe;

    --color-success:#16a34a;
    --color-warning:#ea580c;
    --color-danger:#dc2626;
    --color-info:#0ea5e9;

    --color-background:#f8fafc;
    --color-surface:#ffffff;

    --color-text:#1f2937;
    --color-text-light:#6b7280;

    --color-border:#e5e7eb;


    /* ======================================================
       TIPOGRAFÍA
    ====================================================== */

    --font-family:'Inter',sans-serif;

    --font-xs:.75rem;
    --font-sm:.875rem;
    --font-base:1rem;
    --font-md:1.125rem;
    --font-lg:1.35rem;
    --font-xl:2rem;
    --font-2xl:2.75rem;
    --font-3xl:3.5rem;


    /* ======================================================
       ESPACIADOS
    ====================================================== */

    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-5:24px;
    --space-6:32px;
    --space-7:48px;
    --space-8:64px;
    --space-9:80px;
    --space-10:96px;


    /* ======================================================
       RADIOS
    ====================================================== */

    --radius-sm:8px;
    --radius-md:14px;
    --radius-lg:22px;
    --radius-xl:30px;
    --radius-round:999px;


    /* ======================================================
       SOMBRAS
    ====================================================== */

    --shadow-sm:
        0 2px 8px rgba(0,0,0,.05);

    --shadow-md:
        0 10px 30px rgba(0,0,0,.08);

    --shadow-lg:
        0 20px 60px rgba(0,0,0,.12);


    /* ======================================================
       TRANSICIONES
    ====================================================== */

    --transition-fast:.2s ease;

    --transition-normal:.3s ease;

    --transition-slow:.45s ease;


    /* ======================================================
       LAYOUT
    ====================================================== */

    --container:1200px;

}


/* ==========================================================
   RESET
========================================================== */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}


*::before,
*::after{

    box-sizing:border-box;

}


html{

    scroll-behavior:smooth;

}


body{

    font-family:var(--font-family);

    background:var(--color-background);

    color:var(--color-text);

    line-height:1.7;

    -webkit-font-smoothing:antialiased;

    text-rendering:optimizeLegibility;

}


img{

    display:block;

    max-width:100%;

    height:auto;

}


svg{

    display:block;

}


a{

    text-decoration:none;

    color:inherit;

    transition:var(--transition-fast);

}


button{

    border:none;

    background:none;

    font-family:inherit;

    cursor:pointer;

}


input,
textarea,
select,
button{

    font:inherit;

}


ul,
ol{

    list-style:none;

}


/* ==========================================================
   SELECCIÓN DE TEXTO
========================================================== */

::selection{

    background:var(--color-primary);

    color:#ffffff;

}


/* ==========================================================
   SCROLLBAR
========================================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f1f5f9;

}

::-webkit-scrollbar-thumb{

    background:var(--color-primary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--color-primary-dark);

}


/* ==========================================================
   CONTENEDOR
========================================================== */

.contenedor{

    width:min(100% - 32px,var(--container));

    margin-inline:auto;

}


/* ==========================================================
   UTILIDADES
========================================================== */

.oculto{

    display:none !important;

}


.centrado{

    text-align:center;

}


.texto-pequeno{

    font-size:var(--font-sm);

}


.texto-gris{

    color:var(--color-text-light);

}


.texto-primario{

    color:var(--color-primary);

}


.superficie{

    background:var(--color-surface);

}


.sombra{

    box-shadow:var(--shadow-md);

}


.redondeado{

    border-radius:var(--radius-lg);

}


/* ==========================================================
   ACCESIBILIDAD
========================================================== */

.salto-contenido{

    position:absolute;

    left:-9999px;

    top:auto;

}


.salto-contenido:focus{

    left:20px;

    top:20px;

    background:var(--color-primary);

    color:#fff;

    padding:12px 18px;

    border-radius:var(--radius-md);

    z-index:99999;

}


/* ==========================================================
   FIN BLOQUE 1
========================================================== */
/* ==========================================================
   H360 DESIGN SYSTEM
   BLOQUE 2
   Header · Hero · Navegación
========================================================== */


/* ==========================================================
   HEADER
========================================================== */

.cabecera-principal{

    background:#ffffff;

    position:sticky;

    top:0;

    z-index:999;

    border-bottom:1px solid var(--color-border);

    backdrop-filter:blur(12px);

}


.cabecera-contenido{

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:76px;

    gap:var(--space-5);

}


.marca{

    display:flex;

    align-items:center;

    gap:12px;

    font-weight:800;

    font-size:1.2rem;

    color:var(--color-primary);

}


.marca:hover{

    transform:translateY(-2px);

}


.marca-icono{

    font-size:2rem;

}


.enlace-portal{

    padding:12px 22px;

    border-radius:999px;

    background:var(--color-primary);

    color:#fff;

    font-weight:600;

    transition:var(--transition-normal);

}


.enlace-portal:hover{

    background:var(--color-primary-dark);

    transform:translateY(-2px);

}


/* ==========================================================
   HERO
========================================================== */

.hero{

    padding:90px 0;

    background:linear-gradient(
        135deg,
        #eff6ff,
        #ffffff
    );

}


.hero-contenido{

    text-align:center;

    max-width:900px;

}


.hero-icono{

    width:120px;

    height:120px;

    margin:0 auto 30px;

    border-radius:50%;

    background:#ffffff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:3.5rem;

    box-shadow:var(--shadow-md);

}


.hero-categoria{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 18px;

    background:var(--color-primary-light);

    color:var(--color-primary);

    border-radius:999px;

    font-size:.9rem;

    font-weight:700;

    margin-bottom:24px;

}


.hero h1{

    font-size:clamp(2.2rem,6vw,4rem);

    font-weight:900;

    line-height:1.1;

    margin-bottom:24px;

}


.hero-descripcion{

    font-size:1.25rem;

    color:var(--color-text-light);

    max-width:760px;

    margin:0 auto;

}


/* ==========================================================
   TARJETAS HERO
========================================================== */

.hero-caracteristicas{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

    gap:20px;

    margin-top:50px;

}


.caracteristica{

    background:#ffffff;

    border-radius:20px;

    padding:22px;

    box-shadow:var(--shadow-sm);

    display:flex;

    flex-direction:column;

    gap:12px;

    align-items:center;

    transition:var(--transition-normal);

}


.caracteristica:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-lg);

}


.caracteristica span{

    font-size:2rem;

}


.caracteristica strong{

    font-size:1rem;

}


/* ==========================================================
   ÚLTIMA ACTUALIZACIÓN
========================================================== */

.ultima-actualizacion{

    margin-top:45px;

    color:var(--color-text-light);

    font-size:.95rem;

}


/* ==========================================================
   NAVEGACIÓN INTERNA
========================================================== */

.indice-secciones{

    position:sticky;

    top:76px;

    z-index:200;

    background:#ffffff;

    border-bottom:1px solid var(--color-border);

}


.indice-contenido{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:14px;

    padding:18px 0;

}


.indice-contenido a{

    padding:10px 18px;

    border-radius:999px;

    background:#f3f4f6;

    font-weight:600;

    transition:var(--transition-fast);

}


.indice-contenido a:hover{

    background:var(--color-primary);

    color:#ffffff;

}


/* ==========================================================
   ETIQUETAS
========================================================== */

.etiqueta{

    display:inline-block;

    padding:8px 18px;

    border-radius:999px;

    background:var(--color-primary-light);

    color:var(--color-primary);

    font-weight:700;

    font-size:.9rem;

    margin-bottom:20px;

}


/* ==========================================================
   ENCABEZADOS DE SECCIÓN
========================================================== */

.seccion-encabezado{

    margin-bottom:40px;

}


.seccion-encabezado h2{

    font-size:2rem;

    margin-bottom:14px;

}


.seccion-encabezado p{

    color:var(--color-text-light);

    max-width:700px;

}


.seccion-encabezado.centrado{

    text-align:center;

}

.seccion-encabezado.centrado p{

    margin-inline:auto;

}


/* ==========================================================
   FIN BLOQUE 2
========================================================== */
/* ==========================================================
   H360 DESIGN SYSTEM
   BLOQUE 3
   Formularios · Inputs · Botones
========================================================== */


/* ==========================================================
   SECCIÓN CALCULADORA
========================================================== */

.seccion-calculadora{

    padding:90px 0;

}


.calculadora-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:40px;

    align-items:start;

}


/* ==========================================================
   TARJETAS
========================================================== */

.tarjeta{

    background:#ffffff;

    border-radius:var(--radius-lg);

    padding:40px;

    box-shadow:var(--shadow-md);

}


/* ==========================================================
   FORMULARIO
========================================================== */

#formularioHerramienta{

    display:flex;

    flex-direction:column;

    gap:28px;

}


/* ==========================================================
   CAMPOS
========================================================== */

.campo{

    display:flex;

    flex-direction:column;

    gap:10px;

}


.campo label{

    font-weight:700;

    color:var(--color-text);

}


.texto-ayuda{

    color:var(--color-text-light);

    font-size:.9rem;

}


.mensaje-error{

    color:var(--color-danger);

    font-size:.85rem;

    min-height:18px;

}


/* ==========================================================
   INPUTS
========================================================== */

input,
select,
textarea{

    width:100%;

    padding:18px 20px;

    border:2px solid var(--color-border);

    border-radius:var(--radius-md);

    background:#ffffff;

    transition:var(--transition-normal);

    font-size:1rem;

    outline:none;

}


input:hover,
select:hover,
textarea:hover{

    border-color:var(--color-primary);

}


input:focus,
select:focus,
textarea:focus{

    border-color:var(--color-primary);

    box-shadow:
        0 0 0 4px rgba(37,99,235,.15);

}


/* ==========================================================
   INPUT + UNIDAD
========================================================== */

.campo-unidad{

    position:relative;

}


.campo-unidad span{

    position:absolute;

    right:18px;

    top:50%;

    transform:translateY(-50%);

    color:var(--color-text-light);

    font-weight:600;

}


/* ==========================================================
   BOTONES
========================================================== */

.acciones-formulario{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-top:10px;

}


.boton{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    padding:18px 34px;

    border-radius:999px;

    font-weight:700;

    transition:var(--transition-normal);

    cursor:pointer;

}


.boton:hover{

    transform:translateY(-3px);

}


.boton-principal{

    background:var(--color-primary);

    color:#ffffff;

}


.boton-principal:hover{

    background:var(--color-primary-dark);

    box-shadow:var(--shadow-lg);

}


.boton-secundario{

    background:#eef2ff;

    color:var(--color-primary);

}


.boton-secundario:hover{

    background:var(--color-primary-light);

}


/* ==========================================================
   ESTADOS
========================================================== */

input:disabled,
select:disabled,
textarea:disabled{

    background:#f3f4f6;

    cursor:not-allowed;

    opacity:.7;

}


.boton:disabled{

    opacity:.6;

    cursor:not-allowed;

}


/* ==========================================================
   RESUMEN LATERAL
========================================================== */

.resumen-tarjeta{

    position:sticky;

    top:150px;

}


.resumen-icono{

    width:70px;

    height:70px;

    border-radius:50%;

    background:var(--color-primary-light);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    margin-bottom:24px;

}


.lista-beneficios{

    display:flex;

    flex-direction:column;

    gap:22px;

    margin-top:30px;

}


.lista-beneficios li{

    display:flex;

    flex-direction:column;

    gap:6px;

}


.lista-beneficios strong{

    color:var(--color-text);

}


.lista-beneficios span{

    color:var(--color-text-light);

    font-size:.95rem;

}


.aviso-resumen{

    margin-top:40px;

    background:#eff6ff;

    border-left:5px solid var(--color-primary);

    padding:22px;

    border-radius:var(--radius-md);

}

.aviso-resumen strong{

    display:block;

    margin-bottom:10px;

}

.aviso-resumen p{

    color:var(--color-text-light);

}


/* ==========================================================
   FIN BLOQUE 3
========================================================== */
/* ==========================================================
   H360 DESIGN SYSTEM
   BLOQUE 4
   Resultados · Interpretación · Recomendaciones
========================================================== */


/* ==========================================================
   SECCIÓN RESULTADOS
========================================================== */

.seccion-resultados{

    padding:90px 0;

}


.resultado-cabecera{

    text-align:center;

    margin-bottom:60px;

}


.resultado-cabecera h2{

    font-size:2.3rem;

    margin:18px 0;

}


.resultado-cabecera p{

    color:var(--color-text-light);

    max-width:700px;

    margin:auto;

}


/* ==========================================================
   GRID RESULTADOS
========================================================== */

.resultados-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:28px;

}


/* ==========================================================
   RESULTADO PRINCIPAL
========================================================== */

.resultado-principal{

    grid-column:1/-1;

    background:linear-gradient(
        135deg,
        var(--color-primary),
        var(--color-primary-dark)
    );

    color:#ffffff;

    border-radius:var(--radius-xl);

    padding:60px;

    text-align:center;

    box-shadow:var(--shadow-lg);

}


.resultado-icono{

    font-size:4rem;

    margin-bottom:20px;

}


.resultado-nombre{

    font-size:1.15rem;

    opacity:.9;

}


.resultado-numero{

    font-size:clamp(3rem,8vw,5rem);

    font-weight:900;

    margin:18px 0;

    line-height:1;

}


.resultado-numero small{

    font-size:1.2rem;

    font-weight:600;

}


.resultado-descripcion{

    max-width:700px;

    margin:auto;

    opacity:.95;

}


/* ==========================================================
   TARJETAS SECUNDARIAS
========================================================== */

.resultado-tarjeta{

    background:#ffffff;

    border-radius:var(--radius-lg);

    padding:32px;

    box-shadow:var(--shadow-md);

    transition:var(--transition-normal);

}


.resultado-tarjeta:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}


.mini-icono{

    font-size:2rem;

    display:block;

    margin-bottom:18px;

}


.resultado-tarjeta h3{

    margin-bottom:12px;

}


.resultado-tarjeta p{

    font-size:2rem;

    font-weight:800;

    color:var(--color-primary);

}


.resultado-ayuda{

    display:block;

    margin-top:14px;

    color:var(--color-text-light);

    font-size:.9rem;

}


/* ==========================================================
   INTERPRETACIÓN
========================================================== */

.interpretacion{

    display:flex;

    gap:26px;

    align-items:flex-start;

    margin-top:50px;

}


.interpretacion-icono{

    width:70px;

    height:70px;

    border-radius:50%;

    background:var(--color-success);

    color:#ffffff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    flex-shrink:0;

}


.interpretacion h3{

    margin-bottom:12px;

}


/* ==========================================================
   RECOMENDACIONES
========================================================== */

.recomendaciones{

    display:flex;

    gap:26px;

    align-items:flex-start;

    margin-top:30px;

}


.recomendaciones-icono{

    width:70px;

    height:70px;

    border-radius:50%;

    background:var(--color-warning);

    color:#ffffff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    flex-shrink:0;

}


#listaRecomendaciones{

    display:flex;

    flex-direction:column;

    gap:14px;

    margin-top:18px;

}


#listaRecomendaciones li{

    padding-left:28px;

    position:relative;

}


#listaRecomendaciones li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--color-success);

    font-weight:700;

}


/* ==========================================================
   AVISO PROFESIONAL
========================================================== */

.aviso-profesional{

    margin-top:50px;

    padding:24px 28px;

    border-left:6px solid var(--color-warning);

    background:#fff7ed;

    border-radius:var(--radius-md);

    color:var(--color-text);

}


.aviso-profesional strong{

    display:block;

    margin-bottom:10px;

}


/* ==========================================================
   COMPONENTES DESTACADOS
========================================================== */

.formula-tarjeta{

    background:#ffffff;

    padding:34px;

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-md);

    margin:40px 0;

}


.formula{

    font-size:2rem;

    font-weight:800;

    color:var(--color-primary);

    text-align:center;

    margin:30px 0;

}


.nota-informativa{

    background:#eff6ff;

    border-left:5px solid var(--color-info);

    padding:22px;

    border-radius:var(--radius-md);

}


/* ==========================================================
   FIN BLOQUE 4
========================================================== */
/* ==========================================================
   H360 DESIGN SYSTEM
   BLOQUE 5
   Información · FAQ · Relacionadas · Footer · Responsive
   © 2026 Herramientas360
========================================================== */


/* ==========================================================
   SECCIONES GENERALES
========================================================== */

.seccion-informativa,
.seccion-alternativa,
.seccion-relacionadas{

    padding:90px 0;

}

.seccion-alternativa{

    background:#ffffff;

}

.contenido-estrecho{

    max-width:850px;

    margin:auto;

}

.contenido-estrecho p{

    margin-bottom:22px;

    color:var(--color-text-light);

}


/* ==========================================================
   GRID INFORMACIÓN
========================================================== */

.informacion-grid,
.consejos-grid,
.pasos-grid,
.relacionadas-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:28px;

    margin-top:50px;

}

.info-tarjeta,
.consejo-tarjeta,
.paso-tarjeta,
.relacionada-tarjeta{

    background:#ffffff;

    border-radius:var(--radius-lg);

    padding:34px;

    box-shadow:var(--shadow-md);

    transition:var(--transition-normal);

}

.info-tarjeta:hover,
.consejo-tarjeta:hover,
.paso-tarjeta:hover,
.relacionada-tarjeta:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.info-tarjeta span,
.consejo-tarjeta span{

    display:block;

    font-size:2rem;

    margin-bottom:20px;

}

.info-tarjeta h3,
.consejo-tarjeta h3,
.paso-tarjeta h3{

    margin-bottom:14px;

}

.info-tarjeta p,
.consejo-tarjeta p,
.paso-tarjeta p{

    color:var(--color-text-light);

}


/* ==========================================================
   PASOS
========================================================== */

.paso-numero{

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--color-primary);

    color:#ffffff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:800;

    margin-bottom:22px;

}


/* ==========================================================
   FAQ
========================================================== */

.faq{

    margin-top:50px;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.faq details{

    background:#ffffff;

    border-radius:var(--radius-md);

    padding:22px 28px;

    box-shadow:var(--shadow-sm);

}

.faq summary{

    cursor:pointer;

    font-weight:700;

    list-style:none;

    position:relative;

    padding-right:30px;

}

.faq summary::-webkit-details-marker{

    display:none;

}

.faq summary::after{

    content:"+";

    position:absolute;

    right:0;

    top:0;

    font-size:1.3rem;

    color:var(--color-primary);

}

.faq details[open] summary::after{

    content:"−";

}

.faq p{

    margin-top:18px;

    color:var(--color-text-light);

}


/* ==========================================================
   HERRAMIENTAS RELACIONADAS
========================================================== */

.relacionada-tarjeta{

    text-decoration:none;

    color:inherit;

}

.relacionada-tarjeta span{

    display:block;

    font-size:2rem;

    margin-bottom:20px;

}

.relacionada-tarjeta strong{

    display:inline-block;

    margin-top:20px;

    color:var(--color-primary);

}


/* ==========================================================
   FOOTER
========================================================== */

.pie-pagina{

    background:#111827;

    color:#ffffff;

    margin-top:80px;

}

.pie-contenido{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:50px;

    padding:70px 0;

}

.pie-marca p{

    margin-top:18px;

    color:#cbd5e1;

}

.pie-navegacion{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.pie-navegacion a{

    color:#cbd5e1;

}

.pie-navegacion a:hover{

    color:#ffffff;

}

.copyright{

    border-top:1px solid rgba(255,255,255,.12);

    padding:25px 0;

    text-align:center;

    color:#94a3b8;

}


/* ==========================================================
   ANIMACIONES
========================================================== */

@keyframes aparecer{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes flotar{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

}

.animar{

    animation:aparecer .6s ease;

}

.flotar{

    animation:flotar 3s ease-in-out infinite;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:992px){

    .calculadora-grid{

        grid-template-columns:1fr;

    }

    .resumen-tarjeta{

        position:static;

    }

    .pie-contenido{

        grid-template-columns:1fr;

    }

}

@media (max-width:768px){

    .cabecera-contenido{

        flex-direction:column;

        justify-content:center;

        padding:20px 0;

    }

    .hero{

        padding:70px 0;

    }

    .hero-caracteristicas{

        grid-template-columns:1fr;

    }

    .indice-secciones{

        position:static;

    }

    .indice-contenido{

        justify-content:flex-start;

        overflow-x:auto;

        flex-wrap:nowrap;

        padding-bottom:12px;

    }

    .tarjeta{

        padding:28px;

    }

    .resultado-principal{

        padding:40px 24px;

    }

    .interpretacion,
    .recomendaciones{

        flex-direction:column;

    }

}

@media (max-width:480px){

    .hero h1{

        font-size:2rem;

    }

    .boton{

        width:100%;

    }

    .acciones-formulario{

        flex-direction:column;

    }

}


/* ==========================================================
   FIN DEL H360 DESIGN SYSTEM
========================================================== */

/* CALCULADORA DE LECHE — COMPONENTES ESPECÍFICOS */
.hero-bebe{position:relative;overflow:hidden;background:linear-gradient(145deg,#eff6ff 0%,#fff 52%,#f0fdfa 100%)}
.hero-bebe::before,.hero-bebe::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hero-bebe::before{width:320px;height:320px;right:-100px;top:-130px;background:rgba(37,99,235,.09)}
.hero-bebe::after{width:220px;height:220px;left:-90px;bottom:-120px;background:rgba(20,184,166,.1)}
.hero-bebe .hero-contenido{position:relative;z-index:1}
.hero-confianza{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:28px;color:#334155;font-size:var(--font-sm);font-weight:600}
.calculadora-pro{max-width:1000px}.calculadora-pro form{display:flex;flex-direction:column;gap:28px}
.bloque-formulario{border:1px solid #e2e8f0;box-shadow:0 12px 36px rgba(15,23,42,.07)}
.bloque-formulario>legend{padding:0 12px;font-size:var(--font-lg);font-weight:800;color:#0f172a}
.paso-numero{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:var(--font-sm)}
.grid-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:18px}
.etiqueta-campo{font-weight:700}.edad-compuesta{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:10px}
.subgrupo{min-width:0;margin-top:28px;border:0}.subgrupo>legend{margin-bottom:12px;font-weight:700}
.selector-tarjetas{display:grid;gap:14px}.selector-dos{grid-template-columns:repeat(2,minmax(0,1fr))}.selector-cuatro{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}
.opcion-tarjeta{position:relative;display:block;cursor:pointer}.opcion-tarjeta input{position:absolute;width:1px;height:1px;opacity:0}
.opcion-contenido{display:flex;min-height:112px;height:100%;padding:20px;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;border:2px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;transition:var(--transition-fast)}
.opcion-contenido small{color:var(--color-text-light);line-height:1.4}.opcion-icono{font-size:2rem}
.opcion-tarjeta:hover .opcion-contenido{border-color:#93c5fd;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.opcion-tarjeta input:checked+.opcion-contenido{border-color:var(--color-primary);background:#eff6ff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.opcion-tarjeta input:focus-visible+.opcion-contenido{outline:3px solid #f59e0b;outline-offset:3px}
.compacto .opcion-contenido{min-height:64px;padding:12px}.texto-intro{color:var(--color-text-light)}
.aviso-contextual{margin-top:18px;padding:16px 18px;border-left:4px solid var(--color-warning);border-radius:var(--radius-sm);background:#fff7ed;color:#7c2d12;font-size:var(--font-sm)}
.estado-formulario{min-height:28px;text-align:center;color:#334155;font-weight:600}.acciones-formulario{justify-content:center}.acciones-formulario .boton{min-width:250px}
.panel-resultado{margin-top:24px;min-height:120px}.grid-resultados-detalle{display:grid;grid-template-columns:1fr 1fr;gap:24px}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px rgba(220,38,38,.1)!important}
:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
#resultados:focus{outline:none}
@media (max-width:900px){.selector-cuatro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hero-confianza{align-items:flex-start;flex-direction:column}.bloque-formulario{padding:24px 18px}.grid-campos,.grid-resultados-detalle,.selector-dos,.selector-cuatro{grid-template-columns:1fr}.edad-compuesta{grid-template-columns:minmax(0,1fr) 118px}.opcion-contenido{min-height:88px}.acciones-formulario{flex-direction:column}.acciones-formulario .boton{width:100%;min-width:0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.opcion-contenido{transition:none}}

/* Informe dinámico */
.informe-perfil{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin-top:18px;text-align:left}
.perfil-dato{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.24)}
.resultado-principal h3{font-size:clamp(1.3rem,2.5vw,1.65rem);font-weight:800;line-height:1.2}
.resultados-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.resultado-tarjeta{display:flex;flex-direction:column;min-height:240px;height:100%}
.resultado-tarjeta h3{margin-bottom:14px;font-size:1.05rem;font-weight:700;line-height:1.35}
.resultado-tarjeta .dato-destacado{margin:6px 0;font-size:clamp(2rem,3.5vw,2.5rem);font-weight:900;line-height:1.08;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--color-primary)}
.resultado-tarjeta .texto-ayuda,.resultado-tarjeta.estado-patron p{margin-top:auto;padding-top:14px;color:var(--color-text-light);font-size:var(--font-sm);font-weight:400;line-height:1.55}
@media (max-width:900px){.resultados-grid{grid-template-columns:1fr}}
.estado-patron{border-top:4px solid var(--color-info)}.estado-observacion{border-top-color:var(--color-warning)}.estado-consulta{border-top-color:var(--color-danger)}
.estado-icono{display:inline-grid;place-items:center;width:36px;height:36px;margin-bottom:10px;border-radius:50%;background:var(--color-primary-light);font-weight:800;color:var(--color-primary)}
.etiqueta-nivel{display:inline-block;margin:10px 0;padding:4px 10px;border-radius:var(--radius-round);background:#f1f5f9;color:#475569;font-size:var(--font-sm);font-weight:700}
.lista-informe{display:grid;gap:10px;margin-top:14px}.lista-informe li{position:relative;padding-left:22px}.lista-informe li::before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:800}
.recomendaciones-informe{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border)}
.lista-recomendaciones-informe{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.lista-recomendaciones-informe li{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--radius-sm);background:#f8fafc}.lista-recomendaciones-informe span{color:var(--color-text-light);font-size:var(--font-sm)}
@media (max-width:640px){.informe-perfil,.lista-recomendaciones-informe{grid-template-columns:1fr}}
.introduccion-informe{font-size:var(--font-md);color:#334155}.limitaciones-informe{margin-top:28px;padding:22px;border-radius:var(--radius-md);background:#f8fafc;border:1px solid var(--color-border)}
.senales-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.senal-item{padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.senal-grupo{color:var(--color-primary);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.senal-item h4{margin:5px 0}.senal-item p{color:var(--color-text-light);font-size:var(--font-sm)}
@media (max-width:640px){.senales-grid{grid-template-columns:1fr}}

/* Capa editorial, confianza y SEO */
.oculto-visualmente{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.breadcrumb{padding:12px 0;background:#fff;border-bottom:1px solid var(--color-border);font-size:var(--font-sm);color:var(--color-text-light)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px}.breadcrumb a{color:var(--color-primary);font-weight:700}
.lista-editorial{display:grid;gap:14px;margin-top:20px}.lista-editorial li{position:relative;padding-left:28px}.lista-editorial li::before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:900}
.revision-cientifica{margin-top:24px;padding:14px 18px;border-radius:var(--radius-sm);background:var(--color-primary-light);color:#1e3a8a}
.seccion-confianza{padding-top:0}.seccion-confianza .tarjeta{border-top:4px solid var(--color-primary)}
.timeline-premium{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:14px;margin-top:24px;overflow-x:auto;padding:6px 2px 18px}.timeline-item{position:relative;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.timeline-actual{border:2px solid var(--color-primary);background:#eff6ff;box-shadow:var(--shadow-sm)}.timeline-icono{font-size:1.6rem}.timeline-etiqueta{display:block;margin:6px 0;color:var(--color-primary);font-weight:800}.timeline-item h4{margin-bottom:7px}.timeline-item p{font-size:var(--font-sm);color:var(--color-text-light)}
.fuentes-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fuentes-lista li{display:flex;flex-direction:column;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.fuentes-lista a{color:var(--color-primary);font-weight:800}.fuentes-lista span{color:var(--color-text-light);font-size:var(--font-sm)}
.relacionada-tarjeta small{display:block;color:var(--color-text-light);font-size:var(--font-sm)}
@media(max-width:720px){.fuentes-lista{grid-template-columns:1fr}}

/* Funciones premium */
.cabecera-impresion{display:none}.acciones-informe{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}.estado-acciones{min-height:26px;margin-top:10px;color:#334155;font-weight:600}
.historial-cabecera{display:flex;align-items:end;justify-content:space-between;gap:24px}.historial-cabecera>div{max-width:720px}.historial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.historial-item{padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.historial-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.historial-item header{display:flex;justify-content:space-between;gap:14px;margin-bottom:8px}.historial-item time{color:var(--color-text-light);font-size:var(--font-sm)}.historial-item>p{color:var(--color-text-light)}
.historial-resumen{margin-top:14px;padding:14px;border-radius:var(--radius-sm);background:#eff6ff;color:#1e3a8a}.historial-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.boton-terciario,.boton-peligro{padding:9px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:700}.boton-terciario:hover{border-color:var(--color-primary);color:var(--color-primary)}.boton-peligro{color:var(--color-danger)}.boton-peligro:hover{border-color:var(--color-danger);background:#fef2f2}
.historial-vacio{grid-column:1/-1;padding:44px 24px;text-align:center;border:2px dashed #cbd5e1;border-radius:var(--radius-lg);background:#fff}.historial-vacio-icono{display:block;font-size:2.5rem;margin-bottom:10px}.historial-vacio p{color:var(--color-text-light)}
@media(max-width:720px){.historial-grid{grid-template-columns:1fr}.historial-cabecera{align-items:stretch;flex-direction:column}.historial-cabecera .boton{width:100%}.historial-item header{flex-direction:column}.acciones-informe .boton{width:100%}}
@media(prefers-reduced-motion:reduce){.historial-item{transition:none}.historial-item:hover{transform:none}}

@page{size:A4;margin:16mm}
@media print{
  body{background:#fff;color:#111;font-family:Arial,sans-serif;font-size:10.5pt;line-height:1.45}
  .salto-contenido,.cabecera-principal,.breadcrumb,.hero,.indice-secciones,.seccion-calculadora,#seccionHistorial,#metodologia,#confianza,#preguntas-frecuentes,#herramientas-relacionadas,.pie-pagina,.acciones-informe,.estado-acciones,#timeline,#senalesConsultar{display:none!important}
  #resultados{display:block!important;padding:0!important;background:#fff!important}.cabecera-impresion{display:flex!important;justify-content:space-between;gap:16px;padding-bottom:10px;margin-bottom:18px;border-bottom:2px solid #2563eb}.resultado-cabecera{margin-bottom:16px}.resultado-cabecera .etiqueta{display:none}.resultado-cabecera h2{color:#111;font-size:20pt}
  .contenedor{width:100%!important;max-width:none!important}.resultados-grid,.grid-resultados-detalle,.senales-grid,.lista-recomendaciones-informe{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.resultado-principal,.resultado-tarjeta,.tarjeta,.senal-item{break-inside:avoid;box-shadow:none!important;border:1px solid #bbb!important;background:#fff!important;color:#111!important;padding:14px!important}.resultado-principal *{color:#111!important}.panel-resultado{margin-top:12px!important}
  #fuentes{display:block!important;padding:18px 0 0!important;break-before:page}#fuentes .seccion-encabezado{margin-bottom:12px}.fuentes-lista{grid-template-columns:1fr!important}.fuentes-lista li{break-inside:avoid;padding:8px!important}.fuentes-lista a{color:#111!important;text-decoration:underline}.fuentes-lista span{color:#333!important}
}
