/*
Theme Name: Az
Theme URI: https://example.com/az
Author: Aivaras Az
Author URI: https://example.com
Description: Standalone theme.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: az-theme
*/

:root {
	--az-font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	/* Body copy / UI text vs headings & emphasis (pair with Montserrat 300 + 500) */
	--az-font-weight-normal: 300;
	--az-font-weight-emphasis: 500;
	--az-space-1: 8px;
	--az-space-2: 12px;
	--az-space-3: 16px;
	--az-space-4: 24px;
	/* Logo → social in footer brand; payment row sits below nav, above copyright */
	--az-footer-brand-gap: calc(var(--az-space-4) + var(--az-space-3));
	/* Dropdown rows: lang, shop sort, price panel body */
	--az-dropdown-row-pad-y: var(--az-space-1);
	--az-dropdown-row-pad-x: var(--az-space-3);
	/* Full-screen filter / lang panels: horizontal inset (matches .az-sheet-head padding) */
	--az-shop-filter-sheet-pad-x: var(--az-space-4);
	--az-color-primary: #f3f3f3;
	/* Dropdown row hover: ~10% darker than primary (fixed fallback if no color-mix) */
	--az-color-primary-dark-10: #dbdbdb;
	/* Panels, inputs, drawers (shared with header shell) */
	--az-color-surface: #ffffff;
	/* Hairlines: section rules, inputs, cart rows, drawer chrome */
	--az-border-divider: #dfdfdf;
	/* Image / thumb placeholders before load */
	--az-surface-placeholder: #e8e8e8;
	--az-text-secondary: rgba(0, 0, 0, 0.72);
	--az-text-tertiary: rgba(0, 0, 0, 0.45);
	--az-logo-max-height: 73px;
	--az-content-max-width-lg: 1400px;
	--az-content-max-width-md: 800px;

	--az-pad-x: var(--az-space-4);
	--az-pad-y: 48px;
	--az-pad-x-mobile: var(--az-space-2);
	--az-pad-y-mobile: 24px;

	/* Shadows (reuse; opacity tokens for consistency) */
	--az-shadow-color-subtle: rgba(0, 0, 0, 0.08);
	--az-shadow-color-soft: rgba(0, 0, 0, 0.14);
	--az-shadow-color-strong: rgba(0, 0, 0, 0.2);
	--az-shadow-sm: 0 1px 3px var(--az-shadow-color-subtle);
	--az-shadow-md: 0 4px 12px var(--az-shadow-color-soft);
	/* Lift: compact drop under the card */
	--az-shadow-product-hover: 0 8px 6px -2px rgba(0, 0, 0, 0.15);

	/* Motion: easing + durations (reuse across components) */
	--az-ease-soft: cubic-bezier(0.33, 0.11, 0.27, 1);
	--az-ease-default: ease;
	--az-duration-fast: 0.2s;
	--az-duration-panel: 0.24s;
	/* Cart drawer + mobile nav drawer (same slide timing) */
	--az-header-drawer-duration: 0.4s;
	--az-header-drawer-ease: var(--az-ease-default);
	/* Header / drawers: low z-index stack (root stacking) */
	--az-z-header: 10;
	--az-z-overlay: 12;
	--az-z-drawer: 16;
	--az-z-lang-dropdown: 22;
	--az-z-shop-filter-sheet: 24;
	--az-z-lang-sheet: 26;
	/* Fixed cookie bar: below .site-header-group (10) so side cart overlay (12) + drawer (16) paint on top */
	--az-z-cookie-consent: 9;

	/* Home product card: rotate starts at 20% of zoom; on leave zoom starts at 20% of rotate-back */
	--az-product-hover-ease: var(--az-ease-soft);
	--az-product-hover-seq-duration: 2.1s;
	--az-product-zoom-dur: calc(var(--az-product-hover-seq-duration) * 0.45);
	--az-product-rotate-dur: calc(var(--az-product-hover-seq-duration) * 0.55);
	--az-product-rotate-delay-enter: calc(var(--az-product-zoom-dur) * 0.2);
	--az-product-zoom-delay-leave: calc(var(--az-product-rotate-dur) * 0.2);
	--az-product-hover-tilt: 2deg;
	--az-product-hover-zoom: 1.06;
	--az-product-hover-shadow: var(--az-shadow-product-hover);
	--az-product-shine-duration: 4.25s;
	--az-product-shine-delay: 0s;
	--az-product-shine-highlight: rgba(255, 255, 255, 0.32);
	--az-product-secondary-fade: 0.45s;

	/* Primary nav: space between items (desktop row + mobile column) */
	--az-header-menu-gap: calc(var(--az-space-4) + var(--az-space-2));

	/* Header text links */
	--az-header-link-color: #000000;
	--az-header-underline-gap: 8px;
	--az-header-underline-duration: 0.28s;
	--az-header-underline-ease: var(--az-ease-soft);
	--az-header-icon-zoom-duration: 0.22s;
	--az-header-icon-zoom-scale: 1.12;
	/* Gap between trigger and panel: padding-top on .az-dropdown-bridge (transparent) */
	--az-lang-dropdown-bridge: 4px;
	/* Primary main min-height: set by header-mobile-menu.js (100vh − admin bar − preheader/header − notices − footer) */
	--az-site-main-min-height: 0px;
	--az-admin-bar-height: 0px;
	/* Material Symbols axis (Outlined + Rounded); range 100–700 from Google Fonts */
	--az-material-symbol-wght: 200;
	/* Search SVG (stroke icon); user units in 24×24 viewBox */
	--az-search-icon-stroke: 1.1;
}

@supports (color: color-mix(in srgb, white, black)) {
	:root {
		--az-color-primary-dark-10: color-mix(in srgb, var(--az-color-primary) 90%, #000000);
	}
}

/* Dark theme: html[data-az-theme] set in header (localStorage or prefers-color-scheme) */
html[data-az-theme="dark"] {
	color-scheme: dark;
	color: var(--az-text-secondary);

	/* Page chrome / body: dark gray (html background is black below) */
	--az-color-primary: #141414;
	--az-color-primary-dark-10: #1f1f1f;
	--az-color-surface: #1c1c1c;
	--az-border-divider: rgba(255, 255, 255, 0.12);
	--az-surface-placeholder: #2a2a2a;
	--az-text-secondary: rgba(255, 255, 255, 0.82);
	--az-text-tertiary: rgba(255, 255, 255, 0.5);
	--az-shadow-color-subtle: rgba(0, 0, 0, 0.35);
	--az-shadow-color-soft: rgba(0, 0, 0, 0.45);
	--az-shadow-color-strong: rgba(0, 0, 0, 0.55);
	--az-shadow-product-hover: 0 8px 6px -2px rgba(0, 0, 0, 0.45);
	--az-product-shine-highlight: rgba(255, 255, 255, 0.06);
	--az-header-link-color: #f0f0f0;

	--az-button-bg: #f2f2f2;
	--az-button-text: #111111;

	background: #000000;
}

/* Visually hidden label (search form, etc.) — same idea as WP core */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Material Symbols Rounded — font enqueued in functions.php (Google Fonts); use for all icons */
.material-symbols-rounded {
	font-family: "Material Symbols Rounded";
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	direction: ltr;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-feature-settings: "liga";
	-webkit-font-feature-settings: "liga";
	font-variation-settings:
		"FILL" 0,
		"wght" var(--az-material-symbol-wght),
		"GRAD" 0,
		"opsz" 24;
}

/* Must follow .material-symbols-rounded so display beats inline-block on hidden icon */
.header-theme-toggle .material-symbols-rounded.header-theme-toggle__icon--when-dark {
	display: none;
}

html[data-az-theme="dark"] .header-theme-toggle .material-symbols-rounded.header-theme-toggle__icon--when-light {
	display: none;
}

html[data-az-theme="dark"] .header-theme-toggle .material-symbols-rounded.header-theme-toggle__icon--when-dark {
	display: inline-block;
}

@media (max-width: 1024px) {
	:root {
		--az-pad-x: var(--az-pad-x-mobile);
		--az-pad-y: var(--az-pad-y-mobile);
	}
}

.site-header-group {
	position: relative;
	z-index: var(--az-z-header);
}

.site-header-tagline.header-row-first {
	background: var(--az-color-primary);
}

.site-header-shell {
	position: static;
	width: 100%;
	padding: 0;
	background: var(--az-color-surface);
	box-shadow: none;
	transition: box-shadow var(--az-duration-fast) var(--az-ease-default);
}

.site-header-shell.is-scrolled {
	box-shadow: var(--az-shadow-md);
}

body.is-header-fixed .site-header-shell {
	position: fixed;
	top: 0;
	left: var(--az-space-1);
	right: var(--az-space-1);
	width: auto;
	max-width: none;
	z-index: var(--az-z-header);
}

.site-header {
	background: var(--az-color-primary);
	transition: background-color var(--az-duration-fast) var(--az-ease-default);
}

.site-header-shell.is-scrolled .site-header {
	background: var(--az-color-surface);
}

.header-row-first {
	padding: 0 var(--az-pad-x) 0 var(--az-pad-x);
	border-bottom: 1px solid var(--az-border-divider);
}

.header-row-second {
	padding: var(--az-pad-y) var(--az-pad-x);
	transition: padding var(--az-duration-fast) var(--az-ease-default);
}

.site-header-shell.is-scrolled .header-row-second {
	padding-top: max(var(--az-space-2), calc(var(--az-pad-y) - 12px));
	padding-bottom: max(var(--az-space-2), calc(var(--az-pad-y) - 12px));
}

.header-row-second > .site-section-inner {
	position: relative;
}

html {
	background: #ffffff;
}

body {
	padding-top: 0;
	background: var(--az-color-primary);
	font-family: var(--az-font-sans);
	font-weight: var(--az-font-weight-normal);
}

/* Match WP admin bar height for viewport calcs (front end when logged in) */
body.admin-bar {
	--az-admin-bar-height: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--az-admin-bar-height: 46px;
	}
}

b,
strong {
	font-weight: var(--az-font-weight-emphasis);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: var(--az-font-weight-emphasis);
}

.site-tagline {
	text-align: center;
	margin: 0;
	padding-top: var(--az-space-2);
	padding-bottom: var(--az-space-2);
	font-size: 0.875rem;
	line-height: 1.3;
}

.header-inner {
	display: flex;
	align-items: center;
	gap: var(--az-space-3);
}

.header-left,
.header-right {
	flex: 1 1 0;
}

.header-right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.header-center {
	flex: 0 0 auto;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.header-left nav,
.header-left ul,
.header-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-inline-start: 0;
	padding-inline-start: 0;
}

.header-left > div {
	margin: 0;
	padding: 0;
}

.header-left nav,
.header-left nav > div,
.header-left nav > div > ul,
.header-left nav > ul,
.header-left > ul,
.header-left .header-menu,
.header-left .menu {
	margin: 0 !important;
	padding: 0 !important;
	padding-inline-start: 0 !important;
}

.header-left li {
	margin: 0 !important;
	padding: 0 !important;
}

#header-mobile-menu > .header-menu > ul {
	margin-left: 0 !important;
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
}

#header-mobile-menu > .header-menu > ul > li:first-child {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.header-left nav ul,
.header-left > div > ul,
.header-left > ul,
.header-menu,
.header-menu > ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: var(--az-header-menu-gap);
	justify-content: flex-start;
}

.header-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.header-menu a,
.header-search-dropdown__trigger,
.header-theme-toggle,
.cart-link {
	position: relative;
	color: var(--az-header-link-color);
	text-decoration: none;
}

.header-menu a {
	padding-bottom: var(--az-header-underline-gap);
}

.header-search-dropdown__trigger,
.header-theme-toggle,
.cart-link {
	padding-bottom: 0;
}

.header-search-dropdown__trigger,
.header-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 0;
	padding: 0;
	background: none;
	font: inherit;
	cursor: pointer;
	box-sizing: border-box;
	color: var(--az-header-link-color);
	user-select: none;
}

.header-theme-toggle {
	margin-inline-end: var(--az-space-3);
	line-height: 0;
}

.header-search-dropdown__trigger:focus-visible,
.header-theme-toggle:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 3px;
}

.header-menu a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--az-header-underline-duration) var(--az-header-underline-ease);
}

.header-menu a:hover::after,
.header-menu a:focus-visible::after {
	transform: scaleX(1);
}

.header-menu .current-menu-item > a::after,
.header-menu .current_page_item > a::after {
	transform: scaleX(1);
}

html[dir="rtl"] .header-menu a::after {
	transform-origin: right center;
}

@media (prefers-reduced-motion: reduce) {
	.header-menu a::after {
		transition-duration: 0.01ms;
	}
}

/* Header icons: zoom on hover/focus (no underline) */
.header-search-dropdown__trigger .header-search-icon,
.header-theme-toggle .header-theme-toggle__icon,
.cart-link .cart-icon {
	transform: scale(1);
	transform-origin: center;
	transition: transform var(--az-header-icon-zoom-duration) var(--az-header-underline-ease);
	will-change: transform;
}

.header-search-dropdown__trigger:hover .header-search-icon,
.header-search-dropdown__trigger:focus-visible .header-search-icon,
.header-theme-toggle:hover .header-theme-toggle__icon,
.header-theme-toggle:focus-visible .header-theme-toggle__icon,
.cart-link:hover .cart-icon,
.cart-link:focus-visible .cart-icon {
	transform: scale(var(--az-header-icon-zoom-scale));
}

@media (prefers-reduced-motion: reduce) {
	.header-search-dropdown__trigger .header-search-icon,
	.header-theme-toggle .header-theme-toggle__icon,
	.cart-link .cart-icon {
		transition: none;
		will-change: auto;
	}

	.header-search-dropdown__trigger:hover .header-search-icon,
	.header-search-dropdown__trigger:focus-visible .header-search-icon,
	.header-theme-toggle:hover .header-theme-toggle__icon,
	.header-theme-toggle:focus-visible .header-theme-toggle__icon,
	.cart-link:hover .cart-icon,
	.cart-link:focus-visible .cart-icon {
		transform: none;
	}
}

.site-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.site-logo-link img {
	display: block;
	max-height: var(--az-logo-max-height);
	transition: max-height var(--az-duration-panel) var(--az-ease-default);
}

/* Header: light/dark logo assets (html[data-az-theme] set in header.php) */
.site-logo-link img.site-logo--theme-dark {
	display: none;
}

html[data-az-theme="dark"] .site-logo-link img.site-logo--theme-light {
	display: none;
}

html[data-az-theme="dark"] .site-logo-link img.site-logo--theme-dark {
	display: block;
}

.site-header-shell.is-scrolled .site-logo-link img {
	max-height: calc(var(--az-logo-max-height) * 0.7);
}

.cart-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.cart-icon-badge-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.cart-link .cart-icon {
	font-size: 26px;
	vertical-align: middle;
}

.header-theme-toggle .header-theme-toggle__icon {
	font-size: 26px;
	font-variation-settings: "FILL" 0, "wght" var(--az-material-symbol-wght), "GRAD" 0, "opsz" 24;
	vertical-align: middle;
}

.cart-count-badge {
	position: absolute;
	top: -5px;
	right: -8px;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 5px;
	font-size: 0.625rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.25rem;
	font-family: var(--az-font-sans);
	text-align: center;
	color: var(--az-button-text);
	background: var(--az-button-bg);
	border-radius: 999px;
	box-sizing: border-box;
	pointer-events: none;
}

html[dir="rtl"] .cart-count-badge {
	right: auto;
	left: -8px;
}

.header-language-switcher {
	margin-right: var(--az-space-3);
	display: inline-flex;
	align-items: center;
}

.header-language-switcher .wpm-language-switcher,
.header-language-switcher .wpm-switcher-dropdown,
.header-language-switcher-mobile .wpm-language-switcher,
.header-language-switcher-mobile .wpm-switcher-dropdown {
	margin: 0;
	display: inline-flex;
	align-items: center;
}

.header-language-switcher .wpm-switcher-dropdown > li,
.header-language-switcher-mobile .wpm-switcher-dropdown > li {
	display: flex;
	align-items: center;
}

