/* Geschäftskunden-Megamenü
   Sämtliche Regeln sind auf das bestehende Navigationsmodul begrenzt. */
.mainnav-panel--business {
  width: min(760px, calc(100vw - 32px));
  padding: 12px;
}

.mainnav-panel--business .mainnav-business-overview {
  margin-bottom: 13px;
}

.mainnav-panel--business .mainnav-business-section + .mainnav-business-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--mb-line, #dfe7e2);
}

.mainnav-panel--business .mainnav-business-section-title {
  margin: 0 0 8px;
  padding: 0 4px;
  color: #64716b;
  font-size: 10px;
  font-weight: 780;
  line-height: 1.2;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mainnav-panel--business .mainnav-business-mobile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--mb-line, #dfe7e2);
  border-radius: 13px;
  background: #fff;
  overflow: hidden;
}

.mainnav-panel--business .mainnav-business-mobile-card {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  min-height: 68px;
  padding: 12px 13px !important;
  gap: 10px !important;
  border: 0;
  border-right: 1px solid var(--mb-line, #dfe7e2);
  border-radius: 0 !important;
  background: #fff;
}

.mainnav-panel--business .mainnav-business-mobile-card:last-child {
  border-right: 0;
}

.mainnav .mainnav-panel--business .mainnav-business-conditions-cta {
  min-height: 46px;
  margin-top: 8px;
  padding: 11px 15px;
  color: #fff;
  border: 1px solid #eb5b08;
  border-radius: 11px;
  background: #eb5b08;
  font-size: 14px;
  font-weight: 750;
}

.mainnav .mainnav-panel--business .mainnav-business-conditions-cta > span[aria-hidden="true"] {
  color: #fff;
}

.mainnav .mainnav-panel--business .mainnav-business-conditions-cta:hover {
  color: #fff;
  border-color: #c94e05;
  background: #c94e05;
}

.mainnav .mainnav-panel--business .mainnav-business-conditions-cta:focus-visible {
  outline: 3px solid #16202e;
  outline-offset: 2px;
  background: #eb5b08;
}

.mainnav-panel--business .mainnav-business-mobile-card:hover {
  background: var(--mb-surface-soft, #f2f6f3);
  transform: none;
  box-shadow: none;
}

.mainnav-panel--business .mainnav-business-card-icon,
.mainnav-panel--business .mainnav-business-card-logo {
  align-self: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: contain;
}

.mainnav-panel--business .mainnav-business-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mb-green-deep, #102a20);
  border: 1px solid rgba(16, 45, 34, .1);
  background: #f4f7f5;
}

.mainnav-panel--business .mainnav-business-card-icon svg {
  width: 19px;
  height: 19px;
}

.mainnav-panel--business .mainnav-business-card-logo {
  padding: 5px;
  border: 1px solid rgba(16, 45, 34, .08);
  background: #fff;
}

.mainnav-panel--business .mainnav-business-mobile-card > span:nth-last-child(2) {
  align-self: center;
  font-size: 13px;
  font-weight: 720;
  line-height: 1.28;
}

.mainnav-panel--business .mainnav-business-grid {
  gap: 3px 8px;
}

.mainnav-panel--business .mainnav-business-grid a {
  min-height: 44px;
}

@media (max-width: 860px) {
  /* Der Basis-Header zieht bislang nur seine eigene 64-px-Hoehe vom Viewport
     ab. Oberhalb stehen mobil aber noch Utility- und Zielgruppenleiste. Ohne
     diese Korrektur endet der Scrollbereich unterhalb des sichtbaren Safari-
     Viewports und der letzte Link bleibt unerreichbar. 100svh reserviert auch
     bei eingeblendeter Browserleiste die sichere, tatsaechlich nutzbare Hoehe. */
  .masthead .mainnav {
    max-height: calc(100svh - 138px);
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }

  .mainnav-panel--business {
    width: 100%;
    padding: 8px;
  }

  .mainnav-panel--business .mainnav-business-mobile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }

  .mainnav-panel--business .mainnav-business-mobile-card {
    grid-template-columns: 30px minmax(0, 1fr) auto;
    min-height: 62px;
    padding: 10px !important;
  }

  .mainnav-panel--business .mainnav-business-card-icon,
  .mainnav-panel--business .mainnav-business-card-logo {
    width: 30px;
    height: 30px;
  }
}

@media (max-width: 680px) {
  .masthead .wrap,
  body:has(#hero-h1) .masthead .wrap,
  body:has(#main) .masthead .wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 10px;
    height: auto;
    min-height: 64px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .masthead .brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .masthead .mast-actions {
    grid-column: 2;
    grid-row: 1;
  }

  .masthead .mainnav,
  body:has(#hero-h1) .masthead .mainnav,
  body:has(#main) .masthead .mainnav {
    top: 100%;
    max-height: calc(100svh - 143px);
  }

  .mainnav-panel--business .mainnav-business-mobile-grid,
  .mainnav-panel--business .mainnav-business-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .mainnav-panel--business .mainnav-business-mobile-card {
    min-height: 58px;
    border-right: 0;
    border-bottom: 1px solid var(--mb-line, #dfe7e2);
  }

  .mainnav-panel--business .mainnav-business-mobile-card:last-child {
    border-bottom: 0;
  }

  .mainnav-panel--business .mainnav-business-section + .mainnav-business-section {
    margin-top: 10px;
    padding-top: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mainnav .mainnav-panel--business .mainnav-business-conditions-cta,
  .mainnav-panel--business .mainnav-business-mobile-card {
    transition: none;
  }
}
