/* Repuestos Luis Rigón — diseño limpio y sobrio */
:root{
  --red:#e12b06; --red-dark:#b52305; --red-logo:#ff2f05;
  --ink:#1c1c1e; --ink-soft:#3a3a3e;
  --gray:#6a6a70; --gray-2:#9a9aa0;
  --line:#e4e4e7; --bg:#ffffff; --bg-2:#f6f6f4; --bg-3:#efefec;
  --wa:#25d366; --wa-dark:#1eb857;
  --radius:8px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.2;font-weight:800;letter-spacing:-.01em}

/* TOPBAR */
.topbar{background:var(--ink);color:#e8e8ea;font-size:.8rem}
.topbar__in{max-width:1140px;margin:0 auto;padding:8px 20px;display:flex;gap:18px;flex-wrap:wrap;justify-content:center;align-items:center}
.topbar strong{color:#fff}
.topbar .dot{color:var(--red)}

/* HEADER */
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hd__in{max-width:1140px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand img{height:46px;width:auto;display:block}
.nav{display:flex;gap:28px;align-items:center}
.nav a{font-size:.95rem;font-weight:600;color:var(--ink-soft)}
.nav a:hover,.nav a.active{color:var(--red)}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.92rem;padding:11px 20px;border-radius:var(--radius);border:1.5px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn--wa{background:var(--wa);color:#fff}
.btn--wa:hover{background:var(--wa-dark)}
.btn--red{background:var(--red);color:#fff}
.btn--red:hover{background:var(--red-dark)}
.btn--out{background:#fff;color:var(--ink);border-color:var(--line)}
.btn--out:hover{border-color:var(--ink);}
.btn svg{flex-shrink:0}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:24px;height:2.5px;background:var(--ink);border-radius:2px}

/* HERO */
.hero{background:var(--bg-2);border-bottom:1px solid var(--line)}
.hero__in{max-width:1140px;margin:0 auto;padding:60px 20px;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.hero__eyebrow{color:var(--red);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px}
.hero h1{font-size:clamp(1.9rem,4.4vw,2.9rem)}
.hero p{color:var(--gray);font-size:1.1rem;margin:16px 0 28px;max-width:520px}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero__logo{display:flex;justify-content:center}
.hero__logo img{max-width:340px;width:100%}

/* facts strip */
.facts{background:#fff;border-bottom:1px solid var(--line)}
.facts__in{max-width:1140px;margin:0 auto;padding:20px;display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center;align-items:center}
.fact{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--ink-soft)}
.fact b{color:var(--red);font-weight:800;font-size:1.15rem}
.fact__sep{width:1px;height:22px;background:var(--line)}

/* SECTIONS */
.sec{padding:56px 0}
.sec--gray{background:var(--bg-2)}
.sec__head{margin-bottom:32px}
.sec__head h2{font-size:clamp(1.5rem,3.5vw,2rem)}
.sec__head p{color:var(--gray);margin-top:8px;max-width:600px}

/* CATEGORY CARDS */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.cat{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .15s,transform .15s}
.cat:hover{border-color:var(--red);transform:translateY(-2px)}
.cat h3{font-size:1.12rem;margin-bottom:6px}
.cat p{color:var(--gray);font-size:.9rem;margin-bottom:14px}
.cat__go{color:var(--red);font-weight:700;font-size:.88rem}

/* WHY */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.why__i{display:flex;gap:14px;align-items:flex-start}
.why__ic{flex-shrink:0;width:40px;height:40px;border-radius:8px;background:#fdeeea;color:var(--red);display:grid;place-items:center;font-weight:800;font-size:1.1rem}
.why__i b{display:block;margin-bottom:3px;font-size:1.02rem}
.why__i span{color:var(--gray);font-size:.92rem}

/* CATALOGO */
.filters{position:sticky;top:66px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:22px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.filters__row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.filters input[type=search]{flex:1;min-width:200px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit;font-size:.95rem}
.filters input:focus{outline:none;border-color:var(--red)}
.filters select{padding:11px 32px 11px 12px;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit;font-size:.9rem;font-weight:600;color:var(--ink-soft);cursor:pointer;background:#fff}
.filters select:focus{outline:none;border-color:var(--red)}
.count{font-size:.9rem;color:var(--gray);margin-left:auto}
.count b{color:var(--ink)}

.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,border-color .15s}
.pcard:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);border-color:#d0d0d3}
.pcard__img{aspect-ratio:1;background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:contain;padding:12px}
.pcard__b{padding:13px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard__m{font-size:.72rem;color:var(--gray);text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.pcard__t{font-size:.88rem;line-height:1.35;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.pcard__go{display:inline-flex;align-items:center;gap:6px;color:var(--red);font-weight:700;font-size:.85rem;margin-top:2px}
.pcard:hover .pcard__go{text-decoration:underline}
.empty{grid-column:1/-1;text-align:center;padding:56px 20px;color:var(--gray)}
.loadmore{display:block;margin:30px auto 0}

/* CTA band */
.ctaband{background:var(--ink);color:#fff;padding:48px 0}
.ctaband__in{max-width:1140px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ctaband h2{font-size:clamp(1.4rem,3vw,1.9rem)}
.ctaband p{color:#c8c8cc;margin-top:6px}

/* CONTACTO */
.cinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.ccard h3{font-size:1.2rem;color:var(--red);margin-bottom:14px}
.ccard p{margin:5px 0;font-size:.96rem;color:var(--ink-soft)}
.ccard .lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--gray-2);font-weight:700;margin-top:14px}
.ccard a{color:var(--red);font-weight:700}
.map{border:1px solid var(--line);border-radius:var(--radius);width:100%;height:360px}

/* FAQ */
.faq{max-width:760px}
.faq details{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:#fff}
.faq summary{padding:16px 20px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 20px 18px;color:var(--gray)}

/* FOOTER */
.ft{background:var(--bg-3);border-top:1px solid var(--line);padding:44px 0 26px}
.ft__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:30px}
.ft__brand img{height:52px;margin-bottom:12px}
.ft__brand p{color:var(--gray);font-size:.9rem;max-width:340px}
.ft h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.8px;color:var(--gray);margin-bottom:12px}
.ft a{color:var(--ink-soft);font-size:.92rem;display:block;margin:7px 0}
.ft a:hover{color:var(--red)}
.ft__bot{border-top:1px solid var(--line);padding-top:20px;font-size:.82rem;color:var(--gray);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* WHATSAPP FAB */
.wafab{position:fixed;bottom:20px;right:20px;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--wa);box-shadow:0 4px 14px rgba(0,0,0,.25);display:grid;place-items:center;transition:transform .15s}
.wafab:hover{transform:scale(1.06)}
.wafab svg{width:30px;height:30px;fill:#fff}

/* RESPONSIVE */
@media(max-width:860px){
  .hero__in{grid-template-columns:1fr;gap:28px;padding:44px 20px}
  .hero__logo{order:-1}
  .hero__logo img{max-width:260px}
  .hero p{margin-left:auto;margin-right:auto}
  .hero{text-align:center}
  .hero__ctas{justify-content:center}
  .hero__eyebrow{text-align:center}
}
@media(max-width:760px){
  .nav,.hd .btn.hd-cta{display:none}
  .burger{display:flex}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);padding:16px 20px;gap:14px;align-items:flex-start}
  .nav.open .btn.hd-cta{display:inline-flex}
  .ft__grid{grid-template-columns:1fr;gap:22px}
  .ctaband__in{flex-direction:column;text-align:center}
}
@media(max-width:460px){
  .pgrid{grid-template-columns:repeat(2,1fr);gap:10px}
  .pcard__t{-webkit-line-clamp:2}
  .facts__in{gap:10px 22px}
}
