/* ============================================================
   LIBERTY MOTORS CO. — HOJA DE ESTILOS COMPARTIDA
   Fase 1 (aprobada, sin cambios de dirección visual) + Fase 2/3.
   ============================================================ */

/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
html.intro-locked,html.intro-locked body{overflow:hidden;height:100%;}
body.menu-open{overflow:hidden;}
body{font-family:'Inter',sans-serif;background:#f6f6f4;color:#161616;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit;}
ul{list-style:none;}
svg{display:block;}
::selection{background:#c8a35c;color:#0a0a0a;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c8a35c;outline-offset:3px;border-radius:4px;}
.skip-link{position:absolute;top:-100px;left:12px;z-index:1000;background:#0a0a0a;color:#fff;padding:12px 20px;border-radius:8px;font-family:var(--font-d);font-size:.85rem;font-weight:700;text-decoration:none;transition:top .2s;}
.skip-link:focus{top:12px;}

/* ============ TOKENS ============ */
:root{
  --black:#0a0a0a;
  --black-soft:#141414;
  --charcoal:#1e1e1e;
  --white:#ffffff;
  --offwhite:#f6f6f4;
  --silver-100:#ececea;
  --silver-300:#c9c9c6;
  --silver-500:#9a9a97;
  --silver-700:#6e6e6b;
  --gold:#c8a35c;
  --gold-deep:#8a6a2f;
  --ink:#161616;
  --muted:#5a5954;
  --muted-dark:#b6b6b3;
  --ease:cubic-bezier(.16,.8,.28,1);
  --container:1240px;
  --font-d:'Archivo',sans-serif;
  --font-b:'Inter',sans-serif;
  --font-m:'Space Mono',monospace;
}

/* ============ LAYOUT UTILITIES ============ */
.container{max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,5vw,64px);}
.pad{padding-block:clamp(64px,10vw,120px);}
.pad-sm{padding-block:clamp(40px,6vw,72px);}
section{position:relative;}
.eyebrow{display:inline-block;font-family:var(--font-d);font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:14px;}
.hero .eyebrow,.recent-section .eyebrow,.financing-section .eyebrow,.final-cta .eyebrow,.page-header .eyebrow{color:var(--gold);}
h1,h2,h3{font-family:var(--font-d);font-weight:800;letter-spacing:-0.01em;line-height:1.06;}
.section-title{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--ink);}
.section-title--light{color:var(--white);}
.section-sub{color:var(--muted);font-size:1.02rem;max-width:52ch;margin-top:14px;}
.section-sub--light{color:var(--muted-dark);}
.section-head{margin-bottom:48px;}
.section-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;}
.data{font-family:var(--font-m);font-variant-numeric:tabular-nums;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

.chrome-text{
  background:linear-gradient(180deg,#ffffff 0%,#dcdcd9 22%,#8f8f8c 50%,#dcdcd9 78%,#ffffff 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 34px;border-radius:999px;font-family:var(--font-d);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:transform .4s var(--ease),background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);white-space:nowrap;}
.btn svg{width:16px;height:16px;flex-shrink:0;}
.btn--primary{background:var(--white);color:var(--black);}
.btn--primary:hover{background:var(--gold);color:var(--black);transform:translateY(-3px);box-shadow:0 16px 32px rgba(200,163,92,.28);}
.btn--outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.32);}
.btn--outline:hover{border-color:var(--white);background:rgba(255,255,255,.08);transform:translateY(-3px);}
.btn--outline-dark{background:transparent;color:var(--ink);border:1.5px solid rgba(0,0,0,.18);}
.btn--outline-dark:hover{border-color:var(--ink);background:rgba(0,0,0,.04);transform:translateY(-3px);}
.btn--lg{padding:20px 44px;font-size:.85rem;}
.btn--sm{padding:11px 22px;font-size:.7rem;}
.btn--block{width:100%;}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;}
.btn--ghost-link{padding:0;background:none;border-radius:0;gap:8px;color:var(--ink);font-size:.76rem;}
.btn--ghost-link svg{transition:transform .3s var(--ease);}
.btn--ghost-link:hover svg{transform:translateX(4px);}
.btn--ghost-link span.u{position:relative;}
.btn--ghost-link span.u::after{content:'';position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:var(--gold-deep);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.btn--ghost-link:hover span.u::after{transform:scaleX(1);}

/* ============ INTRO (solo Home) ============ */
.intro{position:fixed;inset:0;z-index:999;background:var(--black);display:flex;align-items:center;justify-content:center;overflow:hidden;animation:introExit .5s cubic-bezier(.7,0,.2,1) 2.2s forwards;}
.intro__stage{position:relative;width:min(82vw,460px);height:min(58vh,360px);}
.intro__mark{position:absolute;inset:0;margin:auto;width:min(50vw,240px);height:min(50vw,240px);opacity:0;transform:scale(.94);animation:introMarkIn .4s var(--ease) .1s forwards,introMarkOut .35s var(--ease) 1.35s forwards;}
.intro__mark-img{width:100%;height:100%;object-fit:contain;clip-path:inset(100% 0 0 0);-webkit-clip-path:inset(100% 0 0 0);animation:introReveal .85s cubic-bezier(.6,0,.15,1) .25s forwards;}
.intro__shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.85) 48%,transparent 64%);mix-blend-mode:screen;opacity:0;animation:introShine .85s cubic-bezier(.6,0,.15,1) .25s forwards;}
.intro__glow{position:absolute;top:2%;left:50%;width:64%;height:36%;transform:translateX(-50%) scale(.5);border-radius:50%;background:radial-gradient(circle,rgba(212,178,115,.95),transparent 72%);opacity:0;animation:introGlow .45s ease-out 1.05s forwards;}
.intro__word{position:absolute;inset:0;margin:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:0;transform:scale(.94);height:-moz-fit-content;height:fit-content;animation:introWordIn .45s var(--ease) 1.5s forwards;}
.intro__word-img{width:min(70vw,340px);}
.intro__tag{font-family:var(--font-d);font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateY(8px);animation:introTagIn .4s var(--ease) 1.85s forwards;}
.intro__wipe{position:absolute;inset:0;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%);transform:translateX(-130%);opacity:0;animation:introWipe .5s cubic-bezier(.7,0,.2,1) 2.15s forwards;pointer-events:none;}

@keyframes introMarkIn{to{opacity:1;transform:scale(1);}}
@keyframes introMarkOut{to{opacity:0;transform:scale(.92);}}
@keyframes introReveal{to{clip-path:inset(0 0 0 0);-webkit-clip-path:inset(0 0 0 0);}}
@keyframes introShine{0%{opacity:0;}45%{opacity:1;}100%{opacity:0;}}
@keyframes introGlow{0%{opacity:0;transform:translateX(-50%) scale(.4);}55%{opacity:1;}100%{opacity:0;transform:translateX(-50%) scale(1.2);}}
@keyframes introWordIn{to{opacity:1;transform:scale(1);}}
@keyframes introTagIn{to{opacity:1;transform:translateY(0);}}
@keyframes introWipe{0%{opacity:0;transform:translateX(-130%);}35%{opacity:1;}100%{opacity:0;transform:translateX(130%);}}
@keyframes introExit{to{opacity:0;visibility:hidden;}}
@media (prefers-reduced-motion:reduce){.intro{display:none;}}

