/**
 * Nightshift — WooCommerce layer. Phase 1 covers the header blocks and the
 * mini-cart drawer; product, cart, checkout and account styling follow.
 */

/* Mini-cart drawer */
.wc-block-mini-cart__drawer .components-modal__content,
.wc-block-components-drawer {
	background: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--contrast);
	border-left: 1px solid var(--wp--preset--color--border-strong);
}
.wc-block-components-drawer__screen-overlay { background-color: color-mix(in srgb, var(--wp--custom--color--overlay) 70%, transparent) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.wc-block-mini-cart__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: var(--wp--custom--typography--display-weight);
	letter-spacing: calc(-.02em * var(--wp--custom--typography--tracking));
}
.wc-block-components-drawer__close { color: var(--wp--preset--color--contrast) !important; }
.wc-block-mini-cart__footer { border-top: 1px solid var(--wp--preset--color--border) !important; }
.wc-block-mini-cart__shopping-button a,
.wc-block-mini-cart__footer-actions .wc-block-components-button {
	border-radius: var(--ns-button-radius) !important;
	min-height: 48px;
}

/* Customer account icon */
.ns-header__account .wc-block-customer-account__account-icon { width: 22px; height: 22px; }

/* Store notices */
.woocommerce-store-notice, p.demo_store {
	position: fixed;
	left: 50%;
	right: auto;
	bottom: 16px;
	top: auto;
	transform: translateX(-50%);
	width: max-content;
	max-width: calc(100vw - 32px);
	margin: 0;
	padding: 10px 16px;
	border-radius: var(--ns-button-radius);
	z-index: 90;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .71875rem;
	letter-spacing: .04em;
	line-height: 1.4;
	text-align: center;
	box-shadow: 0 20px 50px -12px color-mix(in srgb, var(--wp--custom--color--shadow) 80%, transparent);
}
.woocommerce-store-notice a, p.demo_store a { color: inherit; font-weight: 600; margin-left: 8px; }

/* ---------- Product grids (Product Collection) ---------- */
.ns-products .wc-block-product-template,
.ns-mini-grid .wc-block-product-template {
	display: grid !important;
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 1024px) { .ns-products .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ns-products .wc-block-product-template > li,
.ns-mini-grid .wc-block-product-template > li { width: auto !important; max-width: none !important; margin: 0 !important; }
/* Few products (1–3): centred cards at a sensible width instead of a mostly
   empty four-column row. The query and its filters are unchanged. */
@media (min-width: 782px) {
	.ns-products .wc-block-product-template:has(> li:only-child) { grid-template-columns: minmax(0, 400px) !important; justify-content: center; }
	.ns-products .wc-block-product-template:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 380px)) !important; justify-content: center; }
	.ns-products .wc-block-product-template:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 360px)) !important; justify-content: center; }
}
.ns-products__empty { color: var(--wp--preset--color--contrast-muted); font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; }

/* ---------- Product card ---------- */
.ns-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--ns-radius);
	background: linear-gradient(180deg, var(--wp--preset--color--surface-raised), var(--wp--preset--color--surface));
	overflow: hidden;
	isolation: isolate;
	transition: border-color .3s, transform .4s var(--ns-ease), box-shadow .4s;
}
.ns-card > * { margin: 0 !important; }
.ns-card:hover, .ns-card:focus-within {
	border-color: var(--wp--preset--color--border-strong);
	transform: translateY(calc(-4px * var(--ns-lift)));
	box-shadow: 0 24px 60px -24px var(--ns-glow);
}
.ns-card__media { position: relative; overflow: hidden; border-bottom: 1px solid var(--wp--preset--color--border); background: color-mix(in srgb, var(--wp--preset--color--base) 51%, var(--wp--preset--color--surface)); }
.ns-card__media > * { margin: 0 !important; }
.ns-card__image { margin: 0 !important; }
.ns-card__image img { display: block; width: 100%; height: auto; transition: transform .8s var(--ns-ease), filter .6s; }
.ns-card:hover .ns-card__image img { transform: scale(1.045); }

/* Sale badge */
.ns-card .wc-block-components-product-sale-badge {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 3;
	margin: 0;
	border: 0;
	border-radius: 6px;
	padding: 5px 9px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .6875rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ns-card .wc-block-components-product-sale-badge__text { font-size: inherit; }

/* Add to cart revealed over the image */
.ns-card__cta {
	position: absolute !important;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 3;
	margin: 0 !important;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .35s, transform .35s var(--ns-ease);
	text-align: center;
}
.ns-card:hover .ns-card__cta, .ns-card:focus-within .ns-card__cta { opacity: 1; transform: none; }
@media (hover: none) { .ns-card__cta { opacity: 1; transform: none; } }
.ns-card-cta-always .ns-card__cta { opacity: 1; transform: none; }
.ns-card-ratio .ns-card__image img { aspect-ratio: var(--ns-card-ratio); object-fit: cover; }
.ns-card__cta .wp-block-button__link {
	width: 100%;
	min-height: 44px;
	padding: .6rem 1rem;
	font-size: .875rem;
	font-weight: 600;
	box-shadow: 0 10px 30px -10px color-mix(in srgb, var(--wp--custom--color--shadow) 60%, transparent);
}
.ns-card__cta .wp-block-button__link:hover { box-shadow: 0 0 24px var(--ns-glow); transform: none; }
.ns-card__cta .wp-block-button__link.loading { opacity: .7; }
.ns-card__cta .added_to_cart {
	display: block;
	margin-top: 6px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--wp--preset--color--contrast);
	background: color-mix(in srgb, var(--wp--preset--color--base) 85%, transparent);
	border-radius: var(--ns-button-radius);
	padding: 6px;
}

.ns-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 16px 18px; flex: 1; }
.ns-card__body > * { margin: 0 !important; }
.ns-card__meta { gap: 8px !important; min-height: 22px; }
.ns-card__cat, .ns-mini__cat {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .6875rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary-light);
}
.ns-card__cat a { color: inherit; text-decoration: none; position: relative; z-index: 2; }
.ns-card__cat a:hover { color: var(--wp--preset--color--accent); }
.ns-card__cat a:not(:first-child), .ns-card__cat .wp-block-post-terms__separator { display: none; }
.ns-card__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.1;
	letter-spacing: -.01em;
}
.ns-card__title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.ns-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ns-card .nsc-spec {
	align-self: flex-start;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface);
	border: 1px dashed var(--wp--preset--color--border-strong);
	border-radius: 6px;
	padding: 6px 8px;
}
.ns-card__foot { margin-top: auto !important; padding-top: 10px; border-top: 1px solid var(--wp--preset--color--border); gap: 8px !important; }
.ns-card__foot > * { margin: 0 !important; }
.ns-card__price, .ns-mini__price {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 1.0625rem !important;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-left: auto !important;
	text-align: right;
}
.ns-card__price del, .ns-mini__price del { color: var(--wp--preset--color--secondary); font-size: .8em; margin-right: 6px; }
.ns-card__price ins, .ns-mini__price ins { text-decoration: none; color: var(--wp--preset--color--accent); }
.ns-card__rating .wc-block-components-product-rating__stars,
.ns-card__rating .star-rating { color: var(--wp--preset--color--accent); }
.ns-card__rating { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--wp--preset--color--contrast-muted); }

/* Lab badge (Nightshift Core) */
.nsc-badge--lab {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .65625rem;
	letter-spacing: .06em;
	color: var(--wp--preset--color--accent);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 35%, transparent);
	position: relative;
	z-index: 2;
}

/* ---------- Mini tiles (collection cards) ---------- */
.ns-mini-grid .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ns-mini-grid--2 .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ns-mini { position: relative; display: flex; flex-direction: column; gap: 6px; }
.ns-mini > * { margin: 0 !important; }
.ns-mini__image { border-radius: 10px; overflow: hidden; border: 1px solid var(--wp--preset--color--border-strong); margin: 0 !important; }
.ns-mini__image img { display: block; width: 100%; height: auto; transition: transform .6s var(--ns-ease); }
.ns-mini:hover .ns-mini__image img { transform: scale(1.06); }
.ns-mini__title { font-family: var(--wp--preset--font-family--body); font-weight: 500; font-size: .8125rem !important; line-height: 1.3; letter-spacing: 0; }
.ns-mini__title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.ns-mini__title a::after { content: ""; position: absolute; inset: 0; }
.ns-mini__price { font-size: .8125rem !important; margin: 0 !important; text-align: left; }

@media (max-width: 599px) {
	.ns-products .wc-block-product-template { gap: 10px; }
	.ns-card__body { padding: 12px 12px 14px; gap: 6px; }
	.ns-card__title { font-size: 1rem; }
	.ns-card .nsc-spec { display: none; }
	.ns-card__price { font-size: .875rem !important; }
	.ns-card__cat { font-size: .625rem; }
	.ns-card__cta { left: 8px; right: 8px; bottom: 8px; }
	.ns-card__cta .wp-block-button__link { min-height: 40px; font-size: .8125rem; padding: .45rem .5rem; }
	.ns-card .wc-block-components-product-sale-badge { left: 8px; top: 8px; }
}

/* =========================================================
   Shared commerce primitives
   ========================================================= */
:root {
	--wc-product-filters-background-color: var(--wp--preset--color--surface);
	--wc-product-filters-text-color: var(--wp--preset--color--contrast);
	--wc-product-filters-overlay-background-color: var(--wp--preset--color--surface);
	--wc-product-filters-overlay-text-color: var(--wp--preset--color--contrast);
}
.ns-breadcrumbs, .woocommerce-breadcrumb {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .71875rem !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
}
.ns-breadcrumbs a, .woocommerce-breadcrumb a { color: var(--wp--preset--color--contrast-muted); text-decoration: none; }
.ns-breadcrumbs a:hover, .woocommerce-breadcrumb a:hover { color: var(--wp--preset--color--accent); }

