/* shop.css - Shop gabrielecripezzi.com. Cody 2026-10-17. */
.shop-topbar { display:flex; align-items:center; justify-content:space-between; gap:1rem;
  flex-wrap:wrap; margin-bottom:1.25rem; }
.shop-cartlink { color:var(--accent); text-decoration:none; border:1px solid var(--border);
  border-radius:999px; padding:.35rem .9rem; font-size:.9rem; }
.shop-cartlink:hover { border-color:var(--accent); }

.shop-filters { margin-bottom:1.5rem; }
.shop-filters input[type=search]{ width:100%; padding:.7rem .9rem; background:#0f1113;
  border:1px solid var(--border); border-radius:8px; color:var(--text); margin-bottom:.7rem; }
.shop-tabs { display:flex; gap:.4rem; flex-wrap:wrap; }
.shop-tab { padding:.3rem .8rem; border:1px solid var(--border); border-radius:999px;
  color:var(--text); text-decoration:none; font-size:.85rem; }
.shop-tab.on, .shop-tab:hover { border-color:var(--accent); color:var(--accent); }

.shop-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.2rem; }
.shop-card { background:#111; border:1px solid var(--border); border-radius:12px; overflow:hidden;
  display:flex; flex-direction:column; }
.shop-card:hover { border-color:var(--accent); }
.shop-card-img { display:block; height:180px; background:#0c0c0c; display:flex; align-items:center; justify-content:center; }
.shop-card-img img { width:100%; height:180px; object-fit:cover; }
.shop-ph { font-size:3rem; }
.shop-ph.big { font-size:5rem; }
.shop-card-body { padding:1rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.shop-card-body h3 { margin:0; font-size:1.05rem; }
.shop-card-body h3 a { color:var(--text); text-decoration:none; }
.shop-card-body h3 a:hover { color:var(--accent); }
.shop-exc { color:#bcbcbc; font-size:.85rem; margin:0; flex:1; }
.shop-badge { align-self:flex-start; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em;
  background:var(--accent); color:#111; border-radius:999px; padding:.12rem .55rem; }
.shop-badge.tipo-servizio { background:#7b9ac9; }
.shop-badge.tipo-membership { background:#c97b9a; }
.shop-card-foot { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.shop-price { font-weight:700; color:var(--accent); }
.shop-price.big { font-size:1.5rem; }

.btn.primary { background:var(--accent); border-color:var(--accent); color:#111; }
.btn.ghost { background:transparent; }

.shop-detail { display:grid; grid-template-columns:280px 1fr; gap:2rem; margin-bottom:2rem; }
.shop-detail-media { background:#111; border:1px solid var(--border); border-radius:12px;
  display:flex; align-items:center; justify-content:center; min-height:220px; overflow:hidden; }
.shop-detail-media img { width:100%; height:100%; object-fit:cover; }
.shop-detail-body h1 { margin:.4rem 0; }
.shop-sub { color:#bcbcbc; margin:0 0 1rem; }
.shop-crumb { margin-bottom:1rem; }
.shop-crumb a { color:#8a8a8a; text-decoration:none; }
.shop-crumb a:hover { color:var(--accent); }
.shop-ok { color:#c8e6c9; background:#132a17; border:1px solid #2b6b36; border-radius:8px;
  padding:.6rem 1rem; }
.shop-own { list-style:none; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.shop-own li { display:flex; align-items:center; gap:.8rem; }

.shop-table { width:100%; border-collapse:collapse; margin-bottom:1rem; }
.shop-table th { text-align:left; color:#9a9a9a; font-size:.78rem; text-transform:uppercase;
  border-bottom:1px solid var(--border); padding:.5rem; }
.shop-table td { padding:.6rem .5rem; border-bottom:1px solid var(--border); }
.shop-table a { color:var(--text); }
.shop-qty { width:70px; padding:.4rem; background:#0f1113; border:1px solid var(--border);
  border-radius:6px; color:var(--text); }
.shop-tot { font-weight:700; color:var(--accent); }
.shop-cart-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0; }

.shop-flash { border-radius:8px; padding:.7rem 1rem; margin:1rem 0; }
.shop-flash.ok { background:#132a17; border:1px solid #2b6b36; color:#c8e6c9; }
.shop-flash.err { background:#3a1d1d; border:1px solid #6b2b2b; color:#f0c0c0; }

.article-content.shop-desc { margin-top:1rem; }

@media (max-width:768px){
  .shop-detail { grid-template-columns:1fr; gap:1rem; }
  .shop-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px){
  .shop-grid { grid-template-columns:1fr; }
}

.shop-fmt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px}
.shop-fmt-opt{border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#111}
@media(max-width:520px){.shop-fmt{grid-template-columns:1fr}}

.shop-price{white-space:nowrap}
.shop-card-foot{flex-wrap:nowrap}
.shop-card-foot .btn{flex:0 0 auto;white-space:nowrap;padding:.45rem .9rem}