/* ============ HEADER ============ */
.header{position:fixed;top:0;left:0;right:0;z-index:200;padding:30px 0;transition:padding .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease);}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.header__logo-img{height:30px;width:auto;}
.header__nav ul{display:flex;gap:36px;}
.header__nav a{display:inline-block;font-family:var(--font-d);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--white);position:relative;padding-bottom:4px;}
.header__nav a::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--gold);transition:width .3s var(--ease);}
.header__nav a:hover::after,.header__nav a.is-active::after{width:100%;}
.header__nav a.is-active{color:var(--gold);}
.header__actions{display:flex;align-items:center;gap:18px;}
.header__whatsapp svg{color:var(--white);}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:26px;padding:6px 0;flex-shrink:0;}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--white);transition:transform .35s var(--ease),opacity .35s var(--ease);}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-active span:nth-child(2){opacity:0;}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.header.is-scrolled{padding:14px 0;background:rgba(10,10,10,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.07);}
/* header no-transparente para páginas internas (sin hero oscuro debajo) */
.header--solid{background:rgba(10,10,10,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.header--solid.is-scrolled{padding:14px 0;}

.mobile-menu{position:fixed;inset:0;z-index:190;background:var(--black);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .4s var(--ease),visibility .4s var(--ease),transform .4s var(--ease);}
.mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0);}
.mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:40px;}
.mobile-menu ul{display:flex;flex-direction:column;align-items:center;gap:26px;}
.mobile-menu a{font-family:var(--font-d);font-size:1.6rem;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:.01em;}
.mobile-menu a.is-active{color:var(--gold);}
.mobile-menu .btn{color:var(--black);font-size:.78rem;letter-spacing:.1em;}

/* ============ HERO (Home) ============ */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;background:radial-gradient(ellipse 120% 80% at 25% 15%,#1c1c1c 0%,var(--black) 62%);overflow:hidden;padding-top:120px;}
.hero__bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;pointer-events:none;}
.hero__watermark{width:min(70vw,780px);opacity:.07;transform:translateX(10%);}
.hero__inner{position:relative;z-index:2;max-width:760px;}
.hero__inner>*{opacity:0;transform:translateY(20px);animation:heroIn .65s var(--ease) forwards;}
.hero__inner>*:nth-child(1){animation-delay:2.55s;}
.hero__inner>*:nth-child(2){animation-delay:2.68s;}
.hero__inner>*:nth-child(3){animation-delay:2.82s;}
.hero__inner>*:nth-child(4){animation-delay:2.96s;}
@keyframes heroIn{to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){.hero__inner>*{opacity:1;transform:none;animation:none;}}
.hero__title{font-size:clamp(2.6rem,6.2vw,5.2rem);text-transform:uppercase;margin-bottom:22px;}
.hero__sub{color:var(--muted-dark);font-size:1.1rem;max-width:46ch;margin-bottom:38px;}
.hero__ctas{display:flex;gap:18px;flex-wrap:wrap;}
.hero__scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);width:1px;height:52px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.5));}
.hero__scroll-cue span{position:absolute;top:0;left:-2.5px;width:6px;height:6px;border-radius:50%;background:var(--gold);animation:scrollCue 2.2s ease-in-out infinite;}
@keyframes scrollCue{0%{top:0;opacity:0;}20%{opacity:1;}100%{top:100%;opacity:0;}}
@media (prefers-reduced-motion:reduce){.hero__scroll-cue span{animation:none;top:50%;opacity:.6;}}

/* ============ PAGE HEADER (Inventario / Ficha / Financiamiento) ============ */
.page-header{background:var(--black);color:var(--white);padding:150px 0 56px;}
.page-header__crumbs{display:flex;gap:8px;align-items:center;font-size:.78rem;color:var(--muted-dark);margin-bottom:18px;flex-wrap:wrap;}
.page-header__crumbs a:hover{color:var(--white);}
.page-header__crumbs .sep{opacity:.5;}
.page-header__title{font-size:clamp(2rem,4vw,3rem);}
.page-header__count{color:var(--muted-dark);margin-top:10px;font-size:.95rem;}

/* ============ VEHICLE CARD (Featured carousel, Home) — tamaño reducido moderadamente ============ */
.vehicles-section{background:var(--offwhite);}
.featured-carousel{position:relative;}
.featured-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:clamp(20px,5vw,64px);padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;}
.featured-track::-webkit-scrollbar{display:none;}
.featured-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;}
.featured-track > .vehicle-card{flex:0 0 clamp(250px,29vw,312px);scroll-snap-align:start;}

.vehicle-card{background:var(--white);border-radius:16px;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease);box-shadow:0 1px 0 rgba(0,0,0,.04);}
.vehicle-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px rgba(20,20,20,.11);}
.vehicle-card__image{position:relative;aspect-ratio:4/3;background:linear-gradient(150deg,#2a2a2a,#0c0c0c 70%);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.vehicle-card__image::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%);transition:transform .6s var(--ease);}
.vehicle-card:hover .vehicle-card__image::after{transform:translateX(18%);}
.vehicle-card__placeholder-icon{width:30%;color:var(--silver-100);opacity:.28;transition:transform .5s var(--ease);pointer-events:none;}
.vehicle-card:hover .vehicle-card__placeholder-icon{transform:scale(1.06);}
.vehicle-card__financing-badge{position:absolute;top:12px;left:12px;background:rgba(10,10,10,.55);backdrop-filter:blur(6px);color:var(--gold);font-family:var(--font-d);font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 11px;border-radius:999px;border:1px solid rgba(200,163,92,.4);}
.vehicle-card__body{padding:18px 18px 20px;}
.vehicle-card__body h3{font-size:1.02rem;font-weight:700;margin-bottom:4px;}
.vehicle-card__meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.8rem;margin-bottom:10px;}
.vehicle-card__meta .dot{opacity:.5;}
.vehicle-card__price{font-family:var(--font-m);font-weight:700;font-size:1.05rem;margin-bottom:14px;letter-spacing:-.02em;}

/* dots */
.carousel-dots{display:flex;gap:8px;justify-content:center;margin-top:26px;}
.carousel-dots button{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.16);transition:all .3s var(--ease);}
.carousel-dots button:hover{background:rgba(0,0,0,.34);}
.carousel-dots button.is-active{background:var(--ink);width:24px;border-radius:4px;}
.carousel-dots--light button{background:rgba(255,255,255,.22);}
.carousel-dots--light button:hover{background:rgba(255,255,255,.4);}
.carousel-dots--light button.is-active{background:var(--white);}