/* Notices (blocks + classic) */
.wc-block-components-notice-banner,
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-left: 3px solid var(--wp--preset--color--accent) !important;
	border-radius: 12px !important;
	font-size: .9375rem;
}
.wc-block-components-notice-banner.is-error, .woocommerce-error { border-left-color: var(--wp--custom--color--error) !important; }
.wc-block-components-notice-banner > svg { fill: var(--wp--preset--color--accent) !important; background: transparent !important; }
.wc-block-components-notice-banner.is-error > svg { fill: var(--wp--custom--color--error) !important; }
.wc-block-components-notice-banner a, .woocommerce-message a { color: var(--wp--preset--color--accent); }
/* WooCommerce colours the "View cart" link and the dismiss button for white banners (#2f2f2f !important); restyle them for Nightshift's banners. */
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward { color: var(--wp--preset--color--accent) !important; opacity: 1; font-weight: 600; }
.wc-block-components-notice-banner > .wc-block-components-button.wc-block-components-notice-banner__dismiss { background: transparent none !important; color: var(--wp--preset--color--contrast) !important; border-radius: 6px !important; flex: 0 0 24px; width: 24px !important; height: 24px !important; margin: 2px 0 0 auto !important; padding: 0 !important; min-height: 0; box-shadow: none !important; transform: none !important; display: inline-grid; place-items: center; opacity: .85; }
.wc-block-components-notice-banner > .wc-block-components-button.wc-block-components-notice-banner__dismiss:hover,
.wc-block-components-notice-banner > .wc-block-components-button.wc-block-components-notice-banner__dismiss:focus-visible { opacity: 1; }
.wc-block-components-notice-banner > .wc-block-components-button.wc-block-components-notice-banner__dismiss svg { fill: currentColor !important; }

/* Generic WooCommerce block form fields on dark */
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea,
.wc-block-components-address-form textarea {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus { border-color: var(--wp--preset--color--accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--accent) 15%, transparent) !important; }
.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label,
.wc-block-components-combobox .components-base-control__label { color: var(--wp--preset--color--contrast-muted) !important; }
.wc-blocks-components-select .wc-blocks-components-select__container { background: transparent !important; }
.wc-blocks-components-select__expand { fill: var(--wp--preset--color--contrast-muted) !important; }
.wc-block-components-text-input.has-error input { border-color: var(--wp--custom--color--error) !important; }
.wc-block-components-validation-error { color: var(--wp--custom--color--error-soft) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox],
.wc-block-components-radio-control__input {
	background: var(--wp--preset--color--base) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--wp--preset--color--accent) !important; border-color: var(--wp--preset--color--accent) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--wp--preset--color--on-accent) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--wp--preset--color--accent) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--wp--preset--color--accent) !important; }

/* Buttons inside WooCommerce blocks */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-product-add-to-cart-button,
.single_add_to_cart_button,
.woocommerce-Button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button {
	background: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--on-accent) !important;
	border: 0 !important;
	border-radius: var(--ns-button-radius) !important;
	min-height: 52px;
	font-family: var(--wp--preset--font-family--body) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: .9rem 1.6rem !important;
	transition: transform .3s var(--ns-ease), box-shadow .3s !important;
	text-decoration: none !important;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.single_add_to_cart_button:hover,
.woocommerce-Button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover {
	transform: translateY(calc(-2px * var(--ns-lift)));
	box-shadow: 0 10px 40px -6px var(--ns-glow) !important;
}
.wc-block-components-button.is-link, .wc-block-components-button.is-link * { color: var(--wp--preset--color--accent) !important; }
.wc-block-components-button:disabled, .wc-block-components-button[aria-disabled="true"] { opacity: .45; transform: none !important; box-shadow: none !important; }

/* Quantity selector (cart, mini cart, add to cart with options) */
.wc-block-components-quantity-selector,
.wc-block-add-to-cart-with-options .quantity,
.wp-block-woocommerce-add-to-cart-with-options-quantity-selector .quantity {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-button-radius) !important;
	background: var(--wp--preset--color--base) !important;
	overflow: hidden;
}
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wc-block-add-to-cart-with-options .quantity input.qty,
.wp-block-woocommerce-add-to-cart-with-options-quantity-selector input.qty {
	background: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 0 !important;
	box-shadow: none !important;
	font-family: var(--wp--preset--font-family--mono);
	min-height: 0;
}
.wc-block-components-quantity-selector__button,
.wp-block-woocommerce-add-to-cart-with-options-quantity-selector .wc-block-components-quantity-selector__button {
	color: var(--wp--preset--color--contrast) !important;
	background: transparent !important;
	opacity: 1 !important;
}
.wc-block-components-quantity-selector__button:hover { color: var(--wp--preset--color--accent) !important; }

/* Prices */
.wc-block-components-product-price, .wc-block-formatted-money-amount { font-family: var(--wp--preset--font-family--mono); }
.wc-block-components-product-price del, .wc-block-components-product-price__regular { color: var(--wp--preset--color--secondary) !important; }
.wc-block-components-product-price ins, .wc-block-components-product-price__value.is-discounted { color: var(--wp--preset--color--accent) !important; text-decoration: none; }

/* =========================================================
   Shop archive
   ========================================================= */
.ns-main--shop { padding-block-end: var(--wp--preset--spacing--80); }
.ns-shop-hero { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 5vw, 3rem); border-bottom: 1px solid var(--wp--preset--color--border); background: radial-gradient(ellipse 50% 90% at 90% 0%, color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent), transparent 70%); margin-block-end: var(--wp--preset--spacing--50); }
.ns-shop-hero__inner > * { margin-block: 0; }
.ns-shop-hero__title { margin-block: 14px 10px !important; font-size: var(--wp--preset--font-size--huge) !important; line-height: .9 !important; letter-spacing: calc(-.04em * var(--wp--custom--typography--tracking)) !important; }
.ns-shop-hero__desc, .ns-shop-hero__desc p { max-width: 52ch; color: var(--wp--preset--color--contrast-muted); font-size: var(--wp--preset--font-size--large); margin: 0; }

.ns-shop { display: grid; gap: var(--wp--preset--spacing--50); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 1024px) { .ns-shop { grid-template-columns: 260px minmax(0, 1fr); } }
.ns-shop > * { margin: 0 !important; }
/* Desktop sidebar: keep filter controls (price slider and inputs) clear of the divider. */
@media (min-width: 1024px) { .ns-shop__filters .wc-block-product-filters:not(.is-overlay-opened) .wc-block-product-filters__overlay-content { padding-inline-end: 24px; } }
@media (min-width: 1024px) { .ns-shop__filters { position: sticky; top: calc(var(--ns-header-h) + 24px + var(--wp-admin--admin-bar--height, 0px)); max-height: calc(100vh - var(--ns-header-h) - 48px); overflow-y: auto; scrollbar-width: thin; padding-right: 4px; } }

/* Product Filters block */
.wc-block-product-filters { --wc-product-filter-block-spacing: 22px; width: 100%; }
.ns-filters__title { font-family: var(--wp--preset--font-family--mono) !important; font-size: .75rem !important; font-weight: 500 !important; letter-spacing: .14em !important; text-transform: uppercase; color: var(--wp--preset--color--secondary) !important; }
.wc-block-product-filters h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1rem !important;
	font-weight: 700;
	letter-spacing: -.01em;
	margin: 0 0 10px !important;
	padding-top: 18px;
	border-top: 1px solid var(--wp--preset--color--border);
}
.wc-block-product-filter-checkbox-list__items { gap: 4px !important; }
.wc-block-product-filter-checkbox-list__label { color: var(--wp--preset--color--contrast-muted); font-size: .9375rem; min-height: 32px; display: flex !important; align-items: center; gap: 10px; cursor: pointer; }
.wc-block-product-filter-checkbox-list__label:hover { color: var(--wp--preset--color--contrast); }
.wc-block-product-filter-checkbox-list__input-wrapper::before { background: var(--wp--preset--color--base) !important; border: 1px solid var(--wp--preset--color--border-strong) !important; border-radius: 5px !important; }
.wc-block-product-filter-checkbox-list__input:checked + .wc-block-product-filter-checkbox-list__mark,
.wc-block-product-filter-checkbox-list__input-wrapper:has(:checked)::before { background: var(--wp--preset--color--accent) !important; border-color: var(--wp--preset--color--accent) !important; }
.wc-block-product-filter-checkbox-list__mark { color: var(--wp--preset--color--on-accent) !important; }
.wc-block-product-filter-checkbox-list__count { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--wp--preset--color--secondary); margin-left: auto; }
.wc-block-product-filter-checkbox-list__show-more { color: var(--wp--preset--color--accent) !important; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.wc-block-product-filter-chips__items { gap: 6px !important; }
.wc-block-product-filter-chips__item {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	background: transparent !important;
	color: var(--wp--preset--color--contrast-muted) !important;
	border-radius: var(--ns-button-radius) !important;
	padding: 6px 12px !important;
	font-size: .8125rem !important;
	transition: border-color .2s, color .2s, background .2s;
}
.wc-block-product-filter-chips__item:hover { border-color: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--contrast) !important; }
.wc-block-product-filter-chips__item[aria-checked="true"] { background: var(--wp--preset--color--accent) !important; border-color: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--on-accent) !important; }
.wc-block-product-filter-chips__count { opacity: .7; font-family: var(--wp--preset--font-family--mono); font-size: .6875rem; }
.wc-block-product-filter-removable-chips__item {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent) !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 40%, transparent) !important;
	color: var(--wp--preset--color--accent) !important;
	border-radius: var(--ns-button-radius) !important;
}
.wc-block-product-filter-removable-chips__remove { color: inherit !important; }
.wc-block-product-filter-price-slider { --wc-product-filter-price-slider: var(--wp--preset--color--accent); --wc-product-filter-price-slider-handle: var(--wp--preset--color--contrast); --wc-product-filter-price-slider-handle-border: var(--wp--preset--color--accent); }
.wc-block-product-filter-price-slider input[type="text"] {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: 8px !important;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .8125rem;
	min-height: 40px;
}
.wc-block-product-filter-price-slider .range .range-bar { background: var(--wp--preset--color--border-strong) !important; }
.wc-block-product-filter-price-slider .range .range-bar::after, .wc-block-product-filter-price-slider .range .range-bar > * { background: var(--wp--preset--color--accent) !important; }
.wc-block-product-filters__open-overlay {
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 16px !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-button-radius) !important;
	font-weight: 600;
	font-size: .875rem !important;
}
.wc-block-product-filters__overlay-dialog { border-right: 1px solid var(--wp--preset--color--border-strong); }
.wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay { background-color: color-mix(in srgb, var(--wp--custom--color--overlay) 70%, transparent) !important; }
.wc-block-product-filters__overlay-footer { box-shadow: 0 -1px 0 var(--wp--preset--color--border) !important; }
.wc-block-product-filters__apply { min-height: 52px; border-radius: var(--ns-button-radius) !important; background: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--on-accent) !important; font-weight: 600; border: 0 !important; }

