:root{
  --bg:#f7f8fa;
  --surface:#ffffff;
  --surface-2:#f0f2f5;
  --text:#0e1a13;
  --muted:#5f6b66;
  --line:rgba(14,26,19,0.12);
  --shadow:0 10px 30px rgba(0,0,0,0.08);

  --title:#19a280;     /* color solicitado */
  --btn:#dc781d;       /* color solicitado */
  --btn-hover:#c96d1a;
  --focus:rgba(25,162,128,0.28);

  --radius:0px;        /* bordes rectos */
  --container:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:radial-gradient(1200px 500px at 20% -10%, rgba(25,162,128,0.10), transparent 55%),
             radial-gradient(1000px 480px at 90% 10%, rgba(220,120,29,0.10), transparent 55%),
             var(--bg);
  color:var(--text);
}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.container{max-width:var(--container);margin:0 auto;padding:0 18px}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--btn);
  color:#fff;
  border:1px solid transparent;
  padding:12px 16px;
  border-radius:var(--radius);
  font-weight:700;
  letter-spacing:.2px;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(220,120,29,0.20);
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  user-select:none;
}
.btn:hover{background:var(--btn-hover);transform:translateY(-1px);box-shadow:0 14px 28px rgba(220,120,29,0.26)}
.btn:active{transform:translateY(0)}

/* Hover: calendar icon in buttons should turn orange (not white) */
.btn:hover i.fa-regular.fa-calendar,
.btn:hover i.fa-regular.fa-calendar-check{
  color: var(--btn);
}
.btn--ghost{
  background:transparent;
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:none;
}
.btn--ghost:hover{background:rgba(14,26,19,0.04);transform:translateY(-1px)}
.btn--wide{justify-content:center;width:100%}
.btn--sm{padding:10px 12px;font-weight:700}

.icon-btn{
  width:44px;height:44px;
  display:grid;place-items:center;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  cursor:pointer;
  transition:transform .15s ease, background .15s ease;
}
.icon-btn:hover{transform:translateY(-1px);background:rgba(14,26,19,0.03)}

/* Lucide size */
[data-lucide]{width:18px;height:18px}

/* Topbar */
.topbar{background:var(--surface);border-bottom:1px solid var(--line);
padding: 0px 15px 0px 15px;}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.topbar__left{display:flex;align-items:center;gap:12px;}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(25,162,128,0.10);
  border:1px solid rgba(25,162,128,0.20);
  padding:6px 10px;
  border-radius:var(--radius);
  font-weight:600;
  color:var(--text);
}
.topbar__hint{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:600}
.topbar__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.topbar__link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}

/* Header */
.header{
  position:sticky;top:0;z-index:50;
  background:white;
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
  padding: 0px 15px 0px 15px;
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}

.logo{display:flex;align-items:center;gap:10px; width: 180px;}
.logo__mark{
  width:40px;height:40px;display:grid;place-items:center;
  background:rgba(25,162,128,0.12);
  border:1px solid rgba(25,162,128,0.24);
  border-radius:var(--radius);
  font-weight:900;color:var(--title);
}
.logo__text{display:flex;flex-direction:column;line-height:1.1}
.logo__text strong{font-size:14px;letter-spacing:.4px}
.logo__text small{font-size:12px;color:var(--muted);font-weight:600}

.nav{display:flex;align-items:center;gap:18px}
.nav a{font-weight:700;color:var(--text);opacity:.9;padding:10px 8px;border-radius:var(--radius)}
.nav a:hover{background:rgba(14,26,19,0.04)}

.header__actions{display:flex;align-items:center;gap:10px}

/* Mobile nav */
@media (max-width: 980px){
  .nav{
    position:fixed;inset:68px 18px auto 18px;
    background:var(--surface);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:12px;
    display:none;
    flex-direction:column;
    align-items:stretch;
  }
  .nav.is-open{display:flex}
  .nav a{padding:12px}
}

