/* ==========================================================================
   bw lilylee – reservations.css
   Aussehen des Reservierungs-Plugins (katjalennartz/reservations).
   Das Plugin legt im Master Style ein eigenes reservations.css an. Diese Datei
   hat denselben Namen und ersetzt es deshalb im Theme bw lilylee.
   Seite: misc.php?action=reservations
   ========================================================================== */

/******************* REITER *******************/

/* Leiste mit den Reservierungstypen (Avatare, Gesuche …) */
.res_tab {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 0 16px;
	overflow: visible;
	border: 0;
	background: transparent;
}

/* Eckige, umrandete Felder wie die Symbole im Profil */
.res_tab button {
	float: none;
	padding: 8px 18px;
	background: var(--ll-glass-dark);
	background-image: none;
	border: 1px solid var(--ll-border);
	border-radius: 0;
	color: var(--ll-text);
	font-family: var(--ll-font-ui);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.04em;
	cursor: pointer;
	-webkit-backdrop-filter: var(--ll-glass-blur);
	backdrop-filter: var(--ll-glass-blur);
	transition: border-color 0.15s ease, color 0.15s ease;
}

.res_tab button:hover {
	background: var(--ll-glass-dark);
	border-color: var(--ll-contrast);
	color: var(--ll-text);
}

/* Ausgewählter Typ: oranger Rahmen und Strich unten */
.res_tab button.active {
	background: rgba(78, 78, 78, 0.9);
	border-color: var(--ll-contrast);
	box-shadow: inset 0 -3px 0 var(--ll-contrast);
	color: #fff;
}

/* Ohne Reiter (Einstellung „Darstellung als Tab“ = Nein) hat kein Knopf die Klasse „active“:
   dann die nutzlose Knopfleiste ausblenden und die Typen nebeneinander zeigen */
.res_tab:not(:has(.active)) {
	display: none;
}

.res_tab:not(:has(.active)) ~ .res_tabcontent {
	display: inline-block;
	box-sizing: border-box;
	width: calc(50% - 12px);
	margin-right: 16px;
	vertical-align: top;
}

.res_tab:not(:has(.active)) ~ .res_tabcontent:last-of-type,
.res_tab:not(:has(.active)) ~ .res_tabcontent:nth-of-type(odd) {
	margin-right: 0;
}

/******************* INHALT EINES TYPS *******************/

.res_tabcontent,
.res_mod {
	margin: 0 0 16px;
	padding: 0 0 16px;
	background: var(--ll-glass-dark);
	border: var(--ll-box-border);
	border-radius: 0;
	-webkit-backdrop-filter: var(--ll-glass-blur);
	backdrop-filter: var(--ll-glass-blur);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	animation: ll-tab-fade 0.3s ease;
}

.res_ausgabe {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0 16px;
}

/* Überschrift des Typs wie die Kategorien (.thead) */
.res_ausgabe h1,
.res_mod h1 {
	flex-basis: 100%;
	margin: 0 -16px;
	padding: 10px 16px;
	background: rgba(78, 78, 78, 0.9);
	border-left: 6px solid var(--ll-contrast);
	border-bottom: 1px solid var(--ll-contrast);
	color: #fff;
	font-family: var(--ll-font-ui);
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.res_mod h1 {
	margin: 0 0 12px;
}

/* Eine Gruppe innerhalb eines Typs (z. B. „männlich“ / „weiblich“) */
.res_ausgabe > .res_bit {
	flex: 1 1 260px;
	min-width: 0;
	padding: 10px 14px;
	background: var(--ll-row-accent);
	border: 1px solid var(--ll-border);
}

.res_ausgabe > .res_bit h3 {
	margin: 0 0 8px;
	padding: 0 0 6px;
	border-bottom: 1px solid var(--ll-contrast);
	color: #fff;
	font-family: var(--ll-font-ui);
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.04em;
}

/* Ein einzelner Eintrag */
/* Typ ohne Auswahlmöglichkeiten (z. B. ohne Geschlecht): keine leere Gruppenüberschrift */
.res_ausgabe > .res_bit h3:empty {
	display: none;
}

.res_bit .res_bit {
	padding: 6px 0;
	border-bottom: 1px solid var(--ll-border-soft);
	font-family: var(--ll-font-text);
	font-size: 17px;
	line-height: 1.5;
	overflow-wrap: break-word;
}

.res_bit .res_bit:last-child {
	border-bottom: 0;
}

.res_bit .res_bit strong {
	color: #fff;
	font-weight: 600;
}

.res_bit form {
	display: inline;
}

/******************* RESERVIEREN (FORMULAR) *******************/

.res_add {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 8px 32px;
	margin: 16px 16px 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--ll-contrast);
}