/* ============ CAROUSEL (Recién llegados, Home) ============ */
.recent-section{background:var(--black);color:var(--white);overflow:hidden;}
.recent-section .section-sub{color:var(--muted-dark);}
.carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:clamp(20px,5vw,64px);padding-bottom:6px;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;}
.mini-card{flex:0 0 min(68vw,264px);scroll-snap-align:start;background:var(--charcoal);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06);}
.mini-card__image{aspect-ratio:4/3;background:linear-gradient(150deg,#2c2c2c,#111 70%);position:relative;display:flex;align-items:center;justify-content:center;}
.mini-card__placeholder-icon{width:28%;color:rgba(255,255,255,.18);}
.mini-card__financing-badge{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.5);color:var(--gold);font-family:var(--font-d);font-size:.54rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid rgba(200,163,92,.4);}
.mini-card__body{padding:16px;}
.mini-card__body h3{font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:3px;}
.mini-card__meta{color:var(--muted-dark);font-size:.78rem;margin-bottom:8px;}
.mini-card__price{font-family:var(--font-m);font-weight:700;color:var(--white);font-size:.92rem;}
.carousel-nav{display:flex;gap:12px;padding-inline:clamp(20px,5vw,64px);margin-top:20px;}
.carousel-nav button{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s;color:var(--white);flex-shrink:0;}
.carousel-nav button:hover{border-color:var(--gold);background:rgba(200,163,92,.1);}
.carousel-nav--dark button{border-color:rgba(0,0,0,.16);color:var(--ink);}
.carousel-nav--dark button:hover{border-color:var(--gold-deep);background:rgba(138,106,47,.08);}
.carousel-nav svg{width:15px;height:15px;}
.carousel-nav [data-carousel-prev] svg{transform:scaleX(-1);}

/* ============ FINANCING (Home summary + Financiamiento page share this) ============ */
.financing-section{background:linear-gradient(160deg,var(--black-soft),var(--black));color:var(--white);}
.financing-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;}
.financing-content{max-width:560px;}
.financing-ctas{margin:32px 0 20px;}
.financing-disclaimer{font-size:.78rem;color:var(--muted-dark);max-width:48ch;}
.lead-card{margin-top:42px;padding:32px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:var(--white);display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start;box-shadow:0 18px 50px rgba(0,0,0,.08)}
.lead-card__intro h2{margin:8px 0 12px}.lead-card__intro p{color:var(--muted);line-height:1.65}.lead-form{display:grid;gap:16px}.lead-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lead-form textarea{resize:vertical}.lead-optional{font-weight:400;color:var(--muted);font-size:.82em}.lead-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}.lead-status{min-height:1.4em;font-size:.86rem;line-height:1.5}.lead-status.is-success{color:#257044}.lead-status.is-error{color:#a33}.admin-leads-toolbar{margin-top:42px}.admin-lead__status{min-width:120px}.admin-lead__message{margin-top:6px;white-space:pre-wrap}
.financing-visual{display:flex;align-items:center;justify-content:center;}
.financing-visual svg{width:100%;max-width:260px;}

/* ============ CATEGORIES ============ */
.categories-section{background:var(--offwhite);}
.categories-section .section-head{text-align:center;margin-inline:auto;max-width:640px;}
.chip-row{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;}
.chip{padding:13px 28px;border-radius:999px;border:1.5px solid rgba(0,0,0,.14);font-family:var(--font-d);font-weight:700;font-size:.85rem;color:var(--ink);transition:all .3s var(--ease);}
.chip:hover{border-color:var(--ink);background:var(--ink);color:var(--white);transform:translateY(-2px);}

/* ============ WHY LIBERTY ============ */
.why-section{background:var(--white);}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
.why-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1.5px solid var(--silver-300);margin-bottom:20px;color:var(--ink);}
.why-icon svg{width:24px;height:24px;}
.why-item h3{font-size:1.05rem;margin-bottom:8px;}
.why-item p{color:var(--muted);font-size:.94rem;}

/* ============ FINAL CTA ============ */
.final-cta{background:var(--black);text-align:center;}
.final-cta__inner{max-width:640px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;}
.final-cta .section-sub{margin-bottom:36px;}

/* ============ FOOTER ============ */
.footer{background:#050505;color:var(--muted-dark);padding-top:48px;}
.footer__top{display:grid;grid-template-columns:1.25fr .8fr 1.75fr .8fr 1.45fr;gap:clamp(24px,3vw,48px);align-items:start;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer__emblem{height:76px;width:auto;margin-bottom:13px;}
.footer__tagline{font-family:var(--font-d);color:var(--silver-300);font-size:.9rem;letter-spacing:.04em;}
.footer__nav{display:flex;flex-direction:column;gap:12px;}
.footer__nav::before{content:'Navegación';font-family:var(--font-d);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--silver-300);margin-bottom:2px;}
.footer__nav a:hover,.footer__nav a.is-active{color:var(--white);}
.footer__bottom{padding-block:24px;font-size:.78rem;text-align:center;color:var(--silver-700);}

/* ============ SCROLL REVEAL ============ */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}
[data-reveal="fade"]{transform:none;}

