/* HOL theme frontend styles. Design tokens live in theme.json */

/*
 * WordPress hyphenates digit-only font-size slugs (h1 → --h-1). Alias the
 * unhyphenated names used throughout this stylesheet and theme.json elements.
 */
:root {
	--wp--preset--font-size--h1: var(--wp--preset--font-size--h-1);
	--wp--preset--font-size--h2: var(--wp--preset--font-size--h-2);
	--wp--preset--font-size--h3: var(--wp--preset--font-size--h-3);
	--wp--preset--font-size--h4: var(--wp--preset--font-size--h-4);
}

/* Fonts */
/* @font-face font-family Noto Sans src url .. fonts noto-sans- */

/* Form inputs */
.hol-input,
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='number'],
input[type='password'],
textarea,
select {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body);
	color: var(--wp--preset--color--text);
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--sm);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}

.hol-input::placeholder,
input::placeholder,
textarea::placeholder {
	color: var(--wp--preset--color--text-secondary);
}

/* Focus ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
.hol-icon-btn:focus-visible,
.hol-drawer a:focus-visible,
.hol-drawer button:focus-visible,
.hol-faq__item summary:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--sm);
}

.hol-icon-btn:focus-visible {
	border-radius: var(--wp--custom--radius--pill);
}

/* Skip link Phase 17 */
.hol-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: 0 0 0 2px var(--wp--preset--color--accent);
}

.hol-skip-link:focus,
.hol-skip-link:focus-visible {
	left: var(--wp--preset--spacing--30);
	top: var(--wp--preset--spacing--30);
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* section */

body {
	--wp--style--global--content-size: 1440px;
	--wp--style--global--wide-size: 1600px;
	background-color: var(--wp--preset--color--background);
	background-image:
		radial-gradient(1200px 600px at 12% -10%, rgba(168, 85, 27, 0.09), transparent 55%),
		radial-gradient(900px 500px at 100% 0%, rgba(240, 232, 219, 0.9), transparent 50%),
		linear-gradient(180deg, var(--wp--preset--color--background) 0%, #f5efe6 100%);
	background-attachment: fixed;
}

.hol-header__row,
.hol-front__stack,
.hol-shop,
.hol-single-product,
.hol-page-hero,
.hol-page-body,
.hol-footer__inner,
.hol-footer__columns,
.hol-footer__bottom,
.hol-trust-strip__list {
	width: min(100%, 1440px);
	max-width: 1440px;
	margin-inline: auto;
	box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
	body {
		background-attachment: scroll;
	}
}

.hol-logo__text {
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 800;
	letter-spacing: -0.03em;
}

/*
 * WordPress root blockGap (`:where(.wp-site-blocks) > * { margin-block: 24px 0 }`)
 * puts a cream strip between the sticky header and the first main section.
 * Full-bleed hero / page content must sit flush under the header.
 */
.wp-site-blocks > header.wp-block-template-part + * {
	margin-block-start: 0;
}

/* ---- Hero full-bleed brand-first (mobile-first) ---- */

.hol-hero {
	position: relative;
	isolation: isolate;
	min-height: 0;
	display: flex;
	align-items: center;
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	padding-inline: 0;
	overflow: hidden;
	color: var(--wp--preset--color--secondary);
}

.hol-hero__atmosphere {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 70% 55% at 78% 35%, color-mix(in srgb, var(--wp--preset--color--accent) 40%, transparent), transparent 58%),
		radial-gradient(ellipse 45% 40% at 12% 85%, color-mix(in srgb, var(--wp--preset--color--sale) 12%, transparent), transparent 55%),
		linear-gradient(155deg, var(--wp--preset--color--primary) 0%, #2f261f 48%, #6b3a18 120%);
}

.hol-hero__atmosphere::after {
	content: '';
	position: absolute;
	inset: 0;
	opacity: 0.28;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");
	mix-blend-mode: soft-light;
	pointer-events: none;
}

/* Same content width + inline padding as `.hol-header__row`. */
.hol-hero__layout {
	width: min(100%, 1440px);
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--40);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50);
	align-items: stretch;
	position: relative;
	z-index: 1;
}

.hol-hero__inner {
	min-width: 0;
	max-width: none;
	opacity: 1;
	animation: hol-rise 700ms var(--wp--custom--motion--easing--standard);
}

.hol-hero__brand {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: clamp(2rem, 11vw, 2.75rem);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--secondary);
}

.hol-hero__headline {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--secondary);
}

.hol-hero__lede {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 82%, transparent);
	max-width: 36rem;
}

.hol-hero__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	min-width: 0;
	max-width: 100%;
}

.hol-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 3rem;
	padding: 0.9rem 1.55rem;
	border-radius: var(--wp--custom--radius--md);
	font-weight: 700;
	text-decoration: none;
	transition:
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-hero__cta--primary {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
}

.hol-hero__cta--primary:hover {
	background: var(--wp--preset--color--accent-tint);
	transform: translateY(-2px);
}

.hol-hero__cta--secondary {
	background: transparent;
	color: var(--wp--preset--color--secondary) !important;
	box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--wp--preset--color--secondary) 55%, transparent);
	text-decoration: none !important;
}

.hol-hero__cta--secondary:hover {
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--secondary);
	transform: translateY(-2px);
}

.hol-hero__visual {
	--hol-hero-gap: var(--wp--preset--spacing--20);
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--hol-hero-gap);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	/* 3 tile-widths × 2 tile-heights (large shot spans 2 rows). */
	aspect-ratio: 3 / 2;
	justify-self: stretch;
	box-sizing: border-box;
}

.hol-hero__shot {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--md);
	background: color-mix(in srgb, var(--wp--preset--color--surface) 14%, transparent);
	text-decoration: none !important;
	color: var(--wp--preset--color--secondary);
}

.hol-hero__shot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	padding: 0;
	transition: transform 500ms var(--wp--custom--motion--easing--standard);
}

.hol-hero__shot:hover img {
	transform: scale(1.04);
}

.hol-hero__shot--1 {
	grid-row: 1 / -1;
}

.hol-hero__shot-badge {
	position: absolute;
	top: 0.45rem;
	inset-inline-start: 0.45rem;
	z-index: 1;
	padding: 0.2rem 0.45rem;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--sale, #c45c26);
	color: var(--wp--preset--color--secondary);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

.hol-hero__shot-price {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 46%;
	padding: 1.4rem 0.5rem 0.55rem;
	background: linear-gradient(
		to top,
		rgba(12, 9, 6, 0.92) 0%,
		rgba(12, 9, 6, 0.72) 38%,
		rgba(12, 9, 6, 0.28) 72%,
		transparent 100%
	);
	pointer-events: none;
}

.hol-hero__shot-price-inner {
	display: block;
	max-width: 100%;
	color: #fff;
	font-size: 18px !important;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.2;
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* Tablet+: true 50% text / 50% products */
@media (min-width: 768px) {
	.hol-hero {
		min-height: min(52vh, 520px);
		padding-block: var(--wp--preset--spacing--70);
	}

	.hol-hero__layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--wp--preset--spacing--50);
		padding-inline: var(--wp--preset--spacing--50);
		align-items: center;
	}

	.hol-hero__brand {
		font-size: clamp(2.15rem, 4.2vw, 3.25rem);
	}

	.hol-hero__headline {
		margin-bottom: var(--wp--preset--spacing--40);
		font-size: clamp(1.3rem, 2.2vw, 1.85rem);
	}

	.hol-hero__lede {
		margin-bottom: var(--wp--preset--spacing--50);
		font-size: var(--wp--preset--font-size--body-large);
	}

	.hol-hero__actions {
		flex-direction: row;
		align-items: center;
	}

	.hol-hero__cta {
		width: auto;
		min-height: 3.15rem;
	}

	.hol-hero__visual {
		--hol-hero-gap: var(--wp--preset--spacing--30);
	}

	.hol-hero__shot-price {
		min-height: 42%;
		padding: 1.75rem 0.65rem 0.7rem;
	}
}

@media (min-width: 1024px) {
	.hol-hero__layout {
		gap: var(--wp--preset--spacing--60);
		padding-inline: var(--wp--preset--spacing--60);
	}
}

@keyframes hol-rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hol-hero__inner {
		animation: none;
	}

	.hol-hero__cta:hover,
	.hol-hero__shot:hover img {
		transform: none;
	}
}

/* ---- Trust strip (Ochaka-style service row) ---- */

.hol-trust-strip {
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.hol-trust-strip__list {
	list-style: none;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	width: min(100%, var(--wp--style--global--wide-size, 1200px));
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 640px) {
	.hol-trust-strip__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.hol-trust-strip__list {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--wp--preset--spacing--50);
		padding-inline: var(--wp--preset--spacing--60);
	}
}

.hol-trust-strip__item {
	display: grid;
	gap: var(--wp--preset--spacing--10);
}

.hol-trust-strip__title {
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--text);
}

.hol-trust-strip__text {
	font-size: var(--wp--preset--font-size--body-small);
	color: var(--wp--preset--color--text-secondary);
	line-height: 1.45;
}

/* ---- Homepage sections ---- */

.hol-front__stack {
	padding-block: var(--wp--preset--spacing--90);
	padding-inline: var(--wp--preset--spacing--40);
	display: grid;
	gap: var(--wp--preset--spacing--100);
}

@media (min-width: 1024px) {
	.hol-front__stack {
		padding-inline: var(--wp--preset--spacing--60);
	}
}

.hol-front__stack.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.hol-shop.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.hol-single-product.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.hol-header.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.hol-page-hero.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.hol-page-body.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1440px !important;
}

.hol-home-section__intro {
	margin-bottom: var(--wp--preset--spacing--50);
	max-width: 36rem;
}

.hol-home-section__intro--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
	max-width: none;
}

.hol-home-section__title {
	margin: var(--wp--preset--spacing--20) 0 0;
	font-size: var(--wp--preset--font-size--h2);
	letter-spacing: -0.02em;
}

.hol-home-section__lede {
	margin: var(--wp--preset--spacing--30) 0 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-large);
}

.hol-home-section__link {
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	white-space: nowrap;
}

.hol-home-section__link:hover {
	color: var(--wp--preset--color--primary);
}

.hol-product-rail__footer {
	display: flex;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--50);
}

.hol-product-rail__view-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 3rem;
	padding: 0.85rem 1.6rem;
	border-radius: var(--wp--custom--radius--md);
	border: 1.5px solid var(--wp--preset--color--border-strong);
	background: transparent;
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none !important;
	transition:
		background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		border-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-product-rail__view-all:hover,
.hol-product-rail__view-all:focus-visible {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
	transform: translateY(-2px);
}

@media (max-width: 767px) {
	.hol-product-rail__view-all {
		width: 100%;
		max-width: 100%;
	}
}

/* Category tiles (mobile-first) */

.hol-age-rail__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--30);
}

@media (min-width: 640px) {
	.hol-age-rail__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.hol-age-rail__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--40);
	}
}

@media (min-width: 1280px) {
	.hol-age-rail__list {
		grid-template-columns: repeat(7, minmax(0, 1fr));
	}
}

.hol-age-rail__list > li {
	min-width: 0;
}

