/* ==========================================================================
   Single Product — premium full-width, true 50/50 gallery/summary grid

   Layout comes from woocommerce/content-single-product.php, which wraps
   the gallery and summary in explicit .product-gallery-col /
   .product-summary-col columns (siblings of the onsale badge, tabs and
   related products stay outside the grid, so nothing else can land in
   an unexpected cell). Column widths use fr units and a fluid clamp()
   gap/padding on purpose — nothing here is a fixed pixel width, so the
   split holds at any viewport.
   ========================================================================== */

body.single-product .woocommerce-page-wrap.container {
	max-width: none;
	padding-inline: clamp(20px, 4vw, 80px);
}

.woocommerce div.product {
	margin: 0;
	padding-block: clamp(24px, 4vw, 48px) 0;
}

.product-premium-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 2.5vw, 40px);
	align-items: start;
}

.product-gallery-col,
.product-summary-col {
	min-width: 0;
	/* Clearfix: guards against any floated descendant (see below) collapsing
	   this grid item to zero height. */
	display: flow-root;
}

.product-gallery-col {
	position: sticky;
	/* .site-header is itself position:sticky with a higher z-index (999),
	   so it already renders above this on scroll - this offset just keeps
	   a visible gap under it instead of the gallery tucking in flush. */
	top: 96px;
}

/*
 * WooCommerce's own core stylesheet (woocommerce-layout.css, enqueued by
 * WooCommerce itself and not dequeued by this theme - full compatibility
 * requires leaving it in place for pages/plugins that rely on it) ships
 * `.woocommerce div.product div.images, .woocommerce div.product div.summary
 * { width: 48%; float: left/right; }`. Our gallery wrapper carries a legacy
 * "images" class (kept for that exact backward-compat reason) and the
 * summary carries "summary", so both selectors match our markup too - and
 * because that core rule qualifies the element with "div", it has one more
 * specificity point than a bare ".woocommerce-product-gallery" / ".summary"
 * reset. The old reset below quietly lost that tie every time, leaving the
 * real computed style at float:left/right + width:48% *inside* our already
 * 50%-wide grid column - squeezing the gallery down to roughly a quarter of
 * the page, shoving the summary hard against the right edge of its column,
 * and leaving the unused 52% of each column as the "huge gap" between them.
 * `!important` + the "div" qualifier below both independently outrank that
 * core rule, so this holds regardless of stylesheet load order.
 */
.woocommerce div.product div.woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	min-width: 0;
}

.woocommerce div.product .woocommerce-product-gallery img {
	border-radius: 4px;
	width: 100%;
	height: auto;
}

.woocommerce div.product div.summary {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	min-width: 0;
}

.woocommerce div.product .summary .product_title {
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1.2;
	margin-bottom: 12px;
}

.woocommerce div.product .summary .woocommerce-product-rating {
	margin-bottom: 14px;
}

.woocommerce div.product .summary .price {
	color: var(--color-gold);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 28px;
	margin-bottom: 18px;
	display: block;
}

.woocommerce div.product .summary .price ins {
	text-decoration: none;
}

.woocommerce div.product .summary .price del {
	opacity: 0.55;
	font-size: 0.65em;
	margin-right: 8px;
}

.woocommerce div.product .summary .woocommerce-product-details__short-description {
	color: var(--color-text-light);
	line-height: 1.7;
	margin-bottom: 22px;
}

.woocommerce div.product form.cart {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

/*
 * Add to Cart + Buy Now: equal width, same line, same height. Layout only
 * - no background/color/border-color declared here, so whatever colors are
 * already set elsewhere (.single_add_to_cart_button, .aw-buy-now-btn) are
 * completely unaffected.
 *
 * flex: 1 1 180px lets both buttons grow to fill the row equally beside
 * the (fixed-width) quantity stepper, while still being able to shrink
 * below 180px on narrower screens instead of overflowing. The quantity
 * stepper keeps its normal auto width (flex: 0 0 auto, unchanged).
 * Wishlist gets flex-basis: 100% so it always drops to its own full-width
 * line below the two buttons, on every screen size - not just whenever it
 * happens to run out of room to wrap.
 */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .aw-buy-now-btn {
	flex: 1 1 180px;
	justify-content: center;
	text-align: center;
}

.woocommerce div.product form.cart .aw-wishlist-btn-single {
	flex: 1 1 100%;
	justify-content: center;
}

@media (max-width: 480px) {
	.woocommerce div.product form.cart .single_add_to_cart_button,
	.woocommerce div.product form.cart .aw-buy-now-btn {
		flex-basis: 0;
		min-width: 0;
		padding-left: 20px;
		padding-right: 20px;
		white-space: normal;
	}
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	padding: 15px 36px;
	box-shadow: 0 2px 10px rgba(23, 23, 26, 0.08);
	transition: var(--transition), transform 0.2s ease, box-shadow 0.25s ease;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(23, 23, 26, 0.16);
}

.aw-buy-now-btn {
	background: var(--color-white);
	color: var(--color-dark);
	border-color: var(--color-dark);
	padding: 15px 36px;
}

.aw-buy-now-btn:hover {
	background: var(--color-gold);
	border-color: var(--color-gold);
	color: var(--color-white);
}

.woocommerce div.product .stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--color-gold);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 18px;
}

.woocommerce div.product .stock::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	flex-shrink: 0;
}

.woocommerce div.product .stock.out-of-stock {
	color: #b3261e;
}

.quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 3px;
	overflow: hidden;
	transition: border-color 0.25s ease;
}

.quantity:focus-within {
	border-color: var(--color-gold);
}

.quantity .qty {
	width: 52px;
	text-align: center;
	border: none;
	padding: 12px 0;
	background: transparent;
	font-weight: 500;
	color: var(--color-dark);
}

.quantity .qty:focus {
	outline: none;
}

.quantity .qty-btn {
	background: var(--color-cream);
	border: none;
	width: 38px;
	height: 46px;
	padding: 0;
	cursor: pointer;
	font-size: 16px;
	color: var(--color-dark);
	transition: background 0.25s ease, color 0.25s ease;
}

.quantity .qty-btn:hover {
	background: var(--color-gold);
	color: #fff;
}

.woocommerce-cart table.cart .quantity {
	border-radius: 4px;
}

.woocommerce-cart table.cart .quantity .qty-btn {
	height: 42px;
}

.woocommerce-tabs {
	margin-top: 40px;
	border-top: 1px solid var(--color-border);
	padding-top: 32px;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 8px;
	border-bottom: 1px solid var(--color-border);
	margin-bottom: 24px;
}

.woocommerce-tabs ul.tabs li {
	padding: 12px 20px;
	cursor: pointer;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-bottom: 2px solid transparent;
}

