/*
 * Zenith — WooCommerce styles. Loaded only when WooCommerce is active
 * (includes/woocommerce.php). Layout-level choices (columns, card style,
 * gallery layout, tabs style) come from Theme Options → Shop via CSS
 * variables and body classes.
 */

/* ---------- Shared ---------- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 0.8em 1.5em;
	border: 2px solid var(--zenith-color-primary);
	border-radius: var(--zenith-button-radius);
	background: var(--zenith-color-primary);
	color: var(--zenith-color-primary-contrast);
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	text-transform: var(--zenith-button-transform);
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	border-color: var(--zenith-color-primary-hover);
	background: var(--zenith-color-primary-hover);
	color: var(--zenith-color-primary-contrast);
}

.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce button.button:disabled[disabled] {
	opacity: 0.5;
	padding: 0.8em 1.5em;
}

.woocommerce a.added_to_cart {
	margin-left: 0.6rem;
	font-size: 0.85rem;
	font-weight: 600;
}

.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	top: 0.85rem;
	left: 0.85rem;
	right: auto;
	z-index: 3;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0.3em 0.75em;
	border-radius: 999px;
	background: var(--zenith-color-secondary);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
}

.woocommerce .star-rating {
	color: #f5a623;
	font-size: 0.85rem;
}

.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
	color: var(--zenith-color-heading);
	font-weight: 700;
}

.woocommerce .price del {
	color: var(--zenith-color-text-muted);
	font-weight: 400;
	opacity: 1;
}

.woocommerce .price ins {
	color: var(--zenith-color-secondary);
	text-decoration: none;
}

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem 1rem 3rem;
	border: 0;
	border-left: 4px solid var(--zenith-color-primary);
	border-radius: var(--zenith-radius-md);
	background: var(--zenith-color-soft-bg);
	color: var(--zenith-color-text);
	list-style: none;
}

.woocommerce-error {
	border-left-color: #dc2626;
	background: #fef2f2;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	top: 1rem;
	left: 1.1rem;
	color: var(--zenith-color-primary);
}

.woocommerce-error::before {
	color: #dc2626;
}

.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	padding: 0.5em 1em;
	font-size: 0.85rem;
}

/* ---------- Catalog toolbar ---------- */
.woocommerce .woocommerce-result-count {
	margin: 0 0 1.5rem;
	color: var(--zenith-color-text-muted);
	font-size: 0.9rem;
	line-height: 2.6rem;
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 1.5rem;
}

.woocommerce .woocommerce-ordering select {
	width: auto;
	padding-right: 2.5rem;
}

.woocommerce-products-header__title {
	margin-bottom: 1rem;
}

/* ---------- Product grid ---------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(var(--zenith-shop-columns, 3), minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
	margin: 0 0 2rem;
	padding: 0;
}

.woocommerce ul.products.columns-1 { grid-template-columns: minmax(0, 1fr); }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.woocommerce ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none !important;
}

.woocommerce ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	text-align: left;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}

.zenith-product-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	margin-bottom: 0.9rem;
	border-radius: var(--zenith-radius-lg);
	background: var(--zenith-color-surface-alt);
	aspect-ratio: 1;
}

.zenith-product-card__media img {
	width: 100%;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	transition: transform 0.6s var(--zenith-ease), opacity 0.4s ease;
}

.zenith-product-card__hover-image {
	position: absolute;
	inset: 0;
	opacity: 0;
}

li.product:hover .zenith-product-card__hover-image {
	opacity: 1;
}

li.product:hover .zenith-product-card__media img:first-child {
	transform: scale(1.05);
}

.zenith-product-card__category {
	display: block;
	margin-bottom: 0.2rem;
	color: var(--zenith-color-text-muted);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	margin: 0 0 0.35rem;
	font-family: var(--zenith-font-heading);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--zenith-color-heading);
}

.woocommerce ul.products li.product .star-rating {
	margin: 0 0 0.35rem;
}

.woocommerce ul.products li.product .price {
	margin-bottom: 0.9rem;
	font-size: 1rem;
}

.woocommerce ul.products li.product .button {
	align-self: flex-start;
	margin-top: auto;
	padding: 0.6em 1.15em;
	font-size: 0.85rem;
}

/* Boxed cards */
.zenith-shop-cards--boxed ul.products li.product {
	padding: 0.85rem 0.85rem 1.1rem;
	border: 1px solid var(--zenith-color-border);
	border-radius: calc(var(--zenith-radius-lg) + 0.25rem);
	background: var(--zenith-color-surface);
	transition: box-shadow 0.3s ease, transform 0.3s var(--zenith-ease);
}

.zenith-shop-cards--boxed ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--zenith-shadow-md);
}

.zenith-shop-cards--boxed ul.products li.product .button {
	align-self: stretch;
}

/* Button appears on hover, over the image */
.zenith-shop-cards--overlay ul.products li.product {
	container-type: inline-size;
	text-align: center;
}

