:root{--si-brand-teal:#1C878C;--si-brand-teal-hover:#176F73;--si-brand-teal-tint:#E8F3F4;--si-brand-teal-border:#C6E1E2;--si-brand-teal-rgb:28,135,140}
/* A consistent header gutter on every public page except the homepage. */
body:not(.home) .site-header .site-primary-header-wrap,
body:not(.home) .site-header .ast-primary-header-bar > .ast-builder-grid-row,
body:not(.home) .site-header .ast-mobile-header-wrap .ast-primary-header-bar > .ast-builder-grid-row {
	box-sizing: border-box;
	max-width: 1920px !important;
	min-width: 0 !important;
	padding-left: clamp(20px, 3.25vw, 64px) !important;
	padding-right: clamp(20px, 3.25vw, 64px) !important;
	width: 100% !important;
}

@media (max-width: 921px) {
	body:not(.home) .site-header .site-primary-header-wrap,
	body:not(.home) .site-header .ast-primary-header-bar > .ast-builder-grid-row,
	body:not(.home) .site-header .ast-mobile-header-wrap .ast-primary-header-bar > .ast-builder-grid-row {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/*
 * On phones, the logo + menu-button row is fixed-width content (same as the
 * homepage) that doesn't leave room for the 20px gutter above on top of the
 * header wrap's own matching padding — the two compounded and pushed the
 * menu button past the screen edge. Dropping the gutter on this specific
 * row at phone widths makes it render identically to the homepage, which
 * never had this padding applied to begin with.
 */
@media (max-width: 480px) {
	body:not(.home) .site-header .ast-primary-header-bar > .ast-builder-grid-row,
	body:not(.home) .site-header .ast-mobile-header-wrap .ast-primary-header-bar > .ast-builder-grid-row {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Stop the mobile menu drawer's off-screen position from expanding page width and forcing a zoomed-out layout. */
html {
	overflow-x: hidden;
}

/* Keep navigation black at rest and teal only during interaction. */
.site-header .main-header-menu > .menu-item > .menu-link,
.site-header .ast-builder-menu .menu-item > .menu-link,
.site-header .main-header-menu > .current-menu-item > .menu-link,
.site-header .main-header-menu > .current-menu-ancestor > .menu-link,
.site-header .ast-builder-menu .current-menu-item > .menu-link,
.site-header .ast-builder-menu .current-menu-ancestor > .menu-link {
	color: #111827 !important;
}

.site-header .main-header-menu > .menu-item > .menu-link:hover,
.site-header .main-header-menu > .menu-item > .menu-link:focus-visible,
.site-header .ast-builder-menu .menu-item > .menu-link:hover,
.site-header .ast-builder-menu .menu-item > .menu-link:focus-visible {
	color: var(--si-brand-teal,#1C878C) !important;
}

/* Public Astra pages, including Home: clip horizontal overflow without creating
 * another vertical scroller. The SureDash shell does not use this header.
 * Leave overflow-y untouched so intentional menu/dialog scroll locks still work. */
@supports (overflow: clip) {
 html:has(> body > #page > header.site-header),
 body:has(> #page > header.site-header) {
  overflow-x: clip !important;
 }
}

/* Consistent bold labels for public-site buttons. */
body button,
body input[type="submit"],
body input[type="button"],
body input[type="reset"],
body a.button,
body a[role="button"],
body .wp-element-button,
body .wp-block-button__link,
body .ast-custom-button,
body .elementor-button,
body .uagb-buttons-repeater,
body a[class*="__button"],
body a[class*="-button"],
body a[class*="__cta"] { font-weight: 700 !important; }
