
/*
 * Shared responsive scale — 480 / 600 / 782 / 960 / 1200.
 * Every @media query below should collapse on one of these five values so
 * components shift in sync instead of drifting apart by a few pixels each.
 * (Blocks use the same scale via plugins/simoks-blocks/src/shared/_breakpoints.scss.)
 * The header (assets/css/header.css) intentionally keeps its own values —
 * it already matches this scale closely and isn't part of this migration.
 */

:root {
	--simoks-header-height: 5.5rem;
	--simoks-line: color-mix(in srgb, currentColor 14%, transparent);
	--simoks-muted: color-mix(in srgb, currentColor 64%, transparent);
	--simoks-container-wide: 1280px;
	--simoks-container-reading: 760px;
	--simoks-page-gutter: clamp(1rem, 4vw, 2.5rem);
	--simoks-control-height: 3rem;
	--simoks-radius-sm: 0.5rem;
	--simoks-radius-md: 0.75rem;
	--simoks-radius-lg: 1.25rem;
	--simoks-radius-pill: 999px;
	--simoks-transition-fast: 180ms ease;
	--simoks-transition-slow: 420ms cubic-bezier(0.2, 0.7, 0.2, 1);

	/*
	 * Champagne (#C5A46D) is a fill/rule colour: as small text on Warm Ivory it
	 * only reaches 2.15:1. --simoks-accent-ink is the darkened champagne used
	 * wherever the accent carries text on a light surface (4.97:1 on ivory).
	 * Dark sections below reset it to the brand champagne, which clears AAA there.
	 */
	--simoks-accent-ink: #856428;

	/*
	 * Muted Olive (#68756B) is 4.40:1 on Warm Ivory and 3.82:1 on Soft Stone —
	 * both under AA for body-size text. --simoks-muted-ink is the text-safe
	 * variant (5.20:1 / 4.51:1) for muted copy that is not large-scale.
	 */
	--simoks-muted-ink: #5C6A5F;
}


