/* Commerce Auth Theme storefront globals. */

*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--ca-color-primary: #7c3aed;
	--ca-color-primary-soft: #8f58ef;
	--ca-color-primary-deep: #5e2cb4;
	--ca-color-secondary: #06b6d4;
	--ca-color-secondary-soft: #2fc3dc;
	--ca-color-secondary-deep: #058ea6;
	--ca-color-accent: #f59e0b;
	--ca-color-bg: #f8fafc;
	--ca-color-surface: #ffffff;
	--ca-color-surface-raised: #fafafa;
	--ca-color-surface-muted: #f5f5f5;
	--ca-color-text: #111827;
	--ca-color-text-inverse: #ffffff;
	--ca-color-muted: #64748b;
	--ca-color-border: #e2e8f0;
	--ca-color-success: #15803d;
	--ca-color-success-bg: #ecfdf5;
	--ca-color-success-border: #a7f3d0;
	--ca-color-warning: #92400e;
	--ca-color-warning-bg: #fffbeb;
	--ca-color-warning-border: #fde68a;
	--ca-color-error: #b91c1c;
	--ca-color-error-bg: #fef2f2;
	--ca-color-error-border: #fecaca;
	--ca-color-info: #1d4ed8;
	--ca-color-info-bg: #eff6ff;
	--ca-color-info-border: #bfdbfe;
	--ca-gradient-primary: linear-gradient(135deg, #8f58ef 0%, #5e2cb4 100%);
	--ca-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ca-font-heading: var(--ca-font-body);
	--ca-font-ui: var(--ca-font-body);
	--ca-text-xs: 0.75rem;
	--ca-text-sm: 0.875rem;
	--ca-text-md: 1rem;
	--ca-text-lg: 1.125rem;
	--ca-text-xl: 1.25rem;
	--ca-text-h1: clamp(2rem, 4vw, 3.25rem);
	--ca-text-h2: clamp(1.625rem, 3vw, 2.5rem);
	--ca-text-h3: clamp(1.25rem, 2vw, 1.75rem);
	--ca-line-height-body: 1.6;
	--ca-line-height-heading: 1.15;
	--ca-line-height-ui: 1.1;
	--ca-weight-regular: 400;
	--ca-weight-medium: 550;
	--ca-weight-semibold: 650;
	--ca-weight-bold: 750;
	--ca-weight-heavy: 800;
	--ca-space-0: 0;
	--ca-space-1: 0.25rem;
	--ca-space-2: 0.5rem;
	--ca-space-3: 0.75rem;
	--ca-space-4: 1rem;
	--ca-space-5: 1.25rem;
	--ca-space-6: 1.5rem;
	--ca-space-7: 2rem;
	--ca-space-8: 3rem;
	--ca-space-9: 4rem;
	--ca-page-gutter: clamp(1rem, 4vw, 2rem);
	--ca-section-space: clamp(2rem, 5vw, 4rem);
	--ca-panel-space: clamp(1rem, 2.5vw, 2rem);
	--ca-grid-gap: clamp(1rem, 2vw, 1.5rem);
	--ca-container-sm: 51.25rem;
	--ca-container: 82rem;
	--ca-container-lg: 90rem;
	--ca-header-height: 4.625rem;
	--ca-header-height-mobile: 4rem;
	--ca-touch-target: 2.75rem;
	--ca-control-height: 2.5rem;
	--ca-icon-size: 1.125rem;
	--ca-social-size: 2.75rem;
	--ca-footer-social-bg: color-mix(in srgb, var(--ca-color-text) 9%, var(--ca-color-surface));
	--ca-footer-social-color: color-mix(in srgb, var(--ca-color-text) 72%, var(--ca-color-surface));
	--ca-footer-social-border: color-mix(in srgb, var(--ca-color-text) 8%, var(--ca-color-border));
	--ca-footer-social-bg-hover: var(--ca-gradient-primary);
	--ca-footer-social-color-hover: var(--ca-color-text-inverse);
	--ca-footer-social-border-hover: transparent;
	--ca-footer-social-shadow-hover: 0 0.75rem 1.4rem color-mix(in srgb, var(--ca-color-primary) 24%, transparent);
	--ca-payment-badge-width: 2.65rem;
	--ca-payment-badge-height: 1.55rem;
	--ca-radius-xs: 0.25rem;
	--ca-radius-sm: 0.375rem;
	--ca-radius-md: 0.5rem;
	--ca-radius-lg: 0.75rem;
	--ca-radius-pill: 999px;
	--ca-border-width: 1px;
	--ca-shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.06);
	--ca-shadow-sm: 0 8px 20px rgba(15, 23, 42, 0.08);
	--ca-shadow-md: 0 12px 28px rgba(15, 23, 42, 0.12);
	--ca-shadow-lg: 0 18px 45px rgba(15, 23, 42, 0.14);
	--ca-shadow-focus: 0 0 0 3px rgba(37, 99, 235, 0.22);
	--ca-toast-width: 28rem;
	--ca-toast-z-index: 100000;
	--ca-toast-enter-distance-x: 0.55rem;
	--ca-toast-enter-distance-y: -0.45rem;
	--ca-toast-exit-distance-x: 0.5rem;
	--ca-toast-exit-distance-y: -0.35rem;
	--ca-duration-fast: 160ms;
	--ca-duration-normal: 240ms;
	--ca-duration-slow: 360ms;
	--ca-ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
	--ca-reveal-distance: clamp(1rem, 1.6vw, 1.4rem);
	--ca-reveal-duration: 760ms;
	--ca-reveal-base-delay: 80ms;
	--ca-reveal-stagger: 78ms;
	--ca-reveal-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--ca-link-color: var(--ca-color-primary);
	--ca-button-primary-bg: var(--ca-gradient-primary);
	--ca-button-primary-bg-hover: var(--ca-color-surface);
	--ca-button-primary-bg-active: color-mix(in srgb, var(--ca-color-primary) 9%, var(--ca-color-surface));
	--ca-button-primary-hover-layer: linear-gradient(var(--ca-button-primary-bg-hover), var(--ca-button-primary-bg-hover));
	--ca-button-primary-active-layer: linear-gradient(var(--ca-button-primary-bg-active), var(--ca-button-primary-bg-active));
	--ca-button-primary-text: var(--ca-color-text-inverse);
	--ca-button-primary-text-hover: var(--ca-color-primary);
	--ca-button-primary-text-active: var(--ca-color-primary-deep);
	--ca-button-primary-border: transparent;
	--ca-button-primary-border-hover: color-mix(in srgb, var(--ca-color-primary) 54%, var(--ca-color-border));
	--ca-button-secondary-bg: var(--ca-color-surface);
	--ca-button-secondary-bg-hover: var(--ca-gradient-primary);
	--ca-button-secondary-bg-active: linear-gradient(135deg, color-mix(in srgb, var(--ca-color-primary-soft) 72%, var(--ca-color-primary)) 0%, color-mix(in srgb, var(--ca-color-primary-deep) 92%, var(--ca-color-primary)) 100%);
	--ca-button-secondary-hover-layer: var(--ca-button-secondary-bg-hover);
	--ca-button-secondary-active-layer: var(--ca-button-secondary-bg-active);
	--ca-button-secondary-text: var(--ca-color-text);
	--ca-button-secondary-text-hover: var(--ca-color-text-inverse);
	--ca-button-secondary-text-active: var(--ca-color-text-inverse);
	--ca-button-secondary-border: var(--ca-color-border);
	--ca-button-secondary-border-hover: transparent;
	--ca-button-disabled-bg: color-mix(in srgb, var(--ca-color-muted) 18%, var(--ca-color-surface));
	--ca-button-disabled-text: color-mix(in srgb, var(--ca-color-muted) 72%, var(--ca-color-surface));
	--ca-button-fill-duration: 420ms;
	--ca-button-fill-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--ca-button-bg: var(--ca-button-primary-bg);
	--ca-button-bg-hover: var(--ca-button-primary-bg-hover);
	--ca-button-text: var(--ca-button-primary-text);
	--ca-button-shadow: var(--ca-shadow-sm);
	--ca-button-shadow-hover: var(--ca-shadow-md);
	--ca-card-image-hover-duration: 460ms;
	--ca-card-image-hover-delay: 70ms;
	--ca-trust-bg: color-mix(in srgb, var(--ca-color-surface) 92%, var(--ca-color-primary) 8%);
	--ca-trust-border: color-mix(in srgb, var(--ca-color-border) 78%, var(--ca-color-primary) 22%);
	--ca-trust-text: var(--ca-color-text);
	--ca-trust-muted: var(--ca-color-muted);
	--ca-trust-icon-bg: color-mix(in srgb, var(--ca-color-primary) 10%, var(--ca-color-surface));
	--ca-trust-icon-border: color-mix(in srgb, var(--ca-color-primary) 28%, var(--ca-color-border));
	--ca-trust-bar-bg: color-mix(in srgb, var(--ca-color-surface) 72%, var(--ca-color-bg) 28%);
	--ca-trust-bar-text: var(--ca-color-text);
	--ca-trust-bar-muted: var(--ca-color-muted);
	--ca-trust-bar-border: var(--ca-color-border);
	--ca-header-bg: var(--ca-color-surface);
	--ca-header-border: var(--ca-color-border);
	--ca-card-bg: var(--ca-color-surface);
	--ca-card-border: var(--ca-color-border);
	--ca-card-shadow: var(--ca-shadow-xs);
	--ca-input-bg: var(--ca-color-surface);
	--ca-input-border: var(--ca-color-border);
}

html {
	min-height: 100%;
	font-size: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--ca-header-height) + var(--ca-space-5));
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	min-height: 100%;
	margin: var(--ca-space-0) !important;
	background: var(--ca-color-bg);
	background:
		radial-gradient(circle at top left, color-mix(in srgb, var(--ca-color-primary) 14%, transparent), transparent 34rem),
		var(--ca-color-bg);
	color: var(--ca-color-text);
	font-family: var(--ca-font-body);
	font-size: var(--ca-text-md);
	line-height: var(--ca-line-height-body);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--ca-link-color);
}

html.ca-reveal-ready [data-ca-reveal] {
	--ca-reveal-item-delay: 0ms;

	opacity: 0;
	transform: translate3d(0, var(--ca-reveal-distance), 0);
	transition:
		opacity var(--ca-reveal-duration) var(--ca-reveal-ease) calc(var(--ca-reveal-base-delay) + var(--ca-reveal-item-delay)),
		transform var(--ca-reveal-duration) var(--ca-reveal-ease) calc(var(--ca-reveal-base-delay) + var(--ca-reveal-item-delay));
	will-change: opacity, transform;
}

