/* Dentalkurse — Anmeldeformular.
   Nimmt die Farbmarken des Themes auf, wenn es sie gibt, und bringt
   für alle anderen Themes eigene Vorgabewerte mit. */

.dk-formular{
	--dk-ink:    var(--ink, #2A3647);
	--dk-soft:   var(--ink-soft, #5A6779);
	--dk-faint:  var(--ink-faint, #8792A3);
	--dk-line:   var(--line, #C6CDD6);
	--dk-line-s: var(--line-soft, #DDE2E8);
	--dk-akzent: var(--accent, #2F7468);
	--dk-wash:   var(--accent-wash, #D9EDE8);
	--dk-flaeche:var(--surface-2, #FFFFFF);
	--dk-papier: var(--surface, #F6F8FA);
	max-width:760px;
	color:var(--dk-ink);
}

.dk-formular .dk-kopf{
	margin:0 0 20px; padding-bottom:18px; border-bottom:1px solid var(--dk-line);
	display:flex; flex-direction:column; gap:4px;
}
.dk-formular .dk-eyebrow{
	font-size:11px; text-transform:uppercase; letter-spacing:.16em;
	font-weight:600; color:var(--dk-faint);
}
.dk-formular .dk-kopf strong{ font-size:21px; font-weight:500; line-height:1.25; }
.dk-formular .dk-termin{ font-size:14px; color:var(--dk-soft); }

.dk-formular .dk-lead{ font-size:15.5px; color:var(--dk-soft); margin:0 0 26px; max-width:62ch; }

.dk-hinweis-fehler,
.dk-hinweis-warten{
	border-left:2px solid var(--dk-akzent); background:var(--dk-papier);
	padding:14px 18px; margin:0 0 26px; font-size:14.5px;
}
.dk-hinweis-fehler{ border-left-color:#8A2E2E; }
.dk-hinweis-fehler ul{ margin:8px 0 0; padding-left:18px; }
.dk-hinweis-fehler li{ margin:4px 0; }

.dk-formular fieldset{ border:0; padding:0; margin:0 0 30px; }
.dk-formular legend{
	font-size:11.5px; text-transform:uppercase; letter-spacing:.14em; font-weight:600;
	color:var(--dk-faint); padding:0 0 10px; width:100%;
	border-bottom:1px solid var(--dk-line-s); margin-bottom:18px;
}

.dk-raster{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px 20px; }
.dk-feld{ margin:0; display:flex; flex-direction:column; gap:5px; }
.dk-feld.dk-voll{ grid-column:1/-1; }
.dk-feld label{ font-size:12.5px; color:var(--dk-soft); }
.dk-feld input,
.dk-feld select,
.dk-feld textarea{
	font:inherit; font-size:15px; padding:11px 12px; width:100%;
	border:1px solid var(--dk-line); background:var(--dk-flaeche);
	color:var(--dk-ink); border-radius:2px;
}
.dk-feld textarea{ font-family:inherit; }
.dk-feld input:focus,
.dk-feld select:focus,
.dk-feld textarea:focus{
	border-color:var(--dk-akzent); outline:none;
	box-shadow:0 0 0 3px var(--dk-wash);
}
.dk-pflicht{ color:var(--dk-akzent); }
.dk-notiz{ font-size:12.5px; color:var(--dk-faint); line-height:1.45; }
.dk-breit{ display:block; margin-top:12px; max-width:62ch; }

.dk-wahl{ display:grid; gap:10px; }
.dk-wahl-zwei{ grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); margin-bottom:20px; }
.dk-option{
	display:flex; gap:13px; align-items:flex-start; padding:15px 16px;
	border:1px solid var(--dk-line); background:var(--dk-flaeche);
	cursor:pointer; border-radius:2px;
}
.dk-option:has(input:checked){ border-color:var(--dk-akzent); box-shadow:inset 3px 0 0 var(--dk-akzent); }
.dk-option input{ margin-top:3px; accent-color:var(--dk-akzent); flex:0 0 auto; }
.dk-option-text{ flex:1 1 auto; }
.dk-option-text strong{ display:block; font-size:15px; font-weight:500; }
.dk-option-text small{ display:block; color:var(--dk-soft); font-size:13px; margin-top:2px; }
.dk-option-voll{ background:var(--dk-papier); }
.dk-option-voll .dk-option-text strong{ color:var(--dk-soft); }
.dk-option-voll .dk-option-preis{ color:var(--dk-soft); font-family:inherit; font-size:13px; }
.dk-option-text span{ display:block; color:var(--dk-soft); font-size:13px; margin-top:2px; }
.dk-option-preis{
	margin-left:auto; white-space:nowrap; font-size:14.5px;
	font-variant-numeric:tabular-nums; font-family:"IBM Plex Mono",ui-monospace,monospace;
}

.dk-summe{
	display:flex; justify-content:space-between; align-items:baseline; gap:20px;
	padding:16px 18px; border:1px solid var(--dk-ink); background:var(--dk-flaeche);
	margin:0 0 22px; font-size:15px;
}
.dk-summe strong{ font-family:"IBM Plex Mono",ui-monospace,monospace; font-variant-numeric:tabular-nums; font-size:17px; }

.dk-zustimmung{
	display:flex; gap:11px; align-items:flex-start;
	font-size:13.5px; color:var(--dk-soft); max-width:64ch; margin:0 0 24px;
}
.dk-zustimmung input{ margin-top:3px; accent-color:var(--dk-akzent); }

.dk-absenden{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:0; }
.dk-knopf{
	display:inline-flex; align-items:center; font:inherit; font-size:14px; font-weight:500;
	padding:12px 22px; border:1px solid var(--dk-ink); border-radius:2px;
	background:var(--dk-ink); color:var(--dk-flaeche); cursor:pointer; text-decoration:none;
	transition:background .15s ease, border-color .15s ease;
}
.dk-knopf:hover{ background:var(--dk-akzent); border-color:var(--dk-akzent); }
.dk-knopf-leer{ background:transparent; color:var(--dk-ink); border-color:var(--dk-line); }
.dk-knopf-leer:hover{ background:transparent; border-color:var(--dk-ink); color:var(--dk-ink); }

/* Die Spamfalle darf für Menschen nicht sichtbar sein. */
.dk-falle{
	position:absolute !important; left:-9999px !important; top:auto !important;
	width:1px !important; height:1px !important; overflow:hidden !important;
}

.dk-kurswahl{ list-style:none; margin:0; padding:0; border-top:1px solid var(--dk-ink); }
.dk-kurswahl li{ border-bottom:1px solid var(--dk-line-s); }
.dk-kurswahl a{
	display:flex; justify-content:space-between; gap:20px; align-items:baseline;
	padding:16px 4px; text-decoration:none; color:inherit;
}
.dk-kurswahl a:hover{ background:var(--dk-papier); }
.dk-kurswahl strong{ font-weight:500; font-size:16px; }
.dk-kurswahl span{ font-size:13px; color:var(--dk-soft); white-space:nowrap; }

.dk-bestaetigt{ border:1px solid var(--dk-akzent); background:var(--dk-wash); padding:30px; }
.dk-bestaetigt h2{ margin:0 0 12px; font-size:27px; }
.dk-bestaetigt p{ margin:0 0 12px; max-width:60ch; }
.dk-bestaetigt ol{ margin:16px 0; padding-left:20px; font-size:14.5px; }
.dk-bestaetigt li{ margin-bottom:6px; }
.dk-referenz{ padding-top:14px; border-top:1px solid var(--dk-line); }

@media (max-width:560px){
	.dk-raster{ grid-template-columns:1fr; }
	.dk-option{ flex-wrap:wrap; }
	.dk-option-preis{ margin-left:34px; }
}
