input, textarea, select {
	padding: 10px;
    border: 1px solid var(--color-opac-border);
    background: var(--color-background);
    color: var(--color-main);
    font-family: var(--main-font2);
    line-height: 1.5em;
    font-size: 11px!important;
    border-radius: 0 !important;
}


input[type="radio"] {
    position: relative;
    cursor: pointer;
    z-index: 1;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    margin: 0 5px 5px 0;
}
input[type="radio"]:disabled:before {
    content: "";
   
}
input[type="radio"]:disabled:after {
    content: "";
    background: var(--medium);
}


input[type="radio"]:after {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-accent);
    top: 5px;
    left: 5px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 3;
}


input[type="radio"]:checked:after {
    opacity: 1;
}
input[type="checkbox"] {
	position: relative;
	cursor: pointer;
	z-index: 1;
	-moz-appearance: initial;
box-sizing: border-box;
  vertical-align: middle;
}
input[type="checkbox"]:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: var(--color-overlay);
	border: 1px solid var(--color-main);
	z-index: 2;
}
input[type="checkbox"]:after {
	content: "✔";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	color: var(--color-main);
	font-size: 11px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 3;
}

input[type="checkbox"]:checked:after {
    opacity: 1;
}


/* Optional: Eigenes Styling für die Radio-Buttons in .res-selection */
.res-selection input[type="radio"] {
    width: 18px;
    height: 18px;
    border: 2px solid var(--color-accent);
    background: var(--medium);
    border-radius: 50%!important;
    cursor: pointer;
}




.res-selection input[type="radio"]:before {
    content: "";
    position: absolute;
    box-sizing: border-box;
    top: 0px;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    pointer-events: none;
    background: var(--darker-medium);
    border: 1px solid var(--color-accent);
    z-index: 2;
}
.res-selection input[type="radio"]:after {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-accent);
    top: 6px;
    left: 5px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 4;
}


/* Effekt für ausgewählten Zustand */
.res-selection input[type="radio"]:checked {
    background: var(--color-accent);
}

.res-selection input[type="radio"]:checked:after {
    opacity: 1 !important;
}



option {
	background: background: var(--color-overlay);
	color: var(--color-main);
	font-family: var(--main-font2);
}

fieldset {
	padding: 12px;
	border: 1px solid var(--secondary);
	margin: 0;
}

fieldset.trow1,
fieldset.trow2 {
	border-color: var(--color-overlay);
		border-radius: 0 !important;

}

fieldset.align_right {
	text-align: right;
}

input.textbox.portal_search {
	width: 68%;
}

button,
input.button,
.button,
input[type="submit"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 3px 8px;
	cursor: pointer;
	font-family: var(--main-font);
	color: var(--color-main3);
	border: 1px solid var(--secondary); !important;
	background: none;
	transition: color 0.3s ease, border 0.3s ease;
	font-size: 10px;
	letter-spacing: 0.06em;
	font-weight: 700;
	text-transform: uppercase;
}

input[type="color"] {
	height: 40px;
}

button.button-light,
input.button.button-light,
.button.button-light,
input[type="submit"].button-light {
	color: var(--light);
	border: 1px solid var(--color-main) !important;
}

button:hover,
input.button:hover,
.button:hover,
input[type="submit"]:hover,
button.button-light:hover,
input.button.button-light:hover,
.button.button-light:hover,
input[type="submit"].button-light:hover {
	color: var(--color-accent1);
	border: 1px solid var(--color-accent1); !important;
}
.button:hover a {
	color: var(--secondary);
}

form {
	margin: 0;
	padding: 0;
}
form input[type="submit"] {
	font-size: 10px;
	letter-spacing: 0.06em;
	font-weight: 700;
	border-radius: 0 !important;
}

input.error,
textarea.error,
select.error {
	border: 1px solid var(--secondary);;
	color: var(--color-main);
}

input.valid,
textarea.valid,
select.valid {
	border: 1px solid var(--secondary);
}

label.error {
	color: var(--color-accent);
	margin: 5px;
	padding: 0px;
	display: block;
	font-weight: bold;
	font-size: 11px;
}

form[action*="search.php"], 
form[action*="forumdisplay.php"], 
form[action*="moderation.php"], 
form[action*="misc.php"] {
    display: flex; /* Aktiviert Flexbox */
    align-items: center; /* Vertikale Zentrierung */
    flex-wrap: nowrap; /* Kein Umbruch */
    gap: 10px; /* Gleichmäßiger Abstand zwischen den Elementen */
	flex-wrap: wrap;
	margin-bottom:10px;
	
}

form[action*="search.php"] label,
form[action*="forumdisplay.php"] label,
form[action*="moderation.php"] label,
form[action*="misc.php"] label {
    margin: 0; /* Entfernt äußere Abstände */
    padding: 0; /* Entfernt innere Abstände */
    line-height: 1; /* Einheitliche Zeilenhöhe */
    display: inline-flex; /* Passt die Darstellung an die Flexbox an */
    align-items: center; /* Zentriert den Text vertikal */
}

form[action*="search.php"] input,
form[action*="forumdisplay.php"] input,
form[action*="moderation.php"] input,
form[action*="misc.php"] input {
    margin: 0; /* Entfernt unnötige Abstände */
    padding: 5px; /* Einheitlicher Innenabstand */
    height: 32px; /* Einheitliche Höhe für alle Inputs */
    box-sizing: border-box; /* Inklusive Padding/Borders */
}

form[action*="search.php"] button,
form[action*="forumdisplay.php"] button,
form[action*="moderation.php"] button,
form[action*="misc.php"] button {
    margin: 0; /* Entfernt äußere Abstände */
    padding: 5px 10px; /* Einheitlicher Innenabstand */
    height: 32px; /* Gleiche Höhe wie die Inputs */
    box-sizing: border-box; /* Inklusive Padding/Borders */
    line-height: 1; /* Einheitliche Textausrichtung */
}