/* Hero */
.hero{position:relative;padding:0 0 26px}
.hero__slider{position:relative}
.hero__slide{
  position:relative;
  min-height:560px;
  display:none;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero__slide.is-active{display:block}
.hero__bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}
.hero__overlay{
  position:absolute;inset:0;
  /* gradiente SOLO para mejorar contraste sin tapar títulos */
  background:
    linear-gradient(90deg, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.05) 100%),
    radial-gradient(700px 400px at 20% 40%, rgba(25,162,128,0.20), transparent 60%);
  pointer-events:none;
}
.hero__content{position:relative;z-index:2;display:flex;align-items:center;min-height:560px;
}

@media (max-width:580px){
    
            .hero__content{position:relative;z-index:2;display:flex;align-items:flex-start;min-height:560px; padding-top: 40px}
    
}

.hero__copy{max-width:640px}
.hero h1{
  margin:0 0 14px;
  font-size:clamp(30px, 4.2vw, 52px);
  line-height:1.05;
  color:#fff;
  letter-spacing:-0.6px;
}
.hero p{margin:0 0 22px;color:rgba(255,255,255,0.88);font-size:16px;max-width:52ch}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero__meta{margin-top:20px;display:flex;gap:14px;flex-wrap:wrap}
.meta{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,0.90);font-weight:700;background:rgba(255,255,255,0.10);border:1px solid rgba(255,255,255,0.18);padding:8px 10px;border-radius:var(--radius)}

.hero__controls{
  position:absolute;inset:auto 0 0 0;
  display:flex;justify-content:space-between;
  padding:0 12px 12px;
  z-index:3;
  pointer-events:none;
  transform: translateY(-50%);
}
.hero__arrow{pointer-events:auto}
.hero__arrow{
  width:46px;height:46px;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(255,255,255,0.12);
  color:#fff;
  display:grid;place-items:center;
  cursor:pointer;
  backdrop-filter: blur(8px);
  transition:transform .15s ease, background .15s ease;
}
.hero__arrow:hover{transform:translateY(-1px);background:rgba(255,255,255,0.18)}

.hero__dots{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  display:flex;gap:8px;z-index:3;
}
.dot{width:10px;height:10px;border-radius:0;background:rgba(255,255,255,0.45);border:1px solid rgba(255,255,255,0.55);cursor:pointer}
.dot.is-active{background:#fff}

/* Search */
.search{
  margin-top:-62px;
  position:relative;
  z-index:6;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  padding:18px;
}
.search__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.search__grid--compact{grid-template-columns:1.15fr 1.15fr 260px;align-items:center}
.search__grid--compact .search__submit{margin-top:0;height:52px;justify-content:center}
.field__control--pill{background:#f2f4f6;border-color:rgba(0,0,0,0.12);padding:14px 14px}
.field__control--pill select{font-weight:700}
.field__chev{width:18px;height:18px;opacity:0.6}

.search__actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}
.search__note{margin:0;color:var(--muted);display:inline-flex;align-items:center;gap:8px;font-weight:600}

.field label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px;font-weight:700}
.field__control{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--line);
  background:var(--surface);
  padding:12px 12px;
  border-radius:var(--radius);
}
.field__control:focus-within{outline:3px solid var(--focus);border-color:rgba(25,162,128,0.35)}
.field__control select,
.field__control input,
.field__control textarea{
  border:0;outline:0;background:transparent;
  width:100%;font:inherit;color:var(--text);
}
.field__control textarea{resize:vertical}
.field__control--textarea{align-items:flex-start}

@media (max-width: 980px){
  .hero__slide{min-height:520px}
  .hero__content{min-height:520px;padding-bottom: 50px;}
  .search__grid{grid-template-columns:1fr 1fr}
  .search__grid--compact{grid-template-columns:1fr 1fr}
  .search__grid--compact .search__submit{grid-column:1 / -1}
}
@media (max-width: 560px){
  .search{margin-top:-44px;padding:14px}
  .search__grid{grid-template-columns:1fr}
  .search__grid--compact{grid-template-columns:1fr}
  .topbar__link{display:none}
}

