/* Pixel-aligned reconstruction of the original KRP main navigation. */

/* Original tablet breakpoint: the full desktop navbar starts at 1220px. */
@media (min-width: 64rem) and (max-width: 76.1875rem) {
  .krp-nav { display: none !important; }
  .krp-menu-toggle { display: block !important; margin-left: auto; border-radius: 50%; }
}

@media (min-width: 76.25rem) {
  .krp-header,
  .krp-header__inner,
  .krp-nav { overflow: visible; }

  .krp-nav,
  .krp-nav a,
  .krp-nav ul { font-family: Roboto, Arial, sans-serif; }

  .krp-nav > ul {
    width: 820px;
    height: 50px;
    display: flex;
    align-items: stretch;
    gap: 10px;
  }

  .krp-nav > ul > li { height: 50px; }

  .krp-nav > ul > li > a {
    height: 50px;
    padding: 0 20px;
    color: #888888;
    font-size: 16px;
    font-weight: 300;
    line-height: 50px;
  }

  .krp-nav .item-101 > a { width: 107.5859375px; }
  .krp-nav .item-630 > a { width: 104.921875px; }
  .krp-nav .item-634 > a { width: 174.2890625px; }
  .krp-nav .item-646 > a { width: 102.2734375px; }
  .krp-nav .item-647 > a { width: 93.3515625px; }
  .krp-nav .item-654 > a { width: 94.2578125px; }
  .krp-nav .item-658 > a { width: 73.796875px; }

  .krp-nav > ul > li.current > a,
  .krp-nav > ul > li.active > a,
  .krp-nav > ul > li > a:hover {
    color: #444444;
    background: #f1f1f1;
    border-radius: 10px 10px 0 0;
    box-shadow: none;
  }

  .krp-nav > ul > li > .mod-menu__sub {
    top: 50px;
    left: 0;
    z-index: 1100;
    width: 250px;
    min-width: 0;
    height: auto;
    padding: 22px 0;
    gap: 0;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .krp-nav > ul > li:hover > .mod-menu__sub,
  .krp-nav > ul > li:focus-within > .mod-menu__sub,
  .krp-nav > ul > li > .mod-menu__sub[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .krp-nav > ul > li > .mod-menu__sub > li {
    width: 100%;
    height: auto;
  }

  .krp-nav > ul > li > .mod-menu__sub > li > a {
    width: 100%;
    height: auto;
    padding: 8px 30px;
    color: #666666;
    background: transparent;
    border-radius: 0;
    font-family: Roboto, Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 22px;
    white-space: normal;
  }

  .krp-nav > ul > li > .mod-menu__sub > li > a:hover {
    color: #0070b7;
    background: transparent;
  }

  /* The original desktop menu has no Service dropdown. */
  .krp-nav .item-647 > .mod-menu__sub { display: none !important; }

  /* Mobile-only duplicates inside “Über uns”. */
  .krp-nav .item-678,
  .krp-nav .item-679 { display: none !important; }

  /* Exact original dropdown widths. */
  .krp-nav .item-630 > .mod-menu__sub { width: 250px; }
  .krp-nav .item-646 > .mod-menu__sub { width: 300px; }
  .krp-nav .item-654 > .mod-menu__sub { width: 200px; }
  .krp-nav .item-658 > .mod-menu__sub {
    left: auto;
    right: 0;
    width: 200px;
  }

  /* Original two-column Leistungsspektrum dropdown (400 × 452px). */
  .krp-nav .item-634 > .mod-menu__sub {
    position: absolute;
    width: 400px;
    height: 452px;
    padding: 22px 0;
  }

  .krp-nav .item-634 > .mod-menu__sub > li { width: 200px; }
  .krp-nav .item-634 > .mod-menu__sub > li > a { width: 200px; }

  .krp-nav .item-634 > .mod-menu__sub > li:nth-child(n+7) {
    position: absolute;
    left: 201px;
    width: 199px;
  }

  .krp-nav .item-634 > .mod-menu__sub > li:nth-child(n+7) > a { width: 199px; }
  .krp-nav .item-634 > .mod-menu__sub > li:nth-child(7) { top: 22px; }
  .krp-nav .item-634 > .mod-menu__sub > li:nth-child(8) { top: 60px; }
  .krp-nav .item-634 > .mod-menu__sub > li:nth-child(9) { top: 98px; }
  .krp-nav .item-634 > .mod-menu__sub > li:nth-child(10) { top: 158px; }
  .krp-nav .item-634 > .mod-menu__sub > li:nth-child(11) { top: 196px; }

  .krp-nav .item-635 > .mod-menu__sub {
    position: static;
    display: block;
    width: 140px;
    min-width: 0;
    height: 104px;
    margin: 5px 30px;
    padding: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    border: 0;
    box-shadow: none;
  }

  .krp-nav .item-635 > .mod-menu__sub > li {
    width: 140px;
    height: 26px;
  }

  .krp-nav .item-635 > .mod-menu__sub > li > a {
    width: 140px;
    height: 26px;
    padding: 2px 0;
    color: #adadae;
    background: transparent;
    font-family: Roboto, Arial, sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 22px;
  }
}

/* At the compact desktop width used by the original, the menu is 820px
   wide, 45px from the right edge. */
@media (min-width: 76.25rem) and (max-width: 82.9375rem) {
  .krp-nav {
    left: auto;
    right: 30.4765625px;
    width: 820px;
  }
}

/* Original offcanvas hierarchy: no Jobs top level and no third Prophylaxe
   level; Service contains only its self-link. */
.krp-mobile-menu .item-658 { display: none !important; }
.krp-mobile-menu .item-635 > .mod-menu__sub { display: none !important; }