.zenith-shop-cards--overlay ul.products li.product .button {
	position: absolute;
	left: 50%;
	/* The square image is exactly the card's width (container query unit). */
	top: calc(100cqw - 1rem);
	align-self: center;
	margin: 0;
	opacity: 0;
	transform: translate(-50%, -120%);
	transition: opacity 0.25s ease, transform 0.3s var(--zenith-ease);
}

.zenith-shop-cards--overlay ul.products li.product:hover .button,
.zenith-shop-cards--overlay ul.products li.product .button:focus {
	opacity: 1;
	transform: translate(-50%, -150%);
}

@media (hover: none) {
	.zenith-shop-cards--overlay ul.products li.product .button {
		position: static;
		opacity: 1;
		transform: none;
		align-self: center;
	}
}

@media (max-width: 62rem) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"] {
		grid-template-columns: repeat(min(var(--zenith-shop-columns, 3), 3), minmax(0, 1fr));
	}
}

@media (max-width: 48rem) {
	.woocommerce ul.products,
	.woocommerce ul.products[class*="columns-"] {
		grid-template-columns: repeat(var(--zenith-shop-mobile-columns, 2), minmax(0, 1fr));
		gap: 0.85rem;
	}

	.woocommerce ul.products li.product .button {
		align-self: stretch;
		padding-inline: 0.5em;
	}
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	gap: 0.4rem;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.85rem;
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-radius-md);
	line-height: 2.6rem;
	color: var(--zenith-color-heading);
	font-weight: 600;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--zenith-color-primary);
	background: var(--zenith-color-primary);
	color: var(--zenith-color-primary-contrast);
}

/* ---------- Single product ---------- */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: start;
}

.woocommerce div.product > * {
	grid-column: 1 / -1;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}

.woocommerce div.product div.images {
	grid-column: 1;
}

.woocommerce div.product div.summary {
	grid-column: 2;
}

/* Sticky summary: the summary cell stretches to the gallery row's height
   and only its inner wrapper sticks, so it stays within that first row
   (a sticky grid item would otherwise ride down over the tabs, related
   products and footer, since its containing block is the whole product). */
.zenith-product-sticky-summary.woocommerce div.product div.summary,
.zenith-product-sticky-summary .woocommerce div.product div.summary {
	align-self: stretch;
}

.zenith-product-sticky-summary.woocommerce div.product .zenith-summary-inner,
.zenith-product-sticky-summary .woocommerce div.product .zenith-summary-inner {
	position: sticky;
	top: calc(var(--zenith-header-total) + 1.5rem);
}

.woocommerce div.product span.onsale {
	top: 1rem;
	left: 1rem;
}

.woocommerce div.product div.images img {
	border-radius: var(--zenith-radius-lg);
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.6rem;
	margin-top: 0.75rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: auto;
	float: none;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
	border-radius: var(--zenith-radius-md);
	opacity: 0.55;
	transition: opacity 0.2s ease;
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
	opacity: 1;
}

/* Thumbnails on the left */
.zenith-product-gallery--thumbs-left .woocommerce-product-gallery.images {
	display: grid !important;
	grid-template-columns: 5rem minmax(0, 1fr);
	gap: 0.75rem;
}

.zenith-product-gallery--thumbs-left .woocommerce-product-gallery .flex-viewport,
.zenith-product-gallery--thumbs-left .woocommerce-product-gallery__wrapper {
	grid-column: 2;
	grid-row: 1;
}

.zenith-product-gallery--thumbs-left .woocommerce-product-gallery .flex-control-thumbs {
	grid-column: 1;
	grid-row: 1;
	grid-template-columns: 1fr;
	align-content: start;
	margin: 0;
}

/* Image grid (no slider) */
.zenith-product-gallery--grid .woocommerce-product-gallery__wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	transform: none !important;
	width: auto !important;
}

.zenith-product-gallery--grid .woocommerce-product-gallery__image {
	width: auto !important;
	float: none !important;
}

.zenith-product-gallery--grid .woocommerce-product-gallery__image:first-child {
	grid-column: 1 / -1;
}

.woocommerce div.product .product_title {
	margin-bottom: 0.6rem;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin-bottom: 1.25rem;
	font-size: 1.5rem;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	margin-bottom: 1.5rem;
	color: var(--zenith-color-text-muted);
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
	padding: 1.25rem 0;
	border-top: 1px solid var(--zenith-color-border);
	border-bottom: 1px solid var(--zenith-color-border);
}

.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after {
	content: none;
}

.woocommerce div.product form.cart.variations_form {
	display: block;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 12rem;
	padding-block: 0.95em;
}

.woocommerce div.product form.cart table.variations {
	margin-bottom: 1rem;
}

.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
	padding: 0.4rem 0;
	border: 0;
	text-align: left;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* Quantity with +/- */
