/*
 * Planner-Arbeitsbereich: Die Kopfzone bleibt beim Scrollen stehen.
 *
 * Die Topbar klebt bereits durch Filament (.fi-topbar-ctn: sticky, z-30). Die
 * Tab-Leiste (filament/shared/workspace-tabs, Render-Hook TOPBAR_AFTER) steht
 * als Geschwister-Element direkt im <body> und klebt hier unmittelbar darunter.
 *
 * Die Höhen misst die Tab-Leiste selbst und legt sie am <html> ab:
 * --clubo-topbar-height (Topbar) und --clubo-header-height (Topbar + Leiste).
 * Gemessen statt fest, weil die Topbar bei vielen Modulen umbrechen kann und
 * die Leiste ausgeblendet sein oder eine Scrollleiste tragen kann. Bis zur
 * ersten Messung gelten Filaments 4rem.
 */

.fi-body-has-topbar > .fi-clubo-tabs {
    position: sticky;
    top: var(--clubo-topbar-height, var(--topbar-height));
    /* Unter der Topbar (30), deren Dropdowns die Leiste überdecken dürfen,
       und über dem Seiteninhalt. */
    z-index: 29;
}

/*
 * Filament verwendet --topbar-height im Inhalt als Freiraum unter der
 * klebenden Kopfzone: Mindesthöhe von .fi-main-ctn, klebende Toolbar des
 * Rich-Editors, Scroll-Abstand beim Sprung zu Validierungsfehlern und
 * Überschriften. Im Inhalt zählt deshalb die Tab-Leiste mit. Die Topbar selbst
 * liegt ausserhalb und behält ihre 4rem. Eigene klebende Elemente im Inhalt
 * (z. B. Website-Editor) nutzen dieselbe Variable.
 */
.fi-body-has-topbar .fi-main-ctn {
    --topbar-height: var(--clubo-header-height, 4rem);
}