html.ca-reveal-ready [data-ca-reveal].is-revealed {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: auto;
}

html.ca-reveal-ready .site-footer__utility[data-ca-reveal],
html.ca-reveal-ready .site-footer__social[data-ca-reveal],
html.ca-reveal-ready .site-footer__payments[data-ca-reveal],
html.ca-reveal-ready .site-footer__payment[data-ca-reveal] {
	opacity: 1;
	transform: none;
	will-change: auto;
}

html.ca-reels-reveal-ready [data-ca-reels-reveal] {
	--ca-reels-reveal-delay: var(--ca-reveal-base-delay);
	--ca-reels-reveal-distance: clamp(1.1rem, 1.8vw, 1.55rem);
	--ca-reels-reveal-duration: 840ms;

	opacity: 0;
	transform: translate3d(0, var(--ca-reels-reveal-distance), 0);
	transition:
		opacity var(--ca-reels-reveal-duration) var(--ca-reveal-ease) var(--ca-reels-reveal-delay),
		transform var(--ca-reels-reveal-duration) var(--ca-reveal-ease) var(--ca-reels-reveal-delay);
	will-change: opacity, transform;
}

html.ca-reels-reveal-ready [data-ca-reels-reveal].is-reels-revealed {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: auto;
}

button,
input,
select,
textarea {
	font: inherit;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 0;
	box-shadow: var(--ca-shadow-focus);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: var(--ca-space-0);
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: var(--ca-space-4);
	left: var(--ca-space-4);
	z-index: 10000;
	width: auto;
	height: auto;
	padding: var(--ca-space-3) var(--ca-space-4);
	clip: auto;
	background: var(--ca-card-bg);
	border: var(--ca-border-width) solid var(--ca-card-border);
	border-radius: var(--ca-radius-sm);
	box-shadow: var(--ca-shadow-lg);
}

.site-header {
	position: relative;
	z-index: 50;
	color: var(--ca-header-text);
}

.site-header--normal {
	background: var(--ca-header-bg);
	border-bottom: var(--ca-border-width) solid var(--ca-header-border);
}

.site-header--floating {
	position: absolute;
	inset: var(--ca-header-offset) 0 auto;
	background: transparent;
	border: 0;
}

.admin-bar .site-header--floating {
	top: calc(32px + var(--ca-header-offset));
}

.commerce-auth-sticky-header .site-header--normal {
	position: sticky;
	top: 0;
	box-shadow: var(--ca-header-scroll-shadow);
}

.commerce-auth-sticky-header .site-header--floating {
	position: fixed;
}

.admin-bar.commerce-auth-sticky-header .site-header--normal {
	top: 32px;
}

.site-header__shell {
	--ca-header-container: var(--ca-container);
	width: min(100% - (var(--ca-page-gutter) * 2), var(--ca-header-container));
	margin-inline: auto;
}

.site-header--width-wide .site-header__shell {
	--ca-header-container: var(--ca-container-lg);
}

.site-header--width-full .site-header__shell {
	width: calc(100% - (var(--ca-page-gutter) * 2));
}

.site-header--floating .site-header__shell {
	padding-inline: var(--ca-space-5);
	background: color-mix(in srgb, var(--ca-header-bg) 88%, transparent);
	border: var(--ca-border-width) solid color-mix(in srgb, var(--ca-header-border) 76%, transparent);
	border-radius: var(--ca-header-radius);
	box-shadow: var(--ca-header-shadow);
}

.site-header--bg-solid.site-header--floating .site-header__shell {
	background: var(--ca-header-bg);
}

.site-header--bg-transparent.site-header--normal,
.site-header--bg-transparent.site-header--floating .site-header__shell {
	background: transparent;
}

.site-header--border-none.site-header--normal {
	border-bottom-color: transparent;
}

.site-header--border-none.site-header--floating .site-header__shell {
	border-color: transparent;
}

.site-header--shadow-none.site-header--floating .site-header__shell {
	box-shadow: none;
}

@supports ((backdrop-filter: blur(0.875rem)) or (-webkit-backdrop-filter: blur(0.875rem))) {
.site-header--bg-glass.site-header--floating .site-header__shell,
	.site-header--bg-glass.site-header--normal {
		background: color-mix(in srgb, var(--ca-header-bg) 78%, transparent);
		backdrop-filter: blur(0.875rem);
		-webkit-backdrop-filter: blur(0.875rem);
	}
}

.site-header__inner {
	display: grid;
	align-items: center;
	gap: var(--ca-space-4);
	min-height: var(--ca-header-height);
}

.site-header__toggle-slot {
	display: none;
}

.site-header__brand-slot,
.site-header__menu-slot,
.site-header__actions-slot {
	min-width: 0;
}

.site-header--logo-left-menu-center .site-header__inner {
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas: "brand menu actions";
}

.site-header--menu-left-logo-center .site-header__inner {
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	grid-template-areas: "menu brand actions";
}

.site-header--logo-menu-left .site-header__inner {
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas: "brand menu actions";
}

.site-header--logo-left-menu-actions-right .site-header__inner {
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	grid-template-areas: "brand spacer menu actions";
}

.site-header__brand-slot {
	grid-area: brand;
	justify-self: start;
}

.site-header__menu-slot {
	grid-area: menu;
	justify-self: center;
}

.site-header__actions-slot {
	grid-area: actions;
	justify-self: end;
}

.site-header--menu-left-logo-center .site-header__brand-slot {
	justify-self: center;
}

.site-header--menu-left-logo-center .site-header__menu-slot,
.site-header--logo-menu-left .site-header__menu-slot {
	justify-self: start;
}

.site-header--logo-left-menu-actions-right .site-header__menu-slot {
	justify-self: end;
}

.site-branding {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.site-title {
	color: var(--ca-header-text);
	font-family: var(--ca-font-heading);
	font-size: var(--ca-text-h3);
	font-weight: var(--ca-weight-heavy);
	line-height: var(--ca-line-height-heading);
	letter-spacing: 0;
	white-space: nowrap;
}

.custom-logo-link img {
	max-height: calc(var(--ca-header-height) * 0.58);
	width: auto;
}

.site-header__nav {
	min-width: 0;
}

.menu {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 1.5vw, 1.35rem);
	padding: var(--ca-space-0);
	margin: var(--ca-space-0);
	list-style: none;
}

.menu li {
	position: relative;
}

.menu a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--ca-space-1);
	min-height: var(--ca-control-height);
	color: var(--ca-header-text);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-sm);
	font-weight: var(--ca-weight-semibold);
	line-height: var(--ca-line-height-ui);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--ca-duration-fast) var(--ca-ease-standard);
}

.site-header__nav > .menu > li > a::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0.42rem;
	height: 0.125rem;
	background: currentColor;
	border-radius: var(--ca-radius-pill);
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left center;
	transition:
		opacity var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-normal) var(--ca-ease-standard);
}

.menu a:hover,
.menu a:focus {
	color: var(--ca-color-primary);
}

.site-header__nav > .menu > li > a:hover::before,
.site-header__nav > .menu > li > a:focus-visible::before,
.site-header__nav > .menu > li.current-menu-item > a::before,
.site-header__nav > .menu > li.current_page_item > a::before,
.site-header__nav > .menu > li.current-menu-ancestor > a::before,
.site-header__nav > .menu > li > a[aria-current="page"]::before {
	opacity: 1;
	transform: scaleX(1);
}

.site-header__nav > .menu > li.current-menu-item > a,
.site-header__nav > .menu > li.current_page_item > a,
.site-header__nav > .menu > li.current-menu-ancestor > a,
.site-header__nav > .menu > li > a[aria-current="page"] {
	color: var(--ca-color-primary);
}

.menu .menu-item-has-children > a::after {
	content: "";
	width: 0.42rem;
	height: 0.42rem;
	margin-top: -0.15rem;
	border-right: var(--ca-border-width) solid currentColor;
	border-bottom: var(--ca-border-width) solid currentColor;
	transform: rotate(45deg);
}

.sub-menu {
	position: absolute;
	top: calc(100% + var(--ca-space-2));
	left: 0;
	z-index: 80;
	display: grid;
	gap: var(--ca-space-1);
	min-width: 13rem;
	padding: var(--ca-space-3);
	margin: var(--ca-space-0);
	list-style: none;
	background: var(--ca-color-surface);
	border: var(--ca-border-width) solid var(--ca-color-border);
	border-radius: var(--ca-radius-md);
	box-shadow: var(--ca-shadow-lg);
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.35rem);
	transition:
		opacity var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-fast) var(--ca-ease-standard);
}

.menu li:hover > .sub-menu,
.menu li:focus-within > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.sub-menu a {
	justify-content: flex-start;
	min-height: 2.25rem;
	padding-inline: var(--ca-space-3);
	border-radius: var(--ca-radius-sm);
}

.sub-menu a:hover,
.sub-menu a:focus {
	background: var(--ca-color-surface-raised);
}

.site-header__actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--ca-space-2);
	min-width: 0;
}

.site-search {
	display: inline-flex;
	align-items: center;
	width: min(24vw, 19rem);
	min-width: 12rem;
	min-height: var(--ca-control-height);
	background: color-mix(in srgb, var(--ca-header-bg) 82%, var(--ca-color-surface));
	border: var(--ca-border-width) solid color-mix(in srgb, var(--ca-header-text) 14%, var(--ca-header-border));
	border-radius: var(--ca-radius-pill);
	overflow: hidden;
	transform-origin: right center;
	transition:
		width var(--ca-duration-slow) var(--ca-ease-standard),
		min-width var(--ca-duration-slow) var(--ca-ease-standard),
		max-width var(--ca-duration-slow) var(--ca-ease-standard),
		transform var(--ca-duration-normal) var(--ca-ease-standard),
		background-color var(--ca-duration-fast) var(--ca-ease-standard),
		border-color var(--ca-duration-fast) var(--ca-ease-standard),
		box-shadow var(--ca-duration-normal) var(--ca-ease-standard);
	will-change: width, transform;
}

.site-search input[type="search"] {
	width: 100%;
	min-width: 0;
	padding: var(--ca-space-2) var(--ca-space-3) var(--ca-space-2) var(--ca-space-4);
	color: var(--ca-header-text);
	background: transparent;
	border: 0;
	outline: 0;
	transition:
		width var(--ca-duration-slow) var(--ca-ease-standard),
		padding var(--ca-duration-slow) var(--ca-ease-standard),
		opacity var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-normal) var(--ca-ease-standard);
}