.woocommerce-tabs ul.tabs li.active,
.woocommerce-tabs ul.tabs li:hover {
	border-bottom-color: var(--color-gold);
	color: var(--color-gold);
}

#tab-description p,
#tab-description li,
#tab-description ol,
#tab-description ul {
	max-width: 780px;
}

.related.products,
.upsells.products {
	margin-top: 56px;
	border-top: 1px solid var(--color-border);
	padding-top: 40px;
}

/*
 * With fewer than 4 related/upsell products, the sitewide 4-column grid
 * (.woocommerce ul.products, repeat(4, 1fr)) stretches every column to
 * fill the row, so a single product ends up stretched across an oversized
 * track instead of staying a normal card width. An auto-fill grid track
 * count was tried here first, but how many tracks it computes still
 * depends on this section's exact available width, which isn't
 * verifiable without live inspection - not reliable enough. Switching to
 * flexbox instead removes that dependency entirely: each card gets a
 * fixed basis (flex-grow: 0, so it never grows past that width no matter
 * how few siblings it has) and the row is centered, so 1 product is a
 * normal-width centered card, 2-3 sit centered together at the same
 * width, and 4 wrap naturally into a row matching the usual layout.
 * Scoped to .related/.upsells specifically so Shop/Category/Featured
 * Products grids (which normally do have a full row of products) keep
 * the existing stretched 4-column grid untouched.
 *
 * Every selector below is prefixed with `body` purely to raise its
 * specificity above the sitewide `.woocommerce ul.products` grid rule
 * (style.css) - which is (0,2,1) with its own `!important`. Without the
 * extra element, `.related.products ul.products` is ALSO exactly (0,2,1),
 * so the two rules only resolve by stylesheet order (this file loading
 * after style.css) rather than by an unambiguous specificity win. That's
 * fragile - a future minifier/cache/plugin that reorders enqueued
 * stylesheets, or a child theme, could silently flip which one wins.
 * `body` makes the win explicit and independent of load order.
 */
body .related.products ul.products,
body .upsells.products ul.products {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
}

body .related.products ul.products li.product,
body .upsells.products ul.products li.product {
	flex: 0 1 280px;
	max-width: 100%;
	float: none;
	width: auto;
	margin: 0;
}

/*
 * Same empty-space problem, same hardened flexbox fix, applied to every
 * other homepage/leaf grid that can legitimately render fewer items than a
 * full row: Shop By Category (.aw-el-category-grid, from the Category Grid
 * Elementor widget and its front-page.php fallback), the 404 page's
 * "Browse A Category" block (.error-404-categories), Featured/New
 * Arrivals/Best Sellers (.aw-el-product-grid, from the Product Grid
 * Elementor widget and its front-page.php fallbacks), Recently Viewed
 * (.aw-recently-viewed), and the cart page's Cross-sells. Each selector is
 * scoped to that section's own wrapper class only - none of this touches
 * the shared Shop/Category archive grid (plain `.woocommerce ul.products`,
 * no extra wrapper class), which is expected to carry close to a full page
 * of products almost all the time and was explicitly left alone.
 */
body .aw-el-category-grid ul.products,
body .error-404-categories ul.products {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 28px;
}

body .aw-el-category-grid ul.products li.product-category,
body .error-404-categories ul.products li.product-category {
	flex: 0 1 300px;
	max-width: 100%;
	float: none;
	width: auto;
	margin: 0;
}

body .aw-el-product-grid ul.products,
body .aw-recently-viewed ul.products,
body .cross-sells ul.products {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
}

body .aw-el-product-grid ul.products li.product,
body .aw-recently-viewed ul.products li.product,
body .cross-sells ul.products li.product {
	flex: 0 1 280px;
	max-width: 100%;
	float: none;
	width: auto;
	margin: 0;
}

@media (max-width: 782px) {
	body .aw-el-category-grid ul.products,
	body .error-404-categories ul.products {
		gap: 18px;
	}
}

.related.products h2,
.upsells.products h2 {
	text-align: center;
	margin-bottom: 32px;
}

.star-rating {
	color: var(--color-gold);
	font-size: 14px;
	overflow: hidden;
	position: relative;
	height: 1.2em;
	line-height: 1.2em;
	width: 5.4em;
	font-family: star;
}

.star-rating::before {
	content: "\53\53\53\53\53";
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	color: var(--color-border);
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	color: var(--color-gold);
}

.star-rating span::before {
	content: "\53\53\53\53\53";
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: 16px;
	border-bottom: 1px solid var(--color-border);
	text-align: left;
}

.woocommerce-cart table.shop_table img {
	width: 64px;
	border-radius: 4px;
}

.cart-collaterals .cart_totals {
	background: #fff;
	border: 1px solid var(--color-border);
	padding: 24px;
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
}

.cart_totals h2 {
	font-size: 20px;
}

.woocommerce-checkout-review-order-table {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid var(--color-border);
	padding: 12px 14px;
	width: 100%;
	background: #fff;
}

.woocommerce-MyAccount-navigation ul {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: 4px;
	overflow: hidden;
}

.woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 20px;
	font-size: 14px;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
	background: var(--color-dark);
	color: #fff;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: #fff;
	border-left: 4px solid var(--color-gold);
	padding: 16px 20px;
	list-style: none;
	margin-bottom: 24px;
	border-radius: 2px;
}

@media (max-width: 782px) {
	.woocommerce div.product {
		padding-block: 24px 0;
	}

	.product-premium-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.product-gallery-col {
		position: static;
	}
}
.aw-urgency-block {
	margin-bottom: 22px;
	padding: 16px 18px;
	background: var(--color-cream);
	border: 1px solid var(--color-border);
	border-radius: 4px;
}

.aw-urgency-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--color-text-light);
	margin: 0;
}

.aw-urgency-row + .aw-urgency-row {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed var(--color-border);
}

.aw-urgency-row svg {
	width: 18px;
	height: 18px;
	color: var(--color-gold);
	flex-shrink: 0;
}

.aw-urgency-row.aw-row-urgent {
	color: #b3261e;
	font-weight: 500;
}

.aw-urgency-row.aw-row-urgent svg {
	color: #b3261e;
}

.aw-mini-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	border-top: 1px solid var(--color-border);
	padding-top: 20px;
	margin-top: 4px;
}

.aw-mini-trust li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	font-size: 12px;
	color: var(--color-text-light);
}

.aw-mini-trust svg {
	width: 18px;
	height: 18px;
	color: var(--color-gold);
	flex-shrink: 0;
}

@media (max-width: 600px) {
	.aw-mini-trust {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px 10px;
	}

	.aw-mini-trust li {
		padding: 0;
	}
}