.woocommerce .quantity {
	display: inline-flex;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-button-radius);
}

.woocommerce .quantity .qty {
	width: 3.25rem;
	padding: 0.5rem 0;
	border: 0;
	border-radius: 0;
	text-align: center;
	-moz-appearance: textfield;
}

.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.zenith-qty {
	width: 2.5rem;
	border: 0;
	background: var(--zenith-color-surface-alt);
	color: var(--zenith-color-heading);
	font-size: 1.1rem;
	cursor: pointer;
}

.zenith-qty:hover {
	background: var(--zenith-color-border);
}

.woocommerce div.product .product_meta {
	display: grid;
	gap: 0.35rem;
	color: var(--zenith-color-text-muted);
	font-size: 0.9rem;
}

.woocommerce div.product .product_meta a {
	color: var(--zenith-color-text);
}

.woocommerce div.product .zenith-share {
	margin-top: 1.25rem;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 2rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin: 0 0 1.5rem;
	padding: 0;
	border-bottom: 1px solid var(--zenith-color-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	content: none;
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.85rem 1.25rem;
	color: var(--zenith-color-text-muted);
	font-weight: 700;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--zenith-color-primary);
	box-shadow: inset 0 -3px 0 var(--zenith-color-primary);
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0 0 2rem;
}

.woocommerce div.product .woocommerce-tabs .panel > h2:first-child {
	display: none;
}

/* Tabs as accordion / stacked (Theme Options → Shop) */
.zenith-product-tabs--stacked div.product .woocommerce-tabs ul.tabs,
.zenith-product-tabs--accordion div.product .woocommerce-tabs ul.tabs {
	display: none;
}

.zenith-product-tabs--stacked div.product .woocommerce-tabs .panel {
	display: block !important;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--zenith-color-border);
}

.zenith-product-tabs--stacked div.product .woocommerce-tabs .panel > h2:first-child {
	display: block;
}

.zenith-product-tabs--accordion div.product .woocommerce-tabs .panel {
	display: block !important;
	margin: 0;
	border-bottom: 1px solid var(--zenith-color-border);
}

.zenith-tab-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1.1rem 0;
	border: 0;
	background: none;
	color: var(--zenith-color-heading);
	font: inherit;
	font-size: 1.1rem;
	font-weight: 700;
	cursor: pointer;
	text-align: left;
}

.zenith-tab-toggle::after {
	content: "+";
	font-size: 1.4rem;
	font-weight: 400;
}

.zenith-tab-toggle[aria-expanded="true"]::after {
	content: "−";
}

.zenith-tab-toggle + .zenith-tab-body[hidden] {
	display: none;
}

.zenith-tab-body {
	padding-bottom: 1.5rem;
}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	border-color: var(--zenith-color-border);
	border-radius: var(--zenith-radius-lg);
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	border: 0;
	border-radius: 999px;
	padding: 0;
}

/* Related / upsells */
.woocommerce .related,
.woocommerce .upsells {
	margin-top: 3rem;
}

.woocommerce .related > h2,
.woocommerce .upsells > h2,
.woocommerce .cross-sells > h2 {
	margin-bottom: 1.5rem;
	font-size: var(--zenith-font-size-h3);
}

@media (max-width: 62rem) {
	.woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		grid-column: 1;
	}

	.zenith-product-sticky-summary.woocommerce div.product .zenith-summary-inner,
	.zenith-product-sticky-summary .woocommerce div.product .zenith-summary-inner {
		position: static;
	}
}

/* ---------- Cart ---------- */
.woocommerce table.shop_table {
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-radius-lg);
	border-collapse: separate;
	overflow: hidden;
}

.woocommerce table.shop_table th {
	background: var(--zenith-color-surface-alt);
	color: var(--zenith-color-heading);
	font-weight: 700;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 1rem;
	border-color: var(--zenith-color-border);
}

.woocommerce table.cart img {
	width: 4.5rem;
	border-radius: var(--zenith-radius-md);
}

.woocommerce table.cart td.actions .coupon .input-text {
	width: 12rem;
	margin-right: 0.5rem;
	padding: 0.7rem 1rem;
}

.woocommerce a.remove {
	color: var(--zenith-color-text-muted) !important;
	font-size: 1.3rem;
}

.woocommerce a.remove:hover {
	background: #dc2626;
	color: #fff !important;
}

/* ---------- Small screens: responsive shop tables ----------
   Replaces WooCommerce's woocommerce-smallscreen.css (dequeued above in
   includes/woocommerce.php). Cart rows become cards; other responsive tables
   (account orders, downloads, order details) become labelled rows. */