.site-search button,
.site-header__action,
.site-header__menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--ca-control-height);
	min-width: var(--ca-control-height);
	height: var(--ca-control-height);
	padding: var(--ca-space-0);
	color: var(--ca-header-text);
	background: transparent;
	border: 0;
	border-radius: var(--ca-radius-pill);
	box-shadow: none;
	cursor: pointer;
	transition:
		color var(--ca-duration-fast) var(--ca-ease-standard),
		background-color var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-fast) var(--ca-ease-standard);
}

.site-header__menu-toggle {
	background: color-mix(in srgb, var(--ca-header-bg) 82%, var(--ca-color-surface));
	border: var(--ca-border-width) solid color-mix(in srgb, var(--ca-header-text) 14%, var(--ca-header-border));
}

.site-header__action {
	background: transparent;
	border: 0;
}

.site-header--search-icon .site-header__actions .site-search {
	width: var(--ca-control-height);
	min-width: var(--ca-control-height);
	max-width: var(--ca-control-height);
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	transform: translateX(0);
}

.site-header--search-icon .site-header__actions .site-search.is-expanded,
.site-header--search-icon .site-header__actions .site-search:focus-within {
	width: min(28vw, 20rem);
	min-width: 13rem;
	max-width: 20rem;
	background: color-mix(in srgb, var(--ca-header-bg) 92%, var(--ca-color-surface));
	border-color: color-mix(in srgb, var(--ca-header-text) 14%, var(--ca-header-border));
	box-shadow: var(--ca-shadow-sm);
}

.site-header--search-icon .site-header__actions .site-search input[type="search"] {
	width: 0;
	padding: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateX(0.5rem);
}

.site-header--search-icon .site-header__actions .site-search.is-expanded input[type="search"],
.site-header--search-icon .site-header__actions .site-search:focus-within input[type="search"] {
	width: 100%;
	padding: var(--ca-space-2) var(--ca-space-2) var(--ca-space-2) var(--ca-space-4);
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
}

.ca-icon {
	width: var(--ca-icon-size);
	height: var(--ca-icon-size);
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.site-header .ca-icon {
	width: calc(var(--ca-icon-size) * 1.2);
	height: calc(var(--ca-icon-size) * 1.2);
}

.site-search button:hover,
.site-search button:focus,
.site-header__action:hover,
.site-header__action:focus,
.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	color: var(--ca-color-primary);
	transform: translateY(-0.0625rem);
}

.site-search button:hover,
.site-search button:focus,
.site-header__action:hover,
.site-header__action:focus {
	background: transparent;
}

.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus {
	background: color-mix(in srgb, var(--ca-color-primary) 9%, var(--ca-color-surface));
}

.site-header__cart {
	position: relative;
}

.site-header__cart-count {
	position: absolute;
	top: -0.35rem;
	right: -0.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.2rem;
	height: 1.2rem;
	padding: var(--ca-space-0) var(--ca-space-1);
	color: var(--ca-color-text-inverse);
	background: var(--ca-color-primary);
	border: 2px solid var(--ca-header-bg);
	border-radius: var(--ca-radius-pill);
	font-size: 0.6875rem;
	font-weight: var(--ca-weight-heavy);
	line-height: 1;
}

.site-header__mobile-search {
	display: none;
	padding-bottom: var(--ca-space-4);
}

.site-header__drawer-intro,
.site-header__drawer-backdrop,
.site-header__drawer-close {
	display: none;
}

.home-trust-bar__icon .contact-page__icon {
	width: 1.16rem;
	height: 1.16rem;
}

.home-hero__control:not(.home-hero__pause) > span,
.shop-hero__controls button > span,
.home-categories__control > span,
.home-products__control > span,
.home-reels__control > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	line-height: 1;
	transform: translateY(-0.03em);
}

.ca-product-card {
	--ca-card-fill: var(--ca-color-surface);
	--ca-card-ring-color: var(--ca-color-border);

	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(var(--ca-card-fill), var(--ca-card-fill)) padding-box,
		linear-gradient(var(--ca-card-ring-color), var(--ca-card-ring-color)) border-box;
	border: var(--ca-border-width) solid transparent;
	border-radius: var(--ca-radius-md);
	box-shadow: var(--ca-shadow-xs);
	transition:
		transform var(--ca-duration-fast) var(--ca-ease-standard),
		box-shadow var(--ca-duration-fast) var(--ca-ease-standard);
}

.ca-product-card:hover,
.ca-product-card:focus-within {
	--ca-card-ring-color: color-mix(in srgb, var(--ca-color-primary) 74%, var(--ca-color-border));

	box-shadow: var(--ca-shadow-sm);
	transform: translateY(-2px);
}

.ca-product-card__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 0.9;
	padding: clamp(0.7rem, 1.25vw, 1rem) clamp(0.7rem, 1.25vw, 1rem) 0;
	overflow: hidden;
	background: var(--ca-color-surface);
	border-radius: calc(var(--ca-radius-md) - var(--ca-border-width)) calc(var(--ca-radius-md) - var(--ca-border-width)) var(--ca-radius-sm) var(--ca-radius-sm);
}

.ca-product-card__sale-badge {
	position: absolute;
	top: var(--ca-space-3);
	left: var(--ca-space-3);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 1.5rem;
	padding: 0 var(--ca-space-2);
	color: var(--ca-color-text-inverse);
	background: var(--ca-color-primary);
	border-radius: var(--ca-radius-sm);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-xs);
	font-weight: var(--ca-weight-heavy);
	line-height: var(--ca-line-height-ui);
}

.ca-product-card__image-stack {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: var(--ca-radius-sm);
}

.ca-product-card__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: inherit;
	opacity: 1;
	transform: scale(1);
	transition:
		opacity var(--ca-card-image-hover-duration) var(--ca-ease-standard),
		transform var(--ca-card-image-hover-duration) var(--ca-ease-standard);
}

.ca-product-card__image--secondary {
	opacity: 0;
}

.ca-product-card:hover .ca-product-card__image--primary,
.ca-product-card:focus-within .ca-product-card__image--primary {
	transition-delay: var(--ca-card-image-hover-delay);
	transform: scale(1.035);
}

.ca-product-card--has-secondary:hover .ca-product-card__image--primary,
.ca-product-card--has-secondary:focus-within .ca-product-card__image--primary {
	transition-delay: var(--ca-card-image-hover-delay);
	opacity: 0;
}

.ca-product-card:hover .ca-product-card__image--secondary,
.ca-product-card:focus-within .ca-product-card__image--secondary {
	transition-delay: var(--ca-card-image-hover-delay);
	opacity: 1;
	transform: scale(1.04);
}

.ca-product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--ca-space-2);
	padding: var(--ca-space-4);
}

.ca-product-card__rating {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--ca-color-muted);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-sm);
	font-weight: var(--ca-weight-medium);
	line-height: var(--ca-line-height-ui);
}

.ca-product-card__rating-star {
	color: var(--ca-color-accent);
	font-size: 0.95em;
}

.ca-product-card__rating-divider {
	color: color-mix(in srgb, var(--ca-color-muted) 65%, transparent);
}

.ca-product-card__title {
	margin: 0;
	padding: 0;
	color: var(--ca-color-text);
	font-family: var(--ca-font-heading);
	font-size: var(--ca-text-lg);
	font-weight: var(--ca-weight-heavy);
	line-height: 1.22;
}

.woocommerce ul.products li.product .ca-product-card__title,
.woocommerce-page ul.products li.product .ca-product-card__title {
	padding: 0;
}

.woocommerce-loop-product__title {
	padding: 0;
}

.ca-product-card__title a:hover,
.ca-product-card__title a:focus {
	color: var(--ca-color-primary);
}

.ca-product-card__media:focus-visible,
.ca-product-card__title a:focus-visible {
	box-shadow: none;
}

.ca-product-card__discount {
	color: var(--ca-color-success);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-sm);
	font-weight: var(--ca-weight-heavy);
	line-height: var(--ca-line-height-ui);
}

.ca-product-card__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem;
	color: var(--ca-color-text);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-lg);
	font-weight: var(--ca-weight-heavy);
	line-height: var(--ca-line-height-ui);
}

.ca-product-card__price-current {
	display: inline-flex;
}

.ca-product-card__price del {
	color: var(--ca-color-muted);
	font-size: var(--ca-text-sm);
	font-weight: var(--ca-weight-medium);
	opacity: 0.66;
}

.ca-product-card__stock {
	display: flex;
	align-items: center;
	gap: var(--ca-space-2);
	color: var(--ca-color-success);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-sm);
	font-weight: var(--ca-weight-medium);
	line-height: var(--ca-line-height-ui);
}

.ca-product-card__stock.is-out-of-stock {
	color: var(--ca-color-error);
}

.ca-product-card__stock span {
	width: 0.5rem;
	height: 0.5rem;
	background: currentColor;
	border-radius: 50%;
}

.ca-product-card__button {
	width: 100%;
	margin-top: auto;
	text-align: center;
}

.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--ca-control-height);
	padding: var(--ca-space-3) var(--ca-space-4);
	color: var(--ca-button-primary-text);
	background:
		var(--ca-button-primary-hover-layer) left center / 0% 100% no-repeat,
		var(--ca-button-primary-bg);
	border: var(--ca-border-width) solid var(--ca-button-primary-border);
	border-radius: var(--ca-radius-sm);
	font-family: var(--ca-font-ui);
	font-weight: var(--ca-weight-bold);
	line-height: var(--ca-line-height-ui);
	cursor: pointer;
	box-shadow: var(--ca-button-shadow);
	transition:
		color var(--ca-duration-fast) var(--ca-ease-standard),
		background-size var(--ca-button-fill-duration) var(--ca-button-fill-ease),
		border-color var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-fast) var(--ca-ease-standard),
		box-shadow var(--ca-duration-fast) var(--ca-ease-standard),
		filter var(--ca-duration-fast) var(--ca-ease-standard);
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	color: var(--ca-button-primary-text-hover);
	background-size: 100% 100%, auto;
	border-color: var(--ca-button-primary-border-hover);
	box-shadow: var(--ca-button-shadow-hover);
	transform: translateY(-0.0625rem);
}

