/* =============================================================================
   WOOCOMMERCE — shop, collection, single product, cart/quote
   Loaded only on Woo pages (see inc/enqueue.php). References tokens.css.
   ============================================================================= */

/* ---- Generic Woo containers ---- */
.woocommerce-products-header { display: none; } /* we render our own page hero */
.woocommerce .products ul, .woocommerce ul.products { margin: 0; padding: 0; list-style: none; }

/* Product loop grid (when default loop is used) */
ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-5);
}
ul.products li.product { margin: 0; }

/* WooCommerce notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: var(--radius); padding: var(--space-4) var(--space-5);
	border: 1px solid var(--color-line); background: var(--color-surface);
	list-style: none; margin-bottom: var(--space-5);
}
.woocommerce-message { border-left: 4px solid var(--color-success); }
.woocommerce-error { border-left: 4px solid var(--color-error); }
.woocommerce-info { border-left: 4px solid var(--color-info); }

/* ---- Collection page header / spec block ---- */
.collection-header { padding-block: var(--space-7); }
.collection-header .spec-actions .btn { margin-bottom: var(--space-2); }
.collection-intro { color: var(--color-muted); max-width: 70ch; }

/* ---- Single product ---- */
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-7); }
.single-product .product__gallery img { border-radius: var(--radius); }
.single-product .product_title { margin-bottom: var(--space-3); }
.single-product .price { font-size: var(--fs-700); color: var(--color-ink); font-weight: var(--fw-semi); }
.single-product .price del { color: var(--color-muted); font-weight: var(--fw-regular); font-size: var(--fs-500); }
.single-product .woocommerce-product-details__short-description { color: var(--color-ink-soft); margin-block: var(--space-4); }
.single-product form.cart { display: flex; gap: var(--space-3); align-items: center; margin-block: var(--space-5); flex-wrap: wrap; }
.single-product .quantity input { width: 80px; }
.single-product .single_add_to_cart_button { padding: 0.9rem 1.6rem; background: var(--color-brand); color: #fff; border: 0; border-radius: var(--radius-sm); font-family: var(--font-heading); font-weight: var(--fw-semi); cursor: pointer; }
.single-product .single_add_to_cart_button:hover { background: var(--color-brand-dark); }

/* Product tabs */
.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: var(--space-2); flex-wrap: wrap; border-bottom: 1px solid var(--color-line); padding: 0; margin: 0 0 var(--space-5); }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a { display: inline-block; padding: var(--space-3) var(--space-4); font-family: var(--font-heading); font-weight: var(--fw-medium); color: var(--color-muted); border-bottom: 2px solid transparent; }
.woocommerce-tabs ul.tabs li.active a { color: var(--color-ink); border-bottom-color: var(--color-brand); }
.spec-table th { width: 38%; background: var(--color-surface); }

/* ---- Cart / quote page ---- */
.woocommerce-cart table.cart img { width: 64px; border-radius: var(--radius-sm); }
.woocommerce-cart .cart_totals { background: var(--color-surface); padding: var(--space-5); border-radius: var(--radius); }
.woocommerce table.shop_table { border: 1px solid var(--color-line); border-radius: var(--radius); border-collapse: separate; border-spacing: 0; }
.woocommerce a.remove { color: var(--color-error) !important; }

/* ---- Mini cart / quote drawer contents ---- */
.widget_shopping_cart_content ul.cart_list { list-style: none; margin: 0; padding: 0; }
.widget_shopping_cart_content li { display: grid; grid-template-columns: 48px 1fr auto; gap: var(--space-3); align-items: center; padding: var(--space-3) 0; border-bottom: 1px solid var(--color-line); }
.widget_shopping_cart_content img { width: 48px; height: 48px; object-fit: cover; border-radius: var(--radius-sm); }
.widget_shopping_cart_content .quantity { font-size: var(--fs-300); color: var(--color-muted); }
.widget_shopping_cart_content .total { padding-top: var(--space-3); }
.widget_shopping_cart_content .buttons { display: none; } /* drawer footer provides the actions */

/* ---- Responsive ---- */
@media (max-width: 1024px) { ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
	ul.products { grid-template-columns: 1fr 1fr; }
	.single-product div.product { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { ul.products { grid-template-columns: 1fr; } }