/* Toolbar */
.ns-shop__toolbar { gap: 12px !important; margin-bottom: 18px !important; padding-bottom: 14px; border-bottom: 1px solid var(--wp--preset--color--border); }
.ns-shop__toolbar > * { margin: 0 !important; }
.ns-shop__toolbar .woocommerce-result-count, .wc-block-product-results-count { font-family: var(--wp--preset--font-family--mono); font-size: .75rem !important; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--contrast-muted); margin: 0 !important; }
.woocommerce-ordering select, .wc-block-catalog-sorting select, .ns-shop__toolbar select {
	appearance: none;
	-webkit-appearance: none;
	min-height: 44px;
	padding: 0 40px 0 16px;
	border-radius: var(--ns-button-radius);
	background: var(--wp--preset--color--surface) var(--ns-icon-chevron) right 14px center / 16px no-repeat;
	font-size: .875rem;
	cursor: pointer;
}
.woocommerce-ordering, .wc-block-catalog-sorting { margin: 0 !important; }

.ns-products--shop .wc-block-product-template { gap: 14px; }
@media (min-width: 1024px) { .ns-products--shop .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1440px) { .ns-products--shop .wc-block-product-template { gap: 18px; } }

.ns-pagination { margin-top: var(--wp--preset--spacing--50) !important; gap: 6px !important; font-family: var(--wp--preset--font-family--mono); font-size: .875rem; }
.ns-pagination a, .ns-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--ns-button-radius);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.ns-pagination .page-numbers.current { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--on-accent); }
.ns-pagination a:hover { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }
.ns-no-results { border: 1px dashed var(--wp--preset--color--border-strong); border-radius: calc(var(--ns-panel-radius) * 1.2); padding: clamp(1.5rem, 5vw, 3rem); }
.ns-no-results > * { margin-block: 0 14px; }

@media (max-width: 1023px) {
	.ns-shop__filters { margin-bottom: -6px !important; }
}

/* =========================================================
   Single product
   ========================================================= */
.ns-main--product { padding-block: var(--wp--preset--spacing--40) 0; }
.ns-pdp-top { margin-block-end: var(--wp--preset--spacing--40) !important; }
.ns-pdp { gap: clamp(1.5rem, 5vw, 4.5rem) !important; margin-block-end: var(--wp--preset--spacing--70) !important; }
@media (min-width: 782px) { .ns-pdp__summary { position: sticky; top: calc(var(--ns-header-h) + 24px + var(--wp-admin--admin-bar--height, 0px)); align-self: flex-start; } }

/* Gallery */
.ns-pdp__gallery .wc-block-product-gallery { gap: 12px; }
.wc-block-product-gallery-large-image,
.ns-pdp__gallery .wc-block-product-gallery-large-image__container {
	border-radius: calc(var(--ns-panel-radius) * 1.2);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	background: color-mix(in srgb, var(--wp--preset--color--base) 51%, var(--wp--preset--color--surface));
}
.wc-block-product-gallery-large-image img { border-radius: 0 !important; }
.wc-block-product-gallery-thumbnails__thumbnail {
	border-radius: 12px !important;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border) !important;
	opacity: .65;
	transition: opacity .25s, border-color .25s;
	background: color-mix(in srgb, var(--wp--preset--color--base) 51%, var(--wp--preset--color--surface));
}
.wc-block-product-gallery-thumbnails__thumbnail:hover { opacity: 1; }
.wc-block-product-gallery-thumbnails__thumbnail__image--is-active,
.wc-block-product-gallery-thumbnails__thumbnail:has(.wc-block-product-gallery-thumbnails__thumbnail__image--is-active) { opacity: 1; border-color: var(--wp--preset--color--accent) !important; }
.wc-block-product-gallery-large-image-next-previous button,
.wc-block-product-gallery-large-image-next-previous__button {
	background: color-mix(in srgb, var(--wp--preset--color--base) 75%, transparent) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: 50% !important;
	color: var(--wp--preset--color--contrast) !important;
	width: 44px;
	height: 44px;
}
.wc-block-product-gallery-large-image-next-previous svg { fill: currentColor; stroke: currentColor; }
.ns-pdp__gallery .wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
	border: 0;
	border-radius: 6px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 6px 10px;
	margin: 16px;
}

/* Summary */
.ns-pdp__summary > * { margin-block: 0; }
.ns-pdp__summary > * + * { margin-block-start: 18px; }
.ns-pdp__eyebrow { gap: 10px !important; }
.ns-pdp__cats { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--secondary); }
.ns-pdp__cats a { color: var(--wp--preset--color--secondary-light); text-decoration: none; }
.ns-pdp__cats a:hover { color: var(--wp--preset--color--accent); }
.ns-pdp__title { font-size: clamp(2rem, 3.6vw, 3.6rem) !important; line-height: .95 !important; letter-spacing: calc(-.035em * var(--wp--custom--typography--tracking)) !important; margin-block-start: 14px !important; }
.ns-pdp__price { font-family: var(--wp--preset--font-family--mono); font-size: 1.75rem !important; font-weight: 500; }
.ns-pdp__price del { font-size: .7em; }
.ns-pdp__claim { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.125rem; color: var(--wp--preset--color--accent); }
.ns-pdp__summary-text, .ns-pdp__summary-text p { color: var(--wp--preset--color--contrast-muted); font-size: 1.0625rem; margin: 0; }
.ns-pdp__spec { gap: 8px !important; }
.ns-pdp__spec .nsc-spec__value, .ns-pdp__spec .nsc-spec__format {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .8125rem;
	border: 1px dashed var(--wp--preset--color--border-strong);
	border-radius: 8px;
	padding: 7px 10px;
	background: var(--wp--preset--color--surface);
	opacity: 1;
}
.ns-pdp__spec .nsc-spec__format { border-style: solid; color: var(--wp--preset--color--accent); border-color: color-mix(in srgb, var(--wp--preset--color--accent) 35%, transparent); }

/* Add to cart with options */
.ns-pdp__buy { padding: 22px; border: 1px solid var(--wp--preset--color--border-strong); border-radius: var(--ns-panel-radius); background: linear-gradient(180deg, var(--wp--preset--color--surface-raised), var(--wp--preset--color--surface)); margin-block-start: 26px !important; }
.ns-pdp__buy > * { margin-block: 0 !important; }
.ns-pdp__buy > * + * { margin-block-start: 16px !important; }
.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name,
.wc-block-add-to-cart-with-options-variation-selector-attribute-name {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary-light);
	margin-bottom: 8px !important;
}
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills { gap: 8px !important; }
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border-radius: var(--ns-button-radius) !important;
	min-height: 44px;
	padding: 0 18px !important;
	font-size: .9375rem !important;
	cursor: pointer;
	transition: border-color .2s, background .2s, color .2s;
}
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:hover:not([aria-disabled="true"]):not(:disabled) { border-color: var(--wp--preset--color--accent) !important; }
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill[aria-checked="true"],
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill--selected {
	background: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--on-accent) !important;
}
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill[aria-disabled="true"],
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill:disabled,
.wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill--disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.ns-pdp__buy select { width: 100%; }
.ns-pdp__buy .wc-block-components-product-add-to-cart-button,
.ns-pdp__buy .single_add_to_cart_button,
.ns-pdp__buy .wp-block-button__link { flex: 1; min-height: 56px; width: 100%; }
.ns-pdp__buy .wc-block-add-to-cart-with-options__actions,
.ns-pdp__buy form.cart { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }
.ns-pdp__buy .wp-block-woocommerce-product-button { flex: 1; margin: 0 !important; }
.wc-block-components-product-stock-indicator, .ns-pdp__buy .stock, .wp-block-woocommerce-product-stock-indicator {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--accent);
}
.wc-block-components-product-stock-indicator::before, .wp-block-woocommerce-product-stock-indicator::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.wc-block-components-product-stock-indicator--out-of-stock, .stock.out-of-stock { color: var(--wp--custom--color--error-soft) !important; }
.wc-block-components-product-stock-indicator--low-stock { color: var(--wp--custom--color--warning) !important; }
.ns-pdp__buy .reset_variations, .wc-block-add-to-cart-with-options-variation-selector__reset { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--wp--preset--color--contrast-muted); }
.ns-pdp__promises li { font-size: .65625rem; padding: 7px 10px; }
.ns-pdp__meta { font-family: var(--wp--preset--font-family--mono); font-size: .71875rem; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--secondary); padding-top: 18px; border-top: 1px solid var(--wp--preset--color--border); }
.ns-pdp__meta .wp-block-group { gap: 8px 22px !important; }
.ns-pdp__meta a { color: var(--wp--preset--color--contrast-muted); text-decoration: none; }
.ns-pdp__meta a:hover { color: var(--wp--preset--color--accent); }

