/* ============================================================
   VITRINE — tokens, busca/filtros, grid e card de produto.
   Braconaro Garage Power Lab · Garage Store

   Compartilhado pela loja pública (loja/) e pela aba de Prévia do app de gestão
   (loja-gestao/). É o par do `vitrine-card.js`: um monta o HTML, o outro o estiliza.
   Se a prévia do coach tiver que ser fiel ao que o aluno vê, os dois têm que ser um
   só — mexer aqui muda os dois ao mesmo tempo, de propósito.
   ============================================================ */
:root{
  --bg:#0a0a0b; --bg-2:#121214; --card:#17181c; --line:#232429; --line-2:#2e3037;
  --txt:#f5f5f6; --mut:#a1a1aa; --mut-2:#71717a;
  --accent:#f5c518; --accent-ink:#1a1600; --glow:rgba(245,197,24,.35);
  --ok:#3ddc84; --bad:#ff5d5d;
  --font:'Barlow',system-ui,sans-serif; --font-cond:'Barlow Condensed',system-ui,sans-serif; --font-display:'Anton',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--txt);font-family:var(--font);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%}

/* ---------- busca e filtros ---------- */
.barra{display:flex;flex-direction:column;gap:12px;margin:26px 0 20px}
.busca{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line-2);padding:.7em .9em}
.busca svg{width:18px;height:18px;flex:none;color:var(--mut-2)}
.busca input{flex:1;min-width:0;background:none;border:0;color:var(--txt);font:inherit;outline:none}
.filtros{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--font-cond);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;
  background:transparent;color:var(--mut);border:1px solid var(--line-2);padding:.5em .95em;cursor:pointer;transition:.15s}
.chip:hover{color:var(--txt);border-color:var(--mut)}
.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.filtros-sub{margin-top:8px}
.filtros-sub .chip-sub{font-size:.68rem;padding:.4em .8em;color:var(--mut-2)}
.filtros-sub .chip-sub:hover{color:var(--txt)}
.filtros-sub .chip-sub.on{background:transparent;color:var(--accent);border-color:var(--accent)}

/* ---------- grid e card ---------- */
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.produto{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);overflow:hidden;transition:.18s}
.produto:hover{border-color:var(--accent);box-shadow:0 18px 40px -28px var(--glow);transform:translateY(-2px)}
.produto-foto{position:relative;aspect-ratio:1/1;background:var(--bg-2);display:flex;align-items:center;justify-content:center}
.produto-foto img{width:100%;height:100%;object-fit:cover;display:block}
.produto-sem{display:none;color:var(--mut-2);font-family:var(--font-cond);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}
.produto-foto.sem-foto .produto-sem{display:block}
.produto-bd{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 15px 16px;flex:1}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.66rem;
  color:var(--accent);border:1px solid rgba(245,197,24,.4);padding:.15em .6em}
.badge-sub{color:var(--mut);border-color:var(--line-2)}
.produto-nome{font-family:var(--font-cond);font-weight:600;font-size:1.12rem;line-height:1.25;margin:0}
.produto-preco{font-family:var(--font-cond);font-weight:700;color:var(--accent);font-size:1.35rem;line-height:1.1}
.produto-preco small{display:block;font-family:var(--font);font-weight:400;font-size:.68rem;color:var(--mut-2);letter-spacing:.02em}
.produto-dica{margin:0;font-size:.85rem;color:var(--mut);line-height:1.5}
.btn-comprar{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-cond);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.88rem;
  background:var(--accent);color:var(--accent-ink);text-decoration:none;padding:.75em 1em;border:1px solid var(--accent);transition:.15s}
.btn-comprar:hover{background:transparent;color:var(--accent)}
.btn-comprar svg{width:15px;height:15px;flex:none}

.estado{border:1px dashed var(--line-2);padding:38px 22px;text-align:center;color:var(--mut);line-height:1.7}
.estado b{color:var(--txt)}

@media (max-width:420px){
  .grid{grid-template-columns:1fr}
}
