/* ==========================================================================
   WooCommerce brand overrides.
   Loaded after WooCommerce's own stylesheets — these rules only need to
   override colors/spacing/typography, not rebuild structural CSS that
   WooCommerce core already ships (grid widths, flexslider gallery,
   form-row layout, notices, etc.).
   ========================================================================== */

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	border-top-color: var(--cs-accent) !important;
	background: var(--cs-cream-alt);
	font-size: 14px;
	border-radius: var(--cs-radius);
}
.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--cs-accent) !important;
}
.woocommerce-error {
	border-top-color: #b3543f !important;
}

/* Star ratings (reviews) */
.woocommerce .star-rating span::before,
.woocommerce .comment-form-rating .stars a::after {
	color: var(--cs-accent);
}

/* Quantity input */
.woocommerce .quantity .qty {
	border: 1px solid var(--cs-border);
	border-radius: var(--cs-radius);
	height: 48px;
	font-family: var(--font-sans);
}

/* Product gallery */
.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: 14px;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	width: 22%;
	margin-right: 4%;
}
.woocommerce div.product div.images .flex-control-thumbs img {
	border-radius: var(--cs-radius);
	opacity: 0.65;
	transition: opacity var(--cs-transition);
}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
	opacity: 1;
}

/* Tables: cart, checkout review, my account orders */
.woocommerce table.shop_table th {
	font-family: var(--font-sans);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cs-text-muted);
	font-weight: 500;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	padding: 16px 12px;
}
.woocommerce-cart table.cart img {
	border-radius: var(--cs-radius);
	width: 72px;
}

/* Forms: checkout + my account + login */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row select {
	border: 1px solid var(--cs-border);
	border-radius: var(--cs-radius);
	padding: 12px 14px;
	background: var(--cs-white);
	font-family: var(--font-sans);
}
.woocommerce form .form-row label {
	font-size: 13px;
	color: var(--cs-text);
}
#payment .place-order .button {
	font-size: 13px;
	padding: 16px 30px;
}

/* Coupon / login toggle links */
.woocommerce-form-coupon-toggle .woocommerce-info,
.showcoupon,
.showlogin {
	color: var(--cs-accent);
}

/* Product tabs panel prose */
.woocommerce-Tabs-panel {
	font-size: 15px;
	max-width: 70ch;
}
.woocommerce-Tabs-panel table.shop_attributes {
	max-width: 480px;
	font-size: 14px;
}
.woocommerce-Tabs-panel table.shop_attributes th {
	color: var(--cs-text-muted);
	font-weight: 500;
	width: 40%;
}

/* Breadcrumb */
.woocommerce-breadcrumb a:hover {
	color: var(--cs-accent);
}

/* My Account */
.woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	border-right: 1px solid var(--cs-border);
	padding-right: 20px;
}
.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 10px 6px;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.woocommerce-MyAccount-navigation .is-active a {
	color: var(--cs-accent);
}
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 40px;
}
@media (max-width: 780px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}
	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		border-right: none;
		border-bottom: 1px solid var(--cs-border);
		padding-right: 0;
		padding-bottom: 12px;
	}
}
