/* Abenteuerwerk Kurstermine
   Hell ist Standard (Birke). Mit ton="dunkel" oder in einer Gruppe mit der Klasse .aw-dunkel wird es dunkel (Kohle).
   Farben aus dem Logo «Dreibein im Kreis». */
.aw-kt {
	--aw-akzent: #D9622B;
	--aw-akzent-hover: #B94E1E;
	--aw-akzent-text: #B94E1E;
	--aw-auf-akzent: #ffffff;
	--aw-flaeche: #ffffff;
	--aw-flaeche-2: #F3ECDD;
	--aw-text: #2B2A27;
	--aw-text-stark: #2B2A27;
	--aw-text-leise: #5b5850;
	--aw-linie: #DDD4BF;
	--aw-ok: #3F4A27;
	--aw-warn: #8a5a08;
	--aw-gefahr: #9a2f22;
	--aw-moos: #5E6B3A;
	--aw-radius: 12px;
	color: var(--aw-text);
	font-family: inherit;
	line-height: 1.55;
	white-space: normal;
	margin: 0 0 1.5em;
}
.aw-dunkel .aw-kt,
.aw-kt.aw-kt--dunkel {
	--aw-akzent-text: #F2B544;
	--aw-flaeche: #2B2A27;
	--aw-flaeche-2: #3a3833;
	--aw-text: #F3ECDD;
	--aw-text-stark: #ffffff;
	--aw-text-leise: #C9C2A8;
	--aw-linie: rgba(243, 236, 221, .18);
	--aw-ok: #C9D483;
	--aw-warn: #F2B544;
	--aw-gefahr: #F0A090;
}
.aw-kt.aw-kt--hell { }
.aw-kt .aw-kt-nowrap { white-space: nowrap; }
.aw-kt .aw-kt-termin__kurs { display: block; font-size: .7em; font-weight: 600; color: var(--aw-akzent-text); letter-spacing: .02em; margin-bottom: .15em; }
html body pre .aw-kt, html body code .aw-kt { white-space: normal !important; background: none; padding: 0; border: 0; }
.aw-kt *, .aw-kt *::before, .aw-kt *::after { box-sizing: border-box; }
.aw-kt ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.aw-kt li { list-style: none !important; padding: 0; margin-left: 0 !important; }
.aw-kt li::before, .aw-kt li::marker { content: none; }

/* Badge (wie br-badge: Grossbuchstaben, weites Tracking) */
.aw-kt .aw-kt-badge {
	display: inline-block;
	font-size: .69rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .08em !important;
	text-transform: uppercase;
	padding: .35em .75em;
	border-radius: 6px;
	background: color-mix(in srgb, var(--aw-ok) 18%, transparent);
	color: var(--aw-ok);
	white-space: nowrap;
}
.aw-kt-status-wenige .aw-kt-badge { background: color-mix(in srgb, var(--aw-warn) 18%, transparent); color: var(--aw-warn); }
.aw-kt-status-ausgebucht .aw-kt-badge,
.aw-kt-status-abgesagt .aw-kt-badge { background: color-mix(in srgb, var(--aw-gefahr) 18%, transparent); color: var(--aw-gefahr); }

/* Terminbox (Kursseite) */
.aw-kt-box { display: grid; gap: 1em; }
.aw-kt-termin {
	border: 1px solid var(--aw-linie);
	border-radius: var(--aw-radius);
	padding: 1.25em 1.5em;
	background: var(--aw-flaeche);
}
.aw-kt-termin__kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5em 1em; margin-bottom: .7em; }
.aw-kt .aw-kt-termin__datum {
	font-family: inherit;
	font-size: 1.3em; font-weight: 700; margin: 0; padding: 0; color: var(--aw-text-stark); line-height: 1.2;
}
.aw-kt-termin__meta li { margin: .2em 0; }
.aw-kt-label { display: inline-block; min-width: 5.5em; color: var(--aw-text-leise); font-size: .9em; }
.aw-kt .aw-kt-termin__hinweis { margin: .7em 0 0; padding: 0; font-style: italic; color: var(--aw-text-leise); }
.aw-kt-termin__aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: .75em 1.4em; margin-top: 1.1em; }
.aw-kt a.aw-kt-btn {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	background: var(--aw-akzent);
	color: var(--aw-auf-akzent) !important;
	font-weight: 600;
	letter-spacing: .04em !important;
	padding: .7em 1.6em;
	border-radius: 999px;
	text-decoration: none;
	box-shadow: 0 0 0 1px rgba(217,98,43,.35), 0 6px 22px rgba(217,98,43,.3);
	transition: background .22s, box-shadow .22s;
}
.aw-kt a.aw-kt-btn:hover { background: var(--aw-akzent-hover); box-shadow: 0 8px 36px rgba(217,98,43,.42); }
.aw-kt a.aw-kt-btn:focus-visible,
.aw-kt a:focus-visible { outline: 3px solid var(--aw-akzent-hover); outline-offset: 3px; }
.aw-kt a.aw-kt-ics { color: var(--aw-akzent-text); font-size: .95em; text-underline-offset: 3px; }
.aw-kt-status-abgesagt .aw-kt-termin__datum { text-decoration: line-through; }
.aw-kt-termin.aw-kt-status-abgesagt { opacity: .75; }
.aw-kt-termin.aw-kt-status-wenige { border-color: color-mix(in srgb, var(--aw-akzent) 50%, transparent); }

