:root{
    --zh-bg:rgba(10,10,10,.72);
    --zh-bg-solid:#0A0A0A;
    --zh-bg-scrolled:rgba(10,10,10,.92);
    --zh-text:#F5F2EC;
    --zh-text-soft:#C8C5BE;
    --zh-text-muted:#7A7770;
    --zh-line:rgba(245,242,236,.10);
    --zh-line-2:rgba(245,242,236,.16);
    --zh-line-3:rgba(245,242,236,.26);
    --zh-green:#B0D7BC;
    --zh-green-2:#8FC4A0;
    --zh-green-glow:rgba(176,215,188,.28);
    --zh-pill:999px;
    --zh-h:72px;
    --zh-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,sans-serif;
    --zh-z:100;
    --zh-z-menu:200;
    --zh-z-drawer:1100;
    --zh-ease:cubic-bezier(.22,.65,.3,1);
    --zh-spring:cubic-bezier(.34,1.56,.64,1);
}

.zh, .zh *, .zh-drawer, .zh-drawer *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

/* Bloqueo de scroll del body cuando hay un bottom sheet abierto en mobile */
body.zh-scroll-lock{overflow:hidden;}

/* Reset universal de links dentro del header:
- Sin subrayado (text-decoration:none)
- Color heredado por defecto (cada componente define su propio color)
Esto evita el estilo nativo azul + underline del navegador y los problemas
de Safari Data Detectors. */
.zh a, .zh-drawer a{
    color:inherit;text-decoration:none;
}

/* Doble protección contra Safari iOS Data Detectors */
.zh a[x-apple-data-detectors],
.zh-drawer a[x-apple-data-detectors]{
    color:inherit !important;text-decoration:none !important;
    font-size:inherit !important;font-family:inherit !important;
    font-weight:inherit !important;line-height:inherit !important;
    pointer-events:none !important;
}

/* ==========================================================
CONTENEDOR
========================================================== */
.zh{
    position:sticky;top:0;z-index:var(--zh-z);
    background:var(--zh-bg);
    backdrop-filter:saturate(180%) blur(22px);
    -webkit-backdrop-filter:saturate(180%) blur(22px);
    border-bottom:1px solid var(--zh-line);
    font-family:var(--zh-font);color:var(--zh-text);
    transition:background .32s var(--zh-ease), border-color .32s var(--zh-ease);
}
.zh.is-scrolled{background:var(--zh-bg-scrolled);border-bottom-color:var(--zh-line-2);}
.zh-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:var(--zh-h);gap:16px;
    max-width:1560px;margin:0 auto;padding:0 28px;
}
@media (max-width:560px){.zh-inner{padding:0 16px;gap:8px;}}

/* ==========================================================
LOGO
========================================================== */
.zh-brand{
    display:inline-flex;align-items:center;gap:10px;
    text-decoration:none;color:var(--zh-text);
    font-weight:700;font-size:21px;letter-spacing:-.02em;
    flex-shrink:0;cursor:pointer;
}
.zh-mark{
    position:relative;width:30px;height:30px;border-radius:8px;
    background:var(--zh-text);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    transition:transform .35s var(--zh-spring), border-radius .35s var(--zh-ease);
}
.zh-brand:hover .zh-mark{transform:rotate(-6deg) scale(1.04);border-radius:10px;}
.zh-mark::before{
    content:"";width:11px;height:11px;border-radius:3px;background:var(--zh-green);
    transition:transform .4s var(--zh-spring), border-radius .4s var(--zh-ease);
}
.zh-brand:hover .zh-mark::before{transform:rotate(45deg);border-radius:2px;}
.zh-brand b{color:var(--zh-green);}

/* ==========================================================
TABS (6 directas)
========================================================== */
.zh-tabs{
    position:relative;display:flex;align-items:center;gap:0;padding:4px;
    background:rgba(245,242,236,.04);
    border:1px solid var(--zh-line);
    border-radius:var(--zh-pill);
}
.zh-tab-pill{
    position:absolute;top:4px;height:calc(100% - 8px);
    background:rgba(245,242,236,.08);border-radius:var(--zh-pill);
    transition:transform .42s var(--zh-spring), width .42s var(--zh-spring), opacity .2s;
    pointer-events:none;opacity:0;z-index:1;
}
.zh-tabs.has-hover .zh-tab-pill{opacity:1;}
.zh-tab{
    position:relative;z-index:2;
    display:inline-flex;align-items:center;
    padding:0 16px;height:34px;
    font-family:inherit;font-size:13.5px;font-weight:500;letter-spacing:-.005em;
    color:var(--zh-text-soft);text-decoration:none;cursor:pointer;
    border-radius:var(--zh-pill);
    transition:color .25s var(--zh-ease);
}
.zh-tab:hover, .zh-tab:focus-visible{color:var(--zh-text);outline:none;}
.zh-tab[aria-current="page"]{color:var(--zh-text);font-weight:600;padding-left:20px;}
.zh-tab[aria-current="page"]::before{
    content:"";position:absolute;left:9px;top:50%;
    width:5px;height:5px;border-radius:50%;background:var(--zh-green);
    box-shadow:0 0 8px var(--zh-green-glow);
    transform:translateY(-50%);
}

/* En medium-large screens, comprime un poco más */
@media (max-width:1280px){
    .zh-tab{padding:0 13px;font-size:13px;}
}
@media (max-width:1080px){.zh-tabs{display:none;}}

/* ==========================================================
RIGHT CLUSTER
========================================================== */
.zh-right{display:flex;align-items:center;gap:6px;flex-shrink:0;}

/* ---------- Language minimal ---------- */
.zh-lang{position:relative;flex-shrink:0;}
.zh-lang-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:50%;
    background:transparent;border:0;cursor:pointer;
    font-family:inherit;position:relative;
    transition:background .22s var(--zh-ease), transform .15s;
}
.zh-lang-btn:hover{background:rgba(245,242,236,.06);transform:translateY(-1px);}
.zh-lang[aria-expanded="true"] .zh-lang-btn{background:rgba(245,242,236,.08);}
.zh-lang-btn:focus-visible{outline:2px solid var(--zh-green);outline-offset:3px;}
.zh-lang-btn .zh-flag{font-size:17px;line-height:1;}
.zh-lang-btn::after{
    content:"";position:absolute;bottom:6px;right:7px;
    width:5px;height:5px;border-radius:50%;background:var(--zh-green);
    opacity:0;transform:scale(.5);
    transition:opacity .25s, transform .3s var(--zh-spring);
}
.zh-lang-btn:hover::after, .zh-lang[aria-expanded="true"] .zh-lang-btn::after{
    opacity:1;transform:scale(1);
}

.zh-lang-menu{
    position:absolute;right:0;top:calc(100% + 10px);
    min-width:240px;background:#111111;
    border:1px solid var(--zh-line-2);border-radius:14px;
    box-shadow:0 30px 80px -20px rgba(0,0,0,.75), 0 0 0 1px rgba(0,0,0,.4);
    padding:6px;display:none;flex-direction:column;gap:1px;
    z-index:var(--zh-z-menu);
    opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;
    transition:opacity .22s var(--zh-ease), transform .28s var(--zh-spring);
}
.zh-lang[aria-expanded="true"] .zh-lang-menu{display:flex;opacity:1;transform:none;}

.zh-lang-opt{
    display:flex;align-items:center;gap:10px;width:100%;
    padding:10px 12px;border-radius:9px;background:transparent;border:0;cursor:pointer;
    color:var(--zh-text);font-family:inherit;font-size:13.5px;font-weight:500;text-align:left;
    transition:background .15s, padding-left .25s var(--zh-ease);
    opacity:0;transform:translateX(-4px);
    animation:zhItemIn .32s var(--zh-ease) forwards;
}
.zh-lang[aria-expanded="true"] .zh-lang-opt:nth-child(1){animation-delay:.03s;}
.zh-lang[aria-expanded="true"] .zh-lang-opt:nth-child(2){animation-delay:.06s;}
.zh-lang[aria-expanded="true"] .zh-lang-opt:nth-child(3){animation-delay:.09s;}
.zh-lang[aria-expanded="true"] .zh-lang-opt:nth-child(4){animation-delay:.12s;}
.zh-lang[aria-expanded="true"] .zh-lang-opt:nth-child(5){animation-delay:.15s;}
.zh-lang[aria-expanded="true"] .zh-lang-opt:nth-child(6){animation-delay:.18s;}
.zh-lang[aria-expanded="true"] .zh-lang-opt:nth-child(7){animation-delay:.21s;}
@keyframes zhItemIn{to{opacity:1;transform:none;}}

.zh-lang-opt:hover{background:rgba(245,242,236,.05);padding-left:16px;}
.zh-lang-opt .zh-flag{font-size:17px;flex-shrink:0;}
.zh-lang-opt .zh-name{flex:1;display:flex;flex-direction:column;line-height:1.25;}
.zh-lang-opt .zh-name small{font-size:10.5px;color:var(--zh-text-muted);font-weight:400;margin-top:1px;letter-spacing:.03em;}
.zh-lang-opt[aria-current="true"]{background:rgba(176,215,188,.10);color:var(--zh-green);}
.zh-lang-opt[aria-current="true"] .zh-name small{color:var(--zh-green);opacity:.7;}
.zh-lang-opt .zh-check{width:14px;height:14px;color:var(--zh-green);opacity:0;flex-shrink:0;transition:opacity .2s;}
.zh-lang-opt[aria-current="true"] .zh-check{opacity:1;}

/* ---------- Language switch (parcial común) ---------- */
.lang-switch{position:relative;flex-shrink:0;}
.lang-switch-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:8px 12px;border-radius:999px;
    background:rgba(245,242,236,.05);border:1px solid var(--zh-line-2);
    color:var(--zh-text);font-family:inherit;font-size:13px;font-weight:600;
    min-height:38px;cursor:pointer;
    transition:background .22s var(--zh-ease), border-color .22s var(--zh-ease), transform .15s;
}
.lang-switch-btn:hover{background:rgba(245,242,236,.08);border-color:rgba(176,215,188,.35);transform:translateY(-1px);}
.lang-switch-btn:focus-visible{outline:2px solid var(--zh-green);outline-offset:3px;}
.lang-switch-btn .flag{font-size:17px;line-height:1;}
.lang-switch-btn .code{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;}
.lang-switch-btn .chev{
    width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);margin-top:-3px;opacity:.65;transition:transform .25s var(--zh-ease);
}
.lang-switch[aria-expanded="true"] .lang-switch-btn .chev{transform:rotate(-135deg);margin-top:2px;}
.lang-switch-menu{
    position:absolute;right:0;top:calc(100% + 10px);
    min-width:240px;background:#111111;
    border:1px solid var(--zh-line-2);border-radius:14px;
    box-shadow:0 30px 80px -20px rgba(0,0,0,.75), 0 0 0 1px rgba(0,0,0,.4);
    padding:6px;display:none;flex-direction:column;gap:1px;z-index:var(--zh-z-menu);
}
.lang-switch[aria-expanded="true"] .lang-switch-menu{display:flex;}
.lang-option{
    display:flex;align-items:center;gap:10px;width:100%;
    padding:10px 12px;border-radius:9px;background:transparent;border:0;cursor:pointer;
    color:var(--zh-text);font-family:inherit;font-size:13.5px;font-weight:500;text-align:left;
    text-decoration:none;transition:background .15s;
}
.lang-option:hover{background:rgba(245,242,236,.05);}
.lang-option .flag{font-size:17px;flex-shrink:0;}
.lang-option .name{flex:1;display:flex;flex-direction:column;line-height:1.25;}
.lang-option .name small{font-size:10.5px;color:var(--zh-text-muted);font-weight:400;margin-top:1px;letter-spacing:.03em;}
.lang-option[aria-current="true"]{background:rgba(176,215,188,.10);color:var(--zh-green);}
.lang-option[aria-current="true"] .name small{color:var(--zh-green);opacity:.7;}
.lang-option .check{width:14px;height:14px;color:var(--zh-green);opacity:0;flex-shrink:0;transition:opacity .2s;}
.lang-option[aria-current="true"] .check{opacity:1;}

/* ---------- CoreConnect® — pill dark (AGENTES) ----------
Más visibilidad: dot verde "vivo" + halo verde sutil + borde verde
tenue. El CRM debe leerse antes que nada para los agentes Ziegel. */
.zh-cc{
    position:relative;
    display:inline-flex;align-items:center;gap:7px;
    height:38px;padding:0 14px 0 12px;border-radius:var(--zh-pill);
    background:#000;color:#FFF;
    border:1px solid rgba(176,215,188,.32);
    font-family:inherit;font-size:12.5px;font-weight:600;letter-spacing:-.005em;
    text-decoration:none;cursor:pointer;flex-shrink:0;
    box-shadow:
        0 2px 10px rgba(0,0,0,.5),
        0 0 0 4px rgba(176,215,188,.06),
        inset 0 1px 0 rgba(255,255,255,.05);
    transition:background .22s var(--zh-ease), transform .15s, box-shadow .25s var(--zh-ease), border-color .22s;
}
.zh-cc::before{
    /* Dot verde "vivo" - indica que es el CRM activo de Ziegel */
    content:"";width:7px;height:7px;border-radius:50%;
    background:var(--zh-green);
    box-shadow:0 0 0 0 rgba(176,215,188,.55);
    animation:zh-cc-pulse 2.4s ease-out infinite;
    flex-shrink:0;
}
@keyframes zh-cc-pulse{
    0%{box-shadow:0 0 0 0 rgba(176,215,188,.55);}
    60%{box-shadow:0 0 0 7px rgba(176,215,188,0);}
    100%{box-shadow:0 0 0 0 rgba(176,215,188,0);}
}
.zh-cc:hover{
    background:#1A1A1A;transform:translateY(-1px);
    border-color:rgba(176,215,188,.55);
    box-shadow:
        0 8px 22px rgba(0,0,0,.6),
        0 0 0 4px rgba(176,215,188,.14),
        inset 0 1px 0 rgba(255,255,255,.07);
}
.zh-cc:focus-visible{outline:2px solid var(--zh-green);outline-offset:3px;}
.zh-cc sup{font-size:8px;margin-left:1px;font-weight:500;top:-.5em;color:rgba(255,255,255,.55);}
/* Por defecto (desktop): solo label larga visible */
.zh-cc-label-long{display:inline;}
.zh-cc-label-short{display:none;}

/* ---------- Zona propietario — pill outline con icono llave ---------- */
.zh-owner{
    display:inline-flex;align-items:center;gap:7px;
    height:38px;padding:0 13px;border-radius:var(--zh-pill);
    background:transparent;color:var(--zh-text);
    border:1px solid var(--zh-line-2);
    font-family:inherit;font-size:12.5px;font-weight:600;letter-spacing:-.005em;
    text-decoration:none;cursor:pointer;flex-shrink:0;
    transition:background .22s var(--zh-ease), border-color .22s var(--zh-ease), transform .15s;
}
.zh-owner:hover{background:rgba(245,242,236,.05);border-color:var(--zh-line-3);transform:translateY(-1px);}
.zh-owner:focus-visible{outline:2px solid var(--zh-green);outline-offset:3px;}
.zh-owner svg{width:13px;height:13px;color:var(--zh-green);transition:transform .35s var(--zh-spring);}
.zh-owner:hover svg{transform:rotate(-15deg) scale(1.1);}