.button:active,
button:active,
input[type="submit"]:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce #respond input#submit:active {
	color: var(--ca-button-primary-text-active);
	background:
		var(--ca-button-primary-active-layer) left center / 100% 100% no-repeat,
		var(--ca-button-primary-bg);
	border-color: var(--ca-button-primary-border-hover);
	box-shadow: var(--ca-shadow-xs);
	filter: none;
	transform: translateY(0);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.home-product-card__button,
.ca-product-card__button,
.ca-cart-totals .checkout-button,
.woocommerce-checkout-payment #place_order,
.contact-page__form button[type="submit"],
.shop-filters__actions .button,
.ca-cart-coupon button,
.woocommerce-form-coupon .button {
	color: var(--ca-button-primary-text) !important;
	background:
		var(--ca-button-primary-hover-layer) left center / 0% 100% no-repeat,
		var(--ca-button-primary-bg) !important;
	border-color: var(--ca-button-primary-border) !important;
}

.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus,
.home-product-card__button:hover,
.home-product-card__button:focus,
.ca-product-card__button:hover,
.ca-product-card__button:focus,
.ca-cart-totals .checkout-button:hover,
.ca-cart-totals .checkout-button:focus,
.woocommerce-checkout-payment #place_order:hover,
.woocommerce-checkout-payment #place_order:focus,
.contact-page__form button[type="submit"]:hover,
.contact-page__form button[type="submit"]:focus,
.shop-filters__actions .button:hover,
.shop-filters__actions .button:focus,
.ca-cart-coupon button:hover,
.ca-cart-coupon button:focus,
.woocommerce-form-coupon .button:hover,
.woocommerce-form-coupon .button:focus {
	color: var(--ca-button-primary-text-hover) !important;
	background-size: 100% 100%, auto !important;
	border-color: var(--ca-button-primary-border-hover) !important;
}

.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce #respond input#submit:active,
.home-product-card__button:active,
.ca-product-card__button:active,
.ca-cart-totals .checkout-button:active,
.woocommerce-checkout-payment #place_order:active,
.contact-page__form button[type="submit"]:active,
.shop-filters__actions .button:active,
.ca-cart-coupon button:active,
.woocommerce-form-coupon .button:active {
	color: var(--ca-button-primary-text-active) !important;
	background:
		var(--ca-button-primary-active-layer) left center / 100% 100% no-repeat,
		var(--ca-button-primary-bg) !important;
	border-color: var(--ca-button-primary-border-hover) !important;
}

.button:disabled,
button:disabled,
input[type="submit"]:disabled,
.button.disabled,
.button[aria-disabled="true"],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled {
	color: var(--ca-button-disabled-text) !important;
	background: var(--ca-button-disabled-bg) !important;
	border-color: color-mix(in srgb, var(--ca-color-border) 84%, transparent) !important;
	box-shadow: none !important;
	cursor: not-allowed;
	filter: none !important;
	opacity: 1 !important;
	transform: none !important;
}

.button:disabled:hover,
button:disabled:hover,
input[type="submit"]:disabled:hover,
.button.disabled:hover,
.button[aria-disabled="true"]:hover,
.woocommerce a.button.disabled:hover,
.woocommerce a.button:disabled:hover,
.woocommerce button.button.disabled:hover,
.woocommerce button.button:disabled:hover,
.woocommerce button.button:disabled[disabled]:hover,
.woocommerce input.button.disabled:hover,
.woocommerce input.button:disabled:hover {
	color: var(--ca-button-disabled-text) !important;
	background: var(--ca-button-disabled-bg) !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}

.button.is-loading,
button.is-loading,
.woocommerce a.button.is-loading,
.woocommerce button.button.is-loading {
	pointer-events: none;
}

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

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

.site-content--narrow {
	max-width: var(--ca-container-sm);
}

.content-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	gap: var(--ca-grid-gap);
}

.content-card,
.entry,
.empty-state {
	background: var(--ca-card-bg);
	border: var(--ca-border-width) solid var(--ca-card-border);
	border-radius: var(--ca-radius-md);
	box-shadow: var(--ca-card-shadow);
	overflow: hidden;
}

.content-card__body,
.entry,
.empty-state {
	padding: var(--ca-panel-space);
}

.content-card__title,
.entry__title,
.empty-state h1 {
	margin: var(--ca-space-0) var(--ca-space-0) var(--ca-space-3);
	font-family: var(--ca-font-heading);
	font-size: var(--ca-text-h2);
	line-height: var(--ca-line-height-heading);
	letter-spacing: 0;
}

.entry__content > *:first-child {
	margin-top: var(--ca-space-0);
}

.entry__content > *:last-child {
	margin-bottom: var(--ca-space-0);
}

.about-page__hero-link .contact-page__icon,
.about-page .contact-page__icon {
	width: 1.1rem;
	height: 1.1rem;
}

[data-ca-trust-marquee] > [data-ca-marquee-clone="true"] {
	display: none;
}

@keyframes ca-trust-marquee-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

.site-footer {
	margin-top: var(--ca-section-space);
	color: var(--ca-color-text);
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--ca-color-primary) 4%, transparent), transparent 18rem),
		var(--ca-color-surface);
	border-top: var(--ca-border-width) solid var(--ca-color-border);
}

.site-footer__inner {
	--ca-footer-section-gap: clamp(2rem, 4vw, 3.5rem);

	display: grid;
	gap: var(--ca-footer-section-gap);
	width: min(100% - (var(--ca-page-gutter) * 2), var(--ca-container));
	margin-inline: auto;
	padding-block: clamp(3rem, 6vw, 5rem) 0.375rem;
}

.site-footer__top {
	display: grid;
	grid-template-columns: minmax(18rem, 1.25fr) repeat(3, minmax(8rem, 0.55fr));
	gap: clamp(1.5rem, 4vw, 4.5rem);
	align-items: start;
}

.site-footer__newsletter,
.site-footer__links,
.site-footer__brand {
	min-width: 0;
}

.site-footer__eyebrow {
	margin: var(--ca-space-0) var(--ca-space-0) var(--ca-space-3);
	color: var(--ca-color-primary);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-xs);
	font-weight: var(--ca-weight-heavy);
	letter-spacing: 0.12em;
	line-height: var(--ca-line-height-ui);
	text-transform: uppercase;
}

.site-footer__links-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: auto;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: default;
	text-align: left;
}

.site-footer__links-toggle:hover,
.site-footer__links-toggle:focus {
	color: var(--ca-color-primary);
	background: transparent;
	box-shadow: none;
	transform: none;
}

.site-footer__links-symbol {
	position: relative;
	display: none;
	width: 0.875rem;
	height: 0.875rem;
	color: currentColor;
}

.site-footer__links-symbol::before,
.site-footer__links-symbol::after {
	content: "";
	position: absolute;
	inset: calc(50% - 0.0625rem) 0 auto;
	height: 0.125rem;
	background: currentColor;
	border-radius: var(--ca-radius-pill);
	transition:
		opacity var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-fast) var(--ca-ease-standard);
}

.site-footer__links-symbol::after {
	transform: rotate(90deg);
}

.site-footer__links.is-open .site-footer__links-symbol::after {
	opacity: 0;
	transform: rotate(0);
}

.site-footer__newsletter h2 {
	max-width: 27rem;
	margin: var(--ca-space-0) var(--ca-space-0) var(--ca-space-5);
	font-family: var(--ca-font-heading);
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: var(--ca-line-height-heading);
	letter-spacing: 0;
}

.site-footer__newsletter-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	width: min(100%, 31rem);
	overflow: hidden;
	background: var(--ca-input-bg);
	border: var(--ca-border-width) solid var(--ca-input-border);
	border-radius: var(--ca-radius-md);
	box-shadow: var(--ca-shadow-xs);
}

.site-footer__newsletter-form input {
	min-width: 0;
	padding: var(--ca-space-4);
	color: var(--ca-color-text);
	background: transparent;
	border: 0;
	outline: 0;
}

.site-footer__newsletter-form button {
	min-height: 100%;
	padding-inline: var(--ca-space-5);
	color: var(--ca-button-secondary-text);
	background:
		var(--ca-button-secondary-hover-layer) left center / 0% 100% no-repeat,
		var(--ca-button-secondary-bg);
	border: 0;
	border-left: var(--ca-border-width) solid var(--ca-input-border);
	border-radius: 0;
	box-shadow: none;
	font-size: var(--ca-text-xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.site-footer__newsletter-form button:hover,
.site-footer__newsletter-form button:focus {
	color: var(--ca-button-secondary-text-hover);
	background-size: 100% 100%, auto;
	border-left-color: var(--ca-button-secondary-border-hover);
	box-shadow: none;
	transform: none;
}

.site-footer__newsletter-form button:active {
	color: var(--ca-button-secondary-text-active);
	background:
		var(--ca-button-secondary-active-layer) left center / 100% 100% no-repeat,
		var(--ca-button-secondary-bg);
	border-left-color: var(--ca-button-secondary-border-hover);
	box-shadow: none;
	transform: none;
}

.site-footer__menu {
	display: grid;
	gap: var(--ca-space-2);
	padding: var(--ca-space-0);
	margin: var(--ca-space-0);
	list-style: none;
}

.site-footer__menu a {
	display: inline-flex;
	color: var(--ca-color-muted);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-md);
	font-weight: var(--ca-weight-semibold);
	line-height: 1.35;
	transition: color var(--ca-duration-fast) var(--ca-ease-standard), transform var(--ca-duration-fast) var(--ca-ease-standard);
}

.site-footer__menu a:hover,
.site-footer__menu a:focus {
	color: var(--ca-color-primary);
	transform: translateX(0.125rem);
}

.site-footer__brand {
	display: grid;
	gap: var(--ca-space-3);
	padding-top: var(--ca-space-2);
}

.site-footer__brand .custom-logo-link {
	display: inline-flex;
	width: fit-content;
}

.site-footer__brand .custom-logo-link img {
	max-height: 3.25rem;
	width: auto;
}

.site-footer__brand-name {
	width: fit-content;
	color: var(--ca-color-text);
	font-family: var(--ca-font-heading);
	font-size: clamp(2.6rem, 8vw, 6rem);
	font-weight: var(--ca-weight-heavy);
	line-height: 0.95;
	letter-spacing: 0;
}

.site-footer__brand p {
	max-width: 34rem;
	margin: var(--ca-space-0);
	color: var(--ca-color-muted);
	font-size: var(--ca-text-md);
}

.site-footer__utility {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ca-space-4);
	padding-block: var(--ca-space-5);
	border-top: var(--ca-border-width) solid var(--ca-color-border);
	border-bottom: var(--ca-border-width) solid var(--ca-color-border);
}

