/* ============================================================
   Figurine Finder — estilos de las páginas generadas
   (fichas de figura y páginas por franquicia)
   Se comparte en un archivo aparte en vez de repetirlo dentro de
   cada HTML: con miles de páginas, incrustarlo multiplicaba el peso
   por mil y el navegador no podía cachearlo.
   ============================================================ */
:root {
  --bg:#0b0b0d; --card:#18181d; --card2:#1e1e24; --border:#26262e;
  --copper:#b87333; --copperL:#d4924a; --copperD:#8a5520;
  --text:#f2f0ec; --muted:#8b8b95; --green:#2ecc71;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body {
  background:var(--bg); color:var(--text); line-height:1.7;
  font-family:'Manrope','Segoe UI',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.logo { font-family:'Space Grotesk','Manrope',system-ui,sans-serif; letter-spacing:-.3px; }
a { color:var(--copper); text-decoration:none; }
a:hover { color:var(--copperL); }

header {
  background:rgba(11,11,13,.9); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border); padding:0 20px; height:60px;
  display:flex; align-items:center; gap:14px; position:sticky; top:0; z-index:100;
}
.logo { font-size:1.15rem; font-weight:900; color:var(--copper); display:flex; align-items:center; gap:6px; }
.logo span { color:var(--text); }
nav { margin-left:auto; display:flex; gap:14px; }
nav a { font-size:.85rem; color:var(--muted); }
nav a:hover { color:var(--text); }