/* ---------- Mis alertas — pill blanca primary con shine ---------- */
.zh-alerts{
    position:relative;overflow:hidden;isolation:isolate;
    display:inline-flex;align-items:center;gap:7px;
    height:40px;padding:0 16px;border-radius:var(--zh-pill);
    background:var(--zh-text);color:var(--zh-bg-solid);
    border:0;cursor:pointer;text-decoration:none;flex-shrink:0;
    font-family:inherit;font-size:13px;font-weight:600;letter-spacing:-.005em;
    transition:transform .22s var(--zh-spring), background .22s, box-shadow .3s var(--zh-ease);
    margin-left:2px;
}
.zh-alerts:hover{
    background:var(--zh-green);transform:translateY(-1px);
    box-shadow:0 12px 28px -8px var(--zh-green-glow);
}
.zh-alerts:active{transform:translateY(0);}
.zh-alerts:focus-visible{outline:2px solid var(--zh-green);outline-offset:3px;}
.zh-alerts svg.zh-bell{width:13px;height:13px;flex-shrink:0;}
.zh-alerts .zh-spark{
    position:absolute;top:6px;right:8px;width:8px;height:8px;color:var(--zh-green);
    opacity:0;animation:zhSparkPing 5.5s ease-in-out infinite;animation-delay:2.4s;
    pointer-events:none;
}
.zh-alerts:hover .zh-spark{color:#FFFFFF;}
@keyframes zhSparkPing{
    0%,82%,100%{opacity:0;transform:scale(.4) rotate(0);}
    88%,95%{opacity:1;transform:scale(1) rotate(20deg);}
}

/* ============================================================
ACCOUNT DROPDOWNS — simulación de estado post-login
Comprador (Mis alertas) + Propietario (Zona propietario).
Al click en el botón se abre un panel mostrando la zona
del usuario "como si estuviera logueado".
============================================================ */
.zh-account{position:relative;flex-shrink:0;}
.zh-account-menu{
    position:absolute;right:0;top:calc(100% + 12px);
    width:340px;background:#111111;
    border:1px solid var(--zh-line-2);border-radius:14px;
    box-shadow:0 32px 80px -20px rgba(0,0,0,.78), 0 0 0 1px rgba(0,0,0,.4);
    padding:0;display:none;flex-direction:column;
    z-index:var(--zh-z-menu);
    opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;
    transition:opacity .22s var(--zh-ease), transform .3s var(--zh-spring);
    overflow:hidden;
}
.zh-account[aria-expanded="true"] .zh-account-menu{display:flex;opacity:1;transform:none;}

/* Toast "Iniciando sesión…" — micro-feedback al click antes de abrir */
.zh-account-toast{
    position:absolute;top:calc(100% + 12px);right:0;
    display:flex;align-items:center;gap:8px;
    padding:10px 14px;background:#0F0F0F;
    border:1px solid var(--zh-line-2);border-radius:10px;
    font-size:12.5px;font-weight:500;color:var(--zh-text-soft);
    white-space:nowrap;
    opacity:0;transform:translateY(-4px);pointer-events:none;
    transition:opacity .2s, transform .25s var(--zh-spring);
    z-index:calc(var(--zh-z-menu) - 1);
    box-shadow:0 20px 50px -16px rgba(0,0,0,.6);
}
.zh-account.is-authing .zh-account-toast{opacity:1;transform:none;}
.zh-account-toast-spinner{
    width:13px;height:13px;border-radius:50%;
    border:1.5px solid var(--zh-line-3);border-top-color:var(--zh-green);
    animation:zhSpin .8s linear infinite;
}
@keyframes zhSpin{to{transform:rotate(360deg);}}

/* Header del dropdown: avatar + nombre + email + role badge */
.zh-account-head{
    display:flex;align-items:flex-start;gap:12px;
    padding:16px 16px 14px;
    background:linear-gradient(180deg, rgba(176,215,188,.06), transparent);
    border-bottom:1px solid var(--zh-line);
}
.zh-account-avatar{
    width:42px;height:42px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg, var(--zh-green) 0%, var(--zh-green-2) 100%);
    color:var(--zh-bg-solid);
    display:flex;align-items:center;justify-content:center;
    font-family:inherit;font-weight:700;font-size:15px;letter-spacing:-.02em;
}
.zh-account-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;}
.zh-account-name{
    font-size:14.5px;font-weight:600;color:var(--zh-text);letter-spacing:-.005em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.zh-account-email{
    font-size:11.5px;font-weight:400;color:var(--zh-text-muted);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.zh-account-role{
    margin-top:5px;display:inline-flex;align-items:center;gap:5px;
    padding:2px 8px;border-radius:999px;
    background:rgba(176,215,188,.15);color:var(--zh-green);
    font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    align-self:flex-start;
}
.zh-account-role::before{
    content:"";width:5px;height:5px;border-radius:50%;background:var(--zh-green);
    box-shadow:0 0 6px var(--zh-green-glow);
}

/* Stats rápidos en 3 columnas */
.zh-account-stats{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-bottom:1px solid var(--zh-line);
}
.zh-account-stat{
    padding:14px 10px;text-align:center;
    border-right:1px solid var(--zh-line);
    cursor:pointer;
    transition:background .15s;
}
.zh-account-stat:last-child{border-right:0;}
.zh-account-stat:hover{background:rgba(245,242,236,.03);}
.zh-account-stat-value{
    display:block;font-size:19px;font-weight:700;color:var(--zh-text);
    font-family:var(--zh-font);letter-spacing:-.02em;line-height:1;
}
.zh-account-stat-label{
    display:block;margin-top:5px;font-size:10.5px;font-weight:500;
    color:var(--zh-text-muted);letter-spacing:.04em;
}

/* Recent activity card */
.zh-account-recent{
    margin:8px 6px 4px;padding:11px 12px;
    background:rgba(245,242,236,.03);border:1px solid var(--zh-line);
    border-radius:10px;cursor:pointer;
    transition:background .15s, border-color .15s;
}
.zh-account-recent:hover{background:rgba(245,242,236,.05);border-color:var(--zh-line-2);}
.zh-account-recent-label{
    display:flex;align-items:center;gap:6px;
    font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--zh-text-muted);font-weight:700;margin-bottom:6px;
}
.zh-account-recent-dot{
    width:5px;height:5px;border-radius:50%;background:var(--zh-green);
    box-shadow:0 0 6px var(--zh-green-glow);
    animation:zhDotPing 1.8s ease-in-out infinite;
}
@keyframes zhDotPing{0%,100%{opacity:1;}50%{opacity:.4;}}
.zh-account-recent-title{
    font-size:13px;font-weight:500;color:var(--zh-text);line-height:1.35;
}
.zh-account-recent-meta{
    font-size:11px;color:var(--zh-text-muted);margin-top:4px;
}

/* Lista de acciones */
.zh-account-actions{padding:6px;}
.zh-account-action{
    display:flex;align-items:center;gap:11px;
    padding:10px;border-radius:9px;
    color:var(--zh-text);text-decoration:none;
    font-family:inherit;font-size:13.5px;font-weight:500;letter-spacing:-.005em;
    transition:background .15s, padding-left .25s var(--zh-ease);
    opacity:0;transform:translateY(-3px);
    animation:zhItemIn .32s var(--zh-ease) forwards;
}
.zh-account[aria-expanded="true"] .zh-account-action:nth-of-type(1){animation-delay:.05s;}
.zh-account[aria-expanded="true"] .zh-account-action:nth-of-type(2){animation-delay:.09s;}
.zh-account[aria-expanded="true"] .zh-account-action:nth-of-type(3){animation-delay:.13s;}
.zh-account[aria-expanded="true"] .zh-account-action:nth-of-type(4){animation-delay:.17s;}
.zh-account[aria-expanded="true"] .zh-account-action:nth-of-type(5){animation-delay:.21s;}

.zh-account-action:hover{background:rgba(245,242,236,.05);padding-left:14px;}
.zh-account-action svg{width:15px;height:15px;color:var(--zh-text-muted);flex-shrink:0;transition:color .2s;}
.zh-account-action:hover svg{color:var(--zh-text);}
.zh-account-action-badge{
    margin-left:auto;font-size:10.5px;font-weight:600;
    padding:2px 7px;border-radius:999px;
    background:rgba(176,215,188,.15);color:var(--zh-green);
}
.zh-account-action-badge.is-new{background:rgba(255,138,76,.18);color:#FF8A4C;}

/* Footer: ajustes + logout */
.zh-account-foot{
    padding:6px;border-top:1px solid var(--zh-line);
    display:flex;gap:4px;
}
.zh-account-foot-link{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;
    padding:10px;border-radius:8px;
    background:transparent;border:0;cursor:pointer;
    color:var(--zh-text-soft);text-decoration:none;
    font-family:inherit;font-size:12.5px;font-weight:500;
    transition:background .15s, color .2s;
}
.zh-account-foot-link:hover{background:rgba(245,242,236,.05);color:var(--zh-text);}
.zh-account-foot-link svg{width:13px;height:13px;}
.zh-account-foot-link.is-logout:hover{color:#E08585;background:rgba(224,133,133,.08);}

/* ============================================================
CORECONNECT LOGIN DROPDOWN
El acceso CRM para agentes. Al click abre un panel con
2 vías de entrada (Google OAuth + email Ziegel con OTP) y, post-login,
pasa a estado welcome con stats + acciones rápidas.
Si el usuario marca "Recordarme", la próxima visita abre
directo en welcome (sin formulario).
============================================================ */
.zh-cc-wrap{position:relative;flex-shrink:0;}
.zh-cc-menu{
    position:absolute;right:0;top:calc(100% + 12px);
    width:360px;background:#0F0F0F;
    border:1px solid var(--zh-line-2);border-radius:14px;
    box-shadow:0 32px 80px -20px rgba(0,0,0,.78), 0 0 0 1px rgba(0,0,0,.5);
    padding:0;display:none;flex-direction:column;
    z-index:var(--zh-z-menu);
    opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;
    transition:opacity .22s var(--zh-ease), transform .3s var(--zh-spring);
    overflow:hidden;
}
.zh-cc-wrap[aria-expanded="true"] .zh-cc-menu{display:flex;opacity:1;transform:none;}

/* Header con icono de marca y eyebrow */
.zh-cc-head{
    display:flex;align-items:flex-start;gap:12px;
    padding:18px 18px 14px;
    background:linear-gradient(180deg, rgba(176,215,188,.05), transparent);
    border-bottom:1px solid var(--zh-line);
}
.zh-cc-brand-mark{
    width:38px;height:38px;border-radius:9px;flex-shrink:0;
    background:linear-gradient(135deg, #1A1A1A 0%, #000 100%);
    border:1px solid var(--zh-line-2);
    display:flex;align-items:center;justify-content:center;
    position:relative;
}
.zh-cc-brand-mark::before{
    content:"";width:12px;height:12px;border-radius:3px;
    background:linear-gradient(135deg, var(--zh-green) 0%, var(--zh-green-2) 100%);
}
.zh-cc-head-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.zh-cc-eyebrow{
    font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--zh-green);font-weight:700;
}
.zh-cc-title{
    font-size:15px;font-weight:600;color:var(--zh-text);letter-spacing:-.005em;
}
.zh-cc-subtitle{
    font-size:12px;color:var(--zh-text-muted);font-weight:400;line-height:1.4;
}

/* ===== Estado LOGIN ===== */
.zh-cc-login{padding:14px 18px 16px;display:flex;flex-direction:column;gap:10px;}
.zh-cc-wrap[data-cc-state="welcome"] .zh-cc-login{display:none;}

/* OAuth Google — solo para agentes ya registrados */
.zh-cc-oauth{
    display:flex;align-items:center;justify-content:center;gap:9px;
    width:100%;padding:12px 14px;border-radius:10px;
    background:#FFFFFF;color:#1A1A1A;border:0;cursor:pointer;
    font-family:inherit;font-size:13.5px;font-weight:600;letter-spacing:-.005em;
    transition:background .2s, transform .15s, box-shadow .25s;
}
.zh-cc-oauth:hover{background:#F5F2EC;transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(0,0,0,.4);}
.zh-cc-oauth:focus-visible{outline:2px solid var(--zh-green);outline-offset:3px;}
.zh-cc-oauth svg{width:16px;height:16px;flex-shrink:0;}
/* Microcopy aclaratorio bajo el botón Google */
.zh-cc-oauth-hint{
    font-size:11px;color:var(--zh-text-muted);text-align:center;
    margin-top:-4px;line-height:1.4;
}

/* Divider "o continúa con email" */
.zh-cc-divider{
    display:flex;align-items:center;gap:10px;margin:2px 0;
    font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--zh-text-muted);font-weight:600;
}
.zh-cc-divider::before, .zh-cc-divider::after{
    content:"";flex:1;height:1px;background:var(--zh-line);
}

/* Form fields */
.zh-cc-field{
    display:flex;flex-direction:column;gap:5px;
}
.zh-cc-field-label{
    font-size:11px;letter-spacing:.04em;text-transform:uppercase;
    color:var(--zh-text-muted);font-weight:600;
}
.zh-cc-input{
    width:100%;padding:11px 13px;border-radius:10px;
    background:rgba(245,242,236,.04);
    border:1px solid var(--zh-line-2);
    color:var(--zh-text);font-family:inherit;font-size:14px;
    transition:background .2s, border-color .2s, box-shadow .25s;
}
.zh-cc-input:hover{background:rgba(245,242,236,.06);}
.zh-cc-input:focus{
    outline:0;border-color:var(--zh-green);background:rgba(245,242,236,.06);
    box-shadow:0 0 0 3px var(--zh-green-glow);
}
.zh-cc-input::placeholder{color:var(--zh-text-muted);}

/* Input con icono show/hide para password */
.zh-cc-input-wrap{position:relative;}
.zh-cc-input-wrap .zh-cc-input{padding-right:38px;}
.zh-cc-input-toggle{
    position:absolute;right:8px;top:50%;transform:translateY(-50%);
    width:28px;height:28px;border-radius:6px;
    background:transparent;border:0;cursor:pointer;
    color:var(--zh-text-muted);
    display:flex;align-items:center;justify-content:center;
    transition:background .15s, color .2s;
}
.zh-cc-input-toggle:hover{background:rgba(245,242,236,.06);color:var(--zh-text);}
.zh-cc-input-toggle:focus-visible{outline:2px solid var(--zh-green);outline-offset:2px;}
.zh-cc-input-toggle svg{width:15px;height:15px;}
.zh-cc-input-toggle .zh-cc-eye-off{display:none;}
.zh-cc-input-toggle.is-visible .zh-cc-eye-on{display:none;}
.zh-cc-input-toggle.is-visible .zh-cc-eye-off{display:block;}

/* Forgot password link inline */
.zh-cc-field-foot{
    display:flex;align-items:center;justify-content:space-between;
    margin-top:-2px;
}

/* Link secundario "Enviar código por email" (fallback OTP) */
.zh-cc-alt{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin-top:2px;padding:9px;border-radius:8px;
    background:transparent;border:0;cursor:pointer;
    color:var(--zh-text-muted);font-family:inherit;
    font-size:12px;font-weight:500;
    transition:background .15s, color .2s;
}
.zh-cc-alt:hover{background:rgba(245,242,236,.04);color:var(--zh-green);}
.zh-cc-alt svg{width:13px;height:13px;transition:transform .25s var(--zh-spring);}
.zh-cc-alt:hover svg{transform:translateX(2px);}
.zh-cc-remember{
    display:inline-flex;align-items:center;gap:7px;cursor:pointer;
    font-size:12px;color:var(--zh-text-soft);font-weight:500;
}
.zh-cc-remember input{
    appearance:none;-webkit-appearance:none;
    width:14px;height:14px;border-radius:4px;
    background:rgba(245,242,236,.04);border:1px solid var(--zh-line-2);
    cursor:pointer;position:relative;flex-shrink:0;
    transition:background .2s, border-color .2s;
}
.zh-cc-remember input:hover{border-color:var(--zh-line-3);}
.zh-cc-remember input:checked{background:var(--zh-green);border-color:var(--zh-green);}
.zh-cc-remember input:checked::after{
    content:"";position:absolute;left:3px;top:0px;
    width:5px;height:9px;border:solid var(--zh-bg-solid);
    border-width:0 2px 2px 0;transform:rotate(45deg);
}
.zh-cc-forgot{
    font-size:12px;color:var(--zh-text-muted);font-weight:500;
    text-decoration:none;
    transition:color .2s;
}
.zh-cc-forgot:hover{color:var(--zh-green);}

/* Submit button */
.zh-cc-submit{
    display:flex;align-items:center;justify-content:center;gap:8px;
    width:100%;padding:0 14px;height:42px;border-radius:10px;
    background:var(--zh-green);color:var(--zh-bg-solid);border:0;cursor:pointer;
    font-family:inherit;font-size:13.5px;font-weight:600;letter-spacing:-.005em;
    margin-top:4px;
    transition:background .2s, transform .15s, box-shadow .25s;
    position:relative;overflow:hidden;
}
.zh-cc-submit:hover{
    background:var(--zh-green-2);transform:translateY(-1px);
    box-shadow:0 10px 24px -8px var(--zh-green-glow);
}
.zh-cc-submit:focus-visible{outline:2px solid var(--zh-cream, var(--zh-text));outline-offset:3px;}
.zh-cc-submit svg{width:14px;height:14px;}
/* Loading state */
.zh-cc-submit.is-loading{pointer-events:none;background:var(--zh-green-2);}
.zh-cc-submit-spinner{
    width:14px;height:14px;border-radius:50%;
    border:1.5px solid rgba(10,10,10,.25);border-top-color:var(--zh-bg-solid);
    animation:zhSpin .8s linear infinite;display:none;
}
.zh-cc-submit.is-loading .zh-cc-submit-label,
.zh-cc-submit.is-loading svg.zh-cc-submit-arrow{display:none;}
.zh-cc-submit.is-loading .zh-cc-submit-spinner{display:block;}

/* ===== Estado OTP (verificación del código) ===== */
.zh-cc-otp{
    display:none;padding:14px 18px 16px;flex-direction:column;gap:14px;
}
.zh-cc-wrap[data-cc-state="otp"] .zh-cc-otp{display:flex;}
.zh-cc-wrap[data-cc-state="otp"] .zh-cc-login{display:none;}

.zh-cc-otp-meta{
    font-size:12.5px;color:var(--zh-text-soft);font-weight:400;line-height:1.5;
    text-align:center;
}
.zh-cc-otp-meta strong{color:var(--zh-text);font-weight:600;}

/* 6 cajas para el código */
.zh-cc-otp-boxes{
    display:grid;grid-template-columns:repeat(6,1fr);gap:8px;
}
.zh-cc-otp-input{
    width:100%;aspect-ratio:1/1;text-align:center;
    background:rgba(245,242,236,.04);
    border:1.5px solid var(--zh-line-2);border-radius:10px;
    color:var(--zh-text);font-family:inherit;font-size:20px;font-weight:700;
    letter-spacing:0;padding:0;
    transition:border-color .2s, background .2s, transform .15s, box-shadow .25s;
    -moz-appearance:textfield;
}
.zh-cc-otp-input::-webkit-outer-spin-button,
.zh-cc-otp-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.zh-cc-otp-input:hover{border-color:var(--zh-line-3);background:rgba(245,242,236,.06);}
.zh-cc-otp-input:focus{
    outline:0;border-color:var(--zh-green);background:rgba(176,215,188,.06);
    box-shadow:0 0 0 3px var(--zh-green-glow);
    transform:translateY(-1px);
}
.zh-cc-otp-input.is-filled{
    border-color:var(--zh-green);background:rgba(176,215,188,.05);
    color:var(--zh-green);
}
.zh-cc-otp-input.is-error{
    border-color:#E08585;background:rgba(224,133,133,.08);
    animation:zhShake .35s var(--zh-ease);
}
@keyframes zhShake{
    0%,100%{transform:translateX(0);}
    20%,60%{transform:translateX(-4px);}
    40%,80%{transform:translateX(4px);}
}

/* Footer del OTP: reenviar + cambiar email */
.zh-cc-otp-foot{
    display:flex;align-items:center;justify-content:space-between;
    margin-top:2px;
}
.zh-cc-otp-resend{
    font-size:12px;color:var(--zh-text-muted);font-weight:500;
    background:transparent;border:0;cursor:pointer;font-family:inherit;
    padding:0;
    transition:color .2s;
}
.zh-cc-otp-resend:not(:disabled):hover{color:var(--zh-green);}
.zh-cc-otp-resend:disabled{cursor:default;opacity:.7;}
.zh-cc-otp-resend strong{color:var(--zh-text-soft);font-weight:600;}
.zh-cc-otp-change{
    display:inline-flex;align-items:center;gap:5px;
    font-size:12px;color:var(--zh-text-muted);font-weight:500;
    background:transparent;border:0;cursor:pointer;font-family:inherit;
    padding:0;
    transition:color .2s;
}
.zh-cc-otp-change:hover{color:var(--zh-text);}
.zh-cc-otp-change svg{width:11px;height:11px;}

/* ===== Banner / Card destacada de captación ===== */
.zh-cc-join{
    margin:8px 8px 10px;padding:14px 14px 12px;
    border-radius:12px;
    background:linear-gradient(135deg, rgba(176,215,188,.12) 0%, rgba(143,196,160,.06) 100%);
    border:1px solid rgba(176,215,188,.25);
    display:flex;align-items:center;gap:12px;text-decoration:none;
    position:relative;overflow:hidden;
    transition:transform .25s var(--zh-spring), border-color .2s, background .25s;
}
.zh-cc-join::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(105deg, transparent 30%, rgba(176,215,188,.18) 50%, transparent 70%);
    transform:translateX(-100%);
    transition:transform .8s ease;
}
.zh-cc-join:hover{
    transform:translateY(-1px);border-color:rgba(176,215,188,.45);
}
.zh-cc-join:hover::before{transform:translateX(100%);}
.zh-cc-join-ico{
    width:38px;height:38px;border-radius:10px;flex-shrink:0;
    background:linear-gradient(135deg, var(--zh-green) 0%, var(--zh-green-2) 100%);
    color:var(--zh-bg-solid);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 12px -2px var(--zh-green-glow);
    position:relative;z-index:1;
}
.zh-cc-join-ico svg{width:18px;height:18px;}
.zh-cc-join-text{
    flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;
    position:relative;z-index:1;
}
.zh-cc-join-eyebrow{
    font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--zh-green);font-weight:700;
}
.zh-cc-join-title{
    font-size:13.5px;font-weight:600;color:var(--zh-text);letter-spacing:-.005em;
    line-height:1.3;
}
.zh-cc-join-sub{
    font-size:11px;color:var(--zh-text-muted);font-weight:400;line-height:1.4;
    margin-top:1px;
}
.zh-cc-join-arrow{
    width:16px;height:16px;color:var(--zh-green);flex-shrink:0;
    transition:transform .3s var(--zh-spring);
    position:relative;z-index:1;
}
.zh-cc-join:hover .zh-cc-join-arrow{transform:translateX(3px);}

/* En estado welcome no tiene sentido mostrar la captación — ya está dentro */
.zh-cc-wrap[data-cc-state="welcome"] .zh-cc-join{display:none;}

/* ===== Estado WELCOME (post-login) ===== */
.zh-cc-welcome{display:none;padding:0;}
.zh-cc-wrap[data-cc-state="welcome"] .zh-cc-welcome{display:flex;flex-direction:column;}

.zh-cc-welcome-head{
    display:flex;align-items:center;gap:12px;
    padding:14px 18px;border-bottom:1px solid var(--zh-line);
}
.zh-cc-welcome-avatar{
    width:40px;height:40px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg, var(--zh-green) 0%, var(--zh-green-2) 100%);
    color:var(--zh-bg-solid);
    display:flex;align-items:center;justify-content:center;
    font-family:inherit;font-weight:700;font-size:14px;letter-spacing:-.02em;
    position:relative;
}
/* Dot online */
.zh-cc-welcome-avatar::after{
    content:"";position:absolute;bottom:0;right:0;
    width:11px;height:11px;border-radius:50%;background:#1ABC54;
    border:2px solid #0F0F0F;
}
.zh-cc-welcome-greeting{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1;}
.zh-cc-welcome-hi{
    font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--zh-green);font-weight:700;
}
.zh-cc-welcome-name{
    font-size:14.5px;font-weight:600;color:var(--zh-text);letter-spacing:-.005em;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Stats agente: 3 columnas */
.zh-cc-welcome-stats{
    display:grid;grid-template-columns:repeat(3,1fr);
    border-bottom:1px solid var(--zh-line);
}
.zh-cc-welcome-stat{
    padding:13px 8px;text-align:center;
    border-right:1px solid var(--zh-line);cursor:pointer;
    transition:background .15s;
    /* Aseguro que las <a> dentro hereden todo */
    color:inherit;text-decoration:none;
}
.zh-cc-welcome-stat:last-child{border-right:0;}
.zh-cc-welcome-stat:hover{background:rgba(245,242,236,.03);}
.zh-cc-welcome-stat-value{
    display:block;font-size:19px;font-weight:700;color:var(--zh-text);
    letter-spacing:-.02em;line-height:1;
}
.zh-cc-welcome-stat-label{
    display:block;margin-top:5px;font-size:10.5px;font-weight:500;
    color:var(--zh-text-muted);letter-spacing:.04em;
}

/* Acciones rápidas (grid 2x2) */
.zh-cc-welcome-actions{
    display:grid;grid-template-columns:1fr 1fr;gap:1px;
    background:var(--zh-line);
    border-bottom:1px solid var(--zh-line);
}
.zh-cc-welcome-action{
    display:flex;flex-direction:column;align-items:center;gap:6px;
    padding:14px 8px;background:#0F0F0F;cursor:pointer;
    color:var(--zh-text);text-decoration:none;font-family:inherit;
    transition:background .15s;
}
.zh-cc-welcome-action:hover{background:#161616;}
.zh-cc-welcome-action svg{width:18px;height:18px;color:var(--zh-green);}
.zh-cc-welcome-action-label{
    font-size:11.5px;font-weight:500;color:var(--zh-text-soft);letter-spacing:-.005em;
}

/* CTA principal: ir al CRM completo
Specificity boost para vencer el reset .zh a {color:inherit} */
.zh .zh-cc-welcome-cta{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin:8px;padding:0 14px;height:42px;border-radius:10px;
    background:var(--zh-green);color:var(--zh-bg-solid);text-decoration:none;
    font-family:inherit;font-size:13px;font-weight:600;
    transition:background .2s, transform .15s, box-shadow .25s;
}
.zh .zh-cc-welcome-cta:hover{
    background:var(--zh-green-2);color:var(--zh-bg-solid);transform:translateY(-1px);
    box-shadow:0 8px 20px -6px var(--zh-green-glow);
}
.zh .zh-cc-welcome-cta svg{width:14px;height:14px;}

/* Footer welcome: ajustes + logout */
.zh-cc-welcome-foot{
    padding:6px;border-top:1px solid var(--zh-line);
    display:flex;gap:4px;
}
.zh-cc-welcome-foot-link{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    padding:9px;border-radius:7px;background:transparent;border:0;cursor:pointer;
    color:var(--zh-text-soft);text-decoration:none;
    font-family:inherit;font-size:11.5px;font-weight:500;
    transition:background .15s, color .2s;
}
.zh-cc-welcome-foot-link:hover{background:rgba(245,242,236,.05);color:var(--zh-text);}
.zh-cc-welcome-foot-link svg{width:12px;height:12px;}
.zh-cc-welcome-foot-link.is-logout:hover{color:#E08585;background:rgba(224,133,133,.08);}

/* ---------- Hamburger ---------- */
.zh-burger{
    position:relative;display:none;
    width:42px;height:42px;border-radius:50%;
    background:transparent;border:1px solid var(--zh-line-2);
    color:var(--zh-text);cursor:pointer;flex-shrink:0;
    align-items:center;justify-content:center;
    transition:background .22s var(--zh-ease), border-color .22s var(--zh-ease);
}
.zh-burger:hover{background:rgba(245,242,236,.05);border-color:var(--zh-line-3);}
.zh-burger:focus-visible{outline:2px solid var(--zh-green);outline-offset:3px;}
.zh-burger-icon{position:relative;width:18px;height:14px;display:block;}
.zh-burger-icon span{
    position:absolute;left:0;right:0;height:1.8px;background:currentColor;border-radius:1px;
    transition:transform .3s var(--zh-spring), opacity .2s;
}
.zh-burger-icon span:nth-child(1){top:0;}
.zh-burger-icon span:nth-child(2){top:50%;transform:translateY(-50%);}
.zh-burger-icon span:nth-child(3){bottom:0;}
.zh-burger.is-open .zh-burger-icon span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.zh-burger.is-open .zh-burger-icon span:nth-child(2){opacity:0;}
.zh-burger.is-open .zh-burger-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ==========================================================
RESPONSIVE — orden de "abandono" según prioridad
========================================================== */
@media (max-width:1280px){
    /* La pill "Zona propietario" se reduce a icono solo (igual que owner del v3) */
    .zh-owner .zh-owner-label{display:none;}
    .zh-owner{width:38px;padding:0;justify-content:center;}
}
@media (max-width:1080px){
    .zh-burger{display:inline-flex;}
    /* Tablet: tabs colapsan al hamburger, pero accesos de rol siguen visibles */
    .zh-cc-label-long{display:none;}
    .zh-cc-label-short{display:inline;}
    .zh-cc{padding:0 12px;font-size:12px;letter-spacing:.02em;}
    .zh-owner{display:none;}
}
@media (max-width:760px){
    /* MOBILE = identidad pura. Solo logo + hamburger. Todo lo demás vive
en el drawer con un diseño dedicado, no aplastando elementos desktop. */
    :root{--zh-h:60px;}
    .lang-switch{display:none;}
    .zh-lang{display:none;}
    .zh-cc{display:none;}
    .zh-alerts{display:none;}
}

/* ==========================================================
MOBILE DRAWER
========================================================== */
.zh-drawer{position:fixed;inset:0;z-index:var(--zh-z-drawer);pointer-events:none;overflow:hidden;}
.zh-drawer-bg{
    position:absolute;inset:0;background:rgba(10,10,10,.55);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    opacity:0;transition:opacity .32s var(--zh-ease);
}
.zh-drawer-panel{
    position:absolute;top:0;right:0;bottom:0;width:min(420px,100vw);
    background:var(--zh-bg-solid);border-left:1px solid var(--zh-line);
    display:flex;flex-direction:column;
    transform:translateX(100%);
    transition:transform .42s var(--zh-spring);
    overscroll-behavior:contain;
}
.zh-drawer.is-open{pointer-events:auto;}
.zh-drawer.is-open .zh-drawer-bg{opacity:1;}
.zh-drawer.is-open .zh-drawer-panel{transform:translateX(0);}

.zh-drawer-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 22px;border-bottom:1px solid var(--zh-line);flex-shrink:0;
}
.zh-drawer-close{
    width:40px;height:40px;border-radius:50%;
    background:rgba(245,242,236,.04);border:1px solid var(--zh-line-2);
    color:var(--zh-text);display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .2s, transform .3s var(--zh-spring);
}
.zh-drawer-close:hover{background:rgba(245,242,236,.10);transform:rotate(90deg);}
.zh-drawer-close svg{width:14px;height:14px;}

.zh-drawer-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;}

.zh-drawer-search{
    display:flex;align-items:center;gap:10px;
    margin:18px 22px 8px;padding:14px 16px;
    background:rgba(245,242,236,.05);
    border:1px solid var(--zh-line);border-radius:14px;
    color:var(--zh-text-muted);font-size:14px;font-weight:500;
    text-decoration:none;
    transition:background .2s, border-color .2s;
}
.zh-drawer-search:hover{background:rgba(245,242,236,.08);border-color:var(--zh-line-2);}
.zh-drawer-search svg{width:16px;height:16px;color:var(--zh-text-muted);}
.zh-drawer-search-kbd{
    margin-left:auto;padding:3px 7px;border-radius:5px;
    background:rgba(245,242,236,.08);font-size:10.5px;font-weight:600;
    color:var(--zh-text-soft);letter-spacing:.02em;
}

.zh-drawer-section{padding:18px 22px;}
.zh-drawer-section + .zh-drawer-section{border-top:1px solid var(--zh-line);}
.zh-drawer-label{
    font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--zh-text-muted);font-weight:700;margin:0 0 12px;
}
.zh-drawer-link{
    display:flex;align-items:center;gap:14px;
    padding:14px 4px;min-height:52px;
    color:var(--zh-text);text-decoration:none;
    font-family:inherit;font-size:16px;font-weight:500;letter-spacing:-.005em;
    border-radius:10px;
    transition:background .15s, padding-left .25s var(--zh-ease);
}
.zh-drawer-link:hover{background:rgba(245,242,236,.04);padding-left:12px;padding-right:12px;}
.zh-drawer-link[aria-current="page"]{color:var(--zh-green);font-weight:600;}
.zh-drawer-link[aria-current="page"]::before{
    content:"";display:block;width:3px;height:18px;background:var(--zh-green);
    border-radius:2px;margin-right:-6px;margin-left:-12px;
}
.zh-drawer-link[aria-current="page"]:hover{padding-left:8px;}
.zh-drawer-link svg.zh-drawer-link-ico{width:18px;height:18px;color:var(--zh-text-muted);flex-shrink:0;transition:color .2s;}
.zh-drawer-link:hover svg.zh-drawer-link-ico{color:var(--zh-text);}
.zh-drawer-link[aria-current="page"] svg.zh-drawer-link-ico{color:var(--zh-green);}
.zh-drawer-link-arrow{margin-left:auto;width:14px;height:14px;color:var(--zh-text-muted);transition:transform .3s var(--zh-spring), color .2s;}
.zh-drawer-link:hover .zh-drawer-link-arrow{transform:translateX(4px);color:var(--zh-text);}

