/* Portada = misma referencia visual que index.prueba.integral.html (experiencia aceptada) */
:root {
    --afs-bg: #070d14;
    --afs-bg-soft: rgba(12, 22, 36, 0.82);
    --afs-card: rgba(18, 32, 48, 0.94);
    --afs-line: rgba(255, 255, 255, 0.11);
    --afs-text: #f2f7ff;
    --afs-muted: #9fb4d0;
    --afs-green: #4caf50;
    --afs-green-soft: rgba(76, 175, 80, 0.14);
    --afs-gold: #d4b15a;
    --afs-gold-dim: rgba(212, 177, 90, 0.22);
}

body.afs-integral {
    margin: 0;
    font-family: "DM Sans", system-ui, sans-serif;
    color: var(--afs-text);
    background: var(--afs-bg) !important;
}

body.afs-integral * { box-sizing: border-box; }

/* Solo lectores de pantalla / estructura semántica sin duplicar título visible */
body.afs-integral .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

body.afs-integral h1,
body.afs-integral h2,
body.afs-integral h3,
body.afs-integral .font-display {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 700;
}

body.afs-integral .fondo {
    position: fixed;
    inset: 0;
    background:
        radial-gradient(ellipse 120% 85% at 50% -15%, rgba(76, 175, 80, 0.1), transparent 50%),
        radial-gradient(ellipse 70% 55% at 85% 40%, rgba(212, 177, 90, 0.06), transparent 45%),
        linear-gradient(180deg, rgba(6,14,24,0.18) 0%, rgba(5,12,20,0.42) 35%, rgba(4,10,18,0.62) 70%, rgba(4,8,14,0.72) 100%),
        url('../assets/images/fondo-montana.jpg') center/cover no-repeat;
    z-index: -1;
}

/* Barra superior unificada: enlazar core/css/afs-site-header.css en el HTML */

body.afs-integral .btn {
    border: none;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "DM Sans", sans-serif;
    font-size: 0.9rem;
}

body.afs-integral .btn-primary {
    background: linear-gradient(145deg, #5cbf65, #3d9a45);
    color: white;
    box-shadow: 0 4px 20px rgba(76, 175, 80, 0.35);
    transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease;
}

body.afs-integral .btn-primary:hover {
    filter: brightness(1.06);
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 28px rgba(76, 175, 80, 0.45);
}
body.afs-integral .btn-primary:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 3px 14px rgba(76, 175, 80, 0.28);
}
body.afs-integral .btn-primary:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

body.afs-integral .btn-secondary {
    background: rgba(255,255,255,0.06);
    color: white;
    border: 1px solid rgba(255,255,255,0.28);
}

body.afs-integral .btn-gold {
    background: linear-gradient(145deg, #e8c86e, var(--afs-gold));
    color: #1a1208;
    font-weight: 800;
}

body.afs-integral .wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 18px 48px;
}

body.afs-integral .hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: visible;
    --afs-hero-h1-font-size: clamp(2.35rem, 5vw, 3.65rem);
    /* Mismo hueco tras el bloque del título y entre las dos líneas del lead */
    --afs-hero-gap-tras-titulo: 12px;
    --hero-title-nudge: 3.125rem;
    padding: calc(28px + var(--hero-title-nudge)) 0 clamp(1.35rem, 3.8vh, 2.35rem);
    box-sizing: border-box;
}

body.afs-integral .hero-cabeza {
    width: 100%;
    max-width: 100%;
}

body.afs-integral .hero-pie {
    width: 100%;
    max-width: 100%;
    margin-top: calc(clamp(7.95rem, 21vh, 13.75rem) - var(--hero-title-nudge, 0px));
    padding: 0;
    border: none;
}

body.afs-integral .hero .afs-scroll-hint {
    position: absolute;
    left: 50%;
    bottom: clamp(-2.85rem, -5.5vh, -2rem);
    z-index: 4;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(10, 18, 28, 0.55);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    animation: afs-scroll-hint-bob 2.4s ease-in-out infinite;
}

body.afs-integral .hero .afs-scroll-hint:hover,
body.afs-integral .hero .afs-scroll-hint:focus-visible {
    color: #fff;
    border-color: rgba(212, 177, 90, 0.55);
    outline: none;
    box-shadow: 0 0 0 2px rgba(212, 177, 90, 0.35), 0 4px 20px rgba(0, 0, 0, 0.35);
}

body.afs-integral .hero .afs-scroll-hint i {
    font-size: 1.05rem;
    line-height: 1;
}

@keyframes afs-scroll-hint-bob {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(7px); }
}

@media (prefers-reduced-motion: reduce) {
    body.afs-integral .hero .afs-scroll-hint {
        animation: none;
    }
}

/* Solo título + subtítulo dorado arriba; el resto va en .portada-bajo-hero */
body.afs-integral .hero.hero--portada-alta {
    padding-bottom: 10px;
    --afs-hero-gap-tras-titulo: 6px;
}

body.afs-integral .portada-bajo-hero {
    text-align: center;
    padding: 4px 0 12px;
    margin: 0 auto;
    max-width: 1180px;
}

