/* ============================================================================
   Repromin — estilos compartidos (header, footer, botones, modal, chips)
   Identidad: banner oficial 12-jun-2026 — carbón #15171A + amarillo #F6B40E
   ========================================================================== */
:root{
  --bg:#15171a;
  --surface:#1d2025;
  --surface-2:#23262c;
  --line:#2c3037;
  --ink:#f2f3f5;
  --soft:#aab0b8;
  --muted:#7d838c;
  --accent:#f6b40e;
  --accent-hi:#ffc83d;
  --accent-ink:#171204;
  --wa:#25d366;
  --radius:14px;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 30px rgba(0,0,0,.35);
  --maxw:1180px;
  --display:"Archivo Black","Inter",-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%}
a{color:inherit}
::selection{background:var(--accent);color:var(--accent-ink)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

h1,h2{font-family:var(--display);font-weight:400;text-transform:uppercase}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 26px;border:0;border-radius:9px;cursor:pointer;
  font-size:.95rem;font-weight:700;text-decoration:none;transition:.15s;line-height:1;font-family:inherit;
  text-transform:uppercase;letter-spacing:.05em;
}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hi)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--soft)}
.btn-sm{min-height:40px;padding:0 16px;font-size:.84rem}
.btn-xs{min-height:32px;padding:0 12px;font-size:.72rem;border-radius:7px}
.btn-block{width:100%}

.eyebrow{
  display:flex;align-items:center;gap:10px;
  font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
  margin-bottom:14px;
}
.eyebrow::before{content:"";display:block;width:26px;height:3px;background:var(--accent);transform:skewX(-20deg)}

section{padding:72px 0}
.sec-head{margin-bottom:30px}
.sec-head h2{font-size:clamp(1.35rem,3vw,1.8rem);letter-spacing:.02em}
.sec-head p{color:var(--soft);margin-top:10px;max-width:680px}
.count{color:var(--muted);font-size:.9rem;margin-bottom:16px}
.empty{padding:50px 20px;text-align:center;color:var(--soft);border:1.5px dashed var(--line);border-radius:var(--radius)}

/* ---------- Header ---------- */
header.site{
  position:sticky;top:0;z-index:40;background:rgba(21,23,26,.94);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line);
}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .mark{width:40px;height:36px;flex:0 0 auto;display:flex}
.brand .name{
  font-family:var(--display);font-size:1.18rem;letter-spacing:.06em;line-height:1;
  background:linear-gradient(180deg,#f7f8fa 0%,#c9cdd3 55%,#9298a0 100%);
  -webkit-background-clip:text;background-clip:text;color:#dfe2e6;-webkit-text-fill-color:transparent;
}
.brand .under{display:block;height:3px;width:54px;background:var(--accent);margin-top:4px;transform:skewX(-20deg)}
header.site nav{display:flex;align-items:center;gap:22px}
header.site nav a.navlink{font-size:.9rem;color:var(--soft);text-decoration:none;font-weight:500;white-space:nowrap}
header.site nav a.navlink:hover{color:var(--ink)}
header.site nav a.navlink.active{color:var(--accent)}
header.site .btn-primary{min-height:42px;padding:0 18px}
@media (max-width:760px){ header.site nav a.navlink{display:none} header.site nav a.navlink.nav-db{display:inline} }

/* ---------- Chips / filtros ---------- */
.chip{
  border:1.5px solid var(--line);background:var(--surface);color:var(--soft);
  border-radius:999px;padding:8px 15px;font-size:.88rem;font-weight:600;cursor:pointer;min-height:40px;transition:.12s;font-family:inherit;
}
.chip:hover{border-color:var(--soft)}
.chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filter-group{display:flex;flex-direction:column;gap:8px}
.filter-group .lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700}

/* ---------- Búsqueda ----------
   La lupa va como background-image del input (no como <svg> flotante):
   así nunca queda un espacio en blanco si el SVG no se pinta. */
.search{position:relative}
.search svg{display:none}
.search input{
  width:100%;min-height:52px;padding:0 16px 0 46px;border:1.5px solid var(--line);
  border-radius:12px;font-size:1.02rem;background-color:var(--surface);color:var(--ink);font-family:inherit;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237d838c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:15px center;
}
.search input::placeholder{color:var(--muted)}
.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(246,180,14,.18)}

