/**
 * SIGMATICS — WooCommerce theming
 *
 * WooCommerce's own stylesheet is disabled (see inc/woocommerce.php) —
 * this file themes WC's standard markup/classes directly against the
 * tokens in design-system.css. Deliberately CSS-only: no WooCommerce
 * core templates are overridden, so plugin compatibility (reviews,
 * badges, wishlists, payment gateways) is preserved.
 */

/* ============================================================
   SHOP GRID
   ============================================================ */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-6);
	list-style: none;
	margin: 0;
	padding: 0;
}
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

.woocommerce ul.products li.product {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-signal-cyan);
	border-radius: var(--radius-md);
	padding: var(--space-5);
	transition: box-shadow var(--transition-base), transform var(--transition-base);
	position: relative;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
.woocommerce ul.products li.product img {
	width: 100%;
	height: auto;
	border-radius: var(--radius-sm);
	margin-bottom: var(--space-4);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-body);
	font-weight: 500;
	font-size: 1.1rem;
	color: var(--color-deep-ocean);
	margin: 0 0 var(--space-2);
}
.woocommerce ul.products li.product .price {
	font-family: var(--font-mono);
	font-size: 1rem;
	color: var(--color-teal-dark);
	display: block;
	margin-bottom: var(--space-3);
}
.woocommerce ul.products li.product .price del { color: var(--color-text-muted); opacity: .6; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--color-compliance-teal); }
.woocommerce span.onsale {
	position: absolute;
	top: var(--space-4);
	right: var(--space-4);
	background: var(--color-signal-cyan);
	color: var(--color-deep-ocean);
	font-family: var(--font-mono);
	font-size: var(--fs-eyebrow);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--radius-sm);
}
.woocommerce .star-rating { color: var(--color-signal-cyan); font-size: .85rem; }

/* ============================================================
   BUTTONS — map WC's button classes onto our .btn look
   ============================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: var(--fs-small);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: var(--space-3) var(--space-5);
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	background: var(--color-signal-cyan);
	color: var(--color-deep-ocean);
	cursor: pointer;
	transition: all var(--transition-base);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #4FEEF0; color: var(--color-deep-ocean); transform: translateY(-1px); }
.woocommerce a.button.alt,
.woocommerce button.button.alt { background: var(--color-compliance-teal); color: var(--color-white); }
.woocommerce a.button.alt:hover { background: var(--color-teal-dark); }

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.woocommerce div.product .product_title {
	font-family: var(--font-display);
	text-transform: uppercase;
	color: var(--color-deep-ocean);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--font-mono);
	color: var(--color-teal-dark);
	font-size: 1.3rem;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--color-text-muted); }
.woocommerce-tabs ul.tabs {
	list-style: none;
	display: flex;
	gap: var(--space-5);
	padding: 0;
	margin: 0 0 var(--space-5);
	border-bottom: 1px solid var(--color-border);
}
.woocommerce-tabs ul.tabs li {
	font-family: var(--font-mono);
	font-size: var(--fs-eyebrow);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding-bottom: var(--space-3);
}
.woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--color-signal-cyan); color: var(--color-compliance-teal); }
.woocommerce-tabs ul.tabs li a { color: inherit; text-decoration: none; }

/* ============================================================
   QUANTITY INPUT
   ============================================================ */
.woocommerce .quantity input.qty {
	width: 64px;
	font-family: var(--font-body);
	padding: var(--space-2) var(--space-3);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	text-align: center;
}

/* ============================================================
   CART + CHECKOUT TABLES
   ============================================================ */
.woocommerce table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--space-6);
}
.woocommerce table.shop_table th {
	font-family: var(--font-mono);
	font-size: var(--fs-eyebrow);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	text-align: left;
	padding: var(--space-3) var(--space-3);
	border-bottom: 1px solid var(--color-border);
}
.woocommerce table.shop_table td {
	padding: var(--space-4) var(--space-3);
	border-bottom: 1px solid var(--color-border);
	font-family: var(--font-body);
	font-weight: 300;
}
.woocommerce table.shop_table td.product-name a { color: var(--color-deep-ocean); font-weight: 500; }
.woocommerce table.shop_table .product-remove a {
	color: var(--color-text-muted);
	font-size: 1.2rem;
}
.woocommerce-cart-form img { width: 56px; height: auto; border-radius: var(--radius-sm); }

.cart-collaterals .cart_totals {
	background: var(--color-teal-tint);
	border-radius: var(--radius-md);
	padding: var(--space-5);
}
.cart-collaterals .cart_totals h2 {
	font-size: 1.3rem;
	margin-bottom: var(--space-4);
}
.cart-collaterals table.shop_table { margin-bottom: 0; }

/* ============================================================
   CHECKOUT FORM
   ============================================================ */
.woocommerce-checkout .form-row label {
	display: block;
	font-family: var(--font-mono);
	font-size: var(--fs-eyebrow);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	margin-bottom: var(--space-2);
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	font-family: var(--font-body);
	font-size: 1rem;
	padding: var(--space-3) var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-white);
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus {
	outline: none;
	border-color: var(--color-compliance-teal);
	box-shadow: 0 0 0 3px var(--color-teal-tint);
}
#order_review {
	background: var(--color-teal-tint);
	border-radius: var(--radius-md);
	padding: var(--space-5);
}

/* ============================================================
   MY ACCOUNT
   ============================================================ */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--color-border);
}
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: var(--space-3) 0;
	font-family: var(--font-body);
	font-weight: 500;
	color: var(--color-deep-ocean);
	text-decoration: none;
}
.woocommerce-MyAccount-navigation li.is-active a { color: var(--color-compliance-teal); }
.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
	width: 100%;
	font-family: var(--font-body);
	padding: var(--space-3) var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	margin-bottom: var(--space-4);
}

/* ============================================================
   NOTICES (messages / errors / info)
   ============================================================ */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	list-style: none;
	padding: var(--space-3) var(--space-4);
	border-radius: var(--radius-sm);
	margin-bottom: var(--space-5);
	font-size: var(--fs-small);
}
.woocommerce-message { background: var(--color-teal-tint); color: var(--color-teal-dark); border-left: 3px solid var(--color-compliance-teal); }
.woocommerce-error { background: #FDEDEC; color: #B3261E; border-left: 3px solid #B3261E; }
.woocommerce-info { background: var(--color-teal-tint); color: var(--color-teal-dark); border-left: 3px solid var(--color-signal-cyan); }
.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button { margin-left: var(--space-4); }