.header-language-switcher .wpm-language-dropdown-trigger,
.header-language-switcher-mobile .wpm-language-dropdown-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.2em;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-weight: var(--az-font-weight-normal);
	cursor: pointer;
	color: var(--az-header-link-color);
	line-height: 1.25;
	min-height: 1.25em;
	padding-bottom: 0;
	box-sizing: border-box;
	text-align: start;
}

.header-language-switcher .wpm-language-dropdown-trigger:focus-visible,
.header-language-switcher-mobile .wpm-language-dropdown-trigger:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 3px;
}

.header-language-switcher .wpm-language-chevron,
.header-language-switcher-mobile .wpm-language-chevron {
	font-size: 22px;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 1px;
	transition: transform var(--az-duration-fast) var(--az-ease-default);
}

.header-language-switcher .wpm-item-language-main.is-open .wpm-language-chevron,
.header-language-switcher-mobile .wpm-item-language-main.is-open .wpm-language-chevron {
	transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
	.header-language-switcher .wpm-language-chevron,
	.header-language-switcher-mobile .wpm-language-chevron {
		transition: none;
	}
}

/*
 * Shared inner gap: .az-dropdown-bridge (transparent padding-top) inside positioning wrap.
 * Language: .wpm-language-dropdown-wrap = outer; open = .wpm-item-language-main.is-open (header-mobile-menu.js).
 */
.az-dropdown-bridge {
	padding-top: var(--az-lang-dropdown-bridge);
	margin: 0;
	width: 100%;
	box-sizing: border-box;
	background: transparent;
}

.header-language-switcher .wpm-language-dropdown-wrap,
.header-language-switcher-mobile .wpm-language-dropdown-wrap {
	display: none;
}

.header-language-switcher .wpm-item-language-main.is-open .wpm-language-dropdown-wrap,
.header-language-switcher-mobile .wpm-item-language-main.is-open .wpm-language-dropdown-wrap {
	display: block;
}

.header-language-switcher .wpm-language-dropdown-wrap {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
	background: transparent;
	z-index: var(--az-z-lang-dropdown);
	width: max-content;
	max-width: min(calc(100vw - 2 * var(--az-pad-x)), 20rem);
	box-sizing: border-box;
}

.header-language-switcher .wpm-language-dropdown-wrap .wpm-language-dropdown,
.header-language-switcher-mobile .wpm-language-dropdown-wrap .wpm-language-dropdown {
	position: static;
	left: auto;
	top: auto;
	transform: none;
	margin-left: 0;
}

.header-language-switcher .wpm-item-language-main.is-open .wpm-language-dropdown,
.header-language-switcher-mobile .wpm-item-language-main.is-open .wpm-language-dropdown {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	margin-top: 0;
	margin-left: 0;
	background: var(--az-color-primary);
	box-shadow: var(--az-shadow-md);
	border-radius: 2px;
	z-index: 1;
	min-width: 4.75rem;
	box-sizing: border-box;
}

/* Language rows: same layout as .az-shop-dropdown__item / .az-shop-dropdown__link (incl. body-portaled mobile wrap). */
.header-language-switcher .wpm-language-dropdown li,
.header-language-switcher-mobile .wpm-language-dropdown li,
body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled .wpm-language-dropdown li {
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
}

.header-language-switcher .wpm-language-dropdown a,
.header-language-switcher-mobile .wpm-language-dropdown a,
body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled .wpm-language-dropdown a {
	position: static;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: start;
	width: 100%;
	min-height: 2.25rem;
	padding: var(--az-dropdown-row-pad-y) var(--az-shop-filter-sheet-pad-x);
	box-sizing: border-box;
	line-height: 1.25;
	border-radius: 2px;
	color: var(--az-header-link-color);
	text-decoration: none;
}

.header-language-switcher .wpm-language-dropdown a:hover,
.header-language-switcher .wpm-language-dropdown a:focus-visible,
.header-language-switcher-mobile .wpm-language-dropdown a:hover,
.header-language-switcher-mobile .wpm-language-dropdown a:focus-visible,
body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled .wpm-language-dropdown a:hover,
body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled .wpm-language-dropdown a:focus-visible {
	text-decoration: none;
	background-color: var(--az-color-primary-dark-10);
}

.header-language-switcher .wpm-language-dropdown a:focus-visible,
.header-language-switcher-mobile .wpm-language-dropdown a:focus-visible,
body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled .wpm-language-dropdown a:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: -2px;
}

.header-language-switcher .wpm-language-dropdown a.is-active,
.header-language-switcher-mobile .wpm-language-dropdown a.is-active,
body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled .wpm-language-dropdown a.is-active {
	font-weight: var(--az-font-weight-emphasis);
	text-decoration: none;
	background-color: var(--az-color-primary-dark-10);
}

/*
 * Mobile lang: fullscreen viewport sheet. Wrap is moved to body while open (az-lang-dropdown-wrap--portaled)
 * so position:fixed is not trapped by transform on .header-mobile-drawer.
 */
@media (max-width: 1024px) {
	.header-language-switcher-mobile .wpm-item-language-main {
		position: static;
	}

	.header-language-switcher-mobile .wpm-language-dropdown-wrap,
	body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled {
		position: fixed;
		inset: 0;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100%;
		max-width: none;
		min-height: 100vh;
		min-height: 100dvh;
		height: auto;
		margin: 0;
		transform: none;
		background: var(--az-color-primary);
		z-index: var(--az-z-lang-sheet);
	}

	.header-language-switcher-mobile .wpm-item-language-main.is-open .wpm-language-dropdown-wrap,
	body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled {
		display: flex;
		flex-direction: column;
	}

	.header-language-switcher-mobile .wpm-language-dropdown-wrap > .az-dropdown-bridge,
	body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled > .az-dropdown-bridge {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		padding-top: 0;
	}

	.header-language-switcher-mobile .wpm-item-language-main.is-open .wpm-language-dropdown,
	body > .wpm-language-dropdown-wrap.az-lang-dropdown-wrap--portaled .wpm-language-dropdown {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		width: 100%;
		max-width: none;
		border-radius: 0;
		box-shadow: none;
		/* Match .az-shop-dropdown__list (scrollable column). */
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 0;
	}
}

.header-language-switcher select.wpm-language-switcher,
.header-language-switcher-mobile select.wpm-language-switcher {
	min-height: calc(1.25em + var(--az-header-underline-gap));
	padding: 0 calc(var(--az-space-2) + var(--az-select-chevron-size) + var(--az-space-1)) 0 var(--az-space-2);
	color: var(--az-header-link-color);
	background-color: var(--az-color-surface);
	background-image: var(--az-select-chevron-svg);
	background-repeat: no-repeat;
	background-position: right var(--az-space-2) center;
	background-size: var(--az-select-chevron-size) var(--az-select-chevron-size);
	border: 1px solid var(--az-border-divider);
	border-radius: var(--az-control-radius);
	font: inherit;
	line-height: 1.25;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.header-language-switcher-mobile {
	display: none;
}

.header-search-dropdown {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex: 0 1 auto;
	min-width: 0;
	margin-right: var(--az-space-3);
}

.header-search-dropdown__root {
	position: relative;
	display: flex;
	align-items: center;
}

.header-search-dropdown__trigger .header-search-icon {
	display: block;
	width: 26px;
	height: 26px;
	flex-shrink: 0;
}

.header-search-icon .header-search-icon-stroke {
	stroke-width: var(--az-search-icon-stroke);
	vector-effect: non-scaling-stroke;
}


:root {
	--az-button-bg: #000000;
	--az-button-text: #ffffff;
	--az-control-radius: 0;
	--az-control-padding-y: 12px;
	--az-control-padding-x: 14px;
	/* Native <select> chevron (Material keyboard_arrow_down); fill follows control text */
	--az-select-chevron-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E");
	--az-select-chevron-size: 1.25rem;
	/* Native range (.az-slider); shop price filter uses the same track/thumb sizing */
	--az-slider-track-height: 0.5rem;
	--az-slider-thumb-size: 0.875rem;
	--az-button-padding-y: 14px;
	--az-button-padding-x: 17px;
	/* px beats WooCommerce / theme inherit (often 16px+ on .button) */
	--az-button-font-size: 15px;
	--az-button-font-weight: var(--az-font-weight-emphasis);
	/* Compact buttons (.button--primary.button--sm / .button--secondary.button--sm) */
	--az-button-font-size-sm: 0.75rem;
	--az-button-padding-y-sm: var(--az-space-1);
	--az-button-padding-x-sm: var(--az-space-2);
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button,
.wp-block-button__link,
.wp-element-button,
.added_to_cart,
.single_add_to_cart_button {
	background: var(--az-button-bg);
	border: 1px solid var(--az-button-bg);
	color: var(--az-button-text);
	border-radius: var(--az-control-radius) !important;
	padding: var(--az-button-padding-y) var(--az-button-padding-x);
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-button-font-weight);
	line-height: 1.25;
	cursor: pointer;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--az-space-1);
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
.added_to_cart:hover,
.single_add_to_cart_button:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%);
	border-radius: var(--az-control-radius) !important;
}

button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible,
.button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible,
.added_to_cart:focus-visible,
.single_add_to_cart_button:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
	border-radius: var(--az-control-radius) !important;
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
.button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

/* Primary (solid black): default for button, .button, WooCommerce CTAs. Optional explicit class for parity with --secondary. */
.button--primary {
	background: var(--az-button-bg);
	border: 1px solid var(--az-button-bg);
	color: var(--az-button-text);
	border-radius: var(--az-control-radius) !important;
}

.button--primary:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%);
	border-radius: var(--az-control-radius) !important;
}

.button--primary:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
	border-radius: var(--az-control-radius) !important;
}

a.button.button--primary:visited {
	color: var(--az-button-text);
}

/* Secondary (surface + black border): use with .button — .button:hover is overridden below */
.button.button--secondary {
	background: var(--az-color-surface);
	color: var(--az-button-bg);
	border: 1px solid var(--az-button-bg);
	border-radius: var(--az-control-radius) !important;
}

.button.button--secondary:hover {
	background: color-mix(in srgb, var(--az-button-bg) 10%, var(--az-color-surface));
	border-radius: var(--az-control-radius) !important;
}

.button.button--secondary:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
	border-radius: var(--az-control-radius) !important;
}

.button.button--secondary:visited {
	color: var(--az-button-bg);
}

/*
 * Primary / secondary CTAs: shared type + corner radius (price filter, empty shop, global .button).
 * !important beats WooCommerce / block theme (e.g. --wc-form-border-radius on a.button).
 */
.button.button--primary,
.button.button--secondary,
.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button,
.az-shop-empty a.button.button--primary {
	font-weight: var(--az-button-font-weight) !important;
	line-height: 1.25 !important;
	font-family: inherit !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	border-radius: var(--az-control-radius) !important;
}

/* Compact primary / secondary (cookie bar, dense toolbars) */
.button.button--primary.button--sm,
.button.button--secondary.button--sm {
	padding: var(--az-button-padding-y-sm) var(--az-button-padding-x-sm) !important;
	font-size: var(--az-button-font-size-sm) !important;
	font-weight: var(--az-font-weight-emphasis) !important;
	line-height: 1.25 !important;
	min-height: 0;
}

/* Full-width stacked actions (cart footer, forms) */
.button--block {
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select {
	border-radius: var(--az-control-radius);
	border: 1px solid var(--az-border-divider);
	padding: var(--az-control-padding-y) var(--az-control-padding-x);
	background: var(--az-color-surface);
	color: var(--az-header-link-color);
	font: inherit;
}

input[type="text"]:focus-visible,
input[type="email"]:focus-visible,
input[type="password"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="number"]:focus-visible,
input[type="search"]:focus-visible,
input[type="url"]:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

/* No native clear (×) on search fields — header dropdown, components kit, searchform */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

input[type="search"]::-ms-clear {
	display: none;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: calc(var(--az-control-padding-x) + var(--az-select-chevron-size) + var(--az-space-1));
	background-image: var(--az-select-chevron-svg);
	background-repeat: no-repeat;
	background-position: right var(--az-control-padding-x) center;
	background-size: var(--az-select-chevron-size) var(--az-select-chevron-size);
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

textarea {
	resize: vertical;
	min-height: calc(1lh + 2 * var(--az-control-padding-y));
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

/*
 * Native range slider: .az-slider > .az-slider__input (+ optional .az-slider__value output).
 */
.az-slider {
	display: flex;
	align-items: center;
	gap: var(--az-space-2);
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.az-slider__input {
	-webkit-appearance: none;
	appearance: none;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	height: 2.25rem;
	margin: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	box-sizing: border-box;
	cursor: pointer;
}

.az-slider__input:focus {
	outline: none;
}

.az-slider__input:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.az-slider__input:disabled::-webkit-slider-thumb,
.az-slider__input:disabled::-moz-range-thumb {
	cursor: not-allowed;
}

.az-slider__input::-webkit-slider-runnable-track {
	height: var(--az-slider-track-height);
	border-radius: 2px;
	background: var(--az-border-divider);
	box-sizing: border-box;
}

.az-slider__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: var(--az-slider-thumb-size);
	height: var(--az-slider-thumb-size);
	margin-top: calc((var(--az-slider-track-height) - var(--az-slider-thumb-size)) / 2);
	border-radius: 2px;
	background: var(--az-color-surface);
	border: 1px solid var(--az-header-link-color);
	box-sizing: border-box;
	cursor: grab;
}

.az-slider__input:active::-webkit-slider-thumb {
	cursor: grabbing;
}

.az-slider__input:focus-visible::-webkit-slider-thumb {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

.az-slider__input::-moz-range-track {
	height: var(--az-slider-track-height);
	border-radius: 2px;
	background: var(--az-border-divider);
	box-sizing: border-box;
}

.az-slider__input::-moz-range-thumb {
	width: var(--az-slider-thumb-size);
	height: var(--az-slider-thumb-size);
	border-radius: 2px;
	background: var(--az-color-surface);
	border: 1px solid var(--az-header-link-color);
	box-sizing: border-box;
	cursor: grab;
}

.az-slider__input:active::-moz-range-thumb {
	cursor: grabbing;
}

.az-slider__input:focus-visible::-moz-range-thumb {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

.az-slider__value {
	flex: 0 0 auto;
	min-width: 2.5ch;
	font-variant-numeric: tabular-nums;
	font-size: 0.9rem;
	line-height: 1.25;
	text-align: end;
	color: var(--az-text-secondary);
}

.site-main section {
	padding: var(--az-pad-y) var(--az-pad-x);
}

.site-section-inner {
	width: 100%;
	max-width: var(--az-content-max-width-lg);
	margin-inline: auto;
}

.site-section-inner--md {
	max-width: var(--az-content-max-width-md);
}

/* Cookie consent — fixed to viewport; inner column matches lg (.site-section-inner / --az-content-max-width-lg) */
.az-cookie-consent {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: var(--az-z-cookie-consent);
	box-sizing: border-box;
	padding: var(--az-space-3) var(--az-pad-x);
	padding-bottom: max(var(--az-space-3), env(safe-area-inset-bottom, 0px));
	background: var(--az-color-surface);
	border-top: 1px solid var(--az-border-divider);
	box-shadow: 0 -4px 16px var(--az-shadow-color-subtle);
}

.az-cookie-consent__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--az-space-4);
}

.az-cookie-consent__copy {
	flex: 1 1 18rem;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--az-space-2);
}

.az-cookie-consent__lead {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.45;
	color: var(--az-text-secondary);
}

.az-cookie-consent__detail {
	margin: 0;
	font-size: 0.75rem;
	font-weight: var(--az-font-weight-normal);
	line-height: 1.5;
	color: var(--az-text-tertiary);
}

.az-cookie-consent__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--az-space-2);
	flex: 0 0 auto;
}

.az-cookie-consent__accept,
.az-cookie-consent__reject {
	flex: 0 0 auto;
}

body.az-cookie-consent-visible {
	padding-bottom: var(--az-cookie-bar-height, 0px);
}

.home-intro-section .site-section-inner {
	max-width: var(--az-content-max-width-md);
}

