/* ==========================================================================
   DESKTOP HEADER FINAL STRUCTURE
   Utility row + sticky brand/nav row · inline logo · submenu motion · specialty zoom
   Scope: min-width 1100. Compact/mobile unchanged.
   ========================================================================== */

/* Compact: keep identity logo, hide desktop brand in nav */
@media (max-width: 1099px) {
	.header-brand-desktop {
		display: none !important;
	}
}

@media (min-width: 1100px) {
	.header-brand-compact {
		display: none !important;
	}

	/* Whole header sticky; utility collapses on scroll */
	.site-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 50;
		background: #fff;
	}

	.admin-bar .site-header {
		top: 32px !important;
	}

	.site-header .identity-row.container,
	.site-header .identity-row {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start;
		gap: 16px;
		min-height: 56px;
		height: auto;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		border-bottom: 1px solid rgba(18, 60, 64, 0.06);
		overflow: hidden;
		opacity: 1;
		pointer-events: auto;
		transition: min-height 200ms ease, padding 200ms ease, opacity 200ms ease, border-color 200ms ease;
	}

	.site-header.is-stuck .identity-row.container,
	.site-header.is-utility-hidden .identity-row.container,
	.site-header.is-stuck .identity-row,
	.site-header.is-utility-hidden .identity-row {
		min-height: 0 !important;
		height: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		border-bottom-color: transparent;
		opacity: 0;
		pointer-events: none;
	}

	.header-hours {
		display: flex !important;
		align-items: center;
		order: 1 !important;
		margin-left: 0 !important;
		flex: 0 0 auto;
	}

	.header-hours-text {
		margin: 0;
		font-size: 0.8125rem;
		font-weight: 600;
		color: var(--ink);
		white-space: nowrap;
	}

	.header-actions {
		order: 2 !important;
		margin-left: auto !important;
		display: flex;
		align-items: center;
		gap: 12px;
		flex: 0 0 auto;
	}

	.identity-row .menu-toggle {
		display: none !important;
	}

	/* Layer 2: brand + nav + search */
	.header-navigation {
		position: relative !important;
		top: auto;
		z-index: 60;
		margin-top: 0 !important;
		background: #fff;
		border-bottom: 1px solid rgba(18, 60, 64, 0.08);
		box-shadow: none;
		transition: box-shadow 200ms ease;
	}

	.admin-bar .header-navigation {
		top: auto;
	}

	.navigation-inner {
		position: relative;
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		gap: 12px;
		min-height: 64px;
		padding-left: 0 !important;
	}

	.header-brand-desktop {
		position: static !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		display: flex !important;
		align-items: center;
		order: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		flex: 0 1 auto;
		width: auto !important;
		max-width: min(340px, 32%);
		height: auto !important;
		min-height: 0 !important;
		z-index: 6;
	}

	.navigation-inner .primary-nav {
		flex: 1 1 auto;
		min-width: 0;
		order: 1;
	}

	.navigation-inner .header-search-box.nav-search,
	.navigation-inner form.header-search-box.nav-search {
		order: 2;
		flex: 0 0 44px;
		margin-left: 4px;
	}

	.header-brand-desktop:hover {
		text-decoration: none;
	}

	.header-brand-desktop .header-brand-stack {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
		min-width: 0;
	}

	.header-brand-desktop .header-logo-mark-frame {
		display: block;
		width: 48px;
		height: 48px;
		overflow: hidden;
		flex: 0 0 auto;
		line-height: 0;
		background: transparent;
	}

	.header-brand-desktop img.header-logo-mark,
	.header-brand-desktop .header-logo-mark {
		display: block !important;
		width: 78px !important;
		max-width: none !important;
		height: 84px !important;
		margin: -8px 0 0 -15px !important;
		object-fit: cover !important;
		object-position: 50% 0 !important;
		transform: none !important;
		mix-blend-mode: darken;
	}

	.header-brand-desktop .header-brand-name {
		display: block;
		margin: 0;
		color: var(--primary-dark, #075B5F);
		font-size: 13.5px;
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.nav-desktop-menu .menu {
		justify-content: flex-end;
		flex-wrap: nowrap;
		gap: 0;
	}

	/* Top-level: no diamond / dot */
	.nav-desktop-menu .menu > li > a {
		padding: 16px 10px;
		font-size: 0.9375rem;
		font-weight: 600;
		color: var(--ink);
		background: transparent;
		transition: color 170ms ease;
	}

	.nav-desktop-menu .menu > li > a .menu-link-label::before {
		content: none !important;
		display: none !important;
		margin: 0 !important;
	}

	.nav-desktop-menu .menu > li > a::after {
		right: 10px;
		left: 10px;
		bottom: 8px;
		height: 2px;
		background: var(--primary);
		transition: transform 170ms ease;
	}

	.nav-desktop-menu .menu > li:hover > a,
	.nav-desktop-menu .menu > li:focus-within > a,
	.nav-desktop-menu .menu > li.current-menu-item > a,
	.nav-desktop-menu .menu > li.current-menu-ancestor > a {
		color: var(--primary);
		background: transparent;
		transform: none;
	}

	.nav-desktop-menu .menu > li:hover > a::after,
	.nav-desktop-menu .menu > li:focus-within > a::after,
	.nav-desktop-menu .menu > li.current-menu-item > a::after,
	.nav-desktop-menu .menu > li.current-menu-ancestor > a::after {
		transform: scaleX(1);
		background: var(--primary);
	}

	.nav-desktop-menu .menu > li > a .menu-chevron {
		opacity: 0.55;
		margin-left: 6px;
		transition: border-color 170ms ease, opacity 170ms ease;
	}

	.nav-desktop-menu .menu > li:hover > a .menu-chevron,
	.nav-desktop-menu .menu > li:focus-within > a .menu-chevron {
		opacity: 1;
		border-color: var(--primary);
	}

	/* Simple submenu: arrow + text shift */
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a {
		display: flex !important;
		align-items: center;
		padding: 14px 20px 14px 36px !important;
		overflow: visible;
		transform: none !important;
		color: var(--ink);
		transition: color 200ms ease-out, background-color 200ms ease-out;
	}

	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a .menu-link-label {
		display: inline-block;
		transform: translateX(0);
		transition: transform 200ms ease-out, color 200ms ease-out;
	}

	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a::before {
		content: "→" !important;
		position: absolute !important;
		left: 14px !important;
		top: 50% !important;
		color: var(--gold, #B79A5B);
		font-size: 12px;
		opacity: 0 !important;
		transform: translate(-4px, -50%) !important;
		transition: opacity 200ms ease-out, transform 200ms ease-out;
	}

	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:hover,
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:focus-visible {
		color: var(--primary) !important;
		background: rgba(11, 111, 115, 0.04) !important;
	}

	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:hover .menu-link-label,
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:focus-visible .menu-link-label {
		transform: translateX(10px);
		color: var(--primary);
	}

	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:hover::before,
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:focus-visible::before {
		opacity: 1 !important;
		transform: translate(0, -50%) !important;
	}

	/* Specialty hover zoom */
	.nav-desktop-menu .specialty-featured-item a {
		transition: transform 240ms ease-out, box-shadow 240ms ease-out, background-color 240ms ease-out;
	}

	.nav-desktop-menu .specialty-featured-thumb {
		overflow: hidden;
	}

	.nav-desktop-menu .specialty-featured-thumb img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transform: scale(1);
		transition: transform 240ms ease-out;
	}

	.nav-desktop-menu .specialty-featured-title {
		transition: color 240ms ease-out;
	}

	.nav-desktop-menu .specialty-featured-item a:hover,
	.nav-desktop-menu .specialty-featured-item a:focus-visible {
		transform: translateY(-2px);
		background: var(--surface, #F7FAF9);
		box-shadow: 0 8px 18px rgba(18, 60, 64, 0.08);
	}

	.nav-desktop-menu .specialty-featured-item a:hover .specialty-featured-thumb img,
	.nav-desktop-menu .specialty-featured-item a:focus-visible .specialty-featured-thumb img {
		transform: scale(1.02);
	}

	.nav-desktop-menu .specialty-featured-item a:hover .specialty-featured-title,
	.nav-desktop-menu .specialty-featured-item a:focus-visible .specialty-featured-title {
		color: var(--primary);
	}

	.nav-desktop-menu .specialty-featured-all a {
		transform: none !important;
	}

	.nav-desktop-menu .specialty-featured-all a:hover,
	.nav-desktop-menu .specialty-featured-all a:focus-visible {
		transform: none !important;
	}

	/* Stuck: compact bar, light shadow */
	.site-header.is-stuck .header-navigation,
	.site-header.is-utility-hidden .header-navigation {
		box-shadow: 0 1px 0 rgba(18, 60, 64, 0.08);
	}

	.site-header.is-stuck .navigation-inner,
	.site-header.is-utility-hidden .navigation-inner {
		min-height: 56px;
	}

	.site-header.is-stuck .header-brand-desktop .header-logo-mark-frame,
	.site-header.is-utility-hidden .header-brand-desktop .header-logo-mark-frame {
		width: 44px;
		height: 44px;
	}

	.site-header.is-stuck .nav-desktop-menu .menu > li > a,
	.site-header.is-utility-hidden .nav-desktop-menu .menu > li > a {
		padding-block: 12px;
	}
}

@media (min-width: 1100px) and (max-width: 1279px) {
	.header-brand-desktop {
		max-width: min(300px, 34%);
	}

	.header-brand-desktop .header-brand-stack {
		gap: 8px;
	}

	.header-brand-desktop .header-logo-mark-frame {
		width: 42px;
		height: 42px;
	}

	.header-brand-desktop img.header-logo-mark,
	.header-brand-desktop .header-logo-mark {
		width: 62px !important;
		height: 56px !important;
		margin: -4px 0 0 -10px !important;
	}

	.header-brand-desktop .header-brand-name {
		font-size: 12px;
		letter-spacing: 0.01em;
	}

	.navigation-inner {
		gap: 8px;
		min-height: 58px;
	}

	.nav-desktop-menu .menu > li > a {
		padding-inline: 7px;
		font-size: 0.875rem;
	}
}

@media (min-width: 1600px) {
	.header-brand-desktop .header-logo-mark-frame {
		width: 52px;
		height: 52px;
	}

	.header-brand-desktop img.header-logo-mark,
	.header-brand-desktop .header-logo-mark {
		width: 78px !important;
		height: 72px !important;
		margin: -6px 0 0 -13px !important;
	}

	.header-brand-desktop .header-brand-name {
		font-size: 14.5px;
	}

	.nav-desktop-menu .menu > li > a {
		padding-inline: 12px;
		font-size: 1rem;
	}
}

@media (min-width: 1100px) and (prefers-reduced-motion: reduce) {
	.site-header .identity-row,
	.header-navigation,
	.nav-desktop-menu .menu > li > a,
	.nav-desktop-menu .menu > li > a::after,
	.nav-desktop-menu .menu > li > a .menu-chevron,
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a,
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a::before,
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a .menu-link-label,
	.nav-desktop-menu .specialty-featured-item a,
	.nav-desktop-menu .specialty-featured-thumb img,
	.nav-desktop-menu .specialty-featured-title {
		transition: none !important;
	}

	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:hover .menu-link-label,
	.nav-desktop-menu .sub-menu:not(.specialty-featured-panel) > .menu-item > a:focus-visible .menu-link-label {
		transform: none;
	}

	.nav-desktop-menu .specialty-featured-item a:hover,
	.nav-desktop-menu .specialty-featured-item a:focus-visible {
		transform: none;
	}

	.nav-desktop-menu .specialty-featured-item a:hover .specialty-featured-thumb img,
	.nav-desktop-menu .specialty-featured-item a:focus-visible .specialty-featured-thumb img {
		transform: none;
	}
}