body.afs-integral .portada-bajo-hero .hero-lead,
body.afs-integral .portada-bajo-hero .hero-desc-stack {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

body.afs-integral .pill {
    display: inline-block;
    border: 1px solid var(--afs-gold-dim);
    background: linear-gradient(135deg, rgba(212,177,90,0.15), rgba(76,175,80,0.08));
    color: #f5e6bc;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    padding: 8px 14px;
    text-transform: uppercase;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .hero h1 {
    margin: 18px 0 var(--afs-hero-gap-tras-titulo);
    font-size: var(--afs-hero-h1-font-size);
    line-height: 1.08;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 24px rgba(0,0,0,0.45), 0 1px 3px rgba(0,0,0,0.35);
    color: #fff;
}

body.afs-integral .hero .hero-line-gold {
    display: block;
    /* Degradado sin blancos: se lee bien sobre el hero (antes #fff8e7 / #c9e8ff casi desaparecían). */
    background: linear-gradient(90deg, #e8c96a, #d4a82a, #c9a227) !important;
    background-image: linear-gradient(90deg, #e8c96a, #d4a82a, #c9a227) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-style: italic;
    font-weight: 700;
    margin-top: 0.25em;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.65)) drop-shadow(0 0 18px rgba(0, 0, 0, 0.35));
}

body.afs-integral .hero-lead {
    max-width: 640px;
    margin: 0 auto 12px;
    color: #e8f0fc;
    font-size: 1.15rem;
    line-height: 1.55;
    font-weight: 500;
    font-family: "DM Sans", sans-serif;
}

/* Lead en dos renglones: párrafo largo y frase final en <p> aparte */
body.afs-integral .hero-desc-stack {
    max-width: 640px;
    margin: 0 auto 12px;
}

body.afs-integral .hero-desc-stack .hero-lead {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 0;
}

/* Un poco más junto que título→lead (misma base, −9px; mín. 2px en variantes estrechas) */
body.afs-integral .hero .hero-desc-stack .hero-lead-cierre-line {
    margin-top: max(2px, calc(var(--afs-hero-gap-tras-titulo) - 9px));
    white-space: nowrap;
}

@media (max-width: 360px) {
    body.afs-integral .hero .hero-desc-stack .hero-lead-cierre-line {
        font-size: 0.95em;
        white-space: normal;
    }
}

body.afs-integral .hero-metodo-link {
    text-align: center;
    margin: 0 0 14px;
    font-size: 0.88rem;
}

body.afs-integral .hero-metodo-link a {
    color: #c8e0ff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.afs-integral .hero-cta {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Iconos del hero: rem + !important para que no los pise Font Awesome ni varíe el em en escritorio */
body.afs-integral .hero-cta .btn > i.fas,
body.afs-integral .hero-cta .btn > i.fa-solid,
body.afs-integral .diferencial .afs-rigor-bullets .afs-rigor-action.btn > i.fas,
body.afs-integral .diferencial .afs-rigor-bullets .afs-rigor-action.btn > i.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-size: 0.7rem !important;
    line-height: 1 !important;
    vertical-align: -0.06em;
}

body.afs-integral .promesa-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 32px;
}

body.afs-integral .promesa-card {
    text-align: left;
    padding: 18px 18px 20px;
    border-radius: 16px;
    border: 1px solid var(--afs-line);
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(10px);
}

body.afs-integral .promesa-card .icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--afs-green-soft);
    color: #8fdf96;
    margin-bottom: 10px;
}

body.afs-integral .promesa-card h3 {
    margin: 0 0 6px;
    font-size: 1.25rem;
    color: #fff;
    font-family: "Cormorant Garamond", Georgia, serif;
}

body.afs-integral .promesa-card p {
    margin: 0;
    font-size: 0.9rem;
    color: var(--afs-muted);
    line-height: 1.5;
    font-family: "DM Sans", sans-serif;
}

/* Nombre neutro: la clase genérica "trust" suele ocultarse con filtros cosméticos de bloqueadores */
body.afs-integral .afs-rigor-bullets {
    margin: 24px auto 14px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

body.afs-integral .afs-rigor-bullet {
    background: var(--afs-bg-soft);
    border: 1px solid var(--afs-line);
    border-radius: 14px;
    padding: 12px;
    text-align: center;
    font-size: .92rem;
    color: #dbebff;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .afs-rigor-bullet i { color: var(--afs-green); margin-right: 6px; }

body.afs-integral .diferencial {
    margin-top: 28px;
    padding: 22px 22px 24px;
    border-radius: 20px;
    border: 1px solid rgba(212, 177, 90, 0.25);
    background: linear-gradient(160deg, rgba(212,177,90,0.08) 0%, rgba(18,32,48,0.75) 45%, rgba(12,22,36,0.9) 100%);
}

body.afs-integral .diferencial.diferencial--tras-pasos {
    position: relative;
    z-index: 2;
    margin-top: clamp(6.35rem, 16vh, 10.25rem);
    margin-bottom: 4px;
}

body.afs-integral .diferencial h2 {
    margin: 0 0 6px;
    font-size: clamp(1.65rem, 3vw, 2.1rem);
    color: #fff;
}

body.afs-integral .diferencial > p.intro {
    margin: 0;
    color: #c5d4ea;
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: 820px;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .diferencial .afs-rigor-bullets {
    margin: 18px 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body.afs-integral .diferencial .afs-rigor-bullets .afs-rigor-bullet {
    background: rgba(7, 14, 22, 0.45);
    border-color: rgba(255, 255, 255, 0.09);
    font-size: 0.88rem;
}

body.afs-integral .diferencial .afs-rigor-bullets .afs-rigor-action.btn {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
    min-height: 2.85rem;
    padding: 10px 12px;
    line-height: 1.3;
    font-size: 0.88rem;
    background: rgba(7, 14, 22, 0.55);
    border-color: rgba(255, 255, 255, 0.12);
    box-sizing: border-box;
}

body.afs-integral .diferencial .afs-rigor-bullets .afs-rigor-action.btn:hover {
    border-color: rgba(212, 177, 90, 0.35);
}

body.afs-integral .diferencial .afs-rigor-bullets .afs-rigor-action.btn:focus-visible {
    outline: 2px solid rgba(212, 177, 90, 0.45);
    outline-offset: 2px;
}

body.afs-integral .panel {
    margin-top: 20px;
    background: var(--afs-bg-soft);
    border: 1px solid var(--afs-line);
    border-radius: 18px;
    padding: 18px;
}

body.afs-integral .panel h2 {
    margin: 0 0 14px;
    font-size: clamp(1.45rem, 2.5vw, 1.85rem);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

body.afs-integral .panel h2::before {
    content: "";
    width: 4px;
    height: 1.1em;
    border-radius: 4px;
    background: linear-gradient(180deg, var(--afs-gold), var(--afs-green));
}

body.afs-integral .panel-sub {
    color: var(--afs-muted);
    margin: 0 0 16px;
    max-width: 720px;
    line-height: 1.5;
    font-family: "DM Sans", sans-serif;
}

/* Ancla al título del panel: el scroll apunta al h2 (mejor que a la sección en escritorio) */
body.afs-integral #titulo-elige-diagnostico {
    scroll-margin-top: 10.5rem;
}

/* Fallback si algún enlace antiguo sigue usando #inicio-rapido */
body.afs-integral #inicio-rapido {
    scroll-margin-top: 10.5rem;
    background: rgba(12, 22, 36, 0.62);
}

@media (max-width: 720px) {
    body.afs-integral #titulo-elige-diagnostico,
    body.afs-integral #inicio-rapido {
        scroll-margin-top: 9rem;
    }
}

body.afs-integral #por-que-afs {
    scroll-margin-top: 5.5rem;
}

body.afs-integral #titulo-por-que-afs {
    scroll-margin-top: 5.5rem;
}