.hol-age-rail__card {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
	min-height: 11.5rem;
	height: 100%;
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
	color: var(--wp--preset--color--secondary);
	text-decoration: none !important;
	box-shadow: var(--wp--preset--shadow--sm);
	box-sizing: border-box;
	transition:
		transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
		box-shadow var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-age-rail__card::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 80% 70% at 100% 0%, color-mix(in srgb, #fff 22%, transparent), transparent 55%),
		radial-gradient(ellipse 60% 50% at 0% 100%, color-mix(in srgb, #000 22%, transparent), transparent 60%);
}

.hol-age-rail__card::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.18;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
	mix-blend-mode: soft-light;
}

.hol-age-rail__card--1 { background: linear-gradient(155deg, #2f241c 0%, #a8551b 78%, #d4a017 120%); }
.hol-age-rail__card--2 { background: linear-gradient(155deg, #171411 0%, #5c4030 70%, #8b6a4a 120%); }
.hol-age-rail__card--3 { background: linear-gradient(155deg, #1c2822 0%, #3f7a5c 72%, #7cb896 120%); }
.hol-age-rail__card--4 { background: linear-gradient(155deg, #1c1520 0%, #93172b 72%, #c45c6a 120%); }
.hol-age-rail__card--5 { background: linear-gradient(155deg, #241a10 0%, #9c6412 72%, #e0a84a 120%); }
.hol-age-rail__card--6 { background: linear-gradient(155deg, #1a1714 0%, #6b6459 72%, #a89f90 120%); }
.hol-age-rail__card--7 { background: linear-gradient(155deg, #1a2030 0%, #3d5a80 72%, #7a9cc5 120%); }

.hol-age-rail__card:hover,
.hol-age-rail__card:focus-visible {
	transform: translateY(-5px);
	box-shadow: var(--wp--preset--shadow--md);
	color: var(--wp--preset--color--secondary);
}

.hol-age-rail__glyph {
	position: absolute;
	inset-inline-end: -0.85rem;
	top: -0.35rem;
	z-index: 0;
	opacity: 0.14;
	pointer-events: none;
	transform: rotate(8deg);
	transition: opacity var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
		transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-age-rail__glyph svg {
	display: block;
	width: 7.5rem;
	height: 7.5rem;
}

.hol-age-rail__card:hover .hol-age-rail__glyph,
.hol-age-rail__card:focus-visible .hol-age-rail__glyph {
	opacity: 0.22;
	transform: rotate(4deg) scale(1.04);
}

.hol-age-rail__icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	flex-shrink: 0;
	border-radius: 999px;
	color: var(--wp--preset--color--secondary);
	background: color-mix(in srgb, #fff 16%, transparent);
	border: 1px solid color-mix(in srgb, #fff 28%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 25%, transparent);
	transition: transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
		background-color var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-age-rail__card:hover .hol-age-rail__icon,
.hol-age-rail__card:focus-visible .hol-age-rail__icon {
	transform: scale(1.06);
	background: color-mix(in srgb, #fff 24%, transparent);
}

.hol-age-rail__copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	min-width: 0;
	margin-top: auto;
}

.hol-age-rail__name {
	font-size: clamp(1rem, 2.2vw, 1.25rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.hol-age-rail__subtitle {
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	line-height: 1.3;
	opacity: 0.78;
}

.hol-age-rail__action {
	margin-top: 0.35rem;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.88;
	transition: opacity var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-age-rail__card:hover .hol-age-rail__action,
.hol-age-rail__card:focus-visible .hol-age-rail__action {
	opacity: 1;
	transform: translateX(3px);
}

@media (min-width: 1280px) {
	.hol-age-rail__card {
		min-height: 13rem;
		padding: var(--wp--preset--spacing--30);
	}

	.hol-age-rail__name {
		font-size: 1.05rem;
	}

	.hol-age-rail__glyph svg {
		width: 6.25rem;
		height: 6.25rem;
	}
}

/* Type tiles */

.hol-type-rail__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--30);
}

@media (min-width: 640px) {
	.hol-type-rail__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.hol-type-rail__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--40);
	}
}

.hol-type-rail__list > li {
	min-width: 0;
}

.hol-type-rail__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
	min-height: 11rem;
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius--lg);
	text-decoration: none;
	color: var(--wp--preset--color--secondary);
	box-shadow: var(--wp--preset--shadow--md);
	overflow: hidden;
	box-sizing: border-box;
	transition:
		transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
		box-shadow var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-type-rail__card--1 { background: linear-gradient(160deg, #3a2e24, #a8551b); }
.hol-type-rail__card--2 { background: linear-gradient(160deg, #1c1a17, #5c4030); }
.hol-type-rail__card--3 { background: linear-gradient(160deg, #2f3a32, #3f7a5c); }
.hol-type-rail__card--4 { background: linear-gradient(160deg, #2a2430, #93172b); }
.hol-type-rail__card--5 { background: linear-gradient(160deg, #2c2418, #9c6412); }
.hol-type-rail__card--6 { background: linear-gradient(160deg, #241e1a, #6b6459); }

.hol-type-rail__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--lg);
	color: var(--wp--preset--color--secondary);
}

.hol-type-rail__name {
	display: block;
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.hol-type-rail__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
}

.hol-type-rail__count {
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	color: var(--wp--preset--color--accent-tint);
}

.hol-type-rail__action {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Dual promo bands — New games / Best sellers (mobile-first) */

.hol-home-promos {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

@media (min-width: 768px) {
	.hol-home-promos {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: var(--wp--preset--spacing--40);
	}
}

.hol-home-promo {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: stretch;
	gap: var(--wp--preset--spacing--40);
	min-height: 16rem;
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
	text-decoration: none !important;
	color: var(--wp--preset--color--secondary);
	box-shadow: var(--wp--preset--shadow--md);
	box-sizing: border-box;
	transition:
		transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
		box-shadow var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

@media (max-width: 520px) {
	.hol-home-promo {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		padding: var(--wp--preset--spacing--40);
	}
}

.hol-home-promo::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 70% 60% at 100% 0%, color-mix(in srgb, #fff 20%, transparent), transparent 55%),
		radial-gradient(ellipse 50% 45% at 0% 100%, color-mix(in srgb, #000 24%, transparent), transparent 60%);
}

.hol-home-promo::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.16;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
	mix-blend-mode: soft-light;
}

.hol-home-promo:hover,
.hol-home-promo:focus-visible {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--lg);
	color: var(--wp--preset--color--secondary);
}

.hol-home-promo--new {
	background: linear-gradient(145deg, #24180f 0%, #a8551b 68%, #d4a017 125%);
}

.hol-home-promo--best {
	background: linear-gradient(145deg, #1a1410 0%, #3a2e24 48%, #93172b 120%);
}

.hol-home-promo__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--wp--preset--spacing--20);
	min-width: 0;
}

.hol-home-promo__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background: color-mix(in srgb, #fff 16%, transparent);
	border: 1px solid color-mix(in srgb, #fff 28%, transparent);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 25%, transparent);
	transition: transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-home-promo:hover .hol-home-promo__icon,
.hol-home-promo:focus-visible .hol-home-promo__icon {
	transform: scale(1.06);
}

.hol-home-promo__title {
	display: block;
	font-size: clamp(1.65rem, 3.2vw, 2.35rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.hol-home-promo__lede {
	display: block;
	max-width: 18rem;
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1.45;
	opacity: 0.82;
}

.hol-home-promo__cta {
	display: inline-flex;
	align-items: center;
	margin-top: var(--wp--preset--spacing--10);
	padding: 0.65rem 1.1rem;
	border-radius: var(--wp--custom--radius--md);
	background: color-mix(in srgb, #fff 14%, transparent);
	border: 1px solid color-mix(in srgb, #fff 30%, transparent);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body-small);
	letter-spacing: 0.01em;
	transition:
		background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-home-promo:hover .hol-home-promo__cta,
.hol-home-promo:focus-visible .hol-home-promo__cta {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--primary);
	transform: translateX(2px);
}

.hol-home-promo__visual {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	grid-template-rows: 1fr 1fr;
	gap: var(--wp--preset--spacing--20);
	min-height: 10.5rem;
	align-self: center;
}

@media (max-width: 520px) {
	.hol-home-promo__visual {
		min-height: 9rem;
		max-width: 16rem;
	}
}

.hol-home-promo__shot {
	display: block;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--sm);
	background: color-mix(in srgb, #fff 10%, transparent);
}

.hol-home-promo__shot--1 {
	grid-row: 1 / -1;
}

.hol-home-promo__shot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms var(--wp--custom--motion--easing--standard);
}

.hol-home-promo:hover .hol-home-promo__shot img,
.hol-home-promo:focus-visible .hol-home-promo__shot img {
	transform: scale(1.05);
}

/* Product rails */

.hol-product-rail__grid {
	margin: 0;
}

.hol-product-rail--recent .hol-product-card__media {
	background:
		radial-gradient(circle at 80% 15%, rgba(243, 217, 188, 0.65), transparent 42%),
		linear-gradient(165deg, #fbf6ee, #efe2cf 70%, #e5d5bc);
}

.hol-product-rail--popular .hol-product-card__media {
	background:
		radial-gradient(circle at 20% 10%, rgba(168, 85, 27, 0.14), transparent 40%),
		linear-gradient(165deg, #f7f1e7, #e8dcc8 70%, #dfd2bc);
}

.hol-product-rail--random .hol-product-card__media {
	background:
		radial-gradient(circle at 55% 20%, rgba(90, 122, 94, 0.12), transparent 44%),
		linear-gradient(165deg, #f5f3ee, #e7e2d6 70%, #ddd6c8);
}

.hol-home-story {
	position: relative;
	padding: var(--wp--preset--spacing--100) var(--wp--preset--spacing--40);
	background:
		linear-gradient(135deg, rgba(28, 26, 23, 0.94), rgba(58, 46, 36, 0.92)),
		var(--wp--preset--color--primary);
	color: #faf6f0;
}

.hol-home-story__inner {
	width: min(100%, 720px);
	margin-inline: auto;
	text-align: center;
	animation: hol-rise 800ms var(--wp--custom--motion--easing--standard);
}

.hol-home-story__label {
	color: var(--wp--preset--color--accent-tint);
}

.hol-home-story__title {
	margin: var(--wp--preset--spacing--30) 0;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	letter-spacing: -0.03em;
	color: #faf6f0;
}

.hol-home-story__body {
	margin: 0 auto var(--wp--preset--spacing--60);
	color: rgba(250, 246, 240, 0.8);
	font-size: var(--wp--preset--font-size--body-large);
	line-height: 1.6;
}

.hol-home-story__pillars {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--60);
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--40);
	text-align: left;
}

@media (min-width: 768px) {
	.hol-home-story__pillars {
		grid-template-columns: repeat(3, 1fr);
	}
}

.hol-home-story__pillars li {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--md);
	background: rgba(250, 246, 240, 0.06);
	border: 1px solid rgba(250, 246, 240, 0.12);
}

.hol-home-story__pillars strong {
	font-size: var(--wp--preset--font-size--h4);
	color: #faf6f0;
}

.hol-home-story__pillars span {
	color: rgba(250, 246, 240, 0.72);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1.5;
}

.hol-home-story__link {
	display: inline-flex;
	font-weight: 700;
	color: var(--wp--preset--color--accent-tint);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.hol-home-story__link:hover {
	color: #faf6f0;
}

/* ---- Product cards contained */

.hol-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	width: 100%;
	background: transparent;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	overflow: hidden;
	transition: transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--enter);
}

.hol-product-card:hover {
	transform: translateY(-4px);
}

.hol-product-card__media {
	position: relative;
	display: block;
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
	background:
		radial-gradient(circle at 80% 15%, rgba(243, 217, 188, 0.55), transparent 40%),
		linear-gradient(165deg, #f7f1e7, #e8dcc8 70%, #dfd2bc);
	aspect-ratio: 1 / 1;
}

.hol-product-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter);
}

.hol-product-card:hover .hol-product-card__image {
	transform: scale(1.05);
}

.hol-product-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--30) 2px 0;
	min-width: 0;
}

.hol-product-card__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.hol-product-card__title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.hol-product-card__title a:hover {
	color: var(--wp--preset--color--accent);
}

.hol-product-card__meta {
	margin: 0;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--wp--preset--color--text-secondary);
}

.hol-product-card__price,
.hol-product-card__price .price,
.hol-product-card__price .woocommerce-Price-amount,
.hol-product-card__price .amount {
	margin: 0;
	font-size: 1rem !important;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--text);
}

.hol-product-card__price del,
.hol-product-card__price del .woocommerce-Price-amount {
	color: var(--wp--preset--color--text-secondary) !important;
	font-weight: 500 !important;
	font-size: 0.875rem !important;
	margin-right: 0.35rem;
}

.hol-product-card__price ins,
.hol-product-card__price ins .woocommerce-Price-amount {
	text-decoration: none;
	color: var(--wp--preset--color--sale) !important;
	font-size: 1rem !important;
}

.hol-product-card__actions {
	position: static;
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--20);
	width: 100%;
}

.hol-product-card__actions form {
	display: block;
	width: 100%;
	margin: 0;
}

.hol-product-card__actions .button,
.hol-product-card__actions a.button,
.hol-product-card__actions .added_to_cart,
.woocommerce .hol-product-card__actions a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 2.75rem;
	height: 2.75rem;
	padding: 0 1rem;
	line-height: 1;
	border-radius: var(--wp--custom--radius--md);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body-small);
	text-decoration: none;
	border: none;
	text-align: center;
}

.hol-product-card__actions .button {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
}

.hol-product-card__actions .button:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--secondary);
}

.hol-product-card__actions .added_to_cart {
	margin-top: var(--wp--preset--spacing--10);
	background: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--primary);
}

.hol-product-badge {
	position: absolute;
	top: var(--wp--preset--spacing--20);
	left: var(--wp--preset--spacing--20);
	z-index: 2;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	background: var(--wp--preset--color--primary);
}

.hol-product-badge--sale {
	background: var(--wp--preset--color--sale);
}

.hol-product-badge--new {
	background: var(--wp--preset--color--accent);
}

.hol-product-badge--bestseller {
	background: var(--wp--preset--color--primary);
}

.hol-page,
.hol-single-post,
.hol-shop,
.hol-single-product {
	padding-block: var(--wp--preset--spacing--70);
}

/* Price formatting plan.md */
.hol-price,
.woocommerce-Price-amount {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	line-height: 1.2;
}

.hol-price--sale,
.woocommerce del + ins .woocommerce-Price-amount {
	color: var(--wp--preset--color--sale);
}

/* Label style plan.md */
.hol-label {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text-secondary);
}

.hol-home-promo .hol-label,
.hol-home-promo__label {
	color: #fff;
	margin: 0;
}

/*
 * Visually-hidden text for screen readers. Block themes don't ship this by
 * default the way classic (_s-derived) themes do, and several Phase 7
 * components rely on it (icon-only buttons, decorative logos, etc.).
 */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* section */

/* ---- Icon buttons (search / account / language / cart / hamburger) ---- */

.hol-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--10);
	width: var(--wp--preset--spacing--70);
	height: var(--wp--preset--spacing--70);
	padding: 0;
	border: none;
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	color: var(--wp--preset--color--text);
	cursor: pointer;
	position: relative;
	text-decoration: none;
	transition: background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-icon-btn:hover {
	background: var(--wp--preset--color--surface-sunken);
	color: var(--wp--preset--color--accent);
}

/* ---- Header ---- */

.hol-header {
	position: relative;
	width: 100%;
	background: color-mix(in srgb, var(--wp--preset--color--surface) 88%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--border) 80%, transparent);
}

/*
 * Blur lives on a decorative layer, not the header itself. backdrop-filter
 * on an ancestor makes position:fixed descendants (cart / mobile-nav
 * drawers) size to the header bar instead of the viewport.
 */
.hol-header::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.hol-header > * {
	position: relative;
	z-index: 1;
}

/*
 * Sticky must live on the template-part <header>, not .hol-header.
 * .hol-header's parent is only as tall as the bar, so sticky inside it
 * has no room to stick and scrolls away with the part.
 */
.hol-sticky-header header.wp-block-template-part:has(.hol-header) {
	position: sticky;
	top: 0;
	z-index: var(--wp--custom--z-index--sticky);
	background: color-mix(in srgb, var(--wp--preset--color--surface) 92%, transparent);
}

.hol-header__row {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	width: min(100%, 1440px) !important;
	max-width: 1440px;
	margin-inline: auto;
	box-sizing: border-box;
	padding-block: var(--wp--preset--spacing--30);
	padding-inline: var(--wp--preset--spacing--40);
	gap: var(--wp--preset--spacing--30);
	overflow: visible;
}

@media (min-width: 768px) {
	.hol-header__row {
		padding-inline: var(--wp--preset--spacing--50);
	}
}

@media (min-width: 1024px) {
	.hol-header__row {
		padding-block: var(--wp--preset--spacing--40);
		padding-inline: var(--wp--preset--spacing--60);
	}
}

.hol-header__actions-row {
	display: flex !important;
	align-items: center;
	justify-content: flex-end !important;
	gap: var(--wp--preset--spacing--10);
	grid-column: 3;
	justify-self: end;
	width: max-content;
	max-width: 100%;
	min-width: 0;
}

/* Logo */

.hol-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	flex-shrink: 0;
}

.hol-logo__image {
	display: block;
	max-height: var(--wp--preset--spacing--70);
	width: auto;
}

.hol-logo__text {
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--text);
}

/* Desktop primary nav: only shown at the 1024px structural breakpoint.
 * !important beats WP's `.is-layout-flex { display: flex }` on the group. */

.hol-header__nav-desktop {
	display: none !important;
}

@media (min-width: 1024px) {
	.hol-header__nav-desktop {
		display: flex !important;
		align-items: center;
		justify-content: center;
		justify-self: center;
		grid-column: 2;
		min-width: 0;
		width: 100%;
	}

	.hol-header-nav {
		min-width: 0;
	}

	.hol-header-nav__list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		gap: var(--wp--preset--spacing--40);
	}

	.hol-header-nav__list a {
		color: var(--wp--preset--color--text);
		font-weight: 600;
		font-size: var(--wp--preset--font-size--body-small);
		text-decoration: none;
		white-space: nowrap;
	}

	.hol-header-nav__list a:hover,
	.hol-header-nav__list .current-menu-item > a {
		color: var(--wp--preset--color--accent);
	}

	.hol-header__nav-desktop .wp-block-navigation__container {
		gap: var(--wp--preset--spacing--50);
	}

	.hol-header__nav-desktop a {
		color: var(--wp--preset--color--text);
		font-weight: 600;
		text-decoration: none;
	}

	.hol-header__nav-desktop a:hover {
		color: var(--wp--preset--color--accent);
	}
}

/* Header actions cluster */

.hol-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--10);
	min-width: 0;
	width: max-content;
	max-width: 100%;
}

/* Drawer / overlay must never participate in the icon flex row. */
.hol-header-actions > .hol-drawer,
.hol-header-actions > .hol-drawer-overlay {
	position: fixed;
}

.hol-header-cta {
	white-space: nowrap;
}

/* Duplicated in the mobile drawer */
@media (max-width: 1023px) {
	.hol-header-actions__account,
	.hol-lang-switcher--header,
	.hol-header-cta {
		display: none;
	}
}

@media (max-width: 1023px) {
	.hol-mobile-nav {
		display: block;
	}

	.hol-mobile-nav__trigger {
		display: inline-flex !important;
		position: relative;
		z-index: 2;
	}
}

@media (min-width: 1024px) {
	/* Hide the whole control — leaving an empty flex item still consumes gap
	   after the cart and looks like icons aren't flush right. */
	.hol-mobile-nav {
		display: none !important;
	}
}

/* Inline header live search (plan.md §40) */

.hol-search {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 22rem;
	z-index: 50;
}

.hol-search__form {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	min-height: 2.75rem;
	padding: 0 0.85rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	transition:
		border-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		box-shadow var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-search.is-open .hol-search__form,
.hol-search__form:focus-within {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
}

.hol-search__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--text-secondary);
	flex: 0 0 auto;
	opacity: 0.8;
	pointer-events: none;
}

.hol-search__icon svg {
	width: 1.05rem;
	height: 1.05rem;
}

/* Beat global input[type=search] chrome (border/padding/radius) so the
   pill form is the only visible shell — no nested box. */
.hol-search input.hol-search__input[type='search'] {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
	-webkit-appearance: none;
	appearance: none;
}

.hol-search input.hol-search__input[type='search']::placeholder {
	color: var(--wp--preset--color--text-secondary);
	font-weight: 500;
	opacity: 1;
}

.hol-search input.hol-search__input[type='search']:focus,
.hol-search input.hol-search__input[type='search']:focus-visible {
	outline: none;
	border: 0;
	box-shadow: none;
	background: transparent;
}

.hol-search input.hol-search__input[type='search']::-webkit-search-decoration,
.hol-search input.hol-search__input[type='search']::-webkit-search-cancel-button,
.hol-search input.hol-search__input[type='search']::-webkit-search-results-button,
.hol-search input.hol-search__input[type='search']::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.hol-search__results {
	position: absolute;
	top: calc(100% + 0.4rem);
	inset-inline: 0;
	z-index: 60;
	min-width: min(22rem, 100vw - 2rem);
	max-height: min(70vh, 28rem);
	overflow-y: auto;
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--lg);
}

.hol-search__results[hidden] {
	display: none;
}

.hol-search__hint {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-search__heading {
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--20);
}

.hol-search__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10);
	margin-bottom: var(--wp--preset--spacing--30);
}

.hol-search__chip {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding: 0 0.75rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface-sunken);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	text-decoration: none;
}

.hol-search__chip:hover,
.hol-search__chip:focus-visible {
	background: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--text);
}

.hol-search__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.hol-search__product {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding: 0.55rem 0.35rem;
	border-radius: var(--wp--custom--radius--md);
	text-decoration: none;
	color: inherit;
}

.hol-search__product:hover,
.hol-search__product:focus-visible {
	background: var(--wp--preset--color--surface-sunken);
	color: inherit;
}

.hol-search__thumb {
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--wp--custom--radius--sm);
	overflow: hidden;
	background: var(--wp--preset--color--surface-sunken);
}

.hol-search__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hol-search__meta {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.hol-search__name {
	font-weight: 700;
	line-height: 1.25;
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-search__price {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
}

.hol-search__all {
	display: inline-flex;
	margin-top: var(--wp--preset--spacing--20);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body-small);
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.hol-search__all:hover {
	color: var(--wp--preset--color--primary);
}

@media (prefers-reduced-motion: reduce) {
	.hol-search__form,
	.hol-search__results {
		transition: none;
	}
}

@media (min-width: 768px) {
	.hol-search {
		min-width: 14rem;
		width: clamp(14rem, 22vw, 22rem);
		flex: 0 1 auto;
	}

	.hol-search input.hol-search__input[type='search'] {
		font-size: var(--wp--preset--font-size--body);
	}
}

@media (max-width: 767px) {
	.hol-search {
		max-width: none;
		flex: 1 1 auto;
		min-width: 6.5rem;
		width: auto;
	}

	.hol-search__form {
		min-height: 2.5rem;
		padding: 0 0.7rem;
	}

	.hol-search input.hol-search__input[type='search'] {
		height: 2.25rem;
	}

	.hol-search__results {
		inset-inline: auto 0;
		left: auto;
		right: 0;
		min-width: min(20rem, calc(100vw - 1.5rem));
		width: max(100%, min(20rem, calc(100vw - 1.5rem)));
	}
}

/* Language switcher (header dropdown variant) */

.hol-lang-switcher--header {
	position: relative;
}

.hol-lang-switcher__trigger {
	width: auto;
	padding-inline: var(--wp--preset--spacing--20);
}

.hol-lang-switcher__code {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.hol-lang-switcher__panel {
	position: absolute;
	top: calc(100% + var(--wp--preset--spacing--20));
	right: 0;
	min-width: 160px;
	padding: var(--wp--preset--spacing--20);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--md);
	z-index: var(--wp--custom--z-index--overlay);
}

.hol-lang-switcher__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
}

.hol-lang-switcher__option {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-lang-switcher__option.is-current {
	background: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--text);
	font-weight: 600;
}

/* Drawer variant sits inline in the drawer body, no popover chrome needed */
.hol-lang-switcher--drawer {
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--border);
}

.hol-lang-switcher--drawer .hol-lang-switcher__list {
	margin-top: var(--wp--preset--spacing--20);
}

/* Cart icon */

.hol-cart-toggle {
	position: relative;
}

.hol-cart-count {
	position: absolute;
	top: var(--wp--preset--spacing--10);
	right: var(--wp--preset--spacing--10);
	min-width: var(--wp--preset--spacing--40);
	height: var(--wp--preset--spacing--40);
	padding-inline: var(--wp--preset--spacing--10);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--caption);
	line-height: var(--wp--preset--spacing--40);
	font-weight: 700;
	text-align: center;
}

/* ---- Announcement bar ---- */

.hol-announcement-bar {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
}

.hol-announcement-bar__inner {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding-block: var(--wp--preset--spacing--20);
	padding-inline: var(--wp--preset--spacing--40);
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
}

@media (min-width: 768px) {
	.hol-announcement-bar__inner {
		padding-inline: var(--wp--preset--spacing--50);
	}
}

.hol-announcement-bar__link,
.hol-announcement-bar__text {
	flex: 1;
	text-align: center;
	font-size: var(--wp--preset--font-size--body-small);
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
}

.hol-announcement-bar__link:hover {
	text-decoration: underline;
}

.hol-announcement-bar__dismiss {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--wp--preset--spacing--60);
	height: var(--wp--preset--spacing--60);
	padding: 0;
	border: none;
	border-radius: var(--wp--custom--radius--pill);
	background: transparent;
	color: var(--wp--preset--color--secondary);
	cursor: pointer;
}

.hol-announcement-bar__dismiss:hover {
	background: rgba(250, 246, 240, 0.15); /* secondary Paper tint over the primary Ink bar */
}

/* ---- Mobile navigation drawer ---- */

.hol-drawer-overlay {
	position: fixed;
	inset: 0;
	background: rgba(28, 26, 23, 0.5); /* Ink scrim — no dedicated token yet */
	z-index: var(--wp--custom--z-index--overlay);
	opacity: 0;
	transition: opacity var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--standard);
}

.hol-drawer-overlay.is-open {
	opacity: 1;
}

.hol-drawer-overlay[hidden] {
	display: none;
}

.hol-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(85vw, 360px);
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--lg);
	z-index: var(--wp--custom--z-index--drawer);
	transform: translateX(100%);
	transition: transform var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter);
	overflow-y: auto;
}

.hol-drawer.is-open {
	display: flex !important;
	transform: translateX(0);
}

.hol-drawer[hidden] {
	display: none;
}

.hol-drawer.is-open[hidden] {
	display: flex !important;
}

.hol-drawer-overlay.is-open[hidden] {
	display: block !important;
	opacity: 1;
}

body.hol-drawer-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.hol-drawer,
	.hol-drawer-overlay {
		transition: none;
	}
}

.hol-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.hol-drawer__body {
	padding: var(--wp--preset--spacing--40);
}

.hol-drawer__section-heading {
	margin: 0;
}

.hol-drawer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.hol-drawer-menu li {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.hol-drawer-menu a,
.hol-drawer-menu__account {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30) 0;
	font-size: var(--wp--preset--font-size--body-large);
	font-weight: 600;
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.hol-drawer-menu a:hover,
.hol-drawer-menu__account:hover {
	color: var(--wp--preset--color--accent);
}

.hol-drawer-menu__account {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* ---- Footer ---- */

.hol-footer {
	margin-top: 0;
	background: var(--wp--preset--color--primary);
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 78%, transparent);
	padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
	padding-inline: var(--wp--preset--spacing--40);
}

@media (min-width: 768px) {
	.hol-footer {
		padding-inline: var(--wp--preset--spacing--50);
	}
}

@media (min-width: 1024px) {
	.hol-footer {
		padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
		padding-inline: var(--wp--preset--spacing--60);
	}
}

.hol-footer a {
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
}

.hol-footer a:hover {
	color: var(--wp--preset--color--accent-tint);
}

.hol-footer a:focus-visible,
.hol-footer button:focus-visible,
.hol-footer input:focus-visible {
	outline-color: var(--wp--preset--color--accent-tint);
}

.hol-footer .hol-label,
.hol-footer__heading,
.hol-footer-nav__heading,
.hol-footer-contact__heading {
	color: var(--wp--preset--color--accent-tint);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.hol-footer .hol-logo__text {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--h2);
}

.hol-footer__inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--70);
}