.site-section--hero {
	padding: 0 !important;
}

.home-intro-section {
	display: flex;
	justify-content: center;
	text-align: center;
}

.home-intro-title {
	font-size: clamp(1.125rem, 2.5vw, 1.375rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.home-intro-text {
	max-width: 100%;
	margin: 0;
	line-height: 1.7;
}

.hero-section {
	min-height: clamp(520px, 52vh, 520px);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0 !important;
}

.home-products-section {
	padding-top: var(--az-pad-y);
	padding-bottom: var(--az-pad-y);
}

.home-products-section-title {
	margin: 0 0 var(--az-space-4);
	font-size: clamp(1.125rem, 2.5vw, 1.375rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-align: start;
}

.site-section--shop-notices {
	padding-top: var(--az-space-3);
	padding-bottom: 0;
}

/*
 * WooCommerce session notices — Az UI (templates: woocommerce/notices/*.php add .az-wc-notice).
 * UI kit: Template Name "Components (UI kit)" (page-components.php) — Session notices section.
 * Keeps .woocommerce-message / .woocommerce-error / .woocommerce-info for WC scripts + a11y.
 */
.woocommerce-NoticeGroup {
	margin: 0 0 var(--az-space-3);
}

/* Session notices (`woocommerce_output_all_notices`) — same gap below as `.woocommerce-NoticeGroup` on checkout. */
.woocommerce .woocommerce-notices-wrapper:not(:empty) {
	margin: 0 0 var(--az-space-3);
}

.woocommerce-message.az-wc-notice,
.woocommerce-info.az-wc-notice,
ul.woocommerce-error.az-wc-notice {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0 0 var(--az-space-3);
	padding: var(--az-space-3) var(--az-space-4);
	font-family: var(--az-font-sans);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--az-header-link-color);
	border: 1px solid var(--az-border-divider);
	border-radius: var(--az-control-radius);
	background: var(--az-color-surface);
	box-shadow: var(--az-shadow-sm);
	clear: both;
}

.woocommerce-message.az-wc-notice::before,
.woocommerce-info.az-wc-notice::before,
ul.woocommerce-error.az-wc-notice::before {
	display: none !important;
	content: none !important;
}

.woocommerce-message.az-wc-notice:last-child,
.woocommerce-info.az-wc-notice:last-child,
ul.woocommerce-error.az-wc-notice:last-child {
	margin-bottom: 0;
}

/* Success — outer wrapper is flush; bar chrome lives on .az-wc-notice__shell */
.woocommerce-message.az-wc-notice--success {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}

/* Info */
.woocommerce-info.az-wc-notice--info {
	background: color-mix(in srgb, #1d4ed8 6%, var(--az-color-surface));
	border-color: color-mix(in srgb, #1d4ed8 28%, var(--az-border-divider));
}

/* Error list */
ul.woocommerce-error.az-wc-notice--error {
	list-style: none;
	padding-left: var(--az-space-4);
	padding-right: var(--az-space-4);
	background: color-mix(in srgb, #b91c1c 7%, var(--az-color-surface));
	border-color: color-mix(in srgb, #b91c1c 32%, var(--az-border-divider));
}

ul.woocommerce-error.az-wc-notice--error li {
	margin: 0;
	padding: var(--az-space-2) 0;
	border-bottom: 1px solid color-mix(in srgb, #b91c1c 15%, transparent);
	list-style: none;
}

ul.woocommerce-error.az-wc-notice--error li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

ul.woocommerce-error.az-wc-notice--error li:first-child {
	padding-top: 0;
}

/* Layout: message text left + button right (success: inner shell; info: direct) */
.woocommerce-message.az-wc-notice--success .az-wc-notice__shell {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--az-content-max-width-lg);
	margin-inline: auto;
	padding: var(--az-space-3) var(--az-space-4);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--az-space-3);
	background: transparent;
	border: 1px solid var(--az-border-divider);
	border-radius: var(--az-control-radius);
}

.woocommerce-info.az-wc-notice--info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--az-space-3);
}

.woocommerce-info.az-wc-notice--info > :first-child {
	flex: 1 1 12rem;
	min-width: 0;
	margin: 0;
}

.woocommerce-message.az-wc-notice a.button,
.woocommerce-info.az-wc-notice a.button,
.woocommerce .woocommerce-message.az-wc-notice a.button,
.woocommerce .woocommerce-info.az-wc-notice a.button,
.woocommerce-page .woocommerce-message.az-wc-notice a.button,
.woocommerce-page .woocommerce-info.az-wc-notice a.button {
	float: none !important;
	margin: 0 !important;
	flex: 0 0 auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none !important;
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-button-font-weight) !important;
	padding: var(--az-button-padding-y) var(--az-button-padding-x) !important;
	border-radius: var(--az-control-radius) !important;
	line-height: 1.2 !important;
	background: var(--az-button-bg) !important;
	border: 1px solid var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
}

.woocommerce-message.az-wc-notice a.button:hover,
.woocommerce-info.az-wc-notice a.button:hover,
.woocommerce .woocommerce-message.az-wc-notice a.button:hover,
.woocommerce .woocommerce-info.az-wc-notice a.button:hover,
.woocommerce-page .woocommerce-message.az-wc-notice a.button:hover,
.woocommerce-page .woocommerce-info.az-wc-notice a.button:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%) !important;
	color: var(--az-button-text) !important;
}

.woocommerce-message.az-wc-notice a:not(.button),
.woocommerce-info.az-wc-notice a:not(.button),
ul.woocommerce-error.az-wc-notice a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.az-shop-page-title {
	margin: 0 0 var(--az-space-4);
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.2;
	color: var(--az-header-link-color);
}

.az-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--az-space-2) var(--az-space-4);
	margin-bottom: var(--az-space-4);
}

.az-shop-toolbar .az-shop-page-title {
	margin: 0;
	flex: 1 1 12rem;
	min-width: 0;
}

.az-shop-toolbar__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-end;
	gap: var(--az-space-2) var(--az-space-4);
	flex: 0 1 auto;
	min-width: 0;
}

/* No products — vertical placement from parent flex; type matches .az-shop-page-title + body */
.az-shop-empty {
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

.az-shop-empty__inner {
	text-align: center;
	box-sizing: border-box;
}

.az-shop-empty__title {
	margin: 0 0 var(--az-space-2);
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.2;
	color: var(--az-header-link-color);
}

.az-shop-empty__message {
	margin: 0 0 var(--az-space-4);
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--az-text-secondary);
}

/*
 * Empty-shop CTA: WooCommerce styles anchor buttons with .wc-* colors — force Az tokens
 * (same treatment as .az-shop-price-dropdown__panel … .button.button--primary).
 */
.az-shop-empty a.button.button--primary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	text-align: center !important;
	text-decoration: none !important;
	font-size: var(--az-button-font-size) !important;
	cursor: pointer !important;
	padding-top: var(--az-button-padding-y) !important;
	padding-bottom: var(--az-button-padding-y) !important;
	padding-left: var(--az-button-padding-x) !important;
	padding-right: var(--az-button-padding-x) !important;
	background: var(--az-button-bg) !important;
	border: 1px solid var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
}

.az-shop-empty a.button.button--primary:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%) !important;
	border-color: var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	text-decoration: none !important;
	border-radius: var(--az-control-radius) !important;
}

.az-shop-empty a.button.button--primary:focus-visible {
	outline: 2px solid var(--az-button-bg) !important;
	outline-offset: 2px !important;
	color: var(--az-button-text) !important;
}

.az-shop-empty a.button.button--primary:visited {
	color: var(--az-button-text) !important;
}

/*
 * Shop toolbar dropdowns (price + sort): outer __wrap + inner .az-dropdown-bridge + panel;
 * open = .az-shop-*-dropdown__root.is-open (click, shop-price-filter.js).
 */
.az-shop-price-dropdown.az-shop-price-filter {
	position: relative;
	flex: 0 1 auto;
	min-width: 0;
	display: inline-flex;
	align-items: center;
}

.az-shop-price-dropdown__root {
	position: relative;
	display: flex;
	align-items: center;
}

.az-shop-price-dropdown__trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.2em;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 0.9rem;
	font-weight: var(--az-font-weight-normal);
	line-height: 1.25;
	color: var(--az-header-link-color);
	cursor: pointer;
	box-sizing: border-box;
	min-height: 1.25em;
}

.az-shop-price-dropdown__trigger:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 3px;
}

.az-shop-price-dropdown__trigger-text {
	text-align: start;
}

.az-shop-price-dropdown__chevron {
	font-size: 22px;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 1px;
	transition: transform var(--az-duration-fast) var(--az-ease-default);
}

.az-shop-price-dropdown__root.is-open .az-shop-price-dropdown__chevron {
	transform: rotate(180deg);
}

.az-shop-price-dropdown__wrap,
.az-shop-dropdown__wrap,
.header-search-dropdown__wrap {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	left: auto;
	margin: 0;
	background: transparent;
	z-index: var(--az-z-lang-dropdown);
	box-sizing: border-box;
}

.az-shop-price-dropdown__wrap {
	width: min(calc(100vw - 2 * var(--az-pad-x)), 24rem);
	max-width: min(calc(100vw - 2 * var(--az-pad-x)), 24rem);
}

.az-shop-dropdown__wrap {
	width: min(calc(100vw - 2 * var(--az-pad-x)), 24rem);
	max-width: min(calc(100vw - 2 * var(--az-pad-x)), 24rem);
}

.header-search-dropdown__wrap {
	width: min(calc(100vw - 2 * var(--az-pad-x)), 22rem);
	max-width: min(calc(100vw - 2 * var(--az-pad-x)), 22rem);
}

/*
 * Mobile: fullscreen sheet (viewport), close control top-right; desktop keeps anchored dropdown.
 */
@media (max-width: 1024px) {
	.az-shop-price-dropdown__root.is-open .az-shop-price-dropdown__wrap,
	.az-shop-dropdown__root.is-open .az-shop-dropdown__wrap,
	.header-search-dropdown__root.is-open .header-search-dropdown__wrap {
		display: flex;
		flex-direction: column;
	}

	.az-shop-price-dropdown__wrap,
	.az-shop-dropdown__wrap,
	.header-search-dropdown__wrap {
		position: fixed;
		inset: 0;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100%;
		max-width: none;
		min-height: 100vh;
		min-height: 100dvh;
		height: auto;
		margin: 0;
		background: var(--az-color-primary);
		z-index: var(--az-z-shop-filter-sheet);
	}

	.az-shop-price-dropdown__wrap > .az-dropdown-bridge,
	.az-shop-dropdown__wrap > .az-dropdown-bridge,
	.header-search-dropdown__wrap > .az-dropdown-bridge {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		padding-top: 0;
	}

	.az-shop-price-dropdown__panel.az-shop-price-filter__panel,
	.az-shop-dropdown__panel,
	.header-search-dropdown__panel {
		flex: 1 1 auto;
		min-height: 0;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		border-radius: 0;
		box-shadow: none;
		padding-top: 0;
	}

	.header-search-dropdown__panel .header-search-dropdown__body {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		padding: var(--az-dropdown-row-pad-y) var(--az-shop-filter-sheet-pad-x);
		padding-bottom: max(var(--az-dropdown-row-pad-y), env(safe-area-inset-bottom, 0px));
		-webkit-overflow-scrolling: touch;
	}

	.az-shop-dropdown__panel .az-shop-dropdown__list {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.az-shop-price-dropdown__panel .az-shop-price-filter__form {
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: max(var(--az-space-4), env(safe-area-inset-bottom, 0px));
	}
}

/* Sheet top bar: hidden on desktop for anchored dropdowns + inline nav; cart drawer keeps bar. */
@media (min-width: 1025px) {
	.header-mobile-drawer .az-sheet-head {
		display: none !important;
	}

	.az-shop-dropdown__panel .az-sheet-head,
	.az-shop-price-dropdown__panel .az-sheet-head,
	.wpm-language-dropdown-wrap .az-sheet-head,
	.header-search-dropdown__panel .az-sheet-head {
		display: none !important;
	}
}

@media (min-width: 1025px) {
	.az-shop-price-dropdown__root.is-open .az-shop-price-dropdown__wrap,
	.az-shop-dropdown__root.is-open .az-shop-dropdown__wrap,
	.header-search-dropdown__root.is-open .header-search-dropdown__wrap {
		display: block;
	}
}

.az-shop-price-dropdown__panel.az-shop-price-filter__panel,
.az-shop-dropdown__panel,
.header-search-dropdown__panel {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	margin: 0;
	background: var(--az-color-primary);
	box-shadow: var(--az-shadow-md);
	border-radius: 2px;
	box-sizing: border-box;
	position: static;
	left: auto;
	top: auto;
	transform: none;
}

@media (min-width: 1025px) {
	.header-search-dropdown__panel .header-search-dropdown__body {
		padding: var(--az-space-3) var(--az-shop-filter-sheet-pad-x);
	}
}

.header-search-dropdown__form.az-search-form {
	align-items: center;
}

@media (max-width: 1024px) {
	.header-search-dropdown__form.az-search-form {
		flex-direction: column;
		align-items: stretch;
	}

	.header-search-dropdown__form .search-field {
		flex: none;
		width: 100%;
	}

	.header-search-dropdown__form .search-submit {
		width: 100%;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.az-shop-price-dropdown__chevron {
		transition: none;
	}
}

/*
 * Shop catalog dropdown (.az-shop-dropdown) — trigger chrome shared with price; panel rules above.
 */
.az-shop-dropdown {
	position: relative;
	flex: 0 1 auto;
	min-width: 0;
	display: inline-flex;
	align-items: center;
}

.az-shop-dropdown__root {
	position: relative;
	display: flex;
	align-items: center;
}

.az-shop-dropdown__trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.2em;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 0.9rem;
	font-weight: var(--az-font-weight-normal);
	line-height: 1.25;
	color: var(--az-header-link-color);
	cursor: pointer;
	box-sizing: border-box;
	min-height: 1.25em;
}

.az-shop-dropdown__trigger:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 3px;
}

.az-shop-dropdown__trigger-text {
	text-align: start;
	max-width: 14rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.az-shop-dropdown__chevron {
	font-size: 22px;
	line-height: 1;
	flex-shrink: 0;
	margin-top: 1px;
	transition: transform var(--az-duration-fast) var(--az-ease-default);
}

.az-shop-dropdown__root.is-open .az-shop-dropdown__chevron {
	transform: rotate(180deg);
}

.az-shop-dropdown__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	box-sizing: border-box;
}

.az-shop-dropdown__item {
	margin: 0;
	padding: 0;
	list-style: none;
	box-sizing: border-box;
}

.az-shop-dropdown__link {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: start;
	width: 100%;
	min-height: 2.25rem;
	padding: var(--az-dropdown-row-pad-y) var(--az-shop-filter-sheet-pad-x);
	box-sizing: border-box;
	line-height: 1.25;
	border-radius: 2px;
	color: var(--az-header-link-color);
	text-decoration: none;
}

.az-shop-dropdown__link:hover,
.az-shop-dropdown__link:focus-visible {
	text-decoration: none;
	background-color: var(--az-color-primary-dark-10);
}

.az-shop-dropdown__link:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: -2px;
}

.az-shop-dropdown__link.is-active {
	font-weight: var(--az-font-weight-emphasis);
	text-decoration: none;
	background-color: var(--az-color-primary-dark-10);
}

@media (prefers-reduced-motion: reduce) {
	.az-shop-dropdown__chevron {
		transition: none;
	}
}

.az-shop-price-filter__form {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--az-space-4);
	margin: 0;
	padding-block: var(--az-space-4);
	padding-inline: 0;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
}

.az-shop-price-filter__fields,
.az-shop-price-filter__slider-field,
.az-shop-price-filter__actions {
	padding-inline: var(--az-shop-filter-sheet-pad-x);
	box-sizing: border-box;
}

.az-shop-price-filter__fields {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: stretch;
	gap: var(--az-space-2);
	margin: 0;
	width: 100%;
	max-width: none;
	min-width: 0;
	box-sizing: border-box;
}