/* === v44 · Contraste del drawer en mobile === */
.zh-drawer-panel,.zh-drawer-body,.zh-drawer-section{opacity:1;}
.zh-drawer-link{color:#F8F5EF !important;}
.zh-drawer-link[aria-current="page"]{color:var(--zh-green) !important;}
.zh-drawer-link svg.zh-drawer-link-ico{color:#A8A59D !important;}
.zh-drawer-link[aria-current="page"] svg.zh-drawer-link-ico{color:var(--zh-green) !important;}
.zh-drawer-link-arrow{color:#8E8B83 !important;}
.zh-drawer-label{color:#AEABA3 !important;}
.zh-drawer-search{background:rgba(245,242,236,.07) !important;border-color:var(--zh-line-2) !important;color:#CDCAC3 !important;}
.zh-drawer-search svg{color:#CDCAC3 !important;}
.zh-drawer-role{color:#BCB9B1 !important;}

/* === v44 · Botón flotante "Que me llame un agente" (mobile) === */
/* === v45 · FAQ acordeon (SEO vendedores) === */
/* === v48 · Reseñas de Google === */
.vd-reviews .vd-section-head{margin-bottom:30px;}
.vd-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:880px;margin:0 auto;}
.vd-rev-card{display:flex;flex-direction:column;align-items:center;gap:9px;padding:26px 20px;border:1px solid var(--vd-line-2);border-radius:18px;background:var(--vd-card);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;}
.vd-rev-card:hover{border-color:var(--vd-green-2);box-shadow:0 14px 32px -16px rgba(20,20,15,.25);transform:translateY(-2px);}
.vd-rev-head{display:flex;align-items:center;gap:8px;}
.vd-rev-g{width:18px;height:18px;flex-shrink:0;}
.vd-rev-office{font-size:14.5px;font-weight:600;color:var(--vd-text);letter-spacing:-.01em;}
.vd-rev-body{display:none;flex-direction:column;align-items:center;gap:6px;}
.vd-rev-card.has-data .vd-rev-body{display:flex;}
.vd-rev-num{font-size:40px;font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--vd-text);}
.vd-rev-stars{display:flex;gap:2px;}
.vd-rev-stars svg{width:16px;height:16px;display:block;}
.vd-rev-stars .is-on svg{fill:#FBBC04;}
.vd-rev-stars .is-off svg{fill:var(--vd-line-3);}
.vd-rev-count{font-size:12.5px;color:var(--vd-text-soft);}
.vd-rev-cta{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--vd-green-dark);margin-top:2px;}
.vd-rev-cta svg{width:13px;height:13px;transition:transform .2s;}
.vd-rev-card:hover .vd-rev-cta svg{transform:translateX(3px);}
@media (max-width:680px){
    .vd-rev-grid{grid-template-columns:1fr;max-width:400px;}
    .vd-rev-card{padding:22px;}
    .vd-rev-num{font-size:36px;}
}
.vd-faq-section{padding-top:8px;}
.vd-faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.vd-faq-item{border:1px solid var(--vd-line-2);border-radius:14px;background:var(--vd-card);overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.vd-faq-item[open]{border-color:var(--vd-green-2);box-shadow:0 6px 20px -10px rgba(20,20,15,.18);}
.vd-faq-q{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 20px;font-size:16px;font-weight:600;color:var(--vd-text);letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;transition:color .18s;}
.vd-faq-q::-webkit-details-marker{display:none;}
.vd-faq-q>h3{flex:1;margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;}
.vd-faq-q:hover{color:var(--vd-green-dark);}
.vd-faq-chev{width:20px;height:20px;flex-shrink:0;color:var(--vd-text-soft);transition:transform .28s var(--vd-spring),color .2s;}
.vd-faq-item[open] .vd-faq-chev{transform:rotate(180deg);color:var(--vd-green-dark);}
.vd-faq-a{padding:0 20px 19px;font-size:14.5px;line-height:1.62;color:var(--vd-text-soft);}
.vd-faq-item[open] .vd-faq-a{animation:vd-faq-reveal .3s var(--vd-ease);}
@keyframes vd-faq-reveal{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
@media (max-width:600px){
    .vd-faq-q{padding:15px 16px;font-size:14.5px;gap:10px;}
    .vd-faq-a{padding:0 16px 16px;font-size:13.5px;}
}
/* === v48 · Accesibilidad === */
.vd-skip{position:absolute;left:-9999px;top:0;z-index:3000;background:var(--vd-green-dark);color:#fff;padding:11px 20px;border-radius:0 0 12px 0;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;}
.vd-skip:focus{left:0;outline:3px solid var(--vd-green-2);outline-offset:2px;}
#contenido:focus{outline:none;}
@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}
.vd-fab{position:fixed;right:16px;bottom:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:10px;height:54px;padding:0 19px 0 14px;border-radius:999px;background:var(--vd-green-dark);color:#fff;border:0;cursor:pointer;font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.005em;box-shadow:0 12px 30px -6px rgba(46,87,64,.58),0 2px 8px rgba(20,20,15,.22);opacity:0;visibility:hidden;transform:translateY(24px) scale(.9);pointer-events:none;transition:opacity .3s var(--vd-ease),transform .4s var(--vd-spring),visibility .3s,box-shadow .22s;-webkit-tap-highlight-color:transparent;}
.vd-fab.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;}
.vd-fab-ico{position:relative;display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;}
.vd-fab-ico svg{width:21px;height:21px;}
.vd-fab-ico::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #fff;animation:vd-fab-pulse 2.4s var(--vd-ease) infinite;}
.vd-fab-text{white-space:nowrap;}
@keyframes vd-fab-pulse{0%{transform:scale(.78);opacity:.55;}70%,100%{transform:scale(1.5);opacity:0;}}
.vd-fab:hover{box-shadow:0 16px 36px -6px rgba(46,87,64,.65),0 2px 8px rgba(20,20,15,.25);}
.vd-fab.is-visible:active{transform:translateY(0) scale(.95);}
@media (max-width:600px){.vd-fab{height:50px;font-size:13.5px;padding:0 16px 0 12px;}}
.zh-drawer-role{
    margin-left:auto;padding:3px 9px;border-radius:999px;
    background:rgba(245,242,236,.06);
    font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
    color:var(--zh-text-soft);
}

/* CoreConnect destacado en mobile (sigue siendo daily-use para agentes) */
.zh-drawer-cc{
    display:flex;align-items:center;gap:12px;
    margin:0 22px 14px;padding:14px 16px;
    background:#000;border:1px solid #1A1A1A;border-radius:12px;
    color:#FFF;text-decoration:none;
    font-family:inherit;font-size:14px;font-weight:600;
    box-shadow:0 4px 14px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.04);
    transition:background .2s, transform .15s;
}
.zh-drawer-cc:hover{background:#1A1A1A;transform:translateY(-1px);}
.zh-drawer-cc svg{width:18px;height:18px;color:var(--zh-green);flex-shrink:0;}
.zh-drawer-cc sup{font-size:9px;font-weight:500;color:rgba(255,255,255,.5);}
.zh-drawer-cc-arrow{margin-left:auto;color:rgba(255,255,255,.55);}

.zh-drawer-foot{
    padding:16px 22px calc(22px + env(safe-area-inset-bottom));
    border-top:1px solid var(--zh-line);flex-shrink:0;
}
.zh-drawer-ctas{display:flex;gap:8px;margin-bottom:14px;}
.zh-drawer-cta{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    height:48px;border-radius:12px;text-decoration:none;
    font-family:inherit;font-size:14px;font-weight:600;letter-spacing:-.005em;
    transition:background .22s, color .22s, border-color .22s, transform .15s;
}
.zh-drawer-cta-secondary{background:transparent;color:var(--zh-text);border:1px solid var(--zh-line-2);}
.zh-drawer-cta-secondary:hover{background:rgba(245,242,236,.05);border-color:var(--zh-line-3);}
/* Specificity boost para vencer el reset .zh-drawer a {color:inherit} */
.zh-drawer .zh-drawer-cta-primary{background:var(--zh-text);color:var(--zh-bg-solid);border:0;}
.zh-drawer .zh-drawer-cta-primary:hover{background:var(--zh-green);color:var(--zh-bg-solid);transform:translateY(-1px);}

.zh-drawer-langs{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.zh-drawer-lang{
    height:42px;border-radius:10px;
    background:transparent;border:1px solid var(--zh-line-2);
    color:var(--zh-text);font-family:inherit;font-size:18px;
    cursor:pointer;transition:background .2s, border-color .2s, transform .15s;
}
.zh-drawer-lang:hover{background:rgba(245,242,236,.06);border-color:var(--zh-line-3);transform:translateY(-1px);}
.zh-drawer-lang[aria-current="true"]{background:rgba(176,215,188,.12);border-color:rgba(176,215,188,.40);}

@media (max-width:560px){
    .zh-drawer-link{min-height:56px;font-size:16.5px;}
    .zh-drawer-search{margin:14px 18px 6px;padding:16px;font-size:15px;}
    .zh-drawer-section{padding:18px;}
    .zh-drawer-cc{margin-left:18px;margin-right:18px;}
    .zh-drawer-foot{padding-left:18px;padding-right:18px;}
}

/* ============================================================
MOBILE DRAWER HERO — accesos por rol al top, sin scroll
============================================================
Las 3 entradas (Comprador / Propietario / Agente) viven en cards
prominentes nada más abrir el drawer. Cero scroll para llegar a ellas.
Cada card tiene su tratamiento visual (matchea el del header desktop). */
.zh-drawer-roles{
    padding:14px 16px 10px;
    display:flex;flex-direction:column;gap:8px;
    border-bottom:1px solid var(--zh-line);
}
.zh-drawer-roles-label{
    font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--zh-text-muted);font-weight:700;margin:0 0 4px;
}
.zh-drawer-role-card{
    display:flex;align-items:center;gap:12px;
    padding:12px 14px;border-radius:12px;
    font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.005em;
    text-decoration:none;cursor:pointer;
    transition:transform .22s var(--zh-spring), background .22s, border-color .22s, box-shadow .25s;
    position:relative;overflow:hidden;min-height:54px;
}
.zh-drawer-role-card:active{transform:scale(.98);}
.zh-drawer-role-card-ico{
    width:36px;height:36px;border-radius:10px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
}
.zh-drawer-role-card-ico svg{width:17px;height:17px;}
.zh-drawer-role-card-text{flex:1;min-width:0;}
.zh-drawer-role-card-title{font-size:14.5px;font-weight:600;letter-spacing:-.005em;line-height:1.2;}
/* Subs ocultos en mobile en Comprador y Propietario (el título basta).
En cambio el card AGENTE (CoreConnect) sí muestra sub: es el panel
diario de los agentes Ziegel y debe estar destacado sin ambigüedad. */
.zh-drawer-role-card.is-buyer .zh-drawer-role-card-sub,
.zh-drawer-role-card.is-owner .zh-drawer-role-card-sub{display:none;}
.zh-drawer-role-card.is-agent .zh-drawer-role-card-sub{
    display:block;font-size:11.5px;font-weight:400;line-height:1.35;
    letter-spacing:0;margin-top:2px;
    color:rgba(245,242,236,.55);
}
.zh-drawer-role-card-arrow{
    width:16px;height:16px;flex-shrink:0;opacity:.4;
    transition:transform .25s var(--zh-spring), opacity .2s;
}
.zh-drawer-role-card:hover .zh-drawer-role-card-arrow,
.zh-drawer-role-card:active .zh-drawer-role-card-arrow{transform:translateX(3px);opacity:.8;}

/* Card COMPRADOR (Mis alertas) — pill blanca primary inverted al card */
.zh-drawer-role-card.is-buyer{
    background:var(--zh-text);color:var(--zh-bg-solid);
    box-shadow:0 8px 24px -10px rgba(245,242,236,.25);
}
.zh-drawer-role-card.is-buyer:hover{background:var(--zh-green);}
.zh-drawer-role-card.is-buyer .zh-drawer-role-card-ico{
    background:rgba(10,10,10,.06);color:var(--zh-bg-solid);
}
.zh-drawer-role-card.is-buyer .zh-drawer-role-card-sub{color:rgba(10,10,10,.55);}
.zh-drawer-role-card.is-buyer .zh-drawer-role-card-arrow{color:var(--zh-bg-solid);}

/* Card PROPIETARIO — outline */
.zh-drawer-role-card.is-owner{
    background:transparent;color:var(--zh-text);
    border:1px solid var(--zh-line-2);
}
.zh-drawer-role-card.is-owner:hover{
    background:rgba(245,242,236,.04);border-color:var(--zh-line-3);
}
.zh-drawer-role-card.is-owner .zh-drawer-role-card-ico{
    background:rgba(176,215,188,.10);color:var(--zh-green);
}
.zh-drawer-role-card.is-owner .zh-drawer-role-card-sub{color:var(--zh-text-muted);}

/* Card AGENTE (CoreConnect) — negra branded con halo verde + min-height extra
Es el panel diario del agente Ziegel. Debe destacarse claramente
del resto de cards (Comprador/Propietario) sin ambigüedad. */
.zh-drawer-role-card.is-agent{
    background:#000;color:#FFF;
    border:1px solid rgba(176,215,188,.34);
    min-height:64px;padding:14px;
    box-shadow:
        0 10px 28px -10px rgba(0,0,0,.7),
        0 0 0 4px rgba(176,215,188,.07),
        inset 0 1px 0 rgba(255,255,255,.05);
}
.zh-drawer-role-card.is-agent:hover{
    background:#1A1A1A;border-color:rgba(176,215,188,.55);
    box-shadow:
        0 14px 32px -10px rgba(0,0,0,.75),
        0 0 0 4px rgba(176,215,188,.14),
        inset 0 1px 0 rgba(255,255,255,.07);
}
.zh-drawer-role-card.is-agent .zh-drawer-role-card-ico{
    background:rgba(176,215,188,.14);color:var(--zh-green);
}
.zh-drawer-role-card.is-agent .zh-drawer-role-card-arrow{color:rgba(245,242,236,.7);}
/* Tag "CRM" inline en el título de CoreConnect — refuerza qué es */
.zh-drawer-role-card.is-agent .zh-drawer-role-card-title{
    display:flex;align-items:center;gap:7px;flex-wrap:wrap;
}
.zh-drawer-role-card-tag{
    font-size:9px;letter-spacing:.10em;font-weight:700;text-transform:uppercase;
    padding:2px 6px;border-radius:999px;
    background:rgba(176,215,188,.16);color:var(--zh-green);
    border:1px solid rgba(176,215,188,.22);
}

/* Badge "Estamos contratando" small en agente card */
.zh-drawer-role-card-badge{
    font-size:9.5px;letter-spacing:.04em;font-weight:600;
    padding:2px 7px;border-radius:999px;
    background:rgba(176,215,188,.15);color:var(--zh-green);
    margin-left:6px;
}

/* ============================================================
DRAWER FEATURED — Valorador (vendedores) y Únete (agentes)
Cards prominentes para los 2 lead magnets más importantes:
· Valorador → captación de vendedores ("cuánto vale mi casa")
· Únete    → captación de agentes inmobiliarios
============================================================ */
.zh-drawer-featured{
    padding:14px 16px 14px;display:flex;flex-direction:column;gap:8px;
    border-bottom:1px solid var(--zh-line);
}
.zh-drawer-featured-label{
    font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--zh-text-muted);font-weight:700;margin:0 0 4px;
}

.zh-drawer-featured-card{
    position:relative;overflow:hidden;
    display:flex;align-items:center;gap:12px;
    padding:14px 14px;border-radius:12px;
    text-decoration:none;cursor:pointer;min-height:62px;
    transition:transform .22s var(--zh-spring), background .22s, border-color .22s, box-shadow .25s;
    border:1px solid;
}
.zh-drawer-featured-card:active{transform:scale(.98);}
.zh-drawer-featured-ico{
    width:38px;height:38px;border-radius:10px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
}
.zh-drawer-featured-ico svg{width:18px;height:18px;}
.zh-drawer-featured-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.zh-drawer-featured-title{
    display:flex;align-items:center;gap:7px;
    font-size:14.5px;font-weight:600;color:var(--zh-text);letter-spacing:-.005em;
    line-height:1.2;
}
.zh-drawer-featured-sub{
    font-size:11.5px;color:var(--zh-text-muted);font-weight:400;line-height:1.4;
}
.zh-drawer-featured-arrow{
    width:15px;height:15px;color:var(--zh-text-muted);flex-shrink:0;
    transition:transform .25s var(--zh-spring), color .2s;
}
.zh-drawer-featured-card:hover .zh-drawer-featured-arrow,
.zh-drawer-featured-card:active .zh-drawer-featured-arrow{transform:translateX(3px);color:var(--zh-text);}

/* Valorador — verde con gradient sutil + shine al hover */
.zh-drawer-featured-card.is-valorador{
    background:linear-gradient(135deg, rgba(176,215,188,.12) 0%, rgba(143,196,160,.05) 100%);
    border-color:rgba(176,215,188,.28);
}
.zh-drawer-featured-card.is-valorador:hover{
    border-color:rgba(176,215,188,.48);
}
.zh-drawer-featured-card.is-valorador::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(105deg, transparent 30%, rgba(176,215,188,.18) 50%, transparent 70%);
    transform:translateX(-100%);transition:transform .8s ease;
}
.zh-drawer-featured-card.is-valorador:hover::before{transform:translateX(100%);}
.zh-drawer-featured-card.is-valorador .zh-drawer-featured-ico{
    background:linear-gradient(135deg, var(--zh-green) 0%, var(--zh-green-2) 100%);
    color:var(--zh-bg-solid);
    box-shadow:0 4px 12px -2px var(--zh-green-glow);
}
.zh-drawer-featured-card.is-valorador .zh-drawer-featured-title{position:relative;z-index:1;}
.zh-drawer-featured-card.is-valorador .zh-drawer-featured-sub{position:relative;z-index:1;}
.zh-drawer-featured-card.is-valorador .zh-drawer-featured-arrow{
    position:relative;z-index:1;color:var(--zh-green);
}

/* Únete — recruiting con badge naranja sutil */
.zh-drawer-featured-card.is-join{
    background:rgba(255,138,76,.05);
    border-color:rgba(255,138,76,.22);
}
.zh-drawer-featured-card.is-join:hover{
    background:rgba(255,138,76,.08);border-color:rgba(255,138,76,.40);
}
.zh-drawer-featured-card.is-join .zh-drawer-featured-ico{
    background:linear-gradient(135deg, #FF8A4C 0%, #E8743D 100%);
    color:#FFFFFF;
    box-shadow:0 4px 12px -2px rgba(255,138,76,.35);
}
.zh-drawer-featured-card.is-join .zh-drawer-featured-arrow{color:#FF8A4C;}

/* Badge "Contratando" inline en el título de Únete */
.zh-drawer-featured-badge{
    font-size:9px;letter-spacing:.08em;font-weight:700;text-transform:uppercase;
    padding:2px 7px;border-radius:999px;
    background:rgba(255,138,76,.18);color:#FF8A4C;
}
.zh-drawer-featured-badge.is-green{
    background:rgba(176,215,188,.18);color:var(--zh-green);
}

/* Search bar y secciones siguiendo, con más respiración */
@media (max-width:760px){
    .zh-drawer-search{
        margin:18px 18px 10px;padding:15px 16px;
        border-radius:12px;
    }
    .zh-drawer-section{padding:18px;}
    .zh-drawer-link{
        min-height:52px;font-size:15.5px;font-weight:500;
        border-radius:10px;
    }
    /* En mobile redesigned, la sección "Tu acceso" del drawer original
se oculta porque ya tenemos las hero cards arriba */
    .zh-drawer-section.is-legacy-access{display:none;}
    .zh-drawer-cc{display:none;}  /* CoreConnect ya está en hero card */
}

/* ============================================================
MOBILE REDESIGN — bottom sheets + tipografía refinada
============================================================
Los dropdowns (Mis alertas / Zona propietario / CoreConnect)
pasan a ser bottom sheets full-width con pull handle al estilo
nativo iOS/Android. Más espacio respiratorio, mejor jerarquía,
touch targets generosos. */

@media (max-width:760px){
    /* === ⌘ K oculto en mobile — es shortcut de teclado, mobile no lo tiene === */
    .zh-drawer-search-kbd{display:none;}
    .zh-drawer-search{font-size:15px;}

    /* === BOTTOM SHEET para los account dropdowns y CoreConnect === */
    /* Backdrop con blur detrás del sheet */
    .zh-account[aria-expanded="true"]::before,
    .zh-cc-wrap[aria-expanded="true"]::before{
        content:"";position:fixed;inset:0;
        background:rgba(10,10,10,.55);
        backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
        z-index:calc(var(--zh-z-menu) - 1);
        animation:zhSheetFadeIn .28s var(--zh-ease) both;
    }
    @keyframes zhSheetFadeIn{from{opacity:0;}to{opacity:1;}}

    /* Convertir dropdowns a bottom sheets */
    .zh-account-menu,
    .zh-cc-menu{
        position:fixed !important;
        top:auto;left:0;right:0;bottom:0;
        width:100% !important;
        max-width:100vw;
        border-radius:22px 22px 0 0;
        transform:translateY(100%);
        transform-origin:bottom center;
        max-height:88vh;overflow-y:auto;
        box-shadow:0 -24px 80px rgba(0,0,0,.7);
        padding-bottom:env(safe-area-inset-bottom);
        border:0;border-top:1px solid var(--zh-line-2);
    }
    .zh-account[aria-expanded="true"] .zh-account-menu,
    .zh-cc-wrap[aria-expanded="true"] .zh-cc-menu{
        transform:translateY(0) !important;
        opacity:1 !important;
    }

    /* Pull handle visible arriba del sheet */
    .zh-account-menu::before,
    .zh-cc-menu::before{
        content:"";display:block;
        width:38px;height:4px;border-radius:2px;
        background:var(--zh-line-3);
        margin:10px auto 6px;
    }

    /* Cabeceras de los sheets con más aire */
    .zh-account-head,
    .zh-cc-head{padding:14px 20px 18px;}
    .zh-account-avatar{width:48px;height:48px;font-size:17px;}
    .zh-account-name{font-size:16px;}
    .zh-account-email{font-size:12.5px;}
    .zh-account-role{margin-top:7px;font-size:10.5px;padding:3px 10px;}

    /* Stats grid: cajas más altas, números más grandes */
    .zh-account-stats{}
    .zh-account-stat{padding:18px 8px;}
    .zh-account-stat-value{font-size:24px;}
    .zh-account-stat-label{font-size:11px;margin-top:6px;}

    /* Recent activity card más respirada */
    .zh-account-recent{margin:12px 12px 8px;padding:14px 16px;}
    .zh-account-recent-title{font-size:14px;line-height:1.4;}
    .zh-account-recent-meta{font-size:11.5px;margin-top:6px;}

    /* Lista de acciones — items más altos para tap cómodo */
    .zh-account-actions{padding:10px 12px;}
    .zh-account-action{padding:14px 12px;font-size:15px;min-height:54px;}
    .zh-account-action svg{width:18px;height:18px;}
    .zh-account-action-badge{font-size:11.5px;padding:3px 9px;}

    /* Footer del sheet */
    .zh-account-foot{padding:10px 12px calc(14px + env(safe-area-inset-bottom));}
    .zh-account-foot-link{padding:14px;font-size:14px;min-height:50px;}
    .zh-account-foot-link svg{width:15px;height:15px;}

    /* ===== CoreConnect mobile sheet ===== */
    .zh-cc-head{display:flex;align-items:center;}
    .zh-cc-brand-mark{width:44px;height:44px;}
    .zh-cc-brand-mark::before{width:14px;height:14px;}
    .zh-cc-title{font-size:17px;}
    .zh-cc-subtitle{font-size:13px;}
    .zh-cc-eyebrow{font-size:10.5px;}

    /* Form fields más respirados */
    .zh-cc-login{padding:18px 20px 20px;gap:14px;}
    .zh-cc-oauth{padding:14px 16px;font-size:14.5px;}
    .zh-cc-oauth-hint{font-size:12px;}
    .zh-cc-divider{font-size:11px;margin:6px 0;}
    .zh-cc-input{padding:14px 14px;font-size:16px;}  /* 16px previene zoom iOS */
    .zh-cc-input-wrap .zh-cc-input{padding-right:42px;}
    .zh-cc-input-toggle{width:32px;height:32px;}
    .zh-cc-field-label{font-size:11.5px;}
    .zh-cc-submit{height:52px;font-size:14.5px;border-radius:12px;}
    .zh-cc-remember{font-size:13px;}
    .zh-cc-forgot{font-size:13px;}
    .zh-cc-alt{padding:14px;font-size:13px;}

    /* OTP boxes más grandes para tap */
    .zh-cc-otp{padding:18px 20px 20px;}
    .zh-cc-otp-boxes{gap:9px;}
    .zh-cc-otp-input{font-size:24px;border-radius:12px;}
    .zh-cc-otp-meta{font-size:13.5px;line-height:1.55;}
    .zh-cc-otp-resend, .zh-cc-otp-change{font-size:13px;}

    /* Card "Conviértete en agente" mobile */
    .zh-cc-join{margin:10px 12px 16px;padding:16px;}
    .zh-cc-join-ico{width:44px;height:44px;}
    .zh-cc-join-ico svg{width:20px;height:20px;}
    .zh-cc-join-title{font-size:14.5px;}
    .zh-cc-join-sub{font-size:12px;}
    .zh-cc-join-eyebrow{font-size:10.5px;}

    /* Welcome state mobile */
    .zh-cc-welcome-head{padding:16px 20px;}
    .zh-cc-welcome-avatar{width:46px;height:46px;font-size:16px;}
    .zh-cc-welcome-name{font-size:16px;}
    .zh-cc-welcome-hi{font-size:11.5px;}
    .zh-cc-welcome-stat{padding:18px 8px;}
    .zh-cc-welcome-stat-value{font-size:24px;}
    .zh-cc-welcome-stat-label{font-size:11px;}
    .zh-cc-welcome-action{padding:18px 8px;min-height:64px;}
    .zh-cc-welcome-action svg{width:20px;height:20px;}
    .zh-cc-welcome-action-label{font-size:12.5px;}
    .zh-cc-welcome-cta{height:52px;margin:12px;border-radius:12px;font-size:14px;}
    .zh-cc-welcome-foot{padding:8px 10px calc(12px + env(safe-area-inset-bottom));}
    .zh-cc-welcome-foot-link{padding:13px;font-size:12.5px;min-height:46px;}
}

@media (prefers-reduced-motion: no-preference){
    .zh{animation:zhFadeIn .5s var(--zh-ease) both;}
    @keyframes zhFadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
}

/* ============================================================
ZIEGEL · VENDER — Tema CLARO proptech
============================================================ */
:root{
    --vd-bg:#FAFAF7;
    --vd-bg-2:#F2F0E9;
    --vd-bg-3:#E8E5DC;
    --vd-card:#FFFFFF;
    --vd-card-2:#FCFBF7;
    --vd-line:rgba(20,20,15,.08);
    --vd-line-2:rgba(20,20,15,.14);
    --vd-line-3:rgba(20,20,15,.22);
    --vd-text:#14140F;
    --vd-text-2:#3A3A35;
    --vd-text-soft:#6E6B65;
    --vd-text-muted:#74726B;
    --vd-green:#B0D7BC;
    --vd-green-2:#8FC4A0;
    --vd-green-dark:#2E5740;
    --vd-green-bg:rgba(176,215,188,.20);
    --vd-green-bg-soft:rgba(176,215,188,.10);
    --vd-warn:#D2693A;
    --vd-shadow-sm:0 1px 2px rgba(20,20,15,.04);
    --vd-shadow:0 8px 24px -8px rgba(20,20,15,.10);
    --vd-shadow-lg:0 30px 60px -20px rgba(20,20,15,.18);
    --vd-r-sm:10px;
    --vd-r:14px;
    --vd-r-lg:20px;
    --vd-r-xl:28px;
    --vd-r-pill:999px;
    --vd-ease:cubic-bezier(.22,.65,.3,1);
    --vd-spring:cubic-bezier(.34,1.56,.64,1);
}
.vd, .vd *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body.vd-body{
    background:var(--vd-bg);color:var(--vd-text);overflow-x:clip;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,sans-serif;
    margin:0;padding:0;line-height:1.55;
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.vd-container{max-width:1240px;margin:0 auto;padding:0 32px;}
.vd-container[id], .vd [id]{scroll-margin-top:92px;}
@media (max-width:760px){ .vd-container{padding:0 20px;} }

.vd-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:54px;padding:0 26px;border-radius:var(--vd-r-pill);font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.005em;text-decoration:none;cursor:pointer;border:0;transition:transform .2s var(--vd-spring), background .22s var(--vd-ease), box-shadow .25s var(--vd-ease), border-color .22s;white-space:nowrap;}
.vd-cta svg{width:16px;height:16px;flex-shrink:0;}
.vd-cta.is-primary{background:var(--vd-text);color:var(--vd-card);box-shadow:0 8px 22px -8px rgba(20,20,15,.30);}
.vd-cta.is-primary:hover{transform:translateY(-2px);background:var(--vd-green-dark);box-shadow:0 14px 32px -8px rgba(46,87,64,.32);}
.vd-cta.is-green{background:var(--vd-green);color:var(--vd-text);box-shadow:0 10px 28px -10px rgba(176,215,188,.50);}
.vd-cta.is-green:hover{transform:translateY(-2px);background:var(--vd-green-2);box-shadow:0 14px 32px -10px rgba(143,196,160,.55);}
.vd-cta.is-ghost{background:transparent;color:var(--vd-text);border:1px solid var(--vd-line-2);}
.vd-cta.is-ghost:hover{background:var(--vd-card);border-color:var(--vd-line-3);transform:translateY(-1px);}
.vd-cta.is-sm{height:44px;padding:0 18px;font-size:13.5px;}

.vd-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vd-green-dark);padding:6px 12px;border-radius:999px;background:var(--vd-green-bg);border:1px solid rgba(176,215,188,.36);}
.vd-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--vd-green-2);box-shadow:0 0 0 0 rgba(143,196,160,.5);animation:vd-dot-pulse 2.4s ease-out infinite;}
@keyframes vd-dot-pulse{0%{box-shadow:0 0 0 0 rgba(143,196,160,.55);}60%{box-shadow:0 0 0 8px rgba(143,196,160,0);}100%{box-shadow:0 0 0 0 rgba(143,196,160,0);}}

/* HERO */
.vd-hero{position:relative;padding:80px 0 0;background:var(--vd-bg);overflow:hidden;}
.vd-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;min-height:min(680px, calc(100vh - 80px - 72px));padding-bottom:80px;}
.vd-hero-text{max-width:560px;}
.vd-hero-h1{font-size:clamp(33px,4.4vw,52px);line-height:1.06;letter-spacing:-.030em;font-weight:600;margin:20px 0 22px;color:var(--vd-text);}
.vd-hero-h1 em{font-style:italic;color:var(--vd-green-dark);font-weight:600;position:relative;display:inline-block;}
.vd-hero-h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.16em;background:var(--vd-green);border-radius:999px;opacity:.5;z-index:-1;}
.vd-hero-lead{font-size:18px;line-height:1.5;color:var(--vd-text-soft);margin:0 0 36px;font-weight:400;}
.vd-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.vd-hero-trust{margin-top:28px;display:flex;align-items:center;gap:14px;font-size:13px;color:var(--vd-text-soft);}
.vd-hero-trust-avatars{display:flex;}
.vd-hero-trust-avatar{width:30px;height:30px;border-radius:50%;border:2px solid var(--vd-bg);margin-left:-8px;display:inline-flex;align-items:center;justify-content:center;color:var(--vd-text-2);font-size:10.5px;font-weight:600;}
.vd-hero-trust-avatar:nth-child(1){background:linear-gradient(135deg, #B0D7BC 0%, #8FC4A0 100%);color:#fff;}
.vd-hero-trust-avatar:nth-child(2){background:linear-gradient(135deg, #C8C5BE 0%, #A8A59E 100%);color:#fff;}
.vd-hero-trust-avatar:nth-child(3){background:linear-gradient(135deg, #E5DDC8 0%, #C8BFA0 100%);color:var(--vd-text);}
.vd-hero-trust-avatar:nth-child(4){background:linear-gradient(135deg, #2E5740 0%, #1A3025 100%);color:#fff;}
.vd-hero-trust strong{color:var(--vd-text);font-weight:600;}
.vd-hero-trust-stars{color:#E5A800;letter-spacing:1px;font-size:14px;}

.vd-hero-visual{position:relative;height:100%;display:flex;align-items:center;justify-content:center;min-height:520px;}
.vd-hero-photo{position:relative;width:100%;height:560px;border-radius:var(--vd-r-xl);overflow:hidden;box-shadow:var(--vd-shadow-lg);background:var(--vd-bg-3);}
.vd-hero-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.vd-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(20,20,15,.55) 100%);pointer-events:none;}
.vd-hero-photo-tag{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--vd-text);}
.vd-hero-photo-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vd-green-2);}
.vd-hero-photo-info{position:absolute;bottom:24px;left:24px;max-width:54%;color:#fff;}
.vd-hero-photo-info p{font-size:20px;letter-spacing:-.015em;font-weight:600;margin:0 0 4px;letter-spacing:-.01em;}
.vd-hero-photo-info span{font-size:13px;color:rgba(255,255,255,.78);}

.vd-hero-badge{position:absolute;bottom:22px;right:22px;background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-lg);padding:16px 20px;box-shadow:var(--vd-shadow-lg);min-width:218px;transform:rotate(-1.5deg);z-index:2;}
.vd-hero-badge-eyebrow{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vd-green-dark);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.vd-hero-badge-eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--vd-green-2);}
.vd-hero-badge-price{font-size:30px;letter-spacing:-.025em;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--vd-text);margin-bottom:4px;}
.vd-hero-badge-meta{font-size:11.5px;color:var(--vd-text-soft);}
.vd-hero-badge-bar{margin-top:12px;height:5px;border-radius:999px;background:var(--vd-bg-3);position:relative;overflow:hidden;}
.vd-hero-badge-bar::before{content:"";position:absolute;left:25%;right:20%;top:0;bottom:0;background:linear-gradient(90deg, var(--vd-green) 0%, var(--vd-green-2) 100%);border-radius:999px;}

@media (max-width:1024px){
    .vd-hero-inner{grid-template-columns:1fr;gap:48px;min-height:auto;padding-bottom:64px;}
    .vd-hero-visual{max-width:540px;margin:0 auto;min-height:auto;width:100%;}
    .vd-hero-photo{height:500px;}
    .vd-hero-badge{bottom:16px;right:16px;}
}

@media (max-width:560px){
    .vd-hero{padding-top:44px;}
    .vd-hero-inner{gap:0;padding-bottom:40px;}
    /* Foto del hero oculta en mobile — era decorativa, no aporta.
El hero queda como mensaje + CTAs directo, y enlaza con la franja de cifras. */
    .vd-hero-visual{display:none;}
    .vd-cta{height:52px;font-size:14.5px;padding:0 22px;}
    .vd-hero-h1{margin:14px 0 16px;line-height:1.08;}
    .vd-hero-lead{font-size:15px;margin-bottom:24px;line-height:1.5;}
    .vd-hero-ctas{flex-direction:column;align-items:stretch;gap:10px;}
    .vd-hero-promise{border-radius:14px;align-items:flex-start;line-height:1.4;margin-top:16px;}
    .vd-hero-trust{flex-wrap:wrap;gap:10px;margin-top:22px;}
    /* Tipografía de secciones a medida de mobile */
    .vd-section-title{font-size:27px;}
    .vd-final-title{font-size:26px;}
    .vd-risk-title{font-size:25px;}
}

/* TRUST BAR */
.vd-trust{border-top:1px solid var(--vd-line);border-bottom:1px solid var(--vd-line);background:var(--vd-bg-2);padding:28px 0;}
.vd-trust-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.vd-trust-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--vd-text-muted);flex-shrink:0;}
.vd-trust-logos{display:flex;align-items:center;gap:36px;flex-wrap:wrap;font-size:18px;font-weight:400;color:var(--vd-text-soft);letter-spacing:-.01em;}
.vd-trust-logos span{display:inline-flex;align-items:center;gap:4px;opacity:.7;transition:opacity .2s, color .2s;cursor:default;}
.vd-trust-logos span:hover{opacity:1;color:var(--vd-text);}
@media (max-width:640px){
    .vd-trust-inner{justify-content:center;}
    .vd-trust-logos{font-size:15px;gap:24px;justify-content:center;}
}