.site-footer__social,
.site-footer__payments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ca-space-3);
}

.site-footer__social a,
.site-footer__payment {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--ca-social-size);
	min-width: var(--ca-social-size);
	height: var(--ca-social-size);
	min-height: var(--ca-social-size);
	padding-inline: var(--ca-space-2);
	color: var(--ca-footer-social-color);
	background: var(--ca-footer-social-bg);
	border: var(--ca-border-width) solid var(--ca-footer-social-border);
	border-radius: var(--ca-radius-pill);
	font-family: var(--ca-font-ui);
	font-size: var(--ca-text-xs);
	font-weight: var(--ca-weight-heavy);
	line-height: var(--ca-line-height-ui);
	box-shadow: var(--ca-shadow-xs);
	transition:
		color var(--ca-duration-fast) var(--ca-ease-standard),
		background-color var(--ca-duration-fast) var(--ca-ease-standard),
		border-color var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-fast) var(--ca-ease-standard);
}

.site-footer__social a {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.site-footer__social a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: var(--ca-footer-social-bg-hover);
	border-radius: inherit;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--ca-duration-normal) var(--ca-ease-standard);
}

.site-footer__icon {
	position: relative;
	z-index: 1;
	width: 1.2rem;
	height: 1.2rem;
	fill: currentColor;
	stroke: none;
}

.site-footer__social .site-footer__icon--facebook {
	width: 0.95rem;
	height: 0.95rem;
}

.site-footer__social .site-footer__icon--x {
	width: 1.05rem;
	height: 1.05rem;
}

.site-footer__social .site-footer__icon--youtube {
	width: 1.25rem;
	height: 1.25rem;
}

.site-footer__social a:hover,
.site-footer__social a:focus {
	color: var(--ca-footer-social-color-hover);
	border-color: var(--ca-footer-social-border-hover);
	box-shadow: var(--ca-footer-social-shadow-hover);
	transform: translateY(-0.125rem);
}

.site-footer__social a:hover::before,
.site-footer__social a:focus::before {
	opacity: 1;
}

.site-footer__payment {
	width: var(--ca-payment-badge-width);
	min-width: var(--ca-payment-badge-width);
	height: var(--ca-payment-badge-height);
	min-height: var(--ca-payment-badge-height);
	padding: 0.1rem 0.18rem;
	overflow: hidden;
	background: #fff;
	border-color: color-mix(in srgb, #000 10%, var(--ca-color-border));
	border-radius: var(--ca-radius-xs);
}

.site-footer__payment img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: contain;
}

.site-footer__bottom {
	display: grid;
	gap: 0;
	margin-top: calc(0.5rem - var(--ca-footer-section-gap));
}

.site-footer__bottom--left {
	justify-items: start;
	text-align: left;
}

.site-footer__bottom--center {
	justify-items: center;
	text-align: center;
}

.site-footer__bottom--right {
	justify-items: end;
	text-align: right;
}

.site-footer__copyright,
.site-footer__credit {
	margin: var(--ca-space-0);
	color: var(--ca-color-muted);
	font-size: 0.75rem;
}

.site-footer__credit a {
	color: var(--ca-color-primary);
	font-weight: var(--ca-weight-heavy);
}

.site-footer__credit a:hover,
.site-footer__credit a:focus {
	color: var(--ca-color-primary-deep);
}

.woocommerce .price {
	color: var(--ca-color-primary);
	font-weight: var(--ca-weight-heavy);
}

.quantity.ca-quantity--enhanced {
	display: inline-grid;
	grid-template-columns: 2.15rem minmax(2.5rem, 1fr) 2.15rem;
	align-items: center;
	width: min(9rem, 100%);
	min-height: var(--ca-control-height);
	overflow: hidden;
	background: var(--ca-input-bg);
	border: var(--ca-border-width) solid var(--ca-input-border);
	border-radius: var(--ca-radius-sm);
}

.quantity.ca-quantity--enhanced input.qty {
	width: 100%;
	min-height: var(--ca-control-height);
	padding: 0 var(--ca-space-2);
	color: var(--ca-color-text);
	background: transparent;
	border: 0;
	box-shadow: none;
	font-weight: var(--ca-weight-heavy);
	text-align: center;
}

.ca-quantity__button,
.ca-quantity__button:hover,
.ca-quantity__button:focus,
.ca-quantity__button:active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: var(--ca-control-height);
	padding: 0;
	color: var(--ca-color-text) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	font-size: var(--ca-text-lg);
	font-weight: var(--ca-weight-heavy);
	line-height: 1;
	transform: none !important;
}

.ca-quantity__button:hover,
.ca-quantity__button:focus {
	color: var(--ca-color-primary) !important;
	background: color-mix(in srgb, var(--ca-color-primary) 8%, transparent) !important;
}

.ca-cart-totals table.shop_table {
	width: 100%;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.ca-cart-totals table.shop_table tr {
	display: flex;
	justify-content: space-between;
	gap: var(--ca-space-4);
	padding: var(--ca-space-3) 0;
	border-bottom: var(--ca-border-width) solid var(--ca-color-border);
}

.ca-cart-totals table.shop_table th,
.ca-cart-totals table.shop_table td {
	padding: 0;
	border: 0;
	color: var(--ca-color-muted);
	font-size: var(--ca-text-sm);
	text-align: right;
}

.ca-cart-totals table.shop_table th {
	color: var(--ca-color-text);
	font-weight: var(--ca-weight-heavy);
	text-align: left;
}

.ca-cart-totals table.shop_table .order-total {
	align-items: baseline;
	border-bottom: 0;
}

.ca-cart-totals table.shop_table .order-total th,
.ca-cart-totals table.shop_table .order-total td {
	color: var(--ca-color-text);
	font-size: var(--ca-text-lg);
	font-weight: var(--ca-weight-heavy);
}

.ca-cart-trust .contact-page__icon {
	width: 1.15rem;
	height: 1.15rem;
	color: var(--ca-color-primary);
}

.ca-cart-empty__icon .contact-page__icon {
	width: 1.75rem;
	height: 1.75rem;
}

.commerce-auth-checkout {
	padding-block: clamp(2.5rem, 5vw, 4.5rem) var(--ca-section-space);
}

.ca-checkout-page__trust .contact-page__icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--ca-color-primary);
}

.woocommerce-form-login {
	display: grid;
	gap: var(--ca-space-3);
}

.woocommerce-form-login p {
	margin: 0;
}

.ca-button--secondary,
.woocommerce a.button.ca-button--secondary {
	color: var(--ca-button-secondary-text) !important;
	background:
		var(--ca-button-secondary-hover-layer) left center / 0% 100% no-repeat,
		var(--ca-button-secondary-bg) !important;
	border: var(--ca-border-width) solid var(--ca-button-secondary-border);
	box-shadow: none;
}

.ca-button--secondary:hover,
.ca-button--secondary:focus,
.woocommerce a.button.ca-button--secondary:hover,
.woocommerce a.button.ca-button--secondary:focus {
	color: var(--ca-button-secondary-text-hover) !important;
	background-size: 100% 100%, auto !important;
	border-color: var(--ca-button-secondary-border-hover);
	box-shadow: var(--ca-shadow-xs);
}

.ca-button--secondary:active,
.woocommerce a.button.ca-button--secondary:active {
	color: var(--ca-button-secondary-text-active) !important;
	background:
		var(--ca-button-secondary-active-layer) left center / 100% 100% no-repeat,
		var(--ca-button-secondary-bg) !important;
	border-color: var(--ca-button-secondary-border-hover);
	box-shadow: var(--ca-shadow-xs);
	transform: translateY(0);
}

.ca-thankyou-page__icon .contact-page__icon {
	width: 1.45rem;
	height: 1.45rem;
}

.ca-thankyou-trust .contact-page__icon {
	grid-row: 1 / 3;
	width: 1.35rem;
	height: 1.35rem;
	color: var(--ca-color-primary);
}

.ca-account-dashboard__card .contact-page__icon,
.ca-account-empty .contact-page__icon {
	width: 2.5rem;
	height: 2.5rem;
	color: var(--ca-color-primary);
	background: color-mix(in srgb, var(--ca-color-primary) 10%, var(--ca-color-surface));
}

.ca-account-auth__promises .contact-page__icon {
	width: 2.25rem;
	height: 2.25rem;
	color: var(--ca-color-primary);
	background: var(--ca-trust-icon-bg);
	border-color: var(--ca-trust-icon-border);
}

.woocommerce table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce form.checkout,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
	background: var(--ca-card-bg);
	border: var(--ca-border-width) solid var(--ca-card-border);
	border-radius: var(--ca-radius-md);
}

.woocommerce-notices-wrapper {
	position: fixed;
	inset-block-start: max(var(--ca-space-4), env(safe-area-inset-top));
	inset-inline-end: max(var(--ca-page-gutter), env(safe-area-inset-right));
	z-index: var(--ca-toast-z-index);
	display: flex;
	flex-direction: column;
	gap: var(--ca-space-3);
	width: min(var(--ca-toast-width), calc(100vw - (var(--ca-page-gutter) * 2)));
	margin: 0;
	font-family: var(--ca-font-ui);
	pointer-events: none;
}

.admin-bar .woocommerce-notices-wrapper {
	inset-block-start: calc(32px + var(--ca-space-4));
}

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-notices-wrapper > .woocommerce-info,
.woocommerce-notices-wrapper > .woocommerce-error {
	--ca-notice-accent: var(--ca-color-primary);
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	column-gap: var(--ca-space-3);
	row-gap: var(--ca-space-2);
	min-height: 3.5rem;
	padding: var(--ca-space-3);
	margin: 0;
	overflow: hidden;
	color: var(--ca-color-text);
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--ca-notice-accent) 10%, transparent),
			transparent 56%
		),
		color-mix(in srgb, var(--ca-card-bg) 94%, transparent);
	border: var(--ca-border-width) solid color-mix(in srgb, var(--ca-notice-accent) 34%, var(--ca-color-border));
	border-radius: var(--ca-radius-lg);
	box-shadow: var(--ca-shadow-lg);
	backdrop-filter: blur(18px);
	font-size: var(--ca-text-sm);
	font-weight: var(--ca-weight-semibold);
	line-height: 1.35;
	list-style: none;
	pointer-events: auto;
	transform: translate3d(0, 0, 0);
	animation: ca-toast-in var(--ca-duration-slow) var(--ca-ease-standard) both;
	transition:
		opacity var(--ca-duration-normal) var(--ca-ease-standard),
		transform var(--ca-duration-normal) var(--ca-ease-standard);
}

