@charset "UTF-8";
/* ==========================================================================
   LD Autos — estilos del plugin (catálogo, ficha de vehículo, home, buscador)
   Todas las clases usan el prefijo "ld-" para no chocar con Salient/WPBakery.
   ========================================================================== */

/* ---------- ANIMACIONES AL SCROLLEAR ----------
   .ld-reveal arranca invisible/corrido y suma .is-visible (vía
   IntersectionObserver en ld-autos.js) cuando entra en pantalla.
   Los .ld-reveal-delay-N escalonan grupos de elementos (grids, filas). */
.ld-reveal{ opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.ld-reveal.is-visible{ opacity:1; transform:translateY(0); }
.ld-reveal-delay-1.is-visible{ transition-delay:.08s; }
.ld-reveal-delay-2.is-visible{ transition-delay:.16s; }
.ld-reveal-delay-3.is-visible{ transition-delay:.24s; }
.ld-reveal-delay-4.is-visible{ transition-delay:.32s; }
.ld-reveal-delay-5.is-visible{ transition-delay:.4s; }
.ld-reveal-delay-6.is-visible{ transition-delay:.48s; }
@media (prefers-reduced-motion: reduce){
  .ld-reveal{ opacity:1; transform:none; transition:none; }
}

:root{
  --ld-black: #0a0a0a;
  --ld-black-2: #131313;
  --ld-black-3: #1c1c1c;
  --ld-red: #b3121b;
  --ld-red-bright: #e01a24;
  --ld-cream: #f3ede6;
  --ld-grey: #8a8a8a;
  --ld-line: rgba(243,237,230,0.12);
}

/* ---------- TEMA LIGHT (plantilla "Home (Light)") ----------
   Mismo branding (rojo de marca, tipografías) sobre una paleta clara.
   Los tokens de color/borde que dependen de estas variables se invierten
   solos; las secciones con foto de fondo (hero, banner de "vender",
   franjas numeradas) mantienen su texto claro fijo más abajo, porque ahí
   el contraste depende de la foto, no del tema de la página. */
.ld-theme-light{
  --ld-black: #fafafa;
  --ld-black-2: #f0f0f0;
  --ld-black-3: #e4e4e4;
  --ld-cream: #171717;
  --ld-grey: #6b6b6b;
  --ld-line: rgba(10,10,10,0.12);
}

.ld-home, .ld-autos-catalogo, .ld-single-vehiculo, .ld-institucional{
  background:var(--ld-black);
  color:var(--ld-cream);
  font-family:'Archivo', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.ld-home h1, .ld-home h2, .ld-home h3, .ld-home h4,
.ld-autos-catalogo h1, .ld-autos-catalogo h2, .ld-autos-catalogo h3,
.ld-single-vehiculo h1, .ld-single-vehiculo h2, .ld-single-vehiculo h3,
.ld-institucional h1, .ld-institucional h2, .ld-institucional h3, .ld-institucional h4{
  font-family:'Garet', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.02em;
  font-weight:800;
  line-height:1.07;
}
.ld-home h2, .ld-autos-catalogo h2, .ld-single-vehiculo h2, .ld-institucional h2{ line-height:1.06; color:var(--ld-cream); }
.ld-home a, .ld-autos-catalogo a, .ld-single-vehiculo a, .ld-institucional a{ text-decoration:none; }
.ld-home img, .ld-autos-catalogo img, .ld-single-vehiculo img, .ld-institucional img{ display:block; max-width:100%; }

.ld-wrap{
  max-width:1240px;
  margin:0 auto;
  padding:0 32px;
}

.ld-eyebrow{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.28em;
  font-size:12px;
  color:var(--ld-red-bright);
  font-weight:500;
  display:flex;
  align-items:center;
  gap:12px;
}
.ld-eyebrow::before{
  content:'';
  width:28px; height:2px;
  background:var(--ld-red-bright);
  display:inline-block;
}

/* ---------- Botones ---------- */
.ld-btn{
  font-family:'Oswald',sans-serif;
  font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:600;
  padding:14px 30px;
  display:inline-flex; align-items:center; gap:10px;
  cursor:pointer; border:none;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ld-btn-primary{
  background:var(--ld-red); color:#fff;
  box-shadow:0 8px 24px -8px rgba(224,26,36,0.6);
}
.ld-btn-primary:hover{ background:var(--ld-red-bright); transform:translateY(-2px); color:#fff; }
.ld-btn-outline{
  background:transparent; color:var(--ld-cream);
  border:1.5px solid rgba(243,237,230,0.35);
}
.ld-btn-outline:hover{ border-color:var(--ld-cream); background:rgba(243,237,230,0.06); color:var(--ld-cream); }
.ld-btn-whatsapp svg{ width:18px; height:18px; }
/* El botón outline del hero siempre va sobre la foto con overlay oscuro,
   así que su estilo queda fijo (claro) sin importar el tema de la página. */
.ld-hero .ld-hero-cta .ld-btn-outline{ color:#f3ede6; border-color:rgba(243,237,230,0.35); }
.ld-hero .ld-hero-cta .ld-btn-outline:hover{ border-color:#f3ede6; background:rgba(243,237,230,0.06); color:#f3ede6; }
.ld-theme-light .ld-btn-outline{ border-color:rgba(10,10,10,0.25); }
.ld-theme-light .ld-btn-outline:hover{ background:rgba(10,10,10,0.06); }

/* ---------- HERO (home) ---------- */
.ld-hero{ position:relative; min-height:92vh; display:flex; align-items:flex-end; overflow:hidden; }
.ld-hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center 65%;
}
.ld-hero-bg::after{
  content:'';
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,10,10,0.35) 0%, rgba(10,10,10,0.5) 60%, rgba(10,10,10,0.75) 100%),
    linear-gradient(90deg, rgba(10,10,10,0.9) 0%, rgba(10,10,10,0.15) 45%);
}
.ld-hero-content{ position:relative; z-index:2; width:100%; padding-bottom:80px; }
.ld-hero h1{ font-size:clamp(34px, 4.8vw, 62px); color:#f3ede6; margin-top:22px; max-width:780px; font-weight:800!important; line-height:1.06; }
.ld-hero h1 em{ font-style:normal; color:var(--ld-red-bright); font-weight:800; -webkit-text-stroke:0.6px var(--ld-red-bright); }
.ld-lead{ font-size:18px; color:#c9c9c9; max-width:520px; margin-top:22px; line-height:1.6; }
.ld-hero-cta{ display:flex; gap:16px; margin-top:38px; flex-wrap:wrap; }

/* Notebooks/netbooks: poca altura de viewport (no importa tanto el
   ancho). El menú del tema queda flotando arriba del hero, y si el
   bloque de texto es muy alto (título a tamaño máximo + márgenes
   grandes) no queda aire suficiente y se superponen. Achicamos texto y
   márgenes acá para liberar espacio arriba, sin tocar nada del menú
   (que es del tema, no del plugin). */
@media (max-height: 820px) and (min-width: 1000px){
  .ld-hero{ min-height:100vh; }
  .ld-hero-content{ padding-bottom:50px; }
  .ld-hero h1{ font-size:clamp(28px, 3.6vw, 44px); margin-top:14px; max-width:660px; }
  .ld-lead{ margin-top:14px; font-size:16px; }
  .ld-hero-cta{ margin-top:24px; }
}

/* Celulares: el bloque de texto (eyebrow + título + bajada + botones)
   se ancla abajo del hero, pero a este ancho el eyebrow envuelve a 2
   líneas y el título a 3 — sumado a que "100vh" en Safari mobile mide
   contra el viewport grande (sin barra de URL), el bloque terminaba
   arrancando por detrás del menú. El padding-top le da un piso de aire
   fijo respecto del menú, y achicamos texto/márgenes para que entre
   cómodo en el espacio que queda. */
@media (max-width: 760px){
  .ld-hero{ min-height:100vh; min-height:100svh; padding-top:100px; box-sizing:border-box; }
  /* La foto es muy panorámica: en un hero angosto y alto, "cover" la
     ajusta por el alto y siempre se ve de punta a punta (cielo a piso),
     sin margen para recortar — por eso el cartel del local queda
     siempre a la vista, chocando con el texto. Agrandarla un poco más
     que "cover" (auto 130%) genera ese margen vertical para poder
     elegir qué parte mostrar. */
  .ld-hero-bg{ background-size:auto 130%; background-position:center 99%; }
  .ld-hero-content{ padding-bottom:56px; }
  .ld-hero .ld-eyebrow{ font-size:10.5px; letter-spacing:.14em; }
  .ld-hero h1{ font-size:clamp(28px, 8vw, 36px); margin-top:16px; line-height:1.12; }
  .ld-lead{ font-size:15px; margin-top:14px; line-height:1.55; }
  .ld-hero-cta{ margin-top:20px; gap:12px; }
}

.ld-scroll-cue{
  position:absolute; right:32px; bottom:36px; z-index:3;
  writing-mode:vertical-rl;
  font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:.3em;
  text-transform:uppercase; color:#8a8a8a;
  display:flex; align-items:center; gap:10px;
}
.ld-scroll-cue .ld-line{ width:1px; height:60px; background:#8a8a8a; }

/* ---------- BUSCADOR (sección propia debajo del hero) ---------- */
.ld-search-section{ padding:90px 0; background:var(--ld-black); }
.ld-search-section-head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.ld-search-section-head h2{
  font-size:clamp(30px,4vw,46px); color:var(--ld-cream); margin-top:14px;
}
.ld-search-section-head p{ color:#c9c9c9; font-size:15.5px; margin-top:16px; line-height:1.6; }
.ld-search-section-head .ld-eyebrow{ justify-content:center; }
.ld-search-bar-wrap{ position:relative; z-index:3; }
.ld-search-bar{
  background:var(--ld-black-2);
  border:1px solid var(--ld-line);
  border-top:3px solid var(--ld-red-bright);
  padding:34px 40px 28px;
  box-shadow:0 30px 70px -20px rgba(179,18,27,0.2);
}
.ld-theme-light .ld-search-bar{
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.7);
}
.ld-search-bar-title{ display:flex; align-items:center; gap:12px; margin-bottom:26px; }
.ld-search-bar-title svg{ width:20px; height:20px; color:var(--ld-red-bright); }
.ld-search-bar-title span{
  font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ld-cream); font-weight:600;
}
.ld-search-fields{ display:grid; grid-template-columns:repeat(4,1fr) auto; gap:14px; align-items:stretch; }
.ld-search-field{ position:relative; background:none; border:none; height:54px; box-sizing:border-box; }
.ld-search-field.is-cargando{ opacity:0.45; pointer-events:none; transition:opacity .15s ease; }
/* Salient envuelve cada <select> con .fancy-select-wrap y le mete
   padding-top:12px por su cuenta (body[data-fancy-form-rcs="1"] ...) —
   eso es lo que corría la caja del filtro hacia abajo respecto al botón
   "Buscar", que no tiene ese wrapper. Lo anulamos solo acá. */
.ld-search-field .fancy-select-wrap{ padding-top:0 !important; padding-bottom:0 !important; height:54px !important; }
.ld-search-field select{
  appearance:none; -webkit-appearance:none;
  width:100%; height:100%;
  background:transparent; border:none; outline:none;
  color:var(--ld-cream);
  font-family:'Archivo',sans-serif; font-size:14.5px;
  padding:0 40px 0 18px;
  cursor:pointer;
}
.ld-search-field select option{ background:var(--ld-black-2); color:var(--ld-cream); }

/* Select2 reemplaza el <select> nativo — el estilo de caja vive acá,
   no en .ld-search-field, para no terminar con doble borde. Altura fija
   (no derivada del padding) para que calce exacto con .ld-search-submit,
   que es un <button> y no hereda el stretch del grid de la misma forma. */
.ld-search-field span.select2-selection.select2-selection--single{
  box-sizing:border-box !important;
  margin:0 !important;
  border:1px solid #2e2e2e !important;
  border-radius:2px !important;
  background:var(--ld-black) !important;
  height:54px !important;
  padding:0 40px 0 18px !important;
  box-shadow:none !important;
  display:flex !important; align-items:center !important;
}
.ld-search-field .select2-container{ margin:0 !important; vertical-align:top !important; }
.ld-search-field .select2-selection__rendered{
  color:var(--ld-cream) !important;
  padding:0 !important; line-height:1.3 !important;
  font-family:'Archivo',sans-serif; font-size:14.5px;
}
.ld-search-field span.select2-selection__arrow{
  display:block !important;
  top:50% !important; right:16px !important;
  transform:translateY(-50%);
  height:auto !important; width:auto !important;
}
.ld-search-field span.select2-selection__arrow b{ display:none !important; }
.ld-search-field span.select2-selection__arrow::after{
  content:'';
  display:block;
  width:9px; height:9px;
  border-right:1.5px solid var(--ld-grey);
  border-bottom:1.5px solid var(--ld-grey);
  transform:rotate(45deg);
}
.ld-search-field .select2-container{ width:100% !important; }
.ld-search-field .select2-container--default.select2-container--open span.select2-selection--single{
  border-color:var(--ld-red-bright) !important;
}
.ld-search-field:hover span.select2-selection--single{ border-color:rgba(243,237,230,0.3) !important; }
.ld-search-submit{
  box-sizing:border-box !important; align-self:stretch; margin:0 !important; vertical-align:top;
  background:var(--ld-red) !important; color:#fff; border:1px solid transparent !important;
  font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:.14em;
  text-transform:uppercase; font-weight:600;
  height:54px !important; padding:0 38px !important; cursor:pointer;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:background .2s ease; white-space:nowrap;
}
.ld-search-submit:hover{ background:var(--ld-red-bright); }
.ld-theme-light .ld-search-section-head p{ color:#4a4a4a; }
.ld-theme-light .ld-search-field span.select2-selection.select2-selection--single{ border-color:#d4d4d4 !important; }
.ld-theme-light .ld-search-field:hover span.select2-selection--single{ border-color:rgba(10,10,10,0.25) !important; }
@media (max-width: 1000px){
  .ld-search-fields{ grid-template-columns:1fr 1fr; }
  .ld-search-submit{ grid-column:1 / -1; padding:16px; }
  .ld-search-bar{ padding:26px 22px 22px; }
  .ld-search-section{ padding:56px 0; }
}

/* ---------- TRUST STRIP MARQUEE ---------- */
.ld-trust-strip{ background:var(--ld-red); padding:18px 0; overflow:hidden; white-space:nowrap; }
.ld-marquee-track{ display:inline-flex; align-items:center; animation:ld-marquee 22s linear infinite; }
.ld-trust-strip:hover .ld-marquee-track{ animation-play-state:paused; }
.ld-trust-item{
  display:inline-flex; align-items:center; color:#fff;
  font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  padding:0 36px;
}
.ld-trust-item::after{
  content:''; width:6px; height:6px; margin-left:36px;
  background:rgba(255,255,255,0.5); display:inline-block; transform:rotate(45deg);
}
@keyframes ld-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- SECCIÓN GENÉRICA ---------- */
.ld-section{ padding:120px 0; position:relative; }
.ld-section-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:56px; flex-wrap:wrap; gap:24px;
}
.ld-section-head h2{ font-size:clamp(32px,4vw,52px); color:var(--ld-cream); margin-top:14px; }
.ld-desc{ max-width:360px; color:#c9c9c9; font-size:15px; line-height:1.65; padding-bottom:6px; }
.ld-theme-light .ld-desc{ color:#4a4a4a; }
.ld-section-alt{ background:var(--ld-black-2); }

/* ---------- GRID DE AUTOS (home + catálogo) ---------- */
.ld-car-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ld-car-card{
  background:var(--ld-black-2); position:relative; overflow:hidden; display:flex; flex-direction:column;
  border-radius:16px; border:1px solid rgba(243,237,230,0.08);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.ld-car-card:hover{
  transform:translateY(-6px);
  border-color:rgba(224,26,36,0.4);
  box-shadow:0 24px 40px -20px rgba(0,0,0,0.6);
}
.ld-car-img-wrap{ position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--ld-black-3); }
.ld-car-img-wrap img{ width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.ld-car-card:hover .ld-car-img-wrap img{ transform:scale(1.08); }
.ld-tag{
  position:absolute; top:14px; left:14px;
  background:rgba(10,10,10,0.7); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  color:var(--ld-cream); border:1px solid rgba(243,237,230,0.3);
  font-family:'Oswald',sans-serif; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  padding:6px 14px; font-weight:600; border-radius:999px;
}
.ld-tag.usado{ background:rgba(10,10,10,0.7); border:1px solid rgba(243,237,230,0.3); }
.ld-tag:not(.usado){ background:var(--ld-red); border-color:var(--ld-red); }
.ld-car-body{ padding:24px 24px 26px; flex:1; display:flex; flex-direction:column; }
.ld-car-body h3{ font-size:20px; color:var(--ld-cream); }
.ld-car-meta{
  display:flex; gap:16px; margin:16px 0 18px; flex-wrap:wrap;
  font-size:12.5px; color:#c9c9c9; letter-spacing:.02em;
}
.ld-car-meta span{ display:flex; align-items:center; gap:6px; }
.ld-car-meta svg{ width:15px; height:15px; color:var(--ld-red-bright); flex-shrink:0; }
.ld-car-price{
  font-family:'Oswald',sans-serif; font-size:24px; color:var(--ld-red-bright); font-weight:600;
  margin-top:auto; padding-top:16px; border-top:1px solid rgba(243,237,230,0.1);
  display:flex; justify-content:space-between; align-items:center;
}
.ld-precio-consultar{ font-size:14px; }
.ld-car-go{
  font-size:11px; color:var(--ld-cream); letter-spacing:.08em; text-transform:uppercase;
  display:flex; align-items:center; gap:6px; margin-left:auto;
  border:1.5px solid rgba(243,237,230,0.25); border-radius:999px; padding:9px 16px;
  transition:background .25s ease, border-color .25s ease, color .25s ease;
}
.ld-car-card:hover .ld-car-go{ background:var(--ld-red-bright); border-color:var(--ld-red-bright); color:#fff; }
.ld-catalog-cta{ text-align:center; margin-top:56px; }
@media (max-width: 1000px){ .ld-car-grid{ grid-template-columns:1fr; } }

/* ---------- CARRUSEL DE DESTACADOS (home) ---------- */
.ld-car-carousel-wrap{ position:relative; }
.ld-car-carousel{
  display:flex; gap:24px;
  overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; -ms-overflow-style:none;
}
.ld-car-carousel::-webkit-scrollbar{ display:none; }
.ld-car-carousel .ld-car-card{
  flex:0 0 calc((100% - 48px) / 3); scroll-snap-align:start;
}
.ld-car-carousel-nav{ display:flex; justify-content:flex-end; gap:14px; margin-top:28px; }
.ld-car-nav-btn{
  width:48px; height:48px; border:1.5px solid rgba(243,237,230,0.25); background:transparent;
  color:var(--ld-cream); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:border-color .2s ease, background .2s ease;
}
.ld-car-nav-btn:hover{ border-color:var(--ld-cream); background:rgba(243,237,230,0.06); }
.ld-car-nav-btn:disabled{ opacity:0.35; cursor:default; }
.ld-car-nav-btn:disabled:hover{ border-color:rgba(243,237,230,0.25); background:transparent; }
.ld-car-nav-btn svg{ width:20px; height:20px; }
@media (max-width: 1000px){
  .ld-car-carousel .ld-car-card{ flex:0 0 calc((100% - 24px) / 2); }
  .ld-single-main .ld-car-carousel .ld-car-card{ flex:0 0 calc((100% - 24px) / 2); }
}
@media (max-width: 640px){
  .ld-car-carousel .ld-car-card{ flex:0 0 100%; }
  .ld-single-main .ld-car-carousel .ld-car-card{ flex:0 0 100%; }
}

/* ---------- CARRUSEL DE FOTOS (equipamiento) ---------- */
.ld-photo-carousel-wrap{ position:relative; margin-top:56px; }
.ld-photo-carousel{
  display:flex; gap:20px;
  overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none; -ms-overflow-style:none;
}
.ld-photo-carousel::-webkit-scrollbar{ display:none; }
.ld-photo-carousel-item{
  flex:0 0 calc((100% - 40px) / 3); scroll-snap-align:start;
  aspect-ratio:4/3; overflow:hidden; background:var(--ld-black-2); border:1px solid var(--ld-line);
  padding:0; margin:0; cursor:pointer; transition:border-color .2s ease;
}
.ld-photo-carousel-item:hover{ border-color:rgba(224,26,36,0.4); }
.ld-photo-carousel-item img{ width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
@media (max-width: 1000px){ .ld-photo-carousel-item{ flex:0 0 calc((100% - 20px) / 2); } }
@media (max-width: 640px){ .ld-photo-carousel-item{ flex:0 0 100%; } }
.ld-theme-light .ld-car-card{ border-color:rgba(10,10,10,0.1); }
.ld-theme-light .ld-car-meta{ color:#4a4a4a; }
.ld-theme-light .ld-car-price{ border-top-color:rgba(10,10,10,0.12); }
.ld-theme-light .ld-car-go{ border-color:rgba(10,10,10,0.2); }
.ld-theme-light .ld-car-nav-btn{ border-color:rgba(10,10,10,0.2); }
.ld-theme-light .ld-car-nav-btn:hover{ background:rgba(10,10,10,0.06); }
.ld-theme-light .ld-car-nav-btn:disabled:hover{ border-color:rgba(10,10,10,0.2); }

/* ---------- WHY US ---------- */
.ld-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:56px 48px; }
.ld-why-card{ display:flex; flex-direction:column; align-items:flex-start; }
.ld-why-card .ld-ic{
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--ld-line); color:var(--ld-red-bright); margin-bottom:22px;
}
.ld-why-card .ld-ic svg{ width:24px; height:24px; }
.ld-why-card h3{ font-size:18px; color:var(--ld-cream); line-height:1.3; margin-bottom:10px; }
.ld-why-card p{ font-size:14px; color:#c9c9c9; line-height:1.65; max-width:340px; }
.ld-theme-light .ld-why-card p{ color:#4a4a4a; }
@media (max-width: 1000px){ .ld-why-grid{ grid-template-columns:1fr; gap:40px; } }
@media (min-width: 1001px) and (max-width: 1240px){ .ld-why-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- TALLER SPLIT ---------- */
.ld-split-section{ padding:0; }
.ld-split{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; min-height:640px; }
.ld-split-img{ position:relative; background-size:cover; background-position:center; }
.ld-split-img::after{
  content:''; position:absolute; inset:0;
  background:rgba(10,10,10,0.4);
}
.ld-split-content{ background:var(--ld-black-2); padding:90px 80px; display:flex; flex-direction:column; justify-content:center; }
.ld-split-content h2{ font-size:clamp(30px,3.4vw,44px); color:var(--ld-cream); margin-top:16px; }
.ld-split-content p{ color:#c9c9c9; font-size:15.5px; line-height:1.75; margin-top:22px; max-width:460px; }
.ld-theme-light .ld-split-content p{ color:#4a4a4a; }
.ld-split-list{ margin-top:32px; display:flex; flex-direction:column; gap:16px; }
.ld-split-list li{ list-style:none; display:flex; gap:14px; align-items:flex-start; font-size:14.5px; color:var(--ld-cream); }
.ld-check{ color:var(--ld-red-bright); font-family:'Oswald',sans-serif; font-weight:700; margin-top:1px; }
@media (max-width: 1000px){ .ld-split{ grid-template-columns:1fr; } .ld-split-content{ padding:60px 32px; } }

/* ---------- VENDER TU USADO ---------- */
.ld-sell-banner{ position:relative; background-size:cover; background-position:center; padding:110px 0; }
.ld-sell-wrap{ display:grid; grid-template-columns:1.3fr 0.9fr; gap:60px; align-items:center; }
.ld-sell-banner h2{ font-size:clamp(30px,4vw,48px); color:#f3ede6; margin-top:16px; max-width:520px; }
.ld-sell-banner p{ color:#c9c9c9; font-size:15.5px; margin-top:20px; max-width:460px; line-height:1.7; }
.ld-sell-steps{ display:flex; flex-direction:column; gap:0; }
.ld-sell-step{ display:flex; gap:20px; padding:20px 0; border-bottom:1px solid rgba(243,237,230,0.12); }
.ld-sell-step:first-child{ padding-top:0; }
.ld-sell-step .ld-n{ font-family:'Oswald',sans-serif; font-size:30px; color:var(--ld-red-bright); font-weight:700; min-width:44px; }
.ld-sell-step h4{ font-size:15px; color:#f3ede6; text-transform:none; letter-spacing:0; }
.ld-sell-step p{ font-size:13px; color:#c9c9c9; margin-top:6px; max-width:none; }
@media (max-width: 1000px){ .ld-sell-wrap{ grid-template-columns:1fr; } }

/* ---------- RESEÑAS ---------- */
.ld-rating-hero{ display:flex; align-items:center; gap:20px; margin-top:16px; }
.ld-stars{ color:var(--ld-red-bright); font-size:22px; letter-spacing:3px; }
.ld-rating-num{ font-family:'Oswald',sans-serif; font-size:20px; color:var(--ld-cream); }
.ld-rating-count{ font-size:13px; color:var(--ld-grey); }
.ld-review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
.ld-review-card{ background:var(--ld-black-2); border:1px solid var(--ld-line); padding:34px 30px; position:relative; }
.ld-quote-mark{
  position:absolute; top:20px; right:26px;
  font-family:'Oswald',sans-serif; font-size:60px; color:var(--ld-red); opacity:0.25; line-height:1;
}
.ld-review-card .ld-stars{ font-size:14px; margin-bottom:16px; }
.ld-txt{ font-size:14.5px; color:var(--ld-cream); line-height:1.7; min-height:96px; }
.ld-who{ margin-top:22px; padding-top:16px; border-top:1px solid var(--ld-line); }
.ld-name{ font-family:'Oswald',sans-serif; font-size:14px; color:var(--ld-cream); letter-spacing:.03em; }
.ld-meta{ font-size:12px; color:var(--ld-grey); margin-top:3px; }
.ld-review-more{ text-align:center; margin-top:48px; }
@media (max-width: 1000px){ .ld-review-grid{ grid-template-columns:1fr; } }

/* ---------- UBICACIÓN ---------- */
.ld-location-section{ padding:0; }
.ld-location-split{ display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--ld-line); }
.ld-map-block{ position:relative; min-height:480px; }
.ld-map-block iframe{ position:absolute; top:0; left:0; width:100%; height:100%; border:0; display:block; }
.ld-map-block::after{
  content:''; position:absolute; inset:0;
  background:rgba(10,10,10,0.25); pointer-events:none;
}
.ld-info-block{ background:var(--ld-black-2); padding:70px 60px; display:flex; flex-direction:column; justify-content:center; }
.ld-info-row{ display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--ld-line); }
.ld-info-row:first-of-type{ padding-top:0; }
.ld-info-row .ld-ic{ font-size:20px; color:var(--ld-red-bright); min-width:26px; border:none; width:auto; height:auto; }
.ld-info-row h4{ font-size:13px; letter-spacing:.1em; color:var(--ld-grey); text-transform:uppercase; }
.ld-info-row p{ font-size:16px; color:var(--ld-cream); margin-top:6px; }
.ld-info-block .ld-btn{ margin-top:30px; align-self:flex-start; }
@media (max-width: 1000px){ .ld-location-split{ grid-template-columns:1fr; } .ld-info-block{ padding:60px 32px; } }

/* ---------- CTA FINAL ---------- */
.ld-final-cta{
  text-align:center; padding:130px 0;
  background: radial-gradient(ellipse at center, rgba(179,18,27,0.18), transparent 60%), var(--ld-black);
  border-top:1px solid var(--ld-line);
}
.ld-final-cta h2{ font-size:clamp(38px,6vw,72px); color:var(--ld-cream); font-weight:800; }
.ld-final-cta p{ color:#c9c9c9; font-size:16px; margin-top:20px; }
.ld-theme-light .ld-final-cta p{ color:#4a4a4a; }
.ld-final-cta .ld-hero-cta{ justify-content:center; margin-top:40px; }

/* ---------- WHATSAPP FLOAT ---------- */
.ld-wa-float{
  position:fixed; bottom:28px; right:28px; z-index:600;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px -8px rgba(37,211,102,0.7);
  cursor:pointer; transition:transform .2s ease, box-shadow .2s ease;
}
.ld-wa-float:hover{ transform:translateY(-3px); box-shadow:0 14px 34px -8px rgba(37,211,102,0.85); }
.ld-wa-float svg{ width:26px; height:30px; }

/* ==========================================================================
   PÁGINAS INSTITUCIONALES (Nosotros / Taller / Equipamiento / Contacto)
   ========================================================================== */
.ld-institucional{ padding-top:150px; }
.ld-institucional.ld-institucional-flush{ padding-top:0; }

.ld-photo-banner{
  position:relative; height:64vh; max-height:420px;
  background-size:cover; background-position:center; overflow:hidden;
  display:flex; align-items:flex-end;
}
.ld-photo-banner::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,10,10,0) 35%, rgba(10,10,10,0.9) 100%);
}
.ld-photo-banner .ld-wrap{ position:relative; z-index:1; padding-bottom:44px; }
.ld-photo-banner h1{ font-size:clamp(36px,5.5vw,64px); color:#fff; text-align:left !important; }
@media (max-width:760px){
  .ld-photo-banner{ height:39vh; min-height:241px; }
  .ld-section{ padding:50px 0; }
}

.ld-intro-section{ border-bottom:1px solid var(--ld-line); }
.ld-split-section-aligned .ld-split-content{ padding-left:max(32px, calc((100vw - 1240px) / 2 + 32px)); }
.ld-intro-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:64px; align-items:center; }
@media (max-width:1000px){ .ld-intro-grid{ grid-template-columns:1fr; gap:36px; } }

.ld-stats-row{ display:flex; gap:18px; flex-wrap:wrap; }
.ld-stat-box{
  flex:1 1 160px;
  background:var(--ld-black-2); border:1px solid var(--ld-line); border-left:3px solid var(--ld-red-bright);
  padding:26px 22px;
}
.ld-stat-num{ font-family:'Garet',sans-serif; font-weight:800; font-size:clamp(30px,3.4vw,40px); color:var(--ld-red-bright); line-height:1; }
.ld-stat-label{ font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--ld-grey); margin-top:10px; line-height:1.4; }

.ld-page-header{ padding-bottom:70px; border-bottom:1px solid var(--ld-line); }
.ld-page-header h1{ font-size:clamp(36px,5.2vw,64px); color:var(--ld-cream); margin-top:16px; max-width:820px; }
.ld-page-header p{ color:#c9c9c9; font-size:16.5px; line-height:1.7; margin-top:20px; max-width:620px; }
.ld-theme-light .ld-page-header p{ color:#4a4a4a; }
.ld-page-header .ld-hero-cta{ margin-top:32px; }

.ld-institucional .ld-section p.ld-lede{ color:#c9c9c9; font-size:16px; line-height:1.8; max-width:720px; }
.ld-institucional .ld-section p.ld-lede + p.ld-lede{ margin-top:20px; }
.ld-theme-light .ld-institucional .ld-section p.ld-lede{ color:#4a4a4a; }

.ld-servicios-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:44px; }
@media (max-width:1200px){ .ld-servicios-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .ld-servicios-grid{ grid-template-columns:repeat(2,1fr); } }
.ld-servicio-card{
  background:var(--ld-black-2); border:1px solid var(--ld-line);
  padding:22px 18px 20px; position:relative; overflow:hidden;
  transition:border-color .25s ease, transform .25s ease;
}
.ld-servicio-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--ld-red-bright); transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.ld-servicio-card:hover{ border-color:rgba(224,26,36,0.4); transform:translateY(-4px); }
.ld-servicio-card:hover::before{ transform:scaleX(1); }
.ld-servicio-num{ font-family:'Oswald',sans-serif; font-weight:600; font-size:11px; letter-spacing:.14em; color:var(--ld-grey); }
.ld-servicio-card .ld-ic{
  width:36px; height:36px; margin-top:12px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; background:rgba(224,26,36,0.1); color:var(--ld-red-bright);
}
.ld-servicio-card .ld-ic svg{ width:16px; height:16px; }
.ld-servicio-card h3{ font-size:15.5px; color:var(--ld-cream); margin-top:14px; line-height:1.25; }
.ld-servicio-card p{ font-size:13px; color:#a8a8a8; line-height:1.5; margin-top:8px; }
.ld-theme-light .ld-servicio-card p{ color:#666; }
@media (max-width:640px){ .ld-servicios-grid{ grid-template-columns:1fr; } }

.ld-servicios-grid-simple{ grid-template-columns:repeat(3,1fr); text-align:center; }
.ld-servicios-grid-simple .ld-servicio-card{
  background:none; border:none; padding:0; overflow:visible;
  display:flex; flex-direction:column; align-items:center;
}
.ld-servicios-grid-simple .ld-servicio-card::before{ content:none; }
.ld-servicios-grid-simple .ld-servicio-card:hover{ border-color:transparent; }
.ld-servicios-grid-simple .ld-servicio-card .ld-ic{ margin-top:0; }
.ld-servicios-grid-simple .ld-servicio-card h3{ margin-top:16px; font-size:15px; }

.ld-highlight-box{
  margin-top:56px; padding:48px;
  background:var(--ld-black-2); border:1px solid var(--ld-line); border-left:3px solid var(--ld-red-bright);
}
.ld-highlight-box h3{ font-size:15px; color:var(--ld-cream); text-transform:uppercase; letter-spacing:.06em; margin-bottom:28px; font-family:'Oswald',sans-serif; font-weight:600; }
.ld-highlight-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px 40px; }
.ld-highlight-item dt{ font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ld-red-bright); margin-bottom:8px; }
.ld-highlight-item dd{ margin:0; font-size:14.5px; color:#c9c9c9; line-height:1.6; }
.ld-theme-light .ld-highlight-item dd{ color:#4a4a4a; }
@media (max-width:760px){ .ld-highlight-grid{ grid-template-columns:1fr; } .ld-highlight-box{ padding:32px 28px; } }

.ld-equip-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:56px; }
.ld-equip-card{ background:var(--ld-black-2); border:1px solid var(--ld-line); padding:36px 26px; text-align:center; transition:border-color .2s ease, transform .2s ease; }
.ld-equip-card:hover{ border-color:rgba(224,26,36,0.4); transform:translateY(-4px); }
.ld-equip-card .ld-ic{ width:52px; height:52px; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; border:1px solid var(--ld-line); border-radius:50%; color:var(--ld-red-bright); }
.ld-equip-card .ld-ic svg{ width:24px; height:24px; }
.ld-equip-card h3{ font-size:16px; color:var(--ld-cream); margin-bottom:8px; }
.ld-equip-card p{ font-size:13.5px; color:#c9c9c9; line-height:1.6; }
.ld-theme-light .ld-equip-card p{ color:#4a4a4a; }
@media (max-width:1000px){ .ld-equip-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ld-equip-grid{ grid-template-columns:1fr; } }

.ld-equip-grid-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:760px){ .ld-equip-grid-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ld-equip-grid-3{ grid-template-columns:1fr; } }

/* ==========================================================================
   CATÁLOGO (/autos/)
   ========================================================================== */
.ld-autos-catalogo{ padding-top:150px; }
@media (max-width:760px){ .ld-autos-catalogo{ padding-top:40px; } }

.ld-catalogo-layout{
  display:grid; grid-template-columns:320px 1fr; gap:0;
  max-width:1440px; margin:0 auto; align-items:start;
}
.ld-catalogo-content{ padding:40px 40px 120px; min-width:0; }

/* ---------- Sidebar de filtros ---------- */
.ld-filtros-toggle{ display:none; }
.ld-filtros-overlay{ display:none; }

/* Altura mínima de una pantalla — para que el fondo oscuro llegue hasta
   el piso cuando hay pocos resultados — pero SIN estirarse para
   igualar el alto real del listado de al lado (que con muchos autos
   puede ser mucho más largo), que dejaba una franja vacía enorme
   debajo de los filtros. El scroll/sticky vive en el form de adentro. */
.ld-sidebar-filtros{
  background:var(--ld-black-2);
  border-right:1px solid var(--ld-line);
  min-height:100vh;
}
.ld-sidebar-filtros form{
  padding:40px 32px;
  position:sticky; top:0;
  scrollbar-width:none; /* Firefox */
  -ms-overflow-style:none; /* Edge legacy */
  margin-bottom:30px;
}
.ld-sidebar-filtros form::-webkit-scrollbar{ display:none; } /* Chrome/Safari */
.ld-filtros-head{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:28px; }
.ld-filtros-head h2{ font-size:24px; color:var(--ld-cream); line-height:1.2; }
.ld-filtros-close{ display:none; }

.ld-filtro-group{ margin-bottom:20px; }
.ld-filtro-group.is-cargando{ opacity:0.45; pointer-events:none; transition:opacity .15s ease; }
.ld-filtro-group label{
  display:block; font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ld-grey); margin-bottom:8px;
}
#ld-sidebar-filtros .ld-filtro-group select,
#ld-sidebar-filtros .ld-filtro-group input[type="text"],
#ld-sidebar-filtros .ld-filtro-group input[type="number"]{
  width:100% !important; background:var(--ld-black) !important;
  border:1px solid #2e2e2e !important;
  color:var(--ld-cream) !important; font-family:'Archivo',sans-serif !important; font-size:14px !important;
  padding:13px 14px !important; appearance:none !important; -webkit-appearance:none !important;
  border-radius:2px !important; box-shadow:none !important;
}
#ld-sidebar-filtros .ld-filtro-group select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 12px center !important; background-size:16px !important;
  padding-right:36px !important;
}
#ld-sidebar-filtros .ld-filtro-group select:focus,
#ld-sidebar-filtros .ld-filtro-group input:focus{
  outline:none !important; box-shadow:none !important; border-color:#2e2e2e !important;
}

/* ---------- Dropdown custom de marca (con logo) ---------- */
.ld-marca-dropdown{ position:relative; }
.ld-marca-toggle{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  background:var(--ld-black); border:1px solid #2e2e2e; border-radius:2px;
  color:var(--ld-cream); font-family:'Archivo',sans-serif; font-size:14px;
  padding:10px 14px; cursor:pointer;
}
.ld-marca-toggle:focus{ outline:none; border-color:#2e2e2e; }
.ld-marca-toggle svg{ width:16px; height:16px; color:var(--ld-grey); flex-shrink:0; transition:transform .2s ease; }
.ld-marca-dropdown.is-open .ld-marca-toggle svg{ transform:rotate(180deg); }
.ld-marca-toggle-inner{ display:flex; align-items:center; gap:10px; min-width:0; }
.ld-marca-toggle-inner span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ld-marca-logo-mini{
  width:24px; height:24px; object-fit:contain; flex-shrink:0;
  background:#fff; border-radius:2px; padding:2px;
}

.ld-marca-list{
  display:none; position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:40;
  background:var(--ld-black-2); border:1px solid #2e2e2e; border-radius:2px;
  max-height:280px; overflow-y:auto; list-style:none; margin:0; padding:6px;
  box-shadow:0 20px 40px -12px rgba(0,0,0,0.7);
}
.ld-marca-dropdown.is-open .ld-marca-list{ display:block; }
.ld-marca-option{
  display:flex; align-items:center; gap:10px;
  padding:9px 10px; font-size:13.5px; color:var(--ld-cream);
  cursor:pointer; border-radius:2px;
}
.ld-marca-option:hover{ background:rgba(224,26,36,0.12); }
.ld-marca-option[hidden]{ display:none; }
.ld-marca-option.is-selected{ background:rgba(224,26,36,0.2); color:#fff; }
.ld-marca-option .ld-marca-logo-mini{ width:22px; height:22px; }
.ld-filtro-km-inputs{ display:flex; align-items:center; gap:10px; margin-top:14px; }
#ld-sidebar-filtros .ld-filtro-km-inputs input{ text-align:center; }
.ld-filtro-km-inputs span{ color:var(--ld-grey); }

/* ---------- Dual-range slider de kilometraje ---------- */
.ld-km-slider{ position:relative; height:20px; margin-top:6px; }
.ld-km-track{
  position:absolute; top:50%; left:0; right:0; height:3px;
  background:rgba(243,237,230,0.15); transform:translateY(-50%);
}
.ld-km-track-fill{
  position:absolute; top:0; height:100%;
  background:var(--ld-red-bright);
}
.ld-km-range{
  position:absolute !important; top:0; left:0; width:100%; height:20px;
  margin:0 !important; background:none !important; border:none !important;
  padding:0 !important; pointer-events:none;
  -webkit-appearance:none !important; appearance:none !important;
}
.ld-km-range::-webkit-slider-runnable-track{ background:none; height:20px; }
.ld-km-range::-moz-range-track{ background:none; height:20px; border:none; }
.ld-km-range::-webkit-slider-thumb{
  -webkit-appearance:none !important; pointer-events:auto;
  width:16px; height:16px; border-radius:50%;
  background:var(--ld-cream); border:3px solid var(--ld-red-bright);
  cursor:pointer; margin-top:0;
  position:relative; z-index:2;
}
.ld-km-range::-moz-range-thumb{
  pointer-events:auto; width:16px; height:16px; border-radius:50%;
  background:var(--ld-cream); border:3px solid var(--ld-red-bright);
  cursor:pointer;
}
.ld-km-range:focus{ outline:none !important; }

.ld-filtro-actions{ margin-top:28px; display:flex; flex-direction:column; gap:16px; }
.ld-filtro-actions .ld-btn{ width:100%; justify-content:center; }
.ld-filtro-reset{
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-size:13px; color:var(--ld-grey); text-transform:uppercase; letter-spacing:.05em;
}
.ld-filtro-reset svg{ width:14px; height:14px; }
.ld-filtro-reset:hover{ color:var(--ld-red-bright); }

/* ---------- Toolbar (contador + orden) ---------- */
.ld-catalogo-toolbar{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
  padding-bottom:24px; margin-bottom:32px; border-bottom:1px solid var(--ld-line);
}
.ld-catalogo-count{ color:var(--ld-grey); font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
.ld-catalogo-orden{ display:flex; align-items:center; gap:12px; }
.ld-catalogo-orden label{
  font-family:'Oswald',sans-serif; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ld-grey);
}
.ld-catalogo-orden select{
  background:var(--ld-black-2); border:1px solid var(--ld-line); color:var(--ld-cream);
  font-family:'Archivo',sans-serif; font-size:13.5px; padding:10px 34px 10px 14px;
  appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:14px;
}
.ld-catalogo-orden select:focus{ outline:none; border-color:var(--ld-red-bright); }

/* ---------- Listado horizontal del catálogo ---------- */
.ld-car-list{ display:flex; flex-direction:column; }
.ld-car-row{
  display:grid; grid-template-columns:260px 1fr auto; gap:32px; align-items:start;
  padding:28px 0; border-bottom:1px solid var(--ld-line);
  transition:background .2s ease;
}
.ld-car-row:first-child{ padding-top:0; }
.ld-car-row:hover{ background:rgba(243,237,230,0.02); }
.ld-car-row-img{
  position:relative; height:130px; overflow:hidden; background:var(--ld-black-2);
}
.ld-car-row-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ld-car-row:hover .ld-car-row-img img{ transform:scale(1.06); }
.ld-car-row-body{ min-width:0; }
.ld-car-row-body h3{ font-size:21px; color:var(--ld-cream); margin-bottom:14px; }
.ld-car-row-meta{ display:flex; flex-wrap:wrap; gap:22px 30px; }
.ld-car-row-meta span{ display:flex; align-items:flex-start; gap:8px; }
.ld-car-row-meta svg{ width:18px; height:18px; color:var(--ld-grey); flex-shrink:0; }
.ld-car-row-meta span > span{ display:flex; flex-direction:column; gap:3px; }
.ld-car-row-meta b{
  display:block; line-height:18px;
  font-weight:400; font-family:'Oswald',sans-serif; font-size:10.5px;
  letter-spacing:.07em; text-transform:uppercase; color:var(--ld-grey);
}
.ld-car-row-meta em{
  font-style:normal; font-size:13.5px; color:var(--ld-cream); font-weight:600;
}
.ld-car-row-price{
  text-align:right; white-space:nowrap; margin-top:38px;
  display:flex; flex-direction:column; align-items:flex-end; gap:10px;
}
.ld-car-row-price .ld-precio{ font-family:'Oswald',sans-serif; font-size:20px; color:var(--ld-red-bright); font-weight:600; }
.ld-car-row-price .ld-precio-consultar{ font-family:'Oswald',sans-serif; font-size:15px; color:var(--ld-red-bright); font-weight:600; }
.ld-car-row-price .ld-car-go{
  font-size:11px; color:var(--ld-cream); letter-spacing:.08em; text-transform:uppercase;
  display:flex; align-items:center; gap:5px;
  padding:7px 13px;
}

@media (max-width: 760px){
  .ld-car-row{ grid-template-columns:1fr; gap:16px; }
  .ld-car-row-img{ height:200px; }
  .ld-car-row-price{ flex-direction:row; align-items:center; justify-content:space-between; margin-top:0; }
}

.ld-catalogo-empty{ padding:80px 0; text-align:center; }
.ld-catalogo-empty h3{ color:var(--ld-cream); font-size:22px; }
.ld-catalogo-empty p{ color:var(--ld-grey); margin-top:12px; }
.ld-catalogo-empty a{ color:var(--ld-red-bright); }
.ld-catalogo-pagination{ display:flex; justify-content:center; gap:8px; margin-top:56px; }
.ld-catalogo-pagination .page-numbers{
  font-family:'Oswald',sans-serif; font-size:13px; color:var(--ld-cream);
  border:1px solid var(--ld-line); padding:10px 16px; letter-spacing:.05em;
}
.ld-catalogo-pagination .page-numbers.current{ background:var(--ld-red); border-color:var(--ld-red); }
.ld-catalogo-pagination .page-numbers:hover{ border-color:var(--ld-red-bright); }

/* ---------- Responsive: sidebar → drawer mobile ---------- */
@media (max-width: 1100px){
  .ld-catalogo-layout{ grid-template-columns:1fr; }
  .ld-catalogo-content{ padding:24px 20px 100px; }

  .ld-filtros-toggle{
    display:flex; align-items:center; gap:10px;
    width:calc(100% - 40px); margin:16px 20px 0;
    background:var(--ld-black-2); border:1px solid var(--ld-line); color:var(--ld-cream);
    font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
    padding:16px 18px; cursor:pointer;
  }
  .ld-filtros-toggle svg{ width:18px; height:18px; color:var(--ld-red-bright); }

  .ld-sidebar-filtros{
    position:fixed; inset:0; width:100%; height:100dvh;
    transform:translateX(-100%); transition:transform .3s ease;
    z-index:99999; border-right:none;
  }
  .ld-sidebar-filtros.is-open{ transform:translateX(0); }
  .ld-sidebar-filtros form{
    max-height:100dvh; overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding-top:max(28px, env(safe-area-inset-top));
    padding-bottom:max(40px, env(safe-area-inset-bottom));
  }

  .ld-filtros-overlay{ display:none; }

  .ld-filtros-close{
    display:flex; align-items:center; justify-content:center;
    width:36px; height:36px; background:none; border:1px solid var(--ld-line);
    color:var(--ld-cream); cursor:pointer; flex-shrink:0;
  }
  .ld-filtros-close svg{ width:16px; height:16px; }

  .ld-car-grid-catalogo{ grid-template-columns:1fr; }
}
@media (min-width: 1101px) and (max-width: 1360px){
  .ld-car-grid-catalogo{ grid-template-columns:repeat(2,1fr); }
}

/* ==========================================================================
   FICHA INDIVIDUAL (/autos/nombre/)
   ========================================================================== */
.ld-single-vehiculo{ padding-top:100px; padding-bottom:100px; }
.ld-single-layout{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:60px; align-items:start; }
.ld-single-main{ min-width:0; }
.ld-single-sidebar{ min-width:0; }
.ld-single-header{
  display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px;
  margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid var(--ld-line);
}
.ld-single-header h1{ font-size:clamp(26px,3.2vw,40px); color:var(--ld-cream); max-width:560px; }
.ld-single-price{ font-family:'Oswald',sans-serif; font-size:30px; color:var(--ld-red-bright); font-weight:600; }
.ld-precio-consultar-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:#25D366 !important; text-decoration:none;
  border:1.5px solid rgba(37,211,102,0.4);
  font-family:'Oswald',sans-serif; font-size:13.5px; letter-spacing:.04em; font-weight:600;
  padding:10px 18px; border-radius:999px;
  transition:background .2s ease, border-color .2s ease;
}
.ld-precio-consultar-btn svg{ width:16px; height:16px; flex-shrink:0; }
.ld-precio-consultar-btn:hover{ background:rgba(37,211,102,0.1); border-color:#25D366; }

.ld-gallery{ margin-bottom:48px; }
.ld-gallery-main{
  position:relative; height:480px; overflow:hidden;
  background:var(--ld-black-2); border:1px solid var(--ld-line);
}
.ld-gallery-slide{
  position:absolute; inset:0; opacity:0; pointer-events:none;
  transition:opacity .4s ease; cursor:zoom-in;
}
.ld-gallery-slide.active{ opacity:1; pointer-events:auto; }
.ld-gallery-slide img{ width:100%; height:100%; object-fit:cover; display:block; }

.ld-gallery-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:42px; height:42px; border-radius:50%;
  background:rgba(10,10,10,0.7); border:1px solid var(--ld-line);
  color:var(--ld-cream); display:flex; align-items:center; justify-content:center;
  cursor:pointer; opacity:0; transition:opacity .2s ease, background .2s ease;
}
.ld-gallery-nav svg{ width:20px; height:20px; }
.ld-gallery-nav:hover{ background:var(--ld-red); border-color:var(--ld-red); }
.ld-gallery-main:hover .ld-gallery-nav{ opacity:1; }
.ld-gallery-prev{ left:16px; }
.ld-gallery-next{ right:16px; }

.ld-gallery-counter{
  position:absolute; bottom:14px; right:16px; z-index:5;
  background:rgba(10,10,10,0.75); border:1px solid var(--ld-line);
  color:var(--ld-cream); font-family:'Oswald',sans-serif; font-size:12px;
  letter-spacing:.05em; padding:5px 12px;
}

.ld-gallery-thumbs{ display:flex; gap:10px; margin-top:10px; overflow-x:auto; }
.ld-gallery-thumb{
  border:1px solid var(--ld-line); background:none; padding:0; cursor:pointer;
  width:96px; height:72px; flex-shrink:0; overflow:hidden; opacity:.6; transition:opacity .2s ease, border-color .2s ease;
}
.ld-gallery-thumb img{ width:100%; height:100%; object-fit:cover; }
.ld-gallery-thumb:hover, .ld-gallery-thumb.active{ opacity:1; border-color:var(--ld-red-bright); }

@media (max-width: 640px){
  .ld-gallery-nav{ opacity:1; width:36px; height:36px; }
}

/* ---------- LIGHTBOX PROPIO (ficha individual) ---------- */
.ld-lightbox{
  display:none; position:fixed; inset:0; z-index:999999;
  background:rgba(5,5,5,0.94);
  align-items:center; justify-content:center;
  padding:60px 24px;
}
.ld-lightbox.is-open{ display:flex; }
.ld-lightbox img{
  max-width:100%; max-height:100%; object-fit:contain;
  display:block; user-select:none;
}
.ld-lightbox-close{
  position:absolute; top:20px; right:20px; z-index:2;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.08); border:1px solid rgba(243,237,230,0.25);
  color:var(--ld-cream); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s ease;
}
.ld-lightbox-close:hover{ background:var(--ld-red); border-color:var(--ld-red); }
.ld-lightbox-close svg{ width:20px; height:20px; }
.ld-lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:52px; height:52px; border-radius:50%;
  background:rgba(255,255,255,0.08); border:1px solid rgba(243,237,230,0.25);
  color:var(--ld-cream); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s ease;
}
.ld-lightbox-nav:hover{ background:var(--ld-red); border-color:var(--ld-red); }
.ld-lightbox-nav svg{ width:24px; height:24px; }
.ld-lightbox-prev{ left:20px; }
.ld-lightbox-next{ right:20px; }
@media (max-width: 640px){
  .ld-lightbox{ padding:80px 12px; }
  .ld-lightbox-nav{ width:40px; height:40px; }
  .ld-lightbox-prev{ left:8px; }
  .ld-lightbox-next{ right:8px; }
}

.ld-ficha-tecnica{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--ld-line); margin-bottom:48px;
}
.ld-ficha-item{
  display:flex; justify-content:space-between; padding:16px 24px;
  border-bottom:1px solid var(--ld-line); border-right:1px solid var(--ld-line);
}
.ld-ficha-item:nth-child(even){ border-right:none; }
.ld-ficha-label{ font-size:13px; color:var(--ld-grey); text-transform:uppercase; letter-spacing:.05em; }
.ld-ficha-valor{ font-family:'Oswald',sans-serif; font-size:14.5px; color:var(--ld-cream); text-align:right; }

.ld-section-title{ font-size:20px; color:var(--ld-cream); margin:48px 0 22px; }
.ld-equipamiento{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px 24px; list-style:none; }
.ld-equipamiento li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ld-grey); }
.ld-equipamiento svg{ width:16px; height:16px; color:var(--ld-red-bright); flex-shrink:0; margin-top:3px; }
.ld-descripcion{ color:var(--ld-grey); font-size:15px; line-height:1.8; max-width:640px; }
.ld-descripcion p{ margin-bottom:14px; }

.ld-single-sidebar{ display:flex; flex-direction:column; gap:24px; position:sticky; top:120px; }
.ld-sidebar-card{ background:var(--ld-black-2); border:1px solid var(--ld-line); border-top:3px solid var(--ld-red-bright); padding:32px; }
.ld-sidebar-logo{ height:36px; width:auto; margin-bottom:24px; }
.ld-sidebar-card h3{ font-size:17px; color:var(--ld-cream); margin-bottom:20px; }
.ld-sidebar-card .ld-btn{ width:100%; justify-content:center; }
.ld-sidebar-phone{ margin-top:16px; text-align:center; font-size:14px; color:var(--ld-grey); }
.ld-sidebar-financiacion .ld-ic{
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--ld-line); color:var(--ld-red-bright); margin-bottom:18px;
}
.ld-sidebar-financiacion .ld-ic svg{ width:22px; height:22px; }
.ld-sidebar-financiacion h3{ font-size:16px; line-height:1.3; margin-bottom:12px; }
.ld-sidebar-financiacion p{ font-size:13.5px; color:#c9c9c9; line-height:1.6; margin-bottom:22px; }

.ld-similares{ background:var(--ld-black-2); border:1px solid var(--ld-line); padding:28px; }
.ld-similares h3{ font-size:15px; color:var(--ld-cream); margin-bottom:18px; text-transform:uppercase; letter-spacing:.05em; }
.ld-similar-card{ display:flex; gap:14px; align-items:center; margin-bottom:16px; }
.ld-similar-card:last-child{ margin-bottom:0; }
.ld-similar-card img{ width:72px; height:56px; object-fit:cover; flex-shrink:0; }
.ld-similar-title{ font-size:13px; color:var(--ld-cream); line-height:1.3; margin-bottom:4px; }
.ld-similar-card .ld-precio, .ld-similar-card .ld-precio-consultar{ font-size:13px; color:var(--ld-red-bright); font-family:'Oswald',sans-serif; }
.ld-similares-cta{ display:flex; justify-content:center; margin-top:20px; padding-top:20px; border-top:1px solid var(--ld-line); text-align:center; }

@media (max-width: 1000px){
  .ld-single-layout{ grid-template-columns:1fr; }
  .ld-single-sidebar{ position:static; }
  .ld-ficha-tecnica{ grid-template-columns:1fr; }
  .ld-ficha-item:nth-child(even){ border-right:1px solid var(--ld-line); }
  .ld-equipamiento{ grid-template-columns:1fr; }
  .ld-gallery-main{ height:300px; }
}

@media (max-width: 760px){
  .ld-single-vehiculo{ padding-top:50px; }
}

/* "Consultanos por este vehículo": en desktop/tablet va en el sidebar
   (orden normal); en mobile se muestra la copia pegada debajo de la
   descripción en vez de la del sidebar, para que quede más arriba. */
.ld-cta-mobile-only{ display:none; }
@media (max-width: 760px){
  .ld-cta-mobile-only{ display:block; margin-top:32px; }
  .ld-cta-desktop-only{ display:none; }
}

/* ---------- Select2 (Salient lo aplica sobre los <select> nativos del sidebar) ---------- */
#ld-sidebar-filtros .fancy-select-wrap{
  padding-top:0px !important;
}
#ld-sidebar-filtros span.select2-selection.select2-selection--single{
  border:1px solid #2e2e2e !important;
  border-radius:2px !important;
  background:var(--ld-black) !important;
  height:auto !important;
  padding:13px 36px 13px 14px !important;
  box-shadow:none !important;
}
#ld-sidebar-filtros .select2-selection__rendered{
  color:var(--ld-cream) !important;
  padding:0 !important; line-height:1.3 !important;
  font-family:'Archivo',sans-serif; font-size:14px;
}
#ld-sidebar-filtros span.select2-selection__arrow{
  display:block !important;
  top:50% !important; right:14px !important;
  transform:translateY(-50%);
  height:auto !important; width:auto !important;
}
#ld-sidebar-filtros span.select2-selection__arrow b{
  display:none !important;
}
#ld-sidebar-filtros span.select2-selection__arrow::after{
  content:'';
  display:block;
  width:9px; height:9px;
  border-right:1.5px solid var(--ld-grey);
  border-bottom:1.5px solid var(--ld-grey);
  transform:rotate(45deg);
}
#ld-sidebar-filtros .select2-container{ width:100% !important; }
#ld-sidebar-filtros .select2-container--default.select2-container--open span.select2-selection--single{
  border-color:var(--ld-red-bright) !important;
}