/* SECTION */
.vd-section{padding:120px 0;}
.vd-section.is-tight{padding:88px 0;}
.vd-section.is-alt{background:var(--vd-bg-2);}
.vd-section.is-dark{background:#14140F;color:#F5F2EC;}
@media (max-width:760px){
    .vd-section{padding:20px 0;}
    .vd-section.is-tight{padding:40px 0;}
    .vd-section-head{margin-bottom:40px;}
}
.vd-section-head{margin-bottom:64px;max-width:760px;}
.vd-section-head.is-center{margin-left:auto;margin-right:auto;text-align:center;}
/* El lead tiene max-width propio: hay que recentrarlo dentro del head centrado */
.vd-section-head.is-center .vd-section-lead{margin-left:auto;margin-right:auto;}
.vd-section-eyebrow{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vd-green-dark);margin-bottom:18px;}
.vd-section-title{font-size:clamp(28px,4vw,52px);line-height:1.06;letter-spacing:-.030em;font-weight:600;margin:0 0 20px;color:var(--vd-text);text-wrap:balance;}
.vd-hero-h1,.vd-risk-title,.vd-pillar-title,.vd-final-title{text-wrap:balance;}
.vd-section-lead,.vd-hero-lead{text-wrap:pretty;}
.vd-section-title em{font-style:italic;color:var(--vd-green-dark);font-weight:600;}
.vd-section-lead{font-size:17px;line-height:1.55;color:var(--vd-text-soft);margin:0;max-width:640px;}
.vd-section.is-dark .vd-section-title{color:#F5F2EC;}
.vd-section.is-dark .vd-section-lead{color:rgba(245,242,236,.7);}
.vd-section.is-dark .vd-section-eyebrow{color:var(--vd-green);}
@media (max-width:760px){
    .vd-section-head{margin-bottom:40px;}
}
/* PILLAR */
.vd-pillar{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:80px 0;border-bottom:1px solid var(--vd-line);}
.vd-pillar:last-child{border-bottom:0;}
.vd-pillar.is-reverse .vd-pillar-text{order:2;}
.vd-pillar-num{font-style:italic;font-weight:400;font-size:14px;color:var(--vd-text-muted);letter-spacing:.04em;margin-bottom:14px;}
.vd-pillar-num::before{content:"";display:inline-block;width:24px;height:1px;background:var(--vd-text-muted);vertical-align:middle;margin-right:10px;}
.vd-pillar-title{font-size:clamp(28px,3.2vw,42px);line-height:1.05;letter-spacing:-.030em;font-weight:600;margin:0 0 18px;color:var(--vd-text);}
.vd-pillar-title em{font-style:italic;color:var(--vd-green-dark);font-weight:600;}
.vd-pillar-text-body{font-size:16px;line-height:1.6;color:var(--vd-text-2);margin:0 0 24px;}
.vd-pillar-stats{display:flex;gap:32px;margin:24px 0;flex-wrap:wrap;}
.vd-pillar-stat{display:flex;flex-direction:column;gap:2px;}
.vd-pillar-stat-value{font-size:32px;font-weight:600;letter-spacing:-.01em;color:var(--vd-text);line-height:1;}
.vd-pillar-stat-value em{font-style:italic;color:var(--vd-green-dark);}
.vd-pillar-stat-label{font-size:12px;color:var(--vd-text-muted);margin-top:6px;letter-spacing:.02em;}
.vd-pillar-bullets{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:10px;}
.vd-pillar-bullets li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--vd-text-2);line-height:1.5;}
.vd-pillar-bullets li::before{content:"";flex-shrink:0;width:18px;height:18px;border-radius:50%;background:var(--vd-green);margin-top:2px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2314140F' stroke-width='3' stroke-linecap='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:11px;background-position:center;background-repeat:no-repeat;}