@media (max-width: 48rem) {
	.woocommerce table.shop_table_responsive thead {
		display: none;
	}

	.woocommerce table.shop_table_responsive,
	.woocommerce table.shop_table_responsive tbody,
	.woocommerce table.shop_table_responsive tbody tr {
		display: block;
		width: 100%;
	}

	.woocommerce table.shop_table_responsive tbody td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.6rem 1rem;
		border: 0;
		text-align: right;
	}

	.woocommerce table.shop_table_responsive tbody td[data-title]::before {
		content: attr(data-title);
		color: var(--zenith-color-heading);
		font-weight: 700;
		text-align: left;
	}

	.woocommerce table.shop_table_responsive tbody tr + tr {
		border-top: 1px solid var(--zenith-color-border);
	}

	/* Cart: one card per item — photo on the left, details on the right. */
	.woocommerce table.cart tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 5rem minmax(0, 1fr);
		column-gap: 1rem;
		padding: 1rem 2.75rem 1rem 1rem;
	}

	.woocommerce table.cart tr.cart_item td {
		grid-column: 2;
		padding: 0.3rem 0;
	}

	.woocommerce table.cart tr.cart_item td.product-thumbnail {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 4;
		align-self: start;
	}

	.woocommerce table.cart tr.cart_item td.product-thumbnail img {
		width: 5rem;
		height: auto;
	}

	.woocommerce table.cart tr.cart_item td.product-name {
		display: block;
		text-align: left;
	}

	.woocommerce table.cart tr.cart_item td.product-name::before {
		content: none;
	}

	.woocommerce table.cart tr.cart_item td.product-remove {
		position: absolute;
		top: 0.75rem;
		right: 0.6rem;
		padding: 0;
	}

	.woocommerce table.cart tr.cart_item td.product-remove a.remove {
		display: grid;
		place-items: center;
		width: 2rem;
		height: 2rem;
		line-height: 1;
	}

	.woocommerce table.cart td.product-quantity .quantity {
		flex: none;
		margin: 0;
	}

	.woocommerce table.cart td.product-quantity .quantity .qty {
		width: 2.75rem;
	}

	/* Coupon + update row: stacked, full width. */
	.woocommerce table.cart tbody tr:last-child {
		border-top: 1px solid var(--zenith-color-border);
	}

	.woocommerce table.cart td.actions {
		display: block;
		padding: 1rem;
		text-align: left;
	}

	.woocommerce table.cart td.actions .coupon {
		display: flex;
		flex-wrap: wrap;
		gap: 0.6rem;
		float: none;
		width: 100%;
		margin-bottom: 0.6rem;
		padding: 0;
		border: 0;
	}

	.woocommerce table.cart td.actions .coupon .input-text {
		flex: 1 1 10rem;
		width: auto;
		margin: 0;
	}

	.woocommerce table.cart td.actions .coupon .button {
		flex: 1 1 auto;
	}

	.woocommerce table.cart td.actions > .button {
		display: flex;
		width: 100%;
		float: none;
	}

	/* Totals tables keep their row headers; just stop them squeezing. */
	.woocommerce .cart_totals table.shop_table_responsive tbody tr {
		display: flex;
	}

	.woocommerce .cart_totals table.shop_table_responsive tbody th {
		flex: 0 0 40%;
	}

	.woocommerce .cart_totals table.shop_table_responsive tbody td {
		flex: 1;
		justify-content: flex-start;
		text-align: left;
	}

	.woocommerce .cart_totals table.shop_table_responsive tbody td::before {
		content: none;
	}
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
	width: min(100%, 26rem);
	padding: 1.5rem;
	border-radius: var(--zenith-radius-lg);
	background: var(--zenith-color-surface-alt);
}

/* Small screens: cart totals take the full width under the items. */
@media (max-width: 48rem) {
	.woocommerce .cart-collaterals .cart_totals,
	.woocommerce-page .cart-collaterals .cart_totals {
		float: none;
		width: 100%;
	}
}

/* Very narrow phones: smaller photo and padding so the quantity control fits. */
@media (max-width: 24rem) {
	.woocommerce table.cart tr.cart_item {
		grid-template-columns: 3.75rem minmax(0, 1fr);
		column-gap: 0.75rem;
		padding: 0.9rem 2.25rem 0.9rem 0.75rem;
	}

	.woocommerce table.cart tr.cart_item td.product-thumbnail img {
		width: 3.75rem;
	}

	.woocommerce table.cart td.product-quantity .zenith-qty {
		width: 2rem;
	}

	.woocommerce table.cart td.product-quantity .quantity .qty {
		width: 2.25rem;
	}
}

.woocommerce .cart-collaterals .cart_totals table {
	border: 0;
	background: transparent;
}

.woocommerce .cart-collaterals .cart_totals th {
	background: transparent;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	padding-block: 1em;
	font-size: 1.05rem;
}

/* ---------- Checkout ---------- */
.woocommerce form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 0 clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

.woocommerce form.checkout > * {
	grid-column: 1 / -1;
}

.woocommerce form.checkout #customer_details {
	grid-column: 1;
}