body.afs-integral .cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

body.afs-integral .card {
    background: var(--afs-card);
    border: 1px solid var(--afs-line);
    border-radius: 16px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 260px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

body.afs-integral .card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.35);
    border-color: rgba(212, 177, 90, 0.35);
}

body.afs-integral .card.card--destacado {
    border-color: rgba(212, 177, 90, 0.45);
    box-shadow: 0 0 0 1px rgba(212, 177, 90, 0.15), 0 12px 36px rgba(0,0,0,0.3);
    position: relative;
    padding-top: 44px;
}

body.afs-integral .card.card--destacado::after {
    content: "Más elegido";
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 0.65rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #1a1408;
    background: var(--afs-gold);
    padding: 4px 8px;
    border-radius: 6px;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .card h3 { margin: 0; font-size: 1.08rem; }
body.afs-integral .card .tipo {
    font-size: .8rem;
    color: #ffe09c;
    font-weight: 700;
    text-transform: uppercase;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .card .benef {
    color: #dce7f8;
    font-size: .93rem;
    line-height: 1.45;
    flex: 1;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .price {
    font-size: 1.5rem;
    font-weight: 800;
    color: #79e286;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .price small { font-size: .8rem; color: #bdd8c2; font-weight: 500; }

/* Bloque CTA familia (debajo de las 3 tarjetas principales) */
body.afs-integral .panel--familia-cta {
    margin-top: 16px;
    background: linear-gradient(135deg, rgba(18, 32, 48, 0.95), rgba(12, 28, 42, 0.88));
    border: 1px solid rgba(212, 177, 90, 0.28);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
}
body.afs-integral .familia-cta-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
body.afs-integral .familia-cta-copy {
    flex: 1 1 280px;
    min-width: 0;
}
body.afs-integral .panel--familia-cta h2 {
    margin-bottom: 8px;
}
body.afs-integral .panel--familia-cta .panel-sub {
    margin-bottom: 0;
}
body.afs-integral .familia-cta-btn {
    flex-shrink: 0;
    white-space: nowrap;
}

/* Teaser nutrición (misma rejilla que CTA familia; borde en verde suave) */
body.afs-integral .panel--nutricion-teaser {
    border-color: rgba(76, 175, 80, 0.35);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
}

body.afs-integral .variantes-pareja {
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px dashed rgba(255,255,255,0.2);
}

body.afs-integral .variantes-pareja .variantes-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffe09c;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

body.afs-integral .variantes-chips { display: flex; flex-wrap: wrap; gap: 8px; }

body.afs-integral .familia-card-cta {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}

/* packs-familia-hijos.html */
body.afs-integral .familia-packs-hero h1 {
    margin: 0.35rem 0 0.5rem;
    font-size: clamp(1.35rem, 3.2vw, 1.9rem);
    font-weight: 700;
    color: #f2f7ff;
    font-family: "Cormorant Garamond", Georgia, serif;
    line-height: 1.2;
}

/* Misma columna que las tarjetas: un solo bloque gris, sin franja ancha vacía alrededor */
body.afs-integral.familia-packs-pagina .familia-packs-hero {
    max-width: 66%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.afs-integral .familia-catalogo-anchor--pagina {
    margin-top: 0.75rem;
    padding: 1.15rem 1.1rem 1.25rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(12, 22, 36, 0.55);
}

body.afs-integral.familia-packs-pagina .familia-catalogo-anchor--pagina {
    max-width: 66%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    margin-top: 0.6rem;
    padding: 0.8rem 0.95rem 0.95rem;
}

@media (max-width: 640px) {
    body.afs-integral.familia-packs-pagina .familia-packs-hero,
    body.afs-integral.familia-packs-pagina .familia-catalogo-anchor--pagina {
        max-width: 92%;
    }
}

/* Nutrición: volver a portada fijo abajo a la izq. (packs familia usa bloque bajo tarjetas, .familia-packs-portada-footer) */
body.afs-integral.nutricion-integracion-pagina a.familia-volver-portada {
    position: fixed;
    bottom: max(102px, calc(env(safe-area-inset-bottom, 0px) + 86px));
    left: max(14px, env(safe-area-inset-left, 0px));
    top: auto;
    z-index: 1005;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    color: #e8f0ff;
    background: rgba(18, 28, 42, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    max-width: min(280px, calc(100vw - 100px));
    box-sizing: border-box;
}

body.afs-integral.nutricion-integracion-pagina a.familia-volver-portada:hover {
    color: #fff;
    border-color: rgba(76, 175, 80, 0.45);
    background: rgba(22, 36, 52, 0.96);
}

body.afs-integral.nutricion-integracion-pagina a.familia-volver-portada:focus-visible {
    outline: 2px solid rgba(76, 175, 80, 0.65);
    outline-offset: 2px;
}

/* Packs familia: enlace a portada bajo las tarjetas (.btn .btn-secondary + flecha) */
body.afs-integral.familia-packs-pagina .familia-packs-portada-footer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 0.85rem;
    margin-bottom: 0.35rem;
    padding-top: 0.32rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.14);
}

body.afs-integral.familia-packs-pagina .familia-packs-portada-footer .btn {
    min-width: min(100%, 280px);
    justify-content: center;
}

/* Altura compacta: título + 3 packs visibles sin scroll en pantallas habituales */
body.afs-integral.familia-packs-pagina .wrap {
    padding-top: 16px;
    padding-bottom: 28px;
}

body.afs-integral.familia-packs-pagina .familia-packs-hero.panel {
    margin-top: 10px;
    padding: 14px 16px 16px;
}

body.afs-integral.familia-packs-pagina .familia-packs-hero .pill {
    padding: 6px 12px;
    font-size: 11px;
    margin-bottom: 0;
}

body.afs-integral.familia-packs-pagina .familia-packs-hero h1 {
    margin: 0.25rem 0 0.5rem;
    font-size: clamp(1.42rem, 3.05vw, 1.92rem);
}

body.afs-integral.familia-packs-pagina .familia-packs-hero .panel-sub {
    margin-bottom: 0;
    line-height: 1.52;
    font-size: 1.05rem;
    max-width: none;
}

body.afs-integral.familia-packs-pagina .familia-packs-con-acordeon {
    gap: 7px;
}

body.afs-integral.familia-packs-pagina .variantes-pareja .variantes-label {
    margin-bottom: 3px;
    font-size: 0.7rem;
}

body.afs-integral.familia-packs-pagina .familia-pack-tarjeta {
    padding: 9px 11px 8px;
    border-radius: 11px;
}

body.afs-integral.familia-packs-pagina .familia-pack-acordeon {
    margin-top: 5px;
    padding-top: 4px;
}

body.afs-integral.familia-packs-pagina .familia-pack-acordeon-resumen {
    padding: 3px 0 6px;
    font-size: 0.76rem;
    line-height: 1.34;
}

body.afs-integral.familia-packs-pagina .familia-pack-acordeon-chevron {
    margin-top: 0.22em;
}

body.afs-integral.familia-packs-pagina .familia-pack-btn {
    padding: 7px 12px;
    font-size: 0.8rem;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

body.afs-integral.familia-packs-pagina .familia-pack-acordeon-leyenda {
    margin-bottom: 10px;
    padding: 7px 9px;
    font-size: 0.72rem;
    line-height: 1.4;
}

/* packs-familia-hijos.html: tipografía algo mayor (no afecta nutrición ni servicios-adicionales) */
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .wrap {
    padding-top: 18px;
    padding-bottom: 30px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-packs-hero,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-catalogo-anchor--pagina {
    max-width: 60%;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .panel--nutricion-teaser {
    max-width: 60%;
    margin-left: auto;
    margin-right: auto;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-packs-hero.panel {
    padding: 16px 18px 18px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-packs-hero .pill {
    padding: 7px 13px;
    font-size: 12px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-packs-hero h1 {
    font-size: clamp(1.52rem, 3.2vw, 2.08rem);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-packs-hero .panel-sub {
    font-size: 1.12rem;
    line-height: 1.55;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-catalogo-anchor--pagina {
    padding: 0.95rem 1.05rem 1.08rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .variantes-pareja .variantes-label {
    font-size: 0.78rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-tarjeta {
    padding: 11px 13px 10px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon {
    margin-top: 6px;
    padding-top: 5px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-resumen {
    font-size: 0.86rem;
    line-height: 1.38;
    padding: 4px 0 7px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .btn-adquirir,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina #modalPlanes .plan-btn {
    padding: 10px 16px;
    font-size: 0.9rem;
    font-weight: 700;
    width: auto;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: auto;
    margin-right: auto;
    border-radius: 999px;
    background: linear-gradient(145deg, #5cbf65, #3d9a45);
    color: #fff;
    box-shadow: 0 4px 20px rgba(76, 175, 80, 0.35);
    transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn {
    margin-left: 0;
    margin-right: auto;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn:hover,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .btn-adquirir:hover,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina #modalPlanes .plan-btn:hover {
    filter: brightness(1.06);
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 28px rgba(76, 175, 80, 0.45);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn:active,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .btn-adquirir:active,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina #modalPlanes .plan-btn:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 3px 14px rgba(76, 175, 80, 0.28);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn:focus-visible,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .btn-adquirir:focus-visible,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina #modalPlanes .plan-btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-leyenda {
    font-size: 0.8rem;
    padding: 8px 10px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-cuerpo .variantes-sublabel,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-cuerpo .variantes-sublabel {
    font-size: 0.8rem;
}

/* Invertir jerarquia visual: individuales en verde */
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-cuerpo .btn-chip,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-cuerpo .btn-chip {
    font-size: 0.9rem;
    padding: 10px 16px;
    border-radius: 999px;
    border: none;
    background: linear-gradient(145deg, #5cbf65, #3d9a45);
    color: #fff;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 20px rgba(76, 175, 80, 0.35);
    transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.2s ease;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-cuerpo .btn-chip::before,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-cuerpo .btn-chip::before {
    content: "\f217";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.9em;
    line-height: 1;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-cuerpo .btn-chip:hover,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-cuerpo .btn-chip:hover {
    filter: brightness(1.06);
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 28px rgba(76, 175, 80, 0.45);
    border: none;
    background: linear-gradient(145deg, #5cbf65, #3d9a45);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-cuerpo .btn-chip:active,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-cuerpo .btn-chip:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 3px 14px rgba(76, 175, 80, 0.28);
}

/* Pack sin protagonismo: neutro/traslucido con carrito */
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn {
    padding: 10px 16px;
    font-size: 0.9rem;
    font-weight: 700;
    width: auto;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: 0;
    margin-right: auto;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.35);
    background: rgba(255,255,255,0.06);
    color: #e8f0ff;
    box-shadow: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn:hover {
    border-color: var(--afs-green);
    background: rgba(76,175,80,0.15);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(76, 175, 80, 0.22);
    filter: none;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn:active {
    transform: translateY(0) scale(0.97);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.15);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-btn:focus-visible {
    outline: 2px solid rgba(255,255,255,0.75);
    outline-offset: 3px;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-cuerpo .precio-pack-nota,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .familia-pack-acordeon-cuerpo .familia-variantes-caso {
    font-size: 0.9rem;
}

/* Página explicativa nutrición (misma columna/hero que familia vía body.familia-packs-pagina) */
body.afs-integral.nutricion-integracion-pagina .nutricion-prose-titulo {
    margin: 0.72rem 0 0.28rem;
    font-size: clamp(1.08rem, 2.2vw, 1.3rem);
    font-weight: 700;
    color: #f2f7ff;
    font-family: "Cormorant Garamond", Georgia, serif;
    line-height: 1.25;
}

body.afs-integral.nutricion-integracion-pagina .nutricion-prose > .nutricion-prose-titulo:first-child {
    margin-top: 0;
}

body.afs-integral.nutricion-integracion-pagina .nutricion-prose > p {
    margin: 0 0 0.52rem;
    color: #c8d6ea;
    line-height: 1.55;
    font-size: 0.94rem;
}

body.afs-integral.nutricion-integracion-pagina .nutricion-prose-lista {
    margin: 0 0 0.45rem;
    padding-left: 1.25rem;
    color: #c8d6ea;
    line-height: 1.55;
    font-size: 0.94rem;
}

body.afs-integral.nutricion-integracion-pagina .nutricion-prose-lista li {
    margin-bottom: 0.18rem;
}

body.afs-integral.nutricion-integracion-pagina .nutricion-prose-nota {
    margin: 0.75rem 0 1.15rem;
    padding: 10px 12px;
    font-size: 0.82rem;
    line-height: 1.5;
    color: #c8dbe8;
    background: rgba(76, 175, 80, 0.1);
    border: 1px solid rgba(76, 175, 80, 0.28);
    border-radius: 8px;
}

body.afs-integral.nutricion-integracion-pagina .nutricion-prose-cta {
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.18);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

body.afs-integral.nutricion-integracion-pagina .familia-catalogo-anchor--pagina {
    padding-top: 0.55rem;
    padding-bottom: 0.65rem;
}

body.afs-integral .familia-catalogo-anchor--pagina .variantes-pareja:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

body.afs-integral .variantes-familia-packs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: stretch;
}

body.afs-integral .familia-packs-con-acordeon {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
}

body.afs-integral .familia-pack-tarjeta {
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    padding: 12px 14px 10px;
    background: rgba(12, 22, 36, 0.4);
    display: flex;
    flex-direction: column;
    gap: 0;
}

body.afs-integral .familia-pack-tarjeta .familia-pack-btn {
    margin-bottom: 0;
}

body.afs-integral .familia-pack-acordeon {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dashed rgba(255, 255, 255, 0.18);
}

body.afs-integral .familia-pack-acordeon-resumen {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #ffe09c;
    line-height: 1.4;
    padding: 6px 0 8px;
    user-select: none;
}

body.afs-integral .familia-pack-acordeon-resumen::-webkit-details-marker {
    display: none;
}

body.afs-integral .familia-pack-acordeon-resumen::marker {
    content: "";
}

body.afs-integral .familia-pack-acordeon-chevron {
    flex-shrink: 0;
    width: 0.55em;
    height: 0.55em;
    margin-top: 0.28em;
    border-right: 2px solid #ffe09c;
    border-bottom: 2px solid #ffe09c;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    opacity: 0.9;
}

body.afs-integral .familia-pack-acordeon[open] .familia-pack-acordeon-chevron {
    transform: rotate(-135deg);
    margin-top: 0.45em;
}

body.afs-integral .familia-pack-acordeon-cuerpo {
    padding-bottom: 4px;
    animation: familia-acordeon-abre 0.22s ease;
}

body.afs-integral .familia-pack-acordeon-leyenda {
    margin: 0 0 10px;
    padding: 8px 10px;
    font-size: 0.72rem;
    line-height: 1.45;
    color: #c8dbe8;
    background: rgba(76, 175, 80, 0.1);
    border: 1px solid rgba(76, 175, 80, 0.28);
    border-radius: 8px;
}

body.afs-integral .familia-pack-acordeon-leyenda strong {
    color: #e8f5e9;
    font-weight: 700;
}

@keyframes familia-acordeon-abre {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.afs-integral .familia-pack-acordeon-cuerpo .variantes-sublabel {
    margin-bottom: 4px;
}

body.afs-integral .familia-pack-btn {
    width: 100%;
    justify-content: center;
    font-size: 0.82rem;
    padding: 9px 14px;
}

body.afs-integral .variantes-familia-grupo {
    margin-top: 10px;
}

body.afs-integral .variantes-familia-grupo:first-of-type {
    margin-top: 4px;
}

body.afs-integral .variantes-sublabel {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: #b8c9e0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
}

/* Misma jerarquía visual que .variantes-pareja .variantes-label en index (tarjeta pareja) */
body.afs-integral .familia-variantes-individuales .variantes-familia-grupo .variantes-label {
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffe09c;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
    margin-top: 2px;
}

body.afs-integral .familia-variantes-caso {
    margin-top: 0;
    margin-bottom: 8px;
    line-height: 1.45;
}

body.afs-integral .familia-variantes-individuales .variantes-familia-grupo {
    padding-top: 8px;
    border-top: 1px dashed rgba(255, 255, 255, 0.2);
}

body.afs-integral .familia-variantes-individuales .variantes-familia-grupo:first-of-type {
    padding-top: 0;
    border-top: none;
}

/* Bloque “Solo un cuestionario” dentro del modal de pack (misma página packs-familia-hijos) */
body.afs-integral .modal-contenido .familia-modal-individuales.variantes-pareja {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

body.afs-integral .familia-modal-individuales {
    margin-bottom: 1.25rem;
}

body.afs-integral .familia-modal-individuales .variantes-chips {
    justify-content: center;
}

/* Acordeón de perspectivas sueltas en modal de pack (pack arriba; esto cerrado por defecto) */
body.afs-integral .modal-contenido .familia-modal-pack-acordeon {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.22);
    text-align: left;
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon-resumen {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #ffe09c;
    text-transform: none;
    letter-spacing: normal;
    padding: 4px 0 8px;
    line-height: 1.35;
    user-select: none;
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon-resumen::-webkit-details-marker {
    display: none;
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon-resumen::marker {
    content: "";
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon-flecha {
    flex-shrink: 0;
    width: 0.5em;
    height: 0.5em;
    margin-top: 0.32em;
    border-right: 2px solid #ffe09c;
    border-bottom: 2px solid #ffe09c;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    opacity: 0.95;
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon[open] .familia-modal-pack-acordeon-flecha {
    transform: rotate(-135deg);
    margin-top: 0.48em;
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon-etiqueta {
    flex: 1;
    min-width: 0;
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon-cuerpo {
    padding-bottom: 0.35rem;
}

body.afs-integral .modal-contenido .familia-modal-pack-acordeon-cuerpo .familia-modal-individuales {
    margin-bottom: 0;
}

/* Bloque familia dentro de tarjeta en index (#inicio-rapido) */
body.afs-integral .familia-variantes-en-index {
    margin-top: 0.35rem;
    padding-top: 0.75rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.2);
}

body.afs-integral .familia-variantes-en-index .variantes-familia-grupo {
    margin-top: 10px;
}

body.afs-integral .familia-variantes-en-index .variantes-familia-grupo:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

/* Acordeón “solo una perspectiva” en tarjeta familia del index (misma franja que pareja) */
body.afs-integral .card .familia-index-acordeon {
    margin: 0;
}

body.afs-integral .card .familia-index-acordeon-resumen {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #ffe09c;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
    padding: 2px 0 6px;
    line-height: 1.35;
    user-select: none;
}

body.afs-integral .card .familia-index-acordeon-resumen::-webkit-details-marker {
    display: none;
}

body.afs-integral .card .familia-index-acordeon-resumen::marker {
    content: "";
}

body.afs-integral .card .familia-index-acordeon-flecha {
    flex-shrink: 0;
    width: 0.5em;
    height: 0.5em;
    margin-top: 0.32em;
    border-right: 2px solid #ffe09c;
    border-bottom: 2px solid #ffe09c;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    opacity: 0.95;
}

body.afs-integral .card .familia-index-acordeon[open] .familia-index-acordeon-flecha {
    transform: rotate(-135deg);
    margin-top: 0.48em;
}

body.afs-integral .card .familia-index-acordeon-etiqueta {
    flex: 1;
    min-width: 0;
}

body.afs-integral .card .familia-index-acordeon-panel {
    padding-top: 4px;
    padding-bottom: 2px;
}

body.afs-integral .card .familia-index-acordeon-intro {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 0.82rem;
}

body.afs-integral .card .familia-index-acordeon-panel.familia-variantes-individuales .variantes-familia-grupo:first-of-type {
    padding-top: 0;
    border-top: none;
}

/* Pack arriba, acordeón de individuales abajo; tarjeta más corta al ir el detalle oculto */
body.afs-integral .card#familia-servicio .familia-card-acordeon-inferior {
    margin-top: auto;
    padding-top: 6px;
}

body.afs-integral .btn-chip {
    font-size: 0.78rem;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.35);
    background: rgba(255,255,255,0.06);
    color: #e8f0ff;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: "DM Sans", sans-serif;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

body.afs-integral .btn-chip:hover {
    border-color: var(--afs-green);
    background: rgba(76,175,80,0.15);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(76, 175, 80, 0.22);
}
body.afs-integral .btn-chip:active {
    transform: translateY(0) scale(0.97);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.15);
}
body.afs-integral .btn-chip:focus-visible {
    outline: 2px solid var(--afs-green);
    outline-offset: 2px;
}

body.afs-integral .precio-pack-nota {
    font-size: 0.82rem;
    color: var(--afs-muted);
    margin-top: 4px;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 10px;
}

body.afs-integral .step {
    border: 1px dashed rgba(255,255,255,0.25);
    border-radius: 12px;
    padding: 12px;
    font-size: .9rem;
    color: #d2e4ff;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .step b { color: #fff; }

body.afs-integral .panel-emocion {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(76, 175, 80, 0.08);
    border: 1px solid rgba(76, 175, 80, 0.2);
    color: #c8e6cc;
    font-size: 0.9rem;
    line-height: 1.5;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .testi {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

body.afs-integral .quote {
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--afs-line);
    border-radius: 14px;
    padding: 16px;
    color: #dce8f8;
    font-size: .92rem;
    line-height: 1.5;
    font-style: italic;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .quote b {
    color: #fff;
    display: block;
    margin-top: 10px;
    font-size: .82rem;
    font-style: normal;
    font-weight: 600;
}

body.afs-integral .testi-head {
    text-align: center;
    margin-top: 32px;
    margin-bottom: 12px;
}

body.afs-integral .testi-head h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 2rem); }
body.afs-integral .testi-head p {
    margin: 6px 0 0;
    color: var(--afs-muted);
    font-size: 0.92rem;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .cta-final {
    margin-top: 28px;
    text-align: center;
    padding: 28px 22px;
    background:
        radial-gradient(ellipse 80% 120% at 50% 0%, rgba(212,177,90,0.2), transparent 55%),
        linear-gradient(145deg, rgba(76,175,80,0.2), rgba(18,32,48,0.95));
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 20px;
}

body.afs-integral .cta-final h3 { margin: 0 0 10px; font-size: clamp(1.5rem, 3vw, 2rem); }

body.afs-integral .cta-final h3.cta-final-title {
    max-width: min(42rem, 92vw);
    margin-left: auto;
    margin-right: auto;
    line-height: 1.28;
    font-weight: 700;
}

body.afs-integral .cta-final p {
    margin: 0 0 16px;
    color: #d0dff5;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.55;
    font-family: "DM Sans", sans-serif;
}

/* Subtítulo: más angosto que el título (jerarquía); dos renglones; cuerpo algo menor */
body.afs-integral .cta-final p.cta-final-sub {
    max-width: min(34em, 88vw);
    font-size: 0.93rem;
    line-height: 1.52;
}

/* Demo A/B */
body.afs-integral .demo-ribbon {
    display: none;
    margin: 0 auto 1rem auto;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

body.afs-integral.demo-a .demo-ribbon {
    display: block;
    background: rgba(198, 164, 63, 0.2);
    color: #ffe8a6;
    border: 1px solid rgba(198, 164, 63, 0.6);
}

body.afs-integral.demo-b .demo-ribbon {
    display: block;
    background: rgba(63, 174, 75, 0.2);
    color: #c8ffd0;
    border: 1px solid rgba(76, 175, 80, 0.65);
}

body.afs-integral .demo-trust-row {
    display: none;
    margin: 1rem auto 0;
    gap: 0.6rem;
    flex-wrap: wrap;
    justify-content: center;
}

body.afs-integral.demo-a .demo-trust-row,
body.afs-integral.demo-b .demo-trust-row {
    display: flex;
}

body.afs-integral .demo-trust-pill {
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.2);
    color: #e6f0ff;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .carrito-flotante {
    position: fixed !important;
    bottom: 30px;
    right: 30px;
    left: auto;
    top: auto;
    z-index: 250;
}

body.afs-integral .carrito-panel {
    background: rgba(18, 32, 48, 0.97) !important;
    border: 1px solid var(--afs-line) !important;
    color: var(--afs-text) !important;
}

/* Pie (index ya no carga apariencia-maestra.css) — pie bajo y tipografía pequeña */
body.afs-integral footer.footer {
    background: #0a0f1e;
    color: #e8f0ff;
    padding: 0.75rem 1rem 0.35rem;
    margin-top: 1.25rem;
    border-top: 1px solid var(--afs-line);
}

body.afs-integral .contenedor-footer {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) auto auto;
    gap: 0.65rem 1.25rem;
    align-items: start;
}

body.afs-integral .info-footer h3 {
    font-family: "Cormorant Garamond", Georgia, serif;
    margin: 0 0 0.2rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--afs-green);
}

body.afs-integral .info-footer p {
    opacity: 0.88;
    margin: 0 0 0.3rem;
    font-family: "DM Sans", sans-serif;
    font-size: 0.75rem;
    color: #c5d4ea;
    line-height: 1.35;
}

body.afs-integral .info-footer p:last-child {
    margin-bottom: 0;
}

body.afs-integral .enlaces-footer {
    list-style: none;
    padding: 0;
    margin: 0;
}

body.afs-integral .enlaces-footer li {
    margin-bottom: 0.15rem;
    break-inside: avoid;
}

body.afs-integral .enlaces-footer a {
    color: #b0c4de;
    text-decoration: none;
    font-family: "DM Sans", sans-serif;
    font-size: 0.72rem;
    line-height: 1.3;
    transition: color 0.2s ease;
}

/* Legal en 2 columnas en escritorio: menos altura del rectángulo */
@media (min-width: 720px) {
    body.afs-integral .contenedor-footer .info-footer:nth-child(3) .enlaces-footer {
        columns: 2;
        column-gap: 1rem;
        max-width: 22rem;
    }
}

body.afs-integral .enlaces-footer a:hover {
    color: var(--afs-green);
}

body.afs-integral .copyright {
    text-align: center;
    margin-top: 0.55rem;
    padding-top: 0.45rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #8899b5;
    font-size: 0.65rem;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral .copyright p {
    margin: 0;
}

/* ?demo=a|b — cinta y confianza en hero (clases en body junto a .afs-integral) */
.demo-ribbon {
    display: none;
    margin: 0 auto 1rem auto;
    width: fit-content;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral.demo-a .demo-ribbon {
    display: inline-block;
    background: rgba(198, 164, 63, 0.2);
    color: #ffe8a6;
    border: 1px solid rgba(198, 164, 63, 0.6);
}

body.afs-integral.demo-b .demo-ribbon {
    display: inline-block;
    background: rgba(63, 174, 75, 0.2);
    color: #c8ffd0;
    border: 1px solid rgba(76, 175, 80, 0.65);
}

.demo-trust-row {
    display: none;
    margin: 1rem auto 0;
    gap: 0.6rem;
    flex-wrap: wrap;
    justify-content: center;
}

.demo-trust-pill {
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #e6f0ff;
    font-family: "DM Sans", sans-serif;
}

body.afs-integral.demo-a .demo-trust-row,
body.afs-integral.demo-b .demo-trust-row {
    display: flex;
}

@media (max-width: 980px) {
    body.afs-integral .afs-rigor-bullets,
    body.afs-integral .cards,
    body.afs-integral .steps,
    body.afs-integral .testi,
    body.afs-integral .promesa-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
    body.afs-integral .afs-rigor-bullets,
    body.afs-integral .cards,
    body.afs-integral .steps,
    body.afs-integral .testi,
    body.afs-integral .promesa-grid { grid-template-columns: 1fr; }
    body.afs-integral .hero {
        text-align: left;
        align-items: stretch;
    }
    body.afs-integral .hero-pie {
        margin-top: calc(clamp(7.25rem, 18.5vw, 10rem) - var(--hero-title-nudge, 0px));
    }
    body.afs-integral .hero-cta { justify-content: flex-start; }
    body.afs-integral .contenedor-footer {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 0.55rem;
        max-width: none;
    }
    body.afs-integral .contenedor-footer .info-footer:nth-child(3) .enlaces-footer {
        columns: 1;
        max-width: none;
    }
    body.afs-integral footer.footer {
        padding: 0.65rem 0.85rem 0.3rem;
    }
}

/* servicios-adicionales.html — panel próximamente + rejilla (misma línea que portada) */
body.afs-integral.servicios-adicionales-pagina .panel.mas-servicios-proximos {
    max-width: 66%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    margin-top: 10px;
    background: rgba(12, 22, 36, 0.36);
    border-color: rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.afs-integral.servicios-adicionales-pagina .panel.mas-servicios-proximos h2 {
    margin-bottom: 8px;
}

body.afs-integral.servicios-adicionales-pagina .mas-servicios-futuro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 12px;
}

@media (max-width: 640px) {
    body.afs-integral.servicios-adicionales-pagina .panel.mas-servicios-proximos {
        max-width: 92%;
    }

    body.afs-integral.servicios-adicionales-pagina .mas-servicios-futuro-grid {
        grid-template-columns: 1fr;
    }
}

body.afs-integral.servicios-adicionales-pagina .mas-servicios-placeholder {
    background: var(--afs-card);
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 1.1rem 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
    min-height: 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.afs-integral.servicios-adicionales-pagina .mas-servicios-placeholder:hover {
    border-color: rgba(212, 177, 90, 0.35);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}

body.afs-integral.servicios-adicionales-pagina .mas-servicios-placeholder > i {
    font-size: 1.75rem;
    color: var(--afs-gold);
    margin-bottom: 2px;
}

body.afs-integral.servicios-adicionales-pagina .mas-servicios-placeholder h3 {
    margin: 0;
    font-size: clamp(1.02rem, 2vw, 1.15rem);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 700;
    color: #f2f7ff;
    line-height: 1.25;
}

body.afs-integral.servicios-adicionales-pagina .mas-servicios-placeholder p {
    margin: 0;
    font-size: 0.84rem;
    line-height: 1.45;
    color: var(--afs-muted);
}

/* Botón volver: dentro del panel, bajo la rejilla (sustituye el texto “vuelve pronto”) */
body.afs-integral.servicios-adicionales-pagina .mas-servicios-proximos .mas-servicios-acciones {
    display: flex;
    justify-content: center;
    margin-top: 0.7rem;
    margin-bottom: 0;
    padding-bottom: 0;
}

body.afs-integral.familia-packs-pagina.servicios-adicionales-pagina .wrap {
    padding-bottom: 12px;
}

body.afs-integral.servicios-adicionales-pagina footer.footer {
    margin-top: 0.45rem;
}

/* ——— Portada: anclas para la guía “Servicios” (misma columna que .cards) ——— */
body.afs-integral .afs-anchor-packs-portada {
    scroll-margin-top: 5.75rem;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

body.afs-integral #catalogo-cognitivo,
body.afs-integral #catalogo-pareja,
body.afs-integral #catalogo-pareja-vivo {
    scroll-margin-top: 5.75rem;
}

/* ——— packs-familia-hijos: guía “Servicios” (catálogo; portada sigue siendo el relato) ——— */
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-intro {
    max-width: 66%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding: 1rem 1.15rem 1.15rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(12, 22, 36, 0.52);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-intro-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-intro-copy {
    flex: 1 1 16rem;
    min-width: 0;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-intro h1 {
    margin: 0.25rem 0 0.45rem;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    font-weight: 700;
    color: #f2f7ff;
    font-family: "Cormorant Garamond", Georgia, serif;
    line-height: 1.2;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-lead {
    margin: 0 0 0.55rem;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #b8c9e0;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-meta {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #8fa3c4;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-intro-acciones {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-portada-btn {
    white-space: normal;
    text-align: center;
    max-width: 16rem;
    line-height: 1.35;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-seccion-cabecera,
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-seccion-otros {
    max-width: 66%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding: 0.65rem 0 0.15rem;
    border: none;
    background: transparent;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-seccion-titulo {
    margin: 0 0 0.35rem;
    font-size: clamp(1.02rem, 2.4vw, 1.2rem);
    font-weight: 700;
    color: #dbe7f7;
    font-family: "DM Sans", system-ui, sans-serif;
    letter-spacing: 0.02em;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-seccion-sub {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.45;
    color: #9eb0cc;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.85rem;
    margin-top: 0.85rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-card {
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(15, 28, 44, 0.58);
    padding: 0.9rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-height: 11rem;
    box-sizing: border-box;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-card--complemento {
    border-left: 4px solid rgba(129, 199, 132, 0.75);
    background: rgba(14, 32, 28, 0.45);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-pill-complemento {
    align-self: flex-start;
    margin-bottom: 0.15rem;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-card-tipo {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7eb8e8;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-card-h {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 700;
    color: #f0f5fc;
    line-height: 1.25;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-card-precio {
    margin: 0;
    font-size: 0.84rem;
    color: #a8c4a8;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-card-desc {
    margin: 0 0 0.25rem;
    flex: 1 1 auto;
    font-size: 0.82rem;
    line-height: 1.4;
    color: #9aa8c4;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-card-cta {
    margin-top: auto;
    align-self: stretch;
    justify-content: center;
    text-align: center;
    font-size: 0.82rem;
    padding: 0.5rem 0.65rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-portada-footer {
    gap: 0.65rem;
    justify-content: center;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-portada-footer .btn {
    min-width: min(100%, 260px);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-portada-cta-doble {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    text-align: center;
    line-height: 1.28;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-portada-cta-doble .afs-portada-cta-main {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    font-weight: 600;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-portada-cta-doble .afs-portada-cta-sub {
    font-size: 0.76rem;
    font-weight: 500;
    opacity: 0.9;
    max-width: 22rem;
    line-height: 1.35;
}

@media (max-width: 640px) {
    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-intro,
    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-seccion-cabecera,
    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-seccion-otros {
        max-width: 92%;
    }

    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-servicios-intro-acciones {
        width: 100%;
    }

    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-guia-portada-btn {
        max-width: none;
        width: 100%;
    }
}

/* ——— Servicios: listado corrido (packs con <details> + filas simples) ——— */
body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-listado-wrap {
    max-width: 66%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-listado-leyenda {
    margin: 0 0 0.65rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #8fa3c4;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-badge-pack {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.2rem 0.45rem;
    border-radius: 6px;
    background: rgba(76, 175, 80, 0.22);
    color: #c8f5c9;
    margin-right: 0.35rem;
    vertical-align: middle;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-badge-solo {
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #7eb8e8;
    margin-bottom: 0.2rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-listado {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: afs-serv-idx;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-list-item {
    counter-increment: afs-serv-idx;
    margin: 0 0 0.55rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(12, 22, 36, 0.45);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-list-item--complemento {
    border-left: 4px solid rgba(129, 199, 132, 0.65);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-list-linea {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.65rem 0.85rem;
    padding: 0.65rem 0.75rem 0.7rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-details {
    flex: 1 1 12rem;
    min-width: 0;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
    padding: 0.15rem 0;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-summary::-webkit-details-marker {
    display: none;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-summary::marker {
    content: '';
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-summary-main {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-titulo {
    font-size: 0.98rem;
    font-weight: 700;
    color: #f0f5fc;
    line-height: 1.25;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-sub {
    font-size: 0.78rem;
    color: #94a8c4;
    line-height: 1.35;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-abrir {
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 600;
    color: #7eb8e8;
    white-space: nowrap;
    align-self: center;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-abrir .fa-chevron-down {
    display: inline-block;
    margin-right: 0.2rem;
    transition: transform 0.2s ease;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-details[open] .afs-pack-abrir .fa-chevron-down {
    transform: rotate(180deg);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-cuerpo {
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    border-top: 1px dashed rgba(255, 255, 255, 0.12);
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-pack-precision {
    margin: 0 0 0.5rem;
    font-size: 0.8rem;
    line-height: 1.45;
    color: #c5e6c6;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-list-acciones {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.4rem;
    min-width: 7.5rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-precio {
    font-size: 0.95rem;
    font-weight: 700;
    color: #e2edf8;
    white-space: nowrap;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-precio small {
    font-weight: 600;
    font-size: 0.72rem;
    color: #9eb0cc;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-promo {
    display: inline-block;
    margin-left: 0.25rem;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #fbbf24;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-list-linea--simple {
    align-items: center;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-simple-texto {
    flex: 1 1 10rem;
    min-width: 0;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-nombre-solo {
    display: block;
    font-size: 0.95rem;
    color: #f2f7ff;
    margin-bottom: 0.15rem;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-desc-solo {
    font-size: 0.78rem;
    color: #8fa3c4;
    line-height: 1.4;
}

body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-doble-cta {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: stretch;
}

@media (max-width: 640px) {
    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-listado-wrap {
        max-width: 92%;
    }

    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-list-acciones {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }

    body.afs-integral.familia-packs-pagina.packs-familia-hijos-pagina .afs-serv-list-linea--simple .familia-pack-btn {
        width: 100%;
        max-width: none;
    }
}
