/**
 * ZARE Theme frontend/editor foundation.
 *
 * Theme JSON remains the primary token source. This file covers reusable
 * visual/shell primitives that cannot be expressed cleanly in theme.json.
 * Interaction states live in interaction.css.
 */

:root,
body {
	--zare-theme-control-height: var(--wp--custom--zare-experience--control--min-height, 40px);
}

.zare-theme-header {
	container-name: zare-global-header;
	container-type: inline-size;
	position: relative;
	z-index: 20;
	background: var(--wp--preset--color--background);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.zare-theme-header__inner {
	min-height: var(--wp--custom--zare-experience--shell--header-min-height, 60px);
	gap: var(--wp--preset--spacing--4);
}

.zare-theme-brand {
	min-width: 0;
	gap: var(--wp--preset--spacing--2);
}

.zare-theme-brand .wp-block-site-logo {
	flex: 0 0 auto;
	margin: 0;
}

.zare-theme-brand .wp-block-site-logo img {
	display: block;
	width: auto;
	max-height: var(--wp--custom--zare-experience--shell--logo-max-height, 34px);
	max-width: min(13rem, 58vw);
}

.zare-theme-brand .wp-block-site-title {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
}

.wp-custom-logo .zare-theme-brand .wp-block-site-title,
.zare-theme-factory-logo-active .zare-theme-brand .wp-block-site-title,
.wp-custom-logo .zare-theme-footer__brand .wp-block-site-title,
.zare-theme-factory-logo-active .zare-theme-footer__brand .wp-block-site-title {
	display: none;
}

.zare-theme-header .wp-block-navigation {
	margin-inline-start: auto;
}

.zare-theme-header__tools {
	min-width: 0;
	margin-inline-start: auto;
	gap: var(--wp--preset--spacing--2);
}

.zare-theme-header__actions {
	flex: 0 0 auto;
}

.zare-theme-header__actions .wp-block-button__link {
	white-space: nowrap;
}

.zare-theme-header .wp-block-navigation-item__content,
.zare-theme-footer .wp-block-navigation-item__content {
	color: var(--wp--preset--color--foreground);
}

.zare-theme-header .wp-block-navigation__responsive-container-open,
.zare-theme-header .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	min-width: var(--wp--custom--zare-experience--touch--target, 44px);
	min-height: var(--wp--custom--zare-experience--touch--target, 44px);
	border-radius: var(--wp--custom--zare-experience--shape--control, var(--wp--custom--zare-experience--radius--md, 0.5rem));
}

.zare-theme-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--custom--zare-experience--shell--content-inset, 1.25rem);
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
}

.zare-theme-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--preset--spacing--6);
}


.zare-theme-footer {
	background: var(--wp--preset--color--background);
	border-top: 1px solid var(--wp--preset--color--border);
}

.zare-theme-footer__inner {
	gap: var(--wp--preset--spacing--6);
}

.zare-theme-footer__primary,
.zare-theme-footer__meta,
.zare-theme-footer__rights {
	gap: var(--wp--preset--spacing--3);
}

.zare-theme-footer__brand {
	max-width: 32rem;
	gap: var(--wp--preset--spacing--1);
}

.zare-theme-footer .wp-block-site-logo {
	margin: 0;
}

.zare-theme-footer .wp-block-site-logo img {
	display: block;
	width: auto;
	height: auto;
	max-width: min(10rem, 50%);
	max-height: calc(var(--wp--custom--zare-experience--shell--logo-max-height, 34px) * 1.5);
}

.zare-theme-footer__brand .wp-block-site-title,
.zare-theme-footer__brand .wp-block-site-tagline,
.zare-theme-footer__rights > * {
	margin-block: 0;
}

.zare-theme-footer__separator {
	width: 100%;
	max-width: none;
	margin-block: 0 !important;
}

.zare-theme-footer__meta {
	line-height: 1.4;
}

.zare-theme-footer__rights {
	align-items: center;
}

.zare-theme-footer__legal .wp-block-navigation-item__content,
.zare-theme-footer__meta .wp-block-site-title a {
	color: var(--wp--preset--color--muted-foreground);
}





.zare-theme-footer__socials,
.zare-theme-socials {
	gap: var(--wp--preset--spacing--2);
}

.zare-theme-socials .wp-social-link {
	background: transparent;
}

.zare-theme-socials .wp-social-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--custom--zare-experience--touch--target, 44px);
	min-height: var(--wp--custom--zare-experience--touch--target, 44px);
	border-radius: var(--wp--custom--zare-experience--shape--control, var(--wp--custom--zare-experience--radius--md, 0.5rem));
	color: currentColor;
	transition:
		background-color var(--wp--custom--zare-experience--motion--fast, 120ms) var(--wp--custom--zare-experience--motion--easing, cubic-bezier(.2, 0, 0, 1)),
		color var(--wp--custom--zare-experience--motion--fast, 120ms) var(--wp--custom--zare-experience--motion--easing, cubic-bezier(.2, 0, 0, 1));
}

@media (hover: hover) and (pointer: fine) {
	.zare-theme-socials .wp-social-link a:hover {
		background: var(--wp--preset--color--accent);
		color: var(--wp--preset--color--accent-foreground);
	}
}

.zare-theme-socials .wp-social-link a:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-foreground);
	outline: 2px solid transparent;
	outline-offset: var(--zare-theme-focus-ring-offset);
	box-shadow: 0 0 0 var(--zare-theme-focus-ring-width) var(--zare-theme-focus-ring-color);
}

.zare-theme-socials .wp-social-link a:active {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-foreground);
	transform: translateY(1px);
}

@container zare-global-header (max-width: 72rem) {
	.zare-theme-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.zare-theme-header__nav .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
	}
	.zare-theme-header__nav .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
	}
}

/* Generic component primitives live in primitives.css from T1-F6 onward. */

@media (max-width: 781px) {
	.zare-theme-header__inner {
		min-height: var(--wp--custom--zare-experience--shell--header-min-height-mobile, 56px);
		gap: var(--wp--preset--spacing--3);
	}

	.zare-theme-brand {
		max-width: min(15rem, 58vw);
	}

	.zare-theme-brand .wp-block-site-logo img {
		max-height: var(--wp--custom--zare-experience--shell--logo-max-height-mobile, 32px);
	}

	.zare-theme-brand .wp-block-site-title {
		font-size: var(--wp--preset--font-size--lg);
	}




	.zare-theme-footer__primary,
	.zare-theme-footer__meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.zare-theme-footer__primary,
	.zare-theme-footer__nav,
	.zare-theme-footer__legal {
		width: 100%;
	}

	.zare-theme-footer__nav .wp-block-navigation__container,
	.zare-theme-footer__legal .wp-block-navigation__container {
		justify-content: flex-start;
	}

}