.hol-footer__columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--60);
	width: 100%;
}

@media (min-width: 768px) {
	.hol-footer__columns {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr);
		align-items: start;
	}

	.hol-footer__col--contact {
		grid-column: 1;
	}

	.hol-footer__col--menu {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
}

@media (min-width: 1024px) {
	.hol-footer__columns {
		grid-template-columns: minmax(14rem, 1.35fr) minmax(0, 2.4fr) minmax(12rem, 1.1fr);
		gap: var(--wp--preset--spacing--60);
	}

	.hol-footer__col--contact {
		grid-column: auto;
	}

	.hol-footer__col--menu {
		grid-column: auto;
		grid-row: auto;
	}
}

.hol-footer__col:not(:has(*)) {
	display: none;
}

.hol-footer__col > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

/* Footer branding */

.hol-footer-branding__description {
	max-width: 22em;
	margin: var(--wp--preset--spacing--30) 0 0;
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 72%, transparent);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1.55;
}

/* Footer nav */

.hol-footer-nav-groups {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--50);
}

@media (min-width: 560px) {
	.hol-footer-nav-groups {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--40);
	}
}

.hol-footer-nav {
	display: block;
}

.hol-footer-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.hol-footer-nav__list a {
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 82%, transparent);
	font-size: var(--wp--preset--font-size--body-small);
	text-decoration: none;
	transition: color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-footer-nav__list a:hover {
	color: var(--wp--preset--color--accent-tint);
}

/* Footer contact */

.hol-footer-contact__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.hol-footer-contact__list li {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--body-small);
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 72%, transparent);
}

.hol-footer-contact__list a {
	display: inline-flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--10);
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 82%, transparent);
	text-decoration: none;
	transition: color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-footer-contact__list a:hover {
	color: var(--wp--preset--color--accent-tint);
}

.hol-footer-contact__list svg {
	flex-shrink: 0;
	margin-top: 0.15em;
	opacity: 0.72;
}

/* Newsletter */

.hol-footer .hol-newsletter {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--70);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 14%, transparent);
}

@media (min-width: 768px) {
	.hol-footer .hol-newsletter {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--60);
	}
}

.hol-newsletter__intro {
	max-width: 28rem;
}

.hol-newsletter__heading {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--secondary);
}

.hol-newsletter__copy {
	margin: 0;
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 72%, transparent);
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-newsletter__form {
	display: flex;
	gap: var(--wp--preset--spacing--10);
	width: 100%;
	max-width: 28rem;
	flex-shrink: 0;
}

.hol-newsletter__input {
	flex: 1;
	min-width: 0;
	background: color-mix(in srgb, var(--wp--preset--color--secondary) 8%, transparent);
	border-color: color-mix(in srgb, var(--wp--preset--color--secondary) 22%, transparent);
	color: var(--wp--preset--color--secondary);
}

.hol-newsletter__input::placeholder {
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 48%, transparent);
}

.hol-newsletter__submit {
	flex-shrink: 0;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--secondary);
	border: none;
	cursor: pointer;
	white-space: nowrap;
}

.hol-newsletter__submit:hover {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 86%, var(--wp--preset--color--secondary));
	color: var(--wp--preset--color--secondary);
}

/* Footer social */

.hol-footer-social {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10);
}

.hol-footer .hol-footer-social__link {
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 20%, transparent);
	background: transparent;
	color: var(--wp--preset--color--secondary);
}

.hol-footer .hol-footer-social__link:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--secondary);
}

/* Footer bottom bar: copyright + payment logos */

.hol-footer__bottom {
	margin-top: 0;
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 14%, transparent);
	gap: var(--wp--preset--spacing--30);
	width: 100%;
	align-items: center;
}

.hol-copyright {
	margin: 0;
	font-size: var(--wp--preset--font-size--caption);
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 56%, transparent);
}

.hol-payment-logos {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	flex-wrap: wrap;
}

.hol-footer .hol-payment-logos__image {
	max-height: 1.75rem;
	width: auto;
	display: block;
	background: var(--wp--preset--color--secondary);
	border-radius: var(--wp--custom--radius--sm);
	padding: 0.25rem 0.4rem;
}

.hol-payment-logos__image {
	max-height: var(--wp--preset--spacing--50);
	width: auto;
	display: block;
}

/* section */

/* ---- Shop header (title + description) ---- */

.hol-shop {
	padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--90);
	padding-inline: var(--wp--preset--spacing--40);
}

@media (min-width: 768px) {
	.hol-shop {
		padding-inline: var(--wp--preset--spacing--50);
	}
}

@media (min-width: 1024px) {
	.hol-shop {
		padding-inline: var(--wp--preset--spacing--60);
	}
}

.hol-shop-header {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-bottom: 0;
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius--lg);
	background:
		radial-gradient(ellipse 70% 80% at 100% 0%, color-mix(in srgb, var(--wp--preset--color--accent) 18%, transparent), transparent 55%),
		radial-gradient(ellipse 50% 60% at 0% 100%, color-mix(in srgb, var(--wp--preset--color--sale) 10%, transparent), transparent 50%),
		linear-gradient(155deg, #2a211a 0%, #4a3426 48%, #8a4a1c 120%);
	color: var(--wp--preset--color--secondary);
	box-shadow: var(--wp--preset--shadow--md);
}