.woocommerce form.checkout #order_review_heading,
.woocommerce form.checkout #order_review {
	grid-column: 2;
}

.woocommerce form.checkout #order_review_heading {
	grid-row: 1;
	margin-top: 0;
}

.woocommerce form.checkout #order_review {
	grid-row: 2;
	padding: 1.5rem;
	border-radius: var(--zenith-radius-lg);
	background: var(--zenith-color-surface-alt);
	position: sticky;
	top: calc(var(--zenith-header-total) + 1.5rem);
}

.woocommerce form.checkout #customer_details {
	grid-row: 1 / span 2;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
}

.woocommerce form .form-row {
	margin-bottom: 1rem;
	padding: 0;
}

.woocommerce form .form-row label {
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
	font-weight: 600;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
	padding: 0.75rem 1rem;
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-radius-md);
	background: var(--zenith-color-surface);
}

.select2-container .select2-selection--single {
	height: auto;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	transform: translateY(-50%);
}

.woocommerce-checkout #payment {
	border-radius: var(--zenith-radius-lg);
	background: var(--zenith-color-surface);
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--zenith-color-soft-bg);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--zenith-color-soft-bg);
}

.woocommerce #payment #place_order {
	width: 100%;
	padding-block: 1em;
	font-size: 1.05rem;
}

@media (max-width: 62rem) {
	.woocommerce form.checkout {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce form.checkout #customer_details,
	.woocommerce form.checkout #order_review_heading,
	.woocommerce form.checkout #order_review {
		grid-column: 1;
		grid-row: auto;
		position: static;
	}
}

/* Distraction-free checkout */
.zenith-distraction-free .zenith-site-nav,
.zenith-distraction-free .zenith-topbar,
.zenith-distraction-free .zenith-header-extras,
.zenith-distraction-free .zenith-mobile-toggle {
	display: none !important;
}

/* ---------- My account ---------- */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 15rem minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

/* WooCommerce adds clearfix ::before/::after (content: " ") to this wrapper; in a grid they
   become items and push the navigation into the second column. */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	width: auto;
	float: none;
}

.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0.5rem;
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-radius-lg);
	list-style: none;
}

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.65rem 0.85rem;
	border-radius: var(--zenith-radius-md);
	color: var(--zenith-color-text);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover {
	background: var(--zenith-color-soft-bg);
	color: var(--zenith-color-primary);
}

.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
}

.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-radius-lg);
}

@media (max-width: 48rem) {
	.woocommerce-account .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Widgets (shop sidebar) ---------- */
.widget_price_filter .ui-slider .ui-slider-handle,
.widget_price_filter .ui-slider .ui-slider-range {
	background: var(--zenith-color-primary);
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--zenith-color-border);
}

.woocommerce ul.product_list_widget li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.6rem 0;
}

.woocommerce ul.product_list_widget li img {
	order: -1;
	width: 3.5rem;
	margin: 0;
	border-radius: var(--zenith-radius-md);
}

/* ---------- Cart drawer ---------- */
.zenith-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 250;
	visibility: hidden;
	pointer-events: none;
}

.zenith-cart-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.zenith-cart-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 12, 16, 0.5);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.zenith-cart-drawer.is-open .zenith-cart-drawer__backdrop {
	opacity: 1;
}

.zenith-cart-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(92vw, 420px);
	padding: 1.25rem 1.5rem;
	overflow-y: auto;
	background: var(--zenith-color-surface);
	transform: translateX(100%);
	transition: transform 0.35s var(--zenith-ease);
}

.zenith-cart-drawer.is-open .zenith-cart-drawer__panel {
	transform: none;
}

.zenith-cart-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--zenith-color-border);
}

.zenith-cart-drawer__head h2 {
	font-size: 1.25rem;
}

.zenith-cart-drawer__close {
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--zenith-color-surface-alt);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.zenith-cart-drawer .widget_shopping_cart_content {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.zenith-cart-drawer .woocommerce-mini-cart {
	flex: 1;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zenith-cart-drawer .woocommerce-mini-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 4.5rem 1fr;
	gap: 0.25rem 0.9rem;
	padding: 0.9rem 1.75rem 0.9rem 0;
	border-bottom: 1px solid var(--zenith-color-border);
}

.zenith-cart-drawer .woocommerce-mini-cart-item a:not(.remove) {
	display: contents;
	color: var(--zenith-color-heading);
	font-weight: 600;
	text-decoration: none;
}

.zenith-cart-drawer .woocommerce-mini-cart-item img {
	grid-row: span 2;
	width: 4.5rem;
	height: 4.5rem;
	margin: 0;
	border-radius: var(--zenith-radius-md);
	object-fit: cover;
}

.zenith-cart-drawer .woocommerce-mini-cart-item .quantity {
	border: 0;
	color: var(--zenith-color-text-muted);
	font-size: 0.9rem;
}

.zenith-cart-drawer .woocommerce-mini-cart-item .remove {
	position: absolute;
	top: 0.9rem;
	right: 0;
}

.zenith-cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 1rem 0;
	padding-top: 1rem;
	border-top: 2px solid var(--zenith-color-heading);
	font-size: 1.05rem;
}

