/**
 * @file welle-0.css — Feb 2026 Bootstrap sub-theme
 *
 * Kleine, additive Korrekturen aus der Reparaturwelle 0 (August 2026).
 *
 * Bewusst eine eigene, handgeschriebene CSS-Datei und kein SCSS-Partial:
 * css/style.min.css wird laut css/style.scss lokal mit der VS-Code-
 * Erweiterung "Live Sass" kompiliert. Auf dem Server steht keine
 * Sass-Toolchain zur Verfuegung, eine Aenderung im SCSS wuerde also erst
 * beim naechsten lokalen Build wirksam und bis dahin auseinanderlaufen.
 * Diese Datei wird nach style.min.css geladen und ueberschreibt daher
 * gezielt einzelne Regeln.
 */

/* -----------------------------------------------------------------------
 * Utility-Leiste im Header (Aufgabe 6d)
 *
 * .brm-header__utility-inner ist ein Flex-Container mit
 * `justify-content: space-between`. Er war auf zwei Bloecke ausgelegt:
 * links der Fusszeilen-Menueblock, rechts der Sprachumschalter. Der
 * Menueblock war jedoch eine Doppelplatzierung (derselbe Block steht
 * korrekt im Footer) und ist jetzt deaktiviert.
 *
 * Bleibt nur ein Block uebrig, wuerde `space-between` ihn an den linken
 * Rand ruecken. Diese Regel haelt den Sprachumschalter dort, wo er war -
 * rechts. Kommt spaeter wieder ein zweiter Block in die Region, greift
 * :only-child nicht mehr und das urspruengliche Layout stellt sich von
 * selbst wieder her.
 * -------------------------------------------------------------------- */
.brm-header__utility-inner > :only-child {
  margin-inline-start: auto;
}

/* -----------------------------------------------------------------------
 * Inline-SVG-Icons (W4-5) - loest die Icon-Font-Absicherung aus Aufgabe 5 ab
 *
 * Die dekorativen Material-Symbols-Glyphen der Navigation sind ersatzlos
 * entfallen, die funktionalen (Chevron, Lupe, Schliessen, Nach oben) sowie
 * die News-Meta-Icons sind jetzt Inline-SVGs mit currentColor. Damit gibt
 * es kein Ligaturwort mehr, das bei Font-Ausfall im Klartext erscheinen
 * koennte - die frueheren Regeln (font-feature-settings: "liga" und der
 * @supports-Block mit `max-width: 1em; overflow: clip` auf den Icon-Boxen)
 * sind gegenstandslos und wurden entfernt. `max-width: 1em` haette die
 * SVGs sogar gestaucht, weil sie ihre Groesse ueber width/height beziehen.
 *
 * Die Zugaenglichkeit aus Aufgabe 5 bleibt unveraendert: jedes SVG traegt
 * aria-hidden="true" plus focusable="false" (IE/Edge-Legacy-Tabstopp), und
 * jedes Bedienelement behaelt seine sichtbare oder visually-hidden
 * Beschriftung.
 * -------------------------------------------------------------------- */

/* Einziger Icon-Button ohne eigenes Flex-Layout - zentriert das SVG. */
.offcanvas-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Die Icons sitzen durchweg in Flex-Zeilen; ohne flex-shrink: 0 wuerden
   sie bei langen Titeln zusammengedrueckt. */
.brm-header__icon,
.brm-header__chevron,
.offcanvas-chevron,
.news-card__meta-icon,
.news-hero__meta-icon {
  flex-shrink: 0;
}

/* Ersetzt den Abstand, den die alten Icon-Spans der News-Meta-Zeilen ueber
   `.news-card__meta .material-symbols-outlined { margin-right: .35em }`
   bzw. `.news-hero__meta ... { margin-right: .4em }` mitgebracht haben. */
.news-card__meta-icon,
.news-hero__meta-icon {
  margin-right: 0.4em;
}

/* -----------------------------------------------------------------------
 * Offcanvas-Schublade aus dem Tab-Fluss nehmen (Aufgabe 5)
 *
 * #offcanvasNav wird nur ueber transform: translateX(100%) aus dem Bild
 * geschoben. Die enthaltenen Links und Chevron-Buttons blieben dadurch
 * auf jeder Breite fokussierbar -
 * auch ab 992px, wo der Hamburger-Button per display:none verschwindet und
 * die Schublade gar nicht mehr geoeffnet werden kann. Zusammen mit dem
 * bereits gesetzten aria-hidden="true" ist das der klassische
 * "aria-hidden-focus"-Verstoss: Tastaturfokus laeuft in einen Bereich, den
 * Screenreader ausblenden.
 *
 * visibility: hidden nimmt den geschlossenen Zustand aus Tab-Reihenfolge
 * und Accessibility-Tree. js/global.js setzt beim Oeffnen
 * aria-hidden="false", der Selektor greift dann nicht mehr. Die
 * visibility-Transition laeuft diskret, das Zuschieben bleibt sichtbar.
 * -------------------------------------------------------------------- */
.brm-offcanvas {
  transition: transform 0.3s ease-out, visibility 0.3s ease-out;
}

.brm-offcanvas[aria-hidden="true"] {
  visibility: hidden;
}