.hol-shop-header::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.2;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
	mix-blend-mode: soft-light;
}

.hol-shop-header__intro {
	position: relative;
	z-index: 1;
}

.hol-shop-header__eyebrow {
	margin: 0 0 var(--wp--preset--spacing--20);
	color: color-mix(in srgb, #fff 78%, transparent);
}

.hol-shop-header__title {
	margin: 0;
	font-size: clamp(2rem, 4.5vw, 3rem);
	letter-spacing: -0.035em;
	line-height: 1.05;
	color: #fff;
}

.hol-shop-header__description {
	max-width: 42rem;
	margin-top: var(--wp--preset--spacing--30);
	color: color-mix(in srgb, #fff 78%, transparent);
	font-size: var(--wp--preset--font-size--body-large);
	line-height: 1.5;
}

.hol-shop-header__description p {
	margin: 0;
	color: inherit;
}

/* Sticky category bar — sibling of products under main.hol-shop so it stays
   visible for the full catalog scroll (not clipped to the short hero). */
.hol-sticky-header {
	--hol-header-sticky-offset: 5.0625rem;
}

.hol-shop-cats {
	position: sticky;
	top: var(--hol-header-sticky-offset, 5.0625rem);
	z-index: calc(var(--wp--custom--z-index--sticky) - 1);
	margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30) 0;
	background: color-mix(in srgb, var(--wp--preset--color--background) 92%, transparent);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--border) 55%, transparent);
	box-shadow: 0 10px 24px color-mix(in srgb, var(--wp--preset--color--primary) 4%, transparent);
}

.hol-shop-header__quick {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-bottom: 2px;
}

.hol-shop-header__quick::-webkit-scrollbar {
	display: none;
}

@media (min-width: 768px) {
	.hol-shop-header__quick {
		flex-wrap: wrap;
		overflow: visible;
	}
}

.hol-shop-header__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex: 0 0 auto;
	min-height: 2.55rem;
	padding: 0.4rem 0.95rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--body-small);
	text-decoration: none !important;
	white-space: nowrap;
	transition:
		background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		border-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-shop-header__chip-icon {
	display: inline-flex;
	flex-shrink: 0;
	opacity: 0.85;
}

.hol-shop-header__chip:hover {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 10%, var(--wp--preset--color--surface));
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 35%, var(--wp--preset--color--border-strong));
	color: var(--wp--preset--color--text);
	transform: translateY(-1px);
}

.hol-shop-header__chip.is-active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
}

.hol-shop-header__chip.is-active .hol-shop-header__chip-icon {
	opacity: 1;
}

.hol-shop-header__chip--accent {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 14%, var(--wp--preset--color--surface));
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 40%, var(--wp--preset--color--border));
}

.hol-shop-header__chip--accent:hover {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 22%, var(--wp--preset--color--surface));
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--text);
}

.hol-shop-header__chip--accent.is-active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: #fff;
}

/* ---- Active filter chips ---- */

.hol-active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--40);
}

.hol-active-filters__label {
	color: var(--wp--preset--color--text-secondary);
}

.hol-active-filters__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10);
}

.hol-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body-small);
	text-decoration: none;
}

.hol-filter-chip:hover {
	background: var(--wp--preset--color--surface-sunken);
}

.hol-filter-chip .hol-icon {
	flex-shrink: 0;
}

.hol-active-filters__clear {
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

/* ---- Sidebar / grid layout ---- */

.hol-shop-layout {
	display: block;
}

@media (min-width: 1024px) {
	.hol-shop-layout:not(.hol-shop-layout--no-filters) {
		display: grid;
		grid-template-columns: 260px 1fr;
		gap: var(--wp--preset--spacing--70);
		align-items: start;
	}
}

.hol-shop-layout--no-filters {
	display: block;
	width: 100%;
}

/* ---- Shop filters (sidebar at desktop, drawer below it) ---- */

.hol-shop-filters__trigger {
	position: relative;
	width: auto;
	height: auto;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--md);
	border: 1px solid var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--surface);
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	font-weight: 600;
	margin-bottom: var(--wp--preset--spacing--40);
}

.hol-shop-filters__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--preset--spacing--40);
	height: var(--wp--preset--spacing--40);
	padding-inline: var(--wp--preset--spacing--10);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
}

.hol-shop-filters__heading {
	display: none;
}

.hol-filter-group {
	margin: 0 0 var(--wp--preset--spacing--50);
	padding: 0;
	border: none;
}

.hol-filter-group legend {
	margin-bottom: var(--wp--preset--spacing--20);
}

.hol-filter-option {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding-block: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--body-small);
	cursor: pointer;
}

.hol-filter-price-row {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

.hol-filter-price-row input[type='number'] {
	width: 100%;
	min-width: 0;
}

.hol-shop-filters__actions {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.hol-shop-filters__apply {
	width: 100%;
	text-align: center;
}

.hol-shop-filters__clear {
	text-align: center;
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

@media (min-width: 1024px) {
	.hol-shop-filters__trigger,
	.hol-shop-filters .hol-drawer-overlay {
		display: none;
	}

	.hol-shop-filters__heading {
		display: block;
		margin: 0 0 var(--wp--preset--spacing--40);
	}

	.hol-shop-filters__panel.hol-drawer[hidden] {
		display: block;
	}

	.hol-shop-filters__panel.hol-drawer {
		position: static;
		inset: auto;
		width: auto;
		height: auto;
		box-shadow: none;
		background: transparent;
		z-index: auto;
		transform: none;
		overflow: visible;
	}

	.hol-shop-filters__panel .hol-drawer__header {
		display: none;
	}

	.hol-shop-filters__panel .hol-drawer__body {
		padding: 0;
	}
}

/* ---- Toolbar: result count + WooCommerce's own sorting form ---- */

.hol-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--40);
}

.woocommerce-result-count {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}

.woocommerce-ordering select.orderby {
	min-width: 200px;
}

/* ---- Product grid ---- */

.hol-product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--60);
	padding: 0;
}

@media (min-width: 768px) {
	.hol-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.hol-product-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	}
}

.hol-product-grid > li,
.woocommerce ul.hol-product-grid > li,
.woocommerce ul.hol-product-grid li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	min-width: 0;
	clear: none !important;
}

.hol-product-grid-wrap {
	min-width: 0;
	width: 100%;
}

/* Product grid skeletons (AJAX category browse) */
.hol-product-skeleton {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
}

.hol-product-skeleton__media {
	aspect-ratio: 1 / 1;
	border-radius: var(--wp--custom--radius--lg);
	background: linear-gradient(
		110deg,
		#efe6d8 0%,
		#f7f1e7 40%,
		#efe6d8 80%
	);
	background-size: 200% 100%;
	animation: hol-skeleton-shimmer 1.1s ease-in-out infinite;
}

.hol-product-skeleton__body {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30) 2px 0;
}

.hol-product-skeleton__line {
	display: block;
	height: 0.75rem;
	border-radius: 999px;
	background: linear-gradient(
		110deg,
		#ebe2d4 0%,
		#f5efe6 45%,
		#ebe2d4 90%
	);
	background-size: 200% 100%;
	animation: hol-skeleton-shimmer 1.1s ease-in-out infinite;
}

.hol-product-skeleton__line--title {
	width: 78%;
	height: 0.95rem;
}

.hol-product-skeleton__line--meta {
	width: 55%;
}

.hol-product-skeleton__line--price {
	width: 36%;
	margin-top: 0.15rem;
}

.hol-product-skeleton__line--action {
	width: 48%;
	height: 2.25rem;
	border-radius: var(--wp--custom--radius--md, 8px);
	margin-top: 0.35rem;
}

.hol-product-skeleton__line:nth-child(2) {
	animation-delay: 60ms;
}

.hol-product-skeleton__line:nth-child(3) {
	animation-delay: 120ms;
}

.hol-product-skeleton__line:nth-child(4) {
	animation-delay: 180ms;
}

@keyframes hol-skeleton-shimmer {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
	.hol-product-skeleton__media,
	.hol-product-skeleton__line,
	.hol-partnership-skeleton {
		animation: none;
	}
}

/* ---- Product card plan.md */

.hol-product-card__rating .star-rating {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--caption);
}

/* ---- Pagination ---- */

.woocommerce-pagination {
	margin-top: var(--wp--preset--spacing--50);
}

.woocommerce-pagination .page-numbers {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	margin: 0;
	padding: 0;
}

.woocommerce-pagination .page-numbers li {
	display: inline-flex;
}

.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--preset--spacing--70);
	height: var(--wp--preset--spacing--70);
	padding-inline: var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--body-small);
}

.woocommerce-pagination a.page-numbers:hover,
.woocommerce-pagination span.page-numbers.current {
	background: var(--wp--preset--color--accent-tint);
	font-weight: 700;
}

/* ---- Empty state ---- */

.hol-shop-empty {
	padding: var(--wp--preset--spacing--90) var(--wp--preset--spacing--40);
	text-align: center;
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--lg);
}

.hol-shop-empty__title {
	font-size: var(--wp--preset--font-size--h4);
	font-weight: 700;
	margin: 0 0 var(--wp--preset--spacing--10);
}

.hol-shop-empty__text {
	color: var(--wp--preset--color--text-secondary);
	margin: 0 0 var(--wp--preset--spacing--40);
}

/* ---- WooCommerce buttons plan.md */

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--10);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border: none;
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	cursor: pointer;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--secondary);
}

.button:disabled,
.woocommerce button.button:disabled,
.button.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ---- Single product breadcrumb plan.md */

.hol-breadcrumb {
	margin-bottom: var(--wp--preset--spacing--40);
}

.hol-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--body-small);
	color: var(--wp--preset--color--text-secondary);
}

.hol-breadcrumb__item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
}

.hol-breadcrumb__link {
	color: var(--wp--preset--color--text-secondary);
	text-decoration: none;
}

.hol-breadcrumb__link:hover {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
}

.hol-breadcrumb__current {
	color: var(--wp--preset--color--text);
	font-weight: 600;
}

.hol-breadcrumb__sep {
	color: var(--wp--preset--color--border-strong);
	flex-shrink: 0;
}

/* ---- Single product: primary area layout ---- */

.hol-product-primary {
	margin-bottom: var(--wp--preset--spacing--90);
}

@media (min-width: 1024px) {
	.hol-product-primary {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--wp--preset--spacing--80);
		align-items: start;
	}
}

.hol-product-primary__info {
	margin-top: var(--wp--preset--spacing--50);
}

@media (min-width: 1024px) {
	.hol-product-primary__info {
		margin-top: 0;
		position: sticky;
		top: var(--wp--preset--spacing--50);
	}
}

/* ---- Single product gallery ---- WooCommerce s product-image */

.hol-product-gallery {
	position: relative;
	min-width: 0;
}

.hol-product-gallery .onsale {
	position: absolute;
	top: var(--wp--preset--spacing--30);
	left: var(--wp--preset--spacing--30);
	z-index: 2;
	padding: 0.35rem 0.7rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--sale);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
	line-height: 1;
}

.woocommerce-product-gallery {
	opacity: 1 !important;
	position: relative;
	width: 100%;
	background:
		radial-gradient(circle at 80% 10%, rgba(243, 217, 188, 0.45), transparent 40%),
		linear-gradient(165deg, #f7f1e7, #ebe0ce);
	border-radius: var(--wp--custom--radius--lg);
	padding: var(--wp--preset--spacing--20);
}

.woocommerce-product-gallery__wrapper {
	margin: 0;
	padding: 0;
}

.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image a {
	display: block;
	width: 100%;
}

.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image .wp-post-image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--md);
}

/*
 * Extra WooCommerce slides stay hidden from first paint. Thumbs are
 * rendered in PHP so the page never flashes a stacked image list.
 */
.hol-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n + 2) {
	display: none !important;
}

.hol-product-gallery.is-ready .woocommerce-product-gallery__image a {
	cursor: pointer;
}

.hol-product-gallery__stage {
	position: relative;
	overflow: hidden;
}

.hol-product-gallery__stage .woocommerce-product-gallery__image img {
	transition: opacity var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--exit),
		transform var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--exit);
}

.hol-product-gallery__stage.is-out.is-next .woocommerce-product-gallery__image img {
	opacity: 0;
	transform: translateX( -0.85rem );
}

.hol-product-gallery__stage.is-out.is-prev .woocommerce-product-gallery__image img {
	opacity: 0;
	transform: translateX( 0.85rem );
}

.hol-product-gallery__stage.is-swap .woocommerce-product-gallery__image img {
	transition: none;
}

.hol-product-gallery__stage.is-swap.is-next .woocommerce-product-gallery__image img {
	opacity: 0;
	transform: translateX( 0.85rem );
}

.hol-product-gallery__stage.is-swap.is-prev .woocommerce-product-gallery__image img {
	opacity: 0;
	transform: translateX( -0.85rem );
}

.hol-product-gallery__stage.is-in .woocommerce-product-gallery__image img {
	opacity: 1;
	transform: none;
	transition: opacity var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter),
		transform var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter);
}

.hol-product-gallery__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	transform: translateY( -50% );
	width: 2.75rem;
	height: 2.75rem;
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--md);
	font-size: var(--wp--preset--font-size--h3);
	line-height: 1;
}

.hol-product-gallery__arrow--prev {
	left: var(--wp--preset--spacing--20);
}

.hol-product-gallery__arrow--next {
	right: var(--wp--preset--spacing--20);
}

.hol-product-gallery__thumbs {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--20);
	margin: var(--wp--preset--spacing--20) 0 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.hol-product-gallery__thumbs li {
	flex: 0 0 4.5rem;
	width: 4.5rem;
	margin: 0;
}

.hol-product-gallery__thumb {
	display: block;
	width: 100%;
	padding: 0;
	border: 2px solid transparent;
	border-radius: var(--wp--custom--radius--sm);
	background: transparent;
	cursor: pointer;
	opacity: 0.55;
	transition: opacity var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		border-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-product-gallery__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--sm);
}

.hol-product-gallery__thumb[aria-current='true'],
.hol-product-gallery__thumb:hover {
	opacity: 1;
	border-color: var(--wp--preset--color--primary);
}

/* ---- Single product: summary ---- */

.hol-product-summary__title {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--h2);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
	color: var(--wp--preset--color--text);
}

.hol-product-summary__price {
	margin-bottom: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--price);
	font-weight: 700;
}

.hol-product-spec-line {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--50);
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--md);
}

.hol-product-spec-line__item {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
}

.hol-product-spec-line__value {
	font-weight: 600;
}

.hol-product-summary__add-to-cart {
	margin-bottom: var(--wp--preset--spacing--50);
}

.hol-product-summary__description,
.hol-product-summary__excerpt {
	margin: 0;
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.55;
}

.hol-product-summary__description p,
.hol-product-summary__excerpt p {
	margin: 0 0 var(--wp--preset--spacing--30);
}