.vd-pv{position:relative;width:100%;aspect-ratio:1/1;max-width:560px;}

/* PILLAR 1: Mapa */
.vd-pv-map{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-xl);padding:32px;box-shadow:var(--vd-shadow);position:relative;overflow:hidden;}
.vd-pv-map-bg{position:absolute;inset:32px;border-radius:var(--vd-r-lg);background:radial-gradient(circle at 60% 35%, var(--vd-green-bg-soft) 0%, transparent 50%), var(--vd-bg-2);background-image:radial-gradient(circle at 60% 35%, var(--vd-green-bg-soft) 0%, transparent 50%), linear-gradient(rgba(20,20,15,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(20,20,15,.05) 1px, transparent 1px);background-size:auto, 28px 28px, 28px 28px;}
.vd-pv-map-pin{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--vd-green-2);border:2.5px solid var(--vd-card);box-shadow:0 4px 10px rgba(46,87,64,.30), 0 0 0 0 rgba(143,196,160,.5);animation:vd-pin-pulse 3s ease-out infinite;z-index:2;}
.vd-pv-map-pin.is-big{width:18px;height:18px;background:var(--vd-text);border-color:var(--vd-card);box-shadow:0 6px 16px rgba(20,20,15,.40);animation:none;z-index:3;}
@keyframes vd-pin-pulse{0%{box-shadow:0 4px 10px rgba(46,87,64,.30), 0 0 0 0 rgba(143,196,160,.5);}60%{box-shadow:0 4px 10px rgba(46,87,64,.30), 0 0 0 14px rgba(143,196,160,0);}100%{box-shadow:0 4px 10px rgba(46,87,64,.30), 0 0 0 0 rgba(143,196,160,0);}}
.vd-pv-map-cards{position:absolute;left:24px;bottom:24px;right:24px;display:flex;gap:8px;z-index:4;}
.vd-pv-map-card{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-sm);padding:9px 11px;box-shadow:var(--vd-shadow-sm);flex:1;min-width:0;display:flex;align-items:center;gap:8px;}
.vd-pv-map-card-avatar{position:relative;width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;background:linear-gradient(135deg, var(--vd-green-2) 0%, var(--vd-green-dark) 100%);}
.vd-pv-map-card-flag{position:absolute;right:-4px;bottom:-3px;font-size:11px;line-height:1;background:var(--vd-card);border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(20,20,15,.18);}
.vd-pv-map-card-meta{min-width:0;flex:1;}
.vd-pv-map-card-name{font-size:11px;font-weight:600;color:var(--vd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em;}
.vd-pv-map-card-city{font-size:9.5px;color:var(--vd-text-muted);}

/* PILLAR 2: CRM */
.vd-pv-crm{background:#14140F;color:#F5F2EC;border-radius:var(--vd-r-xl);padding:24px;box-shadow:var(--vd-shadow-lg);position:relative;overflow:hidden;width:100%;aspect-ratio:auto;}
.vd-pv-crm-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(245,242,236,.10);}
.vd-pv-crm-head-mark{width:24px;height:24px;border-radius:7px;background:linear-gradient(135deg, var(--vd-green) 0%, var(--vd-green-2) 100%);display:flex;align-items:center;justify-content:center;}
.vd-pv-crm-head-mark::before{content:"";width:8px;height:8px;background:#14140F;border-radius:1.5px;}
.vd-pv-crm-head-title{font-size:13px;font-weight:600;letter-spacing:-.005em;}
.vd-pv-crm-head-title small{font-size:9px;color:rgba(245,242,236,.4);font-weight:500;letter-spacing:.10em;text-transform:uppercase;display:block;margin-bottom:1px;}
.vd-pv-crm-tabs{margin-left:auto;display:flex;gap:4px;background:rgba(245,242,236,.05);padding:3px;border-radius:8px;}
.vd-pv-crm-tab{padding:5px 10px;border-radius:6px;font-size:10.5px;font-weight:600;color:rgba(245,242,236,.55);}
.vd-pv-crm-tab.is-active{background:rgba(245,242,236,.10);color:#F5F2EC;}
.vd-pv-crm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;}
.vd-pv-crm-stat{background:rgba(245,242,236,.04);border:1px solid rgba(245,242,236,.06);border-radius:10px;padding:12px 14px;}
.vd-pv-crm-stat-label{font-size:9px;color:rgba(245,242,236,.5);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:6px;}
.vd-pv-crm-stat-value{font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1;display:flex;align-items:baseline;gap:6px;}
.vd-pv-crm-stat-delta{font-size:10px;color:var(--vd-green);font-weight:600;letter-spacing:0;}
.vd-pv-crm-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:rgba(245,242,236,.03);border-radius:10px;margin-bottom:7px;font-size:11.5px;}
.vd-pv-crm-row-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg, var(--vd-green) 0%, var(--vd-green-2) 100%);color:#14140F;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;}
.vd-pv-crm-row-text{flex:1;min-width:0;}
.vd-pv-crm-row-text strong{color:#F5F2EC;font-weight:600;display:block;font-size:11.5px;letter-spacing:-.005em;}
.vd-pv-crm-row-text small{color:rgba(245,242,236,.55);font-size:10.5px;}
.vd-pv-crm-row-tag{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--vd-green-bg);color:var(--vd-green);white-space:nowrap;}

