/* =========================================================================
   WooCommerce — Cart, Checkout, My Account, order tables. Maps WC markup to
   the design system (near-square red buttons, warm neutrals, card totals).
   ========================================================================= */

.woocommerce .page__head, .ots-woo-page .page__head { text-align: left; }

/* ---- Buttons ------------------------------------------------------------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt, .wc-block-components-button {
	font: inherit; font-weight: var(--weight-semibold);
	background: var(--color-accent); color: #fff;
	border: 1px solid var(--color-accent); border-radius: var(--radius-sm);
	padding: 0.75rem 1.25rem; text-decoration: none; cursor: pointer; transition: background var(--duration) var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .button.alt:hover, .woocommerce #respond input#submit:hover {
	background: var(--color-accent-hover); border-color: var(--color-accent-hover); color: #fff;
}
.woocommerce a.button.wc-backward, .woocommerce .button.wc-forward { background: var(--paper); color: var(--color-text); border-color: var(--color-border-strong); }

/* ---- Notices ------------------------------------------------------------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: var(--radius-md); border-top: 3px solid var(--color-accent);
	color: #a03138;
	background: #ffffff; padding: 1em 2em 1em 3.5em !important; color: var(--color-text);
}
.woocommerce-error { border-top-color: var(--danger-600); }

/* ---- Tables (cart, orders, downloads) ----------------------------------- */
.woocommerce table.shop_table {
	border: 1px solid var(--color-border); border-radius: var(--radius-lg); border-collapse: separate; border-spacing: 0; overflow: hidden;
}
.woocommerce table.shop_table th { background: var(--color-bg-subtle); font-weight: var(--weight-semibold); text-align: left; padding: var(--space-3) var(--space-4); }
.woocommerce table.shop_table td { padding: var(--space-4); border-top: 1px solid var(--color-divider); }
.woocommerce table.shop_table .amount { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* ---- Cart totals card ---------------------------------------------------- */
.woocommerce .cart_totals, .woocommerce-checkout .checkout .col-2,
.woocommerce .cart-collaterals .cart_totals {
	background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6);
}
@media (max-width: 900px) {
	.woocommerce .cart-collaterals, .woocommerce-page .cart-collaterals {
		padding: 24px;
	}
}
.woocommerce .cart_totals h2 { font-size: var(--text-h3); margin-bottom: var(--space-4); }
.wc-proceed-to-checkout .checkout-button { display: block; text-align: center; }
.back-btn { margin-top: var(--space-3); }

/* ---- Coupon / quantity --------------------------------------------------- */
.woocommerce .quantity input.qty { padding: 0.5rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); width: 4rem; }

/* ---- Checkout form ------------------------------------------------------- */
.woocommerce form .form-row label { display: block; font-weight: var(--weight-medium); margin-bottom: var(--space-1); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="tel"] {
	width: 100%; padding: 0.75rem 0.875rem; font: inherit;
	border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--paper);
}
.woocommerce form .form-row input:focus, .woocommerce form .form-row select:focus, .woocommerce form .form-row textarea:focus {
	outline: none; border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-focus-ring);
}
#order_review, .woocommerce-checkout #payment { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.woocommerce-checkout #payment { padding: var(--space-5); }
#add_payment_method #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--color-divider); }

/* ---- My Account ---------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); color: var(--color-text);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--color-accent-tint); color: var(--color-accent); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); }
@media (min-width: 782px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { float: left; width: 240px; }
	.woocommerce-account .woocommerce-MyAccount-content { margin-left: 272px; }
}

/* ---- Order received / thank-you ------------------------------------------ */
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px,1fr)); gap: var(--space-4); list-style: none; margin: 0 0 var(--space-6); padding: var(--space-5); background: var(--color-bg-subtle); border-radius: var(--radius-lg); }
.woocommerce ul.order_details li { border: 0; font-size: var(--text-sm); color: var(--color-text-muted); text-transform: none; }
.woocommerce ul.order_details li strong { display: block; font-size: var(--text-base); color: var(--color-text); }