.hol-product-summary__description p:last-child,
.hol-product-summary__excerpt p:last-child {
	margin-bottom: 0;
}

.hol-product-summary__add-to-cart form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

.hol-product-summary__add-to-cart form.cart .quantity,
.hol-product-summary__add-to-cart form.cart .single_add_to_cart_button {
	float: none;
	margin: 0;
	align-self: center;
}

.hol-product-summary__add-to-cart .quantity {
	display: inline-flex;
	align-items: stretch;
	height: 3.25rem;
	min-height: 3.25rem;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface);
	overflow: hidden;
}

.hol-product-summary__add-to-cart .quantity .qty {
	box-sizing: border-box;
	width: 2.75rem;
	min-width: 2.75rem;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-inline: 1px solid var(--wp--preset--color--border);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.hol-product-summary__add-to-cart .quantity .qty::-webkit-outer-spin-button,
.hol-product-summary__add-to-cart .quantity .qty::-webkit-inner-spin-button {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
}

.hol-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--text);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-qty__btn:hover {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 6%, transparent);
}

.hol-qty__btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: -2px;
}

.hol-product-summary__add-to-cart .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 3.25rem;
	min-height: 3.25rem;
	padding: 0 1.75rem;
	line-height: 1;
	font-size: var(--wp--preset--font-size--body-large);
	font-weight: 700;
}

/* ---- Single product: trust blurbs ---- */

.hol-product-trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.hol-product-trust__item {
	padding: var(--wp--preset--spacing--30) 0;
	border-top: 1px solid var(--wp--preset--color--border);
}

.hol-product-trust__title {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-weight: 600;
}

.hol-product-trust__description {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}

/* ---- Single product: below-the-fold sections ---- */

.hol-product-details {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--90);
	margin-bottom: var(--wp--preset--spacing--90);
}

.hol-product-details__section h2 {
	margin: 0 0 var(--wp--preset--spacing--40);
}

.hol-product-details__content {
	color: var(--wp--preset--color--text);
}

.hol-product-skills {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.hol-product-skills__item a {
	display: inline-flex;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--accent-tint);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body-small);
	text-decoration: none;
}

.hol-product-skills__item a:hover {
	background: var(--wp--preset--color--surface-sunken);
}

.hol-video-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
	background: var(--wp--preset--color--surface-sunken);
}

.hol-video-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.hol-product-specs {
	width: 100%;
	border-collapse: collapse;
}

.hol-product-specs th,
.hol-product-specs td {
	text-align: left;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-product-specs th {
	width: 40%;
	color: var(--wp--preset--color--text-secondary);
	font-weight: 600;
}

/* ---- Single product related games ---- Reuses .hol-product-g */

.hol-product-related__grid {
	margin-bottom: 0;
}

/* ---- Single product sticky mobile Add to Cart bar plan.md */

.hol-sticky-cart {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--wp--custom--z-index--sticky);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border-top: 1px solid var(--wp--preset--color--border);
	box-shadow: var(--wp--preset--shadow--lg);
	transform: translateY(100%);
	opacity: 0;
	transition: transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
		opacity var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-sticky-cart.is-visible {
	transform: translateY(0);
	opacity: 1;
}

.hol-sticky-cart[hidden] {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.hol-sticky-cart {
		transition: none;
	}
}

@media (min-width: 1024px) {
	.hol-sticky-cart {
		display: none !important;
	}
}

.hol-sticky-cart__price {
	flex: 1 1 auto;
	min-width: 0;
}

.hol-sticky-cart__button {
	flex: 0 0 auto;
}

/* section */

.hol-cart-drawer.hol-drawer {
	top: 0;
	right: 0;
	bottom: 0;
	width: min(100%, 24rem);
	height: auto;
	max-height: none;
	overflow: hidden;
	z-index: 80;
	background: var(--wp--preset--color--surface);
	box-shadow: -16px 0 48px color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent);
	box-sizing: border-box;
}

.admin-bar .hol-cart-drawer.hol-drawer {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .hol-cart-drawer.hol-drawer {
		top: 46px;
	}
}

.hol-drawer-overlay[data-hol-drawer-overlay='cart'] {
	z-index: 79;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 42%, transparent);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.hol-cart-drawer .hol-drawer__header {
	flex: 0 0 auto;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	min-height: 4.25rem;
	padding: 1.1rem 1.25rem;
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.hol-cart-drawer__heading {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	min-width: 0;
}

.hol-cart-drawer .hol-drawer__title {
	display: block;
	margin: 0;
	font-size: var(--wp--preset--font-size--h4);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	text-transform: none;
	color: var(--wp--preset--color--text);
}

.hol-cart-drawer__heading > .hol-cart-count {
	position: static;
	top: auto;
	right: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	height: 1.5rem;
	padding: 0 0.4rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.hol-cart-drawer .hol-drawer__close {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--surface-sunken);
}

.hol-cart-drawer .hol-drawer__close:hover {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, var(--wp--preset--color--surface-sunken));
}

.hol-cart-drawer__body {
	flex: 1 1 auto;
	min-height: 0;
	min-width: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 0;
	box-sizing: border-box;
	background: var(--wp--preset--color--background);
}

.hol-cart-drawer .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	min-width: 0;
	width: 100%;
	height: 100%;
	padding: var(--wp--preset--spacing--40) 1.25rem calc(1.25rem + env(safe-area-inset-bottom));
	box-sizing: border-box;
}

.hol-cart-drawer .widget_shopping_cart_content:has(.woocommerce-mini-cart-item) .woocommerce-mini-cart__empty-message,
.hol-cart-drawer .widget_shopping_cart_content:has(.woocommerce-mini-cart-item) .hol-cart-drawer__shop {
	display: none !important;
}

.hol-cart-drawer .woocommerce-mini-cart {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
}

.hol-cart-drawer .woocommerce-mini-cart-item,
.hol-cart-drawer ul.cart_list li {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30) !important;
	margin: 0;
	list-style: none;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface);
}

.hol-cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	flex: 1 1 auto;
	min-width: 0;
	order: 1;
}

.hol-cart-drawer .woocommerce-mini-cart-item img,
.hol-cart-drawer ul.cart_list li img {
	float: none !important;
	flex: 0 0 auto;
	width: 4.25rem !important;
	height: 4.25rem !important;
	margin: 0 !important;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--surface-sunken);
}

.hol-cart-drawer__meta {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.2rem;
	min-width: 0;
}

.hol-cart-drawer__name {
	display: block;
	color: var(--wp--preset--color--text);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.3;
}

.hol-cart-drawer .woocommerce-mini-cart-item a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.3;
	text-decoration: none;
}

.hol-cart-drawer .woocommerce-mini-cart-item a:hover,
.hol-cart-drawer .woocommerce-mini-cart-item a:hover .hol-cart-drawer__name {
	color: var(--wp--preset--color--accent);
}

.hol-cart-drawer .woocommerce-mini-cart-item .quantity {
	display: block;
	position: static;
	transform: none;
	left: auto;
	right: auto;
	top: auto;
	margin: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--text-secondary);
	order: unset;
	pointer-events: auto;
}

.hol-cart-drawer .remove_from_cart_button,
.hol-cart-drawer a.remove.remove_from_cart_button {
	position: static !important;
	left: auto !important;
	top: auto !important;
	order: 3;
	flex: 0 0 auto;
	align-self: center;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	background: var(--wp--preset--color--surface-sunken);
	color: var(--wp--preset--color--text-secondary) !important;
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none !important;
	transition:
		background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-cart-drawer .remove_from_cart_button:hover {
	background: color-mix(in srgb, var(--wp--preset--color--error) 12%, var(--wp--preset--color--surface));
	color: var(--wp--preset--color--error) !important;
}

.hol-cart-drawer .woocommerce-mini-cart__empty-message {
	color: var(--wp--preset--color--text-secondary);
	text-align: center;
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	margin: 0;
	font-size: var(--wp--preset--font-size--body-large);
}

.hol-cart-drawer__shop {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3rem;
	margin-top: var(--wp--preset--spacing--20);
}

.hol-cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	margin: auto 0 0;
	padding: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--20);
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: var(--wp--preset--font-size--body);
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	color: var(--wp--preset--color--text-secondary);
}

.hol-cart-drawer .woocommerce-mini-cart__total strong {
	font-size: var(--wp--preset--font-size--body-large);
	font-weight: 700;
	color: var(--wp--preset--color--text);
}

.hol-cart-drawer .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.hol-cart-drawer .woocommerce-mini-cart__buttons .button,
.hol-cart-drawer .woocommerce-mini-cart__buttons a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-height: 3rem;
	margin: 0 !important;
	padding: 0.75rem 1.25rem;
	box-sizing: border-box;
	border-radius: var(--wp--custom--radius--md);
	text-align: center;
	font-weight: 700;
	text-decoration: none;
}

/* "Checkout" as the primary (filled) action, "View cart" secondary (outline) */
.hol-cart-drawer .woocommerce-mini-cart__buttons .button.checkout {
	order: -1;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
	border: 1px solid var(--wp--preset--color--primary);
}

.hol-cart-drawer .woocommerce-mini-cart__buttons .button.checkout:hover {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 88%, #fff);
}

.hol-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) {
	background: transparent;
	color: var(--wp--preset--color--text);
	border: 1px solid var(--wp--preset--color--border-strong);
}

.hol-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
	background: var(--wp--preset--color--surface-sunken);
	color: var(--wp--preset--color--text);
}

/* WooCommerce cart blocks */

.wp-block-woocommerce-cart {
	font-family: var(--wp--preset--font-family--sans);
}

.wc-block-cart-items {
	border-top: 1px solid var(--wp--preset--color--border);
}

.wc-block-cart-items th {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--label);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.wc-block-cart-item__wrap,
.wc-block-cart-items tr {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.wc-block-components-product-name {
	color: var(--wp--preset--color--text);
	font-weight: 600;
	text-decoration: none;
}

.wc-block-components-product-name:hover {
	color: var(--wp--preset--color--accent);
}

.wc-block-cart-item__product-image img {
	border-radius: var(--wp--custom--radius--sm);
}

.wc-block-components-quantity-selector {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
}

.wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector__input {
	color: var(--wp--preset--color--text);
}

.wc-block-cart-item__remove-link,
.wc-block-cart__submit-container .wc-block-components-notice-banner,
.wc-block-components-notice-banner {
	color: var(--wp--preset--color--text-secondary);
}

/* Coupon + Order summary sidebar: card treatment on the sunken surface */
.wc-block-cart .wc-block-components-panel,
.wc-block-cart__totals,
.wp-block-woocommerce-cart-order-summary-block {
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--preset--spacing--40);
}

.wc-block-cart__totals-title,
.wc-block-components-totals-item {
	color: var(--wp--preset--color--text);
}

.wc-block-components-totals-footer-item {
	border-top: 1px solid var(--wp--preset--color--border);
	font-weight: 700;
}

.wc-block-components-totals-coupon .wc-block-components-text-input input {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
}

/* Proceed to Checkout theme.json s button element styling back */
.wc-block-cart__submit-container,
.wc-block-cart__submit {
	width: 100%;
}

.wc-block-components-button {
	border-radius: var(--wp--custom--radius--md);
}

/* section */

/* Calm chrome plan.md */
.hol-checkout-calm .hol-announcement-bar,
.hol-checkout-calm .hol-header__nav-desktop,
.hol-checkout-calm .hol-header-cta,
.hol-checkout-calm .hol-search,
.hol-checkout-calm .hol-cart-toggle,
.hol-checkout-calm .hol-mobile-nav,
.hol-checkout-calm .hol-drawer-overlay[data-hol-drawer-overlay="cart"],
.hol-checkout-calm .hol-cart-drawer {
	display: none !important;
}

/* Mobile normally hides account/lang (duplicated in the drawer). On calm
   checkout the drawer is gone, so restore them as essential chrome. */
@media (max-width: 1023px) {
	.hol-checkout-calm .hol-header-actions__account,
	.hol-checkout-calm .hol-lang-switcher--header {
		display: inline-flex;
	}
}

/* Inner layout wrapper (not the <form>) so notice groups don't break the grid */
.hol-checkout {
	display: grid;
	gap: var(--wp--preset--spacing--60);
	font-family: var(--wp--preset--font-family--sans);
	color: var(--wp--preset--color--text);
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
	padding-block: var(--wp--preset--spacing--50);
	padding-inline: var(--wp--preset--spacing--40);
}

@media (min-width: 960px) {
	.hol-checkout {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		align-items: start;
		padding-inline: var(--wp--preset--spacing--60);
	}

	.hol-checkout__customer {
		grid-column: 1;
	}

	.hol-checkout__review {
		grid-column: 2;
		position: sticky;
		top: var(--wp--preset--spacing--50);
	}
}

.hol-checkout__customer.col2-set {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--50);
	width: 100%;
}

.hol-checkout__customer .col-1,
.hol-checkout__customer .col-2 {
	float: none;
	width: 100%;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: var(--wp--preset--font-size--h4);
	font-weight: 700;
	margin: 0 0 var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--text);
}

/* Billing / shipping / account fields */
.woocommerce-checkout .form-row {
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
}

.woocommerce-checkout .form-row-wide {
	clear: both;
	width: 100%;
}

.woocommerce-checkout .form-row label {
	display: block;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	color: var(--wp--preset--color--text-secondary);
	margin-bottom: var(--wp--preset--spacing--10);
}

.woocommerce-checkout .form-row .required {
	color: var(--wp--preset--color--error);
	text-decoration: none;
}

.woocommerce-checkout .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100%;
	min-height: 2.75rem;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.4;
	box-shadow: none;
}

.woocommerce-checkout .select2-container {
	width: 100% !important;
}

.woocommerce-checkout .form-row textarea {
	min-height: 6rem;
	resize: vertical;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--border-strong);
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
	width: 100%;
}

@media (min-width: 600px) {
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: 48%;
	}

	.woocommerce-checkout .form-row-first {
		float: left;
		clear: both;
	}

	.woocommerce-checkout .form-row-last {
		float: right;
	}
}

/* Checkboxes (create account, ship to different address, terms) */
.woocommerce-checkout .form-row label.checkbox,
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 500;
	color: var(--wp--preset--color--text);
	cursor: pointer;
}

.woocommerce-checkout .input-checkbox {
	width: 1.125rem;
	height: 1.125rem;
	min-height: 0;
	margin-top: 0.15em;
	flex-shrink: 0;
	accent-color: var(--wp--preset--color--accent);
}

/* Inline-adjacent validation plan.md */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea,
.woocommerce-checkout .woocommerce-invalid .select2-selection--single {
	border-color: var(--wp--preset--color--error);
}

.woocommerce-checkout .woocommerce-invalid label {
	color: var(--wp--preset--color--error);
}

.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
.woocommerce-NoticeGroup-checkout .woocommerce-error {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--error);
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--error);
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-NoticeGroup-checkout .woocommerce-info,
.woocommerce-NoticeGroup-checkout .woocommerce-message {
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--md);
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--text);
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

/* Order summary */
.hol-checkout__review,
.woocommerce-checkout #order_review {
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--md);
}

