/* Set C Hero / Premium presentation; structure remains Core/FSE-owned. */
:root,
body {
	--zare-premium-header-inset: var(--zare-overlay-presentation-inset, clamp(0.75rem, 0.5rem + 0.8vw, 1.25rem));
	--zare-premium-header-radius: var(--zare-overlay-presentation-radius, var(--wp--custom--zare-experience--radius--xl, 1rem));
	--zare-premium-header-shadow-subtle: var(--wp--preset--shadow--sm, 0 10px 30px rgba(24, 24, 27, 0.12));
	--zare-premium-header-shadow-raised: var(--zare-overlay-presentation-shadow, var(--wp--preset--shadow--lg, 0 18px 48px rgba(24, 24, 27, 0.16)));
	--zare-premium-header-blur-subtle: var(--zare-overlay-presentation-backdrop-blur-subtle, 2px);
	--zare-premium-header-blur-medium: var(--zare-overlay-presentation-backdrop-blur-medium, 5px);
	--zare-premium-header-blur-strong: 10px;
}

.zare-shell-c-header {
	--zare-premium-header-bg: var(--wp--preset--color--background);
	--zare-premium-header-fg: var(--wp--preset--color--foreground);
	--zare-premium-header-border: color-mix(in srgb, var(--wp--preset--color--border) 82%, transparent);
	--zare-premium-header-radius-active: var(--zare-premium-header-radius);
	--zare-premium-header-shadow: none;
	--zare-premium-header-blur: var(--zare-premium-header-blur-medium);
	--zare-premium-header-block-padding: var(--wp--preset--spacing--2);
	position: relative;
	color: var(--zare-premium-header-fg);
	background: transparent;
}

.zare-shell-c-header__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	min-block-size: 4.5rem;
	padding: var(--zare-premium-header-block-padding) var(--wp--preset--spacing--3);
	background: var(--zare-premium-header-bg);
	color: var(--zare-premium-header-fg);
	border: 1px solid var(--zare-premium-header-border);
	border-radius: var(--zare-premium-header-radius-active);
	box-shadow: var(--zare-premium-header-shadow);
}
.zare-shell-c-header__brand { justify-self: start; min-width: 0; }
.zare-shell-c-header__navigation { justify-self: center; margin: 0 !important; }
.zare-shell-c-header__actions { justify-self: end; margin: 0; }
.zare-shell-c-header__primary-action { margin: 0; }
.zare-shell-c-header__primary-action .wp-block-button__link {
	min-block-size: var(--wp--custom--zare-experience--touch--target, 44px);
	display: inline-flex;
	align-items: center;
}

/* Placement */
.zare-shell-c-header.zare-header-placement-standard .zare-shell-c-header__main {
	margin-block-start: 0;
}
.zare-shell-c-header.zare-header-placement-floating-inset .zare-shell-c-header__main,
.zare-shell-c-header.zare-header-placement-hero-overlay .zare-shell-c-header__main {
	margin-block-start: var(--zare-premium-header-inset);
}
.zare-shell-c-header.zare-header-placement-hero-overlay {
	background: transparent;
	block-size: 0;
	overflow: visible;
}

/* Set C overlay geometry remains specific; sticky hosting/state is generic in sticky.css. */
.wp-block-template-part:has(> .zare-shell-c-header.zare-header-placement-hero-overlay) {
	block-size: 0;
	overflow: visible;
}
.zare-shell-c-header.zare-scroll-hide-down-reveal-up {
	--zare-scroll-hide-extra-offset: calc(var(--zare-premium-header-inset) + var(--wp--preset--spacing--2));
}

