/* Shared public navigation. No content, footer or checkout selectors. */
body #masthead,
body #masthead .main-header-bar,
body #masthead .ast-primary-header-bar,
body #masthead .ast-mobile-header-content,
body #masthead .main-header-menu,
body #masthead .sub-menu {
  background: #fff !important;
  background-image: none !important;
}
body #masthead .ast-primary-header-bar {
  border-bottom: 1px solid #e5ebf2 !important;
  box-shadow: 0 3px 15px rgb(15 23 42 / 3%);
}
body #masthead .site-primary-header-wrap {
  max-width: 1440px;
  padding-inline: clamp(18px, 3vw, 44px);
}
body #masthead .site-header-section { min-width: 0; }
body #masthead .site-branding { padding-block: 16px; }
body #masthead .site-title a,
body #masthead .site-title a:hover {
  color: #143466 !important;
  font-size: clamp(20px, 1.8vw, 25px);
  font-weight: 800;
  letter-spacing: -.045em;
  text-decoration: none;
}
body #masthead .site-description {
  color: #64748b !important;
  font-size: 11px;
  line-height: 1.4;
  margin-top: 3px;
}
body #masthead .main-header-menu > .menu-item > .menu-link {
  color: #243b5a !important;
  background: transparent !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  min-height: 44px;
  padding: 12px 9px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  text-decoration: none;
}
body #masthead .main-header-menu > .menu-item > .menu-link:hover,
body #masthead .main-header-menu > .current-menu-item > .menu-link {
  color: #1749bd !important;
  background: #eff5ff !important;
}
body #masthead .main-header-menu > .menu-item > .menu-link[href$="/mein-studio/"],
body #masthead .main-header-menu > .menu-item > .menu-link[href$="/mein-studio"] {
  color: #fff !important;
  background: #2155ce !important;
  border-radius: 10px;
  padding-inline: 17px;
}
body #masthead .main-header-menu > .menu-item > .menu-link[href$="/mein-studio/"]:hover,
body #masthead .main-header-menu > .menu-item > .menu-link[href$="/mein-studio"]:hover {
  background: #1742a7 !important;
}
body #masthead .sub-menu .menu-link { color: #243b5a !important; }
body #masthead .menu-toggle {
  background: #f3f6fb !important;
  color: #143466 !important;
  border: 1px solid #dce5f0 !important;
  border-radius: 10px;
  min-width: 44px;
  min-height: 44px;
}
body #masthead .menu-toggle svg { fill: currentColor; }
body #masthead a:focus-visible,
body #masthead button:focus-visible,
body .dhcms-site-header a:focus-visible,
body .dhcms-site-header summary:focus-visible,
body .dh-unified-tablet-header a:focus-visible,
body .dh-unified-tablet-header summary:focus-visible {
  outline: 3px solid #2155ce;
  outline-offset: 3px;
}
@media (min-width: 922px) {
  body #masthead .ast-builder-grid-row { column-gap: 22px; }
  body #masthead .main-header-menu { gap: 2px; justify-content: flex-end; }
}
@media (min-width: 922px) and (max-width: 1150px) {
  body #masthead .main-header-menu > .menu-item > .menu-link { font-size: 12px; padding-inline: 7px; }
  body #masthead .site-description { max-width: 190px; }
}
@media (max-width: 921px) {
  body #masthead .site-branding { padding-block: 12px; }
  body #masthead .ast-mobile-header-content { padding: 8px 18px 18px; border-bottom: 1px solid #e5ebf2; }
  body #masthead .main-header-menu > .menu-item > .menu-link { font-size: 15px; padding: 13px 14px; }
  body #masthead .main-header-menu > .menu-item > .menu-link[href$="/mein-studio/"],
  body #masthead .main-header-menu > .menu-item > .menu-link[href$="/mein-studio"] { margin-top: 8px; }
}
@media (max-width: 544px) {
  body #masthead .site-description { display: none; }
}

/* Existing optional CMS header. Keep its navigation visibility rules intact. */
body .dhcms-site-header { background: #fff; border-bottom: 1px solid #e5ebf2; box-shadow: 0 3px 15px rgb(15 23 42 / 3%); }
body .dhcms-site-header .dhcms-site-logo { color: #143466; }
body .dhcms-site-header .dhcms-site-nav a { font-weight: 600; border-radius: 9px; }
body .dhcms-site-header .dhcms-site-header-cta,
body .dhcms-site-header .dhcms-site-nav-cta { background: #2155ce; border-radius: 10px; box-shadow: none; }

/* Existing touch-tablet header, after its structural stylesheet. */
body.dh-tablet-unified-active .dh-unified-tablet-header {
  background: #fff;
  color: #143466;
  border-bottom: 1px solid #e5ebf2;
  box-shadow: 0 3px 15px rgb(15 23 42 / 3%);
}
body.dh-tablet-unified-active .dh-unified-tablet-header-inner { min-height: 72px; }
body.dh-tablet-unified-active .dh-unified-tablet-brand,
body.dh-tablet-unified-active .dh-unified-tablet-brand strong { color: #143466 !important; }
body.dh-tablet-unified-active .dh-unified-tablet-brand strong { letter-spacing: -.045em; }
body.dh-tablet-unified-active .dh-unified-tablet-brand span { color: #64748b !important; }
body.dh-tablet-unified-active .dh-unified-tablet-menu > summary {
  background: #f3f6fb;
  color: #143466 !important;
  border-color: #dce5f0;
  border-radius: 10px;
}
body.dh-tablet-unified-active .dh-unified-tablet-menu nav a.dh-unified-tablet-primary {
  background: #2155ce;
  color: #fff !important;
  border-radius: 10px;
}

/* Audience entries keep the existing Astra dropdown and mobile toggle behavior. */
body #masthead .main-header-menu > .dh-audience-entry > .menu-link {
  font-weight: 750;
  padding-inline: 16px;
  border: 1px solid #dce5f0;
  margin-inline-end: 6px;
}
body #masthead .main-header-menu > .dh-audience-entry.current-menu-ancestor > .menu-link {
  color: #1749bd !important;
  background: #eff5ff !important;
  border-color: #bfd1f4;
}
body #masthead .main-header-menu .sub-menu {
  min-width: 240px;
  border: 1px solid #e0e7f0;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 12px 28px rgb(15 23 42 / 10%);
}
body #masthead .main-header-menu .sub-menu .menu-link {
  min-height: 44px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 7px;
}
body #masthead .main-header-menu .sub-menu .menu-link:hover,
body #masthead .main-header-menu .sub-menu .menu-link:focus-visible {
  background: #eff5ff;
}
@media (max-width: 921px) {
  body #masthead .main-header-menu > .dh-audience-entry > .menu-link { margin: 4px 0; }
  body #masthead .main-header-menu .sub-menu { min-width: 0; width: 100%; box-shadow: none; padding: 0 0 8px 12px; }
}
body.dh-tablet-unified-active .dh-audience-tablet-group > summary,
body.dh-tablet-unified-active .dh-unified-tablet-menu nav > a[href$="/business/"] {
  display: block;
  min-height: 44px;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid #dce5f0;
  border-radius: 9px;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 750;
  color: #143466;
  background: #f3f6fb;
  cursor: pointer;
}
body.dh-tablet-unified-active .dh-audience-tablet-group > div { padding-left: 10px; }