/* PILLAR 3: Demand */
.vd-pv-demand{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-xl);padding:28px;box-shadow:var(--vd-shadow);position:relative;overflow:hidden;aspect-ratio:auto;}
.vd-pv-demand-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;}
.vd-pv-demand-h-title{font-size:22px;letter-spacing:-.015em;font-weight:600;letter-spacing:-.01em;line-height:1;color:var(--vd-text);}
.vd-pv-demand-h-title small{display:block;font-family:'Inter';font-size:10px;color:var(--vd-text-muted);letter-spacing:.10em;text-transform:uppercase;font-weight:700;margin-bottom:8px;}
.vd-pv-demand-h-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--vd-green-dark);font-weight:600;}
.vd-pv-demand-h-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--vd-green-2);box-shadow:0 0 0 0 rgba(143,196,160,.5);animation:vd-dot-pulse 1.8s ease-out infinite;}
.vd-pv-demand-feed{display:flex;flex-direction:column;gap:8px;}
.vd-pv-demand-item{display:flex;align-items:center;gap:12px;padding:13px;background:var(--vd-bg-2);border-radius:var(--vd-r);border:1px solid var(--vd-line);}
.vd-pv-demand-item.is-fresh{background:linear-gradient(90deg, var(--vd-green-bg-soft) 0%, var(--vd-bg-2) 100%);border-color:rgba(176,215,188,.36);}
.vd-pv-demand-item-ico{width:30px;height:30px;border-radius:8px;flex-shrink:0;background:var(--vd-card);border:1px solid var(--vd-line);display:flex;align-items:center;justify-content:center;color:var(--vd-green-dark);}
.vd-pv-demand-item-ico svg{width:13px;height:13px;}
.vd-pv-demand-item-text{flex:1;min-width:0;}
.vd-pv-demand-item-text strong{display:block;font-size:12px;color:var(--vd-text);font-weight:600;letter-spacing:-.005em;}
.vd-pv-demand-item-text small{font-size:10.5px;color:var(--vd-text-muted);}
.vd-pv-demand-item-time{font-size:10px;color:var(--vd-text-muted);white-space:nowrap;}
.vd-pv-demand-item.is-fresh .vd-pv-demand-item-time{color:var(--vd-green-dark);font-weight:600;}

