/*
 * Custom-Overrides für die Tabler.io-Umstellung.
 * Migrierte/erforderliche Regeln aus ASLibrary/css/style2.css und style3.css
 * (die restlichen Regeln dieser Dateien waren BS2/3-Docs-Sidebar-Reste und
 * werden durch Tabler-eigene Komponenten ersetzt).
 */

/* Von altem Code weiter verwendete BS2/3-Hilfsklassen, die es in Bootstrap 5/Tabler nicht mehr gibt */
.text-error {
	color: #d63939;
}

.required {
	color: #a00;
	font-weight: bold;
}

/* Login-/Confirm-/Passwortreset-Seiten: Logo oben rechts über dem Modal */
.flags-wrapper {
	position: absolute;
	z-index: 2000;
	top: 10px;
	right: 50px;
}

.header-flags-wrapper {
	float: left;
	margin-top: 13px;
}

.flags-wrapper a,
.header-flags-wrapper a {
	text-decoration: none;
}

.flags-wrapper img,
.header-flags-wrapper img {
	width: 21px;
}

/* AJAX-Ladeanzeigen in Modals (users.php) sind standardmäßig verborgen und werden per JS ein-/ausgeblendet */
#ajax-loading,
.ajax-loading {
	padding: 20px;
	display: none;
}

/*
 * Sticky Footer.
 * Für templates/header.php+footer.php (verschachtelt in .page/.page-wrapper/.page-body)
 * übernimmt bereits Tabler selbst das Sticky-Footer-Layout - dafür wird hier nur die
 * fehlende Höhenbasis (html/body) ergänzt.
 * Für die ~100 Seiten unter seiten/*.php (include_navigation.php + include_foot.php,
 * ohne .page-Wrapper) sorgt die Regel "body > footer" dafür, dass der Footer bei kurzem
 * Seiteninhalt trotzdem am unteren Rand des Viewports bleibt.
 */
html {
	height: 100%;
	/* Scrollbar-Breite immer reservieren, damit die Seite (inkl. sticky Navbar aus
	   include_navigation.php) beim Wechsel zwischen Seiten mit/ohne Scrollbalken
	   nicht seitlich springt. */
	scrollbar-gutter: stable;
	overflow-y: scroll;
}

body {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

body > footer {
	margin-top: auto;
}

/*
 * Ersatz für das entfernte Bootstrap-3-Plugin "Affix" (data-spy="affix").
 * Die Sprungmarken-Listen rechts neben den Berichten (bericht_b*_html.php,
 * b2_aerzte_koopg.php) scrollen jetzt per position:sticky mit.
 * Der Offset entspricht der Höhe der sticky Navbar aus include_navigation.php.
 */
.sticky-nav {
	position: sticky;
	top: 4.5rem;
	max-height: calc(100vh - 5.5rem);
	overflow-y: auto;
}

@media (max-width: 767.98px) {
	/* Auf schmalen Viewports steht die Liste unter dem Inhalt - kein Sticky nötig */
	.sticky-nav {
		position: static;
		max-height: none;
		overflow-y: visible;
	}
}