.woocommerce div.product .summary .product_meta {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
	font-size: 12.5px;
	color: var(--color-text-light);
}

.woocommerce div.product .summary .product_meta > span:not(.sku_wrapper) {
	display: block;
	margin-bottom: 4px;
}

.woocommerce div.product .summary .product_meta a {
	color: var(--color-text-light);
}

.woocommerce div.product .summary .product_meta a:hover {
	color: var(--color-gold);
}

.aw-sticky-cart {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--color-white);
	border-top: 1px solid var(--color-border);
	box-shadow: 0 -8px 24px rgba(23, 23, 26, 0.08);
	z-index: 900;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.aw-sticky-cart.is-visible {
	transform: translateY(0);
}

.aw-sticky-cart-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 24px;
}

.aw-sticky-info {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.aw-sticky-info img {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 4px;
	flex-shrink: 0;
}

.aw-sticky-info div {
	min-width: 0;
}

.aw-sticky-info strong {
	display: block;
	font-size: 13px;
	color: var(--color-dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.aw-sticky-price {
	font-family: var(--font-heading);
	color: var(--color-gold);
	font-size: 14px;
}

.aw-sticky-btn {
	flex-shrink: 0;
	padding: 12px 24px;
	font-size: 12px;
}

@media (max-width: 480px) {
	.aw-sticky-info strong {
		max-width: 120px;
	}

	.aw-sticky-btn {
		padding: 12px 18px;
	}
}

.sku_wrapper {
	display: none;
}

.mini-cart-wrapper {
	position: relative;
}

.cart-drawer-overlay {
	position: fixed;
	inset: 0;
	background: rgba(23, 23, 26, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	z-index: 1190;
}

.cart-drawer-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.mini-cart-panel {
	position: fixed;
	top: 0;
	right: -420px;
	width: 400px;
	max-width: 92vw;
	height: 100vh;
	background: var(--color-white);
	box-shadow: -20px 0 40px rgba(23, 23, 26, 0.16);
	padding: 0;
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: right 0.3s ease;
	z-index: 1200;
	display: flex;
	flex-direction: column;
}

.mini-cart-panel.is-open {
	right: 0;
}

.cart-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid var(--color-border);
	flex-shrink: 0;
}

.cart-drawer-head h3 {
	font-size: 17px;
	margin: 0;
}

.cart-drawer-close {
	background: none;
	border: none;
	cursor: pointer;
	width: 32px;
	height: 32px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--color-text);
}

.cart-drawer-close:hover {
	background: var(--color-cream);
}

.cart-drawer-close svg {
	width: 18px;
	height: 18px;
}

.mini-cart-panel .widget_shopping_cart_content {
	padding: 20px 24px;
	overflow-y: auto;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.mini-cart-panel ul.woocommerce-mini-cart {
	flex-grow: 1;
}

.widget_shopping_cart_content ul.woocommerce-mini-cart {
	margin: 0 0 16px;
	flex-grow: 1;
	overflow-y: auto;
}

.widget_shopping_cart_content .total,
.widget_shopping_cart_content .woocommerce-mini-cart__buttons {
	flex-shrink: 0;
}

.widget_shopping_cart_content .total {
	padding-top: 16px;
	border-top: 1px solid var(--color-border);
}

.widget_shopping_cart_content ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--color-border);
	position: relative;
}

.widget_shopping_cart_content ul.woocommerce-mini-cart li.woocommerce-mini-cart-item:last-child {
	border-bottom: none;
}

.widget_shopping_cart_content ul.woocommerce-mini-cart li img {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 4px;
}

.widget_shopping_cart_content ul.woocommerce-mini-cart li a:not(.remove) {
	font-size: 13px;
	color: var(--color-dark);
	font-weight: 500;
	display: block;
}

.widget_shopping_cart_content ul.woocommerce-mini-cart li .quantity {
	display: block;
	font-size: 12px;
	color: var(--color-text-light);
	border: none;
}

.widget_shopping_cart_content ul.woocommerce-mini-cart li a.remove {
	position: absolute;
	right: 0;
	top: 12px;
	color: var(--color-text-light) !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	font-size: 16px;
}

.widget_shopping_cart_content .woocommerce-mini-cart__empty-message {
	color: var(--color-text-light);
	font-size: 13px;
	text-align: center;
	margin: 0;
}

.widget_shopping_cart_content .total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-dark);
	margin-bottom: 16px;
}

.widget_shopping_cart_content .total .woocommerce-Price-amount {
	color: var(--color-gold);
	font-family: var(--font-heading);
}

.widget_shopping_cart_content .woocommerce-mini-cart__buttons {
	display: flex;
	gap: 10px;
	margin: 0;
}

.widget_shopping_cart_content .woocommerce-mini-cart__buttons a {
	flex: 1;
	text-align: center;
	padding: 12px 10px;
	font-size: 11px;
}

.aw-wishlist-btn {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 50%;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 3;
	color: var(--color-dark);
	transition: var(--transition);
}

/* padding: 0 above is required, not decorative: this is a real <button>,
   and the sitewide button reset's padding (14px 32px) would otherwise
   still apply since nothing here overrode it - with box-sizing:border-box,
   64px of horizontal padding alone exceeds this 36px width, forcing the
   browser to expand the box into an oval well past 36px to keep the
   content area from going negative, squeezing the icon into an invisible
   sliver. Same fix applied below to every other fixed-size icon button
   that has the same gap (compare/quick-view buttons, cart drawer close,
   quick-view close, compare-table remove, chat carousel arrows, back-to-
   top). */
.aw-wishlist-btn svg {
	width: 17px;
	height: 17px;
}

.aw-wishlist-btn:hover {
	border-color: var(--color-gold);
	color: var(--color-gold);
}

.aw-wishlist-btn.is-active {
	background: var(--color-gold);
	border-color: var(--color-gold);
	color: var(--color-white);
}

.aw-wishlist-btn.is-active svg {
	fill: currentColor;
}

.aw-wishlist-btn-single {
	position: static;
	width: auto;
	height: auto;
	padding: 13px 22px;
	border-radius: 3px;
	gap: 8px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-dark);
}

.aw-wishlist-btn-single.is-active {
	background: var(--color-gold);
	border-color: var(--color-gold);
	color: var(--color-white);
}

.aw-wishlist-grid {
	min-height: 80px;
}

table.variations {
	width: 100%;
	margin-bottom: 20px;
}

table.variations tr {
	display: block;
	margin-bottom: 14px;
}

table.variations td.label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-dark);
	font-weight: 600;
	margin-bottom: 8px;
}

table.variations td.value select {
	width: 100%;
	max-width: 280px;
	padding: 12px 14px;
	border: 1px solid var(--color-border);
	background: var(--color-white);
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--color-dark);
	border-radius: 2px;
}