/* ---------- CTA band ---------- */
.cta-band .inner{
  position:relative;overflow:hidden;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;
  background:var(--accent);border-radius:18px;padding:38px 40px;color:var(--accent-ink);
}
.cta-band .inner::before{
  content:"";position:absolute;left:-50px;top:-60px;width:220px;height:240px;
  background:rgba(0,0,0,.08);transform:rotate(18deg);
}
.cta-band h2{font-size:clamp(1.25rem,3vw,1.6rem);position:relative}
.cta-band p{margin-top:6px;max-width:520px;position:relative;color:#3d3208}
.cta-band .btn{background:#15171a;color:#fff;position:relative}
.cta-band .btn:hover{background:#000}

/* ---------- Footer ---------- */
footer.site{background:#0f1114;color:var(--soft);padding:54px 0 40px;border-top:1px solid var(--line)}
footer.site .cols{display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between}
footer.site .tagline-es{margin-top:10px;color:var(--muted);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
footer.site h4{color:var(--ink);font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:13px;font-weight:700}
footer.site a{color:var(--soft);text-decoration:none;display:block;margin-bottom:8px;font-size:.92rem}
footer.site a:hover{color:var(--ink)}
.legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);line-height:1.65}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:45;width:58px;height:58px;border-radius:50%;
  background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.4);transition:.15s}
.wa-float:hover{transform:scale(1.06)}

/* ---------- Modal cotización ---------- */
.modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.65);display:none;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}
.modal-overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;max-width:520px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.5);margin:auto;animation:pop .18s ease}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
.modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 22px 0}
.modal header h3{font-size:1.18rem;font-weight:700;font-family:var(--display);text-transform:uppercase;letter-spacing:.02em}
.modal header p{color:var(--soft);font-size:.92rem;margin-top:6px}
.x{background:none;border:0;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:4px;border-radius:8px}
.x:hover{color:var(--ink)}
.modal form{padding:18px 22px 24px;display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.86rem;font-weight:600}
.field .req{color:var(--accent)}
.field input,.field select,.field textarea{
  border:1.5px solid var(--line);border-radius:10px;padding:12px 13px;font-size:1rem;font-family:inherit;
  color:var(--ink);background:var(--bg);width:100%;
}
.field select{appearance:auto}
.field textarea{resize:vertical;min-height:84px}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(246,180,14,.18)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#e05c4c}
.err{color:#e05c4c;font-size:.8rem;display:none}
.field.invalid .err{display:block}
.prefill{background:#2a2410;border:1px solid #4d3f12;border-radius:10px;padding:10px 12px;font-size:.86rem;color:#ecc659;display:none}
.send-options{display:none;flex-direction:column;gap:10px}
.send-options.show{display:flex}
.send-options .hint{font-size:.9rem;color:var(--soft)}
.opt-row{display:flex;flex-wrap:wrap;gap:10px}
.opt-row .btn{flex:1 1 140px}
.btn-wa{background:var(--wa);color:#06351a}
.btn-wa:hover{filter:brightness(.95)}
.copied{font-size:.85rem;color:#43c463;font-weight:600;display:none}
.lead-status{font-size:.9rem;font-weight:600;padding:10px 12px;border-radius:10px;margin:0 0 4px}
.lead-status.pending{background:#23262c;color:#aab0b8;border:1px solid var(--line)}
.lead-status.ok{background:#102a17;color:#43c463;border:1px solid #1c5530}
.lead-status.warn{background:#2a2410;color:#ecc659;border:1px solid #4d3f12}

@media (max-width:480px){
  header.site .wrap{gap:8px}
  header.site nav{gap:12px}
  header.site .btn-primary{min-height:38px;padding:0 13px;font-size:.78rem}
  .brand .name{font-size:1.02rem}
  .brand .mark{width:34px;height:31px}
}
@media (max-width:420px){ .wrap{padding:0 15px} }

/* ---------- Accesibilidad y fluidez (auditoría 6-jul) ---------- */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:120;background:var(--accent);color:var(--accent-ink);
  padding:10px 18px;font-weight:700;text-decoration:none;border-radius:0 0 10px 0;
}
.skip-link:focus{left:0}
.btn-xs{min-height:36px}
@media (max-width:700px){ .btn-xs{min-height:40px;padding:0 14px} }
.to-top{
  position:fixed;left:18px;bottom:18px;z-index:45;width:44px;height:44px;border-radius:50%;
  background:var(--surface-2);border:1px solid var(--line);color:var(--soft);
  display:none;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,.4);transition:.15s;
}
.to-top.show{display:flex}
.to-top:hover{color:var(--accent);border-color:var(--accent)}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}