.hol-checkout__review {
	padding: var(--wp--preset--spacing--40);
}

.hol-checkout__review #order_review {
	background: transparent;
	padding: 0;
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 var(--wp--preset--spacing--40);
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: var(--wp--preset--spacing--20) 0;
	border-top: 1px solid var(--wp--preset--color--border);
	text-align: left;
	vertical-align: top;
	font-size: var(--wp--preset--font-size--body-small);
}

.woocommerce-checkout-review-order-table thead th {
	border-top: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--label);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .shipping th,
.woocommerce-checkout-review-order-table .shipping td,
.woocommerce-checkout-review-order-table .cart-discount th,
.woocommerce-checkout-review-order-table .cart-discount td {
	color: var(--wp--preset--color--text);
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-size: var(--wp--preset--font-size--price);
	font-weight: 700;
	border-top: 1px solid var(--wp--preset--color--border-strong);
}

/* Payment methods + place order */
.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: 0;
	border: 0;
}

.woocommerce-checkout #payment ul.payment_methods li {
	margin: 0 0 var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
}

.woocommerce-checkout #payment ul.payment_methods li label {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	font-weight: 600;
	cursor: pointer;
	margin: 0;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
	margin-top: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30);
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment .place-order {
	margin: 0;
	padding: 0;
	float: none;
	width: 100%;
}

.woocommerce-checkout #payment #place_order {
	width: 100%;
	min-height: 2.75rem;
	margin-top: var(--wp--preset--spacing--20);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--body-small);
	color: var(--wp--preset--color--text-secondary);
}

/* Mobile: single column, fields then summary (readable tap targets above) */
@media (max-width: 959px) {
	.hol-checkout {
		gap: var(--wp--preset--spacing--50);
		padding-inline: var(--wp--preset--spacing--30);
	}

	.hol-checkout__customer,
	.hol-checkout__review {
		grid-column: 1;
	}
}

/* ==========================================================================
 * Content pages (plan.md Phase 14)
 * ========================================================================== */

.hol-page,
.hol-single-post,
.hol-blog {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--90);
	padding-inline: var(--wp--preset--spacing--40);
}

@media (min-width: 782px) {
	.hol-page,
	.hol-single-post,
	.hol-blog {
		padding-inline: var(--wp--preset--spacing--50);
	}
}

.hol-page .wp-block-post-title,
.hol-single-post .wp-block-post-title,
.hol-blog > .wp-block-heading {
	font-size: var(--wp--preset--font-size--h2);
	margin: 0 0 var(--wp--preset--spacing--50);
}

.hol-page .wp-block-post-content > *,
.hol-single-post .wp-block-post-content > * {
	margin-block: 0 var(--wp--preset--spacing--40);
}

.hol-page .wp-block-post-content > h2,
.hol-single-post .wp-block-post-content > h2,
.hol-page .wp-block-heading,
.hol-single-post .wp-block-heading {
	font-size: var(--wp--preset--font-size--h3);
	margin-top: var(--wp--preset--spacing--60);
	margin-bottom: var(--wp--preset--spacing--30);
}

.hol-single-post .wp-block-post-date {
	display: block;
	margin-bottom: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-blog__item {
	margin-bottom: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--50);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.hol-blog__item .wp-block-post-title {
	font-size: var(--wp--preset--font-size--h3);
	margin: 0 0 var(--wp--preset--spacing--10);
}

.hol-blog__item .wp-block-post-date {
	display: block;
	margin-bottom: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--caption);
}

.hol-pattern-note {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
	font-style: italic;
}

/* Override core gallery flex layout — tiles must fill a real 5-col grid. */
.hol-page .hol-partnership-gallery.wp-block-gallery,
.hol-page figure.hol-partnership-gallery,
.hol-page .hol-partnership-gallery.is-layout-flex,
.hol-page .hol-partnership-gallery.wp-block-gallery-is-layout-flex {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: var(--wp--preset--spacing--20) !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	flex-wrap: unset !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 var(--wp--preset--spacing--70) !important;
	--wp--style--unstable-gallery-gap: var(--wp--preset--spacing--20);
}

@media (min-width: 640px) {
	.hol-page .hol-partnership-gallery.wp-block-gallery,
	.hol-page figure.hol-partnership-gallery,
	.hol-page .hol-partnership-gallery.is-layout-flex,
	.hol-page .hol-partnership-gallery.wp-block-gallery-is-layout-flex {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: var(--wp--preset--spacing--30) !important;
	}
}

@media (min-width: 1024px) {
	.hol-page .hol-partnership-gallery.wp-block-gallery,
	.hol-page figure.hol-partnership-gallery,
	.hol-page .hol-partnership-gallery.is-layout-flex,
	.hol-page .hol-partnership-gallery.wp-block-gallery-is-layout-flex {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
		gap: var(--wp--preset--spacing--30) !important;
	}
}

.hol-page .hol-partnership-gallery > .wp-block-image,
.hol-page .hol-partnership-gallery > figure {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex-grow: unset !important;
	flex-shrink: unset !important;
	flex-basis: auto !important;
	margin: 0 !important;
}

.hol-page .hol-partnership-gallery > .wp-block-image > a,
.hol-page .hol-partnership-gallery > figure > a {
	display: block !important;
	width: 100% !important;
	height: 100%;
	border-radius: var(--wp--custom--radius--md);
	overflow: hidden;
	outline-offset: 3px;
	background: var(--wp--preset--color--surface-sunken);
	box-shadow: var(--wp--preset--shadow--sm);
	transition: transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		box-shadow var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-page .hol-partnership-gallery > .wp-block-image > a:hover,
.hol-page .hol-partnership-gallery > figure > a:hover {
	transform: translateY( -2px );
	box-shadow: var(--wp--preset--shadow--md);
}

.hol-page .hol-partnership-gallery > .wp-block-image > a:focus-visible,
.hol-page .hol-partnership-gallery > figure > a:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
}

.hol-page .hol-partnership-gallery img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	aspect-ratio: 1080 / 700;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--md);
}

.hol-page .hol-partnership-gallery > .wp-block-image,
.hol-page .hol-partnership-gallery > figure {
	position: relative;
}

.hol-page .hol-partnership-gallery > .wp-block-image.is-loading > a > img,
.hol-page .hol-partnership-gallery > figure.is-loading > a > img {
	opacity: 0;
}

.hol-partnership-skeleton {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: var(--wp--custom--radius--md);
	pointer-events: none;
	background: linear-gradient(
		110deg,
		#efe6d8 0%,
		#f7f1e7 40%,
		#efe6d8 80%
	);
	background-size: 200% 100%;
	animation: hol-skeleton-shimmer 1.1s ease-in-out infinite;
}

.hol-lightbox__stage.is-loading .hol-lightbox__image {
	opacity: 0;
	transition: none;
}

.hol-lightbox__stage .hol-partnership-skeleton {
	inset: auto;
	width: min(100%, 72rem);
	max-width: 100%;
	aspect-ratio: 1080 / 700;
	max-height: min(78vh, 760px);
	box-shadow: var(--wp--preset--shadow--lg);
}

/* Partnership lightbox slider */
html.hol-lightbox-open {
	overflow: hidden;
}

.hol-lightbox {
	position: fixed;
	inset: 0;
	z-index: var(--wp--custom--z-index--overlay, 1000);
	display: grid;
	place-items: center;
	padding: var(--wp--preset--spacing--40);
}

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

.hol-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(28, 26, 23, 0.78);
}

.hol-lightbox__panel {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-rows: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	width: min(100%, 1120px);
	max-height: min(92vh, 900px);
}

.hol-lightbox__figure {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.hol-lightbox__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	overflow: hidden;
}

.hol-lightbox__image {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: min(78vh, 760px);
	height: auto;
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--lg);
	background: var(--wp--preset--color--surface);
	transition: opacity var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
	will-change: opacity, transform;
}

.hol-lightbox__stage.is-out.is-next .hol-lightbox__image {
	opacity: 0;
	transform: translateX( -0.75rem );
}

.hol-lightbox__stage.is-out.is-prev .hol-lightbox__image {
	opacity: 0;
	transform: translateX( 0.75rem );
}

.hol-lightbox__stage.is-swap.is-next .hol-lightbox__image {
	opacity: 0;
	transform: translateX( 0.75rem );
	transition: none;
}

.hol-lightbox__stage.is-swap.is-prev .hol-lightbox__image {
	opacity: 0;
	transform: translateX( -0.75rem );
	transition: none;
}

.hol-lightbox__stage.is-in .hol-lightbox__image {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.hol-lightbox__image {
		transition: none;
	}
}

.hol-lightbox__caption {
	margin: var(--wp--preset--spacing--20) 0 0;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--body-small);
	text-align: center;
}

.hol-lightbox__counter {
	grid-column: 1 / -1;
	grid-row: 3;
	margin: 0;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--label);
	text-align: center;
}

.hol-lightbox__close,
.hol-lightbox__arrow {
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--md);
	color: var(--wp--preset--color--primary);
}

.hol-lightbox__close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}

.hol-lightbox__arrow--prev {
	grid-column: 1;
	grid-row: 2;
}

.hol-lightbox__arrow--next {
	grid-column: 3;
	grid-row: 2;
}

@media (max-width: 639px) {
	.hol-lightbox__panel {
		grid-template-columns: 1fr;
		width: 100%;
	}

	.hol-lightbox__figure {
		grid-column: 1;
	}

	.hol-lightbox__arrow--prev,
	.hol-lightbox__arrow--next {
		position: absolute;
		top: 50%;
		grid-column: auto;
		grid-row: auto;
		transform: translateY( -50% );
	}

	.hol-lightbox__arrow--prev {
		left: 0;
	}

	.hol-lightbox__arrow--next {
		right: 0;
	}
}

.hol-stores-map {
	margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--60);
	padding: 0;
	width: 100%;
	min-height: 22rem;
	height: min(70vh, 700px);
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
	background: var(--wp--preset--color--surface-sunken);
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: var(--wp--preset--shadow--sm);
}

.hol-stores-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 22rem;
	border: 0;
}

.hol-locations {
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--50);
}

@media (min-width: 782px) {
	.hol-locations {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.hol-locations__item {
	padding: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
	border: 1px solid var(--wp--preset--color--border);
	transition: box-shadow var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-locations__item:hover {
	box-shadow: var(--wp--preset--shadow--md);
}

.hol-locations__name {
	font-size: var(--wp--preset--font-size--h4);
	margin: 0 0 var(--wp--preset--spacing--20);
}

.hol-locations__name a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.hol-locations__name a:hover {
	color: var(--wp--preset--color--accent);
}

.hol-locations__address,
.hol-locations__city,
.hol-locations__phone,
.hol-locations__directions {
	margin: 0 0 var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-locations__phone a,
.hol-locations__directions a {
	color: var(--wp--preset--color--accent);
}

.hol-locations__hours {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--20);
	padding: 0;
	font-size: var(--wp--preset--font-size--caption);
	color: var(--wp--preset--color--text-secondary);
	display: grid;
	gap: var(--wp--preset--spacing--10);
}

.hol-locations--empty {
	color: var(--wp--preset--color--text-secondary);
}

/* ---- Content pages ---- */

.hol-single-post .wp-block-post-title {
	font-size: var(--wp--preset--font-size--h1);
	letter-spacing: -0.03em;
	margin-bottom: var(--wp--preset--spacing--50);
}

.hol-page .entry-content > * + *,
.hol-single-post .entry-content > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.hol-contact-details {
	margin: 0;
}

.hol-contact-details__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
}

.hol-contact-details__list li {
	display: grid;
	gap: 0.15rem;
	padding: var(--wp--preset--spacing--40) 0;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	border-radius: 0;
	background: transparent;
}

.hol-contact-details__list li:first-child {
	padding-top: 0;
}

.hol-contact-details__list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.hol-contact-details__label {
	display: block;
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 600;
	color: var(--wp--preset--color--text-secondary);
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.hol-contact-details a,
.hol-contact-details span:not(.hol-contact-details__label) {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--body-large);
	text-decoration: none;
	word-break: break-word;
	line-height: 1.35;
}

.hol-contact-details a:hover {
	color: var(--wp--preset--color--accent);
}

.hol-contact-page {
	width: 100%;
	max-width: none;
	margin: 0;
}

.hol-contact-page__intro {
	margin: 0 0 var(--wp--preset--spacing--70);
	max-width: 42rem;
}

.hol-contact-page__title {
	margin: 0;
	font-size: clamp(2.25rem, 4.5vw, 3rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.05;
	color: var(--wp--preset--color--text);
}

.hol-contact-page__lede {
	margin: var(--wp--preset--spacing--30) 0 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-large);
	line-height: 1.55;
}

.hol-contact-page__layout {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	align-items: start;
	width: 100%;
}

@media (min-width: 900px) {
	.hol-contact-page__layout {
		grid-template-columns: minmax(12rem, 0.28fr) minmax(0, 1fr);
		gap: var(--wp--preset--spacing--60);
	}
}

.hol-contact-page__aside,
.hol-contact-page__main {
	min-width: 0;
	width: 100%;
}

.hol-contact-form {
	width: 100%;
	max-width: none;
	padding: var(--wp--preset--spacing--40);
	border: 0;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface-sunken);
	box-sizing: border-box;
}

@media (min-width: 900px) {
	.hol-contact-form {
		padding: var(--wp--preset--spacing--50);
	}
}

.hol-contact-form__head {
	margin: 0 0 var(--wp--preset--spacing--40);
}

.hol-contact-form__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--h4);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.hol-contact-form__lede {
	margin: var(--wp--preset--spacing--10) 0 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}

.hol-contact-form__form {
	margin: 0;
	width: 100%;
}

.hol-contact-form__grid {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	width: 100%;
	max-width: none;
}

@media (min-width: 720px) {
	.hol-contact-form__grid {
		grid-template-columns: 1fr 1fr;
	}

	.hol-contact-form__field--phone,
	.hol-contact-form__field--message {
		grid-column: 1 / -1;
	}
}

.hol-contact-form__field {
	margin: 0;
	display: grid;
	gap: 0.4rem;
	min-width: 0;
	width: 100%;
}

.hol-contact-form__field label {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	color: var(--wp--preset--color--text-secondary);
	letter-spacing: 0.02em;
}

.hol-contact-form__optional {
	font-weight: 400;
	opacity: 0.85;
}

.hol-contact-form .hol-input,
.hol-contact-form input.hol-input,
.hol-contact-form textarea.hol-input {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	min-height: 2.5rem;
	padding: 0.45rem 0;
	border: 0;
	border-bottom: 1.5px solid color-mix(in srgb, var(--wp--preset--color--border-strong) 55%, var(--wp--preset--color--border));
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: var(--wp--preset--font-size--body);
	font-weight: 500;
	transition: border-color var(--wp--custom--motion--duration--fast, 150ms) ease;
}

.hol-contact-form textarea.hol-input {
	min-height: 5.5rem;
	padding-top: 0.25rem;
	resize: vertical;
	line-height: 1.5;
}