/* Liste (Übersicht, Kategorien) */
.aw-kt .aw-kt-liste__monat {
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .18em !important;
	text-transform: uppercase;
	color: var(--aw-akzent-text);
	margin: 1.6em 0 .4em;
	padding: 0 0 .4em;
	border-bottom: 1px solid var(--aw-linie);
}
.aw-kt .aw-kt-liste__monat:first-child { margin-top: 0; }
.aw-kt-liste { container-type: inline-size; }
.aw-kt-zeile {
	display: grid;
	grid-template-columns: 13em minmax(0, 1fr) auto auto auto;
	gap: .25em 1.25em;
	align-items: center;
	padding: .75em 0;
	border-bottom: 1px solid var(--aw-linie);
}
.aw-kt-zeile__datum { font-weight: 600; white-space: nowrap; color: var(--aw-text-stark); }
.aw-kt-zeile__titel { overflow-wrap: anywhere; }
.aw-kt-zeile__titel a { color: var(--aw-text-stark); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--aw-akzent); }
.aw-kt-zeile__titel a:hover { color: var(--aw-akzent-text); }
.aw-kt-zeile__zeit, .aw-kt-zeile__preis { color: var(--aw-text-leise); white-space: nowrap; font-size: .95em; }
.aw-kt-zeile__status { justify-self: end; }
.aw-kt-zeile.aw-kt-status-abgesagt .aw-kt-zeile__titel { text-decoration: line-through; }

/* Schmale Spalten: Datum + Status oben, Titel, dann Zeit und Preis */
@container (max-width: 720px) {
	.aw-kt-zeile { grid-template-columns: auto 1fr; gap: .2em .9em; padding: .9em 0; }
	.aw-kt-zeile__datum { grid-column: 1; grid-row: 1; }
	.aw-kt-zeile__status { grid-column: 2; grid-row: 1; }
	.aw-kt-zeile__titel { grid-column: 1 / -1; grid-row: 2; }
	.aw-kt-zeile__zeit { grid-column: 1; grid-row: 3; }
	.aw-kt-zeile__preis { grid-column: 2; grid-row: 3; justify-self: end; }
}

/* Karten (Startseite) */
.aw-kt-naechste { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1em; }
.aw-kt-karte {
	display: flex;
	gap: 1em;
	align-items: flex-start;
	border: 1px solid var(--aw-linie);
	border-radius: var(--aw-radius);
	padding: 1.1em;
	background: var(--aw-flaeche);
}
.aw-kt-karte__datum {
	flex: 0 0 auto;
	width: 3.8em;
	text-align: center;
	border-radius: 10px;
	background: var(--aw-akzent);
	color: var(--aw-auf-akzent);
	padding: .45em 0;
	line-height: 1.1;
}
.aw-kt .aw-kt-karte__tag { display: block; font-size: 1.55em; font-weight: 800; }
.aw-kt .aw-kt-karte__monat { display: block; font-size: .75em; font-weight: 700; text-transform: uppercase; letter-spacing: .08em !important; }
.aw-kt .aw-kt-karte__titel { font-size: 1.1em; margin: 0 0 .25em; padding: 0; line-height: 1.3; color: var(--aw-text-stark); }
.aw-kt .aw-kt-karte__titel a { color: inherit; text-decoration: none; }
.aw-kt .aw-kt-karte__titel a:hover { color: var(--aw-akzent-text); }
.aw-kt .aw-kt-karte__meta { margin: 0 0 .4em; padding: 0; font-size: .9em; color: var(--aw-text-leise); }