/* Surface + paired foreground */
.zare-shell-c-header.zare-header-tint-light {
	--zare-premium-header-bg: color-mix(in srgb, var(--wp--preset--color--background) 82%, transparent);
	--zare-premium-header-fg: var(--wp--preset--color--foreground);
}
.zare-shell-c-header.zare-header-tint-dark {
	--zare-premium-header-bg: color-mix(in srgb, var(--wp--preset--color--foreground) 82%, transparent);
	--zare-premium-header-fg: var(--wp--preset--color--background);
	--zare-premium-header-border: color-mix(in srgb, var(--wp--preset--color--background) 20%, transparent);
}
.zare-shell-c-header.zare-header-tint-adaptive {
	--zare-premium-header-bg: color-mix(in srgb, var(--wp--preset--color--background) 76%, transparent);
	--zare-premium-header-fg: var(--wp--preset--color--foreground);
}
.zare-shell-c-header.zare-header-surface-solid .zare-shell-c-header__main {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
}
.zare-shell-c-header.zare-header-surface-clear .zare-shell-c-header__main {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}
.zare-shell-c-header.zare-header-surface-frosted .zare-shell-c-header__main {
	background: var(--zare-premium-header-bg);
	-webkit-backdrop-filter: blur(var(--zare-premium-header-blur));
	backdrop-filter: blur(var(--zare-premium-header-blur));
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.zare-shell-c-header.zare-header-surface-frosted .zare-shell-c-header__main {
		background: color-mix(in srgb, var(--wp--preset--color--background) 96%, var(--wp--preset--color--foreground));
		color: var(--wp--preset--color--foreground);
	}
}

/* Shape */
.zare-shell-c-header.zare-header-shape-default { --zare-premium-header-radius-active: 0; }
.zare-shell-c-header.zare-header-shape-rounded { --zare-premium-header-radius-active: var(--zare-premium-header-radius); }
.zare-shell-c-header.zare-header-shape-pill { --zare-premium-header-radius-active: var(--wp--custom--zare-experience--radius--full, 999px); }

/* Elevation */
.zare-shell-c-header.zare-header-elevation-none { --zare-premium-header-shadow: none; }
.zare-shell-c-header.zare-header-elevation-subtle { --zare-premium-header-shadow: var(--zare-premium-header-shadow-subtle); }
.zare-shell-c-header.zare-header-elevation-raised { --zare-premium-header-shadow: var(--zare-premium-header-shadow-raised); }

/* Blur */
.zare-shell-c-header.zare-header-blur-subtle { --zare-premium-header-blur: var(--zare-premium-header-blur-subtle); }
.zare-shell-c-header.zare-header-blur-medium { --zare-premium-header-blur: var(--zare-premium-header-blur-medium); }
.zare-shell-c-header.zare-header-blur-strong { --zare-premium-header-blur: var(--zare-premium-header-blur-strong); }

/* Density */
.zare-shell-c-header.zare-header-density-compact {
	--zare-premium-header-block-padding: var(--wp--preset--spacing--1);
	--zare-hero-header-clearance-local: clamp(5.5rem, 5rem + 1vw, 6.5rem);
}
.zare-shell-c-header.zare-header-density-default {
	--zare-premium-header-block-padding: var(--wp--preset--spacing--2);
	--zare-hero-header-clearance-local: clamp(6.5rem, 6rem + 1.5vw, 8rem);
}
.zare-shell-c-header.zare-header-density-spacious {
	--zare-premium-header-block-padding: var(--wp--preset--spacing--3);
	--zare-hero-header-clearance-local: clamp(7.5rem, 7rem + 2vw, 9.5rem);
}

/* Clear/frosted parent never makes Core popovers translucent. */
.zare-shell-c-header .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--popover) !important;
	color: var(--wp--preset--color--popover-foreground) !important;
}
.zare-shell-c-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--background) !important;
	color: var(--wp--preset--color--foreground) !important;
}