/* Sections */
.section{padding:30px 0}
.section--soft{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.title{margin:0;color:var(--title);font-size:28px;letter-spacing:-0.3px
  text-transform: uppercase;
}
.subtitle{margin:6px 0 0;color:var(--muted);font-weight:600}

.grid{display:grid;gap:16px}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width: 980px){
  .grid--3{grid-template-columns:1fr 1fr}
  .grid--4{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .grid--3,.grid--4{grid-template-columns:1fr}
  .section{padding:54px 0;
            padding-top: 20px;
            padding-bottom: 20px;
  }
  .section__head{flex-direction:column;align-items:flex-start}
}

/* Cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 20px rgba(0,0,0,0.05)}
.card__body{padding:16px}
.card__body h3{margin:0 0 10px;font-size:18px}
.card__body p{margin:0 0 14px;color:var(--muted);font-weight:600}

/* Prices (old/new) */
.card__price{margin:0 0 14px;color:var(--muted);font-weight:600}
.price{display:inline-flex;align-items:baseline}
.price--old{text-decoration:line-through;opacity:.75;font-weight:700;margin-right:6px}
.price--new{font-weight:900}

/* Promo cards: image must take full width (no inner border) */
.card__media{
  height:180px;
  display:block;
  background-size:cover;
  background-position:center;
  position:relative;
}
.chip{
  position:absolute;top:12px;left:12px;
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(0,0,0,0.12);
  padding:8px 10px;
  border-radius:var(--radius);
  font-weight:800;
}
.card__meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-weight:700;margin-bottom:14px;font-size:13px;line-height:1.15}
.card__meta span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.card__meta i{font-size:14px;line-height:1}

/* Vehicle cards */
.vehicle__img{
  height:220px;
  background-size:cover;
  background-position:center;
}
.vehicle__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(25,162,128,0.10);border:1px solid rgba(25,162,128,0.20);padding:6px 10px;border-radius:var(--radius);font-weight:800;color:var(--text)}
.vehicle__meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-weight:700;margin-bottom:14px;font-size:13px;line-height:1.15}
.vehicle__meta span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.vehicle__meta i{font-size:14px;line-height:1}