/* PILLAR 4: Mosaic */
.vd-pv-mosaic{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;width:100%;aspect-ratio:1.1/1;}
.vd-pv-mosaic-cell{position:relative;border-radius:var(--vd-r);overflow:hidden;box-shadow:var(--vd-shadow);background:var(--vd-bg-3);}
.vd-pv-mosaic-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.vd-pv-mosaic-cell.is-main img, .vd-pv-mosaic-cell.is-drone img, .vd-pv-mosaic-cell.is-video img{z-index:0;}
.vd-pv-mosaic-cell::after{content:attr(data-label);position:absolute;bottom:10px;left:12px;z-index:3;font-size:10px;color:#fff;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(20,15,10,.55);backdrop-filter:blur(6px);padding:4px 9px;border-radius:999px;}
.vd-pv-mosaic-cell.is-main{grid-column:span 2;grid-row:span 2;background:linear-gradient(135deg, #B89968 0%, #8A6E4B 60%, #5E4B33 100%);}

.vd-pv-mosaic-cell.is-drone{background:linear-gradient(180deg, #8AB5C8 0%, #6F9AAE 50%, #4E7889 100%);}

.vd-pv-mosaic-cell.is-plano{background:#FCFBF7;border:1px solid var(--vd-line);}
.vd-pv-mosaic-cell.is-plano::after{color:var(--vd-text);background:rgba(255,255,255,.85);}
.vd-pv-mosaic-cell.is-plano::before{content:"";position:absolute;inset:18%;background:linear-gradient(90deg, var(--vd-text-2) 0 1.5px, transparent 1.5px 100%) 0 0/100% 50%, linear-gradient(180deg, var(--vd-text-2) 0 1.5px, transparent 1.5px 100%) 0 0/30% 100%, linear-gradient(180deg, var(--vd-text-2) 0 1.5px, transparent 1.5px 100%) 70% 0/30% 100%;background-repeat:no-repeat;opacity:.7;}
.vd-pv-mosaic-cell.is-video{background:linear-gradient(135deg, #2E2C26 0%, #14140F 100%);}
.vd-pv-mosaic-cell.is-video::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(20,15,10,.55);backdrop-filter:blur(8px);z-index:1;}
.vd-pv-mosaic-cell.is-video .vd-pv-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:0;height:0;border-left:14px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:3px;z-index:2;pointer-events:none;}

@media (max-width:980px){
    .vd-pillar{grid-template-columns:1fr;gap:40px;padding:56px 0;}
    .vd-pillar.is-reverse .vd-pillar-text{order:0;}
    .vd-pv{max-width:100%;aspect-ratio:auto;}
    .vd-pv-map, .vd-pv-demand{padding:24px;}
    .vd-pv-mosaic{aspect-ratio:1.4/1;max-width:520px;margin:0 auto;}
}
@media (max-width:560px){
    .vd-pillar{gap:32px;padding:44px 0;}
    .vd-pillar-title{font-size:28px;}
    /* Stats como lista vertical — labels largos legibles */
    .vd-pillar-stats{flex-direction:column;gap:0;margin:20px 0;}
    .vd-pillar-stat{flex-direction:row;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--vd-line);}
    .vd-pillar-stat:first-child{border-top:1px solid var(--vd-line);}
    .vd-pillar-stat-value{font-size:23px;flex-shrink:0;}
    .vd-pillar-stat-label{flex:1;margin-top:0;font-size:12.5px;line-height:1.35;}
    .vd-pv-crm, .vd-pv-demand, .vd-pv-focus{padding:20px;}
}

/* DEADLINE */
.vd-deadline{position:relative;background:linear-gradient(135deg, #14140F 0%, #1F1F18 100%);color:#F5F2EC;padding:88px 56px;border-radius:var(--vd-r-xl);display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;overflow:hidden;}
.vd-deadline::before{content:"";position:absolute;top:-50%;right:-30%;width:80%;height:200%;background:radial-gradient(ellipse, var(--vd-green-bg-soft) 0%, transparent 60%);pointer-events:none;}
.vd-deadline-eyebrow{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vd-green);margin-bottom:14px;position:relative;}
.vd-deadline-num{font-size:clamp(70px,11vw,140px);line-height:.9;letter-spacing:-.06em;font-weight:700;letter-spacing:-.04em;color:#F5F2EC;margin:0 0 14px;position:relative;}
.vd-deadline-num em{font-style:italic;color:var(--vd-green);font-weight:400;}
.vd-deadline-num small{font-family:'Inter';font-size:.18em;font-weight:500;color:rgba(245,242,236,.5);letter-spacing:.04em;display:block;margin-top:6px;}
.vd-deadline-text{font-size:16px;color:rgba(245,242,236,.75);line-height:1.55;max-width:440px;position:relative;}
.vd-deadline-text strong{color:#F5F2EC;font-weight:600;}
.vd-deadline-chart{background:rgba(245,242,236,.04);border:1px solid rgba(245,242,236,.10);border-radius:var(--vd-r-lg);padding:28px;position:relative;}
.vd-deadline-chart-title{font-size:11px;letter-spacing:.10em;text-transform:uppercase;font-weight:700;color:rgba(245,242,236,.55);margin-bottom:20px;}
.vd-deadline-chart-bar{display:flex;align-items:center;gap:14px;margin-bottom:16px;font-size:13px;color:rgba(245,242,236,.85);}
.vd-deadline-chart-bar:last-child{margin-bottom:0;}
.vd-deadline-chart-bar-label{width:130px;flex-shrink:0;font-weight:500;}
.vd-deadline-chart-bar-track{flex:1;height:10px;background:rgba(245,242,236,.06);border-radius:999px;position:relative;overflow:hidden;}
.vd-deadline-chart-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;transition:width 1.2s var(--vd-spring);}
.vd-deadline-chart-bar-fill.is-ziegel{background:linear-gradient(90deg, var(--vd-green) 0%, var(--vd-green-2) 100%);}
.vd-deadline-chart-bar-fill.is-tradi{background:rgba(245,242,236,.20);}
.vd-deadline-chart-bar-fill.is-solo{background:rgba(210,105,58,.50);}
.vd-deadline-chart-bar-value{font-style:italic;font-size:18px;color:#F5F2EC;font-weight:400;width:80px;text-align:right;flex-shrink:0;}
@media (max-width:880px){
    .vd-deadline{grid-template-columns:1fr;padding:64px 32px;gap:36px;}
    .vd-deadline-num{font-size:80px;}
}
@media (max-width:480px){
    .vd-deadline{padding:48px 24px;}
    .vd-deadline-chart{padding:20px;}
    .vd-deadline-chart-bar-label{width:90px;font-size:11px;}
    .vd-deadline-chart-bar-value{font-size:15px;width:60px;}
}

/* COMPARE */
.vd-compare-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.vd-cc{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-xl);padding:32px;position:relative;transition:transform .25s var(--vd-ease), box-shadow .25s var(--vd-ease), border-color .25s;}
.vd-cc.is-featured{background:linear-gradient(180deg, #FFFFFF 0%, #FCFAF2 100%);border-color:rgba(176,215,188,.6);box-shadow:0 20px 50px -20px rgba(46,87,64,.16), 0 0 0 1px rgba(176,215,188,.2);}
.vd-cc:hover{transform:translateY(-4px);box-shadow:var(--vd-shadow-lg);border-color:var(--vd-line-2);}
.vd-cc.is-featured:hover{border-color:rgba(176,215,188,.8);}
.vd-cc-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--vd-text);color:var(--vd-card);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:5px 14px;border-radius:999px;box-shadow:0 6px 16px -6px rgba(20,20,15,.30);}
.vd-cc.is-featured .vd-cc-badge{background:linear-gradient(135deg, var(--vd-green-2) 0%, var(--vd-green-dark) 100%);color:#fff;}
.vd-cc-tag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--vd-text-muted);margin-bottom:8px;}
.vd-cc-name{font-size:22px;letter-spacing:-.020em;font-weight:600;letter-spacing:-.015em;margin:0 0 6px;color:var(--vd-text);line-height:1.05;}
.vd-cc-name em{font-style:italic;color:var(--vd-green-dark);}
.vd-cc-tagline{font-size:13px;color:var(--vd-text-soft);margin:0 0 24px;}
.vd-cc-divider{height:1px;background:var(--vd-line);margin:24px -32px;}
.vd-cc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.vd-cc-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--vd-text-2);line-height:1.45;}
.vd-cc-list li small{display:block;color:var(--vd-text-muted);font-size:11.5px;margin-top:2px;}
.vd-cc-mark{flex-shrink:0;width:18px;height:18px;border-radius:50%;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.vd-cc-mark.is-yes{background:var(--vd-green);color:var(--vd-text);}
.vd-cc-mark.is-no{background:rgba(210,105,58,.16);color:var(--vd-warn);}
.vd-cc-mark.is-meh{background:rgba(20,20,15,.06);color:var(--vd-text-muted);}
.vd-cc-foot{margin-top:28px;padding-top:24px;border-top:1px dashed var(--vd-line);font-size:12px;color:var(--vd-text-soft);}
.vd-cc-foot strong{color:var(--vd-text);display:block;font-size:14.5px;margin-bottom:4px;font-weight:600;}
@media (max-width:980px){
    .vd-compare-cards{grid-template-columns:1fr;gap:30px;}
    .vd-cc{padding:28px 24px;}
}

/* PROCESS */
.vd-process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative;}
.vd-process-step{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-lg);padding:28px;position:relative;transition:transform .25s, box-shadow .25s, border-color .25s;}
.vd-process-step:hover{transform:translateY(-3px);box-shadow:var(--vd-shadow);border-color:var(--vd-line-2);}
.vd-process-num{font-style:italic;font-size:48px;font-weight:700;color:var(--vd-green-2);line-height:.8;margin-bottom:16px;letter-spacing:-.02em;}
.vd-process-title{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--vd-text);margin:0 0 8px;line-height:1.25;}
.vd-process-text{font-size:13px;color:var(--vd-text-soft);line-height:1.55;margin:0;}
.vd-process-time{margin-top:14px;font-size:11px;color:var(--vd-green-dark);letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding-top:14px;border-top:1px solid var(--vd-line);}
@media (max-width:880px){ .vd-process{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .vd-process{grid-template-columns:1fr;} }

/* TESTIMONIALS */
.vd-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.vd-tq{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-xl);overflow:hidden;transition:transform .25s, box-shadow .25s, border-color .25s;}
.vd-tq:hover{transform:translateY(-3px);box-shadow:var(--vd-shadow);border-color:var(--vd-line-2);}
.vd-tq-photo{height:220px;position:relative;overflow:hidden;background:var(--vd-bg-3);}
.vd-tq-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.vd-tq-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,20,15,0) 50%, rgba(20,20,15,.35) 100%);}




.vd-tq-photo-tag{position:absolute;top:14px;left:14px;z-index:2;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--vd-text);}
.vd-tq-result{position:absolute;bottom:14px;right:14px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.04em;padding:6px 12px;border-radius:999px;background:var(--vd-green);color:var(--vd-text);box-shadow:0 6px 14px -4px rgba(46,87,64,.30);}
.vd-tq-body{padding:28px;}
.vd-tq-text{font-size:18px;font-weight:500;line-height:1.45;color:var(--vd-text);margin:0 0 24px;letter-spacing:-.005em;}
.vd-tq-author{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--vd-line);}
.vd-tq-avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg, var(--vd-green) 0%, var(--vd-green-2) 100%);color:var(--vd-text);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;}
.vd-tq-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.vd-tq-name{font-size:14px;font-weight:600;color:var(--vd-text);letter-spacing:-.005em;}
.vd-tq-info{font-size:12px;color:var(--vd-text-muted);}
@media (max-width:980px){ .vd-testimonials{grid-template-columns:1fr;gap:16px;} }