.hero {
  background:linear-gradient(135deg,#0b0b0d,#1a0e05 50%,#0b0b0d);
  border-bottom:1px solid var(--border); padding:48px 24px 38px; text-align:center;
}
.hero h1 { font-size:clamp(1.7rem,4vw,2.5rem); font-weight:900; margin-bottom:10px; }
.hero h1 span { color:var(--copper); }
.hero .sub { color:var(--muted); max-width:640px; margin:0 auto; }

.wrap { max-width:1180px; margin:0 auto; padding:24px 24px 70px; }
.bc { font-size:.8rem; color:var(--muted); margin-bottom:18px; }
.intro p { color:#c8c8d4; margin-bottom:14px; }
h2 { font-size:1.3rem; color:var(--copper); margin:36px 0 14px; padding-bottom:8px; border-bottom:1px solid var(--border); }

/* ── Rejilla de figuras ── */
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:16px; }
.s-card {
  background:var(--card); border:1px solid var(--border); border-radius:12px;
  overflow:hidden; display:flex; flex-direction:column; transition:transform .2s,border-color .2s;
}
.s-card:hover { transform:translateY(-3px); border-color:var(--copperD); }
.s-imgwrap { position:relative; display:block; aspect-ratio:1/1; background:#111; }
.s-imgwrap img { width:100%; height:100%; object-fit:cover; }
.s-badge { position:absolute; left:8px; bottom:8px; font-size:.62rem; font-weight:800; padding:3px 7px; border-radius:20px; }
.s-badge.min { background:linear-gradient(135deg,#2ecc71,#1e8449); color:#06240f; }
.s-badge.pre { background:linear-gradient(135deg,#3a7bd5,#1f4f8f); color:#fff; }
.s-body { padding:10px 12px; display:flex; flex-direction:column; gap:5px; flex:1; }
.s-name { font-size:.83rem; font-weight:600; line-height:1.35; }
.s-shop { font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
.s-price { font-size:1.05rem; font-weight:800; color:var(--green); margin-top:auto; }
.s-price s { font-size:.75rem; color:var(--muted); font-weight:400; }
.s-btn {
  display:block; text-align:center; color:#fff; padding:7px; border-radius:7px;
  font-size:.8rem; font-weight:700; margin-top:6px;
  background:linear-gradient(135deg,var(--copper),var(--copperD));
}
.s-btn:hover { filter:brightness(1.12); color:#fff; }

.cta {
  background:var(--card2); border:1px solid var(--border);
  border-left:4px solid var(--copper); border-radius:12px; padding:20px 24px; margin:32px 0;
}
.otras { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.otras a {
  background:var(--card); border:1px solid var(--border); border-radius:20px;
  padding:6px 13px; font-size:.8rem; color:var(--text);
}
.otras a:hover { border-color:var(--copper); color:var(--copper); }

footer { border-top:1px solid var(--border); padding:26px 24px; text-align:center; color:var(--muted); font-size:.82rem; }
footer a { color:var(--muted); margin:0 8px; }

/* ══════════ FICHA DE FIGURA ══════════ */
.fig { display:grid; grid-template-columns:minmax(0,440px) minmax(0,1fr); gap:32px; align-items:start; }
@media (max-width:820px) { .fig { grid-template-columns:1fr; gap:20px; } }
.fig-img {
  background:var(--card); border:1px solid var(--border); border-radius:14px;
  overflow:hidden; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
}
.fig-img img { width:100%; height:100%; object-fit:contain; }
.fig-serie { font-size:.78rem; color:var(--copper); text-transform:uppercase; letter-spacing:1px; font-weight:700; }
.fig h1 { font-size:clamp(1.25rem,2.4vw,1.75rem); font-weight:800; margin:6px 0 12px; line-height:1.3; }
.fig-meta { color:var(--muted); font-size:.87rem; margin-bottom:18px; }

.precio-caja {
  background:linear-gradient(170deg,rgba(46,204,113,.10),transparent);
  border:1px solid rgba(46,204,113,.35); border-radius:12px; padding:18px 20px; margin-bottom:18px;
}
.precio-label { font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.6px; font-weight:700; }
.precio-valor { font-size:2rem; font-weight:900; color:var(--green); line-height:1.2; }
.precio-tienda { color:var(--muted); font-size:.9rem; }
.precio-old { color:var(--muted); text-decoration:line-through; font-size:.9rem; margin-left:8px; }

.tiendas { display:flex; flex-direction:column; gap:8px; margin:14px 0 4px; }
.tienda-fila {
  display:flex; align-items:center; gap:12px; background:var(--card);
  border:1px solid var(--border); border-radius:10px; padding:11px 14px;
}
.tienda-fila.best { border-color:rgba(46,204,113,.5); background:linear-gradient(170deg,rgba(46,204,113,.07),var(--card)); }
.tienda-nombre { font-weight:700; flex:1; font-size:.92rem; }
.tienda-precio { font-weight:800; color:var(--green); }
.tienda-precio.alto { color:var(--muted); }
.tienda-btn {
  background:linear-gradient(135deg,var(--copper),var(--copperD)); color:#fff;
  padding:7px 15px; border-radius:7px; font-size:.82rem; font-weight:700; white-space:nowrap;
}
.tienda-btn:hover { color:#fff; filter:brightness(1.12); }
.etiqueta { display:inline-block; font-size:.65rem; font-weight:800; padding:2px 8px; border-radius:20px; margin-left:6px; }
.etiqueta.of  { background:rgba(184,115,51,.18); color:var(--copperL); border:1px solid rgba(184,115,51,.4); }
.etiqueta.min { background:rgba(46,204,113,.16); color:var(--green); border:1px solid rgba(46,204,113,.4); }
.etiqueta.pre { background:rgba(58,123,213,.16); color:#6ea8f0; border:1px solid rgba(58,123,213,.4); }

.aviso { background:var(--card2); border:1px solid var(--border); border-radius:10px; padding:13px 16px; font-size:.87rem; color:#c8c8d4; margin:16px 0; }
.datos { width:100%; border-collapse:collapse; margin:10px 0 6px; font-size:.88rem; }
.datos td { padding:9px 4px; border-bottom:1px solid var(--border); color:#c8c8d4; }
.datos td:first-child { color:var(--muted); width:38%; }