/* Transparency facts */
.ns-pdp-facts { padding-block: var(--wp--preset--spacing--70) !important; }
.ns-pdp-facts__head > * { margin-block: 0; }
.ns-pdp-facts__head h2 { margin-block: 10px 28px; }
.ns-pdp-facts__grid { gap: 16px !important; margin: 0; }
.ns-pdp-facts__grid > .wp-block-column > * + * { margin-block-start: 16px; }
.ns-panel, .nsc-usage__panel, .nsc-notices {
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: calc(var(--ns-panel-radius) * 0.9) !important;
	background: var(--wp--preset--color--surface);
	padding: clamp(1.25rem, 3vw, 1.75rem) !important;
}
.nsc-ingredients__serving { gap: 24px !important; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--secondary-light); margin: 0 0 14px; }
.nsc-ingredients__serving strong { color: var(--wp--preset--color--contrast); font-weight: 500; margin-left: 6px; }
.nsc-ingredients__table th, .nsc-ingredients__table td { border-bottom: 1px solid var(--wp--preset--color--border) !important; padding: 14px 6px !important; }
.nsc-ingredients__table thead th { font-family: var(--wp--preset--font-family--mono); font-size: .6875rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--secondary); border-bottom-color: var(--wp--preset--color--border-strong) !important; }
.nsc-ingredients__table tbody th { font-weight: 500; font-size: .9375rem; }
.nsc-ingredients__table td { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--accent); text-align: right; }
.nsc-ingredients__table thead th:not(:first-child) { text-align: right; }
.nsc-ingredients__other, .nsc-ingredients__allergens { margin-top: 18px; }
.nsc-ingredients__other h4, .nsc-ingredients__allergens h4, .nsc-ingredients__subtitle, .nsc-usage__panel h3 {
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: .71875rem !important;
	font-weight: 500 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary-light) !important;
	margin: 0 0 8px !important;
}
/* Same metrics whether the sub-heading is an h3 or an h4. */
.nsc-ingredients__subtitle { line-height: 1.15 !important; }
.nsc-ingredients__other p, .nsc-ingredients__allergens p, .nsc-usage__panel p { color: var(--wp--preset--color--contrast-muted); margin: 0; font-size: .9375rem; }
.nsc-usage { gap: 16px !important; grid-template-columns: 1fr !important; }
.nsc-usage__panel--warning { border-color: color-mix(in srgb, var(--wp--custom--color--warning) 35%, transparent) !important; background: linear-gradient(180deg, color-mix(in srgb, var(--wp--custom--color--warning) 6%, transparent), transparent), var(--wp--preset--color--surface) !important; }
.nsc-usage__panel--warning h3 { color: var(--wp--custom--color--warning) !important; }
.nsc-notice { border-left-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast-muted); }
.nsc-notice--warning { border-left-color: var(--wp--custom--color--warning); }
.ns-pdp-lab > * { margin-block: 0; }
.ns-pdp-lab > * + * { margin-block-start: 12px; }

/* Details accordion + reviews */
.ns-pdp-details { margin-block: var(--wp--preset--spacing--70) !important; }
.ns-pdp-details .wp-block-woocommerce-product-description, .ns-pdp-details .wp-block-woocommerce-product-description p { color: var(--wp--preset--color--contrast-muted); }
.wp-block-woocommerce-product-specifications table, .woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.wp-block-woocommerce-product-specifications th, .wp-block-woocommerce-product-specifications td,
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 12px 6px; border-bottom: 1px solid var(--wp--preset--color--border); text-align: left; font-size: .9375rem; }
.wp-block-woocommerce-product-specifications th, .woocommerce-product-attributes th { font-family: var(--wp--preset--font-family--mono); font-size: .71875rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--secondary-light); width: 30%; }
.wp-block-woocommerce-product-reviews-title { font-size: 1.25rem !important; }
.ns-review { border: 1px solid var(--wp--preset--color--border); border-radius: 14px; padding: 18px; margin-block: 0 12px; }
.wp-block-woocommerce-product-review-form .comment-reply-title { font-family: var(--wp--preset--font-family--display); font-size: 1.125rem; }
.wp-block-woocommerce-product-review-form label { color: var(--wp--preset--color--contrast-muted); font-size: .875rem; }
.wp-block-woocommerce-product-review-form textarea, .wp-block-woocommerce-product-review-form input[type="text"], .wp-block-woocommerce-product-review-form input[type="email"] { width: 100%; }
.wp-block-woocommerce-product-review-form .stars a { color: var(--wp--preset--color--accent); }
.wp-block-woocommerce-product-review-form input[type="submit"] { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--on-accent); border: 0; border-radius: var(--ns-button-radius); min-height: 48px; padding: 0 24px; font-weight: 600; cursor: pointer; }
.woocommerce-noreviews, .wp-block-woocommerce-product-reviews .woocommerce-noreviews { color: var(--wp--preset--color--contrast-muted); }

.ns-pdp-related { margin-block: 0 var(--wp--preset--spacing--70) !important; }
.ns-pdp-related__title { margin-block: 0 24px !important; }

/* =========================================================
   Cart & checkout (blocks)
   ========================================================= */
.ns-main--cart, .ns-main--checkout, .ns-main--account, .ns-main--order { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--80); }
.ns-commerce-head { margin-block-end: var(--wp--preset--spacing--50) !important; }
.ns-commerce-head > * { margin-block: 0; }
.ns-commerce-head__title { margin-block-start: 12px !important; font-size: var(--wp--preset--font-size--display) !important; line-height: .95 !important; letter-spacing: calc(-.035em * var(--wp--custom--typography--tracking)) !important; }
.ns-header--checkout .ns-checkout-secure { margin: 0 auto 0 0; padding-left: 24px; }
.ns-header--checkout .wp-block-buttons { margin: 0; }
/* Keep the footer below the fold while the Checkout block loads (it starts as a short skeleton), so it does not jump. */
.ns-main--checkout { min-height: 100vh; min-height: 100svh; }
.ns-checkout-foot { border-top: 1px solid var(--wp--preset--color--border); padding-block: 22px; }
.ns-checkout-foot__copy { margin: 0; font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--wp--preset--color--secondary); }

.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--wp--preset--color--contrast); }
.wc-block-components-sidebar-layout { gap: 0; }
.wc-block-cart .wc-block-cart-items, .wc-block-cart-items { border: 0 !important; }
.wc-block-cart-items__header { font-family: var(--wp--preset--font-family--mono); font-size: .6875rem !important; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--secondary); border-bottom: 1px solid var(--wp--preset--color--border-strong) !important; }
.wc-block-cart-items__row { border-bottom: 1px solid var(--wp--preset--color--border) !important; }
.wc-block-cart-items .wc-block-cart-items__row td { border-top: 0 !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 12px; border: 1px solid var(--wp--preset--color--border); background: color-mix(in srgb, var(--wp--preset--color--base) 51%, var(--wp--preset--color--surface)); }
.wc-block-components-product-name { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.125rem; color: var(--wp--preset--color--contrast) !important; text-decoration: none !important; }
.wc-block-components-product-metadata, .wc-block-components-product-details { color: var(--wp--preset--color--contrast-muted); font-size: .8125rem; }
.wc-block-components-product-details__name { font-family: var(--wp--preset--font-family--mono); text-transform: uppercase; letter-spacing: .06em; font-size: .6875rem; }
.wc-block-cart-item__remove-link { color: var(--wp--preset--color--contrast-muted) !important; font-size: .8125rem !important; text-decoration: underline !important; }
.wc-block-cart-item__remove-link:hover { color: var(--wp--custom--color--error-soft) !important; }
.wc-block-components-product-badge { border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 40%, transparent) !important; color: var(--wp--preset--color--accent) !important; background: transparent !important; border-radius: 5px !important; font-family: var(--wp--preset--font-family--mono); }
.wc-block-components-sale-badge { background: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--on-accent) !important; border: 0 !important; }

/* Sidebar totals card */
.wc-block-cart__sidebar, .wc-block-checkout__sidebar {
	align-self: flex-start;
}
.wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar .wc-block-components-panel,
.wp-block-woocommerce-checkout-order-summary-block {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-panel-radius) !important;
	background: linear-gradient(180deg, var(--wp--preset--color--surface-raised), var(--wp--preset--color--surface)) !important;
	padding: 6px 22px 22px !important;
}
.wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title-text, .wc-block-components-title {
	font-family: var(--wp--preset--font-family--display) !important;
	font-weight: 700 !important;
	font-size: 1.25rem !important;
	letter-spacing: -.01em;
	text-transform: none !important;
	color: var(--wp--preset--color--contrast) !important;
}
.wc-block-components-totals-wrapper { border-top: 1px solid var(--wp--preset--color--border) !important; }
.wc-block-components-totals-item__label { color: var(--wp--preset--color--contrast-muted); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--wp--preset--font-family--display); font-size: 1.375rem !important; font-weight: var(--wp--custom--typography--display-weight); color: var(--wp--preset--color--contrast); }
.wc-block-components-totals-item__description, .wc-block-components-totals-shipping__via { color: var(--wp--preset--color--secondary-light); font-size: .8125rem; }
.wc-block-components-panel__button { color: var(--wp--preset--color--contrast) !important; }
.wc-block-components-panel__button-icon { fill: currentColor; }
.wc-block-components-totals-coupon-link, .wc-block-components-panel__button { font-size: .875rem; }
.wc-block-cart__submit-container { padding-top: 6px; }
.wc-block-cart__submit-button { width: 100%; min-height: 56px !important; }
.wc-block-cart__payment-options, .wc-block-components-express-payment-continue-rule { color: var(--wp--preset--color--secondary); }

