/* ─────────────────────────────────────────────────────────────
   Web v3 · estilos de la home y de los componentes comunes
   (banner de cookies, modal de WhatsApp, guía, avatar, variantes).
   Se carga DESPUÉS de home.css y lo sobrescribe. Mobile first en
   lo nuevo; los overrides de home.css van por su mismo breakpoint.
   Sin recursos externos (CSP 'self').
   ───────────────────────────────────────────────────────────── */

/* ── TIPOGRAFÍA SERIF: Lora (sustituye a Cormorant Garamond, cuyas tildes
   se veían exageradas en Android). Variable 400 a 600, alojada en local. ── */
@font-face{font-family:'Lora';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/lora-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lora';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/lora-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --serif:'Lora',Georgia,serif;
  --v3-pad-m:16px;
  --v3-ok:#2D6A4F;
  --v3-no:#8a3a3a;
}

/* ── VARIANTES CON CARA / SIN CARA ─────────────── */
body.variant-cara .v3-sin-cara{display:none!important}
body.variant-sin-cara .v3-cara{display:none!important}

/* ── BASE v3 ───────────────────────────────────── */
body.v3{font-size:16px}
.v3 .sh{margin-bottom:28px}
.v3 .sh h2{font-size:clamp(30px,3.6vw,46px)}
.v3 .section.v3-sec{padding-block:72px}
.v3-sec-cta{margin-top:28px;text-align:center}
.v3 .btn-gold{min-height:48px;justify-content:center}
.v3-link{color:var(--gold-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.v3-link:hover{color:var(--gold)}
.v3-link-row{margin-top:22px;text-align:center;font-size:16px}
.v3-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.v3-noscript{background:rgba(196,58,58,.1);border:1px solid rgba(196,58,58,.35);color:#7f1d1d;padding:14px 16px;border-radius:4px;font-size:14px;margin-bottom:16px;line-height:1.5}
.v3-noscript a{text-decoration:underline}

/* Nav siempre legible (no depende de que el JS añada .scrolled) */
.v3 nav{background:var(--navy-m);backdrop-filter:blur(12px);border-bottom-color:rgba(255,255,255,.07)}

/* ── HERO ──────────────────────────────────────── */
.v3 #hero{min-height:0}
.v3 #hero .hero-in{min-height:0;padding-top:104px;padding-bottom:40px}
.v3-hero-ante{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(196,148,42,.95);margin:0 0 12px;line-height:1.5}
.v3 #hero h1{min-height:0;max-width:18em;font-size:clamp(34px,3.4vw,50px);line-height:1.08}
.v3 .hero-sub{max-width:40em;font-size:18px;margin-top:14px}
.v3 .hero-cap{margin:0;background:rgba(7,18,31,.72)}
.v3 .hero-cap-f{margin-top:12px}
.v3-hero-links{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.v3-hero-guia{display:inline-block;align-self:flex-start;font-size:15px;line-height:1.45;color:rgba(255,255,255,.86);padding:6px 0;min-height:44px}
.v3-hero-guia .v3-hero-guia-go{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.v3-hero-guia:hover .v3-hero-guia-go{color:#e0b75a}
.v3-hero-cara{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;color:rgba(255,255,255,.82)}
.v3-hero-props{margin:26px 0 8px}
.v3 .hero-props-note{margin:0}

/* Tarjetas de proyecto: foto a todo el ancho de la tarjeta y texto debajo */
.v3-hero-props .hprop{flex-direction:column;min-height:0}
.v3-hero-props .hprop-img{flex:none;width:100%;aspect-ratio:2/1;height:auto}
.v3-hero-props .hprop-txt{padding:12px 16px 14px}

/* Escritorio: texto a la izquierda, captura a la derecha, proyectos debajo */
@media(min-width:1000px){
  .v3 .hero-in{
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
    grid-template-areas:"txt cap" "props props" "note note" "links links";
    column-gap:48px;
    align-items:start;
  }
  .v3-hero-txt{grid-area:txt}
  /* El cuadro ocupa la altura del bloque de texto: arriba con el antetítulo, abajo con el subtítulo */
  .v3 .hero-cap{grid-area:cap;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:22px 22px 18px}
  .v3 .hero-cap-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3 .hero-cap-o--wide{grid-column:1 / -1}
  .v3-hero-links{grid-area:links}
  .v3-hero-props{grid-area:props}
  .v3 .hero-props-note{grid-area:note}
}
/* Tableta: el cuadro de importe va debajo del texto, con aire entre ambos */
@media(min-width:701px) and (max-width:999px){.v3-hero-txt{margin-bottom:20px}}

/* ── AVATAR PROVISIONAL ────────────────────────── */
.v3-avatar{width:72px;height:72px;display:block;flex-shrink:0}
.v3-avatar.v3-avatar--sm{width:30px;height:30px}
.v3-avatar-fig{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;flex-shrink:0}
.v3-avatar-fig figcaption{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* ── 2 · FRANJA DE DATOS ───────────────────────── */
.v3-datos{background:#07121F;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:28px 0 20px}
.v3-datos-g{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.v3-datos-g li{display:flex;flex-direction:column;gap:6px;padding:6px 22px;border-right:1px solid rgba(255,255,255,.08)}
.v3-datos-g li:last-child{border-right:none}
.v3-datos-g strong{font-family:var(--serif);font-size:clamp(30px,3.2vw,44px);font-weight:600;color:var(--gold);line-height:1}
.v3-datos-g span{font-size:14px;color:rgba(255,255,255,.82);line-height:1.4}
.v3-datos-g small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.v3-datos-nota{margin:16px 0 0;font-size:12px;color:rgba(255,255,255,.55);text-align:center;line-height:1.5}
.v3-datos-nota a{color:rgba(255,255,255,.8);text-decoration:underline}

/* ── 3 · PARA QUIÉN ────────────────────────────── */
.v3-quien{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.v3-quien-col{background:#fff;border:1px solid var(--border);border-radius:6px;padding:26px 26px 22px}
.v3-quien-si{border-top:3px solid var(--v3-ok)}
.v3-quien-no{border-top:3px solid var(--v3-no)}
.v3-quien-col h3{font-family:var(--serif);font-size:26px;font-weight:500;margin-bottom:12px;line-height:1.15}
.v3-quien-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.v3-quien-col li{position:relative;padding-left:28px;font-size:16px;line-height:1.5;color:#3a3a3a}
.v3-quien-col li::before{position:absolute;left:0;top:1px;width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.v3-quien-si li::before{content:'✓';color:var(--v3-ok);background:rgba(45,106,79,.12)}
.v3-quien-no li::before{content:'×';color:var(--v3-no);background:rgba(138,58,58,.1);font-size:15px}

/* ── 4 · CÓMO TRABAJAMOS ───────────────────────── */
.v3-pasos{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.v3-pasos li{background:#fff;border:1px solid #d8d2c6;border-radius:6px;padding:22px 20px;display:flex;flex-direction:column;gap:12px}
.v3-paso-n{width:40px;height:40px;border-radius:50%;border:1px solid rgba(196,148,42,.45);background:rgba(196,148,42,.1);font-family:var(--sans);font-weight:600;font-size:16px;color:var(--gold-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.v3-pasos p{font-size:15px;line-height:1.55;color:var(--muted)}
.v3-pasos strong{display:block;margin-bottom:4px;color:var(--ink);font-weight:600}

/* ── 5 · CONFIANZA ─────────────────────────────── */
.v3-trust .trust-card{padding:26px 26px}
.v3-trust .trust-card h3{font-size:clamp(22px,2.3vw,27px)}
.v3-trust .trust-card p{text-align:left}
.v3-persona{border-left:3px solid var(--gold)}
.v3-persona-row{display:flex;gap:18px;align-items:flex-start}
.v3-persona-row p{margin:0}
.v3-persona-row strong{color:var(--ink)}

/* ── 6 · FORMULARIO ────────────────────────────── */
.v3 #form{padding-block:72px}
.v3 .form-hd{margin-bottom:24px}
.v3 .form-hd h2{font-size:clamp(30px,3.6vw,44px)}
.v3 .form-progress-wrap{margin-bottom:22px}
.v3 .form-progress-fill{width:50%}
/* Capital: lista de una columna, etiqueta y subtítulo alineados a la izquierda */
.v3-opts-list{grid-template-columns:1fr!important;gap:8px}
.v3-opts-list .opt-card{flex-direction:row;align-items:baseline;justify-content:space-between;text-align:left;gap:12px;padding:14px 16px}
.v3-opts-list .opt-label{flex:0 0 auto;white-space:nowrap}
.v3-opts-list .opt-sub{max-width:none;text-align:right}
.v3-opts-plazo{grid-template-columns:repeat(4,minmax(0,1fr))}
.v3 button.opt-card{font:inherit;color:inherit;width:100%}
.v3 .fq-gap{margin-top:26px}
.v3 .fq-label{font-size:clamp(22px,2.4vw,28px)}
/* Caja de entrega, compacta */
.v3-deliver{padding:12px 16px;margin:10px 0 16px}
.v3-deliver .deliver-t{margin-bottom:6px}
.v3-deliver ul{gap:4px}
.v3-deliver li{font-size:13.5px;line-height:1.45}
/* Teléfono: el campo no desborda la tarjeta a 390px (bug medido en producción) */
.phone-row,.wam-prow{min-width:0;width:100%}
.phone-row input,.wam-prow input{min-width:0;width:100%;flex:1 1 auto}
.prefix-sel{width:92px}
.gdpr-req,.gdpr-opt{white-space:normal}
.v3 .gdpr input[type=checkbox]{width:20px;height:20px;margin-top:0}
.v3 .gdpr label{font-size:12.5px}
.v3 .btn-sub{min-height:56px}
.v3-form-nota{margin:10px 0 0;font-size:13px;color:var(--ink);text-align:center;line-height:1.5}
.v3 .form-fiscal-note{margin:12px 0 0;text-align:center}
.v3 .form-status a{text-decoration:underline;font-weight:600}

/* Éxito y bloque "afinar" */
.v3 .suc-card{text-align:center}
#v3-afinar{margin:4px 0 22px;padding:18px 16px;background:var(--warm);border:1px solid var(--border);border-radius:6px;text-align:left}
.v3-af-t{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);margin:0 0 12px}
.v3-af-q + .v3-af-q{margin-top:14px}
.v3-af-q > p{font-size:15px;font-weight:600;color:var(--ink);margin:0 0 8px;line-height:1.35}
.v3-af-g{display:flex;flex-wrap:wrap;gap:8px}
.v3-af{flex:1 1 auto;min-width:64px;min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:#fff;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.v3-af:hover{border-color:var(--gold-bd)}
.v3-af.sel,.v3-af[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-lt)}
#v3-afinar-ok{margin:12px 0 0;font-size:14px;color:var(--v3-ok);font-weight:600}
#v3-afinar-ok[hidden]{display:none}
.v3 .suc-cal-btn{display:flex;align-items:center;justify-content:center;min-height:50px}

/* ── 7 · GUÍA FISCAL (componente .v3-guia, reutilizable) ── */
.v3-guia-box{max-width:760px;margin:0 auto;background:linear-gradient(150deg,#fdfbf6,#f4efe4);border:1px solid var(--gold-bd);border-radius:6px;padding:36px 34px;text-align:center}
.v3-guia-box .c-tag{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text);margin-bottom:12px}
.v3-guia-box h2{font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:500;line-height:1.15;color:var(--ink);margin-bottom:12px}
.v3-guia-box > p{font-size:16px;color:var(--muted);line-height:1.6;max-width:56ch;margin:0 auto 20px}
.v3-guia{text-align:left;max-width:600px;margin:0 auto}
.v3-guia-row{display:flex;gap:10px;margin-bottom:12px}
.v3-guia-email{flex:1;min-width:0;padding:14px 16px;min-height:52px;border:1px solid var(--border);border-radius:4px;background:#fff;font-family:var(--sans);font-size:16px;color:var(--ink);outline:none;transition:.2s}
.v3-guia-email:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-lt)}
.v3-guia-email::placeholder{color:rgba(0,0,0,.3)}
.v3-guia-btn{flex-shrink:0;min-height:52px;padding:0 24px;border:none;border-radius:4px;background:var(--gold);color:var(--navy);font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:.2s}
.v3-guia-btn:hover{filter:brightness(1.08)}
.v3-guia-btn:disabled{opacity:.6;cursor:default}
.v3-guia label{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:8px;cursor:pointer}
.v3-guia label input{width:20px;height:20px;flex-shrink:0;accent-color:var(--gold);cursor:pointer}
.v3-guia label a{color:var(--gold-text);text-decoration:underline}
.v3-guia small{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:2px;margin-left:4px;background:rgba(13,27,42,.07);color:var(--muted)}
.v3-guia .v3-guia-gdpr + span small{background:rgba(196,148,42,.16);color:#8a6414}
.v3-guia-status{margin:10px 0 0;font-size:14px;line-height:1.45;min-height:0}
.v3-guia-status:empty{display:none}
.v3-guia-status.ok,.v3-guia-status.is-ok{color:#14532d}
.v3-guia-status.err,.v3-guia-status.is-err{color:#7f1d1d}
.v3-guia-status a{text-decoration:underline;font-weight:600}
/* Variante oscura (si se inserta sobre fondo navy, p. ej. en el hero) */
.v3-guia--dark label{color:rgba(255,255,255,.75)}
.v3-guia--dark label a{color:var(--gold)}

/* ── 8 · ESPAÑA FRENTE A EMIRATOS ──────────────── */
.v3-tabla{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);font-size:15px}
.v3-tabla thead th{padding:12px 16px;font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-align:left;border-bottom:2px solid var(--border);color:var(--muted)}
.v3-tabla thead th:nth-child(2){color:#7f1d1d}
.v3-tabla thead th:nth-child(3){color:var(--v3-ok);background:rgba(45,106,79,.08)}
.v3-tabla tbody th{padding:14px 16px;text-align:left;font-weight:500;font-size:14px;color:var(--muted);vertical-align:top;width:32%}
.v3-tabla td{padding:14px 16px;vertical-align:top;line-height:1.45;color:var(--ink)}
.v3-tabla td:last-child{background:rgba(45,106,79,.07)}
.v3-tabla tr + tr > *{border-top:1px solid var(--border)}
.v3-tabla td strong{font-weight:700}
.v3-tabla td small{display:block;margin-top:3px;font-size:11px;letter-spacing:.04em;color:var(--muted)}
.v3-tabla a{color:var(--gold-text);text-decoration:underline}
.v3-tabla-nota{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.5}
.v3-tabla-nota a{color:var(--gold-text);text-decoration:underline}

/* ── 9 · FAQ (details nativo, sin JS) ──────────── */
.v3-faq{max-width:780px;margin:0 auto;border-top:1px solid var(--border)}
.v3-faq-item{border-bottom:1px solid var(--border)}
.v3-faq-q{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 2px;cursor:pointer;font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.3;color:var(--ink);min-height:48px}
.v3-faq-q::-webkit-details-marker{display:none}
.v3-faq-q::after{content:'+';flex-shrink:0;font-family:var(--sans);font-size:24px;font-weight:300;line-height:1;color:var(--gold);transition:transform .25s}
.v3-faq-item[open] .v3-faq-q::after{transform:rotate(45deg)}
.v3-faq-a{padding:0 30px 20px 0;font-size:15px;line-height:1.7;color:var(--muted)}
.v3-faq-a p + p{margin-top:10px}
.v3-faq-a a{color:var(--gold-text);text-decoration:underline}

/* ── FOOTER ────────────────────────────────────── */
.v3 .ft-consent{font-size:12px;text-align:left}
.v3 .logo{white-space:nowrap}
.v3 .fb p{max-width:320px}
.v3 .fb p a{color:rgba(255,255,255,.85);text-decoration:underline}

/* ── FLOTANTE WHATSAPP Y CTA FIJO ──────────────── */
.v3 .wa-float a{width:56px;height:56px}
/* El WhatsApp se ve también en la primera pantalla móvil (PLAN, recomendación 10):
   anula la regla de home.css que lo ocultaba mientras la captura del hero está visible. */
body.v3.hero-cap-vista .wa-float{opacity:1;pointer-events:auto}
.v3 .sticky-cta a{min-height:48px}

/* ── MODAL DE WHATSAPP ─────────────────────────── */
#wao.open,#wao.show,#wao[aria-hidden="false"]{display:flex}
.v3 #wam{max-width:420px;padding:30px 26px 26px}
.v3 #wam h3{font-size:25px;line-height:1.2;padding-right:28px}
.v3 .wam-close{top:8px;right:10px;width:44px;height:44px;font-size:26px}
.v3 .wam-f label{font-size:10.5px}
.v3 .wam-pfx{flex:0 0 88px}
.v3 .wam-f input{width:100%;min-width:0}
.v3 .wam-f input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--gold);padding:0}
.wam-chk{display:flex!important;gap:10px;align-items:flex-start;font-size:12px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important;line-height:1.5;cursor:pointer}
.wam-chk a{color:var(--gold-text);text-decoration:underline}
.v3 .wam-btn{min-height:52px;font-size:13px}

/* ── BANNER DE COOKIES COMPACTO (lo genera consent-v3.js) ─────────
   Marcado de consent-v3.js:
   #he-consent.v3-consent
     .v3-consent-row > p.v3-consent-txt + .v3-consent-actions
        > .v3-consent-btn--accept · --reject · --config
     .v3-consent-panel (hidden; se abre ENCIMA de la barra) > label (x2) + .v3-consent-btn--save
   En móvil (390px) la barra es una sola franja de 64px como máximo.
   No oculta .wa-float ni .sticky-cta: los eleva mientras está abierta (body.v3-consent-open). */
#he-consent.v3-consent{position:fixed;left:0;right:0;bottom:0;z-index:400;padding:8px 12px;background:rgba(7,18,31,.97);border-top:1px solid rgba(196,148,42,.4);color:rgba(255,255,255,.88);font-family:var(--sans);box-shadow:0 -6px 24px rgba(0,0,0,.18);box-sizing:border-box}
#he-consent.v3-consent[hidden]{display:none}
/* Producción: el banner lo pinta el consent.js común (misma lógica y misma clave he_consent_v1).
   Se muestra con .open y el panel de ajustes con .prefs (clases del consent.js). */
#he-consent.v3-consent:not(.open){display:none}
#he-consent.v3-consent:not(.prefs) .v3-consent-panel{display:none}
.v3-consent-row{display:flex;align-items:center;gap:8px;max-width:1100px;margin:0 auto}
.v3-consent-txt{flex:1 1 auto;min-width:0;margin:0;font-size:11.5px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.v3-consent-txt a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.v3-consent-actions{display:flex;gap:5px;flex-shrink:0;align-items:center}
.v3-consent-btn{min-height:40px;padding:0 10px;border-radius:3px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-family:var(--sans);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.v3-consent-btn--accept{background:var(--gold);border-color:var(--gold);color:var(--navy)}

.v3-consent-btn--config{border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding:0 4px}
.v3-consent-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.v3-consent-panel{position:absolute;left:0;right:0;bottom:100%;background:#fff;color:var(--ink);padding:16px 18px 14px;border-top:3px solid var(--gold);box-shadow:0 -12px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:4px}
.v3-consent-panel[hidden]{display:none}
.v3-consent-panel::before{content:'Preferencias de cookies';font-weight:700;font-size:14px;margin-bottom:4px}
.v3-consent-panel label{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:12px;min-height:46px;border-bottom:1px solid var(--border);font-size:14px;cursor:pointer}
.v3-consent-panel input{width:22px;height:22px;accent-color:var(--gold);cursor:pointer;flex-shrink:0}
/* Producción: cada finalidad lleva su descripción (proveedores), como en el panel de consent.js clásico */
.v3-consent-panel label{padding:8px 0}
.v3-consent-panel label>span{display:flex;flex-direction:column;gap:3px;font-weight:600}
.v3-consent-panel label small{display:block;font-weight:400;font-size:12.5px;line-height:1.4;color:#5b6470}
.v3-consent-btn--save{align-self:flex-end;margin-top:10px;background:var(--gold);border-color:var(--gold);color:var(--navy);padding:0 22px}
body.v3-consent-open .sticky-cta{bottom:60px}
body.v3-consent-open .wa-float{bottom:144px}
@media(min-width:701px){
  #he-consent.v3-consent{padding:10px 24px}
  .v3-consent-txt{font-size:13px;flex:0 1 auto}
  .v3-consent-row{justify-content:center;gap:18px}
  .v3-consent-btn{padding:0 16px}
  .v3-consent-panel{left:auto;right:24px;width:360px;border-radius:6px 6px 0 0}
  body.v3-consent-open .wa-float{bottom:84px}
}

/* ── RESPONSIVE ────────────────────────────────── */
@media(max-width:1024px){
  .v3-pasos{grid-template-columns:1fr 1fr}
  .v3-datos-g{grid-template-columns:1fr 1fr;row-gap:18px}
  .v3-datos-g li:nth-child(2){border-right:none}
}

@media(max-width:700px){
  .v3 .section.v3-sec{padding-block:48px}
  .v3 .sh{margin-bottom:20px}
  .v3 .sh h2{font-size:30px}
  .v3 .container,.v3 .wrap,.v3 .container-narrow,.v3 .nav-i{padding-inline:var(--v3-pad-m)}

  /* Nav: CTA visible también en móvil */
  .v3 .nav-right{display:flex;margin-left:auto;gap:0}
  .v3 .nav-links{display:none}
  .v3 .nav-cta{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;font-size:10.5px;letter-spacing:.08em}
  .v3 .nav-burger{margin-left:6px}
  .v3 .nav-i{height:58px}
  .v3 .logo{font-size:19px}
  .v3 .nav-cta{padding:0 12px;font-size:10px}
  .v3 .mobile-nav{top:58px}

  /* Hero compacto: las tarjetas de capital, dentro del primer viewport de 390x844 */
  .v3 #hero .hero-in{padding:70px var(--v3-pad-m) 26px}
  .v3-hero-ante{font-size:10px;letter-spacing:.1em;margin-bottom:8px}
  .v3 #hero h1{font-size:28px;line-height:1.1;min-height:0}
  .v3 .hero-sub{font-size:15px;line-height:1.45;margin:10px 0 14px}
  .v3 .hero-cap{padding:12px 12px 11px;border-radius:6px}
  .v3 .hero-cap-q{font-size:10.5px;letter-spacing:.12em;margin-bottom:9px}
  .v3 .hero-cap-g{gap:7px}
  .v3 .hero-cap-o{min-height:46px;font-size:14px;padding:8px 6px}
  .v3 .hero-cap-f{display:block;font-size:12px;margin-top:9px;line-height:1.4}
  .v3-hero-links{margin-top:10px;gap:6px}
  .v3-hero-guia{font-size:14px;padding:4px 0;min-height:0}
  .v3-hero-cara{font-size:13px}

  /* Proyectos: fila deslizable de tarjetas compactas */
  .v3-hero-props{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:18px calc(var(--v3-pad-m) * -1) 8px;padding:0 var(--v3-pad-m) 4px;scrollbar-width:none}
  .v3-hero-props .hprop{flex:0 0 76%;scroll-snap-align:start}
  .v3-hero-props .hprop-img{flex-basis:84px;min-height:70px}
  .v3-hero-props .hprop-txt{padding:8px 12px}
  .v3 .hero-props-note{font-size:11.5px}

  .v3-datos{padding:22px 0 16px}
  .v3-datos-g{grid-template-columns:1fr 1fr;row-gap:16px}
  .v3-datos-g li{padding:2px 12px}
  .v3-datos-g li:nth-child(odd){padding-left:0}
  .v3-datos-g strong{font-size:28px}
  .v3-datos-g span{font-size:13px}
  .v3-datos-g small{font-size:10px}

  .v3-quien{grid-template-columns:1fr;gap:12px}
  .v3-quien-col{padding:20px 18px 18px}
  .v3-quien-col h3{font-size:23px;margin-bottom:10px}
  .v3-quien-col li{font-size:15px}

  .v3-pasos{grid-template-columns:1fr;gap:10px}
  .v3-pasos li{flex-direction:row;align-items:flex-start;gap:14px;padding:16px}
  .v3-paso-n{width:34px;height:34px;font-size:17px}

  .v3 .trust-g{gap:12px}
  .v3-trust .trust-card{padding:20px 18px}
  .v3-trust .trust-card h3{font-size:22px;margin-bottom:8px}
  .v3-persona-row{gap:14px}
  .v3-avatar{width:60px;height:60px}

  .v3 #form{padding-block:44px 92px}
  .v3 .form-wrap{padding:22px 16px}
  .v3 .form-hd h2{font-size:28px}
  .v3 .form-hd p{font-size:15px}
  .v3 .fq-label{font-size:22px}
  .v3-opts-list .opt-card{flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px}
  .v3-opts-list .opt-sub{text-align:left;font-size:12.5px}
  .v3-opts-plazo{grid-template-columns:1fr 1fr;gap:8px}
  .v3-opts-plazo .opt-card{padding:12px 8px;gap:4px}
  .v3-af{font-size:13px}
  .v3 .success{padding:4px 0 8px}
  .v3 .suc-card{padding:26px 16px 20px}
  #v3-afinar{padding:14px 12px}

  .v3-guia-box{padding:26px 18px}
  .v3-guia-row{flex-direction:column}
  .v3-guia-btn{width:100%}

  /* Tabla: cada fila pasa a tarjeta con España y Emiratos lado a lado */
  .v3-tabla,.v3-tabla tbody,.v3-tabla tr,.v3-tabla th,.v3-tabla td{display:block}
  .v3-tabla{border:none;background:transparent;font-size:14px}
  .v3-tabla thead{display:none}
  .v3-tabla tr{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:10px}
  .v3-tabla tr + tr > *{border-top:none}
  .v3-tabla tbody th{grid-column:1 / -1;width:auto;padding:12px 14px 8px;font-size:13px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--border)}
  .v3-tabla td{padding:10px 14px 12px}
  .v3-tabla td::before{content:attr(data-l);display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
  .v3-tabla td:nth-of-type(1)::before{color:#7f1d1d}
  .v3-tabla td:nth-of-type(2)::before{color:var(--v3-ok)}

  .v3 #faq{padding-block:44px}
  .v3 #comparativa{padding-bottom:36px}
  .v3-faq-q{font-size:18px;padding:15px 0}
  .v3-faq-a{padding-right:8px}

  .v3 footer{padding:40px 0 96px}
  .v3 .ft{grid-template-columns:1fr 1fr;gap:24px 16px}
  .v3 .fb{grid-column:1 / -1}
  .v3 .fc ul{gap:4px}
  .v3 .fc a,.v3 .ft-consent{display:inline-block;padding:6px 0}
  .v3 .wa-float{right:16px;bottom:84px}

  /* Modal: el teléfono no se sale de la tarjeta a 390px */
  .v3 #wao{padding:12px}
  .v3 #wam{padding:24px 18px 20px}
  .v3 #wam h3{font-size:22px}
  .v3 .wam-pfx{flex-basis:84px;width:84px}
}

@media(max-width:360px){
  .v3 #hero h1{font-size:25px}
  .v3 .nav-cta{padding:0 10px;font-size:10px}
  .v3 .logo{font-size:19px}
}
.v3 #faq .sh{max-width:780px;margin-inline:auto}

/* ── Revisión 30-sep: foto real de Jesús Ibáñez ─────────────────────────── */
.v3-avatar-img{display:block;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}
.v3-avatar-img--sm{width:36px;height:36px}
.v3-foto-fig{margin:0;flex-shrink:0}
.v3-foto{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 20%;border-radius:4px}
.v3-trust .v3-persona.v3-cara{grid-column:1 / -1}
.v3-trust .v3-persona.v3-cara .v3-persona-row{align-items:center;gap:28px}
.v3-trust .v3-persona.v3-cara .v3-foto-fig{width:min(220px,30%)}
.v3-trust .v3-persona.v3-cara .v3-persona-row p{font-size:17px;line-height:1.6}
.v3-persona-txt{display:flex;flex-direction:column;gap:10px}
@media(max-width:700px){
  .v3-trust .v3-persona.v3-cara .v3-persona-row{flex-direction:column;align-items:stretch;gap:16px}
  .v3-trust .v3-persona.v3-cara .v3-foto-fig{width:100%}
  .v3-trust .v3-persona.v3-cara .v3-persona-row p{font-size:16px}
}
/* Calculadora de vuelta en la home */
.v3 .v3-roi-cta{margin-top:18px;width:100%;justify-content:center;display:flex}
@media(min-width:901px){.v3 .v3-trust{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v3-req{color:var(--gold-text);font-weight:700}
.v3-opt{font-weight:400;color:var(--muted);font-size:.92em}

/* ═══════════════════════════════════════════════════════════════════════
   REVISIÓN MÓVIL (30-sep) · ~91 % del tráfico de pago es móvil.
   Medido con Playwright a 360x740, 390x844 y 430x932 (docs/mockup-v3/AUDITORIA_MOVIL.md).
   Reglas: cuerpo >= 16 px, inputs >= 16 px, tap >= 44 px, gutter 16 px,
   ritmo vertical de 48 px, barras fijas con safe-area y nada fijo encima
   de un control del formulario ni del campo que se está escribiendo.
   ═══════════════════════════════════════════════════════════════════════ */

/* Foco visible y consistente (dorado oscuro: >= 3:1 sobre navy y sobre crema) */
.v3 :is(a,button,summary,[role=button],.opt-card,.hero-cap-o):focus-visible{outline:3px solid #9A7016;outline-offset:2px}
.v3 :is(nav,.hero-cap,.sticky-cta,footer,.v3p-hero,.v3p-close,.v3p-ej-cta,.v3p-ej-hero) :is(a,button,summary):focus-visible{outline-color:var(--gold)}

@media(max-width:700px){
  /* ── Barras fijas: altura conocida y safe-area de iPhone ─────────────
     --v3-ban-h lo fija consent-v3.js con la altura real del banner. */
  .v3 .sticky-cta{padding:10px var(--v3-pad-m) calc(10px + env(safe-area-inset-bottom,0px))}
  .v3 .sticky-cta a{min-height:48px;padding:0 14px}
  .v3 .wa-float{right:14px;bottom:calc(80px + env(safe-area-inset-bottom,0px))}
  .v3 .wa-float a{width:52px;height:52px}
  body.v3-consent-open .sticky-cta{bottom:var(--v3-ban-h,60px);padding-bottom:10px}
  body.v3-consent-open .wa-float{bottom:calc(var(--v3-ban-h,60px) + 80px)}
  /* En el hero el CTA fijo no está (hero-cap-vista): el flotante baja y deja libres los proyectos */
  body.v3.hero-cap-vista .wa-float{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  body.v3.hero-cap-vista.v3-consent-open .wa-float{bottom:calc(var(--v3-ban-h,60px) + 12px)}
  /* Páginas sin botón fijo (blog): el flotante baja a su sitio natural */
  .v3-blog .wa-float{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  body.v3-blog.v3-consent-open .wa-float{bottom:calc(var(--v3-ban-h,60px) + 12px)}
  #he-consent.v3-consent{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .v3-consent-btn{min-height:44px}

  /* Con el formulario en pantalla el CTA fijo ya se oculta (app-v3.js);
     el flotante de WhatsApp también se aparta: tapaba "Continuar", el
     teléfono y "Ver mi selección" (medido: 39x32 px sobre el botón). */
  body.v3:has(.sticky-cta.hidden) .wa-float{opacity:0;pointer-events:none}
  /* Igual con el mini formulario de ficha abierto (proyectos): tapaba su botón a 360 px */
  body.v3:has(details.v3p-ficha[open]) .wa-float{opacity:0;pointer-events:none}
  /* Teclado abierto (un campo de texto con foco): fuera todo lo fijo de abajo,
     para que no se monte sobre el campo activo. Vuelve al salir del campo. */
  body.v3:has(:is(main,#wao,footer) :is(input[type=text],input[type=email],input[type=tel],input:not([type]),select,textarea):focus) :is(.wa-float,.sticky-cta,#he-consent){display:none!important}

  /* ── Nav ─────────────────────────────────────────────────────────── */
  .v3 .logo{display:inline-block;padding-block:7px;line-height:30px}
  .v3 .nav-cta{white-space:nowrap;min-height:44px}
  .v3 .nav-burger{width:44px;height:44px;padding:10px}
  .v3 .mobile-nav{background:#0D1B2A;backdrop-filter:none;box-shadow:0 18px 40px rgba(0,0,0,.35)}
  .v3 .mobile-nav a{display:flex;align-items:center;min-height:48px;padding:0 var(--v3-pad-m);font-size:13px}
  .v3 .mobile-nav .mobile-nav-cta{margin:14px var(--v3-pad-m) 0;justify-content:center;min-height:50px}

  /* ── Tipografía: cuerpo a 16 px ──────────────────────────────────── */
  .v3 .hero-sub{font-size:16px;line-height:1.5}
  .v3-quien-col li,.v3-pasos p,.v3-trust .trust-card p,.v3-faq-a{font-size:16px;line-height:1.6}
  .v3-pasos p{line-height:1.55}
  .v3 .sh h2{font-size:28px;line-height:1.15}
  .v3 .hero-props-note{font-size:12.5px;line-height:1.5}
  .v3 .hprop-z{font-size:13px}

  /* ── Ritmo vertical ──────────────────────────────────────────────── */
  .v3 .section.v3-sec,.v3 .roi-sect.v3-sec{padding-block:44px}
  .v3 #comparativa{padding-bottom:36px}
  .v3 #faq{padding-block:40px 44px}
  .v3-quien-col{padding:18px 16px 16px}
  .v3-pasos li{padding:14px}
  .v3-trust .trust-card h3{margin-bottom:6px}
  .v3-trust .v3-persona.v3-cara .v3-foto{aspect-ratio:3/2}
  .v3-hero-ante{font-size:11px}
  .v3 .hero-cap-q{font-size:11px}
  .v3 #form{padding-block:40px}
  .v3-sec-cta{margin-top:24px}
  .v3-sec-cta .btn-gold,.v3 .v3-roi-cta{display:flex;width:100%;min-height:52px}
  .v3-link-row{margin-top:18px}
  .v3-link-row .v3-link{display:inline-flex;align-items:center;min-height:44px}
  .v3 footer{padding:40px 0 calc(92px + env(safe-area-inset-bottom,0px))}
  .v3 .fc ul{gap:0}
  .v3 .fc a,.v3 .ft-consent{display:inline-flex;align-items:center;min-height:44px;padding:0}

  /* ── Hero ────────────────────────────────────────────────────────── */
  .v3 .hero-cap-o{min-height:48px}
  .v3-hero-guia{min-height:44px;padding:6px 0}

  /* ── Formulario ──────────────────────────────────────────────────── */
  .v3 .fhint{font-size:14px}
  .v3 .opt-label{font-size:16px}
  .v3-opts-list .opt-sub,.v3-opts-plazo .opt-sub{font-size:13.5px;line-height:1.4}
  .v3-opts-list .opt-card{min-height:56px;justify-content:center}
  .v3-opts-plazo .opt-card{min-height:88px}
  .v3 .fq-cambiar{min-height:44px;font-size:14px}
  .v3 .form-progress-wrap .btn-back{min-height:44px;margin-top:6px;font-size:14px}
  /* Etiquetas en tipografía de frase: la versión en versalitas espaciadas partía
     "(OPCIONAL, PARA ENVIARLE LA SELECCIÓN POR CORREO)" en dos líneas de 10 px. */
  .v3 .fg label{font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}
  .v3 .v3-opt{font-size:13.5px;font-weight:400}
  .v3 .fg input,.v3 .prefix-sel{min-height:50px}
  .v3-deliver li{font-size:14.5px;line-height:1.45}
  .v3-deliver .deliver-t{font-size:11px}
  .v3 .gdpr{align-items:flex-start;gap:10px}
  .v3 .gdpr label{font-size:13.5px;line-height:1.5;padding:2px 0}
  .v3 .gdpr input[type=checkbox]{width:22px;height:22px;margin-top:1px}
  .v3 .gdpr-basic{font-size:13px}
  .v3 .gdpr-basic summary{font-size:13.5px;min-height:28px;display:list-item}
  /* "Obligatorio" y "Opcional" como texto, no como bloque gris de dos líneas */
  .v3 :is(.gdpr,.wam-chk) :is(.gdpr-req,.gdpr-opt){display:inline;padding:0;margin-left:2px;background:none;font-size:12px;letter-spacing:0;text-transform:none;white-space:normal}
  .v3 :is(.gdpr,.wam-chk) .gdpr-req{color:#8a6414}
  .v3 :is(.gdpr,.wam-chk) .gdpr-opt{color:var(--muted)}
  .v3-form-nota{font-size:14px}
  .v3 .suc-title{font-size:24px}
  .v3 .suc-sub{font-size:15px;line-height:1.6}
  .v3-af-q > p{font-size:16px}
  .v3-af{font-size:13.5px;min-height:46px;padding:8px 6px}

  /* ── Guía ────────────────────────────────────────────────────────── */
  .v3-guia-box{text-align:left;padding:24px 18px 20px}
  .v3-guia-box > p{margin:0 0 18px;font-size:16px}
  .v3-guia-box h2{font-size:26px}
  .v3-guia label{font-size:13.5px;padding:3px 0;margin-top:6px}
  .v3-guia label input{width:22px;height:22px}
  .v3-guia-btn{font-size:13px}

  /* ── Tabla España frente a Emiratos (tarjeta por fila) ──────────── */
  .v3-tabla{font-size:15px}
  .v3-tabla tbody th{font-size:15px;padding:12px 14px 10px}
  .v3-tabla td{padding:10px 14px 14px;line-height:1.45}
  .v3-tabla td small{font-size:12px}
  .v3-tabla-nota{font-size:13px}

  /* ── Calculadora ─────────────────────────────────────────────────── */
  .v3 .roi-g{gap:28px}
  .v3 .roi-controls{gap:12px}
  .v3 .slider-group label{font-size:15px;margin-bottom:0}
  .v3 .slider-hint{margin-top:0}
  .v3 .compare-bars{margin-top:8px}
  .v3 .slider-group label span{font-size:15px;font-weight:600;color:var(--ink)}
  .v3 .slider-hint{font-size:13px}
  .v3 .bar-lbl{flex-direction:column;gap:2px;font-size:15px}
  .v3 .bar-lbl small{font-size:13px;line-height:1.4}
  .v3 .roi-boxes{gap:8px;margin-top:0}
  .v3 .roi-box{flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px}
  .v3 .roi-box .rk{font-size:12px}
  .v3 .roi-box .rv{font-size:22px;text-align:right;white-space:nowrap}
  .v3 .roi-disclaimer{font-size:13px;margin-top:6px}

  /* ── FAQ ─────────────────────────────────────────────────────────── */
  .v3-faq-q{min-height:52px;align-items:center}
  .v3-faq-a{padding:0 4px 18px 0}

  /* ── Modal de WhatsApp: cabe entero en 360x740 ───────────────────── */
  .v3 #wao{padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));align-items:flex-start;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .v3 #wam{padding:18px 16px 16px;margin:0 auto}
  .v3 .wam-icon{display:none}
  .v3 #wam h3{font-size:22px;padding-right:40px;margin-bottom:2px}
  .v3 #wam > p{font-size:15px;margin-bottom:12px}
  .v3 .wam-close{top:4px;right:4px}
  .v3 .wam-f{margin-bottom:10px;gap:5px}
  .v3 .wam-f > label:not(.wam-chk){font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}
  .v3 .wam-f input[type=text],.v3 .wam-f input[type=email],.v3 .wam-f input[type=tel],.v3 .wam-pfx{min-height:48px}
  .v3 .wam-basic{font-size:11.5px;line-height:1.5;margin-bottom:8px}
  .wam-chk{font-size:13px!important;padding:2px 0}
  .v3 .wam-f input[type=checkbox]{width:22px;height:22px}
}

/* Móvil estrecho (Android de 360 px): nav en una línea, rangos del hero en una
   línea y banner de cookies en dos filas para que "Más información" no se corte. */
@media(max-width:380px){
  .v3 .logo{font-size:17px}
  .v3 .nav-cta{padding:0 10px;font-size:10px;letter-spacing:.05em}
  .v3 .nav-burger{margin-left:2px}
  .v3 .hero-cap{padding:10px}
  .v3 .hero-cap-o{font-size:13.5px;padding:8px 4px;letter-spacing:-.005em}
  .v3-consent-row{flex-wrap:wrap;gap:6px}
  .v3-consent-txt{flex:1 1 100%;-webkit-line-clamp:2;font-size:11.5px;line-height:1.3}
  .v3-consent-actions{flex:1 1 100%}
  .v3-consent-btn--accept,.v3-consent-btn--reject{flex:1 1 0}
  /* Modal de WhatsApp: el botón queda dentro de los 740 px sin desplazar */
  .v3 #wam h3{font-size:20px}
  .v3 .wam-f{margin-bottom:8px;gap:4px}
  .v3 .wam-f > label:not(.wam-chk){font-size:13.5px}
  .v3 .wam-f input[type=text],.v3 .wam-f input[type=email],.v3 .wam-f input[type=tel],.v3 .wam-pfx{min-height:46px}
  .v3 .wam-basic{font-size:11px}
}
/* Pantallas bajas: home.css oculta el subtítulo del hero; en v3 se mantiene,
   porque las tarjetas de capital siguen dentro de la primera pantalla a 360x740. */
@media(max-width:700px) and (max-height:750px){
  .v3 .hero-sub{display:block}
}

/* Deslizadores con pulgar de 28 px (el nativo de Android mide unos 16 px).
   --p (relleno) lo actualiza app-v3.js al mover. */
.v3 .slider-group input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y}
.v3 .slider-group input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(to right,var(--gold) 0,var(--gold) var(--p,50%),#d9d2c3 var(--p,50%),#d9d2c3 100%)}
.v3 .slider-group input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:#d9d2c3}
.v3 .slider-group input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:var(--gold)}
.v3 .slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;margin-top:-11px;border-radius:50%;background:#fff;border:3px solid var(--gold);box-shadow:0 2px 6px rgba(13,27,42,.25)}
.v3 .slider-group input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--gold);box-shadow:0 2px 6px rgba(13,27,42,.25)}
.v3 .slider-group input[type=range]:focus-visible{outline:none}
.v3 .slider-group input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid #9A7016;outline-offset:2px}

/* ═══════════════════════════════════════════════════════════════════════
   SEGUNDA PASADA MÓVIL (30-sep): "solo lo que convierte".
   Principio: a 700 px o menos solo queda lo que empuja a dejar el contacto;
   el resto se marca con .solo-escritorio y sigue visible en escritorio.
   Detalle y métricas: docs/mockup-v3/AUDITORIA_MOVIL.md, "Segunda pasada".
   ═══════════════════════════════════════════════════════════════════════ */

/* Utilidades: no fuerzan display en su lado visible, solo ocultan en el otro */
@media(max-width:700px){.solo-escritorio{display:none!important}}
@media(min-width:701px){.solo-movil{display:none!important}}

/* ── Lora en todas las anchuras: más ancha y oscura que Cormorant,
      así que tamaños menores, peso 500 e interlineado algo mayor ───── */
.v3 .logo{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:0}
.v3 #hero h1{font-size:clamp(30px,2.9vw,42px);line-height:1.18;font-weight:500;letter-spacing:-.005em;max-width:19em}
.v3 .sh h2{font-size:clamp(26px,2.8vw,38px);line-height:1.2;font-weight:500}
.v3 .form-hd h2{font-size:clamp(26px,2.7vw,36px);line-height:1.2;font-weight:500}
.v3 .fq-label{font-size:clamp(19px,1.8vw,23px);line-height:1.3}
.v3 .trust-card h3,.v3-trust .trust-card h3{font-size:clamp(19px,1.7vw,22px);line-height:1.3}
.v3-quien-col h3{font-size:22px;line-height:1.25}
.v3-faq-q{font-size:17.5px;line-height:1.4}
.v3-guia-box h2{font-size:clamp(22px,2.3vw,30px);line-height:1.25}
.v3 .roi-box .rv{font-size:22px;font-weight:500}
.v3 #wam h3{font-size:21px;font-weight:500}
.v3 .suc-title{font-size:clamp(20px,2.4vw,24px);line-height:1.3}
.v3 .fb .logo{font-size:19px}

/* ── Móvil ───────────────────────────────────────────────────────────── */
@media(max-width:700px){
  body.v3{line-height:1.55}
  .v3 .logo{font-size:18px}

  /* Nav: logo y menú. Sin "Ver mi selección": el CTA fijo inferior aparece al salir del hero */
  .v3 .nav-cta{display:none!important}

  /* Encabezados de sección sin antetítulo ni filete: una idea por pantalla */
  .v3 .sh .eyebrow,.v3 .sh .rule,.v3 .form-hd .eyebrow,.v3 .form-hd .rule{display:none}
  .v3 .sh{margin-bottom:22px}
  .v3 .sh h2,.v3 .form-hd h2{font-size:23px;line-height:1.25;margin:0}
  .v3 .section.v3-sec,.v3 .roi-sect.v3-sec{padding-block:48px}

  /* ── Hero: H1, pregunta, 5 opciones en columna y enlace a la guía ─── */
  .v3 #hero .hero-in{padding:82px var(--v3-pad-m) 36px}
  .v3 #hero h1{font-size:clamp(22px,6.9vw,27px);line-height:1.22;margin:0 0 20px;max-width:none}
  .v3 .hero-cap{padding:14px 14px 12px;border-radius:8px}
  .v3 .hero-cap-q{font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;color:#fff;margin-bottom:12px;line-height:1.35}
  .v3 .hero-cap-g{grid-template-columns:1fr!important;gap:8px}
  .v3 .hero-cap-o{min-height:52px;font-size:16px;padding:0 12px;white-space:nowrap;letter-spacing:0}
  .v3-hero-links{margin-top:12px}
  .v3-hero-guia{font-size:14.5px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
  /* El WhatsApp flotante no se muestra mientras las opciones del hero están en pantalla
     (tapaba una tarjeta); vuelve en cuanto se desplaza. */
  body.v3.hero-cap-vista .wa-float{opacity:0;pointer-events:none}

  /* ── Cómo trabajamos: 4 pasos con título y una frase de detalle ──── */
  .v3-pasos{gap:0;border-top:1px solid #d8d2c6}
  .v3-pasos li{background:transparent;border:none;border-bottom:1px solid #d8d2c6;border-radius:0;padding:14px 0;align-items:flex-start;gap:14px}
  .v3-pasos p{font-size:15.5px;line-height:1.5}
  .v3-pasos strong{font-size:17px;line-height:1.35;font-weight:600;margin:4px 0 4px}
  .v3-paso-n{width:32px;height:32px;font-size:15px}

  /* ── Confianza: tarjeta compacta de Jesús y una línea de coste ───── */
  .v3 #confianza .sh{display:none}
  .v3 .v3-trust{gap:0}
  .v3-trust .v3-persona.v3-cara{padding:16px;border-left-width:3px}
  .v3-trust .v3-persona.v3-cara h3{font-size:19px;margin-bottom:10px}
  .v3-trust .v3-persona.v3-cara .v3-persona-row{flex-direction:row;align-items:flex-start;gap:14px}
  /* Sin foto en móvil: título y texto a todo el ancho */
  .v3-trust .v3-persona.v3-cara .v3-foto-fig{display:none}
  .v3-trust .v3-persona.v3-cara .v3-persona-row p{font-size:15.5px;line-height:1.5}
  .v3-trust-linea{display:flex;align-items:flex-start;gap:10px;margin:18px 0 0;font-size:16px;line-height:1.5;color:var(--ink)}
  .v3-trust-linea::before{content:'✓';flex:0 0 22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--v3-ok);background:rgba(45,106,79,.12);margin-top:1px}

  /* ── Formulario: sin subtítulos en las opciones ni caja de entrega ── */
  .v3 .form-hd{margin-bottom:18px}
  .v3 .opt-sub{display:none!important}
  .v3-opts-list .opt-card{min-height:52px;padding:0 14px}
  .v3-opts-plazo{grid-template-columns:1fr!important;gap:8px}
  .v3-opts-plazo .opt-card{min-height:52px;padding:0 14px;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left}
  .v3 .opt-label{white-space:nowrap}
  .v3 .fq-label{font-size:19px}
  .v3 .fq-gap{margin-top:22px}

  /* ── Guía: titular corto, email, botón y casillas ────────────────── */
  .v3-guia-box{padding:22px 16px 18px}
  .v3-guia-box h2{font-size:21px;line-height:1.3;margin-bottom:14px}

  /* ── Pie: logo, legales y una línea; fuentes y aviso plegados ───── */
  .v3 footer{padding:32px 0 calc(92px + env(safe-area-inset-bottom,0px))}
  .v3 .ft{grid-template-columns:1fr;gap:12px}
  .v3 .fb .logo{margin-bottom:6px}
  .v3 .fb p{font-size:14px;line-height:1.5}
  .v3 .fc h2{display:none}
  .v3 .fc ul{display:flex;flex-direction:row;flex-wrap:wrap;gap:0 20px}
  .v3 .fc li{width:auto}
  .v3 .copy{text-align:left}
  .v3 .ft-bot{margin-top:14px;padding-top:12px}
  .v3-ft-det > summary{display:flex;align-items:center;min-height:44px;font-size:13.5px;color:rgba(255,255,255,.75);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
  .v3-ft-det[open] > summary{margin-bottom:8px}
  .v3-ft-det .legal{font-size:12.5px;line-height:1.6}

  /* ── Banner de cookies: una línea de texto y 3 botones compactos ─── */
  #he-consent.v3-consent{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))}
  .v3-consent-row{flex-wrap:nowrap;gap:8px}
  .v3-consent-txt{-webkit-line-clamp:2;font-size:12.5px;line-height:1.3;flex:1 1 auto}
  .v3-consent-actions{gap:6px}
  .v3-consent-btn{min-height:44px;padding:0 12px;font-size:13px}
  .v3-consent-btn--config{padding:0 6px}
  .v3-consent-panel .v3-consent-mas{font-size:13px;color:var(--gold-text);text-decoration:underline;margin-top:6px;align-self:flex-start;min-height:32px;display:inline-flex;align-items:center}
}
/* Pie en escritorio: fuentes y aviso siempre abiertos, sin el desplegable */
@media(min-width:701px){
  .v3-ft-det > summary{display:none}
}
/* Estrecho (Android con texto grande o 360 px): texto arriba y fila de 3 botones */
@media(max-width:380px){
  .v3-consent-row{flex-wrap:wrap;gap:6px}
  .v3-consent-txt{flex:1 1 100%;-webkit-line-clamp:1;white-space:nowrap;text-overflow:ellipsis;display:block;font-size:13px}
  .v3-consent-actions{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
  .v3-consent-btn{min-height:42px;padding:0 6px}
  .v3-consent-btn--config{border-color:rgba(255,255,255,.4);text-decoration:none}
}
@media(max-width:340px){
  .v3 .logo{font-size:17px}
  .v3 .hero-cap-q{font-size:15px}
  .v3 .hero-cap-o{font-size:15px}
  .v3-hero-guia{font-size:13.5px}
}
.v3-consent-mas{font-size:13px;color:var(--gold-text);text-decoration:underline;text-underline-offset:2px;margin-top:6px;align-self:flex-start}
