/*
 * Ausgabe der Termine im Frontend.
 *
 * Alle Farben, Abstände und Rundungen laufen über CSS-Variablen. Das
 * Divi-Modul überschreibt sie pro Instanz, sodass sich jede Terminliste
 * einzeln gestalten lässt, ohne die Stildatei zu ändern.
 */

.awt,
.awt-modal {
	--awt-akzent: #1f4034;
	--awt-akzent-hell: #2a5545;
	--awt-text: #23211e;
	--awt-text-leise: #6c6862;
	--awt-karte-bg: #ffffff;
	--awt-karte-bg-hover: #fbfaf8;
	--awt-linie: #e2ded7;
	--awt-radius: 10px;
	--awt-abstand: 16px;
	--awt-innenabstand: 22px;
	--awt-datum-bg: #f4f2ee;
	--awt-datum-text: #1f4034;
	--awt-kat-bg: #eceae4;
	--awt-kat-text: #5c584f;
	--awt-btn-bg: #1f4034;
	--awt-btn-text: #ffffff;
	--awt-btn-bg-hover: #2a5545;
	--awt-btn-text-hover: #ffffff;
	--awt-btn-radius: 6px;
	--awt-schatten: none;
	--awt-schatten-hover: none;
	--awt-titel-groesse: 20px;
	--awt-text-groesse: 15px;
	--awt-spalten: 3;
	--awt-modal-bg: #ffffff;
	--awt-modal-schleier: rgba(22, 20, 17, .55);
	--awt-modal-breite: 720px;
	--awt-modal-radius: 14px;

	box-sizing: border-box;
	color: var(--awt-text);
	font-size: var(--awt-text-groesse);
	line-height: 1.55;
}

.awt *,
.awt *::before,
.awt *::after,
.awt-modal *,
.awt-modal *::before,
.awt-modal *::after {
	box-sizing: border-box;
}

.awt p,
.awt-modal p {
	margin: 0;
	padding: 0;
}

.awt ul,
.awt dl,
.awt-modal ul,
.awt-modal dl {
	margin: 0;
	padding: 0;
	list-style: none;
}

.awt a,
.awt-modal a {
	color: inherit;
	text-decoration: none;
}

.awt-leer {
	padding: var(--awt-innenabstand);
	background: var(--awt-datum-bg);
	border-radius: var(--awt-radius);
	color: var(--awt-text-leise);
}

/* ---------- Filterleiste ---------- */

.awt-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: calc(var(--awt-abstand) + 4px);
}

.awt-filter__btn {
	appearance: none;
	border: 1px solid var(--awt-linie);
	background: transparent;
	color: var(--awt-text-leise);
	font: inherit;
	font-size: 14px;
	line-height: 1.2;
	padding: 9px 16px;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.awt-filter__btn:hover {
	border-color: var(--awt-akzent);
	color: var(--awt-akzent);
}

.awt-filter__btn.is-aktiv {
	background: var(--awt-akzent);
	border-color: var(--awt-akzent);
	color: #fff;
}

/* ---------- Monatsgruppen ---------- */

.awt-monat + .awt-monat {
	margin-top: calc(var(--awt-abstand) * 2);
}

.awt-monat__titel {
	margin: 0 0 var(--awt-abstand);
	padding-bottom: 8px;
	border-bottom: 1px solid var(--awt-linie);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--awt-text-leise);
}

/* ---------- Grundgerüst der Liste ---------- */

.awt-items {
	display: grid;
	gap: var(--awt-abstand);
}

.awt-item {
	background: var(--awt-karte-bg);
	border: 1px solid var(--awt-linie);
	border-radius: var(--awt-radius);
	box-shadow: var(--awt-schatten);
	overflow: hidden;
	transition: box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.awt-item:hover {
	border-color: var(--awt-akzent);
	background: var(--awt-karte-bg-hover);
	box-shadow: var(--awt-schatten-hover);
}

.awt-item--hervor {
	border-color: var(--awt-akzent);
	border-width: 2px;
}

.awt-item--abgesagt {
	opacity: .72;
}

.awt-item__inhalt {
	display: flex;
	align-items: flex-start;
	gap: var(--awt-innenabstand);
	padding: var(--awt-innenabstand);
}

/* ---------- Datumsblock ---------- */

.awt-datum {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 84px;
	padding: 12px 10px;
	background: var(--awt-datum-bg);
	border-radius: calc(var(--awt-radius) - 3px);
	color: var(--awt-datum-text);
	text-align: center;
	line-height: 1.15;
}

.awt-datum__wochentag {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .7;
}

.awt-datum__tag {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -.02em;
}

.awt-datum__monat {
	font-size: 14px;
	font-weight: 600;
}

.awt-datum__jahr {
	font-size: 11px;
	opacity: .6;
	margin-top: 2px;
}

.awt-datum__spanne {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.01em;
}

.awt-datum__bis {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	opacity: .55;
}

/* ---------- Textblock ---------- */

.awt-item__text {
	flex: 1 1 auto;
	min-width: 0;
}

.awt-kats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px !important;
}