.woocommerce-variation-add-to-cart .reset_variations {
	display: inline-block;
	margin-left: 12px;
	font-size: 12px;
	color: var(--color-text-light);
	text-decoration: underline;
}

.woocommerce-variation-price .price {
	color: var(--color-gold);
	font-family: var(--font-heading);
	font-size: 20px;
}

.woocommerce-variation-availability .stock {
	font-size: 12px;
}

.single_variation_wrap {
	margin-bottom: 16px;
}

@media (max-width: 480px) {
	.mini-cart-panel {
		width: 100vw;
		max-width: 100vw;
		right: -100vw;
	}
}


.aw-compare-btn {
	position: absolute;
	top: 58px;
	right: 14px;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 50%;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 3;
	color: var(--color-dark);
	transition: var(--transition);
}

.aw-compare-btn svg {
	width: 16px;
	height: 16px;
}

.aw-compare-btn:hover {
	border-color: var(--color-gold);
	color: var(--color-gold);
}

.aw-compare-btn.is-active {
	background: var(--color-gold);
	border-color: var(--color-gold);
	color: var(--color-white);
}

.aw-compare-btn-single {
	position: static;
	width: auto;
	height: auto;
	padding: 13px 22px;
	border-radius: 3px;
	gap: 8px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-dark);
}

.aw-compare-btn-single.is-active {
	background: var(--color-gold);
	border-color: var(--color-gold);
	color: var(--color-white);
}

.aw-compare-bar {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	background: var(--color-dark);
	color: var(--color-white);
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 14px 22px;
	border-radius: 40px;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.3);
	z-index: 900;
}

.aw-compare-bar-label {
	font-size: 13px;
	white-space: nowrap;
}

.aw-compare-bar-btn {
	padding: 10px 20px;
	font-size: 11px;
}

.aw-compare-bar-clear {
	background: none;
	border: none;
	color: #a9a59d;
	font-size: 12px;
	text-decoration: underline;
	cursor: pointer;
}

.aw-compare-bar-clear:hover {
	color: var(--color-white);
}

.aw-compare-table-wrap {
	overflow-x: auto;
}

table.aw-compare-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--color-white);
	min-width: 640px;
}

table.aw-compare-table th,
table.aw-compare-table td {
	border: 1px solid var(--color-border);
	padding: 16px;
	text-align: center;
	vertical-align: top;
}

table.aw-compare-table th {
	background: var(--color-cream);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text-light);
	text-align: left;
	white-space: nowrap;
}

table.aw-compare-table td img {
	width: 90px;
	margin: 0 auto 10px;
	border-radius: 4px;
}

table.aw-compare-table .aw-compare-name {
	display: block;
	font-size: 13px;
	color: var(--color-dark);
	font-weight: 500;
}

table.aw-compare-table .aw-compare-row-image td {
	position: relative;
}

table.aw-compare-table .aw-compare-remove {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 24px;
	height: 24px;
	padding: 0;
	border-radius: 50%;
	background: var(--color-cream);
	border: none;
	color: var(--color-text-light);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

table.aw-compare-table .aw-compare-remove:hover {
	background: #f0dede;
	color: #b3261e;
}

table.aw-compare-table .aw-compare-desc {
	font-size: 12.5px;
	color: var(--color-text-light);
	text-align: left;
	max-width: 220px;
}

@media (max-width: 480px) {
	.aw-compare-bar {
		width: calc(100% - 32px);
		left: 16px;
		transform: none;
		flex-wrap: wrap;
		justify-content: center;
	}
}


.aw-badges {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.aw-badge {
	display: inline-block;
	font-size: 10.5px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 2px;
	color: var(--color-white);
}

.aw-badge-new {
	background: var(--color-dark);
}

.aw-badge-lowstock {
	background: #b3261e;
}

.aw-badge-outofstock {
	background: #726d64;
}

.woocommerce span.onsale ~ .aw-badges {
	top: 46px;
}


.aw-quickview-btn {
	position: absolute;
	top: 102px;
	right: 14px;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 50%;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 3;
	color: var(--color-dark);
	transition: var(--transition);
}

.aw-quickview-btn svg {
	width: 16px;
	height: 16px;
}

.aw-quickview-btn:hover {
	background: var(--color-gold);
	border-color: var(--color-gold);
	color: var(--color-white);
}

body.aw-modal-open {
	overflow: hidden;
}

.aw-quickview-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(23, 23, 26, 0.7);
	z-index: 1000;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.aw-quickview-overlay.is-open {
	display: flex;
}

.aw-quickview-modal {
	position: relative;
	background: var(--color-white);
	border-radius: 6px;
	max-width: 900px;
	width: 100%;
	max-height: 88vh;
	overflow-y: auto;
	padding: 40px;
}

.aw-quickview-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 34px;
	height: 34px;
	padding: 0;
	border-radius: 50%;
	background: var(--color-cream);
	border: none;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	color: var(--color-dark);
	z-index: 2;
}

.aw-quickview-close:hover {
	background: var(--color-gold);
	color: var(--color-white);
}

.aw-quickview-body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.aw-quickview-loading {
	grid-column: 1 / -1;
	text-align: center;
	padding: 60px 0;
	color: var(--color-text-light);
}

.aw-quickview-gallery img {
	border-radius: 4px;
	width: 100%;
}

.aw-quickview-title {
	font-size: 24px;
	margin-bottom: 10px;
}

.aw-quickview-rating {
	margin-bottom: 14px;
}

.aw-quickview-price {
	font-family: var(--font-heading);
	font-size: 22px;
	color: var(--color-gold);
	margin-bottom: 16px;
}

.aw-quickview-desc {
	color: var(--color-text-light);
	font-size: 14px;
	margin-bottom: 20px;
}

.aw-quickview-cart {
	margin-bottom: 16px;
}

.aw-quickview-viewfull {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-gold);
	font-weight: 600;
}

.aw-quickview-viewfull:hover {
	text-decoration: underline;
}

@media (max-width: 782px) {
	.aw-quickview-body {
		grid-template-columns: 1fr;
	}

	.aw-quickview-modal {
		padding: 28px 20px;
	}

	.aw-quickview-btn {
		display: none;
	}
}

/* ==========================================================================
   Shop Sidebar Layout (archive/category/tag pages)
   ========================================================================== */

.shop-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
	align-items: start;
}

.shop-sidebar-area {
	position: sticky;
	top: 24px;
}

.shop-sidebar-area .widget {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
	padding: 24px;
	margin-bottom: 24px;
}

.shop-sidebar-area .widget-title,
.shop-sidebar-area h3.widget-title,
.shop-sidebar-area h4.widget-title {
	font-family: var(--font-heading);
	font-size: 16px;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--color-border);
	color: var(--color-dark);
}

