/* agencia.aware.doctor — rediseño. Generado desde el sistema de diseño de Claude Design + adaptador Avada. No editar: fuente en /root/aware-redesign/adapter.css */
:root{--paper:#fff;--surface-100:#f6f6f4;--surface-200:#ececea;--line:#e2e2df;--line-strong:#8a8a86;--ink:#0a0a0a;--ink-muted:#3f3f3f;--ink-subtle:#5f5f5c;--brand-ink:#08375f;--navy:#08375f;--navy-deep:#052641;--sky:#6cb3dd;--mint:#57f790;--mint-press:#2fd96f;--on-mint:#0a0a0a;--night:#0a0a0a;--night-800:#171717;--night-line:#333;--on-night:#f2f2f2;--on-night-muted:#a8a8a8;--focus:#08375f;--danger:#b3261e;--success:#0f6b35;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-sm:6px;--radius-md:10px;--radius-lg:20px;--radius-pill:999px;--shadow-panel:0 24px 64px rgba(0,0,0,.28);--shadow-sticky:0 1px 0 rgba(10,10,10,.08);--container-max:1320px;--gutter-desktop:32px;--gutter-mobile:16px;--header-height:72px;--bento-inset:12px}

/* agencia.aware.doctor — CSS de componentes.
   En producción: Avada › Global Options › Custom CSS (o hoja del child theme).
   Cada bloque se activa poniendo la clase en el campo «CSS Class» del elemento de Avada.
   Los valores salen de tokens.json; en WordPress, declarar el bloque :root de abajo. */

:root {
  --ad-font: "Inter Tight", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --ad-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --ad-ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base ---------- */
.ad-root, .ad-root * { box-sizing: border-box; }
.ad-root { font-family: var(--ad-font); color: var(--ink); background: var(--paper); font-size: 17px; line-height: 27px; -webkit-font-smoothing: antialiased; margin: 0; }
.ad-root img { max-width: 100%; display: block; }
.ad-root a { color: inherit; }
.ad-container { width: 100%; max-width: calc(var(--container-max) + 2 * var(--gutter-desktop)); margin: 0 auto; padding: 0 var(--gutter-desktop); }
.ad-section { padding: var(--space-9) 0; }
.ad-section--alt { background: var(--surface-100); }
.ad-section--night { background: var(--night); color: var(--on-night); }
.ad-eyebrow { font-family: var(--ad-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-subtle); display: inline-flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-4); }
.ad-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 1px rgba(10,10,10,.15); }
.ad-section--night .ad-eyebrow, .ad-on-night .ad-eyebrow { color: var(--on-night-muted); }
.ad-display { font-size: 112px; line-height: .92; font-weight: 600; letter-spacing: -.035em; margin: 0; }
.ad-h1 { font-size: 64px; line-height: .98; font-weight: 600; letter-spacing: -.03em; margin: 0; }
.ad-h2 { font-size: 44px; line-height: 1.04; font-weight: 600; letter-spacing: -.025em; margin: 0; }
.ad-h3 { font-size: 28px; line-height: 1.15; font-weight: 500; letter-spacing: -.015em; margin: 0; }
.ad-h4 { font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; margin: 0; }
.ad-lead { font-size: 21px; line-height: 31px; letter-spacing: -.005em; color: var(--ink-muted); margin: 0; max-width: 60ch; }
.ad-body { font-size: 17px; line-height: 27px; color: var(--ink-muted); margin: 0; }
.ad-small { font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.ad-mono { font-family: var(--ad-mono); font-size: 12px; line-height: 16px; letter-spacing: .08em; text-transform: uppercase; }
.ad-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-6); margin-bottom: var(--space-7); flex-wrap: wrap; }
.ad-section-head .ad-lead { margin-top: var(--space-4); }
:where(.ad-root) :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.ad-on-night :focus-visible, .ad-section--night :focus-visible { outline-color: var(--sky); }

/* ---------- Botones ---------- */
.ad-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: var(--radius-pill); border: 1px solid transparent; font-family: var(--ad-mono); font-size: 13px; line-height: 16px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .2s var(--ad-ease), color .2s var(--ad-ease), border-color .2s var(--ad-ease), transform .2s var(--ad-ease); }
.ad-btn svg { width: 16px; height: 16px; flex: none; }
.ad-btn--primary { background: var(--mint); color: var(--on-mint); }
.ad-btn--primary:hover { background: var(--mint-press); }
.ad-btn--primary:active { transform: translateY(1px); }
.ad-btn--dark { background: var(--ink); color: var(--paper); }
.ad-btn--dark:hover { background: var(--brand-ink); }
.ad-btn--outline { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.ad-btn--outline:hover { border-color: var(--ink); background: var(--surface-100); }
.ad-btn--on-night { background: transparent; color: var(--on-night); border-color: rgba(242,242,242,.4); }
.ad-btn--on-night:hover { border-color: var(--on-night); background: rgba(242,242,242,.06); }
.ad-btn--sm { min-height: 36px; padding: 0 14px; font-size: 12px; }
.ad-btn--block { width: 100%; }
.ad-link { font-family: var(--ad-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--brand-ink); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.ad-tag { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: var(--radius-pill); border: 1px solid var(--line); font-family: var(--ad-mono); font-size: 11px; line-height: 14px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-subtle); background: var(--paper); }
.ad-tags { display: flex; flex-wrap: wrap; gap: 6px; }

/* ---------- Cabecera ---------- */
.ad-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); box-shadow: var(--shadow-sticky); }
.ad-header__bar { height: var(--header-height); display: flex; align-items: center; gap: var(--space-6); }
.ad-header__logo img { height: 34px; width: auto; }
.ad-root .ad-logo--dark { display: none; }
[data-theme="dark"] .ad-root .ad-logo--light { display: none; }
[data-theme="dark"] .ad-root .ad-logo--dark { display: block; }
.ad-nav { display: flex; gap: 4px; margin-left: auto; }
.ad-nav a { display: inline-flex; align-items: center; height: 40px; padding: 0 14px; border-radius: var(--radius-pill); font-size: 15px; font-weight: 500; text-decoration: none; color: var(--ink); }
.ad-nav a:hover { background: var(--surface-100); }
.ad-nav a[aria-current="page"] { background: var(--surface-200); }
.ad-lang { display: inline-flex; padding: 3px; border-radius: var(--radius-pill); border: 1px solid var(--line); gap: 2px; }
.ad-lang a { font-family: var(--ad-mono); font-size: 12px; font-weight: 500; letter-spacing: .04em; min-width: 34px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); text-decoration: none; color: var(--ink-subtle); }
.ad-lang a[aria-current="true"] { background: var(--ink); color: var(--paper); }
.ad-menu-btn { display: none; width: 44px; height: 44px; border-radius: var(--radius-pill); border: 1px solid var(--line-strong); background: var(--paper); color: var(--ink); align-items: center; justify-content: center; cursor: pointer; margin-left: auto; }
.ad-menu-btn svg { width: 20px; height: 20px; }

