/* Product grid + cards (match old WooCommerce card look) + detail modal + cart page */
.shop-toolbar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; justify-content: center; }
.shop-toolbar button {
  border: 1px solid var(--c-border); background: #fff; color: var(--c-slate);
  padding: 8px 16px; border-radius: 999px; cursor: pointer; font-size: 14px;
}
.shop-toolbar button.active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.product-card { display: flex; flex-direction: column; text-align: center; }
.product-card img { aspect-ratio: 1; object-fit: contain; background: #fff; padding: 12px; border-bottom: 1px solid var(--c-border); }
.product-card .cat { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #94a3b8; margin: 14px 0 2px; }
.product-card h3 { font-size: 16px; margin: 0 12px 4px; }
.product-card .price { color: var(--c-navy); font-weight: 700; margin-bottom: 12px; }
.product-card .btn { margin: 0 16px 16px; margin-top: auto; }
/* Modal */
.pmodal-overlay { position: fixed; inset: 0; background: rgba(15,23,42,.55); z-index: 300;
  display: flex; align-items: center; justify-content: center; padding: 20px; }
.pmodal { background: #fff; border-radius: var(--radius); max-width: 720px; width: 100%;
  max-height: 90vh; overflow: auto; padding: 28px; position: relative; }
.pmodal-close { position: absolute; top: 12px; right: 16px; border: 0; background: none;
  font-size: 26px; cursor: pointer; color: var(--c-slate); }
.pmodal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 640px) { .pmodal-grid { grid-template-columns: 1fr; } }
.pmodal label { display:block; font-weight:600; color: var(--c-navy); margin-top: 10px; }
.pmodal select, .pmodal input[type=number] { width: 100%; padding: 10px; border: 1px solid var(--c-border);
  border-radius: 8px; font-size: 15px; margin: 4px 0 6px; }
/* Cart page */
.cart-table { width: 100%; border-collapse: collapse; }
.cart-table th, .cart-table td { padding: 12px; border-bottom: 1px solid var(--c-border); text-align: left; }
.cart-table img { width: 64px; height: 64px; object-fit: contain; }
.cart-table input[type=number] { width: 64px; padding: 6px; }
.order-form { max-width: 560px; }
.order-form label { display: block; font-weight: 600; color: var(--c-navy); margin-top: 14px; }
.order-form input, .order-form textarea, .order-form select { width: 100%; padding: 10px; border: 1px solid var(--c-border);
  border-radius: 8px; font-size: 15px; margin-top: 4px; }