/* Free shipping progress (when present) & cross-sells */
.wp-block-woocommerce-cart-cross-sells-block { margin-top: var(--wp--preset--spacing--60); }
.wp-block-woocommerce-cart-cross-sells-block h2 { font-size: var(--wp--preset--font-size--xx-large) !important; }
.wc-block-cart__empty-cart__title, .wp-block-woocommerce-empty-cart-block h2 { font-family: var(--wp--preset--font-family--display); }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { background-color: var(--wp--preset--color--accent) !important; }

/* Checkout steps */
.wc-block-components-checkout-step { border-color: var(--wp--preset--color--border) !important; }
.wc-block-components-checkout-step__heading .wc-block-components-title,
.wc-block-components-checkout-step__title { font-size: 1.375rem !important; }
.wc-block-components-checkout-step__container::after { border-color: var(--wp--preset--color--border) !important; }
.wc-block-components-checkout-step::after { background: var(--wp--preset--color--border) !important; }
.wc-block-components-checkout-step__heading-content { color: var(--wp--preset--color--contrast-muted); }
.wc-block-components-checkout-step__description { color: var(--wp--preset--color--contrast-muted); }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	margin-bottom: 8px;
	background: var(--wp--preset--color--surface);
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted { border-color: var(--wp--preset--color--accent) !important; box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent) !important; }
.wc-block-components-radio-control--highlight-checked::after { display: none !important; }
.wc-block-components-radio-control__label, .wc-block-components-payment-method-label { color: var(--wp--preset--color--contrast); }
.wc-block-components-radio-control__secondary-label { font-family: var(--wp--preset--font-family--mono); }
.wc-block-components-radio-control-accordion-content { color: var(--wp--preset--color--contrast-muted); }
.wc-block-checkout__terms, .wc-block-components-checkout-return-to-cart-button { color: var(--wp--preset--color--contrast-muted) !important; font-size: .875rem; }
.wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }
.wc-block-components-checkout-place-order-button { min-height: 58px !important; width: 100%; }
.wc-block-components-address-card { border: 1px solid var(--wp--preset--color--border-strong) !important; border-radius: 14px !important; background: var(--wp--preset--color--surface); }
.wc-block-components-order-summary-item__quantity { background: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--on-accent) !important; border: 0 !important; box-shadow: none !important; font-family: var(--wp--preset--font-family--mono); }
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata { color: var(--wp--preset--color--contrast-muted); }

/* Mini cart drawer items */
.wc-block-mini-cart__products-table .wc-block-cart-items__row { border-color: var(--wp--preset--color--border) !important; }

/* =========================================================
   Order confirmation
   ========================================================= */
.ns-order-head > * { margin-block: 0; }
.ns-order-status, .wc-block-order-confirmation-status { margin-block-start: 12px !important; }
.wc-block-order-confirmation-status h1, .wc-block-order-confirmation-status__heading { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--display) !important; line-height: .95; letter-spacing: calc(-.035em * var(--wp--custom--typography--tracking)); }
.wc-block-order-confirmation-status p { color: var(--wp--preset--color--contrast-muted); font-size: var(--wp--preset--font-size--large); }
.wc-block-order-confirmation-summary {
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: calc(var(--ns-panel-radius) * 0.9);
	padding: 18px 22px;
	background: var(--wp--preset--color--surface);
}
.wc-block-order-confirmation-summary-list { display: flex; flex-wrap: wrap; gap: 14px 36px; margin: 0; padding: 0; list-style: none; }
.wc-block-order-confirmation-summary-list-item__key { display: block; font-family: var(--wp--preset--font-family--mono); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--secondary); }
.wc-block-order-confirmation-summary-list-item__value { font-family: var(--wp--preset--font-family--mono); }
.wc-block-order-confirmation-totals table { width: 100%; border-collapse: collapse; }
.wc-block-order-confirmation-totals th, .wc-block-order-confirmation-totals td { border-bottom: 1px solid var(--wp--preset--color--border) !important; padding: 14px 6px !important; }
.wc-block-order-confirmation-totals tfoot tr:last-child * { font-family: var(--wp--preset--font-family--display); font-size: 1.25rem; }
.wc-block-order-confirmation-address-wrapper address { border: 1px solid var(--wp--preset--color--border) !important; border-radius: 14px; padding: 18px !important; font-style: normal; color: var(--wp--preset--color--contrast-muted); }
.wc-block-order-confirmation-billing-address, .wc-block-order-confirmation-shipping-address { border: 0 !important; padding: 0 !important; color: var(--wp--preset--color--contrast-muted); }

/* =========================================================
   My Account (classic markup, restyled)
   ========================================================= */
.ns-account .woocommerce { display: grid; gap: var(--wp--preset--spacing--50); grid-template-columns: 1fr; }
@media (min-width: 900px) { .ns-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 240px minmax(0, 1fr); } }
.ns-account .woocommerce::before, .ns-account .woocommerce::after { display: none; }
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--border); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--wp--preset--color--border); margin: 0; }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 48px; color: var(--wp--preset--color--contrast-muted); text-decoration: none; font-weight: 500; transition: color .2s, padding .3s var(--ns-ease); }
.woocommerce-MyAccount-navigation a:hover { color: var(--wp--preset--color--contrast); padding-left: 6px; }
.woocommerce-MyAccount-navigation .is-active a { color: var(--wp--preset--color--accent); }
.woocommerce-MyAccount-navigation .is-active a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; margin-right: 10px; box-shadow: 0 0 8px var(--ns-glow); }
.woocommerce-MyAccount-content { color: var(--wp--preset--color--contrast-muted); }
.woocommerce-MyAccount-content a { color: var(--wp--preset--color--accent); }
.woocommerce-MyAccount-content mark { background: color-mix(in srgb, var(--wp--preset--color--accent) 15%, transparent); color: var(--wp--preset--color--contrast); border-radius: 4px; padding: 0 4px; }
.woocommerce table.shop_table, .woocommerce-orders-table { width: 100%; border-collapse: collapse; border: 1px solid var(--wp--preset--color--border) !important; border-radius: 14px; overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--wp--preset--color--border) !important; padding: 12px 14px !important; }
.woocommerce table.shop_table thead th { font-family: var(--wp--preset--font-family--mono); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--secondary); background: var(--wp--preset--color--surface); }
.woocommerce form .form-row label { color: var(--wp--preset--color--contrast-muted); font-size: .875rem; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select { width: 100%; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.woocommerce-EditAccountForm, .woocommerce-address-fields {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-panel-radius) !important;
	background: var(--wp--preset--color--surface);
	padding: clamp(1.25rem, 4vw, 2rem) !important;
	margin: 0 !important;
}
.ns-account #customer_login { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ns-account #customer_login { grid-template-columns: 1fr 1fr; } }
.ns-account #customer_login > div { float: none; width: auto; }
.ns-account #customer_login h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 16px; }
/* "Remember me": WooCommerce makes every .form-row label a block, so this needs the longer selector. */
.woocommerce form .form-row label.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 12px; min-height: 24px; margin: 0; cursor: pointer; font-size: .9375rem; line-height: 1.4; color: var(--wp--preset--color--contrast-muted); }
.woocommerce-form-login__rememberme input[type="checkbox"] { appearance: none; -webkit-appearance: none; display: inline-grid; place-content: center; width: 20px; height: 20px; margin: 0; flex: 0 0 20px; border: 1.5px solid var(--wp--preset--color--contrast-muted); border-radius: 6px; background: var(--wp--preset--color--base); cursor: pointer; transition: background-color .15s, border-color .15s; }
.woocommerce-form-login__rememberme input[type="checkbox"]::before { content: ""; width: 11px; height: 11px; clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); background: var(--wp--preset--color--on-accent); transform: scale(0); transition: transform .12s; }
.woocommerce-form-login__rememberme input[type="checkbox"]:checked { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.woocommerce-form-login__rememberme input[type="checkbox"]:checked::before { transform: scale(1); }
.woocommerce-form-login__rememberme input[type="checkbox"]:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.woocommerce-form-login__rememberme:hover input[type="checkbox"] { border-color: var(--wp--preset--color--contrast); }
@media (prefers-reduced-motion: reduce) { .woocommerce-form-login__rememberme input[type="checkbox"], .woocommerce-form-login__rememberme input[type="checkbox"]::before { transition: none; } }
.woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.woocommerce form.woocommerce-form-login .lost_password { margin: 18px 0 0; }
/* Logged-out account page with only the login form: centred, readable width. */
.ns-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)):not(:has(#customer_login)):has(> form.woocommerce-form-login) { justify-items: center; }
.ns-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)):not(:has(#customer_login)):has(> form.woocommerce-form-login) > * { box-sizing: border-box; width: 100%; max-width: 520px; }
.woocommerce-LostPassword a, .woocommerce-privacy-policy-text a { color: var(--wp--preset--color--accent); }
.woocommerce-privacy-policy-text { font-size: .8125rem; color: var(--wp--preset--color--secondary-light); }
.woocommerce-Addresses { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-Address { border: 1px solid var(--wp--preset--color--border); border-radius: 14px; padding: 18px; float: none !important; width: auto !important; }
.woocommerce-Address address { font-style: normal; }
.ns-pdp__buy.is-invalid button[type="submit"], .ns-pdp__buy button.disabled { opacity: .4 !important; cursor: not-allowed; transform: none !important; box-shadow: none !important; }

/* --- Phase 4 polish --- */
.wc-block-add-to-cart-with-options__quantity-selector,
.wp-block-woocommerce-add-to-cart-with-options-quantity-selector { border: 0 !important; background: none !important; }
.ns-pdp__buy .wc-block-components-quantity-selector { min-height: 56px; min-width: 132px; display: flex; align-items: center; }
.ns-pdp__buy .wc-block-components-quantity-selector input { min-height: 0 !important; height: 54px; width: 48px; text-align: center; font-size: 1rem; -moz-appearance: textfield; }
.ns-pdp__buy .wc-block-components-quantity-selector input::-webkit-inner-spin-button { -webkit-appearance: none; }
.ns-pdp__buy .wc-block-components-quantity-selector__button { width: 42px; height: 54px; font-size: 1.125rem; }
.ns-pdp__buy .wp-block-group.is-layout-flex { gap: 10px !important; flex-wrap: nowrap; }
.ns-pdp__buy .wp-block-group.is-layout-flex > .wp-block-woocommerce-product-button { flex: 1 1 auto !important; }
.ns-pdp__buy .wp-block-group.is-layout-flex > .wp-block-woocommerce-product-button .wp-block-button__link { width: 100%; justify-content: center; }
.ns-pdp__buy .wc-block-components-product-stock-indicator { margin: 0 0 4px !important; }

/* Cart layout */
@media (min-width: 700px) { .wc-block-cart .wc-block-components-main { padding-right: clamp(16px, 3vw, 40px) !important; } }
.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block,
.wc-block-cart .wc-block-cart__sidebar {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-panel-radius) !important;
	background: linear-gradient(180deg, var(--wp--preset--color--surface-raised), var(--wp--preset--color--surface)) !important;
	padding: 8px 22px 22px !important;
	box-sizing: border-box;
	align-self: flex-start;
}
@media (min-width: 700px) { .wc-block-cart .wc-block-cart__sidebar { position: sticky; top: calc(var(--ns-header-h) + 24px + var(--wp-admin--admin-bar--height, 0px)); } }
.wc-block-cart-items__header-total { padding-right: 0; }
.wc-block-cart-item__total { font-family: var(--wp--preset--font-family--mono); }
.wc-block-components-totals-coupon .wc-block-components-panel__button { border: 1px solid var(--wp--preset--color--border-strong); border-radius: var(--ns-button-radius); padding: 10px 16px !important; }

/* Cart cross-sells (WooCommerce block markup) */
.wp-block-woocommerce-cart-cross-sells-block h2,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-heading { font-size: var(--wp--preset--font-size--x-large) !important; letter-spacing: -.01em; margin-bottom: 18px !important; }
.wp-block-woocommerce-cart-cross-sells-products-block .cross-sells-product,
.wc-block-cart__cross-sells .cross-sells-product {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--ns-radius);
	background: linear-gradient(180deg, var(--wp--preset--color--surface-raised), var(--wp--preset--color--surface));
	overflow: hidden;
	padding: 0 0 16px !important;
	text-align: left !important;
}
.cross-sells-product .wc-block-components-product-image { margin: 0 0 12px !important; border-bottom: 1px solid var(--wp--preset--color--border); }
.cross-sells-product .wc-block-components-product-name,
.cross-sells-product .wc-block-components-product-price,
.cross-sells-product .wc-block-components-product-button { padding-inline: 16px; text-align: left !important; justify-content: flex-start !important; }
.cross-sells-product .wc-block-components-product-name { font-size: 1.0625rem !important; }
.cross-sells-product .wc-block-components-product-button__button { min-height: 44px !important; font-size: .875rem !important; padding: .55rem 1.1rem !important; }
.wp-block-woocommerce-cart-cross-sells-products-block .cross-sells-product div .wp-block-cart-cross-sells-product__product-title { text-align: left; }

@media (max-width: 699px) {
	.cross-sells-product .wc-block-components-product-name { font-size: .9375rem !important; hyphens: auto; }
	.wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) auto !important; }
	.wc-block-cart-item__total { min-width: 0; }
	.wc-block-cart-item__total .wc-block-components-sale-badge { white-space: nowrap; font-size: .625rem; }
}