/* Features */
.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 18px rgba(0,0,0,0.05)}
.feature h3{margin:12px 0 8px;font-size:16px}
.feature p{margin:0;color:var(--muted);font-weight:600}
.feature [data-lucide]{width:22px;height:22px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.step{display:flex;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 18px rgba(0,0,0,0.05)}
.step__num{min-width:42px;height:42px;display:grid;place-items:center;background:rgba(220,120,29,0.14);border:1px solid rgba(220,120,29,0.24);font-weight:900;border-radius:var(--radius)}
.step__body h3{margin:0 0 6px;font-size:16px}
.step__body p{margin:0;color:var(--muted);font-weight:600}
@media (max-width: 980px){
  .steps{grid-template-columns:1fr}
}

.cta{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(90deg, rgba(25,162,128,0.14), rgba(220,120,29,0.14));border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.cta__copy h3{margin:0 0 6px}
.cta__copy p{margin:0;color:var(--muted);font-weight:600}
@media (max-width: 780px){
  .cta{flex-direction:column;align-items:flex-start}
}

/* Carousel */
.carousel{overflow:hidden;position:relative}
.carousel__viewport{
  overflow:hidden;
  /*
    "Smartfit-like": dejamos espacio interno a la derecha para que
    siempre se asome un pedacito de la siguiente tarjeta.
  */
  padding:10px 0;
}
.carousel__track{
  display:flex;
  gap:16px;
  padding:0;
  will-change:transform;
  transition:transform .35s ease;
}
.carousel__actions{display:flex;gap:10px}

/* Desktop arrows (solo desktop) */
.carousel__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:0;
  border:1px solid rgba(0,0,0,0.12);
  background:rgba(255,255,255,0.92);
  color: var(--text);
  box-shadow:0 10px 18px rgba(0,0,0,0.08);
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:6;
}
/* Ícono (no depende de FontAwesome) */
.carousel__navIcon{
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  display:block;
  transform: translateY(-1px);
}
.carousel__nav--prev{ left: -6px; }
.carousel__nav--next{ right: -6px; }
.carousel__nav:hover{ background:#fff; }

@media (min-width: 901px){
  .carousel__nav{ display:flex; }
}

/* Ajuste: flechas fuera del contenido (solo #promociones en desktop) */
@media (min-width: 901px){
  #promociones .carousel__viewport{
    /* Sin padding en viewport (desktop) */
    padding: 0;
    cursor: default;
  }
  #promociones .carousel__viewport.is-dragging{ cursor: default; }
  /* Flechas fuera de las tarjetas (no encima) */
  #promociones .carousel__nav--prev{ left: -52px; }
  #promociones .carousel__nav--next{ right: -52px; }
}

.card--promo{
  /*
    Ancho pensado para que NO ocupe el 100% del viewport
    y se vea un "peek" de la siguiente tarjeta.
  */
  flex:0 0 clamp(280px, 78%, 340px);
  max-width:340px;
  scroll-snap-align:start;
}
.quote{
  flex:0 0 clamp(280px, 78%, 360px);
  max-width:360px;
  scroll-snap-align:start;
}
@media (max-width: 560px){
  .carousel__viewport{padding-right:56px}
  .card--promo,.quote{flex-basis:86%}
}

/* En #promociones no necesitamos el padding-right global: afecta el centrado en mobile */
@media (max-width: 900px){
  /* Mobile/Tablet: margen fijo para centrar 1ra/última tarjeta (sin cálculos) */
  #promociones .carousel__track > *:first-child{ margin-left: 40px; }
  /* Nota: margin-right en el último item no siempre expande el scrollWidth en flex.
     Para garantizar el espacio final (y permitir centrar la última tarjeta),
     añadimos un "spacer" como pseudo-elemento flex. */
  #promociones .carousel__track > *:last-child{ margin-right: 0; }
  #promociones .carousel__track::after{ content: ""; display: block; flex: 0 0 40px; }
}

/* Quotes */
.quote__stars{display:flex;gap:6px;margin-bottom:10px;color:rgba(220,120,29,0.95)}
.quote p{margin:0 0 14px;color:var(--text);font-weight:650}
.quote__who{display:flex;align-items:center;gap:12px}
.avatar{width:38px;height:38px;background:linear-gradient(135deg, rgba(25,162,128,0.40), rgba(220,120,29,0.35));border:1px solid var(--line)}
.quote small{display:block;color:var(--muted);font-weight:700}

/* Posts */
.post__img{height:190px;background-size:cover;background-position:center}
.link{display:inline-flex;align-items:center;gap:10px;font-weight:900;color:var(--title)}

/* FAQ */
.faq{}
.faq__item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px;box-shadow:0 10px 18px rgba(0,0,0,0.05)}
.faq__item + .faq__item{margin-top:12px}
.faq__item summary{cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:900}
.faq__item p{margin:10px 0 0;color:var(--muted);font-weight:600}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}
.contact__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 18px rgba(0,0,0,0.05)}
.contact__card h3{margin:0 0 10px}
.list{list-style:none;padding:0;margin:0 0 16px}
.list li{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:700;padding:8px 0;border-bottom:1px dashed rgba(14,26,19,0.18)}
.list li:last-child{border-bottom:0}
.contact__form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 18px rgba(0,0,0,0.05)}
.form-note{margin:10px 0 0;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:8px}
@media (max-width: 980px){
  .contact{grid-template-columns:1fr}
}