/* Hero Stage: top-level Set C Header is followed by the canonical Core Cover. */
.zare-hero-stage {
	--zare-hero-header-clearance: clamp(6.5rem, 6rem + 1.5vw, 8rem);
	isolation: isolate;
	width: 100%;
	min-block-size: clamp(36rem, 76svh, 52rem);
}
.wp-block-template-part:has(> .zare-shell-c-header.zare-header-density-compact) + .zare-hero-stage {
	--zare-hero-header-clearance: clamp(5.5rem, 5rem + 1vw, 6.5rem);
}
.wp-block-template-part:has(> .zare-shell-c-header.zare-header-density-spacious) + .zare-hero-stage {
	--zare-hero-header-clearance: clamp(7.5rem, 7rem + 2vw, 9.5rem);
}
.zare-hero-stage .wp-block-cover__inner-container {
	box-sizing: border-box;
	width: min(calc(100% - var(--zare-layout-gutter-start) - var(--zare-layout-gutter-end)), var(--zare-layout-wide));
	min-block-size: inherit;
	display: grid;
	align-items: center;
	margin-inline: auto;
	padding-block-start: var(--zare-hero-header-clearance);
}
.zare-hero-stage__content {
	--zare-theme-quiet-button-fg: var(--wp--preset--color--background);
	--zare-theme-outline-button-border: currentColor;
	padding-block-end: clamp(3rem, 2rem + 5vw, 7rem);
	color: var(--wp--preset--color--background);
}
.zare-hero-stage__content > :where(h1, h2, h3, p) { color: inherit; }
.zare-hero-stage__actions { margin-block-start: var(--wp--preset--spacing--4); }

/* Standalone Conversion Band */
.zare-conversion-band {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	box-sizing: border-box;
	padding: clamp(1.5rem, 1rem + 2vw, 3rem);
	margin-block: var(--wp--preset--spacing--6);
}
.zare-conversion-band__content,
.zare-conversion-band__actions { margin: 0; }
.zare-conversion-band__actions { justify-content: flex-end; }
.zare-conversion-band-surface-contrast {
	--zare-theme-quiet-button-fg: var(--wp--preset--color--background);
	--zare-theme-outline-button-border: currentColor;
	background: var(--wp--preset--color--foreground);
	color: var(--wp--preset--color--background);
}
.zare-conversion-band-surface-contrast :where(h2, p) { color: inherit; }
.zare-conversion-band-shape-rounded { border-radius: var(--wp--custom--zare-experience--radius--xl, 1rem); }
.zare-conversion-band-shape-pill { border-radius: var(--wp--custom--zare-experience--radius--full, 999px); }
.zare-conversion-band-elevation-subtle { box-shadow: var(--zare-premium-header-shadow-subtle); }
.zare-conversion-band-elevation-raised { box-shadow: var(--zare-premium-header-shadow-raised); }

/* Premium Footer */
.zare-shell-c-footer {
	container-name: zare-shell-c-footer;
	container-type: inline-size;
	background: var(--wp--preset--color--muted);
	color: var(--wp--preset--color--foreground);
}
.zare-shell-c-footer__main {
	display: grid;
	grid-template-columns: minmax(15rem, 1.15fr) minmax(0, 2.2fr) minmax(15rem, 1fr);
	grid-template-areas:
		"brand directory utility"
		"separator separator separator"
		"meta meta meta";
	align-items: start;
	gap: var(--wp--preset--spacing--6);
	padding-block: var(--wp--preset--spacing--6);
}
.zare-shell-c-footer__brand { grid-area: brand; }
.zare-shell-c-footer__directory {
	grid-area: directory;
	display: grid;
	grid-template-columns: repeat(3, minmax(8.5rem, 1fr));
	align-items: start;
	gap: var(--wp--preset--spacing--5);
}
.zare-shell-c-footer__directory-column,
.zare-shell-c-footer__directory-column > :first-child,
.zare-shell-c-footer__utility,
.zare-shell-c-footer__utility > :first-child { margin-block-start: 0; }
.zare-shell-c-footer__nav,
.zare-shell-c-footer__nav .wp-block-navigation__container { width: 100%; align-items: flex-start; }
.zare-shell-c-footer__utility { grid-area: utility; }
.zare-shell-c-footer__socials { margin-block-start: var(--wp--preset--spacing--3); }
.zare-shell-c-footer__main > .zare-theme-footer__separator { grid-area: separator; }
.zare-shell-c-footer__meta { grid-area: meta; margin: 0; gap: var(--wp--preset--spacing--3); }
.zare-shell-c-footer__copyright,
.zare-shell-c-footer__legal { margin: 0; }

