/* DRG Header (from themes/makemake/header.php) */

header.site-header { position: fixed; z-index: var(--z-index-menu); top: 0; left: 0; right: 0; box-sizing: border-box; padding: 1.5rem 1rem 0 1rem; pointer-events: none; }
.site-header * { box-sizing: border-box; }
.site-header .header-shell { position: relative; max-width: 75rem; margin: 0 auto; }
.site-header .header-outer { position: relative; max-width: 52.5rem; margin: 0 auto; border-radius: 1.5rem; background: white; filter: drop-shadow(0 0.25rem 0.25rem rgba(6, 55, 119, 0.2)); pointer-events: auto; }
.site-header .header-inner { display: flex; justify-content: space-between; align-items: center; padding: 0.5rem 0.5rem 0.5rem 1.5rem; }
.site-header .logo-wrapper { display: block; }
.site-header .logo-wrapper img { display: block; width: 13.8125rem; height: 2.25rem; }
.site-header .logo-wrapper .logo-mobile { display: none; }
.site-header .main-nav { display: flex; align-items: center; gap: 0.5rem; }

.site-header .nav-link { display: inline-flex; align-items: center; gap: 0.25rem; height: 3rem; padding: 1rem; border-radius: 1rem; border: 0.0625rem solid transparent; background: transparent; color: var(--color-blue-dark); font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1; text-decoration: none; cursor: pointer; outline-offset: 0 !important; }
.site-header .nav-link img { display: block; width: 1.5rem; height: 1.5rem; transition: rotate 200ms ease; }
.site-header .nav-link[aria-expanded="true"] img { rotate: 180deg; }
.site-header .nav-link.active { background: var(--color-teal-lighter); border-color: var(--color-teal-light); }
.site-header .nav-link[aria-expanded="true"] { background: rgba(196, 244, 244, 0.6); border-color: var(--color-teal-light); }
.site-header .nav-link:hover, .site-header .nav-link:focus-visible { color: var(--color-blue-dark); background: var(--color-teal-light); border-color: var(--color-teal-light); text-decoration: none; }
.site-header .nav-link:focus-visible { outline: 0.0625rem solid var(--color-blue-medium); }
.site-header .contact-link { padding: 1rem 2rem; background: var(--color-teal-bright); border-color: var(--color-teal-bright); }

.site-header .solutions-panel { display: none; position: absolute; top: calc(100% + 0.5rem); left: 0; right: 0; gap: 2.5rem; align-items: flex-start; padding: 2.5rem; border-radius: 1.5rem; background: var(--color-blue-dark); box-shadow: 0 0.5rem 0.5rem rgba(6, 55, 119, 0.2); pointer-events: auto; }
.site-header .solutions-panel.open { display: flex; }
.site-header .solutions-intro { display: flex; flex-direction: column; gap: 1rem; flex: 0 0 17.5rem; margin-right: 2.5rem; color: white; }
.site-header .solutions-intro p { margin: 0; color: white; }
.site-header .solutions-intro .solutions-heading { margin-bottom: 0.5rem; font-size: var(--fs--h6--font-size--desktop); letter-spacing: var(--fs--h6--letter-spacing--desktop); line-height: 1.3; font-weight: 700; }
.site-header .solutions-intro .solutions-description { font-size: 1rem; line-height: 1.5; font-weight: 400; }
.site-header .solutions-categories { display: flex; flex-direction: column; gap: 0.5rem; flex: 0 0 18.75rem; }
.site-header .solutions-category { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 2.5rem; padding: 0 1rem; border-radius: 0.5rem; border: 0.0625rem solid transparent; background: transparent; color: white; font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1; text-align: left; text-decoration: none; cursor: pointer; }
.site-header .solutions-category img { display: block; width: 1.5rem; height: 1.5rem; }
.site-header .solutions-category.selected { background: rgba(22, 110, 204, 0.5); border-color: var(--color-blue-medium); }
.site-header .solutions-category:hover, .site-header .solutions-category:focus-visible { color: white; background: var(--color-blue-medium); border-color: var(--color-blue-medium); text-decoration: none; }
.site-header .solutions-category:focus-visible { outline: 0.0625rem solid white; outline-offset: 0; }
.site-header .solutions-products { display: flex; flex-direction: column; gap: 1rem; flex: 1 1 0; min-width: 0; }
.site-header .solutions-products[hidden] { display: none; }
.site-header .solutions-panel a.solutions-link { display: block; padding: 0.25rem 0; color: white; font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1.3; text-decoration: none; }
.site-header .solutions-panel a.solutions-link.view-all { color: var(--color-blue-bright); }
.site-header .solutions-panel a.solutions-link:hover, .site-header .solutions-panel a.solutions-link:focus-visible { text-decoration: underline; }
.site-header .solutions-panel a.solutions-link:focus-visible { outline: 0.0625rem solid white; outline-offset: 0; }
.site-header .solutions-panel a.solutions-link.selected { margin: 0 -1rem; padding: 0.25rem 1rem; border-radius: 0.5rem; background: rgba(22, 110, 204, 0.5); box-shadow: inset 0 0 0 0.0625rem var(--color-blue-medium); }