/* =========================================================
   UX refinement — shared tokens for commerce UI
   ========================================================= */
:root {
	--ns-btn-h: 52px;          /* primary actions */
	--ns-btn-h-sm: 40px;       /* card / secondary actions */
	--ns-card-radius: var(--ns-radius);
}

/* Badges: one style everywhere (sale, product badges, legacy grid). */
.wc-block-components-product-sale-badge,
.wc-block-components-sale-badge,
.wc-block-grid__product-onsale,
.wc-block-components-product-badge.wc-block-components-sale-badge {
	background: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--on-accent) !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: .65625rem !important;
	font-weight: 500 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	padding: 4px 8px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
}

/* Secondary (outline) buttons inside WooCommerce UI. */
.wc-block-components-button.is-style-outline,
.wc-block-mini-cart__footer-cart {
	background: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	box-shadow: none !important;
}
.wc-block-components-button.is-style-outline:hover,
.wc-block-mini-cart__footer-cart:hover { border-color: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--accent) !important; transform: none !important; }

/* ---------------------------------------------------------
   Compact product card — applied to every product grid that
   does not use the Nightshift card template: cart cross-sells
   (Product Collection default template) and the legacy grid
   used by WooCommerce's empty cart.
   --------------------------------------------------------- */
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product-template,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}
@media (min-width: 782px) {
	.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
}
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	gap: 6px;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 0 14px !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: var(--ns-card-radius);
	background: linear-gradient(180deg, var(--wp--preset--color--surface-raised), var(--wp--preset--color--surface));
	overflow: hidden;
	text-align: left !important;
	transition: border-color .3s, transform .4s var(--ns-ease), box-shadow .4s;
}
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
	border-color: var(--wp--preset--color--border-strong) !important;
	transform: translateY(calc(-3px * var(--ns-lift)));
	box-shadow: 0 20px 50px -24px var(--ns-glow);
}
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product > *,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product > * { margin: 0 !important; }
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-image,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image { margin: 0 0 6px !important; border-bottom: 1px solid var(--wp--preset--color--border); overflow: hidden; }
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-image img,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img { display: block; width: 100%; height: auto; transition: transform .8s var(--ns-ease); }
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-product:hover img,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover img { transform: scale(1.045); }
.wc-block-cart__main .wp-block-woocommerce-product-collection .wp-block-post-title,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
	padding-inline: 14px;
	font-family: var(--wp--preset--font-family--display) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.15 !important;
	letter-spacing: -.01em !important;
	text-align: left !important;
	color: var(--wp--preset--color--contrast);
}
.wc-block-cart__main .wp-block-woocommerce-product-collection .wp-block-post-title a,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link { color: var(--wp--preset--color--contrast) !important; text-decoration: none !important; }
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-price,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
	padding-inline: 14px;
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: .875rem !important;
	text-align: left !important;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 4px !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price del { color: var(--wp--preset--color--secondary); margin-right: 6px; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price ins { color: var(--wp--preset--color--accent); text-decoration: none; }
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-button,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
	padding-inline: 14px;
	margin-top: auto !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-button__button,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
	min-height: var(--ns-btn-h-sm) !important;
	height: var(--ns-btn-h-sm);
	padding: 0 16px !important;
	font-size: .8125rem !important;
	font-weight: 600 !important;
	width: auto !important;
	border-radius: var(--ns-button-radius) !important;
	background: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center;
}
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	background: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--on-accent) !important;
	transform: none !important;
}
.wc-block-cart__main .wp-block-woocommerce-product-collection .added_to_cart,
.wp-block-woocommerce-empty-cart-block .added_to_cart { display: block; margin: 6px 14px 0; font-family: var(--wp--preset--font-family--mono); font-size: .6875rem; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--accent); }
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-sale-badge,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-onsale { position: absolute; left: 10px; top: 10px; z-index: 2; margin: 0 !important; }

/* =========================================================
   Cart page
   ========================================================= */
@media (min-width: 700px) {
	.wc-block-cart.wc-block-components-sidebar-layout { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: clamp(20px, 3vw, 40px); align-items: start; }
	.wc-block-cart.wc-block-components-sidebar-layout > div:first-child:empty { display: none; }
	.wc-block-cart .wc-block-components-main, .wc-block-cart .wc-block-cart__sidebar { width: auto !important; padding: 0 !important; margin: 0 !important; }
	.wc-block-cart .wc-block-cart__sidebar { padding: 8px 24px 24px !important; }
}