.az-shop-price-filter__fields .az-ui-kit__field {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

.az-shop-price-filter__slider-field .az-ui-kit__field-label {
	margin: 0;
}

.az-shop-price-filter__ranges {
	width: 100%;
	max-width: none;
	min-width: 0;
	box-sizing: border-box;
}

/* Dual-thumb range: one track + fill (shop price filter, components demo). */
.az-range-merged {
	position: relative;
	width: 100%;
	min-width: 0;
	height: 2.25rem;
	box-sizing: border-box;
}

.az-range-merged__track {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	height: var(--az-slider-track-height);
	background: var(--az-border-divider);
	border-radius: 2px;
	pointer-events: none;
	z-index: 0;
	box-sizing: border-box;
}

.az-range-merged__fill {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: var(--az-slider-track-height);
	width: 0;
	left: 0;
	margin: 0;
	padding: 0;
	background: var(--az-header-link-color);
	border-radius: 2px;
	pointer-events: none;
	z-index: 1;
	box-sizing: border-box;
}

.az-range-merged__inputs {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.az-range-merged__inputs .az-slider__input {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
}

.az-range-merged__inputs .az-slider__input::-webkit-slider-runnable-track {
	background: transparent;
}

.az-range-merged__inputs .az-slider__input::-moz-range-track {
	background: transparent;
}

.az-range-merged__input--min {
	z-index: 3;
}

.az-range-merged__input--max {
	z-index: 4;
}

.az-range-merged__inputs .az-slider__input:hover,
.az-range-merged__inputs .az-slider__input:focus {
	z-index: 5;
}

/* Components page: avoid shop sheet horizontal inset on demo row */
.az-range-merged-demo .az-shop-price-filter__fields {
	padding-inline: 0;
}

.az-ui-kit__field .az-range-merged {
	width: 100%;
	max-width: 100%;
}

.az-shop-price-filter__actions.az-ui-kit__row {
	align-items: stretch;
	width: 100%;
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button {
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	font-size: var(--az-button-font-size) !important;
	border-radius: var(--az-control-radius) !important;
	padding-top: var(--az-button-padding-y) !important;
	padding-bottom: var(--az-button-padding-y) !important;
	padding-left: var(--az-button-padding-x) !important;
	padding-right: var(--az-button-padding-x) !important;
}

/* Match side cart CTA colors (Woo / later sheets). */
.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--secondary {
	background: var(--az-color-surface);
	color: var(--az-button-bg);
	border: 1px solid var(--az-button-bg);
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--secondary:hover {
	background: color-mix(in srgb, var(--az-button-bg) 10%, var(--az-color-surface));
	border-radius: var(--az-control-radius) !important;
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--secondary:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--secondary:visited {
	color: var(--az-button-bg);
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--primary {
	background: var(--az-button-bg);
	border: 1px solid var(--az-button-bg);
	color: var(--az-button-text);
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--primary:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%);
	color: var(--az-button-text);
	border-radius: var(--az-control-radius) !important;
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--primary:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

.az-shop-price-dropdown__panel .az-shop-price-filter__actions .button.button--primary:visited {
	color: var(--az-button-text);
}

/* Shop + search archives — pagination (the_posts_pagination) */
.az-search-pagination-wrap {
	padding-top: var(--az-space-4);
}

.az-search-pagination-wrap .navigation.pagination {
	margin: 0;
}

.az-search-pagination-wrap .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--az-space-2);
	align-items: center;
	justify-content: center;
}

.az-search-pagination-wrap .page-numbers {
	display: inline-flex;
	min-width: 2.25rem;
	min-height: 2.25rem;
	align-items: center;
	justify-content: center;
	padding: 0 var(--az-space-2);
	box-sizing: border-box;
	text-decoration: none;
	color: var(--az-header-link-color);
	border: 1px solid var(--az-border-divider);
	font-size: 0.9rem;
	line-height: 1;
	border-radius: 2px;
}

.az-search-pagination-wrap a.page-numbers:hover {
	background: var(--az-color-primary);
}

.az-search-pagination-wrap span.page-numbers.current {
	background: var(--az-button-bg);
	color: var(--az-button-text);
	border-color: var(--az-button-bg);
}

.az-search-pagination-wrap span.page-numbers.dots {
	border-color: transparent;
	background: transparent;
	min-width: auto;
	padding: 0 var(--az-space-1);
}

.az-search-pagination-wrap .az-pagination-arrow {
	font-size: 1.35rem;
	line-height: 1;
}

/* Search results — toolbar + non-product hits */
.az-search-section {
	padding-top: var(--az-pad-y);
	padding-bottom: var(--az-pad-y);
}

.az-search-toolbar {
	margin-bottom: var(--az-space-4);
}

.az-search-hit {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-2);
	align-self: stretch;
	padding: var(--az-space-3);
	box-sizing: border-box;
	border: 1px solid var(--az-border-divider);
	border-radius: var(--az-control-radius);
	background: var(--az-color-surface);
	text-align: start;
}

.az-search-hit__title {
	margin: 0;
	font-size: 1rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.25;
	color: var(--az-header-link-color);
}

.az-search-hit__title a {
	color: inherit;
	text-decoration: none;
}

.az-search-hit__title a:hover,
.az-search-hit__title a:focus-visible {
	text-decoration: underline;
}

.az-search-hit__title a:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 2px;
}

.az-search-hit__excerpt {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--az-text-secondary);
}

.az-search-empty-form-wrap {
	margin-top: var(--az-space-4);
	margin-bottom: var(--az-space-3);
	width: 100%;
	max-width: 28rem;
	margin-inline: auto;
	box-sizing: border-box;
}

.az-search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--az-space-2);
	justify-content: center;
}

/* .search-field is type="search" — use same rules as input[type="text"] etc. (padding, border, focus). Only layout here. */
.az-search-form .search-field {
	flex: 1 1 12rem;
	min-width: 0;
	box-sizing: border-box;
	margin: 0;
}

/*
 * Submit matches .search-field height: same vertical padding + inherited type as inputs (not global .button metrics).
 * No fixed height — label can wrap; width constraints (e.g. narrow header panel) allow two lines.
 */
.az-search-form .search-submit.button {
	flex: 0 1 auto;
	min-width: 0;
	min-height: 0;
	height: auto;
	max-height: none;
	box-sizing: border-box;
	padding-top: var(--az-control-padding-y);
	padding-bottom: var(--az-control-padding-y);
	padding-left: var(--az-button-padding-x);
	padding-right: var(--az-button-padding-x);
	font-size: inherit !important;
	line-height: inherit !important;
	font-family: inherit !important;
	font-weight: var(--az-button-font-weight);
	white-space: normal;
	text-align: center;
	overflow-wrap: break-word;
}

.home-products-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--az-space-3);
	align-items: start;
}

.home-product-card {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-2);
	text-decoration: none;
	color: inherit;
}

.home-product-card:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 3px;
}

.home-product-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--az-space-2);
}

.home-product-card-text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.home-product-card-visual {
	position: relative;
	overflow: hidden;
	width: 100%;
	transform: rotate(0deg);
	transform-origin: center center;
	box-shadow: none;
	transition:
		transform var(--az-product-rotate-dur) var(--az-product-hover-ease) 0s,
		box-shadow var(--az-product-rotate-dur) var(--az-product-hover-ease) 0s;
	will-change: transform, box-shadow;
}

.home-product-card:hover .home-product-card-visual,
.home-product-card:focus-within .home-product-card-visual {
	transform: rotate(var(--az-product-hover-tilt));
	box-shadow: var(--az-product-hover-shadow);
	transition:
		transform var(--az-product-rotate-dur) var(--az-product-hover-ease) var(--az-product-rotate-delay-enter),
		box-shadow var(--az-product-rotate-dur) var(--az-product-hover-ease) var(--az-product-rotate-delay-enter);
}

.home-product-card-visual::after {
	content: "";
	position: absolute;
	left: -35%;
	top: -45%;
	width: 48%;
	height: 210%;
	background: linear-gradient(
		125deg,
		transparent 0%,
		rgba(255, 255, 255, 0) 38%,
		var(--az-product-shine-highlight) 50%,
		rgba(255, 255, 255, 0) 62%,
		transparent 100%
	);
	transform: translate(-102%, -102%) rotate(48deg);
	opacity: 0;
	pointer-events: none;
	z-index: 2;
	mix-blend-mode: soft-light;
}

.home-product-card-image-scale {
	position: relative;
	width: 100%;
	transform: scale(1);
	transform-origin: center center;
	transition: transform var(--az-product-zoom-dur) var(--az-product-hover-ease) var(--az-product-zoom-delay-leave);
	will-change: transform;
}

.home-product-card:hover .home-product-card-image-scale,
.home-product-card:focus-within .home-product-card-image-scale {
	transform: scale(var(--az-product-hover-zoom));
	transition: transform var(--az-product-zoom-dur) var(--az-product-hover-ease) 0s;
}

.home-product-card-image {
	width: 100%;
	aspect-ratio: 3 / 4;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: var(--az-surface-placeholder);
}

.home-product-card-image--secondary {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity var(--az-product-secondary-fade) var(--az-product-hover-ease);
	z-index: 1;
}

.home-product-card:hover .home-product-card-image--secondary,
.home-product-card:focus-within .home-product-card-image--secondary {
	opacity: 1;
}

.home-product-card:hover .home-product-card-visual::after,
.home-product-card:focus-within .home-product-card-visual::after {
	animation: az-product-card-shine var(--az-product-shine-duration) linear var(--az-product-shine-delay) forwards;
}

@keyframes az-product-card-shine {
	0% {
		transform: translate(-102%, -102%) rotate(48deg);
		opacity: 0;
	}

	1.5% {
		opacity: 0.48;
	}

	94% {
		opacity: 0.48;
	}

	100% {
		transform: translate(130%, 130%) rotate(48deg);
		opacity: 0;
	}
}

.home-product-card-title {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.3;
	text-align: left;
}

.home-product-card-brand {
	margin: 0;
	font-size: 0.7rem;
	font-weight: var(--az-font-weight-normal);
	line-height: 1.3;
	letter-spacing: 0.06em;
	color: var(--az-text-tertiary);
}

.home-product-card-price {
	margin: 0;
	font-size: 0.95rem;
	font-weight: var(--az-font-weight-normal);
	line-height: 1.35;
	color: var(--az-text-secondary);
	text-align: left;
}

.home-product-card-price .woocommerce-Price-amount {
	font-weight: var(--az-font-weight-normal);
}

.home-products-section--products .home-product-card-footer {
	justify-content: center;
}

.home-products-section--products .home-product-card-text {
	align-items: center;
	width: 100%;
}

.home-products-section--products .home-product-card-title {
	text-align: center;
}

.home-products-section--products .home-product-card-brand {
	text-align: center;
	text-transform: uppercase;
}

.home-products-section--products .home-product-card-price {
	text-align: center;
}

.home-product-card-arrow {
	flex-shrink: 0;
	font-size: 1.35rem;
	line-height: 1;
	font-weight: var(--az-font-weight-normal);
}

@media (prefers-reduced-motion: reduce) {
	.home-product-card-visual,
	.home-product-card-image-scale {
		transition: none;
		animation: none !important;
	}

	.home-product-card-visual::after {
		display: none;
	}

	.home-product-card:hover .home-product-card-image-scale,
	.home-product-card:focus-within .home-product-card-image-scale {
		transform: none;
	}

	.home-product-card:hover .home-product-card-visual,
	.home-product-card:focus-within .home-product-card-visual {
		transform: none;
		box-shadow: none;
	}

	.home-product-card-image--secondary {
		transition: none;
	}

	.home-product-card:hover .home-product-card-image--secondary,
	.home-product-card:focus-within .home-product-card-image--secondary {
		opacity: 1;
	}
}

@media (min-width: 768px) {
	.home-product-card-title {
		font-size: 1rem;
		line-height: 1.32;
	}

	.home-products-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--az-space-4);
	}
}

/* Single product: related picks — full-viewport-width white band; inner uses .site-section-inner */
.az-single-product-related-band {
	width: 100%;
	box-sizing: border-box;
	background: #ffffff;
	padding-block: var(--az-pad-y);
	padding-inline: var(--az-pad-x);
}

.az-single-product-related-band .home-products-section-title {
	margin: 0 0 var(--az-space-4);
	font-size: clamp(1.125rem, 2.5vw, 1.375rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-align: start;
}

/* White strip in dark theme: use dark text on #fff */
html[data-az-theme="dark"] .az-single-product-related-band .home-products-section-title,
html[data-az-theme="dark"] .az-single-product-related-band .home-product-card-title {
	color: #111111;
}

html[data-az-theme="dark"] .az-single-product-related-band .home-product-card-brand {
	color: rgba(0, 0, 0, 0.45);
}

html[data-az-theme="dark"] .az-single-product-related-band .home-product-card-price,
html[data-az-theme="dark"] .az-single-product-related-band .home-product-card-price .woocommerce-Price-amount {
	color: rgba(0, 0, 0, 0.72);
}

.home-products-grid.home-products-grid--single-related {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--az-space-3);
}

@media (min-width: 960px) {
	.home-products-grid.home-products-grid--single-related {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--az-space-4);
	}
}

.site-main {
	padding-top: 0;
	background: var(--az-color-primary);
	min-height: var(--az-site-main-min-height);
	box-sizing: border-box;
}

/* Woo shop archive: column flex for product grid + empty-state fill */
.site-main.site-main--shop {
	display: flex;
	flex-direction: column;
}

.site-main.site-main--shop > .site-section--shop-notices {
	flex-shrink: 0;
}

/* Empty catalog: fill space below toolbar and vertically center the notice block */
.site-main.site-main--shop .az-shop-products-section:has(.az-shop-empty) {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.site-main.site-main--shop .az-shop-products-section:has(.az-shop-empty) > .site-section-inner:first-child {
	flex-shrink: 0;
}

.site-main.site-main--shop .az-shop-products-section:has(.az-shop-empty) > .site-section-inner--md {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 0;
}

/* 404 + search no-results + WC coming soon — vertical fill + centered empty block */
.site-main:has(> .site-section.site-section--not-found),
.site-main:has(> .site-section.site-section--search-empty),
.site-main:has(> .site-section.site-section--coming-soon) {
	display: flex;
	flex-direction: column;
}

.site-main > .site-section.site-section--not-found,
.site-main > .site-section.site-section--search-empty {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/*
 * Maintenance / WC coming soon: height = 100vh − admin bar − header block − footer − margins.
 * --az-site-main-min-height is set in header-mobile-menu.js (always runs, even if .site-header-shell is missing).
 */
.site-main > .site-section.site-section--coming-soon {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-height: var(--az-site-main-min-height);
	height: var(--az-site-main-min-height);
}

.site-main > .site-section.site-section--not-found > .site-section-inner,
.site-main > .site-section.site-section--search-empty > .site-section-inner,
.site-main > .site-section.site-section--coming-soon > .site-section-inner {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 0;
}

/*
 * WooCommerce coming soon: .site-main also uses --az-site-main-min-height; do not override .site-main with min-height: 0.
 */

/* /cart empty — same column width + vertical center as 404 / search empty */
.site-main:has(.az-cart-page__empty) {
	display: flex;
	flex-direction: column;
}

.site-main:has(.az-cart-page__empty) > .site-section:not(.site-section--hero) {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.site-main:has(.az-cart-page__empty) > .site-section:not(.site-section--hero) > .site-section-inner {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 0;
	max-width: var(--az-content-max-width-md);
}

.site-main:has(.az-cart-page__empty) .page-content {
	flex: 0 1 auto;
	width: 100%;
}

body.is-header-fixed .site-main {
	padding-top: calc(var(--az-header-h, 0px) - var(--az-space-1));
}

.site-footer {
	padding: var(--az-pad-y) var(--az-pad-x);
	text-align: start;
	background: var(--az-color-primary);
	border-top: 1px solid var(--az-border-divider);
}

/* Logo left, link column right; stack on narrow viewports */
.site-footer-top {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--az-space-4);
}

.site-footer-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--az-footer-brand-gap);
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
}