.zenith-cart-drawer .woocommerce-mini-cart__buttons {
	display: grid;
	gap: 0.5rem;
	margin: 0;
}

.zenith-cart-drawer .woocommerce-mini-cart__buttons .button {
	width: 100%;
	margin: 0;
}

.zenith-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) {
	background: transparent;
	color: var(--zenith-color-primary);
}

.zenith-cart-drawer .woocommerce-mini-cart__empty-message {
	padding: 2rem 0;
	color: var(--zenith-color-text-muted);
	text-align: center;
}

/* Free shipping bar */
.zenith-free-shipping {
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	border-radius: var(--zenith-radius-md);
	background: var(--zenith-color-soft-bg);
	font-size: 0.9rem;
}

.zenith-free-shipping[hidden] {
	display: none;
}

.zenith-free-shipping p {
	margin-bottom: 0.5rem;
}

.zenith-free-shipping__bar {
	display: block;
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--zenith-color-border);
}

.zenith-free-shipping__bar span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: var(--zenith-color-primary);
	transition: width 0.4s ease;
}

/* Catalog mode: nothing purchase-related anywhere. */
.zenith-catalog-mode .price,
.zenith-catalog-mode .add_to_cart_button,
.zenith-catalog-mode .zenith-cart-toggle {
	display: none !important;
}

/* Gallery slider arrows (flexslider direction nav) */
.woocommerce div.product div.images {
	position: relative;
}

.woocommerce div.product .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .flex-direction-nav a {
	position: absolute;
	top: 40%;
	z-index: 5;
	width: 2.75rem;
	height: 2.75rem;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: var(--zenith-shadow-md);
	color: transparent;
	font-size: 0;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.woocommerce div.product div.images:hover .flex-direction-nav a {
	opacity: 1;
}

.woocommerce div.product .flex-direction-nav a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.6rem;
	height: 0.6rem;
	border-top: 2px solid var(--zenith-color-heading);
	border-left: 2px solid var(--zenith-color-heading);
}

.woocommerce div.product .flex-direction-nav .flex-prev {
	left: 0.85rem;
}

.woocommerce div.product .flex-direction-nav .flex-prev::before {
	transform: translate(-30%, -50%) rotate(-45deg);
}

.woocommerce div.product .flex-direction-nav .flex-next {
	right: 0.85rem;
}

.woocommerce div.product .flex-direction-nav .flex-next::before {
	transform: translate(-70%, -50%) rotate(135deg);
}

/* Block cart/checkout sale badge: keep it legible (core sets .875em of
   an already small parent, ~10px). */
body .wc-block-components-product-sale-badge,
body .wc-block-components-sale-badge,
body .wc-block-grid .wc-block-grid__product-onsale,
body .wc-block-grid__product-image .wc-block-grid__product-onsale {
	font-size: 0.75rem;
}

/* ---------- Sticky add-to-cart bar ---------- */
.zenith-sticky-atc {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	padding-bottom: env(safe-area-inset-bottom, 0);
	background: var(--zenith-color-surface);
	border-top: 1px solid var(--zenith-color-border);
	box-shadow: 0 -8px 24px rgba(16, 24, 40, 0.08);
	transform: translateY(110%);
	transition: transform 0.3s ease;
}

.zenith-sticky-atc.is-visible {
	transform: none;
}

.zenith-sticky-atc__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--zenith-space-md);
	padding-block: 0.65rem;
}

.zenith-sticky-atc__product {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
}

.zenith-sticky-atc__image {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: var(--zenith-radius-md, 8px);
	flex-shrink: 0;
}