@container zare-global-header (max-width: 72rem) {
	.zare-shell-c-header__main {
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: var(--wp--preset--spacing--2);
	}
	.zare-shell-c-header__navigation { justify-self: end; }
}
@container zare-global-header (max-width: 30rem) {
	.zare-shell-c-header { --zare-premium-header-inset: var(--wp--preset--spacing--2); }
	.zare-shell-c-header__main { gap: var(--wp--preset--spacing--1); padding-inline: var(--wp--preset--spacing--2); }
	.zare-shell-c-header__primary-action .wp-block-button__link {
		min-block-size: 44px;
		padding-inline: var(--wp--preset--spacing--2);
		font-size: var(--wp--preset--font-size--xs);
	}
	.zare-shell-c-header.zare-header-surface-clear .zare-shell-c-header__main {
		background: color-mix(in srgb, var(--wp--preset--color--background) 82%, transparent);
		color: var(--wp--preset--color--foreground);
		border-color: var(--zare-premium-header-border);
		-webkit-backdrop-filter: blur(var(--zare-premium-header-blur-medium));
		backdrop-filter: blur(var(--zare-premium-header-blur-medium));
	}
}

@container zare-shell-c-footer (max-width: 49rem) {
	.zare-shell-c-footer__main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"brand utility"
			"directory directory"
			"separator separator"
			"meta meta";
		gap: var(--wp--preset--spacing--5);
	}
	.zare-shell-c-footer__directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container zare-shell-c-footer (max-width: 30rem) {
	.zare-shell-c-footer__main {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "brand" "directory" "utility" "separator" "meta";
	}
	.zare-shell-c-footer__directory { grid-template-columns: minmax(0, 1fr); }
	.zare-shell-c-footer__meta { flex-direction: column; align-items: flex-start; }
	.zare-shell-c-footer__legal,
	.zare-shell-c-footer__legal .wp-block-navigation__container { width: 100%; justify-content: flex-start; }
}

@media (max-width: 781px) {
	.zare-conversion-band { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--4); }
	.zare-conversion-band__actions { justify-content: flex-start; }
	.zare-shell-c-footer__main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"brand utility"
			"directory directory"
			"separator separator"
			"meta meta";
		gap: var(--wp--preset--spacing--5);
	}
	.zare-shell-c-footer__directory { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 479px) {
	.zare-hero-stage { --zare-hero-header-clearance: clamp(6rem, 5.5rem + 2vw, 7rem); }
	.zare-hero-stage { min-block-size: 38rem; }
	.zare-conversion-band { border-radius: var(--wp--custom--zare-experience--radius--lg, 0.75rem); }
	.zare-conversion-band__actions { width: 100%; }
	.zare-conversion-band__actions .wp-block-button,
	.zare-conversion-band__actions .wp-block-button__link { width: 100%; }
	.zare-conversion-band__actions .wp-block-button__link { min-block-size: 44px; display: inline-flex; justify-content: center; align-items: center; }
	.zare-shell-c-footer__main {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "brand" "directory" "utility" "separator" "meta";
	}
	.zare-shell-c-footer__directory { grid-template-columns: minmax(0, 1fr); }
	.zare-shell-c-footer__meta { flex-direction: column; align-items: flex-start; }
	.zare-shell-c-footer__legal,
	.zare-shell-c-footer__legal .wp-block-navigation__container { width: 100%; justify-content: flex-start; }
}