.woocommerce-notices-wrapper > .woocommerce-message {
	--ca-notice-accent: var(--ca-color-success);
}

.woocommerce-notices-wrapper > .woocommerce-info {
	--ca-notice-accent: var(--ca-color-info);
}

.woocommerce-notices-wrapper > .woocommerce-error {
	--ca-notice-accent: var(--ca-color-error);
}

.woocommerce-notices-wrapper > .woocommerce-message.is-dismissing,
.woocommerce-notices-wrapper > .woocommerce-info.is-dismissing,
.woocommerce-notices-wrapper > .woocommerce-error.is-dismissing {
	opacity: 0;
	transform: translate3d(var(--ca-toast-exit-distance-x), var(--ca-toast-exit-distance-y), 0) scale(0.98);
}

.woocommerce-notices-wrapper > .woocommerce-message::before,
.woocommerce-notices-wrapper > .woocommerce-info::before,
.woocommerce-notices-wrapper > .woocommerce-error::before {
	display: none;
	content: none;
}

.woocommerce-notices-wrapper > .woocommerce-error li {
	grid-column: 1 / -1;
	margin: 0;
}

.woocommerce-notices-wrapper > .woocommerce-error li + li {
	margin-top: var(--ca-space-2);
}

.woocommerce-notices-wrapper > .woocommerce-message a:not(.button),
.woocommerce-notices-wrapper > .woocommerce-info a:not(.button),
.woocommerce-notices-wrapper > .woocommerce-error a:not(.button) {
	color: var(--ca-notice-accent);
	font-weight: var(--ca-weight-heavy);
	text-decoration: none;
}

.woocommerce-notices-wrapper > .woocommerce-message .button,
.woocommerce-notices-wrapper > .woocommerce-message .wc-forward,
.woocommerce-notices-wrapper > .woocommerce-message .restore-item,
.woocommerce-notices-wrapper > .woocommerce-info .button,
.woocommerce-notices-wrapper > .woocommerce-info .wc-forward,
.woocommerce-notices-wrapper > .woocommerce-info .restore-item,
.woocommerce-notices-wrapper > .woocommerce-error .button,
.woocommerce-notices-wrapper > .woocommerce-error .wc-forward,
.woocommerce-notices-wrapper > .woocommerce-error .restore-item {
	grid-column: 2;
	justify-self: end;
	float: none !important;
	margin: 0;
	padding: 0.62rem 0.9rem;
	color: var(--ca-button-primary-text) !important;
	background:
		var(--ca-button-primary-hover-layer) left center / 0% 100% no-repeat,
		var(--ca-button-primary-bg) !important;
	border: var(--ca-border-width) solid var(--ca-button-primary-border) !important;
	border-radius: var(--ca-radius-sm);
	box-shadow: var(--ca-shadow-xs);
	font-size: var(--ca-text-xs);
	font-weight: var(--ca-weight-heavy);
	line-height: var(--ca-line-height-ui);
	text-decoration: none;
	white-space: nowrap;
	transition:
		color var(--ca-button-fill-duration) var(--ca-button-fill-ease),
		background-size var(--ca-button-fill-duration) var(--ca-button-fill-ease),
		border-color var(--ca-button-fill-duration) var(--ca-button-fill-ease),
		transform var(--ca-duration-fast) var(--ca-ease-standard);
}

.woocommerce-notices-wrapper > .woocommerce-message .button:hover,
.woocommerce-notices-wrapper > .woocommerce-message .button:focus,
.woocommerce-notices-wrapper > .woocommerce-message .wc-forward:hover,
.woocommerce-notices-wrapper > .woocommerce-message .wc-forward:focus,
.woocommerce-notices-wrapper > .woocommerce-message .restore-item:hover,
.woocommerce-notices-wrapper > .woocommerce-message .restore-item:focus,
.woocommerce-notices-wrapper > .woocommerce-info .button:hover,
.woocommerce-notices-wrapper > .woocommerce-info .button:focus,
.woocommerce-notices-wrapper > .woocommerce-info .wc-forward:hover,
.woocommerce-notices-wrapper > .woocommerce-info .wc-forward:focus,
.woocommerce-notices-wrapper > .woocommerce-info .restore-item:hover,
.woocommerce-notices-wrapper > .woocommerce-info .restore-item:focus,
.woocommerce-notices-wrapper > .woocommerce-error .button:hover,
.woocommerce-notices-wrapper > .woocommerce-error .button:focus,
.woocommerce-notices-wrapper > .woocommerce-error .wc-forward:hover,
.woocommerce-notices-wrapper > .woocommerce-error .wc-forward:focus,
.woocommerce-notices-wrapper > .woocommerce-error .restore-item:hover,
.woocommerce-notices-wrapper > .woocommerce-error .restore-item:focus {
	color: var(--ca-button-primary-text-hover) !important;
	background-size: 100% 100%, auto !important;
	border-color: var(--ca-button-primary-border-hover) !important;
	transform: translateY(-0.0625rem);
}

.ca-toast__close {
	grid-column: 3;
	align-self: center;
	justify-self: end;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	min-width: 1.75rem;
	min-height: 1.75rem;
	padding: 0;
	box-sizing: border-box;
	color: color-mix(in srgb, var(--ca-color-text) 62%, var(--ca-color-muted));
	background: color-mix(in srgb, var(--ca-color-surface) 84%, transparent);
	border: var(--ca-border-width) solid color-mix(in srgb, var(--ca-color-border) 80%, transparent);
	border-radius: var(--ca-radius-pill);
	box-shadow: none;
	font-size: 1.1rem;
	font-weight: var(--ca-weight-medium);
	line-height: 1;
	cursor: pointer;
	appearance: none;
	aspect-ratio: 1;
	transition:
		color var(--ca-duration-fast) var(--ca-ease-standard),
		background-color var(--ca-duration-fast) var(--ca-ease-standard),
		border-color var(--ca-duration-fast) var(--ca-ease-standard),
		transform var(--ca-duration-fast) var(--ca-ease-standard);
}

.ca-toast__close:hover,
.ca-toast__close:focus-visible {
	color: var(--ca-color-text);
	background: color-mix(in srgb, var(--ca-notice-accent) 10%, var(--ca-color-surface));
	border-color: color-mix(in srgb, var(--ca-notice-accent) 28%, var(--ca-color-border));
	transform: translateY(-0.0625rem);
}

.ca-toast__close span {
	display: block;
	line-height: 1;
	transform: translateY(-0.02em);
}