/* Global rhythm */
html {
	scroll-behavior: smooth;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

:where(.wp-site-blocks) {
	overflow: clip;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

a {
	transition: opacity 180ms ease;
}

a:hover,
a:focus-visible {
	opacity: 0.72;
}

img {
	height: auto;
}

/* Header */
.simoks-site-header {
	position: relative;
	z-index: 40;
	border-bottom: 1px solid var(--simoks-line);
	background: color-mix(in srgb, var(--wp--preset--color--base) 94%, transparent);
	backdrop-filter: blur(18px);
}

.simoks-site-header__inner {
	min-height: var(--simoks-header-height);
}

.simoks-site-header .wp-block-site-logo img {
	display: block;
	max-height: 2.4rem;
	width: auto;
}

.simoks-site-header .wp-block-navigation__container {
	gap: clamp(1rem, 2vw, 2rem);
}

.simoks-site-header .wp-block-navigation-item__content {
	padding-block: 0.7rem;
}

/* Desktop mega-style submenu. Core Navigation still owns keyboard/mobile behavior. */
@media (min-width: 783px) {
	.simoks-site-header .wp-block-navigation__submenu-container {
		top: calc(100% + 0.75rem);
		min-width: min(52rem, 80vw) !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		padding: 1.25rem !important;
		border: 1px solid var(--simoks-line) !important;
		border-radius: var(--wp--custom--radius--large, 1.25rem) !important;
		background: var(--wp--preset--color--surface) !important;
		box-shadow: var(--wp--preset--shadow--soft);
	}

	.simoks-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item {
		min-width: 0 !important;
		border-radius: var(--wp--custom--radius--small, 0.5rem);
	}

	.simoks-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 0.8rem 0.9rem !important;
		white-space: normal;
	}
}

/* Footer */
.simoks-site-footer {
	position: relative;
	overflow: clip;
	margin-top: var(--wp--preset--spacing--90);
	background: var(--wp--preset--color--contrast, #202320);
	color: var(--wp--preset--color--secondary, #EAE4D9);
	border-top: 2px solid var(--wp--preset--color--accent, #C5A46D);
	/* Dark surface: restore full Champagne for the accent colour (same pattern as .simoks-home-cta-wrap) */
	--simoks-accent-ink: var(--wp--preset--color--accent, #C5A46D);
}

body.home .simoks-site-footer {
	margin-top: 0;
}

.simoks-site-footer a {
	color: inherit;
	text-decoration: none;
}

/*
 * Main inner grid: wide brand column (with contact facts) | nav columns | newsletter.
 * Three asymmetric columns; collapses to two at 960 px, then one at 600 px.
 */
.simoks-footer__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 0.85fr) minmax(0, 1.1fr);
	column-gap: clamp(2.5rem, 5vw, 5.5rem);
	padding-top: clamp(3.5rem, 7vw, 6rem);
	padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

/* Brand column */
.simoks-footer__wordmark,
.simoks-footer__wordmark a {
	font-size: 1.6rem;
	color: inherit;
}

.simoks-footer__tagline {
	margin: 0.75rem 0 0;
	color: var(--simoks-accent-ink, #856428);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.simoks-footer__description {
	max-width: 28rem;
	margin: 0.85rem 0 0;
	opacity: 0.7;
	line-height: 1.65;
}

/* Contact facts — the same bordered-grid language as the About page's fact grid, scaled down for a footer. */
.simoks-footer__contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 2rem;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	border-left: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.simoks-footer__contact-item {
	padding: 1.2rem 1.4rem 1.2rem 0;
	margin-left: 1.4rem;
	border-right: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.simoks-footer__label {
	margin: 0 0 0.55rem;
	color: color-mix(in srgb, currentColor 60%, transparent);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.simoks-footer__value {
	margin: 0;
	line-height: 1.55;
}

.simoks-footer__value a {
	border-bottom: 1px solid color-mix(in srgb, currentColor 0%, transparent);
	transition: border-color var(--simoks-transition-fast), opacity var(--simoks-transition-fast);
}

.simoks-footer__value a:hover,
.simoks-footer__value a:focus-visible {
	border-color: color-mix(in srgb, currentColor 45%, transparent);
	opacity: 0.85;
}

/* Navigation columns */
.simoks-footer__nav {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding-top: 0.2rem;
}

.simoks-footer__nav-col .simoks-footer__label {
	margin-bottom: 1rem;
}

.simoks-footer__menu .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.6rem;
}

.simoks-footer__menu .wp-block-navigation-item__content {
	padding: 0;
	opacity: 0.72;
	transition: opacity var(--simoks-transition-fast), color var(--simoks-transition-fast);
}

.simoks-footer__menu .wp-block-navigation-item__content:hover,
.simoks-footer__menu .wp-block-navigation-item__content:focus-visible {
	opacity: 1;
	color: var(--wp--preset--color--accent, #C5A46D);
}

/* Newsletter column */
.simoks-footer__newsletter {
	padding-top: 0.2rem;
}

.simoks-footer__newsletter-desc {
	margin: 0.85rem 0 1.5rem;
	max-width: 20rem;
	opacity: 0.7;
	line-height: 1.6;
}

.simoks-footer__newsletter-success {
	margin: 0;
	color: var(--simoks-accent-ink, #856428);
	font-size: 0.9rem;
	font-weight: 600;
}

/* Newsletter form — hairline inputs, no boxed border. */
.simoks-footer__form {
	position: relative;
}

.simoks-footer__form-label {
	display: block;
	margin-bottom: 0.6rem;
	color: color-mix(in srgb, currentColor 60%, transparent);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.simoks-footer__form-row {
	display: flex;
	align-items: center;
	border-bottom: 1px solid color-mix(in srgb, currentColor 35%, transparent);
	transition: border-color var(--simoks-transition-fast);
}

.simoks-footer__form-row:focus-within {
	border-color: currentColor;
}

.simoks-footer__form-input {
	flex: 1;
	min-width: 0;
	padding: 0.55rem 0;
	background: transparent;
	border: 0;
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	outline: none;
}

.simoks-footer__form-input::placeholder {
	opacity: 0.4;
}

.simoks-footer__form-submit {
	flex-shrink: 0;
	padding: 0.45rem 0 0.45rem 0.75rem;
	background: transparent;
	border: 0;
	color: var(--simoks-accent-ink, #856428);
	cursor: pointer;
	font-size: 1.1rem;
	line-height: 1;
	transition: transform var(--simoks-transition-fast);
}

.simoks-footer__form-submit:hover,
.simoks-footer__form-submit:focus-visible {
	transform: translateX(0.25rem);
}

.simoks-footer__form-submit:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.simoks-footer__form-error {
	margin: 0.6rem 0 0;
	color: #e57373; /* light warm-red — ~5:1 on contrast dark footer */
	font-size: 0.82rem;
}

/* Social links */
.simoks-footer__social {
	display: flex;
	gap: 1rem;
	align-items: center;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.simoks-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	opacity: 0.55;
	transition: opacity var(--simoks-transition-fast);
}

.simoks-footer__social-link:hover,
.simoks-footer__social-link:focus-visible {
	opacity: 1;
}

.simoks-footer__social-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: var(--simoks-radius-sm);
}

/*
 * Ghost wordmark — oversized outlined serif bleeding off the footer's bottom edge.
 * Clips via overflow: clip on .simoks-site-footer. Hidden on narrow screens where it
 * would overflow the viewport width.
 */
.simoks-footer__ghost {
	position: absolute;
	bottom: -0.55em;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--wp--preset--font-family--display, "Iowan Old Style", Baskerville, "Times New Roman", serif);
	font-size: clamp(11rem, 20vw, 20rem);
	font-weight: 700;
	line-height: 1;
	color: transparent;
	/* currentColor resolves to transparent here; use the text token directly (secondary = warm ivory on dark footer). */
	-webkit-text-stroke: 1px color-mix(in srgb, var(--wp--preset--color--secondary, #EAE4D9) 13%, transparent);
	letter-spacing: -0.02em;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

/* Legal bar — sits above the ghost wordmark in z-order. */
.simoks-footer__legal {
	position: relative;
	z-index: 1;
	padding-top: 1.5rem;
	padding-bottom: clamp(4.5rem, 10vw, 8rem);
	border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	opacity: 0.65;
}

/* 2-column layout at 960 px: brand spans full left; nav + newsletter stack on the right. */
@media (max-width: 960px) {
	.simoks-footer__inner {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		row-gap: 3rem;
	}

	.simoks-footer__brand {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
	}

	.simoks-footer__nav {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
		flex-direction: row;
		column-gap: clamp(2rem, 4vw, 3.5rem);
	}

	.simoks-footer__newsletter {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}
}

/* Single column at 600 px; ghost wordmark hidden (too wide at small sizes). */
@media (max-width: 600px) {
	.simoks-footer__inner {
		grid-template-columns: 1fr;
	}

	.simoks-footer__brand {
		grid-column: auto;
		grid-row: auto;
	}

	.simoks-footer__nav {
		grid-column: auto;
		grid-row: auto;
		flex-direction: row;
	}

	.simoks-footer__newsletter {
		grid-column: auto;
		grid-row: auto;
	}

	.simoks-footer__contact {
		grid-template-columns: 1fr;
	}

	.simoks-footer__ghost {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.simoks-footer__value a,
	.simoks-footer__menu .wp-block-navigation-item__content,
	.simoks-footer__form-row,
	.simoks-footer__form-submit,
	.simoks-footer__social-link {
		transition: none;
	}
}

/* Homepage — company introduction */
.simoks-home-about {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--base, #F7F4EE);
	color: var(--wp--preset--color--contrast, #202320);
	border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent);
}

/* Warm ambient wash so the section reads as lit rather than flat. */
.simoks-home-about::before {
	position: absolute;
	z-index: 0;
	top: -34%;
	right: -12%;
	width: min(46rem, 62vw);
	aspect-ratio: 1;
	background: radial-gradient(
		circle,
		color-mix(in srgb, var(--wp--preset--color--accent, #C5A46D) 13%, transparent),
		transparent 62%
	);
	content: "";
	pointer-events: none;
}

.simoks-home-about__inner {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(100% - clamp(2.5rem, 7vw, 7rem), 1280px);
	grid-template-columns: minmax(0, 1.05fr) minmax(17rem, .95fr);
	align-items: end;
	gap: clamp(2rem, 5vw, 5.5rem);
	margin-inline: auto;
	padding-block: clamp(3.5rem, 6.5vw, 6.5rem) clamp(3rem, 5vw, 5rem);
}

.simoks-home-about__intro,
.simoks-home-about__body {
	min-width: 0;
}

.simoks-home-about__eyebrow {
	display: flex;
	gap: .85rem;
	align-items: center;
	margin: 0 0 clamp(1.1rem, 2vw, 1.6rem);
	color: var(--wp--preset--color--primary, #B9AD9B);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.3;
	text-transform: uppercase;
}

.simoks-home-about__eyebrow::before {
	width: clamp(1.75rem, 4vw, 3rem);
	height: 1px;
	flex: 0 0 auto;
	background: var(--wp--preset--color--accent, #C5A46D);
	content: "";
}

/*
 * Section headings are scoped to their section class so they outrank the
 * blocks plugin's semantic baseline ([class*="wp-block-simoks-"] h2, which is
 * specificity 0,1,1). Without the extra class these collapse to the shared
 * section-title scale once the markup lives inside a simoks block wrapper.
 */
.simoks-home-about .simoks-home-about__heading {
	max-width: 15ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--xx-large, clamp(1.875rem, 3vw, 2.75rem));
	font-weight: 400;
	letter-spacing: -.035em;
	line-height: 1.04;
	text-wrap: balance;
}

.simoks-home-about__body {
	padding-bottom: .5rem;
}

.simoks-home-about__body > p {
	max-width: 34rem;
	margin: 0;
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #202320) 68%, transparent);
	font-size: clamp(1rem, 1.15vw, 1.1rem);
	line-height: 1.7;
}

.simoks-home-about__link {
	position: relative;
	display: inline-flex;
	gap: .7rem;
	align-items: center;
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	padding-bottom: .55rem;
	color: inherit;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.simoks-home-about__link::before,
.simoks-home-about__link::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	content: "";
}

.simoks-home-about__link::before {
	background: color-mix(in srgb, currentColor 28%, transparent);
}

.simoks-home-about__link::after {
	background: var(--wp--preset--color--accent, #C5A46D);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 420ms cubic-bezier(.2, .7, .2, 1);
}

.simoks-home-about__link:hover::after,
.simoks-home-about__link:focus-visible::after {
	transform: scaleX(1);
}

.simoks-home-about__arrow {
	color: var(--simoks-accent-ink, #856428);
	font-size: 1rem;
	transition: transform 180ms ease;
}

.simoks-home-about__link:hover .simoks-home-about__arrow,
.simoks-home-about__link:focus-visible .simoks-home-about__arrow {
	transform: translate(.2rem, -.2rem);
}

/* Offerings read as a three-column index, each with its own hairline. */
.simoks-home-about__offerings {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
	margin: clamp(2.5rem, 5vw, 4.5rem) 0 0;
	padding: 0;
	list-style: none;
}

.simoks-home-about__offerings li {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: clamp(.6rem, 1.3vw, .95rem);
	padding: clamp(1.1rem, 2.2vw, 1.55rem) 0 0;
	border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent);
}

.simoks-home-about__offerings li::after {
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--wp--preset--color--accent, #C5A46D);
	content: "";
	transform-origin: left;
}

.simoks-home-about__offerings li > span:last-child {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.15rem, 1.7vw, 1.6rem);
	letter-spacing: -.02em;
	line-height: 1.2;
	text-wrap: balance;
}

.simoks-home-about__number {
	color: var(--simoks-accent-ink, #856428);
	font-family: var(--wp--preset--font-family--body);
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .16em;
}

@media (max-width: 782px) {
	.simoks-home-about__inner {
		grid-template-columns: 1fr;
		align-items: start;
		gap: 1.75rem;
	}

	.simoks-home-about__offerings {
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 1.75rem;
	}

	.simoks-home-about__offerings li {
		padding-block: 1.1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.simoks-home-about__arrow,
	.simoks-home-about__link::after {
		transition: none;
	}
}

/* Offerings draw their accent rule in sequence once the row enters view. */
.simoks-motion-ready body.home .simoks-home-about__offerings li::after {
	transform: scaleX(0);
	transition: transform 620ms cubic-bezier(.2, .7, .2, 1);
}

.simoks-motion-ready body.home .simoks-home-about__offerings.is-revealed li::after {
	transform: scaleX(1);
}

.simoks-motion-ready body.home .simoks-home-about__offerings.is-revealed li:nth-child(2)::after {
	transition-delay: 140ms;
}

.simoks-motion-ready body.home .simoks-home-about__offerings.is-revealed li:nth-child(3)::after {
	transition-delay: 280ms;
}

@media (prefers-reduced-motion: reduce) {
	.simoks-motion-ready body.home .simoks-home-about__offerings li::after {
		transform: scaleX(1);
		transition: none;
	}
}

/* Homepage — premium editorial system */
body.home main > :where(.simoks-home-categories-wrap, .simoks-home-products-wrap, .simoks-home-collections-wrap, .simoks-home-brands-wrap, .simoks-home-cta-wrap) {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0;
	padding-inline: clamp(1.5rem, 5vw, 5rem);
}

body.home :where(.simoks-product-categories, .simoks-featured-products, .simoks-collections-showcase, .simoks-brands, .simoks-home-cta-wrap > .simoks-cta) {
	width: min(100%, 1280px);
	margin-inline: auto;
}

body.home :where(.simoks-product-categories, .simoks-featured-products, .simoks-collections-showcase, .simoks-brands) {
	padding-block: clamp(4rem, 7vw, 6.5rem);
}

body.home :where(.simoks-product-categories__intro, .simoks-featured-products__intro, .simoks-collections-showcase__intro, .simoks-brands__intro) {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(17rem, .95fr);
	column-gap: clamp(2rem, 5vw, 5.5rem);
	align-items: end;
	max-width: none;
	margin-bottom: clamp(2.25rem, 4vw, 3.75rem);
}

body.home :where(.simoks-product-categories__eyebrow, .simoks-featured-products__eyebrow, .simoks-collections-showcase__eyebrow, .simoks-brands__eyebrow) {
	display: flex;
	gap: .85rem;
	align-items: center;
	grid-column: 1 / -1;
	margin-bottom: clamp(1.1rem, 2vw, 1.6rem);
	color: var(--simoks-accent-ink, #856428);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

body.home :where(.simoks-product-categories__eyebrow, .simoks-featured-products__eyebrow, .simoks-collections-showcase__eyebrow, .simoks-brands__eyebrow)::before {
	width: clamp(1.75rem, 4vw, 3rem);
	height: 1px;
	flex: 0 0 auto;
	background: currentcolor;
	content: "";
}

body.home :where(.simoks-product-categories__heading, .simoks-featured-products__heading, .simoks-collections-showcase__heading, .simoks-brands__heading) {
	max-width: 15ch;
	font-size: var(--wp--preset--font-size--xx-large, clamp(1.875rem, 3vw, 2.75rem));
	font-weight: 400;
	letter-spacing: -.035em;
	line-height: 1.04;
	text-wrap: balance;
}

body.home :where(.simoks-product-categories__description, .simoks-featured-products__description, .simoks-collections-showcase__description, .simoks-brands__description) {
	align-self: end;
	max-width: 34rem;
	margin: 0 0 .5rem;
	color: color-mix(in srgb, currentcolor 68%, transparent);
	font-size: clamp(1rem, 1.15vw, 1.1rem);
	line-height: 1.7;
}

body.home :where(.simoks-featured-products__aside, .simoks-collections-showcase__aside, .simoks-brands__aside) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-self: end;
	min-width: 0;
}

/* Mirrors the About section link so both intros read as one system. */
body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link) {
	position: relative;
	display: inline-flex;
	gap: .7rem;
	align-items: center;
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	padding-bottom: .55rem;
	color: inherit;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
}

body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link)::before,
body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link)::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	content: "";
}

body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link)::before {
	background: color-mix(in srgb, currentcolor 28%, transparent);
}

body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link)::after {
	background: var(--wp--preset--color--accent, #C5A46D);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 420ms cubic-bezier(.2, .7, .2, 1);
}

body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link):hover::after,
body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link):focus-visible::after {
	transform: scaleX(1);
}

body.home :where(.simoks-featured-products__arrow, .simoks-collections-showcase__arrow, .simoks-brands__arrow) {
	color: var(--simoks-accent-ink, #856428);
	font-size: 1rem;
	transition: transform 180ms ease;
}

body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link):hover :where(.simoks-featured-products__arrow, .simoks-collections-showcase__arrow, .simoks-brands__arrow),
body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link):focus-visible :where(.simoks-featured-products__arrow, .simoks-collections-showcase__arrow, .simoks-brands__arrow) {
	transform: translate(.2rem, -.2rem);
}

@media (prefers-reduced-motion: reduce) {
	body.home .simoks-featured-products__arrow,
	body.home :where(.simoks-featured-products__link, .simoks-collections-showcase__link, .simoks-brands__link)::after {
		transition: none;
	}
}

/* Category showroom */
.simoks-home-categories-wrap {
	background: var(--wp--preset--color--base, #F7F4EE);
}

body.home .simoks-home-categories-wrap {
	padding-top: 0 !important;
}

/* Product editorial grid */
.simoks-home-products-wrap {
	background: #EAE4D9;
}

/* Editorial pause */
.simoks-home-statement {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--base, #F7F4EE);
	color: var(--wp--preset--color--contrast, #202320);
}

.simoks-home-statement::before {
	position: absolute;
	right: -9rem;
	top: 50%;
	width: clamp(20rem, 40vw, 38rem);
	aspect-ratio: 1;
	border: 1px solid rgb(197 164 109 / 20%);
	content: "";
	transform: translateY(-50%) rotate(45deg);
}

.simoks-home-statement__inner {
	position: relative;
	width: min(100% - clamp(3rem, 10vw, 10rem), 1280px);
	margin-inline: auto;
	padding-block: clamp(5rem, 11vw, 10rem);
}

.simoks-home-statement__eyebrow {
	margin: 0 0 clamp(2rem, 4vw, 4rem);
	color: var(--simoks-accent-ink, #856428);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

/*
 * Section headings are scoped to their section class so they outrank the
 * blocks plugin's semantic baseline ([class*="wp-block-simoks-"] h2, which is
 * specificity 0,1,1). Without the extra class these collapse to the shared
 * section-title scale once the markup lives inside a simoks block wrapper.
 */
.simoks-home-statement .simoks-home-statement__heading {
	max-width: 11ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--display-xl, clamp(3.25rem, 7.5vw, 7rem));
	font-weight: 400;
	letter-spacing: -.075em;
	/*
	 * Iowan Old Style measures asc .757em / desc .26em at this weight, so a
	 * descender clears the next line's ascender only from .86 up. Narrow
	 * viewports wrap to three lines and stack "y" under "d/t/l", which needs
	 * the full 1.02 — see the max-width: 782px block below.
	 */
	line-height: .86;
	text-wrap: balance;
}

.simoks-home-statement__copy {
	max-width: 34rem;
	margin: clamp(2.5rem, 5vw, 5rem) 0 0 auto;
	color: var(--simoks-muted-ink, #5C6A5F);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.75;
}

/* Collection showroom */
.simoks-home-collections-wrap {
	background: var(--wp--preset--color--secondary, #EAE4D9);
	color: var(--wp--preset--color--contrast, #202320);
}

/* Three collections in a two-up grid always orphaned the last card. */
.simoks-collections-showcase__grid,
.simoks-collections-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: start;
}

/*
 * Collection card: a flat photographic panel in the language of the
 * collection detail hero. No shadow, radius or numbered badge; separation is
 * the photograph itself, the copy sits on a forest scrim.
 */
.simoks-collection-card {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--wp--preset--color--contrast, #202320);
	color: var(--wp--preset--color--base, #F7F4EE);
	isolation: isolate;
	container-type: inline-size;
}

.simoks-collection-card:has(a:focus-visible) {
	outline: 2px solid var(--wp--preset--color--accent, #C5A46D);
	outline-offset: 3px;
}

.simoks-collection-card::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(
		0deg,
		color-mix(in srgb, var(--wp--preset--color--contrast, #202320) 88%, transparent) 0%,
		color-mix(in srgb, var(--wp--preset--color--contrast, #202320) 55%, transparent) 30%,
		transparent 62%
	);
	content: "";
	pointer-events: none;
	transition: opacity 600ms ease;
}

.simoks-collection-card:hover::after,
.simoks-collection-card:focus-within::after {
	opacity: .85;
}

.simoks-collection-card__media {
	position: absolute;
	z-index: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	aspect-ratio: auto;
	border-radius: 0;
}

.simoks-collection-card__image,
.simoks-collection-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.4s cubic-bezier(.22, 1, .36, 1);
}

.simoks-collection-card:hover .simoks-collection-card__image,
.simoks-collection-card:focus-within .simoks-collection-card__image {
	transform: scale(1.045);
}

/* Label and title span the card; count and CTA share one footer row. */
.simoks-collection-card__body {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	padding: clamp(1.25rem, 2.2vw, 1.85rem);
	pointer-events: none;
}

.simoks-collection-card__body > * {
	grid-column: 1 / -1;
}

.simoks-collection-card__body :is(a, button) {
	pointer-events: auto;
}

.simoks-collection-card__label {
	margin: 0 0 .7rem;
	color: var(--wp--preset--color--accent, #C5A46D);
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .2em;
	line-height: 1.4;
	text-transform: uppercase;
}

.simoks-collection-card__logo {
	max-width: 7rem;
	max-height: 1.9rem;
	margin-bottom: .7rem;
	filter: brightness(0) invert(1);
}

.simoks-collection-card__title {
	margin: 0;
	color: inherit;
	font-family: var(--simoks-type-display, "Iowan Old Style", "Palatino Linotype", Georgia, serif);
	font-size: clamp(2rem, 3vw, 2.85rem);
	font-weight: 400;
	letter-spacing: -.04em;
	line-height: .95;
	text-wrap: balance;
}

.simoks-collection-card__title a {
	color: inherit;
}

.simoks-collection-card__title a::after {
	position: absolute;
	z-index: 2;
	inset: 0;
	content: "";
}

.simoks-collection-card__excerpt {
	display: -webkit-box;
	max-width: none;
	margin: .7rem 0 0;
	overflow: hidden;
	color: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 80%, transparent);
	font-size: .85rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.simoks-collection-card__count,
.simoks-collection-card__link {
	margin: 1.15rem 0 0;
	padding-top: .9rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 26%, transparent);
	font-size: .66rem;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
}

/* Both cells stretch to the row so their hairlines form one line. */
.simoks-collection-card__count,
.simoks-collection-card__link {
	display: flex;
	align-items: center;
	align-self: stretch;
	white-space: nowrap;
}

.simoks-collection-card__count {
	grid-column: 1;
	color: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 72%, transparent);
}

.simoks-collection-card__link {
	position: relative;
	z-index: 3;
	grid-column: 2;
	gap: .55rem;
	justify-content: flex-end;
	padding-left: 1rem;
	color: var(--wp--preset--color--base, #F7F4EE);
	font-weight: 700;
}

/* Without a count the CTA takes the whole footer row. */
.simoks-collection-card__title + .simoks-collection-card__link,
.simoks-collection-card__excerpt + .simoks-collection-card__link {
	grid-column: 1 / -1;
}

.simoks-collection-card__link span:last-child {
	color: var(--wp--preset--color--accent, #C5A46D);
	transition: transform 220ms ease;
}

.simoks-collection-card:hover .simoks-collection-card__link span:last-child,
.simoks-collection-card__link:focus-visible span:last-child {
	transform: translateX(.3rem);
}

.simoks-collection-card__title a:hover,
.simoks-collection-card__title a:focus-visible,
.simoks-collection-card__link:hover,
.simoks-collection-card__link:focus-visible {
	text-decoration: none;
}

.simoks-collection-card a:focus-visible {
	outline: none;
}

@media (prefers-reduced-motion: reduce) {
	.simoks-collection-card__image,
	.simoks-collection-card::after {
		transition: none;
	}

	.simoks-collection-card:hover .simoks-collection-card__image,
	.simoks-collection-card:focus-within .simoks-collection-card__image {
		transform: none;
	}
}

/* Narrow cards keep the CTA as its arrow; the label stays for screen readers. */
@container (max-width: 24rem) {
	.simoks-collection-card__count + .simoks-collection-card__link span:first-child {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

/* Below 960px the cards become a swipeable row that peeks the next one,
 * so three collections cost one card's height instead of three. */
@media (max-width: 960px) {
	.simoks-collections-showcase__grid {
		grid-template-columns: none;
		grid-auto-columns: min(62%, 22rem);
		grid-auto-flow: column;
		margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1rem));
		padding-inline: var(--wp--style--root--padding-left, 1rem);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-padding-inline: var(--wp--style--root--padding-left, 1rem);
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.simoks-collections-showcase__grid::-webkit-scrollbar {
		display: none;
	}

	.simoks-collections-showcase__grid > .simoks-collection-card {
		scroll-snap-align: start;
	}

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

@media (max-width: 600px) {
	.simoks-collections-showcase__grid {
		grid-auto-columns: 80%;
	}

	.simoks-collections-grid {
		grid-template-columns: 1fr;
	}
}

/* Partner gallery */
/* ── Private Label / Custom Branding ───────────────────────────────────── */
.simoks-home-private-label {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--contrast, #202320);
	color: var(--wp--preset--color--base, #F7F4EE);
	--simoks-accent-ink: var(--wp--preset--color--accent, #C5A46D);
}

/* Soft radial glow behind the bottle on the right */
.simoks-home-private-label::before {
	position: absolute;
	z-index: 0;
	right: -5%;
	top: 50%;
	width: clamp(22rem, 50vw, 52rem);
	aspect-ratio: 1;
	background: radial-gradient(
		circle,
		color-mix(in srgb, var(--wp--preset--color--accent, #C5A46D) 7%, transparent),
		transparent 65%
	);
	content: "";
	transform: translateY(-50%);
	pointer-events: none;
}

.simoks-home-private-label__inner {
	position: relative;
	z-index: 1;
	display: grid;
	width: min(100% - clamp(2.5rem, 7vw, 7rem), 1280px);
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	align-items: center;
	gap: clamp(2.5rem, 5vw, 5rem);
	margin-inline: auto;
	padding-block: clamp(5rem, 9vw, 9rem) clamp(3rem, 5vw, 5rem);
}

.simoks-home-private-label__eyebrow {
	display: flex;
	gap: .85rem;
	align-items: center;
	margin: 0 0 clamp(1.25rem, 2.5vw, 2rem);
	color: var(--wp--preset--color--accent, #C5A46D);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.3;
	text-transform: uppercase;
}

.simoks-home-private-label__eyebrow::before {
	display: block;
	width: clamp(1.75rem, 4vw, 3rem);
	height: 1px;
	flex: 0 0 auto;
	background: var(--wp--preset--color--accent, #C5A46D);
	content: "";
}

.simoks-home-private-label .simoks-home-private-label__heading {
	max-width: 16ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--xx-large, clamp(1.875rem, 3vw, 2.75rem));
	font-weight: 400;
	letter-spacing: -.04em;
	line-height: 1.04;
	text-wrap: balance;
}

.simoks-home-private-label__body {
	max-width: 38rem;
	margin: clamp(1.5rem, 2.8vw, 2.5rem) 0 0;
	color: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 68%, transparent);
	font-size: clamp(.95rem, 1.3vw, 1.1rem);
	line-height: 1.78;
}

.simoks-home-private-label__features {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem .6rem;
	margin: clamp(2rem, 3.5vw, 3rem) 0 0;
	padding: 0;
	list-style: none;
}

.simoks-home-private-label__features li {
	padding: .4rem .9rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent, #C5A46D) 32%, transparent);
	color: var(--wp--preset--color--accent, #C5A46D);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.simoks-home-private-label__cta {
	display: inline-flex;
	gap: .6rem;
	align-items: center;
	margin: clamp(2.5rem, 4.5vw, 4rem) 0 0;
	color: var(--wp--preset--color--base, #F7F4EE);
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
	transition: gap 200ms ease;
}

.simoks-home-private-label__cta:hover,
.simoks-home-private-label__cta:focus-visible {
	gap: 1rem;
}

.simoks-home-private-label__cta:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent, #C5A46D);
	outline-offset: 3px;
}

.simoks-home-private-label__visual {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.simoks-home-private-label__bottle {
	display: block;
	width: 100%;
	max-width: clamp(16rem, 26vw, 26rem);
	transform: rotate(-8deg);
	transform-origin: bottom center;
	filter: drop-shadow(0 20px 44px color-mix(in srgb, #000 40%, transparent));
	pointer-events: none;
	user-select: none;
}

@media (prefers-reduced-motion: no-preference) {
	.simoks-home-private-label__bottle {
		animation: simoks-bottle-float 7s ease-in-out infinite;
	}
}

@keyframes simoks-bottle-float {
	0%, 100% { transform: rotate(-8deg) translateY(0); }
	50%       { transform: rotate(-8deg) translateY(-.8rem); }
}

/* Reveal */
.simoks-motion-ready .simoks-home-private-label__copy {
	opacity: 0;
	transform: translateY(1.4rem);
	transition: opacity 650ms ease, transform 650ms ease;
}

.simoks-motion-ready .simoks-home-private-label__visual {
	opacity: 0;
	transition: opacity 800ms ease 280ms;
}

.simoks-motion-ready .simoks-home-private-label__copy.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

.simoks-motion-ready .simoks-home-private-label__visual.is-revealed {
	opacity: 1;
}

@media (max-width: 782px) {
	.simoks-home-private-label__inner {
		grid-template-columns: 1fr;
		padding-block: clamp(3.5rem, 8vw, 5rem) clamp(2.5rem, 5vw, 3.5rem);
		text-align: center;
	}

	.simoks-home-private-label__eyebrow {
		justify-content: center;
	}

	.simoks-home-private-label__body {
		margin-inline: auto;
	}

	.simoks-home-private-label__features {
		justify-content: center;
	}

	.simoks-home-private-label__visual {
		order: -1;
	}

	.simoks-home-private-label__bottle {
		max-width: clamp(12rem, 40vw, 18rem);
	}
}

.simoks-home-brands-wrap {
	background: var(--wp--preset--color--base, #F7F4EE);
}

/* Closing conversion panel */
/* CTA band — full-bleed dark anchor before the footer */
.simoks-home-cta-wrap {
	background: var(--wp--preset--color--contrast, #202320);
	color: var(--wp--preset--color--base, #F7F4EE);
	/* Dark surface: restore full Champagne for the accent colour */
	--simoks-accent-ink: var(--wp--preset--color--accent, #C5A46D);
}

body.home .simoks-home-cta-wrap .simoks-cta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas:
		"eyebrow eyebrow"
		"copy    aside";
	align-items: end;
	column-gap: clamp(3rem, 6vw, 8rem);
	row-gap: clamp(2.5rem, 5vw, 4rem);
	padding: clamp(5rem, 9vw, 9rem) clamp(1rem, 4vw, 2.5rem);
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

body.home .simoks-home-cta-wrap .simoks-cta::after {
	display: none;
}

body.home .simoks-cta__eyebrow {
	grid-area: eyebrow;
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin: 0;
	color: var(--wp--preset--color--accent, #C5A46D);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.home .simoks-cta__eyebrow::after {
	content: "";
	flex: 1;
	height: 1px;
	background: color-mix(in srgb, var(--wp--preset--color--accent, #C5A46D) 28%, transparent);
}

body.home .simoks-cta__copy {
	grid-area: copy;
}

body.home .simoks-cta__heading {
	margin: 0;
	max-width: 13ch;
	font-size: var(--wp--preset--font-size--display, clamp(2.25rem, 4.4vw, 4rem));
	font-weight: 400;
	line-height: .94;
	letter-spacing: -.035em;
}

body.home .simoks-cta__aside {
	grid-area: aside;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: clamp(2rem, 3.5vw, 2.75rem);
}

body.home .simoks-cta__description {
	max-width: 34rem;
	margin: 0;
	color: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 68%, transparent);
	font-size: 1.05rem;
	line-height: 1.7;
}

body.home .simoks-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}

body.home .simoks-cta__primary {
	display: inline-flex;
	gap: 1.5rem;
	align-items: center;
	min-height: 3.25rem;
	padding: .8rem 1.6rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--wp--preset--color--base, #F7F4EE);
	color: var(--wp--preset--color--contrast, #202320);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease, transform 180ms ease;
}

body.home .simoks-cta__primary:hover,
body.home .simoks-cta__primary:focus-visible {
	background: var(--wp--preset--color--secondary, #EAE4D9);
	transform: translateY(-2px);
}

body.home .simoks-cta__secondary {
	padding-bottom: .2rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 28%, transparent);
	color: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 60%, transparent);
	font-size: .85rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-decoration: none;
	transition: color 180ms ease, border-color 180ms ease;
}

body.home .simoks-cta__secondary:hover,
body.home .simoks-cta__secondary:focus-visible {
	color: var(--wp--preset--color--base, #F7F4EE);
	border-color: var(--wp--preset--color--base, #F7F4EE);
}

/* Controlled reveal motion; content remains visible when JavaScript is unavailable. */
.simoks-motion-ready body.home :where(
	.simoks-home-about__intro,
	.simoks-home-about__body,
	.simoks-home-about__offerings,
	.simoks-product-categories__intro,
	.simoks-category-card,
	.simoks-featured-products__intro,
	.simoks-product-card,
	.simoks-home-statement__inner,
	.simoks-collections-showcase__intro,
	.simoks-collection-card,
	.simoks-brands__intro,
	.simoks-brand-card,
	.simoks-home-cta-wrap .simoks-cta
) {
	opacity: 0;
	transform: translateY(2rem);
	transition: opacity 700ms ease, transform 800ms cubic-bezier(.2, .7, .2, 1);
}

.simoks-motion-ready body.home :where(
	.simoks-home-about__intro,
	.simoks-home-about__body,
	.simoks-home-about__offerings,
	.simoks-product-categories__intro,
	.simoks-category-card,
	.simoks-featured-products__intro,
	.simoks-product-card,
	.simoks-home-statement__inner,
	.simoks-collections-showcase__intro,
	.simoks-collection-card,
	.simoks-brands__intro,
	.simoks-brand-card,
	.simoks-home-cta-wrap .simoks-cta
).is-revealed {
	opacity: 1;
	transform: translateY(0);
}

.simoks-motion-ready body.home :where(.simoks-category-card, .simoks-product-card, .simoks-collection-card, .simoks-brand-card):nth-child(2) { transition-delay: 80ms; }
.simoks-motion-ready body.home :where(.simoks-category-card, .simoks-product-card, .simoks-collection-card, .simoks-brand-card):nth-child(3) { transition-delay: 160ms; }
.simoks-motion-ready body.home :where(.simoks-category-card, .simoks-product-card, .simoks-collection-card, .simoks-brand-card):nth-child(4) { transition-delay: 240ms; }

@media (max-width: 960px) {
	body.home :where(.simoks-product-categories__intro, .simoks-featured-products__intro, .simoks-collections-showcase__intro, .simoks-brands__intro) {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	body.home :where(.simoks-product-categories__description, .simoks-featured-products__description, .simoks-collections-showcase__description, .simoks-brands__description) {
		margin: 0;
	}
}

@media (max-width: 782px) {
	body.home :where(.simoks-product-categories, .simoks-featured-products, .simoks-collections-showcase, .simoks-brands) {
		padding-block: clamp(4.5rem, 18vw, 7rem);
	}

	body.home :where(.simoks-product-categories__heading, .simoks-featured-products__heading, .simoks-collections-showcase__heading, .simoks-brands__heading) {
		font-size: clamp(2.7rem, 13vw, 4.5rem);
		line-height: .96;
	}

	.simoks-home-statement .simoks-home-statement__heading {
		font-size: clamp(3rem, 15vw, 5rem);
		line-height: 1.06;
	}

	.simoks-home-statement__copy {
		margin-left: 0;
	}

	/*
	 * At 20rem the clamp floor never yielded to the 40vw term, so the diamond
	 * spanned a 375px viewport end to end. Tuck it into the corner instead.
	 */
	.simoks-home-statement::before {
		width: min(60vw, 15rem);
		right: -5rem;
		top: 18%;
	}

	body.home .simoks-home-cta-wrap .simoks-cta {
		grid-template-columns: 1fr;
		grid-template-areas:
			"eyebrow"
			"copy"
			"aside";
		row-gap: clamp(2rem, 6vw, 3rem);
		padding-block: clamp(3.5rem, 9vw, 5rem);
	}

	body.home .simoks-cta__actions {
		width: 100%;
	}

	body.home .simoks-cta__primary {
		width: 100%;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.simoks-motion-ready body.home :where(
		.simoks-home-about__intro,
		.simoks-home-about__body,
		.simoks-home-about__offerings,
		.simoks-product-categories__intro,
		.simoks-category-card,
		.simoks-featured-products__intro,
		.simoks-product-card,
		.simoks-home-statement__inner,
		.simoks-collections-showcase__intro,
		.simoks-collection-card,
		.simoks-brands__intro,
		.simoks-brand-card,
		.simoks-home-cta-wrap .simoks-cta
	) {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Generic editorial shell */
.simoks-page-shell,
.simoks-archive-shell,
.simoks-single-shell {
	padding-block: clamp(3rem, 7vw, 7rem);
}

.simoks-page-intro {
	max-width: 58rem;
	margin-bottom: clamp(2.5rem, 6vw, 5rem);
}

.simoks-page-intro .wp-block-post-title,
.simoks-page-intro .wp-block-query-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--display-lg, clamp(3.5rem, 9vw, 8rem));
	letter-spacing: -0.055em;
	line-height: 0.95;
}

.simoks-page-intro .wp-block-post-excerpt,
.simoks-page-intro .wp-block-term-description {
	max-width: 45rem;
	margin-top: 1.5rem;
	color: var(--wp--preset--color--muted);
	font-size: 1.15rem;
	line-height: 1.7;
}

/* Product / collection single */
.simoks-single-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 6vw, 7rem);
	align-items: center;
}

.simoks-single-hero__media .wp-block-post-featured-image {
	overflow: hidden;
	margin: 0;
	border-radius: var(--wp--custom--radius--large, 1.25rem);
	background: color-mix(in srgb, currentColor 5%, transparent);
}

.simoks-view-product .simoks-single-hero__media .wp-block-post-featured-image {
	aspect-ratio: 4 / 5;
}

.simoks-view-collection .simoks-single-hero__media .wp-block-post-featured-image {
	aspect-ratio: 16 / 11;
}

.simoks-single-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.simoks-single-hero__content .wp-block-post-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--display, clamp(2.25rem, 4.4vw, 4rem));
	letter-spacing: -0.05em;
	line-height: 0.98;
}

.simoks-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	margin-bottom: 1.25rem;
	color: var(--wp--preset--color--muted);
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.simoks-single-body {
	padding-top: clamp(3rem, 7vw, 7rem);
}

.simoks-single-body > .wp-block-post-content {
	font-size: 1.08rem;
	line-height: 1.75;
}

/* Query cards — the generic fallback post-loop style (templates/index.html).
   Explicitly excluded wherever .simoks-product-card is also present, so the
   shared editorial product card (shared/_product-card.scss) always wins
   there instead of fighting this generic style for the same element. */
.simoks-query-grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.simoks-query-grid .wp-block-post-template > li {
	list-style: none;
}

.simoks-query-card:not(.simoks-product-card) {
	min-width: 0;
}

.simoks-query-card:not(.simoks-product-card) .wp-block-post-featured-image {
	overflow: hidden;
	margin: 0 0 1rem;
	aspect-ratio: 4 / 5;
	border-radius: var(--wp--custom--radius--large, 1.25rem);
	background: color-mix(in srgb, currentColor 5%, transparent);
}

.simoks-query-card--collection .wp-block-post-featured-image {
	aspect-ratio: 16 / 11;
}

.simoks-query-card:not(.simoks-product-card) .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.simoks-query-card:not(.simoks-product-card):hover .wp-block-post-featured-image img {
	transform: scale(1.02);
}

.simoks-query-card:not(.simoks-product-card) .wp-block-post-title {
	margin: 0;
	font-size: clamp(1.4rem, 2.4vw, 2rem);
}

.simoks-query-card:not(.simoks-product-card) .wp-block-post-excerpt {
	margin-top: 0.75rem;
	color: var(--wp--preset--color--muted);
}

.simoks-query-card:not(.simoks-product-card) .wp-block-read-more {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1rem;
	padding-top: 0.9rem;
	border-top: 1px solid var(--simoks-line);
	color: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.simoks-query-pagination {
	margin-top: var(--wp--preset--spacing--80);
	padding-top: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--simoks-line);
}

.simoks-query-pagination .wp-block-query-pagination {
	align-items: center;
	gap: 0;
}

/* Bare page-number links — no pill borders */
.simoks-query-pagination .page-numbers {
	position: relative;
	display: inline-flex;
	min-width: 2.75rem;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.6rem;
	border: none;
	border-radius: 0;
	color: var(--simoks-muted-ink, #5C6A5F);
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none;
	transition: color 180ms ease;
}

.simoks-query-pagination a.page-numbers:hover,
.simoks-query-pagination a.page-numbers:focus-visible {
	color: var(--wp--preset--color--contrast, #202320);
	background: none;
	outline: none;
}

/* Current page: accent-ink underline, no pill */
.simoks-query-pagination .page-numbers.current {
	color: var(--simoks-accent-ink, #856428);
	font-weight: 700;
	background: none;
}

.simoks-query-pagination .page-numbers.current::after {
	content: '';
	position: absolute;
	inset-inline: 0.6rem;
	bottom: 0.3rem;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
}

.simoks-query-pagination .page-numbers.dots {
	color: var(--simoks-muted-ink, #5C6A5F);
	cursor: default;
}

/* Prev / Next: uppercase text links with animated arrows */
.simoks-query-pagination .wp-block-query-pagination-previous,
.simoks-query-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding-block: 0.5rem;
	color: var(--simoks-muted-ink, #5C6A5F);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 180ms ease;
}

.simoks-query-pagination .wp-block-query-pagination-previous:hover,
.simoks-query-pagination .wp-block-query-pagination-next:hover {
	color: var(--wp--preset--color--contrast, #202320);
}

.simoks-query-pagination .wp-block-query-pagination-previous::before {
	content: "←";
	font-size: 1.1em;
	font-weight: 400;
	letter-spacing: 0;
	transition: transform 200ms ease;
}

.simoks-query-pagination .wp-block-query-pagination-previous:hover::before {
	transform: translateX(-0.3rem);
}

.simoks-query-pagination .wp-block-query-pagination-next::after {
	content: "→";
	font-size: 1.1em;
	font-weight: 400;
	letter-spacing: 0;
	transition: transform 200ms ease;
}

.simoks-query-pagination .wp-block-query-pagination-next:hover::after {
	transform: translateX(0.3rem);
}

@media (prefers-reduced-motion: reduce) {
	.simoks-query-pagination .page-numbers,
	.simoks-query-pagination .wp-block-query-pagination-previous,
	.simoks-query-pagination .wp-block-query-pagination-next { transition: none; }

	.simoks-query-pagination .wp-block-query-pagination-previous::before,
	.simoks-query-pagination .wp-block-query-pagination-next::after { transition: none; }

	.simoks-query-pagination .wp-block-query-pagination-previous:hover::before,
	.simoks-query-pagination .wp-block-query-pagination-next:hover::after { transform: none; }
}

/* 404 */
.simoks-404 {
	display: grid;
	min-height: 60vh;
	align-items: center;
	padding-block: var(--wp--preset--spacing--80);
}

.simoks-404__code {
	margin: 0;
	color: var(--simoks-accent-ink, #856428);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.simoks-404 h1 {
	margin: 0.75rem 0 0;
	font-size: var(--simoks-type-page-title, clamp(2.5rem, 5.4vw, 4.75rem));
	letter-spacing: -0.06em;
}

@media (max-width: 960px) {
	.simoks-query-grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	:root {
		--simoks-header-height: 4.75rem;
	}

	.simoks-single-hero {
		grid-template-columns: 1fr;
	}

	.simoks-view-product .simoks-single-hero__media .wp-block-post-featured-image,
	.simoks-view-collection .simoks-single-hero__media .wp-block-post-featured-image {
		aspect-ratio: 4 / 3;
	}

	.simoks-query-grid .wp-block-post-template {
		grid-template-columns: 1fr;
	}

}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	a,
	.simoks-query-card .wp-block-post-featured-image img {
		transition: none;
	}
}


/* Phase 8 accessibility hardening */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent, #C5A46D);
	outline-offset: 3px;
}

:where(.wp-block-button__link, .simoks-cta__primary, .simoks-hero__button):focus-visible {
	outline-color: currentColor;
}

::selection {
	background: var(--wp--preset--color--secondary, #EAE4D9);
	color: var(--wp--preset--color--contrast, #202320);
}

@media (forced-colors: active) {
	.simoks-site-header,
	.simoks-site-footer,
	.simoks-query-card .wp-block-post-featured-image,
	.simoks-single-hero__media .wp-block-post-featured-image {
		border: 1px solid CanvasText;
	}

	:where(a, button):focus-visible {
		outline: 3px solid Highlight;
	}
}

/* Page 02 — Products catalog */

.simoks-products-page {
	padding-block: clamp(2rem, 5vw, 5.5rem);
}

.simoks-products-intro {
	padding-block: clamp(1.5rem, 3.5vw, 3.5rem);
}

.simoks-products-intro__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--simoks-accent-ink, #856428);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.simoks-products-intro h1 {
	margin-bottom: 1rem;
	letter-spacing: -0.045em;
}

.simoks-products-intro > p:last-child {
	max-width: 52rem;
	color: var(--simoks-muted-ink, #5C6A5F);
}

/* Category strip */
.simoks-products-page__categories {
	padding-block: clamp(1rem, 2vw, 1.5rem);
	margin-bottom: clamp(1.5rem, 3vw, 3rem);
	border-top: 1px solid var(--simoks-line);
	border-bottom: 1px solid var(--simoks-line);
}

/* Catalog grid section */
.simoks-products-page__catalog {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.simoks-products-page__catalog .simoks-query-grid,
.simoks-products-page__catalog .simoks-catalog-toolbar {
	width: 100%;
	max-width: none !important;
	box-sizing: border-box;
}

.simoks-products-page__catalog .simoks-query-grid .wp-block-post-template {
	width: 100%;
	max-width: none;
}

/* Toolbar + results header row */
.simoks-products-page__catalog .wp-block-simoks-catalog-results {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--simoks-muted-ink, #5C6A5F);
	opacity: 1;
}

/* AJAX loading overlay on the catalog region */
.simoks-products-page__catalog {
	position: relative;
	transition: opacity 200ms ease;
}

.simoks-products-page__catalog.is-loading {
	opacity: 0.42;
	pointer-events: none;
}

.simoks-products-page__catalog.is-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 10;
	cursor: wait;
}

/* Product grid */
.simoks-query-grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
}

/* Empty state */
.simoks-empty-state {
	--simoks-empty-line: color-mix(in srgb, currentcolor 16%, transparent);
	--simoks-empty-muted: color-mix(in srgb, currentcolor 68%, transparent);
	display: grid;
	max-width: 58rem;
	justify-items: start;
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid var(--simoks-empty-line);
	border-radius: var(--simoks-radius-lg, 1.25rem);
	background: color-mix(in srgb, var(--wp--preset--color--surface, #FFFFFF) 58%, transparent);
}

.simoks-empty-state__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--simoks-accent-ink, #856428);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	line-height: 1.3;
	text-transform: uppercase;
}

.simoks-empty-state__title {
	max-width: 18ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large, 1.875rem);
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1.02;
	text-wrap: balance;
}

.simoks-empty-state__description {
	max-width: 52ch;
	margin: 1rem 0 0;
	color: var(--simoks-empty-muted);
	font-size: 1rem;
	line-height: 1.65;
}

.simoks-empty-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.simoks-empty-state__action,
.simoks-empty-state__actions .wp-block-button__link {
	display: inline-flex;
	box-sizing: border-box;
	min-height: 3rem;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.2rem;
	border: 1px solid currentcolor;
	border-radius: var(--simoks-radius-pill, 999px);
	background: transparent;
	color: var(--wp--preset--color--primary, #B9AD9B);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.simoks-empty-state__action--primary,
.simoks-empty-state__action-wrap--primary .wp-block-button__link {
	border-color: var(--wp--preset--color--primary, #B9AD9B);
	background: var(--wp--preset--color--primary, #B9AD9B);
	color: #fff;
}

.simoks-empty-state__action:hover,
.simoks-empty-state__actions .wp-block-button__link:hover {
	transform: translateY(-2px);
}

.simoks-empty-state__action:focus-visible,
.simoks-empty-state__actions .wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent, #C5A46D);
	outline-offset: 3px;
}

@media (max-width: 480px) {
	.simoks-empty-state { padding: 1.5rem; }
	.simoks-empty-state__actions,
	.simoks-empty-state__actions .wp-block-button,
	.simoks-empty-state__action { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.simoks-empty-state__action,
	.simoks-empty-state__actions .wp-block-button__link { transition: none; }
	.simoks-empty-state__action:hover,
	.simoks-empty-state__actions .wp-block-button__link:hover { transform: none; }
}

/* Grid breakpoints */
@media (max-width: 960px) { .simoks-query-grid .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 782px) { .simoks-query-grid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .simoks-query-grid .wp-block-post-template { grid-template-columns: 1fr; } }

/* WP's flow-layout CSS adds margin-block-start to every sibling after the first. In a grid
   that gap is already handled by gap, so the extra margin makes card 2+ sit lower than card 1. */
.simoks-query-grid .wp-block-post-template > li { margin-block-start: 0; }

/* Card entry animation — staggered reveal on load and AJAX swap */
@keyframes simoks-card-rise {
	from { opacity: 0; transform: translateY(1.25rem); }
	to   { opacity: 1; transform: none; }
}

.simoks-products-page__catalog .wp-block-post-template > li .simoks-product-card {
	animation: simoks-card-rise 480ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.simoks-products-page__catalog .wp-block-post-template > li:nth-child(2)  .simoks-product-card { animation-delay:  20ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(3)  .simoks-product-card { animation-delay:  40ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(4)  .simoks-product-card { animation-delay:  60ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(5)  .simoks-product-card { animation-delay:  80ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(6)  .simoks-product-card { animation-delay: 100ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(7)  .simoks-product-card { animation-delay: 120ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(8)  .simoks-product-card { animation-delay: 140ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(9)  .simoks-product-card { animation-delay: 160ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(10) .simoks-product-card { animation-delay: 180ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(11) .simoks-product-card { animation-delay: 200ms; }
.simoks-products-page__catalog .wp-block-post-template > li:nth-child(12) .simoks-product-card { animation-delay: 220ms; }

@media (prefers-reduced-motion: reduce) {
	.simoks-products-page__catalog .wp-block-post-template > li .simoks-product-card { animation: none; }
}

/* Dedicated search results */
.simoks-search-page {
	padding-block: clamp(3rem, 7vw, 7rem);
}

.simoks-search-page__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.55fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
	margin-bottom: clamp(3rem, 6vw, 5rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
	border-bottom: 1px solid var(--simoks-line);
}

.simoks-search-page__intro .wp-block-query-title {
	max-width: 13ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 5.85rem);
	letter-spacing: -0.045em;
	line-height: 0.98;
	text-wrap: balance;
}

.simoks-search-form {
	margin: 0;
}

.simoks-search-form .wp-block-search__inside-wrapper {
	min-height: var(--simoks-control-height);
	padding: 0.25rem;
	border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	border-radius: var(--simoks-radius-pill);
	background: var(--wp--preset--color--surface, #FFFFFF);
}

.simoks-search-form .wp-block-search__input {
	min-width: 0;
	padding-inline: 1rem;
	border: 0;
	background: transparent;
	font: inherit;
}

.simoks-search-form .wp-block-search__button {
	min-height: 2.6rem;
	margin: 0;
	padding-inline: 1.2rem;
	border: 0;
	border-radius: var(--simoks-radius-pill);
	background: var(--wp--preset--color--primary, #B9AD9B);
	color: #FFFFFF;
	font-weight: 700;
}

.simoks-search-empty {
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid var(--simoks-line);
	border-radius: var(--simoks-radius-lg);
	background: color-mix(in srgb, var(--wp--preset--color--surface, #FFFFFF) 55%, transparent);
}

.simoks-search-empty h2 {
	margin-top: 0;
	font-size: var(--wp--preset--font-size--x-large, 1.875rem);
}

@media (max-width: 782px) {
	.simoks-search-page__intro {
		grid-template-columns: 1fr;
	}
}

/* Page 03 — Product detail */
/* ======================================================================== *
 * Page — Product detail (premium editorial)
 * Band-based composition: full-bleed sections separated by colour + space.
 * ======================================================================== */
.simoks-product-detail-page {
	--simoks-pd-space: clamp(3.5rem, 7vw, 7rem);
	--simoks-pd-crumb-gap: clamp(1.5rem, 3vw, 2.5rem);
	display: flex;
	flex-direction: column;
	gap: var(--simoks-pd-space);
	padding-top: clamp(1.25rem, 3vw, 2.5rem);
	padding-bottom: clamp(3rem, 6vw, 6rem);
}
/* Bands run to the page edge; their inner wrapper re-establishes the gutter. */
.simoks-product-detail-page > .alignfull { margin-block: 0; }

/* ── Breadcrumb ─────────────────────────────────────────────────────────── */
/* width:100% keeps this wide band from shrinking to its content and centring
   inside the page grid (same reason as the sustainability band). */
.simoks-product-detail__breadcrumb-bar { width: 100%; margin: 0; }
.simoks-product-detail__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .1rem .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: .75rem;
	letter-spacing: .02em;
}
.simoks-product-detail__crumb {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: var(--simoks-muted-ink, #5C6A5F);
}
.simoks-product-detail__crumb a {
	color: inherit;
	text-decoration: none;
	transition: color var(--simoks-transition-fast);
}
.simoks-product-detail__crumb a:hover { color: var(--wp--preset--color--contrast, #202320); }
.simoks-product-detail__crumb-sep { opacity: .4; }
.simoks-product-detail__crumb--current {
	color: var(--wp--preset--color--contrast, #202320);
	font-weight: 600;
}
.simoks-product-detail__crumb--current .simoks-product-detail__crumb-sep,
.simoks-product-detail__crumb:last-of-type .simoks-product-detail__crumb-sep { display: none; }

/* ── Hero: image + sticky summary ───────────────────────────────────────── */
/* The breadcrumb belongs to the hero, so it sits closer than the section gap. */
.simoks-product-detail__breadcrumb-bar + .simoks-product-detail__hero {
	margin-top: calc(var(--simoks-pd-crumb-gap) - var(--simoks-pd-space));
}
.simoks-product-detail__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(2.5rem, 6vw, 6.5rem);
	align-items: start;
}

/* Media column */
.simoks-product-detail__media-col { display: flex; flex-direction: column; gap: 1rem; }
.simoks-product-detail__media {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--surface, #fff);
}
.simoks-product-detail__media-empty {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 5;
	background: color-mix(in srgb, currentColor 5%, transparent);
	color: color-mix(in srgb, currentColor 30%, transparent);
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	letter-spacing: .3em;
}

.simoks-product-detail__media-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.simoks-product-detail__media-track::-webkit-scrollbar { display: none; }
.simoks-product-detail__media-track:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent, #C5A46D);
	outline-offset: -2px;
}
.simoks-product-detail__media-slide {
	flex: 0 0 100%;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: color-mix(in srgb, currentColor 4%, transparent);
	scroll-snap-align: start;
}
.simoks-product-detail__media-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--simoks-transition-slow);
}
.simoks-product-detail__media:hover .simoks-product-detail__media-slide img { transform: scale(1.03); }
.simoks-product-detail__media-slide[data-simoks-lightbox-src] { cursor: zoom-in; }

/* Two-column hero: image + thumbnails fit the first screen and the summary sits
   centred against them. The frame height is the viewport minus everything above
   the hero (header, page padding, breadcrumb, breadcrumb gap) and the thumbnail
   strip below it; photos are contained, never cropped. The gallery stays pinned
   to the top so a tall summary (long title) can never push it off-screen. */
@media (min-width: 961px) {
	.simoks-product-detail__media-col { align-self: start; }
	.simoks-product-detail__summary { align-self: center; }
	.simoks-product-detail__media-slide,
	.simoks-product-detail__media-empty {
		aspect-ratio: auto;
		height: clamp(
			22rem,
			100dvh - var(--simoks-header-height, 5.5rem) - clamp(1.25rem, 3vw, 2.5rem) - 1.25rem - var(--simoks-pd-crumb-gap) - 5rem - 1rem - 3rem,
			46rem
		);
	}
	.simoks-product-detail__media-slide { background: var(--wp--preset--color--surface, #fff); }
	.simoks-product-detail__media-slide img { object-fit: contain; }
}

/* Arrow buttons */
.simoks-product-detail__media-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	padding: 0;
	border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 88%, transparent);
	color: inherit;
	cursor: pointer;
	opacity: 0;
	transform: translateY(-50%);
	transition: opacity var(--simoks-transition-fast), background-color var(--simoks-transition-fast), border-color var(--simoks-transition-fast);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.simoks-product-detail__media:hover .simoks-product-detail__media-arrow,
.simoks-product-detail__media-arrow:focus-visible { opacity: 1; }
.simoks-product-detail__media-arrow:hover {
	background: var(--wp--preset--color--base, #F7F4EE);
	border-color: color-mix(in srgb, currentColor 26%, transparent);
}
.simoks-product-detail__media-arrow:focus-visible { outline: 2px solid var(--wp--preset--color--accent, #C5A46D); outline-offset: 2px; }
.simoks-product-detail__media-arrow--prev { left: 1rem; }
.simoks-product-detail__media-arrow--next { right: 1rem; }

.simoks-product-detail__media-count {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 2;
	padding: .35rem .7rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--contrast, #202320) 78%, transparent);
	color: var(--wp--preset--color--base, #F7F4EE);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .04em;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

/* Thumbnail strip */
.simoks-product-detail__thumbs {
	display: flex;
	gap: .55rem;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 2px;
}
.simoks-product-detail__thumbs::-webkit-scrollbar { display: none; }
.simoks-product-detail__thumb {
	flex: 0 0 5rem;
	height: 5rem;
	padding: 0;
	overflow: hidden;
	border: 1px solid transparent;
	background: color-mix(in srgb, currentColor 6%, transparent);
	cursor: pointer;
	opacity: .6;
	transition: border-color var(--simoks-transition-fast), opacity var(--simoks-transition-fast);
}
.simoks-product-detail__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.simoks-product-detail__thumb:hover { opacity: .85; }
.simoks-product-detail__thumb.is-active {
	border-color: var(--wp--preset--color--contrast, #202320);
	opacity: 1;
}
.simoks-product-detail__thumb:focus-visible { outline: 2px solid var(--wp--preset--color--accent, #C5A46D); outline-offset: 2px; }

/* Summary column (sticky on desktop) */
.simoks-product-detail__summary { min-width: 0; }
.simoks-product-detail__summary-inner {
	position: sticky;
	top: calc(var(--simoks-header-height, 5.5rem) + 1.5rem);
	display: flex;
	flex-direction: column;
	max-width: 34rem;
}

.simoks-product-detail__eyebrow {
	margin: 0 0 1.1rem;
	font-size: var(--simoks-type-label, .75rem);
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--simoks-accent-ink, #856428);
}
.simoks-product-detail__eyebrow a { color: inherit; text-decoration: none; transition: opacity var(--simoks-transition-fast); }
.simoks-product-detail__eyebrow a:hover { opacity: .7; }

.simoks-product-detail__summary .wp-block-post-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(2rem, 3.2vw, 2.75rem);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -.03em;
}
.simoks-product-detail__summary .wp-block-post-excerpt {
	margin: 1.25rem 0 0;
	max-width: 40ch;
	font-size: clamp(1rem, 1.3vw, 1.12rem);
	line-height: 1.72;
	color: var(--simoks-muted-ink, #5C6A5F);
}
.simoks-product-detail__summary .wp-block-post-excerpt__more-link { display: none; }

/* Key-attribute chips */
.simoks-product-detail__chips {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 1.9rem 0 0;
	padding: 0;
	list-style: none;
}
.simoks-product-detail__chip {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	padding: .7rem 1.05rem;
	border: 1px solid var(--simoks-line);
	border-radius: 2px;
	background: color-mix(in srgb, var(--wp--preset--color--surface, #fff) 60%, transparent);
}
.simoks-product-detail__chip-label {
	font-size: .6rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .5;
}
.simoks-product-detail__chip-value { font-size: .95rem; font-weight: 600; line-height: 1.2; }

/* Hero CTA */
.simoks-product-detail__hero-cta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.75rem;
	margin-top: 2.25rem;
	padding-top: 2rem;
	border-top: 1px solid var(--simoks-line);
}
.simoks-product-detail__cta-primary {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	padding: .95rem 1.7rem;
	border: 1.5px solid var(--wp--preset--color--contrast, #202320);
	border-radius: 999px;
	background: var(--wp--preset--color--contrast, #202320);
	color: var(--wp--preset--color--base, #F7F4EE);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color var(--simoks-transition-fast), transform var(--simoks-transition-fast);
}
.simoks-product-detail__cta-primary svg { flex: 0 0 auto; transition: transform var(--simoks-transition-fast); }
.simoks-product-detail__cta-primary:hover { background: color-mix(in srgb, var(--wp--preset--color--contrast, #202320) 86%, transparent); transform: translateY(-1px); }
.simoks-product-detail__cta-primary:hover svg { transform: translateX(3px); }
.simoks-product-detail__cta-primary:focus-visible { outline: 2px solid var(--wp--preset--color--accent, #C5A46D); outline-offset: 3px; }
.simoks-product-detail__cta-secondary {
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: inherit;
	text-decoration: none;
	opacity: .6;
	transition: opacity var(--simoks-transition-fast);
}
.simoks-product-detail__cta-secondary:hover { opacity: 1; }

/* ── Shared section label ───────────────────────────────────────────────── */
.simoks-product-detail__section-label {
	margin: 0 0 .9rem;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--simoks-accent-ink, #856428);
}

/* ── Specifications ─────────────────────────────────────────────────────── */
/* Fixed width: as a flex item it would otherwise shrink to its content and
   widen when the "Product details" accordion opens. */
.simoks-product-detail__specs {
	width: min(100%, 65rem);
	padding-top: var(--simoks-pd-space);
	border-top: 1px solid var(--simoks-line);
}
.simoks-product-detail__specs-head { margin-bottom: 2.5rem; }
.simoks-product-detail__specs-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.6rem, 2.6vw, 2.25rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.02em;
}
.simoks-product-detail__specs-body { min-width: 0; }
/* The meta grid keeps its own block styling; only trim its top margin here. */
.simoks-product-detail__specs .simoks-product-meta { margin-top: 0; }

/* Accordions */
.simoks-product-detail__accordion { margin-top: 2.5rem; border-top: 1px solid var(--simoks-line); }
.simoks-product-detail__panel { border-bottom: 1px solid var(--simoks-line); }
.simoks-product-detail__panel-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 0;
	cursor: pointer;
	list-style: none;
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: -.01em;
}
.simoks-product-detail__panel-summary::-webkit-details-marker { display: none; }
.simoks-product-detail__panel-summary:focus-visible { outline: 2px solid var(--wp--preset--color--accent, #C5A46D); outline-offset: 3px; }
.simoks-product-detail__panel-icon {
	position: relative;
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
}
.simoks-product-detail__panel-icon::before,
.simoks-product-detail__panel-icon::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	background: currentColor;
	transition: transform var(--simoks-transition-fast), opacity var(--simoks-transition-fast);
}
.simoks-product-detail__panel-icon::before { width: 14px; height: 1.5px; }
.simoks-product-detail__panel-icon::after { width: 1.5px; height: 14px; }
.simoks-product-detail__panel[open] .simoks-product-detail__panel-icon::after { transform: scaleY(0); opacity: 0; }
.simoks-product-detail__panel-body {
	padding-bottom: 1.5rem;
	font-size: 1rem;
	line-height: 1.75;
	color: var(--simoks-muted-ink, #5C6A5F);
}
.simoks-product-detail__panel-body .wp-block-post-content > :first-child { margin-top: 0; }
.simoks-product-detail__panel-body :where(h2, h3) { margin-top: 1.75em; color: var(--wp--preset--color--contrast, #202320); letter-spacing: -.02em; }
.simoks-product-detail__panel-body table { width: 100%; border-collapse: collapse; }
.simoks-product-detail__panel-body :where(td, th) { padding: .8rem 0; border-bottom: 1px solid var(--simoks-line); text-align: left; vertical-align: top; }
.simoks-product-detail__panel-body th { width: 34%; font-weight: 700; color: var(--wp--preset--color--contrast, #202320); }
.simoks-product-detail__signal-list { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; }

/* Accordion open animation (JS toggles data-animating for height) */
.simoks-product-detail__panel-body { animation: simoks-pd-reveal var(--simoks-transition-slow) both; }
@keyframes simoks-pd-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* ── Collection context band ────────────────────────────────────────────── */
.simoks-product-detail__collection {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	background: var(--wp--preset--color--secondary, #EAE4D9);
}
.simoks-product-detail__collection-inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.75rem, 4vw, 3.5rem);
	align-items: center;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
	padding-inline: var(--simoks-page-gutter, 1.5rem);
}
.simoks-product-detail__collection.has-image .simoks-product-detail__collection-inner {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.simoks-product-detail__collection-media { overflow: hidden; }
.simoks-product-detail__collection-media img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	transition: transform var(--simoks-transition-slow);
}
.simoks-product-detail__collection-media:hover img { transform: scale(1.04); }
.simoks-product-detail__collection-eyebrow {
	margin: 0 0 1rem;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--simoks-accent-ink, #856428);
}
.simoks-product-detail__collection-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: var(--wp--preset--font-size--xx-large, clamp(1.875rem, 3vw, 2.75rem));
	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -.025em;
}
.simoks-product-detail__collection-text {
	margin: 1.25rem 0 0;
	max-width: 46ch;
	font-size: 1.08rem;
	line-height: 1.72;
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #202320) 78%, transparent);
}
.simoks-product-detail__collection-link {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-top: 1.75rem;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast, #202320);
	text-decoration: none;
}
.simoks-product-detail__collection-link span { transition: transform var(--simoks-transition-fast); }
.simoks-product-detail__collection-link:hover span { transform: translateX(4px); }

/* ── Customization band (dark) ──────────────────────────────────────────── */
.simoks-product-detail__custom {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
	background: var(--wp--preset--color--contrast, #202320);
	color: var(--wp--preset--color--base, #F7F4EE);
}
.simoks-product-detail__custom-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto;
	padding-inline: var(--simoks-page-gutter, 1.5rem);
}
.simoks-product-detail__section-label--invert { color: var(--wp--preset--color--accent, #C5A46D); }
.simoks-product-detail__custom-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: var(--wp--preset--font-size--xx-large, clamp(1.875rem, 3vw, 2.75rem));
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -.03em;
}
.simoks-product-detail__custom-text {
	margin: 1.35rem 0 0;
	max-width: 50ch;
	font-size: 1.1rem;
	line-height: 1.72;
	color: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 78%, transparent);
}
.simoks-product-detail__custom-link {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-top: 2rem;
	padding: .9rem 1.6rem;
	border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 40%, transparent);
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: inherit;
	text-decoration: none;
	transition: border-color var(--simoks-transition-fast), background-color var(--simoks-transition-fast);
}
.simoks-product-detail__custom-link span { transition: transform var(--simoks-transition-fast); }
.simoks-product-detail__custom-link:hover {
	border-color: var(--wp--preset--color--base, #F7F4EE);
	background: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 8%, transparent);
}
.simoks-product-detail__custom-link:hover span { transform: translateX(4px); }
.simoks-product-detail__custom-link:focus-visible { outline: 2px solid var(--wp--preset--color--accent, #C5A46D); outline-offset: 3px; }
.simoks-product-detail__custom-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.simoks-product-detail__custom-list li {
	padding: 1rem 0;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 16%, transparent);
	font-size: 1.02rem;
	font-weight: 500;
	letter-spacing: .01em;
}
.simoks-product-detail__custom-list li:last-child { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 16%, transparent); }

/* ── Sustainability signals ─────────────────────────────────────────────── */
/* Force the band to fill the wide column (it would otherwise shrink to its
   flex content and centre inside the grid). */
.simoks-product-detail__sustain { width: 100%; }
.simoks-product-detail__sustain-list {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.simoks-product-detail__sustain-badge {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .7rem 1.15rem;
	border: 1px solid var(--simoks-line);
	border-radius: 999px;
	font-size: .88rem;
	font-weight: 600;
	letter-spacing: .01em;
}
.simoks-product-detail__sustain-icon {
	display: inline-grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent, #C5A46D);
	color: #fff;
}

/* ── Prev / next pager ──────────────────────────────────────────────────── */
.simoks-product-detail__pager {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: var(--simoks-line);
	border-block: 1px solid var(--simoks-line);
}
.simoks-product-detail__pager-link {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
	background: var(--wp--preset--color--base, #F7F4EE);
	color: inherit;
	text-decoration: none;
	transition: background-color var(--simoks-transition-fast);
}
.simoks-product-detail__pager-link:hover { background: var(--wp--preset--color--secondary, #EAE4D9); }
/* Placeholder cell when there is no previous/next product — blend with page. */
.simoks-product-detail__pager > span:not(.simoks-product-detail__pager-link) { background: var(--wp--preset--color--base, #F7F4EE); }
.simoks-product-detail__pager-link--next { text-align: right; align-items: flex-end; }
.simoks-product-detail__pager-dir {
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--simoks-accent-ink, #856428);
}
.simoks-product-detail__pager-title {
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.15rem, 2vw, 1.6rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -.02em;
}

/* ── Mobile sticky CTA ──────────────────────────────────────────────────── */
.simoks-product-detail__sticky-cta {
	position: fixed;
	inset: auto 0 0;
	z-index: 50;
	display: none;
	align-items: center;
	gap: 1rem;
	padding: .8rem var(--simoks-page-gutter, 1.5rem);
	padding-bottom: calc(.8rem + env(safe-area-inset-bottom, 0px));
	background: color-mix(in srgb, var(--wp--preset--color--base, #F7F4EE) 94%, transparent);
	border-top: 1px solid var(--simoks-line);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	transform: translateY(100%);
	transition: transform 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.simoks-product-detail__sticky-cta.is-visible { transform: translateY(0); }
.simoks-product-detail__sticky-name {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	font-size: .9rem;
	font-weight: 600;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.simoks-product-detail__sticky-cta a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .75rem 1.3rem;
	border-radius: 999px;
	background: var(--wp--preset--color--contrast, #202320);
	color: var(--wp--preset--color--base, #F7F4EE);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
}

/* ── Lightbox ────────────────────────────────────────────────────────────── */
.simoks-pd-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 1.5rem;
	background: color-mix(in srgb, var(--wp--preset--color--contrast, #202320) 96%, transparent);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}
.simoks-pd-lightbox.is-open { opacity: 1; pointer-events: all; }
.simoks-pd-lightbox__img {
	display: block;
	max-width: min(90vw, 1080px);
	max-height: 88vh;
	object-fit: contain;
	box-shadow: 0 40px 120px color-mix(in srgb, #000 60%, transparent);
}
.simoks-pd-lightbox__close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 1.5px solid color-mix(in srgb, #fff 28%, transparent);
	border-radius: 999px;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: border-color var(--simoks-transition-fast), background-color var(--simoks-transition-fast);
}
.simoks-pd-lightbox__close:hover { border-color: #fff; background: color-mix(in srgb, #fff 10%, transparent); }
.simoks-pd-lightbox__close:focus-visible { outline: 2px solid var(--wp--preset--color--accent, #C5A46D); outline-offset: 3px; }

/* ── Scroll-reveal ───────────────────────────────────────────────────────── */
.simoks-reveal-pending {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .6s ease, transform .6s cubic-bezier(.22, 1, .36, 1);
}

/* ── Responsive ─────────────────────────────────────────────────────────── */

/* Tablet and below (≤960px): stack hero + both bands */
@media (max-width: 960px) {
	.simoks-product-detail-page { --simoks-pd-space: clamp(2.5rem, 5vw, 4rem); }

	/* Hero → single column */
	.simoks-product-detail__hero { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.simoks-product-detail__summary-inner { position: static; max-width: none; }
	.simoks-product-detail__summary { padding-top: 2rem; }
	.simoks-product-detail__summary .wp-block-post-title { font-size: clamp(1.9rem, 4vw, 2.8rem); }
	.simoks-product-detail__hero-cta {
		flex-direction: column;
		align-items: stretch;
		gap: .85rem;
		margin-top: 1.75rem;
		padding-top: 1.5rem;
	}
	.simoks-product-detail__cta-primary { justify-content: center; }
	.simoks-product-detail__cta-secondary { text-align: center; }
	.simoks-product-detail__media-arrow { opacity: 1; }

	/* Bands */
	.simoks-product-detail__custom-inner { grid-template-columns: 1fr; gap: 2.5rem; }
	.simoks-product-detail__collection-title { font-size: clamp(1.6rem, 4vw, 2.25rem); }
	.simoks-product-detail__custom-title { font-size: clamp(1.6rem, 4vw, 2.4rem); }

	/* Specs */
	.simoks-product-detail__specs-title { font-size: clamp(1.4rem, 3vw, 1.9rem); }
	.simoks-product-detail__specs-head { margin-bottom: 1.75rem; }

	/* Pager */
	.simoks-product-detail__pager { grid-template-columns: 1fr; }
	.simoks-product-detail__pager-link--next { text-align: left; align-items: flex-start; }

	/* Sticky CTA */
	.simoks-product-detail__sticky-cta { display: flex; }
}

/* Mobile (≤782px): image ratio, collection band, thumb sizing */
@media (max-width: 782px) {
	.simoks-product-detail__media-col { gap: .75rem; }
	.simoks-product-detail__media-slide,
	.simoks-product-detail__media-empty { aspect-ratio: 4 / 3; }
	.simoks-product-detail__thumb { flex: 0 0 4.25rem; height: 4.25rem; }
	.simoks-product-detail__collection.has-image .simoks-product-detail__collection-inner { grid-template-columns: 1fr; }
}

/* Small phone (≤480px) */
@media (max-width: 480px) {
	.simoks-product-detail__media-slide,
	.simoks-product-detail__media-empty { aspect-ratio: 1 / 1; }
	.simoks-product-detail__media-arrow { width: 2.25rem; height: 2.25rem; }
	.simoks-product-detail__thumb { flex: 0 0 3.5rem; height: 3.5rem; }
	.simoks-product-detail__chips { gap: .5rem; }
	.simoks-product-detail__chip { padding: .6rem .9rem; }
}

@media (prefers-reduced-motion: reduce) {
	.simoks-product-detail__media-track { scroll-behavior: auto; }
	.simoks-product-detail__media-slide img,
	.simoks-product-detail__collection-media img { transition: none; }
	.simoks-product-detail__media:hover .simoks-product-detail__media-slide img,
	.simoks-product-detail__collection-media:hover img { transform: none; }
	.simoks-product-detail__panel-body { animation: none; }
	.simoks-product-detail__media-arrow,
	.simoks-product-detail__thumb,
	.simoks-product-detail__cta-primary,
	.simoks-product-detail__cta-primary svg,
	.simoks-product-detail__sticky-cta { transition: none; }
	.simoks-pd-lightbox { transition: none; }
	.simoks-reveal-pending { opacity: 1; transform: none; transition: none; }
}


/* Page 04 — Collections */
.simoks-collections-page {
	padding-block: clamp(1.5rem, 3vw, 3rem) clamp(3rem, 6vw, 6rem);
}

.simoks-collections-page__intro {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
	column-gap: clamp(3rem, 9vw, 10rem);
	align-items: end;
	padding-block: clamp(3rem, 6vw, 6rem) clamp(2.5rem, 5vw, 4.5rem);
	border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

/* Eyebrow with gold accent line — mirrors About/Statement pattern */
.simoks-collections-page__eyebrow {
	display: flex;
	gap: .85rem;
	align-items: center;
	grid-column: 1 / -1;
	justify-self: start;
	max-width: none;
	margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
	color: var(--simoks-accent-ink, #856428);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: 1.3;
	text-transform: uppercase;
}

.simoks-collections-page__eyebrow::before {
	display: block;
	width: clamp(1.75rem, 4vw, 3rem);
	height: 1px;
	flex: 0 0 auto;
	background: var(--wp--preset--color--accent, #C5A46D);
	content: "";
}

/* Fix audit HIGH: scale from display (93.6px) → display-lg (128px).
 * Explicit font-family needed: this h1 is inside wp:group, not a simoks
 * block, so typography.css semantic rules don't reach it. */
.simoks-collections-page__intro h1 {
	grid-column: 1 / -1;
	margin: 0;
	font-family: var(--simoks-type-display, "Iowan Old Style", Baskerville, "Times New Roman", serif);
	font-size: var(--wp--preset--font-size--display-lg, clamp(3.5rem, 9vw, 8rem));
	font-weight: 400;
	line-height: .92;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.simoks-collections-page__intro > p:last-child {
	max-width: 38rem;
	margin: 0 0 .45rem;
	color: var(--simoks-muted-ink, #5C6A5F);
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.75;
}

/* Contents line: every collection on this page, as in-page anchors. */
.simoks-collections-page__index {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem clamp(1.5rem, 3vw, 2.75rem);
	margin-block: clamp(1.75rem, 3vw, 2.5rem) clamp(3rem, 6vw, 5rem);
}

.simoks-collections-page__index a {
	padding-block: .35rem;
	border-bottom: 1px solid transparent;
	color: var(--simoks-accent-ink, #856428);
	font-family: var(--simoks-type-display, "Iowan Old Style", Baskerville, "Times New Roman", serif);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-style: italic;
	letter-spacing: -.01em;
	text-decoration: none;
	transition: border-color 220ms ease;
}

.simoks-collections-page__index a:hover,
.simoks-collections-page__index a:focus-visible {
	border-color: currentcolor;
}

/*
 * Chapters: one full-bleed photograph per collection, the opening spread of
 * its detail page. Copy side and focal point come from the collection's
 * story data, so each photograph keeps its calm space for the type.
 */
.simoks-collections-page .simoks-collections-chapter {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: end;
	min-height: min(88svh, 56rem);
	margin-block: 0;
	padding: clamp(6rem, 12vh, 9rem) var(--simoks-collection-bleed) clamp(4rem, 9vh, 6.5rem);
	overflow: hidden;
	background: var(--simoks-c-text);
	color: var(--simoks-c-on-dark);
	scroll-margin-top: var(--simoks-premium-header-total, 81px);
}

.simoks-collections-chapter__media {
	position: absolute;
	z-index: -1;
	inset: -6% 0;
	will-change: transform;
}

.simoks-collections-chapter__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--simoks-hero-focus, 30% 50%);
	transition: transform 1.6s var(--simoks-collection-ease);
}

.simoks-collections-chapter:hover .simoks-collections-chapter__image,
.simoks-collections-chapter:focus-within .simoks-collections-chapter__image {
	transform: scale(1.03);
}

.simoks-collections-chapter::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 22%, color-mix(in srgb, var(--simoks-c-text) 78%, transparent) 58%, color-mix(in srgb, var(--simoks-c-text) 86%, transparent)),
		linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 70%, transparent), transparent 48%);
	content: "";
	pointer-events: none;
}

.simoks-collections-chapter--start::after {
	background:
		linear-gradient(270deg, transparent 22%, color-mix(in srgb, var(--simoks-c-text) 78%, transparent) 58%, color-mix(in srgb, var(--simoks-c-text) 86%, transparent)),
		linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 70%, transparent), transparent 48%);
}

.simoks-collections-chapter__copy {
	grid-column: 2;
	max-width: 36rem;
}

.simoks-collections-chapter--start .simoks-collections-chapter__copy {
	grid-column: 1;
}

.simoks-collections-chapter .simoks-collection-identity__eyebrow {
	margin: 0 0 1.1rem;
	color: var(--simoks-c-accent-on-dark);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.simoks-collections-chapter .simoks-collection-identity__logo {
	display: block;
	width: auto;
	max-width: 9rem;
	max-height: 2.5rem;
	margin-bottom: 1.1rem;
	filter: brightness(0) invert(1);
}

.simoks-collections-chapter__title {
	margin: 0;
	color: inherit;
	font-family: var(--simoks-type-display, "Iowan Old Style", Baskerville, "Times New Roman", serif);
	font-size: clamp(3.5rem, 8vw, 8rem);
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.045em;
}

.simoks-collections-chapter__title a {
	color: inherit;
	text-decoration: none;
}

.simoks-collections-chapter__excerpt {
	max-width: 32rem;
	margin: clamp(1.25rem, 2.4vw, 1.75rem) 0 0;
	color: color-mix(in srgb, var(--simoks-c-on-dark) 84%, transparent);
	font-size: clamp(1rem, 1.3vw, 1.12rem);
	line-height: 1.7;
}

.simoks-collections-chapter__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin: clamp(1.75rem, 3vw, 2.25rem) 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid color-mix(in srgb, var(--simoks-c-on-dark) 22%, transparent);
}

.simoks-collections-chapter__facts dt {
	margin: 0 0 .4rem;
	color: var(--simoks-c-accent-on-dark);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.35;
	text-transform: uppercase;
}

.simoks-collections-chapter__facts dd {
	margin: 0;
	color: color-mix(in srgb, var(--simoks-c-on-dark) 74%, transparent);
	font-size: .85rem;
	line-height: 1.55;
}

.simoks-collections-chapter__foot {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem 1.5rem;
	align-items: center;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.simoks-collections-chapter__count {
	margin: 0;
	color: color-mix(in srgb, var(--simoks-c-on-dark) 70%, transparent);
	font-size: .78rem;
	letter-spacing: .08em;
}

/* The dark closing band runs straight into the dark footer. */
.simoks-collections-page {
	padding-bottom: 0;
}

.simoks-collections-page .simoks-collection-cta {
	margin-block: 0;
}

.simoks-collections-page + .wp-block-template-part .simoks-site-footer {
	margin-top: 0;
}

@media (max-width: 960px) {
	.simoks-collections-page .simoks-collections-chapter {
		grid-template-columns: minmax(0, 1fr);
		min-height: min(calc(100svh - var(--simoks-premium-header-total, 81px)), 46rem);
	}

	.simoks-collections-chapter__copy,
	.simoks-collections-chapter--start .simoks-collections-chapter__copy {
		grid-column: 1;
	}

	.simoks-collections-chapter::after,
	.simoks-collections-chapter--start::after {
		background: linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 92%, transparent) 15%, color-mix(in srgb, var(--simoks-c-text) 72%, transparent) 62%, color-mix(in srgb, var(--simoks-c-text) 25%, transparent) 90%);
	}
}

@media (max-width: 782px) {
	.simoks-collections-chapter__image {
		object-position: var(--simoks-hero-focus-mobile, 26% 50%);
	}
}

@media (max-width: 600px) {
	.simoks-collections-page .simoks-collections-chapter {
		min-height: 40rem;
		padding-bottom: 3.5rem;
	}

	.simoks-collections-chapter__facts {
		grid-template-columns: minmax(0, 1fr);
		gap: .9rem;
	}

	.simoks-collections-chapter__facts > div {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		gap: 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.simoks-collections-chapter__image {
		transition: none;
	}

	.simoks-collections-chapter:hover .simoks-collections-chapter__image,
	.simoks-collections-chapter:focus-within .simoks-collections-chapter__image {
		transform: none;
	}
}

@media (max-width: 960px) {
	.simoks-collections-page__intro {
		grid-template-columns: 1fr;
	}

	.simoks-collections-page__intro > p:last-child {
		margin: 0;
	}
}

/* Page 05 — Collection detail
 *
 * Composition is band-based, not panel-based: every section bleeds to the
 * viewport edge or sits on the wide grid, and sections are separated by colour
 * and space — no rounded panels, borders or drop shadows. Rhythm alternates
 * story → products → story → products → conversion.
 */
.simoks-collection-detail-page {
	padding-block: 0;
}

.simoks-collection-detail,
.simoks-collections-page {
	/* Semantic tokens for this page, all mapped onto theme.json presets. */
	--simoks-c-bg: var(--wp--preset--color--base, #F7F4EE);
	--simoks-c-surface: var(--wp--preset--color--surface, #FFFFFF);
	--simoks-c-band: var(--wp--preset--color--secondary, #EAE4D9);
	--simoks-c-text: var(--wp--preset--color--contrast, #202320);
	--simoks-c-muted: var(--simoks-muted-ink, #5C6A5F);
	--simoks-c-accent: var(--simoks-accent-ink, #856428);
	--simoks-c-accent-on-dark: var(--wp--preset--color--accent, #C5A46D);
	--simoks-c-on-dark: var(--wp--preset--color--base, #F7F4EE);
	--simoks-c-line: color-mix(in srgb, var(--simoks-c-text) 13%, transparent);
	--simoks-collection-heading: clamp(2rem, 4vw, 3.5rem);
	--simoks-collection-space: clamp(4.5rem, 10vw, 9rem);
	--simoks-collection-ease: cubic-bezier(.22, 1, .36, 1);
	/*
	 * Copy inside full-bleed bands has to start on the same x as every
	 * alignwide section. Below the wide container that edge is WordPress's
	 * root padding; above it, half the leftover width plus that padding.
	 */
	--simoks-collection-bleed: max(
		var(--wp--style--root--padding-left, 1rem),
		calc(((100% - var(--simoks-container-wide)) / 2) + var(--wp--style--root--padding-left, 1rem))
	);
}

/* ── Hero: one cinematic full-bleed photograph ─────────────────────────── */
.simoks-collection-detail__hero {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: end;
	min-height: min(calc(100svh - var(--simoks-premium-header-total, 81px)), 62rem);
	padding: clamp(6rem, 12vh, 9rem) var(--simoks-collection-bleed) clamp(4.5rem, 10vh, 7rem);
	overflow: hidden;
	background: var(--simoks-c-text);
	color: var(--simoks-c-on-dark);
}

.simoks-collection-detail__hero-media {
	position: absolute;
	z-index: -1;
	inset: -6% 0;
	margin: 0;
	will-change: transform;
}

.simoks-collection-detail__hero-media .wp-block-post-featured-image {
	height: 100%;
	margin: 0;
}

.simoks-collection-detail__hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--simoks-hero-focus, 30% 50%);
	animation: simoks-hero-settle 2.4s var(--simoks-collection-ease) both;
}

/* Darkens toward the copy column and the bottom edge, so any photograph
 * stays legible under ivory type. */
.simoks-collection-detail__hero::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 22%, color-mix(in srgb, var(--simoks-c-text) 78%, transparent) 58%, color-mix(in srgb, var(--simoks-c-text) 86%, transparent)),
		linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 70%, transparent), transparent 48%);
	content: "";
	pointer-events: none;
}

/* Copy in the left column, for photographs whose subject sits on the right. */
.simoks-collection-detail__hero--start .simoks-collection-detail__hero-copy {
	grid-column: 1;
}

.simoks-collection-detail__hero--start::after {
	background:
		linear-gradient(270deg, transparent 22%, color-mix(in srgb, var(--simoks-c-text) 78%, transparent) 58%, color-mix(in srgb, var(--simoks-c-text) 86%, transparent)),
		linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 70%, transparent), transparent 48%);
}

@keyframes simoks-hero-settle {
	from {
		opacity: .4;
		transform: scale(1.06);
	}
}

.simoks-collection-detail__hero-copy {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 36rem;
	animation: simoks-hero-copy 1.2s .25s var(--simoks-collection-ease) both;
}

@keyframes simoks-hero-copy {
	from {
		opacity: 0;
		transform: translateY(1.5rem);
	}
}

/* Outrank the constrained layout's margin-inline:auto on every child. */
.simoks-collection-detail__hero-copy.wp-block-group > * {
	max-width: 100%;
	margin-inline: 0 auto;
}

.simoks-collection-detail__back {
	position: absolute;
	top: clamp(1.75rem, 4vh, 2.75rem);
	left: var(--simoks-collection-bleed);
	margin: 0;
	font-size: .78rem;
	letter-spacing: .02em;
}

.simoks-collection-detail__back a {
	padding-bottom: .2rem;
	border-bottom: 1px solid color-mix(in srgb, var(--simoks-c-on-dark) 40%, transparent);
	color: color-mix(in srgb, var(--simoks-c-on-dark) 82%, transparent);
	text-decoration: none;
	transition: border-color 180ms ease, color 180ms ease;
}

.simoks-collection-detail__back a:hover,
.simoks-collection-detail__back a:focus-visible {
	border-color: currentcolor;
	color: var(--simoks-c-on-dark);
}

.simoks-collection-detail__hero .simoks-collection-identity__eyebrow {
	margin: 0 0 1.1rem;
	color: var(--simoks-c-accent-on-dark);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.simoks-collection-detail__hero-copy .wp-block-post-title {
	margin: 0;
	color: inherit;
	font-size: clamp(4rem, 10vw, 9.5rem);
	font-weight: 400;
	line-height: .9;
	letter-spacing: -.045em;
}

.simoks-collection-detail__hero-copy .wp-block-post-excerpt {
	max-width: 30rem;
	margin: clamp(1.25rem, 2.4vw, 2rem) 0 0;
	color: color-mix(in srgb, var(--simoks-c-on-dark) 84%, transparent);
	font-size: clamp(1.02rem, 1.3vw, 1.15rem);
	line-height: 1.7;
}

.simoks-collection-detail__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

/* Shared pill: hero, CTA band and collection story sections. */
.simoks-collection-detail__explore,
.simoks-collection-detail__enquire,
.simoks-collection-cta__primary,
.simoks-collection-cta__secondary,
.simoks-collections-chapter__cta,
.simoks-story-button {
	display: inline-flex;
	gap: .75rem;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: .8rem 1.6rem;
	border: 1px solid currentcolor;
	border-radius: var(--simoks-radius-pill, 999px);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease;
}

.simoks-collection-detail__explore,
.simoks-collection-cta__primary,
.simoks-collections-chapter__cta {
	border-color: var(--simoks-c-on-dark);
	background: var(--simoks-c-on-dark);
	color: var(--simoks-c-text);
}

.simoks-collection-detail__enquire,
.simoks-collection-cta__secondary {
	border-color: color-mix(in srgb, var(--simoks-c-on-dark) 55%, transparent);
	color: var(--simoks-c-on-dark);
}

.simoks-collection-detail__explore:hover,
.simoks-collection-detail__explore:focus-visible,
.simoks-collection-cta__primary:hover,
.simoks-collection-cta__primary:focus-visible,
.simoks-collections-chapter__cta:hover,
.simoks-collections-chapter__cta:focus-visible {
	border-color: var(--simoks-c-accent-on-dark);
	background: var(--simoks-c-accent-on-dark);
	color: var(--simoks-c-text);
}

.simoks-collection-detail__enquire:hover,
.simoks-collection-detail__enquire:focus-visible,
.simoks-collection-cta__secondary:hover,
.simoks-collection-cta__secondary:focus-visible {
	border-color: var(--simoks-c-on-dark);
	background: var(--simoks-c-on-dark);
	color: var(--simoks-c-text);
}

:where(.simoks-collection-detail, .simoks-collections-page .simoks-collections-chapter, .simoks-collections-page .simoks-collection-cta) a:focus-visible {
	outline: 2px solid var(--simoks-c-accent-on-dark);
	outline-offset: 3px;
}

/* ── Generic story (collections without their own story patterns) ──────── */
.simoks-collection-signature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: start;
	padding-block: var(--simoks-collection-space);
}

.simoks-collection-signature__intro {
	max-width: 30rem;
}

.simoks-collection-signature__intro h2 {
	margin: 0;
	font-size: var(--simoks-collection-heading);
	line-height: 1.04;
	letter-spacing: -.03em;
}

.simoks-collection-signature__enquiry {
	max-width: 26rem;
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	color: var(--simoks-c-muted);
	font-size: 1rem;
	line-height: 1.7;
}

.simoks-collection-signature__enquiry a {
	color: var(--simoks-c-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: .25em;
	white-space: nowrap;
}

.simoks-collection-signature__list {
	margin: 0;
	padding: 0;
}

.simoks-collection-signature__item {
	padding-block: clamp(1.5rem, 3vw, 2.4rem);
	border-top: 1px solid var(--simoks-c-line);
}

.simoks-collection-signature__item:last-child {
	border-bottom: 1px solid var(--simoks-c-line);
}

.simoks-collection-signature__list dt {
	margin: 0 0 .5rem;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.125rem, 1.5vw, 1.375rem);
	letter-spacing: -.02em;
	line-height: 1.2;
}

.simoks-collection-signature__list dd {
	max-width: 34rem;
	margin: 0;
	color: var(--simoks-c-muted);
	line-height: 1.7;
}

.simoks-collection-detail__story {
	width: 100%;
	padding-block: 0 var(--simoks-collection-space);
}

.simoks-collection-detail__story > .wp-block-post-content {
	max-width: 44rem;
	margin-inline: auto;
	font-size: 1.08rem;
	line-height: 1.8;
}

.simoks-collection-detail__story > .wp-block-post-content > p:first-child {
	margin-bottom: 2rem;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.25rem, 2vw, 1.625rem);
	line-height: 1.4;
	letter-spacing: -.02em;
}

.simoks-collection-detail__story > .wp-block-post-content :where(h2, h3) {
	margin-top: 2.2em;
	font-size: clamp(1.4rem, 2.2vw, 1.85rem);
	letter-spacing: -.03em;
}

/* ── Catalogue band ────────────────────────────────────────────────────── */
.simoks-collection-detail__products {
	scroll-margin-top: var(--simoks-premium-header-total, 81px);
	padding-block: var(--simoks-collection-space);
	background: var(--simoks-c-band);
}

.simoks-collection-detail__products .simoks-collection-products {
	padding-block: 0;
	border-top: 0;
}

.simoks-collection-detail__products .simoks-collection-products__heading {
	max-width: 16ch;
	font-size: var(--simoks-collection-heading);
	letter-spacing: -.03em;
}

.simoks-collection-detail .simoks-related-collections {
	padding-block: var(--simoks-collection-space);
	border-top: 0;
}

.simoks-collection-detail .simoks-related-collections__heading {
	font-size: var(--simoks-collection-heading);
	letter-spacing: -.03em;
}

/* ── Closing conversion band ───────────────────────────────────────────── */
.simoks-collection-cta {
	padding: var(--simoks-collection-space) var(--wp--style--root--padding-left, 1rem);
	background: var(--simoks-c-text);
	color: var(--simoks-c-on-dark);
	text-align: center;
}

.simoks-collection-cta {
	border-bottom: 1px solid color-mix(in srgb, var(--simoks-c-on-dark) 12%, transparent);
}

/* The dark CTA band runs straight into the dark footer. */
.simoks-collection-detail-page + .wp-block-template-part .simoks-site-footer {
	margin-top: 0;
}

.simoks-collection-cta__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 46rem;
	margin-inline: auto;
}

.simoks-collection-cta__brand {
	display: flex;
	gap: .9rem;
	align-items: baseline;
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	color: var(--simoks-c-accent-on-dark);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .24em;
	text-transform: uppercase;
}

.simoks-collection-cta__brandline {
	color: color-mix(in srgb, var(--simoks-c-on-dark) 70%, transparent);
	font-weight: 500;
	letter-spacing: .14em;
}

.simoks-collection-cta__heading {
	margin: 0;
	color: inherit;
	font-size: clamp(2.4rem, 5.6vw, 5rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.04em;
	text-wrap: balance;
}

.simoks-collection-cta__text {
	max-width: 32rem;
	margin: clamp(1.25rem, 2.4vw, 1.75rem) 0 0;
	color: color-mix(in srgb, var(--simoks-c-on-dark) 80%, transparent);
	font-size: clamp(1rem, 1.3vw, 1.12rem);
	line-height: 1.7;
}

.simoks-collection-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: center;
	margin-top: clamp(2rem, 3.5vw, 2.75rem);
}

/* ── Collection story: inc/collection-stories/{slug}.php ─────────────── */
.simoks-story-eyebrow {
	margin: 0 0 1rem;
	color: var(--simoks-c-accent);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.simoks-story-section-head {
	max-width: 40rem;
	margin-bottom: clamp(2.25rem, 4.5vw, 4rem);
}

.simoks-story-section-head h2 {
	margin: 0;
	font-size: var(--simoks-collection-heading);
	font-weight: 400;
	line-height: 1.02;
	letter-spacing: -.035em;
}

.simoks-story-section-head p:not(.simoks-story-eyebrow) {
	max-width: 32rem;
	margin: 1.1rem 0 0;
	color: var(--simoks-c-muted);
	font-size: 1.05rem;
	line-height: 1.7;
}

.simoks-story-link {
	display: inline-flex;
	gap: .4rem;
	align-items: center;
	min-height: 2.75rem;
	color: var(--simoks-c-accent);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-decoration: none;
	text-transform: uppercase;
}

.simoks-story-link span[aria-hidden] {
	transition: transform 260ms var(--simoks-collection-ease);
}

.simoks-story-link:hover span[aria-hidden],
.simoks-story-link:focus-visible span[aria-hidden] {
	transform: translateX(.3rem);
}

/* Intro — an editorial spread: the statement left, the facts right. */
.simoks-story-intro {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	padding-block: var(--simoks-collection-space);
}

.simoks-story-intro__heading {
	margin: 0;
	font-size: clamp(2.6rem, 5.4vw, 5rem);
	font-weight: 400;
	line-height: .98;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.simoks-story-intro__lead {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.25rem, 1.9vw, 1.6rem);
	line-height: 1.45;
	letter-spacing: -.015em;
}

.simoks-story-intro__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
	margin: clamp(2.25rem, 4vw, 3.25rem) 0 clamp(1.5rem, 3vw, 2rem);
}

.simoks-story-intro__facts > div {
	padding-top: 1.1rem;
	border-top: 1px solid var(--simoks-c-line);
}

.simoks-story-intro__facts dt {
	margin: 0 0 .4rem;
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.15rem, 1.6vw, 1.4rem);
	letter-spacing: -.02em;
}

.simoks-story-intro__facts dd {
	margin: 0;
	color: var(--simoks-c-muted);
	font-size: .92rem;
	line-height: 1.6;
}

/* Statement — the fragrance, told over a full-bleed photograph. */
.simoks-story-statement {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(30rem, 78vh, 48rem);
	padding: var(--simoks-collection-space) var(--simoks-collection-bleed);
	overflow: hidden;
	color: var(--simoks-c-on-dark);
}

.simoks-story-statement__media,
.simoks-story-hotel__media {
	position: absolute;
	z-index: -2;
	inset: -8% 0;
	will-change: transform;
}

.simoks-story-statement__image,
.simoks-story-hotel__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--simoks-story-focus, 50% 50%);
}

.simoks-story-statement::after,
.simoks-story-hotel::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 82%, transparent), color-mix(in srgb, var(--simoks-c-text) 10%, transparent) 70%);
	content: "";
}

.simoks-story-statement__copy {
	max-width: 40rem;
}

.simoks-story-statement .simoks-story-eyebrow,
.simoks-story-hotel .simoks-story-eyebrow {
	color: var(--simoks-c-accent-on-dark);
}

.simoks-story-statement__heading,
.simoks-story-hotel__heading {
	margin: 0;
	color: inherit;
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.04em;
}

.simoks-story-statement__text,
.simoks-story-hotel__text {
	max-width: 34rem;
	margin: 1.25rem 0 0;
	color: color-mix(in srgb, var(--simoks-c-on-dark) 86%, transparent);
	font-size: clamp(1rem, 1.3vw, 1.12rem);
	line-height: 1.7;
}

/* Essentials — the six signature formulas, on the Soft Stone band. */
.simoks-story-essentials {
	padding-block: var(--simoks-collection-space);
	background: var(--simoks-c-band);
}

.simoks-story-essentials__inner,
.simoks-story-commitment__inner {
	width: min(100% - 2 * var(--wp--style--root--padding-left, 1rem), var(--simoks-container-wide));
	margin-inline: auto;
}

.simoks-story-essentials__list,
.simoks-story-formats__list,
.simoks-story-ingredients__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.75rem) clamp(1.25rem, 2.4vw, 2.25rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.simoks-story-essential__link {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.simoks-story-essential__media,
.simoks-story-format__media,
.simoks-story-ingredient__media {
	display: block;
	overflow: hidden;
	margin-bottom: 1.25rem;
	background: var(--simoks-c-surface);
}

.simoks-story-essential__media {
	aspect-ratio: 1;
}

.simoks-story-essential__media img,
.simoks-story-format__media img,
.simoks-story-ingredient__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms var(--simoks-collection-ease);
}

.simoks-story-essential__link:hover img,
.simoks-story-essential__link:focus-visible img,
.simoks-story-format:hover img,
.simoks-story-ingredient:hover img {
	transform: scale(1.04);
}

.simoks-story-essential__name {
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.3rem, 1.9vw, 1.65rem);
	line-height: 1.15;
	letter-spacing: -.025em;
}

.simoks-story-essential__note {
	margin-top: .35rem;
	color: var(--simoks-c-muted);
	font-size: .95rem;
}

.simoks-story-essential__cta {
	display: inline-flex;
	gap: .4rem;
	margin-top: 1rem;
	color: var(--simoks-c-accent);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity: .75;
	transition: opacity 260ms ease;
}

.simoks-story-essential__cta span[aria-hidden] {
	transition: transform 260ms var(--simoks-collection-ease);
}

.simoks-story-essential__link:hover .simoks-story-essential__cta,
.simoks-story-essential__link:focus-visible .simoks-story-essential__cta {
	opacity: 1;
}

.simoks-story-essential__link:hover .simoks-story-essential__cta span[aria-hidden] {
	transform: translateX(.3rem);
}

/* Formats — four panels, each opening its catalogue tab. */
.simoks-story-formats,
.simoks-story-ingredients {
	padding-block: var(--simoks-collection-space);
}

.simoks-story-formats__list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.simoks-story-format {
	display: flex;
	flex-direction: column;
}

.simoks-story-format__media {
	aspect-ratio: 4 / 5;
}

.simoks-story-format__name,
.simoks-story-ingredient__name {
	margin: 0;
	font-size: clamp(1.25rem, 1.7vw, 1.5rem);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -.02em;
}

.simoks-story-format__text,
.simoks-story-ingredient__text {
	margin: .6rem 0 0;
	color: var(--simoks-c-muted);
	font-size: .95rem;
	line-height: 1.65;
}

.simoks-story-format__ideal {
	margin: 1rem 0 .25rem;
	padding-top: .9rem;
	border-top: 1px solid var(--simoks-c-line);
	font-size: .88rem;
	line-height: 1.5;
}

.simoks-story-format__ideal > span:first-child,
.simoks-story-ingredient__product {
	display: block;
	margin-bottom: .2rem;
	color: var(--simoks-c-accent);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.simoks-story-format .simoks-story-link {
	margin-top: auto;
}

/* Ingredients — botanical photography, one per signature extract. */
.simoks-story-ingredient__media {
	aspect-ratio: 3 / 4;
}

.simoks-story-ingredient__name {
	font-style: italic;
}

.simoks-story-ingredient__product {
	margin: 1rem 0 0;
}

/* Commitment — large statements beside the paper accessory box. */
.simoks-story-commitment {
	padding-block: var(--simoks-collection-space);
	background: var(--simoks-c-band);
}

.simoks-story-commitment__inner {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: center;
}

.simoks-story-commitment__heading {
	margin: 0 0 clamp(2rem, 4vw, 3rem);
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.04em;
	text-wrap: balance;
}

.simoks-story-commitment__list {
	margin: 0;
}

.simoks-story-commitment__list > div {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: 1rem 2rem;
	padding-block: 1.4rem;
	border-top: 1px solid var(--simoks-c-line);
}

.simoks-story-commitment__list dt {
	font-family: var(--wp--preset--font-family--display, serif);
	font-size: clamp(1.3rem, 2vw, 1.75rem);
	line-height: 1.15;
	letter-spacing: -.025em;
}

.simoks-story-commitment__list dd {
	margin: 0;
	color: var(--simoks-c-muted);
	line-height: 1.65;
}

.simoks-story-commitment__media {
	overflow: hidden;
	aspect-ratio: 4 / 5;
}

.simoks-story-commitment__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Hotel — the collection in its setting, full bleed. */
.simoks-story-hotel {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	min-height: clamp(32rem, 86vh, 52rem);
	padding: var(--simoks-collection-space) var(--simoks-collection-bleed);
	overflow: hidden;
	color: var(--simoks-c-on-dark);
}

.simoks-story-hotel__copy {
	max-width: 32rem;
}

/* Band copy on the other side, when the photograph's subject is in the way. */
.simoks-story-statement--end {
	justify-content: flex-end;
}

.simoks-story-hotel--start {
	--simoks-story-scrim-angle: 90deg;
	justify-content: flex-start;
}

/* The hotel photograph is bright; darken toward the copy corner too. */
.simoks-story-hotel::after,
.simoks-story-statement--end::after {
	background:
		linear-gradient(var(--simoks-story-scrim-angle, 270deg), color-mix(in srgb, var(--simoks-c-text) 62%, transparent), transparent 62%),
		linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 82%, transparent), color-mix(in srgb, var(--simoks-c-text) 10%, transparent) 70%);
}

.simoks-story-hotel .simoks-story-button {
	margin-top: clamp(1.75rem, 3vw, 2.25rem);
	border-color: var(--simoks-c-on-dark);
	color: var(--simoks-c-on-dark);
}

.simoks-story-hotel .simoks-story-button:hover,
.simoks-story-hotel .simoks-story-button:focus-visible {
	background: var(--simoks-c-on-dark);
	color: var(--simoks-c-text);
}

/* Section entrances: slow and quiet. */
.simoks-collection-detail .simoks-reveal-pending,
.simoks-collections-page .simoks-reveal-pending {
	transition-duration: .9s;
}

@media (max-width: 1200px) {
	.simoks-story-formats__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.simoks-collection-detail__hero {
		grid-template-columns: minmax(0, 1fr);
		min-height: min(calc(100svh - var(--simoks-premium-header-total, 81px)), 46rem);
	}

	.simoks-collection-detail__hero-copy {
		grid-column: 1;
	}

	.simoks-collection-detail__hero::after {
		background: linear-gradient(0deg, color-mix(in srgb, var(--simoks-c-text) 92%, transparent) 15%, color-mix(in srgb, var(--simoks-c-text) 72%, transparent) 62%, color-mix(in srgb, var(--simoks-c-text) 25%, transparent) 90%);
	}

	.simoks-collection-signature,
	.simoks-story-intro,
	.simoks-story-commitment__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: clamp(2rem, 5vw, 3rem);
	}

	.simoks-story-essentials__list,
	.simoks-story-ingredients__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.simoks-story-commitment__media {
		max-width: 28rem;
	}
}

@media (max-width: 782px) {
	.simoks-collection-detail,
	.simoks-collections-page {
		--simoks-collection-space: clamp(3.25rem, 11vw, 4.5rem);
	}

	.simoks-collection-detail__hero {
		min-height: min(calc(100svh - var(--simoks-premium-header-total, 75px)), 42rem);
		padding-bottom: clamp(4.5rem, 12vw, 5.5rem);
	}

	.simoks-collection-detail__hero-media img {
		object-position: var(--simoks-hero-focus-mobile, 26% 50%);
	}

	.simoks-story-intro__facts {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.simoks-story-intro__facts > div {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		gap: 1rem;
		padding-block: 1rem;
	}

	.simoks-story-commitment__list > div {
		grid-template-columns: minmax(0, 1fr);
		gap: .4rem;
	}

	.simoks-story-statement,
	.simoks-story-hotel {
		min-height: clamp(28rem, 80svh, 36rem);
	}
}

@media (max-width: 600px) {
	.simoks-story-formats__list,
	.simoks-story-ingredients__list {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Essentials stay two-up: square product shots read well small. */
	.simoks-story-essential__name {
		font-size: 1.1rem;
	}

	.simoks-story-essential__note {
		font-size: .85rem;
	}

	.simoks-story-essential__cta {
		font-size: .66rem;
		letter-spacing: .06em;
	}

	.simoks-story-ingredient__media,
	.simoks-story-format__media {
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 480px) {
	.simoks-collection-detail__actions,
	.simoks-collection-detail__explore,
	.simoks-collection-detail__enquire,
	.simoks-collection-cta__actions,
	.simoks-collection-cta__primary,
	.simoks-collection-cta__secondary {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.simoks-collection-detail__hero-media img,
	.simoks-collection-detail__hero-copy {
		animation: none;
	}

	.simoks-collection-detail__back a,
	.simoks-collection-detail__explore,
	.simoks-collection-detail__enquire,
	.simoks-collection-cta__primary,
	.simoks-collection-cta__secondary,
	.simoks-story-button,
	.simoks-story-link span[aria-hidden],
	.simoks-story-essential__media img,
	.simoks-story-format__media img,
	.simoks-story-ingredient__media img,
	.simoks-story-essential__cta {
		transition: none;
	}
}

/* Page 06 — Brands */
.simoks-brands-page{padding-block:clamp(2rem,5vw,5.5rem)}
.simoks-brands-page__intro{padding-block:clamp(2rem,5vw,5rem)}
.simoks-brands-page__eyebrow{margin:0 0 .85rem;color:var(--simoks-accent-ink,#856428);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.simoks-brands-page__intro h1{margin:0}
.simoks-brands-page__intro>p:last-child{max-width:52rem;margin-top:1.5rem;line-height:1.7}
.simoks-brands-page__directory{padding-bottom:clamp(4rem,8vw,8rem)}

/* Page 07 — About SIMOKS */
.simoks-about-page {
	padding-block: clamp(1.5rem, 4vw, 4rem);
}

.simoks-about-hero {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 6vw, 7rem);
	align-items: center;
	padding-block: clamp(2rem, 5vw, 5rem);
}

.simoks-about-hero__copy {
	max-width: 42rem;
}

.simoks-about__eyebrow {
	margin: 0 0 .85rem;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .65;
}

.simoks-about-hero .wp-block-post-title {
	margin: 0;
}

.simoks-about-hero .wp-block-post-excerpt {
	margin-top: 1.5rem;
	color: var(--wp--preset--color--muted, #68756B);
	font-size: 1.15rem;
	line-height: 1.75;
}

.simoks-about-hero__media .wp-block-post-featured-image {
	overflow: hidden;
	margin: 0;
	aspect-ratio: 4 / 5;
	border-radius: 1.25rem;
	background: color-mix(in srgb, currentColor 5%, transparent);
}

.simoks-about-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.simoks-about-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	border-left: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.simoks-about-fact {
	min-height: 14rem;
	padding: clamp(1.5rem, 4vw, 3rem);
	border-right: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.simoks-about-fact h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--display, clamp(2.25rem, 4.4vw, 4rem));
	letter-spacing: -.06em;
	line-height: .9;
}

.simoks-about-fact p {
	max-width: 18rem;
	margin: 1.25rem 0 0;
	color: var(--wp--preset--color--muted, #68756B);
	line-height: 1.55;
}

.simoks-about-story {
	max-width: 880px !important;
	padding-block: clamp(4rem, 9vw, 9rem);
}

.simoks-about-story > .wp-block-post-content {
	font-size: 1.08rem;
	line-height: 1.8;
}

.simoks-about-story > .wp-block-post-content > p:first-child {
	font-size: clamp(1.25rem, 2vw, 1.625rem);
	line-height: 1.45;
	letter-spacing: -.025em;
}

.simoks-about-story > .wp-block-post-content :where(h2, h3) {
	margin-top: 2.2em;
	letter-spacing: -.035em;
}

.simoks-about-story > .wp-block-post-content :where(.wp-block-image, .wp-block-gallery, .wp-block-columns) {
	margin-block: clamp(2rem, 5vw, 5rem);
}

.simoks-about-story > .wp-block-post-content .wp-block-image img {
	border-radius: var(--simoks-radius-md, 0.75rem);
}

.simoks-about-services {
	padding-block: clamp(4rem, 8vw, 8rem);
	border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.simoks-about-services__intro {
	max-width: 58rem;
	margin-bottom: clamp(2.5rem, 5vw, 5rem);
}

.simoks-about-services__intro h2 {
	max-width: 14ch;
	margin: 0;
	font-size: var(--wp--preset--font-size--display, clamp(2.25rem, 4.4vw, 4rem));
	line-height: .98;
	letter-spacing: -.055em;
}

.simoks-about-services__grid {
	gap: 0 !important;
	border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	border-left: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.simoks-about-services__grid > .wp-block-column {
	padding: clamp(1.5rem, 4vw, 3rem);
	border-right: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.simoks-about-service__number {
	margin: 0 0 3.5rem;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	opacity: .5;
}

.simoks-about-services__grid h3 {
	margin: 0 0 .85rem;
	font-size: clamp(1.375rem, 2vw, 1.875rem);
	letter-spacing: -.03em;
}

.simoks-about-services__grid h3 + p {
	margin: 0;
	color: var(--wp--preset--color--muted, #68756B);
	line-height: 1.65;
}

@media (max-width: 782px) {
	.simoks-about-hero {
		grid-template-columns: 1fr;
	}

	.simoks-about-hero__media {
		order: -1;
	}

	.simoks-about-hero__media .wp-block-post-featured-image {
		aspect-ratio: 4 / 3;
	}

	.simoks-about-facts {
		grid-template-columns: 1fr;
	}

	.simoks-about-fact {
		min-height: 0;
	}

	.simoks-about-services__grid {
		display: grid;
		grid-template-columns: 1fr;
	}
}

/* Page 08 — Contact / Showroom */
.simoks-contact-page{padding-block:clamp(2rem,5vw,5rem)}
.simoks-contact-page__intro{padding-block:clamp(2rem,5vw,5rem)}
.simoks-contact-page__eyebrow{margin:0 0 .85rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.simoks-contact-page__intro h1{margin:0}
.simoks-contact-page__intro>p:last-child{max-width:48rem;margin-top:1.5rem;line-height:1.7}
.simoks-contact-page__showroom-heading{padding-top:clamp(3rem,7vw,7rem);border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.simoks-contact-page__showroom-heading h2{max-width:13ch;margin:0;font-size:var(--wp--preset--font-size--display,clamp(2.75rem,6.5vw,6.25rem));line-height:.98;letter-spacing:-.055em}

/*
 * Page hero contract — the text-first intro at the top of Products,
 * Collections, Brands, About, Contact and the category/brand archives.
 * One eyebrow → title → lead stack, on the wide grid's left edge, with the
 * hero (not the page wrapper) owning the space under the header. Media-led
 * heroes (home scene, product and collection detail) keep their own layouts.
 */
:root {
	--simoks-hero-pad-top: clamp(3rem, 7vw, 6rem);
	--simoks-hero-pad-bottom: clamp(2.5rem, 5vw, 4.5rem);
	--simoks-hero-gap: clamp(1.25rem, 2vw, 1.75rem);
}

:is(
	.simoks-products-page,
	.simoks-collections-page,
	.simoks-brands-page,
	.simoks-contact-page,
	.simoks-about-page,
	.simoks-product-category-page,
	.simoks-brand-page
) {
	padding-top: 0;
}

:is(
	.simoks-products-intro,
	.simoks-collections-page__intro,
	.simoks-brands-page__intro,
	.simoks-contact-page__intro,
	.simoks-about-hero
) {
	padding-block: var(--simoks-hero-pad-top) var(--simoks-hero-pad-bottom);
}

:is(
	.simoks-products-intro__eyebrow,
	.simoks-collections-page__eyebrow,
	.simoks-brands-page__eyebrow,
	.simoks-contact-page__intro .simoks-contact-page__eyebrow,
	.simoks-about-hero .simoks-about__eyebrow,
	.wp-block-simoks-category-archive .simoks-category-archive__eyebrow,
	.wp-block-simoks-brand-archive .simoks-brand-archive__meta
) {
	margin: 0 0 1rem;
	color: var(--simoks-accent-ink, #856428);
	font-size: var(--simoks-type-label, .75rem);
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.3;
	text-transform: uppercase;
	opacity: 1;
}

.simoks-collections-page__eyebrow::before {
	display: none;
}

:is(
	.simoks-products-intro h1,
	.simoks-collections-page__intro h1,
	.simoks-brands-page__intro h1,
	.simoks-about-hero .wp-block-post-title,
	.simoks-contact-page__intro h1,
	.wp-block-simoks-category-archive .simoks-category-archive__title,
	.wp-block-simoks-brand-archive .simoks-brand-archive__title
) {
	max-width: 14ch;
	margin: 0;
	font-family: var(--simoks-type-display, "Iowan Old Style", Baskerville, "Times New Roman", serif);
	font-size: var(--simoks-type-page-title, clamp(2.5rem, 5.4vw, 4.75rem));
	font-weight: 400;
	letter-spacing: -.05em;
	line-height: .94;
	text-wrap: balance;
}

:is(
	.simoks-products-intro > p:last-child,
	.simoks-collections-page__intro > p:last-child,
	.simoks-brands-page__intro > p:last-child,
	.simoks-contact-page__intro > p:last-child,
	.simoks-about-hero .wp-block-post-excerpt,
	.wp-block-simoks-category-archive .simoks-category-archive__description
) {
	max-width: 40rem;
	margin: var(--simoks-hero-gap) 0 0;
	color: var(--simoks-muted-ink, #5C6A5F);
	font-size: var(--wp--preset--font-size--large, 1.3125rem);
	line-height: 1.6;
}

.simoks-about-hero .wp-block-post-excerpt > p {
	margin: 0;
}

/* No featured image → no empty media cell (and grid gap) above the copy. */
.simoks-about-hero__media:not(:has(img)) {
	display: none;
}

/* Section headings with a ch cap inside constrained groups: keep them on the
 * content column's left edge instead of letting the layout centre them. */
:is(
	.simoks-about-services__intro h2,
	.simoks-contact-page__showroom-heading h2
) {
	margin-inline: max(0px, (100% - var(--wp--style--global--content-size, 100%)) / 2) auto !important;
}

/* Page 09 — Product Category Archive */
.simoks-product-category-page{padding-block:clamp(1.5rem,4vw,4rem)}

/* Page 10 — Brand Archive */
.simoks-brand-page{padding-block:clamp(1.5rem,4vw,4rem)}