.site-footer-logo-wrap {
	flex: 0 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: 100%;
}

.site-footer-pay-badges {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--az-space-2);
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.site-footer-pay-badge-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 3.25rem;
	flex: 0 0 3.25rem;
	padding: var(--az-space-1) var(--az-space-2);
	background: #ffffff;
	border-radius: 2px;
	flex-shrink: 0;
}

.site-footer-pay-badge {
	height: 10px;
	width: 100%;
	max-height: 10px;
	display: block;
	object-fit: contain;
	object-position: center;
}

.site-footer-social {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	align-self: flex-start;
}

.site-footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	transform-origin: center;
	transition: transform 0.2s ease;
}

.site-footer-social-link:hover,
.site-footer-social-link:focus-visible {
	transform: scale(1.1);
}

@media (prefers-reduced-motion: reduce) {
	.site-footer-social-link {
		transition: none;
	}

	.site-footer-social-link:hover,
	.site-footer-social-link:focus-visible {
		transform: none;
	}
}

.site-footer-social-icon {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.site-footer-logo-wrap .site-footer-logo {
	max-height: var(--az-logo-max-height);
	width: auto;
	max-width: min(360px, 85vw);
	height: auto;
	display: block;
}

.site-footer-logo-wrap img.site-footer-logo.site-logo--theme-dark {
	display: none;
}

html[data-az-theme="dark"] .site-footer-logo-wrap img.site-footer-logo.site-logo--theme-light {
	display: none;
}

html[data-az-theme="dark"] .site-footer-logo-wrap img.site-footer-logo.site-logo--theme-dark {
	display: block;
}

.footer-nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--az-space-2);
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	min-width: 0;
	width: 100%;
}

.footer-nav-heading {
	margin: 0;
	font-size: clamp(0.9375rem, 2vw, 1.125rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.35;
	color: var(--az-header-link-color);
}

.footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: var(--az-space-2);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.footer-menu > li {
	width: 100%;
	max-width: 100%;
}

.footer-menu a {
	color: var(--az-header-link-color);
	text-decoration: none;
	display: inline-block;
	padding-block: 2px;
}

.footer-menu a:hover,
.footer-menu a:focus-visible {
	text-decoration: underline;
}

.footer-menu .sub-menu {
	list-style: none;
	margin: var(--az-space-1) 0 0;
	padding: 0 0 0 var(--az-space-3);
	border-left: 1px solid var(--az-border-divider);
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: var(--az-space-1);
	font-size: 0.75rem;
}

.site-footer-top + .site-footer-pay-badges {
	margin-top: var(--az-space-4);
}

.site-footer-pay-badges + .site-footer-copyright {
	margin-top: var(--az-space-3);
}

.site-footer-copyright {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.45;
	text-align: center;
}

@media (max-width: 639px) {
	.site-footer {
		text-align: center;
	}

	.site-footer-top {
		align-items: center;
	}

	.site-footer-brand {
		align-items: center;
		width: 100%;
	}

	.site-footer-logo-wrap {
		justify-content: center;
		width: 100%;
	}

	.site-footer-social {
		justify-content: center;
		align-self: center;
		width: 100%;
	}

	.footer-nav {
		width: 100%;
		align-items: center;
	}

	.footer-menu {
		align-items: center;
		text-align: center;
		width: 100%;
	}

	.footer-menu > li {
		width: auto;
		max-width: 100%;
	}

	.footer-menu .sub-menu {
		align-items: center;
		text-align: center;
		padding: var(--az-space-1) 0 0;
		border-left: none;
		margin-left: 0;
	}
}

@media (min-width: 640px) {
	.site-footer-top {
		flex-direction: row;
		justify-content: space-between;
		align-items: stretch;
		gap: var(--az-space-4);
	}

	/* Nav column can be taller than logo + social: pin Instagram to bottom of brand column */
	.site-footer-social {
		margin-top: auto;
	}

	.footer-nav {
		width: auto;
		max-width: min(320px, 45%);
		align-items: flex-end;
	}

	.footer-menu {
		align-items: flex-end;
		text-align: right;
	}

	.footer-menu > li {
		width: auto;
		max-width: 100%;
	}

	.footer-menu .sub-menu {
		align-items: flex-end;
		text-align: right;
		padding: 0 var(--az-space-3) 0 0;
		border-left: none;
		border-right: 1px solid var(--az-border-divider);
		margin-right: 0;
		margin-left: auto;
	}
}

.page-content {
	line-height: 1.7;
}

.page-content h2 {
	margin-top: 2em;
	margin-bottom: 0.5em;
	font-size: 1.4rem;
	line-height: 1.3;
}

/* Beat .page-content h2 so .az-shop-empty matches UI kit / 404. */
.page-content .az-shop-empty .az-shop-empty__title {
	margin-top: 0;
	margin-bottom: var(--az-space-2);
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.2;
	color: var(--az-header-link-color);
}

.page-content .az-shop-empty .az-shop-empty__message {
	margin-top: 0;
	margin-bottom: var(--az-space-4);
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--az-text-secondary);
}

.page-content h3 {
	margin-top: 1.5em;
	margin-bottom: 0.4em;
	font-size: 1.15rem;
	line-height: 1.35;
}

.page-content p {
	margin-top: 0;
	margin-bottom: 1em;
}

.page-content ul,
.page-content ol {
	margin-top: 0;
	margin-bottom: 1em;
	padding-left: 1.5em;
}

.page-content li {
	margin-bottom: 0.35em;
}

.woocommerce-ordering select.orderby {
	all: revert;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: calc(0.5em + var(--az-select-chevron-size) + var(--az-space-1));
	background-image: var(--az-select-chevron-svg);
	background-repeat: no-repeat;
	background-position: right 0.5em center;
	background-size: var(--az-select-chevron-size) var(--az-select-chevron-size);
	cursor: pointer;
}

/*
 * Reset WC checkout form controls to browser/UA defaults so Blocks styles apply.
 * Scope to .site-main only — unscoped rules beat .header-burger (mobile) and break the menu.
 */
body.woocommerce-checkout .site-main button,
body.woocommerce-checkout .site-main input[type="button"],
body.woocommerce-checkout .site-main input[type="submit"],
body.woocommerce-checkout .site-main input[type="reset"],
body.woocommerce-checkout .site-main .button,
body.woocommerce-checkout .site-main .wp-element-button,
body.woocommerce-checkout .site-main .wp-block-button__link,
body.woocommerce-checkout .site-main .added_to_cart,
body.woocommerce-checkout .site-main .single_add_to_cart_button {
	all: revert;
}

body.woocommerce-checkout .site-main input[type="text"]:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main input[type="email"]:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main input[type="password"]:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main input[type="tel"]:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main input[type="number"]:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main input[type="search"]:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main input[type="url"]:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main textarea:not(.az-checkout-theme-field),
body.woocommerce-checkout .site-main select:not(.az-checkout-theme-field) {
	all: revert;
}

body.woocommerce-checkout .site-main textarea {
	resize: vertical;
	min-height: calc(1lh + 2 * var(--az-control-padding-y));
}

body.woocommerce-checkout .site-main select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: calc(var(--az-control-padding-x) + var(--az-select-chevron-size) + var(--az-space-1));
	background-image: var(--az-select-chevron-svg);
	background-repeat: no-repeat;
	background-position: right var(--az-control-padding-x) center;
	background-size: var(--az-select-chevron-size) var(--az-select-chevron-size);
	cursor: pointer;
}

body.woocommerce-checkout .site-main input[type="number"]::-webkit-outer-spin-button,
body.woocommerce-checkout .site-main input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.woocommerce-checkout .site-main input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

.header-burger {
	display: none;
}

.header-mobile-drawer-overlay {
	display: none;
}

/* Desktop: primary nav lives in .header-mobile-drawer but is inline — no sheet chrome. */
@media (min-width: 1025px) {
	.header-mobile-drawer {
		position: static;
		inset: auto;
		width: auto;
		height: auto;
		min-height: 0;
		transform: none;
		background: transparent;
		padding: 0;
		overflow: visible;
		box-shadow: none;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		flex: 1 1 0;
		align-items: center;
		gap: var(--az-space-3);
		min-width: 0;
		z-index: auto;
	}

	.header-mobile-drawer-body {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		flex: 1 1 0;
		min-height: 0;
		min-width: 0;
		overflow: visible;
		padding: 0;
		-webkit-overflow-scrolling: auto;
		overscroll-behavior: auto;
	}
}

.header-cart-drawer-overlay {
	position: fixed;
	inset: 0;
	z-index: var(--az-z-overlay);
	width: 100%;
	height: 100%;
	background: transparent;
	cursor: pointer;
	visibility: hidden;
	pointer-events: none;
}

body.az-cart-open .header-cart-drawer-overlay {
	visibility: visible;
	pointer-events: auto;
}

.header-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(420px, 92vw);
	background: var(--az-color-surface);
	transform: translateX(100%);
	transition: transform var(--az-header-drawer-duration) var(--az-header-drawer-ease);
	z-index: var(--az-z-drawer);
	display: flex;
	flex-direction: column;
	box-shadow: -12px 0 40px var(--az-shadow-color-soft);
}

/* Top bar: cart drawer, mobile menu sheet, shop sort/price + search full-screen modals, language sheet. */
.az-sheet-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--az-space-3);
	flex-shrink: 0;
	box-sizing: border-box;
	min-height: 51px;
	height: auto;
	padding: 0 var(--az-space-4);
	padding-top: max(0px, env(safe-area-inset-top, 0px));
	border-bottom: 1px solid var(--az-border-divider);
}

.az-sheet-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.2;
	color: var(--az-header-link-color);
}

.az-sheet-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
	line-height: 1;
	font-weight: var(--az-font-weight-normal);
	color: var(--az-header-link-color);
	cursor: pointer;
	border-radius: 2px;
	user-select: none;
	transform: scale(1);
	transform-origin: center;
	transition: transform var(--az-header-icon-zoom-duration) var(--az-header-underline-ease);
}

.az-sheet-close:hover {
	transform: scale(1.12);
}

.az-sheet-close:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 2px;
}

.header-cart-drawer-body {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.header-cart-drawer-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: var(--az-space-3) var(--az-space-4);
	-webkit-overflow-scrolling: touch;
}

/* Side cart empty state — UI kit .az-shop-empty, vertically centered in drawer */
.header-cart-drawer-body--empty {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.header-cart-drawer-scroll--empty {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(14rem, 42vh);
	overflow: visible;
	padding: var(--az-space-4);
}

.header-cart-drawer-scroll--empty .az-shop-empty--drawer {
	max-width: 100%;
}

/* /cart only: outer layout handles centering — no drawer min-height / extra padding */
.az-cart-page .header-cart-drawer-body--empty {
	flex: 0 1 auto;
	min-height: 0;
}

.az-cart-page .header-cart-drawer-scroll--empty {
	flex: 0 1 auto;
	min-height: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
}

.az-cart-page__empty .az-shop-empty--cart-page {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.header-cart-drawer-footer {
	flex-shrink: 0;
	padding: var(--az-space-3) var(--az-space-4);
	padding-bottom: max(var(--az-space-4), env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--az-border-divider);
	display: flex;
	flex-direction: column;
	gap: var(--az-space-3);
}

.header-cart-drawer-footer .header-cart-drawer-subtotal {
	margin-top: 0;
	padding-top: 0;
}

/*
 * Cart page: line items left, subtotal + checkout right (drawer markup unchanged).
 */
.az-cart-page .header-cart-drawer-body.az-cart-page__layout {
	flex: none;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--az-space-4);
}

.az-cart-page .header-cart-drawer-scroll.az-cart-page__lines {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 !important;
}

.az-cart-page .az-cart-page__summary {
	flex-shrink: 0;
	width: 100%;
}

@media (min-width: 768px) {
	.az-cart-page .header-cart-drawer-body.az-cart-page__layout {
		flex-direction: row;
		align-items: flex-start;
		gap: calc(var(--az-space-4) + var(--az-space-3));
	}

	.az-cart-page .header-cart-drawer-scroll.az-cart-page__lines {
		flex: 1 1 0;
	}

	.az-cart-page .az-cart-page__summary {
		flex: 0 0 min(22rem, 38vw);
		width: auto;
		max-width: 26rem;
		position: sticky;
		top: calc(var(--az-space-4) + env(safe-area-inset-top, 0px));
		align-self: flex-start;
	}
}

/* Cart page summary: theme rows (same rhythm as side cart) */
.az-cart-page__summary-rows .header-cart-drawer-subtotal.az-cart-summary__row:not(.az-cart-summary__row--total) {
	margin-top: 0;
	margin-bottom: 0;
	padding: var(--az-space-2) 0;
	font-size: 0.95rem;
	font-weight: var(--az-font-weight-emphasis);
	border-bottom: 1px solid var(--az-border-divider);
}

.az-cart-page__summary-rows .header-cart-drawer-subtotal-label {
	color: var(--az-text-secondary);
	font-weight: var(--az-font-weight-emphasis);
}

.az-cart-page__summary-rows .header-cart-drawer-subtotal-value {
	font-weight: var(--az-font-weight-emphasis);
}

.az-cart-page__summary-rows .az-cart-summary__row--total {
	padding: 0 0 var(--az-space-2);
	margin-top: 0;
	border-bottom: none;
	font-size: 1.05rem;
	font-weight: var(--az-font-weight-emphasis);
}

.az-cart-page__summary-rows .az-cart-summary__row--total .header-cart-drawer-subtotal-label,
.az-cart-page__summary-rows .az-cart-summary__row--total .header-cart-drawer-subtotal-value {
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-header-link-color);
}

.az-cart-page__checkout {
	margin-top: var(--az-space-4);
}

/* Checkout — static layout shell (fields use .az-ui-kit__field from the Components page). */
.page-content .az-checkout-page .az-checkout-page__section-title {
	margin: 0 0 var(--az-space-4);
	font-size: 1.15rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.35;
	color: var(--az-header-link-color);
}

.page-content .az-checkout-page .az-checkout-page__shipping {
	margin-top: var(--az-space-4);
}

.page-content .az-checkout-page .az-checkout-page__order-summary > .az-checkout-page__section-title {
	margin-bottom: calc(var(--az-space-4) + var(--az-space-3));
}

/* Checkout: form 60% + order summary 40% (lg container); stack on small viewports. */
.az-checkout-page__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--az-space-4);
	align-items: start;
	width: 100%;
	box-sizing: border-box;
}

.az-checkout-page__form {
	min-width: 0;
}

@media (min-width: 960px) {
	.az-checkout-page__grid {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		gap: calc(var(--az-space-4) + var(--az-space-3));
	}
}

.az-checkout-page .header-cart-drawer-scroll.az-checkout-page__order-lines {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 !important;
}

/* Coupon: between line items and subtotal — UI kit field + primary (WC checkout reverts .site-main button). */
.az-checkout-page__coupon {
	margin-top: var(--az-space-4);
	width: 100%;
	box-sizing: border-box;
}

.az-checkout-page__coupon-toggle.az-ui-kit__link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--az-space-2);
	width: 100%;
	box-sizing: border-box;
	text-decoration: none;
}