.site-header .hamburger-toggle { display: none; padding: 0; border: 0; background: transparent; cursor: pointer; }
.site-header .hamburger-toggle img { display: block; width: 2.75rem; height: 2.75rem; }
.site-header .hamburger-toggle .icon-close, .site-header .hamburger-toggle.is-active .icon-open { display: none; }
.site-header .hamburger-toggle.is-active .icon-close { display: block; }
.site-header .menu--mobile { display: none; }
.site-header .mobile-panel { display: flex; flex-direction: column; gap: 0.5rem; padding: 0.5rem 0 1rem 0; }
.site-header .mobile-panel[hidden] { display: none; }
.site-header .mobile-links { display: flex; flex-direction: column; gap: 0.25rem; padding: 0 0.5rem; }
.site-header .mobile-nav-link { display: flex; align-items: center; height: 3rem; margin: 0; padding: 0 0.75rem; border-radius: 1rem; border: 0.0625rem solid transparent; color: var(--color-blue-dark); font-size: 1rem; font-weight: 700; line-height: 1; text-decoration: none; }
.site-header .mobile-nav-link.active { background: rgba(196, 244, 244, 0.6); border-color: var(--color-teal-light); }
.site-header .mobile-categories, .site-header .mobile-products { display: flex; flex-direction: column; }
.site-header .mobile-categories { gap: 0.25rem; }
.site-header .mobile-products { gap: 0.5rem; padding: 0.75rem 0; }
.site-header .mobile-category, .site-header .mobile-back, .site-header .mobile-product { display: flex; align-items: center; width: 100%; border-radius: 0.5rem; border: 0.0625rem solid transparent; background: transparent; color: var(--color-blue-dark); font-family: var(--font-body); font-size: 1rem; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }
.site-header .mobile-category { justify-content: space-between; height: 3rem; padding: 0 0.75rem 0 2rem; line-height: 1; }
.site-header .mobile-category img { display: block; width: 1.5rem; height: 1.5rem; }
.site-header .mobile-back { gap: 0.5rem; height: 3rem; padding: 0 0.75rem; border-radius: 1rem; color: var(--color-blue-medium); line-height: 1.3; }
.site-header .mobile-back img { display: block; width: 0.75rem; height: 0.875rem; transform: scaleX(-1); }
.site-header .mobile-product { min-height: 3rem; padding: 0.75rem 0.75rem 0.75rem 2rem; border-radius: 1rem; line-height: 1.3; }
.site-header .mobile-product.view-all { min-height: 0; color: var(--color-blue-medium); }
.site-header .mobile-category.active, .site-header .mobile-product.active { background: rgba(196, 244, 244, 0.6); border-color: var(--color-teal-light); }
.site-header a.mobile-nav-link:hover, .site-header a.mobile-nav-link:focus-visible, .site-header .mobile-category:hover, .site-header .mobile-category:focus-visible, .site-header .mobile-back:hover, .site-header .mobile-back:focus-visible, .site-header .mobile-product:hover, .site-header .mobile-product:focus-visible { background: var(--color-teal-light); border-color: var(--color-teal-light); text-decoration: none; }
.site-header .mobile-button { padding: 0 1rem; }
.site-header .mobile-button .button--primary { width: 100%; margin: 0; }

@media (width < 75rem)
{
	.site-header .solutions-intro { flex: 0 1 12rem; min-width: 0; margin-right: 0; }
	.site-header .solutions-categories { flex-basis: 15rem; }
}

@media (width < 56rem)
{
	header.site-header { padding-top: 1rem; }
	.site-header .header-outer { max-height: calc(100dvh - 2rem); overflow-y: auto; border-radius: 1rem; }
	.site-header .header-inner { padding: 0.5rem 1rem 0.5rem 1.25rem; }
	.site-header .logo-wrapper .logo-desktop { display: none; }
	.site-header .logo-wrapper .logo-mobile { display: block; width: 11.5rem; height: 1.875rem; }
	.site-header .main-nav, .site-header .contact-link, .site-header .solutions-panel.open { display: none; }
	.site-header .hamburger-toggle { display: block; }
	.site-header .menu--mobile { display: block; }
}