/* Footer */
.footer{background:var(--surface);border-top:1px solid var(--line)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;padding:42px 0; padding: 15px;}
.footer__grid h4{margin:0 0 10px;color:var(--title)}
.footer__grid ul{list-style:none;padding:0;margin:0}
.footer__grid li{margin:10px 0}
.footer__grid a{color:var(--muted);font-weight:700}
.footer__grid a:hover{color:var(--text)}
.footer__text{color:var(--muted);font-weight:600;max-width:48ch}
.logo--footer{margin-bottom:10px}
.social{display:flex;gap:10px;flex-wrap:wrap}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:16px 0;color:var(--muted);font-weight:700; padding: 15px}
.to-top{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-weight:900}
@media (max-width: 780px){
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;align-items:flex-start}
}


.carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.carousel__dot{width:10px;height:10px;border-radius:0;border:1px solid rgba(0,0,0,0.22);background:rgba(0,0,0,0.10);cursor:pointer}
.carousel__dot.is-active{background:var(--title);border-color:var(--title)}

.divisor{display: flex; justify-content: space-between;
    max-width:var(--container);
    flex-wrap: wrap;
      }


@media (max-width:780px) {


  .contact__card{width: 100%;
    margin-top: 10px;}
  
}

/* Smartfit-style edge-to-edge carousel */
.promociones { overflow: hidden; }
.promociones .carousel-wrapper { padding-left: 0; margin-left: 0; }


/* === Promociones: carrusel full-bleed (tipo Smartfit) === */
#promociones { overflow-x: clip; }
#promociones > .container:nth-of-type(2){
  max-width: none;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 0;
  padding-right: 0;
}
#promociones .carousel { overflow: visible; }
#promociones .carousel__viewport { overflow: hidden; padding: 0; }


/* === Promociones: en desktop vuelve a contenedor con márgenes laterales === */
@media (min-width: 992px){
  #promociones { overflow-x: visible; }
  #promociones > .container:nth-of-type(2){
    max-width: var(--container);
    width: auto;
    margin-left: auto;
    margin-right: auto;
    padding-left: 18px;
    padding-right: 18px;
  }
}



/* === Font Awesome icon alignment (reemplazo de SVGs) === */
i.fa-solid, i.fa-regular, i.fa-brands{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
/* Íconos en FAQ y Contacto */
.faq__q i, .contact__row i, .btn i{
  width: 1.25em;
  min-width: 1.25em;
}
.faq__q i{ font-size: 1.05rem; }
.contact__row i{ font-size: 1.05rem; opacity: .85; }

.carousel__cta{
  display:flex;
  justify-content:center;
  margin-top:18px;
}


/* === Promociones: carrusel deslizable (drag/swipe) === */
#promociones .carousel__viewport{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}
#promociones .carousel__viewport::-webkit-scrollbar{ display:none; }

/* (Opcional) Snap suave a tarjetas */
#promociones .carousel__track{ scroll-snap-type: x mandatory; }
#promociones .card{ scroll-snap-align: start; }

/* Para drag con mouse */
#promociones .carousel__viewport.is-dragging{ cursor: grabbing; }
#promociones .carousel__viewport{ cursor: grab; }


/* Titles in uppercase (override) */
.title{ text-transform: uppercase; }



/* === Carrusel: scroll horizontal nativo (sin drag artificial) === */
#promociones .carousel__viewport{
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}
#promociones .carousel__viewport::-webkit-scrollbar{ display:none; }

/* Evita seleccionar texto/arrastrar imágenes accidentalmente */
#promociones .carousel__viewport{ user-select: none; -webkit-user-select: none; }
#promociones .carousel__viewport img{ -webkit-user-drag: none; user-drag: none; pointer-events: none; }