.zenith-sticky-atc__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.zenith-sticky-atc__title {
	overflow: hidden;
	font-weight: 700;
	color: var(--zenith-color-heading);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zenith-sticky-atc__price {
	font-size: 0.9rem;
}

.zenith-sticky-atc__button {
	flex-shrink: 0;
	white-space: nowrap;
}

/* Keep the back-to-top button clear of the bar. */
.zenith-has-sticky-atc .zenith-back-to-top {
	bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 600px) {
	.zenith-sticky-atc__image,
	.zenith-sticky-atc__price del {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.zenith-sticky-atc {
		transition: none;
	}
}

/* ======================================================================
   Shopping features (includes/woocommerce-features.php)
   ====================================================================== */

/* ---------- Card actions: wishlist + quick view ---------- */
.zenith-card-actions {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 4;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.zenith-card-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--zenith-color-surface);
	color: var(--zenith-color-heading);
	box-shadow: 0 4px 14px rgba(16, 24, 40, 0.14);
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.zenith-card-action:hover,
.zenith-card-action:focus-visible {
	background: var(--zenith-color-primary);
	color: var(--zenith-color-primary-contrast);
}

.zenith-wishlist-toggle[aria-pressed="true"] i {
	color: #e11d48;
}

.zenith-card-action.zenith-wishlist-toggle[aria-pressed="true"]:hover i {
	color: inherit;
}

.zenith-wishlist-toggle.is-animating i {
	animation: zenith-heart 0.35s ease;
}

@keyframes zenith-heart {
	50% { transform: scale(1.3); }
}

/* On hover-capable screens the quick view button appears on hover. */
@media (hover: hover) {
	ul.products li.product .zenith-quick-view-button {
		opacity: 0;
		transform: translateX(6px);
	}

	ul.products li.product:hover .zenith-quick-view-button,
	ul.products li.product .zenith-quick-view-button:focus-visible {
		opacity: 1;
		transform: none;
	}
}

/* ---------- Badges ---------- */
.zenith-badges {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	pointer-events: none;
}

.woocommerce ul.products li.product .zenith-badges .onsale,
.zenith-badge {
	position: static;
	display: inline-block;
	margin: 0;
	padding: 0.3em 0.75em;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.zenith-badge--new {
	background: var(--zenith-color-primary);
	color: var(--zenith-color-primary-contrast);
}

.zenith-badge--featured {
	background: var(--zenith-color-heading);
	color: var(--zenith-color-surface);
}

.zenith-badge--sold-out {
	background: var(--zenith-color-surface);
	color: var(--zenith-color-heading);
	box-shadow: inset 0 0 0 1px var(--zenith-color-border);
}

li.product.outofstock .zenith-product-card__media img {
	opacity: 0.6;
}

/* ---------- Wishlist (product page button, page) ---------- */
.zenith-wishlist-toggle--text {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 2.9rem;
	padding: 0 1rem;
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-button-radius, 0.5rem);
	background: transparent;
	color: var(--zenith-color-heading);
	font-weight: 600;
	cursor: pointer;
}

.zenith-wishlist-toggle--text:hover {
	border-color: var(--zenith-color-heading);
}

.zenith-wishlist__empty {
	padding: 3rem 1rem;
	text-align: center;
}

.zenith-wishlist__empty > i {
	font-size: 2.5rem;
	color: var(--zenith-color-text-muted);
}

/* ---------- Quick view ---------- */
.zenith-quick-view {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.zenith-quick-view.is-open {
	visibility: visible;
	opacity: 1;
}

.zenith-quick-view__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
}

.zenith-quick-view__dialog {
	position: relative;
	width: min(960px, 100%);
	max-height: calc(100vh - 2rem);
	max-height: calc(100dvh - 2rem);
	overflow-y: auto;
	border-radius: var(--zenith-radius-md, 12px);
	background: var(--zenith-color-surface);
	box-shadow: 0 30px 80px rgba(15, 23, 42, 0.3);
	transform: translateY(12px);
	transition: transform 0.25s ease;
}

.zenith-quick-view.is-open .zenith-quick-view__dialog {
	transform: none;
}

.zenith-quick-view__close {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	z-index: 2;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 50%;
	background: var(--zenith-color-surface-alt);
	color: var(--zenith-color-heading);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.woocommerce .zenith-quick-view__body div.zenith-quick-view__product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 2rem;
	padding: 2rem;
}

/* The single-product page grid makes every child full width; inside the
   popup, media and summary sit side by side instead. */
.woocommerce .zenith-quick-view__body div.zenith-quick-view__product > .zenith-quick-view__media {
	grid-column: 1;
}

.woocommerce .zenith-quick-view__body div.zenith-quick-view__product > div.summary {
	position: static;
	grid-column: 2;
}

@media (max-width: 700px) {
	.woocommerce .zenith-quick-view__body div.zenith-quick-view__product > .zenith-quick-view__media,
	.woocommerce .zenith-quick-view__body div.zenith-quick-view__product > div.summary {
		grid-column: 1;
	}
}

.zenith-quick-view__media > img {
	width: 100%;
	height: auto;
	border-radius: var(--zenith-radius-md, 12px);
}

.zenith-quick-view__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.zenith-quick-view__thumb {
	width: 3.5rem;
	padding: 0;
	border: 1px solid var(--zenith-color-border);
	border-radius: 6px;
	background: none;
	overflow: hidden;
	cursor: pointer;
}

.zenith-quick-view__thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.zenith-quick-view__summary .product_title {
	margin: 0 2rem 0.5rem 0;
	font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.zenith-quick-view__details {
	display: inline-block;
	margin-top: 0.5rem;
	font-weight: 600;
}

.zenith-quick-view__loading {
	padding: 4rem 2rem;
	text-align: center;
}

.zenith-quick-view-open {
	overflow: hidden;
}

@media (max-width: 700px) {
	.woocommerce .zenith-quick-view__body div.zenith-quick-view__product {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
		padding: 1.25rem;
	}
}

/* ---------- Variation swatches ---------- */
.zenith-swatches-wrap {
	position: relative;
}

.zenith-swatches-wrap > select {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.zenith-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.zenith-swatch {
	min-width: 2.75rem;
	min-height: 2.5rem;
	padding: 0.35rem 0.85rem;
	border: 1px solid var(--zenith-color-border);
	border-radius: var(--zenith-button-radius, 0.5rem);
	background: var(--zenith-color-surface);
	color: var(--zenith-color-heading);
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.zenith-swatch:hover {
	border-color: var(--zenith-color-heading);
}

.zenith-swatch[aria-checked="true"] {
	border-color: var(--zenith-color-primary);
	box-shadow: 0 0 0 1px var(--zenith-color-primary);
}

.zenith-swatch--color {
	width: 2.5rem;
	min-width: 0;
	height: 2.5rem;
	padding: 0;
	border-radius: 50%;
	background: var(--swatch);
	box-shadow: inset 0 0 0 3px var(--zenith-color-surface), 0 0 0 1px var(--zenith-color-border);
}

.zenith-swatch--color[aria-checked="true"] {
	box-shadow: inset 0 0 0 3px var(--zenith-color-surface), 0 0 0 2px var(--zenith-color-primary);
}

.zenith-swatch.is-unavailable {
	position: relative;
	opacity: 0.35;
	cursor: not-allowed;
}

.zenith-swatch.is-unavailable::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10%;
	right: 10%;
	border-top: 1px solid currentColor;
	transform: rotate(-20deg);
}

/* ---------- Product page extras ---------- */
.zenith-low-stock {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 1rem;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: #fff4e5;
	color: #9a4a00;
	font-size: 0.9rem;
	font-weight: 600;
}

.zenith-trust-points {
	display: grid;
	gap: 0.4rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
	font-size: 0.92rem;
}

.zenith-trust-points i {
	width: 1.1rem;
	color: var(--zenith-color-primary);
}

.zenith-recently-viewed {
	clear: both;
	margin-top: 3rem;
}

.zenith-atc-notice {
	flex-basis: 100%;
	margin: 0 0 0.75rem;
	padding: 0.6rem 0.85rem;
	border-radius: 8px;
	font-size: 0.92rem;
}

.zenith-atc-notice--success {
	background: color-mix(in srgb, var(--zenith-color-primary) 10%, transparent);
	color: var(--zenith-color-heading);
}

.zenith-atc-notice--error {
	background: #fdecec;
	color: #9b1c1c;
}

/* ---------- Load more ---------- */
.zenith-load-more {
	display: flex;
	margin: 0 auto 2rem;
}

/* ---------- Mobile filters drawer ---------- */
.zenith-filters-toggle,
.zenith-filters-close,
.zenith-filters-backdrop {
	display: none;
}

@media (max-width: 62rem) {
	.zenith-mobile-filters .zenith-filters-toggle {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		min-height: 2.6rem;
		margin: 0 0 1rem;
		padding: 0 1rem;
		border: 1px solid var(--zenith-color-border);
		border-radius: var(--zenith-button-radius, 0.5rem);
		background: var(--zenith-color-surface);
		color: var(--zenith-color-heading);
		font-weight: 600;
		cursor: pointer;
	}

	.zenith-mobile-filters .zenith-sidebar {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1001;
		width: min(340px, 88vw);
		margin: 0;
		padding: 3.5rem 1.25rem 1.5rem;
		overflow-y: auto;
		background: var(--zenith-color-surface);
		box-shadow: 0 0 40px rgba(15, 23, 42, 0.2);
		transform: translateX(-105%);
		transition: transform 0.3s ease;
	}

	.zenith-filters-open .zenith-sidebar {
		transform: none;
	}

	.zenith-mobile-filters .zenith-filters-close {
		position: absolute;
		top: 0.75rem;
		right: 0.75rem;
		display: block;
		width: 2.5rem;
		height: 2.5rem;
		border: 0;
		border-radius: 50%;
		background: var(--zenith-color-surface-alt);
		font-size: 1.5rem;
		line-height: 1;
		cursor: pointer;
	}

	.zenith-filters-backdrop {
		position: fixed;
		inset: 0;
		z-index: 1000;
		background: rgba(15, 23, 42, 0.45);
	}

	.zenith-filters-open .zenith-filters-backdrop {
		display: block;
	}

	.zenith-filters-open {
		overflow: hidden;
	}
}

@media (prefers-reduced-motion: reduce) {
	.zenith-quick-view,
	.zenith-quick-view__dialog,
	.zenith-mobile-filters .zenith-sidebar,
	.zenith-card-action {
		transition: none;
	}

	.zenith-wishlist-toggle.is-animating i {
		animation: none;
	}
}