@keyframes ca-toast-in {
	from {
		opacity: 0;
		transform: translate3d(var(--ca-toast-enter-distance-x), var(--ca-toast-enter-distance-y), 0) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@media screen and (max-width: 782px) {
.admin-bar .woocommerce-notices-wrapper {
		inset-block-start: calc(46px + var(--ca-space-3));
	}
}

@media (max-width: 40rem) {
.woocommerce-notices-wrapper > .woocommerce-message,
	.woocommerce-notices-wrapper > .woocommerce-info,
	.woocommerce-notices-wrapper > .woocommerce-error {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--ca-space-2);
		padding: var(--ca-space-3);
		font-size: var(--ca-text-xs);
	}

.woocommerce-notices-wrapper > .woocommerce-message .button,
	.woocommerce-notices-wrapper > .woocommerce-message .wc-forward,
	.woocommerce-notices-wrapper > .woocommerce-message .restore-item,
	.woocommerce-notices-wrapper > .woocommerce-info .button,
	.woocommerce-notices-wrapper > .woocommerce-info .wc-forward,
	.woocommerce-notices-wrapper > .woocommerce-info .restore-item,
	.woocommerce-notices-wrapper > .woocommerce-error .button,
	.woocommerce-notices-wrapper > .woocommerce-error .wc-forward,
	.woocommerce-notices-wrapper > .woocommerce-error .restore-item {
		grid-column: 1 / -1;
		justify-self: start;
		margin-top: var(--ca-space-1);
	}

.ca-toast__close {
		grid-column: 2;
		grid-row: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
.woocommerce-notices-wrapper > .woocommerce-message,
	.woocommerce-notices-wrapper > .woocommerce-info,
	.woocommerce-notices-wrapper > .woocommerce-error,
	.woocommerce-notices-wrapper > .woocommerce-message.is-dismissing,
	.woocommerce-notices-wrapper > .woocommerce-info.is-dismissing,
	.woocommerce-notices-wrapper > .woocommerce-error.is-dismissing {
		animation: none;
		transition: none;
		transform: none;
	}
}

@media (max-width: 61.25rem) {
:root {
		--ca-text-xs: 0.7rem;
		--ca-text-sm: 0.8125rem;
		--ca-text-md: 0.9375rem;
		--ca-text-lg: 1rem;
		--ca-text-xl: 1.125rem;
		--ca-text-h1: clamp(1.75rem, 7vw, 2.75rem);
		--ca-text-h2: clamp(1.4rem, 5vw, 2rem);
		--ca-text-h3: clamp(1.15rem, 4vw, 1.45rem);
		--ca-page-gutter: 0.75rem;
		--ca-grid-gap: var(--ca-space-4);
		--ca-panel-space: var(--ca-space-3);
		--ca-control-height: 2.375rem;
		--ca-touch-target: 2.625rem;
		--ca-icon-size: 1rem;
		--ca-social-size: 2.45rem;
		--ca-payment-badge-width: 2.45rem;
		--ca-payment-badge-height: 1.45rem;
	}

.site-header--floating {
		inset-block-start: var(--ca-header-offset);
	}

.admin-bar .site-header--floating {
		top: calc(46px + var(--ca-header-offset));
	}

.admin-bar.commerce-auth-sticky-header .site-header--normal {
		top: 46px;
	}

.site-header--normal .site-header__shell {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--ca-page-gutter);
		background: var(--ca-header-bg);
	}

.site-header--bg-transparent.site-header--normal .site-header__shell {
		background: color-mix(in srgb, var(--ca-header-bg) 92%, transparent);
	}

.site-header--floating .site-header__shell {
		width: calc(100% - (var(--ca-page-gutter) * 2));
		max-width: var(--ca-header-container);
		margin-inline: auto;
	}

.site-header--floating .site-header__shell {
		padding-inline: var(--ca-space-2);
		border-radius: var(--ca-radius-md);
	}

.site-header__inner,
	.site-header--logo-left-menu-center .site-header__inner,
	.site-header--menu-left-logo-center .site-header__inner,
	.site-header--logo-menu-left .site-header__inner,
	.site-header--logo-left-menu-actions-right .site-header__inner {
		position: relative;
		display: grid;
		align-items: center;
		justify-items: center;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: var(--ca-header-height-mobile);
		grid-template-areas: "brand";
		column-gap: var(--ca-space-4);
		row-gap: 0;
		min-height: var(--ca-header-height-mobile);
	}

.site-header__toggle-slot {
		position: absolute;
		top: 50%;
		inset-inline-start: 0;
		display: flex;
		align-items: center;
		justify-self: start;
		align-self: center;
		transform: translateY(-50%);
		z-index: 2;
	}

.site-header__menu-toggle,
	.site-header__menu-toggle:hover,
	.site-header__menu-toggle:focus {
		background: transparent;
		border: 0;
		box-shadow: none;
	}

.site-header__brand-slot,
	.site-header--menu-left-logo-center .site-header__brand-slot {
		position: static;
		grid-area: brand;
		display: flex;
		align-items: center;
		justify-self: center;
		align-self: center;
		height: 100%;
		transform: none;
		z-index: 1;
	}

.site-header__actions-slot {
		position: absolute;
		top: 50%;
		inset-inline-end: 0;
		display: flex;
		align-items: center;
		justify-self: end;
		align-self: center;
		height: 100%;
		min-width: max-content;
		margin-left: 0;
		transform: translateY(-50%);
		z-index: 2;
	}

.site-header__menu-slot {
		position: fixed;
		inset-block: 0;
		inset-inline-start: 0;
		z-index: 1000;
		display: flex;
		flex-direction: column;
		width: min(86vw, 23.5rem);
		max-width: calc(100vw - 2.25rem);
		height: 100dvh;
		padding: 0;
		overflow-x: hidden;
		overflow-y: auto;
		color: var(--ca-color-text);
		background: var(--ca-color-surface);
		border-right: var(--ca-border-width) solid var(--ca-color-border);
		box-shadow: var(--ca-shadow-lg);
		opacity: 1;
		pointer-events: none;
		transform: translateX(-105%);
		visibility: hidden;
		transition:
			transform var(--ca-duration-slow) var(--ca-ease-standard),
			visibility 0s linear var(--ca-duration-slow);
		will-change: transform;
	}

.commerce-auth-menu-open .site-header__menu-slot {
		pointer-events: auto;
		transform: translateX(0);
		visibility: visible;
		transition-delay: 0s;
	}

.admin-bar .site-header__menu-slot {
		top: 46px;
		height: calc(100dvh - 46px);
	}

.commerce-auth-menu-open {
		overflow: hidden;
	}

.commerce-auth-menu-open .site-header {
		z-index: 1000;
	}

.site-header__drawer-backdrop {
		position: fixed;
		inset: 0;
		z-index: 990;
		display: block;
		padding: 0;
		background: color-mix(in srgb, var(--ca-color-text) 22%, transparent);
		border: 0;
		opacity: 0;
		pointer-events: none;
		cursor: pointer;
		transition: opacity var(--ca-duration-normal) var(--ca-ease-standard);
	}

.admin-bar .site-header__drawer-backdrop {
		top: 46px;
	}

.commerce-auth-menu-open .site-header__drawer-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

.site-header__drawer-close {
		position: absolute;
		top: calc(var(--ca-space-3) + env(safe-area-inset-top));
		inset-inline-end: var(--ca-space-3);
		z-index: 2;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.35rem;
		height: 2.35rem;
		padding: 0;
		color: var(--ca-color-text);
		background:
			linear-gradient(135deg, color-mix(in srgb, var(--ca-color-primary) 10%, transparent), transparent 72%),
			var(--ca-color-surface);
		border: var(--ca-border-width) solid var(--ca-color-border);
		border-radius: var(--ca-radius-pill);
		box-shadow: var(--ca-shadow-md);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.25rem) scale(0.96);
		transition:
			opacity var(--ca-duration-normal) var(--ca-ease-standard),
			transform var(--ca-duration-normal) var(--ca-ease-standard),
			background var(--ca-duration-fast) var(--ca-ease-standard),
			border-color var(--ca-duration-fast) var(--ca-ease-standard),
			color var(--ca-duration-fast) var(--ca-ease-standard);
	}

.site-header__drawer-close span,
	.site-header__drawer-close span::before,
	.site-header__drawer-close span::after {
		display: block;
	}

.site-header__drawer-close span {
		position: relative;
		width: 1rem;
		height: 1rem;
	}

.site-header__drawer-close span::before,
	.site-header__drawer-close span::after {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 1rem;
		height: 0.125rem;
		content: "";
		background: currentColor;
		border-radius: var(--ca-radius-pill);
		transform-origin: center;
	}

.site-header__drawer-close span::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

.site-header__drawer-close span::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

.site-header__drawer-close:hover,
	.site-header__drawer-close:focus-visible {
		color: var(--ca-color-text-inverse);
		background: var(--ca-color-primary);
		border-color: color-mix(in srgb, var(--ca-color-primary) 84%, var(--ca-color-border));
	}

.commerce-auth-menu-open .site-header__drawer-close {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0) scale(1);
	}

.site-header__drawer-intro {
		display: grid;
		gap: var(--ca-space-3);
		padding: var(--ca-space-4);
		background:
			linear-gradient(135deg, color-mix(in srgb, var(--ca-color-primary) 14%, transparent), transparent 60%),
			var(--ca-color-surface);
		border-bottom: var(--ca-border-width) solid var(--ca-color-border);
	}

.site-header__drawer-account {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: var(--ca-space-3);
		margin-inline-end: 3rem;
		color: var(--ca-color-text);
		text-decoration: none;
	}

.site-header__drawer-account-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 3rem;
		height: 3rem;
		color: var(--ca-color-primary);
		background: color-mix(in srgb, var(--ca-color-primary) 10%, var(--ca-color-surface));
		border-radius: var(--ca-radius-pill);
	}

.site-header__drawer-account strong,
	.site-header__drawer-account small {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

.site-header__drawer-account strong {
		font-size: var(--ca-text-md);
	}

.site-header__drawer-account small {
		margin-top: var(--ca-space-1);
		color: var(--ca-color-muted);
		font-size: var(--ca-text-xs);
	}

.site-header__drawer-quick {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--ca-space-2);
	}

.site-header__drawer-quick a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: var(--ca-space-2);
		min-height: 2.5rem;
		padding: var(--ca-space-2);
		color: var(--ca-color-text);
		background: var(--ca-color-surface-raised);
		border: var(--ca-border-width) solid var(--ca-color-border);
		border-radius: var(--ca-radius-sm);
		font-weight: var(--ca-weight-bold);
		text-decoration: none;
	}

.site-header__drawer-categories {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--ca-space-2);
	}

.site-header__drawer-categories a {
		display: grid;
		gap: var(--ca-space-2);
		min-width: 0;
		color: var(--ca-color-text);
		font-size: var(--ca-text-xs);
		font-weight: var(--ca-weight-bold);
		text-align: center;
		text-decoration: none;
	}

.site-header__drawer-category-image {
		display: flex;
		align-items: center;
		justify-content: center;
		aspect-ratio: 1;
		overflow: hidden;
		background: var(--ca-color-surface-raised);
		border-radius: var(--ca-radius-pill);
	}

.site-header__drawer-category-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.site-header__nav {
		width: 100%;
		padding: var(--ca-space-2) var(--ca-space-4) var(--ca-space-4);
	}

.site-header__nav .menu {
		align-items: stretch;
		flex-direction: column;
		gap: var(--ca-space-1);
	}

.site-header__nav .menu a {
		justify-content: space-between;
		min-height: var(--ca-touch-target);
		padding-inline: var(--ca-space-3);
		border-bottom: 0;
		border-radius: var(--ca-radius-sm);
		color: color-mix(in srgb, var(--ca-color-text) 90%, var(--ca-color-muted));
		text-decoration: none;
	}

.site-header__nav .menu a::before {
		display: none;
	}

.site-header__nav .menu a:hover,
	.site-header__nav .menu a:focus {
		color: var(--ca-color-primary);
		background: color-mix(in srgb, var(--ca-color-primary) 8%, transparent);
	}

.site-header__nav .menu > li.current-menu-item > a,
	.site-header__nav .menu > li.current_page_item > a,
	.site-header__nav .menu > li.current-menu-ancestor > a,
	.site-header__nav .menu > li > a[aria-current="page"] {
		color: var(--ca-color-primary);
	}

.site-header__nav .sub-menu {
		position: static;
		display: grid;
		max-height: 0;
		min-width: 0;
		padding: 0 var(--ca-space-0) 0 var(--ca-space-4);
		overflow: hidden;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.25rem);
		visibility: hidden;
		transition:
			max-height var(--ca-duration-normal) var(--ca-ease-standard),
			padding var(--ca-duration-normal) var(--ca-ease-standard),
			opacity var(--ca-duration-fast) var(--ca-ease-standard),
			transform var(--ca-duration-fast) var(--ca-ease-standard),
			visibility 0s linear var(--ca-duration-normal);
	}

.site-header__nav .menu li:hover > .sub-menu,
	.site-header__nav .menu li:focus-within > .sub-menu {
		max-height: 18rem;
		padding-block: var(--ca-space-1);
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		transition-delay: 0s;
	}

.site-search {
		width: 100%;
		min-width: 0;
	}

.site-header__actions .site-search {
		position: relative;
		display: inline-flex;
		width: var(--ca-control-height);
		min-width: var(--ca-control-height);
		max-width: var(--ca-control-height);
		min-height: var(--ca-control-height);
		background: transparent;
		border-color: transparent;
		border-radius: var(--ca-radius-pill);
		box-shadow: none;
		overflow: visible;
	}

.site-header--search-icon .site-header__actions .site-search,
	.site-header--search-icon .site-header__actions .site-search.is-expanded,
	.site-header--search-icon .site-header__actions .site-search:focus-within {
		width: var(--ca-control-height);
		min-width: var(--ca-control-height);
		max-width: var(--ca-control-height);
		background: transparent;
		border-color: transparent;
		box-shadow: none;
	}

.site-header__actions .site-search input[type="search"] {
		position: absolute;
		inset-inline-start: 50%;
		width: 0;
		min-width: 0;
		padding: 0;
		opacity: 0;
		pointer-events: none;
	}