@media (max-width: 900px) {
	.shop-layout {
		grid-template-columns: 1fr;
	}

	.shop-sidebar-area {
		position: static;
		order: 2;
	}

	.shop-content-area {
		order: 1;
	}
}

/* --------------------------------------------------------------------
   WooCommerce Product Categories widget
   -------------------------------------------------------------------- */

.shop-sidebar-area .widget_product_categories ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-sidebar-area .widget_product_categories li {
	border-bottom: 1px solid var(--color-border);
}

.shop-sidebar-area .widget_product_categories li:last-child {
	border-bottom: none;
}

.shop-sidebar-area .widget_product_categories li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	font-size: 14px;
	color: var(--color-text);
}

.shop-sidebar-area .widget_product_categories li a:hover {
	color: var(--color-gold);
}

.shop-sidebar-area .widget_product_categories li.current-cat > a {
	color: var(--color-gold);
	font-weight: 600;
}

.shop-sidebar-area .widget_product_categories .count {
	font-size: 12px;
	color: var(--color-text-light);
	background: var(--color-cream);
	border-radius: 20px;
	padding: 1px 9px;
}

.shop-sidebar-area .widget_product_categories ul.children {
	margin-left: 14px;
	padding-top: 4px;
}

/* --------------------------------------------------------------------
   WooCommerce Price Filter widget
   -------------------------------------------------------------------- */

.shop-sidebar-area .price_slider {
	margin-bottom: 18px;
}

.shop-sidebar-area .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 13px;
}

.shop-sidebar-area .price_slider_amount .price_label {
	color: var(--color-text-light);
}

.shop-sidebar-area .price_slider_amount button,
.shop-sidebar-area .price_slider_amount .button {
	background: var(--color-dark);
	color: var(--color-white) !important;
	border: none;
	border-radius: 3px;
	padding: 8px 16px;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.shop-sidebar-area .price_slider_amount button:hover,
.shop-sidebar-area .price_slider_amount .button:hover {
	background: var(--color-gold);
}

.shop-sidebar-area .ui-slider {
	position: relative;
	height: 4px;
	background: var(--color-border);
	border-radius: 4px;
	margin: 12px 4px 22px;
}

.shop-sidebar-area .ui-slider .ui-slider-range {
	position: absolute;
	top: 0;
	height: 4px;
	background: var(--color-gold);
	border-radius: 4px;
}

.shop-sidebar-area .ui-slider .ui-slider-handle {
	position: absolute;
	top: 50%;
	width: 16px;
	height: 16px;
	margin-left: -8px;
	background: var(--color-white);
	border: 2px solid var(--color-gold);
	border-radius: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	outline: none;
}

/* --------------------------------------------------------------------
   WooCommerce Attribute Filter (Layered Nav) + Rating Filter widgets
   -------------------------------------------------------------------- */

.shop-sidebar-area .widget_layered_nav ul,
.shop-sidebar-area .widget_rating_filter ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-sidebar-area .widget_layered_nav li,
.shop-sidebar-area .widget_rating_filter li {
	border-bottom: 1px solid var(--color-border);
}

.shop-sidebar-area .widget_layered_nav li:last-child,
.shop-sidebar-area .widget_rating_filter li:last-child {
	border-bottom: none;
}

.shop-sidebar-area .widget_layered_nav li a,
.shop-sidebar-area .widget_rating_filter li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 9px 0;
	font-size: 14px;
	color: var(--color-text);
}

.shop-sidebar-area .widget_layered_nav li a:hover,
.shop-sidebar-area .widget_rating_filter li a:hover {
	color: var(--color-gold);
}

.shop-sidebar-area .widget_layered_nav li.chosen a {
	color: var(--color-gold);
	font-weight: 600;
}

.shop-sidebar-area .widget_layered_nav_filters ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.shop-sidebar-area .widget_layered_nav_filters li a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	padding: 6px 10px;
	background: var(--color-cream);
	border: 1px solid var(--color-border);
	border-radius: 20px;
	color: var(--color-text);
}

.shop-sidebar-area .widget_layered_nav_filters li a:hover {
	border-color: var(--color-gold);
	color: var(--color-gold);
}

/* --------------------------------------------------------------------
   Active filters / result count polish above the product loop
   -------------------------------------------------------------------- */

.shop-content-area .woocommerce-result-count {
	color: var(--color-text-light);
	font-size: 13px;
}

.shop-content-area .woocommerce-ordering select {
	border: 1px solid var(--color-border);
	border-radius: 3px;
	padding: 8px 12px;
	font-size: 13px;
	font-family: var(--font-body);
	background: var(--color-white);
}

/* ==========================================================================
   Checkout Page — Conversion-Focused Polish
   ========================================================================== */

.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 48px;
	align-items: start;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	width: 100%;
	float: none;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout .col2-set h3 {
	font-family: var(--font-heading);
	font-size: 20px;
	margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
	padding: 28px;
	margin-bottom: 24px;
}

.woocommerce-checkout .form-row label {
	display: block;
	font-size: 13px;
	color: var(--color-text-light);
	margin-bottom: 6px;
}

.woocommerce-checkout .form-row .required {
	color: #b3261e;
	text-decoration: none;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	border-radius: 3px;
	transition: border-color 0.15s ease;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--color-gold);
	outline: none;
}

.woocommerce-checkout #order_review {
	position: sticky;
	/* Matches the .product-gallery-col offset - .site-header is itself
	   sticky at top:0 with a higher z-index, so a small top:24px here
	   would tuck this under the header on scroll instead of leaving a
	   visible gap under it. */
	top: 96px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
	padding: 24px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	text-align: left;
	padding: 0 0 14px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-text-light);
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
	padding: 14px 0;
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
	font-size: 14px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .product-quantity {
	color: var(--color-text-light);
	font-size: 13px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td {
	font-family: var(--font-heading);
	font-size: 19px;
	color: var(--color-dark);
	border-bottom: none;
	padding-top: 18px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total .woocommerce-Price-amount {
	color: var(--color-gold);
}

/* Payment methods */

.woocommerce-checkout ul.wc_payment_methods {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
	overflow: hidden;
}

.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method {
	border-bottom: 1px solid var(--color-border);
	padding: 16px 20px;
}

.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method:last-child {
	border-bottom: none;
}

.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method label {
	font-weight: 600;
	font-size: 14px;
	color: var(--color-dark);
	cursor: pointer;
}

.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
	accent-color: var(--color-gold);
	margin-right: 10px;
}

.woocommerce-checkout ul.wc_payment_methods .payment_box {
	background: var(--color-cream);
	border-radius: 3px;
	padding: 14px 16px;
	margin-top: 12px;
	font-size: 13px;
	color: var(--color-text-light);
}

.woocommerce-checkout ul.wc_payment_methods .payment_box p {
	margin: 0;
}

.woocommerce-checkout #payment .form-row {
	padding: 0;
}

