/*
Theme Name:  Comdiet Child
Theme URI:   https://suplementosalimenticios.net
Description: Child theme de GeneratePress para Comdiet Roig Laboratorios S.L. — Plataforma B2B de fabricación a terceros y maquila de complementos alimenticios.
Author:      Comdiet Roig Laboratorios S.L.
Template:    generatepress
Version:     3.9.3
Text Domain: comdiet-child
*/

/* ============================================================
   0. VARIABLES
   ============================================================ */
:root {
        --cd-green:        #9EC53B;
        --cd-green-dark:   #86A92F;
        --cd-dark:         #0A0A0A;
        --cd-ink:          #161614;
        --cd-orange:       #D96F2C;
        --cd-soft:         #F8FAEA;
        --cd-cream:        #EEF0D4;
        --cd-border:       #E5E5E0;
        --cd-muted:        #5A5A55;
        --cd-gray:         #5A5A55;
        --cd-font:         'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        --cd-serif:        'Noto Serif', Georgia, serif;
        --cd-wrap:         1280px;
        --cd-radius:       18px;
        --cd-ease:         cubic-bezier(0.22, 1, 0.36, 1);
}

/* ============================================================
   1. RESET / BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
        overflow-x: clip;
}

body, .site {
        font-family: var(--cd-font) !important;
        color: var(--cd-dark);
        background: #fff;
        line-height: 1.65;
        overflow-x: clip;
}

/* ============================================================
   2. TOPBAR
   ============================================================ */
.comdiet-topbar {
        background: var(--cd-dark);
        padding: 8px 0;
        font-size: 0.8rem;
        color: rgba(255,255,255,.7);
        line-height: 1.4;
}
.comdiet-topbar__inner {
        max-width: var(--cd-wrap);
        margin: 0 auto;
        padding: 0 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
}
.comdiet-topbar__left {
        display: flex;
        align-items: center;
        gap: 20px;
}
.comdiet-topbar__link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: rgba(255,255,255,.8);
        text-decoration: none;
        transition: color .2s;
}
.comdiet-topbar__link:hover { color: var(--cd-green); }
.comdiet-topbar__certs {
        display: flex;
        align-items: center;
        gap: 16px;
}
.comdiet-topbar__certs span {
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--cd-green);
        background: rgba(158,197,59,.1);
        padding: 2px 8px;
        border-radius: 2px;
}

/* ============================================================
   3. HEADER / NAV — Clases propias (sin dependencia de GP)
   ============================================================ */
.comdiet-site-header {
        background: rgba(255,255,255,.92);
        backdrop-filter: blur(14px) saturate(180%);
        -webkit-backdrop-filter: blur(14px) saturate(180%);
        border-bottom: 1px solid transparent;
        position: sticky;
        top: 0;
        z-index: 900;
        transition: border-color .3s ease, box-shadow .3s ease;
        isolation: isolate;
}
.comdiet-site-header.cd-scrolled {
        border-color: var(--cd-border);
        box-shadow: 0 6px 24px rgba(0,0,0,.05);
}

/* Inner wrapper: flex row */
.comdiet-nav__inner {
        max-width: var(--cd-wrap);
        margin: 0 auto;
        padding: 0 24px;
        height: 68px;
        display: flex;
        align-items: center;
        gap: 0;
}

/* ── LOGO ── */
.comdiet-logo {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        flex-shrink: 0;
        margin-right: 36px;
}
.comdiet-logo__mark {
        width: 38px;
        height: 38px;
        background: var(--cd-green);
        color: #fff;
        font-size: 1.25rem;
        font-weight: 900;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 6px;
        font-family: var(--cd-font);
        line-height: 1;
        flex-shrink: 0;
}
.comdiet-logo__text-wrap {
        display: flex;
        flex-direction: column;
        line-height: 1;
}
.comdiet-logo__name {
        font-size: 1.25rem;
        font-weight: 900;
        color: var(--cd-dark);
        letter-spacing: -0.04em;
        font-family: var(--cd-font);
}
.comdiet-logo__sub {
        font-size: 0.65rem;
        font-weight: 500;
        color: var(--cd-gray);
        letter-spacing: .08em;
        text-transform: uppercase;
}

/* ── MENÚ ── */
.comdiet-nav__menu {
        flex: 1;
        display: flex;
        align-items: center;
}
.comdiet-nav__list {
        list-style: none;
        display: flex;
        align-items: center;
        gap: 4px;
        margin: 0;
        padding: 0;
}
.comdiet-nav__list li { position: relative; }
.comdiet-nav__list > li > a {
        display: inline-block;
        position: relative;
        padding: 6px 0;
        margin: 0 17px;
        font-size: 14px;
        font-weight: 500;
        color: #333;
        text-decoration: none;
        white-space: nowrap;
}
.comdiet-nav__list > li > a::after {
        content: "";
        position: absolute;
        left: 0; right: 0; bottom: 0;
        height: 2px;
        background: var(--cd-green);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .3s var(--cd-ease);
}
.comdiet-nav__list > li > a:hover::after,
.comdiet-nav__list > .current-menu-item > a::after { transform: scaleX(1); }
.comdiet-nav__list > li > a:hover,
.comdiet-nav__list > .current-menu-item > a { color: var(--cd-dark); }

/* Submenú dropdown */
.comdiet-nav__list ul {
        position: absolute;
        top: calc(100% + 4px);
        left: 0;
        min-width: 200px;
        background: #fff;
        border: 1px solid var(--cd-border);
        border-radius: 6px;
        box-shadow: 0 8px 24px rgba(0,0,0,.1);
        list-style: none;
        padding: 8px 0;
        margin: 0;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity .2s, transform .2s;
        z-index: 910;
}
.comdiet-nav__list li:hover > ul {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
}
.comdiet-nav__list ul li a {
        display: block;
        padding: 8px 16px;
        font-size: 0.82rem;
        color: var(--cd-dark);
        text-decoration: none;
        transition: background .15s;
}
.comdiet-nav__list ul li a:hover {
        background: var(--cd-soft);
        color: var(--cd-green);
}

/* ── CTA ── */
.comdiet-nav__cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 11px 22px;
        background: var(--cd-dark);
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .02em;
        text-decoration: none;
        border-radius: 999px;
        white-space: nowrap;
        margin-left: 24px;
        flex-shrink: 0;
        border: 1.5px solid transparent;
        transition: background .25s ease, color .25s ease, transform .15s ease;
}
.comdiet-nav__cta:hover {
        background: #2a2a28;
}
.comdiet-nav__cta:active { transform: scale(0.97); }

/* ── HAMBURGUER (oculto en desktop) ── */
.comdiet-nav__toggle {
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        width: 42px;
        height: 42px;
        background: none;
        border: 1px solid var(--cd-border);
        border-radius: 6px;
        cursor: pointer;
        margin-left: 12px;
        padding: 8px;
        flex-shrink: 0;
}
.comdiet-hamburger__bar {
        display: block;
        width: 20px;
        height: 2px;
        background: var(--cd-dark);
        border-radius: 2px;
        transition: transform .25s, opacity .2s;
}
.comdiet-nav__toggle.is-open .comdiet-hamburger__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.comdiet-nav__toggle.is-open .comdiet-hamburger__bar:nth-child(2) { opacity: 0; }
.comdiet-nav__toggle.is-open .comdiet-hamburger__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Badge B2B en nav */
.comdiet-nav__b2b-link { color: var(--cd-green) !important; }

/* ============================================================
   4. UTILIDADES GLOBALES
   ============================================================ */
.cd-wrap {
        max-width: var(--cd-wrap);
        margin: 0 auto;
        padding: 0 24px;
}
.cd-page { width: 100%; }
/* Eyebrow — igual que erlabs: naranja + línea decorativa */
.cd-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .16em;
        text-transform: uppercase;
        color: var(--cd-orange);
        margin-bottom: 16px;
}
.cd-eyebrow::before { content: ""; width: 22px; height: 1.5px; background: currentColor; }
.cd-eyebrow--green { color: var(--cd-green); }

/* Heading h2 — estilo Erlabs:
   <h2><span class="cd-h2p1">Texto </span><em class="cd-h2p2">serif</em></h2>  */
.cd-section-hdr {
        text-align: center;
        max-width: 820px;
        margin: 0 auto 56px;
}
.cd-section-hdr h2 {
        font-size: clamp(30px, 3.6vw, 48px);
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -0.025em;
        color: var(--cd-dark);
        margin-bottom: 16px;
        max-width: 820px;
}
/* Parte serif italic en verde (igual que erlabs .erl-h2__p2) */
.cd-section-hdr h2 em,
h2 .cd-h2-serif {
        font-family: var(--cd-serif);
        font-style: italic;
        font-weight: 400;
        color: var(--cd-green-dark);
        letter-spacing: -0.015em;
}
.cd-section-hdr p {
        max-width: 420px;
        font-size: 16px;
        line-height: 1.6;
        color: var(--cd-muted);
        margin: 0 auto;
}

/* Botones — estilo Erlabs (píldora 999px) */
.cd-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 28px;
        border-radius: 999px;         /* ← PÍLDORA como erlabs */
        font-weight: 700;
        font-size: 14px;
        font-family: var(--cd-font);
        letter-spacing: .02em;
        text-decoration: none !important;
        cursor: pointer;
        border: 1.5px solid transparent;
        transition: background .25s ease, color .25s ease, transform .15s ease, border-color .25s ease;
        white-space: nowrap;
}
.cd-btn svg { width: 18px; height: 18px; transition: transform .25s var(--cd-ease); }
.cd-btn:hover svg { transform: translateX(4px); }
.cd-btn:active { transform: scale(0.97); }
.cd-btn--sm { padding: 11px 22px; font-size: 13px; }
.cd-btn--primary {
        background: var(--cd-green);
        color: var(--cd-dark) !important;
}
.cd-btn--primary:hover { background: #B1D64D; }
.cd-btn--ghost {
        background: transparent;
        color: #fff !important;
        border-color: rgba(255,255,255,.35);
}
.cd-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.cd-btn--dark {
        background: var(--cd-dark);
        color: #fff !important;
}
.cd-btn--dark:hover { background: #2a2a28; }

/* ============================================================
   5. HERO — vídeo de fondo
   ============================================================ */
.cd-hero {
        position: relative;
        min-height: 90vh;
        display: flex;
        align-items: center;
        overflow: hidden;
        background: var(--cd-dark);
}
.cd-hero__bg {
        position: absolute;
        inset: 0;
        z-index: 0;
}
.cd-hero__video {
        width: 100%;
        height: 100%;
        object-fit: cover;
}
.cd-hero__overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(
                120deg,
                rgba(10,10,10,.82) 0%,
                rgba(10,10,10,.60) 60%,
                rgba(10,10,10,.30) 100%
        );
}
.cd-hero__content {
        position: relative;
        z-index: 1;
        padding-top: 64px;
        padding-bottom: 64px;
}
.cd-hero__badges {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-bottom: 24px;
}
.cd-hero__badges span {
        font-size: 0.73rem;
        font-weight: 700;
        letter-spacing: .08em;
        color: var(--cd-green);
        background: rgba(158,197,59,.12);
        border: 1px solid rgba(158,197,59,.3);
        padding: 4px 10px;
        border-radius: 20px;
        white-space: nowrap;
}
.cd-hero__title {
        color: #fff !important;
        font-size: clamp(2.2rem, 4.5vw, 4rem);
        line-height: 1.1;
        font-weight: 700;
        margin-bottom: 24px;
        max-width: 700px;
}
.cd-hero__title--accent { color: var(--cd-green); }
.cd-hero__sub {
        color: rgba(255,255,255,.75);
        font-size: 1.05rem;
        max-width: 560px;
        line-height: 1.7;
        margin-bottom: 40px;
}
.cd-hero__ctas { display: flex; gap: 16px; flex-wrap: wrap; }

/* ============================================================
   6. TRUST BAR
   ============================================================ */
.cd-trust {
        background: #fff;
        border-bottom: 1px solid var(--cd-border);
        padding: 28px 0;
}
.cd-trust__inner {
        display: flex;
        align-items: center;
        gap: 0;
        justify-content: space-between;
}
.cd-trust__item {
        display: flex;
        align-items: center;
        gap: 12px;
        flex: 1;
        justify-content: center;
        padding: 8px 16px;
        border-right: 1px solid var(--cd-border);
}
.cd-trust__item:last-child { border-right: none; }
.cd-trust__item svg { width: 32px; height: 32px; color: var(--cd-green); flex-shrink: 0; }
.cd-trust__item strong { display: block; font-size: 0.88rem; font-weight: 700; color: var(--cd-dark); }
.cd-trust__item small { font-size: 0.72rem; color: var(--cd-gray); white-space: nowrap; }

/* ============================================================
   7. SERVICIOS GRID — industrial B2B
   ============================================================ */
.cd-servicios {
        position: relative;
        background:
                linear-gradient(180deg, #121410 0%, #1a1c16 48%, #141612 100%);
        padding: 104px 0 112px;
        overflow: hidden;
        color: #e8eadf;
}
.cd-servicios::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image:
                linear-gradient(rgba(158,197,59,.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(158,197,59,.05) 1px, transparent 1px);
        background-size: 48px 48px;
        mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 20%, transparent 75%);
        pointer-events: none;
}
.cd-servicios .cd-wrap { position: relative; z-index: 1; }
.cd-section-hdr--svc { max-width: 720px; margin-bottom: 48px; }
.cd-section-hdr--svc .cd-eyebrow { color: #9ec53b; }
.cd-section-hdr--svc h2 { color: #fff; }
.cd-section-hdr--svc h2 em { color: #9ec53b; }
.cd-section-hdr--svc p { color: rgba(232,234,223,.72); max-width: 58ch; }
.cd-servicios__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
}
.cd-svc-card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-height: 100%;
        padding: 26px 24px 22px;
        background:
                linear-gradient(165deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.015) 100%);
        border: 1px solid rgba(232,234,223,.12);
        border-radius: 4px;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
        transition: border-color .22s ease, transform .22s ease, background .22s ease;
}
.cd-svc-card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 14px;
        bottom: 14px;
        width: 3px;
        background: #9ec53b;
        border-radius: 2px;
        opacity: .85;
}
.cd-svc-card:hover {
        border-color: rgba(158,197,59,.45);
        background: linear-gradient(165deg, rgba(158,197,59,.1) 0%, rgba(255,255,255,.03) 100%);
        transform: translateY(-3px);
}
.cd-svc-card__meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 18px;
}
.cd-svc-card__code {
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .14em;
        color: #9ec53b;
        font-variant-numeric: tabular-nums;
}
.cd-svc-card__badge {
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: rgba(232,234,223,.55);
        border: 1px solid rgba(232,234,223,.16);
        padding: 4px 8px;
        border-radius: 2px;
}
.cd-svc-card__icon {
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 16px;
        border: 1px solid rgba(158,197,59,.35);
        background: rgba(158,197,59,.1);
        border-radius: 3px;
        color: #9ec53b;
}
.cd-svc-card__icon svg { width: 22px; height: 22px; }
.cd-svc-card h3 {
        font-size: 1.15rem;
        font-weight: 800;
        line-height: 1.25;
        letter-spacing: -0.02em;
        color: #fff;
        margin: 0 0 10px;
}
.cd-svc-card__lead {
        font-size: 0.9rem;
        color: rgba(232,234,223,.72);
        line-height: 1.55;
        margin: 0 0 16px;
}
.cd-svc-card ul {
        list-style: none;
        margin: 0 0 22px;
        padding: 0;
        flex: 1 1 auto;
}
.cd-svc-card ul li {
        position: relative;
        font-size: 0.8rem;
        font-weight: 600;
        color: rgba(232,234,223,.62);
        padding: 6px 0 6px 14px;
        border-top: 1px solid rgba(232,234,223,.08);
}
.cd-svc-card ul li:last-child { border-bottom: 1px solid rgba(232,234,223,.08); }
.cd-svc-card ul li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 5px;
        height: 5px;
        margin-top: -2.5px;
        background: #9ec53b;
}
.cd-svc-card__link {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        margin-top: auto;
        padding: 12px 14px;
        border-radius: 2px;
        background: #9ec53b;
        color: #0a0a0a !important;
        font-size: 0.82rem;
        font-weight: 800;
        letter-spacing: .03em;
        text-decoration: none !important;
        text-transform: uppercase;
        box-shadow: 0 4px 0 #6d8a22;
        transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.cd-svc-card__link i {
        font-style: normal;
        font-weight: 900;
}
.cd-svc-card__link:hover {
        background: #b5d94f;
        color: #0a0a0a !important;
        transform: translateY(-1px);
        box-shadow: 0 5px 0 #6d8a22;
}

.cd-svc-card__link:hover {
        background: #b5d94f;
        color: #0a0a0a !important;
        transform: translateY(-1px);
        box-shadow: 0 5px 0 #6d8a22;
}

/* ============================================================
   7a. VÍDEOS DE PLANTA — grid 9:16 con play
   ============================================================ */
.cd-planta {
        background: #fff;
        padding: 88px 0 96px;
}
.cd-section-hdr--planta {
        max-width: 640px;
        margin: 0 auto 40px;
        text-align: center;
}
.cd-section-hdr--planta .cd-eyebrow {
        display: inline-flex;
        justify-content: center;
}
.cd-section-hdr--planta h2 {
        margin: 0 0 12px;
}
.cd-section-hdr--planta p {
        margin: 0 auto;
        max-width: 520px;
        color: #5a5a55;
        font-size: 1rem;
        line-height: 1.55;
}
.cd-planta__grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
        max-width: 1100px;
        margin: 0 auto;
}
.cd-planta__card {
        position: relative;
        display: block;
        width: 100%;
        padding: 0;
        border: 0;
        border-radius: 12px;
        overflow: hidden;
        cursor: pointer;
        background: #0a0a0a;
        aspect-ratio: 9 / 16;
        box-shadow: 0 8px 28px rgba(10, 10, 10, .12);
        transition: transform .2s ease, box-shadow .2s ease;
        -webkit-tap-highlight-color: transparent;
}
.cd-planta__card:hover,
.cd-planta__card:focus-visible {
        transform: translateY(-4px);
        box-shadow: 0 14px 36px rgba(10, 10, 10, .18);
        outline: none;
}
.cd-planta__video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        vertical-align: middle;
}
.cd-planta__overlay {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(10, 10, 10, .28);
        transition: background .2s ease, opacity .2s ease;
        pointer-events: none;
}
/* Reproduciendo: overlay oculto salvo hover / touch / scroll (clase is-controls) */
.cd-planta__card.is-playing .cd-planta__overlay {
        opacity: 0;
        background: transparent;
}
.cd-planta__card.is-playing.is-controls .cd-planta__overlay,
.cd-planta__card.is-playing:hover .cd-planta__overlay,
.cd-planta__card.is-playing:focus-visible .cd-planta__overlay {
        opacity: 1;
        background: rgba(10, 10, 10, .22);
}
@media (hover: none) {
        /* En móvil :hover se queda “pegado”: solo mostrar con is-controls */
        .cd-planta__card.is-playing:hover .cd-planta__overlay {
                opacity: 0;
                background: transparent;
        }
        .cd-planta__card.is-playing.is-controls .cd-planta__overlay {
                opacity: 1;
                background: rgba(10, 10, 10, .22);
        }
}
.cd-planta__play {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #0a0a0a;
        background: rgba(158, 197, 59, .94);
        border: 2px solid rgba(255, 255, 255, .35);
        backdrop-filter: blur(4px);
        transition: transform .15s ease, background .15s ease;
}
.cd-planta__play svg {
        margin-left: 3px;
        display: block;
}
.cd-planta__card:hover .cd-planta__play,
.cd-planta__card:focus-visible .cd-planta__play {
        transform: scale(1.08);
        background: #9ec53b;
}
.cd-planta__card.is-playing .cd-planta__play {
        background: rgba(244, 246, 234, .92);
}
.cd-planta__card.is-playing .cd-planta__play svg {
        margin-left: 0;
}

/* ============================================================
   7b. POR QUÉ ELEGIRNOS — diferencia industrial (rediseño)
   ============================================================ */