.hol-contact-form .hol-input:hover,
.hol-contact-form input.hol-input:hover,
.hol-contact-form textarea.hol-input:hover {
	border-bottom-color: var(--wp--preset--color--text);
}

.hol-contact-form .hol-input:focus,
.hol-contact-form input.hol-input:focus,
.hol-contact-form textarea.hol-input:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--accent);
	box-shadow: none;
}

.hol-contact-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.hol-contact-form__actions {
	margin: var(--wp--preset--spacing--40) 0 0;
}

.hol-contact-form__submit {
	width: auto;
	min-width: 10rem;
	min-height: 2.75rem;
	padding-inline: 1.35rem;
	font-weight: 700;
	border-radius: var(--wp--custom--radius--pill);
}

.hol-contact-form__submit:disabled {
	opacity: 0.7;
	cursor: wait;
}

.hol-contact-form__notice {
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--md);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	background: var(--wp--preset--color--surface);
}

.hol-contact-form__notice--success {
	color: var(--wp--preset--color--success);
}

.hol-contact-form__notice--error {
	color: var(--wp--preset--color--error);
}

.hol-contact-page__more {
	margin-top: var(--wp--preset--spacing--90);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--preset--color--border);
	max-width: 40rem;
}

.hol-contact-page__more .wp-block-heading {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--h4);
}

.hol-contact-page__more > p {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
}

.hol-contact-page__links {
	list-style: none;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
}

.hol-contact-page__links a {
	font-weight: 600;
	color: var(--wp--preset--color--text);
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 0.1rem;
}

.hol-contact-page__links a:hover {
	color: var(--wp--preset--color--accent);
	border-bottom-color: var(--wp--preset--color--accent);
}

/* Match header content width — no nested max-width on contact. */
.hol-page-body:has(.hol-contact-page) {
	max-width: 1440px;
}

.hol-page-body:has(.hol-contact-page) .wp-block-post-content {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
}

.hol-page-body:has(.hol-contact-page) .wp-block-post-content > * {
	max-width: none !important;
}

.hol-trust-content {
	margin: var(--wp--preset--spacing--40) 0;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--md);
}

.hol-trust-content__title {
	font-size: var(--wp--preset--font-size--h4);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.hol-trust-content__body {
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
}

.hol-trust-content__body p:last-child {
	margin-bottom: 0;
}

.hol-faq {
	margin-top: var(--wp--preset--spacing--40);
}

.hol-faq__item {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-block: var(--wp--preset--spacing--30);
}

.hol-faq__item summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--wp--preset--color--text);
	list-style-position: outside;
}

.hol-faq__item p {
	margin: var(--wp--preset--spacing--20) 0 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}


/* section */

/* ---- Shared page hero (content / blog / locations) ---- */

.hol-page,
.hol-single-post,
.hol-blog {
	padding: 0;
}

.hol-page-hero {
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	background: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

@media (min-width: 1024px) {
	.hol-page-hero {
		padding-inline: var(--wp--preset--spacing--60);
	}
}

.hol-page-hero__title,
.hol-page-hero .wp-block-post-title,
.hol-page-hero .wp-block-heading {
	margin: 0;
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.hol-page-hero__lede,
.hol-page-hero__meta,
.hol-page-hero .wp-block-post-date {
	margin: var(--wp--preset--spacing--30) 0 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-large);
}

.hol-page-body {
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--100);
}

@media (min-width: 1024px) {
	.hol-page-body {
		padding-inline: var(--wp--preset--spacing--60);
	}
}

/* Page H1 (.hol-page-title) is visually hidden via .screen-reader-text in page.html. */

.hol-page-body .wp-block-post-content {
	max-width: 72rem;
	margin-inline: 0;
}

/* Cart checkout pages still use page template */

body.woocommerce-cart .hol-page-hero,
body.woocommerce-checkout .hol-page-hero,
body.woocommerce-account .hol-page-hero {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
}

/* ---- Shop archive elevation ---- */

.hol-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--50);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	background: color-mix(in srgb, var(--wp--preset--color--surface) 88%, transparent);
	box-shadow: var(--wp--preset--shadow--sm);
}

.hol-shop-toolbar .woocommerce-result-count {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
}

.hol-shop-toolbar .woocommerce-ordering select,
.woocommerce-ordering select.orderby {
	min-height: 2.75rem;
	min-width: 200px;
	padding: 0.5rem 2rem 0.5rem 0.85rem;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	font-weight: 600;
}

.hol-shop .hol-product-card {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.hol-shop .hol-product-card:hover {
	transform: translateY(-4px);
	box-shadow: none;
}

.hol-shop .hol-product-card__media {
	box-shadow: none;
}

.hol-shop .hol-product-grid {
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
}

@media (min-width: 1024px) {
	.hol-shop .hol-product-grid {
		gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	}
}

.hol-shop .woocommerce-pagination,
.hol-shop .hol-pagination {
	margin-top: var(--wp--preset--spacing--40);
}

.hol-shop .woocommerce-pagination ul,
.hol-shop .page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--10);
	list-style: none;
	margin: 0;
	padding: 0;
}

.hol-shop .woocommerce-pagination .page-numbers,
.hol-shop .page-numbers a,
.hol-shop .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none !important;
}

.hol-shop .page-numbers .current,
.hol-shop .woocommerce-pagination .page-numbers.current {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
}

.hol-shop-filters__panel {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--lg);
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
}

@media (min-width: 1024px) {
	.hol-shop-filters__panel.hol-drawer {
		background: var(--wp--preset--color--surface);
		border: 1px solid var(--wp--preset--color--border);
		border-radius: var(--wp--custom--radius--lg);
		padding: var(--wp--preset--spacing--40);
	}
}

/* ---- PDP elevation ---- */

.hol-single-product {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--100);
	padding-inline: var(--wp--preset--spacing--40);
}

@media (min-width: 1024px) {
	.hol-single-product {
		padding-inline: var(--wp--preset--spacing--60);
	}
}

.hol-product-primary {
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
	border: 1px solid var(--wp--preset--color--border);
}

.woocommerce-product-gallery {
	border: none;
	box-shadow: none;
}

.hol-product-trust {
	margin-top: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface-sunken);
}

.hol-product-related,
.hol-product-recently-viewed,
.hol-product-details,
.hol-product-reviews {
	margin-top: var(--wp--preset--spacing--90);
}

.hol-product-related .hol-home-section__title,
.hol-product-recently-viewed .hol-home-section__title,
.hol-product-related h2,
.hol-product-recently-viewed h2 {
	font-size: var(--wp--preset--font-size--h2);
	letter-spacing: -0.02em;
	margin-bottom: var(--wp--preset--spacing--50);
}

/* ---- Cart page (Ochaka-like summary card) ---- */

body.woocommerce-cart .hol-page-hero {
	display: none;
}

body.woocommerce-cart .hol-page-body,
body.woocommerce-checkout .hol-page-body {
	max-width: 1280px;
	margin-inline: auto;
}

body.woocommerce-cart .hol-page-body {
	padding-top: var(--wp--preset--spacing--60);
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	text-align: center;
	padding: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--70);
}

body.woocommerce-cart .wc-block-cart__empty-cart__title {
	margin: 0 0 var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--h2);
	letter-spacing: -0.03em;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	margin: var(--wp--preset--spacing--70) 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--h3);
}

body.woocommerce-cart .wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	body.woocommerce-cart .wc-block-grid__products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

body.woocommerce-cart .wc-block-grid__product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	text-align: left;
}

body.woocommerce-cart .wc-block-grid__product-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--md);
}

body.woocommerce-cart .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-grid__product-title a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart .wc-block-grid__product-add-to-cart .add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.5rem;
	margin-top: var(--wp--preset--spacing--20);
}

.wp-block-woocommerce-cart {
	width: 100%;
}

@media (min-width: 960px) {
	.wp-block-woocommerce-filled-cart-block {
		gap: var(--wp--preset--spacing--70);
	}
}

.wc-block-cart .wc-block-components-sidebar,
.wp-block-woocommerce-cart-order-summary-block {
	background: var(--wp--preset--color--surface) !important;
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: var(--wp--preset--shadow--sm);
}

.wc-block-cart__submit .wc-block-components-button,
.wc-block-components-checkout-place-order-button {
	min-height: 3.15rem !important;
	font-weight: 700 !important;
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--secondary) !important;
	border-radius: var(--wp--custom--radius--md) !important;
}

.wc-block-cart__submit .wc-block-components-button:hover {
	background: var(--wp--preset--color--accent) !important;
}

/* ---- Blog cards ---- */

.hol-blog .wp-block-post-template {
	gap: var(--wp--preset--spacing--50) !important;
}

.hol-blog__card {
	height: 100%;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
	transition:
		transform var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
		box-shadow var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}

.hol-blog__card:hover {
	transform: translateY(-3px);
	box-shadow: var(--wp--preset--shadow--md);
}

.hol-blog__thumb,
.hol-blog__card .wp-block-post-featured-image {
	margin: 0 0 var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--md);
	overflow: hidden;
	background: var(--wp--preset--color--surface-sunken);
	aspect-ratio: 16 / 10;
}

.hol-blog__card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hol-blog__card .wp-block-post-title {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--h3);
}

.hol-blog__card .wp-block-post-title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}

.hol-blog__card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent);
}

.hol-blog__card .wp-block-post-date {
	display: block;
	margin-bottom: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--caption);
}

.hol-blog__card .wp-block-post-excerpt p {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
}

/* ---- Header / footer commercial polish ---- */

.hol-header-cta {
	min-height: 2.5rem;
	padding: 0.55rem 1rem;
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.hol-header-cta:hover {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--secondary) !important;
}

/* ---- Forms / FAQ / trust on content pages ---- */

.hol-page-body input[type='text'],
.hol-page-body input[type='email'],
.hol-page-body input[type='tel'],
.hol-page-body textarea,
.hol-page-body select {
	width: 100%;
	min-height: 2.85rem;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface);
}

/* Contact form: underline fields (must beat .hol-page-body input rules above). */
.hol-page-body .hol-contact-form input.hol-input,
.hol-page-body .hol-contact-form textarea.hol-input {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	min-height: 2.5rem;
	padding: 0.45rem 0;
	border: 0;
	border-bottom: 1.5px solid color-mix(in srgb, var(--wp--preset--color--border-strong) 50%, var(--wp--preset--color--border));
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: var(--wp--preset--font-size--body);
	font-weight: 500;
}

.hol-page-body .hol-contact-form textarea.hol-input {
	min-height: 5.5rem;
	padding-top: 0.25rem;
	line-height: 1.5;
	resize: vertical;
}

.hol-page-body .hol-contact-form input.hol-input:hover,
.hol-page-body .hol-contact-form textarea.hol-input:hover {
	border-bottom-color: var(--wp--preset--color--text);
}

.hol-page-body .hol-contact-form input.hol-input:focus,
.hol-page-body .hol-contact-form textarea.hol-input:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--accent);
	box-shadow: none;
}

.hol-faq__item summary {
	font-size: var(--wp--preset--font-size--body-large);
}

.hol-locations__item {
	min-height: 12rem;
}

/* section */

body.woocommerce-account .hol-page-hero {
	display: none;
}

body.woocommerce-account .hol-page-body {
	padding-top: var(--wp--preset--spacing--60);
}

body.woocommerce-account .hol-page-body .wp-block-post-content {
	max-width: 72rem;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
	content: none;
	display: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.hol-account {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

@media (min-width: 900px) {
	.hol-account {
		grid-template-columns: 17.5rem minmax(0, 1fr);
		align-items: start;
		gap: var(--wp--preset--spacing--50);
	}
}

.hol-account__nav,
.hol-account__content {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
}

.hol-account__nav {
	padding: var(--wp--preset--spacing--40);
}

.hol-account__identity {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.hol-account__avatar {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
	font-weight: 800;
	letter-spacing: -0.02em;
}

.hol-account__who {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.hol-account__name {
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.2;
	color: var(--wp--preset--color--text);
}

.hol-account__email {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--caption);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hol-account__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.hol-account__menu a {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	min-height: 2.5rem;
	padding: 0.45rem 0.7rem;
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--text);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--body-small);
	text-decoration: none;
}

.hol-account__menu a:hover {
	background: var(--wp--preset--color--surface-sunken);
	color: var(--wp--preset--color--text);
}

.hol-account__menu .is-active a,
.hol-account__menu a[aria-current='page'] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
}

.hol-account__menu .woocommerce-MyAccount-navigation-link--customer-logout a {
	margin-top: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--text-secondary);
}

.hol-account__menu .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	color: var(--wp--preset--color--error);
	background: var(--wp--preset--color--surface-sunken);
}

.hol-account__content {
	padding: var(--wp--preset--spacing--50);
	min-width: 0;
}

.hol-account__content > h2,
.hol-account__content > h3,
.woocommerce-Address-title h2,
.woocommerce-EditAccountForm fieldset legend {
	margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--h3);
	letter-spacing: -0.02em;
}

.hol-account-dash__title {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--h2);
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.hol-account-dash__lede {
	margin: 0 0 var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--text-secondary);
	max-width: 36rem;
}

.hol-account-cards {
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

@media (min-width: 720px) {
	.hol-account-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.hol-account-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--md);
	text-decoration: none;
	color: inherit;
	transition:
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		box-shadow var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.hol-account-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--sm);
	color: inherit;
}

.hol-account-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--accent);
}

.hol-account-card__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--h4);
}

.hol-account-card__text {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--body-small);
}

body.woocommerce-account .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
}

body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-orders-table td {
	padding: 0.85rem 0.5rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	text-align: left;
	font-size: var(--wp--preset--font-size--body-small);
}

body.woocommerce-account .woocommerce-orders-table th {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--label);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-weight: 600;
}

body.woocommerce-account .woocommerce-orders-table a {
	color: var(--wp--preset--color--text);
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-orders-table a:hover {
	color: var(--wp--preset--color--accent);
}

body.woocommerce-account .woocommerce-orders-table .button {
	min-height: 2.25rem;
	padding: 0 0.85rem;
	font-size: var(--wp--preset--font-size--caption);
}

body.woocommerce-account .woocommerce-Addresses,
body.woocommerce-account .u-columns.col2-set:not(#customer_login) {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

/* Woo clearfix pseudos become rogue grid cells — drop them. */
body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after,
body.woocommerce-account .u-columns.col2-set::before,
body.woocommerce-account .u-columns.col2-set::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 720px) {
	body.woocommerce-account .woocommerce-Addresses,
	body.woocommerce-account .u-columns.col2-set:not(#customer_login) {
		grid-template-columns: 1fr 1fr;
	}
}

/* Address cards only — login/register columns are handled below. */
body.woocommerce-account .woocommerce-Address {
	float: none;
	width: auto;
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface-sunken);
	border-radius: var(--wp--custom--radius--md);
}

body.woocommerce-account .woocommerce-Address address {
	margin: 0;
	color: var(--wp--preset--color--text-secondary);
	font-style: normal;
	line-height: 1.55;
}

