/* Shared metrics for the 0.4 interface. Brand artwork remains unmodified. */
:root {
	--ej-header-main-height: 72px;
	--ej-header-height: var(--ej-header-main-height);
	--ej-header-logo-width: 200px;
	--ej-header-control-size: 44px;
	--ej-nav-gap: 16px;
	--ej-menu-gap: clamp(14px, 1.7vw, 24px);
	--ej-menu-primary-size: clamp(1.5rem, 3.2vw, 2.65rem);
	--ej-menu-secondary-size: clamp(1.25rem, 2.4vw, 1.9rem);
	--ej-display-hero-mobile: clamp(3rem, 17vw, 4.6rem);
}

.ej-site-header { height: var(--ej-header-height); border-bottom: 0; }
.ej-site-header__inner {
	height: var(--ej-header-main-height);
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: var(--ej-nav-gap);
}
.ej-primary-menu { justify-content: flex-end; gap: var(--ej-menu-gap); }
.ej-nav-reserve { display: none; }
.ej-primary-menu a { font-size: .7rem; white-space: nowrap; }
.ej-primary-menu a[href*="comunidad"] { line-height: 1.15; }
.ej-wordmark { max-width: 100%; }
.ej-wordmark__image { display: block; width: var(--ej-header-logo-width); max-width: 100%; height: auto; max-height: 58px; object-fit: contain; }
.ej-site-footer .ej-wordmark__image { width: 240px; max-height: none; }
.ej-site-header .ej-icon-button { width: var(--ej-header-control-size); min-height: var(--ej-header-control-size); height: var(--ej-header-control-size); border-width: 1px; }
.ej-site-actions { gap: 4px; }
.ej-site-header .ej-site-actions > .ej-icon-button { display: inline-grid; }
.ej-header-reserve { min-height: var(--ej-header-control-size); padding: 12px 20px; margin-left: 8px; font-size: .7rem; white-space: nowrap; }
.ej-search-panel { position: absolute; top: 100%; left: 0; width: 100%; background: var(--ej-paper); border-block: 1px solid var(--ej-ink); opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity 160ms ease, transform 160ms ease; }
.ej-search-panel[hidden] { display: none; }
.ej-search-panel.is-open { opacity: 1; transform: none; pointer-events: auto; }
.ej-search-panel__inner { display: flex; align-items: center; gap: 12px; padding-block: 16px; }
.ej-search-panel .ej-product-search { flex: 1; margin: 0 auto; }
.ej-search-panel [data-search-close] { flex: 0 0 var(--ej-header-control-size); }
.ej-social-links svg { width: 25px; height: 25px; fill: currentColor; }
.ej-footer-hours li { display: block; }
.ej-stats .ej-hours-link { color: inherit; font-size: clamp(1.1rem, 2.2vw, 1.65rem); text-underline-offset: .2em; }
.ej-hero__copy { max-width: 48rem; }
.ej-hero { grid-template-columns: minmax(0, 1fr); }
.ej-hero__content { min-width: 0; }
.ej-hero h1 { max-width: 100%; }
.ej-menu-tabs__button { min-height: 90px; font-size: var(--ej-menu-primary-size); }
.ej-menu-accordion__toggle { min-height: 76px; font-size: var(--ej-menu-secondary-size); }
.ej-menu-tab-panel .ej-menu-item__title h3 { font-size: clamp(1.15rem, 2.1vw, 1.6rem); }

@media (max-width: 1100px) {
	.ej-site-header__inner { grid-template-columns: 44px minmax(0, 1fr) auto; }
	.ej-menu-toggle { display: inline-grid; grid-column: 1; grid-row: 1; }
	.ej-site-header__brand { grid-column: 2; grid-row: 1; justify-self: center; }
	.ej-site-actions { grid-column: 3; grid-row: 1; justify-self: end; }
	.ej-site-header .ej-site-actions > .ej-account-link, .ej-header-reserve { display: none; }
	.ej-primary-navigation {
		position: fixed;
		top: var(--ej-header-height);
		left: 0;
		width: min(440px, 100%);
		height: calc(100dvh - var(--ej-header-height));
		padding: 24px;
		border-right: 3px solid var(--ej-ink);
		background: var(--ej-paper) url("../images/paper-texture.svg");
		transform: translateX(-100%);
		visibility: hidden;
		overflow-y: auto;
		transition: transform 180ms ease, visibility 180ms ease;
	}
	.admin-bar .ej-primary-navigation { top: calc(var(--ej-header-height) + 32px); height: calc(100dvh - var(--ej-header-height) - 32px); }
	.ej-primary-navigation.is-open { transform: translateX(0); visibility: visible; }
	.ej-primary-menu { display: grid; justify-content: stretch; gap: 0; }
	.ej-primary-menu a { min-height: 58px; border-bottom: 2px solid var(--ej-ink); font-size: 1.35rem; }
	.ej-primary-menu a[href*="comunidad"] { max-width: none; text-align: left; }
	.ej-nav-reserve { display: inline-flex; margin-top: 24px; }
}
@media (max-width: 782px) {
	.admin-bar .ej-primary-navigation { top: calc(var(--ej-header-height) + 46px); height: calc(100dvh - var(--ej-header-height) - 46px); }
}
@media (max-width: 600px) {
	.ej-hero { max-height: none; }
	.ej-hero h1 { font-size: var(--ej-display-hero-mobile); }
	:root {
		--ej-header-main-height: 72px;
		--ej-header-logo-width: 160px;
		--ej-nav-gap: 8px;
		--ej-menu-primary-size: clamp(1.15rem, 5vw, 1.65rem);
		--ej-menu-secondary-size: 1.15rem;
	}
	.ej-menu-tabs { gap: 6px; }
	.ej-menu-tabs__button { min-height: 70px; padding: 12px 4px; }
	.ej-menu-accordion__toggle { min-height: 64px; }
	.ej-menu-tab-panel .ej-menu-item__title h3 { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ej-primary-navigation, .ej-search-panel { transition: none; }
}