.az-checkout-page__coupon-toggle-text {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.az-checkout-page__coupon-chevron {
	font-size: 1.375rem;
	line-height: 1;
	flex-shrink: 0;
	color: var(--az-header-link-color);
	transition: transform var(--az-duration-fast) var(--az-ease-default);
}

.az-checkout-page__coupon-toggle[aria-expanded="true"] .az-checkout-page__coupon-chevron {
	transform: rotate(180deg);
}

.az-checkout-page__coupon-panel {
	margin-top: var(--az-space-3);
}

.az-checkout-page__coupon-row {
	align-items: flex-end;
	width: 100%;
	gap: var(--az-space-2);
}

.az-checkout-page__coupon-field {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

/* Text input: same chrome as global form controls (page-components / checkout fields). */
.woocommerce .az-checkout-page__coupon .az-ui-kit__field input[type="text"].az-checkout-theme-field {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	border-radius: var(--az-control-radius);
	border: 1px solid var(--az-border-divider);
	padding: var(--az-control-padding-y) var(--az-control-padding-x);
	background: var(--az-color-surface);
	color: var(--az-header-link-color);
	font: inherit;
	line-height: 1.35;
	min-height: calc(1lh + 2 * var(--az-control-padding-y));
}

.woocommerce .az-checkout-page__coupon .az-ui-kit__field input[type="text"].az-checkout-theme-field:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

/* Primary button: restore UI kit after body.woocommerce-checkout .site-main button { all: revert; } */
.woocommerce .az-checkout-page__coupon button.button.button--primary.az-checkout-page__coupon-apply {
	flex-shrink: 0;
	align-self: flex-end;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 5.5rem;
	white-space: nowrap;
	text-align: center !important;
	text-decoration: none !important;
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-button-font-weight) !important;
	line-height: 1.25 !important;
	font-family: inherit !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer !important;
	padding-top: var(--az-button-padding-y) !important;
	padding-bottom: var(--az-button-padding-y) !important;
	padding-left: var(--az-button-padding-x) !important;
	padding-right: var(--az-button-padding-x) !important;
	border-radius: var(--az-control-radius) !important;
	background: var(--az-button-bg) !important;
	border: 1px solid var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	opacity: 1 !important;
}

.woocommerce .az-checkout-page__coupon button.button.button--primary.az-checkout-page__coupon-apply:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%) !important;
	border-color: var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	text-decoration: none !important;
}

.woocommerce .az-checkout-page__coupon button.button.button--primary.az-checkout-page__coupon-apply:focus-visible {
	outline: 2px solid var(--az-button-bg) !important;
	outline-offset: 2px !important;
	color: var(--az-button-text) !important;
}

.az-checkout-page__order-totals {
	margin-top: var(--az-space-4);
}

.az-checkout-page__order-empty {
	padding: var(--az-space-2) 0;
}

/*
 * Gap after total → notice: must beat .page-content p { margin-top: 0 } (otherwise top margin is ignored).
 * Space before Place order is .az-checkout-page__place-order-wrap.
 */
.page-content .az-checkout-page .az-checkout-page__legal-notice {
	margin-top: calc(var(--az-space-4) + var(--az-space-3));
	margin-bottom: 0;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--az-text-secondary);
}

.az-checkout-page__legal-notice-link {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.az-checkout-page__legal-notice-link:hover,
.az-checkout-page__legal-notice-link:focus-visible {
	color: var(--az-header-link-color);
}

.az-checkout-page__place-order-wrap {
	margin-top: var(--az-space-3);
	width: 100%;
	box-sizing: border-box;
}

/*
 * WC checkout resets .site-main buttons — restore UI kit primary block (same as .header-cart-drawer-actions).
 */
.woocommerce .az-checkout-page__place-order-wrap button.button.button--primary.button--block,
.woocommerce .az-checkout-page__place-order-wrap button.button.button--primary.button--block.az-checkout-page__place-order {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	text-align: center !important;
	text-decoration: none !important;
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-button-font-weight) !important;
	line-height: 1.25 !important;
	font-family: inherit !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer !important;
	padding-top: var(--az-button-padding-y) !important;
	padding-bottom: var(--az-button-padding-y) !important;
	padding-left: var(--az-button-padding-x) !important;
	padding-right: var(--az-button-padding-x) !important;
	border-radius: var(--az-control-radius) !important;
	background: var(--az-button-bg) !important;
	border: 1px solid var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	opacity: 1 !important;
}

.woocommerce .az-checkout-page__place-order-wrap button.button.button--primary.button--block:hover,
.woocommerce .az-checkout-page__place-order-wrap button.button.button--primary.button--block.az-checkout-page__place-order:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%) !important;
	border-color: var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	text-decoration: none !important;
	border-radius: var(--az-control-radius) !important;
}

.woocommerce .az-checkout-page__place-order-wrap button.button.button--primary.button--block:focus-visible,
.woocommerce .az-checkout-page__place-order-wrap button.button.button--primary.button--block.az-checkout-page__place-order:focus-visible {
	outline: 2px solid var(--az-button-bg) !important;
	outline-offset: 2px !important;
	color: var(--az-button-text) !important;
	border-radius: var(--az-control-radius) !important;
}

/* Checkout: use full width of column / .site-section-inner (lg), not the UI kit stack cap (28rem). */
.az-checkout-page .az-checkout-page__design,
.az-checkout-page .az-ui-kit__stack {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* WooCommerce .form-row on UI-kit labels: keep layout (stack gap), not WC default margins. */
.woocommerce.az-checkout-page form.checkout .az-ui-kit__field.form-row {
	padding: 0;
	margin: 0;
}

/* Invalid fields: red border only (WC .woocommerce-invalid + server-side aria-invalid). */
.woocommerce.az-checkout-page form.checkout .az-ui-kit__field.form-row.woocommerce-invalid .az-checkout-theme-field,
.woocommerce.az-checkout-page form.checkout .az-checkout-theme-field[aria-invalid="true"] {
	border-color: #c62828;
}

/*
 * Duplicate billing fields are disabled + [hidden] when “same as shipping” — never show error chrome there
 * (WC may still set classes/aria-invalid on focusout before JS clears them).
 */
.woocommerce.az-checkout-page form.checkout #az-checkout-billing-panel[hidden] .az-ui-kit__field.form-row.woocommerce-invalid .az-checkout-theme-field,
.woocommerce.az-checkout-page form.checkout #az-checkout-billing-panel[hidden] .az-checkout-theme-field[aria-invalid="true"] {
	border-color: var(--az-border-divider) !important;
}

/* Inline validation copy under fields (WC .checkout-inline-error-message). */
.woocommerce.az-checkout-page form.checkout .checkout-inline-error-message {
	margin: 0;
	padding: 0;
	font-size: 0.75rem;
	line-height: 1.35;
	font-weight: var(--az-font-weight-normal);
	color: #c62828;
}

.az-checkout-page__row-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--az-space-3);
	width: 100%;
	align-items: start;
}

@media (max-width: 600px) {
	.az-checkout-page__row-two {
		grid-template-columns: 1fr;
	}
}

.az-checkout-page .az-ui-kit__checkbox {
	padding-top: var(--az-space-1);
}

.az-checkout-page .az-checkout-page__billing-same-label.az-ui-kit__checkbox {
	margin-top: var(--az-space-3);
}

.az-checkout-page__billing-panel {
	margin-top: var(--az-space-4);
}

.az-checkout-page__shipping-options {
	margin-top: var(--az-space-4);
}

.az-checkout-page__additional {
	margin-top: var(--az-space-4);
}

.az-cart-summary__shipping {
	padding-top: var(--az-space-3);
	padding-bottom: var(--az-space-2);
	margin-bottom: var(--az-space-2);
	border-bottom: 1px solid var(--az-border-divider);
}

.az-cart-summary__shipping-head {
	margin-bottom: var(--az-space-2);
}

.az-cart-summary__shipping-title {
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-text-secondary);
	font-size: 0.9rem;
	text-align: left;
}

.az-cart-summary__shipping-body {
	text-align: left;
}

.az-cart-summary__shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.az-cart-summary__shipping-methods li {
	margin: 0 0 var(--az-space-1);
	font-size: 0.75rem;
	line-height: 1.35;
}

.az-cart-summary__shipping-destination {
	margin: var(--az-space-2) 0 0;
	font-size: 0.75rem;
	line-height: 1.4;
	text-align: left;
	color: var(--az-text-secondary);
}

.az-cart-summary__shipping-body .woocommerce-shipping-calculator {
	text-align: left;
}

.az-cart-summary__block--calc {
	margin-bottom: var(--az-space-3);
	padding-bottom: var(--az-space-2);
	border-bottom: 1px solid var(--az-border-divider);
}

.az-cart-summary__calc-heading {
	margin: 0 0 var(--az-space-2);
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-text-secondary);
	font-size: 0.9rem;
}

.az-cart-page__summary-rows .woocommerce-remove-coupon {
	color: var(--az-header-link-color);
	text-decoration: underline;
	margin-left: var(--az-space-2);
	font-size: 0.85rem;
}

/* Layout only; stack full-width CTAs below. */
.header-cart-drawer-actions {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-3);
	width: 100%;
	align-items: stretch;
}

/*
 * Side cart footer: anchor CTAs — WooCommerce .woocommerce a.button loads after the theme.
 * Match UI kit (.button.button--primary / .button--secondary + .button--block), same approach as
 * .az-shop-empty a.button.button--primary and .az-shop-price-dropdown__panel … .button.
 */
.header-cart-drawer-actions a.button.button--primary.button--block,
.woocommerce .header-cart-drawer-actions a.button.button--primary.button--block {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	text-align: center !important;
	text-decoration: none !important;
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-button-font-weight) !important;
	line-height: 1.25 !important;
	font-family: inherit !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer !important;
	padding-top: var(--az-button-padding-y) !important;
	padding-bottom: var(--az-button-padding-y) !important;
	padding-left: var(--az-button-padding-x) !important;
	padding-right: var(--az-button-padding-x) !important;
	border-radius: var(--az-control-radius) !important;
	background: var(--az-button-bg) !important;
	border: 1px solid var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	opacity: 1 !important;
}

.header-cart-drawer-actions a.button.button--primary.button--block:hover,
.woocommerce .header-cart-drawer-actions a.button.button--primary.button--block:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%) !important;
	border-color: var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	text-decoration: none !important;
	border-radius: var(--az-control-radius) !important;
}

.header-cart-drawer-actions a.button.button--primary.button--block:focus-visible,
.woocommerce .header-cart-drawer-actions a.button.button--primary.button--block:focus-visible {
	outline: 2px solid var(--az-button-bg) !important;
	outline-offset: 2px !important;
	color: var(--az-button-text) !important;
	border-radius: var(--az-control-radius) !important;
}

.header-cart-drawer-actions a.button.button--primary.button--block:visited,
.woocommerce .header-cart-drawer-actions a.button.button--primary.button--block:visited {
	color: var(--az-button-text) !important;
}

.header-cart-drawer-actions a.button.button--secondary.button--block,
.woocommerce .header-cart-drawer-actions a.button.button--secondary.button--block {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	text-align: center !important;
	text-decoration: none !important;
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-button-font-weight) !important;
	line-height: 1.25 !important;
	font-family: inherit !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer !important;
	padding-top: var(--az-button-padding-y) !important;
	padding-bottom: var(--az-button-padding-y) !important;
	padding-left: var(--az-button-padding-x) !important;
	padding-right: var(--az-button-padding-x) !important;
	border-radius: var(--az-control-radius) !important;
	background: var(--az-color-surface) !important;
	border: 1px solid var(--az-button-bg) !important;
	color: var(--az-button-bg) !important;
	opacity: 1 !important;
}

.header-cart-drawer-actions a.button.button--secondary.button--block:hover,
.woocommerce .header-cart-drawer-actions a.button.button--secondary.button--block:hover {
	background: color-mix(in srgb, var(--az-button-bg) 10%, var(--az-color-surface)) !important;
	border-color: var(--az-button-bg) !important;
	color: var(--az-button-bg) !important;
	text-decoration: none !important;
	border-radius: var(--az-control-radius) !important;
}

.header-cart-drawer-actions a.button.button--secondary.button--block:focus-visible,
.woocommerce .header-cart-drawer-actions a.button.button--secondary.button--block:focus-visible {
	outline: 2px solid var(--az-button-bg) !important;
	outline-offset: 2px !important;
	color: var(--az-button-bg) !important;
	border-radius: var(--az-control-radius) !important;
}

.header-cart-drawer-actions a.button.button--secondary.button--block:visited,
.woocommerce .header-cart-drawer-actions a.button.button--secondary.button--block:visited {
	color: var(--az-button-bg) !important;
}

.header-cart-drawer-row {
	display: flex;
	align-items: center;
	gap: var(--az-space-3);
	padding: var(--az-space-3) 0;
	border-bottom: 1px solid var(--az-border-divider);
}

.header-cart-drawer-row-media {
	flex-shrink: 0;
}

.header-cart-drawer-thumb-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.header-cart-drawer-thumb-link:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 2px;
}

.header-cart-drawer-thumb {
	width: 72px;
	height: auto;
	aspect-ratio: 3 / 4;
	background-color: var(--az-surface-placeholder);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.header-cart-drawer-row-info {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--az-space-1);
}

.header-cart-drawer-qty-row {
	display: block;
}

.header-cart-drawer-qty-view {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--az-space-2);
}

.header-cart-drawer-qty-label {
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--az-text-secondary);
}

.header-cart-drawer-qty-edit-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: content-box;
	margin: 0;
	padding: 3px;
	border: 0;
	background: none;
	color: var(--az-header-link-color);
	cursor: pointer;
	border-radius: 2px;
	line-height: 0;
	vertical-align: middle;
	transition: color var(--az-duration-fast) var(--az-ease-default),
		transform var(--az-header-icon-zoom-duration) var(--az-header-underline-ease);
}

.header-cart-drawer-qty-edit-icon {
	display: block;
	flex-shrink: 0;
}

.header-cart-drawer-qty-edit-toggle:hover,
.header-cart-drawer-qty-edit-toggle:focus-visible {
	color: var(--az-header-link-color);
	transform: scale(var(--az-header-icon-zoom-scale));
}

.header-cart-drawer-qty-edit-toggle:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.header-cart-drawer-qty-edit-toggle {
		transition: none;
	}

	.header-cart-drawer-qty-edit-toggle:hover,
	.header-cart-drawer-qty-edit-toggle:focus-visible {
		transform: none;
	}
}

.header-cart-drawer-qty-edit {
	display: none;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--az-space-1);
}

.header-cart-drawer-qty-row.is-editing .header-cart-drawer-qty-view {
	display: none;
}

.header-cart-drawer-qty-row.is-editing .header-cart-drawer-qty-edit {
	display: inline-flex;
}

/*
 * Single product quantity: UI kit field (.az-ui-kit__field) + global input[type="number"] (Components / Form controls).
 * +/- are surface controls (not global CTA buttons); icons: Material Symbols add/remove (subset in functions.php).
 */
.az-single-product__qty-field {
	max-width: 28rem;
}

/* Components page: match full-width form column. */
.az-ui-kit .az-single-product__qty-field {
	max-width: 100%;
}

.header-cart-drawer .az-single-product__qty-field.header-cart-drawer__qty-field,
.az-cart-page .az-single-product__qty-field.header-cart-drawer__qty-field {
	max-width: none;
}

.az-single-product__qty-field .az-qty-stepper {
	display: inline-flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: var(--az-space-2);
	width: 100%;
	box-sizing: border-box;
}

.woocommerce .az-single-product__qty-field input[type="number"].az-qty-stepper__input,
.header-cart-drawer .az-single-product__qty-field input[type="number"].az-qty-stepper__input,
.az-cart-page .az-single-product__qty-field input[type="number"].az-qty-stepper__input {
	width: 4rem;
	min-width: 3.25rem;
	max-width: 8rem;
	margin: 0;
	text-align: center;
	flex: 0 1 auto;
	/* padding, border, radius, font: theme input[type="number"] + .az-ui-kit__field input */
}

.woocommerce .az-single-product__qty-field button.az-qty-stepper__btn,
.header-cart-drawer .az-single-product__qty-field button.az-qty-stepper__btn,
.az-cart-page .az-single-product__qty-field button.az-qty-stepper__btn {
	appearance: none;
	box-sizing: border-box;
	margin: 0;
	padding: var(--az-control-padding-y) var(--az-space-2) !important;
	min-width: 2.75rem;
	border: 1px solid var(--az-border-divider) !important;
	border-radius: var(--az-control-radius) !important;
	background: var(--az-color-surface) !important;
	color: var(--az-header-link-color) !important;
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-font-weight-emphasis) !important;
	line-height: 1.25 !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	gap: 0;
	transition: background-color var(--az-duration-fast) var(--az-ease-default);
}

