/* ══════════════════════════════════════════════════════════════════════
   PASSYOURCDL — SISTEMA MODERNO, CON VIDA
   Es el MISMO lenguaje de moderna.css (serif Fraunces, etiquetas en versalitas
   mono, reglas finas, botones rectos, ámbar como único acento) al que se le
   suma lo que Cesar pidió: un poco de color, movimiento y fotografía real.
   Aquí NO hay degradados, vidrio, píldoras ni sombras pesadas.
   El color entra de forma medida: un tono por licencia (A ámbar, B verde,
   C azul, endorsements vino), bandas tenues y cifras en color.
   ══════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..600;1,9..144,300..600&family=Instrument+Sans:wght@400..600&family=Martian+Mono:wght@400..500&display=swap');

:root{
  --v-ink:#0a1b30; --v-ink2:#112b47; --v-azul:#1d3f63; --v-azul2:#35587e; --v-linea:rgba(10,27,48,.14);
  --v-ambar:#95600a; --v-ambar-v:#e0a33c;
  --v-a:#b3730b; --v-b:#1f5d3f; --v-c:#2a4a6b; --v-e:#7c1c2c;
  --v-papel:#fff; --v-tenue:#eff3f9; --v-tinta2:#55637a;
  --v-display:"Fraunces",Georgia,"Times New Roman",serif;
  --v-texto:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --v-dato:"Martian Mono",ui-monospace,"SF Mono",Menlo,monospace;

  /* el sistema viejo (style.css) pasa a la paleta moderna */
  --navy:#112b47; --navy-dark:#0a1b30; --navy2:#1d3f63; --gold:#e0a33c; --gold-dark:#95600a;
  --bg:#f7f8fa; --bg2:#eff3f9; --success:#1f5d3f; --muted:#55637a; --border:rgba(10,27,48,.14);
  --font:var(--v-texto); --display:var(--v-display);
  --radius:2px; --radius-sm:2px; --radius-lg:4px; --shadow:none; --shadow-lg:0 18px 40px -24px rgba(10,27,48,.4); --shadow-gold:none;
}
body{ font-family:var(--v-texto); }
h1,h2,h3,.nav-logo{ font-family:var(--v-display); letter-spacing:-.012em; }
::selection{ background:var(--v-ambar-v); color:var(--v-ink); }
:focus-visible{ outline:2px solid var(--v-ambar-v); outline-offset:3px; }