/* ---------- Menú móvil (Avada Off Canvas) ---------- */
.ad-offcanvas { background: var(--night); color: var(--on-night); border-radius: var(--radius-lg); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-6); box-shadow: var(--shadow-panel); min-height: 100%; }
.ad-offcanvas__top { display: flex; align-items: center; justify-content: space-between; }
.ad-offcanvas__top img { height: 30px; width: auto; }
.ad-offcanvas__close { width: 44px; height: 44px; border-radius: var(--radius-pill); border: 1px solid var(--night-line); background: transparent; color: var(--on-night); display: inline-flex; align-items: center; justify-content: center; }
.ad-offcanvas__nav { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--night-line); }
.ad-offcanvas__nav li { border-bottom: 1px solid var(--night-line); }
.ad-offcanvas__nav a { display: flex; align-items: baseline; justify-content: space-between; padding: 16px 0; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: -.02em; text-decoration: none; color: var(--on-night); }
.ad-offcanvas__nav a span { font-family: var(--ad-mono); font-size: 12px; font-weight: 400; color: var(--on-night-muted); letter-spacing: .04em; }
.ad-offcanvas__meta { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.ad-offcanvas .ad-lang { border-color: var(--night-line); }
.ad-offcanvas .ad-lang a { color: var(--on-night-muted); }
.ad-offcanvas .ad-lang a[aria-current="true"] { background: var(--on-night); color: var(--night); }
.ad-social { display: flex; gap: 8px; }
.ad-social a { width: 40px; height: 40px; border-radius: var(--radius-pill); border: 1px solid var(--night-line); display: inline-flex; align-items: center; justify-content: center; color: var(--on-night); }
.ad-social svg { width: 16px; height: 16px; }
.ad-offcanvas__contact { margin-top: auto; display: grid; gap: var(--space-3); }
.ad-offcanvas__contact p { margin: 0; color: var(--on-night-muted); font-size: 15px; }

/* ---------- Hero (bento negro) ---------- */
.ad-hero-wrap { padding: var(--bento-inset); }
.ad-hero { background: var(--night); color: var(--on-night); border-radius: var(--radius-lg); padding: var(--space-8) var(--space-7) var(--space-6); display: grid; grid-template-columns: 7fr 5fr; gap: var(--space-7) var(--space-6); overflow: hidden; }
.ad-hero__claim .ad-display { color: var(--on-night); }
.ad-hero__claim .ad-display em { font-style: normal; color: var(--mint); }
.ad-hero__lead { font-size: 21px; line-height: 31px; color: var(--on-night-muted); margin: var(--space-5) 0 var(--space-6); max-width: 34ch; }
.ad-hero__lead strong { color: var(--on-night); font-weight: 500; }
.ad-hero__ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.ad-reel { position: relative; align-self: stretch; min-height: 320px; border-radius: var(--radius-md); overflow: hidden; background: var(--navy); display: flex; align-items: flex-end; padding: var(--space-5); }
.ad-reel__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.ad-reel__play { position: relative; display: inline-flex; align-items: center; gap: 12px; background: var(--paper); color: var(--ink); border: 0; border-radius: var(--radius-pill); height: 48px; padding: 0 20px 0 8px; font-family: var(--ad-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.ad-reel__play i { width: 32px; height: 32px; border-radius: 50%; background: var(--mint); display: inline-flex; align-items: center; justify-content: center; }
.ad-reel__play svg { width: 12px; height: 12px; color: var(--on-mint); }
.ad-hero__foot { grid-column: 1 / -1; border-top: 1px solid var(--night-line); padding-top: var(--space-5); display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); }

/* ---------- Cifras (Avada Counter Box) ---------- */
.ad-stat__num { font-size: 48px; line-height: 1; font-weight: 600; letter-spacing: -.03em; }
.ad-stat__label { font-size: 15px; line-height: 21px; margin-top: 8px; color: var(--ink-subtle); max-width: 22ch; }
.ad-hero .ad-stat__label, .ad-on-night .ad-stat__label { color: var(--on-night-muted); }

/* ---------- Clientes (Avada Image Carousel) ---------- */
.ad-clients { display: flex; align-items: center; gap: var(--space-6); overflow: hidden; }
.ad-clients__label { flex: none; color: var(--on-night-muted); }
.ad-clients__track { display: flex; align-items: center; gap: var(--space-7); flex: 1; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.ad-clients__track img { height: 34px; width: auto; flex: none; opacity: .8; }
.ad-clients--light .ad-clients__track img { filter: brightness(0); opacity: .6; }
[data-theme="dark"] .ad-clients--light .ad-clients__track img { filter: none; opacity: .75; }
.ad-clients--grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.ad-clients--grid > div { background: var(--paper); height: 104px; display: flex; align-items: center; justify-content: center; padding: var(--space-5); }
.ad-clients--grid img { max-height: 40px; width: auto; filter: brightness(0); opacity: .7; }
[data-theme="dark"] .ad-clients--grid img { filter: none; opacity: .8; }

/* ---------- Servicios ---------- */
.ad-services { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.ad-service { display: grid; grid-template-columns: 64px 4fr 5fr 48px; gap: var(--space-5); align-items: start; padding: var(--space-6) 0; border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; transition: background .2s var(--ad-ease); }
.ad-service:hover { background: var(--surface-100); }
.ad-service__num { font-family: var(--ad-mono); font-size: 13px; color: var(--brand-ink); padding-top: 10px; }
.ad-service__name { font-size: 32px; line-height: 1.1; font-weight: 500; letter-spacing: -.02em; margin: 0; }
.ad-service__claim { margin: 8px 0 0; font-size: 15px; color: var(--ink-subtle); }
.ad-service__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.ad-service__list li { position: relative; padding-left: 20px; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.ad-service__list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 1px; background: var(--ink); }
.ad-service__arrow { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line-strong); display: inline-flex; align-items: center; justify-content: center; color: var(--ink); transition: background .2s var(--ad-ease), color .2s var(--ad-ease), border-color .2s; }
.ad-service:hover .ad-service__arrow { background: var(--mint); border-color: var(--mint); color: var(--on-mint); }
.ad-service__arrow svg { width: 18px; height: 18px; }

/* ---------- Tarjeta de proyecto (Avada Post Cards / Portfolio) ---------- */
.ad-projects { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6) var(--space-5); }
.ad-projects--feature > :first-child { grid-column: span 2; grid-row: span 1; }
.ad-project { text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: var(--space-4); }
.ad-project__media { position: relative; border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 1682 / 1328; background: var(--surface-200); }
.ad-projects--feature > :first-child .ad-project__media { aspect-ratio: auto; height: 100%; min-height: 0; }
.ad-project__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ad-ease); }
.ad-project:hover .ad-project__media img { transform: scale(1.03); }
.ad-project__year { position: absolute; top: 12px; left: 12px; background: var(--paper); color: var(--ink); border-radius: var(--radius-pill); padding: 5px 10px; font-family: var(--ad-mono); font-size: 11px; letter-spacing: .06em; }
.ad-project__body { display: grid; gap: 8px; }
.ad-project__title { font-size: 24px; line-height: 1.15; font-weight: 500; letter-spacing: -.015em; margin: 0; display: flex; justify-content: space-between; gap: 12px; }
.ad-project__title svg { width: 18px; height: 18px; flex: none; margin-top: 4px; transition: transform .2s var(--ad-ease); }
.ad-project:hover .ad-project__title svg { transform: translate(2px,-2px); }
.ad-project__lema { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.ad-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.ad-filters button { height: 36px; padding: 0 14px; border-radius: var(--radius-pill); border: 1px solid var(--line-strong); background: transparent; color: var(--ink); font-family: var(--ad-mono); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.ad-filters button[aria-pressed="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ---------- Somos ---------- */
.ad-about { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-7); }
.ad-about__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.ad-about__col { border-top: 1px solid var(--ink); padding-top: var(--space-4); }
.ad-about__col .ad-h4 { margin-bottom: 12px; }

/* ---------- Formación ---------- */
.ad-courses { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.ad-course { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
.ad-course__icon { width: 64px; height: 64px; border-radius: var(--radius-sm); background: var(--surface-100); padding: 6px; }
.ad-course p { margin: 0; }
.ad-programs { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.ad-program { text-decoration: none; display: flex; align-items: center; gap: var(--space-4); padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--paper); flex: 1 1 260px; }
.ad-program img { height: 28px; width: auto; }
.ad-program span { font-size: 15px; color: var(--ink-muted); }

/* ---------- Banda CTA ---------- */
.ad-cta { margin: 0 var(--bento-inset); background: var(--navy); color: var(--on-night); border-radius: var(--radius-lg); padding: var(--space-8) var(--space-7); display: grid; grid-template-columns: 7fr 5fr; gap: var(--space-6); align-items: end; }
.ad-cta .ad-h2 { color: var(--on-night); }
.ad-cta p { color: var(--on-night-muted); margin: var(--space-4) 0 0; font-size: 18px; line-height: 27px; max-width: 46ch; }
.ad-cta .ad-eyebrow { font-size: 12px; line-height: 16px; margin: 0 0 var(--space-4); color: var(--on-night-muted); }
.ad-cta__actions { display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-start; }
.ad-cta__direct { display: flex; gap: var(--space-5); flex-wrap: wrap; font-size: 15px; }
.ad-cta__direct a { color: var(--on-night); text-decoration: none; border-bottom: 1px solid rgba(242,242,242,.4); }

/* ---------- Pie ---------- */
.ad-footer { background: var(--night); color: var(--on-night); margin-top: var(--bento-inset); padding: var(--space-8) 0 var(--space-6); }
.ad-footer__grid { display: grid; grid-template-columns: 4fr 2fr 2fr 3fr; gap: var(--space-6); }
.ad-footer__logo { height: 36px; width: auto; }
.ad-footer h3 { font-family: var(--ad-mono); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--on-night-muted); margin: 0 0 var(--space-4); }
.ad-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ad-footer ul a { color: var(--on-night); text-decoration: none; font-size: 15px; }
.ad-footer ul a:hover { color: var(--mint); }
.ad-footer__claim { color: var(--on-night-muted); font-size: 15px; margin: var(--space-4) 0 0; max-width: 32ch; }
.ad-footer__legal { border-top: 1px solid var(--night-line); margin-top: var(--space-8); padding-top: var(--space-5); display: flex; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; font-size: 13px; color: var(--on-night-muted); }
.ad-footer__legal a { color: var(--on-night-muted); }

/* ---------- Caso de estudio ---------- */
.ad-case-hero { padding: var(--space-8) 0 var(--space-7); }
.ad-case-hero .ad-lead { margin-top: var(--space-5); font-size: 24px; line-height: 33px; color: var(--ink); max-width: 30ch; }
.ad-meta { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); margin-top: var(--space-7); }
.ad-meta > div { padding: var(--space-4) var(--space-4) 0 0; }
.ad-meta dt { margin: 0 0 6px; }
.ad-meta dd { margin: 0; font-size: 17px; font-weight: 500; }
.ad-case-cover { border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 16 / 7; background: var(--night); }
.ad-case-cover img { width: 100%; height: 100%; object-fit: cover; }
.ad-case-block { display: grid; grid-template-columns: 4fr 8fr; gap: var(--space-6); padding: var(--space-7) 0; border-bottom: 1px solid var(--line); }
.ad-case-block:last-child { border-bottom: 0; }
.ad-case-block .ad-body { font-size: 19px; line-height: 30px; color: var(--ink); max-width: 62ch; }
.ad-figures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--night-line); border-radius: var(--radius-lg); overflow: hidden; }
.ad-figures > div { background: var(--night); color: var(--on-night); padding: var(--space-6) var(--space-5); min-height: 180px; display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-4); }
.ad-pager { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); }
.ad-pager a { padding: var(--space-5) 0; text-decoration: none; color: inherit; display: grid; gap: 6px; }
.ad-pager a + a { text-align: right; border-left: 1px solid var(--line); padding-left: var(--space-5); }