.site-header--search-icon .site-header__actions .site-search.is-expanded input[type="search"],
	.site-header--search-icon .site-header__actions .site-search:focus-within input[type="search"] {
		width: 0;
		padding: 0;
		opacity: 0;
		pointer-events: none;
		transform: none;
	}

.site-header__actions .site-search input[type="hidden"] {
		display: none;
	}

.site-header__actions .site-search button {
		width: var(--ca-control-height);
		min-width: var(--ca-control-height);
		height: var(--ca-control-height);
	}

.site-header__actions > .site-header__action:not(.site-header__cart) {
		display: none;
	}

.site-header__mobile-search {
		display: block;
		max-height: 0;
		padding-bottom: 0;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.35rem);
		visibility: hidden;
		transition:
			max-height var(--ca-duration-slow) var(--ca-ease-standard),
			padding var(--ca-duration-slow) var(--ca-ease-standard),
			opacity var(--ca-duration-normal) var(--ca-ease-standard),
			transform var(--ca-duration-normal) var(--ca-ease-standard),
			visibility 0s linear var(--ca-duration-slow);
	}

.commerce-auth-search-open .site-header__mobile-search {
		max-height: 5.75rem;
		padding-bottom: var(--ca-space-3);
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		transition-delay: 0s;
	}

.site-header__mobile-search .site-search {
		width: 100%;
		min-width: 0;
		background: var(--ca-color-surface);
		border-color: var(--ca-color-border);
		box-shadow: var(--ca-shadow-sm);
	}

.site-header__mobile-search .site-search input[type="search"] {
		width: 100%;
		padding: var(--ca-space-2) var(--ca-space-3) var(--ca-space-2) var(--ca-space-4);
		color: var(--ca-color-text);
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

.site-header__mobile-search .site-search button {
		color: var(--ca-color-text);
	}

.site-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

.site-footer__inner {
		padding-block-start: clamp(1.5rem, 3vw, 2.5rem);
	}

.site-footer__newsletter {
		grid-column: 1 / -1;
	}

.site-footer__links {
		border-bottom: 0;
	}

.site-footer__links-toggle {
		min-height: var(--ca-touch-target);
		padding-block: var(--ca-space-2);
		margin-bottom: 0;
		cursor: pointer;
	}

.site-footer__links-symbol {
		display: inline-block;
		flex: 0 0 auto;
	}

.site-footer__links .site-footer__menu {
		max-height: 0;
		padding-bottom: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-0.25rem);
		transition:
			max-height var(--ca-duration-slow) var(--ca-ease-standard),
			padding var(--ca-duration-slow) var(--ca-ease-standard),
			opacity var(--ca-duration-normal) var(--ca-ease-standard),
			transform var(--ca-duration-normal) var(--ca-ease-standard),
			visibility 0s linear var(--ca-duration-slow);
	}

.site-footer__links.is-open .site-footer__menu {
		max-height: var(--ca-footer-panel-height, 20rem);
		padding-bottom: var(--ca-space-3);
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition-delay: 0s;
	}
}

@media (max-width: 40rem) {
:root {
		--ca-text-xs: 0.6875rem;
		--ca-text-sm: 0.78125rem;
		--ca-text-md: 0.875rem;
		--ca-text-lg: 0.96875rem;
		--ca-text-xl: 1.0625rem;
		--ca-text-h1: clamp(1.55rem, 8vw, 2.25rem);
		--ca-text-h2: clamp(1.3rem, 6vw, 1.75rem);
		--ca-text-h3: clamp(1.1rem, 5vw, 1.35rem);
		--ca-page-gutter: var(--ca-space-3);
		--ca-section-space: var(--ca-space-7);
		--ca-panel-space: var(--ca-space-2);
		--ca-control-height: 2.25rem;
		--ca-touch-target: 2.5rem;
		--ca-icon-size: 0.95rem;
		--ca-social-size: 2.25rem;
		--ca-payment-badge-width: 2.25rem;
		--ca-payment-badge-height: 1.35rem;
	}

.site-header__inner {
		min-height: var(--ca-header-height-mobile);
		column-gap: var(--ca-space-2);
		row-gap: 0;
	}

.custom-logo-link img {
		max-height: calc(var(--ca-header-height-mobile) * 0.65);
	}

.site-header__actions {
		gap: var(--ca-space-1);
	}

.site-header__action,
	.site-header__menu-toggle {
		font-size: var(--ca-text-sm);
	}

.site-header__inner,
	.site-header--logo-left-menu-center .site-header__inner,
	.site-header--menu-left-logo-center .site-header__inner,
	.site-header--logo-menu-left .site-header__inner,
	.site-header--logo-left-menu-actions-right .site-header__inner {
		grid-template-rows: var(--ca-header-height-mobile) auto;
	}

.ca-product-card__media {
		padding: clamp(0.55rem, 2.7vw, 0.75rem) clamp(0.55rem, 2.7vw, 0.75rem) 0;
	}

.ca-product-card__body {
		gap: 0.4rem;
		padding: 0.7rem;
	}

.ca-product-card__rating {
		gap: 0.25rem;
		font-size: 0.6875rem;
	}

.ca-product-card__title,
.woocommerce ul.products li.product .ca-product-card__title,
.woocommerce-page ul.products li.product .ca-product-card__title,
.woocommerce-loop-product__title.ca-product-card__title {
		font-size: 0.78125rem;
		line-height: 1.25;
	}

.ca-product-card__discount {
		font-size: 0.6875rem;
	}

.ca-product-card__price {
		gap: 0.28rem;
		font-size: 0.8125rem;
		line-height: 1.08;
	}

.ca-product-card__price del {
		font-size: 0.6875rem;
	}

.ca-product-card__stock {
		gap: 0.35rem;
		font-size: 0.65625rem;
	}

.ca-product-card__stock span {
		width: 0.38rem;
		height: 0.38rem;
	}

.ca-product-card__button,
.woocommerce a.button.ca-product-card__button,
.woocommerce-page a.button.ca-product-card__button {
		min-height: 2.25rem;
		padding: 0.62rem 0.7rem;
		font-size: 0.75rem;
	}

.ca-product-card__sale-badge {
		top: var(--ca-space-2);
		left: var(--ca-space-2);
		min-height: 1.2rem;
		padding-inline: 0.42rem;
		font-size: 0.625rem;
	}

.ca-cart-totals table.shop_table .order-total th,
	.ca-cart-totals table.shop_table .order-total td {
		font-size: var(--ca-text-md);
	}

.commerce-auth-checkout {
		padding-block-start: var(--ca-space-5);
	}

.site-footer__top {
		grid-template-columns: 1fr;
	}

.site-footer__newsletter-form {
		grid-template-columns: 1fr;
	}

.site-footer__newsletter-form button {
		min-height: var(--ca-control-height);
		border-top: var(--ca-border-width) solid var(--ca-input-border);
		border-left: 0;
	}

.site-footer__utility {
		align-items: flex-start;
		flex-direction: column;
	}

.site-footer__brand-name {
		font-size: clamp(2.25rem, 16vw, 4rem);
	}
}

@media (max-width: 61.25rem) {
.home-trust-bar,
	.about-page__trust,
	.contact-page__trust {
		position: relative;
		overflow: hidden;
	}

.home-trust-bar::before,
	.home-trust-bar::after,
	.about-page__trust::before,
	.about-page__trust::after,
	.contact-page__trust::before,
	.contact-page__trust::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		z-index: 2;
		width: clamp(2rem, 10vw, 4.5rem);
		pointer-events: none;
	}

.home-trust-bar::before,
	.about-page__trust::before,
	.contact-page__trust::before {
		left: 0;
		background: linear-gradient(90deg, var(--ca-trust-bar-bg), transparent);
	}

.home-trust-bar::after,
	.about-page__trust::after,
	.contact-page__trust::after {
		right: 0;
		background: linear-gradient(270deg, var(--ca-trust-bar-bg), transparent);
	}

.home-trust-bar__inner[data-ca-trust-marquee],
	.about-page__trust-inner[data-ca-trust-marquee],
	.contact-page__trust-inner[data-ca-trust-marquee] {
		display: flex;
		grid-template-columns: none;
		width: max-content;
		max-width: none;
		min-width: max-content;
		margin-inline: 0;
		padding: var(--ca-space-4) var(--ca-page-gutter);
		gap: var(--ca-space-5);
		will-change: transform;
	}

.home-trust-bar__inner[data-ca-trust-marquee][data-ca-marquee-ready="true"],
	.about-page__trust-inner[data-ca-trust-marquee][data-ca-marquee-ready="true"],
	.contact-page__trust-inner[data-ca-trust-marquee][data-ca-marquee-ready="true"] {
		animation: ca-trust-marquee-scroll 24s linear infinite;
	}

.home-trust-bar__inner[data-ca-trust-marquee] > .home-trust-bar__item,
	.about-page__trust-inner[data-ca-trust-marquee] > .about-page__trust-item,
	.contact-page__trust-inner[data-ca-trust-marquee] > .contact-page__trust-item {
		flex: 0 0 clamp(13.5rem, 42vw, 18.5rem);
		min-width: clamp(13.5rem, 42vw, 18.5rem);
	}
}

@media (hover: hover) and (max-width: 61.25rem) {
.home-trust-bar:hover [data-ca-trust-marquee],
	.about-page__trust:hover [data-ca-trust-marquee],
	.contact-page__trust:hover [data-ca-trust-marquee] {
		animation-play-state: paused;
	}
}

@media (prefers-reduced-motion: reduce) {
*,
	*::before,
	*::after {
		transition-duration: 1ms !important;
		animation-duration: 1ms !important;
		scroll-behavior: auto !important;
	}

[data-ca-reveal],
	html.ca-reveal-ready [data-ca-reveal],
	[data-ca-reels-reveal],
	html.ca-reels-reveal-ready [data-ca-reels-reveal] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

[data-ca-trust-marquee] {
		animation: none !important;
		transform: none !important;
		will-change: auto !important;
	}

[data-ca-trust-marquee] > [data-ca-marquee-clone="true"] {
		display: none !important;
	}

.home-trust-bar,
	.about-page__trust,
	.contact-page__trust {
		overflow-x: auto !important;
	}

.home-trust-bar::before,
	.home-trust-bar::after,
	.about-page__trust::before,
	.about-page__trust::after,
	.contact-page__trust::before,
	.contact-page__trust::after {
		display: none !important;
	}
}