/* Line items: a prominent panel */
.wc-block-cart table.wc-block-cart-items {
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-panel-radius);
	border-collapse: separate !important;
	border-spacing: 0;
	background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--base) 8%, var(--wp--preset--color--surface)), color-mix(in srgb, var(--wp--preset--color--base) 51%, var(--wp--preset--color--surface)));
	overflow: hidden;
	margin: 0 0 clamp(2.5rem, 5vw, 3.5rem) !important;
	width: 100%;
}
.wc-block-cart .wc-block-cart-items__header th { padding: 16px 20px !important; border-bottom: 1px solid var(--wp--preset--color--border) !important; }
.wc-block-cart .wc-block-cart-items__header-total { text-align: right; }
.wc-block-cart .wc-block-cart-items__row td { padding: 22px 20px !important; vertical-align: top; }
.wc-block-cart .wc-block-cart-items__row + .wc-block-cart-items__row td { border-top: 1px solid var(--wp--preset--color--border) !important; }
.wc-block-cart .wc-block-cart-items__row { border: 0 !important; }
.wc-block-cart .wc-block-cart-item__image { width: 132px; padding-right: 0 !important; }
.wc-block-cart .wc-block-cart-item__image img { width: 112px !important; height: 112px; object-fit: cover; border-radius: 12px; }
.wc-block-cart .wc-block-cart-item__wrap { display: flex; flex-direction: column; gap: 6px; }
.wc-block-cart .wc-block-cart-item__wrap > * { margin: 0 !important; }
.wc-block-cart .wc-block-components-product-name { font-size: 1.25rem !important; line-height: 1.15; letter-spacing: -.01em; }
.wc-block-cart .wc-block-components-product-name:hover { color: var(--wp--preset--color--accent) !important; }
.wc-block-cart .wc-block-cart-item__prices { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; color: var(--wp--preset--color--contrast-muted); }
.wc-block-cart .wc-block-components-product-metadata { font-size: .8125rem; }
.wc-block-cart .wc-block-components-product-metadata__description p { margin: 0; }
.wc-block-cart .wc-block-cart-item__quantity { display: flex; align-items: center; gap: 12px; margin-top: 8px !important; }
.wc-block-cart .wc-block-components-quantity-selector { width: 124px; height: 44px; display: flex; align-items: center; margin: 0 !important; }
.wc-block-cart .wc-block-components-quantity-selector input { height: 42px; }
.wc-block-cart .wc-block-cart-item__remove-link {
	display: inline-grid !important;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid transparent;
	text-decoration: none !important;
	transition: border-color .2s, color .2s;
}
.wc-block-cart .wc-block-cart-item__remove-link:hover { border-color: color-mix(in srgb, var(--wp--custom--color--error-soft) 45%, transparent); }
.wc-block-cart .wc-block-cart-item__total { text-align: right; }
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 1.125rem; color: var(--wp--preset--color--contrast); }
.wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-end; gap: 6px; }

/* Cross-sells: secondary, compact */
.wc-block-cart__main .wp-block-woocommerce-product-collection { padding-top: 6px; }
.wc-block-cart__main .wp-block-woocommerce-product-collection > h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px !important;
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: .75rem !important;
	font-weight: 500 !important;
	letter-spacing: .14em !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary) !important;
}
.wc-block-cart__main .wp-block-woocommerce-product-collection > h2::before { content: ""; width: 28px; height: 1px; background: var(--wp--preset--color--accent); }

/* Totals panel: prominent */
.wc-block-cart .wc-block-cart__totals-title { font-size: 1.375rem !important; padding: 14px 0 6px !important; }
.wc-block-cart .wc-block-components-totals-coupon.wc-block-components-panel { border: 0 !important; padding: 0 !important; }
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button { margin: 8px 0 !important; }
.wc-block-components-totals-footer-item { align-items: baseline; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 1.125rem !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--wp--preset--font-family--mono) !important; font-size: 1.625rem !important; font-weight: 500 !important; color: var(--wp--preset--color--accent) !important; }
.wc-block-cart .wc-block-cart__submit-container { padding: 4px 0 0 !important; }

@media (max-width: 699px) {
	.wc-block-cart table.wc-block-cart-items { border-radius: calc(var(--ns-panel-radius) * 0.8); }
	.wc-block-cart .wc-block-cart-items__row { display: grid !important; grid-template-columns: 84px minmax(0, 1fr) !important; padding: 16px !important; gap: 0 14px; }
	.wc-block-cart .wc-block-cart-items__row td { padding: 0 !important; border: 0 !important; }
	.wc-block-cart .wc-block-cart-items__row + .wc-block-cart-items__row { border-top: 1px solid var(--wp--preset--color--border) !important; }
	.wc-block-cart .wc-block-cart-item__image { width: auto; grid-row: 1 / span 2; }
	.wc-block-cart .wc-block-cart-item__image img { width: 84px !important; height: 84px; }
	.wc-block-cart .wc-block-cart-item__total { grid-column: 2; text-align: left; margin-top: 8px; }
	.wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-start; flex-direction: row; gap: 8px; }
	.wc-block-cart .wc-block-components-product-name { font-size: 1.0625rem !important; }
	.wc-block-cart .wc-block-cart__sidebar { margin-top: 20px !important; }
	.wc-block-cart__main .wp-block-woocommerce-product-collection { margin-bottom: 8px; }
}

/* =========================================================
   Empty cart
   ========================================================= */
.wp-block-woocommerce-empty-cart-block { display: flex; flex-direction: column; }
.wp-block-woocommerce-empty-cart-block > * { margin-block: 0 !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: clamp(1.75rem, 4vw, 2.5rem) 24px 6px;
	border: 1px dashed var(--wp--preset--color--border-strong);
	border-bottom: 0;
	border-radius: var(--ns-panel-radius) var(--ns-panel-radius) 0 0;
	background: radial-gradient(ellipse 60% 120% at 50% 0%, color-mix(in srgb, var(--wp--preset--color--accent) 8%, transparent), transparent 70%);
	font-size: clamp(1.375rem, 3vw, 1.875rem) !important;
	line-height: 1.1 !important;
	letter-spacing: calc(-.02em * var(--wp--custom--typography--tracking));
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	margin: 0 !important;
	width: 44px !important;
	height: 44px !important;
	-webkit-mask-size: 44px !important;
	        mask-size: 44px !important;
	background-color: var(--wp--preset--color--accent) !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title + p {
	padding: 10px 24px clamp(1.75rem, 4vw, 2.5rem);
	border: 1px dashed var(--wp--preset--color--border-strong);
	border-top: 0;
	border-radius: 0 0 var(--ns-panel-radius) var(--ns-panel-radius);
	margin-bottom: clamp(2.5rem, 5vw, 3.5rem) !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title + p a {
	display: inline-flex;
	align-items: center;
	min-height: var(--ns-btn-h);
	padding: 0 26px;
	border-radius: var(--ns-button-radius);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
	font-weight: 600;
	text-decoration: none;
	transition: transform .3s var(--ns-ease), box-shadow .3s;
}
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title + p a:hover { transform: translateY(calc(-2px * var(--ns-lift))); box-shadow: 0 10px 40px -6px var(--ns-glow); }
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots { display: none; }
.wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title) {
	display: flex;
	align-items: center;
	gap: 10px;
	text-align: left !important;
	margin-bottom: 16px !important;
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: .75rem !important;
	font-weight: 500 !important;
	letter-spacing: .14em !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary) !important;
}
.wp-block-woocommerce-empty-cart-block > h2:not(.wc-block-cart__empty-cart__title)::before { content: ""; width: 28px; height: 1px; background: var(--wp--preset--color--accent); }
.ns-main--cart:has(.wp-block-woocommerce-empty-cart-block) { padding-block-end: var(--wp--preset--spacing--60); }

/* =========================================================
   Mini-cart drawer: a floating sheet sized to its content
   ========================================================= */
.wc-block-mini-cart__drawer.wc-block-components-drawer,
.wc-block-mini-cart__drawer .components-modal__frame {
	top: 12px !important;
	right: 12px !important;
	bottom: auto !important;
	height: auto !important;
	max-height: calc(100vh - 24px - var(--wp-admin--admin-bar--height, 0px)) !important;
	width: min(440px, calc(100vw - 24px)) !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-panel-radius) !important;
	overflow: hidden;
	box-shadow: 0 40px 120px -20px color-mix(in srgb, var(--wp--custom--color--shadow) 90%, transparent);
}
.admin-bar .wc-block-mini-cart__drawer.wc-block-components-drawer { top: calc(12px + var(--wp-admin--admin-bar--height, 0px)) !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents,
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block {
	height: auto !important;
	max-height: inherit;
	min-height: 0 !important;
}
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block { display: flex; flex-direction: column; max-height: calc(100vh - 26px - var(--wp-admin--admin-bar--height, 0px)); }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { padding: 0 !important; }
.wc-block-mini-cart__title {
	margin: 0 !important;
	padding: 20px 64px 16px 22px !important;
	font-size: 1.375rem !important;
	line-height: 1.1;
	border-bottom: 1px solid var(--wp--preset--color--border);
	mask-image: none !important;
	-webkit-mask-image: none !important;
}
.wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block { font-family: var(--wp--preset--font-family--mono); font-size: .8125rem; font-weight: 500; color: var(--wp--preset--color--secondary-light); letter-spacing: .04em; }
.wc-block-components-drawer__close-wrapper { position: absolute; top: 12px; right: 12px; z-index: 2; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	position: static !important;
	width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	color: var(--wp--preset--color--contrast) !important;
	display: grid !important;
	place-items: center;
	box-shadow: none !important;
	transform: none !important;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:hover { border-color: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--accent) !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg { fill: currentColor; width: 20px; height: 20px; }
.wc-block-mini-cart__items { flex: 0 1 auto !important; overflow-y: auto; padding: 0 22px !important; }
.wc-block-mini-cart__products-table { margin: 0 !important; }
.wc-block-mini-cart-items .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: 0 14px;
	padding: 16px 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--border) !important;
}
.wc-block-mini-cart-items .wc-block-cart-items__row:last-child { border-bottom: 0 !important; }
.wc-block-mini-cart-items .wc-block-cart-items__row td { padding: 0 !important; border: 0 !important; }
.wc-block-mini-cart-items .wc-block-cart-item__image img { width: 72px !important; height: 72px; object-fit: cover; border-radius: 10px; }
.wc-block-mini-cart-items .wc-block-cart-item__wrap { display: flex; flex-direction: column; gap: 4px; }
.wc-block-mini-cart-items .wc-block-cart-item__wrap > * { margin: 0 !important; }
.wc-block-mini-cart-items .wc-block-components-product-name { font-size: 1rem !important; line-height: 1.2; }
.wc-block-mini-cart-items .wc-block-cart-item__prices { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; color: var(--wp--preset--color--contrast-muted); }
.wc-block-mini-cart-items .wc-block-components-product-metadata { font-size: .75rem; }
.wc-block-mini-cart-items .wc-block-components-product-metadata__description { display: none; }
.wc-block-mini-cart-items .wc-block-cart-item__quantity { display: flex; align-items: center; gap: 6px; margin-top: 6px !important; }
.wc-block-mini-cart-items .wc-block-components-quantity-selector { width: 104px; height: 36px; display: flex; align-items: center; margin: 0 !important; }
.wc-block-mini-cart-items .wc-block-components-quantity-selector input { height: 34px; font-size: .875rem; }
.wc-block-mini-cart-items .wc-block-components-quantity-selector__button { min-width: 32px; align-self: stretch; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; }
.wc-block-mini-cart-items .wc-block-cart-item__remove-link { display: inline-grid !important; place-items: center; width: 36px; height: 36px; border-radius: 50%; }
.wc-block-mini-cart-items .wc-block-cart-item__total { text-align: right; }
.wc-block-mini-cart-items .wc-block-cart-item__total .wc-block-components-product-price { font-family: var(--wp--preset--font-family--mono); font-size: .9375rem; }
.wc-block-mini-cart-items .wc-block-components-sale-badge { margin-top: 6px; }
.wc-block-mini-cart__footer {
	padding: 18px 22px 22px !important;
	border-top: 1px solid var(--wp--preset--color--border-strong) !important;
	background: var(--wp--preset--color--surface-raised);
	box-shadow: none !important;
	margin-top: 0 !important;
}
.wc-block-mini-cart__footer-subtotal { margin: 0 0 2px !important; }
.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__label { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.0625rem; }
.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value { font-family: var(--wp--preset--font-family--mono); font-size: 1.25rem; color: var(--wp--preset--color--accent); }
.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__description { color: var(--wp--preset--color--secondary-light); font-size: .75rem; }
.wc-block-mini-cart__footer-actions { gap: 10px !important; margin-top: 14px !important; }
.wc-block-mini-cart__footer-actions .wc-block-components-button { min-height: var(--ns-btn-h) !important; padding: 0 18px !important; font-size: .9375rem !important; flex: 1 1 0; }
.wc-block-mini-cart__footer-checkout { flex: 1.4 1 0 !important; }
.wc-block-mini-cart__empty-cart-wrapper { padding: 40px 22px 28px !important; }
.wc-block-mini-cart__empty-cart-wrapper p { font-family: var(--wp--preset--font-family--display); font-size: 1.25rem; }
.wc-block-mini-cart__shopping-button { min-height: var(--ns-btn-h) !important; }