body.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--20);
}

body.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--h4);
}

body.woocommerce-account .woocommerce-Address-title a,
body.woocommerce-account .lost_password a {
	color: var(--wp--preset--color--accent);
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-account .woocommerce-form-row,
body.woocommerce-account .form-row {
	margin: 0 0 var(--wp--preset--spacing--30);
}

body.woocommerce-account .woocommerce-form-row label,
body.woocommerce-account .form-row label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--body-small);
}

body.woocommerce-account .woocommerce-Input,
body.woocommerce-account .input-text,
body.woocommerce-account select,
body.woocommerce-account .woocommerce-form-row input[type='text'],
body.woocommerce-account .woocommerce-form-row input[type='email'],
body.woocommerce-account .woocommerce-form-row input[type='password'],
body.woocommerce-account .woocommerce-form-row input[type='tel'] {
	width: 100%;
	min-height: 2.85rem;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface);
	box-sizing: border-box;
}

body.woocommerce-account .woocommerce-form-row--first,
body.woocommerce-account .woocommerce-form-row--last,
body.woocommerce-account .form-row-first,
body.woocommerce-account .form-row-last {
	float: none;
	width: 100%;
}

@media (min-width: 720px) {
	body.woocommerce-account .woocommerce-EditAccountForm,
	body.woocommerce-account .woocommerce-address-fields {
		display: block;
	}

	body.woocommerce-account .woocommerce-form-row--first,
	body.woocommerce-account .form-row-first {
		float: left;
		width: calc(50% - 0.5rem);
		clear: left;
	}

	body.woocommerce-account .woocommerce-form-row--last,
	body.woocommerce-account .form-row-last {
		float: right;
		width: calc(50% - 0.5rem);
	}

	body.woocommerce-account .woocommerce-EditAccountForm::after,
	body.woocommerce-account .woocommerce-address-fields::after {
		content: '';
		display: table;
		clear: both;
	}
}

body.woocommerce-account .woocommerce-Button,
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit {
	min-height: 3rem;
	padding: 0 1.4rem;
}

/* Logged-out login + register (registration enabled) */

/*
 * Match header content width. WordPress `is-layout-constrained` + the
 * account `72rem` post-content cap were keeping the forms narrower than
 * `.hol-header__row` (1440px).
 */
body.woocommerce-account:not(.logged-in) .hol-page-body.hol-page-body {
	width: min(100%, 1440px);
	max-width: 1440px;
	margin-inline: auto;
	box-sizing: border-box;
}

body.woocommerce-account:not(.logged-in) .hol-page-body > .wp-block-post-content,
body.woocommerce-account:not(.logged-in) .hol-page-body .wp-block-post-content {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
}

body.woocommerce-account:not(.logged-in) .hol-page-body .wp-block-post-content > .woocommerce,
body.woocommerce-account:not(.logged-in) .hol-page-body .wp-block-post-content > * {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
}

/*
 * Flex — not grid. WooCommerce clearfix ::before/::after and float:left/right
 * on .col-1/.col-2 fight CSS grid and cause Login/Register to overlap or stagger.
 */
body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set,
body.woocommerce-account:not(.logged-in) #customer_login {
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--wp--preset--spacing--40);
	width: 100% !important;
	max-width: none;
	margin: 0;
	float: none !important;
	clear: both;
}

body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set::before,
body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set::after,
body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set > .col-1,
body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set > .col-2,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
	float: none !important;
	clear: none !important;
	position: relative !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: var(--wp--preset--spacing--50);
	box-sizing: border-box;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
	flex: 1 1 auto;
	min-width: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 > h2,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 > h2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1 > h2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 > h2 {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--h2);
	letter-spacing: -0.03em;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register,
body.woocommerce-account:not(.logged-in) .woocommerce-ResetPassword {
	padding: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register {
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

@media (min-width: 800px) {
	body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set,
	body.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set,
	body.woocommerce-account:not(.logged-in) #customer_login {
		flex-direction: row;
		align-items: stretch;
	}

	body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set > .col-1,
	body.woocommerce-page.woocommerce-account:not(.logged-in) .woocommerce #customer_login.col2-set > .col-2,
	body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
	body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
	body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
	body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
		flex: 1 1 0;
		width: auto !important;
		max-width: none !important;
	}
}

/* Single-form states (login only / lost password) stay narrow */
body.woocommerce-account:not(.logged-in) .hol-page-body .wp-block-post-content:not(:has(#customer_login)) {
	max-width: 28rem;
	margin-inline: auto;
}

body.woocommerce-account:not(.logged-in) h2 {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--h2);
	letter-spacing: -0.03em;
}

body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--surface-sunken);
	border: 1px solid var(--wp--preset--color--border);
	list-style: none;
}

@media (max-width: 899px) {
	.hol-account__menu {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 0.35rem;
		padding-bottom: 0.15rem;
	}

	.hol-account__menu li {
		flex: 0 0 auto;
	}

	.hol-account__menu .woocommerce-MyAccount-navigation-link--customer-logout a {
		margin-top: 0;
	}
}

/* Motion plan.md */

.hol-motion-ready {
	opacity: 0;
	transform: translateY(12px);
}

.hol-motion-ready.is-visible {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter),
		transform var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter);
	transition-delay: var(--hol-delay, 0ms);
}

.hol-product-card.hol-motion-ready.is-visible:hover,
.hol-age-rail__card.hol-motion-ready.is-visible:hover,
.hol-type-rail__card.hol-motion-ready.is-visible:hover,
.hol-home-promo.hol-motion-ready.is-visible:hover {
	transform: translateY(-4px);
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.wp-element-button {
	transition:
		transform var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		background-color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard),
		color var(--wp--custom--motion--duration--fast) var(--wp--custom--motion--easing--standard);
}

.button:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.wp-element-button:active {
	transform: scale(0.97);
}

.hol-product-card__actions .button.added,
.hol-product-card__actions .added_to_cart {
	animation: hol-pop var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter);
}

.hol-cart-count.is-updated {
	animation: hol-pop var(--wp--custom--motion--duration--slow) var(--wp--custom--motion--easing--enter);
}

.hol-search__item,
.hol-search__chip {
	animation: hol-rise var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--enter) both;
}

.hol-search__list > :nth-child(1) { animation-delay: 0ms; }
.hol-search__list > :nth-child(2) { animation-delay: 40ms; }
.hol-search__list > :nth-child(3) { animation-delay: 80ms; }
.hol-search__list > :nth-child(4) { animation-delay: 120ms; }
.hol-search__list > :nth-child(5) { animation-delay: 160ms; }
.hol-search__list > :nth-child(6) { animation-delay: 200ms; }
.hol-search__list > :nth-child(7) { animation-delay: 240ms; }
.hol-search__list > :nth-child(8) { animation-delay: 280ms; }

.hol-search__chips > :nth-child(1) { animation-delay: 0ms; }
.hol-search__chips > :nth-child(2) { animation-delay: 40ms; }
.hol-search__chips > :nth-child(3) { animation-delay: 80ms; }
.hol-search__chips > :nth-child(4) { animation-delay: 120ms; }

@keyframes hol-pop {
	0% { transform: scale(1); }
	45% { transform: scale(1.22); }
	100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.hol-motion-ready,
	.hol-motion-ready.is-visible {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.hol-product-card:hover,
	.hol-product-card:hover .hol-product-card__image,
	.button:active,
	.woocommerce a.button:active,
	.woocommerce button.button:active,
	.wp-element-button:active,
	.hol-product-gallery__stage .woocommerce-product-gallery__image img {
		transform: none;
	}

	.hol-product-gallery__stage .woocommerce-product-gallery__image img,
	.hol-product-gallery__thumb {
		transition: none;
	}

	.hol-product-card__actions .button.added,
	.hol-product-card__actions .added_to_cart,
	.hol-cart-count.is-updated,
	.hol-search__item,
	.hol-search__chip {
		animation: none;
	}
}

/* section */

html {
	-webkit-text-size-adjust: 100%;
}

body {
	overflow-x: clip;
}

@media (hover: none) {
	.hol-product-card:hover,
	.hol-age-rail__card:hover,
	.hol-type-rail__card:hover,
	.hol-hero__cta:hover,
	.hol-hero__shot:hover img,
	.hol-shop-header__chip:hover {
		transform: none;
	}

	.hol-product-card:hover .hol-product-card__image {
		transform: none;
	}
}

@media (max-width: 1023px) {
	.hol-header {
		padding-top: env(safe-area-inset-top);
	}

	.hol-header__row {
		padding-block: 0.65rem;
		padding-inline: max(var(--wp--preset--spacing--30), env(safe-area-inset-left))
			max(var(--wp--preset--spacing--30), env(safe-area-inset-right));
		gap: var(--wp--preset--spacing--20);
	}

	.hol-logo__text {
		font-size: 1.35rem;
	}

	.hol-logo__image {
		max-height: 2.25rem;
	}

	.hol-icon-btn {
		width: 2.75rem;
		height: 2.75rem;
	}

	.hol-header-actions {
		gap: 2px;
		min-width: 0;
		flex: 1 1 auto;
	}

	.hol-drawer {
		width: min(100%, 22.5rem);
		padding-top: env(safe-area-inset-top);
		padding-bottom: env(safe-area-inset-bottom);
		box-sizing: border-box;
	}

	.hol-cart-drawer.hol-drawer {
		width: min(100%, 26.25rem);
	}

	.hol-shop-filters__panel.hol-drawer {
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: min(88dvh, 42rem);
		max-height: 88dvh;
		border-radius: var(--wp--custom--radius--lg) var(--wp--custom--radius--lg) 0 0;
		transform: translateY(100%);
		padding-top: 0;
	}

	.hol-shop-filters__panel.hol-drawer.is-open {
		transform: translateY(0);
	}

	.hol-shop-filters__trigger {
		min-height: 2.75rem;
		margin-bottom: var(--wp--preset--spacing--30);
	}

	.hol-shop-cats {
		margin-inline: calc(var(--wp--preset--spacing--40) * -1);
		padding-inline: var(--wp--preset--spacing--40);
	}

	.hol-shop-header__quick {
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding-bottom: var(--wp--preset--spacing--10);
		scrollbar-width: none;
	}

	.hol-shop-header__quick::-webkit-scrollbar {
		display: none;
	}

	.hol-shop-header__chip {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.hol-shop-filters__actions {
		position: sticky;
		bottom: 0;
		padding-top: var(--wp--preset--spacing--30);
		padding-bottom: env(safe-area-inset-bottom);
		background: linear-gradient(180deg, transparent, var(--wp--preset--color--surface) 20%);
	}

	.hol-sticky-cart {
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40)
			calc(var(--wp--preset--spacing--20) + env(safe-area-inset-bottom));
	}

	.hol-sticky-cart__button {
		min-height: 2.75rem;
		padding-inline: 1.25rem;
	}

	.hol-single-product {
		padding-bottom: calc(6.5rem + env(safe-area-inset-bottom));
	}

	.hol-product-summary__add-to-cart form.cart {
		flex-wrap: nowrap;
	}

	.hol-product-summary__add-to-cart .single_add_to_cart_button {
		flex: 1 1 auto;
		width: auto;
	}
}

@media (max-width: 767px) {
	.hol-front__stack {
		padding-block: var(--wp--preset--spacing--60);
		padding-inline: var(--wp--preset--spacing--40);
		gap: var(--wp--preset--spacing--70);
	}

	.hol-home-section__intro--row {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--20);
	}

	.hol-home-section__title {
		font-size: var(--wp--preset--font-size--h3);
	}

	.hol-age-rail__card,
	.hol-type-rail__card {
		min-height: 9.75rem;
		padding: var(--wp--preset--spacing--30);
	}

	.hol-age-rail__name {
		font-size: 1.05rem;
	}

	.hol-age-rail__glyph svg {
		width: 5.5rem;
		height: 5.5rem;
	}

	.hol-age-rail__icon {
		width: 2.5rem;
		height: 2.5rem;
	}

	.hol-type-rail__name {
		font-size: var(--wp--preset--font-size--body-large);
	}

	.hol-type-rail__card {
		gap: var(--wp--preset--spacing--20);
	}

	.hol-product-grid {
		gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20);
	}

	.hol-product-card__body {
		padding-top: var(--wp--preset--spacing--20);
	}

	.hol-product-card__title {
		font-size: var(--wp--preset--font-size--body-small);
	}

	.hol-product-card__meta {
		display: none;
	}

	.hol-product-card__actions .button,
	.hol-product-card__actions a.button,
	.woocommerce .hol-product-card__actions a.button {
		min-height: 2.5rem;
		height: 2.5rem;
		font-size: var(--wp--preset--font-size--caption);
	}

	.hol-shop {
		padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--70);
		padding-inline: var(--wp--preset--spacing--30);
	}

	.hol-shop-header__title {
		font-size: var(--wp--preset--font-size--h2);
	}

	.hol-shop-header__description {
		font-size: var(--wp--preset--font-size--body);
	}

	.hol-shop-cats {
		margin-inline: calc(var(--wp--preset--spacing--30) * -1);
		padding-inline: var(--wp--preset--spacing--30);
	}

	.hol-single-product {
		padding-inline: var(--wp--preset--spacing--30);
		padding-top: var(--wp--preset--spacing--30);
	}

	.hol-product-primary {
		padding: 0;
		background: transparent;
		border: none;
		box-shadow: none;
		border-radius: 0;
	}

	.hol-product-gallery {
		margin-inline: calc(var(--wp--preset--spacing--30) * -1);
	}

	.woocommerce-product-gallery {
		border-radius: 0;
		padding: 0;
	}

	.woocommerce-product-gallery__image img,
	.woocommerce-product-gallery__image .wp-post-image {
		border-radius: 0;
	}

	.hol-product-primary__info {
		margin-top: var(--wp--preset--spacing--40);
	}

	.hol-product-summary__title {
		font-size: var(--wp--preset--font-size--h3);
	}

	.hol-product-spec-line {
		gap: var(--wp--preset--spacing--30);
		padding: var(--wp--preset--spacing--30);
	}

	.hol-product-related,
	.hol-product-recently-viewed,
	.hol-product-details,
	.hol-product-reviews {
		margin-top: var(--wp--preset--spacing--60);
	}

	.hol-footer {
		padding-inline: var(--wp--preset--spacing--30);
		padding-block: var(--wp--preset--spacing--60) calc(var(--wp--preset--spacing--40) + env(safe-area-inset-bottom));
	}

	.hol-footer__inner {
		gap: var(--wp--preset--spacing--50);
	}

	.hol-newsletter__form {
		flex-direction: column;
		max-width: none;
	}

	.hol-newsletter__submit {
		width: 100%;
		min-height: 2.75rem;
	}

	.hol-page,
	.hol-page-body,
	.hol-page-hero {
		padding-inline: var(--wp--preset--spacing--30);
	}

	body.woocommerce-cart .hol-page-body,
	body.woocommerce-checkout .hol-page-body {
		padding-inline: var(--wp--preset--spacing--30);
	}
}

