/* ============================================================================
 * TYPO3 Bridge CSS - Minimal (Template-First Architektur)
 * ============================================================================
 * UNLAYERED: Nur fuer unvermeidbare TYPO3-Eigenheiten.
 * Alle Content-Elemente rendern jetzt Prototype-exaktes HTML (ce-* Klassen).
 * bridge.css ist NICHT MEHR fuer Class-Mapping zustaendig.
 *
 * Jede Regel hier braucht einen TYPO3-GRUND Kommentar.
 * Ziel: <30 Zeilen. Wenn es mehr wird, stimmt die Architektur nicht.
 *
 * Stand: 2026-02-24 (Template-First Expertenrunde)
 * ============================================================================ */

/* PIPELINE-MANDATORY-SKIP-LINKS
 * Keep accessibility skip links out of the visual viewport until keyboard focus.
 * This must remain unlayered and loaded after prototype CSS because many
 * prototypes define .skip-link with top:-100px, which can still bleed into
 * screenshots when combined with transforms and tall padding.
 */
.min-skip-links {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: 10000;
}

.min-skip-links__link,
.min-skip-link,
.skip-link {
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 50%;
    transform: translate(-50%, -250%);
    opacity: 0;
    pointer-events: none;
}

.min-skip-links__link:focus,
.min-skip-links__link:focus-visible,
.min-skip-link:focus,
.min-skip-link:focus-visible,
.skip-link:focus,
.skip-link:focus-visible {
    inset-block-start: 0.75rem;
    transform: translate(-50%, 0);
    opacity: 1;
    pointer-events: auto;
}

/* PIPELINE-MANDATORY-RTE-SPLIT-LIST-SPACING: Restore collapsed split siblings. */
.split__text > p + p {
    margin-block-start: calc(var(--space-md, 2rem) + var(--space-md, 2rem));
}

.split__text:has(> .split__list) {
    margin-block-end: 0;
}

.split__text > .split__list {
    width: calc(100% + var(--min-split-rte-list-inline-extension, 2.5rem));
    max-width: calc(100vw - var(--min-container-padding, 2rem) - var(--min-container-padding, 2rem));
    line-height: var(--line-body, var(--min-line-height, 1.7));
    margin-block-start: calc(var(--space-md, 2rem) + var(--space-md, 2rem));
}

/* PIPELINE-MANDATORY-PROTOTYPE-A11Y-DEFAULTS
 * min_core writes "normal" accessibility classes to <html>. The normal state
 * must be visually neutral and preserve the prototype body typography.
 * Enhanced line-height modes still override this through their own classes.
 */
html.mincore-lineheight-normal body {
    line-height: var(--line-body, var(--min-line-height, 1.5));
}