/* Place order button + trust reassurance */

.woocommerce-checkout #payment #place_order {
	width: 100%;
	background: var(--color-dark);
	color: var(--color-white) !important;
	border: none;
	padding: 16px 24px;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 3px;
	cursor: pointer;
	margin-top: 20px;
	transition: background 0.15s ease;
}

.woocommerce-checkout #payment #place_order:hover {
	background: var(--color-gold);
}

.aw-checkout-trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--color-border);
	font-size: 12px;
	color: var(--color-text-light);
}

.aw-checkout-trust span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.aw-checkout-trust svg {
	width: 16px;
	height: 16px;
	color: var(--color-gold);
	flex-shrink: 0;
}

/* Shipping methods */

.woocommerce-checkout ul#shipping_method {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.woocommerce-checkout ul#shipping_method li {
	padding: 10px 0;
	font-size: 14px;
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-checkout ul#shipping_method li input[type="radio"] {
	accent-color: var(--color-gold);
	margin-right: 8px;
}

/* Coupon form (checkout + cart) */

.woocommerce-form-coupon-toggle .woocommerce-info {
	background: var(--color-cream);
}

.checkout_coupon.woocommerce-form-coupon,
.woocommerce-cart form.woocommerce-cart-form .coupon {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
	padding: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-bottom: 24px;
}

.checkout_coupon.woocommerce-form-coupon .form-row,
.woocommerce-cart form.woocommerce-cart-form .coupon .input-text {
	margin: 0;
}

.checkout_coupon.woocommerce-form-coupon input.input-text,
.woocommerce-cart form.woocommerce-cart-form .coupon .input-text {
	width: auto;
	min-width: 200px;
}

.checkout_coupon.woocommerce-form-coupon button,
.woocommerce-cart form.woocommerce-cart-form .coupon button.button {
	background: var(--color-dark);
	color: var(--color-white) !important;
	border: none;
	padding: 12px 22px;
	border-radius: 3px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.checkout_coupon.woocommerce-form-coupon button:hover,
.woocommerce-cart form.woocommerce-cart-form .coupon button.button:hover {
	background: var(--color-gold);
}

@media (max-width: 900px) {
	.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout #order_review {
		position: static;
	}
}

/* ==========================================================================
   Cart Page — Table Actions, Cross-sells, Checkout CTA
   ========================================================================== */

.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
	vertical-align: middle;
}

.woocommerce-cart table.cart .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--color-cream);
	color: var(--color-text) !important;
	font-size: 16px;
	line-height: 1;
	text-decoration: none !important;
}

.woocommerce-cart table.cart .product-remove a.remove:hover {
	background: #b3261e;
	color: var(--color-white) !important;
}

.woocommerce-cart table.cart .product-name a {
	color: var(--color-dark);
	font-weight: 500;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
	color: var(--color-gold);
	font-family: var(--font-body);
	font-weight: 600;
}

.woocommerce-cart table.cart td.actions {
	padding-top: 20px;
}

.woocommerce-cart table.cart td.actions .input-text {
	border: 1px solid var(--color-border);
	padding: 12px 14px;
	border-radius: 3px;
}

.woocommerce-cart table.cart td.actions button[name="update_cart"] {
	background: var(--color-white);
	border: 1px solid var(--color-dark);
	color: var(--color-dark);
	padding: 12px 22px;
	border-radius: 3px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.woocommerce-cart table.cart td.actions button[name="update_cart"]:hover:not(:disabled) {
	background: var(--color-dark);
	color: var(--color-white);
}

.woocommerce-cart table.cart td.actions button[name="update_cart"]:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.wc-proceed-to-checkout {
	margin-top: 20px;
}

.wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	background: var(--color-dark);
	color: var(--color-white) !important;
	padding: 16px 24px;
	border-radius: 3px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	transition: background 0.15s ease;
}

.wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--color-gold);
}

.cross-sells {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid var(--color-border);
}

.cross-sells h2 {
	font-size: 22px;
	margin-bottom: 24px;
}

.woocommerce-cart .cart-empty {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	padding: 40px;
	text-align: center;
	font-size: 15px;
}

.woocommerce-cart .return-to-shop .button {
	display: inline-block;
	margin-top: 16px;
	background: var(--color-dark);
	color: var(--color-white) !important;
	padding: 14px 28px;
	border-radius: 3px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.woocommerce-cart .return-to-shop .button:hover {
	background: var(--color-gold);
}

@media (max-width: 600px) {
	.woocommerce-cart table.cart,
	.woocommerce-cart table.cart thead,
	.woocommerce-cart table.cart tbody,
	.woocommerce-cart table.cart tr,
	.woocommerce-cart table.cart td {
		display: block;
		width: 100%;
	}

	.woocommerce-cart table.cart thead {
		display: none;
	}

	.woocommerce-cart table.cart tr {
		border: 1px solid var(--color-border);
		border-radius: 4px;
		margin-bottom: 16px;
		padding: 12px;
	}

	.woocommerce-cart table.cart td {
		border-bottom: none;
		padding: 8px 0;
	}
}

/* ==========================================================================
   My Account Page — Layout, Orders, Downloads, Addresses, Edit Account
   ========================================================================== */

.woocommerce-account .entry-content {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 40px;
	align-items: start;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky;
	top: 96px;
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
	padding: 32px;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content mark {
	background: none;
	color: var(--color-gold);
	font-weight: 600;
}

/* Orders + Downloads tables */

.woocommerce-MyAccount-content table.shop_table,
.woocommerce-orders-table,
table.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td,
table.woocommerce-table--order-details th,
table.woocommerce-table--order-details td {
	padding: 14px 12px;
	border-bottom: 1px solid var(--color-border);
	text-align: left;
}

.woocommerce-MyAccount-content table.shop_table thead th {
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.05em;
	color: var(--color-text-light);
}

.woocommerce-MyAccount-content table.shop_table .button,
.woocommerce-orders-table__cell-order-actions .button {
	display: inline-block;
	background: var(--color-dark);
	color: var(--color-white) !important;
	padding: 8px 16px;
	border-radius: 3px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 2px 4px 2px 0;
}

.woocommerce-MyAccount-content table.shop_table .button:hover,
.woocommerce-orders-table__cell-order-actions .button:hover {
	background: var(--color-gold);
}

table.woocommerce-table--order-details tfoot th,
table.woocommerce-table--order-details tfoot td {
	font-weight: 600;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	color: var(--color-gold);
	font-family: var(--font-heading);
	font-size: 17px;
	border-bottom: none;
}

.order-again {
	margin-top: 24px;
}

/* Addresses */

.woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.woocommerce-Address {
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(23, 23, 26, 0.04);
	padding: 24px;
}

.woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
	font-size: 16px;
	margin: 0;
}

.woocommerce-Address-title a {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-gold);
}

