/* ==========================================================================
   sections/shop.css
   Sección TIENDA: buscador, filtros y tarjetas de licencias.
   ========================================================================== */
.shop__bar { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-bottom: 30px; }
.shop__bar .chips { margin: 0; }
.search { width: min(560px, 100%); display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 20px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid var(--line-2); transition: border-color .3s, box-shadow .3s; }
.search:focus-within { border-color: var(--red); box-shadow: 0 0 0 4px rgba(227,38,43,.18); }
.search .ico { color: var(--muted); }
.search input { flex: 1; min-width: 0; background: none; border: 0; outline: 0; font-size: 1rem; }
.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; perspective: 1000px; }
.product {
  --rx: 0deg; --ry: 0deg; position: relative; padding: 20px; border-radius: 18px; background: var(--card); border: 1px solid var(--line);
  display: flex; flex-direction: column; transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .25s ease-out, border-color .3s, background .3s, opacity .9s var(--ease) var(--d, 0ms);
}
.product.reveal:not(.in) { transform: translateY(30px); }
.product.hide { display: none; }
.product:hover { border-color: rgba(227,38,43,.45); background: rgba(30,30,38,.85); }
.product.added { border-color: var(--wa); background: rgba(37,211,102,.06); }
.product__ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(227,38,43,.14); color: var(--red-2); border: 1px solid rgba(227,38,43,.3); margin-bottom: 14px; }
.product__ico .ico { width: 22px; height: 22px; }
.product__img { aspect-ratio: 16/10; margin: -6px -6px 14px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); }
.product__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.product:hover .product__img img { transform: scale(1.06); }
.product__cat { margin: 0; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.product h3 { font-size: 1rem; line-height: 1.3; margin: 4px 0 16px; flex: 1; }
.product__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.product__price { font-size: .82rem; color: var(--muted); font-weight: 600; }
.add-btn { position: relative; height: 38px; padding: 0 14px; border-radius: 999px; background: var(--red); font-weight: 700; font-size: .82rem; overflow: hidden; transition: background .3s, transform .2s; }
.add-btn:active { transform: scale(.94); }
.add-btn span { display: inline-flex; align-items: center; gap: .35em; transition: transform .4s var(--ease); }
.add-btn .a2 { position: absolute; inset: 0; justify-content: center; transform: translateY(110%); }
.product.added .add-btn { background: var(--wa); color: #06210f; }
.product.added .add-btn .a1 { transform: translateY(-160%); }
.product.added .add-btn .a2 { transform: none; }
.empty { text-align: center; color: var(--muted); }
.empty a { color: var(--red-2); font-weight: 700; }
