/* ══ RESET ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
ul{list-style:none}
input,select,textarea,button{font-family:'Barlow',sans-serif}

/* ══ THEME SWITCHER ══ */
.theme-switcher{
  position:fixed;bottom:32px;left:32px;z-index:9999;
  display:flex;flex-direction:column;gap:8px;
}
.ts-label{font-size:.55rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#aaa;margin-bottom:4px}
.ts-btn{
  width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.2);
  cursor:pointer;transition:all .3s;position:relative;
}
.ts-btn.active{border-color:#fff;transform:scale(1.15)}
.ts-btn[data-t="1"]{background:#c9a84c}
.ts-btn[data-t="2"]{background:#d0cfc8}
.ts-btn[data-t="3"]{background:#2d6a4f}
.ts-btn[data-t="4"]{background:#38c0e0}
.ts-btn[data-t="5"]{background:#7c6bd4}
.ts-tooltip{
  position:absolute;left:48px;top:50%;transform:translateY(-50%);
  background:#111;color:#fff;font-size:.7rem;font-weight:700;
  white-space:nowrap;padding:6px 12px;border-radius:6px;
  pointer-events:none;opacity:0;transition:opacity .2s;
}
.ts-btn:hover .ts-tooltip{opacity:1}

/* ══ VARIABLES POR TEMA ══ */
/* T1: Azul marino + Dorado */
[data-theme="1"]{
  --bg:#f8f7f4; --bg2:#1a2744; --bg3:#eef0f5; --card:#fff;
  --ac:#c9a84c; --ac-dark:#a8893a; --ac-text:#1a2744;
  --txt:#1a2744; --muted:#8a8f9e; --border:#e2e5ed;
  --nav:#1a2744; --hero:#0f1a35;
  --btn-radius:50px; --card-radius:12px;
}
/* T2: Antracita + Hueso */
[data-theme="2"]{
  --bg:#f5f5f3; --bg2:#1c1c1c; --bg3:#eeeeec; --card:#fff;
  --ac:#e8e2d5; --ac-dark:#cdc7ba; --ac-text:#1c1c1c;
  --ac-strong:#3a3530;
  --txt:#1c1c1c; --muted:#888; --border:#e0e0de;
  --nav:#1c1c1c; --hero:#111;
  --btn-radius:4px; --card-radius:6px;
}
/* T2: em y tags en fondo claro → marrón oscuro cálido, legible */
[data-theme="2"] .sec-title em,
[data-theme="2"] .hero h1 em { color:#3a3530 }
[data-theme="2"] .sec-tag { color:#3a3530 }
[data-theme="2"] .card-marca { color:#3a3530 }
[data-theme="2"] .det-marca { color:#3a3530 }
[data-theme="2"] .ver-todos { color:#3a3530; border-bottom-color:#3a3530 }
[data-theme="2"] .hero-label { color:#1c1c1c }
/* T2: en secciones oscuras → hueso claro, legible sobre negro */
[data-theme="2"] .sec-dark .sec-title em { color:#e8e2d5 }
[data-theme="2"] .sec-dark .sec-tag { color:#e8e2d5 }
/* T2: hero-glow en tono neutro */
/* T3: Verde + Crema */
[data-theme="3"]{
  --bg:#faf8f3; --bg2:#1a2e1e; --bg3:#f0ede4; --card:#fff;
  --ac:#d4a84b; --ac-dark:#b8902e; --ac-text:#1a2e1e;
  --txt:#1a2e1e; --muted:#8a9480; --border:#e0ddd4;
  --nav:#1a2e1e; --hero:#1a2e1e;
  --btn-radius:50px; --card-radius:12px;
}
/* T4: Celeste claro + Blanco */
[data-theme="4"]{
  --bg:#f0f9ff; --bg2:#0e7fa3; --bg3:#e4f4fb; --card:#fff;
  --ac:#38c0e0; --ac-dark:#1a9ab8; --ac-text:#fff;
  --txt:#0f3a48; --muted:#5a9aaa; --border:#bde4f0;
  --nav:#fff; --hero:#e0f4fb;
  --btn-radius:50px; --card-radius:14px;
}
/* T5: Negro suavizado + Pastel */
[data-theme="5"]{
  --bg:#fafafa; --bg2:#2c2c34; --bg3:#f2f2f5; --card:#fff;
  --ac:#7c6bd4; --ac-dark:#6254b8; --ac-text:#fff;
  --ac-light:#c4bbf8;
  --txt:#2c2c34; --muted:#9a9aaa; --border:#e8e8f0;
  --nav:#2c2c34; --hero:#23232b;
  --btn-radius:10px; --card-radius:14px;
}
/* T5: em en títulos más oscuro/legible sobre fondo claro */
[data-theme="5"] .sec-title em,
[data-theme="5"] .hero h1 em { color:#6254b8 }
/* T5: em en secciones oscuras → violeta claro */
[data-theme="5"] .sec-dark .sec-title em { color:#c4bbf8 }
/* T5: tag de sección en fondo claro → violeta más oscuro */
[data-theme="5"] .sec-tag { color:#6254b8 }
/* T5: sec-dark mantiene tag más claro */
[data-theme="5"] .sec-dark .sec-tag { color:#c4bbf8 }
/* T5: card-marca y card-btn con violeta oscuro */
[data-theme="5"] .card-marca { color:#6254b8 }
/* T5: det-marca y det-precio */
[data-theme="5"] .det-marca { color:#6254b8 }
/* T5: ver-todos */
[data-theme="5"] .ver-todos { color:#6254b8; border-bottom-color:#6254b8 }
/* T5: nav-cta y btn-ac mantienen fondo violeta oscuro */
[data-theme="5"] .nav-cta,
[data-theme="5"] .btn-ac { background:#7c6bd4 }

/* ══ NAVBAR ══ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:68px;background:var(--nav);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;transition:all .3s;
}
[data-theme="2"] .navbar{border-bottom:3px solid #3a3530}
.navbar.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.4)}
.nav-logo{display:flex;flex-direction:column;align-items:center;line-height:1;gap:1px;cursor:pointer}
.nav-logo .fl{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:#fff;letter-spacing:5px;line-height:1}
[data-theme="3"] .nav-logo .fl{color:#e8e2d0}
[data-theme="4"] .nav-logo .fl{color:var(--txt)}
[data-theme="4"] .nav-links a{color:rgba(0,0,0,.45)}
[data-theme="4"] .nav-links a:hover{color:var(--txt);background:rgba(0,0,0,.04)}
[data-theme="4"] .nav-ham span{background:var(--txt)}
[data-theme="4"] .navbar.scrolled{box-shadow:0 4px 20px rgba(56,192,224,.15);border-bottom:1px solid var(--border)}
[data-theme="4"] .hero h1{color:var(--txt)}
[data-theme="4"] .hero-sub{color:var(--muted)}
[data-theme="4"] .hero-label{color:var(--ac);background:rgba(56,192,224,.1);border-color:rgba(56,192,224,.25)}
[data-theme="4"] .btn-ghost{color:var(--txt);border-color:var(--border)}
[data-theme="4"] .btn-ghost:hover{border-color:var(--ac);color:var(--ac)}
[data-theme="5"] .sec-dark .sec-title{color:#f0f0ff}
[data-theme="5"] .pi:hover .pi-n,[data-theme="5"] .pi:hover .pi-t{color:#f0f0ff!important}
.nav-logo .sub{font-size:.42rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--ac)}
.nav-links{display:flex;gap:2px;align-items:center}
.nav-links a{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.45);padding:7px 13px;border-radius:6px;transition:all .2s;position:relative}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.07)}
.nav-cta{background:var(--ac)!important;color:var(--ac-text)!important;border-radius:var(--btn-radius)!important;font-weight:800!important}
.nav-cta:hover{background:var(--ac-dark)!important;opacity:1!important}
.nav-ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.nav-ham span{display:block;width:24px;height:2px;background:#fff;transition:all .3s}
.nav-mobile{display:none;position:fixed;top:68px;left:0;right:0;background:var(--nav);z-index:899;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.nav-mobile.open{display:block}
.nav-mobile a{display:block;width:100%;box-sizing:border-box;padding:16px 28px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s,background .2s;margin:0}
.nav-mobile a:last-child{border-bottom:none}
.nav-mobile a:hover{color:#fff;background:rgba(255,255,255,.06)}

/* ══ HERO ══ */
.hero{
  min-height:auto;background:var(--hero);
  display:flex;align-items:center;padding:100px 48px 52px;
  position:relative;overflow:hidden;
}
/* Imagen de fondo — Fix 6: efecto Ken Burns (zoom + desplazamiento) */
.hero-bg-img{
  position:absolute;inset:0;
  background:url('https://images.unsplash.com/photo-1544636331-e26879cd4d9b?w=1800&q=80') center/cover no-repeat;
  opacity:.18;
  animation:kenBurns 20s ease-in-out infinite alternate;
  transform-origin:center center;
}
@keyframes kenBurns{
  0%  {transform:scale(1)    translateX(0px)   translateY(0px)}
  33% {transform:scale(1.07) translateX(-20px) translateY(-10px)}
  66% {transform:scale(1.05) translateX(15px)  translateY(-5px)}
  100%{transform:scale(1.09) translateX(-10px) translateY(8px)}
}
[data-theme="3"] .hero-bg-img{background-image:url('https://images.unsplash.com/photo-1594736797933-d0501ba2fe65?w=1800&q=80')}
.hero-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,var(--hero) 45%,transparent)}

/* ══ SWEEP DIAGONAL ══ */
/* ── Velocidad: cambiá --sweep-speed (segundos) ── */
:root { --sweep-speed: 7s; }

.hero::before{
  content:'';
  position:absolute;
  top:-120%;left:-60%;
  width:80%;height:160%;
  background:linear-gradient(
    105deg,
    transparent 30%,
    rgba(255,255,255,.06) 45%,
    rgba(255,255,255,.11) 50%,
    rgba(255,255,255,.06) 55%,
    transparent 70%
  );
  animation:heroSweepDiag var(--sweep-speed) ease-in-out infinite;
  pointer-events:none;z-index:0;
}
@keyframes heroSweepDiag{
  0%  {transform:translate(-10%,-10%);opacity:0}
  8%  {opacity:1}
  70% {transform:translate(160%,80%);opacity:.9}
  80%,100%{transform:translate(160%,80%);opacity:0}
}
/* Segundo glow izquierdo */
.hero::after{
  content:'';position:absolute;top:-200px;left:-200px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.02) 0%,transparent 70%);
  animation:heroGlow2 8s ease-in-out infinite alternate;
  pointer-events:none;z-index:0;
}
@keyframes heroGlow2{from{transform:translate(0,0) scale(1)}to{transform:translate(80px,60px) scale(1.2)}}

/* Glow pulsante */
.hero-glow{
  position:absolute;right:-100px;bottom:-100px;width:600px;height:600px;
  border-radius:50%;pointer-events:none;
  animation:glowPulse 4s ease-in-out infinite;
}
@keyframes glowPulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
[data-theme="1"] .hero-glow{background:radial-gradient(circle,rgba(201,168,76,.15) 0%,transparent 70%)}
[data-theme="2"] .hero-glow{background:radial-gradient(circle,rgba(232,226,213,.08) 0%,transparent 70%)}
[data-theme="3"] .hero-glow{background:radial-gradient(circle,rgba(212,168,75,.15) 0%,transparent 70%)}
[data-theme="4"] .hero-glow{background:radial-gradient(circle,rgba(56,192,224,.25) 0%,transparent 70%)}
[data-theme="5"] .hero-glow{background:radial-gradient(circle,rgba(155,138,244,.2) 0%,transparent 70%)}
.hero-inner{position:relative;z-index:1;max-width:700px}
.hero-label{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  padding:7px 16px;border-radius:12px;
  max-width:calc(100vw - 96px);
  line-height:1.5;
}
.hero-label-nombre{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.35rem;font-weight:900;letter-spacing:5px;text-transform:uppercase;
  color:#fff;line-height:1;
}
.hero-label-sep{
  color:rgba(255,255,255,.25);font-size:.85rem;
}
.hero-label-dir{
  font-size:.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--ac);opacity:.95;
}
@media(max-width:768px){
  .hero-label{
    max-width:calc(100vw - 48px);
    padding:8px 14px;gap:6px;
  }
  .hero-label-nombre{ font-size:1.05rem;letter-spacing:3px; }
  .hero-label-dir   { font-size:.55rem;letter-spacing:1px; }
}
[data-theme="2"] .hero-label{border-radius:3px;background:var(--ac);color:#fff;border:none}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,4vw,3.2rem);color:#fff;line-height:.92;letter-spacing:2px;margin-bottom:12px;animation:heroFadeUp .7s .15s ease both}
[data-theme="3"] .hero h1{color:#e8e2d0}
.hero h1 em{color:var(--ac);font-style:normal;display:block}
.hero-sub{color:rgba(255,255,255,.38);font-size:.82rem;line-height:1.7;max-width:420px;margin-bottom:22px;animation:heroFadeUp .7s .3s ease both}
@keyframes heroFadeDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;animation:heroFadeUp .7s .45s ease both}
.btn-ac{background:var(--ac);color:var(--ac-text);padding:14px 36px;border-radius:var(--btn-radius);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;transition:all .3s;display:inline-block;border:none;cursor:pointer}
.btn-ac:hover{background:var(--ac-dark);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.btn-ghost{background:transparent;color:rgba(255,255,255,.5);border:1.5px solid rgba(255,255,255,.15);padding:14px 36px;border-radius:var(--btn-radius);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;transition:all .3s;display:inline-block;cursor:pointer}
.btn-ghost:hover{border-color:rgba(255,255,255,.4);color:#fff}

/* ══ QUICK CATS ══ */
.quick-cats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border-top:3px solid var(--ac)}
[data-theme="4"] .quick-cats{box-shadow:0 4px 20px rgba(0,0,0,.04)}
[data-theme="5"] .quick-cats{border-top-color:var(--ac)}
.qc{padding:20px 18px;text-align:center;cursor:pointer;border-right:1px solid var(--border);transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:8px}
.qc:last-child{border-right:none}
.qc:hover{background:var(--bg2)}
.qc:hover .qc-t,.qc:hover .qc-s{color:#fff!important}
.qc-icon{width:40px;height:40px;background:var(--bg2);border-radius:var(--card-radius);display:flex;align-items:center;justify-content:center;transition:all .3s}
[data-theme="1"] .qc-icon{border-radius:12px}
[data-theme="4"] .qc-icon{background:rgba(56,192,224,.12)}
[data-theme="5"] .qc-icon{background:rgba(155,138,244,.1)}
.qc:hover .qc-icon{background:var(--ac)}
.qc-icon svg{width:24px;height:24px;fill:#fff;transition:all .3s}
[data-theme="4"] .qc-icon svg{fill:var(--ac)}
[data-theme="5"] .qc-icon svg{fill:var(--ac)}
.qc:hover .qc-icon svg{fill:var(--ac-text)}
.qc-t{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--txt);letter-spacing:1px;transition:all .3s}
.qc-s{font-size:.73rem;color:var(--muted);transition:all .3s}

/* ══ SECCIONES ══ */
.sec{padding:80px 48px;background:var(--bg)}
.sec-dark{padding:80px 48px;background:var(--bg2)}

/* ══ SECCIÓN PROMOCIONES — HEADER EN COLOR ACENTO ══ */
#promociones {
  padding: 0;
  background: var(--bg);
  position: relative;
  overflow: visible;
}

.promo-header {
  background: var(--ac);
  padding: 52px 48px 44px;
  position: relative;
  overflow: hidden;
}
.promo-header::before { display: none; }
.promo-header::after  { display: none; }

/* Textos sobre fondo de acento */
.promo-header .sec-tag {
  color: rgba(255,255,255,.7);
  letter-spacing: 5px;
}
.promo-header .sec-title      { color: #fff; }
.promo-header .sec-title em   { color: rgba(255,255,255,.75); font-style: italic; }
.promo-header .sec-desc        { color: rgba(255,255,255,.65); }

/* Tema 2 (hueso claro): acento muy claro → usar texto oscuro */
[data-theme="2"] .promo-header .sec-title,
[data-theme="2"] .promo-header .sec-tag,
[data-theme="2"] .promo-header .sec-desc { color: var(--ac-text); }
[data-theme="2"] .promo-header .sec-title em { color: var(--ac-text); opacity: .6; }

/* Pills sobre acento */
.promo-header .promo-pills    { margin-bottom: 0; margin-top: 28px; }
.promo-header .ppill {
  background: rgba(255,255,255,.15);
  border: 1.5px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.8);
}
.promo-header .ppill.active,
.promo-header .ppill:hover {
  background: #fff;
  border-color: #fff;
  color: var(--ac);
  font-weight: 900;
  box-shadow: 0 4px 14px rgba(0,0,0,.15);
}

/* Body: cards sobre fondo claro */
.promo-body {
  padding: 48px 48px 80px;
  background: var(--bg);
}

/* Estado vacío */
.promo-empty {
  text-align: center;
  padding: 64px 24px;
}
.promo-empty-icon  { font-size: 3rem; margin-bottom: 16px; opacity: .35; }
.promo-empty-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.8rem;
  color: var(--muted);
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.promo-empty-sub { font-size: .82rem; color: var(--muted); opacity: .7; }

/* Responsive */
@media(max-width:768px) {
  .promo-header { padding: 36px 24px 28px; }
  .promo-body   { padding: 32px 24px 60px; }
}

.sec-gray{padding:80px 48px;background:var(--bg3)}
.sec-tag{font-size:.62rem;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:var(--ac);display:block;margin-bottom:10px}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,4vw,3.5rem);letter-spacing:1px;line-height:.95;color:var(--txt)}
.sec-dark .sec-title,.sec-dark .sec-tag{color:#fff}
.sec-dark .sec-tag{color:var(--ac)}
[data-theme="3"] .sec-dark .sec-title{color:#e8e2d0}
.sec-title em{color:var(--ac);font-style:normal}
.sec-desc{margin-top:14px;color:var(--muted);font-size:.92rem;line-height:1.7;max-width:500px}
.sec-dark .sec-desc{color:rgba(255,255,255,.38)}
.sec-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.ver-todos{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--ac);border-bottom:1px solid var(--ac);padding-bottom:2px;cursor:pointer;transition:all .2s;white-space:nowrap}
.ver-todos:hover{opacity:.7}

/* ══ FILTROS ══ */
.filtros-wrap{background:var(--card);border-radius:var(--card-radius);box-shadow:0 4px 20px rgba(0,0,0,.07);padding:24px 28px;margin-bottom:32px;border:1px solid var(--border)}
.filtros-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.fg{display:flex;flex-direction:column;gap:5px;flex:1;min-width:130px}
.fg label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.fg select,.fg input{padding:10px 14px;border:2px solid var(--border);border-radius:8px;font-size:.88rem;background:var(--bg);color:var(--txt);transition:all .2s;appearance:none;-webkit-appearance:none}
.fg select:focus,.fg input:focus{outline:none;border-color:var(--ac)}
.btn-filtrar{padding:10px 24px;background:var(--txt);color:#fff;border:none;border-radius:8px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-filtrar:hover{background:var(--ac)}
.btn-clear{padding:10px 16px;background:transparent;color:var(--muted);border:2px solid var(--border);border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-clear:hover{border-color:var(--ac);color:var(--ac)}

/* ══ GRILLA CARDS ══ */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.grid-count{font-size:.78rem;color:var(--muted);font-weight:600;margin-bottom:20px}

/* ══ CARD ══ */
.card{background:var(--card);border-radius:var(--card-radius);border:1px solid var(--border);overflow:hidden;transition:all .3s;cursor:pointer;display:flex;flex-direction:column;animation:fadeUp .5s ease both}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.12);border-color:var(--ac)}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* ══ SLIDER EN TARJETA ══ */
.card-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg3)}
/* Track de slides */
.card-slides{display:flex;height:100%;transition:transform .42s cubic-bezier(.4,0,.2,1)}
.card-slide{min-width:100%;height:100%;flex-shrink:0;position:relative;overflow:hidden}
.card-slide img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;display:block}
/* Zoom al hover — solo la slide activa */
.card:hover .card-slide img{transform:scale(1.08)}
/* Flechas */
.card-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  background:rgba(0,0,0,.45);color:#fff;border:none;width:30px;height:30px;
  border-radius:50%;cursor:pointer;font-size:.95rem;display:flex;align-items:center;
  justify-content:center;opacity:0;transition:all .22s;backdrop-filter:blur(4px)}
.card-img:hover .card-arrow{opacity:1}
.card-arrow:hover{background:var(--ac);color:var(--ac-text);transform:translateY(-50%) scale(1.1)}
.card-arrow.prev{left:8px}
.card-arrow.next{right:8px}
/* Solo mostrar flechas si hay más de 1 foto */
.card-img[data-total="1"] .card-arrow{display:none}
/* Puntitos */
.card-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  display:flex;gap:5px;z-index:5}
.card-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);
  border:none;padding:0;cursor:pointer;transition:all .2s}
.card-dot.active{background:#fff;transform:scale(1.25)}
.card-img[data-total="1"] .card-dots{display:none}
/* Badge y promo-desc se mantienen */
.card-badge{position:absolute;top:12px;left:12px;z-index:6;background:var(--ac);color:var(--ac-text);font-size:.6rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:5px 12px;border-radius:var(--btn-radius)}
.card-badge.promo{background:#e67e22;color:#fff}
.card-badge.vendido{background:#666;color:#fff}
.card-promo-desc{position:absolute;bottom:0;left:0;right:0;z-index:4;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);padding:20px 14px 10px;font-size:.72rem;font-weight:700;color:#fff;letter-spacing:.5px}
/* Contador de fotos (esquina sup der) */
.card-foto-count{position:absolute;top:10px;right:10px;z-index:6;background:rgba(0,0,0,.55);
  color:#fff;font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:20px;
  backdrop-filter:blur(4px);display:flex;align-items:center;gap:4px}
.card-img[data-total="1"] .card-foto-count{display:none}
.card-body{padding:18px 20px;flex:1;display:flex;flex-direction:column;gap:4px}
.card-marca{font-size:.62rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--ac)}
.card-nombre{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--txt);line-height:1}
.card-ver{font-size:.78rem;color:var(--muted);margin-top:2px}
.card-specs{display:flex;gap:20px;padding:12px 0;border-top:1px solid var(--border);margin-top:auto}
.cs{display:flex;flex-direction:column;gap:2px}
.cs-l{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.cs-v{font-size:.82rem;font-weight:700;color:var(--txt)}
.card-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-precio{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;color:var(--txt);letter-spacing:.5px}
.card-precio-wrap{display:flex;flex-direction:column;gap:1px}
.card-precio-old{font-size:.75rem;color:var(--muted);text-decoration:line-through}
.card-precio-new{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;color:var(--ac);letter-spacing:.5px}
.card-desc-promo{font-size:.68rem;font-weight:700;color:var(--ac);text-transform:uppercase;letter-spacing:1px}
.card-btn{background:var(--txt);color:#fff;padding:7px 18px;border-radius:var(--btn-radius);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;transition:all .3s;white-space:nowrap}
.card-btn:hover{background:var(--ac);color:var(--ac-text)}

/* ══ PROMOS PILLS ══ */
.promo-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.ppill{padding:8px 20px;border-radius:50px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s}
.ppill.active,.ppill:hover{background:var(--ac);border-color:var(--ac);color:var(--ac-text)}

/* ══ LOADING / EMPTY ══ */
.loading{text-align:center;padding:80px;color:var(--muted)}
.spinner{width:42px;height:42px;border:3px solid var(--border);border-top-color:var(--ac);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 20px}
@keyframes spin{to{transform:rotate(360deg)}}
.empty-state{text-align:center;padding:80px;color:var(--muted)}

/* ══ POR QUÉ ELEGIRNOS ══ */
.porque-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border);border-radius:var(--card-radius);overflow:hidden}
.pi{background:var(--card);padding:38px 30px;display:flex;flex-direction:column;gap:14px;transition:all .3s}
.pi:hover{background:var(--bg2)}
.pi:hover .pi-n,.pi:hover .pi-t,.pi:hover .pi-d{color:#fff!important}
[data-theme="3"] .pi:hover .pi-n,[data-theme="3"] .pi:hover .pi-t{color:#e8e2d0!important}
.pi-n{font-family:'Bebas Neue',sans-serif;font-size:3.2rem;color:var(--ac);line-height:1;transition:all .3s}
.pi-t{font-size:.95rem;font-weight:800;color:var(--txt);transition:all .3s}
.pi-d{font-size:.83rem;color:var(--muted);line-height:1.6;transition:all .3s}

/* ══ VENDER FORM ══ */
.vender-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
.vender-info{position:sticky;top:100px}
.vsteps{display:flex;flex-direction:column;gap:22px;margin-top:36px}
.vstep{display:flex;gap:18px;align-items:flex-start}
.vstep-n{width:42px;height:42px;flex-shrink:0;background:var(--ac);border-radius:50%;font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--ac-text);display:flex;align-items:center;justify-content:center}
.vstep-t{font-size:.9rem;font-weight:800;color:var(--txt);margin-bottom:4px}
.vstep-d{font-size:.8rem;color:var(--muted);line-height:1.6}

.vform{background:var(--card);border-radius:var(--card-radius);padding:40px;box-shadow:0 8px 40px rgba(0,0,0,.1);border:1px solid var(--border)}
.vform-title{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--txt);margin-bottom:6px}
.vform-sub{font-size:.82rem;color:var(--muted);margin-bottom:28px}
.fsec-title{font-size:.62rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--ac);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fgrid3{grid-template-columns:1fr 1fr 1fr}
.fgroup{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.fgroup.full{grid-column:1/-1}
.fgroup label{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.fgroup input,.fgroup select,.fgroup textarea{padding:11px 14px;border:2px solid var(--border);border-radius:8px;font-size:.9rem;color:var(--txt);background:var(--bg);transition:all .2s;appearance:none;-webkit-appearance:none;width:100%}
.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{outline:none;border-color:var(--ac);background:var(--card)}
.fgroup input.err,.fgroup select.err{border-color:#e53e3e}
.fgroup textarea{resize:vertical;min-height:90px}
.fgroup select:disabled{opacity:.5;cursor:not-allowed}

/* Upload */
.upload-area{border:2px dashed var(--border);border-radius:var(--card-radius);padding:36px;text-align:center;cursor:pointer;transition:all .3s;background:var(--bg3)}
.upload-area:hover,.upload-area.drag{border-color:var(--ac);background:var(--bg)}
.upload-icon{font-size:2.2rem;margin-bottom:10px}
.upload-t{font-weight:700;font-size:.92rem;color:var(--txt);margin-bottom:6px}
.upload-s{font-size:.75rem;color:var(--muted)}
.upload-s span{color:var(--ac);font-weight:700}
#fotoInput{display:none}
.fotos-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.fthumb{position:relative;width:86px;height:66px;border-radius:6px;overflow:hidden;border:2px solid var(--border)}
.fthumb img{width:100%;height:100%;object-fit:cover}
.fthumb-rm{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.7);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* Status msgs */
.msg-ok{background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;padding:18px;font-size:.85rem;font-weight:700;color:#065f46;display:none;margin-top:16px}
.msg-ok.show{display:block}
.msg-err{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:18px;font-size:.85rem;font-weight:700;color:#c53030;display:none;margin-top:16px}
.msg-err.show{display:block}
.ws-status{font-size:.72rem;color:var(--muted);margin-top:6px;font-style:italic}
.ws-status.loading-inline::before{content:'⏳ '}
.ws-status.ok::before{content:'✓ ';color:green}
.ws-status.error::before{content:'⚠ ';color:#e53e3e}

/* ══ DETALLE INLINE ══ */
.det-wrap{display:none;animation:fadeUp .4s ease both}
.det-wrap.active{display:block}
.det-back{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--ac);cursor:pointer;margin-bottom:32px;transition:all .2s;border:none;background:none;padding:0}
.det-back:hover{opacity:.7;gap:12px}
.det-back svg{width:18px;height:18px;fill:var(--ac)}
.det-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}
/* Galería */
.det-galeria{position:relative;background:var(--bg2);border-radius:var(--card-radius);overflow:hidden}
.det-galeria-main{aspect-ratio:16/10;overflow:hidden}
.det-galeria-main img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.det-thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto;background:rgba(0,0,0,.4)}
.det-thumbs::-webkit-scrollbar{height:4px}.det-thumbs::-webkit-scrollbar-thumb{background:var(--ac);border-radius:2px}
.dthumb{width:80px;height:58px;flex-shrink:0;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s;opacity:.5}
.dthumb.active{border-color:var(--ac);opacity:1}
.dthumb img{width:100%;height:100%;object-fit:cover}
.dgnav{position:absolute;top:42%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2}
.dgnav:hover{background:var(--ac);color:var(--ac-text)}
.dgnav.prev{left:12px}.dgnav.next{right:12px}
/* Info panel */
.det-info{display:flex;flex-direction:column;gap:0}
.det-marca{font-size:.62rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--ac);margin-bottom:6px}
.det-titulo{font-family:'Bebas Neue',sans-serif;font-size:3rem;color:var(--txt);line-height:.9;margin-bottom:4px}
.det-ver{color:var(--muted);font-size:.92rem;margin-bottom:20px}
.det-promo-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(230,126,34,.1);border:1px solid rgba(230,126,34,.3);color:#e67e22;font-size:.68rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:7px 14px;border-radius:50px;margin-bottom:16px;width:fit-content}
.det-precio-row{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.det-precio-old{font-size:1rem;color:var(--muted);text-decoration:line-through}
.det-precio{font-family:'Bebas Neue',sans-serif;font-size:3.2rem;color:var(--txt);letter-spacing:.5px;line-height:1}
.det-precio.promo{color:var(--ac)}
.det-specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:var(--card-radius);overflow:hidden;margin-bottom:20px}
.ds{background:var(--bg3);padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.ds-l{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.ds-v{font-size:.92rem;font-weight:800;color:var(--txt)}
/* Fila de descripción: ocupa todo el ancho, texto normal sin bold */
.ds-full{grid-column:1/-1}
.ds-desc{font-size:.82rem;font-weight:500;color:var(--muted);line-height:1.6;white-space:normal}
.det-desc{background:var(--bg3);border-radius:8px;padding:16px;font-size:.85rem;line-height:1.8;color:var(--muted);margin-bottom:20px}
/* Contacto */
.det-contacto{background:var(--bg2);border-radius:var(--card-radius);padding:16px 18px;margin-bottom:16px}
.mc-t{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;color:#fff;margin-bottom:2px}
.mc-s{font-size:.7rem;color:rgba(255,255,255,.5);margin-bottom:10px}
.mc-form{display:flex;flex-direction:column;gap:10px}
.mc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mc-in{padding:8px 12px;background:rgba(255,255,255,.09);border:1.5px solid rgba(255,255,255,.22);border-radius:8px;color:#fff;font-size:.82rem;width:100%;transition:all .2s}
.mc-in:focus{outline:none;border-color:var(--ac);background:rgba(255,255,255,.1)}
.mc-in::placeholder{color:rgba(255,255,255,.45);font-weight:500}
textarea.mc-in{resize:vertical;min-height:56px}
.mc-btns{display:flex;gap:10px;flex-wrap:wrap}
.mc-ok{background:#0d2e1a;border:1px solid #1a5c35;color:#4ade80;border-radius:8px;padding:12px;font-size:.82rem;font-weight:700;display:none}
.mc-ok.show{display:block}

/* ══ CALCULADORA DE CUOTAS ══ */
.calc-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--card-radius);padding:24px;margin-bottom:20px}
.calc-title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--txt);margin-bottom:4px;letter-spacing:.5px}
.calc-sub{font-size:.78rem;color:var(--muted);margin-bottom:20px;line-height:1.5}
.calc-resumen{background:var(--bg3);border-radius:10px;padding:16px 20px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.calc-row{display:flex;justify-content:space-between;align-items:center}
.calc-row-label{font-size:.78rem;color:var(--muted);font-weight:600}
.calc-row-val{font-size:.9rem;font-weight:800;color:var(--txt)}
.calc-cuotas-box{background:var(--bg2);border-radius:10px;padding:16px 20px;margin-bottom:18px}
.calc-cuotas-title{font-size:.6rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:10px}
.calc-cuota-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.calc-cuota-row:last-child{border-bottom:none}
.calc-cuota-plazo{font-size:.8rem;color:rgba(255,255,255,.5);font-weight:600}
.calc-cuota-val{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:#fff;letter-spacing:.5px}
.calc-cuota-row.destacada .calc-cuota-val{color:var(--ac);font-size:1.6rem}
.calc-cuota-row.destacada .calc-cuota-plazo{color:rgba(255,255,255,.8)}
.calc-slider-wrap{margin-bottom:6px}
.calc-slider-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.calc-slider-txt{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.calc-slider-val{font-size:.92rem;font-weight:800;color:var(--ac)}
.calc-slider{width:100%;height:6px;border-radius:3px;outline:none;cursor:pointer;accent-color:var(--ac);background:var(--border)}
.calc-entrega-min{font-size:.72rem;color:var(--muted);text-align:center;margin-bottom:14px}
.calc-entrega-min span{color:var(--ac);font-weight:700}
.calc-preaprueba{width:100%;padding:13px;background:var(--ac);color:var(--ac-text);border:none;border-radius:var(--btn-radius);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px}
.calc-preaprueba:hover{background:var(--ac-dark);transform:translateY(-2px)}

/* Det-wrap padding en desktop */
.det-wrap.active { padding-top:28px; }

/* ══ RESPONSIVE DETALLE ══ */
@media(max-width:900px){
  .det-layout{grid-template-columns:1fr}
}

@media(max-width:768px){
  /* Ocultar filtros y header cuando está el detalle abierto */
  .det-open #secHeaderVeh,
  .det-open #filtrosWrap { display:none !important; }

  /* Specs y formulario en 1 columna */
  .det-specs{grid-template-columns:1fr 1fr}
  .mc-row{grid-template-columns:1fr}

  /* Ocultar duplicados del panel desktop (ya están en det-header-mobile) */
  .det-hide-mobile{ display:none !important; }

  /* Det-wrap: scroll normal, sin altura fija */
  .det-wrap.active {
    padding-top:0;
    display:block;
    height:auto;
    overflow:visible;
  }

  /* Botón volver compacto */
  .det-wrap.active .det-back-destacado {
    margin:10px 12px 6px;
    padding:7px 14px;
    font-size:.68rem;
    letter-spacing:1px;
    box-shadow:none;
  }

  /* Encabezado mobile compacto */
  .det-header-mobile {
    display:block;
    padding:0 14px 8px;
    border-bottom:1px solid var(--border);
    margin-bottom:0;
  }
  .det-header-mobile .det-marca {
    font-size:.58rem;font-weight:800;letter-spacing:2.5px;
    text-transform:uppercase;color:var(--ac);margin-bottom:1px;
  }
  .det-header-mobile .det-titulo {
    font-family:'Bebas Neue',sans-serif;font-size:1.55rem;
    color:var(--txt);line-height:.92;margin-bottom:1px;
  }
  .det-header-mobile .det-ver {
    font-size:.72rem;color:var(--muted);margin-bottom:4px;
  }
  .det-header-mobile .det-promo-tag {
    font-size:.6rem;padding:4px 10px;margin-bottom:4px;
  }
  .det-precio-row-mobile {
    display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:0;
  }
  .det-precio-row-mobile .det-precio {
    font-family:'Bebas Neue',sans-serif;font-size:2rem;
    color:var(--ac);line-height:1;letter-spacing:.5px;
  }
  .det-precio-row-mobile .det-precio-old {
    font-size:.82rem;color:var(--muted);text-decoration:line-through;
  }

  /* Layout del detalle: 1 columna, flow normal */
  .det-layout {
    display:block;
    overflow:visible;
  }

  /* Columna izquierda (galería + detContacto): ancho completo */
  .det-layout > div:first-child {
    width:100%;
  }

  .det-galeria {
    border-radius:var(--card-radius) !important;
    margin:0 0 16px 0;
  }

  /* Galería: altura compacta en mobile para mostrar más info arriba */
  .det-galeria-main {
    aspect-ratio:unset !important;
    height:200px !important;
    width:100% !important;
  }

  .det-galeria-main img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  .det-thumbs {
    padding:6px 10px !important;
  }
  .dthumb {
    width:60px !important;
    height:44px !important;
  }

  /* Panel info: padding lateral normal */
  .det-info {
    padding:14px 14px 32px;
    overflow:visible;
  }

  /* Ocultar columna de contacto desktop (va dentro de det-info via JS) */
  .det-contacto-col { display:none; }
}

@media(min-width:769px){
  .det-header-mobile{ display:none; }
  .det-hide-mobile{ display:block; }
}

/* ══ MAPA ══ */
.mapa-wrap{border-radius:var(--card-radius);overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.1)}
.mapa-wrap iframe{width:100%;height:450px;border:none;display:block}

/* ══ FOOTER ══ */
.footer{background:var(--bg2);padding:60px 48px 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.f-logo .fl{font-family:'Bebas Neue',sans-serif;font-size:2.8rem;color:#fff;letter-spacing:5px;line-height:1}
[data-theme="3"] .f-logo .fl{color:#e8e2d0}
.f-logo .sub{font-size:.5rem;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--ac)}
.f-tagline{font-size:.8rem;line-height:1.7;color:rgba(255,255,255,.3);margin-top:16px;max-width:240px}
.f-socials{display:flex;gap:10px;margin-top:20px}
.fsoc{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}
.fsoc:hover{background:var(--ac);border-color:var(--ac)}
.fsoc svg{width:15px;height:15px;fill:#fff}
.f-col-t{font-size:.62rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:16px}
.f-col-links{display:flex;flex-direction:column;gap:10px}
.f-col-links a{font-size:.8rem;color:rgba(255,255,255,.35);transition:all .2s}
.f-col-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:.72rem;color:rgba(255,255,255,.2)}
.footer-bottom span{color:var(--ac)}

/* ══ TICKER BANNER ══ */
.ticker-wrap{
  overflow:hidden;padding:9px 0;
  position:relative;pointer-events:none;
  background:var(--hero);
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.ticker-inner{
  display:flex;white-space:nowrap;
  animation:tickerMove 30s linear infinite;
}
.ticker-wrap:hover .ticker-inner{animation-play-state:paused}
@keyframes tickerMove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{
  display:inline-flex;align-items:center;gap:10px;
  padding:0 32px;
  font-family:'Bebas Neue',sans-serif;
  font-size:.95rem;letter-spacing:3px;
  color:rgba(255,255,255,.42);
  text-transform:uppercase;
}
.ticker-dot{
  width:4px;height:4px;border-radius:50%;
  background:var(--ac);opacity:.6;flex-shrink:0;
}

/* ══ CONTADOR DE STOCK ══ */
.stock-badge{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.72rem;font-weight:700;color:var(--muted);
  background:var(--bg3);border:1px solid var(--border);
  padding:5px 14px;border-radius:50px;
}
.stock-badge strong{color:var(--ac);font-size:.85rem;font-weight:800;}

/* ══ VER MÁS ══ */
.ver-mas-wrap{
  display:flex;flex-direction:column;align-items:center;
  gap:14px;margin-top:40px;
}
.ver-mas-prog{
  display:flex;align-items:center;gap:12px;
  font-size:.72rem;color:var(--muted);font-weight:600;
}
.ver-mas-bar{
  width:120px;height:3px;background:var(--border);border-radius:2px;overflow:hidden;
}
.ver-mas-bar-inner{
  height:100%;background:var(--ac);border-radius:2px;
  transition:width .5s ease;
}
.ver-mas-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 48px;border-radius:var(--btn-radius);
  background:var(--ac);border:none;
  color:var(--ac-text);font-size:.82rem;font-weight:800;
  text-transform:uppercase;letter-spacing:2px;
  cursor:pointer;transition:all .3s;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
}
.ver-mas-btn:hover{background:var(--ac-dark);transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.2)}
.ver-mas-btn svg{width:18px;height:18px;fill:currentColor}
/* Variante para sección oscura (promos) */
.ver-mas-btn.dark{
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.85);
}
.ver-mas-btn.dark:hover{background:var(--ac);border-color:var(--ac);color:var(--ac-text)}

/* ══ BOTÓN VOLVER ARRIBA ══ */
.back-top{
  position:fixed;bottom:100px;right:32px;z-index:800;
  width:42px;height:42px;border-radius:50%;
  background:var(--bg2);border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .3s;
  opacity:0;pointer-events:none;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.back-top.visible{opacity:1;pointer-events:auto}
.back-top:hover{background:var(--ac);border-color:var(--ac);transform:translateY(-3px)}
.back-top svg{width:18px;height:18px;fill:#fff}
/* Ocultar el botón volver arriba cuando se está viendo un auto */
body.det-viendo .back-top{display:none!important}

/* ══ WA FLOTANTE ══ */
.wa{position:fixed;bottom:32px;right:32px;z-index:800;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);cursor:pointer;transition:all .3s;animation:waPulse 2.5s ease-in-out infinite}
.wa:hover{transform:scale(1.1)}
@keyframes waPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4)}50%{box-shadow:0 4px 32px rgba(37,211,102,.65)}}
.wa svg{width:28px;height:28px;fill:#fff}
.wa-tip{position:absolute;right:68px;top:50%;transform:translateY(-50%);background:#111;color:#fff;font-size:.7rem;font-weight:700;white-space:nowrap;padding:7px 12px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .2s}
.wa:hover .wa-tip{opacity:1}

/* ══ CONFIG PANEL ══ */
.config-panel{background:#1a1a1a;border-bottom:2px solid #333;padding:12px 48px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.config-label{font-size:.65rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#f59e0b;white-space:nowrap}
.config-input{flex:1;max-width:380px;padding:7px 12px;background:#111;border:1px solid #333;border-radius:6px;color:#fff;font-size:.8rem;font-family:'Barlow',sans-serif}
.config-btn{padding:7px 16px;background:#f59e0b;color:#000;border:none;border-radius:6px;font-size:.75rem;font-weight:800;cursor:pointer;transition:all .2s;white-space:nowrap}
.config-btn:hover{background:#d97706}
.config-btn.demo{background:#444;color:#fff}
.config-btn.demo:hover{background:#555}
.config-sep{color:#444;font-size:.8rem}

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){
  .vender-wrap{grid-template-columns:1fr}
  .vender-info{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .m-specs{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .navbar{padding:0 20px}
  .nav-links{display:none}
  .nav-ham{display:flex}
  .hero{padding:90px 20px 32px}
  .quick-cats{grid-template-columns:1fr}
  .qc{border-right:none;border-bottom:1px solid var(--border)}
  .sec,.sec-dark,.sec-gray{padding:60px 24px}
  .config-panel{padding:12px 20px}
  .config-btn.demo{display:none}
  .fgrid,.fgrid3,.mc-row{grid-template-columns:1fr}
  .footer{padding:50px 24px 24px}
  .footer-grid{grid-template-columns:1fr}
  .modal-body{padding:20px}
  .m-titulo{font-size:2rem}
  .m-specs{grid-template-columns:1fr 1fr}
  .theme-switcher{bottom:20px;left:16px}
  .wa{bottom:20px;right:20px}
}
/* ══ LIGHTBOX ══ */
#lightbox{
  display:none;position:fixed;inset:0;z-index:9990;
  align-items:center;justify-content:center;
  cursor:zoom-out;
}
#lightbox.open{display:flex}

/* Fondo con blur dinámico */
#lb-bg{
  position:absolute;inset:0;
  background:rgba(0,0,0,0);
  backdrop-filter:blur(0px);
  transition:background .35s ease, backdrop-filter .35s ease;
}
#lightbox.open #lb-bg{
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(18px);
}

/* Imagen con glow */
.lb-img-wrap{
  position:relative;max-width:88vw;max-height:82vh;
  z-index:1;cursor:default;
}
.lb-img-wrap img{
  max-width:88vw;max-height:82vh;object-fit:contain;
  border-radius:10px;display:block;
  box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 32px 100px rgba(0,0,0,.9);
  transition:transform .08s ease;
}
/* Glow de color detrás de la foto */
.lb-glow{
  position:absolute;inset:-30px;border-radius:20px;
  background:radial-gradient(ellipse at center, rgba(201,168,76,.18) 0%, transparent 70%);
  filter:blur(30px);z-index:-1;
  animation:lbGlowPulse 3s ease-in-out infinite;
}
@keyframes lbGlowPulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}

/* Animaciones de entrada del lightbox */
@keyframes lbBgIn{from{opacity:0}to{opacity:1}}
@keyframes lbImgIn{
  from{opacity:0;transform:scale(.88) translateY(20px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
@keyframes lbImgSlideLeft{
  from{opacity:0;transform:translateX(60px) scale(.96)}
  to{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes lbImgSlideRight{
  from{opacity:0;transform:translateX(-60px) scale(.96)}
  to{opacity:1;transform:translateX(0) scale(1)}
}

/* Barra de progreso en la parte superior */
.lb-progress{
  position:fixed;top:0;left:0;height:3px;
  background:var(--ac);z-index:9993;
  transition:width .3s ease;
  box-shadow:0 0 12px var(--ac), 0 0 24px var(--ac);
}

/* Barra de controles arriba a la derecha */
.lb-controls {
  position:fixed;top:14px;right:14px;
  display:flex;align-items:center;gap:6px;
  z-index:9994;
  animation:lbCtrlIn .4s .1s ease both;
}
.lb-ctrl-btn {
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;width:40px;height:40px;border-radius:10px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;backdrop-filter:blur(10px);
}
.lb-ctrl-btn svg { width:20px;height:20px;fill:#fff }
.lb-ctrl-btn:hover { background:rgba(255,255,255,.22); transform:scale(1.08); }
.lb-ctrl-close:hover { background:rgba(220,50,50,.7); border-color:rgba(220,50,50,.5); }
@keyframes lbCtrlIn{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}

/* Flechas */
.lb-nav{
  position:fixed;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;font-size:2rem;width:56px;height:56px;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .22s;z-index:9993;backdrop-filter:blur(10px);
  animation:lbCtrlIn .4s .15s ease both;
}
.lb-nav:hover{
  background:var(--ac);border-color:var(--ac);color:var(--ac-text);
  transform:translateY(-50%) scale(1.12);
  box-shadow:0 0 20px var(--ac);
}
.lb-nav.prev{left:18px}
.lb-nav.next{right:18px}

/* Info bar inferior */
.lb-bar{
  position:fixed;bottom:0;left:0;right:0;
  padding:16px 24px 20px;
  background:linear-gradient(to top,rgba(0,0,0,.7),transparent);
  display:flex;align-items:center;justify-content:center;gap:16px;
  z-index:9993;
  animation:lbCtrlIn .4s .2s ease both;
}
.lb-counter{
  color:rgba(255,255,255,.55);font-size:.72rem;font-weight:700;
  letter-spacing:2px;background:rgba(255,255,255,.06);
  padding:5px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.1);
}
.lb-dots{display:flex;gap:6px;align-items:center}
.lb-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.2);cursor:pointer;
  transition:all .25s;border:1px solid rgba(255,255,255,.1);
}
.lb-dot.active{
  background:var(--ac);border-color:var(--ac);
  transform:scale(1.5);
  box-shadow:0 0 8px var(--ac);
}
.lb-dot:hover:not(.active){background:rgba(255,255,255,.5)}

/* Thumbnail strip — perfectamente centradas en pantalla */
.lb-thumbs{
  position:fixed;
  bottom:52px;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  z-index:9993;
  animation:lbCtrlIn .4s .25s ease both;
  padding:4px 20px 6px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  /* Sin transform, sin left:50% — ocupa todo el ancho y centra con flexbox */
}
.lb-thumbs::-webkit-scrollbar{display:none}
.lb-thumb{
  width:72px;height:52px;
  border-radius:6px;overflow:hidden;
  border:2px solid rgba(255,255,255,.1);cursor:pointer;
  opacity:.45;transition:all .22s;flex-shrink:0;
}
.lb-thumb img{width:100%;height:100%;object-fit:cover}
.lb-thumb.active{
  border-color:var(--ac);opacity:1;
  transform:scale(1.07);
  box-shadow:0 0 12px var(--ac);
}
.lb-thumb:hover:not(.active){opacity:.78;transform:scale(1.04)}

/* Mobile: un poco más chicas */
@media(max-width:768px){
  .lb-thumbs{ bottom:48px; padding:4px 12px 6px; gap:6px; }
  .lb-thumb{ width:56px; height:40px; border-radius:5px; }
}

/* Cursor pointer en imagen principal del detalle */
.det-galeria-main img{cursor:zoom-in}

/* ══ MENSAJE DESTACADO (debajo del hero) ══ */
.msg-destacado{
  background:var(--ac);padding:14px 48px;text-align:center;
}
.msg-destacado-inner{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.85rem;font-weight:700;color:var(--ac-text);letter-spacing:.5px;
}
.msg-destacado-icon{font-size:1.1rem}
@media(max-width:768px){
  .msg-destacado{padding:12px 20px}
  .msg-destacado-inner{font-size:.78rem}
}

/* ══ DISCLAIMER CALCULADORA ══ */
.calc-disclaimer{
  font-size:.7rem;color:var(--muted);text-align:center;
  font-style:italic;margin-bottom:14px;line-height:1.5;
  padding:0 4px;
}

/* ══ LOGO IMAGEN ══ */
.nav-logo { display:flex; align-items:center; text-decoration:none; cursor:pointer }
.nav-logo-img { height:36px; width:auto; display:block; object-fit:contain }
.f-logo-link { display:inline-block; text-decoration:none; margin-bottom:12px }
.f-logo-img { height:40px; width:auto; display:block; object-fit:contain; filter:brightness(0) invert(1) }
/* Footer sin columna Legal → 3 columnas */
.footer-grid { grid-template-columns: 1.5fr 1fr 1fr }
/* Footer contacto — spans sin estilo de link */
#footerContacto span {
  font-size:.8rem; color:rgba(255,255,255,.35);
  display:block; padding:2px 0;
}
@media(max-width:1024px){ .footer-grid{ grid-template-columns:1fr 1fr } }
@media(max-width:768px) { .footer-grid{ grid-template-columns:1fr } }

/* ══ PLACEHOLDER SIN FOTO ══ */
/* En cards: mostrar completa sin recortar */
.card-slide img[src="assets/sin-foto.png"],
.card-slide img[src*="sin-foto"] {
  object-fit: contain;
  background: var(--bg3);
  padding: 8px;
}
/* En detalle: centrada y un poco más chica */
.det-galeria-main img[src="assets/sin-foto.png"],
.det-galeria-main img[src*="sin-foto"] {
  object-fit: contain;
  background: var(--bg3);
  padding: 20px;
}

/* ══ BOTÓN VOLVER AL LISTADO — DESTACADO ══ */
.det-back-destacado {
  display:inline-flex;align-items:center;gap:10px;
  background:var(--bg2);color:#fff;
  padding:12px 26px;border-radius:var(--btn-radius);
  font-size:.78rem;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;cursor:pointer;border:none;
  transition:all .25s;margin-bottom:36px;
  box-shadow:0 4px 20px rgba(0,0,0,.22);
  position:relative;
}
.det-back-destacado::before {
  content:'';position:absolute;inset:0;border-radius:inherit;
  border:1.5px solid rgba(255,255,255,.1);pointer-events:none;
}
.det-back-destacado svg { width:18px;height:18px;fill:#fff;flex-shrink:0;transition:transform .2s }
.det-back-destacado:hover {
  background:var(--ac);color:var(--ac-text);
  transform:translateX(-4px);
  box-shadow:0 6px 24px rgba(0,0,0,.28);
}
.det-back-destacado:hover svg { fill:var(--ac-text);transform:translateX(-3px) }

/* ══ GALERÍA DETALLE — ALTURA FIJA SIEMPRE (DESKTOP) ══ */
@media(min-width:769px) {
  .det-galeria-main {
    aspect-ratio:16/10 !important;
    overflow:hidden;
    background:var(--bg3);
  }
  .det-galeria-main img {
    width:100%;height:100%;
    object-fit:cover;display:block;
  }
}

/* ══ MARCA DE AGUA EN LIGHTBOX ══ */
.lb-marca-agua {
  position: absolute;
  bottom: 10px;
  right: 12px;
  font-family: 'Barlow', sans-serif;
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: lowercase;
  color: rgba(255,255,255,.9);
  pointer-events: none;
  user-select: none;
  z-index: 10;
  /* Fondo semitransparente para que se lea sobre cualquier foto */
  background: rgba(0,0,0,.42);
  padding: 3px 8px;
  border-radius: 4px;
  backdrop-filter: blur(4px);
  text-shadow: none;
}

/* ══ DATALIST INPUTS — FORM VENDER ══ */
/* Ocultar el ícono de flecha que algunos browsers agregan al input con list */
#vMarca::-webkit-calendar-picker-indicator,
#vModelo::-webkit-calendar-picker-indicator,
#vVersion::-webkit-calendar-picker-indicator { display: none !important; }

/* ══ ERRORES INLINE EN FORMULARIOS ══ */
/* Campo con error en formulario contacto (fondo oscuro) */
.mc-in.mc-err {
  border-color: #e53e3e !important;
  background: rgba(229,62,62,.08) !important;
}
/* Mensaje de error en formulario contacto */
.mc-err-msg {
  display: none;
  background: rgba(229,62,62,.15);
  border: 1px solid rgba(229,62,62,.4);
  color: #feb2b2;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: .8rem;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.5;
}

/* ══ DETALLE — CONTACTO DEBAJO DE FOTOS ══ */
.det-contacto-col {
  margin-top: 16px;
}
/* Desktop: contacto debajo de galería, ancho completo de esa columna */
@media(min-width:901px) {
  .det-contacto-col .det-contacto {
    margin-bottom: 0;
  }
}
/* Mobile: ocultar el detContacto y mostrar el de detInfo */
@media(max-width:900px) {
  #detContacto { display: none; }
}

/* ══ BOTONES CONSULTA — MISMO ANCHO ══ */
.mc-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.mc-btn-igual {
  flex: 1 1 0;
  min-width: 120px;
  text-align: center;
  justify-content: center;
  box-sizing: border-box;
}

/* ══ CONTACTO MOBILE vs DESKTOP ══ */
/* Desktop: ocultar versión mobile dentro de detInfo */
@media(min-width:901px) {
  .det-contacto-mobile { display: none; }
  .det-calc-mobile     { display: none; }
  .det-contacto-desktop { display: block; }
}
/* Mobile: mostrar versión mobile, ocultar la del detContacto */
@media(max-width:900px) {
  #detContacto          { display: none; }
  .det-contacto-mobile  { display: block; }
  .det-calc-mobile      { display: block; }
  /* Ocultar el bloque contacto "desktop" que queda en detInfo en modo 'derecha' */
  .det-contacto-desktop { display: none; }
}

/* ══ LAZY LOADING — PLACEHOLDER SHIMMER ══ */
/* Mientras la imagen no cargó, el contenedor tiene un shimmer suave */
img.lazy-img {
  background: var(--bg3);
  transition: opacity .35s ease;
  opacity: 0;
}
img.lazy-img[src]:not([src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]) {
  opacity: 1;
}
/* Animación shimmer en el contenedor de slide mientras no cargó */
.card-slide:has(img.lazy-img) {
  background: linear-gradient(
    90deg,
    var(--bg3) 25%,
    color-mix(in srgb, var(--bg3) 85%, var(--border) 15%) 37%,
    var(--bg3) 63%
  );
  background-size: 400% 100%;
  animation: shimmerImg 1.6s ease infinite;
}
@keyframes shimmerImg {
  0%   { background-position: 100% 50% }
  100% { background-position:   0% 50% }
}
/* Cuando cargó → quitar el shimmer */
.card-slide:has(img:not(.lazy-img)) {
  background: none;
  animation: none;
}
/* Fallback para browsers sin :has() */
@supports not selector(:has(img)) {
  .card-slide { background: var(--bg3); }
}