.woocommerce-Address address {
	font-style: normal;
	color: var(--color-text-light);
	font-size: 14px;
	line-height: 1.7;
}

/* Edit account / edit address / registration forms */

.woocommerce-account form .form-row {
	margin-bottom: 18px;
}

.woocommerce-account form h3 {
	font-family: var(--font-heading);
	font-size: 18px;
	margin-bottom: 18px;
}

.woocommerce-account form legend {
	font-family: var(--font-heading);
	font-size: 16px;
	margin-bottom: 12px;
}

.woocommerce-account form button[type="submit"],
.woocommerce-account form input[name="save_account_details"] {
	background: var(--color-dark);
	color: var(--color-white) !important;
	border: none;
	padding: 14px 28px;
	border-radius: 3px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.woocommerce-account form button[type="submit"]:hover,
.woocommerce-account form input[name="save_account_details"]:hover {
	background: var(--color-gold);
}

/* Downloads */

.woocommerce-MyAccount-downloads-file a {
	color: var(--color-gold);
	font-weight: 500;
}

@media (max-width: 900px) {
	.woocommerce-account .entry-content {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
	}

	.woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.woocommerce-MyAccount-content table.shop_table,
	.woocommerce-MyAccount-content table.shop_table thead,
	.woocommerce-MyAccount-content table.shop_table tbody,
	.woocommerce-MyAccount-content table.shop_table tr,
	.woocommerce-MyAccount-content table.shop_table td {
		display: block;
		width: 100%;
	}

	.woocommerce-MyAccount-content table.shop_table thead {
		display: none;
	}

	.woocommerce-MyAccount-content table.shop_table tr {
		border: 1px solid var(--color-border);
		border-radius: 4px;
		margin-bottom: 14px;
		padding: 10px;
	}
}

/* ==========================================================================
   Header Account Flyout
   ========================================================================== */

.header-account-wrapper {
	position: relative;
}

.account-flyout {
	position: absolute;
	top: calc(100% + 18px);
	right: 0;
	width: 280px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 20px 40px rgba(23, 23, 26, 0.14);
	padding: 22px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: var(--transition);
	z-index: 999;
}

.account-flyout.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.account-flyout-greeting,
.account-flyout-title {
	font-family: var(--font-heading);
	font-size: 16px;
	margin: 0 0 14px;
}

.account-flyout-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.account-flyout-links li {
	border-bottom: 1px solid var(--color-border);
}

.account-flyout-links li:last-child {
	border-bottom: none;
}

.account-flyout-links li a {
	display: block;
	padding: 10px 0;
	font-size: 14px;
	color: var(--color-text);
}

.account-flyout-links li a:hover {
	color: var(--color-gold);
}

.account-flyout .woocommerce-form-login .form-row {
	margin-bottom: 12px;
}

.account-flyout .woocommerce-form-login label {
	display: block;
	font-size: 12px;
	color: var(--color-text-light);
	margin-bottom: 4px;
}

.account-flyout .woocommerce-form-login input.input-text {
	width: 100%;
	border: 1px solid var(--color-border);
	padding: 10px 12px;
	border-radius: 3px;
	font-size: 13px;
}

.account-flyout .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--color-text-light);
	margin: 0 0 14px;
}

.account-flyout .woocommerce-form-login button[type="submit"] {
	width: 100%;
	background: var(--color-dark);
	color: var(--color-white) !important;
	border: none;
	padding: 12px;
	border-radius: 3px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.account-flyout .woocommerce-form-login button[type="submit"]:hover {
	background: var(--color-gold);
}

.account-flyout .lost_password {
	margin-top: 10px;
	font-size: 12px;
}

.account-flyout .lost_password a {
	color: var(--color-text-light);
}

.account-flyout-register {
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--color-border);
	font-size: 13px;
	text-align: center;
}

@media (max-width: 480px) {
	.account-flyout {
		width: calc(100vw - 40px);
		right: -50px;
	}
}


/* ==========================================================================
   Advanced Product Cards — hover image swap, variation swatches
   ========================================================================== */

.aw-product-thumb-wrap {
	position: relative;
	display: block;
	overflow: hidden;
}

.aw-product-thumb-secondary {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.woocommerce ul.products li.product:hover .aw-product-thumb-secondary {
	opacity: 1;
}

.aw-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	padding: 0 16px;
	margin-top: 8px;
}

.aw-swatch {
	font-size: 11px;
	padding: 3px 9px;
	border-radius: 20px;
	background: var(--color-cream);
	color: var(--color-text-light);
	border: 1px solid var(--color-border);
	line-height: 1.4;
}

.aw-swatch-more {
	background: transparent;
	color: var(--color-gold);
	border-color: var(--color-gold-light);
}


/* ==========================================================================
   Shop / Category Banner
   ========================================================================== */

.shop-banner {
	background: var(--color-dark);
	color: var(--color-white);
	padding: 64px 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.shop-banner.has-image {
	background-size: cover;
	background-position: center;
}

.shop-banner.has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(23, 23, 26, 0.55) 0%, rgba(23, 23, 26, 0.82) 100%);
}

.shop-banner .container {
	position: relative;
	z-index: 1;
}

.shop-banner h1 {
	color: var(--color-white);
	margin-bottom: 8px;
}

.shop-banner .breadcrumb {
	color: var(--color-gold-light);
	font-size: 13px;
	letter-spacing: 0.05em;
}

.shop-banner-desc {
	max-width: 640px;
	margin: 16px auto 0;
	color: #d8d5cf;
	font-size: 14px;
	line-height: 1.7;
}

.shop-banner-desc p {
	margin: 0;
}

@media (max-width: 600px) {
	.shop-banner {
		padding: 44px 0;
	}
}


/* ==========================================================================
   AJAX Shop Sorting / Pagination loading state
   ========================================================================== */

.shop-content-area.is-loading,
main.woocommerce-page-wrap.is-loading {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.2s ease;
}


/* ==========================================================================
   Cart — Free Delivery Progress Bar
   ========================================================================== */

.aw-shipping-progress {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	padding: 20px 24px;
	margin-bottom: 28px;
}