/* ---------- Contacto / formulario (Avada Forms) ---------- */
.ad-contact { display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-7); align-items: start; }
.ad-contact__direct { display: grid; gap: 0; margin-top: var(--space-6); border-top: 1px solid var(--line); }
.ad-contact__direct a { display: flex; justify-content: space-between; align-items: center; padding: var(--space-4) 0; border-bottom: 1px solid var(--line); text-decoration: none; font-size: 20px; font-weight: 500; letter-spacing: -.01em; color: var(--ink); }
.ad-contact__direct a span { font-family: var(--ad-mono); font-size: 12px; font-weight: 400; color: var(--ink-subtle); letter-spacing: .06em; text-transform: uppercase; }
.ad-form { background: var(--surface-100); border-radius: var(--radius-lg); padding: var(--space-6); display: grid; gap: var(--space-6); }
.ad-steps { display: flex; gap: 6px; }
.ad-steps i { flex: 1; height: 4px; border-radius: 2px; background: var(--surface-200); }
.ad-steps i.is-done { background: var(--ink); }
.ad-steps i.is-current { background: var(--mint); }
.ad-q { border: 0; padding: 0; margin: 0; display: grid; gap: var(--space-3); }
.ad-q legend { font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; padding: 0; margin-bottom: var(--space-3); display: flex; gap: 12px; align-items: baseline; }
.ad-q legend span { font-family: var(--ad-mono); font-size: 12px; font-weight: 400; color: var(--brand-ink); }
.ad-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.ad-choice { position: relative; }
.ad-choice input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.ad-choice span { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); background: var(--paper); font-size: 15px; line-height: 20px; color: var(--ink); }
.ad-choice span::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--line-strong); flex: none; background: var(--paper); }
.ad-choice input:checked + span { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.ad-choice input:checked + span::before { background: var(--mint); border: 5px solid var(--ink); }
.ad-choice input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
.ad-field { display: grid; gap: 6px; }
.ad-field label { font-size: 14px; font-weight: 500; }
.ad-input { height: 52px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); background: var(--paper); padding: 0 var(--space-4); font: inherit; font-size: 16px; color: var(--ink); width: 100%; }
textarea.ad-input { height: 120px; padding: 14px var(--space-4); resize: vertical; }
.ad-fields { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.ad-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.ad-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--ink); flex: none; }
.ad-form__foot { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
.ad-form__note { font-size: 13px; color: var(--ink-subtle); }

/* ---------- Reserva para Complianz + Join.chat ---------- */
.ad-wa { position: fixed; right: 16px; bottom: 16px; width: 56px; height: 56px; border-radius: 50%; background: var(--night); color: var(--mint); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,.25); z-index: 40; }
.ad-wa svg { width: 26px; height: 26px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .ad-display { font-size: 80px; }
  .ad-hero { grid-template-columns: 1fr; }
  .ad-reel { min-height: 240px; }
  .ad-hero__foot { grid-template-columns: repeat(2, 1fr); }
  .ad-projects { grid-template-columns: repeat(2, 1fr); }
  .ad-courses { grid-template-columns: 1fr 1fr; }
  .ad-footer__grid { grid-template-columns: 1fr 1fr; }
  .ad-nav, .ad-header .ad-lang, .ad-header .ad-btn { display: none; }
  .ad-menu-btn { display: inline-flex; }
}
@media (max-width: 767px) {
  .ad-root { font-size: 16px; line-height: 25px; }
  .ad-container { padding: 0 var(--gutter-mobile); }
  .ad-section { padding: var(--space-8) 0; }
  .ad-header__bar { height: 64px; }
  .ad-header__logo img { height: 28px; }
  .ad-display { font-size: 52px; line-height: .94; }
  .ad-h1 { font-size: 40px; }
  .ad-h2 { font-size: 32px; }
  .ad-h3 { font-size: 24px; }
  .ad-lead, .ad-hero__lead { font-size: 18px; line-height: 27px; }
  .ad-hero { padding: var(--space-6) var(--space-4) var(--space-5); gap: var(--space-5); border-radius: 16px; }
  .ad-hero__ctas .ad-btn { width: 100%; }
  .ad-reel { min-height: 200px; }
  .ad-stat__num { font-size: 36px; }
  .ad-stat__label { font-size: 14px; line-height: 19px; }
  .ad-clients { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .ad-clients__track { width: 100%; gap: var(--space-6); }
  .ad-clients__track img { height: 26px; }
  .ad-clients--grid { grid-template-columns: repeat(3, 1fr); }
  .ad-clients--grid > div { height: 80px; padding: var(--space-3); }
  .ad-service { grid-template-columns: 36px 1fr 40px; gap: var(--space-3); padding: var(--space-5) 0; }
  .ad-service__name { font-size: 24px; }
  .ad-service__list { grid-column: 2 / 3; grid-row: 2; }
  .ad-service__arrow { width: 40px; height: 40px; grid-column: 3; grid-row: 1; }
  .ad-projects { grid-template-columns: 1fr; gap: var(--space-6); }
  .ad-projects--feature > :first-child { grid-column: auto; }
  .ad-projects--feature > :first-child .ad-project__media { aspect-ratio: 1682 / 1328; height: auto; }
  .ad-about, .ad-about__cols, .ad-courses, .ad-contact, .ad-case-block, .ad-fields { grid-template-columns: 1fr; }
  .ad-about { gap: var(--space-6); }
  .ad-cta { grid-template-columns: 1fr; padding: var(--space-7) var(--space-5); border-radius: 16px; }
  .ad-cta__actions .ad-btn { width: 100%; }
  .ad-footer__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .ad-meta { grid-template-columns: 1fr 1fr; row-gap: var(--space-4); }
  .ad-figures { grid-template-columns: 1fr 1fr; }
  .ad-figures > div { min-height: 140px; padding: var(--space-5) var(--space-4); }
  .ad-case-cover { aspect-ratio: 4 / 3; border-radius: 16px; }
  .ad-case-hero .ad-lead { font-size: 20px; line-height: 28px; }
  .ad-case-block .ad-body { font-size: 17px; line-height: 27px; }
  .ad-form { padding: var(--space-5) var(--space-4); }
  .ad-choices { grid-template-columns: 1fr; }
  .ad-form__foot .ad-btn { width: 100%; }
  .ad-pager { grid-template-columns: 1fr; }
  .ad-pager a + a { text-align: left; border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ad-root * { transition: none !important; animation: none !important; }
}
.ad-social--light a { border-color: var(--line-strong); color: var(--ink); }
.ad-social--light a:hover, .ad-social a:hover { border-color: var(--mint); }
.ad-figures .ad-stat__label { color: var(--on-night-muted); }

/* =========================================================
   Adaptador Avada — traduce el marcado de Fusion Builder a
   los componentes del sistema de diseño. Solo en .ad-preview.
   ========================================================= */
body.ad-preview { background: var(--paper); }
body.ad-preview #main, body.ad-preview #main .fusion-row { padding: 0 !important; max-width: none !important; }
body.ad-preview .fusion-text p:last-child { margin-bottom: 0; }
body.ad-preview .fusion-text :is(h1,h2,h3,h4) { font-family: var(--ad-font); color: inherit; }
body.ad-preview .ad-display, body.ad-preview .ad-h2 { text-transform: none; }

/* Filas de contenedor al ancho de la retícula */
body.ad-preview .adv-section > .fusion-builder-row,
body.ad-preview .adv-footer > .fusion-builder-row,
body.ad-preview .adv-header > .fusion-builder-row { max-width: var(--container-max) !important; margin-inline: auto; }

/* Secciones bento: separación del borde */
body.ad-preview .fusion-fullwidth.adv-hero,
body.ad-preview .fusion-fullwidth.adv-cta { margin-left: var(--bento-inset) !important; margin-right: var(--bento-inset) !important; display: block; }
body.ad-preview .fusion-fullwidth.adv-hero { color: var(--on-night); }
body.ad-preview .fusion-fullwidth.adv-hero > .fusion-builder-row,
body.ad-preview .fusion-fullwidth.adv-cta > .fusion-builder-row { max-width: none !important; }

/* ---------- Cabecera ---------- */
body.ad-preview .fusion-fullwidth.adv-header { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); box-shadow: var(--shadow-sticky); padding: 0 var(--gutter-desktop) !important; }
body.ad-preview .adv-header > .fusion-builder-row { height: var(--header-height); align-items: center !important; gap: var(--space-5); flex-wrap: nowrap !important; }
body.ad-preview .ad-h-logo { margin-right: auto !important; }
body.ad-preview .ad-header__logo img { height: 34px; width: auto; }
body.ad-preview .ad-nav .awb-menu__main-ul { gap: 4px; }
body.ad-preview .ad-nav .awb-menu__main-a { height: 40px; padding: 0 14px !important; border-radius: var(--radius-pill); font-family: var(--ad-font) !important; font-size: 15px !important; font-weight: 500 !important; color: var(--ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.ad-preview .ad-nav .awb-menu__main-li:hover .awb-menu__main-a { background: var(--surface-100); }
body.ad-preview .ad-nav .awb-menu__main-background-default,
body.ad-preview .ad-nav .awb-menu__main-background-active { display: none !important; }
body.ad-preview .adv-header .ad-lang a { color: var(--ink-subtle); }
body.ad-preview .adv-header .ad-lang a[aria-current="true"] { color: var(--paper); }
body.ad-preview .ad-menu-btn { display: inline-flex; text-decoration: none; }

/* ---------- Botones (fusion_button) ---------- */
body.ad-preview .fusion-button.ad-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px !important; border-radius: var(--radius-pill) !important; border: 1px solid transparent !important; background: transparent; box-shadow: none !important; font-family: var(--ad-mono) !important; font-size: 13px !important; line-height: 16px !important; font-weight: 500 !important; letter-spacing: .06em !important; text-transform: uppercase !important; white-space: nowrap; }
body.ad-preview .fusion-button.ad-btn .fusion-button-text { font: inherit !important; color: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }
body.ad-preview .fusion-button.ad-btn i { color: inherit !important; font-size: 15px; margin: 0 !important; }
body.ad-preview .fusion-button.ad-btn--primary { background: var(--mint) !important; color: var(--on-mint) !important; }
body.ad-preview .fusion-button.ad-btn--primary:hover { background: var(--mint-press) !important; }
body.ad-preview .fusion-button.ad-btn--on-night { background: transparent !important; color: var(--on-night) !important; border-color: rgba(242,242,242,.4) !important; }
body.ad-preview .fusion-button.ad-btn--on-night:hover { border-color: var(--on-night) !important; background: rgba(242,242,242,.06) !important; }
body.ad-preview .fusion-button.ad-btn--outline { background: transparent !important; color: var(--ink) !important; border-color: var(--line-strong) !important; }
body.ad-preview .fusion-button.ad-btn--outline:hover { border-color: var(--ink) !important; background: var(--surface-100) !important; }
body.ad-preview .fusion-button.ad-btn--sm { min-height: 36px; padding: 0 14px !important; font-size: 12px !important; }
body.ad-preview .fusion-button.ad-btn--block { width: 100%; }
body.ad-preview .ad-center { display: flex; justify-content: center; margin-top: var(--space-7); }

/* ---------- Hero ---------- */
body.ad-preview .adv-hero .ad-display { color: var(--on-night); }
body.ad-preview .adv-hero .ad-display em { font-style: normal; color: var(--mint); }
body.ad-preview .adv-hero .ad-eyebrow { color: var(--on-night-muted); }
body.ad-preview .ad-hero__ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; }
body.ad-preview .adv-reel > .fusion-column-wrapper { position: relative; min-height: 320px; border-radius: var(--radius-md); overflow: hidden; background: var(--navy); justify-content: flex-end !important; padding: var(--space-5) !important; }
body.ad-preview .adv-reel .ad-reel__media { position: absolute; inset: 0; margin: 0 !important; max-width: none !important; }
body.ad-preview .adv-reel .ad-reel__media .video-shortcode, body.ad-preview .adv-reel .ad-reel__media .fusion-video-wrapper, body.ad-preview .adv-reel .ad-reel__media video { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
body.ad-preview .adv-reel .ad-reel__media > div { height: 100%; }
body.ad-preview .fusion-button.ad-reel__play { position: relative; align-self: flex-start; background: var(--paper) !important; color: var(--ink) !important; padding: 0 20px 0 8px !important; }
body.ad-preview .fusion-button.ad-reel__play i { width: 32px; height: 32px; border-radius: 50%; background: var(--mint); color: var(--on-mint) !important; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; }
body.ad-preview .adv-hero-stat { border-top: 1px solid var(--night-line); padding-top: var(--space-5) !important; margin-top: var(--space-6) !important; }
body.ad-preview .adv-hero .ad-stat__label { color: var(--on-night-muted); }
body.ad-preview .adv-clients { margin-top: var(--space-5) !important; }
body.ad-preview .adv-clients > .fusion-column-wrapper { flex-direction: row !important; align-items: center !important; gap: var(--space-6); flex-wrap: nowrap !important; }
body.ad-preview .adv-clients .fusion-text { flex: none; }
body.ad-preview .adv-clients .ad-clients__label { color: var(--on-night-muted); }
body.ad-preview .adv-clients-track { flex: 1; min-width: 0; margin: 0 !important; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
body.ad-preview .adv-clients-track .fusion-image-wrapper { display: flex; align-items: center; justify-content: center; height: 48px; }
body.ad-preview .adv-clients-track img { height: 34px !important; width: auto !important; max-width: 140px; object-fit: contain; opacity: .8; }

/* ---------- Secciones de texto ---------- */
body.ad-preview .ad-section .ad-section-head .ad-link { color: var(--brand-ink); }
body.ad-preview .ad-service:hover { background: var(--surface-200); }
body.ad-preview .ad-services > li { margin: 0; }
body.ad-preview .ad-about__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
body.ad-preview .ad-course { height: 100%; }
body.ad-preview .ad-program { text-decoration: none; }

/* ---------- Proyectos (Post Cards) ---------- */
body.ad-preview .ad-projects-pc .fusion-filters { border: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 var(--space-6) !important; padding: 0 !important; }
body.ad-preview .ad-projects-pc .fusion-filter { padding: 0 !important; margin: 0 !important; border: 0 !important; }
body.ad-preview .ad-projects-pc .fusion-filter a { display: inline-flex; align-items: center; height: 36px; padding: 0 14px !important; border-radius: var(--radius-pill); border: 1px solid var(--line-strong) !important; color: var(--ink) !important; font-family: var(--ad-mono); font-size: 12px !important; letter-spacing: .05em; text-transform: uppercase; }
body.ad-preview .ad-projects-pc .fusion-filter.fusion-active a { background: var(--ink); color: var(--paper) !important; border-color: var(--ink) !important; }
body.ad-preview .adv-card, body.ad-preview .adv-card > .fusion-builder-row { padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.ad-preview .adv-project > .fusion-column-wrapper { gap: 8px; position: relative; text-decoration: none; }
body.ad-preview .adv-project .fusion-column-anchor { position: absolute; inset: 0; z-index: 2; }
body.ad-preview .adv-project-media { margin: 0 0 8px !important; border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 1682 / 1328; background: var(--surface-200); display: block !important; max-width: none !important; width: 100%; }
body.ad-preview .adv-project-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ad-ease); }
body.ad-preview .adv-project:hover .adv-project-media img { transform: scale(1.03); }
body.ad-preview .adv-project-year { position: absolute !important; top: 12px; left: 12px; z-index: 1; margin: 0 !important; }
body.ad-preview .adv-project-year .fusion-title-heading { background: var(--paper); color: var(--ink) !important; border-radius: var(--radius-pill); padding: 5px 10px; font-family: var(--ad-mono) !important; font-size: 11px !important; line-height: 14px !important; letter-spacing: .06em !important; margin: 0; }
body.ad-preview .adv-project-title { margin: 0 !important; }
body.ad-preview .adv-project-title .fusion-title-heading { font-family: var(--ad-font) !important; font-size: 24px !important; line-height: 1.15 !important; font-weight: 500 !important; letter-spacing: -.015em !important; color: var(--ink) !important; text-transform: none !important; margin: 0 !important; }
body.ad-preview .adv-project-lema, body.ad-preview .adv-project-lema p { margin: 0 !important; font-size: 15px !important; line-height: 23px !important; color: var(--ink-muted) !important; }
body.ad-preview .adv-project-terms { margin: 4px 0 0 !important; }
body.ad-preview .adv-project-terms .fusion-title-heading { font-family: var(--ad-mono) !important; font-size: 11px !important; line-height: 14px !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--ink-subtle) !important; margin: 0 !important; }

/* ---------- Banda CTA ---------- */
body.ad-preview .adv-cta { color: var(--on-night); }
body.ad-preview .adv-cta .ad-h2 { color: var(--on-night); }
body.ad-preview .adv-cta .ad-eyebrow { color: var(--on-night-muted); }

/* ---------- Pie ---------- */
body.ad-preview .adv-footer .ad-footer__legal { margin-top: var(--space-7); }
body.ad-preview .adv-footer h3 { font-family: var(--ad-mono) !important; }
body.ad-preview .adv-footer .fusion-layout-column { margin-bottom: 0 !important; }

/* ---------- Menú móvil (Off Canvas) ---------- */
.awb-off-canvas .ad-oc-inner, .awb-off-canvas .ad-oc-inner > .fusion-builder-row { padding: 0 !important; margin: 0 !important; background: transparent !important; }
.awb-off-canvas .ad-oc-inner .fusion-column-wrapper { gap: var(--space-5); }
.awb-off-canvas .ad-offcanvas-text { color: var(--on-night); font-family: var(--ad-font); }
.awb-off-canvas .ad-offcanvas__top img { height: 30px; width: auto; }
.awb-off-canvas .ad-offcanvas__nav { list-style: none; margin: var(--space-5) 0; padding: 0; border-top: 1px solid var(--night-line); }
.awb-off-canvas .ad-offcanvas__nav li { border-bottom: 1px solid var(--night-line); margin: 0; }
.awb-off-canvas .ad-offcanvas__nav a { display: flex; align-items: baseline; justify-content: space-between; padding: 16px 0; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: -.02em; text-decoration: none; color: var(--on-night); }
.awb-off-canvas .ad-offcanvas__nav a span { font-family: var(--ad-mono); font-size: 12px; font-weight: 400; color: var(--on-night-muted); letter-spacing: .04em; }
.awb-off-canvas .ad-offcanvas__meta { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
body.ad-preview .awb-off-canvas .ad-lang { border-color: var(--night-line); }
body.ad-preview .awb-off-canvas .ad-lang a { color: var(--on-night-muted); }
body.ad-preview .awb-off-canvas .ad-lang a[aria-current="true"] { background: var(--on-night); color: var(--night); }
.awb-off-canvas .ad-offcanvas__contact { display: grid; gap: var(--space-2); }
.awb-off-canvas .ad-offcanvas__contact a { color: var(--on-night-muted); text-decoration: none; font-size: 15px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  body.ad-preview .adv-header .ad-lang { display: inline-flex; }
}
@media (max-width: 767px) {
  body.ad-preview .fusion-fullwidth.adv-header { padding: 0 var(--gutter-mobile) !important; }
  body.ad-preview .adv-header > .fusion-builder-row { height: 64px; }
  body.ad-preview .ad-header__logo img { height: 28px; }
  body.ad-preview .ad-about__cols { grid-template-columns: 1fr; }
  body.ad-preview .ad-hero__ctas .fusion-button { width: 100%; }
  body.ad-preview .ad-cta__actions .fusion-button { width: 100%; }
  body.ad-preview .adv-clients > .fusion-column-wrapper { flex-direction: column !important; align-items: flex-start !important; gap: var(--space-3); }
  body.ad-preview .adv-clients-track { width: 100%; }
  body.ad-preview .adv-hero-stat { margin-top: var(--space-4) !important; }
  body.ad-preview .fusion-fullwidth.adv-hero, body.ad-preview .fusion-fullwidth.adv-cta { border-radius: 16px !important; }
}

/* Banda CTA: estilos del componente sobre el contenedor de Avada */
body.ad-preview .adv-cta p { color: var(--on-night-muted); margin: var(--space-4) 0 0; font-size: 18px; line-height: 27px; max-width: 46ch; }
body.ad-preview .adv-cta .ad-eyebrow { margin: 0 0 var(--space-4); }
body.ad-preview .adv-cta .ad-cta__actions { display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-start; }
body.ad-preview .adv-cta .ad-cta__direct { display: flex; gap: var(--space-5); flex-wrap: wrap; font-size: 15px; }
body.ad-preview .adv-cta .ad-cta__direct a { color: var(--on-night); text-decoration: none; border-bottom: 1px solid rgba(242,242,242,.4); }
body.ad-preview .adv-hero .ad-hero__lead { font-size: 21px; line-height: 31px; color: var(--on-night-muted); margin: var(--space-5) 0 var(--space-6); max-width: 34ch; }
body.ad-preview .adv-hero .ad-hero__lead strong { color: var(--on-night); font-weight: 500; }
body.ad-preview .adv-hero .ad-stat__num { color: var(--on-night); }
@media (max-width: 1024px) { body.ad-preview .adv-hero .ad-display { font-size: 80px; } }
@media (max-width: 767px) { body.ad-preview .adv-hero .ad-display { font-size: 52px; } body.ad-preview .adv-hero .ad-hero__lead { font-size: 18px; line-height: 27px; } }

/* Tipografía del sistema por encima de la tipografía global de Avada */
body.ad-preview .ad-display { font-size: 112px !important; line-height: .92 !important; font-weight: 600 !important; letter-spacing: -.035em !important; margin: 0 !important; }
body.ad-preview .ad-h1 { font-size: 64px !important; line-height: .98 !important; font-weight: 600 !important; letter-spacing: -.03em !important; margin: 0 !important; }
body.ad-preview .ad-h2 { font-size: 44px !important; line-height: 1.04 !important; font-weight: 600 !important; letter-spacing: -.025em !important; margin: 0 !important; }
body.ad-preview .ad-h3 { font-size: 28px !important; line-height: 1.15 !important; font-weight: 500 !important; letter-spacing: -.015em !important; margin: 0 !important; }
body.ad-preview .ad-h4 { font-size: 20px !important; line-height: 1.3 !important; font-weight: 600 !important; letter-spacing: -.01em !important; margin: 0 0 12px !important; }
body.ad-preview .ad-service__name { font-size: 32px !important; line-height: 1.1 !important; font-weight: 500 !important; letter-spacing: -.02em !important; margin: 0 !important; }
body.ad-preview .ad-footer h3 { font-size: 12px !important; line-height: 16px !important; font-weight: 500 !important; letter-spacing: .08em !important; margin: 0 0 var(--space-4) !important; color: var(--on-night-muted) !important; }
body.ad-preview .ad-eyebrow { font-size: 12px !important; line-height: 16px !important; }
body.ad-preview .ad-lead { font-size: 21px !important; line-height: 31px !important; }
body.ad-preview .ad-course .ad-h4 { margin: 0 !important; }
/* Cabecera: alineación vertical */
body.ad-preview .adv-header .fusion-layout-column { align-self: center !important; }
body.ad-preview .adv-header .fusion-column-wrapper { justify-content: center !important; }
body.ad-preview .ad-nav .awb-menu__main-ul { align-items: center !important; }
body.ad-preview .ad-nav .awb-menu__main-a { display: inline-flex !important; align-items: center; }
@media (max-width: 1024px) { body.ad-preview .adv-hero .ad-display { font-size: 80px !important; } }
@media (max-width: 767px) {
  body.ad-preview .adv-hero .ad-display, body.ad-preview .ad-display { font-size: 52px !important; line-height: .94 !important; }
  body.ad-preview .ad-h1 { font-size: 40px !important; }
  body.ad-preview .ad-h2 { font-size: 32px !important; }
  body.ad-preview .ad-h3, body.ad-preview .ad-service__name { font-size: 24px !important; }
  body.ad-preview .ad-lead { font-size: 18px !important; line-height: 27px !important; }
}
/* wpautop: párrafos vacíos que WordPress inserta dentro de los enlaces de servicio */
body.ad-preview .ad-services p:empty, body.ad-preview .ad-service > p:not([class]), body.ad-preview .ad-services > p, body.ad-preview .ad-services br { display: none !important; }
body.ad-preview .adv-project-year .fusion-title-heading { display: inline-block; }
/* Filtros de proyectos en fila también en móvil */
body.ad-preview .ad-projects-pc .fusion-filters { display: flex !important; flex-direction: row !important; }
body.ad-preview .ad-projects-pc .fusion-filter { width: auto !important; display: block !important; }
@media (max-width: 767px) {
  body.ad-preview .ad-hero__ctas > *, body.ad-preview .ad-cta__actions > * { width: 100%; }
  body.ad-preview .ad-hero__ctas .fusion-button, body.ad-preview .ad-cta__actions .fusion-button { width: 100% !important; }
  body.ad-preview .adv-cta .ad-cta__actions { margin-top: var(--space-5); }
  body.ad-preview .adv-footer .fusion-layout-column { margin-bottom: var(--space-6) !important; }
  body.ad-preview .adv-reel { margin-top: var(--space-5) !important; }
}
/* Servicios: la fila entera es clicable con el enlace de la flecha */
body.ad-preview .ad-service { position: relative; }
body.ad-preview .ad-service__go { grid-column: 4; }
body.ad-preview .ad-service__arrow { text-decoration: none; }
body.ad-preview .ad-service__arrow::after { content: ""; position: absolute; inset: 0; }
body.ad-preview .ad-service:hover .ad-service__arrow { background: var(--mint); border-color: var(--mint); color: var(--on-mint); }
body.ad-preview .ad-services > li.ad-service { margin: 0; list-style: none; }
body.ad-preview .ad-service__list li { list-style: none; margin: 0; }
@media (max-width: 767px) { body.ad-preview .ad-service__go { grid-column: 3; grid-row: 1; } }
/* Hero: espacio entre columnas por CSS (columnas sin separación de Avada) */
body.ad-preview .adv-hero-claim { padding-right: var(--space-6) !important; }
@media (max-width: 1024px) { body.ad-preview .adv-hero-claim { padding-right: 0 !important; } }

/* =========================================================
   v2 — HOME DE UNA SOLA VISTA (bento) + PANELES
   ========================================================= */
:root { --adv-gap: 12px; --adv-footer-h: 40px; }
body.ad-preview .adv-bento { background: var(--paper); }
body.ad-preview .adv-bento > .fusion-builder-row { max-width: none !important; }
body.ad-preview .adv-col > .fusion-column-wrapper { display: flex !important; flex-direction: column !important; gap: var(--adv-gap); height: 100%; }
body.ad-preview .adv-tile { position: relative; border-radius: var(--radius-lg); overflow: hidden; padding: var(--space-5); min-height: 0; display: flex; flex-direction: column; }
body.ad-preview .adv-tile .fusion-text { margin: 0 !important; }
body.ad-preview .adv-tile__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); margin-bottom: var(--space-3); }
body.ad-preview .adv-tile__head .ad-eyebrow { margin: 0; }
body.ad-preview .adv-tile__more { font-family: var(--ad-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; color: inherit; display: inline-flex; align-items: center; gap: 6px; }
body.ad-preview .adv-tile__more svg { width: 14px; height: 14px; }

/* Hero */
body.ad-preview .adv-tile--hero { background: var(--night); color: var(--on-night); padding: clamp(24px, 4.5vh, 48px) clamp(24px, 3vw, 48px) clamp(20px, 3vh, 28px); justify-content: space-between; gap: clamp(12px, 2vh, 24px); }
body.ad-preview .adv-tile--hero .ad-eyebrow { color: var(--on-night-muted); }
body.ad-preview .adv-tile--hero .ad-display { color: var(--on-night); font-size: clamp(52px, min(6.6vw, 11.5vh), 112px) !important; }
body.ad-preview .adv-tile--hero .ad-display em { font-style: normal; color: var(--mint); }
body.ad-preview .adv-tile--hero .ad-hero__lead { font-size: clamp(16px, 2.1vh, 20px); line-height: 1.45; color: var(--on-night-muted); margin: clamp(12px, 2.4vh, 24px) 0 0; max-width: 40ch; }
body.ad-preview .adv-tile--hero .ad-hero__lead strong { color: var(--on-night); font-weight: 500; }
body.ad-preview .adv-tile--hero .ad-hero__ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; }
body.ad-preview .adv-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); border-top: 1px solid var(--night-line); padding-top: clamp(12px, 2vh, 20px); }
body.ad-preview .adv-stats .ad-stat__num { font-size: clamp(28px, 4.4vh, 44px); color: var(--on-night); }
body.ad-preview .adv-stats .ad-stat__label { font-size: 13px; line-height: 18px; margin-top: 6px; color: var(--on-night-muted); }
body.ad-preview .adv-clients { display: flex; align-items: center; gap: var(--space-5); min-width: 0; }
body.ad-preview .adv-clients__label { flex: none; color: var(--on-night-muted); }
body.ad-preview .adv-clients .adv-clients-track { flex: 1; min-width: 0; margin: 0 !important; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
body.ad-preview .adv-clients .fusion-image-wrapper { display: flex; align-items: center; justify-content: center; height: 40px; }
body.ad-preview .adv-clients img { height: 28px !important; width: auto !important; max-width: 120px; object-fit: contain; opacity: .8; }

/* Servicios (lista compacta) */
body.ad-preview .adv-tile--svc { background: var(--surface-100); flex: 1.55 1 0; }
body.ad-preview .adv-svc { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
body.ad-preview .adv-svc li { margin: 0; border-bottom: 1px solid var(--line); }
body.ad-preview .adv-svc a { display: grid; grid-template-columns: 28px 1fr 16px; align-items: center; gap: 8px; padding: clamp(8px, 1.45vh, 14px) 0; text-decoration: none; color: var(--ink); transition: padding .2s var(--ad-ease); }
body.ad-preview .adv-svc a:hover { padding-left: 6px; }
body.ad-preview .adv-svc__num { font-family: var(--ad-mono); font-size: 12px; color: var(--brand-ink); }
body.ad-preview .adv-svc__name { font-size: clamp(16px, 2.2vh, 20px); font-weight: 500; letter-spacing: -.01em; }
body.ad-preview .adv-svc svg { width: 16px; height: 16px; opacity: .5; }
body.ad-preview .adv-svc a:hover svg { opacity: 1; }

/* Contacto (CTA mint) */
body.ad-preview .adv-tile--contact { background: var(--mint); color: var(--on-mint); flex: 1 1 0; justify-content: flex-end; }
body.ad-preview .adv-tile--contact .fusion-text { display: flex; flex-direction: column; height: 100%; justify-content: flex-end; }
body.ad-preview .adv-tile--contact .ad-eyebrow { color: var(--on-mint); margin-bottom: auto; }
body.ad-preview .adv-tile--contact .ad-eyebrow::before { background: var(--on-mint); }
body.ad-preview .adv-tile__title { font-size: clamp(22px, 3.2vh, 30px) !important; line-height: 1.05 !important; font-weight: 600 !important; letter-spacing: -.02em !important; margin: 0 0 var(--space-3) !important; color: var(--on-mint) !important; max-width: 12ch; }
body.ad-preview .adv-contact-lines { display: grid; gap: 2px; font-size: 14px; position: relative; z-index: 2; }
body.ad-preview .adv-contact-lines a { color: var(--on-mint); text-decoration: none; }
body.ad-preview .adv-contact-lines a:hover { opacity: .7; }
body.ad-preview .adv-tile__link { position: absolute; inset: 0; z-index: 1; }
body.ad-preview .adv-tile__go { position: absolute; top: var(--space-5); right: var(--space-5); width: 40px; height: 40px; border-radius: 50%; background: var(--on-mint); color: var(--mint); display: inline-flex; align-items: center; justify-content: center; transform: rotate(-45deg); transition: transform .2s var(--ad-ease); }
body.ad-preview .adv-tile--contact:hover .adv-tile__go { transform: rotate(0); }

/* Reel */
body.ad-preview .adv-tile--reel { background: var(--navy); flex: 1.15 1 0; justify-content: flex-end; padding: var(--space-4); min-height: 200px; }
body.ad-preview .adv-tile--reel .ad-reel__media { position: absolute !important; inset: 0; margin: 0 !important; max-width: none !important; }
body.ad-preview .adv-tile--reel .ad-reel__media > div, body.ad-preview .adv-tile--reel .ad-reel__media .video-shortcode, body.ad-preview .adv-tile--reel video { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
body.ad-preview .adv-tile--reel .fusion-button.ad-reel__play { position: relative; z-index: 2; align-self: flex-start; background: var(--paper) !important; color: var(--ink) !important; padding: 0 18px 0 8px !important; min-height: 44px; }
body.ad-preview .adv-tile--reel .fusion-button.ad-reel__play i { width: 30px; height: 30px; border-radius: 50%; background: var(--mint); color: var(--on-mint) !important; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }

/* Proyectos (carrusel) */
body.ad-preview .adv-tile--projects { background: var(--surface-100); flex: 1 1 0; padding: var(--space-4) var(--space-4) var(--space-3); }
body.ad-preview .adv-tile--projects .adv-tile__head { margin-bottom: var(--space-2); }
body.ad-preview .adv-mini-carousel { flex: 1; min-height: 0; margin: 0 !important; }
body.ad-preview .adv-mini-carousel .awb-carousel, body.ad-preview .adv-mini-carousel .swiper, body.ad-preview .adv-mini-carousel .swiper-wrapper { height: 100%; }
body.ad-preview .adv-mini > .fusion-column-wrapper { position: relative; gap: 8px; height: 100%; }
body.ad-preview .adv-mini .fusion-column-anchor { position: absolute; inset: 0; z-index: 2; }
body.ad-preview .adv-mini-media { margin: 0 !important; border-radius: var(--radius-md); overflow: hidden; display: block !important; max-width: none !important; width: 100%; aspect-ratio: 16 / 10; background: var(--surface-200); }
body.ad-preview .adv-mini-media img { width: 100%; height: 100%; object-fit: cover; }
body.ad-preview .adv-mini-title { margin: 0 !important; }
body.ad-preview .adv-mini-title .fusion-title-heading { font-family: var(--ad-font) !important; font-size: 16px !important; line-height: 1.2 !important; font-weight: 500 !important; letter-spacing: -.01em !important; color: var(--ink) !important; text-transform: none !important; margin: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Pie de una línea */
body.ad-preview .adv-footer--slim { background: var(--paper) !important; }
body.ad-preview .adv-footer--slim > .fusion-builder-row { max-width: none !important; }
body.ad-preview .adv-legal { height: var(--adv-footer-h); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); font-size: 12px; color: var(--ink-subtle); padding: 0 var(--adv-gap); }
body.ad-preview .adv-legal a { color: var(--ink-subtle); }

/* Escritorio: todo cabe en la pantalla */
@media (min-width: 1025px) {
  body.ad-preview .adv-bento { height: calc(100vh - var(--header-height) - var(--adv-footer-h)); min-height: 600px; }
  body.ad-preview .adv-bento > .fusion-builder-row { height: 100%; flex-wrap: nowrap !important; }
  body.ad-preview .adv-col { height: 100%; }
  body.ad-preview .adv-tile--hero { height: 100%; }
}
@media (max-width: 1024px) {
  body.ad-preview .adv-col { margin-bottom: var(--adv-gap) !important; }
  body.ad-preview .adv-tile--svc, body.ad-preview .adv-tile--contact, body.ad-preview .adv-tile--projects { flex: none; }
  body.ad-preview .adv-tile--contact { min-height: 200px; }
  body.ad-preview .adv-tile--reel { min-height: 240px; flex: none; }
  body.ad-preview .adv-tile--projects { height: 320px; }
}
@media (max-width: 767px) {
  body.ad-preview .adv-stats { grid-template-columns: 1fr 1fr; }
  body.ad-preview .adv-tile--hero .ad-hero__ctas .fusion-button, body.ad-preview .adv-tile--hero .ad-hero__ctas > * { width: 100%; }
  body.ad-preview .adv-clients { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  body.ad-preview .adv-clients .adv-clients-track { width: 100%; }
  body.ad-preview .adv-legal { flex-direction: column; justify-content: center; height: auto; padding: var(--space-4) var(--adv-gap) 80px; text-align: center; }
}

/* Paneles */
.awb-off-canvas .adv-panel, .awb-off-canvas .adv-panel > .fusion-builder-row { background: transparent !important; max-width: 1240px !important; margin-inline: auto !important; }
body.ad-preview .adv-panel .ad-h1 { margin-bottom: 0 !important; max-width: 18ch; }
body.ad-preview .adv-panel .adv-panel__lead { margin-top: var(--space-4) !important; margin-bottom: var(--space-7); color: var(--ink-muted); }
body.ad-preview .adv-panel .ad-services { margin-top: var(--space-6); }
body.ad-preview .adv-services-static .ad-service { grid-template-columns: 64px 4fr 6fr; }
body.ad-preview .adv-services-static .ad-service:hover { background: transparent; }
body.ad-preview .adv-panel__foot { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-7); }
body.ad-preview .adv-panel .ad-projects-pc { margin-top: var(--space-6) !important; }
body.ad-preview .adv-panel .adv-block { margin: var(--space-9) 0 var(--space-6); }
body.ad-preview .adv-panel .adv-block .adv-panel__lead { margin-bottom: 0; }
body.ad-preview .adv-panel .ad-about__cols { margin-top: 0; }
body.ad-preview .adv-panel .ad-clients--grid img { filter: brightness(0); opacity: .7; }
body.ad-preview .adv-panel .ad-contact__direct { margin-top: var(--space-6); }
body.ad-preview .adv-panel .adv-panel__legal .adv-legal, body.ad-preview .adv-panel__legal { margin-top: var(--space-6); font-size: 12px; color: var(--ink-subtle); display: flex; flex-direction: column; gap: 4px; }
body.ad-preview .adv-panel__legal a { color: var(--ink-subtle); }
body.ad-preview .adv-form { background: var(--surface-100); }
@media (max-width: 767px) {
  body.ad-preview .adv-services-static .ad-service { grid-template-columns: 36px 1fr; }
  body.ad-preview .adv-services-static .ad-service__list { grid-column: 2; }
  body.ad-preview .adv-panel .adv-block { margin-top: var(--space-8); }
}

/* v2 — ajustes */
body.ad-preview :is(h1,h2,h3,h4,h5,h6,.fusion-title-heading) { text-transform: none !important; }
body.ad-preview .adv-clients .fusion-image-wrapper, body.ad-preview .adv-clients .fusion-carousel-item-wrapper { overflow: visible !important; }
body.ad-preview .adv-clients img { height: auto !important; max-height: 28px; max-width: 100% !important; width: auto !important; }
body.ad-preview .adv-tile--svc > .fusion-text { flex: 1; display: flex; flex-direction: column; }
body.ad-preview .adv-tile--svc .adv-svc { flex: 1; display: flex; flex-direction: column; }
body.ad-preview .adv-tile--svc .adv-svc li { flex: 1; display: flex; align-items: center; }
body.ad-preview .adv-tile--svc .adv-svc a { width: 100%; }
body.ad-preview .adv-project-year .fusion-title-heading { padding: 4px 10px !important; display: inline-block; }

/* Formulario de Avada dentro del panel de contacto */
body.ad-preview .adv-form .fusion-form-field { margin-bottom: var(--space-4) !important; }
body.ad-preview .adv-form :is(input[type=text],input[type=email],input[type=tel],select,textarea) { font-family: var(--ad-font) !important; font-size: 16px !important; height: 52px !important; padding: 0 var(--space-4) !important; border: 1px solid var(--line-strong) !important; border-radius: var(--radius-sm) !important; background: var(--paper) !important; color: var(--ink) !important; box-shadow: none !important; }
body.ad-preview .adv-form textarea { height: 120px !important; padding: 14px var(--space-4) !important; }
body.ad-preview .adv-form :is(input,textarea)::placeholder { color: var(--ink-subtle) !important; opacity: 1; }
body.ad-preview .adv-form .fusion-form-label-wrapper, body.ad-preview .adv-form label { font-family: var(--ad-font) !important; font-size: 15px !important; line-height: 1.3 !important; font-weight: 500 !important; color: var(--ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.ad-preview .adv-form .fusion-form-field.fusion-form-label-left, body.ad-preview .adv-form .fusion-form-field { background: transparent !important; }
body.ad-preview .adv-form .fusion-form-field.fusion-form-label-left { display: grid !important; grid-template-columns: 1fr 1.3fr; align-items: center; gap: var(--space-4); }
body.ad-preview .adv-form .fusion-form-field.fusion-form-label-left .fusion-form-label-wrapper { padding: 0 !important; margin: 0 !important; width: auto !important; }
body.ad-preview .adv-form .fusion-form-checkbox label, body.ad-preview .adv-form .fusion-form-checkbox { font-size: 14px !important; color: var(--ink-muted) !important; font-weight: 400 !important; }
body.ad-preview .adv-form .fusion-button { background: var(--ink) !important; color: var(--paper) !important; border-radius: var(--radius-pill) !important; font-family: var(--ad-mono) !important; font-size: 13px !important; letter-spacing: .06em !important; text-transform: uppercase !important; min-height: 52px; border: 0 !important; }
body.ad-preview .adv-form .fusion-button:hover { background: var(--brand-ink) !important; }
@media (max-width: 767px) { body.ad-preview .adv-form .fusion-form-field.fusion-form-label-left { grid-template-columns: 1fr; gap: 6px; } }
body.ad-preview .adv-clients img { height: 28px !important; max-height: none; width: 100% !important; object-fit: contain; }
body.ad-preview .adv-form textarea:is([name],.fusion-form-input) { height: 120px !important; padding: 14px var(--space-4) !important; }
body.ad-preview .adv-form .fusion-form-field :is(.fusion-form-input-with-icon,.fusion-select-wrapper) { border: 0 !important; }
body.ad-preview .adv-form .fusion-form-field { border-bottom: 0 !important; }
body.ad-preview .adv-form .fusion-form-label-wrapper label, body.ad-preview .adv-form .fusion-form-label-wrapper { color: var(--ink) !important; padding-left: 0 !important; }
@media (max-width: 1024px) { body.ad-preview .adv-col:last-child { margin-bottom: 0 !important; } }
/* Portátiles bajos: el hero se compacta para seguir en una sola vista */
@media (min-width: 1025px) and (max-height: 880px) {
  body.ad-preview .adv-tile--hero { gap: 10px; padding-top: 28px; padding-bottom: 18px; }
  body.ad-preview .adv-tile--hero .ad-display { font-size: clamp(48px, min(6vw, 10vh), 96px) !important; }
  body.ad-preview .adv-tile--hero .ad-hero__lead { font-size: 15px; margin-top: 10px; }
  body.ad-preview .adv-tile--hero .ad-eyebrow { margin-bottom: 10px !important; }
  body.ad-preview .adv-stats { padding-top: 10px; }
  body.ad-preview .adv-stats .ad-stat__label { margin-top: 2px; }
  body.ad-preview .adv-tile--hero .fusion-button.ad-btn { min-height: 42px; }
}
@media (min-width: 1025px) and (max-height: 740px) {
  body.ad-preview .adv-clients { display: none; }
}

/* v3 — sin raya negra sobre la lista de servicios */
body.ad-preview .adv-svc, body.ad-preview .adv-panel .ad-services { border-top: 0 !important; }
body.ad-preview .adv-svc li:last-child { border-bottom: 0; }

/* v3 — selector de idioma más visible */
body.ad-preview .ad-lang { display: inline-flex; align-items: center; gap: 4px; padding: 4px; border: 1px solid var(--line-strong) !important; border-radius: var(--radius-pill); background: var(--paper); }
body.ad-preview .ad-lang::before { content: ""; width: 18px; height: 18px; margin: 0 4px 0 8px; background: currentColor; color: var(--ink); flex: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3Z'/%3E%3C/svg%3E") center / contain no-repeat; }
body.ad-preview .ad-lang a { min-width: 44px !important; height: 36px !important; padding: 0 12px; font-family: var(--ad-mono) !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: .06em !important; color: var(--ink-muted) !important; border-radius: var(--radius-pill); text-decoration: none; display: inline-flex !important; align-items: center; justify-content: center; transition: background .2s var(--ad-ease), color .2s var(--ad-ease); }
body.ad-preview .ad-lang a:hover { background: var(--surface-200); color: var(--ink) !important; }
body.ad-preview .ad-lang a[aria-current="true"] { background: var(--ink) !important; color: var(--paper) !important; }
/* En el menú móvil (fondo negro) */
body.ad-preview .awb-off-canvas .ad-lang { background: transparent !important; border-color: var(--night-line) !important; }
body.ad-preview .awb-off-canvas .ad-lang::before { background: var(--on-night) !important; }
body.ad-preview .awb-off-canvas .ad-lang a { color: var(--on-night-muted) !important; }
body.ad-preview .awb-off-canvas .ad-lang a:hover { background: var(--night-800) !important; color: var(--on-night) !important; }
body.ad-preview .awb-off-canvas .ad-lang a[aria-current="true"] { background: var(--mint) !important; color: var(--on-mint) !important; }

/* v4 — sin tachado al pasar el ratón (opción global de Avada link_decoration_line_hover = line-through) */
body.ad-preview { --awb-link_decoration_line_hover: none; --awb-link_decoration_line: none; }
body.ad-preview a:hover, body.ad-preview a:focus { text-decoration: none !important; }
body.ad-preview .adv-legal a:hover, body.ad-preview .adv-panel__legal a:hover, body.ad-preview .ad-contact__direct a:hover { color: var(--ink) !important; }
body.ad-preview .awb-off-canvas .ad-offcanvas__nav a:hover { color: var(--mint); }
body.ad-preview .awb-off-canvas .ad-offcanvas__contact a:hover { color: var(--on-night); }

/* v5 — Contacto con canales y redes */
body.ad-preview .adv-tile--contact .ad-eyebrow { margin-bottom: auto !important; }
body.ad-preview .adv-contact-lines { display: grid; gap: 4px; position: relative; z-index: 2; margin-bottom: var(--space-3); }
body.ad-preview .adv-contact-lines a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; color: var(--on-mint); text-decoration: none; width: fit-content; }
body.ad-preview .adv-contact-lines svg { width: 16px; height: 16px; flex: none; }
body.ad-preview .adv-social { position: relative; z-index: 2; display: flex; gap: 6px; }
body.ad-preview .adv-social a { width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(10,10,10,.25); color: var(--on-mint); display: inline-flex; align-items: center; justify-content: center; transition: background .2s var(--ad-ease), color .2s var(--ad-ease); }
body.ad-preview .adv-social a:hover { background: var(--on-mint); color: var(--mint); border-color: var(--on-mint); }
body.ad-preview .adv-social svg { width: 15px; height: 15px; }
@media (min-width: 1025px) and (max-height: 800px) {
  body.ad-preview .adv-contact-lines a:nth-child(3) { display: none; }
  body.ad-preview .adv-tile__title { font-size: 22px !important; margin-bottom: 8px !important; }
}

/* v5 — Menú móvil claro */
body.ad-preview .ad-oc-inner .ad-offcanvas-text { color: var(--ink); }
body.ad-preview .ad-oc-inner .ad-offcanvas__nav { border-top: 1px solid var(--line); }
body.ad-preview .ad-oc-inner .ad-offcanvas__nav li { border-bottom: 1px solid var(--line); }
body.ad-preview .ad-oc-inner .ad-offcanvas__nav a { color: var(--ink); }
body.ad-preview .ad-oc-inner .ad-offcanvas__nav a:hover { color: var(--brand-ink); }
body.ad-preview .ad-oc-inner .ad-offcanvas__nav a span { color: var(--brand-ink); }
body.ad-preview .ad-oc-inner .ad-lang { border-color: var(--line-strong) !important; background: var(--paper) !important; }
body.ad-preview .ad-oc-inner .ad-lang::before { background: var(--ink) !important; }
body.ad-preview .ad-oc-inner .ad-lang a { color: var(--ink-muted) !important; }
body.ad-preview .ad-oc-inner .ad-lang a:hover { background: var(--surface-200) !important; color: var(--ink) !important; }
body.ad-preview .ad-oc-inner .ad-lang a[aria-current="true"] { background: var(--ink) !important; color: var(--paper) !important; }
body.ad-preview .ad-oc-inner .ad-offcanvas__contact a { color: var(--ink-muted); }
body.ad-preview .ad-oc-inner .ad-offcanvas__contact a:hover { color: var(--ink); }

/* v5 — Móvil y tablet: un solo flujo; Contacto al final (redes al final de la página) */
@media (max-width: 1024px) {
  body.ad-preview .adv-bento > .fusion-builder-row { display: flex !important; flex-direction: column !important; gap: var(--adv-gap); margin: 0 !important; width: 100% !important; }
  body.ad-preview .adv-bento .adv-col, body.ad-preview .adv-bento .adv-col > .fusion-column-wrapper { display: contents !important; }
  body.ad-preview .adv-bento .adv-tile { width: 100%; }
  body.ad-preview .adv-tile--hero { order: 1; }
  body.ad-preview .adv-tile--svc { order: 2; }
  body.ad-preview .adv-tile--reel { order: 3; }
  body.ad-preview .adv-tile--projects { order: 4; }
  body.ad-preview .adv-tile--contact { order: 5; }
  body.ad-preview .adv-tile--contact { min-height: 0; padding: var(--space-6) var(--space-5); }
  body.ad-preview .adv-tile--contact .fusion-text { height: auto; }
  body.ad-preview .adv-tile--contact .ad-eyebrow { margin-bottom: var(--space-4) !important; }
  body.ad-preview .adv-tile__title { font-size: 34px !important; max-width: 11ch; margin-bottom: var(--space-5) !important; }
  body.ad-preview .adv-tile__go { top: var(--space-5); right: var(--space-5); }
  body.ad-preview .adv-contact-lines { gap: 8px; margin-bottom: var(--space-5); }
  body.ad-preview .adv-contact-lines a { width: 100%; height: 52px; padding: 0 18px; border-radius: var(--radius-pill); background: rgba(10,10,10,.07); font-size: 16px; font-weight: 500; }
  body.ad-preview .adv-contact-lines a:hover { background: rgba(10,10,10,.12); }
  body.ad-preview .adv-contact-lines svg { width: 18px; height: 18px; }
  body.ad-preview .adv-social { gap: 10px; padding-top: var(--space-5); border-top: 1px solid rgba(10,10,10,.15); }
  body.ad-preview .adv-social a { width: 44px; height: 44px; }
  body.ad-preview .adv-social svg { width: 18px; height: 18px; }
}
body.ad-preview #wrapper, body.ad-preview #main, body.ad-preview .fusion-footer, body.ad-preview .fusion-tb-footer { background: var(--paper) !important; }
/* Formulario: sin el icono ✓ del campo «preferencia» (configurado en el formulario 733) */
body.ad-preview .adv-form .fusion-form-input-with-icon > i { display: none !important; }
body.ad-preview .adv-form .fusion-form-input-with-icon :is(select,input) { padding-left: var(--space-4) !important; }
body.ad-preview .adv-form .fusion-form-field .fusion-form-input-with-icon select.fusion-form-input, body.ad-preview .adv-form .fusion-form-field .fusion-form-input-with-icon input.fusion-form-input { padding-left: 16px !important; }

/* ===================== v4 (16/10/2026) — implementación ===================== */

/* Logo de la cabecera: ~12 % del ancho de pantalla en escritorio, sin esquinas redondeadas */
body.ad-preview .ad-header__logo, body.ad-preview .ad-header__logo :is(span, a, img) { border-radius: 0 !important; box-shadow: none !important; border: 0 !important; overflow: visible !important; background: transparent !important; }
body.ad-preview .ad-header__logo img { height: auto !important; width: clamp(150px, 12vw, 230px) !important; max-width: none !important; }
@media (max-width: 1024px) { body.ad-preview .ad-header__logo img { width: 150px !important; } }
@media (max-width: 767px)  { body.ad-preview .ad-header__logo img { width: 140px !important; } }

/* Cinta continua de logos de clientes (igual en escritorio y móvil) */
body.ad-preview .adv-marquee { flex: 1; min-width: 0; display: flex; overflow: hidden; container-type: inline-size; --gap: 40px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
body.ad-preview .adv-marquee__track { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex: none; align-items: center; gap: var(--gap); padding-right: var(--gap) !important; animation: adv-marquee 42s linear infinite; }
body.ad-preview .adv-marquee__track li { flex: none; width: calc((100cqw - 3 * var(--gap)) / 4); display: flex; align-items: center; justify-content: center; height: 40px; margin: 0 !important; padding: 0 !important; }
body.ad-preview .adv-marquee__track li::before { display: none !important; }
body.ad-preview .adv-marquee__track img { max-height: 32px !important; max-width: 100% !important; width: auto !important; height: auto !important; object-fit: contain; opacity: .8; }
body.ad-preview .adv-marquee:hover .adv-marquee__track { animation-play-state: paused; }
@keyframes adv-marquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (max-width: 1024px) { body.ad-preview .adv-marquee__track li { width: calc((100cqw - 2 * var(--gap)) / 3); } }
@media (prefers-reduced-motion: reduce) { body.ad-preview .adv-marquee__track { animation-duration: 160s; } }
/* Móvil: sin movimiento — cuadrícula fija de 3 columnas con todos los logos (petición del CTO, 16/10) */
@media (max-width: 767px) {
  body.ad-preview .adv-marquee { width: 100%; flex: none; -webkit-mask-image: none; mask-image: none; }
  body.ad-preview .adv-marquee__track { animation: none !important; width: 100%; flex-wrap: wrap; justify-content: center; gap: 0; padding: 0 !important; border-top: 1px solid var(--night-line); }
  body.ad-preview .adv-marquee__track[aria-hidden="true"] { display: none !important; }
  body.ad-preview .adv-marquee__track li { width: 33.333%; height: 56px; padding: 0 10px !important; border-bottom: 1px solid var(--night-line); }
  body.ad-preview .adv-marquee__track li:nth-last-child(-n+2) { border-bottom: 0; }   /* 14 logos: la última fila tiene 2 */
  body.ad-preview .adv-marquee__track { border-bottom: 1px solid var(--night-line); }
  body.ad-preview .adv-marquee__track img { max-height: 24px !important; }
}

/* Contenedor del Layout: el contenido manda */
body.ad-preview .fusion-fullwidth.adv-content { padding: 0 !important; }
body.ad-preview .adv-content > .fusion-builder-row { max-width: none !important; }
body.ad-preview #main, body.ad-preview .fusion-content-tb { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Páginas de sección / internas: mismo aspecto que los paneles */
body.ad-preview .fusion-fullwidth.adv-page { max-width: 1240px !important; margin: 0 auto !important; background: transparent !important; }
body.ad-preview .adv-page .ad-h1 { max-width: 20ch; }
body.ad-preview .adv-facts { margin-top: var(--space-5); color: var(--ink-muted); max-width: 46ch; }
body.ad-preview .adv-clients-text { margin-top: var(--space-5); color: var(--ink-subtle); }
body.ad-preview .adv-address { margin-top: var(--space-5); color: var(--ink-muted); display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
body.ad-preview .adv-social--ink { margin-top: var(--space-5); }
body.ad-preview .adv-social--ink a { border-color: var(--line-strong) !important; color: var(--ink) !important; }
body.ad-preview .adv-social--ink a:hover { background: var(--ink) !important; color: var(--paper) !important; }

/* FAQ */
body.ad-preview .adv-faq { border-top: 1px solid var(--line); }
body.ad-preview .adv-faq__item { border-bottom: 1px solid var(--line); }
body.ad-preview .adv-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) 0; font-size: 20px; line-height: 1.3; font-weight: 500; color: var(--ink); }
body.ad-preview .adv-faq__item summary::-webkit-details-marker { display: none; }
body.ad-preview .adv-faq__item summary::after { content: "+"; font-family: var(--ad-mono); font-size: 22px; color: var(--ink-subtle); transition: transform .2s var(--ad-ease); }
body.ad-preview .adv-faq__item[open] summary::after { transform: rotate(45deg); }
body.ad-preview .adv-faq__item summary:hover { color: var(--brand-ink); }
body.ad-preview .adv-faq__item p { margin: 0 0 var(--space-5) !important; color: var(--ink-muted); max-width: 70ch; }

/* Formación: bloques y formatos */
body.ad-preview .adv-offer { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); margin-top: var(--space-8); }
body.ad-preview .adv-offer__item { border-top: 1px solid var(--ink); padding-top: var(--space-5); }
body.ad-preview .adv-offer__item .ad-h3 { margin: var(--space-3) 0 var(--space-3) !important; }
body.ad-preview .adv-offer__item .ad-service__list { margin-top: var(--space-4); }
body.ad-preview .adv-formats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
body.ad-preview .adv-format { background: var(--surface-100); border-radius: var(--radius-md); padding: var(--space-5); }
body.ad-preview .adv-format .ad-h4 { margin: 0 0 var(--space-4) !important; }
body.ad-preview .adv-format ul { list-style: none; margin: 0; padding: 0; }
body.ad-preview .adv-format li { padding: 8px 0; border-top: 1px solid var(--line); font-size: 15px; color: var(--ink-muted); }
body.ad-preview .adv-format li::before { display: none; }
body.ad-preview .adv-page .ad-courses, body.ad-preview .adv-page .ad-programs { margin-top: var(--space-7); }
body.ad-preview .fusion-button.ad-btn--ghost { border-color: var(--line-strong) !important; color: var(--ink) !important; }
body.ad-preview .fusion-button.ad-btn--ghost:hover { background: var(--surface-100) !important; }

/* Blended: cifras grandes y CTA */
body.ad-preview .adv-bigstats { display: grid; gap: var(--space-6); padding-top: var(--space-4); }
body.ad-preview .adv-bigstats .ad-stat__num { font-size: clamp(56px, 7vw, 96px); line-height: .95; font-weight: 600; letter-spacing: -.03em; color: var(--ink); }
body.ad-preview .adv-bigstats .ad-stat__label { color: var(--ink-muted); margin-top: 6px; }
body.ad-preview .adv-cta-tile { margin-top: var(--space-9); background: var(--night); color: var(--on-night); border-radius: var(--radius-lg); padding: var(--space-8) var(--space-7); }
body.ad-preview .adv-cta-tile .ad-h2 { color: var(--on-night) !important; margin: 0 0 var(--space-3) !important; }
body.ad-preview .adv-cta-tile .ad-lead { color: var(--on-night-muted); margin: 0 !important; }

/* Proyecto */
body.ad-preview .adv-back { display: inline-flex; margin-bottom: var(--space-6); font-family: var(--ad-mono); font-size: 13px; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-subtle) !important; text-decoration: none !important; }
body.ad-preview .adv-back:hover { color: var(--ink) !important; }
body.ad-preview .ad-display-2 { font-size: clamp(44px, 6vw, 88px) !important; line-height: .95 !important; font-weight: 600 !important; letter-spacing: -.035em !important; margin: var(--space-3) 0 0 !important; color: var(--ink); max-width: 16ch; }
body.ad-preview .adv-proj-lema { margin-top: var(--space-4) !important; color: var(--ink-muted); max-width: 46ch; }
body.ad-preview .adv-proj-hero { margin: 0 !important; border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-200); aspect-ratio: 16 / 9; }
body.ad-preview .adv-proj-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ad-preview .adv-proj-aside > .fusion-column-wrapper { position: sticky; top: 96px; align-self: flex-start; }
body.ad-preview .adv-proj-facts { margin: 0; display: grid; gap: var(--space-4); }
body.ad-preview .adv-proj-facts > div { border-top: 1px solid var(--line); padding-top: var(--space-3); }
body.ad-preview .adv-proj-facts dt { font-family: var(--ad-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-subtle); }
body.ad-preview .adv-proj-facts dd { margin: 4px 0 0; font-size: 17px; color: var(--ink); }
body.ad-preview .adv-proj-web { margin-top: var(--space-5); display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: var(--radius-pill); border: 1px solid var(--line-strong); color: var(--ink) !important; text-decoration: none !important; font-family: var(--ad-mono); font-size: 13px; letter-spacing: .05em; text-transform: uppercase; }
body.ad-preview .adv-proj-web:hover { background: var(--surface-100); }
body.ad-preview .adv-proj-sec { padding: 0 0 var(--space-7); }
body.ad-preview .adv-proj-sec + .adv-proj-sec { border-top: 1px solid var(--line); padding-top: var(--space-6); }
body.ad-preview .adv-proj-sec .ad-h3 { margin: var(--space-2) 0 var(--space-3) !important; font-size: 28px !important; }
body.ad-preview .adv-proj-sec p { color: var(--ink-muted); font-size: 18px; line-height: 1.55; max-width: 62ch; }
body.ad-preview .adv-proj-quote { margin: var(--space-4) 0 0; padding: var(--space-5) var(--space-6); border-left: 3px solid var(--mint); background: var(--surface-100); border-radius: 0 var(--radius-md) var(--radius-md) 0; font-size: 20px; line-height: 1.45; color: var(--ink); }
body.ad-preview .adv-proj-results { background: var(--night); color: var(--on-night); border-radius: var(--radius-lg); padding: var(--space-7); }
body.ad-preview .adv-proj-results .ad-eyebrow { color: var(--on-night-muted) !important; }
body.ad-preview .adv-proj-results ul { list-style: none; margin: var(--space-5) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-6) var(--space-5); }
body.ad-preview .adv-proj-results li { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
body.ad-preview .adv-proj-results li::before { display: none; }
body.ad-preview .adv-proj-results strong { font-size: clamp(40px, 4.5vw, 64px); line-height: 1; font-weight: 600; letter-spacing: -.03em; color: var(--on-night); }
body.ad-preview .adv-proj-results span { color: var(--on-night-muted); font-size: 15px; }
body.ad-preview .adv-proj-results__text { grid-column: 1 / -1; }
body.ad-preview .adv-proj-results__text span { color: var(--on-night); font-size: 18px; }
body.ad-preview .adv-proj-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
body.ad-preview .adv-proj-gallery figure { margin: 0; border-radius: var(--radius-md); overflow: hidden; background: var(--surface-200); }
body.ad-preview .adv-proj-gallery figure { aspect-ratio: 4 / 3; }
body.ad-preview .adv-proj-gallery figure:first-child:nth-last-child(odd) { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
body.ad-preview .adv-proj-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ad-preview .adv-proj-next { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 16px; padding: var(--space-6) 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); color: var(--ink) !important; text-decoration: none !important; }
body.ad-preview .adv-proj-next strong { grid-column: 1; font-size: clamp(28px, 3.4vw, 44px); font-weight: 600; letter-spacing: -.02em; }
body.ad-preview .adv-proj-next svg { grid-column: 2; grid-row: 1 / span 2; width: 32px; height: 32px; transition: transform .2s var(--ad-ease); }
body.ad-preview .adv-proj-next:hover svg { transform: translateX(6px); }
body.ad-preview .adv-proj-next:hover strong { color: var(--brand-ink); }
body.ad-preview .adv-proj .adv-cta-tile { margin-top: var(--space-8); }

/* Textos legales */
body.ad-preview .adv-doc .fusion-text { max-width: 76ch; }
body.ad-preview .adv-doc .ad-h1 { margin-bottom: var(--space-7) !important; }
body.ad-preview .adv-doc :is(p, li) { font-size: 16px; line-height: 1.65; color: var(--ink-muted); }
body.ad-preview .adv-doc strong { color: var(--ink); }
body.ad-preview .adv-doc :is(h2, h3, h4) { margin: var(--space-7) 0 var(--space-3) !important; color: var(--ink); text-transform: none !important; letter-spacing: -.01em !important; }
body.ad-preview .adv-doc table { width: 100%; border-collapse: collapse; font-size: 14px; }
body.ad-preview .adv-doc :is(td, th) { border: 1px solid var(--line); padding: 8px; }

/* Distintivo de vista previa */
.ad-preview-badge { position: fixed; left: 50%; transform: translateX(-50%); bottom: 12px; white-space: nowrap; z-index: 99999; display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; border-radius: 999px; background: #0a0a0a; color: #fff; font: 500 12px/1 'JetBrains Mono', monospace; letter-spacing: .04em; box-shadow: 0 6px 24px rgba(0,0,0,.25); }
.ad-preview-badge a { color: #0a0a0a !important; background: #57f287; border-radius: 999px; padding: 6px 10px; text-decoration: none !important; }

@media (max-width: 1024px) {
  body.ad-preview .adv-offer, body.ad-preview .adv-formats { grid-template-columns: 1fr; }
  body.ad-preview .adv-proj-aside > .fusion-column-wrapper { position: static; }
}
@media (max-width: 767px) {
  body.ad-preview .adv-proj-gallery { grid-template-columns: 1fr; }
  body.ad-preview .adv-proj-gallery figure, body.ad-preview .adv-proj-gallery figure:first-child:nth-last-child(odd) { aspect-ratio: 4 / 3; }
  body.ad-preview .adv-proj-results ul { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
  body.ad-preview .adv-proj-results { padding: var(--space-6) var(--space-5); }
  body.ad-preview .adv-cta-tile { padding: var(--space-6) var(--space-5); }
  body.ad-preview .adv-faq__item summary { font-size: 17px; }
  body.ad-preview .adv-proj-sec p { font-size: 16px; }
}

/* Anchos: sin el relleno lateral de #main ni márgenes negativos de Avada en contenedores anidados */
body.ad-preview #main { padding-left: 0 !important; padding-right: 0 !important; }
body.ad-preview #main > .fusion-row { max-width: none !important; }
body.ad-preview :is(.fusion-content-tb, .adv-content, .adv-content > .fusion-builder-row, .adv-content > .fusion-builder-row > .fusion-layout-column) { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: none !important; }
body.ad-preview .adv-content .fusion-fullwidth { margin-left: 0 !important; margin-right: 0 !important; width: auto !important; }
body.ad-preview .adv-content .fusion-fullwidth.adv-page { margin-left: auto !important; margin-right: auto !important; max-width: 1240px !important; }
body.ad-preview .adv-content > .fusion-builder-row > .fusion-layout-column > .fusion-column-wrapper { padding: 0 !important; margin: 0 !important; }
/* Proyecto: aire vertical entre bloques */
body.ad-preview .adv-proj > .fusion-builder-row > .fusion-layout-column { margin-bottom: var(--space-7) !important; }
body.ad-preview .adv-proj .adv-proj-lema { margin-bottom: 0 !important; }
@media (max-width: 767px) { body.ad-preview .adv-proj > .fusion-builder-row > .fusion-layout-column { margin-bottom: var(--space-6) !important; } }
body.ad-preview .adv-doc h1 { font-size: clamp(40px, 5vw, 64px) !important; line-height: 1 !important; font-weight: 600 !important; letter-spacing: -.03em !important; margin: 0 0 var(--space-7) !important; color: var(--ink) !important; }

/* Revisión 16/10 (post-publicación): el formulario 733 trae el maquetado de la web vieja —
   bordes de 2px bajo cada columna, márgenes de 48px en móvil y títulos con 32px de sangría */
body.ad-preview .adv-form .fusion-layout-column { margin-top: 0 !important; margin-bottom: 0 !important; }
body.ad-preview .adv-form .fusion-column-wrapper { border: 0 !important; min-height: 0 !important; }
body.ad-preview .adv-form .fusion-builder-row { row-gap: 0 !important; }
body.ad-preview .adv-form .fusion-title { margin: 0 0 6px !important; padding: 0 !important; }
body.ad-preview .adv-form .fusion-title .fusion-title-heading { font-family: var(--ad-font) !important; font-size: 15px !important; line-height: 1.3 !important; font-weight: 500 !important; letter-spacing: 0 !important; color: var(--ink) !important; margin: 0 !important; }
body.ad-preview .adv-form .fusion-builder-row-inner { align-items: center !important; }
body.ad-preview .adv-form .fusion-form-consent-field { margin-top: var(--space-2) !important; }
body.ad-preview .adv-form .fusion-form-consent-field input[type=checkbox] { width: 20px !important; height: 20px !important; min-width: 20px; margin: 0 10px 0 0 !important; accent-color: var(--ink); vertical-align: middle; }
body.ad-preview .adv-form .fusion-form-consent-field label { display: inline-flex !important; align-items: center; line-height: 1.4 !important; }
@media (min-width: 768px) { body.ad-preview .adv-form .fusion-builder-row-inner .fusion-title { margin-bottom: var(--space-4) !important; } }
/* En la página de Contacto el pie ya lleva copyright y enlaces legales: no repetirlos dentro */
body.ad-preview .adv-page .adv-panel__legal { display: none !important; }
body.ad-preview .adv-form .fusion-column-wrapper { padding-top: 0 !important; padding-bottom: 0 !important; }
body.ad-preview .adv-form .fusion-title-heading b { font-weight: inherit !important; }
body.ad-preview .adv-form .fusion-form-consent-field input[type=checkbox] { -webkit-appearance: none; appearance: none; opacity: 1 !important; position: static !important; display: inline-grid !important; place-content: center; border: 1.5px solid var(--ink) !important; border-radius: 4px !important; background: var(--paper) !important; cursor: pointer; }
body.ad-preview .adv-form .fusion-form-consent-field input[type=checkbox]:checked { background: var(--ink) !important; }
body.ad-preview .adv-form .fusion-form-consent-field input[type=checkbox]:checked::after { content: ""; width: 10px; height: 6px; border: 2px solid var(--paper); border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
body.ad-preview .adv-form .fusion-form-consent-field label::before, body.ad-preview .adv-form .fusion-form-consent-field label::after { display: none !important; }
body.ad-preview .adv-form .fusion-form-consent-field label { color: var(--ink-muted) !important; font-size: 14px !important; cursor: pointer; }
@media (max-width: 1024px) { body.ad-preview .adv-page .adv-form { margin-top: var(--space-6); } }
body.ad-preview .adv-form .fusion-form-consent-field input[type=checkbox] { padding: 0 !important; box-sizing: border-box !important; flex: none; }
body.ad-preview .adv-form .fusion-form-consent-field .fusion-form-checkbox { display: flex !important; align-items: center; gap: 12px; }
body.ad-preview .adv-form .fusion-form-consent-field input[type=checkbox] { margin: 0 !important; }
body.ad-preview .adv-form .fusion-form-consent-field label { padding: 0 !important; margin: 0 !important; }
/* Párrafos vacíos que mete wpautop (p. ej. tras el icono de las tarjetas de cursos) */
body.ad-preview :is(.adv-panel, .adv-page, .adv-bento, .awb-off-canvas) p:empty { display: none !important; }
/* Títulos: Avada los pintaba en gris #3f3f3f; el sistema usa --ink (los de fondo oscuro tienen reglas propias más específicas) */
body.ad-preview :is(.adv-panel, .adv-page) :is(h1, h2, h3, h4):is(.ad-h1, .ad-h2, .ad-h3, .ad-h4) { color: var(--ink); }
/* Somos en móvil: el texto de datos quedaba pegado a la línea de la columna siguiente */
@media (max-width: 1024px) { body.ad-preview .adv-facts { margin-bottom: var(--space-7) !important; } }
/* Textos legales: venían justificados → huecos enormes entre palabras en móvil */
body.ad-preview .adv-doc :is(p, td, th, li, span, div) { text-align: left !important; hyphens: auto; }
/* Clientes (Somos): 14 logos + «sociedades científicas» = 15 celdas; en 6 columnas quedaban 3 huecos grises → la última celda ocupa el resto */
@media (min-width: 768px) { body.ad-preview .ad-clients--grid > div:last-child { grid-column: span 4; justify-content: flex-start; } }
/* Panel de contacto en móvil: el copyright quedaba a media altura, pegado al formulario */
@media (max-width: 1024px) {
  body.ad-preview .adv-panel .adv-panel__legal { display: none !important; }
  body.ad-preview .adv-panel .adv-form { margin-top: var(--space-6); }
}
@media (max-width: 767px) { body.ad-preview .adv-panel .adv-panel__foot { margin-bottom: var(--space-6); } }
