/* =====================================================================
   Mega-Menü · schmuck-verkaufen.com
   Reines CSS auf dem Astra-Primärmenü. Kein JS, keine Extra-DOM-Knoten.
   Aktiv nur ab Desktop; mobil bleibt Astras natives Akkordeon.
   Klassen: .mega (+ .mega-sm | .mega-md | .mega-lg) am Top-Level-Item.
   ===================================================================== */
@media (min-width: 922px) {

  .ast-nav-menu > .menu-item.mega { position: relative; }

  /* Panel-Basis (Astra steuert Sichtbarkeit per Hover/Fokus) */
  .ast-nav-menu > .menu-item.mega > .sub-menu {
    width: 560px !important; max-width: 96vw !important;
    left: 0; right: auto;
    padding: 16px 20px !important;
    columns: 190px; column-gap: 24px;
    background: #fff !important;
    border: 1px solid #ece1c8 !important;
    border-top: 3px solid var(--c-cyan, #C8A24B) !important;
    border-radius: 0 0 var(--radius-lg, 10px) var(--radius-lg, 10px) !important;
    box-shadow: 0 18px 44px -20px rgba(26,23,20,.30) !important;
    max-height: calc(100vh - 130px); overflow: auto;  /* Sicherheitsnetz, sollte nicht greifen */
  }
  .ast-nav-menu > .menu-item.mega.mega-sm > .sub-menu { width: 300px !important; columns: auto; }
  .ast-nav-menu > .menu-item.mega.mega-md > .sub-menu { width: 900px  !important; columns: 200px; left: auto; right: 0; }
  /* Standorte: sehr breit + viele schmale Spalten, damit alle 16 Bundesländer ohne Scrollen passen */
  .ast-nav-menu > .menu-item.mega.mega-lg > .sub-menu {
    width: min(95vw, 1360px) !important; columns: 152px; column-gap: 20px;
    left: auto; right: 0;
  }

  /* 2nd-Level: Gruppen/Leafs als Spalten-Items (zusammenhalten) */
  .ast-nav-menu > .menu-item.mega > .sub-menu > .menu-item {
    break-inside: avoid; -webkit-column-break-inside: avoid;
    display: block; width: 100%; margin: 0 0 8px; padding: 0;
  }

  /* Gruppen-Kopf */
  .ast-nav-menu > .menu-item.mega > .sub-menu > .menu-item-has-children > a {
    font-family: var(--font-head, Fraunces), Georgia, serif;
    font-size: .8rem; font-weight: 600; letter-spacing: .01em;
    color: var(--c-key, #1A1714) !important;
    padding: 4px 7px 2px !important; opacity: .9;
  }

  /* 3rd-Level NUR inline, wenn das Panel offen ist */
  .ast-nav-menu > .menu-item.mega:hover > .sub-menu .sub-menu,
  .ast-nav-menu > .menu-item.mega:focus-within > .sub-menu .sub-menu {
    position: static !important; left: auto !important; top: auto !important;
    width: auto !important; min-width: 0 !important; max-width: none !important;
    margin: 0 !important; padding: 0 0 2px !important;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    columns: auto !important; float: none !important;
  }

  /* Links (kompakt) */
  .ast-nav-menu > .menu-item.mega > .sub-menu a {
    display: block; white-space: normal; line-height: 1.2;
    padding: 3px 7px !important; border-radius: 6px;
    font-size: .87rem; color: #4a423a !important;
    transition: background .12s ease, color .12s ease;
  }
  .ast-nav-menu > .menu-item.mega > .sub-menu .sub-menu a {
    font-size: .82rem; color: #5d5347 !important; padding-left: 7px !important;
  }
  .ast-nav-menu > .menu-item.mega > .sub-menu a:hover,
  .ast-nav-menu > .menu-item.mega > .sub-menu a:focus {
    background: var(--c-cyan-soft, #F6EFDF) !important; color: var(--c-cta-dark, #8E631F) !important;
  }

  /* "Alle …"-Abschlusslink hervorheben */
  .ast-nav-menu > .menu-item.mega > .sub-menu > .menu-item:last-child > a {
    font-weight: 600; color: var(--c-cta, #B07D2B) !important;
    border-top: 1px solid #f0e7d4; margin-top: 4px; padding-top: 7px !important;
  }

  /* Astra-Pfeile im Panel ausblenden */
  .ast-nav-menu > .menu-item.mega > .sub-menu .ast-sub-arrow,
  .ast-nav-menu > .menu-item.mega > .sub-menu .dropdown-menu-toggle { display: none !important; }
}