/* Bricks-Elementvorgaben neutralisieren.
   ==========================================================================
   Bricks gibt jedem eigenen Element Layoutvorgaben mit:
     .brxe-section   align-items:center; display:flex; flex-direction:column;
                     margin-left:auto; margin-right:auto; width:100%
     .brxe-container align-items:flex-start; display:flex; width:1100px
     .brxe-block     align-items:flex-start; display:flex; flex-direction:column
     .brxe-heading   margin:0
     .brxe-code      width:100%
   Etch tut das nicht: seine Elementvorgaben haengen an [data-etch-element]
   und gelten nur auf der Builder-Leinwand, im ausgelieferten HTML kommt das
   Attribut null Mal vor.

   Folge ohne diese Datei: auf JEDER Seite Abweichungen. Gemessen am
   29.08.2026 gegen die Live-Seite -- /ueber/ 157 von 157 Elementen
   verschoben, /technischer-mittelstand/ 222, und das bei 100 % gleicher
   Struktur und gleichem Text. Genau die Sorte Fehler, die eine Pruefung
   ohne Layoutmessung durchlaesst.

   Zurueckgesetzt wird auf den Browserstandard. Was die Elemente an Layout
   brauchen, sagt danach das Projekt-CSS -- so wie in Etch. Die
   Sektionsvorgaben (display:flex, Spaltenrichtung) kommen dort aus dem
   ACSS-Ersatzfundament und greifen ueber den Selektor section, nicht ueber
   die Bricks-Klasse.

   NICHT verwendet: * { all: unset } oder aehnliche Holzhammer. Nur die
   Eigenschaften, die Bricks tatsaechlich setzt, und nur an den Elementen,
   die aus der Migration stammen. */

/* ZWEI DINGE ENTSCHEIDEN HIER, UND BEIDE SIND LEICHT ZU VERFEHLEN:

   1. revert statt fester Werte. Ein pauschales display:block hat die
      Preistabelle zerlegt -- ihre Zeilen sind <tr> und tragen dieselbe
      Bricks-Klasse wie ein <div>. revert gibt jedem Element den Standard
      zurueck, der zu seinem eigenen Tag gehoert.

   2. SPEZIFITAET GENAU 0,1,0, also eine einzelne Klasse. Bricks' Vorgaben
      stehen ausserhalb seiner @layer und haben ebenfalls 0,1,0. Diese Datei
      laedt danach und gewinnt deshalb den Gleichstand. Das Projekt-CSS
      (Customizer) laedt als letztes und gewinnt gegen beide.
      Mit .bklp .brxe-div (0,2,0) schlug der Neutralisierer dagegen jede
      einklassige Projektregel: /preise/ fiel von 58,6 auf 9 % Layoutdeckung.
      Mehr Spezifitaet war hier genau das Falsche. */

/* DRITTE FALLE: Sektionen NICHT im display zuruecksetzen.
   Das ACSS-Ersatzfundament gibt Sektionen ihr Layout ueber
   :where(section:not(section section)) { display:flex; flex-direction:column }
   -- bewusst mit Spezifitaet NULL, damit man es leicht ueberschreiben kann.
   Genau deshalb schlaegt jede Klassenregel sie, auch diese hier. Ein
   display:revert an .brxe-section machte aus elf Sektionen Blockelemente,
   die live Flex-Spalten sind.
   Bricks' Vorgabe display:flex; flex-direction:column deckt sich an dieser
   Stelle ohnehin mit dem Bestand. Also nur wegnehmen, was WIRKLICH stoert:
   die Zentrierung, die automatischen Seitenraender, den Umbruch. */

.brxe-section {
  align-items: revert;
  justify-content: revert;
  flex-wrap: revert;
  margin-left: revert;
  margin-right: revert;
}

/* Bei den uebrigen Layoutelementen ist der Standard des Tags richtig:
   Etch laesst ein <div> ein Blockelement. */
.brxe-container,
.brxe-block,
.brxe-div,
.brxe-code,
.brxe-text-link {
  display: revert;
  align-items: revert;
  justify-content: revert;
  flex-direction: revert;
  flex-wrap: revert;
  margin-left: revert;
  margin-right: revert;
  width: revert;

}

.brxe-heading { margin: revert; }

/* VIERTE FALLE, gefunden am 29.08.2026 im Blogfilter:
   `display: revert` oben schlaegt Bricks' eigenes `[hidden] { display:none }`.
   Beide sind Autoren-CSS mit Spezifitaet 0,1,0, diese Datei laedt spaeter und
   gewinnt den Gleichstand -- auch dort, wo sie es nicht soll. Der Filter auf
   /blog/ setzt `zeile.hidden = true`, die Karte blieb trotzdem stehen: der
   Status meldete "2 Beitraege sichtbar", zu sehen waren zwoelf.

   Darum den Vertrag danach wieder herstellen. Bewusst OHNE !important und
   ohne :not([hidden]) an der Liste oben -- das haette die Spezifitaet auf
   0,2,0 gehoben und damit jede einklassige Projektregel geschlagen. Genau der
   Fehler, der /preise/ schon einmal von 58,6 auf 9 Prozent Deckung gebracht
   hat. Reihenfolge statt Gewicht. */
[hidden] { display: none; }

/* FUENFTE FALLE, 30.08.2026: `gap: revert` gehoerte NICHT an die
   Container-Liste oben.
   Gebraucht wurde es nur fuer .brxe-text-link, das Bricks mit `gap: 5px`
   ausstattet (Aufklappmenue). An .brxe-div traf es aber auch das
   ACSS-Ersatzfundament:
     :where(section:not(section section)) > :where(div, ul, ol) { gap: var(--content-gap) }
   Diese Regel hat Spezifitaet NULL, `gap: revert` hat 0,1,0 und gewinnt --
   also verschwand der Abstand zwischen den Bloecken jeder Sektion. In Etch
   gab es keine brxe-Klassen, dort griff die Fundament-Regel. Aufgefallen
   ist es erst, als eine Komponente ohne brxe-Klassen den Abschnitt
   uebernahm und ploetzlich 30px Abstand zeigte, wo vorher keiner war. */
.brxe-text-link { gap: revert; }
