/* ==========================================================
   BM Alle Kategorien Dropdown
   Flyout-Menü für den "ALLE KATEGORIEN" Button im Header
   ========================================================== */

/* Wrapper um den Button — Positioning-Anker */
.bm-allcat-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Dropdown-Panel */
.bm-allcat-panel {
  display: none;
  position: fixed;
  z-index: 9999999;
  width: 260px;
  background: #fff;
  border-top: 3px solid #1a2e52;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  border-radius: 0 0 6px 6px;
  padding: 6px 0;
}

.bm-allcat-panel.bm-allcat-open {
  display: block;
}

/* Haupt-Kategorie-Eintrag */
.bm-allcat-item {
  position: relative;
}

.bm-allcat-link {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
  color: #333 !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  font-family: Poppins, Arial, sans-serif !important;
  border-bottom: 1px solid #f0f0f0 !important;
  transition: background 0.12s, color 0.12s !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.bm-allcat-item:last-child .bm-allcat-link {
  border-bottom: none !important;
}

.bm-allcat-link:hover,
.bm-allcat-item.bm-flyout-active > .bm-allcat-link {
  background: #f0f4fa !important;
  color: #1a2e52 !important;
}

/* Icon */
.bm-allcat-icon {
  font-size: 16px;
  width: 22px;
  text-align: center;
  flex-shrink: 0;
}

/* Label */
.bm-allcat-label {
  flex: 1;
}

/* Pfeil rechts (für Flyout) */
.bm-allcat-arrow {
  font-size: 11px;
  color: #aaa;
  margin-left: auto;
  flex-shrink: 0;
  transition: color 0.12s;
}

.bm-allcat-item.bm-flyout-active > .bm-allcat-link .bm-allcat-arrow {
  color: #1a2e52;
}

/* ==========================================================
   Flyout-Submenu (erscheint rechts)
   ========================================================== */

.bm-flyout-panel {
  display: none;
  position: fixed;
  z-index: 1000001;
  width: 230px;
  background: #fff;
  border-top: 3px solid #c8102e;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  border-radius: 0 6px 6px 0;
  padding: 6px 0;
}

.bm-allcat-item.bm-flyout-active > .bm-flyout-panel {
  display: block;
}

/* Flyout-Link */
.bm-flyout-link {
  display: block !important;
  padding: 9px 16px !important;
  text-decoration: none !important;
  color: #444 !important;
  font-size: 13px !important;
  font-family: Poppins, Arial, sans-serif !important;
  border-bottom: 1px solid #f5f5f5 !important;
  transition: background 0.1s, color 0.1s !important;
  white-space: nowrap !important;
}

.bm-flyout-link:last-child {
  border-bottom: none !important;
}

.bm-flyout-link:hover {
  background: #f0f4fa !important;
  color: #c8102e !important;
}

/* Flyout-Heading (Kategoriename oben) */
.bm-flyout-heading {
  display: block;
  padding: 8px 16px 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #1a2e52;
  border-bottom: 2px solid #f0f0f0;
  font-family: Poppins, Arial, sans-serif;
}

/* ==========================================================
   Responsive: auf Mobile nur direkte Links (kein Flyout)
   ========================================================== */

@media (max-width: 768px) {
  .bm-allcat-panel {
    width: 100%;
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    border-radius: 0;
    max-height: 90vh;
    overflow-y: auto;
  }

  .bm-flyout-panel {
    display: none !important;
  }

  .bm-allcat-arrow {
    display: none;
  }
}