.awt-kat {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--awt-kat-bg);
	color: var(--awt-kat-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .03em;
	line-height: 1.5;
}

.awt-item__titel {
	margin: 0 0 8px;
	padding: 0;
	font-size: var(--awt-titel-groesse);
	line-height: 1.25;
	font-weight: 600;
	color: var(--awt-text);
}

.awt-item__titel a:hover {
	color: var(--awt-akzent);
}

.awt-meta {
	display: grid;
	gap: 3px;
	color: var(--awt-text-leise);
	font-size: .93em;
}

.awt-meta li {
	margin: 0;
	padding-left: 24px;
	position: relative;
}

.awt-meta li::before {
	position: absolute;
	left: 0;
}

/* Zeichen vor den Angaben. Als Maske gezeichnet, damit sie die
   jeweilige Schriftfarbe annehmen und auf jedem System gleich aussehen. */

.awt-meta li::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	top: 0.22em;
	background-color: currentColor;
	opacity: .55;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.awt-meta__zeit::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v5.2l3.2%202%27%2F%3E%3C%2Fsvg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v5.2l3.2%202%27%2F%3E%3C%2Fsvg%3E");
}

.awt-meta__ort::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021.5s7-6.1%207-11.5a7%207%200%201%200-14%200c0%205.4%207%2011.5%207%2011.5z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%272.6%27%2F%3E%3C%2Fsvg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021.5s7-6.1%207-11.5a7%207%200%201%200-14%200c0%205.4%207%2011.5%207%2011.5z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%272.6%27%2F%3E%3C%2Fsvg%3E");
}

.awt-meta__preis::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20.6%2013.1%2013%2020.7a2%202%200%200%201-2.8%200l-7-7V3.6h10.1l7.3%207.3a1.6%201.6%200%200%201%200%202.2z%27%2F%3E%3Ccircle%20cx%3D%277.6%27%20cy%3D%277.6%27%20r%3D%271.4%27%2F%3E%3C%2Fsvg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20.6%2013.1%2013%2020.7a2%202%200%200%201-2.8%200l-7-7V3.6h10.1l7.3%207.3a1.6%201.6%200%200%201%200%202.2z%27%2F%3E%3Ccircle%20cx%3D%277.6%27%20cy%3D%277.6%27%20r%3D%271.4%27%2F%3E%3C%2Fsvg%3E");
}

.awt-meta__referent::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.6%27%2F%3E%3Cpath%20d%3D%27M4.8%2020.5a7.2%207.2%200%200%201%2014.4%200%27%2F%3E%3C%2Fsvg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%273.6%27%2F%3E%3Cpath%20d%3D%27M4.8%2020.5a7.2%207.2%200%200%201%2014.4%200%27%2F%3E%3C%2Fsvg%3E");
}

.awt-item__auszug {
	margin-top: 10px !important;
	color: var(--awt-text-leise);
}

/* ---------- Aktionsbereich ---------- */

.awt-item__aktion {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	text-align: right;
}

.awt-btn {
	display: inline-block;
	padding: 11px 22px;
	background: var(--awt-btn-bg);
	color: var(--awt-btn-text);
	border: 1px solid var(--awt-btn-bg);
	border-radius: var(--awt-btn-radius);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	white-space: nowrap;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.awt-btn:hover {
	background: var(--awt-btn-bg-hover);
	color: var(--awt-btn-text-hover);
	border-color: var(--awt-btn-bg-hover);
}

.awt-btn--schlicht {
	background: transparent;
	color: var(--awt-akzent);
	border-color: var(--awt-linie);
}

.awt-btn--schlicht:hover {
	background: transparent;
	color: var(--awt-akzent-hell);
	border-color: var(--awt-akzent);
}

.awt-btn-preis {
	font-size: 13px;
	color: var(--awt-text-leise);
}

.awt-btn-preis del {
	opacity: .6;
}

.awt-cta-hinweis {
	font-size: 13px;
	color: var(--awt-text-leise);
	max-width: 260px;
}

.awt-hinweis {
	display: inline-block;
	padding: 8px 14px;
	border-radius: var(--awt-btn-radius);
	font-size: 14px;
	font-weight: 600;
}

.awt-hinweis--warnung {
	background: #f6eeda;
	color: #7d5310;
}

.awt-hinweis--abgesagt {
	background: #f7e7e1;
	color: #8f3719;
}

/* ---------- Kartenlayout ---------- */

.awt--karten .awt-items {
	grid-template-columns: repeat(auto-fill, minmax(clamp(260px, calc(100% / var(--awt-spalten) - var(--awt-abstand)), 520px), 1fr));
}

.awt--karten .awt-item {
	display: flex;
	flex-direction: column;
}

.awt--karten .awt-item__inhalt {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	height: 100%;
}

.awt--karten .awt-item__text {
	flex: 1 1 auto;
}

.awt--karten .awt-item__aktion {
	align-items: stretch;
	text-align: left;
	margin-top: 16px;
}

.awt--karten .awt-btn {
	display: block;
	white-space: normal;
}

.awt--karten .awt-cta-hinweis {
	max-width: none;
}

.awt-item__bild {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--awt-datum-bg);
}