.woocommerce .az-single-product__qty-field button.az-qty-stepper__btn:hover:not(:disabled),
.header-cart-drawer .az-single-product__qty-field button.az-qty-stepper__btn:hover:not(:disabled),
.az-cart-page .az-single-product__qty-field button.az-qty-stepper__btn:hover:not(:disabled) {
	background: var(--az-color-primary) !important;
	border-color: var(--az-border-divider) !important;
	color: var(--az-header-link-color) !important;
}

.woocommerce .az-single-product__qty-field button.az-qty-stepper__btn:disabled,
.header-cart-drawer .az-single-product__qty-field button.az-qty-stepper__btn:disabled,
.az-cart-page .az-single-product__qty-field button.az-qty-stepper__btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.woocommerce .az-single-product__qty-field button.az-qty-stepper__btn:focus-visible,
.header-cart-drawer .az-single-product__qty-field button.az-qty-stepper__btn:focus-visible,
.az-cart-page .az-single-product__qty-field button.az-qty-stepper__btn:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

/* Side cart + cart page: shorter quantity stepper than product page */
.header-cart-drawer .header-cart-drawer__qty-field.az-ui-kit__field,
.az-cart-page .header-cart-drawer__qty-field.az-ui-kit__field {
	gap: 4px;
}

.header-cart-drawer .header-cart-drawer__qty-field .az-ui-kit__field-label,
.az-cart-page .header-cart-drawer__qty-field .az-ui-kit__field-label {
	font-size: 0.75rem;
	line-height: 1.2;
}

.header-cart-drawer .header-cart-drawer__qty-field .az-qty-stepper,
.az-cart-page .header-cart-drawer__qty-field .az-qty-stepper {
	gap: 6px;
	align-items: center;
}

.header-cart-drawer .header-cart-drawer__qty-field input[type="number"].az-qty-stepper__input,
.az-cart-page .header-cart-drawer__qty-field input[type="number"].az-qty-stepper__input {
	width: 2.75rem;
	min-width: 2.25rem;
	padding: 4px 6px !important;
	font-size: 0.85rem !important;
	line-height: 1.2 !important;
}

.header-cart-drawer .header-cart-drawer__qty-field button.az-qty-stepper__btn,
.az-cart-page .header-cart-drawer__qty-field button.az-qty-stepper__btn {
	padding: 4px 8px !important;
	min-width: 2rem !important;
	min-height: 0 !important;
	font-size: 0.85rem !important;
	line-height: 1 !important;
	align-self: center !important;
}

.header-cart-drawer .header-cart-drawer__qty-field .az-qty-stepper__glyph,
.az-cart-page .header-cart-drawer__qty-field .az-qty-stepper__glyph {
	font-size: 16px;
}

.az-single-product__qty-field .az-qty-stepper__glyph {
	font-size: 20px;
	line-height: 1;
	display: block;
}

.az-single-product__cart-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--az-space-2);
	margin-top: var(--az-space-3);
}

.az-single-product__cart-actions .az-single-product__qty-field {
	align-self: flex-start;
	width: 100%;
}

.az-single-product__cart-actions form.cart {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--az-space-3);
}

/*
 * Add to cart (simple): WooCommerce frontend CSS sets .woocommerce .button / alt / wc-* after the theme.
 * Match UI kit primary + .button--block (same approach as .az-shop-empty a.button.button--primary).
 */
.az-single-product__cart-actions button.button.button--primary.az-single-product__add-to-cart,
.woocommerce .az-single-product__cart-actions button.button.button--primary.az-single-product__add-to-cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	text-align: center !important;
	text-decoration: none !important;
	font-size: var(--az-button-font-size) !important;
	font-weight: var(--az-button-font-weight) !important;
	line-height: 1.25 !important;
	font-family: inherit !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer !important;
	padding-top: var(--az-button-padding-y) !important;
	padding-bottom: var(--az-button-padding-y) !important;
	padding-left: var(--az-button-padding-x) !important;
	padding-right: var(--az-button-padding-x) !important;
	border-radius: var(--az-control-radius) !important;
	background: var(--az-button-bg) !important;
	border: 1px solid var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	opacity: 1 !important;
}

.az-single-product__cart-actions button.button.button--primary.az-single-product__add-to-cart:hover,
.woocommerce .az-single-product__cart-actions button.button.button--primary.az-single-product__add-to-cart:hover {
	background: color-mix(in srgb, var(--az-button-bg) 90%, #ffffff 10%) !important;
	border-color: var(--az-button-bg) !important;
	color: var(--az-button-text) !important;
	border-radius: var(--az-control-radius) !important;
}

.az-single-product__cart-actions button.button.button--primary.az-single-product__add-to-cart:focus-visible,
.woocommerce .az-single-product__cart-actions button.button.button--primary.az-single-product__add-to-cart:focus-visible {
	outline: 2px solid var(--az-button-bg) !important;
	outline-offset: 2px !important;
	color: var(--az-button-text) !important;
	border-radius: var(--az-control-radius) !important;
}

.header-cart-drawer.is-az-cart-updating .az-qty-stepper__btn,
.header-cart-drawer.is-az-cart-updating .az-qty-stepper__input,
.header-cart-drawer.is-az-cart-updating .header-cart-drawer-qty-edit-toggle,
.az-cart-page.is-az-cart-updating .az-qty-stepper__btn,
.az-cart-page.is-az-cart-updating .az-qty-stepper__input,
.az-cart-page.is-az-cart-updating .header-cart-drawer-qty-edit-toggle,
.az-checkout-page.is-az-cart-updating .az-qty-stepper__btn,
.az-checkout-page.is-az-cart-updating .az-qty-stepper__input,
.az-checkout-page.is-az-cart-updating .header-cart-drawer-qty-edit-toggle {
	pointer-events: none;
	opacity: 0.55;
}

.header-cart-drawer-item-title {
	font-size: 0.95rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.35;
	color: var(--az-header-link-color);
	text-decoration: none;
}

a.header-cart-drawer-item-title:hover,
a.header-cart-drawer-item-title:focus-visible {
	text-decoration: underline;
}

a.header-cart-drawer-item-title:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 2px;
}

.header-cart-drawer-item-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--az-space-2) var(--az-space-3);
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--az-text-secondary);
}

.header-cart-drawer-item-price {
	font-weight: var(--az-font-weight-emphasis);
}

.header-cart-drawer-item-price .woocommerce-Price-amount {
	font-weight: var(--az-font-weight-emphasis);
}

.header-cart-drawer-remove {
	flex-shrink: 0;
	align-self: flex-start;
	margin: 0;
	font-size: 1.35rem;
	line-height: 1;
	font-weight: var(--az-font-weight-normal);
	color: var(--az-header-link-color);
	text-decoration: none;
	transition: transform var(--az-header-icon-zoom-duration) var(--az-header-underline-ease);
}

.header-cart-drawer-remove:hover {
	transform: scale(1.1);
}

.header-cart-drawer-remove:focus-visible {
	outline: 2px solid var(--az-header-link-color);
	outline-offset: 2px;
}

.header-cart-drawer-subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--az-space-3);
	margin-top: var(--az-space-2);
	padding-top: var(--az-space-3);
	font-size: 1rem;
	font-weight: var(--az-font-weight-emphasis);
}

.header-cart-drawer-subtotal-label {
	flex-shrink: 0;
}

.header-cart-drawer-subtotal-value {
	text-align: right;
	font-weight: var(--az-font-weight-emphasis);
}

.header-cart-drawer-subtotal-value .woocommerce-Price-amount {
	font-weight: var(--az-font-weight-emphasis);
}

body.az-cart-open .header-cart-drawer {
	transform: translateX(0);
}

body.az-cart-open {
	overflow: hidden;
}

body.az-shop-filter-open {
	overflow: hidden;
}

body.az-lang-menu-open {
	overflow: hidden;
}

body.az-header-search-open {
	overflow: hidden;
}

body.az-product-lightbox-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.site-header-shell.is-scrolled .header-row-second {
		padding: var(--az-pad-y) var(--az-pad-x);
	}

	body.az-mobile-menu-open {
		overflow: hidden;
		overscroll-behavior: none;
	}

	.header-mobile-drawer-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: var(--az-z-overlay);
		width: 100%;
		height: 100%;
		background: transparent;
		cursor: pointer;
		visibility: hidden;
		pointer-events: none;
	}

	body.az-mobile-menu-open .header-mobile-drawer-overlay {
		visibility: visible;
		pointer-events: auto;
	}

	.header-burger {
		display: inline-flex;
		width: 36px;
		height: 36px;
		padding: 0;
		margin-right: var(--az-space-3);
		background: transparent;
		border: 0;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
	}

	.header-burger:hover,
	.header-burger:focus,
	.header-burger:active {
		background: transparent;
		border-color: transparent;
		box-shadow: none;
	}

	.header-burger span {
		display: block;
		width: 22px;
		height: 2px;
		background: #000000;
		transition: transform var(--az-duration-fast) var(--az-ease-default), opacity var(--az-duration-fast) var(--az-ease-default);
	}

	body.az-mobile-menu-open .header-burger span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	body.az-mobile-menu-open .header-burger span:nth-child(2) {
		opacity: 0;
	}

	body.az-mobile-menu-open .header-burger span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.header-left > nav,
	.header-left > .header-mobile-drawer,
	.header-left > ul.header-menu {
		position: fixed;
		top: 0;
		left: 0;
		right: auto;
		bottom: 0;
		width: min(360px, 96vw);
		height: 100%;
		min-height: 100vh;
		min-height: 100dvh;
		background: var(--az-color-surface);
		padding: 0;
		transform: translateX(-100%);
		transition: transform var(--az-header-drawer-duration) var(--az-header-drawer-ease);
		z-index: var(--az-z-drawer);
		overflow: hidden;
		box-shadow: 12px 0 40px var(--az-shadow-color-soft);
	}

	.header-left > .header-mobile-drawer {
		display: flex;
		flex-direction: column;
	}

	.header-mobile-drawer-body {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		overflow-y: auto;
		padding: var(--az-space-3) var(--az-space-4);
		padding-bottom: max(var(--az-space-3), env(safe-area-inset-bottom, 0px));
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	/* Legacy: nav/ul without inner head still scroll as a single panel */
	.header-left > nav:not(.header-mobile-drawer),
	.header-left > ul.header-menu {
		overflow-y: auto;
		padding: var(--az-pad-y) var(--az-pad-x);
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	body.az-mobile-menu-open .header-left > nav,
	body.az-mobile-menu-open .header-left > .header-mobile-drawer,
	body.az-mobile-menu-open .header-left > ul.header-menu {
		transform: translateX(0);
	}

	.header-left nav ul,
	.header-left > div > ul,
	.header-left > ul,
	.header-menu,
	.header-menu > ul {
		flex-direction: column;
		gap: var(--az-header-menu-gap);
	}

	.header-right .header-language-switcher {
		display: none;
	}

	.header-language-switcher-mobile {
		display: block;
		margin-top: auto;
		padding-top: var(--az-space-3);
	}

	.header-cart-drawer {
		width: min(360px, 96vw);
	}
}

/*
 * Components page template (page-components.php): layout + labels only — primitives use global theme classes.
 * Vertical rhythm: --az-ui-kit-v-* tokens keep meta lines, demos, and subsections aligned.
 */
.az-ui-kit {
	--az-ui-kit-v-meta: var(--az-space-2);
	--az-ui-kit-v-after-title: var(--az-space-3);
	--az-ui-kit-v-after-subtitle: var(--az-space-3);
	--az-ui-kit-v-block: var(--az-space-3);
	--az-ui-kit-v-major: var(--az-space-4);
	text-align: start;
}

.az-ui-kit .home-products-section {
	padding-top: 0;
	padding-bottom: 0;
}

/* Notices demo (page-components.php): same global WC notice rules; vertical padding around samples */
.az-ui-kit__notice-demo {
	margin-block: var(--az-ui-kit-v-block);
}

.az-ui-kit__page-content {
	margin-top: 0;
}

.az-ui-kit__section {
	margin-top: var(--az-space-4);
	padding-top: var(--az-space-4);
	border-top: 1px solid var(--az-border-divider);
}

/* First kit block only (may be div or section; avoids section:first-of-type when a div precedes sections) */
.az-ui-kit > .az-ui-kit__section:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.az-ui-kit__section-title {
	margin: 0 0 var(--az-space-3);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.25;
	color: var(--az-header-link-color);
}

/* Primary intro line after h2 (when not using --lede): match gap before demos to lede sections. */
.az-ui-kit__section > .az-ui-kit__section-title + .az-ui-kit__class:not(.az-ui-kit__class--lede) {
	margin-bottom: var(--az-ui-kit-v-after-title);
}

.az-ui-kit__class {
	margin: 0 0 var(--az-ui-kit-v-meta);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 0.8rem;
	line-height: 1.4;
	color: var(--az-text-tertiary);
}

.az-ui-kit__class--lede {
	margin-bottom: var(--az-ui-kit-v-after-title);
	color: var(--az-text-secondary);
}

/* Intro line under h3 (Radio, Quantity, etc.) before the demo block. */
.az-ui-kit__section > .az-ui-kit__subsection-title + .az-ui-kit__class:not(.az-ui-kit__class--lede) {
	margin-bottom: var(--az-ui-kit-v-after-subtitle);
}

.az-ui-kit__subsection-title {
	margin: var(--az-ui-kit-v-major) 0 var(--az-ui-kit-v-after-subtitle);
	font-size: 1rem;
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.3;
	color: var(--az-text-secondary);
}

/* Non-demo line (e.g. link sample) after meta — keeps rhythm without monospace styling. */
.az-ui-kit__sample {
	margin: var(--az-ui-kit-v-after-title) 0 0;
}

/* Back-to-back form stacks (slider block after radio, etc.). */
.az-ui-kit__stack + .az-ui-kit__stack {
	margin-top: var(--az-ui-kit-v-major);
}

.az-ui-kit__token-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
	gap: var(--az-space-3);
}

.az-ui-kit__color-token {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-2);
	min-width: 0;
}

.az-ui-kit__color-swatch {
	aspect-ratio: 4 / 3;
	border-radius: 2px;
	border: 1px solid var(--az-border-divider);
	box-shadow: var(--az-shadow-sm);
	box-sizing: border-box;
}

.az-ui-kit__color-swatch--inverse {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: var(--az-font-weight-emphasis);
}

.az-ui-kit__color-swatch-label {
	pointer-events: none;
}

.az-ui-kit__token-name {
	display: block;
	margin: 0;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 0.72rem;
	line-height: 1.35;
	color: var(--az-text-tertiary);
	word-break: break-word;
}

.az-ui-kit .az-ui-kit__token-name--block {
	margin-bottom: var(--az-ui-kit-v-after-title);
}

.az-ui-kit__type-sample {
	margin: 0;
	font-family: var(--az-font-sans);
	font-size: 1.15rem;
	line-height: 1.55;
	color: var(--az-header-link-color);
}

.az-ui-kit__type-stack {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-3);
	max-width: 40rem;
}

.az-ui-kit__fw-normal {
	font-weight: var(--az-font-weight-normal);
}

.az-ui-kit__fw-bold {
	font-weight: var(--az-font-weight-emphasis);
}

.az-ui-kit__icon-grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--az-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.az-ui-kit__icon-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--az-space-2);
	min-width: 5.5rem;
	padding: var(--az-space-3);
	border: 1px solid var(--az-border-divider);
	border-radius: 2px;
	background: var(--az-color-surface);
	box-sizing: border-box;
}

.az-ui-kit__icon-item .az-ui-kit__token-name {
	text-align: center;
}

.az-ui-kit__icon-glyph {
	font-size: 28px;
	color: var(--az-header-link-color);
}

.az-ui-kit__sheet-head-demo {
	margin-top: var(--az-ui-kit-v-block);
}

.az-ui-kit__sheet-head-demo .az-sheet-head {
	background: var(--az-color-surface);
}

.az-ui-kit__shop-dropdown-demo {
	display: flex;
	flex-direction: column;
	gap: var(--az-ui-kit-v-block);
}

.az-ui-kit__shop-dropdown-demo > .az-ui-kit__class {
	margin-bottom: 0;
}

.az-ui-kit__shadow-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--az-space-3);
	align-items: stretch;
}

