/* Sonne B2B navigation: isolated from Warehouse's menu and mobile drawer. */
body.sonne-nav-open { overflow: hidden !important; }
.sonne-nav-root,
.sonne-nav-root * { box-sizing: border-box; }
.sonne-nav-root [hidden] { display: none !important; }
.sonne-nav-overlay {
  position: fixed; inset: 0; z-index: 100000;
  background: rgba(13, 20, 29, .60); opacity: 0;
  pointer-events: none; transition: opacity .25s ease;
}
.sonne-nav-overlay.is-visible { opacity: 1; pointer-events: auto; }
.sonne-nav-drawer {
  position: fixed; top: 0; bottom: 0; left: 0; z-index: 100001;
  width: min(380px, calc(100vw - 24px)); height: 100vh; height: 100dvh;
  display: flex; flex-direction: column; background: #fff; color: #202429;
  box-shadow: 12px 0 40px rgba(0,0,0,.12);
  transform: translate3d(-102%, 0, 0);
  transition: transform .25s cubic-bezier(.22,1,.36,1);
  font-family: inherit; font-size: 14px; line-height: 1.5;
  outline: none;
}
.sonne-nav-drawer.is-visible { transform: translate3d(0,0,0); }
.sonne-nav-heading {
  min-height: 72px; display: flex; align-items: center; justify-content: flex-end;
  gap: 16px; padding: 16px 22px; border-bottom: 1px solid #e8eaed;
  flex: 0 0 auto;
}
.sonne-nav-close {
  width: 40px; height: 40px; flex: 0 0 40px; border: 0; border-radius: 50%;
  background: #f2f3f5; color: #202429; font-size: 27px; font-weight: 300;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  padding: 0; line-height: 1;
}
.sonne-nav-close:hover { background: #e9eaec; }
.sonne-nav-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.sonne-nav-panel { padding: 28px 22px 32px; }
.sonne-nav-title { margin: 0 0 6px; font-size: 22px; line-height: 1.25; font-weight: 700; color: #202429; }
.sonne-nav-intro { margin: 0 0 22px; font-size: 12px; color: #747b84; }
.sonne-nav-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #e8eaed; }
.sonne-nav-list > li { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #e8eaed; }
.sonne-nav-link {
  display: flex; align-items: center; gap: 14px; min-height: 54px;
  padding: 11px 6px; text-decoration: none !important; color: #30353b !important;
  font-size: 14px; line-height: 1.4; font-weight: 500;
  transition: color .15s ease, background-color .15s ease;
}
.sonne-nav-link:hover { background: #fff7f1; color: #d96a1a !important; }
.sonne-nav-icon {
  flex: 0 0 26px; width: 26px; display: flex; justify-content: center; align-items: center;
  color: #555d66; font-size: 17px;
}
.sonne-nav-link:hover .sonne-nav-icon { color: #d96a1a; }
.sonne-nav-link-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.sonne-nav-arrow { flex: 0 0 auto; color: #9da3aa; font-size: 16px; }
.sonne-nav-link:hover .sonne-nav-arrow { color: #d96a1a; }
.sonne-nav-message { padding-top: 18px; color: #555d66; }
.sonne-nav-message p { margin: 0 0 18px; }
.sonne-nav-login {
  display: inline-flex; gap: 16px; align-items: center; padding: 12px 18px;
  background: #202429; color: #fff !important; text-decoration: none !important;
  border-radius: 3px; font-weight: 600;
}
.sonne-nav-login:hover { background: #d96a1a; }
.sonne-nav-root a:focus-visible,
.sonne-nav-root button:focus-visible { outline: 2px solid #ed7823; outline-offset: 3px; }
@media (max-width: 575px) {
  .sonne-nav-drawer { width: min(360px, calc(100vw - 16px)); }
  .sonne-nav-heading { min-height: 64px; padding: 12px 18px; }
  .sonne-nav-panel { padding: 24px 18px 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .sonne-nav-overlay, .sonne-nav-drawer, .sonne-nav-link { transition: none !important; }
}

/* Only the two explicitly configured IQIT tabs lose their native dropdowns.
   All other dropdowns, the search box and the account menu are unchanged. */
#iqitmegamenu-horizontal .sonne-nav-has-drawer > .cbp-hrsub,
#iqitmegamenu-horizontal .sonne-nav-has-drawer .cbp-submenu-aindicator,
#iqitmegamenu-mobile .sonne-nav-has-drawer > .mobile-menu__submenu,
#iqitmegamenu-mobile .sonne-nav-has-drawer > .mobile-menu__arrow {
  display: none !important;
}
#iqitmegamenu-horizontal .sonne-nav-has-drawer > a,
#iqitmegamenu-mobile .sonne-nav-has-drawer > a { cursor: pointer; }

/* Category hierarchy: one level, sourced from PrestaShop. */
.sonne-nav-parent { display: flex; align-items: stretch; min-width: 0; }
.sonne-nav-link--parent { flex: 1 1 auto; min-width: 0; }
.sonne-nav-toggle {
  flex: 0 0 42px; width: 42px; min-height: 54px;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 0; padding: 0;
  background: transparent; color: #8b949e; cursor: pointer;
  font: inherit; font-size: 17px;
  transition: background-color .15s ease, color .15s ease;
}
.sonne-nav-toggle:hover { background: #fff7f1; color: #d96a1a; }
.sonne-nav-toggle i { transition: transform .2s ease; }
.sonne-nav-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.sonne-nav-children { padding: 0 0 9px 40px; background: #fafbfc; }
.sonne-nav-sublist { margin: 0; padding: 4px 0 0; list-style: none; }
.sonne-nav-sublist li { margin: 0; padding: 0; list-style: none; border: 0; }
.sonne-nav-sublink {
  display: block; padding: 10px 14px; min-height: 39px;
  color: #606873 !important; font-size: 12.5px; line-height: 1.45;
  font-weight: 400; text-decoration: none !important; overflow-wrap: anywhere;
  transition: background-color .15s ease, color .15s ease;
}
.sonne-nav-sublink:hover { background: #fff1e6; color: #d96a1a !important; }
.sonne-nav-root .sonne-nav-children[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .sonne-nav-toggle, .sonne-nav-toggle i, .sonne-nav-sublink { transition: none !important; }
}