.cd-porq {
        --porq-lime: #9EC53B;
        --porq-lime-deep: #6F9420;
        --porq-teal: #1F8A7A;
        --porq-amber: #E08A2C;
        --porq-forest: #2F5D3A;
        --porq-ink: #0D140F;
        position: relative;
        background:
                radial-gradient(900px 420px at 8% -10%, rgba(158,197,59,.28), transparent 60%),
                radial-gradient(700px 380px at 92% 8%, rgba(31,138,122,.16), transparent 55%),
                radial-gradient(640px 360px at 70% 100%, rgba(224,138,44,.12), transparent 50%),
                linear-gradient(180deg, #f7fbee 0%, #eef6df 42%, #f3f7ea 100%);
        padding: 104px 0 112px;
        overflow: hidden;
}
.cd-porq::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image:
                linear-gradient(rgba(47,93,58,.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(47,93,58,.05) 1px, transparent 1px);
        background-size: 48px 48px;
        mask-image: linear-gradient(180deg, #000 0%, transparent 92%);
        pointer-events: none;
}
.cd-porq__glow {
        position: absolute;
        border-radius: 50%;
        filter: blur(40px);
        pointer-events: none;
        z-index: 0;
}
.cd-porq__glow--a {
        width: 280px;
        height: 280px;
        top: 12%;
        right: -60px;
        background: rgba(158,197,59,.35);
        animation: cd-porq-float 9s ease-in-out infinite;
}
.cd-porq__glow--b {
        width: 220px;
        height: 220px;
        bottom: 18%;
        left: -40px;
        background: rgba(31,138,122,.28);
        animation: cd-porq-float 11s ease-in-out infinite reverse;
}
@keyframes cd-porq-float {
        0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
        50% { transform: translate3d(12px, -18px, 0) scale(1.06); }
}
.cd-porq .cd-wrap { position: relative; z-index: 1; }
.cd-section-hdr--porq {
        max-width: 720px;
        margin-bottom: 52px;
}
.cd-section-hdr--porq h2 em {
        font-style: normal;
        background: linear-gradient(110deg, #6F9420 0%, #9EC53B 45%, #1F8A7A 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
}
.cd-porq__pills {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 22px 0 0;
        padding: 0;
}
.cd-porq__pills li {
        padding: 8px 12px;
        border-radius: 999px;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: .02em;
        color: #234018;
        background: rgba(255,255,255,.72);
        border: 1px solid rgba(111,148,32,.28);
        backdrop-filter: blur(6px);
}
.cd-porq__block { margin-top: 8px; }
.cd-porq__block + .cd-porq__block { margin-top: 48px; }
.cd-porq__block-head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 10px 18px;
        margin-bottom: 18px;
}
.cd-porq__subhead {
        margin: 0;
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--porq-lime-deep);
}
.cd-porq__block-lead {
        margin: 0;
        font-size: 0.95rem;
        color: #4d5a45;
}
.cd-porq__audiences {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
        list-style: none;
        margin: 0;
        padding: 0;
}
.cd-porq__audience {
        --aud-accent: var(--porq-lime);
        --aud-accent-2: #c8ef6e;
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 12px;
        min-height: 100%;
        padding: 22px 20px 24px;
        color: #f7fbee;
        border-radius: 20px;
        background:
                linear-gradient(160deg, rgba(255,255,255,.08), transparent 42%),
                linear-gradient(165deg, #121a14 0%, #0d140f 55%, #152019 100%);
        border: 1px solid rgba(255,255,255,.08);
        box-shadow:
                0 18px 40px rgba(13,20,15,.22),
                inset 0 1px 0 rgba(255,255,255,.06);
        overflow: hidden;
        transition: transform .35s var(--cd-ease), box-shadow .35s var(--cd-ease), border-color .35s ease;
}
.cd-porq__audience::before {
        content: "";
        position: absolute;
        inset: auto -20% -35% -20%;
        height: 55%;
        background: radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--aud-accent) 55%, transparent), transparent 70%);
        opacity: .55;
        pointer-events: none;
        transition: opacity .35s ease, transform .35s var(--cd-ease);
}
.cd-porq__audience::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: linear-gradient(90deg, var(--aud-accent), var(--aud-accent-2));
}
.cd-porq__audience:hover {
        transform: translateY(-6px);
        border-color: color-mix(in srgb, var(--aud-accent) 55%, transparent);
        box-shadow:
                0 24px 48px rgba(13,20,15,.28),
                0 0 0 1px color-mix(in srgb, var(--aud-accent) 25%, transparent);
}
.cd-porq__audience:hover::before {
        opacity: .85;
        transform: translateY(-8px);
}
.cd-porq__audience--arranque { --aud-accent: #9EC53B; --aud-accent-2: #d4f06a; }
.cd-porq__audience--escala { --aud-accent: #2BB3A0; --aud-accent-2: #7be0d0; }
.cd-porq__audience--mejora { --aud-accent: #E08A2C; --aud-accent-2: #ffc078; }
.cd-porq__audience--canal { --aud-accent: #4C8F5C; --aud-accent-2: #9ed4a8; }
.cd-porq__audience-top {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
}
.cd-porq__audience-tag {
        display: inline-flex;
        align-self: flex-start;
        padding: 5px 10px;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: #0d140f;
        background: linear-gradient(135deg, var(--aud-accent), var(--aud-accent-2));
        border-radius: 999px;
        box-shadow: 0 6px 16px color-mix(in srgb, var(--aud-accent) 35%, transparent);
}
.cd-porq__audience-step {
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: .12em;
        color: color-mix(in srgb, var(--aud-accent) 75%, #fff);
        font-variant-numeric: tabular-nums;
}
.cd-porq__audience h3,
.cd-porq__audience p {
        position: relative;
        z-index: 1;
}
.cd-porq__audience h3 {
        margin: 0;
        font-size: 1.08rem;
        font-weight: 800;
        letter-spacing: -0.025em;
        line-height: 1.25;
        color: #fff;
}
.cd-porq__audience p {
        margin: 0;
        font-size: 0.9rem;
        line-height: 1.55;
        color: rgba(247,251,238,.78);
}
.cd-porq__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
}
.cd-porq__item {
        --item-accent: var(--porq-lime);
        --item-tint: rgba(158,197,59,.12);
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 14px;
        min-height: 100%;
        padding: 24px 22px 26px;
        background:
                linear-gradient(180deg, color-mix(in srgb, var(--item-tint) 70%, #fff), #fff 48%),
                #fff;
        border: 1px solid color-mix(in srgb, var(--item-accent) 22%, #e4e8d8);
        border-radius: 20px;
        box-shadow: 0 14px 34px rgba(13,20,15,.05);
        overflow: hidden;
        transition: transform .35s var(--cd-ease), box-shadow .35s var(--cd-ease), border-color .35s ease;
}
.cd-porq__item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: linear-gradient(180deg, var(--item-accent), color-mix(in srgb, var(--item-accent) 30%, #fff));
}
.cd-porq__item:hover {
        transform: translateY(-5px);
        border-color: color-mix(in srgb, var(--item-accent) 55%, #e4e8d8);
        box-shadow: 0 22px 44px color-mix(in srgb, var(--item-accent) 18%, rgba(13,20,15,.08));
}
.cd-porq__item--plant { --item-accent: #6F9420; --item-tint: rgba(111,148,32,.14); }
.cd-porq__item--galenic { --item-accent: #1F8A7A; --item-tint: rgba(31,138,122,.13); }
.cd-porq__item--dossier { --item-accent: #3A7CA5; --item-tint: rgba(58,124,165,.12); }
.cd-porq__item--speed { --item-accent: #E08A2C; --item-tint: rgba(224,138,44,.13); }
.cd-porq__item--moq { --item-accent: #C45C26; --item-tint: rgba(196,92,38,.12); }
.cd-porq__item--partner { --item-accent: #2F5D3A; --item-tint: rgba(47,93,58,.13); }
.cd-porq__item-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
}
.cd-porq__num {
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .16em;
        color: var(--item-accent);
        font-variant-numeric: tabular-nums;
}
.cd-porq__icon {
        width: 52px;
        height: 52px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid color-mix(in srgb, var(--item-accent) 35%, transparent);
        background:
                linear-gradient(145deg, color-mix(in srgb, var(--item-accent) 18%, #fff), #fff);
        border-radius: 14px;
        color: var(--item-accent);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
        transition: transform .35s var(--cd-ease), background .35s ease;
}
.cd-porq__item:hover .cd-porq__icon {
        transform: scale(1.06) rotate(-3deg);
        background: linear-gradient(145deg, color-mix(in srgb, var(--item-accent) 28%, #fff), #fff);
}
.cd-porq__icon svg { width: 24px; height: 24px; }
.cd-porq__item h3 {
        margin: 0;
        font-size: 1.08rem;
        font-weight: 800;
        letter-spacing: -0.025em;
        line-height: 1.25;
        color: #0d140f;
}
.cd-porq__item p {
        margin: 0;
        font-size: 0.92rem;
        line-height: 1.58;
        color: #546053;
}

@media (prefers-reduced-motion: reduce) {
        .cd-porq__glow,
        .cd-porq__audience,
        .cd-porq__item,
        .cd-porq__icon {
                animation: none !important;
                transition: none !important;
        }
}

/* ============================================================
   8. GALÉNICOS — formas líquidas
   ============================================================ */
.cd-galenic {
        background: var(--cd-dark);
        padding: 96px 0;
}
.cd-galenic__inner {
        display: grid;
        grid-template-columns: 1fr 380px;
        gap: 64px;
        align-items: center;
}
.cd-galenic__text .cd-eyebrow { margin-bottom: 8px; }
.cd-galenic__text h2 {
        font-size: clamp(1.8rem, 2.8vw, 2.2rem);
        font-weight: 700;
        color: #fff;
        margin-bottom: 20px;
        line-height: 1.2;
        letter-spacing: -0.02em;
}
/* Parte serif italic en verde (sobre fondo oscuro) */
.cd-galenic__text h2 em {
        font-family: var(--cd-serif);
        font-style: italic;
        font-weight: 400;
        color: var(--cd-green);
        letter-spacing: -0.01em;
}
.cd-galenic__text > p {
        color: rgba(255,255,255,.72);
        font-size: 1rem;
        line-height: 1.7;
        margin-bottom: 24px;
}
.cd-galenic__list { list-style: none; }
.cd-galenic__list li {
        padding: 14px 0;
        border-bottom: 1px solid rgba(255,255,255,.1);
        font-size: 0.9rem;
        color: rgba(255,255,255,.8);
        line-height: 1.6;
}
.cd-galenic__list li:last-child { border-bottom: none; }
.cd-galenic__list li strong { color: var(--cd-green); }
.cd-galenic__visual {
        display: flex;
        align-items: center;
        justify-content: center;
}
.cd-galenic__badge-stack {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
}
.cd-galenic__badge {
        background: rgba(255,255,255,.06);
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 8px;
        padding: 20px;
        text-align: center;
}
.cd-galenic__badge--accent {
        background: rgba(158,197,59,.12);
        border-color: rgba(158,197,59,.3);
}
.cd-galenic__badge strong {
        display: block;
        font-size: 1.3rem;
        font-weight: 800;
        color: var(--cd-green);
        margin-bottom: 4px;
}
.cd-galenic__badge small {
        font-size: 0.72rem;
        color: rgba(255,255,255,.55);
        text-transform: uppercase;
        letter-spacing: .06em;
}

/* ============================================================
   9. FORMULARIO COTIZACIÓN
   ============================================================ */
.cd-cotizacion {
        background: #fff;
        padding: 96px 0;
}
.cd-cotizacion__inner {
        display: grid;
        grid-template-columns: 1fr 1.4fr;
        gap: 64px;
        align-items: start;
}
.cd-cotizacion__text h2 {
        font-size: clamp(1.7rem, 2.5vw, 2rem);
        font-weight: 700;
        color: var(--cd-dark);
        margin-bottom: 16px;
        line-height: 1.25;
        letter-spacing: -0.02em;
}
.cd-cotizacion__text h2 em {
        font-family: var(--cd-serif);
        font-style: italic;
        font-weight: 400;
        color: var(--cd-green-dark);
        letter-spacing: -0.01em;
}
.cd-cotizacion__text > p {
        color: var(--cd-gray);
        font-size: 0.95rem;
        line-height: 1.7;
        margin-bottom: 24px;
}
.cd-cotizacion__bullets { list-style: none; }
.cd-cotizacion__bullets li {
        font-size: 0.9rem;
        color: var(--cd-gray);
        padding: 6px 0;
        border-bottom: 1px solid var(--cd-border);
}
.cd-cotizacion__bullets li:last-child { border-bottom: none; }
.cd-form { display: flex; flex-direction: column; gap: 16px; }
.cd-form__row { display: flex; gap: 16px; }
.cd-form__row--2 > * { flex: 1; }
.cd-form__group { display: flex; flex-direction: column; gap: 6px; }
.cd-form__group label {
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--cd-dark);
}
.cd-form__group label span { color: var(--cd-orange); }
.cd-form__group input,
.cd-form__group select,
.cd-form__group textarea {
        font-family: var(--cd-font);
        font-size: 14.5px;
        padding: 14px 16px;
        border: 1px solid #e3e3de;
        border-radius: 12px;         /* ← erlabs: 12px rounded */
        color: var(--cd-dark);
        background: #f6f6f3;         /* ← erlabs: warm off-white */
        transition: border-color .2s, box-shadow .2s, background .2s;
        outline: none;
        -webkit-appearance: none;
}
.cd-form__group input:focus,
.cd-form__group select:focus,
.cd-form__group textarea:focus {
        border-color: var(--cd-green);
        box-shadow: 0 0 0 4px rgba(158,197,59,.18); /* ← erlabs: 4px + .18 */
        background: #fff;
}
.cd-form__group input::placeholder,
.cd-form__group textarea::placeholder { color: #b0b0a8; }
.cd-form__submit {
        width: 100%;
        justify-content: center;
        padding: 14px 28px;
        font-size: 0.95rem;
        min-height: 54px;            /* ← erlabs altura mínima */
        border-radius: 999px !important; /* ← píldora garantizada */
}

/* ============================================================
   10. CTA FINAL
   ============================================================ */
.cd-cta-final {
        background: var(--cd-dark);
        padding: 96px 0;
}
.cd-cta-final__inner {
        display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 40px 56px;
        text-align: center;
}
.cd-cta-final__logo {
        justify-self: start; flex: 0 0 auto; display: block; line-height: 0;
}
.cd-cta-final__logo img {
        display: block; width: 168px; height: auto; max-width: 100%;
}
.cd-cta-final__content { justify-self: center; width: 100%; max-width: 680px; }
.cd-cta-final h2 {
        color: #fff;
        font-size: clamp(1.8rem, 3vw, 2.4rem);
        font-weight: 700;
        margin-bottom: 16px;
        letter-spacing: -0.02em;
        line-height: 1.15;
}
.cd-cta-final h2 em {
        font-family: var(--cd-serif);
        font-style: italic;
        font-weight: 400;
        color: var(--cd-green);
        letter-spacing: -0.01em;
}
.cd-cta-final p {
        color: rgba(255,255,255,.7);
        font-size: 1.05rem;
        margin: 0 auto;
        max-width: 600px;
}
.cd-cta-final__actions {
        display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 32px;
}

/* ============================================================
   11. FOOTER
   ============================================================ */
.comdiet-footer {
        background: #0f0f0f;
        padding: 72px 0 0;
        color: rgba(255,255,255,.65);
        font-size: 0.9rem;
}
.comdiet-footer__inner {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 48px;
        max-width: var(--cd-wrap);
        margin: 0 auto;
        padding: 0 24px 56px;
        border-bottom: 1px solid rgba(255,255,255,.08);
}
/* Logo en footer — peso visual de marca (como bloque de Mi cuenta / CTA) */
.comdiet-footer__logo-link {
        display: inline-block;
        text-decoration: none;
        margin-bottom: 18px;
        line-height: 0;
}
.comdiet-footer__brandmark {
        height: 88px;
        width: auto;
        max-width: 280px;
        display: block;
        object-fit: contain;
}
.comdiet-footer__logo-mark {
        width: 36px;
        height: 36px;
        background: var(--cd-green);
        color: #fff;
        font-size: 1.1rem;
        font-weight: 900;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 6px;
        font-family: var(--cd-font);
        flex-shrink: 0;
}
.comdiet-footer__logo-name {
        display: block;
        font-size: 1.15rem;
        font-weight: 900;
        color: #fff;
        letter-spacing: -0.04em;
        line-height: 1;
}
.comdiet-footer__logo-sub {
        display: block;
        font-size: 0.62rem;
        font-weight: 500;
        color: rgba(255,255,255,.4);
        letter-spacing: .08em;
        text-transform: uppercase;
}
.comdiet-footer__desc {
        font-size: 0.82rem;
        color: rgba(255,255,255,.45);
        line-height: 1.7;
        margin-bottom: 14px;
}
.comdiet-footer__address {
        font-size: 0.8rem;
        color: rgba(255,255,255,.35);
        line-height: 1.6;
}
/* Columnas */
.comdiet-footer__heading {
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: rgba(255,255,255,.3);
        margin-bottom: 16px;
}
.comdiet-footer__list {
        list-style: none;
        padding: 0;
        margin: 0;
}
.comdiet-footer__list li {
        margin-bottom: 8px;
        display: flex;
        align-items: flex-start;
        gap: 8px;
}
.comdiet-footer__list a {
        color: rgba(255,255,255,.6);
        text-decoration: none;
        font-size: 0.85rem;
        transition: color .2s;
        display: inline-flex;
        align-items: center;
        gap: 6px;
}
.comdiet-footer__list a:hover { color: var(--cd-green); }
/* Certificaciones */
.comdiet-footer__certs {
        list-style: none;
        padding: 0;
        margin: 0 0 16px;
}
.comdiet-footer__certs li {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.82rem;
        color: rgba(255,255,255,.55);
        margin-bottom: 8px;
}
.comdiet-footer__cert-badge {
        background: rgba(158,197,59,.15);
        color: var(--cd-green);
        font-size: 0.65rem;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        padding: 2px 6px;
        border-radius: 2px;
        white-space: nowrap;
}
.comdiet-footer__reg {
        font-size: 0.72rem;
        color: rgba(255,255,255,.25);
        line-height: 1.6;
        margin-top: 8px;
}
/* Países / Geo SEO */
.comdiet-footer__geo {
        border-top: 1px solid rgba(255,255,255,.06);
        padding: 28px 0 10px;
}
.comdiet-footer__geo-inner {
        max-width: var(--cd-wrap);
        margin: 0 auto;
        padding: 0 24px 12px;
}
.comdiet-footer__geo-label {
        margin: 0 0 14px;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: rgba(255,255,255,.45);
}
.comdiet-footer__geo-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
}
.comdiet-footer__geo-list a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 10px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.12);
        color: rgba(255,255,255,.72);
        text-decoration: none;
        font-size: 12px;
        font-weight: 700;
        transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.comdiet-footer__geo-list a span {
        font-weight: 600;
        color: rgba(255,255,255,.5);
}
.comdiet-footer__geo-list a:hover,
.comdiet-footer__geo-list a[aria-current="page"] {
        background: rgba(158,197,59,.16);
        border-color: rgba(158,197,59,.45);
        color: #9ec53b;
}
.comdiet-footer__geo-list a:hover span,
.comdiet-footer__geo-list a[aria-current="page"] span {
        color: rgba(244,246,234,.85);
}
/* Barra inferior */
.comdiet-footer__bottom {
        border-top: 1px solid rgba(255,255,255,.06);
}
.comdiet-footer__bottom-inner {
        max-width: var(--cd-wrap);
        margin: 0 auto;
        padding: 20px 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 12px;
}
.comdiet-footer__copy {
        color: rgba(255,255,255,.25);
        font-size: 0.75rem;
}
.comdiet-footer__legal-nav {
        display: flex;
        gap: 20px;
}
.comdiet-footer__legal-nav a {
        color: rgba(255,255,255,.25);
        text-decoration: none;
        font-size: 0.75rem;
        transition: color .2s;
}
.comdiet-footer__legal-nav a:hover { color: var(--cd-green); }

/* Authority box — pie corporativo (.vc-footer-authority) */
.vc-footer-authority {
        display: flex;
        gap: 12px;
        align-items: flex-start;
        justify-content: center;
        text-align: center;
        max-width: 860px;
        margin: 40px auto 0;
        padding: 18px 22px;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 14px;
}
.vc-footer-authority svg {
        flex-shrink: 0;
        color: var(--cd-green);
        margin-top: 2px;
}
.vc-footer-authority p {
        font-size: 13px;
        line-height: 1.6;
        color: rgba(255, 255, 255, 0.6);
        margin: 0;
        text-align: center;
}
.vc-footer-authority strong {
        color: rgba(255, 255, 255, 0.85);
        font-weight: 700;
}

/* ============================================================
   12. WOOCOMMERCE — MODO B2B
   ============================================================ */
.comdiet-b2b-price-hidden {
        font-size: 0.85rem;
        color: var(--cd-gray);
        font-style: italic;
}
.comdiet-b2b-gate {
        background: var(--cd-soft);
        border: 1px solid var(--cd-border);
        border-left: 4px solid var(--cd-green);
        padding: 20px 24px;
        border-radius: 4px;
        margin: 16px 0;
}
.comdiet-b2b-gate p {
        font-size: 0.9rem;
        color: var(--cd-gray);
        margin-bottom: 12px;
}
.comdiet-b2b-gate a {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 10px 20px;
        background: var(--cd-dark);
        color: #fff !important;
        text-decoration: none;
        border-radius: 4px;
        font-size: 0.85rem;
        font-weight: 600;
}
.comdiet-b2b-btn {
        background: var(--cd-soft) !important;
        color: var(--cd-dark) !important;
        border: 1px solid var(--cd-border) !important;
        font-size: 0.8rem !important;
}

/* WC tabs Descargas Técnicas */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--descargas-tecnicas a::before {
        content: '📁 ';
}
.comdiet-descargas { padding: 0; }
.comdiet-descargas h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 16px; color: var(--cd-dark); }
.comdiet-descargas ul { list-style: none; }
.comdiet-descargas ul li {
        padding: 10px 0;
        border-bottom: 1px solid var(--cd-border);
        display: flex;
        align-items: center;
        gap: 12px;
        font-size: 0.9rem;
}
.comdiet-descargas ul li:last-child { border-bottom: none; }
.comdiet-descargas ul li a {
        color: var(--cd-green);
        text-decoration: none;
        font-weight: 600;
}

/* ============================================================
   13. REGISTRO B2B — campos extra
   ============================================================ */
.comdiet-campo-fiscal {
        background: var(--cd-soft);
        border: 1px solid var(--cd-border);
        border-radius: 6px;
        padding: 20px;
        margin: 16px 0;
}
.comdiet-campo-fiscal p { margin-bottom: 12px; font-size: 0.85rem; }
.comdiet-campo-fiscal input,
.comdiet-campo-fiscal select {
        font-family: var(--cd-font);
        font-size: 0.88rem;
        padding: 10px 14px;
        border: 1.5px solid var(--cd-border);
        border-radius: 4px;
        width: 100%;
        box-sizing: border-box;
        margin-top: 4px;
}
.comdiet-campo-fiscal label { font-size: 0.82rem; font-weight: 600; color: var(--cd-dark); }

/* ============================================================
   14. PÁGINAS INTERIORES — inner page header
   ============================================================ */
.cd-inner-hero {
        background: var(--cd-dark);
        padding: 80px 0 60px;
}
.cd-inner-hero h1 {
        color: #fff !important;
        font-size: clamp(1.8rem, 3vw, 2.8rem);
        font-weight: 700;
        margin-bottom: 12px;
}
.cd-inner-hero p {
        color: rgba(255,255,255,.65);
        font-size: 1.05rem;
        max-width: 540px;
}

/* ============================================================
   15. FARMACIA — página pide-en-farmacia
   ============================================================ */
.cd-farmacia { padding: 80px 0; background: var(--cd-soft); }
.cd-farmacia__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.cd-farmacia-form__group { margin-bottom: 16px; }
.cd-farmacia-form__group label { font-size: 0.82rem; font-weight: 600; display: block; margin-bottom: 4px; }
.cd-farmacia-form__group input, .cd-farmacia-form__group textarea {
        font-family: var(--cd-font); font-size: 0.88rem; padding: 10px 14px;
        border: 1.5px solid var(--cd-border); border-radius: 4px; width: 100%;
}

/* ============================================================
   16. PORTADA — ocultar entry-content de GP cuando usamos front-page.php
   ============================================================ */
.home .entry-header, .home .page-header { display: none !important; }
.home .entry-content { display: none !important; }
.home .site-main, .home .content-area { padding: 0 !important; }

/* ============================================================
   17. RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
        .cd-servicios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .cd-servicios { padding: 80px 0; }
        .cd-planta__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
        .cd-planta { padding: 72px 0 80px; }
        .cd-porq__audiences { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .cd-porq__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .cd-porq { padding: 72px 0 80px; }
        .cd-galenic__inner { grid-template-columns: 1fr; gap: 48px; }
        .cd-cotizacion__inner { grid-template-columns: 1fr; gap: 40px; }
        .comdiet-footer__inner { grid-template-columns: 1fr 1fr; }
        .cd-trust__inner { flex-wrap: wrap; justify-content: center; }
        .cd-trust__item { border-right: none; border-bottom: 1px solid var(--cd-border); }
        /* Nav: ocultar certs en topbar */
        .comdiet-topbar__certs { display: none; }
}

@media (max-width: 860px) {
        /* Hamburger visible, nav oculta */
        .comdiet-nav__toggle { display: flex; }
        .comdiet-nav__cta { display: none; } /* se repite en el menú mobile */

        .comdiet-nav__menu {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: #fff;
                border-top: 1px solid var(--cd-border);
                border-bottom: 2px solid var(--cd-green);
                padding: 16px 0 24px;
                box-shadow: 0 8px 24px rgba(0,0,0,.1);
                z-index: 950;
        }
        .comdiet-nav__menu.is-open { display: block; }

        /* Posicionar relativo el header para el dropdown absolute */
        .comdiet-site-header { position: sticky; top: 0; }

        .comdiet-nav__list {
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                padding: 0 24px;
        }
        .comdiet-nav__list > li > a {
                display: block;
                padding: 12px 0;
                border-bottom: 1px solid var(--cd-border);
                font-size: 0.9rem;
                border-radius: 0;
        }
        .comdiet-nav__list > li:last-child > a { border-bottom: none; }

        /* Submenú en mobile: visible siempre */
        .comdiet-nav__list ul {
                position: static;
                opacity: 1;
                visibility: visible;
                transform: none;
                box-shadow: none;
                border: none;
                border-radius: 0;
                padding: 0 0 0 16px;
                background: transparent;
        }
        .comdiet-nav__list ul li a {
                color: var(--cd-gray);
                font-size: 0.82rem;
                padding: 6px 0;
                border-bottom: none;
        }

        /* CTA dentro del menú mobile */
        .comdiet-nav__menu::after {
                content: '';
                display: block;
                margin: 16px 24px 0;
        }
}

@media (max-width: 768px) {
        .cd-hero { min-height: 100svh; }
        .cd-hero__title { font-size: clamp(1.8rem, 5vw, 2.4rem); }
        .cd-hero__sub { font-size: 0.95rem; }
        .cd-servicios__grid { grid-template-columns: 1fr; }
        .cd-porq__audiences { grid-template-columns: 1fr; }
        .cd-porq__grid { grid-template-columns: 1fr; }
        .cd-planta__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .cd-cotizacion__inner { grid-template-columns: 1fr; }
        .cd-form__row--2 { flex-direction: column; }
        .comdiet-footer__inner { grid-template-columns: 1fr; gap: 32px; }
        .comdiet-footer__brandmark { height: 72px; max-width: 230px; }
        .vc-footer-authority { margin-left: 24px; margin-right: 24px; }
        .cd-farmacia__grid { grid-template-columns: 1fr; }
        .comdiet-footer__bottom-inner { flex-direction: column; text-align: center; }
        .comdiet-nav__inner { padding: 0 16px; }
        .comdiet-topbar__inner { padding: 0 16px; }
}

/* ============================================================
   18. MENÚ + HERO — clon fabricacioneserlabs.es
   ============================================================ */
.erl-container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.erl-topbar { background: #0a0a0a; color: rgba(255,255,255,.7); font-size: 12.5px; }
.erl-topbar__inner { display: flex; justify-content: space-between; align-items: center; padding-top: 9px; padding-bottom: 9px; gap: 16px; }
.erl-topbar__links { display: flex; gap: 24px; }
.erl-topbar__links a { color: inherit; text-decoration: none; }
.erl-topbar__links a:hover { color: #9ec53b; }

.erl-nav {
        position: sticky; top: 0; z-index: 900;
        background: rgba(255,255,255,.92);
        backdrop-filter: blur(14px) saturate(180%);
        -webkit-backdrop-filter: blur(14px) saturate(180%);
        border-bottom: 1px solid transparent;
        transition: border-color .3s ease, box-shadow .3s ease;
}
.erl-nav.is-scrolled { border-color: #e5e5e0; box-shadow: 0 6px 24px rgba(0,0,0,.05); }
.erl-nav .erl-nav__inner {
        max-width: none;
        display: flex;
        align-items: center;
        gap: 20px;
        padding: 10px 28px;
}
.erl-nav__end { display: flex; align-items: center; gap: 14px; margin-left: auto; flex: 0 0 auto; }
.erl-logos { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; text-decoration: none; max-width: min(420px, 34vw); max-height: 52px; overflow: hidden; }
.erl-logos__tag {
        display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px;
        border: 1.5px solid #9ec53b; color: #0a0a0a; background: #fff;
        font-size: 13px; font-weight: 800; letter-spacing: -0.02em; white-space: nowrap; line-height: 1.1;
}
.erl-logos__years {
        display: block; min-width: 0; max-width: 148px; color: #0a0a0a;
        font-size: 12px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2;
}
.erl-logos__years em {
        display: block; margin-top: 1px;
        font-family: 'Noto Serif', Georgia, serif; font-style: italic; font-weight: 500;
        font-size: 13px; color: #6d9000; line-height: 1.1;
}
/* Logo: forzar tamaño (el PNG es 852×278 y sin esto descoloca el menú) */
.erl-nav .erl-logos .erl-logo__img,
.erl-nav .erl-logos .erl-logo__img--comdiet,
header.erl-nav img.erl-logo__img {
        height: 40px !important;
        width: auto !important;
        max-width: 140px !important;
        max-height: 40px !important;
        object-fit: contain !important;
        display: block;
}
.erl-nav__links { display: flex; justify-content: center; flex: 1 1 auto; gap: 22px; font-size: 14px; font-weight: 500; }
.erl-nav__links a { position: relative; padding: 6px 0; color: #333; text-decoration: none; }
.erl-nav__links a::after {
        content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
        background: #9ec53b; transform: scaleX(0); transform-origin: left;
        transition: transform .3s cubic-bezier(0.22, 1, 0.36, 1);
}
.erl-nav__links a:hover::after { transform: scaleX(1); }
.erl-nav__trust { display: flex; align-items: center; gap: 8px; flex-shrink: 0; margin-left: 8px; }
.erl-nav__flags { display: flex; gap: 4px; }
.erl-flag { width: 26px; height: 18px; display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.erl-nav__trust-text { display: flex; flex-direction: column; line-height: 1.15; }
.erl-nav__trust-text strong { font-size: 13px; font-weight: 700; color: #0a0a0a; letter-spacing: -0.01em; white-space: nowrap; }
.erl-nav__trust-text small { font-size: 12px; font-weight: 600; color: #5a5a55; white-space: nowrap; }
.erl-nav__toggle {
        display: none; width: 42px; height: 42px; border: 0; background: transparent;
        flex-direction: column; justify-content: center; align-items: center; gap: 5px; padding: 0;
}
.erl-nav__toggle span { display: block; width: 20px; height: 2px; background: #0a0a0a; border-radius: 2px; transition: .2s; }
.erl-nav__toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.erl-nav__toggle.is-open span:nth-child(2) { opacity: 0; }
.erl-nav__toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.erl-btn {
        display: inline-flex; align-items: center; justify-content: center; gap: 10px;
        padding: 16px 28px; border-radius: 999px; font-size: 14px; font-weight: 700;
        letter-spacing: 0.02em; border: 1.5px solid transparent; text-decoration: none;
        white-space: nowrap; transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.erl-btn svg { width: 18px; height: 18px; transition: transform .25s cubic-bezier(0.22,1,.36,1); }
.erl-btn:hover svg { transform: translateX(4px); }
.erl-btn--sm { padding: 11px 22px; font-size: 13px; }
.erl-btn--dark { background: #0a0a0a; color: #fff; }
.erl-btn--dark:hover { background: #2a2a28; }
.erl-btn--green { background: #9ec53b; color: #0a0a0a; }
.erl-btn--green:hover { background: #b1d64d; }
.erl-btn--ghost { color: #fff; border-color: rgba(255,255,255,.35); background: transparent; }
.erl-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.erl-eyebrow {
        display: inline-flex; align-items: center; gap: 10px;
        font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
        color: #9ec53b; margin-bottom: 16px;
}
.erl-eyebrow::before { content: ""; width: 22px; height: 1.5px; background: currentColor; }

.erl-hero {
        position: relative; background: #0a0a0a; color: #fff;
        padding: 96px 0 104px; overflow: hidden; isolation: isolate;
}
.erl-hero__bg { position: absolute; inset: 0; z-index: -2; }
.erl-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: right center; opacity: .82; }
.erl-hero::before {
        content: ""; position: absolute; inset: 0; z-index: -1;
        background: linear-gradient(90deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.28) 42%, rgba(10,10,10,.12) 100%);
}
.erl-hero::after {
        content: ""; position: absolute; inset: 0; z-index: -1;
        background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
        background-size: 64px 64px;
        mask-image: linear-gradient(180deg, #000 0%, transparent 90%);
        -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 90%);
}
.erl-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 540px); gap: 56px; align-items: start; position: relative; }
.erl-hero__content {
        position: relative; isolation: isolate; border-radius: 22px; overflow: hidden; padding: 36px 32px 32px;
        border: 1px solid rgba(158,197,59,.55);
        box-shadow: 0 0 0 1px rgba(158,197,59,.25), 0 18px 50px rgba(0,0,0,.35), 0 0 42px rgba(158,197,59,.35);
        /* Reserva altura para evitar CLS por swap de fuentes / tags. */
        min-height: 28rem;
        contain: layout;
}
.erl-hero__years {
        position: absolute;
        left: 46%;
        top: 42%;
        z-index: 3;
        margin: 0;
        max-width: 10.5em;
        font-family: 'Noto Serif', Georgia, serif;
        font-weight: 400;
        font-style: italic;
        font-size: clamp(1.05rem, 1.7vw, 1.35rem);
        line-height: 1.35;
        letter-spacing: 0.01em;
        color: rgba(255, 255, 255, 0.92);
        text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
        pointer-events: none;
        background: none;
        border: none;
        text-align: center;
}
.erl-hero__video { position: absolute; inset: 0; z-index: -1; }
.erl-hero__video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.erl-hero__video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,8,6,.62) 0%, rgba(6,8,6,.48) 70%, rgba(6,8,6,.38) 100%); }
.erl-hero__content .erl-eyebrow,
.erl-hero__title,
.erl-hero__desc {
        text-shadow: 0 1px 2px rgba(0,0,0,.85), 0 2px 14px rgba(0,0,0,.55);
}
.erl-hero__title {
        font-size: clamp(36px, 4.6vw, 62px); font-weight: 700; line-height: 1.04;
        letter-spacing: -0.03em; max-width: 680px; color: #fff;
        /* Métricas estables antes de que cargue DM Sans / Noto. */
        font-family: var(--cd-font), system-ui, -apple-system, "Segoe UI", sans-serif;
        text-rendering: geometricPrecision;
}
.erl-hero__title em { font-family: 'Noto Serif', Georgia, serif; font-style: italic; font-weight: 400; color: #9ec53b; }
.erl-hero__desc { margin-top: 24px; font-size: 17px; line-height: 1.6; color: #fff; max-width: 560px; }
.erl-tags { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: repeat(4, max-content); gap: 8px; width: fit-content; max-width: 100%; }
.erl-tags__spain {
        grid-column: 1 / -1;
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        width: 0;
        min-width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        background: #9ec53b;
        padding: 10px 14px 10px 16px;
        overflow: visible;
        border-radius: 999px;
}
.erl-tags li {
        display: inline-flex; align-items: center; justify-content: center; gap: 7px;
        padding: 8px 14px 8px 10px; border: 0; border-radius: 999px;
        font-size: 13px; font-weight: 800; color: #0a0a0a; background: #9ec53b;
        text-shadow: none;
}
.erl-tags > li:not(.erl-tags__spain) svg { width: 16px; height: 16px; flex: 0 0 16px; }
.erl-tags__label { display: inline-flex; align-items: center; padding: 0; background: transparent; white-space: nowrap; flex: 0 0 auto; }
.erl-tags__country {
        position: absolute;
        left: 16px;
        top: calc(100% + 8px);
        z-index: 12;
        display: inline-flex;
        align-items: center;
        max-width: 16em;
        padding: 5px 10px;
        border-radius: 999px;
        background: #0a0a0a;
        color: #fff;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .02em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
}
.erl-tags__spain.is-flag-hover .erl-tags__country {
        opacity: 1;
        visibility: visible;
}
.erl-tags__flags {
        position: relative;
        display: block;
        flex: 1 1 auto;
        min-width: 0;
        height: 28px;
        overflow: hidden;
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}
.erl-tags__marquee {
        display: flex;
        width: max-content;
        height: 100%;
        align-items: center;
        animation: erl-flags-scroll 32s linear infinite;
}
.erl-tags__flags:hover .erl-tags__marquee { animation-play-state: paused; }
.erl-tags__track {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        padding-right: 10px;
        height: 100%;
}
.erl-tags .erl-flag {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 20px;
        flex: 0 0 30px;
        cursor: pointer;
        overflow: visible;
        box-shadow: none;
        z-index: 1;
        text-decoration: none;
        color: inherit;
}
.erl-tags .erl-flag svg {
        display: block;
        width: 30px;
        height: 20px;
        flex: none;
        border-radius: 3px;
        box-shadow: 0 0 0 1px rgba(0,0,0,.18);
        transform: translateZ(0) scale(1);
        transform-origin: 50% 50%;
        transition: transform .12s ease;
        will-change: transform;
        pointer-events: none;
        aspect-ratio: 3 / 2;
}
.erl-tags .erl-flag::after { content: none; }
.erl-tags .erl-flag:hover,
.erl-tags .erl-flag:focus-visible,
.erl-tags .erl-flag.is-active { z-index: 8; }
.erl-tags .erl-flag:hover svg,
.erl-tags .erl-flag:focus-visible svg,
.erl-tags .erl-flag.is-active svg {
        transform: translateZ(0) scale(1.32);
        box-shadow: 0 0 0 1px rgba(0,0,0,.22), 0 3px 8px rgba(0,0,0,.2);
}
@keyframes erl-flags-scroll {
        from { transform: translate3d(0, 0, 0); }
        to { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
        .erl-tags__marquee { animation: none; }
        .erl-tags__flags {
                overflow-x: auto;
                -webkit-mask-image: none;
                mask-image: none;
        }
        .erl-tags__track[aria-hidden="true"] { display: none; }
}
.erl-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }

.erl-hero__aside {
        display: flex; flex-direction: column; gap: 14px; min-width: 0;
        min-height: 26rem; contain: layout style; align-self: start;
}
.erl-hero__seal {
        display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap;
        background: #fff; color: #0a0a0a; border-radius: 999px; padding: 10px 12px 10px 16px;
        box-shadow: 0 18px 40px rgba(0,0,0,.28);
        min-height: 56px; box-sizing: border-box;
}
.erl-hero__seal-flags { display: flex; gap: 4px; flex: 0 0 auto; }
.erl-hero__seal-text { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.erl-hero__seal-text strong { font-size: 13px; font-weight: 700; color: #0a0a0a; letter-spacing: -0.01em; white-space: nowrap; }
.erl-hero__seal-text small { font-size: 12px; font-weight: 600; color: #5a5a55; white-space: nowrap; }
.erl-hero__form-card {
        background: #fff; color: #0a0a0a; border-radius: 24px; padding: 34px;
        box-shadow: 0 40px 100px rgba(0,0,0,.45); scroll-margin-top: 110px;
        box-sizing: border-box;
}
.erl-hero__form-card--cta {
        min-height: 20.5rem;
        contain: layout;
}
/* Aside CTA: tipografía de sistema para no depender de woff2 (CLS 0.295) */
.erl-hero__aside,
.erl-hero__aside .erl-form__kicker,
.erl-hero__aside .erl-form__title,
.erl-hero__aside .erl-form__sub,
.erl-hero__aside .erl-hero__cta-list,
.erl-hero__aside .erl-btn {
        font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
}
.erl-hero__aside .erl-form__title em {
        font-family: Georgia, "Times New Roman", serif !important;
}
.erl-hero__form-card .erl-eyebrow { margin-bottom: 10px; color: #86a92f; }
.erl-form__kicker {
        display: inline-flex; margin: 0 0 12px; padding: 6px 12px; border-radius: 999px;
        background: #9ec53b; color: #0a0a0a; font-size: 12px; font-weight: 800;
        letter-spacing: .08em; text-transform: uppercase;
}
.erl-form__title { font-size: 34px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; color: #0a0a0a; min-height: 2.2em; }
.erl-form__title em { font-family: 'Noto Serif', Georgia, serif; font-style: italic; font-weight: 600; color: #86a92f; }
.erl-form__sub { margin: 10px 0 20px; font-size: 16px; line-height: 1.45; color: #2a2a28; font-weight: 600; min-height: 3.2em; }
.erl-form__sub strong {
        display: inline-block; margin: 0 2px; padding: 2px 8px; border-radius: 999px;
        background: #0a0a0a; color: #9ec53b; font-weight: 800; letter-spacing: .02em;
}
.erl-form__progress { margin-bottom: 18px; }
.erl-form__progress-label { display: block; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #0a0a0a; margin-bottom: 8px; }
.erl-form__bar { display: block; height: 6px; border-radius: 99px; background: #eeeee9; overflow: hidden; }
.erl-form__bar i { display: block; height: 100%; width: 25%; background: #9ec53b; border-radius: inherit; transition: width .5s cubic-bezier(0.22,1,.36,1); }
.erl-form__step { border: 0; padding: 0; margin: 0; min-width: 0; }
.erl-form__step[hidden] { display: none; }
.erl-form__step.is-active { animation: erl-fade .45s cubic-bezier(0.22,1,.36,1); }
@keyframes erl-fade { from { opacity: 0; transform: translateX(36px); } to { opacity: 1; transform: none; } }
.erl-form__slide .erl-form__q { display: block; width: 100%; text-align: center; margin: 4px 0 18px; font-size: 26px; line-height: 1.15; letter-spacing: -0.02em; font-weight: 800; color: #0a0a0a; }
.erl-form__slide .erl-form__q::after { content: "Pulsa una opción para continuar"; display: block; margin-top: 8px; font-family: "DM Sans", Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0; font-style: normal; color: #5d7a18; }
.erl-form__slide .erl-choice span { min-height: 168px; padding: 22px 10px 16px; gap: 10px; border-radius: 18px; font-size: 16px; border: 2px solid #b7c97a; box-shadow: 0 8px 0 #e4ebc4; cursor: pointer; }
.erl-form__slide .erl-choice span::after { content: "Elegir"; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #3f5a10; background: #e7efc4; border-radius: 999px; padding: 5px 10px; }
.erl-form__slide .erl-choice label:hover span { transform: translateY(-4px); border-color: #9ec53b; box-shadow: 0 12px 0 #c5d48a; }
.erl-form__slide .erl-choice input:checked + span::after { content: "Seleccionado"; background: #9ec53b; color: #0a0a0a; }
.erl-form__slide .erl-choice span svg { width: 52px; height: 52px; }
.erl-choice--vol { grid-template-columns: 1fr 1fr; }
.erl-form__back--slide { display: inline-flex; align-items: center; margin-top: 16px; min-height: 42px; }
.erl-form__q { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 0; margin: 18px 0 10px; font-size: 14px; font-weight: 700; color: #0a0a0a; }
.erl-form__q > svg { width: 18px; height: 18px; flex: 0 0 18px; color: #86a92f; }
.erl-form__step legend.erl-form__q { margin-top: 0; }
.erl-form__q small { margin-left: auto; padding: 3px 9px; border-radius: 99px; background: #eef0d4; font-size: 11px; font-weight: 700; color: #0a0a0a; }
.erl-choice { display: grid; gap: 10px; }
.erl-choice--row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.erl-choice label { position: relative; cursor: pointer; display: flex; }
.erl-choice label span { flex: 1; height: 100%; }
.erl-choice input { position: absolute; opacity: 0; pointer-events: none; }
.erl-choice span {
        display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px;
        min-height: 96px; padding: 14px 8px 12px; border: 1.5px solid #e3e3de; border-radius: 14px;
        background: #f7f7f4; font-size: 13px; font-weight: 700; line-height: 1.2; color: #222;
        transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.erl-choice span svg { width: 28px; height: 28px; color: #86a92f; }
.erl-choice label:hover span { border-color: #b7c97a; background: #fff; transform: translateY(-1px); }
.erl-choice input:checked + span { background: #0a0a0a; border-color: #0a0a0a; color: #fff; box-shadow: 0 10px 22px rgba(10,10,10,.16), inset 0 -3px 0 #9ec53b; }
.erl-choice input:checked + span svg { color: #9ec53b; }
.erl-choice.is-invalid span { border-color: rgba(220,50,50,.55); }
.erl-form__fields { display: flex; flex-direction: column; gap: 10px; }
.erl-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.erl-form__field {
        width: 100%; padding: 14px 16px; background: #f6f6f3; border: 1px solid #e3e3de; border-radius: 12px;
        color: #0a0a0a; font-family: inherit; font-size: 14.5px; line-height: 1.4; appearance: none;
}
.erl-form__field:focus { outline: none; background: #fff; border-color: #9ec53b; box-shadow: 0 0 0 4px rgba(158,197,59,.18); }
.erl-form__field--textarea { min-height: 96px; resize: vertical; }
.erl-form__select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-right: 40px; cursor: pointer;
}
.erl-form__select.is-invalid { border-color: rgba(220,50,50,.55); }
.erl-form__honeypot { position: absolute !important; left: -9999px; opacity: 0; }
.erl-form__submit {
        position: relative; margin-top: 18px; width: 100%; padding: 17px 24px; background: #0a0a0a; color: #fff;
        border: 0; border-radius: 999px; font-size: 14px; font-weight: 700; letter-spacing: .04em; min-height: 54px; cursor: pointer;
}
.erl-form__submit:hover { background: #9ec53b; color: #0a0a0a; }
.erl-form__actions { display: flex; gap: 10px; align-items: center; }
.erl-form__actions .erl-form__submit { margin-top: 0; flex: 1; }
.erl-form__back { flex: 0 0 auto; padding: 0 18px; min-height: 54px; border: 1px solid #e3e3de; border-radius: 999px; background: #fff; font-weight: 600; font-size: 14px; color: #444; cursor: pointer; }
.erl-form__legal { margin-top: 4px; font-size: 12px; color: #8a8a85; text-align: center; }
.erl-form__privacy { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 0; font-size: 13.5px; line-height: 1.45; color: #1a1a1a; font-weight: 650; cursor: pointer; }
.erl-form__privacy input { width: 18px; height: 18px; margin-top: 2px; accent-color: #6d8a22; flex: 0 0 auto; }
.erl-form__privacy a { color: #4f6b12; font-weight: 800; text-decoration: underline; }
.erl-form__submit:disabled { opacity: .4; cursor: not-allowed; }
.erl-form__submit:disabled:hover { background: #0a0a0a; color: #fff; }
.cd-legal { padding: 56px 20px 80px; background: #fff; color: #1a1a1a; }
.cd-legal__inner { max-width: 760px; margin: 0 auto; }
.cd-legal h1 { margin: 0 0 18px; font-size: 40px; line-height: 1.1; letter-spacing: -0.03em; }
.cd-legal h2 { margin: 28px 0 8px; font-size: 22px; }
.cd-legal p, .cd-legal li { font-size: 16px; line-height: 1.6; }
.cd-legal a { color: #4f6b12; font-weight: 700; }
.cd-legal__contact { margin-top: 28px; padding-top: 16px; border-top: 1px solid #e5e5e0; color: #3a3a36; }
.erl-form__submit.is-loading { pointer-events: none; }
.erl-form__submit.is-loading .erl-form__submit-text { opacity: 0; }
.erl-form__submit-loader {
        position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px;
        border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; opacity: 0; animation: erl-spin .7s linear infinite;
}
.erl-form__submit.is-loading .erl-form__submit-loader { opacity: 1; }
@keyframes erl-spin { to { transform: rotate(360deg); } }
.erl-form__success, .erl-form__error { padding: 14px 16px; border-radius: 12px; font-size: 14px; margin-bottom: 14px; }
.erl-form__success { background: rgba(158,197,59,.16); border: 1px solid #9ec53b; }
.erl-form__error { background: rgba(220,50,50,.08); border: 1px solid rgba(220,50,50,.4); color: #c84444; }

.erl-trust { border-bottom: 1px solid #d5deb0; background: #f4f7e4; }
.erl-trust__bar { display: flex; align-items: center; gap: 28px; padding: 16px 0; }
.erl-trust picture {
        display: block;
        width: 148px;
        height: 44px;
        flex: 0 0 148px;
        aspect-ratio: 148 / 44;
}
.erl-trust__logo {
        display: block;
        width: 148px;
        height: 44px;
        max-width: 148px;
        aspect-ratio: 148 / 44;
        object-fit: contain;
        flex: 0 0 148px;
}
.erl-trust__inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; flex: 1 1 auto; min-width: 0; }
.erl-trust__item { padding: 8px 16px; display: flex; flex-direction: row; align-items: center; gap: 10px; border-left: 1px solid rgba(134,169,47,.35); }
.erl-trust__item:first-child { border-left: 0; padding-left: 0; }
.erl-trust__icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; background: #9ec53b; color: #0a0a0a; }
.erl-trust__icon svg { width: 20px; height: 20px; }
.erl-trust__item strong { display: block; font-family: 'Noto Serif', Georgia, serif; font-style: italic; font-weight: 600; font-size: 22px; color: #5a7a1e; line-height: 1.1; }
.erl-trust__item span { font-size: 13px; font-weight: 650; color: #1c1c1a; }

.erl-section { padding: 112px 0; background: #fff; }
.erl-section--cream { background: #f8faea; }
#fabricacion { scroll-margin-top: 90px; }
.erl-section--cream .erl-eyebrow { color: #d96f2c; }
.erl-head { margin-bottom: 56px; }
.erl-head--split { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.erl-tabs { display: grid; grid-template-columns: 320px 1fr; gap: 28px; align-items: start; }
.erl-tabs__list { display: flex; flex-direction: column; gap: 10px; }
.erl-tabs__btn {
        display: flex; align-items: center; gap: 16px; text-align: left; width: 100%;
        padding: 20px 22px; background: #fff; border: 2px solid #c5d48a; border-radius: 14px;
        font-size: 16px; font-weight: 700; color: #1a1a1a; cursor: pointer;
        box-shadow: 0 6px 0 #e4ebc4;
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.erl-tabs__btn::after { content: "Ver"; margin-left: auto; padding: 4px 10px; border-radius: 999px; background: #e7efc4; color: #3f5a10; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.erl-tabs__btn:hover { transform: translateX(4px); border-color: #9ec53b; }
.erl-tabs__btn span { font-size: 12px; font-weight: 700; color: #86a92f; letter-spacing: .06em; }
.erl-tabs__btn.is-active { background: #0a0a0a; border-color: #0a0a0a; color: #fff; box-shadow: 0 14px 30px rgba(0,0,0,.14); transform: translateX(6px); }
.erl-tabs__btn.is-active span { color: #9ec53b; }
.erl-tabs__btn.is-active::after { content: "Viendo"; background: #9ec53b; color: #0a0a0a; }
.erl-tabs__panels { position: relative; background: #fff; border: 1px solid #e5e5e0; border-radius: 22px; padding: 36px; }
.erl-panel__brands { position: absolute; right: 22px; bottom: 18px; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.92); box-shadow: 0 4px 14px rgba(0,0,0,.12); }
.erl-panel__brands img { height: 22px; width: auto; display: block; }
.erl-panel { display: grid; grid-template-columns: 1fr 1.05fr; gap: 40px; align-items: center; }
.erl-panel[hidden] { display: none; }
.erl-panel__lead { font-size: 17px; line-height: 1.55; color: #333; margin-bottom: 24px; }
.erl-panel__block { padding-left: 16px; border-left: 2px solid #9ec53b; margin-bottom: 22px; }
.erl-panel__label,
h3.erl-panel__label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #d96f2c;
	margin: 0 0 6px;
	line-height: 1.3;
	font-family: inherit;
}
.erl-panel__block h4 { font-size: 17px; font-weight: 700; margin: 0 0 4px; }
.erl-panel__block p:last-child { font-size: 14px; line-height: 1.55; color: #5a5a55; }
.erl-chips { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.erl-chips li { padding: 6px 14px; border-radius: 999px; background: #eef0d4; font-size: 13px; font-weight: 600; }
.erl-media { position: relative; margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 1 / 1; background: #eceee0; }
.erl-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 1199px) {
        .erl-tabs {
                display: flex;
                flex-direction: column;
                gap: 12px;
        }
        .erl-tabs__list {
                display: flex;
                flex-direction: column;
                gap: 10px;
                overflow: visible;
                width: 100%;
        }
        .erl-tabs__btn {
                flex: none;
                width: 100%;
                transform: none !important;
        }
        .erl-tabs__btn:hover,
        .erl-tabs__btn.is-active {
                transform: none !important;
        }
        /* Panel justo debajo del botón activo (accordion) */
        .erl-tabs__list > .erl-tabs__panels {
                order: unset;
                margin: 2px 0 8px;
                width: 100%;
        }
        .erl-tabs__panels {
                padding: 22px 18px;
                border-radius: 16px;
        }
        .erl-panel {
                grid-template-columns: 1fr;
                gap: 24px;
        }
        .erl-panel .erl-media {
                aspect-ratio: 16 / 10;
                max-height: 280px;
        }
        .erl-panel__brands {
                right: 12px;
                bottom: 12px;
        }
}

.erl-lineup { padding: 96px 0 72px; background: #fff; scroll-margin-top: 90px; }
.erl-lineup__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; margin-bottom: 40px; }
.erl-h2 { margin: 0; line-height: 1.08; letter-spacing: -0.025em; font-size: clamp(30px, 3.6vw, 48px); font-weight: 700; }
.erl-h2__p2 { font-family: 'Noto Serif', Georgia, serif; font-style: italic; font-weight: 400; color: #86a92f; }
.erl-head__sub { max-width: 340px; font-size: 16px; line-height: 1.6; color: #5a5a55; }
.erl-head__sub--line { max-width: none; margin: 14px 0 0; white-space: nowrap; }
.erl-lineup__figure { position: relative; margin: 0 0 22px; border-radius: 24px; overflow: hidden; border: 1px solid #e5e5e0; background: linear-gradient(180deg, #f7f8f1 0%, #eef0d8 100%); padding: 8px 14px; }
.erl-lineup__hero { display: block; width: 100%; height: auto; }
.erl-lineup__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 8px; }
.erl-lineup__pack { position: relative; margin: 0; overflow: hidden; background: #f7f8f1; border: 1px solid #e5e5e0; border-radius: 16px; aspect-ratio: 3 / 4; }
.erl-lineup__pack img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.erl-lineup__pack figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 10px 8px 12px; font-size: 12px; font-weight: 800; color: #1a1a1a; text-align: center; background: linear-gradient(180deg, rgba(247,248,241,0), rgba(247,248,241,.95) 40%, #f7f8f1); }
@media (max-width: 989px) {
        .erl-lineup { padding-top: 72px; }
        .erl-lineup__head { flex-direction: column; align-items: flex-start; gap: 16px; }
        .erl-head__sub--line { white-space: normal; }
}
@media (max-width: 749px) {
        .erl-lineup { padding: 56px 0 48px; }
        .erl-lineup__figure { aspect-ratio: auto; overflow-x: auto; border-radius: 18px; }
        .erl-lineup__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 540px) {
        .erl-lineup__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1199px) {
        .erl-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: 28px; }
        .erl-nav__links { gap: 14px; font-size: 13px; }
        .erl-logos__years { display: none; }
        .erl-logos { max-width: min(360px, 38vw); }
        .erl-form__title { font-size: 30px; }
        .erl-form__slide .erl-form__q { font-size: 22px; }
        .erl-form__slide .erl-choice span { min-height: 148px; padding: 16px 8px 14px; }
        .erl-form__slide .erl-choice span svg { width: 44px; height: 44px; }
}

/* Tablet / laptop estrecho: hero en columna (evita solape texto + formulario) */
@media (max-width: 1100px) {
        .erl-container { padding: 0 24px; }
        .erl-nav .erl-nav__inner { padding: 10px 20px; gap: 12px; }
        .erl-nav__links { display: none; }
        .erl-nav__toggle { display: flex; }
        .erl-nav__links.is-open {
                display: flex;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                flex-direction: column;
                gap: 0;
                background: #fff;
                padding: 8px 24px 16px;
                border-bottom: 1px solid #e5e5e0;
                box-shadow: 0 12px 24px rgba(0,0,0,.06);
                z-index: 920;
        }
        .erl-nav__links a { padding: 14px 0; border-bottom: 1px solid #eee; font-size: 15px; }
        .erl-nav__links a::after { display: none; }
        .erl-nav__inner { position: relative; }
        .erl-nav__trust { display: none; }

        .erl-hero { padding: 48px 0 56px; }
        .erl-hero__years { display: none; }
        .erl-hero__inner {
                grid-template-columns: 1fr;
                gap: 28px;
                align-items: stretch;
        }
        .erl-hero__content { order: 1; padding: 28px 22px 24px; min-height: 22rem; }
        .erl-hero__aside { order: 2; width: 100%; max-width: 560px; margin: 0 auto; min-height: 0; }
        .erl-hero__form-card--cta { min-height: 0; }
        .erl-hero__title { font-size: clamp(32px, 5.5vw, 48px); max-width: none; }
        .erl-tags {
                grid-template-columns: repeat(2, max-content);
                width: 100%;
                max-width: 100%;
        }
        .erl-tags__spain { border-radius: 18px; }
}

@media (max-width: 989px) {
        .erl-nav__trust { display: none; }
        .erl-topbar__loc { display: none; }
        .erl-topbar__inner { justify-content: center; }
        .erl-section { padding: 72px 0; }
        .erl-head--split { flex-direction: column; align-items: flex-start; gap: 20px; }
        .erl-trust__bar { flex-wrap: wrap; gap: 16px; padding: 18px 0; }
        .erl-trust picture,
        .erl-trust__logo { width: 128px; height: 38px; flex-basis: 128px; aspect-ratio: 148 / 44; }
        .erl-trust__inner { grid-template-columns: 1fr 1fr; width: 100%; gap: 0; }
        .erl-trust__item {
                padding: 14px 12px !important;
                border-left: 0 !important;
                align-items: center;
                gap: 12px;
        }
        .erl-trust__item:nth-child(odd) {
                padding-left: 4px !important;
                padding-right: 12px !important;
        }
        .erl-trust__item:nth-child(even) {
                padding-left: 12px !important;
                border-left: 1px solid rgba(134,169,47,.35) !important;
        }
        .erl-trust__item:nth-child(n+3) {
                border-top: 1px solid rgba(134,169,47,.35);
                padding-top: 14px !important;
        }
        .erl-trust__icon { flex: 0 0 38px; }
        .cd-cta-final__inner { grid-template-columns: 1fr; justify-items: center; gap: 28px; }
        .cd-cta-final__logo { justify-self: center; }
        .cd-cta-final__logo img { width: 140px; }

        .erl-hero__form-card { padding: 26px 22px; border-radius: 20px; }
        .erl-form__title { font-size: 28px; }
        .erl-form__slide .erl-choice--row { gap: 8px; }
        .erl-form__slide .erl-choice span { min-height: 132px; font-size: 14px; }
        .erl-hero__seal {
                flex-wrap: wrap;
                justify-content: center;
                gap: 12px;
                padding: 12px 14px;
        }
        .erl-hero__seal-text strong,
        .erl-hero__seal-text small { white-space: normal; }
        .erl-hero__seal .erl-btn { margin-left: 0; }
}

@media (max-width: 749px) {
        .erl-container { padding: 0 16px; }
        .erl-nav .erl-logos .erl-logo__img,
        .erl-nav .erl-logos .erl-logo__img--comdiet {
                height: 32px !important;
                max-height: 32px !important;
                max-width: 110px !important;
        }
        .erl-logos { gap: 8px; max-width: min(280px, 58vw); }
        .erl-logos__tag { font-size: 11px; padding: 5px 9px; }
        .erl-logos__years { display: none; }
        .erl-nav .erl-btn--sm { display: none; }
        .erl-nav .erl-nav__inner { padding: 8px 14px; }
        .cd-wrap { padding: 0 16px; }

        .erl-hero { padding: 36px 0 48px; }
        .erl-hero__content {
                padding: 22px 16px 18px;
                border-radius: 16px;
        }
        .erl-hero__title { font-size: clamp(26px, 7.2vw, 36px); line-height: 1.08; }
        .erl-hero__desc { font-size: 15px; margin-top: 16px; }
        .erl-hero__ctas { margin-top: 22px; gap: 10px; }
        .erl-hero__ctas .erl-btn { flex: 1 1 100%; min-height: 48px; }

        .erl-tags {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                width: 100%;
                margin-top: 20px;
        }
        .erl-tags li { font-size: 12px; padding: 7px 12px 7px 9px; }
        .erl-tags__spain {
                width: 100%;
                min-width: 0;
                flex-wrap: wrap;
                row-gap: 8px;
                border-radius: 16px;
                padding: 10px 12px;
        }
        .erl-tags__flags { flex: 1 1 100%; max-width: 100%; height: 28px; }

        .erl-hero__form-card { padding: 20px 16px; border-radius: 18px; }
        .erl-form__kicker { margin-bottom: 8px; }
        .erl-form__title { font-size: 24px; }
        .erl-form__sub { font-size: 14px; margin: 8px 0 16px; }
        .erl-form__progress-label { font-size: 12px; }
        .erl-form__slide .erl-form__q { font-size: 18px; margin-bottom: 14px; }
        .erl-form__slide .erl-form__q::after { font-size: 12px; }

        /* Opciones del briefing: filas táctiles (no 3 columnas aplastadas) */
        .erl-form__slide .erl-choice--row,
        .erl-choice--row,
        .erl-choice--vol,
        .erl-form__row {
                grid-template-columns: 1fr;
        }
        .erl-form__slide .erl-choice span {
                min-height: 0;
                flex-direction: row;
                justify-content: flex-start;
                align-items: center;
                text-align: left;
                gap: 12px;
                padding: 14px 14px;
                border-radius: 14px;
                box-shadow: 0 4px 0 #e4ebc4;
                font-size: 15px;
        }
        .erl-form__slide .erl-choice span svg { width: 34px; height: 34px; flex: 0 0 34px; }
        .erl-form__slide .erl-choice span::after { margin-left: auto; }
        .erl-form__slide .erl-choice label:hover span { transform: none; }

        .erl-hero__seal .erl-btn { display: none; } /* CTA ya está en nav / hero */
        .erl-trust__item {
                padding: 14px 4px !important;
                flex-direction: row !important;
                align-items: center !important;
                gap: 12px !important;
        }
        .erl-trust__item:nth-child(odd),
        .erl-trust__item:nth-child(even) {
                padding-left: 4px !important;
                padding-right: 8px !important;
                border-left: 0 !important;
        }
        .erl-trust__item strong { font-size: 20px; }
        .erl-trust__inner { grid-template-columns: 1fr 1fr; }
        .erl-trust__icon { width: 36px; height: 36px; flex: 0 0 36px; }
        .erl-trust__icon svg { width: 18px; height: 18px; }

        .cd-planta__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
        .cd-servicios__grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
        .erl-topbar { font-size: 11.5px; }
        .erl-topbar__links { gap: 14px; }
        .erl-logos__tag { display: none; }
        .erl-logos { max-width: none; }
        .erl-hero__aside { max-width: none; }
        .erl-trust__inner { grid-template-columns: 1fr; gap: 0; }
        .erl-trust__item {
                border-left: 0 !important;
                border-top: 1px solid rgba(134,169,47,.35);
                padding: 14px 0 !important;
                flex-direction: row !important;
                align-items: center !important;
                gap: 14px !important;
        }
        .erl-trust__item:first-child {
                border-top: 0;
                padding-top: 4px !important;
        }
        .erl-trust__item:nth-child(odd),
        .erl-trust__item:nth-child(even) {
                padding-left: 0 !important;
                padding-right: 0 !important;
                border-left: 0 !important;
        }
        .erl-trust__bar {
                flex-direction: column;
                align-items: stretch;
                gap: 14px;
                padding: 20px 0;
        }
        .erl-trust__logo { align-self: flex-start; }
        .erl-trust__icon { width: 40px; height: 40px; flex: 0 0 40px; }
        .erl-trust__item > div { min-width: 0; flex: 1 1 auto; }
        .cd-planta__grid { grid-template-columns: 1fr; }
        .erl-lineup__grid { grid-template-columns: repeat(2, 1fr); }
        .vc-footer-authority { margin-left: 16px; margin-right: 16px; padding: 14px 14px; }
        .vc-footer-authority p { font-size: 12px; text-align: left; }
}

/* Anti-overflow global en portada */
.cd-page,
.erl-hero,
.erl-hero__inner,
.erl-hero__aside,
.erl-hero__form-card {
        max-width: 100%;
        box-sizing: border-box;
}
.erl-hero__aside,
.erl-hero__content {
        min-width: 0;
}

/* ============================================================
   E-E-A-T — SOBRE COMDIEТ / LABORATORIO
   ============================================================ */
.cd-about { background: #f7f8f4; color: var(--cd-ink); }
.cd-about__hero {
        background: linear-gradient(160deg, #0f120c 0%, #1a2214 55%, #24301a 100%);
        color: #fff;
        padding: 72px 0 64px;
}
.cd-about__hero-inner { max-width: 760px; }
.cd-about__hero .cd-eyebrow { color: var(--cd-green); }
.cd-about__title {
        font-family: var(--cd-font-display, "Noto Serif", Georgia, serif);
        font-size: clamp(2rem, 4vw, 3rem);
        line-height: 1.15;
        margin: 12px 0 18px;
        letter-spacing: -0.02em;
}
.cd-about__lead {
        font-size: 1.1rem;
        line-height: 1.65;
        color: rgba(255,255,255,.78);
        margin: 0 0 28px;
        max-width: 640px;
}
.cd-about__badges {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        padding: 0;
        margin: 0;
}
.cd-about__badges li {
        font-size: 0.78rem;
        padding: 8px 12px;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.18);
        background: rgba(255,255,255,.06);
        color: rgba(255,255,255,.85);
}
.cd-about__badges strong { color: #fff; font-weight: 700; }

.cd-about__founder,
.cd-about__history,
.cd-about__plant,
.cd-about__legal { padding: 72px 0; }
.cd-about__founder-grid {
        display: grid;
        grid-template-columns: minmax(240px, 380px) 1fr;
        gap: 48px;
        align-items: center;
}
.cd-about__founder-grid--advisor {
        margin-top: 64px;
        padding-top: 56px;
        border-top: 1px solid rgba(158, 197, 59, .28);
        align-items: start;
}
.cd-about__portrait {
        margin: 0 auto;
        width: min(100%, 380px);
        aspect-ratio: 1;
        border-radius: 50%;
        overflow: hidden;
        background:
                radial-gradient(circle at 30% 20%, rgba(158, 197, 59, .35), transparent 45%),
                #0f120c;
        box-shadow:
                0 0 0 6px rgba(158, 197, 59, .35),
                0 0 0 14px rgba(15, 18, 12, .06),
                0 28px 64px rgba(15, 18, 12, .22);
}
.cd-about__portrait--advisor {
        width: min(100%, 320px);
        box-shadow:
                0 0 0 5px rgba(158, 197, 59, .4),
                0 0 0 12px rgba(15, 18, 12, .05),
                0 22px 48px rgba(15, 18, 12, .18);
}
.cd-about__portrait img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 18%;
}
.cd-about__portrait--advisor img {
        object-position: center 22%;
}
.cd-about__founder-copy h2 {
        font-size: clamp(1.8rem, 3vw, 2.4rem);
        margin: 8px 0 6px;
}
.cd-about__role {
        color: var(--cd-green-dark);
        font-weight: 600;
        margin: 0 0 20px;
}
.cd-about__specs-title {
        margin: 0 0 12px;
        font-weight: 800;
        font-size: 0.95rem;
        letter-spacing: 0.02em;
        color: #1a1a1a;
}
.cd-about__specs {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 12px;
}
.cd-about__specs li {
        position: relative;
        padding: 14px 16px 14px 40px;
        background: #fff;
        border: 1px solid rgba(158, 197, 59, .22);
        border-radius: 12px;
        color: #444;
        line-height: 1.55;
        font-size: 0.95rem;
}
.cd-about__specs li::before {
        content: "";
        position: absolute;
        left: 14px;
        top: 1.15em;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--cd-green);
        box-shadow: 0 0 0 3px rgba(158, 197, 59, .25);
}
.cd-about__specs strong {
        color: #1a1a1a;
}
.cd-about__quote {
        margin: 0 0 22px;
        padding: 18px 20px;
        border-left: 3px solid var(--cd-green);
        background: #fff;
        border-radius: 0 12px 12px 0;
}
.cd-about__quote p {
        margin: 0 0 10px;
        font-size: 1.05rem;
        line-height: 1.55;
        font-style: italic;
}
.cd-about__quote footer {
        font-size: 0.85rem;
        color: #667;
        font-style: normal;
}
.cd-about__intro {
        max-width: 640px;
        color: #555;
        line-height: 1.65;
        margin: 0 0 32px;
}
.cd-about__timeline {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        gap: 22px;
}
.cd-about__timeline li {
        display: grid;
        grid-template-columns: 120px 1fr;
        gap: 20px;
        padding: 20px 22px;
        background: #fff;
        border-radius: 14px;
        border: 1px solid rgba(0,0,0,.06);
}
.cd-about__year {
        font-weight: 800;
        color: var(--cd-green-dark);
        font-size: 0.95rem;
        letter-spacing: 0.02em;
}
.cd-about__timeline p { margin: 6px 0 0; color: #555; line-height: 1.55; }

.cd-about__plant {
        background:
                radial-gradient(ellipse at 12% 0%, rgba(158, 197, 59, .2), transparent 52%),
                radial-gradient(ellipse at 92% 100%, rgba(109, 138, 34, .14), transparent 48%),
                linear-gradient(180deg, #f2f7e6 0%, #ffffff 45%, #eef5db 100%);
}
.cd-about__plant .cd-eyebrow { color: #4b660a; }

.cd-about__gallery {
        display: grid;
        grid-template-columns: 1.15fr 0.95fr 0.95fr 1.15fr;
        gap: 18px;
        margin-top: 8px;
}
.cd-about__gallery figure {
        margin: 0;
        border-radius: 18px;
        overflow: hidden;
        background: #111;
        position: relative;
        aspect-ratio: 4 / 3;
        border: 2px solid rgba(158, 197, 59, .3);
        box-shadow: 0 18px 40px rgba(15, 18, 12, .14);
        transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cd-about__gallery figure:hover {
        transform: translateY(-6px);
        border-color: #9ec53b;
        box-shadow: 0 26px 50px rgba(75, 102, 10, .22);
}
.cd-about__gallery img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-about__gallery figcaption {
        position: absolute;
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 10px 14px;
        border-radius: 999px;
        font-size: 0.8rem;
        font-weight: 700;
        text-align: center;
        color: #fff;
        background: linear-gradient(90deg, rgba(10,10,10,.9), rgba(75,102,10,.85));
        border: 1px solid rgba(158, 197, 59, .45);
        letter-spacing: .02em;
}

.cd-about__legal { padding-top: 24px; }
.cd-about__legal-card {
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        gap: 36px;
        background: #0a0a0a;
        color: #fff;
        border-radius: 22px;
        padding: 40px 36px;
        border: 2px solid rgba(158, 197, 59, .35);
        box-shadow: 0 24px 60px rgba(10,10,10,.2);
}
.cd-about__legal-card .cd-eyebrow { color: var(--cd-green); }
.cd-about__legal-card p { color: rgba(255,255,255,.7); line-height: 1.6; }
.cd-about__dl {
        margin: 0;
        display: grid;
        gap: 14px;
}
.cd-about__dl > div {
        display: grid;
        grid-template-columns: 140px 1fr;
        gap: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(158, 197, 59, .18);
}
.cd-about__dl dt {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #9ec53b;
        font-weight: 800;
}
.cd-about__dl dd { margin: 0; color: rgba(255,255,255,.9); font-weight: 600; line-height: 1.45; }
.cd-about__dl a { color: var(--cd-green); text-decoration: none; }
.cd-about__phones {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 14px;
        align-items: center;
}
.cd-about__wa {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 12px;
        border-radius: 999px;
        background: #25d366;
        color: #0a0a0a !important;
        font-size: 0.82rem;
        font-weight: 800;
}
.cd-about__wa:hover { filter: brightness(1.06); }

.cd-about__cta {
        padding: 56px 0 80px;
        text-align: center;
}
.cd-about__cta h2 { margin: 0 0 10px; }
.cd-about__cta p { color: #555; margin: 0 0 22px; }

@media (max-width: 900px) {
        .cd-about__founder-grid,
        .cd-about__legal-card,
        .cd-about__gallery { grid-template-columns: 1fr 1fr; }
        .cd-about__portrait { width: min(100%, 300px); }
        .cd-about__portrait--advisor { width: min(100%, 260px); }
        .cd-about__founder-grid--advisor { margin-top: 48px; padding-top: 40px; }
}
@media (max-width: 640px) {
        .cd-about__founder-grid,
        .cd-about__legal-card,
        .cd-about__gallery,
        .cd-about__timeline li,
        .cd-about__dl > div { grid-template-columns: 1fr; }
        .cd-about__legal-card { padding: 28px 22px; }
        .cd-about__portrait { width: min(100%, 260px); }
        .cd-about__portrait--advisor { width: min(100%, 220px); }
}

/* ============================================================
   MAQUILA A TERCEROS
   ============================================================ */
.cd-maquila { background: #f7f8f4; color: var(--cd-ink); }
.cd-maquila__hero {
        position: relative;
        min-height: clamp(480px, 72vh, 640px);
        display: flex;
        align-items: flex-end;
        color: #fff;
        overflow: hidden;
        background: #0f120c;
}
.cd-maquila__hero-media {
        position: absolute;
        inset: 0;
}
.cd-maquila__hero-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
}
.cd-maquila__hero-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
                linear-gradient(105deg, rgba(10,10,10,.88) 0%, rgba(10,10,10,.62) 48%, rgba(15,18,12,.35) 100%),
                linear-gradient(0deg, rgba(10,10,10,.55), transparent 45%);
}
.cd-maquila__hero-inner {
        position: relative;
        z-index: 1;
        padding: 72px 24px 56px;
        max-width: 780px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
}
.cd-maquila__title {
        font-family: var(--cd-serif);
        font-size: clamp(2.1rem, 4.4vw, 3.35rem);
        line-height: 1.12;
        letter-spacing: -0.02em;
        margin: 12px 0 18px;
}
.cd-maquila__lead {
        font-size: 1.08rem;
        line-height: 1.65;
        color: rgba(255,255,255,.82);
        margin: 0 0 28px;
        max-width: 640px;
}
.cd-maquila__lead strong { color: var(--cd-green); font-weight: 700; }
.cd-maquila__hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 28px;
}
.cd-maquila__chips {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        padding: 0;
        margin: 0;
}
.cd-maquila__chips li {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        border-radius: 999px;
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(158,197,59,.35);
        font-size: 0.84rem;
        color: rgba(255,255,255,.88);
}
.cd-maquila__chips img {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
        filter: brightness(0) invert(1);
}
.cd-maquila__chips strong { color: #fff; font-weight: 700; }

.cd-maquila__promise { padding: 56px 0; background: #fff; }
.cd-maquila__promise-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
}
.cd-maquila__promise-grid article {
        padding: 28px 24px;
        border-radius: 18px;
        background: linear-gradient(165deg, #f8faea 0%, #fff 55%);
        border: 1px solid rgba(158,197,59,.28);
        box-shadow: 0 14px 36px rgba(15,18,12,.06);
}
.cd-maquila__num {
        display: inline-block;
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: .12em;
        color: var(--cd-green-dark);
        margin-bottom: 12px;
}
.cd-maquila__promise-grid h2 {
        font-size: 1.35rem;
        margin: 0 0 10px;
        letter-spacing: -0.01em;
}
.cd-maquila__promise-grid p {
        margin: 0;
        color: var(--cd-muted);
        line-height: 1.55;
        font-size: 0.95rem;
}

.cd-maquila__formats { padding: 72px 0 40px; }
.cd-maquila__section-hdr {
        max-width: 640px;
        margin-bottom: 40px;
}
.cd-maquila__section-hdr h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.7rem, 3vw, 2.35rem);
        margin: 10px 0 12px;
        letter-spacing: -0.02em;
}
.cd-maquila__section-hdr p:last-child {
        margin: 0;
        color: var(--cd-muted);
        line-height: 1.6;
}
.cd-maquila__section-hdr--light h2 { color: #fff; }
.cd-maquila__section-hdr--light p:last-child { color: rgba(255,255,255,.7); }

.cd-maquila__format-card {
        display: grid;
        grid-template-columns: 1.05fr 1fr;
        gap: 36px;
        align-items: center;
        margin-bottom: 48px;
        padding: 22px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.22);
        box-shadow: 0 18px 44px rgba(15,18,12,.07);
}
.cd-maquila__format-card--reverse { direction: rtl; }
.cd-maquila__format-card--reverse > * { direction: ltr; }
.cd-maquila__format-media {
        margin: 0;
        border-radius: 16px;
        overflow: hidden;
        aspect-ratio: 4 / 3;
        background: #111;
}
.cd-maquila__format-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-maquila__format-icon {
        width: 56px;
        height: 56px;
        display: grid;
        place-items: center;
        border-radius: 14px;
        background: var(--cd-soft);
        border: 1px solid rgba(158,197,59,.35);
        margin-bottom: 14px;
}
.cd-maquila__format-icon img { width: 36px; height: 36px; }
.cd-maquila__badge {
        display: inline-block;
        margin: 0 0 8px;
        padding: 4px 10px;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--cd-green-dark);
        background: rgba(158,197,59,.18);
}
.cd-maquila__format-body h3 {
        font-size: clamp(1.25rem, 2vw, 1.55rem);
        margin: 0 0 10px;
        letter-spacing: -0.015em;
}
.cd-maquila__format-body > p {
        margin: 0 0 16px;
        color: var(--cd-muted);
        line-height: 1.55;
}
.cd-maquila__format-body ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
}
.cd-maquila__format-body li {
        position: relative;
        padding: 12px 14px 12px 28px;
        border-radius: 12px;
        background: #f7f8f4;
        border: 1px solid rgba(0,0,0,.04);
        font-size: 0.92rem;
        line-height: 1.5;
        color: #444;
}
.cd-maquila__format-body li::before {
        content: "";
        position: absolute;
        left: 12px;
        top: 1.15em;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--cd-green);
}
.cd-maquila__format-body strong { color: var(--cd-ink); }

.cd-maquila__process {
        padding: 72px 0;
        background:
                radial-gradient(ellipse at 20% 0%, rgba(158,197,59,.18), transparent 50%),
                linear-gradient(165deg, #12160f 0%, #0a0a0a 100%);
        color: #fff;
}
.cd-maquila__steps {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
}
.cd-maquila__steps li {
        padding: 24px 20px;
        border-radius: 18px;
        background: rgba(255,255,255,.04);
        border: 1px solid rgba(158,197,59,.28);
}
.cd-maquila__step-n {
        display: inline-grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        margin-bottom: 14px;
        font-size: 0.85rem;
        font-weight: 800;
        color: var(--cd-dark);
        background: var(--cd-green);
}
.cd-maquila__steps strong {
        display: block;
        font-size: 1.05rem;
        margin-bottom: 8px;
}
.cd-maquila__steps p {
        margin: 0;
        color: rgba(255,255,255,.68);
        font-size: 0.9rem;
        line-height: 1.5;
}

.cd-maquila__why { padding: 72px 0; background: #fff; }
.cd-maquila__why-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 18px;
}
.cd-maquila__why-grid article {
        padding: 24px 20px;
        border-radius: 18px;
        border: 1px solid var(--cd-border);
        background: linear-gradient(180deg, #fff 0%, #f8faea 100%);
        transition: transform .25s var(--cd-ease), box-shadow .25s var(--cd-ease), border-color .25s;
}
.cd-maquila__why-grid article:hover {
        transform: translateY(-4px);
        border-color: rgba(158,197,59,.45);
        box-shadow: 0 18px 40px rgba(15,18,12,.08);
}
.cd-maquila__why-grid img { margin-bottom: 14px; }
.cd-maquila__why-grid h3 {
        font-size: 1.05rem;
        margin: 0 0 8px;
}
.cd-maquila__why-grid p {
        margin: 0;
        color: var(--cd-muted);
        font-size: 0.9rem;
        line-height: 1.5;
}

.cd-maquila__cta { padding: 24px 0 80px; }
.cd-maquila__cta-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        padding: 40px 36px;
        border-radius: 22px;
        background: linear-gradient(135deg, #0f120c 0%, #1a2414 55%, #24301a 100%);
        color: #fff;
        border: 2px solid rgba(158,197,59,.35);
        box-shadow: 0 24px 60px rgba(10,10,10,.2);
}
.cd-maquila__cta-card h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.5rem, 2.5vw, 2rem);
        margin: 8px 0 10px;
}
.cd-maquila__cta-card p { margin: 0; color: rgba(255,255,255,.72); max-width: 480px; }
.cd-maquila__cta-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

@media (max-width: 980px) {
        .cd-maquila__promise-grid,
        .cd-maquila__steps,
        .cd-maquila__why-grid { grid-template-columns: 1fr 1fr; }
        .cd-maquila__format-card,
        .cd-maquila__format-card--reverse {
                grid-template-columns: 1fr;
                direction: ltr;
        }
}
@media (max-width: 640px) {
        .cd-maquila__hero-inner { padding: 56px 20px 40px; }
        .cd-maquila__promise-grid,
        .cd-maquila__steps,
        .cd-maquila__why-grid { grid-template-columns: 1fr; }
        .cd-maquila__cta-card { padding: 28px 22px; }
        .cd-maquila__format-card { padding: 14px; margin-bottom: 28px; }
}

/* ============================================================
   MARCA BLANCA / PRIVATE LABEL
   ============================================================ */
.cd-mb { background: #f7f8f4; color: var(--cd-ink); }
.cd-mb__hero {
        position: relative;
        min-height: clamp(460px, 68vh, 600px);
        display: flex;
        align-items: flex-end;
        color: #fff;
        overflow: hidden;
        background: #0f120c;
}
.cd-mb__hero-media { position: absolute; inset: 0; }
.cd-mb__hero-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-mb__hero-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
                linear-gradient(110deg, rgba(10,10,10,.9) 0%, rgba(10,10,10,.55) 50%, rgba(15,18,12,.3) 100%),
                linear-gradient(0deg, rgba(10,10,10,.5), transparent 42%);
}
.cd-mb__hero-inner {
        position: relative;
        z-index: 1;
        padding: 72px 24px 56px;
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
}
.cd-mb__title {
        font-family: var(--cd-serif);
        font-size: clamp(2rem, 4.2vw, 3.2rem);
        line-height: 1.12;
        letter-spacing: -0.02em;
        margin: 12px 0 18px;
}
.cd-mb__lead {
        font-size: 1.08rem;
        line-height: 1.65;
        color: rgba(255,255,255,.84);
        margin: 0 0 28px;
        max-width: 620px;
}
.cd-mb__lead strong { color: var(--cd-green); }
.cd-mb__hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

.cd-mb__pillars { padding: 56px 0; background: #fff; }
.cd-mb__pillars-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
}
.cd-mb__pillars-grid article {
        padding: 28px 24px;
        border-radius: 18px;
        background: linear-gradient(165deg, #f8faea 0%, #fff 60%);
        border: 1px solid rgba(158,197,59,.28);
        box-shadow: 0 14px 36px rgba(15,18,12,.06);
}
.cd-mb__pillar-ico {
        width: 52px;
        height: 52px;
        display: grid;
        place-items: center;
        border-radius: 14px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.35);
        margin-bottom: 16px;
}
.cd-mb__pillar-ico img { width: 32px; height: 32px; }
.cd-mb__pillars-grid h2 {
        font-size: 1.2rem;
        margin: 0 0 10px;
        letter-spacing: -0.01em;
}
.cd-mb__pillars-grid p {
        margin: 0;
        color: var(--cd-muted);
        font-size: 0.95rem;
        line-height: 1.55;
}

.cd-mb__categories { padding: 64px 0; }
.cd-mb__hdr {
        max-width: 640px;
        margin-bottom: 36px;
}
.cd-mb__hdr h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.7rem, 3vw, 2.3rem);
        margin: 10px 0 12px;
        letter-spacing: -0.02em;
}
.cd-mb__hdr p:last-child {
        margin: 0;
        color: var(--cd-muted);
        line-height: 1.6;
}
.cd-mb__hdr--light h2 { color: #fff; }
.cd-mb__hdr--light p:last-child { color: rgba(255,255,255,.7); }

.cd-mb__cat-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 16px;
}
.cd-mb__cat {
        margin: 0;
        border-radius: 18px;
        overflow: hidden;
        background: #fff;
        border: 1px solid rgba(158,197,59,.22);
        box-shadow: 0 12px 32px rgba(15,18,12,.06);
        transition: transform .25s var(--cd-ease), box-shadow .25s;
}
.cd-mb__cat:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 44px rgba(15,18,12,.12);
}
.cd-mb__cat img {
        width: 100%;
        aspect-ratio: 1;
        object-fit: cover;
        display: block;
        background: var(--cd-soft);
}
.cd-mb__cat div { padding: 16px 14px 18px; }
.cd-mb__cat h3 {
        margin: 0 0 6px;
        font-size: 1.05rem;
}
.cd-mb__cat p {
        margin: 0;
        font-size: 0.84rem;
        color: var(--cd-muted);
        line-height: 1.45;
}

.cd-mb__branding { padding: 24px 0 64px; }
.cd-mb__branding-grid {
        display: grid;
        grid-template-columns: 1.05fr 1fr;
        gap: 40px;
        align-items: center;
        padding: 24px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.22);
        box-shadow: 0 18px 44px rgba(15,18,12,.07);
}
.cd-mb__branding-media {
        margin: 0;
        border-radius: 16px;
        overflow: hidden;
        aspect-ratio: 4 / 3;
        background: #111;
}
.cd-mb__branding-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-mb__branding h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.5rem, 2.5vw, 2rem);
        margin: 10px 0 12px;
}
.cd-mb__branding > div > p {
        color: var(--cd-muted);
        line-height: 1.6;
        margin: 0 0 18px;
}
.cd-mb__checks {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
}
.cd-mb__checks li {
        position: relative;
        padding: 12px 14px 12px 34px;
        border-radius: 12px;
        background: #f7f8f4;
        font-size: 0.94rem;
        line-height: 1.45;
}
.cd-mb__checks li::before {
        content: "";
        position: absolute;
        left: 14px;
        top: 1.15em;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--cd-green);
}

.cd-mb__trace {
        padding: 64px 0;
        background:
                radial-gradient(ellipse at 80% 0%, rgba(158,197,59,.16), transparent 50%),
                linear-gradient(165deg, #12160f 0%, #0a0a0a 100%);
        color: #fff;
}
.cd-mb__trace-grid {
        display: grid;
        grid-template-columns: 1.1fr 0.9fr;
        gap: 36px;
        align-items: center;
}
.cd-mb__trace h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.6rem, 2.8vw, 2.2rem);
        margin: 10px 0 14px;
}
.cd-mb__trace > div > p {
        color: rgba(255,255,255,.72);
        line-height: 1.6;
        margin: 0 0 24px;
        max-width: 520px;
}
.cd-mb__trace-list {
        display: grid;
        gap: 14px;
}
.cd-mb__trace-list > div {
        display: grid;
        grid-template-columns: 40px 1fr;
        grid-template-rows: auto auto;
        column-gap: 12px;
        padding: 16px 18px;
        border-radius: 14px;
        background: rgba(255,255,255,.04);
        border: 1px solid rgba(158,197,59,.28);
}
.cd-mb__trace-list img {
        grid-row: 1 / span 2;
        align-self: center;
        filter: brightness(0) invert(1);
}
.cd-mb__trace-list strong { font-size: 0.98rem; }
.cd-mb__trace-list span {
        color: rgba(255,255,255,.65);
        font-size: 0.86rem;
        margin-top: 4px;
}
.cd-mb__trace-media {
        margin: 0;
        border-radius: 18px;
        overflow: hidden;
        aspect-ratio: 4 / 3;
        border: 2px solid rgba(158,197,59,.3);
}
.cd-mb__trace-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}

.cd-mb__catalog { padding: 72px 0; background: #fff; }
.cd-mb__pack-grid {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 14px;
        margin-bottom: 32px;
}
.cd-mb__pack-grid figure {
        margin: 0;
        border-radius: 16px;
        overflow: hidden;
        background: var(--cd-soft);
        border: 1px solid rgba(158,197,59,.22);
        text-align: center;
        transition: transform .25s var(--cd-ease), border-color .25s;
}
.cd-mb__pack-grid figure:hover {
        transform: translateY(-4px);
        border-color: var(--cd-green);
}
.cd-mb__pack-grid img {
        width: 100%;
        aspect-ratio: 1;
        object-fit: contain;
        display: block;
        padding: 10px;
}
.cd-mb__pack-grid figcaption {
        padding: 0 8px 14px;
        font-size: 0.82rem;
        font-weight: 700;
        color: var(--cd-ink);
}
.cd-mb__catalog-cta {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        justify-content: center;
}
.cd-mb__catalog-cta .cd-btn img {
        width: 18px;
        height: 18px;
}

.cd-mb__steps {
        padding: 64px 0;
        background: linear-gradient(165deg, #0f120c 0%, #1a2414 100%);
        color: #fff;
}
.cd-mb__step-grid {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
}
.cd-mb__step-grid li {
        padding: 22px 18px;
        border-radius: 16px;
        background: rgba(255,255,255,.04);
        border: 1px solid rgba(158,197,59,.28);
}
.cd-mb__step-grid span {
        display: inline-grid;
        place-items: center;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        margin-bottom: 12px;
        font-weight: 800;
        font-size: 0.85rem;
        color: var(--cd-dark);
        background: var(--cd-green);
}
.cd-mb__step-grid strong {
        display: block;
        margin-bottom: 8px;
        font-size: 1.02rem;
}
.cd-mb__step-grid p {
        margin: 0;
        color: rgba(255,255,255,.68);
        font-size: 0.88rem;
        line-height: 1.5;
}

.cd-mb__cta { padding: 24px 0 80px; }
.cd-mb__cta-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        padding: 40px 36px;
        border-radius: 22px;
        background: linear-gradient(135deg, #0f120c 0%, #1a2414 55%, #24301a 100%);
        color: #fff;
        border: 2px solid rgba(158,197,59,.35);
        box-shadow: 0 24px 60px rgba(10,10,10,.2);
}
.cd-mb__cta-card h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.45rem, 2.4vw, 1.95rem);
        margin: 8px 0 10px;
}
.cd-mb__cta-card p {
        margin: 0;
        color: rgba(255,255,255,.72);
        max-width: 480px;
}
.cd-mb__cta-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

@media (max-width: 1100px) {
        .cd-mb__cat-grid { grid-template-columns: repeat(3, 1fr); }
        .cd-mb__pack-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
        .cd-mb__pillars-grid,
        .cd-mb__branding-grid,
        .cd-mb__trace-grid,
        .cd-mb__step-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
        .cd-mb__hero-inner { padding: 56px 20px 40px; }
        .cd-mb__pillars-grid,
        .cd-mb__cat-grid,
        .cd-mb__branding-grid,
        .cd-mb__trace-grid,
        .cd-mb__pack-grid,
        .cd-mb__step-grid { grid-template-columns: 1fr; }
        .cd-mb__cat-grid { grid-template-columns: 1fr 1fr; }
        .cd-mb__pack-grid { grid-template-columns: 1fr 1fr; }
        .cd-mb__cta-card { padding: 28px 22px; }
        .cd-mb__branding-grid { padding: 14px; }
}

/* ============================================================
   FÓRMULAS A MEDIDA / I+D
   ============================================================ */
.cd-rd { background: #f7f8f4; color: var(--cd-ink); }
.cd-rd__hero {
        position: relative;
        min-height: clamp(460px, 68vh, 600px);
        display: flex;
        align-items: flex-end;
        color: #fff;
        overflow: hidden;
        background: #0f120c;
}
.cd-rd__hero-media { position: absolute; inset: 0; }
.cd-rd__hero-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-rd__hero-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
                linear-gradient(110deg, rgba(10,10,10,.9) 0%, rgba(10,10,10,.55) 52%, rgba(15,18,12,.28) 100%),
                linear-gradient(0deg, rgba(10,10,10,.5), transparent 42%);
}
.cd-rd__hero-inner {
        position: relative;
        z-index: 1;
        padding: 72px 24px 56px;
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
}
.cd-rd__title {
        font-family: var(--cd-serif);
        font-size: clamp(2rem, 4.2vw, 3.2rem);
        line-height: 1.12;
        letter-spacing: -0.02em;
        margin: 12px 0 18px;
}
.cd-rd__lead {
        font-size: 1.08rem;
        line-height: 1.65;
        color: rgba(255,255,255,.84);
        margin: 0 0 28px;
        max-width: 640px;
}
.cd-rd__lead strong { color: var(--cd-green); }
.cd-rd__hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

.cd-rd__pillars { padding: 56px 0; background: #fff; }
.cd-rd__pillars-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
}
.cd-rd__pillars-grid article {
        padding: 28px 24px;
        border-radius: 18px;
        background: linear-gradient(165deg, #f8faea 0%, #fff 60%);
        border: 1px solid rgba(158,197,59,.28);
        box-shadow: 0 14px 36px rgba(15,18,12,.06);
}
.cd-rd__pillar-ico {
        width: 52px;
        height: 52px;
        display: grid;
        place-items: center;
        border-radius: 14px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.35);
        margin-bottom: 16px;
}
.cd-rd__pillar-ico img { width: 32px; height: 32px; }
.cd-rd__pillars-grid h2 {
        font-size: 1.15rem;
        margin: 0 0 10px;
        letter-spacing: -0.01em;
}
.cd-rd__pillars-grid p {
        margin: 0;
        color: var(--cd-muted);
        font-size: 0.94rem;
        line-height: 1.55;
}

.cd-rd__features { padding: 64px 0 40px; }
.cd-rd__hdr {
        max-width: 640px;
        margin-bottom: 36px;
}
.cd-rd__hdr h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.7rem, 3vw, 2.3rem);
        margin: 10px 0 12px;
        letter-spacing: -0.02em;
}
.cd-rd__hdr p:last-child {
        margin: 0;
        color: var(--cd-muted);
        line-height: 1.6;
}
.cd-rd__hdr--light h2 { color: #fff; }
.cd-rd__hdr--light p:last-child { color: rgba(255,255,255,.7); }

.cd-rd__feature {
        display: grid;
        grid-template-columns: 1.05fr 1fr;
        gap: 36px;
        align-items: center;
        margin-bottom: 40px;
        padding: 22px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.22);
        box-shadow: 0 18px 44px rgba(15,18,12,.07);
}
.cd-rd__feature--rev { direction: rtl; }
.cd-rd__feature--rev > * { direction: ltr; }
.cd-rd__feature figure {
        margin: 0;
        border-radius: 16px;
        overflow: hidden;
        aspect-ratio: 4 / 3;
        background: #111;
}
.cd-rd__feature figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-rd__feature-ico {
        width: 48px;
        height: 48px;
        display: grid;
        place-items: center;
        border-radius: 12px;
        background: var(--cd-soft);
        border: 1px solid rgba(158,197,59,.35);
        margin-bottom: 12px;
}
.cd-rd__feature-ico img { width: 28px; height: 28px; }
.cd-rd__badge {
        display: inline-block;
        margin: 0 0 8px;
        padding: 4px 10px;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--cd-green-dark);
        background: rgba(158,197,59,.18);
}
.cd-rd__feature h3 {
        font-size: clamp(1.25rem, 2vw, 1.55rem);
        margin: 0 0 10px;
}
.cd-rd__feature > div > p {
        margin: 0 0 16px;
        color: var(--cd-muted);
        line-height: 1.55;
}
.cd-rd__feature ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
}
.cd-rd__feature li {
        position: relative;
        padding: 12px 14px 12px 28px;
        border-radius: 12px;
        background: #f7f8f4;
        font-size: 0.92rem;
        line-height: 1.5;
        color: #444;
}
.cd-rd__feature li::before {
        content: "";
        position: absolute;
        left: 12px;
        top: 1.15em;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--cd-green);
}

.cd-rd__process {
        padding: 72px 0;
        background:
                radial-gradient(ellipse at 18% 0%, rgba(158,197,59,.18), transparent 50%),
                linear-gradient(165deg, #12160f 0%, #0a0a0a 100%);
        color: #fff;
}
.cd-rd__steps {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 12px;
}
.cd-rd__steps li {
        padding: 22px 16px;
        border-radius: 16px;
        background: rgba(255,255,255,.04);
        border: 1px solid rgba(158,197,59,.28);
}
.cd-rd__steps span {
        display: inline-grid;
        place-items: center;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        margin-bottom: 12px;
        font-weight: 800;
        font-size: 0.85rem;
        color: var(--cd-dark);
        background: var(--cd-green);
}
.cd-rd__steps strong {
        display: block;
        margin-bottom: 8px;
        font-size: 1rem;
}
.cd-rd__steps p {
        margin: 0;
        color: rgba(255,255,255,.68);
        font-size: 0.86rem;
        line-height: 1.5;
}

.cd-rd__deliver { padding: 72px 0; background: #fff; }
.cd-rd__deliver-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
}
.cd-rd__deliver-grid article {
        padding: 24px 20px;
        border-radius: 18px;
        border: 1px solid var(--cd-border);
        background: linear-gradient(180deg, #fff 0%, #f8faea 100%);
        transition: transform .25s var(--cd-ease), box-shadow .25s, border-color .25s;
}
.cd-rd__deliver-grid article:hover {
        transform: translateY(-4px);
        border-color: rgba(158,197,59,.45);
        box-shadow: 0 18px 40px rgba(15,18,12,.08);
}
.cd-rd__deliver-grid img { margin-bottom: 14px; }
.cd-rd__deliver-grid h3 {
        font-size: 1.05rem;
        margin: 0 0 8px;
}
.cd-rd__deliver-grid p {
        margin: 0;
        color: var(--cd-muted);
        font-size: 0.9rem;
        line-height: 1.5;
}

.cd-rd__cta { padding: 24px 0 80px; }
.cd-rd__cta-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        padding: 40px 36px;
        border-radius: 22px;
        background: linear-gradient(135deg, #0f120c 0%, #1a2414 55%, #24301a 100%);
        color: #fff;
        border: 2px solid rgba(158,197,59,.35);
        box-shadow: 0 24px 60px rgba(10,10,10,.2);
}
.cd-rd__cta-card h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.45rem, 2.4vw, 1.95rem);
        margin: 8px 0 10px;
}
.cd-rd__cta-card p {
        margin: 0;
        color: rgba(255,255,255,.72);
        max-width: 500px;
}
.cd-rd__cta-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

@media (max-width: 1100px) {
        .cd-rd__steps { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
        .cd-rd__pillars-grid,
        .cd-rd__deliver-grid { grid-template-columns: 1fr 1fr; }
        .cd-rd__feature,
        .cd-rd__feature--rev {
                grid-template-columns: 1fr;
                direction: ltr;
        }
}
@media (max-width: 640px) {
        .cd-rd__hero-inner { padding: 56px 20px 40px; }
        .cd-rd__pillars-grid,
        .cd-rd__steps,
        .cd-rd__deliver-grid { grid-template-columns: 1fr; }
        .cd-rd__cta-card { padding: 28px 22px; }
        .cd-rd__feature { padding: 14px; margin-bottom: 28px; }
}

/* ============================================================
   PIDE EN FARMACIA / CANAL FARMACIA
   ============================================================ */
.cd-far { background: #f7f8f4; color: var(--cd-ink); }
.cd-far__hero {
        position: relative;
        min-height: clamp(460px, 68vh, 600px);
        display: flex;
        align-items: flex-end;
        color: #fff;
        overflow: hidden;
        background: #0f120c;
}
.cd-far__hero-media { position: absolute; inset: 0; }
.cd-far__hero-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-far__hero-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
                linear-gradient(110deg, rgba(10,10,10,.9) 0%, rgba(10,10,10,.55) 50%, rgba(15,18,12,.28) 100%),
                linear-gradient(0deg, rgba(10,10,10,.5), transparent 42%);
}
.cd-far__hero-inner {
        position: relative;
        z-index: 1;
        padding: 72px 24px 56px;
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
}
.cd-far__title {
        font-family: var(--cd-serif);
        font-size: clamp(2rem, 4.2vw, 3.2rem);
        line-height: 1.12;
        letter-spacing: -0.02em;
        margin: 12px 0 18px;
}
.cd-far__lead {
        font-size: 1.08rem;
        line-height: 1.65;
        color: rgba(255,255,255,.84);
        margin: 0 0 28px;
        max-width: 620px;
}
.cd-far__lead strong { color: var(--cd-green); }
.cd-far__hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

.cd-far__pillars { padding: 56px 0; background: #fff; }
.cd-far__pillars-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
}
.cd-far__pillars-grid article {
        padding: 28px 24px;
        border-radius: 18px;
        background: linear-gradient(165deg, #f8faea 0%, #fff 60%);
        border: 1px solid rgba(158,197,59,.28);
        box-shadow: 0 14px 36px rgba(15,18,12,.06);
}
.cd-far__pillar-ico {
        width: 52px;
        height: 52px;
        display: grid;
        place-items: center;
        border-radius: 14px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.35);
        margin-bottom: 16px;
}
.cd-far__pillar-ico img { width: 32px; height: 32px; }
.cd-far__pillars-grid h2 {
        font-size: 1.15rem;
        margin: 0 0 10px;
}
.cd-far__pillars-grid p {
        margin: 0;
        color: var(--cd-muted);
        font-size: 0.94rem;
        line-height: 1.55;
}

.cd-far__features { padding: 64px 0 40px; }
.cd-far__hdr {
        max-width: 640px;
        margin-bottom: 36px;
}
.cd-far__hdr h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.7rem, 3vw, 2.3rem);
        margin: 10px 0 12px;
        letter-spacing: -0.02em;
}
.cd-far__hdr p:last-child {
        margin: 0;
        color: var(--cd-muted);
        line-height: 1.6;
}

.cd-far__feature {
        display: grid;
        grid-template-columns: 1.05fr 1fr;
        gap: 36px;
        align-items: center;
        margin-bottom: 40px;
        padding: 22px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.22);
        box-shadow: 0 18px 44px rgba(15,18,12,.07);
}
.cd-far__feature--rev { direction: rtl; }
.cd-far__feature--rev > * { direction: ltr; }
.cd-far__feature figure {
        margin: 0;
        border-radius: 16px;
        overflow: hidden;
        aspect-ratio: 4 / 3;
        background: #111;
}
.cd-far__feature figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-far__feature-ico {
        width: 48px;
        height: 48px;
        display: grid;
        place-items: center;
        border-radius: 12px;
        background: var(--cd-soft);
        border: 1px solid rgba(158,197,59,.35);
        margin-bottom: 12px;
}
.cd-far__feature-ico img { width: 28px; height: 28px; }
.cd-far__badge {
        display: inline-block;
        margin: 0 0 8px;
        padding: 4px 10px;
        border-radius: 999px;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: var(--cd-green-dark);
        background: rgba(158,197,59,.18);
}
.cd-far__feature h3 {
        font-size: clamp(1.25rem, 2vw, 1.55rem);
        margin: 0 0 10px;
}
.cd-far__feature > div > p {
        margin: 0 0 16px;
        color: var(--cd-muted);
        line-height: 1.55;
}
.cd-far__feature ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
}
.cd-far__feature li {
        position: relative;
        padding: 12px 14px 12px 28px;
        border-radius: 12px;
        background: #f7f8f4;
        font-size: 0.92rem;
        line-height: 1.5;
        color: #444;
}
.cd-far__feature li::before {
        content: "";
        position: absolute;
        left: 12px;
        top: 1.15em;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--cd-green);
}

.cd-far__markets { padding: 24px 0 64px; }
.cd-far__markets-card {
        display: grid;
        grid-template-columns: 1.2fr 0.8fr;
        gap: 28px;
        align-items: center;
        padding: 36px;
        border-radius: 22px;
        background: linear-gradient(135deg, #0f120c 0%, #1a2414 100%);
        color: #fff;
        border: 2px solid rgba(158,197,59,.35);
}
.cd-far__markets-card img {
        filter: brightness(0) invert(1);
        margin-bottom: 12px;
}
.cd-far__markets-card h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.5rem, 2.5vw, 2rem);
        margin: 8px 0 12px;
}
.cd-far__markets-card p {
        margin: 0;
        color: rgba(255,255,255,.72);
        line-height: 1.6;
}
.cd-far__markets-card ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 12px;
}
.cd-far__markets-card li {
        padding: 14px 16px;
        border-radius: 12px;
        background: rgba(255,255,255,.05);
        border: 1px solid rgba(158,197,59,.28);
        font-size: 0.95rem;
}
.cd-far__markets-card strong { color: var(--cd-green); margin-right: 8px; }

.cd-far__tools { padding: 64px 0; background: #fff; }
.cd-far__ficha-wrap {
        max-width: 720px;
        margin: 0 auto;
}
.cd-far__ficha-wrap .comdiet-ficha {
        background: #f7f8f4;
        border: 1px solid rgba(158,197,59,.3);
        border-radius: 18px;
        padding: 28px;
        box-shadow: 0 16px 40px rgba(15,18,12,.06);
}

.cd-far__activate { padding: 64px 0 40px; }
.cd-far__form-wrap {
        max-width: 680px;
        margin: 0 auto 28px;
        padding: 28px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.22);
        box-shadow: 0 18px 44px rgba(15,18,12,.07);
}
.cd-far__form-wrap .comdiet-registro-b2b { max-width: none !important; }
.cd-far__form-wrap .cd-btn-dark,
.cd-far__form-wrap .cd-btn {
        background: var(--cd-dark);
        color: #fff !important;
        border-radius: 999px;
        padding: 14px 24px;
        border: none;
        font-weight: 700;
        cursor: pointer;
}
.cd-far__alt-cta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 12px 16px;
        text-align: center;
}
.cd-far__alt-cta span {
        width: 100%;
        font-weight: 600;
        color: var(--cd-muted);
        font-size: 0.95rem;
}

.cd-far__cta { padding: 24px 0 80px; }
.cd-far__cta-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        padding: 40px 36px;
        border-radius: 22px;
        background: linear-gradient(135deg, #0f120c 0%, #1a2414 55%, #24301a 100%);
        color: #fff;
        border: 2px solid rgba(158,197,59,.35);
        box-shadow: 0 24px 60px rgba(10,10,10,.2);
}
.cd-far__cta-card h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.45rem, 2.4vw, 1.95rem);
        margin: 8px 0 10px;
}
.cd-far__cta-card p {
        margin: 0;
        color: rgba(255,255,255,.72);
        max-width: 500px;
}
.cd-far__cta-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

@media (max-width: 900px) {
        .cd-far__pillars-grid,
        .cd-far__markets-card { grid-template-columns: 1fr; }
        .cd-far__feature,
        .cd-far__feature--rev {
                grid-template-columns: 1fr;
                direction: ltr;
        }
}
@media (max-width: 640px) {
        .cd-far__hero-inner { padding: 56px 20px 40px; }
        .cd-far__pillars-grid { grid-template-columns: 1fr; }
        .cd-far__cta-card,
        .cd-far__markets-card,
        .cd-far__form-wrap { padding: 28px 22px; }
        .cd-far__feature { padding: 14px; margin-bottom: 28px; }
}

/* ============================================================
   PORTAL B2B / REGISTRO
   ============================================================ */
.cd-b2b { background: #f7f8f4; color: var(--cd-ink); }
.cd-b2b__hero {
        position: relative;
        min-height: clamp(440px, 64vh, 580px);
        display: flex;
        align-items: flex-end;
        color: #fff;
        overflow: hidden;
        background: #0f120c;
}
.cd-b2b__hero-media { position: absolute; inset: 0; }
.cd-b2b__hero-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
}
.cd-b2b__hero-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
                linear-gradient(110deg, rgba(10,10,10,.92) 0%, rgba(10,10,10,.58) 52%, rgba(15,18,12,.3) 100%),
                linear-gradient(0deg, rgba(10,10,10,.5), transparent 42%);
}
.cd-b2b__hero-inner {
        position: relative;
        z-index: 1;
        padding: 72px 24px 56px;
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
}
.cd-b2b__title {
        font-family: var(--cd-serif);
        font-size: clamp(2rem, 4.2vw, 3.1rem);
        line-height: 1.12;
        letter-spacing: -0.02em;
        margin: 12px 0 18px;
}
.cd-b2b__lead {
        font-size: 1.08rem;
        line-height: 1.65;
        color: rgba(255,255,255,.84);
        margin: 0 0 28px;
        max-width: 620px;
}
.cd-b2b__hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

.cd-b2b__pillars { padding: 56px 0; background: #fff; }
.cd-b2b__pillars-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
}
.cd-b2b__pillars-grid article {
        padding: 28px 24px;
        border-radius: 18px;
        background: linear-gradient(165deg, #f8faea 0%, #fff 60%);
        border: 1px solid rgba(158,197,59,.28);
        box-shadow: 0 14px 36px rgba(15,18,12,.06);
}
.cd-b2b__pillar-ico {
        width: 52px;
        height: 52px;
        display: grid;
        place-items: center;
        border-radius: 14px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.35);
        margin-bottom: 16px;
}
.cd-b2b__pillar-ico img { width: 32px; height: 32px; }
.cd-b2b__pillars-grid h2 {
        font-size: 1.12rem;
        margin: 0 0 10px;
}
.cd-b2b__pillars-grid p {
        margin: 0;
        color: var(--cd-muted);
        font-size: 0.94rem;
        line-height: 1.55;
}

.cd-b2b__register { padding: 64px 0 40px; }
.cd-b2b__hdr {
        max-width: 680px;
        margin: 0 auto 32px;
        text-align: center;
}
.cd-b2b__hdr h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.7rem, 3vw, 2.3rem);
        margin: 10px 0 12px;
}
.cd-b2b__hdr p {
        margin: 0;
        color: var(--cd-muted);
        line-height: 1.6;
}

.cd-b2b__form {
        max-width: 860px;
        margin: 0 auto;
        padding: 32px;
        border-radius: 22px;
        background: #fff;
        border: 1px solid rgba(158,197,59,.25);
        box-shadow: 0 20px 50px rgba(15,18,12,.08);
}
.cd-b2b__form-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
}
.cd-b2b__field--full { grid-column: 1 / -1; }
.cd-b2b__field label {
        display: block;
        font-size: 0.82rem;
        font-weight: 700;
        margin-bottom: 6px;
}
.cd-b2b__field .required,
.cd-b2b__privacy .required { color: #c45c1a; }
.cd-b2b__field input,
.cd-b2b__field select {
        width: 100%;
        padding: 12px 14px;
        border: 1.5px solid var(--cd-border);
        border-radius: 10px;
        font-family: var(--cd-font);
        font-size: 0.95rem;
        background: #fff;
}
.cd-b2b__field input[type="file"] {
        padding: 10px;
        background: #f7f8f4;
}
.cd-b2b__field input:focus,
.cd-b2b__field select:focus {
        outline: none;
        border-color: var(--cd-green);
        box-shadow: 0 0 0 3px rgba(158,197,59,.2);
}
.cd-b2b__field.is-invalid input,
.cd-b2b__field.is-invalid select,
.cd-b2b__field input.is-invalid,
.cd-b2b__field select.is-invalid {
        border-color: #d96f2c !important;
        box-shadow: 0 0 0 3px rgba(217,111,44,.18);
        background: #fffaf5;
}
.cd-b2b__field.is-invalid input[type="file"] {
        border: 1.5px solid #d96f2c;
        border-radius: 10px;
        padding: 8px;
        background: #fffaf5;
}
.cd-b2b__field-error {
        display: block;
        margin-top: 6px;
        color: #a34412;
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1.35;
}
.cd-b2b__field-error[hidden] {
        display: none !important;
}
.cd-b2b__privacy.is-invalid {
        padding: 10px 12px;
        border-radius: 10px;
        border: 1.5px solid #d96f2c;
        background: #fffaf5;
}
.cd-b2b__hint {
        display: block;
        margin-top: 8px;
        font-size: 0.8rem;
        color: var(--cd-muted);
        line-height: 1.45;
}
.cd-b2b__privacy {
        display: flex;
        gap: 10px;
        align-items: flex-start;
        margin: 20px 0 16px;
        font-size: 0.88rem;
        color: #444;
        line-height: 1.45;
}
.cd-b2b__privacy input { margin-top: 3px; }
.cd-b2b__privacy a { color: var(--cd-green-dark); }
.cd-b2b__error {
        margin-bottom: 14px;
        padding: 12px 14px;
        border-radius: 10px;
        background: #fff2ee;
        border: 1px solid #f0b39a;
        color: #8a3a1a;
        font-size: 0.9rem;
}
.cd-b2b__submit { width: 100%; margin-top: 4px; }
.cd-b2b__note {
        margin: 14px 0 0;
        text-align: center;
        font-size: 0.84rem;
        color: var(--cd-muted);
        line-height: 1.5;
}

.cd-b2b__status {
        max-width: 640px;
        margin: 0 auto;
        padding: 28px;
        border-radius: 18px;
        text-align: center;
        background: #fff;
        border: 1px solid rgba(158,197,59,.3);
}
.cd-b2b__status strong {
        display: block;
        font-size: 1.2rem;
        margin-bottom: 8px;
}
.cd-b2b__status p { color: var(--cd-muted); margin: 0 0 18px; }
.cd-b2b__status--pending { border-color: rgba(217,111,44,.35); background: #fffaf5; }

.cd-b2b__cta { padding: 24px 0 80px; }
.cd-b2b__cta-card {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        padding: 40px 36px;
        border-radius: 22px;
        background: linear-gradient(135deg, #0f120c 0%, #1a2414 55%, #24301a 100%);
        color: #fff;
        border: 2px solid rgba(158,197,59,.35);
}
.cd-b2b__cta-card h2 {
        font-family: var(--cd-serif);
        font-size: clamp(1.4rem, 2.4vw, 1.9rem);
        margin: 8px 0 10px;
}
.cd-b2b__cta-card p {
        margin: 0;
        color: rgba(255,255,255,.72);
        max-width: 480px;
}
.cd-b2b__cta-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
}

.cd-b2b-modal {
        position: fixed;
        inset: 0;
        z-index: 9999;
        display: grid;
        place-items: center;
        padding: 24px;
}
.cd-b2b-modal[hidden] { display: none !important; }
.cd-b2b-modal__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(10,10,10,.72);
        backdrop-filter: blur(4px);
}
.cd-b2b-modal__panel {
        position: relative;
        z-index: 1;
        width: min(100%, 480px);
        padding: 36px 32px 32px;
        border-radius: 22px;
        background: #fff;
        border: 2px solid rgba(158,197,59,.4);
        box-shadow: 0 28px 80px rgba(0,0,0,.35);
        text-align: center;
}
.cd-b2b-modal__x {
        position: absolute;
        top: 12px;
        right: 14px;
        border: 0;
        background: transparent;
        font-size: 1.6rem;
        line-height: 1;
        cursor: pointer;
        color: #666;
}
.cd-b2b-modal__icon {
        width: 56px;
        height: 56px;
        margin: 0 auto 16px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-size: 1.5rem;
        font-weight: 800;
        color: var(--cd-dark);
        background: var(--cd-green);
}
.cd-b2b-modal__panel h2 {
        font-family: var(--cd-serif);
        font-size: 1.55rem;
        margin: 0 0 12px;
}
.cd-b2b-modal__panel > p {
        margin: 0 0 16px;
        color: var(--cd-muted);
        line-height: 1.55;
}
.cd-b2b-modal__panel ul {
        list-style: none;
        margin: 0 0 22px;
        padding: 0;
        text-align: left;
        display: grid;
        gap: 8px;
}
.cd-b2b-modal__panel li {
        position: relative;
        padding: 10px 12px 10px 28px;
        border-radius: 10px;
        background: #f7f8f4;
        font-size: 0.9rem;
}
.cd-b2b-modal__panel li::before {
        content: "";
        position: absolute;
        left: 12px;
        top: 1.1em;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--cd-green);
}
body.cd-b2b-modal-open { overflow: hidden; }

@media (max-width: 800px) {
        .cd-b2b__pillars-grid,
        .cd-b2b__form-grid { grid-template-columns: 1fr; }
        .cd-b2b__form { padding: 22px 18px; }
        .cd-b2b__cta-card { padding: 28px 22px; }
}

/* ============================================================
   MI CUENTA B2B + CTA CABECERA LOGUEADO
   ============================================================ */
.erl-btn--account {
        display: inline-flex !important;
        align-items: center;
        gap: 6px;
        max-width: min(280px, 42vw);
        padding: 10px 16px !important;
        background: linear-gradient(135deg, #9EC53B 0%, #7da82a 100%) !important;
        color: #0a0a0a !important;
        border: 0 !important;
        border-radius: 999px !important;
        font-weight: 800 !important;
        font-size: 13px !important;
        text-decoration: none !important;
        box-shadow: 0 8px 20px rgba(158,197,59,.28);
        overflow: hidden;
}
.erl-btn--account:hover {
        filter: brightness(1.05);
        color: #0a0a0a !important;
}
.erl-btn__account-prefix {
        flex: 0 0 auto;
        opacity: .85;
        font-weight: 700;
}
.erl-btn__account-name {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: 900;
}

body.woocommerce-account .site-content,
body.woocommerce-account #content,
body.woocommerce-account .entry-content {
        max-width: 1120px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
}
body.woocommerce-account .entry-header {
        margin: 28px auto 8px;
        max-width: 1120px;
        padding: 0 20px;
}
body.woocommerce-account .entry-title {
        font-size: clamp(1.6rem, 2.5vw, 2.1rem);
        font-weight: 900;
        letter-spacing: -0.03em;
        color: #0a0a0a;
}

/* Layout navegación + contenido */
.woocommerce-account .woocommerce {
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: 28px;
        align-items: start;
        margin: 12px 0 64px;
}
.woocommerce-account:not(.logged-in) .woocommerce {
        grid-template-columns: 1fr;
        max-width: 920px;
        margin-left: auto;
        margin-right: auto;
}

.woocommerce-MyAccount-navigation {
        background: #0f1410;
        color: #fff;
        border-radius: 18px;
        padding: 18px 12px;
        position: sticky;
        top: 88px;
}
.woocommerce-MyAccount-navigation ul {
        list-style: none !important;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 4px;
}
.woocommerce-MyAccount-navigation li {
        margin: 0 !important;
}
.woocommerce-MyAccount-navigation a {
        display: block;
        padding: 12px 14px;
        border-radius: 12px;
        color: rgba(255,255,255,.82) !important;
        text-decoration: none !important;
        font-weight: 700;
        font-size: 0.92rem;
        transition: background .2s ease, color .2s ease;
}
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a {
        background: rgba(158,197,59,.2);
        color: #fff !important;
}
.woocommerce-MyAccount-navigation .is-active a {
        background: #9EC53B;
        color: #0a0a0a !important;
}

.woocommerce-MyAccount-content {
        background: #fff;
        border: 1px solid #e6e9df;
        border-radius: 18px;
        padding: 28px 28px 32px;
        box-shadow: 0 12px 40px rgba(15,20,16,.05);
        min-width: 0;
}

.cd-acc__hero {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        margin: 0 0 4px;
        padding: 18px 18px;
        border-radius: 16px;
        background:
                radial-gradient(120% 140% at 0% 0%, rgba(158,197,59,.22), transparent 55%),
                linear-gradient(135deg, #f4f8eb 0%, #ffffff 55%, #fff7ef 100%);
        border: 1px solid #e2ebd0;
        grid-column: 1 / -1;
}
.cd-acc__eyebrow {
        margin: 0 0 4px;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: #6d9000;
}
.cd-acc__company {
        margin: 0;
        font-size: 1.35rem;
        font-weight: 900;
        letter-spacing: -0.03em;
        color: #0a0a0a;
        line-height: 1.2;
}
.cd-acc__meta {
        margin: 6px 0 0;
        color: #5a5a55;
        font-size: 0.9rem;
}
.cd-acc__badge {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        padding: 8px 12px;
        border-radius: 999px;
        font-size: 0.78rem;
        font-weight: 800;
        white-space: nowrap;
}
.cd-acc__badge--aprobado {
        background: rgba(158,197,59,.2);
        color: #3d5e00;
}
.cd-acc__badge--pendiente {
        background: rgba(217,111,44,.15);
        color: #a34412;
}

.cd-acc__welcome {
        margin: 0 0 20px;
        font-size: 1.02rem;
        line-height: 1.55;
        color: #333;
}
.cd-acc__welcome-co { color: #5e7d12; font-weight: 800; }

.cd-acc__cards {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin: 8px 0 8px;
}
.cd-acc__card {
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
        align-items: center;
        padding: 16px 16px;
        border-radius: 14px;
        text-decoration: none !important;
        color: inherit !important;
        border: 1px solid #e6e9df;
        background: #fbfcf8;
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cd-acc__card:hover {
        transform: translateY(-2px);
        border-color: #9EC53B;
        box-shadow: 0 12px 28px rgba(158,197,59,.18);
}
.cd-acc__card-ico {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        display: grid;
        place-items: center;
        background: #fff;
        border: 1px solid #e6e9df;
        font-size: 1.15rem;
}
.cd-acc__card--orders .cd-acc__card-ico { background: #eef6d8; }
.cd-acc__card--docs .cd-acc__card-ico { background: #e8f1ff; }
.cd-acc__card--addr .cd-acc__card-ico { background: #fff3e8; }
.cd-acc__card--account .cd-acc__card-ico { background: #f3eefc; }
.cd-acc__card-body { display: grid; gap: 2px; min-width: 0; }
.cd-acc__card-body strong {
        font-size: 0.98rem;
        font-weight: 800;
        color: #0a0a0a;
}
.cd-acc__card-body small {
        color: #666;
        font-size: 0.82rem;
        line-height: 1.35;
}
.cd-acc__card-go {
        color: #6d9000;
        font-weight: 900;
        font-size: 1.1rem;
}

.comdiet-pending {
        margin: 0 0 18px;
        padding: 16px 18px;
        border-radius: 14px;
        background: #fff7ef;
        border: 1.5px solid rgba(217,111,44,.35);
}
.comdiet-pending h4 {
        margin: 0 0 6px;
        color: #a34412;
        font-size: 1rem;
}
.comdiet-pending p { margin: 0; color: #5a5a55; font-size: 0.92rem; line-height: 1.45; }
.comdiet-pending a { color: #a34412; font-weight: 700; }

/* Login visitante */
.cd-acc-login__intro {
        margin: 0 0 22px;
        padding: 22px 24px;
        border-radius: 18px;
        background:
                radial-gradient(100% 120% at 100% 0%, rgba(158,197,59,.25), transparent 50%),
                linear-gradient(145deg, #101510 0%, #1c2818 100%);
        color: #fff;
}
.cd-acc-login__intro h2 {
        margin: 4px 0 8px;
        font-size: 1.55rem;
        font-weight: 900;
        letter-spacing: -0.03em;
        color: #fff;
}
.cd-acc-login__intro p { margin: 0; color: rgba(255,255,255,.82); line-height: 1.5; }
.cd-acc-login__intro .cd-acc__eyebrow { color: #b7e05a; }
.cd-acc-login__link {
        display: inline-block;
        margin-top: 14px;
        color: #c8ef6e !important;
        font-weight: 800;
        text-decoration: none !important;
}
.cd-acc-login__link:hover { text-decoration: underline !important; }

.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
        border: 1px solid #e6e9df !important;
        border-radius: 16px !important;
        padding: 24px !important;
        background: #fff !important;
        box-shadow: 0 10px 30px rgba(15,20,16,.05);
}
.woocommerce-account .woocommerce form .form-row input.input-text {
        border: 1.5px solid #d8ddd0 !important;
        border-radius: 10px !important;
        padding: 11px 12px !important;
}
.woocommerce-account .woocommerce form .form-row input.input-text:focus {
        border-color: #9EC53B !important;
        box-shadow: 0 0 0 3px rgba(158,197,59,.2);
        outline: none;
}
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce .button {
        background: #9EC53B !important;
        color: #0a0a0a !important;
        border: 0 !important;
        border-radius: 999px !important;
        font-weight: 800 !important;
        padding: 12px 22px !important;
}

@media (max-width: 900px) {
        .woocommerce-account .woocommerce {
                grid-template-columns: 1fr;
        }
        .woocommerce-MyAccount-navigation {
                position: static;
                padding: 12px;
        }
        .woocommerce-MyAccount-navigation ul {
                display: flex;
                flex-wrap: wrap;
                gap: 6px;
        }
        .woocommerce-MyAccount-navigation a {
                padding: 10px 12px;
                font-size: 0.85rem;
        }
        .cd-acc__cards { grid-template-columns: 1fr; }
        .cd-acc__hero { flex-direction: column; }
        .erl-btn--account { max-width: min(220px, 55vw); }
        .erl-btn__account-prefix { display: none; }
}

/* ============================================================
   BLOG TÉCNICO — listado + single
   ============================================================ */
.cd-blog { background: #f6f7f2; }
.cd-blog__hero {
        padding: 56px 0 40px;
        background:
                radial-gradient(90% 120% at 10% 0%, rgba(158,197,59,.28), transparent 55%),
                linear-gradient(160deg, #101510 0%, #1a2416 55%, #24301c 100%);
        color: #fff;
}
.cd-blog__hero h1 {
        margin: 8px 0 14px;
        max-width: 18ch;
        font-size: clamp(1.85rem, 3.4vw, 2.75rem);
        font-weight: 900;
        letter-spacing: -0.035em;
        line-height: 1.08;
        color: #fff;
}
.cd-blog__lead {
        margin: 0;
        max-width: 52ch;
        color: rgba(255,255,255,.82);
        font-size: 1.05rem;
        line-height: 1.55;
}
.cd-blog__hero-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cd-blog__hero .cd-btn--ghost {
        border-color: rgba(255,255,255,.35);
        color: #fff;
}
.cd-blog__filters { background: #fff; border-bottom: 1px solid #e4e8dc; }
.cd-blog__filters-inner {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 14px 0;
}
.cd-blog__chip {
        display: inline-flex;
        align-items: center;
        padding: 8px 14px;
        border-radius: 999px;
        border: 1px solid #d9decf;
        background: #fff;
        color: #333 !important;
        text-decoration: none !important;
        font-size: 0.85rem;
        font-weight: 700;
}
.cd-blog__chip:hover,
.cd-blog__chip.is-active {
        border-color: #9EC53B;
        background: #eef6d8;
        color: #3d5e00 !important;
}
.cd-blog__grid-wrap { padding: 36px 0 56px; }
.cd-blog__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
}
.cd-blog__card {
        margin: 0;
        background: #fff;
        border: 1px solid #e4e8dc;
        border-radius: 18px;
        overflow: hidden;
        box-shadow: 0 10px 28px rgba(15,20,16,.04);
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cd-blog__card:hover {
        transform: translateY(-3px);
        border-color: #9EC53B;
        box-shadow: 0 16px 36px rgba(158,197,59,.16);
}
.cd-blog__card--featured {
        grid-column: 1 / -1;
        background:
                radial-gradient(80% 120% at 100% 0%, rgba(158,197,59,.18), transparent 50%),
                #fff;
}
.cd-blog__card-link {
        display: grid;
        gap: 10px;
        padding: 22px 22px 20px;
        text-decoration: none !important;
        color: inherit !important;
        height: 100%;
}
.cd-blog__card-top {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        font-size: 0.78rem;
        color: #6a6a64;
}
.cd-blog__cat {
        font-weight: 800;
        color: #5e7d12;
        text-transform: uppercase;
        letter-spacing: .04em;
}
.cd-blog__card-title {
        margin: 0;
        font-size: 1.15rem;
        font-weight: 900;
        letter-spacing: -0.025em;
        line-height: 1.25;
        color: #0a0a0a;
}
.cd-blog__card--featured .cd-blog__card-title { font-size: clamp(1.35rem, 2.2vw, 1.85rem); max-width: 28ch; }
.cd-blog__card-ex {
        margin: 0;
        color: #555;
        font-size: 0.92rem;
        line-height: 1.5;
}
.cd-blog__kw {
        display: inline-flex;
        width: fit-content;
        padding: 4px 10px;
        border-radius: 999px;
        background: #f0f4e6;
        color: #4a6410;
        font-size: 0.72rem;
        font-weight: 700;
}
.cd-blog__more {
        margin-top: auto;
        font-weight: 800;
        color: #6d9000;
        font-size: 0.9rem;
}
.cd-blog__pager { margin-top: 28px; }
.cd-blog__pager .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.cd-blog__pager a,
.cd-blog__pager span {
        display: inline-flex;
        min-width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        border: 1px solid #d9decf;
        background: #fff;
        text-decoration: none;
        font-weight: 700;
        color: #333;
}
.cd-blog__pager .current { background: #9EC53B; border-color: #9EC53B; color: #0a0a0a; }
.cd-blog__empty {
        padding: 40px;
        text-align: center;
        background: #fff;
        border-radius: 18px;
        border: 1px dashed #cfd6c0;
}
.cd-blog__cta { padding: 0 0 64px; }
.cd-blog__cta-card {
        display: flex;
        justify-content: space-between;
        gap: 24px;
        align-items: center;
        padding: 28px 32px;
        border-radius: 20px;
        background: linear-gradient(135deg, #101510, #2a3a1c);
        color: #fff;
}
.cd-blog__cta-card h2 { margin: 6px 0 8px; color: #fff; font-size: 1.45rem; }
.cd-blog__cta-card p { margin: 0; color: rgba(255,255,255,.8); }
.cd-blog__cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* Single */
.cd-blog-single__hero {
        padding: 48px 0 28px;
        background: #101510;
        color: #fff;
}
.cd-blog-single__hero h1 {
        margin: 8px 0 12px;
        max-width: 22ch;
        font-size: clamp(1.7rem, 3vw, 2.5rem);
        font-weight: 900;
        letter-spacing: -0.03em;
        line-height: 1.12;
        color: #fff;
}
.cd-blog-single__hero a { color: #c8ef6e !important; }
.cd-blog-single__meta { margin: 0; color: rgba(255,255,255,.7); font-size: 0.9rem; }
.cd-blog-single__layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 280px;
        gap: 28px;
        padding: 36px 0 48px;
        align-items: start;
}
.cd-blog-single__content {
        background: #fff;
        border: 1px solid #e4e8dc;
        border-radius: 18px;
        padding: 28px 30px 34px;
        box-shadow: 0 12px 36px rgba(15,20,16,.05);
}
.cd-blog-single__content h2 {
        margin: 1.4em 0 .55em;
        font-size: 1.25rem;
        font-weight: 900;
        letter-spacing: -0.02em;
}
.cd-blog-single__content p,
.cd-blog-single__content li {
        color: #333;
        line-height: 1.65;
        font-size: 1.02rem;
}
.cd-blog-single__content ul { padding-left: 1.2em; }
.cd-blog-single__content a { color: #5e7d12; font-weight: 700; }
.cd-blog-single__aside { display: grid; gap: 14px; position: sticky; top: 96px; }
.cd-blog-single__box {
        padding: 18px;
        border-radius: 16px;
        background: #fff;
        border: 1px solid #e4e8dc;
        display: grid;
        gap: 8px;
}
.cd-blog-single__box--dark {
        background: #101510;
        border-color: #101510;
        color: #fff;
}
.cd-blog-single__box--dark a { color: #c8ef6e; font-weight: 800; }
.cd-blog-single__soft {
        color: #5e7d12 !important;
        font-weight: 800;
        text-decoration: none !important;
        font-size: 0.9rem;
}
.cd-blog__related { padding: 0 0 64px; }
.cd-blog__related h2 { margin: 0 0 16px; font-size: 1.35rem; font-weight: 900; }
.cd-blog__grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 960px) {
        .cd-blog__grid,
        .cd-blog__grid--related { grid-template-columns: 1fr; }
        .cd-blog__card--featured { grid-column: auto; }
        .cd-blog-single__layout { grid-template-columns: 1fr; }
        .cd-blog-single__aside { position: static; }
        .cd-blog__cta-card { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   FAQ
   ============================================================ */
.cd-faq { background: #f7f8f4; color: var(--cd-ink); }
.cd-faq__hero {
        padding: 72px 0 40px;
        background: linear-gradient(165deg, #101510 0%, #1a2218 55%, #24301f 100%);
        color: #fff;
}
.cd-faq__hero-inner { max-width: 820px; }
.cd-faq__hero .cd-eyebrow { color: #9ec53b; }
.cd-faq__title {
        margin: 0 0 14px;
        font-size: clamp(1.85rem, 3.2vw, 2.6rem);
        font-weight: 900;
        letter-spacing: -0.03em;
        line-height: 1.15;
}
.cd-faq__lead {
        margin: 0 0 22px;
        color: rgba(255,255,255,.78);
        font-size: 1.05rem;
        line-height: 1.6;
        max-width: 640px;
}
.cd-faq__toc {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
}
.cd-faq__toc a {
        display: inline-flex;
        align-items: center;
        padding: 8px 14px;
        border-radius: 999px;
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.14);
        color: #fff;
        text-decoration: none;
        font-size: 0.88rem;
        font-weight: 600;
        transition: background .2s, border-color .2s;
}
.cd-faq__toc a:hover {
        background: rgba(158,197,59,.22);
        border-color: rgba(158,197,59,.45);
}
.cd-faq__body { padding: 48px 0 24px; }
.cd-faq__group { margin-bottom: 36px; }
.cd-faq__group-title {
        margin: 0 0 14px;
        font-size: 1.15rem;
        font-weight: 800;
        letter-spacing: -0.02em;
        color: var(--cd-ink);
}
.cd-faq__item {
        background: #fff;
        border: 1px solid #e4e8dc;
        border-radius: 14px;
        margin-bottom: 10px;
        overflow: hidden;
}
.cd-faq__item[open] { border-color: #c9d4b0; box-shadow: 0 8px 24px rgba(16,21,16,.05); }
.cd-faq__q {
        list-style: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 18px 20px;
        font-weight: 700;
        font-size: 1rem;
        line-height: 1.35;
        color: var(--cd-ink);
}
.cd-faq__q::-webkit-details-marker { display: none; }
.cd-faq__q::after {
        content: "";
        flex: 0 0 10px;
        width: 10px;
        height: 10px;
        border-right: 2px solid var(--cd-green);
        border-bottom: 2px solid var(--cd-green);
        transform: rotate(45deg);
        transition: transform .2s;
        margin-top: -4px;
}
.cd-faq__item[open] .cd-faq__q::after {
        transform: rotate(225deg);
        margin-top: 4px;
}
.cd-faq__a {
        padding: 0 20px 18px;
        color: #444;
        font-size: 0.98rem;
        line-height: 1.65;
}
.cd-faq__a p { margin: 0 0 10px; }
.cd-faq__a p:last-child { margin-bottom: 0; }
.cd-faq__a a { color: #5e7d12; font-weight: 700; }
.cd-faq__cta { padding: 24px 0 80px; }
.cd-faq__cta-card {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        flex-wrap: wrap;
        padding: 32px 36px;
        border-radius: 20px;
        background: #101510;
        color: #fff;
}
.cd-faq__cta-card h2 {
        margin: 0 0 8px;
        font-size: 1.45rem;
        font-weight: 900;
        letter-spacing: -0.02em;
}
.cd-faq__cta-card p { margin: 0; color: rgba(255,255,255,.72); max-width: 480px; }
.cd-faq__cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 720px) {
        .cd-faq__hero { padding: 56px 0 32px; }
        .cd-faq__q { padding: 16px; font-size: 0.95rem; }
        .cd-faq__cta-card { padding: 26px 22px; }
}

/* ============================================================
   BRIEFING MODAL — cotización popup (lite)
   ============================================================ */
html.cd-briefing-open,
html.cd-briefing-open body { overflow: hidden; }
.cd-briefing-modal {
  position: fixed; inset: 0; z-index: 100000;
  display: none;
  align-items: center; justify-content: center;
  padding: 16px;
}
.cd-briefing-modal.is-open { display: flex; }
.cd-briefing-modal__backdrop {
  position: absolute; inset: 0; background: rgba(10,10,10,.75);
}
.cd-briefing-modal__dialog {
  position: relative; z-index: 1;
  width: min(880px, 100%);
  max-height: 92vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  padding: 24px 22px 28px;
}
.cd-briefing-modal__close {
  position: absolute; top: 10px; right: 12px;
  width: 40px; height: 40px; border: 0; border-radius: 999px;
  background: #f2f2ee; color: #0a0a0a; font-size: 1.5rem; line-height: 1;
  cursor: pointer; z-index: 2;
}
.cd-briefing-modal__close:hover { background: #9ec53b; }
.cd-briefing-modal__eyebrow {
  margin: 0 0 8px; font-size: .72rem; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase; color: #86a92f;
}
.cd-briefing-modal .erl-form__title { font-size: clamp(1.45rem, 2.6vw, 1.9rem); }
.cd-briefing-modal .erl-form__slide .erl-choice span { min-height: 120px; padding: 16px 8px; }
.erl-hero__form-card--cta .erl-hero__cta-list {
  list-style: none; margin: 0 0 18px; padding: 0; color: #5a5a55; font-size: .92rem;
  min-height: 4.5em;
}
.erl-hero__form-card--cta .erl-hero__cta-list li { margin: 0 0 6px; padding-left: 1.1em; position: relative; }
.erl-hero__form-card--cta .erl-hero__cta-list li::before {
  content: "✓"; position: absolute; left: 0; color: #86a92f; font-weight: 700;
}
.erl-btn--block { width: 100%; justify-content: center; }
.erl-btn[data-cd-briefing-open],
.cd-btn[data-cd-briefing-open] { cursor: pointer; border: 0; font-family: inherit; }
@media (max-width: 640px) {
  .cd-briefing-modal { padding: 8px; align-items: flex-end; }
  .cd-briefing-modal__dialog { max-height: 94vh; border-radius: 16px 16px 8px 8px; }
  .cd-briefing-modal .erl-form__slide .erl-choice--row { display: flex; flex-direction: column; gap: 8px; }
  .cd-briefing-modal .erl-form__slide .erl-choice span { min-height: 0; }
}

/* ============================================================
   GAMA PREMIUM + PAGINA GARANTIA
   ============================================================ */
.cd-premium { padding: 72px 0; background: var(--cd-soft); }
.cd-premium__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px;
}
.cd-premium__card {
  background: #fff; border: 1px solid var(--cd-border); border-radius: 16px; padding: 22px 20px;
}
.cd-premium__card h3 { font-size: 1.05rem; margin: 0 0 8px; }
.cd-premium__card p { margin: 0; color: var(--cd-muted); font-size: .92rem; line-height: 1.55; }
.cd-premium__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cd-premium .cd-btn--ghost {
  color: #0a0a0a !important;
  border-color: rgba(10, 10, 10, 0.35);
}
.cd-premium .cd-btn--ghost:hover {
  border-color: #0a0a0a;
  background: rgba(10, 10, 10, 0.06);
}
@media (max-width: 900px) {
  .cd-premium__grid { grid-template-columns: 1fr; }
}

.cd-garantia__hero {
  background: #0a0a0a; color: #fff; padding: 72px 0 56px;
}
.cd-garantia__title {
  font-size: clamp(1.7rem, 3.5vw, 2.6rem); line-height: 1.15; margin: 0 0 16px; max-width: 920px;
}
.cd-garantia__title em { font-family: var(--cd-serif); font-style: italic; color: var(--cd-green); font-weight: 600; }
.cd-garantia__lead { max-width: 760px; color: rgba(255,255,255,.82); font-size: 1.05rem; line-height: 1.55; margin: 0 0 22px; }
.cd-garantia__badges { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; }
.cd-garantia__badges li {
  font-size: .78rem; font-weight: 700; padding: 6px 12px; border-radius: 999px;
  border: 1px solid rgba(158,197,59,.45); color: #c8db8a; background: rgba(158,197,59,.08);
}
.cd-garantia__intro { padding: 64px 0; }
.cd-garantia__intro-grid {
  display: grid; grid-template-columns: 1.4fr .9fr; gap: 28px; align-items: start;
}
.cd-garantia__intro h2 { font-size: clamp(1.4rem, 2.5vw, 1.9rem); margin: 0 0 14px; }
.cd-garantia__intro p { color: var(--cd-muted); margin: 0 0 12px; line-height: 1.6; }
.cd-garantia__aside {
  background: var(--cd-soft); border: 1px solid var(--cd-border); border-radius: 16px; padding: 22px;
}
.cd-garantia__aside strong { display: block; margin-bottom: 10px; }
.cd-garantia__aside ul { margin: 0; padding-left: 1.1em; color: var(--cd-muted); font-size: .92rem; line-height: 1.55; }
.cd-garantia__aside li { margin-bottom: 6px; }
.cd-garantia__pillars { padding: 0 0 64px; }
.cd-garantia__pillars h2 { margin: 0 0 22px; }
.cd-garantia__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cd-garantia__cards article {
  border: 1px solid var(--cd-border); border-radius: 16px; padding: 22px; background: #fff;
}
.cd-garantia__num { display: block; font-size: .75rem; font-weight: 800; letter-spacing: .08em; color: var(--cd-green-dark); margin-bottom: 8px; }
.cd-garantia__cards h3 { margin: 0 0 8px; font-size: 1.05rem; }
.cd-garantia__cards p { margin: 0; color: var(--cd-muted); font-size: .92rem; line-height: 1.55; }
.cd-garantia__aept { padding: 56px 0; background: #0a0a0a; color: #fff; }
.cd-garantia__aept-inner { display: grid; grid-template-columns: 1.3fr .8fr; gap: 28px; align-items: start; }
.cd-garantia__aept h2 { margin: 0 0 12px; }
.cd-garantia__aept p { color: rgba(255,255,255,.78); line-height: 1.55; margin: 0 0 12px; }
.cd-garantia__note { font-size: .8rem !important; color: rgba(255,255,255,.55) !important; }
.cd-garantia__checklist {
  list-style: none; margin: 0; padding: 18px; border-radius: 14px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
}
.cd-garantia__checklist li { padding: 8px 0 8px 1.2em; position: relative; font-size: .92rem; color: #c8db8a; }
.cd-garantia__checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--cd-green); font-weight: 700; }
.cd-garantia__philo { padding: 64px 0; }
.cd-garantia__philo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 18px; align-items: start; }
.cd-garantia__philo blockquote {
  margin: 0; padding: 24px; border-left: 3px solid var(--cd-green); background: var(--cd-soft); border-radius: 0 14px 14px 0;
}
.cd-garantia__philo blockquote p { margin: 0 0 12px; font-size: 1.05rem; line-height: 1.5; }
.cd-garantia__philo footer { font-size: .85rem; color: var(--cd-muted); }
.cd-garantia__philo .cd-btn { margin: 8px 8px 0 0; }
.cd-garantia__cta { padding: 0 0 72px; }
.cd-garantia__cta-card {
  display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; align-items: center;
  background: #0a0a0a; color: #fff; border-radius: 18px; padding: 28px 26px;
}
.cd-garantia__cta-card h2 { margin: 0 0 8px; font-size: 1.35rem; }
.cd-garantia__cta-card p { margin: 0; color: rgba(255,255,255,.72); max-width: 520px; }
.cd-garantia__cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 900px) {
  .cd-garantia__intro-grid,
  .cd-garantia__cards,
  .cd-garantia__aept-inner,
  .cd-garantia__philo-grid { grid-template-columns: 1fr; }
}
