/* Ausschliesslich Navigation. Livefarben, Logo und Inhaltslayout erhalten. */
/* Header: 997px menu + 104px actions fit the 1140px container from xl.
   Keep font sizes/item spacing; remove the nested container's extra gutters. */
@media (min-width: 1200px) {
  #kopf .row.pt-4 > .col-xl-10 {
    width: calc(100% - 8rem);
  }
  #kopf .row.pt-4 > .col-xl-2 {
    width: 8rem;
  }
  #kopf .fullmenu {
    width: 100%;
  }
  #kopf #shop_navigation > .container {
    padding-inline: 0;
  }
}
/* Below xl use the existing mobile controls and column arrangement.
   The original <=767.98px rules remain untouched. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  #kopf .fullmenu {
    display: none !important;
  }
  #kopf .mobileicon {
    display: flex !important;
  }
  #kopf .row.pt-4 > .col-6 {
    width: 50%;
  }
  #kopf .row.pt-4 > .col-2 {
    width: 16.66666667%;
    order: 3 !important;
  }
  #kopf .row.pt-4 > .col-4 {
    width: 33.33333333%;
    order: 2 !important;
  }
  /* Same mobile panel/submenu rules as bootstrap.css, extended to xl. */
#shop_navigation_mobil {
  position: fixed;
  top: 115px;
  right: 0;
  background: #fff;
  z-index: 10000;
  width: 75%;
  max-height: 80vh; /* 80% der Bildschirmhöhe */
  overflow-y: auto; /* Scrollbar nur wenn nötig */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
#shop_navigation_mobil ul {
  padding: 0;
}
#shop_navigation_mobil ul li {
  list-style-type: none;
  padding: 0 10px;
  position: relative;
}
#shop_navigation_mobil ul li:not(.hauptgruppe) {
  font-size: 1.125rem;
  left: 10px;
}
#shop_navigation_mobil ul > li.firstItem,
#shop_navigation_mobil ul > li.kontakt {
  left: 0;
  margin-top: 0;
}
#shop_navigation_mobil ul > li.firstItem:not(.infos) > a.hauptgruppe,
#shop_navigation_mobil ul li.hauptgruppe > a.hauptgruppe,
#shop_navigation_mobil li.kontakt > a,
#shop_navigation_mobil li.kontakt.ps-0 > a {
  display: block;
  font-size: 1.375rem;
  font-style: normal;
  font-weight: bold;
  text-align: left;
  padding: 15px 60px 15px 20px;
}
#shop_navigation_mobil li.firstItem.infos.infos-size.mt-5.mb-2.ps-0.font-size-sm,
#shop_navigation_mobil li.firstItem.infos.infos-size.mt-5.mb-2.ps-0.font-size-sm > a {
  font-size: 1.375rem !important;
}
#shop_navigation_mobil li.firstItem.infos.infos-size.mt-5.mb-2.ps-0.font-size-sm {
  padding: 0 0 0 10px !important;
}
#shop_navigation_mobil ul li .trigger {
  position: absolute;
  right: 0;
  top: 0;
  width: 60px;
  height: 100%;
  min-height: 3rem;
}
#shop_navigation_mobil ul li .trigger.expandable::before {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: auto;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
}
#shop_navigation_mobil ul li.aktiv .trigger.expandable::before {
  transform: translateY(-50%) rotate(180deg);
}
#shop_navigation_mobil ul li div.secondItem {
  display: none;
}
#shop_navigation_mobil ul li div.secondItem.infos a {
  font-weight: normal !important;
}
#shop_navigation_mobil ul li.aktiv div.secondItem {
  display: block;
}
#shop_navigation_mobil ul li .sf-mega-section {
  width: 100%;
  position: relative;
  z-index: 1;
}
#shop_navigation_mobil ul li .sf-mega-section > a {
  font-size: 1.125rem;
  font-weight: bold;
}
#shop_navigation_mobil ul li .sf-mega-section ul.subnav.sub3 li {
  padding: 0.3rem 0;
}
}