/* ============ FILTER BAR (Inventario) ============ */
.filter-bar{background:var(--white);padding-block:24px;border-bottom:1px solid rgba(0,0,0,.08);}
.filter-bar__search{margin-bottom:16px;position:relative;}
.filter-bar__search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted);pointer-events:none;}
.filter-bar__search input{width:100%;padding:14px 20px 14px 46px;border-radius:999px;border:1.5px solid rgba(0,0,0,.14);font-family:var(--font-b);font-size:.95rem;background:var(--offwhite);}
.filter-bar__search input:focus{border-color:var(--ink);background:var(--white);}
.filter-bar__row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.filter-select{padding:11px 34px 11px 18px;border-radius:999px;border:1.5px solid rgba(0,0,0,.14);font-family:var(--font-d);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:var(--white) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23161616" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>') no-repeat right 12px center / 13px;color:var(--ink);cursor:pointer;appearance:none;-webkit-appearance:none;}
.filter-toggle{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;border:1.5px solid rgba(0,0,0,.14);font-family:var(--font-d);font-size:.76rem;font-weight:700;text-transform:uppercase;cursor:pointer;user-select:none;color:var(--ink);}
.filter-toggle input{accent-color:var(--ink);width:15px;height:15px;}
.filter-bar__sort{margin-left:auto;}
.filter-bar__meta{display:flex;justify-content:space-between;align-items:center;padding-block:20px 4px;flex-wrap:wrap;gap:10px;}
.filter-bar__results{color:var(--muted);font-size:.9rem;}
.filter-bar__clear{font-size:.8rem;color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px;}

/* ============ INVENTARIO GRID (tarjetas más compactas que Home) ============ */
.inv-section{background:var(--offwhite);}
.inv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.inv-card{background:var(--white);border-radius:14px;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease);display:block;}
.inv-card:hover{transform:translateY(-5px);box-shadow:0 20px 36px rgba(20,20,20,.1);}
.inv-card__image{position:relative;aspect-ratio:4/3;background:linear-gradient(150deg,#2a2a2a,#0c0c0c 70%);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.inv-card__placeholder-icon{width:28%;color:var(--silver-100);opacity:.28;}
.inv-card__badge{position:absolute;top:10px;left:10px;background:rgba(10,10,10,.55);backdrop-filter:blur(6px);color:var(--gold);font-family:var(--font-d);font-size:.54rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid rgba(200,163,92,.4);}
.inv-card__body{padding:14px 14px 16px;}
.inv-card__body h3{font-size:.94rem;font-weight:700;margin-bottom:2px;}
.inv-card__meta{color:var(--muted);font-size:.76rem;margin-bottom:8px;}
.inv-card__price{font-family:var(--font-m);font-weight:700;font-size:.96rem;}
.inv-grid-wrap{min-height:200px;}

.empty-state{text-align:center;padding-block:64px;}
.empty-state h3{color:var(--ink);margin-bottom:8px;font-size:1.25rem;}
.empty-state p{color:var(--muted);}
.empty-state .btn{margin-top:22px;}
.carousel-empty{flex:0 0 100%;width:100%;padding:40px 20px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:var(--white);}

/* ============ VEHICLE DETAIL (Ficha) ============ */
.breadcrumb-current{color:var(--white);}
.vehicle-detail{background:var(--offwhite);padding-block:48px clamp(64px,10vw,120px);}
.vehicle-detail__layout{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start;}

.gallery__main{aspect-ratio:4/3;border-radius:20px;background:linear-gradient(150deg,#2a2a2a,#0c0c0c 70%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px;}
.gallery__main-icon{width:24%;color:var(--silver-100);opacity:.26;}
.gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.gallery__thumbs button{aspect-ratio:4/3;border-radius:10px;background:linear-gradient(150deg,#2a2a2a,#0c0c0c 70%);border:2px solid transparent;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .3s;cursor:pointer;}
.gallery__thumbs button.is-active{border-color:var(--gold);}
.gallery__thumbs svg{width:32%;color:var(--silver-100);opacity:.3;}

.vehicle-info__badge{margin-bottom:14px;}
.vehicle-info h1{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:6px;}
.vehicle-info__meta{color:var(--muted);font-size:1rem;margin-bottom:20px;}
.vehicle-info__price{font-family:var(--font-m);font-size:2rem;font-weight:700;margin-bottom:8px;letter-spacing:-.02em;}
.vehicle-info__financing{display:inline-flex;align-items:center;gap:8px;color:var(--gold-deep);font-family:var(--font-d);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:24px;}
.vehicle-info__ctas{display:flex;flex-direction:column;gap:12px;margin-bottom:26px;}
.vehicle-info__status{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:.9rem;margin-bottom:26px;padding-bottom:26px;border-bottom:1px solid rgba(0,0,0,.08);}
.vehicle-info__status .dot-ok{width:8px;height:8px;border-radius:50%;background:#4a8c5f;flex-shrink:0;}

.specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:28px;}
.specs-grid__item{padding:13px 15px;background:var(--white);border-radius:12px;}
.specs-grid__item .label{font-family:var(--font-d);font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px;}
.specs-grid__item .value{font-weight:700;font-size:.9rem;}

.equip-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;}
.equip-list li{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--ink);}
.equip-list svg{width:16px;height:16px;color:var(--gold-deep);flex-shrink:0;}

.detail-section{margin-top:44px;}
.detail-section h2{font-size:1.25rem;margin-bottom:16px;}
.detail-section p{color:var(--muted);line-height:1.7;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

.vehicle-not-found{padding:150px 0 120px;text-align:center;background:var(--black);color:var(--white);min-height:60vh;}
.vehicle-not-found h1{font-size:2rem;margin-bottom:14px;}
.vehicle-not-found p{color:var(--muted-dark);margin-bottom:28px;}

/* ============ FINANCIAMIENTO — calculadora ============ */
.calc-section{background:var(--offwhite);padding-block:48px clamp(64px,10vw,120px);}
.calc-layout{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:start;}
.calc-form{background:var(--white);border-radius:20px;padding:32px;}
.calc-field{margin-bottom:24px;}
.calc-field:last-child{margin-bottom:0;}
.calc-field label{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-d);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px;}
.calc-field label .live-value{font-family:var(--font-m);color:var(--ink);font-size:.86rem;text-transform:none;letter-spacing:0;font-weight:700;}
.calc-field input[type="number"],.calc-field select{width:100%;padding:13px 16px;border-radius:10px;border:1.5px solid rgba(0,0,0,.14);font-family:var(--font-m);font-size:1rem;background:var(--offwhite);}
.calc-field input[type="number"]:focus,.calc-field select:focus{border-color:var(--ink);background:var(--white);}
.calc-field input[type="range"]{width:100%;accent-color:var(--gold-deep);height:4px;}
.calc-inicial-toggle{display:flex;gap:8px;margin-bottom:12px;}
.calc-inicial-toggle button{flex:1;padding:9px;border-radius:8px;border:1.5px solid rgba(0,0,0,.14);font-family:var(--font-d);font-size:.68rem;font-weight:700;text-transform:uppercase;background:var(--white);color:var(--ink);}
.calc-inicial-toggle button.is-active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.calc-rate-note{font-size:.76rem;color:var(--muted);margin-top:8px;line-height:1.5;}

.calc-result{background:var(--black);color:var(--white);border-radius:20px;padding:32px;position:sticky;top:110px;}
.calc-result__label{font-family:var(--font-d);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted-dark);margin-bottom:8px;}
.calc-result__cuota{font-family:var(--font-m);font-size:2.6rem;font-weight:700;color:var(--white);line-height:1;margin-bottom:4px;letter-spacing:-.02em;}
.calc-result__cuota span{font-size:1.05rem;color:var(--muted-dark);font-weight:400;}
.calc-result__rows{margin:22px 0;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;}
.calc-result__row{display:flex;justify-content:space-between;padding-block:7px;font-size:.86rem;color:var(--muted-dark);}
.calc-result__row strong{color:var(--white);font-family:var(--font-m);font-weight:700;}
.calc-result .btn{margin-top:8px;}
.calc-disclaimer{font-size:.75rem;color:var(--muted-dark);line-height:1.6;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);}
.calc-disclaimer strong{color:var(--white);}
.calc-context-note{display:flex;align-items:center;gap:10px;background:rgba(200,163,92,.1);border:1px solid rgba(200,163,92,.3);color:var(--gold-deep);padding:12px 16px;border-radius:12px;font-size:.85rem;margin-bottom:24px;}
.calc-context-note svg{width:16px;height:16px;flex-shrink:0;}

/* ============ RESPONSIVE ============ */
@media (max-width:1024px){
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .financing-inner{grid-template-columns:1fr;text-align:center;}
  .financing-content{max-width:100%;margin-inline:auto;}
  .financing-ctas{display:flex;justify-content:center;}
  .financing-visual{display:none;}
  .lead-card{grid-template-columns:1fr;text-align:left;gap:24px}
  .footer__top{grid-template-columns:1fr 1fr 1.45fr;}
  .footer__brand{grid-column:auto;}

  .inv-grid{grid-template-columns:repeat(3,1fr);}
  .vehicle-detail__layout{grid-template-columns:1fr;gap:36px;}
  .calc-layout{grid-template-columns:1fr;}
  .calc-result{position:static;}
  .related-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:860px){
  .header__nav{display:none;}
  .header__whatsapp span{display:none;}
  .header__whatsapp{padding:12px;border-radius:50%;}
  .nav-toggle{display:flex;}
  .page-header{padding-top:120px;}
}
@media (max-width:768px){
  .inv-grid{grid-template-columns:repeat(2,1fr);}
  .related-grid{grid-template-columns:repeat(2,1fr);}
  .filter-bar__sort{margin-left:0;}
}
@media (max-width:640px){
  .why-grid{grid-template-columns:1fr;}
  .hero{padding-top:110px;}
  .hero__ctas{flex-direction:column;align-items:stretch;}
  .hero__ctas .btn{width:100%;}
  .footer__top{grid-template-columns:1fr;text-align:left;}
  .section-head--row{flex-direction:column;align-items:flex-start;}
  .financing-ctas{justify-content:flex-start;}
  .financing-ctas .btn{width:100%;}
  .lead-card{padding:22px}.lead-form__row{grid-template-columns:1fr}

  .inv-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .inv-card__body{padding:11px 11px 13px;}
  .gallery__thumbs{grid-template-columns:repeat(4,1fr);}
  .specs-grid{grid-template-columns:1fr 1fr;}
  .equip-list{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .calc-form{padding:22px;}
  .calc-result{padding:24px;}
  .calc-result__cuota{font-size:2.1rem;}
  .page-header{padding:110px 0 40px;}
}
@media (max-width:420px){
  .related-grid{grid-template-columns:1fr;}
  .specs-grid{grid-template-columns:1fr;}
}

/* ============================================================
   FASE 4 — CORRECCIONES DE AUDITORÍA
   ============================================================ */

/* Fix de overflow horizontal: los ítems de grid/flex tienen
   min-width:auto por defecto y NO se encogen por debajo del
   ancho de su contenido ("grid/flex blowout"). Esto causaba el
   overflow en financiamiento.html (y lo mismo en la ficha) a
   anchos angostos. Se corrige explícitamente en cada layout de
   columnas del sitio. */
.calc-layout > *,
.vehicle-detail__layout > *,
.financing-inner > *,
.footer__top > *,
.specs-grid > *,
.filter-bar__row > * {
  min-width: 0;
}
.calc-field, .calc-field * { min-width: 0; }
input, select, textarea { max-width: 100%; }
* { min-width: 0; }
html, body { overflow-x: hidden; }

/* ============ ESTADOS DE CARGA / ERROR ============ */
.skeleton-card{position:relative;overflow:hidden;background:#e9e9e6;border-radius:16px;aspect-ratio:4/3;}
.skeleton-card::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);background-size:200% 100%;animation:skeletonShimmer 1.4s ease-in-out infinite;}
@keyframes skeletonShimmer{0%{background-position:150% 0;}100%{background-position:-50% 0;}}
@media (prefers-reduced-motion:reduce){.skeleton-card::after{animation:none;}}
.data-error-state{grid-column:1/-1;text-align:center;padding-block:56px;}
.data-error-state h3{margin-bottom:8px;font-size:1.15rem;}
.data-error-state p{color:var(--muted);margin-bottom:20px;}

/* ============ BADGES DE DISPONIBILIDAD ============ */
.status-badge{position:absolute;top:12px;right:12px;font-family:var(--font-d);font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 11px;border-radius:999px;color:#fff;z-index:1;}
.status-badge--vendido{background:rgba(150,52,45,.92);}
.status-badge--reservado{background:rgba(150,110,40,.92);}
.is-unavailable .vehicle-card__image,
.is-unavailable .inv-card__image,
.is-unavailable .mini-card__image{filter:grayscale(.65) brightness(.72);}

/* ============ BANDA DE MARCAS (marquee) ============ */
.brand-marquee{background:#f7f7f5;border-top:1px solid #e5e5e2;border-bottom:1px solid #e5e5e2;padding-block:22px;overflow:hidden;}
.marquee__track{display:flex;align-items:center;width:max-content;animation:marqueeScroll 38s linear infinite;}
.marquee__set{display:flex;align-items:center;gap:clamp(34px,4.8vw,74px);padding-right:clamp(34px,4.8vw,74px);}
.brand-marquee:hover .marquee__track{animation-play-state:paused;}
.marquee__item{display:flex;align-items:center;justify-content:center;height:42px;min-width:82px;opacity:.82;transition:opacity .25s,transform .25s;}
.marquee__item:hover{opacity:1;transform:translateY(-1px);}
.marquee__logo{display:block;width:auto;height:clamp(25px,2.7vw,36px);max-width:128px;object-fit:contain;}
.marquee__track.is-static{animation:none;}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.brand-marquee{overflow-x:auto;}.marquee__track{animation:none;}.marquee__set[aria-hidden="true"]{display:none;}}

/* ============ FOOTER — horario / oficina ============ */
.footer__info{display:flex;flex-direction:column;gap:6px;}
.footer__info-title{font-family:var(--font-d);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--silver-300);margin-bottom:2px;}
.footer__info a{color:inherit;transition:color .25s;}
.footer__info a:hover{color:var(--gold);}
@media(max-width:1100px) and (min-width:769px){.footer__brand{grid-row:span 2}.footer__contact-column{grid-column:3}.footer__top{row-gap:30px}}
@media(max-width:768px){.footer{padding-top:38px}.footer__top{gap:24px;padding-bottom:30px}.footer__emblem{height:72px}.footer__nav{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px}.footer__nav::before{grid-column:1/-1;margin-bottom:3px}.footer__bottom{padding-block:20px;text-align:left;line-height:1.6}}
@media(max-width:760px){.brand-marquee{padding-block:16px}.marquee__set{gap:34px;padding-right:34px}.marquee__item{height:36px;min-width:72px}.marquee__logo{height:25px;max-width:104px}}

/* ============ ADMIN ============ */
.admin-page{min-height:100%;width:100%;max-width:100%;overflow-x:clip;background:var(--offwhite);}
.admin-page *{box-sizing:border-box;}
.admin-page .btn--primary{background:var(--black);color:var(--white);}
.admin-page .btn--primary:hover,.admin-page .btn--primary:focus-visible{background:var(--charcoal);color:var(--white);box-shadow:0 10px 24px rgba(0,0,0,.16);}
.admin-shell{min-height:100vh;background:var(--offwhite);}
.admin-login{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--black);padding:calc(24px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));}
.admin-login__card{width:100%;max-width:380px;background:var(--white);border-radius:20px;padding:36px;}
.admin-login__card img{height:30px;margin-bottom:24px;}
.admin-login__card h1{font-size:1.3rem;margin-bottom:6px;}
.admin-login__card p{color:var(--muted);font-size:.88rem;margin-bottom:24px;}
.admin-login__notice{background:rgba(200,163,92,.1);border:1px solid rgba(200,163,92,.3);color:var(--gold-deep);font-size:.78rem;line-height:1.5;padding:12px 14px;border-radius:12px;margin-top:20px;}
.admin-login__error{color:#a33;font-size:.85rem;margin-top:10px;display:none;}
.admin-forgot-link{display:block;margin:18px auto 0;color:var(--muted);font-size:.84rem;font-weight:650;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:10px 6px;}
.admin-forgot-link:hover,.admin-forgot-link:focus-visible{color:var(--ink);}
.admin-field{margin-bottom:18px;}
.admin-field label{display:block;font-family:var(--font-d);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;}
.admin-field input,.admin-field select,.admin-field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid rgba(0,0,0,.14);font-family:var(--font-b);font-size:.92rem;background:var(--offwhite);}
.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--ink);background:var(--white);}
.admin-field textarea{resize:vertical;min-height:90px;}
.admin-field--row{display:flex;gap:14px;}
.admin-field--row > *{flex:1;min-width:0;}
.admin-toggle-row{display:flex;align-items:center;gap:10px;padding:12px 0;}
.admin-toggle-row input{width:18px;height:18px;accent-color:var(--ink);}
.admin-toggle-row label{font-size:.88rem;font-weight:600;}