.res_add h2 {
	flex-basis: 100%;
	margin: 0 0 4px;
	color: var(--ll-contrast);
	font-family: var(--ll-font-ui);
	font-size: 22px;
	font-weight: 400;
	text-align: center;
}

.res_add_inputs,
.res_add_select {
	margin: 0;
	line-height: 2.1;
}

.res_add_inputs {
	text-align: right;
}

/* Ohne Auswahlmöglichkeiten bleibt der Bereich für die Knöpfe leer */
.res_add_select:not(:has(input)) {
	display: none;
}

.res_add_save {
	flex-basis: 100%;
	text-align: center;
}

.res_label--main {
	color: var(--ll-text-muted);
	font-family: var(--ll-font-ui);
	font-size: 15px;
	letter-spacing: 0.04em;
}

/* Textfelder wie die übrigen Eingabefelder des Themes */
.res_add input[type="text"],
.res_bit .modal input[type="text"] {
	padding: 5px 7px;
	background: var(--ll-basic-darker);
	border: 1px solid var(--ll-border);
	border-radius: 0;
	color: var(--ll-text);
	font-family: var(--ll-font-text);
	font-size: 16px;
	outline: 0;
}

.res_add input[type="text"]:focus,
.res_bit .modal input[type="text"]:focus {
	border-color: var(--ll-contrast);
	box-shadow: 0 0 0 3px rgba(205, 102, 0, 0.25);
}

.res_add input[type="radio"],
.res_bit .modal input[type="radio"] {
	accent-color: var(--ll-contrast);
}

.res_add .res_add_save button {
	padding: 7px 24px;
	background: transparent;
	border: 1px solid var(--ll-contrast);
	color: #fff;
	font-family: var(--ll-font-ui);
	font-size: 16px;
	letter-spacing: 0.06em;
}

.res_add .res_add_save button:hover {
	background: var(--ll-contrast);
	color: #fff;
}

/******************* MODERATOREN *******************/

.res_mod p,
.res_mod_bit {
	margin: 0;
	padding: 0 16px 8px;
	font-family: var(--ll-font-text);
	font-size: 16px;
	line-height: 1.5;
}

.res_mod_bit .res_us {
	display: block;
	padding: 6px 0;
	border-bottom: 1px solid var(--ll-border-soft);
}

/******************* HINWEIS AUF DER STARTSEITE *******************/

.reservations_index {
	margin: 0 0 16px;
	padding: 10px 16px;
	background: var(--ll-glass-dark);
	border: var(--ll-box-border);
	border-left: 6px solid var(--ll-contrast);
	-webkit-backdrop-filter: var(--ll-glass-blur);
	backdrop-filter: var(--ll-glass-blur);
	font-family: var(--ll-font-text);
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}

.reservations_index strong {
	color: var(--ll-contrast);
	font-family: var(--ll-font-ui);
	font-weight: 400;
	letter-spacing: 0.04em;
}

@media (max-width: 800px) {
	.res_add_inputs {
		text-align: left;
	}

	.res_tab:not(:has(.active)) ~ .res_tabcontent {
		display: block;
		width: auto;
		margin-right: 0;
	}
}
