/* FAQ-Akkordeon: Farben stehen hier fest, weil Astroid --bs-primary und die Link-Hover-Farbe seitenweit überschreibt */

.mlxFaq {
	--mlxFaq-primary: #2f5353;
	--mlxFaq-accent: #4e2a56;
	--mlxFaq-text: #2c2e36;
	--mlxFaq-border: #dfe5e5;
	--mlxFaq-soft: #f1f5f5;
	--mlxFaq-radius: 10px;
	interpolate-size: allow-keywords;
	display: flex;
	flex-direction: column;
	gap: .625rem;
	margin: 0 0 1.5rem;
	color: var(--mlxFaq-text);
}

.mlxFaq__item {
	border: 1px solid var(--mlxFaq-border);
	border-radius: var(--mlxFaq-radius);
	background: #fff;
	scroll-margin-top: 6rem;
	transition: border-color .2s ease;
}

.mlxFaq__item[open] {
	border-color: var(--mlxFaq-primary);
}

.mlxFaq__frage {
	display: flex;
	align-items: center;
	min-height: 3rem;
	padding: .75rem 1.125rem;
	border-radius: calc(var(--mlxFaq-radius) - 1px);
	color: var(--mlxFaq-primary);
	cursor: pointer;
	list-style: none;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .2s ease, color .2s ease;
}

.mlxFaq__frage::-webkit-details-marker {
	display: none;
}

.mlxFaq__frage::marker {
	content: "";
}

.mlxFaq__frage:hover {
	background: var(--mlxFaq-soft);
	color: var(--mlxFaq-accent);
}

.mlxFaq__frage:focus-visible {
	outline: 2px solid var(--mlxFaq-accent);
	outline-offset: -2px;
}

/* Die Frage ist für Suchmaschinen ein h2, soll aber nicht wie die Überschriften des Templates aussehen */
.mlxFaq .mlxFaq__titel {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-width: 0;
	margin: 0;
	padding: 0;
	color: inherit;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none;
}

.mlxFaq__text {
	min-width: 0;
	overflow-wrap: break-word;
}

/* Plus, das beim Öffnen zum Minus wird */
.mlxFaq__icon {
	position: relative;
	flex: none;
	width: 1rem;
	height: 1rem;
}

.mlxFaq__icon::before,
.mlxFaq__icon::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 1px;
	background: currentColor;
	transition: transform .25s ease;
}

.mlxFaq__icon::after {
	transform: rotate(90deg);
}

.mlxFaq__item[open] .mlxFaq__icon::after {
	transform: rotate(0);
}

/* Aufschieben: Browser ohne ::details-content öffnen einfach ohne Bewegung */
.mlxFaq__item::details-content {
	block-size: 0;
	overflow: clip;
	transition: block-size .25s ease, content-visibility .25s allow-discrete;
}

.mlxFaq__item[open]::details-content {
	block-size: auto;
}

/* Bei „nur eine offen“ schließt die andere Antwort sofort, damit faq.js die Frage ohne Ruckeln im Bild halten kann */
.mlxFaq--eine .mlxFaq__item:not([open])::details-content {
	transition: none;
}

.mlxFaq__antwort {
	padding: .125rem 1.125rem 1rem;
	line-height: 1.6;
	overflow-wrap: break-word;
}

.mlxFaq__antwort > :first-child {
	margin-top: 0;
}

.mlxFaq__antwort > :last-child {
	margin-bottom: 0;
}

.mlxFaq__antwort a {
	color: var(--mlxFaq-primary);
	text-decoration: underline;
}

.mlxFaq__antwort a:hover,
.mlxFaq__antwort a:focus {
	color: var(--mlxFaq-accent);
}

.mlxFaq__antwort img,
.mlxFaq__antwort iframe,
.mlxFaq__antwort video {
	max-width: 100%;
}

.mlxFaq__antwort img {
	height: auto;
}

@media (max-width: 575.98px) {
	.mlxFaq__frage {
		padding: .75rem .875rem;
	}

	.mlxFaq__antwort {
		padding: .125rem .875rem .875rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mlxFaq__item,
	.mlxFaq__item::details-content,
	.mlxFaq__frage,
	.mlxFaq__icon::before,
	.mlxFaq__icon::after {
		transition: none;
	}
}