/* === FAQ + Contacto (layout mejorado) === */
.faq-contact{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 28px;
  align-items:start;
}
.section__head--stack{
  margin-bottom: 14px;
}
.section__head--stack .title{
  margin: 0 0 6px 0;
}
.section__head--stack .subtitle{
  margin: 0;
}

/* FAQ cards un poco más premium */
.faq .faq__item{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0,0,0,.05);
  margin-bottom: 14px;
}
.faq .faq__item summary{
  display:flex;
  gap: 10px;
  align-items:center;
  padding: 14px 16px;
  cursor: pointer;
  list-style:none;
}
.faq .faq__item summary::-webkit-details-marker{ display:none; }
.faq .faq__item p{
  padding: 0 16px 16px 16px;
  margin: 0;
  color: rgba(0,0,0,.7);
}

/* Contact card más alineada al estilo */
.contact__card--sticky{
  position: sticky;
  top: 18px;
}

/* Responsive: mobile FAQ arriba, contacto abajo */
@media (max-width: 900px){
  .faq-contact{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .contact__card--sticky{ position: static; }
}



/* Carrusel: ayuda a que el centrado se sienta más natural */
#promociones .carousel__viewport{
  /* Evita "delay"/inercia extra: el swipe lo controlamos por JS */
  scroll-behavior: auto;
}







/* Mobile: el centrado de 1ra/última tarjeta se hace con padding dinámico por JS */
@media (max-width: 900px){
  #promociones .carousel__track{ padding-left: 0; padding-right: 0; }
}


@media (max-width: 900px){
  #promociones .carousel__viewport{ touch-action: pan-y; }
}


/** AGREGADOS**/

.btn--outline{margin-top: 30px;
                margin-bottom: 30px;
}








/* Hover "¿Por qué elegirnos?" (cuadros .feature) */
.prestige-landing-template .section--soft .feature{
  transition: background-color .25s ease, color .25s ease;
}

.prestige-landing-template .section--soft .feature i,
.prestige-landing-template .section--soft .feature svg,
.prestige-landing-template .section--soft .feature [data-lucide]{
  transition: color .25s ease, fill .25s ease, stroke .25s ease;
}

.prestige-landing-template .section--soft .feature:hover,
.prestige-landing-template .section--soft .feature:focus-within{
  background: #19a280;
  color: #fff;
}

.prestige-landing-template .section--soft .feature:hover h3,
.prestige-landing-template .section--soft .feature:focus-within h3,
.prestige-landing-template .section--soft .feature:hover p,
.prestige-landing-template .section--soft .feature:focus-within p{
  color: #fff;
}

.prestige-landing-template .section--soft .feature:hover i,
.prestige-landing-template .section--soft .feature:focus-within i{
  color: #fff;
}

/* Por si usas íconos SVG/Lucide en algún momento */
.prestige-landing-template .section--soft .feature:hover svg,
.prestige-landing-template .section--soft .feature:focus-within svg,
.prestige-landing-template .section--soft .feature:hover [data-lucide],
.prestige-landing-template .section--soft .feature:focus-within [data-lucide]{
  fill: #fff;
  stroke: #fff;
  color: #fff;
}

/* ==============================
   Lista de vehículos (sin carrusel)
   - Grid responsive con Flexbox
   - Desktop: 3 tarjetas por fila
   - Mobile: 1 tarjeta por fila
   ============================== */
.vehicle-grid{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.vehicle-grid .card--promo{
  flex: 0 0 calc((100% - 32px) / 3);
  max-width:none;
}

@media (max-width: 900px){
  .vehicle-grid .card--promo{
    flex-basis: 100%;
  }
}


/* Clickable media/title (usa overlay generado por JS) */
.card__media{ position: relative; }
.card__mediaLink{
  position:absolute;
  inset:0;
  display:block;
  cursor:pointer;
}
.card__titleLink{
  color: inherit;
  text-decoration: none;
}
.card__titleLink:hover{ text-decoration: underline; }