.admin-header{background:var(--black);color:var(--white);padding:calc(18px + env(safe-area-inset-top)) 0 18px;position:sticky;top:0;z-index:260;}
.admin-header .container{display:flex;align-items:center;justify-content:space-between;}
.admin-header__logo{display:flex;align-items:center;gap:12px;}
.admin-header__logo img{height:24px;}
.admin-header__badge{font-family:var(--font-d);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;background:rgba(200,163,92,.18);color:var(--gold);padding:4px 10px;border-radius:999px;}
.admin-menu-btn{display:none;border:1px solid rgba(255,255,255,.35);border-radius:9px;color:var(--white);padding:8px 12px;font-family:var(--font-d);font-size:.72rem;font-weight:700;text-transform:uppercase;}
.admin-nav-backdrop{display:none;position:fixed;inset:0;z-index:220;background:rgba(0,0,0,.48);width:100%;height:100%;}
.admin-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:34px;padding-block:30px 60px;align-items:start;}
.admin-nav{position:sticky;top:92px;display:flex;flex-direction:column;gap:5px;background:var(--white);border-radius:16px;padding:10px;box-shadow:0 8px 28px rgba(0,0,0,.05);}
.admin-nav__item{display:block;width:100%;text-align:left;padding:11px 13px;border-radius:9px;font-size:.86rem;font-weight:650;color:var(--muted);}
.admin-nav__item:hover,.admin-nav__item.is-active{background:var(--offwhite);color:var(--ink);}
.admin-nav__logout{margin-top:6px;border-top:1px solid rgba(0,0,0,.08);border-radius:0 0 9px 9px;color:#a33;}
.admin-content{min-width:0;}
.admin-view{display:none;}.admin-view.is-active{display:block;}
.admin-toolbar h1{font-size:clamp(1.4rem,2.5vw,2rem);}.admin-toolbar h2{font-size:1.25rem;}
.admin-eyebrow{font-family:var(--font-d);font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:2px;}
.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px;}
.admin-stat{background:var(--white);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:4px;}
.admin-stat strong{font-family:var(--font-d);font-size:1.55rem;}.admin-stat span{font-size:.76rem;color:var(--muted);}
.admin-dashboard-grid,.admin-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.admin-card{background:var(--white);border-radius:16px;padding:22px;}.admin-card h2{font-size:1rem;margin-bottom:14px;}
.admin-card__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;}.admin-card__head h2{margin:0;}
.admin-quick-actions{display:flex;flex-direction:column;gap:10px;}.admin-text-btn{font-size:.78rem;color:var(--muted);text-decoration:underline;}
.admin-recent-lead{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:.82rem;}.admin-recent-lead:last-child{border-bottom:0;}.admin-recent-lead span{color:var(--muted);}
.admin-account-email{font-family:var(--font-d);font-weight:700;overflow-wrap:anywhere;margin-bottom:8px;}.admin-help{color:var(--muted);font-size:.84rem;line-height:1.55;margin-bottom:16px;}
.admin-form-status{min-height:1.4em;margin-top:12px;font-size:.83rem;}.admin-form-status.is-error{color:#a33}.admin-form-status.is-success{color:#2e6b45}
.admin-required-note{font-size:.78rem;color:var(--muted);margin:-10px 0 18px;}.admin-required-note strong{color:#a33;}.admin-field label span{font-weight:400;color:var(--muted);}
.admin-field small{font-size:.72rem;color:var(--muted);margin-top:5px;}.admin-input-pair{display:grid;grid-template-columns:1fr 84px;gap:8px;}
.admin-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px;}.admin-filters label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:8px;}.admin-filters select,.admin-filters input{border:1px solid rgba(0,0,0,.14);background:var(--white);padding:9px 11px;border-radius:9px;font:inherit;text-transform:none;letter-spacing:0;min-width:150px;}
.admin-cleanup-notice{display:none;background:rgba(163,51,51,.08);border:1px solid rgba(163,51,51,.25);color:#a33;border-radius:10px;padding:12px 16px;font-size:.85rem;margin-bottom:16px;}

.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:24px;}
.admin-list{display:flex;flex-direction:column;gap:10px;}
.admin-row{display:grid;grid-template-columns:64px 1.4fr .8fr .8fr 1fr auto;gap:16px;align-items:center;background:var(--white);border-radius:14px;padding:12px 16px;}
.admin-row__thumb{width:56px;height:42px;border-radius:8px;background:linear-gradient(150deg,#2a2a2a,#0c0c0c 70%);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.admin-row__thumb img{width:100%;height:100%;object-fit:cover;}
.admin-row__thumb svg{width:40%;color:var(--silver-100);opacity:.35;}
.admin-row__name{font-weight:700;font-size:.92rem;}
.admin-row__sub{color:var(--muted);font-size:.78rem;}
.admin-pill{display:inline-block;font-family:var(--font-d);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 9px;border-radius:999px;}
.admin-pill--disponible{background:rgba(70,140,90,.14);color:#2e6b45;}
.admin-pill--reservado{background:rgba(180,140,40,.16);color:#8a6a1f;}
.admin-pill--vendido{background:rgba(180,60,50,.14);color:#a33;}
.admin-pill--oculto{background:rgba(0,0,0,.08);color:var(--muted);}
.admin-row__actions{display:flex;gap:8px;justify-content:flex-end;}
.admin-row__actions button{padding:8px 14px;border-radius:8px;font-family:var(--font-d);font-size:.68rem;font-weight:700;text-transform:uppercase;border:1.5px solid rgba(0,0,0,.14);}
.admin-row__actions button:hover{border-color:var(--ink);}
.admin-row__actions .danger:hover{border-color:#a33;color:#a33;}
.admin-row.admin-lead{grid-template-columns:minmax(0,1fr) auto;}.admin-lead__message{overflow-wrap:anywhere;}

.admin-editor{position:fixed;inset:0;background:rgba(10,10,10,.6);display:flex;justify-content:flex-end;z-index:300;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.admin-editor.is-open{opacity:1;visibility:visible;}
.admin-editor__panel{width:min(560px,100%);background:var(--white);height:100%;overflow-y:auto;padding:28px;transform:translateX(24px);transition:transform .35s var(--ease);}
.admin-editor.is-open .admin-editor__panel{transform:translateX(0);}
.admin-editor__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
.admin-editor__head h2{font-size:1.2rem;}
.admin-editor__close{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.admin-editor__actions{display:flex;gap:12px;margin-top:8px;padding-top:20px;border-top:1px solid rgba(0,0,0,.08);}
.admin-editor__actions .btn{flex:1;}

.admin-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.admin-tag{display:inline-flex;align-items:center;gap:6px;background:var(--offwhite);border:1px solid rgba(0,0,0,.1);border-radius:999px;padding:5px 6px 5px 12px;font-size:.8rem;}
.admin-tag button{width:16px;height:16px;border-radius:50%;background:rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;font-size:.7rem;line-height:1;}

.admin-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;}
.admin-photo-section{margin-top:28px;}
.admin-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;}
.admin-photo-heading h3{font-size:1rem;margin:0;}
.admin-photo-heading strong{font-family:var(--font-d);font-size:.82rem;background:var(--offwhite);border:1px solid rgba(0,0,0,.1);padding:6px 10px;border-radius:999px;white-space:nowrap;}
.admin-photo-help,.admin-photo-locked{color:var(--muted);font-size:.82rem;line-height:1.55;margin-bottom:6px;}
.admin-photo-locked{margin-top:28px;}.admin-photo-locked strong{color:var(--ink);}
.admin-photo{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--offwhite);border:2px solid transparent;}
.admin-photo.is-cover{border-color:var(--gold);}
.admin-photo img{width:100%;height:100%;object-fit:cover;}
.admin-photo__bar{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:space-between;padding:5px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);}
.admin-photo__bar button{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:.65rem;display:flex;align-items:center;justify-content:center;}
.admin-photo__bar .admin-photo__edit{width:auto;border-radius:999px;padding-inline:7px;font-size:.58rem;font-weight:750;}
.admin-photo__cover-flag{position:absolute;top:6px;left:6px;background:var(--gold);color:var(--black);font-family:var(--font-d);font-size:.55rem;font-weight:700;text-transform:uppercase;padding:3px 7px;border-radius:999px;}
.admin-upload-btn{border:1.5px dashed rgba(0,0,0,.22);border-radius:12px;padding:20px;text-align:center;cursor:pointer;color:var(--muted);font-size:.85rem;transition:border-color .3s,color .3s;}
.admin-upload-btn:hover{border-color:var(--ink);color:var(--ink);}
.admin-upload-btn.is-disabled{opacity:.55;cursor:not-allowed;background:var(--offwhite);}

.admin-crop-modal{position:fixed;inset:0;z-index:650;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,8,8,.78);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s;}
.admin-crop-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.admin-crop-dialog{width:min(920px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;background:var(--white);border-radius:18px;padding:22px;overscroll-behavior:contain;}
.admin-crop-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;}.admin-crop-head h2{font-size:1.2rem;}
.admin-crop-stage{height:min(58vh,560px);min-height:280px;background:#111;overflow:hidden;border-radius:12px;}.admin-crop-stage img{display:block;max-width:100%;}
.admin-crop-options,.admin-crop-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.admin-crop-options button,.admin-crop-tools button{min-height:42px;padding:9px 13px;border:1px solid rgba(0,0,0,.16);border-radius:9px;font-size:.78rem;font-weight:650;color:var(--ink);background:var(--white);}
.admin-crop-options button.is-active{background:var(--black);color:var(--white);border-color:var(--black);}
.admin-crop-actions{display:flex;gap:12px;margin-top:14px;}.admin-crop-actions .btn{flex:1;}
.admin-empty{text-align:center;padding-block:60px;color:var(--muted);}

.confirm-modal{position:fixed;inset:0;background:rgba(10,10,10,.6);display:flex;align-items:center;justify-content:center;z-index:400;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;padding:20px;}
.confirm-modal.is-open{opacity:1;visibility:visible;}
.confirm-modal__card{background:var(--white);border-radius:18px;padding:28px;max-width:380px;width:100%;}
.confirm-modal__card h3{margin-bottom:10px;font-size:1.1rem;}
.confirm-modal__card p{color:var(--muted);font-size:.9rem;margin-bottom:22px;}
.confirm-modal__actions{display:flex;gap:10px;}
.confirm-modal__actions .btn{flex:1;}

.admin-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--black);color:var(--white);padding:14px 22px;border-radius:999px;font-size:.85rem;opacity:0;visibility:hidden;transition:all .3s var(--ease);z-index:500;}
.admin-toast.is-open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

@media (max-width:900px){
  .admin-stats{grid-template-columns:repeat(3,1fr);}
  .admin-row{grid-template-columns:48px 1fr auto;}
  .admin-row__sub-cols{display:none;}
  .admin-layout{gap:22px;}
  .admin-dashboard-grid,.admin-account-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .admin-page{overflow-x:hidden;}
  .admin-login{align-items:flex-start;padding:calc(24px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));}
  .admin-login__card{padding:26px 20px;border-radius:16px;margin:auto 0;}
  .admin-login__card img{height:auto;width:min(210px,72%);object-fit:contain;}
  .admin-field input,.admin-field select,.admin-field textarea,.admin-filters input,.admin-filters select,.admin-lead__status{font-size:16px;min-height:48px;}
  .admin-header{padding:calc(12px + env(safe-area-inset-top)) 0 12px}.admin-header .container{padding-inline:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));}.admin-menu-btn{display:flex;align-items:center;justify-content:center;min-width:72px;min-height:44px}.admin-header__badge{display:none}.admin-header__logo img{width:min(190px,52vw);height:auto;max-height:28px;object-fit:contain}
  .admin-layout.container{display:block;width:100%;max-width:none;padding:18px max(16px,env(safe-area-inset-right)) calc(44px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));}
  .admin-nav{display:flex;position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:calc(68px + env(safe-area-inset-top));z-index:250;max-height:calc(100dvh - 86px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;box-shadow:0 18px 50px rgba(0,0,0,.28);transition:opacity .2s,transform .2s,visibility .2s}.admin-nav.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto}.admin-menu-open .admin-nav-backdrop{display:block}.admin-menu-open{overflow:hidden}.admin-nav__item{min-height:48px;display:flex;align-items:center;font-size:.92rem;padding:12px 14px}.admin-nav__logout{margin-top:4px}
  .admin-toolbar{padding:8px 0 18px;align-items:stretch;flex-direction:column}.admin-toolbar h1{font-size:1.65rem}.admin-toolbar .btn{width:100%;min-height:48px}.admin-eyebrow{font-size:.68rem}
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.admin-stat{padding:16px;min-height:88px;justify-content:center}.admin-stat strong{display:block;font-size:1.65rem;line-height:1.05}.admin-stat span{display:block;font-size:.78rem;line-height:1.25}.admin-stat:last-child{grid-column:1/-1;min-height:76px}
  .admin-dashboard-grid,.admin-account-grid{grid-template-columns:minmax(0,1fr);gap:14px}.admin-card{padding:18px;border-radius:14px}.admin-card__head{align-items:flex-start}.admin-quick-actions .btn,.admin-account-grid .btn{min-height:48px;width:100%}
  .admin-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:16px}.admin-filters label{width:100%;align-items:stretch;flex-direction:column;gap:7px}.admin-filters select,.admin-filters input{width:100%;min-width:0}
  .admin-row{grid-template-columns:52px minmax(0,1fr);gap:10px 12px;padding:14px;border-radius:13px;align-items:start}.admin-row__thumb{width:52px;height:42px}.admin-row>div:nth-child(n+3){grid-column:2}.admin-row__name{font-size:.94rem;line-height:1.35;overflow-wrap:anywhere}.admin-row__sub{font-size:.8rem;line-height:1.55;overflow-wrap:anywhere}.admin-row__actions{grid-column:1/-1!important;justify-content:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-row__actions button,.admin-lead__status{min-height:44px;width:100%;padding:10px}.admin-row.admin-lead{grid-template-columns:minmax(0,1fr);padding:16px}.admin-row.admin-lead .admin-row__actions{grid-column:1}.admin-lead__message{margin-top:8px}.admin-recent-lead{align-items:flex-start;flex-direction:column;gap:3px}
  .admin-editor{align-items:stretch;background:var(--white);}.admin-editor__panel{width:100%;max-width:none;height:100dvh;padding:calc(18px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));transform:translateY(18px);overscroll-behavior:contain}.admin-editor.is-open .admin-editor__panel{transform:none}.admin-editor__head{position:sticky;top:calc(-18px - env(safe-area-inset-top));z-index:5;background:var(--white);padding:calc(18px + env(safe-area-inset-top)) 0 14px;margin-bottom:18px;border-bottom:1px solid rgba(0,0,0,.08)}.admin-editor__close{width:44px;height:44px}.admin-required-note{margin-top:0}
  .admin-photo-grid{grid-template-columns:repeat(2,1fr);}
  .admin-field--row{flex-direction:column;gap:0;}
  .admin-field{margin-bottom:16px}.admin-input-pair{grid-template-columns:minmax(0,1fr) 82px}.admin-toggle-row{min-height:48px}.admin-toggle-row input{width:22px;height:22px;flex:0 0 auto}
  .admin-editor__actions{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));background:var(--white);margin-inline:-4px;padding:14px 4px calc(16px + env(safe-area-inset-bottom));z-index:4}.admin-editor__actions .btn{min-height:48px}.admin-upload-btn{min-height:58px;display:flex!important;align-items:center;justify-content:center;padding:14px}
  .admin-photo{border-radius:12px}.admin-photo__bar{padding:7px;gap:4px}.admin-photo__bar button{width:32px;height:32px;font-size:.78rem}.admin-photo__bar .admin-photo__edit{width:auto;padding-inline:8px;font-size:.62rem}.admin-photo__cover-flag{font-size:.6rem}
  .admin-crop-modal{align-items:stretch;padding:0}.admin-crop-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0;padding:calc(16px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.admin-crop-head{position:sticky;top:calc(-16px - env(safe-area-inset-top));z-index:4;background:var(--white);padding:calc(16px + env(safe-area-inset-top)) 0 12px;margin-bottom:12px}.admin-crop-stage{height:min(48vh,430px);min-height:230px}.admin-crop-options{display:grid;grid-template-columns:1fr}.admin-crop-options button{width:100%}.admin-crop-tools{display:grid;grid-template-columns:1fr 1fr}.admin-crop-tools button{min-height:46px}.admin-crop-actions{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));z-index:4;background:var(--white);padding:12px 0 calc(16px + env(safe-area-inset-bottom))}.admin-crop-actions .btn{min-width:0;padding-inline:12px;white-space:normal;min-height:48px}
  .admin-toast{max-width:calc(100vw - 28px);width:max-content;text-align:center;bottom:14px}
}
@media (max-width:359px){
  .admin-layout.container{padding-inline:12px}.admin-header .container{padding-inline:12px}.admin-header__logo img{width:150px}.admin-stats{gap:8px}.admin-stat{padding:13px}.admin-card{padding:16px}.admin-editor__actions{flex-direction:column}.admin-photo-grid{grid-template-columns:1fr}.confirm-modal__actions{flex-direction:column}
}

/* ============ FASE 4 — soporte intro por sesión + fotos reales ============ */
html.no-intro .hero__inner>*{opacity:1!important;transform:none!important;animation:none!important;}
html.no-intro #intro{display:none!important;}
.vehicle-card__photo,.mini-card__photo,.inv-card__photo{width:100%;height:100%;object-fit:cover;}
.featured-track .skeleton-card{flex:0 0 clamp(250px,29vw,312px);}
.carousel-track .skeleton-card{flex:0 0 min(68vw,264px);}
.inv-grid .skeleton-card{border-radius:14px;}

/* ============ FASE 4 — galería con fotos reales ============ */
.gallery__main img{width:100%;height:100%;object-fit:cover;}
.gallery__thumbs button img{width:100%;height:100%;object-fit:cover;}
.gallery__empty-note{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:var(--silver-500);font-size:.82rem;}
