/*
 * Bausteine (Styleguide Schritt 5, 23.10.2026): eine verbindliche Fassung je Baustein.
 * Wird als letztes Theme-Stylesheet geladen und nutzt nur Werte aus tokens.css.
 *
 * Warum "#main-content#main-content": Die älteren Regeln in custom.css und prototype-parity.css hängen oft an
 * Seitenklassen (.route-*, .page-id-*) mit !important. Die doppelte ID gewinnt gegen alle diese Regeln, ohne dass
 * jede einzelne gelöscht werden muss. Neue Seitenregeln sollen Schriftart, Größe und Farbe dieser Bausteine nicht mehr setzen.
 */

/* Überzeile: Mono-Schrift, 13 px, Großbuchstaben.
   Heller Grund: Dunkelblau mit grünem Strich davor. Dunkler Grund (Einstieg, Beleg, Abschluss): Grün. */
#main-content#main-content :is(p.eyebrow, .trx-divi-kicker p, .start-kicker p, .trx-error-eyebrow, .author-box-eyebrow) {
    font-family: var(--trx-font-mono) !important;
    font-size: var(--trx-text-2xs) !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

#main-content#main-content :is(.trx-ton-weiss, .trx-ton-grau, .trx-mitte, .trixner-start-rechner, .trixner-start-angebote, .trixner-start-loesungen, .trixner-start-belege, .trixner-start-workspace, .trixner-start-fragen) :is(p.eyebrow, .trx-divi-kicker p, .start-kicker p),
#main-content#main-content .author-box-eyebrow {
    color: var(--trx-ink) !important;
}

#main-content#main-content :is(.trx-ton-weiss, .trx-ton-grau, .trx-mitte):not(.is-dark):not(.trx-divi-dark) .trx-divi-kicker p {
    border-left: 3px solid var(--trx-accent-line);
    padding-left: 10px;
}

#main-content#main-content :is(.hub-hero, .solution-hero, .page-hero, .trx-divi-hero, .final-cta, .trx-divi-cta, .is-dark, .trx-divi-dark, .trixner-start-einstieg, .trixner-start-person, .trixner-start-kontakt) :is(p.eyebrow, .trx-divi-kicker p, .start-kicker p),
#main-content#main-content .trx-error-eyebrow {
    color: var(--trx-accent) !important;
}

/* Textlink: zwei Arten, ein Unterstrich.
   Link im Satz: schlicht, halbfett. Weiter-Link (.text-link, eigene Zeile): 14 px, fett, Pfeil per CSS.
   Heller Grund: Dunkelblau mit grünem Unterstrich. Dunkler Grund und dunkle Akzentkarten: Grün mit grünem Unterstrich.
   Nicht betroffen: Schaltflächen, verlinkte Karten (.solution-card), Beitragskarten und Blättern der Insights. */
#main-content#main-content :is(.et_pb_text_inner, .trx-error-card, .author-links, .gform-field-label) a[href]:not(.et_pb_button, .button, .more-link, .solution-card, [class*="btn"], [class*="button"]):not(:has(img, svg, video)),
#main-content#main-content a.text-link {
    color: var(--trx-ink) !important;
    text-decoration: underline !important;
    text-decoration-color: var(--trx-accent-line) !important;
    text-decoration-thickness: var(--trx-link-line) !important;
    text-underline-offset: var(--trx-link-offset) !important;
}

#main-content#main-content :is(.et_pb_text_inner, .trx-error-card, .author-links) a[href]:not([class*="link"], .et_pb_button, .button, .more-link, .solution-card, [class*="btn"], [class*="button"]):not(:has(img, svg, video)),
#main-content#main-content a.mail-link:not(.text-link) {
    font-weight: 600 !important;
}

#main-content#main-content a.text-link {
    font-size: var(--trx-text-xs) !important;
    font-weight: 900 !important;
}

#main-content#main-content :is(.hub-hero, .solution-hero, .page-hero, .trx-divi-hero, .final-cta, .trx-divi-cta, .is-dark, .trx-divi-dark, .trixner-start-einstieg, .trixner-start-person, .trixner-start-kontakt, .trixner-video-einstieg, .trixner-workspace-einstieg, .trx-linz-einstieg, .trx-linz-abschluss, .page-card.is-accent, .trx-divi-card.is-accent) :is(.et_pb_text_inner a[href]:not(.et_pb_button, .button, .solution-card, [class*="btn"], [class*="button"]):not(:has(img, svg, video)), a.text-link) {
    color: var(--trx-accent) !important;
    text-decoration-color: var(--trx-accent) !important;
}

/* Karte: ein Innenabstand für alle Kartenflächen (vorher 24–32 px je Seite). */
#main-content#main-content :is(.trx-divi-card, .trx-error-card) {
    padding: var(--trx-card-pad) !important;
}

/* Schaltfläche: eine Schrift, eine Größe, ein Radius. Farbe und Rahmen bleiben je Variante (Grün, Dunkel, Umriss). */
#main-content#main-content :is(.et_pb_button, .gform_button, .trx-error-button, .prozesscheck-primaer) {
    font-family: var(--trx-font-sans) !important;
    font-size: var(--trx-text-sm) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    border-radius: var(--trx-radius) !important;
}

/* Karte: ein Radius für alle Kartenflächen. */
#main-content#main-content .trx-divi-card {
    border-radius: var(--trx-radius) !important;
}

/* Kleinschrift aus Formular-Plugins nicht unter 13 px. */
#main-content#main-content :is(.trx-turnstile small, .gfield_required_asterisk) {
    font-size: var(--trx-text-2xs) !important;
}

/* Überschriften: sehr lange Wörter (ab 14 Buchstaben, z. B. Immobilienunternehmen, Datenschutzerklärung) trennt der
   Browser nach Silben, statt sie hart mitten im Wort zu brechen. Kürzere Wörter bleiben ungetrennt; am Handy ab 12. */
#main-content#main-content :is(h1, h2, h3) {
    -webkit-hyphens: auto !important;
    hyphens: auto !important;
    hyphenate-limit-chars: 14 6 6;
}

@media (max-width: 760px) {
    #main-content#main-content :is(h1, h2, h3) {
        hyphenate-limit-chars: 12 5 5;
    }
}