/* FINAL CTA */
.vd-final{margin:80px 0 96px;position:relative;border-radius:var(--vd-r-xl);overflow:hidden;min-height:480px;display:flex;align-items:center;background:#14140F;}
.vd-final-bg{position:absolute;inset:0;z-index:0;}
.vd-final-bg img{width:100%;height:100%;object-fit:cover;display:block;opacity:.55;}
.vd-final-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg, rgba(20,20,15,.78) 0%, rgba(20,20,15,.30) 50%, rgba(20,20,15,.78) 100%);}
.vd-final::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%, rgba(176,215,188,.20) 0%, transparent 50%);pointer-events:none;}
.vd-final-inner{padding:80px 56px;color:#F5F2EC;max-width:720px;position:relative;z-index:1;}
.vd-final-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vd-green);margin-bottom:18px;}
.vd-final-eyebrow::before{content:"";width:24px;height:1px;background:var(--vd-green);}
.vd-final-title{font-size:clamp(32px,4vw,52px);line-height:1.04;letter-spacing:-.030em;font-weight:600;margin:0 0 20px;}
.vd-final-title em{font-style:italic;color:var(--vd-green);}
.vd-final-lead{font-size:16.5px;line-height:1.55;color:rgba(245,242,236,.85);max-width:520px;margin:0 0 36px;}
.vd-final-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.vd-final-cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:56px;padding:0 28px;border-radius:999px;background:var(--vd-green);color:var(--vd-text);font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.005em;text-decoration:none;cursor:pointer;border:0;box-shadow:0 12px 32px -8px rgba(176,215,188,.40);transition:transform .2s var(--vd-spring), background .22s, box-shadow .25s;}
.vd-final-cta-primary:hover{transform:translateY(-2px);background:#fff;box-shadow:0 18px 40px -8px rgba(255,255,255,.30);}
.vd-final-cta-primary svg{width:16px;height:16px;}
.vd-final-cta-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;padding:0 24px;border-radius:999px;background:rgba(245,242,236,.08);color:#F5F2EC;border:1px solid rgba(245,242,236,.20);backdrop-filter:blur(10px);font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:background .22s, border-color .22s, transform .2s;}
.vd-final-cta-ghost:hover{background:rgba(245,242,236,.14);border-color:rgba(245,242,236,.32);transform:translateY(-1px);}
.vd-final-meta{margin-top:24px;display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:rgba(245,242,236,.65);}
.vd-final-meta span{display:inline-flex;align-items:center;gap:6px;}
.vd-final-meta svg{width:13px;height:13px;color:var(--vd-green);}
@media (max-width:760px){
    .vd-final-inner{padding:56px 28px;}
    .vd-final{min-height:auto;margin: 30px 0 30px;}
}
@media (max-width:560px){
    .vd-final-inner{padding:44px 22px;}
    .vd-final-ctas{flex-direction:column;align-items:stretch;}
    .vd-final-cta-primary, .vd-final-cta-ghost{width:100%;}
}

/* FOOTER */
.vd-footer{border-top:1px solid var(--vd-line);padding:36px 0 48px;text-align:center;font-size:12.5px;color:var(--vd-text-muted);background:var(--vd-bg);}
.vd-footer a{color:var(--vd-text-soft);text-decoration:none;margin:0 14px;font-weight:500;}
.vd-footer a:hover{color:var(--vd-text);}
.vd-footer-cred{margin-top:18px;font-size:11.5px;color:var(--vd-text-muted);}

/* ============================================================
PILLAR 1 — Focus tiles (Madrid + Canarias) — sustituye al map mundial
============================================================ */
.vd-pv-focus{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-xl);padding:24px;box-shadow:var(--vd-shadow);width:100%;aspect-ratio:auto;display:flex;flex-direction:column;gap:18px;}
.vd-pv-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;flex:1;}
.vd-pv-focus-tile{position:relative;border-radius:var(--vd-r-lg);padding:22px 20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid var(--vd-line);background:var(--vd-bg-2);}
.vd-pv-focus-tile.is-madrid{background:linear-gradient(160deg, #FFFFFF 0%, var(--vd-bg-2) 100%);border-color:rgba(20,20,15,.12);}
.vd-pv-focus-tile.is-canarias{background:linear-gradient(160deg, var(--vd-green-bg-soft) 0%, #FCFBF7 100%);border-color:rgba(176,215,188,.42);}
.vd-pv-focus-tile::after{content:"";position:absolute;top:0;right:0;width:60%;height:60%;background:radial-gradient(circle, rgba(176,215,188,.10) 0%, transparent 70%);pointer-events:none;}
.vd-pv-focus-tile.is-canarias::after{background:radial-gradient(circle, rgba(176,215,188,.20) 0%, transparent 70%);}
.vd-pv-focus-tile-head{display:flex;align-items:center;gap:7px;}
.vd-pv-focus-tile-pin{width:10px;height:10px;border-radius:50%;background:var(--vd-green-2);box-shadow:0 0 0 4px rgba(176,215,188,.20);}
.vd-pv-focus-tile-label{font-size:13px;font-weight:600;color:var(--vd-text);letter-spacing:-.005em;}
.vd-pv-focus-tile-num{font-size:54px;font-weight:700;color:var(--vd-text);letter-spacing:-.04em;line-height:1;margin-top:18px;}
.vd-pv-focus-tile-sub{font-size:11.5px;color:var(--vd-text-muted);letter-spacing:.02em;margin-top:4px;}
.vd-pv-focus-tile-meta{display:flex;flex-direction:column;gap:5px;margin-top:18px;font-size:11.5px;color:var(--vd-text-soft);}
.vd-pv-focus-tile-meta strong{color:var(--vd-text);font-weight:600;}
.vd-pv-focus-tile-mini{display:flex;gap:5px;margin-top:14px;}
.vd-pv-focus-tile-mini-flag{font-size:14px;line-height:1;width:22px;height:22px;border-radius:50%;background:var(--vd-card);border:1px solid var(--vd-line);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(20,20,15,.04);}
.vd-pv-focus-cards{display:flex;gap:8px;}
.vd-pv-focus-cards .vd-pv-map-card{flex:1;}

@media (max-width:560px){
    .vd-pv-focus{padding:18px;}
    .vd-pv-focus-tile-num{font-size:42px;}
    .vd-pv-focus-tile{padding:18px 16px;}
    .vd-pv-focus-cards{flex-direction:column;}
}

/* ============================================================
VS-TABLE — "Otras agencias vs Ziegel" comparativa ultra-clara
============================================================ */
.vd-vs{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-xl);overflow:hidden;box-shadow:var(--vd-shadow);}
.vd-vs-row{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;align-items:center;border-bottom:1px solid var(--vd-line);}
.vd-vs-row:last-child{border-bottom:0;}
.vd-vs-row.vd-vs-head{background:var(--vd-bg-2);}
.vd-vs-col{padding:18px 22px;font-size:14px;line-height:1.5;color:var(--vd-text-2);}
.vd-vs-col-label{font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;color:var(--vd-text-muted);}
.vd-vs-head .vd-vs-col-label{color:var(--vd-text-muted);}
.vd-vs-col-other{color:var(--vd-text-soft);position:relative;padding-left:42px;}
.vd-vs-col-other::before{content:"✕";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:rgba(210,105,58,.12);color:var(--vd-warn);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.vd-vs-col-ziegel{color:var(--vd-text);font-weight:600;background:linear-gradient(90deg, var(--vd-green-bg-soft) 0%, transparent 100%);position:relative;padding-left:42px;}
.vd-vs-col-ziegel::before{content:"✓";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:var(--vd-green);color:var(--vd-text);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.vd-vs-col-ziegel strong{color:var(--vd-green-dark);font-weight:700;}
.vd-vs-head .vd-vs-col-other, .vd-vs-head .vd-vs-col-ziegel{font-weight:700;font-size:13px;color:var(--vd-text);padding-left:22px;text-transform:none;letter-spacing:0;background:transparent;}
.vd-vs-head .vd-vs-col-other::before, .vd-vs-head .vd-vs-col-ziegel::before{display:none;}
.vd-vs-head .vd-vs-col-ziegel{color:var(--vd-green-dark);}

@media (max-width:760px){
    .vd-vs-row{grid-template-columns:1fr;border-bottom:none;}
    .vd-vs-row:not(.vd-vs-head){border-bottom:1px solid var(--vd-line);padding:8px 0;}
    .vd-vs-head{display:none;}
    .vd-vs-col{padding:8px 18px;font-size:13px;}
    .vd-vs-col-label{padding-bottom:0;margin-top:6px;}
    .vd-vs-col-other{padding-left:42px;}
    .vd-vs-col-other::before{left:14px;}
    .vd-vs-col-ziegel{padding-left:42px;}
    .vd-vs-col-ziegel::before{left:14px;}
}

/* ============================================================
STATS STRIP — Cifras de credibilidad bajo el hero
============================================================ */
.vd-numbers{padding:48px 0 32px;background:var(--vd-bg);border-top:1px solid var(--vd-line);}
.vd-numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.vd-numbers-item{text-align:center;padding:12px 20px;position:relative;}
.vd-numbers-item:not(:last-child)::after{content:"";position:absolute;top:25%;bottom:25%;right:0;width:1px;background:var(--vd-line);}
.vd-numbers-value{font-size:clamp(36px,4vw,52px);font-weight:700;color:var(--vd-text);letter-spacing:-.035em;line-height:1;margin-bottom:8px;}
.vd-numbers-label{font-size:12px;color:var(--vd-text-soft);font-weight:500;line-height:1.4;}
@media (max-width:760px){
    .vd-numbers {padding: 32px 0 32px;}
    .vd-numbers-grid{grid-template-columns:repeat(2,1fr);gap:0;}
    /* En 2 columnas, divisor solo entre col izq y der (tras items impares) */
    .vd-numbers-item::after{display:none;}
    .vd-numbers-item:nth-child(odd)::after{display:block;}
}

.vd-pv-focus-grid.is-3{grid-template-columns:repeat(3,1fr);}
.vd-pv-focus-grid.is-3 .vd-pv-focus-tile{padding:18px 16px;}
.vd-pv-focus-grid.is-3 .vd-pv-focus-tile-num{font-size:42px;margin-top:14px;}
.vd-pv-focus-grid.is-3 .vd-pv-focus-tile-mini{margin-top:10px;}
.vd-pv-focus-tile.is-tenerife{background:linear-gradient(160deg, var(--vd-green-bg-soft) 0%, #FCFBF7 100%);border-color:rgba(176,215,188,.42);}
@media (max-width:560px){
    .vd-pv-focus-grid.is-3{grid-template-columns:1fr;}
}

/* ============================================================
HERO PROMISE PILL — inversión de riesgo desde el hero
============================================================ */
.vd-hero-promise{display:inline-flex;align-items:center;gap:9px;margin-top:22px;padding:11px 16px;background:var(--vd-green-bg);border:1px solid rgba(176,215,188,.45);border-radius:var(--vd-r-pill);font-size:13px;font-weight:600;color:var(--vd-green-dark);letter-spacing:-.005em;}
.vd-hero-promise svg{width:16px;height:16px;flex-shrink:0;}
@media (max-width:560px){.vd-hero-promise{font-size:12px;padding:10px 14px;}}

/* ============================================================
RIESGO CERO — sección de inversión de riesgo
============================================================ */
.vd-risk{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;background:linear-gradient(150deg, var(--vd-green-bg) 0%, #FCFBF7 62%);border:1px solid rgba(176,215,188,.45);border-radius:var(--vd-r-xl);padding:60px 56px;position:relative;overflow:hidden;}
.vd-risk::before{content:"";position:absolute;top:-40%;left:-15%;width:50%;height:180%;background:radial-gradient(ellipse, rgba(176,215,188,.30) 0%, transparent 65%);pointer-events:none;}
.vd-risk-text{position:relative;}
.vd-risk-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vd-green-dark);margin-bottom:18px;}
.vd-risk-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--vd-green-2);box-shadow:0 0 0 0 rgba(143,196,160,.5);animation:vd-dot-pulse 2.4s ease-out infinite;}
.vd-risk-title{font-size:clamp(30px,3.6vw,46px);line-height:1.04;letter-spacing:-.030em;font-weight:600;margin:0 0 18px;color:var(--vd-text);}
.vd-risk-title em{font-style:italic;color:var(--vd-green-dark);font-weight:600;}
.vd-risk-lead{font-size:16px;line-height:1.6;color:var(--vd-text-2);margin:0 0 22px;}
.vd-risk-promise{display:flex;gap:14px;align-items:flex-start;background:var(--vd-card);border:1px solid rgba(176,215,188,.45);border-radius:var(--vd-r);padding:18px 20px;box-shadow:var(--vd-shadow-sm);}
.vd-risk-promise-ico{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--vd-green);color:var(--vd-text);display:flex;align-items:center;justify-content:center;}
.vd-risk-promise-ico svg{width:17px;height:17px;}
.vd-risk-promise-text{font-size:13.5px;line-height:1.55;color:var(--vd-text-2);}
.vd-risk-promise-text strong{display:block;color:var(--vd-text);font-weight:600;font-size:14.5px;margin-bottom:3px;letter-spacing:-.005em;}
.vd-risk-foot{font-size:13.5px;line-height:1.6;color:var(--vd-text-soft);margin:18px 0 0;font-style:italic;}

.vd-risk-card{background:var(--vd-card);border:1px solid var(--vd-line);border-radius:var(--vd-r-lg);padding:28px;box-shadow:var(--vd-shadow-lg);position:relative;}
.vd-risk-card-head{margin-bottom:8px;}
.vd-risk-card-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--vd-text-muted);}
.vd-risk-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--vd-line);}
.vd-risk-row-name{font-size:13.5px;color:var(--vd-text-2);flex:1;line-height:1.35;}
.vd-risk-row-old{font-size:13px;color:var(--vd-text-muted);text-decoration:line-through;text-decoration-color:var(--vd-warn);flex-shrink:0;}
.vd-risk-row-new{font-size:10px;font-weight:700;color:var(--vd-green-dark);background:var(--vd-green-bg);padding:5px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;}
.vd-risk-total{margin-top:18px;padding:18px;background:linear-gradient(135deg, var(--vd-green-bg) 0%, #FCFBF7 100%);border:1px solid rgba(176,215,188,.4);border-radius:var(--vd-r);display:flex;flex-direction:column;gap:10px;}
.vd-risk-total-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.vd-risk-total-label{font-size:12.5px;color:var(--vd-text-soft);}
.vd-risk-total-old{font-size:15px;color:var(--vd-text-muted);text-decoration:line-through;font-weight:600;}
.vd-risk-total-line.is-final .vd-risk-total-label{font-size:14px;color:var(--vd-text);font-weight:600;}
.vd-risk-total-new{font-size:32px;font-weight:700;color:var(--vd-green-dark);letter-spacing:-.03em;line-height:1;}
.vd-risk-card-note{display:flex;align-items:flex-start;gap:8px;margin-top:16px;font-size:11.5px;line-height:1.5;color:var(--vd-text-soft);}
.vd-risk-card-note svg{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:var(--vd-green-dark);}

@media (max-width:980px){
    .vd-risk{grid-template-columns:1fr;gap:36px;padding:48px 32px;}
}
@media (max-width:560px){
    .vd-risk{padding:36px 22px;}
    .vd-risk-card{padding:22px;}
    .vd-risk-row-name{font-size:12.5px;}
    .vd-risk-total-new{font-size:28px;}
}

/* ============================================================
MID-PAGE CTA — banda de conversión en el medio del scroll
============================================================ */
.vd-midcta{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#14140F;color:#F5F2EC;border-radius:var(--vd-r-xl);padding:44px 52px;flex-wrap:wrap;position:relative;overflow:hidden;}
.vd-midcta::before{content:"";position:absolute;top:-60%;right:-10%;width:50%;height:220%;background:radial-gradient(ellipse, var(--vd-green-bg-soft) 0%, transparent 65%);pointer-events:none;}
.vd-midcta-text{position:relative;}
.vd-midcta-text h2{font-size:clamp(22px,2.6vw,30px);font-weight:600;margin:0 0 6px;letter-spacing:-.025em;}
.vd-midcta-text h2 em{font-style:italic;color:var(--vd-green);}
.vd-midcta-text p{font-size:14.5px;color:rgba(245,242,236,.7);margin:0;}
.vd-midcta .vd-cta{position:relative;flex-shrink:0;}
.vd-midcta-ctas{display:flex;gap:10px;flex-shrink:0;position:relative;}
.vd-cta.is-light-ghost{background:rgba(245,242,236,.08);color:#F5F2EC;border:1px solid rgba(245,242,236,.22);}
.vd-cta.is-light-ghost:hover{background:rgba(245,242,236,.14);border-color:rgba(245,242,236,.40);transform:translateY(-1px);}
@media (max-width:880px){
    .vd-midcta-ctas{flex-direction:column;width:100%;}
    .vd-midcta-ctas .vd-cta{width:100%;}
}
@media (max-width:640px){
    .vd-midcta{padding:36px 28px;gap:22px;}
    .vd-midcta .vd-cta{width:100%;}
}

/* Demanda — chips de canales de difusión */
.vd-pv-demand-channels{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--vd-line);}
.vd-pv-demand-channels-label{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--vd-text-muted);margin-right:2px;}
.vd-pv-demand-chip{font-size:10.5px;font-weight:600;color:var(--vd-text-2);background:var(--vd-bg-2);border:1px solid var(--vd-line);padding:5px 11px;border-radius:999px;}
.vd-pv-demand-chip.is-hi{background:var(--vd-green);color:var(--vd-text);border-color:var(--vd-green);}

/* ============================================================
RTL — soporte para árabe (vuelca posiciones físicas clave)
============================================================ */
[dir="rtl"] .vd-vs-col-other,[dir="rtl"] .vd-vs-col-ziegel{padding-left:22px;padding-right:42px;}
[dir="rtl"] .vd-vs-col-other::before,[dir="rtl"] .vd-vs-col-ziegel::before{left:auto;right:18px;}
[dir="rtl"] .vd-vs-head .vd-vs-col-other,[dir="rtl"] .vd-vs-head .vd-vs-col-ziegel{padding-right:22px;padding-left:22px;}
[dir="rtl"] .vd-pillar-num::before{margin-right:0;margin-left:10px;}
[dir="rtl"] .vd-numbers-item::after{right:auto;left:0;}
[dir="rtl"] .vd-hero-photo-tag{left:auto;right:24px;}
[dir="rtl"] .vd-hero-photo-info{left:auto;right:24px;}
[dir="rtl"] .vd-hero-badge{right:auto;left:22px;}
[dir="rtl"] .vd-tq-photo-tag{left:auto;right:14px;}
[dir="rtl"] .vd-tq-result{right:auto;left:14px;}
[dir="rtl"] .vd-risk-eyebrow,[dir="rtl"] .vd-final-eyebrow{flex-direction:row-reverse;}
/* Defensivo — ningún medio desborda su contenedor */
.vd img{max-width:100%;}

/* ============================================================
MODAL — captación de lead directo "que te llame un agente"
============================================================ */
.vd-modal,.vd-modal *{box-sizing:border-box;}
.vd-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .28s var(--vd-ease), visibility .28s;}
.vd-modal.is-open{opacity:1;visibility:visible;}
.vd-modal-backdrop{position:absolute;inset:0;background:rgba(20,20,15,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.vd-modal-card{position:relative;background:var(--vd-bg);border:1px solid var(--vd-line);border-radius:var(--vd-r-xl);width:100%;max-width:430px;padding:30px 26px 26px;box-shadow:0 40px 90px -20px rgba(20,20,15,.45);max-height:calc(100dvh - 40px);overflow-y:auto;transform:scale(.94) translateY(14px);opacity:0;transition:transform .42s var(--vd-spring), opacity .3s var(--vd-ease);}
.vd-modal.is-open .vd-modal-card{transform:scale(1) translateY(0);opacity:1;}
.vd-modal-close{position:absolute;top:15px;right:15px;width:34px;height:34px;border-radius:50%;border:1px solid var(--vd-line-2);background:var(--vd-card);color:var(--vd-text-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s, color .2s, transform .25s var(--vd-ease);z-index:2;}
.vd-modal-close:hover{background:var(--vd-bg-2);color:var(--vd-text);transform:rotate(90deg);}
.vd-modal-close svg{width:15px;height:15px;}
.vd-modal-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--vd-green-dark);padding:5px 11px;border-radius:999px;background:var(--vd-green-bg);margin-bottom:12px;}
.vd-modal-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--vd-green-2);}
.vd-modal-title{font-size:22px;font-weight:600;letter-spacing:-.022em;color:var(--vd-text);margin:0 0 6px;line-height:1.15;}
.vd-modal-sub{font-size:13px;line-height:1.45;color:var(--vd-text-soft);margin:0 0 16px;}
.vd-modal-field{margin-bottom:10px;}
.vd-modal-field>label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--vd-text-soft);margin-bottom:5px;}
.vd-modal-field input{width:100%;height:46px;border-radius:11px;border:1.5px solid var(--vd-line-2);background:var(--vd-card);padding:0 14px;font-size:15px;font-family:inherit;color:var(--vd-text);transition:border-color .2s, box-shadow .2s;}
.vd-modal-field input::placeholder{color:var(--vd-text-muted);}
.vd-modal-field input:focus{outline:none;border-color:var(--vd-green-2);box-shadow:0 0 0 4px var(--vd-green-bg-soft);}
.vd-modal-phone{display:flex;gap:8px;}
.vd-modal-cc{position:relative;flex-shrink:0;}
.vd-modal-cc select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100px;height:46px;border-radius:11px;border:1.5px solid var(--vd-line-2);background:var(--vd-card);padding:0 27px 0 11px;font-size:14px;font-weight:600;font-family:inherit;color:var(--vd-text);cursor:pointer;transition:border-color .2s, box-shadow .2s;}
.vd-modal-cc select:focus{outline:none;border-color:var(--vd-green-2);box-shadow:0 0 0 4px var(--vd-green-bg-soft);}
.vd-modal-cc-arrow{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--vd-text-soft);pointer-events:none;}
.vd-modal-phone input{flex:1;min-width:0;}
.vd-modal-phone-err{display:none;font-size:11.5px;font-weight:500;color:var(--vd-warn);margin:6px 0 0;line-height:1.35;}
.vd-modal-field.is-phone-error .vd-modal-phone-err{display:block;}
.vd-modal-field.is-phone-error .vd-modal-phone input,.vd-modal-field.is-phone-error .vd-modal-cc select{border-color:var(--vd-warn);}

/* Dos opciones de contacto — tarjetas claras, no parecen inputs */
.vd-modal-choice{display:flex;gap:5px;padding:5px;background:var(--vd-bg-2);border:1px solid var(--vd-line-2);border-radius:13px;}
.vd-modal-choice-opt{flex:1;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;border-radius:9px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--vd-text-soft);transition:background .2s var(--vd-ease), color .2s, box-shadow .2s, transform .12s;}
.vd-modal-choice-opt input{position:absolute;opacity:0;width:0;height:0;}
.vd-modal-choice-opt svg{width:18px;height:18px;flex-shrink:0;transition:transform .25s var(--vd-spring);}
.vd-modal-choice-opt:hover:not(:has(input:checked)){color:var(--vd-text-2);}
.vd-modal-choice-opt:active{transform:scale(.97);}
.vd-modal-choice-opt:has(input:checked){background:var(--vd-card);color:var(--vd-green-dark);box-shadow:0 2px 7px -1px rgba(20,20,15,.13), 0 0 0 1px var(--vd-line);}
.vd-modal-choice-opt:has(input:checked) svg{transform:scale(1.08);}
.vd-modal-choice-opt:has(input:focus-visible){box-shadow:0 0 0 2.5px rgba(143,196,160,.55);}

/* Consentimiento RGPD — tarjeta de aceptación */
.vd-modal-consent{display:flex;align-items:center;gap:10px;margin-top:12px;padding:9px 12px;border-radius:12px;border:1.6px solid var(--vd-line-2);background:var(--vd-bg-2);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .16s, background .16s;}
.vd-modal-consent:hover{border-color:var(--vd-line-3);}
.vd-modal-consent:has(input:checked){border-color:var(--vd-green-2);background:var(--vd-green-bg);}
.vd-modal-consent input{position:absolute;opacity:0;width:0;height:0;}
.vd-modal-consent-box{flex-shrink:0;width:22px;height:22px;border-radius:7px;border:1.8px solid var(--vd-line-3);background:var(--vd-card);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .16s, border-color .16s;}
.vd-modal-consent-box svg{width:14px;height:14px;opacity:0;transform:scale(.3);transition:opacity .16s, transform .25s var(--vd-spring);}
.vd-modal-consent input:checked ~ .vd-modal-consent-box{background:var(--vd-green-dark);border-color:var(--vd-green-dark);}
.vd-modal-consent input:checked ~ .vd-modal-consent-box svg{opacity:1;transform:scale(1);}
.vd-modal-consent input:focus-visible ~ .vd-modal-consent-box{box-shadow:0 0 0 3.5px rgba(143,196,160,.45);}
.vd-modal-consent-text{font-size:12px;line-height:1.4;color:var(--vd-text-soft);}
.vd-modal-consent-text a{color:var(--vd-green-dark);font-weight:600;text-decoration:underline;}
.vd-modal.is-consent-error .vd-modal-consent{border-color:var(--vd-warn);background:rgba(210,105,58,.07);animation:vd-shake .4s var(--vd-ease);}
@keyframes vd-shake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-4px);}40%,80%{transform:translateX(4px);}}
.vd-modal-submit{position:relative;width:100%;height:50px;margin-top:12px;border-radius:999px;background:var(--vd-text);color:var(--vd-card);border:0;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.005em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .22s var(--vd-ease), transform .15s;}
.vd-modal-submit:hover{background:var(--vd-green-dark);transform:translateY(-1px);}
.vd-modal-submit:disabled{cursor:default;}
.vd-modal-spinner{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:vd-spin .7s linear infinite;}
@keyframes vd-spin{to{transform:rotate(360deg);}}
.vd-modal-submit.is-loading .vd-modal-submit-label{display:none;}
.vd-modal-submit.is-loading .vd-modal-spinner{display:block;}
.vd-modal-reassure{display:flex;align-items:center;gap:7px;justify-content:center;font-size:11.5px;color:var(--vd-text-muted);margin:11px 0 0;text-align:center;line-height:1.4;}
.vd-modal-reassure svg{width:13px;height:13px;color:var(--vd-green-dark);flex-shrink:0;}
.vd-modal-success-state{display:none;text-align:center;padding:10px 0 4px;}
.vd-modal.is-success .vd-modal-form-state{display:none;}
.vd-modal.is-success .vd-modal-success-state{display:block;}
.vd-modal-check{width:74px;height:74px;border-radius:50%;background:var(--vd-green);display:flex;align-items:center;justify-content:center;margin:4px auto 20px;}
.vd-modal-check svg{width:38px;height:38px;fill:none;stroke:var(--vd-text);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;}
.vd-modal-check svg path{stroke-dasharray:48;stroke-dashoffset:48;}
.vd-modal.is-success .vd-modal-check{animation:vd-pop .45s var(--vd-spring) both;}
.vd-modal.is-success .vd-modal-check svg path{animation:vd-draw .5s .2s var(--vd-ease) forwards;}
@keyframes vd-pop{from{transform:scale(0);}to{transform:scale(1);}}
@keyframes vd-draw{to{stroke-dashoffset:0;}}
.vd-modal-success-state .vd-modal-submit{margin-top:8px;}
@media (max-width:480px){
    .vd-modal{padding:14px;}
    .vd-modal-card{padding:26px 20px 22px;}
    .vd-modal-title{font-size:21px;}
}