/* ── BARRA ────────────────────────────────────────────────────────── */
.vnav{ position:sticky; top:0; z-index:300; display:flex; align-items:center; gap:22px; padding:12px clamp(16px,3vw,40px);
  background:var(--v-ink); color:#eef2f7; border-bottom:1px solid rgba(238,242,247,.14); transition:padding .25s; }
.vnav.scrolled{ padding-top:8px; padding-bottom:8px; }
.vlogo{ display:inline-flex; align-items:center; text-decoration:none; color:#fff; font-family:var(--v-display); font-weight:500; font-size:1.2rem; letter-spacing:.01em; min-height:44px; }
.vlogo em{ font-style:italic; font-weight:400; color:var(--v-ambar-v); }
.vlinks{ display:none; gap:2px; margin:0 0 0 18px; padding:0; list-style:none; }
.vlinks a{ display:inline-flex; align-items:center; min-height:44px; padding:0 12px; color:#c3cedd; text-decoration:none; font-family:var(--v-dato); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; position:relative; }
.vlinks a::after{ content:""; position:absolute; left:12px; right:12px; bottom:8px; height:1px; background:var(--v-ambar-v); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.vlinks a:hover,.vlinks a.on{ color:#fff; } .vlinks a:hover::after,.vlinks a.on::after{ transform:scaleX(1); }
.vactions{ margin-left:auto; display:flex; align-items:center; gap:10px; }
.vnav .btn-cart{ position:relative; display:inline-grid; place-items:center; width:44px; height:44px; color:#c3cedd; background:none; border:0; }
.vnav .btn-cart:hover{ color:#fff; } .vnav .btn-cart svg{ width:19px; height:19px; }
.vnav .cart-badge{ position:absolute; top:5px; right:3px; min-width:17px; height:17px; padding:0 4px; background:var(--v-ambar-v); color:var(--v-ink); font-family:var(--v-dato); font-size:.62rem; font-weight:500; display:grid; place-items:center; }
.vnav .cart-badge.hidden{ display:none; }
#user-nav{ display:flex; align-items:center; gap:8px; }
.btn-nav-login,.btn-nav-logout,.btn-nav-dash,.btn-nav-cta{ display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1px solid rgba(238,242,247,.4); background:transparent; color:#eef2f7; text-decoration:none; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; cursor:pointer; transition:background .2s,color .2s,border-color .2s; border-radius:0; }
.btn-nav-login:hover,.btn-nav-logout:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.btn-nav-cta,.btn-nav-dash{ background:var(--v-ambar-v); border-color:var(--v-ambar-v); color:var(--v-ink)!important; }
.btn-nav-cta:hover,.btn-nav-dash:hover{ background:#f0b84f; border-color:#f0b84f; }
.vnav .hamburger{ background:none; border:1px solid rgba(238,242,247,.4); color:#fff; width:44px; height:44px; font-size:1.2rem; cursor:pointer; border-radius:0; }
@media(min-width:1000px){ .vlinks{ display:flex; } .vnav .hamburger{ display:none; } }
@media(max-width:1180px){ .vlinks li:nth-child(5){ display:none; } }
@media(max-width:1060px){ .vlinks li:nth-child(4){ display:none; } }
@media(max-width:560px){ .vnav{ gap:8px; padding:8px 14px; } .vnav .btn-nav-cta{ display:none!important; } .vlogo{ font-size:1.08rem; } .btn-nav-login,.btn-nav-dash,.btn-nav-logout{ padding:0 12px; } }
/* menú móvil */
.mobile-overlay{ position:fixed; inset:0; background:rgba(5,12,24,.6); opacity:0; pointer-events:none; transition:opacity .25s; z-index:400; }
.mobile-overlay.open{ opacity:1; pointer-events:auto; }
.mobile-menu{ position:fixed; top:0; right:0; bottom:0; width:min(340px,88vw); background:var(--v-ink); color:#fff; z-index:410; padding:26px 24px; display:flex; flex-direction:column; gap:2px; transform:translateX(105%); visibility:hidden; transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s .32s; overflow:auto; border-left:1px solid rgba(238,242,247,.14); }
.mobile-menu.open{ transform:none; visibility:visible; transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s; }
.mobile-menu strong{ font-family:var(--v-display); font-weight:500; font-size:1.3rem; margin-bottom:16px; }
.mobile-menu a{ color:#eef2f7; text-decoration:none; font-family:var(--v-dato); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; padding:16px 0; border-bottom:1px solid rgba(238,242,247,.14); }
.mobile-menu a:hover{ color:var(--v-ambar-v); }
.mobile-menu-close{ position:absolute; top:12px; right:12px; width:44px; height:44px; border:1px solid rgba(238,242,247,.4); background:none; color:#fff; font-size:1.4rem; cursor:pointer; }
body{ overflow-x:clip; }

/* ── PIE ──────────────────────────────────────────────────────────── */
.vfoot{ background:var(--v-ink); color:#c3cedd; padding:64px clamp(18px,4vw,48px) 30px; font-size:.9rem; border-top:3px solid var(--v-ambar-v); }
.vfoot__grid{ max-width:1120px; margin:0 auto; display:grid; gap:36px; grid-template-columns:1.5fr 1fr 1fr 1fr; }
@media(max-width:860px){ .vfoot__grid{ grid-template-columns:1fr 1fr; } } @media(max-width:520px){ .vfoot__grid{ grid-template-columns:1fr; } }
.vfoot h4{ margin:0 0 14px; color:var(--v-ambar-v); font-family:var(--v-dato); font-weight:500; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; }
.vfoot a{ display:block; color:#eef2f7; text-decoration:none; padding:6px 0; min-height:32px; }
.vfoot a:hover{ text-decoration:underline; }
.vfoot p{ margin:0 0 8px; max-width:38ch; line-height:1.65; }
.vfoot .vlogo{ margin-bottom:12px; display:inline-flex; }
.vfoot .lang-switch{ display:flex; gap:8px; margin-bottom:22px; }
.vfoot .lang-btn{ border:1px solid rgba(238,242,247,.4); background:transparent; color:#fff; padding:6px 16px; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.1em; cursor:pointer; }
.vfoot .lang-btn.active{ background:var(--v-ambar-v); color:var(--v-ink); border-color:var(--v-ambar-v); }
.vfoot__fin{ max-width:1120px; margin:42px auto 0; padding-top:22px; border-top:1px solid rgba(238,242,247,.16); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:.8rem; color:#8fa2c6; }
.vfoot__fin div a{ display:inline-block; margin-left:16px; font-size:.8rem; color:#c3cedd; }

/* ── BOTONES, TARJETAS, FORMULARIOS (sistema viejo, re-vestido) ───── */
.btn,.btn-gold,.btn-navy,.btn-blue,.btn-green,.btn-outline,.btn-outline-white{ font-family:var(--v-dato); font-weight:500; letter-spacing:.11em; text-transform:uppercase; border-radius:0!important; transition:background .2s,color .2s,border-color .2s,transform .2s; }
.btn-gold,.btn--principal{ background:var(--v-ambar-v)!important; color:var(--v-ink)!important; border:1px solid var(--v-ambar-v)!important; box-shadow:none!important; }
.btn--principal{ background:var(--v-ambar)!important; color:#fff!important; border-color:var(--v-ambar)!important; }
.btn-gold:hover{ background:#f0b84f!important; transform:translateY(-2px); } .btn--principal:hover{ background:#7a4d07!important; transform:translateY(-2px); }
.btn-navy,.btn-blue{ background:var(--v-ink2)!important; color:#fff!important; border:1px solid var(--v-ink2)!important; } .btn-navy:hover,.btn-blue:hover{ background:var(--v-azul)!important; transform:translateY(-2px); }
.btn-green{ background:var(--v-b)!important; border:1px solid var(--v-b)!important; color:#fff!important; }
.btn-outline{ border:1px solid var(--v-ink2)!important; color:var(--v-ink2)!important; background:transparent!important; } .btn-outline:hover{ background:var(--v-ink2)!important; color:#fff!important; }
.card,.dash-card,.blog-card,.endorse-card,.auth-card,.download-form-card,.cp-summary-box{ background:#fff; border:1px solid var(--v-linea); border-radius:2px; box-shadow:none; transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s; }
.card:hover,.blog-card:hover,.endorse-card:hover{ transform:translateY(-4px); border-color:var(--v-ambar-v); box-shadow:var(--shadow-lg); }
.blog-card{ overflow:hidden; }
input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],select,textarea{ font-family:var(--v-texto); border:1px solid rgba(10,27,48,.28); border-radius:0; background:#fff; transition:border-color .2s,box-shadow .2s; }
input:focus,select:focus,textarea:focus{ outline:none; border-color:var(--v-ambar); box-shadow:0 0 0 3px rgba(224,163,60,.3); }
.btn-primary,.auth-card button[type=submit]{ background:var(--v-ambar)!important; color:#fff!important; border:0; border-radius:0!important; font-family:var(--v-dato); font-weight:500; letter-spacing:.11em; }

/* ── ANIMACIÓN (la parte "dinámica") ─────────────────────────────── */
[data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1); transition-delay:var(--d,0s); }
[data-reveal="izq"]{ transform:translateX(-30px); } [data-reveal="der"]{ transform:translateX(30px); }
[data-reveal].visible{ opacity:1; transform:none; }
.barra-progreso{ position:fixed; top:0; left:0; height:3px; width:0; z-index:500; background:var(--v-ambar-v); }
@keyframes ken{ from{ transform:scale(1.03) } to{ transform:scale(1.12) translate3d(-1.2%,-.8%,0) } }
@keyframes pulso{ 70%{ box-shadow:0 0 0 10px rgba(31,93,63,0) } 100%{ box-shadow:0 0 0 0 rgba(31,93,63,0) } }
@media(prefers-reduced-motion:reduce){ *,*::before,*::after{ animation:none!important; transition:none!important; } [data-reveal]{ opacity:1; transform:none; } html{ scroll-behavior:auto; } }

/* ══ PORTADA: la original, con foto real y un poco de color ═════════ */
.v-landing .portada__foto img{ width:100%; height:100%; object-fit:cover; object-position:64% 50%; animation:ken 24s ease-in-out infinite alternate; }
.v-landing .seccion.tenue{ background:var(--v-tenue); }
.v-landing .etiqueta{ color:var(--v-ambar); }
.v-landing .hondo .etiqueta,.v-landing .portada .etiqueta{ color:var(--v-ambar-v); }
.v-landing .cifra__n{ color:var(--v-ambar-v); }
.v-landing .portada .cifra__t{ color:#c3cedd; }
/* una licencia, un color */
.v-landing .etapa{ position:relative; transition:background .3s,padding-left .3s; }
.v-landing .etapa::before{ content:""; position:absolute; left:0; top:22%; bottom:22%; width:3px; background:var(--cl,var(--v-ambar-v)); transition:top .3s,bottom .3s; }
.v-landing .etapa{ padding-left:18px; }
.v-landing .etapa:hover{ background:color-mix(in srgb,var(--cl,#e0a33c) 7%,transparent); padding-left:30px; }
.v-landing .etapa:hover::before{ top:0; bottom:0; }
.v-landing .etapa:nth-child(1){ --cl:var(--v-a); } .v-landing .etapa:nth-child(2){ --cl:var(--v-b); }
.v-landing .etapa:nth-child(3){ --cl:var(--v-c); } .v-landing .etapa:nth-child(4){ --cl:var(--v-e); }
.v-landing .etapa__n{ color:var(--cl)!important; font-weight:500; }
.v-landing .etapa__t{ color:var(--v-ink); }
.v-landing .sumario .n{ color:var(--v-ambar); }
.v-landing .lista li b{ font-family:var(--v-display); font-weight:400; font-size:clamp(1.9rem,3.6vw,2.7rem); color:var(--v-ambar); display:block; line-height:1.05; }
.v-landing .lista li:nth-child(2) b{ color:var(--v-c); } .v-landing .lista li:nth-child(3) b{ color:var(--v-b); } .v-landing .lista li:nth-child(4) b{ color:var(--v-e); }
.v-landing .lista li::before{ display:none; } .v-landing .lista li{ padding-left:0; }
.v-landing .incluye li:nth-child(6n+1) .n{ color:var(--v-a); } .v-landing .incluye li:nth-child(6n+2) .n{ color:var(--v-b); } .v-landing .incluye li:nth-child(6n+3) .n{ color:var(--v-c); }
.v-landing .incluye li:nth-child(6n+4) .n{ color:var(--v-e); } .v-landing .incluye li:nth-child(6n+5) .n{ color:var(--v-a); } .v-landing .incluye li:nth-child(6n) .n{ color:var(--v-b); }
.v-landing .incluye li{ transition:padding-left .3s,background .3s; } .v-landing .incluye li:hover{ padding-left:12px; background:rgba(10,27,48,.025); }


/* foto + texto: bandas editoriales entre secciones */
.vsplit{ display:grid; gap:clamp(28px,5vw,64px); grid-template-columns:1fr 1fr; align-items:center; max-width:var(--ancho,1120px); margin:clamp(56px,7vw,96px) auto 0; }
.vsplit--inv .vsplit__foto{ order:2; } @media(max-width:820px){ .vsplit{ grid-template-columns:1fr; } .vsplit--inv .vsplit__foto{ order:0; } }
.vsplit__foto{ position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--v-ink); border:1px solid var(--v-linea); }
.vsplit__foto img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s cubic-bezier(.2,.8,.2,1); }
.vsplit__foto:hover img{ transform:scale(1.06); }
.vsplit__foto .vtag{ position:absolute; left:0; bottom:0; padding:10px 16px; background:var(--v-ink); color:#eef2f7; font-family:var(--v-dato); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; border-top:2px solid var(--v-ambar-v); }
.vsplit h3{ font-family:var(--v-display); font-weight:400; font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.12; margin:0 0 14px; color:var(--v-ink); letter-spacing:-.012em; }
.vsplit p{ color:var(--v-tinta2); margin:0 0 18px; }
.vticks{ list-style:none; margin:0 0 8px; padding:0; border-top:1px solid var(--v-linea); }
.vticks li{ padding:12px 0 12px 26px; border-bottom:1px solid var(--v-linea); position:relative; }
.vticks li::before{ content:""; position:absolute; left:0; top:20px; width:12px; height:1px; background:var(--v-ambar); }
.vticks li:nth-child(2)::before{ background:var(--v-b); } .vticks li:nth-child(3)::before{ background:var(--v-c); }
/* cierre con foto */
.vcierre{ position:relative; isolation:isolate; padding:clamp(90px,11vw,160px) 24px; text-align:center; color:#fff; overflow:hidden; background:var(--v-ink); }
.vcierre img.bg{ position:absolute; inset:-6% 0; width:100%; height:112%; object-fit:cover; z-index:-2; }
.vcierre::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(rgba(10,27,48,.78),rgba(10,27,48,.88)); }
.vcierre .display{ color:#fff; } .vcierre .bajada{ color:#c3cedd; margin-inline:auto; } .vcierre .etiqueta{ color:var(--v-ambar-v); }
.vcierre .btn--linea{ border-color:rgba(238,242,247,.5); color:#fff; } .vcierre .btn--linea:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.vhero__acc{ display:flex; flex-wrap:wrap; gap:14px; }
.v-landing .enlace-inspeccion{ transition:background .3s,transform .3s; } .v-landing .enlace-inspeccion:hover{ transform:translateY(-3px); }

/* ══ HEROES CON FOTO EN PÁGINAS INTERNAS (.vph) ════════════════════ */
.vph{ position:relative!important; isolation:isolate; overflow:hidden; background:var(--v-ink)!important; color:#fff!important; text-align:left!important;
  padding:clamp(64px,8vw,110px) clamp(18px,4vw,48px) clamp(52px,6vw,80px)!important; margin:0!important; min-height:0!important; border-radius:0!important; }
.vph::before{ content:""; position:absolute; inset:-3%; z-index:-2; background:var(--foto) center/cover no-repeat; animation:ken 26s ease-in-out infinite alternate; }
.vph::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,27,48,.94),rgba(10,27,48,.72) 60%,rgba(10,27,48,.5)); }
.vph > *{ max-width:1100px; margin-left:auto!important; margin-right:auto!important; position:relative; }
.vph .ct-wrap,.vph .bl-wrap,.vph .dl-wrap,.vph .gk-wrap,.vph .vph__in{ max-width:1100px; margin:0 auto!important; padding:0!important; text-align:left!important; }
.vph h1{ font-family:var(--v-display)!important; font-weight:400!important; font-size:clamp(2.2rem,5.2vw,3.9rem)!important; line-height:1.06!important; letter-spacing:-.015em!important; text-transform:none!important; color:#fff!important; margin:12px 0 14px!important; text-wrap:balance; }
.vph p,.vph .sub,.vph .gk-sub,.vph .gk-sub-es{ color:#c9d4e6!important; font-size:clamp(1rem,1.3vw,1.15rem)!important; max-width:62ch; margin:0 0 10px!important; text-align:left!important; }
.vph .gk-sub-es{ color:#9fb0cc!important; font-size:.98rem!important; }
.vchip{ display:inline-flex; align-items:center; gap:12px; font-family:var(--v-dato); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--v-ambar-v); }
.vchip::before{ content:""; width:28px; height:1px; background:var(--v-ambar-v); }
.vph--slim{ padding-top:clamp(44px,5vw,72px)!important; padding-bottom:clamp(36px,4vw,56px)!important; }
.vph .lp-langwrap{ align-items:flex-start!important; } .vph .lp-toggle{ border-color:rgba(238,242,247,.4)!important; border-radius:0!important; }
.vph .lp-langbtn.active{ background:var(--v-ambar-v)!important; color:var(--v-ink)!important; } .vph .lp-legal-note{ color:#9fb0cc!important; font-size:.8rem!important; }
.vph .bl-search,.vph .dl-search{ max-width:560px; margin:22px 0 0!important; } .vph .bl-search input{ border-radius:0!important; padding-left:46px; }
.vph .dl-search select{ border-radius:0!important; border:0!important; }
.vph .bl-pills{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px!important; }
.vph .bl-pill{ border-radius:0!important; background:transparent!important; border:1px solid rgba(238,242,247,.4)!important; color:#eef2f7!important; padding:8px 16px; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:all .2s; }
.vph .bl-pill:hover{ border-color:#fff!important; } .vph .bl-pill.active{ background:var(--v-ambar-v)!important; color:var(--v-ink)!important; border-color:var(--v-ambar-v)!important; }
.hero-blog.vph .meta{ color:var(--v-ambar-v)!important; font-family:var(--v-dato); font-size:.72rem!important; letter-spacing:.1em; text-transform:uppercase; }

/* ── legales, artículos, contacto, descargas ── */
.tm-wrap,.rf-wrap{ font-family:var(--v-texto)!important; color:#26324f!important; line-height:1.75; }
.tm-wrap h2,.rf-wrap h2{ font-family:var(--v-display)!important; font-weight:500; color:var(--v-ink)!important; border-bottom:1px solid var(--v-linea)!important; padding-bottom:6px; }
.tm-wrap a,.rf-wrap a{ color:var(--v-ambar); }
.tm-toc{ background:var(--v-tenue); border:1px solid var(--v-linea); border-radius:0; padding:18px 22px; }
.article-body{ font-family:var(--v-texto); } .article-body h2{ font-family:var(--v-display); font-weight:500; color:var(--v-ink); }
.rf-wrap .footer-grid{ display:none; }
.blog-card,.dl-card,.ct-form-card,.resp-card{ border-radius:0!important; border:1px solid var(--v-linea)!important; box-shadow:none!important; background:#fff; transition:transform .3s,border-color .3s; }
.blog-card:hover,.dl-card:hover,.resp-card:hover{ transform:translateY(-4px); border-color:var(--v-ambar-v)!important; }
.dl-card.featured{ border:1px solid var(--v-ambar-v)!important; border-top:3px solid var(--v-ambar-v)!important; background:#fffaf0; }
.ct-form-card button[type=submit],.dl-card .btn,.dl-card a.dl-btn{ background:var(--v-ambar)!important; color:#fff!important; border:0!important; border-radius:0!important; font-family:var(--v-dato); letter-spacing:.1em; }
.about-resp{ background:var(--v-tenue)!important; } .resp-card h3{ font-family:var(--v-display); font-weight:500; color:var(--v-ink); text-transform:none; }
.bl-feat-img,.bl-card-img{ background-size:cover!important; background-position:center!important; background-color:var(--v-ink); position:relative; }
.bl-feat-img::after,.bl-card-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,27,48,.3),transparent 60%); }
.bl-feat-img{ min-height:240px; } .bl-card-img{ height:170px!important; }

/* ── 404 ── */
.hero-404.vph{ min-height:74vh!important; display:flex!important; flex-direction:column; align-items:center!important; justify-content:center; text-align:center!important; }
.hero-404.vph > *{ text-align:center!important; }
.hero-404 .err-code{ font-family:var(--v-display); font-weight:300; font-size:clamp(5rem,16vw,11rem); line-height:.9; color:var(--v-ambar-v)!important; }
.hero-404 .err-subtitle{ font-family:var(--v-display); font-weight:400; font-size:clamp(1.4rem,3vw,2.1rem); color:#fff!important; background:none!important; }
.hero-404 .err-msg-en,.hero-404 .err-msg-es{ color:#c9d4e6!important; margin:8px auto!important; text-align:center!important; }
.hero-404 .truck-emoji{ color:var(--v-ambar-v)!important; } .hero-404 .truck-emoji svg{ width:56px; height:56px; }
.hero-404 .links-grid a{ background:transparent!important; border:1px solid rgba(238,242,247,.4)!important; color:#fff!important; border-radius:0!important; }
.hero-404 .links-grid a:hover{ background:var(--v-ambar-v)!important; color:var(--v-ink)!important; }

/* ── login / registro / recuperar / gracias ── */
.auth-left.vph-aside{ position:relative; isolation:isolate; overflow:hidden; background:var(--v-ink)!important; color:#fff; }
.auth-left.vph-aside::before{ content:""; position:absolute; inset:-3%; z-index:-2; background:var(--foto) center/cover; animation:ken 26s ease-in-out infinite alternate; }
.auth-left.vph-aside::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(10,27,48,.95),rgba(10,27,48,.55) 60%,rgba(10,27,48,.78)); }
.auth-left .brand-lg{ font-family:var(--v-display)!important; font-weight:500; text-transform:none; letter-spacing:.01em; } .auth-left .brand-lg span{ color:var(--v-ambar-v)!important; }
.auth-left .brand-tag{ font-family:var(--v-display)!important; font-weight:400; font-size:clamp(2rem,3.4vw,2.9rem)!important; line-height:1.08; text-transform:none!important; letter-spacing:-.015em!important; }
.auth-left .brand-bullets li{ border-top:1px solid rgba(238,242,247,.22); padding:12px 0; background:none; border-radius:0; } .auth-left .brand-bullets svg{ stroke:var(--v-ambar-v)!important; }
.auth-right{ background:var(--v-tenue)!important; } .auth-card{ border-radius:0!important; }
.vbg-foto{ min-height:100svh; background:linear-gradient(rgba(10,27,48,.72),rgba(10,27,48,.86)),var(--foto) center/cover fixed no-repeat!important; display:grid; place-items:center; padding:24px; }
.vbg-foto .card{ background:#fff!important; border-radius:0!important; border:0!important; border-top:3px solid var(--v-ambar-v)!important; box-shadow:0 40px 80px -30px rgba(0,0,0,.7)!important; }
.vbg-foto .logo{ font-family:var(--v-display)!important; font-weight:500; } .vbg-foto .btn{ background:var(--v-ambar)!important; color:#fff!important; }

/* ── dashboard y examen (app): color medido ── */
.dash-sidebar{ background:var(--v-ink)!important; border-right:1px solid rgba(238,242,247,.12); }
.dash-sidebar .side-brand{ font-family:var(--v-display); font-weight:500; }
.dash-sidebar nav.side-nav{ background:transparent!important; box-shadow:none!important; position:static!important; height:auto!important; padding:0!important; border:0!important; }
.dash-sidebar .side-nav a{ color:#dfe7f3!important; } .dash-sidebar .side-nav a.active,.dash-sidebar .side-nav a.home{ color:var(--v-ambar-v)!important; }
.dash-sidebar .side-nav a .ico svg{ stroke:currentColor!important; }
.plan-badge{ background:var(--v-ambar-v)!important; color:var(--v-ink)!important; border-radius:0!important; }
#prog-fill{ background:var(--v-ambar-v)!important; } .qcard{ border-radius:2px!important; }

/* ── guía de Pre-Trip ── */
body[data-app] main > .seccion{ padding-top:clamp(36px,5vw,64px); }
.pieza{ transition:transform .3s,border-color .3s; } .pieza:hover{ transform:translateY(-3px); }
.zonas button{ transition:transform .25s; } .zonas button:hover{ transform:translateY(-2px); }

/* ── móvil ── */
@media(max-width:560px){ .v-landing .vhero__acc .btn{ width:100%; } .vfoot{ padding-top:48px; } }

/* ══ CUERPO DE LAS PÁGINAS HEREDADAS, EN EL SISTEMA MODERNO ═════════
   Las páginas viejas traían títulos en mayúsculas espaciadas, tarjetas
   redondas, píldoras amarillas y paneles de azul eléctrico. Aquí se
   normalizan: serif, esquinas rectas, reglas finas, ámbar medido. */
body:not([data-app]) :is(h1,h2,h3,h4){ font-family:var(--v-display)!important; font-weight:500!important; letter-spacing:-.012em!important; text-transform:none!important; }
body:not([data-app]) :is(h1,h2){ font-weight:400!important; }
body:not([data-app]) :is(.cart-page-wrap,.dl-section,.bl-layout,.ct-grid,main) :is(h1,h2){ color:var(--v-ink); }
body:not([data-app]) :is([class*=card],[class*=btn],[class*=pill],[class*=badge],[class*=tag],[class*=box],[class*=panel],[class*=crumb],[class*=chip],input,select,textarea,button):not(.cart-badge):not([class*=avatar]):not([class*=spinner]):not([class*=switch]):not([class*=toggle]):not(.pyc-chat *):not(.pyc-chat):not(.pyc-chat-btn){ border-radius:0!important; }
body:not([data-app]) [class*=card]{ box-shadow:none!important; }
body:not([data-app]) :is([class*=btn],button):not(.pyc-chat *):not(.pyc-chat-btn){ font-family:var(--v-dato)!important; letter-spacing:.08em; text-transform:uppercase; font-size:.74rem; }
body:not([data-app]) :is([class*=badge],[class*=tag],[class*=pill],[class*=chip]):not(.cart-badge):not(.bl-pill){ font-family:var(--v-dato)!important; font-size:.62rem!important; letter-spacing:.12em; text-transform:uppercase; }
/* amarillo de plantilla -> ámbar de la marca */
body:not([data-app]) :is([class*=badge],[class*=tag]):not(.cart-badge){ background:rgba(224,163,60,.18)!important; color:#7a4d07!important; border:1px solid rgba(224,163,60,.5); }
body:not([data-app]) .bl-cat,body:not([data-app]) .bl-tag{ background:rgba(224,163,60,.18)!important; color:#7a4d07!important; }
/* paneles oscuros (resumen del carrito, CTA del blog y de descargas) */
.cp-summary-box,.bl-cta,.bl-cta-card,.dl-cta,.dl-help-card,[class*=cta-card]{ background:var(--v-ink)!important; border:1px solid rgba(238,242,247,.14)!important; border-top:3px solid var(--v-ambar-v)!important; color:#eef2f7; }
.cp-summary-box :is(h2,h3,.total,.cp-total),.bl-cta :is(h3,h4),.bl-cta-card :is(h3,h4),.dl-help-card h3{ color:#fff!important; }
/* cifras y precios con serif y color */
.cart-page-wrap :is([class*=price],[class*=total]){ font-family:var(--v-display); }
.cp-summary-box [class*=total] b,.cp-summary-box [class*=total] span:last-child{ color:var(--v-ambar-v)!important; }
/* migas de pan y secciones */
.crumb,[class*=breadcrumb]{ font-family:var(--v-dato); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; background:transparent!important; border:0!important; border-bottom:1px solid var(--v-linea)!important; }
.dl-section,.bl-section{ border-top:1px solid var(--v-linea); }
body:not([data-app]){ background:var(--v-papel); }
body:not([data-app]) main,body:not([data-app]) .cart-page-wrap{ background:transparent; }
.bl-layout,.dl-wrap,.ct-grid{ background:transparent; }

/* ══ PÁGINA DE RECURSOS ═════════════════════════════════════════════ */
.rec-lista{ list-style:none; margin:0; padding:0; border-top:1px solid var(--v-linea); max-width:1100px; margin-inline:auto; }
.rec-item a{ display:grid; grid-template-columns:auto 1fr auto; gap:6px 26px; align-items:center; padding:26px 8px; border-bottom:1px solid var(--v-linea); text-decoration:none; color:inherit; position:relative; transition:padding-left .3s,background .3s; }
.rec-item a::before{ content:""; position:absolute; left:0; top:22%; bottom:22%; width:3px; background:var(--cl,var(--v-ambar-v)); transition:top .3s,bottom .3s; }
.rec-item a:hover{ padding-left:22px; background:color-mix(in srgb,var(--cl,#e0a33c) 7%,transparent); } .rec-item a:hover::before{ top:0; bottom:0; }
.rec-n{ font-family:var(--v-dato); font-size:.78rem; letter-spacing:.1em; color:var(--cl,var(--v-ambar)); padding-left:12px; }
.rec-t{ font-family:var(--v-display); font-weight:500; font-size:clamp(1.15rem,2.2vw,1.5rem); color:var(--v-ink); line-height:1.2; display:block; }
.rec-d{ display:block; color:var(--v-tinta2); font-size:.96rem; margin-top:4px; max-width:62ch; line-height:1.55; }
.rec-go{ font-family:var(--v-dato); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--v-ink); white-space:nowrap; display:flex; align-items:center; gap:10px; }
.rec-go b{ font-weight:500; padding:4px 9px; border:1px solid currentColor; font-size:.6rem; }
.rec-go .gratis{ color:var(--v-b); } .rec-go .cuenta{ color:var(--v-tinta2); } .rec-go .pago{ color:var(--v-e); }
.rec-item a:hover .rec-go span.fl{ transform:translateX(4px); } .rec-go span.fl{ transition:transform .3s; }
.rec-grupo{ font-family:var(--v-dato); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--v-ambar); max-width:1100px; margin:clamp(40px,5vw,64px) auto 14px; padding:0 8px; }
@media(max-width:640px){ .rec-item a{ grid-template-columns:auto 1fr; } .rec-go{ grid-column:2; margin-top:8px; } }
.free-c-badge{ background:rgba(31,93,63,.4)!important; color:#cdeede!important; border:1px solid rgba(205,238,222,.4)!important; font-family:var(--v-dato)!important; font-size:.64rem!important; letter-spacing:.08em; text-transform:uppercase; }

/* ══ PORTADA DE VENTAS ════════════════════════════════════════════ */
.v-landing{ padding-left:0!important; }
.nota-escuela{ max-width:62ch; margin:0 auto 38px; text-align:center; color:var(--v-tinta2); font-size:.92rem; } .nota-escuela a{ color:var(--v-ambar); }
/* oferta con reloj */
.oferta-tira{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin:clamp(30px,4vw,46px) auto 0; max-width:920px; padding:14px 20px; background:rgba(10,27,48,.78); border:1px solid rgba(224,163,60,.55); border-left:4px solid var(--v-ambar-v); color:#eef2f7; text-decoration:none; transition:background .25s; }
.oferta-tira:hover{ background:rgba(10,27,48,.92); }
.oferta-tira__t{ font-size:.98rem; } .oferta-tira__t b{ color:var(--v-ambar-v); font-weight:600; }
.reloj{ display:inline-flex; gap:8px; font-family:var(--v-dato); }
.reloj span{ display:inline-flex; flex-direction:column; align-items:center; min-width:46px; padding:6px 8px; background:rgba(238,242,247,.08); border:1px solid rgba(238,242,247,.2); }
.reloj b{ font-weight:500; font-size:1.15rem; line-height:1.1; color:#fff; font-variant-numeric:tabular-nums; } .reloj i{ font-style:normal; font-size:.5rem; letter-spacing:.14em; text-transform:uppercase; color:var(--v-ambar-v); }
.reloj--mini span{ min-width:38px; padding:4px 6px; background:var(--v-ink); border-color:var(--v-ink); } .reloj--mini b{ font-size:.95rem; }
.oferta-linea{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 6px; color:var(--v-ink); } .oferta-linea b{ color:var(--v-ambar); font-weight:600; }
[hidden]{ display:none; }
[data-oferta-activa][hidden],[data-oferta-fin][hidden],.suggest[hidden]{ display:none!important; }
/* tres productos */
.pc-grid{ display:grid; gap:20px; grid-template-columns:repeat(3,1fr); align-items:stretch; }
@media(max-width:900px){ .pc-grid{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; } }
.pc{ position:relative; display:flex; flex-direction:column; padding:30px 26px 28px; background:#fff; border:1px solid var(--v-linea); border-top:4px solid var(--cl,var(--v-ambar-v)); transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s; }
.pc:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -30px rgba(10,27,48,.5); }
.pc--a{ --cl:var(--v-a); } .pc--b{ --cl:var(--v-b); } .pc--c{ --cl:var(--v-c); }
.pc--destacada{ background:var(--v-ink); color:#eef2f7; border-color:var(--v-ink); border-top-color:var(--v-ambar-v); box-shadow:0 30px 60px -34px rgba(10,27,48,.7); }
@media(min-width:901px){ .pc--destacada{ transform:translateY(-14px); } .pc--destacada:hover{ transform:translateY(-20px); } }
.pc__cinta{ position:absolute; top:-1px; right:20px; padding:6px 12px; background:var(--v-ambar-v); color:var(--v-ink); font-family:var(--v-dato); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; }
.pc__l{ display:grid; place-items:center; width:44px; height:44px; border:1.5px solid var(--cl); color:var(--cl); font-size:1.2rem; margin-bottom:14px; }
.pc--destacada .pc__l{ color:var(--v-ambar-v); border-color:var(--v-ambar-v); }
.pc__t{ font-family:var(--v-display); font-weight:500; font-size:1.7rem; margin:0 0 4px; color:inherit; }
.pc__d{ margin:0 0 18px; font-size:.92rem; color:var(--v-tinta2); } .pc--destacada .pc__d{ color:#c3cedd; }
.pc__p{ margin:0 0 20px; display:flex; flex-direction:column; }
.pc__p .dato{ font-family:var(--v-display)!important; font-weight:400; font-size:3rem; line-height:1; letter-spacing:-.02em; color:var(--cl); } .pc--destacada .pc__p .dato{ color:#fff; }
.pc__p small{ font-family:var(--v-dato); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--v-tinta2); margin-top:6px; } .pc--destacada .pc__p small{ color:#9fb0cc; }
.pc__ul{ list-style:none; margin:0 0 24px; padding:0; flex:1; }
.pc__ul li{ position:relative; padding:9px 0 9px 24px; border-top:1px solid var(--v-linea); font-size:.94rem; line-height:1.45; }
.pc--destacada .pc__ul li{ border-top-color:rgba(238,242,247,.16); }
.pc__ul li::before{ content:"✓"; position:absolute; left:0; top:9px; color:var(--cl); font-weight:700; } .pc--destacada .pc__ul li::before{ color:var(--v-ambar-v); }
.pc__ul b{ font-weight:600; }
.pc__b{ width:100%; justify-content:center; }
.pc--destacada .pc__b{ background:var(--v-ambar-v)!important; color:var(--v-ink)!important; border-color:var(--v-ambar-v)!important; } .pc--destacada .pc__b:hover{ background:#f0b84f!important; }
/* garantía */
.garantia{ display:flex; align-items:center; gap:24px; max-width:860px; margin:clamp(40px,5vw,60px) auto 0; padding:26px 28px; background:var(--v-tenue); border:1px solid var(--v-linea); border-left:4px solid var(--v-b); }
.garantia__sello{ flex:none; display:grid; place-items:center; width:88px; height:88px; border:2px solid var(--v-b); border-radius:50%; color:var(--v-b); text-align:center; font-size:.68rem; letter-spacing:.1em; line-height:1.3; font-weight:500; transform:rotate(-8deg); }
.garantia h3{ margin:0 0 6px; font-size:1.3rem; } .garantia p{ margin:0; color:var(--v-tinta2); font-size:.96rem; }
@media(max-width:560px){ .garantia{ flex-direction:column; align-items:flex-start; } }
/* preguntas frecuentes */
.faq{ border-top:1px solid var(--v-linea); }
.faq details{ border-bottom:1px solid var(--v-linea); }
.faq summary{ cursor:pointer; list-style:none; padding:20px 36px 20px 0; font-family:var(--v-display); font-weight:500; font-size:1.15rem; position:relative; color:var(--v-ink); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-family:var(--v-dato); font-size:1.3rem; color:var(--v-ambar); transition:transform .3s; }
.faq details[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.faq details p{ margin:0 0 22px; color:var(--v-tinta2); max-width:62ch; }
.candado{ padding:34px 30px; border:1px solid var(--v-linea); border-left:4px solid var(--v-ambar-v); background:var(--v-tenue); margin-top:24px; }
.candado b{ font-family:var(--v-display); font-weight:500; font-size:1.4rem; display:block; margin-bottom:8px; } .candado p{ color:var(--v-tinta2); margin:0 0 14px; } .candado .btn{ margin:4px 8px 0 0; }
body:not([data-app]) .free-c-badge{ background:rgba(31,93,63,.45)!important; color:#d9f3e6!important; border:1px solid rgba(217,243,230,.45)!important; }

/* ══ ÍCONOS PROPIOS (img/iconos.svg) ═════════════════════════════════ */
.ic{ width:1.15em; height:1em; display:inline-block; vertical-align:-.14em; fill:currentColor; --ic2:var(--v-ambar-v); }

/* ══ DESCARGAS: buscador de manual ══════════════════════════════════ */
.dlx{ max-width:1100px; margin:0 auto; padding:clamp(28px,4vw,56px) 24px clamp(60px,8vw,110px); }
.dlx__ic{ display:grid; place-items:center; width:64px; height:56px; color:var(--v-ink2); flex:none; --ic2:var(--v-ambar); } .dlx__ic .ic{ width:100%; height:100%; }
.dlx__ic--grande{ width:96px; height:84px; }
/* manual federal: banda oscura destacada */
.dlx__federal{ display:flex; align-items:center; gap:clamp(18px,3vw,36px); padding:clamp(22px,3vw,34px); background:var(--v-ink); color:#eef2f7; border-top:3px solid var(--v-ambar-v); margin-top:-48px; position:relative; z-index:3; box-shadow:0 30px 60px -34px rgba(10,27,48,.7); }
.dlx__federal .dlx__ic{ color:#fff; --ic2:var(--v-ambar-v); }
.dlx__fed-txt{ flex:1; } .dlx__fed-txt h2{ font-family:var(--v-display); font-weight:400; font-size:clamp(1.5rem,3vw,2.2rem); color:#fff; margin:6px 0; }
.dlx__fed-txt p{ margin:0; color:#c3cedd; max-width:52ch; } .dlx__federal .etiqueta{ color:var(--v-ambar-v); margin:0; }
.dlx__fed-btn{ white-space:nowrap; gap:10px; } .dlx__fed-btn .ic{ width:1.3em; height:1.1em; --ic2:var(--v-ink); color:#fff; }
@media(max-width:760px){ .dlx__federal{ flex-direction:column; align-items:flex-start; margin-top:-30px; } .dlx__fed-btn{ width:100%; } }
/* los dos pasos */
.dlx__buscador{ margin-top:clamp(40px,6vw,72px); }
.dlx__paso{ display:grid; grid-template-columns:64px 1fr; gap:6px 22px; padding:0 0 clamp(34px,5vw,56px); position:relative; }
.dlx__paso + .dlx__paso{ padding-top:0; }
.dlx__paso::before{ content:""; position:absolute; left:23px; top:54px; bottom:6px; width:1px; background:var(--v-linea); }
.dlx__paso:last-child::before{ display:none; }
.dlx__num{ display:grid; place-items:center; width:48px; height:48px; border:1.5px solid var(--v-ink); font-family:var(--v-display); font-size:1.5rem; color:var(--v-ink); background:#fff; position:relative; z-index:1; }
.dlx__paso-c h2{ font-family:var(--v-display); font-weight:400; font-size:clamp(1.5rem,2.6vw,2rem); margin:4px 0 14px; color:var(--v-ink); }
.dlx__estado{ display:flex; align-items:center; gap:14px; max-width:520px; padding:0 18px; background:#fff; border:1.5px solid var(--v-ink); transition:box-shadow .2s,border-color .2s; }
.dlx__estado:focus-within{ box-shadow:0 0 0 4px rgba(224,163,60,.35); border-color:var(--v-ambar); }
.dlx__estado .ic{ width:28px; height:30px; color:var(--v-ink2); --ic2:var(--v-ambar-v); flex:none; }
.dlx__estado select{ flex:1; border:0!important; box-shadow:none!important; background:transparent; padding:18px 4px; font-size:1.08rem; color:var(--v-ink); cursor:pointer; min-width:0; }
.dlx__ayuda{ font-size:.9rem; color:var(--v-tinta2); margin:12px 0 0; max-width:60ch; } .dlx__ayuda a{ color:var(--v-ambar); }
/* manuales por licencia */
.dlx__lista{ list-style:none; margin:0; padding:0; border-top:1px solid var(--v-linea); }
.dlx__m{ --cl:var(--v-a); display:grid; grid-template-columns:auto 1fr auto auto; gap:6px 20px; align-items:center; padding:20px 12px 20px 18px; border-bottom:1px solid var(--v-linea); position:relative; transition:background .3s,padding-left .3s; }
.dlx__m--b{ --cl:var(--v-b); } .dlx__m--c{ --cl:var(--v-c); }
.dlx__m::before{ content:""; position:absolute; left:0; top:22%; bottom:22%; width:3px; background:var(--cl); transition:top .3s,bottom .3s; }
.dlx__m:hover,.dlx__m.lista{ background:color-mix(in srgb,var(--cl) 6%,transparent); } .dlx__m:hover::before,.dlx__m.lista::before{ top:0; bottom:0; }
.dlx__m .dlx__ic{ color:var(--cl); } .dlx__m-txt h3{ font-family:var(--v-display); font-weight:500; font-size:1.2rem; margin:0 0 2px; color:var(--v-ink); } .dlx__m-txt p{ margin:0; color:var(--v-tinta2); font-size:.92rem; }
.dlx__badge{ font-family:var(--v-dato); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; padding:5px 9px; border:1px solid var(--v-linea); color:var(--v-tinta2); white-space:nowrap; }
.dlx__badge.listo{ color:var(--v-b); border-color:var(--v-b); }
@media(max-width:700px){ .dlx__m{ grid-template-columns:auto 1fr; } .dlx__badge{ grid-column:2; justify-self:start; } .dlx__m .btn{ grid-column:1/-1; width:100%; } }
/* siguiente paso */
.dlx__siguiente{ padding:clamp(36px,5vw,60px) 0; border-top:1px solid var(--v-linea); } .dlx__siguiente h2{ font-family:var(--v-display); font-weight:400; font-size:clamp(1.6rem,3vw,2.3rem); margin:4px 0 24px; color:var(--v-ink); }
.dlx__sig-grid{ display:grid; gap:16px; grid-template-columns:repeat(3,1fr); } @media(max-width:860px){ .dlx__sig-grid{ grid-template-columns:1fr; } }
.dlx__sig{ display:flex; align-items:center; gap:16px; padding:22px 20px; background:var(--v-tenue); border:1px solid var(--v-linea); border-top:3px solid var(--v-ambar-v); text-decoration:none; color:inherit; transition:transform .3s,background .3s,border-color .3s; position:relative; }
.dlx__sig:hover{ transform:translateY(-5px); background:#fff; border-color:var(--v-ink2); }
.dlx__sig:nth-child(2){ border-top-color:var(--v-b); } .dlx__sig:nth-child(3){ border-top-color:var(--v-c); }
.dlx__sig b{ display:block; font-family:var(--v-display); font-weight:500; font-size:1.12rem; color:var(--v-ink); margin-bottom:3px; } .dlx__sig i{ font-style:normal; font-size:.88rem; color:var(--v-tinta2); line-height:1.45; display:block; }
.dlx__sig .dlx__ic{ width:48px; height:44px; } .dlx__go{ width:22px!important; height:22px!important; color:var(--v-ink); margin-left:auto; flex:none; transition:transform .3s; } .dlx__sig:hover .dlx__go{ transform:translateX(5px); }
/* libro recomendado */
.dlx__libro{ display:flex; gap:clamp(18px,3vw,36px); align-items:center; padding:clamp(22px,3vw,34px); border:1px solid var(--v-linea); background:#fffaf0; border-left:4px solid var(--v-ambar-v); }
.dlx__libro h3{ font-family:var(--v-display); font-weight:500; font-size:1.4rem; margin:6px 0 8px; color:var(--v-ink); } .dlx__libro p{ margin:0 0 8px; color:var(--v-tinta2); font-size:.94rem; max-width:62ch; } .dlx__libro small{ display:block; margin-top:10px; color:#8a97ac; font-size:.75rem; } .dlx__libro .dlx__ic{ color:var(--v-ink2); }
@media(max-width:640px){ .dlx__libro{ flex-direction:column; align-items:flex-start; } }
.dlx .btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 26px; border:1px solid transparent; line-height:1; text-decoration:none; cursor:pointer; font-family:var(--v-dato)!important; font-size:.74rem!important; letter-spacing:.11em; text-transform:uppercase; transition:background .2s,color .2s,border-color .2s,transform .2s; border-radius:0!important; }
.dlx .btn--principal{ background:var(--v-ambar)!important; color:#fff!important; border-color:var(--v-ambar)!important; } .dlx .btn--principal:hover{ background:#7a4d07!important; border-color:#7a4d07!important; transform:translateY(-2px); }
.dlx__federal .btn--principal{ background:var(--v-ambar-v)!important; color:var(--v-ink)!important; border-color:var(--v-ambar-v)!important; } .dlx__federal .btn--principal:hover{ background:#f0b84f!important; border-color:#f0b84f!important; }
.dlx .btn--linea{ background:transparent; color:var(--v-ink); border-color:var(--v-ink); } .dlx .btn--linea:hover{ background:var(--v-ink); color:#fff; }
.dlx .etiqueta{ display:block; font-family:var(--v-dato); font-size:.62rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--v-ambar); margin:0 0 6px; }
.dlx__m .btn{ min-width:150px; }
.dlx,.dlx *{ box-sizing:border-box; }
@media(max-width:700px){
  .dlx{ padding-inline:16px; }
  .dlx__paso{ grid-template-columns:1fr; gap:10px; } .dlx__paso::before{ display:none; } .dlx__num{ width:40px; height:40px; font-size:1.2rem; }
  .dlx__m{ padding-right:0; } .dlx__m .btn{ min-width:0; }
  .dlx__estado{ max-width:none; }
}

/* planes: el efecto "chico, mediano y grande" — A y B cuestan lo mismo, A trae más */
.pc__vs{ margin:-8px 0 18px; padding:8px 12px; background:rgba(224,163,60,.18); border:1px solid rgba(224,163,60,.5); color:var(--v-ambar-v); font-family:var(--v-dato); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; line-height:1.4; }
.pc__ul li.no{ color:#9aa6ba; text-decoration:line-through; text-decoration-color:rgba(154,166,186,.7); } .pc__ul li.no::before{ content:"–"; color:#b6c0d1; font-weight:400; }
.pc--destacada .pc__cinta{ background:var(--v-ambar-v); }

/* ══ CLASS C: revisión del vehículo y señas ═══════════════════════ */
.rv{ max-width:1000px; margin:0 auto; padding:clamp(28px,4vw,56px) 24px clamp(60px,8vw,100px); }
.rv-grupo{ font-family:var(--v-dato); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--v-ambar); margin:0 0 14px; }
.rv-lista{ list-style:none; margin:0 0 clamp(36px,5vw,60px); padding:0; border-top:1px solid var(--v-linea); }
.rv-item{ display:grid; grid-template-columns:auto auto 1fr; gap:6px 20px; align-items:start; padding:22px 8px 22px 18px; border-bottom:1px solid var(--v-linea); position:relative; transition:background .3s; }
.rv-item::before{ content:""; position:absolute; left:0; top:24%; bottom:24%; width:3px; background:var(--v-ambar-v); transition:top .3s,bottom .3s; } .rv-item:hover{ background:rgba(224,163,60,.07); } .rv-item:hover::before{ top:0; bottom:0; }
.rv-item:nth-child(3n+2)::before{ background:var(--v-b); } .rv-item:nth-child(3n+3)::before{ background:var(--v-c); }
.rv-n{ font-family:var(--v-dato); font-size:.78rem; color:var(--v-ambar); padding-top:4px; }
.rv-ic{ width:54px; height:48px; color:var(--v-ink2); --ic2:var(--v-ambar); } .rv-ic .ic{ width:100%; height:100%; }
.rv-txt b{ display:block; font-family:var(--v-display); font-weight:500; font-size:1.3rem; color:var(--v-ink); margin-bottom:4px; }
.rv-txt span{ display:block; color:#34425e; max-width:66ch; } .rv-txt i{ display:block; margin-top:6px; color:var(--v-tinta2); font-size:.94rem; max-width:66ch; }
@media(max-width:620px){ .rv-item{ grid-template-columns:auto 1fr; } .rv-ic{ display:none; } }
.rv-senas{ display:grid; gap:clamp(24px,4vw,48px); grid-template-columns:1fr 1.3fr; align-items:start; padding-top:8px; } @media(max-width:860px){ .rv-senas{ grid-template-columns:1fr; } }
.rv-txt2 h2{ font-family:var(--v-display); font-weight:400; font-size:clamp(1.6rem,3vw,2.2rem); margin:0 0 12px; color:var(--v-ink); } .rv-txt2 p{ color:#34425e; margin:0 0 12px; }
.rv-senas-g{ display:grid; gap:14px; grid-template-columns:repeat(3,1fr); } @media(max-width:560px){ .rv-senas-g{ grid-template-columns:1fr; } }
.rv-sena{ margin:0; padding:16px 14px 18px; background:#fff; border:1px solid var(--v-linea); border-top:3px solid var(--v-ambar-v); } .rv-sena:nth-child(2){ border-top-color:var(--v-b); } .rv-sena:nth-child(3){ border-top-color:var(--v-e); }
.rv-brazo{ width:100%; height:auto; display:block; } .rv-brazo .p{ fill:var(--v-ink2); } .rv-brazo .v{ fill:#9fb0cc; } .rv-brazo .b path{ fill:none; stroke:var(--v-ambar); stroke-width:11; stroke-linecap:round; stroke-linejoin:round; } .rv-brazo .b circle{ fill:var(--v-ambar); }
.rv-sena figcaption b{ display:block; font-family:var(--v-display); font-weight:500; font-size:1.1rem; color:var(--v-ink); margin-top:8px; } .rv-sena figcaption span{ display:block; font-size:.9rem; color:#34425e; } .rv-sena figcaption i{ display:block; font-size:.84rem; color:var(--v-tinta2); margin-top:3px; }
.rv-candado{ padding:34px 30px; border:1px solid var(--v-linea); border-left:4px solid var(--v-ambar-v); background:var(--v-tenue); margin:24px 0; } .rv-candado b{ font-family:var(--v-display); font-weight:500; font-size:1.4rem; display:block; margin-bottom:8px; } .rv-candado p{ color:var(--v-tinta2); margin:0 0 14px; } .rv-candado .btn{ display:inline-flex; align-items:center; justify-content:center; padding:15px 26px; border:1px solid var(--v-ambar); text-decoration:none; font-family:var(--v-dato); font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; margin:4px 8px 0 0; } .rv-candado .btn--principal{ background:var(--v-ambar); color:#fff; } .rv-candado .btn--linea{ background:transparent; color:var(--v-ink); border-color:var(--v-ink); }
.rv-nota{ margin-top:clamp(30px,4vw,50px); padding:20px 22px; background:#fffaf0; border-left:4px solid var(--v-ambar-v); color:#34425e; font-size:.95rem; } .rv-nota a{ color:var(--v-ambar); }
.rv [hidden],.rv-candado[hidden]{ display:none!important; }

/* ── Class C: tarjetas con FOTO real (reemplazan a los íconos y dibujos) ── */
.rv-grid{ display:grid; gap:22px; grid-template-columns:repeat(3,1fr); margin-bottom:clamp(36px,5vw,60px); }
@media(max-width:900px){ .rv-grid{ grid-template-columns:repeat(2,1fr); } } @media(max-width:560px){ .rv-grid{ grid-template-columns:1fr; } }
.rv-card{ margin:0; background:#fff; border:1px solid var(--v-linea); border-top:3px solid var(--v-ambar-v); overflow:hidden; display:flex; flex-direction:column; transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s; }
.rv-card:nth-child(3n+2){ border-top-color:var(--v-b); } .rv-card:nth-child(3n+3){ border-top-color:var(--v-c); }
.rv-card:hover{ transform:translateY(-6px); box-shadow:0 28px 50px -34px rgba(10,27,48,.55); }
.rv-foto{ position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--v-ink); }
.rv-foto img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.8,.2,1); } .rv-card:hover .rv-foto img{ transform:scale(1.07); }
.rv-num{ position:absolute; left:0; bottom:0; padding:9px 14px; background:var(--v-ink); color:#eef2f7; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; border-top:2px solid var(--v-ambar-v); }
.rv-cuerpo{ padding:18px 18px 22px; flex:1; } .rv-cuerpo h3{ font-family:var(--v-display); font-weight:500; font-size:1.25rem; margin:0 0 6px; color:var(--v-ink); line-height:1.2; }
.rv-cuerpo p{ margin:0 0 6px; color:#34425e; font-size:.95rem; line-height:1.5; } .rv-cuerpo p.es{ font-style:italic; color:var(--v-tinta2); font-size:.88rem; }
.rv-senas--col{ display:block; } .rv-senas--col .rv-txt2{ max-width:70ch; margin-bottom:26px; }
.rv-grid--3{ grid-template-columns:repeat(3,1fr); } @media(max-width:760px){ .rv-grid--3{ grid-template-columns:1fr; } }
.rv-sena .rv-foto{ aspect-ratio:4/3; } .rv-sena .rv-cuerpo{ padding-top:14px; }
.rv [data-gate][hidden]{ display:none!important; }

/* ══ DESCARGAS con fotos reales (reemplaza los íconos de camión) ═════ */
.dlx__federal{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:0; padding:0; align-items:stretch; overflow:hidden; }
.dlx__fed-foto{ position:relative; min-height:260px; background:var(--v-ink); } .dlx__fed-foto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.4s cubic-bezier(.2,.8,.2,1); }
.dlx__federal:hover .dlx__fed-foto img{ transform:scale(1.05); }
.dlx__fed-txt{ padding:clamp(24px,3.4vw,44px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:6px; }
.dlx__fed-txt .dlx__fed-btn{ margin-top:16px; }
@media(max-width:760px){ .dlx__federal{ grid-template-columns:1fr; margin-top:-30px; } .dlx__fed-foto{ min-height:200px; } .dlx__fed-btn{ width:100%; } }
.dlx__cards{ display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }
@media(max-width:900px){ .dlx__cards{ grid-template-columns:1fr; max-width:520px; } }
.dlx__cards .dlx__m{ display:flex; flex-direction:column; padding:0; border:1px solid var(--v-linea); border-top:4px solid var(--cl); background:#fff; overflow:hidden; transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s; }
.dlx__cards .dlx__m::before{ display:none; }
.dlx__cards .dlx__m:hover{ transform:translateY(-6px); box-shadow:0 28px 50px -34px rgba(10,27,48,.55); background:#fff; }
.dlx__cards .dlx__m.lista{ border-color:var(--cl); box-shadow:0 0 0 2px var(--cl); background:#fff; }
.dlx__foto{ position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--v-ink); } .dlx__foto img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.8,.2,1); }
.dlx__cards .dlx__m:hover .dlx__foto img,.dlx__sig:hover .dlx__foto img{ transform:scale(1.07); }
.dlx__letra{ position:absolute; left:0; bottom:0; width:46px; height:46px; display:grid; place-items:center; background:var(--cl); color:#fff; font-family:var(--v-display); font-size:1.5rem; }
.dlx__m-cuerpo{ padding:18px 18px 22px; display:flex; flex-direction:column; gap:8px; flex:1; align-items:flex-start; }
.dlx__m-cuerpo h3{ font-family:var(--v-display); font-weight:500; font-size:1.25rem; margin:0; color:var(--v-ink); line-height:1.2; } .dlx__m-cuerpo p{ margin:0; color:var(--v-tinta2); font-size:.94rem; flex:1; }
.dlx__m-cuerpo .btn{ width:100%; margin-top:6px; } .dlx__m-cuerpo .btn .ic{ width:1.3em; height:1.1em; color:#fff; --ic2:var(--v-ambar-v); }
.dlx__m .dlx__ic{ display:none; }
/* siguiente paso: tarjetas con foto */
.dlx__sig{ display:flex; flex-direction:column; align-items:stretch; padding:0; gap:0; background:#fff; border:1px solid var(--v-linea); border-top:3px solid var(--v-ambar-v); overflow:hidden; }
.dlx__sig:nth-child(2){ border-top-color:var(--v-b); } .dlx__sig:nth-child(3){ border-top-color:var(--v-c); }
.dlx__sig .dlx__foto{ aspect-ratio:16/10; }
.dlx__sig-t{ padding:16px 18px 20px; display:flex; flex-direction:column; gap:6px; flex:1; } .dlx__sig-t b{ margin:0; } .dlx__sig-t i{ flex:1; }
.dlx__ir{ display:inline-flex; align-items:center; gap:8px; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--v-ambar); margin-top:6px; } .dlx__ir .ic{ width:16px; height:16px; color:var(--v-ambar); transition:transform .3s; } .dlx__sig:hover .dlx__ir .ic{ transform:translateX(5px); }
.dlx__libro{ border-left-color:var(--v-ambar-v); }
body .dlx__fed-txt h2{ color:#fff!important; }

/* ══ GENERAL KNOWLEDGE: práctica de opción múltiple ═══════════════ */
.gkq{ max-width:860px; margin:0 auto; padding:clamp(24px,4vw,44px) 20px clamp(60px,8vw,100px); }
.gkq__barra{ display:flex; justify-content:space-between; font-family:var(--v-dato); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--v-tinta2); margin-bottom:10px; } #gk-pts{ color:var(--v-b); }
.gkq__prog{ margin-bottom:18px; background:rgba(10,27,48,.12); }
.gkq .qcard{ box-shadow:0 30px 60px -44px rgba(10,27,48,.5); }
.gkq__nav{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:18px; }
.gkq .nav-next{ position:static; background:var(--v-ambar); border:1px solid var(--v-ambar); color:#fff; min-height:50px; padding:0 28px; cursor:pointer; font-family:var(--v-dato); font-size:.74rem; letter-spacing:.11em; text-transform:uppercase; } .gkq .nav-next:disabled{ opacity:.4; cursor:not-allowed; } .gkq .nav-next:not(:disabled):hover{ background:#7a4d07; }
.gkq__salir{ background:none; border:0; color:var(--v-tinta2); cursor:pointer; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:underline; }
.gkq__score{ text-align:center; padding:34px 20px; border:1px solid var(--v-linea); border-top:5px solid var(--v-ambar-v); background:#fff; margin-bottom:22px; }
.gkq__score b{ display:block; font-family:var(--v-display); font-weight:400; font-size:clamp(3.4rem,10vw,5.4rem); line-height:1; color:var(--v-ink); } .gkq__score span{ display:block; margin-top:8px; color:var(--v-tinta2); } .gkq__score i{ display:block; margin-top:12px; font-style:normal; font-family:var(--v-dato); font-size:.7rem; letter-spacing:.16em; }
.gkq__score.ok{ border-top-color:var(--v-b); } .gkq__score.ok b,.gkq__score.ok i{ color:var(--v-b); } .gkq__score.mal{ border-top-color:var(--v-e); } .gkq__score.mal b,.gkq__score.mal i{ color:var(--v-e); }
.gkq__acc{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:34px; }
.gkq .btn{ display:inline-flex; align-items:center; justify-content:center; padding:15px 26px; border:1px solid transparent; text-decoration:none; cursor:pointer; font-family:var(--v-dato)!important; font-size:.72rem!important; letter-spacing:.11em; text-transform:uppercase; border-radius:0!important; }
.gkq .btn--principal{ background:var(--v-ambar)!important; color:#fff!important; border-color:var(--v-ambar)!important; } .gkq .btn--linea{ background:transparent; color:var(--v-ink); border-color:var(--v-ink); } .gkq .btn--linea:hover{ background:var(--v-ink); color:#fff; }
.gkq__fin h2{ font-family:var(--v-display); font-weight:400; font-size:1.7rem; margin:0 0 16px; color:var(--v-ink); text-transform:none; }
.gkq__falladas{ display:grid; gap:14px; } .gkq__falladas article{ background:#fff; border:1px solid var(--v-linea); border-left:4px solid var(--v-e); padding:16px 18px; } .gkq__falladas b{ display:block; font-family:var(--v-display); font-weight:500; font-size:1.1rem; color:var(--v-ink); margin-bottom:6px; } .gkq__falladas .c{ display:block; color:var(--v-b); font-weight:600; margin-bottom:6px; } .gkq__falladas p{ margin:0; color:#34425e; font-size:.94rem; }
.gkq__todas{ margin-top:clamp(40px,6vw,70px); border-top:1px solid var(--v-linea); } .gkq__todas summary{ cursor:pointer; padding:20px 0; font-family:var(--v-display); font-size:1.2rem; color:var(--v-ink); }
.gkq__lista .gk-q{ padding:20px 0; border-bottom:1px solid var(--v-linea); } .gkq__lista .gk-n{ font-family:var(--v-dato); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--v-ambar); } .gkq__lista .gk-en{ font-family:var(--v-display)!important; font-weight:500!important; font-size:1.15rem!important; margin:4px 0!important; } .gkq__lista .gk-es,.gkq__lista .gk-a-es{ color:var(--v-tinta2); font-size:.92rem; margin:2px 0; }
.gkq__lista .gk-a{ background:#eaf4ee; border-left:4px solid var(--v-b); padding:10px 14px; margin:10px 0; } .gkq__lista .gk-a-lab{ font-family:var(--v-dato); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--v-b); } .gkq__lista .gk-a-txt{ margin:2px 0; font-weight:600; } .gkq__lista .gk-why p{ color:#34425e; font-size:.92rem; } .gkq__lista .gk-fed{ font-family:var(--v-dato); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:#7a4d07; }
.gkq [hidden]{ display:none!important; }
/* el re-vestido global de botones (mono, mayúsculas) no debe tocar las opciones de respuesta */
body .gkq .opt-btn,body .gkq .opt-btn *{ font-family:var(--v-texto)!important; text-transform:none!important; letter-spacing:0!important; }
body .gkq .opt-btn{ font-size:1.08rem!important; } body .gkq .opt-btn .opt-letter{ font-family:var(--v-dato)!important; } body .gkq .opt-btn .opt-es{ font-size:.92rem; }
body .gkq .opt-btn .opt-mark{ font-family:var(--v-texto)!important; }

/* ══ VIDEO DE VENTAS ═══════════════════════════════════════════════ */
.vvideo{ background:var(--v-ink)!important; color:#eef2f7; } .vvideo .display{ color:#fff!important; } .vvideo .etiqueta{ color:var(--v-ambar-v)!important; background:transparent!important; border:0!important; }
.vvideo__marco{ max-width:960px; margin:0 auto; border:1px solid rgba(238,242,247,.18); border-top:4px solid var(--v-ambar-v); box-shadow:0 40px 80px -40px rgba(0,0,0,.8); background:#000; }
.vvideo__marco video{ display:block; width:100%; height:auto; aspect-ratio:16/9; background:#000; }
.vvideo__ctl{ max-width:960px; margin:18px auto 0; display:flex; flex-wrap:wrap; gap:14px 34px; justify-content:center; }
.vvideo__ctl > div{ display:flex; align-items:center; gap:8px; } .vvideo__ctl span{ font-family:var(--v-dato); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:#9fb0cc; margin-right:6px; }
.vvideo__ctl button{ background:transparent; border:1px solid rgba(238,242,247,.4); color:#eef2f7; padding:10px 16px; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border-radius:0; transition:background .2s,color .2s,border-color .2s; min-height:44px; }
.vvideo__ctl button:hover{ border-color:#fff; } .vvideo__ctl button.on{ background:var(--v-ambar-v); border-color:var(--v-ambar-v); color:var(--v-ink); }
.vvideo__nota{ text-align:center; margin:20px auto 0; max-width:60ch; font-size:.82rem; color:#8fa2c6; }
video::cue{ font-family:var(--v-texto); font-size:1.15em; background:rgba(5,12,24,.78); color:#fff; }

/* ══ ACCESO: login y registro rediseñados ═════════════════════════ */
body.auth-body .auth-split{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); min-height:100vh; background:var(--v-tenue); }
@media(max-width:900px){ body.auth-body .auth-split{ grid-template-columns:1fr; } body.auth-body .auth-left{ display:none!important; } }
body.auth-body .auth-left{ min-height:100vh; padding:clamp(32px,5vw,64px)!important; display:flex!important; flex-direction:column; justify-content:flex-end; gap:30px; }
body.auth-body .auth-left .brand-lg{ position:absolute; top:clamp(28px,4vw,48px); left:clamp(32px,5vw,64px); font-family:var(--v-display)!important; font-size:1.5rem!important; font-weight:500; text-transform:none; letter-spacing:.01em; color:#fff!important; text-decoration:none; }
body.auth-body .auth-left .brand-tag{ font-size:clamp(2.2rem,4vw,3.4rem)!important; max-width:11ch; margin:0; }
body.auth-body .auth-left .brand-join{ font-family:var(--v-dato); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--v-ambar-v); margin:-12px 0 0; }
body.auth-body .auth-left .brand-bullets{ list-style:none; margin:0; padding:0; max-width:420px; }
body.auth-body .auth-left .brand-bullets li{ display:flex; align-items:center; gap:14px; padding:14px 0; font-size:1.02rem; border-top:1px solid rgba(238,242,247,.22); }
body.auth-body .auth-left .brand-bullets svg{ width:26px; height:26px; flex:none; fill:none; stroke-width:1.8; }

body.auth-body .auth-right{ display:grid!important; place-items:center; padding:clamp(28px,5vw,64px) clamp(20px,4vw,48px)!important; background:radial-gradient(700px 360px at 100% 0,rgba(224,163,60,.16),transparent 70%),var(--v-tenue)!important; }
body.auth-body .auth-card{ width:100%; max-width:480px; background:#fff; padding:clamp(28px,4vw,46px) clamp(24px,4vw,44px) clamp(24px,3vw,34px)!important; border:1px solid var(--v-linea); border-top:4px solid var(--v-ambar-v); box-shadow:0 40px 80px -50px rgba(10,27,48,.5)!important; }
body.auth-body .auth-back{ display:inline-flex; align-items:center; gap:8px; font-family:var(--v-dato); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--v-tinta2); text-decoration:none; margin-bottom:28px; transition:color .2s; } body.auth-body .auth-back:hover{ color:var(--v-ambar); } body.auth-body .auth-back svg{ width:16px; height:16px; }
body.auth-body .mobile-logo{ display:none; font-family:var(--v-display)!important; font-weight:500; color:var(--v-ink)!important; text-decoration:none; margin-bottom:18px; font-size:1.3rem; text-transform:none; } @media(max-width:900px){ body.auth-body .mobile-logo{ display:inline-block; } }
body.auth-body .auth-title{ font-family:var(--v-display)!important; font-weight:400!important; font-size:clamp(2rem,4vw,2.7rem)!important; line-height:1.04!important; letter-spacing:-.02em!important; color:var(--v-ink)!important; margin:0 0 4px!important; text-transform:none!important; }
body.auth-body .auth-es{ display:block; font-family:var(--v-texto)!important; font-style:italic; font-weight:400; font-size:1.15rem!important; letter-spacing:0!important; color:var(--v-tinta2)!important; margin-top:6px; }
body.auth-body .auth-sub{ color:var(--v-tinta2)!important; font-size:.95rem!important; line-height:1.55; margin:14px 0 28px!important; }
body.auth-body .field{ margin-bottom:18px!important; }
body.auth-body .field label{ display:block; font-family:var(--v-dato)!important; font-size:.62rem!important; letter-spacing:.14em!important; text-transform:uppercase!important; color:var(--v-ink)!important; margin-bottom:8px!important; font-weight:500!important; }
body.auth-body .field input[type=text],body.auth-body .field input[type=email],body.auth-body .field input[type=password],body.auth-body .field select{ width:100%; height:54px; padding:0 16px; border:1.5px solid rgba(10,27,48,.28)!important; background:#fff; font-family:var(--v-texto); font-size:1rem; color:var(--v-ink); transition:border-color .2s,box-shadow .2s; }
body.auth-body .field input:focus,body.auth-body .field select:focus{ border-color:var(--v-ambar)!important; box-shadow:0 0 0 4px rgba(224,163,60,.3)!important; outline:none; }
body.auth-body .input-wrap{ position:relative; } body.auth-body .input-wrap input{ padding-right:54px!important; }
body.auth-body .pw-toggle{ position:absolute; right:4px; top:50%; transform:translateY(-50%); width:46px; height:46px; display:grid; place-items:center; background:none; border:0; color:var(--v-tinta2); cursor:pointer; } body.auth-body .pw-toggle:hover{ color:var(--v-ink); } body.auth-body .pw-toggle svg{ width:20px; height:20px; }
body.auth-body .err-msg{ color:var(--v-e)!important; font-size:.82rem!important; margin-top:6px; }
body.auth-body .field.error input,body.auth-body .field.has-error input{ border-color:var(--v-e)!important; }
body.auth-body .row-between{ display:flex; justify-content:space-between; align-items:center; gap:12px 20px; flex-wrap:wrap; margin:4px 0 24px!important; }
body.auth-body .check{ display:flex!important; align-items:center; gap:10px; font-size:.88rem; color:var(--v-tinta2); cursor:pointer; line-height:1.4; }
body.auth-body .check input[type=checkbox]{ width:20px; height:20px; flex:none; accent-color:var(--v-ambar); margin:0; }
body.auth-body .link-gold{ color:var(--v-ambar)!important; font-size:.85rem; text-decoration:underline; text-underline-offset:3px; font-weight:500; } body.auth-body .link-gold:hover{ color:#7a4d07!important; }
body.auth-body .btn-primary{ width:100%; height:56px; background:var(--v-ambar)!important; color:#fff!important; border:0; font-family:var(--v-dato)!important; font-size:.76rem!important; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background .2s,transform .2s; border-radius:0!important; } body.auth-body .btn-primary:hover{ background:#7a4d07!important; transform:translateY(-2px); }
body.auth-body .terms{ margin:6px 0 20px!important; } body.auth-body .terms a{ color:var(--v-ambar); text-decoration:underline; }
body.auth-body .divider{ display:flex; align-items:center; gap:14px; margin:22px 0; font-family:var(--v-dato); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--v-tinta2); } body.auth-body .divider::before,body.auth-body .divider::after{ content:""; flex:1; height:1px; background:var(--v-linea); }
body.auth-body .btn-google{ width:100%; height:54px; display:flex; align-items:center; justify-content:center; gap:12px; background:#fff; border:1.5px solid rgba(10,27,48,.28); font-family:var(--v-texto); font-size:.98rem; cursor:pointer; border-radius:0; transition:border-color .2s; } body.auth-body .btn-google:hover{ border-color:var(--v-ink); }
body.auth-body .auth-foot{ margin:26px 0 0!important; padding-top:20px; border-top:1px solid var(--v-linea); text-align:center; font-size:.9rem!important; color:var(--v-tinta2)!important; line-height:1.6; }
body.auth-body .auth-foot a{ color:var(--v-ink)!important; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media(min-width:560px){ body.auth-body #registerForm{ display:grid; grid-template-columns:1fr 1fr; column-gap:16px; } body.auth-body #registerForm .field{ grid-column:1/-1; } body.auth-body #registerForm #f-goal,body.auth-body #registerForm #f-state{ grid-column:auto; } body.auth-body #registerForm .terms,body.auth-body #registerForm .btn-primary{ grid-column:1/-1; } }
body.auth-body #registerForm #f-goal,body.auth-body #registerForm #f-state{ grid-column:1/-1!important; }
body.auth-body .field.terms label.check,body.auth-body .field.terms label.check *{ font-family:var(--v-texto)!important; text-transform:none!important; letter-spacing:0!important; font-size:.9rem!important; color:var(--v-tinta2)!important; }
body.auth-body .field.terms a{ color:var(--v-ambar)!important; text-decoration:underline; }
body.auth-body .btn-primary{ font-size:.72rem!important; letter-spacing:.1em!important; line-height:1.3; padding:0 14px; }
@media(max-width:900px){ body.auth-body .auth-left{ display:none!important; } body.auth-body .auth-right{ min-height:100vh; align-items:start; padding-top:28px!important; } }

/* ══ CARRITO rediseñado ════════════════════════════════════════════ */
body:not([data-app]) .crumb{ max-width:1180px; margin:0 auto; padding:22px 24px 0; border:0!important; } body:not([data-app]) .crumb span{ margin:0 12px; opacity:.5; }
.cart-grid{ display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:clamp(24px,3.4vw,48px); max-width:1180px; margin:0 auto; padding:18px 24px clamp(50px,6vw,80px); align-items:start; }
@media(max-width:960px){ .cart-grid{ grid-template-columns:1fr; } }
.col-head{ display:flex; align-items:baseline; gap:14px; margin:10px 0 22px; } .col-head h1{ font-family:var(--v-display)!important; font-weight:400!important; font-size:clamp(2rem,4vw,3rem)!important; margin:0!important; color:var(--v-ink); letter-spacing:-.02em; } .col-head .count{ font-family:var(--v-dato); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--v-tinta2); }
.cart-item{ display:grid!important; grid-template-columns:190px minmax(0,1fr) auto auto; gap:0 22px; align-items:center; background:#fff!important; border:1px solid var(--v-linea)!important; border-top:4px solid var(--v-ambar-v)!important; border-radius:0!important; box-shadow:none!important; padding:0!important; overflow:hidden; margin-bottom:14px; }
.ci-ico{ width:190px; height:132px; border-radius:0!important; background:var(--v-ink)!important; overflow:hidden; display:block!important; padding:0!important; } .ci-ico img{ width:100%; height:100%; object-fit:cover; display:block; } .ci-ico svg{ margin:40px auto; display:block; color:#fff; }
.ci-body{ padding:16px 0; min-width:0; } .ci-body h3{ font-family:var(--v-display)!important; font-weight:500!important; font-size:1.45rem!important; margin:0 0 6px!important; color:var(--v-ink); text-transform:none!important; } .ci-body p{ margin:0; color:var(--v-tinta2); font-size:.9rem; line-height:1.5; }
.ci-price{ font-family:var(--v-display)!important; font-weight:400!important; font-size:2rem!important; color:var(--v-ink)!important; letter-spacing:-.02em; }
.ci-remove{ width:48px; height:48px; align-self:start; margin:10px 10px 0 0; background:none; border:0; color:var(--v-tinta2); cursor:pointer; font-size:1.1rem; transition:color .2s; } .ci-remove:hover{ color:var(--v-e); }
@media(max-width:700px){ .cart-item{ grid-template-columns:110px minmax(0,1fr); gap:0 14px; } .ci-ico{ width:110px; height:100%; min-height:130px; grid-row:1/3; } .ci-price{ grid-column:2; padding:0 14px 14px 0; } .ci-remove{ position:absolute; right:0; top:0; margin:0; } .cart-item{ position:relative; } .ci-body{ padding:14px 40px 4px 0; } }
.cart-empty{ padding:40px 24px; background:#fff; border:1px solid var(--v-linea); text-align:center; color:var(--v-tinta2); }
.continue-link{ display:inline-flex; align-items:center; gap:8px; font-family:var(--v-dato); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--v-ambar)!important; text-decoration:none; margin:8px 0 28px; }
.cart-incluye{ padding:24px 26px; background:var(--v-tenue); border:1px solid var(--v-linea); border-left:4px solid var(--v-b); margin-bottom:18px; }
.etiqueta-c{ display:block; font-family:var(--v-dato); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--v-ambar); margin-bottom:12px; }
.cart-incluye ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; } .cart-incluye li{ position:relative; padding-left:26px; color:#34425e; font-size:.96rem; } .cart-incluye li::before{ content:"✓"; position:absolute; left:0; color:var(--v-b); font-weight:700; } .cart-incluye li b{ color:var(--v-ink); font-weight:600; }
.cart-garantia{ display:flex; align-items:center; gap:22px; padding:22px 26px; background:#fff; border:1px solid var(--v-linea); border-left:4px solid var(--v-ambar-v); } .cart-garantia .sello{ flex:none; display:grid; place-items:center; width:78px; height:78px; border:2px solid var(--v-b); border-radius:50%; color:var(--v-b); text-align:center; font-family:var(--v-dato); font-size:.62rem; letter-spacing:.1em; line-height:1.3; transform:rotate(-8deg); } .cart-garantia b{ font-family:var(--v-display); font-weight:500; font-size:1.2rem; color:var(--v-ink); } .cart-garantia p{ margin:4px 0 0; color:var(--v-tinta2); font-size:.9rem; }
/* resumen oscuro */
.summary{ background:var(--v-ink)!important; color:#eef2f7; padding:clamp(24px,3vw,34px)!important; border:0!important; border-top:4px solid var(--v-ambar-v)!important; border-radius:0!important; position:sticky; top:96px; box-shadow:0 40px 80px -50px rgba(10,27,48,.7)!important; }
@media(max-width:960px){ .summary{ position:static; } }
.summary h2{ font-family:var(--v-display)!important; font-weight:400!important; font-size:1.7rem!important; color:#fff!important; margin:0 0 18px!important; }
.sum-line{ display:flex; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid rgba(238,242,247,.14); color:#c9d4e6; font-size:.96rem; } .sum-line.sub{ color:#fff; font-weight:600; }
.total-line{ display:flex; justify-content:space-between; align-items:baseline; padding:20px 0 6px; } .t-lbl{ font-family:var(--v-dato); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:#9fb0cc; } .total-amount{ font-family:var(--v-display)!important; font-weight:400!important; font-size:3.2rem!important; color:var(--v-ambar-v)!important; letter-spacing:-.02em; line-height:1; }
.terms-box{ margin:20px 0; padding:16px 18px; background:rgba(238,242,247,.07); border:1px solid rgba(238,242,247,.22); } .terms-box label{ display:flex; gap:14px; align-items:flex-start; cursor:pointer; } .terms-box input{ width:20px; height:20px; margin-top:2px; flex:none; accent-color:var(--v-ambar-v); cursor:pointer; }
.terms-box span{ font-size:.85rem; line-height:1.55; color:#d3deef; } .terms-box a{ color:var(--v-ambar-v)!important; text-decoration:underline; text-underline-offset:3px; font-weight:500; } .terms-box em{ color:#9fb0cc; font-style:italic; display:block; margin-top:6px; }
.btn-checkout{ width:100%; height:58px; background:var(--v-ambar-v)!important; color:var(--v-ink)!important; border:0!important; font-family:var(--v-dato)!important; font-size:.78rem!important; font-weight:500; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; border-radius:0!important; transition:background .2s,transform .2s; } .btn-checkout:hover:not(:disabled){ background:#f0b84f!important; transform:translateY(-2px); } .btn-checkout:disabled{ opacity:.45; cursor:not-allowed; }
.terms-msg{ color:#ffb4a8!important; font-size:.84rem!important; font-weight:500!important; text-align:center; }
.secure-row{ display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin:20px 0 4px; color:#9fb0cc; font-family:var(--v-dato); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; } .secure-row span{ display:inline-flex; align-items:center; gap:6px; } .secure-row svg{ width:16px; height:16px; }
.summary .guarantee{ margin:14px 0 0; text-align:center; color:#b9c7e2; font-size:.85rem; line-height:1.55; }
/* sección inferior */
.why--fotos{ max-width:1180px; margin:0 auto; padding:0 24px clamp(50px,6vw,80px); } .why--fotos h2{ text-align:center; font-family:var(--v-display)!important; font-weight:400!important; font-size:clamp(1.7rem,3vw,2.3rem)!important; margin:0 0 26px!important; color:var(--v-ink); }
.why--fotos .why-grid{ display:grid; gap:20px; grid-template-columns:repeat(3,1fr); } @media(max-width:820px){ .why--fotos .why-grid{ grid-template-columns:1fr; } }
.why--fotos .why-card{ background:#fff; border:1px solid var(--v-linea)!important; border-top:3px solid var(--v-ambar-v)!important; padding:0!important; overflow:hidden; text-align:left; } .why--fotos .why-card:nth-child(2){ border-top-color:var(--v-b)!important; } .why--fotos .why-card:nth-child(3){ border-top-color:var(--v-c)!important; }
.w-foto{ aspect-ratio:16/10; overflow:hidden; background:var(--v-ink); } .w-foto img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.8,.2,1); } .why-card:hover .w-foto img{ transform:scale(1.07); }
.why--fotos .why-card b{ display:block; font-family:var(--v-display); font-weight:500; font-size:1.2rem; padding:16px 18px 4px; color:var(--v-ink); } .why--fotos .why-card p{ margin:0; padding:0 18px 20px; color:var(--v-tinta2); font-size:.92rem; line-height:1.5; }
.trust-bar{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:26px; } .trust-bar .t-pill{ padding:9px 16px; border:1px solid var(--v-linea); background:#fff; font-family:var(--v-dato); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--v-ink); }
.cart-item{ position:relative; } .ci-remove{ position:absolute; top:4px; right:4px; margin:0; }
@media(max-width:1180px){ .cart-grid{ grid-template-columns:minmax(0,1fr) 360px; } .cart-item{ grid-template-columns:140px minmax(0,1fr) auto; gap:0 18px; } .ci-ico{ width:140px; height:100%; min-height:128px; } .ci-price{ font-size:1.6rem!important; padding-right:34px; } .ci-body h3{ font-size:1.25rem!important; } }
@media(max-width:700px){ .cart-item{ grid-template-columns:100px minmax(0,1fr); } .ci-ico{ width:100px; } .ci-price{ grid-column:2; padding:0 14px 14px 0; } }

/* ── video de ventas en pantallas chicas: subtítulos y controles a su tamaño ── */
@media(max-width:700px){
  video::cue{ font-size:.62em; line-height:1.25; }
  .vvideo{ padding-top:44px!important; padding-bottom:40px!important; }
  .vvideo__marco{ border-top-width:3px; }
  .vvideo__ctl{ margin-top:14px; gap:10px 14px; }
  .vvideo__ctl > div{ gap:6px; flex-wrap:wrap; justify-content:center; }
  .vvideo__ctl span{ flex:0 0 100%; text-align:center; margin:0 0 2px; font-size:.56rem; }
  .vvideo__ctl button{ padding:8px 12px; min-height:40px; font-size:.62rem; }
  .vvideo__nota{ margin-top:14px; font-size:.74rem; }
}

.vvideo__ctl button b{ font-weight:inherit; } .vvideo__ctl .lc{ display:none; }
@media(max-width:700px){ .vvideo__ctl .lf{ display:none; } .vvideo__ctl .lc{ display:inline; } .vvideo__ctl button{ padding:8px 14px; min-width:56px; } }

/* ── botón de idioma EN | ES en la barra ── */
.vlang{ display:inline-flex; border:1px solid rgba(238,242,247,.4); } .vlang button{ background:transparent; border:0; color:#c3cedd; min-width:38px; height:38px; padding:0 8px; font-family:var(--v-dato); font-size:.66rem; letter-spacing:.1em; cursor:pointer; border-radius:0; transition:background .2s,color .2s; }
.vlang button:hover{ color:#fff; } .vlang button.active{ background:var(--v-ambar-v); color:var(--v-ink); }
.mobile-menu .vlang{ margin:10px 0 4px; } .mobile-menu .vlang button{ color:#c3cedd; }
.barra .vlang{ margin-left:auto; margin-right:10px; } @media(max-width:560px){ .vlang button{ min-width:34px; height:34px; } }
/* el botón de idioma sólo aparece en las páginas que ya tienen su español (<html data-idioma>) */
.vnav .vlang,.barra .vlang,.mobile-menu .vlang,.vfoot .lang-switch,.vfoot h4[data-es="Idioma"]{ display:none; }
html[data-idioma] .vnav .vlang,html[data-idioma] .barra .vlang,html[data-idioma] .mobile-menu .vlang{ display:inline-flex; }
html[data-idioma] .vfoot .lang-switch{ display:flex; } html[data-idioma] .vfoot h4[data-es="Idioma"]{ display:block; }

/* ── MARCA: CDL en naranja + ícono, y franja de compra segura ─────────────────────────── */
:root{ --v-naranja:#f28c28; }
.vlogo em, .x-marca em, .logo em, .auth-left .brand-lg span{ color:var(--v-naranja)!important; font-style:italic; }
.vlogo::before, .x-marca::before{ content:""; display:inline-block; width:28px; height:28px; margin-right:10px; flex:none; background:url('/icon.svg') center/contain no-repeat; border-radius:7px; vertical-align:-7px; box-shadow:0 0 0 1px rgba(242,140,40,.45); }
.x-marca{ display:inline-flex; align-items:center; }
.vseguro{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; max-width:860px; margin:22px auto 0; padding:20px 24px; background:#fff; border:1px solid var(--v-linea); border-left:4px solid #1f7a4d; border-radius:6px; }
.vseguro__ic{ flex:none; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:#e6f4ec; color:#1f7a4d; }
.vseguro__ic svg{ width:24px; height:24px; }
.vseguro__t{ flex:1 1 280px; min-width:0; } .vseguro__t b{ display:block; font-family:var(--v-texto); font-size:1.02rem; color:var(--v-ink); } .vseguro__t p{ margin:3px 0 0; color:var(--v-tinta2); font-size:.9rem; line-height:1.45; }
.vseguro__chips{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; } .vseguro__chips li{ padding:5px 11px; border:1px solid var(--v-linea); border-radius:999px; font-size:.78rem; font-weight:600; color:var(--v-azul); background:var(--v-tenue); }
.vseguro--cart{ max-width:none; margin:16px 0 0; padding:12px 14px; gap:12px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.2); border-left:3px solid #4fd18b; }
.vseguro--cart .vseguro__ic{ width:38px; height:38px; background:rgba(79,209,139,.16); color:#4fd18b; } .vseguro--cart .vseguro__ic svg{ width:20px; height:20px; }
.vseguro--cart .vseguro__t b{ color:#fff; font-size:.95rem; } .vseguro--cart .vseguro__t p{ color:rgba(255,255,255,.78); font-size:.8rem; }
.vfoot__seg, .pie__seg{ display:flex; align-items:center; gap:8px; margin:12px 0 0; color:#9fd8b8; font-size:.84rem; } .vfoot__seg svg, .pie__seg svg{ width:18px; height:18px; flex:none; }
.pie__seg{ justify-content:center; margin:6px 0 14px; }
.logo::before, .side-brand::before, .brand-lg::before, .mobile-logo::before{ content:""; display:inline-block; width:28px; height:28px; margin-right:10px; flex:none; background:url('/icon.svg') center/contain no-repeat; border-radius:7px; vertical-align:-7px; box-shadow:0 0 0 1px rgba(242,140,40,.45); }
.logo em, .side-brand em, .brand-lg em, .mobile-logo em{ color:var(--v-naranja)!important; font-style:italic; font-weight:400; }
.dash-body .side-brand{ display:flex!important; align-items:center; }
.mobile-logo{ display:flex!important; align-items:center; justify-content:center; font-family:var(--v-display)!important; }

/* ── Portada: video de fondo (tráiler, inspección en la báscula, conductor sonriendo) ── */
.v-landing .portada__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% 50%; }
.v-landing .portada__pausa{ position:absolute; z-index:5; left:clamp(16px,3vw,40px); bottom:18px; width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid rgba(238,242,247,.4); border-radius:50%; background:rgba(10,27,48,.55); color:#eef2f7; cursor:pointer; }
.v-landing .portada__pausa:hover{ background:rgba(10,27,48,.85); }
.v-landing .portada__pausa svg{ width:18px; height:18px; }
@media (max-width:700px){ .v-landing .portada__video{ object-position:34% 50%; } }
