/* ═══════════════════════════════════════════════════════════
   Koska Enara — tarjetas unificadas para las home de marca
   (gamadacia/homepage-dacia.html + gamarenault/homepage.html)
   Mismo diseño de tarjeta para las dos marcas; el color de
   acento cambia según body.brand-dacia / body.brand-renault.
   ═══════════════════════════════════════════════════════════ */

body.brand-dacia{--km-a:#646b52;--km-a-ink:#fff;--km-a-hv:#4f5440;--km-tint:#eaebdf}
body.brand-renault{--km-a:#EFDF00;--km-a-ink:#1A1918;--km-a-hv:#F8EB4C;--km-tint:#FAF7D6}

.km-sec{padding:64px 0}
.km-sec--tint{background:var(--s)}
.km-sec--dark{background:var(--k)}
.km-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.km-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:30px}
.km-eye{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--k3);margin-bottom:6px;font-family:var(--font-ui)}
.km-sec--dark .km-eye{color:rgba(255,255,255,.5)}
.km-h2{font-family:var(--font-heading);font-size:clamp(22px,4vw,32px);font-weight:700;color:var(--k);margin:0}
.km-sec--dark .km-h2{color:#fff}
.km-link{font-size:12px;font-weight:600;color:var(--k2);text-decoration:none;white-space:nowrap;font-family:var(--font-ui);transition:color .15s}
.km-link:hover{color:var(--k)}
.km-sec--dark .km-link{color:rgba(255,255,255,.6)}
.km-sec--dark .km-link:hover{color:#fff}
.km-more{text-align:center;margin-top:12px;display:none}

/* ── Accesos rápidos ─────────────────────────────────────── */
.km-qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.km-qa{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 16px;border:1px solid var(--ln);border-radius:12px;background:#fff;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.km-qa:hover{border-color:var(--km-a);box-shadow:0 10px 26px rgba(26,25,23,.10);transform:translateY(-3px)}
.km-qa-ic{width:50px;height:50px;border-radius:50%;background:var(--s);display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--k2);transition:background .2s,color .2s}
.km-qa-ic svg{width:22px;height:22px}
.km-qa:hover .km-qa-ic{background:var(--km-a);color:var(--km-a-ink)}
.km-qa-l{font-size:14px;font-weight:700;color:var(--k);margin-bottom:3px;font-family:var(--font-ui)}
.km-qa-s{font-size:12px;color:var(--k3);font-family:var(--font-body)}

/* ── Fila deslizante genérica ────────────────────────────── */
.km-row-outer{position:relative}
.km-row{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.km-row::-webkit-scrollbar{display:none}
.km-arrow{position:absolute;top:calc(50% - 16px);transform:translateY(-50%);z-index:5;width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--ln);box-shadow:0 4px 14px rgba(0,0,0,.1);color:var(--k);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}
.km-arrow:hover{background:var(--km-a);color:var(--km-a-ink);border-color:var(--km-a)}
.km-arrow svg{width:16px;height:16px}
.km-arrow--prev{left:4px}
.km-arrow--next{right:4px}
.km-sec--dark .km-arrow{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}

/* ── Tarjeta de vehículo (catálogo / stock) ──────────────── */
.km-vcard{flex:0 0 calc((100% - 32px)/3);min-width:0;scroll-snap-align:start;background:#fff;border:1px solid var(--ln);border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;cursor:pointer;transition:transform .25s,box-shadow .25s}
.km-vcard:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(26,25,23,.14)}
.km-vimg{position:relative;aspect-ratio:16/9;flex:0 0 auto;background:#F1EFE9;overflow:hidden}
.km-vimg img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .35s}
.km-vimg--cut{background:#F6F4EF}
.km-vimg--cut img{object-fit:contain;mix-blend-mode:multiply;padding:6px}
.km-vcard:hover .km-vimg img{transform:none}
.km-badge{position:absolute;top:10px;left:10px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:20px;color:#fff}
.km-badge--elec{background:#1a5c3a}
.km-badge--hyb{background:#1a3c6a}
.km-badge--eco{background:#0f766e}
.km-badge--gas{background:#78350f}
.km-hot{position:absolute;top:10px;right:10px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:20px;background:var(--km-a);color:var(--km-a-ink)}
.km-vbody{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1 1 auto}
.km-vbrand{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--k3);margin-bottom:2px;font-family:var(--font-ui)}
.km-vname{font-family:var(--font-heading);font-size:17px;font-weight:700;color:var(--k);margin-bottom:2px;line-height:1.25;min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.km-vsub{font-size:12px;color:var(--k3);margin-bottom:10px;font-family:var(--font-body)}
.km-vspecs{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;min-height:22px;gap:5px;margin-bottom:10px;font-size:11px;color:var(--k3);font-family:var(--font-ui)}
.km-vspecs .fuel{padding:2px 7px;border-radius:20px;font-weight:700;background:var(--s);color:var(--k2)}
.km-vfrom{font-size:9px;color:var(--k3);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-ui)}
.km-vprice{font-family:var(--font-heading);font-size:20px;font-weight:800;color:var(--k);line-height:1.15}
.km-vmonth{font-size:11px;color:var(--k3);margin-bottom:12px;font-family:var(--font-body)}
.km-vmonth strong{color:var(--k)}
.km-vbtn{display:block;margin-top:auto;text-align:center;padding:9px;border-radius:8px;background:var(--km-a);color:var(--km-a-ink)!important;font-size:11px;font-weight:700;letter-spacing:.03em;font-family:var(--font-ui);transition:background .2s;text-decoration:none}
.km-vcard:hover .km-vbtn{background:var(--km-a-hv)}

/* ── Tarjeta de promoción (grande) ───────────────────────── */
.km-promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.km-pcard{background:#fff;border:1px solid var(--ln);border-radius:12px;overflow:hidden;text-decoration:none;display:block;cursor:pointer;transition:transform .25s,box-shadow .25s}
.km-pcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(26,25,23,.14)}
.km-pimg{position:relative;overflow:hidden;background:#e9e6df}
.km-pimg::before{content:'';display:block;padding-bottom:56.25%}
@supports(aspect-ratio:1){.km-pimg{aspect-ratio:16/9}.km-pimg::before{display:none}}
.km-pimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.km-pcard:hover .km-pimg img{transform:scale(1.04)}
.km-pimg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.5) 0%,transparent 55%)}
@media(max-width:900px){.km-pimg{aspect-ratio:16/10}.km-pimg::before{padding-bottom:62.5%}}
@media(max-width:600px){.km-pimg{aspect-ratio:4/3}.km-pimg::before{padding-bottom:75%}}
.km-ptag{position:absolute;top:12px;left:12px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:var(--km-a);color:var(--km-a-ink);z-index:1}
.km-pbody{padding:20px 22px 22px}
.km-pbrand{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--k3);margin-bottom:4px;font-family:var(--font-ui)}
.km-pname{font-family:var(--font-heading);font-size:21px;font-weight:700;color:var(--k);margin-bottom:8px}
.km-pdesc{font-size:13px;color:var(--k3);line-height:1.6;margin-bottom:16px;font-family:var(--font-body)}
.km-prow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.km-pfrom{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--k3);margin-bottom:2px;font-family:var(--font-ui)}
.km-pprice{font-family:var(--font-heading);font-size:28px;font-weight:800;color:var(--k);line-height:1}
.km-pprice span{font-size:15px;font-weight:500;color:var(--k3)}
.km-pbtn{display:inline-flex;align-items:center;padding:10px 20px;border-radius:8px;background:var(--km-a);color:var(--km-a-ink)!important;font-size:12px;font-weight:700;font-family:var(--font-ui);white-space:nowrap;transition:background .2s;text-decoration:none}
.km-pcard:hover .km-pbtn{background:var(--km-a-hv)}

/* ── Tarjetas de confianza ────────────────────────────────── */
.km-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.km-trust{padding:30px;border-radius:12px;border:1px solid var(--ln);background:#fff;text-decoration:none;display:block;transition:box-shadow .2s,transform .2s}
.km-trust:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(26,25,23,.10)}
.km-trust--accent{background:var(--km-tint);border-color:var(--km-a)}
.km-trust-ic{width:50px;height:50px;border-radius:50%;background:var(--s);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--k2)}
.km-trust-ic svg{width:23px;height:23px}
.km-trust--accent .km-trust-ic{background:var(--km-a);color:var(--km-a-ink)}
.km-trust-t{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--k);margin-bottom:8px}
.km-trust-d{font-size:13px;color:var(--k3);line-height:1.65;margin-bottom:14px;font-family:var(--font-body)}
.km-trust-lk{font-size:12px;font-weight:700;color:var(--k);font-family:var(--font-ui)}

/* ── Responsive ───────────────────────────────────────────── */
@media(max-width:1024px){
  .km-qa-grid{grid-template-columns:repeat(2,1fr)}
  .km-trust-grid{grid-template-columns:1fr 1fr}
  .km-trust-grid>:nth-child(3){grid-column:1/-1;max-width:50%;margin:0 auto;width:100%}
}
@media(max-width:900px){
  .km-promo-grid{grid-template-columns:1fr}
  .km-hd{flex-direction:column;align-items:flex-start;gap:6px}
}
@media(max-width:768px){
  .km-sec{padding:48px 0}
  .km-trust-grid{grid-template-columns:1fr;margin-top:0}
  .km-trust-grid>:nth-child(3){grid-column:auto;max-width:100%}
  .km-arrow{display:none}
  .km-vcard{flex-basis:calc((100% - 16px)/2)}
}
@media(max-width:600px){
  .km-qa-grid{grid-template-columns:1fr 1fr;gap:10px}
  .km-qa{padding:20px 10px}
  .km-vcard{flex-basis:84%}
  .km-pbody{padding:18px}
  .km-pname{font-size:19px}
  .km-pprice{font-size:24px}
}

/* ── Misma columna para todo (menú, portada, slider y mosaicos) ──
   --km-col = margen izquierdo del menú: centra el contenido a var(--max)
   y respeta var(--pad) en pantallas estrechas. */
.ke-mosaic,.ks{--km-col:max(var(--pad),calc((100% - var(--max))/2 + var(--pad)))}
.ke-mosaic{padding-left:var(--km-col);padding-right:var(--km-col)}

/* ── Transiciones suaves entre secciones ──
   Todo lo que va entre la portada y el pie comparte el mismo fondo claro,
   con el mismo espacio entre bloques; el slider de ofertas pasa a ser un
   panel redondeado alineado con las tarjetas en vez de una franja negra. */
body.brand-renault{background:#F5F3EE}
body.brand-dacia{background:#F0EFEA}
body.brand-renault,body.brand-dacia{--km-gap:clamp(40px,5vw,64px)}
.ke-mosaic{padding-top:calc(var(--km-gap)/2);padding-bottom:calc(var(--km-gap)/2)}
.ke-tick+.ke-mosaic{padding-top:var(--km-gap)}
.ke-mosaic:has(+.ke-ft){padding-bottom:var(--km-gap)}
.km-sec{background:transparent;padding:calc(var(--km-gap)/2) 0}
.ks{width:auto;margin:calc(var(--km-gap)/2) var(--km-col);border-radius:12px;height:min(calc(100vh - 120px),780px);height:min(calc(100svh - 120px),780px);min-height:520px}
.ks-body{padding-left:clamp(28px,4vw,56px)}
.ke-card-top .ke-cttl{text-wrap:balance}
@media(min-width:769px){
  .ks-body{width:min(100%,calc(clamp(28px,4vw,56px) + 560px));padding-right:0}
  /* flechas juntas abajo a la derecha, lejos del nombre del modelo */
  .ks-prev,.ks-next{top:auto;bottom:1.5rem;transform:none}
  .ks-next{right:1.5rem}.ks-prev{left:auto;right:calc(1.5rem + 56px)}
}
/* Títulos de las tarjetas: caben en una línea y quedan a la misma altura en cada fila.
   --km-tw = ancho del título más largo de la marca en "em" (con margen) */
body.brand-renault{--km-tw:14.5}
body.brand-dacia{--km-tw:12.8}
@supports(container-type:inline-size){@media(min-width:769px){
  .ke-card{container-type:inline-size}
  .ke-card-top .ke-cttl{font-size:min(28px,calc((100cqi - 56px)/var(--km-tw)));white-space:nowrap}
}}
@media(max-width:768px){
  .ks{height:auto;min-height:0}
  .ks-body{padding-right:clamp(28px,4vw,56px)}
  /* flechas abajo, junto a los puntos, para que no tapen el precio */
  .ks-prev,.ks-next{top:auto;bottom:.8rem;transform:none}
  .ks-prev{left:1rem}.ks-next{right:1rem}
}
@media(max-width:500px){
  /* el panel es algo más estrecho que la pantalla: más alto para que quepa todo el texto */
  .ks{aspect-ratio:2/3}
  .ks-body{padding-left:20px;padding-right:20px}
  .ks-btn{padding:.9rem 1.2rem}
}

/* ── Aparición suave al hacer scroll (la activa km-reveal en el HTML) ── */
.km-rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.km-rv.km-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.km-rv{opacity:1;transform:none;transition:none}}