/* =========================================================
   Single product — purchase panel
   ========================================================= */
.ns-pdp__buy { padding: clamp(18px, 2.5vw, 24px) !important; }
.ns-pdp__buy .wp-block-woocommerce-add-to-cart-with-options-variation-selector { padding-bottom: 18px; border-bottom: 1px solid var(--wp--preset--color--border); }
.ns-pdp__buy .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute > .wp-block-group { margin: 0 !important; gap: 10px !important; }
.ns-pdp__buy .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute + .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute { margin-top: 14px; }
.ns-pdp__buy .wc-block-product-filter-chips__item { min-height: 44px; padding: 0 18px !important; font-size: .9375rem !important; }
.ns-pdp__buy .wc-block-product-filter-chips__item:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.ns-pdp__buy .wc-block-components-product-stock-indicator { min-height: 20px; margin: 2px 0 0 !important; }
.ns-pdp__buy .wc-block-components-product-stock-indicator:empty { display: none; }

/* Enabled vs disabled Add to cart */
.ns-pdp__buy button[type="submit"]:not(.disabled):not(:disabled) { box-shadow: 0 12px 34px -14px var(--ns-glow); }
.ns-pdp__buy.is-invalid button[type="submit"],
.ns-pdp__buy button[type="submit"].disabled,
.ns-pdp__buy button[type="submit"]:disabled {
	opacity: 1 !important;
	background: transparent !important;
	color: var(--wp--preset--color--secondary-light) !important;
	border: 1px dashed var(--wp--preset--color--border-strong) !important;
	box-shadow: none !important;
	transform: none !important;
	cursor: not-allowed;
}
.ns-pdp__hint {
	display: none;
	/* A helper note under the purchase card, aligned with the card's content. */
	margin: 14px 0 0 !important;
	padding-inline: clamp(18px, 2.5vw, 24px);
	align-items: baseline;
	gap: 10px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .71875rem;
	line-height: 1.6;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary-light);
}
.ns-pdp__hint::before { content: ""; flex: 0 0 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); transform: translateY(-1px); }
.ns-pdp__summary:has(.ns-pdp__buy.is-invalid) .ns-pdp__hint { display: flex; }
.ns-pdp__summary .ns-pdp__hint + * { margin-block-start: 22px; }
.ns-pdp__summary:has(.ns-pdp__buy.is-invalid .wc-block-product-filter-chips__item[aria-checked="true"]) .ns-pdp__hint { display: none; }

/* Lab panel only when a verified report exists */
.ns-pdp-lab:not(:has(.nsc-reports)) { display: none !important; }

/* Quantity steppers: a single flex pill everywhere (cart, mini-cart, product). */
.wc-block-components-quantity-selector {
	display: flex !important;
	align-items: stretch;
	width: auto !important;
	min-width: 0;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	flex: 1 1 auto;
	min-width: 0 !important;
	width: 2.75em !important;
	order: 2;
	padding: 0 !important;
	text-align: center;
	-moz-appearance: textfield;
}
.wc-block-components-quantity-selector input::-webkit-inner-spin-button,
.wc-block-components-quantity-selector input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	position: static !important;
	flex: 0 0 38px;
	min-width: 38px !important;
	padding: 0 !important;
	display: grid;
	place-items: center;
	font-size: 1rem;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus { order: 1; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus { order: 3; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .3 !important; }
.wc-block-cart .wc-block-components-quantity-selector { width: 128px !important; }
.wc-block-mini-cart-items .wc-block-components-quantity-selector { width: 112px !important; }
.ns-pdp__buy .wc-block-components-quantity-selector { width: 140px !important; }

/* Cart: price never overlaps the name on small screens. */
.wc-block-cart .wc-block-cart-item__total { position: static !important; }
.wc-block-cart-items__row .wc-block-cart-item__product { padding-right: 0 !important; }

/* Cross-sell buttons align with the card text. */
.wc-block-cart__main .wp-block-woocommerce-product-collection .wc-block-components-product-button { display: flex !important; flex-direction: column; align-items: flex-start !important; }

/* Legacy grid sale badge: compact label, not a full-width bar. */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-onsale { right: auto !important; width: auto !important; }

/* Mini-cart: close button inside the sheet; show line totals only. */
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { position: relative !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper { position: absolute !important; top: 12px !important; right: 12px !important; left: auto !important; margin: 0 !important; }
.wc-block-mini-cart-items .wc-block-cart-item__prices { display: none; }
.wc-block-mini-cart-items .wc-block-cart-item__wrap > .wc-block-cart-item__prices { display: none !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper { width: auto !important; height: auto !important; }
@media (max-width: 699px) {
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 84px minmax(0, 1fr) !important; }
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { grid-column: 2 / 3 !important; grid-row: 1 !important; }
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-column: 2 / 3 !important; grid-row: 2 !important; margin-top: 10px; }
}

/* Mini-cart sheet v2: the drawer stays where WooCommerce animates it; the
   visible panel is the inset content box. */
.wc-block-mini-cart__drawer.wc-block-components-drawer {
	top: 0 !important;
	right: auto !important;
	width: min(464px, 100vw) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
	max-height: 100vh !important;
}
.admin-bar .wc-block-mini-cart__drawer.wc-block-components-drawer { top: var(--wp-admin--admin-bar--height, 0px) !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
	margin: 12px !important;
	border: 1px solid var(--wp--preset--color--border-strong) !important;
	border-radius: var(--ns-panel-radius) !important;
	background: var(--wp--preset--color--surface) !important;
	overflow: hidden !important;
	box-shadow: 0 40px 120px -20px color-mix(in srgb, var(--wp--custom--color--shadow) 90%, transparent);
	max-height: calc(100vh - 24px - var(--wp-admin--admin-bar--height, 0px)) !important;
}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper { inset: 12px 14px auto auto !important; transform: none !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { margin: 0 !important; inset: auto !important; }

/* Mini-cart with many items: the list scrolls inside the sheet while the
   title and the checkout footer stay visible. */
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { display: flex !important; flex-direction: column; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { display: flex; flex-direction: column; min-height: 0 !important; flex: 1 1 auto; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block { min-height: 0 !important; flex: 1 1 auto; max-height: calc(100vh - 26px - var(--wp-admin--admin-bar--height, 0px)); max-height: calc(100dvh - 26px - var(--wp-admin--admin-bar--height, 0px)); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { flex: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items { flex: 1 1 auto !important; min-height: 0; overflow-y: auto !important; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--border-strong) transparent; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { flex: none; position: relative; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items:not(:only-child) + .wc-block-mini-cart__footer::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -24px;
	height: 24px;
	background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--wp--preset--color--surface) 90%, transparent));
	pointer-events: none;
}
/* Demo store notice floats at the bottom; leave room so it never hides the last content. */
body.woocommerce-demo-store:not(:has(.woocommerce-store-notice[style*="none"])) { padding-bottom: 72px; }

/* Account forms: password visibility toggle meets the 24px minimum target size. */
.woocommerce form .show-password-input { min-width: 24px; min-height: 24px; }
