/**
 * Footer-Navigation: Accordion mobil, Spalten ab Tablet/Desktop.
 * Wird NACH main.min.css geladen — überschreibt Bundle + vermeidet fehlende Sass-Kompilate.
 * Trigger ist kein natives <button> (siehe Markup: div[role=button]), damit kein Select-/iOS-Button-Chrome entsteht.
 */

/* Tablet: display:contents nur 577–992px, nicht auf schmalen Handys (sonst bricht Layout/Accordion) */
@media (max-width: 992px) and (min-width: 577px) {
  .footer__nav-cluster,
  .footer__nav-dropdown {
    display: contents !important;
  }
}

/* Ab „Large Phone“ / kleinem Tablet: Accordion-Zeile aus, erster Link wie Spaltenkopf */
@media (min-width: 577px) {
  .footer .footer-nav__list--accordion > .footer-nav__item--accordion-head {
    display: none !important;
  }
  .footer .footer-nav__item--desktop-first .footer-nav__link {
    font-weight: 700;
    font-size: 18px;
    color: rgb(250, 250, 250);
  }
}

/* Großer Desktop (über Tablet-Breakpoint): klassisches 35/65-Raster — schützt vor Mobil-Resten im Bundle */
@media (min-width: 993px) {
  .footer .footer__items {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  .footer .footer__item--brand {
    width: 35% !important;
    padding: 0 40px 0 35px !important;
    align-self: auto !important;
  }
  .footer .footer__nav-cluster {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 65% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }
  .footer .footer__nav-dropdown {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .footer .footer__nav-cluster .footer__item--nav:nth-child(1) {
    width: 38.46% !important;
    max-width: none !important;
    flex: 0 1 auto !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
  }
  .footer .footer__nav-cluster .footer__item--nav:nth-child(2) {
    width: 30.77% !important;
    max-width: none !important;
    flex: 0 1 auto !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  .footer .footer__nav-cluster .footer__item--nav:nth-child(3) {
    width: 30.77% !important;
    max-width: none !important;
    flex: 0 1 auto !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Mobil: Trigger standardmäßig nicht im Desktop-Stylesheet sichtbar — nur ≤576 */
.footer .footer-nav__accordion-trigger {
  display: none;
}

@media (max-width: 576px) {
  /* Eine Spalte: sonst bleibt .footer__items > .footer__item--nav { width:50% } aus dem ≤992px-Block
     aktiv (bei display:contents) — dann wirken Spalte 2+3 wie eingerückt / schmaler als Spalte 1 */
  .footer .footer__items {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }
  .footer .footer__item--brand {
    align-self: stretch !important;
  }
  /* Gegen älteres Bundle: display:contents für ≤992px darf mobil nicht greifen */
  /* Gleiche horizontale Einrückung wie Fließtext in .footer__item--brand (padding-left: 35px), nicht bündig mit Logo */
  .footer .footer__nav-cluster {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-top: 20px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 35px !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }
  /* Kernfix: Dropdown ist im Basis-Stylesheet row + Wrap — sonst stehen 3 Spalten nebeneinander (Treppen-Effekt) */
  .footer .footer__nav-dropdown {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
  }
  /* Desktop: 38% / 31% / 31% + padding — ohne gleiche Spezifität wirkt Spalte 1 schmaler als 2+3 */
  .footer .footer__nav-cluster .footer__item--nav,
  .footer .footer__nav-cluster .footer__item--nav:nth-child(1),
  .footer .footer__nav-cluster .footer__item--nav:nth-child(2),
  .footer .footer__nav-cluster .footer__item--nav:nth-child(3) {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left;
    box-sizing: border-box;
  }
  /* Desktop: Abstand zwischen zwei UL in einer Spalte — mobil Treppen-Effekt vermeiden */
  .footer .footer-nav__list-last {
    margin-top: 0 !important;
  }
  /* Falls Bundle display:contents: Nav-Spalten als direkte Kinder von .footer__items */
  .footer .footer__items > .footer__item--nav {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  .footer .footer-nav__item--desktop-first {
    display: none !important;
  }

  .footer .footer-nav__list--accordion {
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .footer .footer-nav__list--accordion > .footer-nav__item--accordion-head {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
  }

  /* Kein nativer Button: div mit role=button — nur Text + Chevron, volle Breite, dünne Linie wie Hauptmenü */
  .footer .footer-nav__accordion-trigger {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0;
    min-height: 48px;
    padding: 14px 6px 14px 0;
    box-sizing: border-box;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgb(250, 250, 250) !important;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    outline: none;
  }

  /* Nur oberste Accordion der ersten Spalte ohne border-top — nicht jede :first-of-type pro Spalte,
     sonst fehlen die Trennlinien vor Lösungen-/Ressourcen-/Rechts-Block (falsches „erstes“ ul pro Spalte) */
  .footer .footer__nav-dropdown > .footer__item--nav:first-child .footer-nav__list--accordion:first-of-type .footer-nav__accordion-trigger {
    border-top: 0 !important;
  }

  /* Keine Extra-Linie unter dem letzten Block (Rechtliche Hinweise) — wie bei den anderen Accordions nur border-top */
  .footer .footer__nav-cluster .footer__item--nav:last-child .footer-nav__list--accordion .footer-nav__accordion-trigger,
  .footer .footer__nav-cluster .footer__item--nav:last-child .footer-nav__list--accordion.footer-nav__list--open > .footer-nav__item:last-child .footer-nav__link {
    border-bottom: 0 !important;
  }

  /* Geöffnet: keine Doppellinie unter dem Titel (Trigger unten + erster Link oben) */
  .footer .footer-nav__list--accordion.footer-nav__list--open > .footer-nav__item--accordion-head .footer-nav__accordion-trigger {
    border-bottom: 0 !important;
  }

  .footer .footer-nav__accordion-heading-text {
    flex: 1;
    min-width: 0;
  }

  .footer .footer-nav__accordion-trigger:hover,
  .footer .footer-nav__accordion-trigger:focus-visible {
    color: rgb(232, 184, 78) !important;
  }

  .footer .footer-nav__accordion-trigger:focus-visible {
    outline: 2px solid rgba(232, 184, 78, 0.35);
    outline-offset: 2px;
  }

  .footer .footer-nav__accordion-icon {
    flex-shrink: 0;
    transition: transform 0.2s ease;
    font-size: 14px;
    opacity: 0.95;
    pointer-events: none;
    color: inherit;
  }

  .footer .footer-nav__list--accordion.footer-nav__list--open .footer-nav__accordion-trigger .footer-nav__accordion-icon {
    transform: rotate(180deg);
  }

  .footer .footer-nav__list--accordion:not(.footer-nav__list--open) > .footer-nav__item:nth-child(n + 2) {
    display: none !important;
  }

  .footer .footer-nav__list--accordion.footer-nav__list--open > .footer-nav__item:nth-child(n + 2) .footer-nav__link {
    display: block;
    padding: 10px 6px 10px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
  }
}
