/* WordPress block integration layered over the Atelier prototype styles. */
:root {
	--hom-header-h: 70px;
	--hom-shadow-soft: 0 8px 28px rgba(20, 41, 66, .09);
	--hom-shadow-plate: 0 24px 58px rgba(20, 41, 66, .14);
}

html { scroll-behavior: smooth; }
body { overflow-x: clip; }
body .wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks main { min-height: 58vh; }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
	position: fixed !important; top: 1rem; left: 1rem; z-index: 9999;
	width: auto; height: auto; padding: .8rem 1rem; margin: 0; clip: auto;
	background: var(--ivory-50); color: var(--navy-900);
}

.hom-section { padding-block: clamp(4.5rem, 9vw, 8rem); }
.hom-section--small { padding-block: clamp(3.25rem, 6vw, 5.5rem); }
.hom-section--sand { background: var(--sand-100); }
.hom-section--navy { background: var(--navy-900); color: var(--ivory-50); }
.hom-section--navy h2,
.hom-section--navy h3,
.hom-section--navy p { color: inherit; }
.hom-shell { max-width: var(--shell); margin-inline: auto; }

.hom-pattern {
	margin: 0 !important;
	max-width: none !important;
}
.hom-pattern .wp-block-heading { margin: 0; }
.hom-pattern p { margin-top: 1rem; }
.hom-pattern .page-kicker { margin-top: 0; }

.hom-hero {
	position: relative;
	min-height: min(820px, 88svh);
	display: grid;
	align-items: end;
	padding: clamp(7rem, 14vw, 10rem) clamp(1.25rem, 5vw, 5rem) clamp(3rem, 8vw, 6rem);
	background: var(--sand-100);
	overflow: hidden;
}
.hom-hero > .wp-block-cover__background { background: linear-gradient(90deg, rgba(14, 28, 46, .6), rgba(14, 28, 46, .08) 68%) !important; }
.hom-hero .wp-block-cover__inner-container { width: min(1220px, 100%); margin-inline: auto; }
.hom-hero-plate {
	width: min(600px, 100%);
	padding: clamp(1.75rem, 4vw, 3.6rem);
	background: rgba(255, 253, 249, .94);
	color: var(--navy-900);
	box-shadow: var(--hom-shadow-plate);
	backdrop-filter: blur(12px);
}
.hom-hero-plate h1 { color: var(--navy-900); font-size: clamp(3.2rem, 7vw, 6.6rem); }
.hom-hero-plate .hero-sub { max-width: 45ch; }
.hom-hero-plate .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--navy-900);
	color: var(--navy-900);
}

.hom-story-lead {
	font-size: clamp(1.65rem, 3.4vw, 3.1rem);
	line-height: 1.25;
	max-width: 34ch;
	letter-spacing: -.025em;
}
.hom-section--navy .about-cols { color: rgba(250, 248, 243, .78); }
.hom-section--navy .about-open em,
.hom-section--navy .about-sign { color: var(--gold-300); }
.hom-section--navy .hom-proof { color: var(--navy-900); }
.hom-proof-grid,
.hom-process-grid,
.hom-value-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--line);
	border: 1px solid var(--line);
}
.hom-proof,
.hom-process-step,
.hom-value-card {
	background: var(--ivory-50);
	padding: clamp(1.5rem, 3vw, 2.75rem);
}
.hom-proof strong,
.hom-process-step strong { display: block; color: var(--gold-700); font-size: 1.25rem; margin-bottom: .6rem; }

