html,
body {
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.wrapper {
	max-width: 1200px;
	/* Maximale Breite des Inhalts */
	margin: 0 auto;
	/* Oben/Unten 0, Links/Rechts automatisch */
}

.indextitle {
	margin: 30px 0px 10px 0px;
}

.pageheader {
	display: flex;
	justify-content: center;
	/* Horizontal zentrieren */
	align-items: center;
	/* Vertikal zentrieren */
	/* height: 100vh;           /* Beispiel-Höhe des Containers */
	margin-bottom: 20px;
}

.master-karteiblaetter {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-width: 1000px;
	justify-content: center;
	/* Horizontal zentrieren */
	align-items: center;
	/* Vertikal zentrieren */
}

#personen-archiv {
	min-width: 620px;
	height: 0;
	overflow: hidden;
}

/* neu eingefügt, um direkt nach der Tabelle noch etwas
/* Abstand einfügen zu können, KMR/hp 20260911-094100 */
.tabulator {
	margin-bottom: 50px;
}


/* Die folgenden zwei Blöcke eingefügt, um die Werte in den original Tabulator-Definitionen	*/
/* geringfügig ändern zu können (KMR/hp 20260904-104900																			*/
.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title {
	/* padding-right: 25px; */
	padding-right: 15px;
}

.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title {
	box-sizing: border-box;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: bottom;
	white-space: nowrap;
	width: 100%;
	/* padding neu hinzugefügt, zur besseren Ausrichtung	*/
	/* über den Tabellen-Feldern (KMR/hp 20260904-105200)	*/
	padding-left: 3px;
}

/*
div.tabulator-cell {
	/* Auskommentiert, da sonst Zeilenschaltung in Master-für Karteiblätter */
/* KMR/hp 20260906-125300																								*/
/* white-space: wrap !important; */
/* height: unset !important; */
/*
}
*/

/* Greift direkt in der Zelle, um das HTML-Paket flexibel umbrechen zu lassen */
.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell,
.img-caption {
	white-space: normal !important;
	/* Erlaubt Zeilenumbrüche */
	word-break: break-word;
	/* Bricht lange Wörter */
	overflow: visible !important;
	/* Macht den umgebrochenen Text sichtbar */
	text-overflow: clip !important;
	/* Entfernt die standardmäßige Ellipse (...) */
	hyphens: auto;
	/* DIE RETTUNG: Zwingt den Browser dazu, die Zelle trotz HTML-Inhalt 
       auf die von Tabulator berechnete Spaltenbreite zu begrenzen */
	min-width: 0 !important;
}

/* Ändert beim Zeilen-Hover die Schrift- und Symbolfarbe im Link zu weiss */
.tabulator-row:hover a,
.tabulator-row:hover a .pfeilKarteiblatt,
.tabulator-row:hover a span {
	color: #ffffff !important;
}


/* Styles für die Toolbar mit Icons für Löschen und Sortieren: */
div.tabulator-col-content {
	display: grid;
	grid-template-columns: 1fr auto;
	min-height: 4em;
}

div.tabulator-col-title-holder {
	grid-column: 1/2;
	grid-row: 1/2;
	display: flex;
	align-items: center;
}

.custom-sort-icon {
	grid-column: 2/3;
	grid-row: 1/2;
	width: 2em;
	height: 2em;
	background-color: white;
	border: 2px solid #6cc5af;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.5;
}

.custom-sort-icon:not(.sorted) {
	line-height: 0.8;
	display: flex;
	align-items: baseline;
}

.custom-sort-icon.sorted {
	transform: translate(0, -0.1em);
	opacity: 1;
}

.button-group .btn-square-green {
	width: 1.5em;
	height: 1.5em;
	background-color: white;
	/* vorläufig mal deaktiviert, da Button-Ränder feiner ohne Deklaration */
	/* erstaunlicherweise stimmt Farbe trotzdem
	/* KMR/hp 20260903-202700 */
	/* border: 0.5px solid #6cc5af; */
	border-radius: 4px;
	margin-right: 0.2em;
	line-height: 1;
	padding: 0;
}

.btn-square-green.active {
	background-color: #6cc5af
}

/* Neu eingefügt, um die Buttons in der obersten Zeile anstatt untereinander	*/
/* neu nebeneinander anzuordnen. (KMR/hp 20260903-110300)											*/
.button-group {
	display: flex;
	flex-wrap: wrap;
	/* Bricht bei kleineren Bildschirmen sauber in die nächste Zeile um */
	gap: 10px;
	/* Abstand zwischen den einzelnen Labels */
	align-items: center;
	margin: 15px 0px 20rpx 0px;
}

/* Optional: Richtet den Button und den Text im Label vertikal mittig aus */
.button-group label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	/* Abstand zwischen dem grünen Button und dem Text */
	cursor: pointer;
}

/* Bestimmen der Höhe der Input-Felder	*/
/* KMR/hp 20260903-210200 							*/
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
select {
	height: 1.75em;
	font-size: 13px;
}

label {
	display: flex;
	align-items: center;
	margin: 0.2em;
}

.tabulator-header-filter {
	grid-column: 1/3;
	grid-row: 2/3;
}

#tabelle-familientage {
	width: 100%;
}

.custom-clear-icon {
	grid-column: 2/3;
	grid-row: 2/3;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: white;
	position: relative;
	z-index: 1;
	margin: 0.3em;
	height: 1.2em;
}

.custom-clear-icon.hidden {
	color: white;
}

.tabulator-col-sorter {
	grid-column: 2/3;
	grid-row: 1/2;
	opacity: 0;
}

.tabulator-cell a {
	margin-top: -0.7em;
	display: inline-block;
}

.tabulator-cell img {
	width: 100%;
}

.pfeilKarteiblatt {
	color: #6cc5af;
	font-size: 1.5em;
	transform: translateY(0.2em);
	display: inline-block;
	line-height: 0.5;
}