/* Leer und Fehler */
.aw-kt-leer { border: 1px dashed var(--aw-linie); border-radius: var(--aw-radius); padding: 1.1em 1.4em; background: var(--aw-flaeche); }
.aw-kt-leer p { margin: 0; padding: 0; }
.aw-kt .aw-kt-leer__kontakt { margin-top: .5em; }
.aw-kt-leer__kontakt a { color: var(--aw-akzent-text); }
.aw-kt-fehler { border: 2px solid #b23a2a; background: #fff5f5; color: #5c1010; border-radius: 8px; padding: .8em 1em; margin: 0 0 1em; font-size: .9em; }
.aw-kt-fehler ul { list-style: disc; margin: .4em 0 0 1.2em; padding: 0; }
.aw-kt .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Formular */
.aw-kt-form {
	border: 1px solid var(--aw-linie);
	border-radius: var(--aw-radius);
	padding: 1.5em;
	background: var(--aw-flaeche);
	scroll-margin-top: 120px;
}
.aw-kt .aw-kt-form__titel {
	font-family: inherit;
	font-size: 1.4em; font-weight: 700; color: var(--aw-text-stark); margin: 0 0 .8em; padding: 0; line-height: 1.2;
}
.aw-kt-form__form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25em; }
.aw-kt .aw-kt-feld { margin: 0 0 1em; padding: 0; grid-column: 1 / -1; border: 0; min-width: 0; }
.aw-kt .aw-kt-feld--klein { grid-column: auto; }
.aw-kt-feld > label, .aw-kt-feld legend { display: block; font-size: .9em; font-weight: 600; color: var(--aw-text-stark); margin: 0 0 .35em; padding: 0; }
.aw-kt input[type="text"], .aw-kt input[type="email"], .aw-kt input[type="tel"], .aw-kt select, .aw-kt textarea {
	width: 100%;
	min-height: 44px;
	padding: .6em .8em;
	font-size: 1rem;
	color: var(--aw-text-stark);
	background: var(--aw-flaeche-2);
	border: 1px solid var(--aw-linie);
	border-radius: 10px;
	box-shadow: none;
}
.aw-kt textarea { min-height: 7em; resize: vertical; }
.aw-kt input:focus-visible, .aw-kt select:focus-visible, .aw-kt textarea:focus-visible { outline: 3px solid var(--aw-akzent-hover); outline-offset: 1px; border-color: var(--aw-akzent); }
.aw-kt label.aw-kt-wahl { display: flex; gap: .6em; align-items: flex-start; font-weight: 400; color: var(--aw-text); margin: .3em 0; font-size: .95em; }
.aw-kt label.aw-kt-wahl input { margin-top: .25em; accent-color: var(--aw-akzent); width: 1.1em; height: 1.1em; flex: 0 0 auto; }
.aw-kt label.aw-kt-wahl a { color: var(--aw-akzent-text); }
.aw-kt button.aw-kt-btn {
	display: inline-flex; align-items: center; min-height: 44px; cursor: pointer;
	background: var(--aw-akzent); color: var(--aw-auf-akzent); border: 0;
	font-size: 1rem; font-weight: 600; letter-spacing: .04em !important;
	padding: .7em 1.8em; border-radius: 999px;
	box-shadow: 0 0 0 1px rgba(217,98,43,.35), 0 6px 22px rgba(217,98,43,.3);
}
.aw-kt button.aw-kt-btn:hover { background: var(--aw-akzent-hover); }
.aw-kt button.aw-kt-btn:focus-visible { outline: 3px solid var(--aw-akzent-hover); outline-offset: 3px; }
.aw-kt .aw-kt-form__hinweis { grid-column: 1 / -1; margin: 0 0 1em; color: var(--aw-text-leise); }
.aw-kt-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.aw-kt-form__fehler { border: 1px solid var(--aw-gefahr); border-radius: 10px; padding: .7em 1em; margin: 0 0 1em; color: var(--aw-gefahr); }
.aw-kt-form__fehler p, .aw-kt-form__danke p { margin: 0 0 .4em; padding: 0; }
.aw-kt-form__danke p:last-child { margin-bottom: 0; }
@container (max-width: 520px) { .aw-kt .aw-kt-feld--klein { grid-column: 1 / -1; } }
.aw-kt-form { container-type: inline-size; }

@media (prefers-reduced-motion: reduce) {
	.aw-kt a.aw-kt-btn { transition: none; }
}

/* 1.0.2 (21.10.2026): Kontrast in Formularen. Divi setzt fuer select, option und Platzhalter eigene, dunkle
   Farben; auf dem Malz-Braun waren «Bitte wählen», die Termine in der Auswahlliste und die Platzhalter kaum
   lesbar. Darum hier mit !important auf die Plugin-Tokens. Gilt hell und dunkel. */
.aw-kt select,
.aw-kt select option,
.aw-kt select optgroup {
	color: var(--aw-text-stark) !important;
	background-color: var(--aw-flaeche-2) !important;
	opacity: 1 !important;
}
.aw-kt select option[value=""] { color: var(--aw-text-leise) !important; }
.aw-kt input::placeholder,
.aw-kt textarea::placeholder {
	color: var(--aw-text-leise) !important;
	opacity: 1 !important;
}
.aw-kt input[type="text"], .aw-kt input[type="email"], .aw-kt input[type="tel"], .aw-kt textarea {
	color: var(--aw-text-stark) !important;
	-webkit-text-fill-color: var(--aw-text-stark);
}

/* Abenteuerwerk: Beschreibung, Partner, kleiner Knopf in der Liste */
.aw-kt .aw-kt-termin__beschreibung { margin: .6em 0 0; }
.aw-kt .aw-kt-zeile__beschreibung { display: block; font-weight: 400; font-size: .92em; color: var(--aw-text); margin-top: .3em; }
.aw-kt .aw-kt-partner,
.aw-kt .aw-kt-termin__partner { display: inline-block; background: var(--aw-moos); color: #F3ECDD; font-size: .72em; letter-spacing: .06em; text-transform: uppercase; padding: .15em .6em; border-radius: 99px; margin: .3em 0 0; vertical-align: middle; }
.aw-kt .aw-kt-btn--klein { padding: .35em .8em; font-size: .85em; margin-left: .5em; }
