/* Authority header contract, shared by every niche and future style. */
body .asa-topbar{padding-block:6px!important}
body .asa-topbar-inner{padding-block:0!important;min-height:0!important}
body .asa-header{padding-block:0!important}
body .asa-header-inner{padding-block:16px!important;min-height:89px!important;box-sizing:border-box}
/* The parent theme measures the utility row and scrolls it above the viewport. */
body.ls-has-sticky-header .ls-site-header:has(.asa-header){position:sticky;top:calc(var(--ls-admin-bar-offset,0px) - var(--ls-header-utility-offset,0px))}
@media(max-width:600px){
 /* WordPress's small-screen admin toolbar scrolls with the document. */
 body.admin-bar.ls-has-sticky-header:has(.asa-header){--ls-admin-bar-offset:0px}
}
.asa-mobile-account-actions{display:none}
@media(max-width:1023px){
 /* The compact header and the closed Navigation panel must share one breakpoint. */
 body .asa-header-inner .asa-navigation>.wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 body .asa-topbar{padding-block:4px!important}
 body .asa-topbar-inner>p{display:none!important}
 body .asa-topbar-inner{display:flex!important;justify-content:center!important;align-items:center!important;min-height:0;gap:0!important}
 body .asa-topbar-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;margin:0!important}
 body .asa-topbar-action{margin:0!important;gap:7px!important}
 body .asa-topbar-action p{margin:0!important}
 body .asa-header-inner{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;align-items:center!important;gap:16px!important;padding-block:7px!important;min-height:81px!important;box-sizing:border-box}
 body .asa-header-inner>.asa-site-brand{grid-column:1!important;grid-row:1!important;justify-self:start;min-width:0;width:auto!important;max-width:100%!important;margin:0!important}
 body .asa-header-inner>.asa-site-brand .asa-site-brand-copy{min-width:0}
 body .asa-header-inner>.asa-site-brand .asa-site-brand-name{font-size:clamp(18px,3.6vw,24px)!important;line-height:1.2;overflow-wrap:anywhere}
 body .asa-header-inner>.asa-site-brand .asa-site-brand-tagline{font-size:15px!important;line-height:1.35;letter-spacing:0!important;overflow-wrap:anywhere}
 body .asa-header-inner>.asa-navigation{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:center!important;margin:0!important}
 body .asa-header-inner .wp-block-navigation__responsive-container-open{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;padding:10px!important;color:var(--wp--preset--color--text,#17213b)}
 body .asa-header-inner>:is([class*="-header-shortcuts"],.asa-header-cta,.wp-block-woocommerce-customer-account,.wc-block-mini-cart,.asa-header-account,.asa-header-cart){display:none!important}
 body .asa-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex!important;flex-direction:column!important;align-items:stretch!important}
 body .asa-navigation .wp-block-navigation__responsive-container-content>.wp-block-navigation__container{order:1}
 body .asa-navigation .is-menu-open .asa-mobile-account-actions{order:2;display:flex!important;gap:12px!important;align-items:stretch!important;justify-content:flex-start!important;width:100%;margin:28px 0 0!important;padding:24px 0 0!important;border-top:1px solid var(--wp--preset--color--border,#dce4f3)}
 body .asa-navigation .asa-mobile-account-actions>a{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:50px!important;padding:12px 16px!important;border:1px solid var(--wp--preset--color--primary,#1559e8)!important;border-radius:10px;font-size:16px!important;font-weight:700;line-height:1.25!important;text-decoration:none!important;box-sizing:border-box}
 body .asa-navigation .asa-mobile-account-actions .asa-mobile-cart{flex:0 0 52px;color:var(--wp--preset--color--primary,#1559e8)!important;background:var(--wp--preset--color--surface,#fff)!important;padding:12px!important}
 body .asa-navigation .asa-mobile-account-actions .asa-mobile-account{flex:1;color:var(--asa-on-primary,var(--wp--preset--color--surface))!important;background:var(--wp--preset--color--primary,#1559e8)!important;white-space:nowrap}
 body .asa-navigation .asa-mobile-account-actions svg{width:22px!important;height:22px!important;flex:none;fill:none!important}
 body .asa-navigation .asa-mobile-account-actions>a:focus-visible{outline:3px solid var(--wp--preset--color--primary,#1559e8);outline-offset:4px}
}

/* Bridge the parent theme drawer presentation to the Authority 1023px breakpoint.
 * Retain native Navigation interactions, theme tokens, animations and nested-menu rules.
 * Scoped to Authority only; the shared parent theme is unchanged. */
@media (min-width: 783px) and (max-width: 1023px) {
	.asa-header-inner .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: inline-flex;
	}

	.asa-header-inner .ls-header-actions .ls-header-cta {
		display: none;
	}

	.asa-header-inner .ls-header-actions {
		margin-left: auto;
	}

	.asa-header-inner .wp-block-navigation__responsive-container.is-menu-open {
		animation: none !important;
		background-color: color-mix(in srgb, var(--wp--preset--color--text) 54%, transparent) !important;
		box-sizing: border-box;
		display: block;
		overflow: hidden;
		padding: 0 !important;
		transition: background-color 220ms linear !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
		animation: ls-mobile-menu-slide-in 220ms cubic-bezier(0, 0, 0.2, 1) both !important;
		background: var(--ls-header-background);
		bottom: 0;
		box-sizing: border-box;
		color: var(--ls-color-text);
		height: 100dvh;
		margin: 0 !important;
		max-width: none;
		min-height: 100dvh;
		overflow-y: auto;
		padding: 1.5rem;
		position: fixed;
		right: 0;
		top: 0;
		backface-visibility: hidden;
		transform: translate3d(0, 0, 0);
		transition: none !important;
		will-change: transform;
		width: min(80vw, 420px);
	}

	.asa-header-inner .wp-block-navigation__responsive-container.is-menu-open.is-closing {
		background-color: transparent !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container.is-menu-open.is-closing .wp-block-navigation__responsive-close {
		animation: ls-mobile-menu-slide-out 220ms cubic-bezier(0.4, 0, 1, 1) both !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content {
		align-items: stretch !important;
		box-sizing: border-box;
		height: 100%;
		padding-top: 3rem !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		border-bottom: 1px solid var(--ls-color-border);
		width: 100%;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu {
		align-items: stretch !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 3rem;
		position: relative;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu > .wp-block-navigation-item__content {
		grid-column: 1;
		grid-row: 1;
		padding-right: 0;
		width: auto !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
		align-items: center;
		align-self: stretch;
		display: flex !important;
		grid-column: 2;
		grid-row: 1;
		height: auto !important;
		justify-content: center;
		margin: 0 !important;
		padding: 0 !important;
		position: relative;
		width: 3rem !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle svg {
		display: none;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle::before,
	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle::after {
		background: currentcolor;
		bottom: auto;
		content: "";
		display: block !important;
		height: 2px;
		left: 50%;
		position: absolute;
		right: auto;
		top: 50%;
		transform: translate(-50%, -50%);
		transform-origin: center;
		transition: transform 220ms ease;
		width: 0.9rem;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu.is-submenu-open > .wp-block-navigation-submenu__toggle::after {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
		background: color-mix(in srgb, var(--ls-color-text) 4%, transparent) !important;
		border: 0 !important;
		display: block !important;
		max-height: 0;
		opacity: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		pointer-events: none;
		position: static !important;
		transition: max-height 280ms ease, opacity 180ms ease;
		grid-column: 1 / -1;
		grid-row: 2;
		visibility: hidden !important;
		width: 100% !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu.is-submenu-open > .wp-block-navigation__submenu-container {
		max-height: 24rem;
		opacity: 1 !important;
		pointer-events: auto;
		visibility: visible !important;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item {
		border-bottom: 0;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: 15px;
		min-height: 2.5rem;
		padding: 0.55rem 1rem 0.55rem 1.5rem;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding-left: 2.25rem;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item:last-child {
		border-bottom: 0;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		box-sizing: border-box;
		justify-content: flex-start;
		width: 100%;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after {
		display: none;
	}

	.asa-header-inner .wp-block-navigation__responsive-container-content :is(.current-menu-item, .current-menu-ancestor) > .wp-block-navigation-item__content,
	.asa-header-inner .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content[aria-current="page"] {
		color: var(--ls-color-accent);
	}

	.asa-header-inner .ls-mobile-menu-extras {
		border-top: 0;
		display: block;
		margin-top: auto;
		padding-top: 1.25rem;
		width: 100%;
	}

	.asa-header-inner .ls-mobile-menu-extras :is(.ls-business-primary-phone, .ls-business-address) {
		font-size: 15px;
		line-height: 1.5;
		margin: 0 0 0.75rem;
	}

	.asa-header-inner .ls-mobile-menu-extras .wp-block-buttons,
	.asa-header-inner .ls-mobile-menu-extras .wp-block-button,
	.asa-header-inner .ls-mobile-menu-extras .wp-block-button__link {
		width: 100%;
	}
}