.az-ui-kit__shadow-chip {
	flex: 1 1 7rem;
	min-height: 4.5rem;
	padding: var(--az-space-3);
	border-radius: 2px;
	border: 1px solid var(--az-border-divider);
	background: var(--az-color-surface);
	display: flex;
	align-items: flex-end;
	box-sizing: border-box;
}

.az-ui-kit__shadow-chip .az-ui-kit__token-name {
	color: var(--az-text-secondary);
}

.az-ui-kit__shadow-chip--sm {
	box-shadow: var(--az-shadow-sm);
}

.az-ui-kit__shadow-chip--md {
	box-shadow: var(--az-shadow-md);
}

.az-ui-kit__space-list {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-3);
	max-width: 36rem;
}

.az-ui-kit__space-row {
	display: grid;
	grid-template-columns: minmax(7rem, 13rem) 1fr;
	gap: var(--az-space-3);
	align-items: center;
}

@media (max-width: 36rem) {
	.az-ui-kit__space-row {
		grid-template-columns: 1fr;
	}
}

.az-ui-kit__space-track {
	display: flex;
	align-items: center;
	min-height: 2.25rem;
	padding: var(--az-space-1);
	border-radius: 2px;
	border: 1px solid var(--az-border-divider);
	background: linear-gradient(
		90deg,
		var(--az-border-divider) 0,
		var(--az-border-divider) 1px,
		transparent 1px,
		transparent 5px
	);
	background-size: 6px 100%;
	box-sizing: border-box;
}

.az-ui-kit__space-bar {
	display: block;
	height: 1.125rem;
	background: var(--az-header-link-color);
	border-radius: 1px;
	min-width: 2px;
	opacity: 0.88;
}

.az-ui-kit__container-widths {
	margin: 0;
	padding-left: 1.25em;
	max-width: 42rem;
	line-height: 1.55;
}

.az-ui-kit__container-widths li {
	margin-bottom: var(--az-space-3);
}

.az-ui-kit__container-widths li:last-child {
	margin-bottom: 0;
}

.az-ui-kit__container-widths .az-ui-kit__token-name {
	white-space: normal;
	word-break: break-word;
}

.az-ui-kit__link {
	color: var(--az-header-link-color);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.az-ui-kit__link:hover,
.az-ui-kit__link:focus-visible {
	color: var(--az-header-link-color);
}

.az-ui-kit__button-stack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--az-space-3);
	width: 100%;
	max-width: 28rem;
	box-sizing: border-box;
}

/* Avoid doubling stack gap with .az-ui-kit__class margins. */
.az-ui-kit__button-stack > .az-ui-kit__class {
	margin-bottom: 0;
}

.az-ui-kit__button-stack > .az-ui-kit__row {
	width: 100%;
}

.az-ui-kit__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--az-space-2);
	margin: 0;
}

.az-ui-kit__row--block {
	max-width: 20rem;
}

.az-ui-kit__stack {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-3);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.az-ui-kit__field {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-1);
	margin: 0;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.az-ui-kit__field-label {
	font-size: 0.85rem;
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-text-secondary);
}

.az-ui-kit__field input,
.az-ui-kit__field textarea,
.az-ui-kit__field select {
	width: 100%;
	box-sizing: border-box;
}

.az-ui-kit__field .az-slider {
	max-width: 100%;
}

/* Checkbox row (checkout, forms): label wraps input + text; uses accent-color for checked state. */
.az-ui-kit__checkbox {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--az-space-2);
	margin: 0;
	cursor: pointer;
	font-size: 0.9375rem;
	line-height: 1.45;
	color: var(--az-header-link-color);
}

.az-ui-kit__checkbox-input {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	accent-color: var(--az-button-bg);
	cursor: pointer;
}

.az-ui-kit__checkbox-input:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

.az-ui-kit__checkbox-text {
	flex: 1;
	min-width: 0;
}

/* Radio row (same rhythm as .az-ui-kit__checkbox): label wraps input + text; optional trailing price. */
.az-ui-kit__radio-group {
	display: flex;
	flex-direction: column;
	gap: var(--az-space-2);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.az-ui-kit__radio-group .az-ui-kit__radio {
	width: 100%;
	box-sizing: border-box;
}

.az-ui-kit__radio {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--az-space-2);
	margin: 0;
	cursor: pointer;
	font-size: 0.9375rem;
	line-height: 1.45;
	color: var(--az-header-link-color);
}

.az-ui-kit__radio-input {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	accent-color: var(--az-button-bg);
	cursor: pointer;
}

.az-ui-kit__radio-input:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

.az-ui-kit__radio-text {
	flex: 1;
	min-width: 0;
}

.az-ui-kit__radio-price {
	flex-shrink: 0;
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-header-link-color);
}

.az-ui-kit__radio-price .woocommerce-Price-amount {
	font-weight: var(--az-font-weight-emphasis);
}

.az-ui-kit .az-search-form {
	justify-content: flex-start;
	max-width: 28rem;
}

.az-ui-kit__shop-dropdown-demo .az-shop-toolbar__filters {
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 0;
}

/* Prose samples on components page (aligned with .page-content where applicable) */
.az-ui-kit__prose-demo {
	line-height: 1.7;
	color: var(--az-header-link-color);
}

.az-ui-kit__prose-demo h1 {
	margin: 0 0 0.5em;
	font-size: clamp(1.5rem, 2.5vw, 1.85rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.2;
	color: var(--az-header-link-color);
}

.az-ui-kit__prose-demo h2 {
	margin-top: 1.25em;
	margin-bottom: 0.5em;
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-header-link-color);
}

.az-ui-kit__prose-demo h2:first-child {
	margin-top: 0;
}

.az-ui-kit__prose-demo h3 {
	margin-top: 1.5em;
	margin-bottom: 0.4em;
	font-size: 1.15rem;
	line-height: 1.35;
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-header-link-color);
}

.az-ui-kit__prose-demo h3:first-child {
	margin-top: 0;
}

.az-ui-kit__prose-demo h4 {
	margin-top: 1.25em;
	margin-bottom: 0.35em;
	font-size: 1.05rem;
	line-height: 1.35;
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-header-link-color);
}

.az-ui-kit__prose-demo h4:first-child {
	margin-top: 0;
}

.az-ui-kit__prose-demo h5 {
	margin-top: 1.1em;
	margin-bottom: 0.3em;
	font-size: 0.95rem;
	line-height: 1.35;
	font-weight: var(--az-font-weight-emphasis);
	color: var(--az-header-link-color);
}

.az-ui-kit__prose-demo h5:first-child {
	margin-top: 0;
}

.az-ui-kit__prose-demo h6 {
	margin-top: 1em;
	margin-bottom: 0.25em;
	font-size: 0.875rem;
	line-height: 1.35;
	font-weight: var(--az-font-weight-emphasis);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--az-text-secondary);
}

.az-ui-kit__prose-demo h6:first-child {
	margin-top: 0;
}

.az-ui-kit__prose-demo p {
	margin-top: 0;
	margin-bottom: 1em;
	color: var(--az-header-link-color);
}

.az-ui-kit__prose-demo p:last-child {
	margin-bottom: 0;
}

.az-ui-kit__prose-demo ul,
.az-ui-kit__prose-demo ol {
	margin-top: 0;
	margin-bottom: 1em;
	padding-left: 1.5em;
}

.az-ui-kit__prose-demo li {
	margin-bottom: 0.35em;
}

.az-ui-kit__prose-demo ul:last-child,
.az-ui-kit__prose-demo ol:last-child {
	margin-bottom: 0;
}

/* Single product — layout + portrait image (background) */
.az-single-product {
	display: grid;
	gap: var(--az-space-3);
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
}

@media (min-width: 768px) {
	/* Media column ~60%, details ~40% */
	.az-single-product {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		gap: clamp(var(--az-space-4), 3vw, 2.5rem);
	}
}

.az-single-product__col--media {
	min-width: 0;
}

.az-single-product__col--details {
	min-width: 0;
}

.az-single-product__title {
	margin: 0;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.2;
	color: var(--az-header-link-color);
}

/* Beat `.page-content h2` (product title lives inside `.page-content` like cart/checkout). */
.page-content .az-single-product__title {
	margin: 0;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: var(--az-font-weight-emphasis);
	line-height: 1.2;
}

.az-single-product__price {
	margin-top: var(--az-space-2);
	font-size: 1.125rem;
	font-weight: var(--az-font-weight-normal);
	line-height: 1.35;
	color: var(--az-header-link-color);
}

.az-single-product__price .price {
	display: inline-block;
	margin: 0;
}

.az-single-product__price del {
	opacity: 0.65;
	font-weight: var(--az-font-weight-normal);
}

.az-single-product__price ins {
	text-decoration: none;
}

.az-single-product__price-note {
	font-size: 0.875rem;
	font-weight: var(--az-font-weight-normal);
	line-height: 1.45;
	color: var(--az-text-secondary);
}

/* Beat `.page-content p { margin-top: 0 }` on single product. */
.page-content .az-single-product__price-note {
	margin: var(--az-space-3) 0 0;
}

/* Long description: collapsed preview + expand (full HTML from product editor) */
.az-single-product__description {
	position: relative;
	margin-top: var(--az-space-3);
}

.az-single-product__description:not(.az-single-product__description--expanded):not(.az-single-product__description--short) .az-single-product__description-inner {
	max-height: 7.5rem;
	overflow: hidden;
	/* No max-height transition: animating from `none` to a length clips badly in browsers. */
}

.az-single-product__description--expanded .az-single-product__description-inner {
	max-height: none;
	overflow: visible;
}

.az-single-product__description:not(.az-single-product__description--expanded):not(.az-single-product__description--short)::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2.25rem;
	height: 2.5rem;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent, var(--az-color-primary));
}

.az-single-product__description-inner {
	line-height: 1.7;
	color: var(--az-text-secondary);
}

.az-single-product__description-inner > :first-child {
	margin-top: 0;
}

.az-single-product__description-inner p {
	margin: 0 0 1em;
}

.az-single-product__description-inner p:last-child {
	margin-bottom: 0;
}

.az-single-product__description-inner ul,
.az-single-product__description-inner ol {
	margin: 0 0 1em;
	padding-left: 1.5em;
}

.az-single-product__description-inner li {
	margin-bottom: 0.35em;
}

.az-single-product__description-inner a {
	color: var(--az-header-link-color);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.az-single-product__description-toggle {
	margin-top: var(--az-space-2);
	padding: 0;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	font-size: 0.9375rem !important;
	font-weight: var(--az-font-weight-normal) !important;
	line-height: 1.4 !important;
	color: var(--az-header-link-color) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	display: inline-flex;
	align-self: flex-start;
	box-shadow: none !important;
}

.az-single-product__description-toggle:hover {
	background: transparent !important;
	color: var(--az-text-secondary) !important;
	border-radius: 0 !important;
}

.az-single-product__description-toggle:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
	border-radius: 2px !important;
}

/* Single image: one column. Multiple images: 2-column grid — main + each extra image cell is 50% of the media column. */
.az-single-product__media-stack {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.az-single-product__media-stack--split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--az-space-3);
	align-items: start;
}

.az-single-product__media-stack--split .az-single-product__thumbs {
	display: contents;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Odd total image count: main is half the media width (centered), cover; thumbnails continue in two columns below. */
.az-single-product__media-stack--split-odd .az-single-product__image {
	grid-column: 1 / -1;
	width: 50%;
	max-width: 50%;
	justify-self: center;
	background-size: cover;
}

.az-single-product__image {
	width: 100%;
	max-width: none;
	aspect-ratio: 3 / 4;
	background-color: var(--az-surface-placeholder);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Main hero: div[role="button"] — avoids global `button` hover/focus styles (no faux “zoom” / color shift). */
.az-single-product__image[role="button"] {
	display: block;
	box-sizing: border-box;
	cursor: pointer;
}

.az-single-product__image[role="button"]:hover {
	transform: none;
	filter: none;
	opacity: 1;
}

.az-single-product__image[role="button"]:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
}

.az-single-product__thumbs {
	list-style: none;
	margin: 0;
	padding: 0;
}

.az-single-product__thumbs li {
	margin: 0;
	padding: 0;
	min-width: 0;
}

@media (max-width: 767px) {
	.az-single-product__media-stack--split {
		grid-template-columns: 1fr;
	}

	.az-single-product__media-stack--split .az-single-product__image {
		grid-column: 1 / -1;
	}

	.az-single-product__media-stack--split-odd .az-single-product__image {
		width: 100%;
		max-width: none;
		justify-self: stretch;
	}

	.az-single-product__media-stack--split .az-single-product__thumbs {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--az-space-3);
		grid-column: 1 / -1;
	}

	/* Odd total image count: two gallery thumbnails per row (main is full width above). */
	.az-single-product__media-stack--split-odd .az-single-product__thumbs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Specificity: beats global `button`/`button:hover` without `:not()` (that raised specificity above `.header-burger`). */
button.az-single-product__thumb {
	appearance: none;
	display: block;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 3 / 4;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 0 !important;
	background-color: var(--az-surface-placeholder);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	cursor: pointer;
	transform: none;
	transition: none;
	font-size: 0 !important;
	line-height: 0;
	font-weight: var(--az-font-weight-normal);
	color: transparent;
	gap: 0;
	align-items: stretch;
	justify-content: flex-start;
	text-decoration: none;
}

button.az-single-product__thumb:hover {
	transform: none;
	background-color: var(--az-surface-placeholder);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 0 !important;
}

button.az-single-product__thumb:focus-visible {
	outline: 2px solid var(--az-button-bg);
	outline-offset: 2px;
	border-radius: 0 !important;
}

/* Full-viewport product image lightbox (single product) */
.az-product-lightbox {
	position: fixed;
	inset: 0;
	z-index: 28;
	box-sizing: border-box;
}

.az-product-lightbox[hidden] {
	display: none !important;
}

.az-product-lightbox__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-height: 100dvh;
	padding: max(var(--az-space-4), env(safe-area-inset-top, 0px))
		max(var(--az-space-4), env(safe-area-inset-right, 0px))
		max(var(--az-space-4), env(safe-area-inset-bottom, 0px))
		max(var(--az-space-4), env(safe-area-inset-left, 0px));
}

.az-product-lightbox__backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
	padding: 0;
	background: rgba(0, 0, 0, 0.88);
	cursor: pointer;
}

.az-product-lightbox__img {
	position: relative;
	z-index: 1;
	max-width: 100%;
	max-height: min(100dvh - 2 * var(--az-space-4), 100%);
	width: auto;
	height: auto;
	object-fit: contain;
	pointer-events: none;
}

/*
 * Close: same × + .az-sheet-close metrics as cart drawer (header.php), on dark overlay only
 * override color/background/outline so the glyph stays visible.
 */
.woocommerce .az-product-lightbox .az-product-lightbox__close.az-sheet-close,
.az-product-lightbox .az-product-lightbox__close.az-sheet-close {
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, 0.96) !important;
	font-size: 1.5rem !important;
	line-height: 1 !important;
	font-weight: var(--az-font-weight-normal) !important;
	font-synthesis: none;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 2px !important;
}

.woocommerce .az-product-lightbox .az-product-lightbox__close.az-sheet-close:hover,
.az-product-lightbox .az-product-lightbox__close.az-sheet-close:hover {
	background: transparent !important;
	color: #fff !important;
	transform: scale(1.12);
}

.woocommerce .az-product-lightbox .az-product-lightbox__close.az-sheet-close:focus-visible,
.az-product-lightbox .az-product-lightbox__close.az-sheet-close:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: 2px !important;
}

.az-product-lightbox__close {
	position: absolute;
	top: max(var(--az-space-3), env(safe-area-inset-top, 0px));
	right: max(var(--az-space-4), env(safe-area-inset-right, 0px));
	z-index: 3;
}

/*
 * Focus outline: only show on native form fields (input/textarea/select).
 * !important overrides component-level :focus-visible outline rules above.
 */
*:not(input, textarea, select):focus,
*:not(input, textarea, select):focus-visible {
	outline: none !important;
}