.awt-item__bild img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}

.awt-item:hover .awt-item__bild img {
	transform: scale(1.03);
}

/* ---------- Kompaktes Layout ---------- */

.awt--kompakt .awt-items {
	gap: 0;
}

.awt-zeile {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 4px;
	border-bottom: 1px solid var(--awt-linie);
	transition: background-color .15s ease;
}

.awt-zeile:hover {
	background: var(--awt-karte-bg-hover);
}

.awt-zeile__datum {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	padding: 6px 4px;
	background: var(--awt-datum-bg);
	border-radius: calc(var(--awt-radius) - 4px);
	color: var(--awt-datum-text);
	line-height: 1.1;
}

.awt-zeile__datum strong {
	font-size: 20px;
	font-weight: 700;
}

.awt-zeile__datum span {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	opacity: .75;
}

.awt-zeile__text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.awt-zeile__titel {
	font-weight: 600;
	line-height: 1.3;
}

.awt-zeile:hover .awt-zeile__titel {
	color: var(--awt-akzent);
}

.awt-zeile__meta {
	font-size: 13px;
	color: var(--awt-text-leise);
}

/* ---------- Einzelne Terminseite ---------- */

.awt-single {
	margin: 0 0 28px;
}

.awt-eck {
	display: grid;
	gap: 0;
	border: 1px solid var(--awt-linie, #e2ded7);
	border-radius: var(--awt-radius, 10px);
	overflow: hidden;
}

.awt-eck__zeile {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 16px;
	padding: 14px 20px;
	border-top: 1px solid var(--awt-linie, #e2ded7);
}

.awt-eck__zeile:first-child {
	border-top: 0;
}

.awt-eck dt {
	margin: 0;
	font-weight: 600;
	color: var(--awt-text-leise, #6c6862);
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.awt-eck dd {
	margin: 0;
}

.awt-eck__zusatz {
	color: var(--awt-text-leise, #6c6862);
	font-size: .92em;
}

.awt a.awt-eck__link,
.awt-modal a.awt-eck__link,
.awt-eck__link {
	color: var(--awt-akzent, #1f4034);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.awt-single-fuss {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--awt-linie, #e2ded7);
}

.awt-formular {
	margin-top: 8px;
}

.awt-formular__titel {
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 600;
}

.awt-zurueck {
	margin-top: 20px !important;
	font-size: 14px;
}

.awt-zurueck a {
	color: var(--awt-text-leise, #6c6862);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.awt-zurueck a:hover {
	color: var(--awt-akzent, #1f4034);
}

/* ---------- Schmale Bildschirme ---------- */

@media (max-width: 720px) {
	.awt-item__inhalt {
		flex-direction: column;
		gap: 14px;
	}

	.awt-datum {
		flex-direction: row;
		align-items: baseline;
		gap: 7px;
		min-width: 0;
		align-self: flex-start;
		padding: 7px 14px;
	}

	.awt-datum__jahr {
		margin-top: 0;
	}

	.awt-item__aktion {
		align-items: stretch;
		text-align: left;
		width: 100%;
	}

	.awt-btn {
		display: block;
		white-space: normal;
	}

	.awt-cta-hinweis {
		max-width: none;
	}

	.awt-eck__zeile {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.awt * {
		transition: none !important;
	}
}

@media (max-width: 720px) {
	.awt-datum__spanne {
		flex-direction: row;
		gap: 6px;
		align-items: baseline;
	}
}

/* ---------- Modal ---------- */

.awt--modal .awt-item,
.awt--modal .awt-zeile {
	cursor: pointer;
}

.awt-modale {
	display: contents;
}

/*
 * Das Modal ist ein dialog-Element. Über showModal() zeichnet der Browser
 * es in der obersten Ebene, unabhängig davon, ob eine Sektion darüber
 * transformiert ist. Es bleibt dabei im Modul stehen, sodass die
 * Gestaltung aus dem Divi-Modul weiterhin greift.
 */

.awt-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	margin: 0;
	padding: 24px;
	border: 0;
	background: transparent;
	color: var(--awt-text);
	font-size: var(--awt-text-groesse);
	line-height: 1.55;
	overflow: hidden;
}

.awt-modal[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.awt-modal:not([open]) {
	display: none;
}

.awt-modal::backdrop {
	background: transparent;
}

.awt-modal__schleier {
	position: fixed;
	inset: 0;
	background: var(--awt-modal-schleier);
	opacity: 0;
	transition: opacity .2s ease;
}

.awt-modal.is-offen .awt-modal__schleier {
	opacity: 1;
}

.awt-modal__fenster {
	position: relative;
	width: 100%;
	max-width: var(--awt-modal-breite);
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	display: flex;
	flex-direction: column;
	background: var(--awt-modal-bg);
	border-radius: var(--awt-modal-radius);
	box-shadow: 0 24px 64px rgba(20, 18, 15, .28);
	overflow: hidden;
	opacity: 0;
	transform: translateY(12px) scale(.98);
	transition: opacity .2s ease, transform .2s ease;
}

.awt-modal.is-offen .awt-modal__fenster {
	opacity: 1;
	transform: none;
}

.awt-modal__schliessen {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	appearance: none;
	background: var(--awt-datum-bg);
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--awt-text-leise);
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.awt-modal__schliessen svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

.awt-modal__schliessen:hover {
	background: var(--awt-akzent);
	color: #fff;
}

.awt-modal__schliessen:focus-visible {
	outline: 2px solid var(--awt-akzent);
	outline-offset: 2px;
}

.awt-modal__kopf {
	flex: 0 0 auto;
	padding: 28px 64px 18px 32px;
	border-bottom: 1px solid var(--awt-linie);
}

.awt-modal__titel {
	margin: 0;
	padding: 0;
	font-size: clamp(21px, 2.4vw, 27px);
	line-height: 1.22;
	font-weight: 600;
	color: var(--awt-text);
	text-wrap: balance;
}

.awt-modal__koerper {
	flex: 1 1 auto;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 24px 32px 28px;
	-webkit-overflow-scrolling: touch;
}

.awt-modal__koerper .awt-eck {
	margin-bottom: 24px;
}

.awt-modal__text > *:first-child {
	margin-top: 0;
}

.awt-modal__text > *:last-child {
	margin-bottom: 0;
}

.awt-modal__text p {
	margin: 0 0 14px;
}

.awt-modal__text ul,
.awt-modal__text ol {
	margin: 0 0 16px;
	padding-left: 22px;
	list-style: disc;
}

.awt-modal__text li {
	list-style: inherit;
}

.awt-modal__text ol {
	list-style: decimal;
}

.awt-modal__text li {
	margin: 0 0 6px;
}

.awt-modal__text strong {
	font-weight: 600;
}

.awt-modal a.awt-modal__textlink,
.awt-modal__text a {
	color: var(--awt-akzent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.awt-modal__fuss {
	flex: 0 0 auto;
	padding: 20px 32px 24px;
	border-top: 1px solid var(--awt-linie);
	background: var(--awt-karte-bg-hover);
}

.awt-modal__fuss .awt-cta-hinweis {
	max-width: none;
	margin-top: 8px !important;
}

.awt-modal__fuss .awt-formular {
	margin-top: 0;
}

.awt-modal__fuss .awt-btn-preis {
	display: inline-block;
	margin-left: 10px;
}

/* Auf schmalen Bildschirmen füllt das Modal den Schirm. */

@media (max-width: 640px) {
	.awt-modal {
		padding: 0;
		align-items: flex-end;
	}

	.awt-modal__fenster {
		max-width: none;
		max-height: 92vh;
		max-height: 92dvh;
		border-radius: var(--awt-modal-radius) var(--awt-modal-radius) 0 0;
		transform: translateY(24px);
	}

	.awt-modal__kopf {
		padding: 24px 60px 16px 20px;
	}

	.awt-modal__koerper {
		padding: 20px 20px 24px;
	}

	.awt-modal__fuss {
		padding: 16px 20px 20px;
	}

	.awt-modal__fuss .awt-btn {
		display: block;
		width: 100%;
	}
}

/* Sperrt das Scrollen der Seite, solange ein Modal offen ist. */

html.awt-modal-offen,
body.awt-modal-offen {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.awt-modal__schleier,
	.awt-modal__fenster {
		transition: none !important;
	}

	.awt-modal__fenster {
		transform: none !important;
	}
}