.aw-shipping-progress-text {
	font-size: 14px;
	color: var(--color-text);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.aw-shipping-progress-text strong {
	color: var(--color-gold);
}

.aw-shipping-progress-text.aw-shipping-unlocked {
	color: var(--color-gold);
	font-weight: 600;
}

.aw-shipping-progress-text.aw-shipping-unlocked svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.aw-shipping-progress-bar {
	height: 8px;
	border-radius: 20px;
	background: var(--color-cream);
	overflow: hidden;
}

.aw-shipping-progress-fill {
	height: 100%;
	border-radius: 20px;
	background: linear-gradient(90deg, var(--color-gold-light) 0%, var(--color-gold) 100%);
	transition: width 0.4s ease;
}


/* ========================================================================== 
   Aizaz Category Grid: desktop four-column layout + mobile swipe carousel
   ========================================================================== */

.aw-category-layout .aw-category-carousel-shell {
	display: flex;
	align-items: center;
	gap: 14px;
	position: relative;
}

.aw-category-layout .aw-category-track-wrap {
	flex: 1 1 auto;
	min-width: 0;
}

.aw-category-layout .aw-category-track-wrap ul.products {
	display: grid !important;
	grid-template-columns: repeat(var(--aw-category-columns, 4), minmax(0, 1fr));
	justify-content: stretch;
	gap: 28px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.aw-category-layout.aw-category-columns-2 .aw-category-track-wrap ul.products {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aw-category-layout.aw-category-columns-3 .aw-category-track-wrap ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aw-category-layout.aw-category-columns-4 .aw-category-track-wrap ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aw-category-layout.aw-category-columns-5 .aw-category-track-wrap ul.products {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.aw-category-layout.aw-category-columns-6 .aw-category-track-wrap ul.products {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.aw-category-layout .aw-category-track-wrap ul.products > li.product-category {
	width: auto !important;
	max-width: none;
	min-width: 0;
	margin: 0 !important;
}

.aw-category-layout.aw-hide-category-count .count {
	display: none !important;
}

.aw-category-carousel-arrow {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	background: var(--color-white);
	color: var(--color-dark);
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.aw-category-carousel-arrow:hover {
	background: var(--color-dark);
	border-color: var(--color-dark);
	color: var(--color-white);
	transform: translateY(-2px);
}

.aw-category-carousel-arrow:focus-visible {
	outline: 2px solid var(--color-gold);
	outline-offset: 3px;
}

.aw-category-empty {
	margin: 0;
	padding: 30px;
	border: 1px dashed var(--color-border);
	text-align: center;
	color: var(--color-text-light);
}

@media (max-width: 1024px) and (min-width: 783px) {
	.aw-category-layout .aw-category-track-wrap ul.products,
	.aw-category-layout.aw-category-columns-5 .aw-category-track-wrap ul.products,
	.aw-category-layout.aw-category-columns-6 .aw-category-track-wrap ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 22px;
	}
}

@media (max-width: 782px) {
	.aw-category-layout .aw-category-carousel-shell {
		margin: 0 -20px;
		display: block;
	}

	.aw-category-layout .aw-category-track-wrap {
		overflow-x: auto;
		overflow-y: visible;
		padding: 5px 20px 18px;
		scroll-padding-left: 20px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.aw-category-layout .aw-category-track-wrap::-webkit-scrollbar {
		display: none;
	}

	.aw-category-layout .aw-category-track-wrap ul.products,
	.aw-category-layout.aw-category-columns-2 .aw-category-track-wrap ul.products,
	.aw-category-layout.aw-category-columns-3 .aw-category-track-wrap ul.products,
	.aw-category-layout.aw-category-columns-4 .aw-category-track-wrap ul.products,
	.aw-category-layout.aw-category-columns-5 .aw-category-track-wrap ul.products,
	.aw-category-layout.aw-category-columns-6 .aw-category-track-wrap ul.products {
		display: flex !important;
		flex-wrap: nowrap;
		grid-template-columns: none;
		justify-content: flex-start;
		gap: 14px;
		width: max-content;
	}

	.aw-category-layout .aw-category-track-wrap ul.products > li.product-category {
		flex: 0 0 var(--aw-mobile-card-width, 82%);
		width: var(--aw-mobile-card-width, 82%) !important;
		max-width: var(--aw-mobile-card-width, 82%);
		scroll-snap-align: start;
	}

	.aw-category-layout .aw-category-carousel-arrow {
		display: none;
	}

	.aw-category-layout .woocommerce ul.products li.product-category {
		padding: 24px 14px 20px;
	}

	.aw-category-layout .woocommerce ul.products li.product-category img {
		width: 68%;
		max-width: 68%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aw-category-layout .aw-category-track-wrap {
		scroll-behavior: auto;
	}

	.aw-category-carousel-arrow,
	.aw-category-layout .woocommerce ul.products li.product-category {
		transition: none;
	}
}


/* ========================================================================== 
   Product page CRO polish
   ========================================================================== */

body.single-product .product-gallery-col .woocommerce-product-gallery {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: clamp(12px, 2vw, 24px);
}

body.single-product .product-summary-col {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: clamp(20px, 3vw, 34px);
	box-shadow: 0 12px 30px rgba(23, 23, 26, 0.05);
}

.woocommerce div.product form.cart {
	padding: 18px;
	background: var(--color-cream);
	border: 1px solid var(--color-border);
	border-radius: 6px;
}

.woocommerce div.product form.cart .quantity {
	min-height: 48px;
	background: var(--color-white);
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .aw-buy-now-btn {
	min-height: 48px;
	font-weight: 600;
}

.aw-urgency-block {
	box-shadow: 0 5px 16px rgba(23, 23, 26, 0.04);
}

.aw-mini-trust {
	justify-content: space-between;
	row-gap: 10px;
}

.aw-sticky-cart {
	backdrop-filter: blur(10px);
	background: rgba(255, 255, 255, 0.96);
}

@media (max-width: 782px) {
	body.single-product .product-summary-col {
		padding: 20px 16px;
	}

	body.single-product.aw-sticky-cart-visible {
		padding-bottom: 78px;
	}

	.aw-sticky-cart-inner {
		gap: 12px;
		padding: 10px 16px;
	}

	.aw-sticky-info img {
		width: 38px;
		height: 38px;
	}

	.aw-sticky-btn {
		min-height: 44px;
		padding: 11px 16px;
	}
}

@media (max-width: 480px) {
	body.single-product .product-gallery-col .woocommerce-product-gallery {
		padding: 8px;
	}

	.woocommerce div.product form.cart {
		padding: 14px;
		gap: 10px;
	}

	.aw-sticky-info strong {
		max-width: 105px;
		font-size: 12px;
	}

	.aw-sticky-price {
		font-size: 13px;
	}
}


@media (max-width: 600px) {
	.woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		scrollbar-width: none;
		margin-left: -4px;
		margin-right: -4px;
		padding-left: 4px;
		padding-right: 4px;
	}

	.woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
	}
}