.hom-current-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hom-product-card { position: relative; min-width: 0; }
.hom-product-card .catalog-media > a { display: block; height: 100%; }
.hom-product-card .catalog-media img { width: 100%; height: 100%; object-fit: cover; }
.hom-product-badge {
	position: absolute; z-index: 2; top: .8rem; left: .8rem;
	padding: .45rem .7rem; background: var(--navy-900); color: var(--ivory-50);
	font-size: .66rem; text-transform: uppercase; letter-spacing: .1em;
}
.hom-product-badge--enquiry { background: var(--gold-400); color: var(--navy-950); }
.hom-block-product-image { position: relative; }
.hom-price-prefix { font-size: .72em; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.hom-new-products { grid-template-columns: 1.25fr repeat(2, minmax(0, .75fr)); align-items: start; }
.hom-new-products .hom-product-card:first-child { grid-row: span 2; }
.hom-new-products .hom-product-card:first-child .catalog-media { aspect-ratio: 4 / 5; }

.hom-enquiry-actions { margin-block: 1.5rem; }
.hom-enquiry-actions .button { margin-right: .55rem; margin-bottom: .65rem; }
.hom-enquiry-note { max-width: 52ch; color: var(--ink-soft); font-size: .88rem; }
.hom-enquiry-context {
	display: flex; flex-wrap: wrap; gap: .35rem .75rem; align-items: baseline;
	padding: 1rem 1.2rem; margin-bottom: 1rem;
	background: var(--sand-100); border-left: 3px solid var(--gold-400);
}
.hom-enquiry-context span { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.hom-setup-note { padding: 1rem; border: 1px dashed var(--gold-500); background: var(--sand-100); }

.hom-editorial-hero {
	min-height: 68svh;
	display: grid;
	align-items: end;
	padding: calc(var(--hom-header-h) + 5rem) clamp(1.25rem, 5vw, 5rem) clamp(3rem, 6vw, 5rem);
}
.hom-editorial-hero .wp-block-cover__inner-container { width: min(1220px, 100%); margin-inline: auto; }
.hom-editorial-hero h1 { max-width: 12ch; color: var(--ivory-50); font-size: clamp(3.2rem, 7vw, 6.3rem); }
.hom-editorial-hero p { max-width: 52ch; color: rgba(250, 248, 243, .84); }
.hom-editorial-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.hom-editorial-grid--reverse { grid-template-columns: 1.1fr .9fr; }
.hom-editorial-grid img { width: 100%; min-height: 460px; object-fit: cover; }
.hom-quote {
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px solid var(--gold-400);
	font-size: clamp(1.45rem, 3vw, 2.5rem);
	line-height: 1.35;
}

/* Seller partnership page. */
.hom-seller-page-header {
	margin-top: var(--hom-header-h);
	padding-block: clamp(2rem, 4vw, 3.25rem);
	border-bottom: 1px solid var(--line);
}
.hom-seller-page-header .page-title {
	margin: 0;
	text-align: center;
}
.hom-seller-grid {
	display: grid !important;
	grid-template-columns: minmax(0, .78fr) minmax(32rem, 1.22fr);
	gap: clamp(3rem, 8vw, 8rem);
	align-items: start !important;
}
.hom-seller-grid > .wp-block-column { min-width: 0; }
.hom-seller-intro {
	position: sticky;
	top: calc(var(--hom-header-h) + 2rem);
}
.hom-seller-intro h2 { max-width: 11ch; }
.hom-seller-intro > p:not(.page-kicker) { max-width: 42ch; color: var(--ink-soft); }
.hom-seller-checklist {
	display: grid;
	gap: .8rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}
.hom-seller-checklist li {
	position: relative;
	padding: 0 0 .8rem 1.5rem;
	border-bottom: 1px solid var(--line);
	color: var(--navy-900);
}
.hom-seller-checklist li::before {
	content: "";
	position: absolute;
	top: .62em;
	left: 0;
	width: .45rem;
	height: .45rem;
	border-radius: 50%;
	background: var(--gold-400);
}
.hom-seller-intro .hom-seller-note {
	margin-top: 2rem;
	padding-left: 1rem;
	border-left: 2px solid var(--gold-400);
	font-size: .86rem;
}
.hom-seller-form-card { margin: 0; }
.hom-seller-form-card > h2 { margin-bottom: .45rem; }
.hom-seller-form-card > p { margin-top: 0; }
.hom-seller-form-card .forminator-description {
	color: var(--ink-soft) !important;
	font-size: .78rem !important;
}
.hom-seller-form-card .forminator-file-upload,
.hom-seller-form-card .forminator-multi-upload {
	border: 1px dashed var(--gold-400) !important;
	border-radius: var(--radius-sm) !important;
	background: var(--sand-100) !important;
}
.hom-seller-form-card .forminator-button-upload {
	border: 1px solid var(--navy-900) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--navy-900) !important;
}
.hom-seller-form-card .forminator-consent__label {
	color: var(--ink-soft) !important;
	font-size: .82rem !important;
	line-height: 1.55 !important;
}
.hom-seller-form-card .forminator-consent__label a {
	color: var(--navy-900) !important;
	text-decoration-color: var(--gold-400) !important;
	text-underline-offset: 3px;
}
.hom-form-unavailable { padding: 1rem; border: 1px dashed var(--gold-500); background: var(--sand-100); }

/* WooCommerce block surfaces: style documented public wrappers, not private nesting. */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-order-confirmation-wrapper,
.woocommerce-account .woocommerce {
	max-width: var(--shell);
	margin-inline: auto;
	padding: clamp(2.5rem, 6vw, 6rem) 0;
}
.wp-block-woocommerce-cart .wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-button,
.wc-block-components-button,
.woocommerce .button {
	border-radius: 999px !important;
	background: var(--navy-900) !important;
	color: var(--ivory-50) !important;
	font-weight: 600 !important;
	letter-spacing: .06em;
}
.wc-block-components-product-name,
.wc-block-grid__product-title { color: var(--navy-900); font-weight: 600; }
.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-radius: 0; border: 1px solid var(--line); background: var(--white); }
.woocommerce div.product { max-width: var(--shell); margin: 0 auto; padding: clamp(3rem, 7vw, 7rem) 0; }
.woocommerce div.product div.images img { background: var(--sand-100); }
.woocommerce div.product .product_title { font-size: clamp(2.4rem, 5vw, 4.6rem); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--gold-700); font-size: 1.25rem; }

.hom-live-search { display: grid; grid-template-columns: 1fr auto; gap: .75rem; margin-top: 1.5rem; }
.hom-live-search input {
	width: 100%; min-height: 50px; border: 0; border-bottom: 1px solid var(--line);
	background: transparent; color: var(--navy-900); font: inherit;
}
.hom-search-status { min-height: 1.5rem; margin-top: .7rem; color: var(--ink-soft); font-size: .82rem; }

@media (max-width: 960px) {
	.hom-proof-grid,
	.hom-process-grid,
	.hom-value-grid { grid-template-columns: 1fr 1fr; }
	.hom-editorial-grid,
	.hom-editorial-grid--reverse { grid-template-columns: 1fr; }
	.hom-current-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hom-seller-grid { grid-template-columns: 1fr; }
	.hom-seller-intro { position: static; }
}

@media (max-width: 640px) {
	:root { --hom-header-h: 62px; }
	.hom-section { padding-block: 4rem; }
	.hom-hero { min-height: 760px; padding-inline: 1rem; }
	.hom-hero-plate { padding: 1.5rem; }
	.hom-proof-grid,
	.hom-process-grid,
	.hom-value-grid,
	.hom-new-products { grid-template-columns: 1fr; }
	.hom-new-products .hom-product-card:first-child { grid-row: auto; }
	.hom-editorial-grid img { min-height: 320px; }
	.hom-live-search { grid-template-columns: 1fr; }
}

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