/* ============================================================
   GUZNEL FLOW — CAPA DE ESTILO CORPORATIVA
   Se carga en toda la web (layouts app y campaign, body.corp). No cambia contenido ni estructura:
   sobrescribe el sistema editorial (editorial.css, nav.css, style.css y utilidades
   Tailwind) para un aspecto de agencia corporativa: fondo blanco, tipografía sans
   sobria, tarjetas con radio y sombra suave, botones redondeados, bordes finos.
   Tipografías autoalojadas (Fontshare, ITF Free Font License): General Sans + Switzer.
   Paleta Guznel: tinta #0a0a0a · papel #f4f1e9 · salvia #8fa686 · salvia oscura #56704f
   ============================================================ */

@font-face{font-family:'General Sans';src:url('/fonts/general-sans-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'General Sans';src:url('/fonts/general-sans-600.woff2') format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:'Switzer';src:url('/fonts/switzer-400.woff2') format('woff2');font-weight:300 400;font-display:swap}
@font-face{font-family:'Switzer';src:url('/fonts/switzer-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Switzer';src:url('/fonts/switzer-600.woff2') format('woff2');font-weight:600 900;font-display:swap}


/* Alias: cualquier referencia que quede a las fuentes antiguas (estilos en línea, CSS de cada vista)
   se pinta con las nuevas. Google Fonts ya no se carga. */
@font-face{font-family:'Outfit';src:url('/fonts/switzer-400.woff2') format('woff2');font-weight:100 400;font-display:swap}
@font-face{font-family:'Outfit';src:url('/fonts/switzer-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Outfit';src:url('/fonts/switzer-600.woff2') format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:'Archivo Black';src:url('/fonts/general-sans-600.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/fonts/general-sans-500.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/fonts/general-sans-500.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Space Mono';src:url('/fonts/switzer-500.woff2') format('woff2');font-weight:100 900;font-display:swap}

body.corp{
    --c-ink:#0a0a0a;
    --c-text:#2c2b27;
    --c-muted:#5c5a53;
    --c-paper:#f4f1e9;          /* papel Guznel: fondo de secciones alternas */
    --c-white:#ffffff;
    --c-sage:#8fa686;           /* salvia Guznel: detalles */
    --c-sage-deep:#56704f;      /* salvia oscura: botones y textos de acento (contraste 5,5:1 sobre blanco) */
    --c-sage-soft:#e8efe5;
    --c-line:#e4e1d8;
    --c-radius:12px;
    --c-radius-btn:8px;
    --c-shadow:0 1px 2px rgba(10,10,10,.04),0 8px 24px -12px rgba(10,10,10,.12);
    --c-shadow-hover:0 2px 4px rgba(10,10,10,.05),0 18px 40px -16px rgba(10,10,10,.22);
    --c-display:'General Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
    --c-body:'Switzer',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;

    background:var(--c-white) !important;
    color:var(--c-text) !important;
    font-family:var(--c-body);
    font-size:16px;
}
body.corp #guznel-cursor{display:none !important;}

/* ---------- Tokens del sistema editorial, redefinidos ---------- */
body.corp .ed{
    /* color del servicio oscurecido para texto grande sobre blanco (contraste ≥3:1) */
    --c-accent-text:color-mix(in srgb,var(--sage) 58%,#1a1611);
    --paper:#ffffff;
    --paper-2:#f4f1e9;
    --ink:#0a0a0a;
    --ink-soft:#5c5a53;
    background:var(--c-white);
    color:var(--c-ink);
    font-family:var(--c-body);
}
body.corp .ed::before{display:none;}   /* sin grano de papel */

/* ---------- Tipografía ---------- */
body.corp h1,body.corp h2,body.corp h3,body.corp h4,
body.corp .ed-display,body.corp .ed-h1,body.corp .hv-h2,body.corp .ed-title,
body.corp .ed-num,body.corp .ed-serif,body.corp .ed-h1 .ital{
    font-family:var(--c-display) !important;
    font-style:normal !important;
    text-transform:none !important;
}
body.corp .ed-display,body.corp .ed-title,body.corp h2,body.corp h3{font-weight:600 !important;letter-spacing:-.02em !important;}
body.corp .ed-h1{font-weight:600;letter-spacing:-.035em !important;line-height:1.06;}
body.corp .hv-hero-title{font-size:clamp(2.3rem,4.9vw,4.3rem) !important;line-height:1.06 !important;max-width:18ch;}
body.corp .hv-h2{font-weight:600 !important;letter-spacing:-.03em !important;line-height:1.1 !important;font-size:clamp(1.9rem,3.2vw,2.75rem) !important;}
body.corp .hv-lead{font-size:1.075rem;color:var(--c-muted);font-weight:400;}
body.corp .ed .font-medium{font-weight:400;}

/* "Magento" / "Shopify" / "IA" del hero: acento de color, sin cursiva ni subrayador */
body.corp .ed-h1 .ital,body.corp .ed-mark{background:none !important;color:var(--c-accent-text,var(--c-sage-deep)) !important;padding:0;font-weight:inherit;}
body.corp p .ed-mark{font-weight:600;}
/* "(y todo lo que lo rodea)" y similares: texto secundario discreto */
body.corp .ed-h1 .ed-serif{color:var(--c-muted) !important;font-weight:500 !important;letter-spacing:-.01em !important;}
body.corp p .ed-serif,body.corp span.ed-serif{color:inherit;font-weight:inherit !important;}

/* Etiquetas pequeñas (antes monoespaciadas): eyebrow corporativo */
body.corp .ed-mono,body.corp .hv-kicker{
    font-family:var(--c-body) !important;
    font-weight:600;
    letter-spacing:.08em !important;
    text-transform:uppercase;
}
body.corp .hv-kicker{font-size:.78rem;color:var(--ink-accent);}
body.corp .ed-num{font-weight:600 !important;letter-spacing:-.04em;line-height:1;}

/* ---------- Bordes: finos y claros en vez de tinta de 1,5 px ---------- */
body.corp .ed [class*="border-[color:var(--ink)]"],
body.corp .ed [class*="border-[color:rgba(10,10,10"],
body.corp .ed-rule{border-color:var(--c-line) !important;}
body.corp .ed [class*="border-t-[1.5px]"]{border-top-width:1px !important;}
body.corp .ed [class*="border-y-[1.5px]"]{border-top-width:1px !important;border-bottom-width:1px !important;}
body.corp .ed [class*="border-[1.5px]"]{border-width:1px !important;}

/* ---------- Botones ---------- */
body.corp .ed-btn{
    font-family:var(--c-display) !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    font-size:1rem;
    font-weight:600;
    padding:.95rem 1.6rem;
    border-radius:var(--c-radius-btn);
    box-shadow:none !important;
    transition:background-color .2s,transform .2s;
}
body.corp .ed-btn--sage{background:var(--sage);color:var(--c-ink);}
body.corp .ed-btn--dark{background:var(--c-ink);color:#fff;}
@media (hover:hover){
    body.corp .ed-btn:hover{transform:translateY(-1px);}
    body.corp .ed-btn--sage:hover{background:color-mix(in srgb,var(--sage) 82%,#0a0a0a);}
    body.corp .ed-btn--dark:hover{background:#262622;}
}
body.corp .ed-link::after{height:1px;}

/* ---------- Tarjetas ---------- */
body.corp .ed-card{
    background:var(--c-white);
    border:1px solid var(--c-line) !important;
    border-radius:var(--c-radius);
    box-shadow:var(--c-shadow);
    transition:transform .3s ease,box-shadow .3s ease;
}
@media (hover:hover){
    body.corp .ed-card:hover{transform:translateY(-4px);box-shadow:var(--c-shadow-hover);}
}

/* ---------- HOME ---------- */

/* Hero: aire arriba y fondo suave */
body.corp .ed > section:first-child{background:linear-gradient(180deg,var(--c-paper) 0%,var(--c-white) 100%);}
/* Tres compromisos del hero como tarjetas */
body.corp .ed > section:first-child .grid.sm\:grid-cols-3{border-top:0 !important;gap:1rem;}
body.corp .ed > section:first-child .grid.sm\:grid-cols-3 > div{
    background:var(--c-white);border:1px solid var(--c-line) !important;border-radius:var(--c-radius);
    padding:1.5rem !important;box-shadow:var(--c-shadow);
}

/* Franja de confianza */
/* (solo la franja de la home, que es la única con .hv-kicker) */
body.corp .ed > section:nth-child(2):has(.hv-kicker){background:var(--c-white) !important;}
body.corp .ed > section:nth-child(2):has(.hv-kicker) a.ed-display{color:#8a877e;opacity:1;font-size:1.25rem;}
body.corp .ed > section:nth-child(2):has(.hv-kicker) a.ed-display:hover{color:var(--c-ink);}
body.corp .hv-stars{color:#e0a526;}

/* Áreas de servicio como tarjetas */
body.corp .hv-area{
    background:var(--c-white);border:1px solid var(--c-line) !important;border-top:3px solid var(--sage) !important;border-radius:var(--c-radius);
    padding:2rem !important;box-shadow:var(--c-shadow);
    display:flex;flex-direction:column;
}
body.corp .hv-area h3{font-size:1.4rem !important;}
body.corp .hv-area a.hv-sub{border-bottom-color:var(--c-line);font-weight:500;color:var(--c-ink);}
body.corp .hv-area a.hv-sub:last-child{border-bottom:0;}
body.corp .hv-area a.hv-sub:hover{color:var(--ink-accent);}

/* Ofertas destacadas: etiqueta */
body.corp .ed [class*="bg-[color:var(--sage)]"].ed-mono{border-radius:999px;padding:.3rem .7rem;}

/* Proyectos: de rejilla con líneas negras a tarjetas separadas */
body.corp .ed .gap-px{gap:1.25rem !important;background:transparent !important;border:0 !important;}
body.corp .ed .gap-px > *{border-radius:var(--c-radius);border:1px solid var(--c-line);box-shadow:var(--c-shadow);transition:transform .3s ease,box-shadow .3s ease;}
body.corp .ed .gap-px > a:hover{background:var(--c-white) !important;transform:translateY(-4px);box-shadow:var(--c-shadow-hover);}
body.corp .ed .gap-px > div[class*="bg-[color:var(--ink)]"]{border-color:transparent;}
body.corp .ed .gap-px > div[class*="bg-[color:var(--ink)]"] .ed-display{color:#fff;}

/* Sección oscura "Cómo trabajamos" */
body.corp .ed section[class*="bg-[color:var(--ink)]"]{background:#0f1110 !important;}
body.corp .hv-step{border-top-color:rgba(255,255,255,.12);}
body.corp .hv-step .ed-num{color:var(--sage) !important;font-size:clamp(1.8rem,3vw,2.4rem) !important;}
body.corp .hv-step .ed-mono{color:var(--sage) !important;}

/* Equipo: fotos a color con radio */
body.corp .hv-photo img{filter:none !important;}
body.corp .hv-photo > div{border:0 !important;border-radius:var(--c-radius);box-shadow:var(--c-shadow);}
body.corp .hv-photo figcaption .ed-display{font-size:1.15rem !important;}

/* Reseñas */
body.corp .ed section[class*="bg-[color:var(--paper-2)]"]{background:var(--c-paper) !important;}
body.corp .ed-card blockquote.ed-serif{font-family:var(--c-body) !important;font-weight:400 !important;font-size:1.05rem !important;line-height:1.65 !important;color:var(--c-text) !important;letter-spacing:0 !important;}
body.corp .ed-card figcaption{text-transform:none !important;letter-spacing:0 !important;font-size:.9rem !important;font-weight:500;}

/* Blog */
body.corp .ed a.group > div.aspect-video{border:0 !important;border-radius:var(--c-radius);}
body.corp .ed a.group h3{font-size:1.15rem !important;}

/* FAQ */
/* Lista de preguntas como tarjeta: fondo blanco con margen interior, borde fino y radio */
body.corp .ed-faq{background:var(--c-white);border:1px solid var(--c-line);border-radius:16px;padding:.25rem 1.5rem;box-shadow:var(--c-shadow);}
@media (min-width:768px){body.corp .ed-faq{padding:.5rem 2.25rem;}}
body.corp .ed-faq details:first-child{border-top:0 !important;}
body.corp .ed-faq details:last-child{border-bottom:0 !important;}
body.corp .ed-faq summary{padding-top:1.4rem !important;padding-bottom:1.4rem !important;}
body.corp .ed-faq__body p{padding-bottom:1.5rem !important;}
body.corp .ed-faq details{border-color:var(--c-line);}
body.corp .ed-faq summary .ed-title{font-weight:600 !important;font-size:1.05rem !important;}
body.corp .ed-faq__plus{
    width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--sage) 30%,#fff);color:var(--ink-accent);
    display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;
}
body.corp .ed-faq details.is-open .ed-faq__plus{color:var(--c-ink);background:var(--sage);}

/* ---------- NAVEGACIÓN ---------- */
body.corp #gf-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line);}
body.corp #gf-nav.is-scrolled{background:rgba(255,255,255,.96);border-bottom-color:var(--c-line);box-shadow:0 6px 24px -18px rgba(10,10,10,.35);}
body.corp .gf-logo{font-family:var(--c-display);font-weight:600;letter-spacing:-.03em;font-size:1.3rem;}
body.corp .gf-logo span{color:var(--c-sage);}
body.corp .gf-link{font-family:var(--c-body);font-weight:500;font-size:.95rem;color:var(--c-text);}
body.corp .gf-link::after{height:2px;bottom:.2rem;background:var(--c-sage-deep);}
body.corp .gf-link.is-current::after{background:var(--c-sage-deep);height:2px;}
body.corp .gf-drop{background:var(--c-white);border:1px solid var(--c-line);border-radius:var(--c-radius);box-shadow:0 24px 48px -20px rgba(10,10,10,.28);padding:.5rem;}
body.corp .gf-drop__item{border-left:0;border-radius:8px;}
body.corp .gf-drop__item:hover,body.corp .gf-drop__item.is-current{background:var(--c-paper);}
body.corp .gf-drop__title{font-family:var(--c-display);font-weight:600;}
body.corp .gf-drop__desc{font-family:var(--c-body);color:var(--c-muted);}
body.corp .gf-phone{font-family:var(--c-body);font-weight:500;font-size:.9rem;letter-spacing:0;}
body.corp .gf-phone i{color:var(--c-sage-deep);}
body.corp .gf-cta{
    font-family:var(--c-display);text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:600;
    background:var(--c-ink);color:#fff;border-radius:var(--c-radius-btn);padding:.75rem 1.25rem;box-shadow:none;
}
body.corp .gf-cta:hover{transform:none;box-shadow:none;background:#2a2925;}
body.corp .gf-m-link,body.corp .gf-m-label{font-family:var(--c-display);text-transform:none;font-weight:600;letter-spacing:-.02em;}
body.corp .gf-m-sub{font-family:var(--c-body);}
body.corp #site-menu a[href="/#footer-contacto"]{box-shadow:none !important;border-radius:var(--c-radius-btn);text-transform:none !important;letter-spacing:0 !important;font-family:var(--c-display);}

/* ---------- FORMULARIO DE CONTACTO ---------- */
body.corp #footer-contacto{background:var(--c-paper) !important;border-top:0 !important;}
body.corp #footer-contacto h2{font-size:clamp(2rem,3.4vw,3rem) !important;line-height:1.1 !important;letter-spacing:-.03em !important;}
body.corp #footer-contacto h2 .ed-serif{color:var(--c-sage-deep) !important;font-weight:600 !important;}
body.corp #footer-contacto .ed-mono{letter-spacing:.02em !important;text-transform:none;font-size:.95rem;font-weight:500;}
body.corp .guznel-contact-form{
    background:var(--c-white);border:1px solid var(--c-line);border-radius:16px;padding:2rem;box-shadow:var(--c-shadow);
}
@media (min-width:768px){body.corp .guznel-contact-form{padding:2.5rem;}}
body.corp .guznel-contact-form > .grid{gap:1.25rem;}
body.corp .guznel-contact-form .border-b-2{
    border:1px solid var(--c-line) !important;border-radius:var(--c-radius-btn);padding:.65rem 1rem .5rem;
    background:#fcfbf8;transition:border-color .2s,box-shadow .2s;
}
body.corp .guznel-contact-form .border-b-2:focus-within{border-color:var(--c-ink) !important;box-shadow:0 0 0 3px rgba(143,166,134,.3);}
body.corp .guznel-contact-form label.ed-mono{font-size:.72rem !important;color:var(--c-muted) !important;margin-bottom:.15rem;}
body.corp .guznel-contact-form input[type="text"],
body.corp .guznel-contact-form textarea,
body.corp .guznel-contact-form select{font-size:1rem !important;font-weight:400 !important;}
body.corp .guznel-contact-form label[for="privacidad"]{text-transform:none !important;letter-spacing:0 !important;font-size:.85rem !important;font-weight:400;}
body.corp .guznel-contact-form button[type="submit"]{
    font-family:var(--c-display) !important;text-transform:none !important;letter-spacing:0 !important;font-size:1rem !important;font-weight:600;
    border-radius:var(--c-radius-btn);padding:1.05rem 1.5rem !important;
}

/* ---------- FOOTER ---------- */
body.corp > footer{background:#0f1110 !important;}
body.corp > footer h4.ed-display{font-size:1.6rem !important;}
body.corp > footer h4.ed-mono{color:var(--c-sage) !important;letter-spacing:.08em !important;font-size:.75rem !important;}
body.corp > footer .ed-mono:not(h4){text-transform:none;letter-spacing:0 !important;font-size:.8rem !important;font-weight:400;}
body.corp > footer span.ed-mono{border-radius:999px;border-color:rgba(255,255,255,.15);text-transform:none;font-size:.75rem !important;}

/* ---------- POPUP DE SALIDA ---------- */
body.corp .gf-exit__box{background:#fff;border:1px solid var(--c-line);border-radius:16px;box-shadow:0 30px 60px -20px rgba(10,10,10,.35);}
body.corp .gf-exit__kicker{font-family:var(--c-body);font-weight:600;letter-spacing:.08em;color:var(--c-sage-deep);}
body.corp .gf-exit__title{font-family:var(--c-display);text-transform:none;font-weight:600;letter-spacing:-.02em;}
body.corp .gf-exit__title em{font-family:var(--c-display);font-style:normal;color:var(--c-sage-deep);}
body.corp .gf-exit__text{font-family:var(--c-body);font-weight:400;}
body.corp .gf-exit__cta{font-family:var(--c-display);text-transform:none;letter-spacing:0;font-size:1rem;font-weight:600;background:var(--c-ink);color:#fff;border-radius:var(--c-radius-btn);box-shadow:none;}
body.corp .gf-exit__later{font-family:var(--c-body);text-transform:none;letter-spacing:0;font-size:.85rem;}

/* ---------- RESTO DE PÁGINAS ---------- */

/* Sombras duras desplazadas (shadow-[6px_6px_0px_...]) -> sombra suave */
body.corp [class*="shadow-[4px_4px"],body.corp [class*="shadow-[6px_6px"],body.corp [class*="shadow-[8px_8px"],body.corp [class*="shadow-[10px_10px"]{box-shadow:var(--c-shadow) !important;}
/* Estilos en línea con las fuentes antiguas: sin mayúsculas forzadas en titulares */
body.corp [style*="Archivo Black"]{font-family:var(--c-display) !important;text-transform:none !important;letter-spacing:-.02em !important;font-weight:600;}
body.corp [style*="Space Mono"]{font-family:var(--c-body) !important;letter-spacing:.06em !important;}
/* Cinta de texto en movimiento */
body.corp .ed-marquee__item{font-family:var(--c-display);text-transform:none;font-weight:600;letter-spacing:-.02em;}
body.corp .ed-marquee__item.is-out{-webkit-text-stroke:1px var(--c-ink);}
/* Etiquetas de color del servicio (chips) */
body.corp .ed span[class*="bg-[color:var(--sage)]"]{border-radius:999px;}
/* Contenido largo (blog, guías, legal) */
body.corp .ed .post-content,body.corp .ed .legal-content p,body.corp .ed .legal-content li{font-family:var(--c-body) !important;color:var(--c-text);}
body.corp .ed .post-content h2,body.corp .ed .legal-content h2{font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.02em !important;}
body.corp .ed .post-content blockquote{font-family:var(--c-display) !important;font-style:normal;font-weight:500;font-size:1.25rem;}
body.corp .ed .post-content img{border:0;border-radius:var(--c-radius);}
body.corp .ed .post-content ul > li::before{border:0;border-radius:50%;}
body.corp .ed .post-content table{border-radius:var(--c-radius);}
body.corp .ed .post-content code{border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}

/* ---------- AJUSTES DE REVISIÓN ---------- */

/* Menú móvil abierto: cabecera transparente para que el logo claro se vea sobre el fondo negro */
body.corp.gf-menu-open #gf-nav,body.corp.gf-menu-open #gf-nav.is-scrolled{background:transparent;border-bottom-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
body.corp.gf-menu-open .gf-logo{color:#fff;}
body.corp.gf-menu-open .gf-burger__line{background:#fff;}
body.corp #site-menu{background:#0f1110;}
body.corp .gf-m-sub{border-left-color:var(--c-sage);}

/* Logo del footer: "Guznel" en claro sobre el fondo oscuro */
body.corp > footer h4.ed-display{color:#fff;}

/* Etiquetas pequeñas: legibles. En minúscula salvo los "eyebrow" (tracking amplio) */
body.corp .ed-mono{text-transform:none !important;letter-spacing:.005em !important;font-weight:500;}
body.corp .ed-mono[class*="tracking-[0."],body.corp .hv-kicker{text-transform:uppercase !important;letter-spacing:.1em !important;font-weight:600;}
body.corp .ed-mono.text-\[8px\],body.corp .ed-mono.text-\[9px\]{font-size:.78rem !important;}
body.corp .ed-mono.text-\[10px\]{font-size:.82rem !important;}
body.corp .ed-mono.text-\[11px\]{font-size:.86rem !important;}
body.corp .ed-mono[class*="tracking-[0."].text-\[9px\],body.corp .ed-mono[class*="tracking-[0."].text-\[10px\],body.corp .ed-mono[class*="tracking-[0."].text-\[11px\]{font-size:.74rem !important;}
body.corp > footer .ed-mono:not(h4){text-transform:none !important;}

/* Texto en color del servicio dentro de titulares sobre fondo claro: versión oscurecida */
body.corp .ed section:not([class*="bg-[color:var(--ink)]"]) h1 [style*="color:var(--sage)"],
body.corp .ed section:not([class*="bg-[color:var(--ink)]"]) h2 [style*="color:var(--sage)"]{color:var(--c-accent-text) !important;}

/* Sombras duras en línea (paneles) -> sombra suave con radio */
body.corp [style*="box-shadow:10px 10px 0"],body.corp [style*="box-shadow:12px 12px 0"],body.corp [style*="box-shadow:6px 6px 0"]{box-shadow:var(--c-shadow-hover) !important;}

/* Cajas con borde: esquinas redondeadas y chips en píldora */
body.corp .ed div[class*="border-[1.5px]"]:not(.gap-px){border-radius:var(--c-radius);}
body.corp .ed span.ed-mono[class*="border"]{border-radius:999px;}
body.corp .ed [class*="border-l-"][class*="pl-"]{border-radius:0;}
/* Tarjetas blancas dentro de secciones oscuras: texto oscuro por defecto (especificidad 0: cualquier clase de color manda) */
:where(body.corp .ed-card){color:var(--c-ink);}

/* Móvil: las rejillas de tarjetas a 2 columnas quedan demasiado estrechas -> una columna */
@media (max-width:639px){
    body.corp .ed .gap-px.grid-cols-2{grid-template-columns:1fr !important;}
}

/* Maquetas (navegador de diseño web, pantallas del sistema de reservas): sombra suave y radio */
body.corp .ed .dw-browser,body.corp .ed .res-screen{border:1px solid var(--c-line) !important;border-radius:var(--c-radius);overflow:hidden;box-shadow:var(--c-shadow-hover) !important;}
@media (hover:hover){body.corp .ed .dw-browser:hover{transform:translateY(-4px);}}
/* Botones propios de páginas concretas, con el mismo trato que .ed-btn */
body.corp .ed .dw-cta-btn{font-family:var(--c-display) !important;text-transform:none !important;letter-spacing:0 !important;font-size:1rem !important;font-weight:600;padding:.95rem 1.6rem !important;border-radius:var(--c-radius-btn);box-shadow:none !important;}
@media (hover:hover){body.corp .ed .dw-cta-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--sage) 82%,#0a0a0a);}}
/* Cabecera de las landings de campaña (layouts/campaign.blade.php) */
body.corp #campaign-topbar header{background:rgba(255,255,255,.96) !important;border-bottom:1px solid var(--c-line) !important;}
body.corp #campaign-topbar header a[href="/"]{font-size:1.25rem !important;}
body.corp #campaign-topbar a[href="#contacto-campana"]{border-radius:var(--c-radius-btn);font-size:.9rem !important;letter-spacing:0 !important;padding:.7rem 1.1rem !important;}
body.corp #campaign-topbar a[href^="tel:"]{text-transform:none !important;letter-spacing:0 !important;font-size:.9rem !important;font-weight:500;}
/* Tablas de contenido: líneas finas */
body.corp .ed .post-content th{border-bottom:1px solid var(--c-line) !important;font-family:var(--c-body) !important;}
body.corp .ed .post-content tr:last-child td{border-bottom:0 !important;}
body.corp .ed .post-content table{border:1px solid var(--c-line);}
/* Campos sueltos de las páginas (fuera del formulario de contacto) */
body.corp .ed input[type="text"],body.corp .ed input[type="url"],body.corp .ed input[type="email"],body.corp .ed input[type="tel"],body.corp .ed select,body.corp .ed textarea{border-radius:var(--c-radius-btn);}
body.corp .ed form button,body.corp .ed button[type="submit"]{border-radius:var(--c-radius-btn);}
body.corp .ed > section:nth-child(2):has(.hv-kicker) span.ed-display{color:#8a877e;opacity:1;font-size:1.25rem;}

/* Botón "volver arriba" (lo crea public/js/main.js con estilos en línea) */
body.corp #dynamicScrollTop{background:#fff !important;color:var(--c-ink) !important;border:1px solid var(--c-line) !important;box-shadow:0 8px 24px -10px rgba(10,10,10,.3) !important;}
body.corp #dynamicScrollTop:hover{border-color:var(--c-ink) !important;}
/* Móvil: WhatsApp abajo a la derecha y "volver arriba" apilado encima, sin solaparse */
@media (max-width:767px){
    body.corp #dynamicScrollTop{right:19px !important;bottom:calc(16px + 50px + 12px + env(safe-area-inset-bottom,0px)) !important;width:44px !important;height:44px !important;}
    body.corp #whatsapp-flow{bottom:calc(16px + env(safe-area-inset-bottom,0px));}
}
