:root{--rk-primaer:#002F5D;--rk-auf-primaer:#FFFFFF;--rk-primaer-hell:#EDF0F4;--rk-akzent:#FFCC00;--rk-auf-akzent:#10161D;--rk-text:#14202E;--rk-grund:#FFFFFF;--rk-linie:#002F5D;--rk-linie-staerke:2px;--rk-radius:6px;--rk-logo-hoehe:64px;--rk-logo-hoehe-mobil:46px;--rk-schrift:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;}
/*
 * Kontakt-, Termin- und Reparaturformular – zentrale Gestaltung.
 * Farben, Logo-Größe, Linie und Eckenradius kommen als Variablen aus dem Dashboard
 * (Verwaltung → Design & Logo) und stehen am Anfang der ausgelieferten Datei.
 */
:root {
  --rk-grau-1: #f3f5f8;
  --rk-grau-2: #dde2e9;
  --rk-grau-3: #b6bfca;
  --rk-grau-4: #7b8795;
  --rk-grau-5: #4f5a67;
  --rk-rot: #b3261e;
  --rk-rot-hell: #fdeceb;
  --rk-gruen: #1c6b3c;
}

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color-scheme: light;
}

body.rk {
  margin: 0;
  background: var(--rk-grund);
  color: var(--rk-text);
  font-family: var(--rk-schrift);
  font-size: 17px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}

[hidden] { display: none !important; }

.rk-nur-vorleser,
.rk-versteckt {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Feld, das nur automatische Programme ausfüllen */
.rk-hp {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ------------------------------------------------------------------ Kopf */

.rk-kopf {
  background: var(--rk-grund);
  border-bottom: var(--rk-linie-staerke) solid var(--rk-linie);
}

.rk-kopf__innen {
  display: flex;
  max-width: 808px;
  margin: 0 auto;
  padding: 14px 16px;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}

.rk--logo-mitte .rk-kopf__innen { justify-content: center; }

.rk-logo {
  display: inline-flex;
  border-radius: 4px;
}

.rk-logo img {
  display: block;
  width: auto;
  height: var(--rk-logo-hoehe-mobil);
  max-width: 100%;
  object-fit: contain;
}

/* --------------------------------------------------------------- Inhalt */

.rk-haupt {
  max-width: 808px;
  margin: 0 auto;
  padding: 24px 16px 48px;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
}

.rk-titel {
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.rk-titel:focus { outline: none; }

.rk-einleitung {
  margin: 0 0 24px;
  max-width: 60ch;
  color: var(--rk-grau-5);
}

.rk-zwischentitel {
  margin: 0 0 4px;
  font-size: 19px;
  line-height: 1.3;
  font-weight: 700;
}

.rk-klein {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.45;
  color: var(--rk-grau-5);
}

.rk-pflichthinweis {
  margin: 0 0 18px;
  font-size: 15px;
  color: var(--rk-grau-5);
}

.rk-stern { color: var(--rk-rot); font-weight: 700; }

.rk-optional {
  margin-left: 6px;
  font-size: 14px;
  font-weight: 400;
  color: var(--rk-grau-5);
}

[data-modus="pflicht"] > label .rk-optional,
[data-modus="pflicht"] > legend .rk-optional { display: none; }

[data-modus="optional"] > label .rk-stern,
[data-modus="optional"] > legend .rk-stern { display: none; }

/* -------------------------------------------------- Fortschritt (Lamellen) */

.rk-fortschritt { margin: 0 0 22px; }

.rk-fortschritt__text {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2px 16px;
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--rk-grau-5);
}

.rk-fortschritt__text strong { color: var(--rk-text); font-weight: 650; }

.rk-lamellen {
  display: flex;
  gap: 5px;
}

.rk-lamellen span {
  flex: 1;
  height: 7px;
  border-radius: 2px;
  background: var(--rk-grau-2);
  transition: background-color 0.25s ease;
}

.rk-lamellen span.ist-fertig { background: var(--rk-primaer); }
.rk-lamellen span.ist-aktiv { background: var(--rk-akzent); }

/* ------------------------------------------------------ Auswahl Anliegen */

.rk-wahl {
  display: grid;
  gap: 12px;
}

.rk-wahl__eintrag {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 88px;
  margin: 0;
  padding: 16px 44px 16px 16px;
  font: inherit;
  color: inherit;
  text-align: left;
  background: #fff;
  border: 1.5px solid var(--rk-grau-3);
  border-radius: var(--rk-radius);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.rk-wahl__eintrag::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--rk-grau-4);
  border-top: 2px solid var(--rk-grau-4);
  transform: translateY(-50%) rotate(45deg);
}

.rk-wahl__eintrag:hover,
.rk-wahl__eintrag.ist-gewaehlt {
  border-color: var(--rk-primaer);
  background: var(--rk-primaer-hell);
}

.rk-wahl__eintrag:hover::after { border-color: var(--rk-primaer); }

.rk-wahl__bild {
  display: grid;
  place-items: center;
  flex: none;
  width: 56px;
  height: 56px;
  color: var(--rk-primaer);
  background: var(--rk-primaer-hell);
  border-radius: var(--rk-radius);
}

.rk-wahl__eintrag:hover .rk-wahl__bild,
.rk-wahl__eintrag.ist-gewaehlt .rk-wahl__bild { background: #fff; }

.rk-wahl__text { display: block; min-width: 0; }

.rk-wahl__titel {
  display: block;
  font-size: 19px;
  line-height: 1.3;
  font-weight: 700;
}

.rk-wahl__info {
  display: block;
  margin-top: 2px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--rk-grau-5);
}

/* ----------------------------------------------------------------- Felder */

.rk-raster {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px 16px;
}

.rk-feld { min-width: 0; }

.rk-feld > label,
.rk-legende,
.rk-gruppe > legend {
  display: block;
  margin: 0 0 6px;
  padding: 0;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 650;
}

.rk-gruppe > legend,
.rk-legende { font-size: 18px; }

.rk-feld input[type="text"],
.rk-feld input[type="tel"],
.rk-feld input[type="email"],
.rk-feld select,
.rk-feld textarea {
  display: block;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 12px 14px;
  font: inherit;
  font-size: 17px;
  line-height: 1.4;
  color: var(--rk-text);
  background-color: #fff;
  border: 1.5px solid var(--rk-grau-4);
  border-radius: var(--rk-radius);
  -webkit-appearance: none;
  appearance: none;
}

.rk-feld textarea {
  min-height: 150px;
  resize: vertical;
}

.rk-feld select {
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%234f5a67' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
}

.rk-feld input:hover,
.rk-feld select:hover,
.rk-feld textarea:hover { border-color: var(--rk-grau-5); }

.rk-feld input:focus,
.rk-feld select:focus,
.rk-feld textarea:focus {
  outline: none;
  border-color: var(--rk-primaer);
  box-shadow: 0 0 0 1px var(--rk-primaer), 0 0 0 4px var(--rk-akzent);
}

.rk-feld--fehler input,
.rk-feld--fehler select,
.rk-feld--fehler textarea {
  border-color: var(--rk-rot);
  background-color: var(--rk-rot-hell);
}

.rk-fehler {
  margin: 6px 0 0;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 650;
  color: var(--rk-rot);
}

.rk-zeichen { margin: 6px 0 0; text-align: right; }

.rk-feld--schmal select { max-width: 340px; }

.rk-adresse {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid var(--rk-grau-2);
}

.rk-adresse .rk-raster { margin-top: 12px; }

/* --------------------------------------------------- Auswahlgruppen */

.rk-gruppe {
  min-width: 0;
  margin: 0 0 26px;
  padding: 0;
  border: 0;
}

.rk-schritt > .rk-feld { margin-bottom: 26px; }

.rk-optionen {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.rk-option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 12px 14px;
  background: #fff;
  border: 1.5px solid var(--rk-grau-3);
  border-radius: var(--rk-radius);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.rk-option:hover { border-color: var(--rk-grau-5); }

.rk-option.ist-an {
  border-color: var(--rk-primaer);
  background: var(--rk-primaer-hell);
  box-shadow: inset 4px 0 0 var(--rk-akzent);
}

.rk-option input,
.rk-haken input {
  display: grid;
  place-content: center;
  flex: none;
  width: 24px;
  height: 24px;
  margin: 0;
  background: #fff;
  border: 2px solid var(--rk-grau-4);
  border-radius: 50%;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

.rk-option input[type="checkbox"],
.rk-haken input { border-radius: 4px; }

.rk-option input::before,
.rk-haken input::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--rk-primaer);
  transform: scale(0);
  transition: transform 0.12s ease;
}

.rk-option input[type="checkbox"]::before,
.rk-haken input::before {
  width: 14px;
  height: 14px;
  border-radius: 0;
  background: var(--rk-auf-primaer);
  clip-path: polygon(12% 52%, 0 66%, 38% 100%, 100% 22%, 86% 10%, 37% 72%);
}

.rk-option input:checked,
.rk-haken input:checked { border-color: var(--rk-primaer); }

.rk-option input[type="checkbox"]:checked,
.rk-haken input:checked { background: var(--rk-primaer); }

.rk-option input:checked::before,
.rk-haken input:checked::before { transform: scale(1); }

.rk-option input:focus-visible,
.rk-haken input:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--rk-primaer), 0 0 0 7px var(--rk-akzent);
}

.rk-option span { min-width: 0; line-height: 1.35; }

.rk-haken {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}

.rk-haken input { margin-top: 1px; }
.rk-haken span { min-width: 0; font-size: 16px; }

.rk-gruppe--zustimmung { margin-top: 24px; }
.rk-datenschutz { margin-top: 24px; }

.rk-haupt a {
  color: var(--rk-primaer);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* -------------------------------------------------------------- Kalender */

.rk-hinweis {
  margin: 0 0 26px;
  padding: 14px 16px;
  font-size: 16px;
  line-height: 1.5;
  background: var(--rk-primaer-hell);
  border-left: 4px solid var(--rk-akzent);
  border-radius: 0 var(--rk-radius) var(--rk-radius) 0;
}

.rk-kalender {
  display: grid;
  grid-template-columns: repeat(var(--rk-kal-spalten, 5), minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}

.rk-kal__kopf {
  padding: 2px 0;
  font-size: 14px;
  font-weight: 650;
  text-align: center;
  color: var(--rk-grau-5);
}

.rk-tag,
.rk-zeit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 62px;
  margin: 0;
  padding: 4px 2px;
  font: inherit;
  line-height: 1.15;
  color: var(--rk-text);
  background: #fff;
  border: 1.5px solid var(--rk-grau-3);
  border-radius: var(--rk-radius);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.rk-tag__zahl { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.rk-tag__monat { font-size: 13px; color: var(--rk-grau-5); }
.rk-tag__info { font-size: 11px; line-height: 1.2; color: var(--rk-grau-5); }

.rk-tag:hover:not(:disabled),
.rk-zeit:hover { border-color: var(--rk-primaer); background: var(--rk-primaer-hell); }

.rk-tag:disabled {
  color: #8a94a0;
  background: var(--rk-grau-1);
  border-color: transparent;
  cursor: not-allowed;
}

.rk-tag:disabled .rk-tag__zahl { font-weight: 400; text-decoration: line-through; text-decoration-thickness: 1px; }
.rk-tag:disabled .rk-tag__monat,
.rk-tag:disabled .rk-tag__info { color: #8a94a0; }

.rk-tag--leer { visibility: hidden; }

.rk-tag[aria-pressed="true"],
.rk-zeit[aria-pressed="true"] {
  color: var(--rk-auf-primaer);
  background: var(--rk-primaer);
  border-color: var(--rk-primaer);
}

.rk-tag[aria-pressed="true"] .rk-tag__monat { color: inherit; }

.rk-zeiten {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
  gap: 6px;
  margin-top: 10px;
}

.rk-zeit {
  min-height: 52px;
  font-size: 17px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.rk-gewaehlt {
  margin: 0 0 4px;
  padding: 14px 16px;
  font-weight: 650;
  border: 1.5px solid var(--rk-primaer);
  border-radius: var(--rk-radius);
}

/* ---------------------------------------------------------------- Uploads */

.rk-upload { margin-top: 30px; }

.rk-optional--an { display: inline; }

.rk-ablage {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  padding: 16px;
  background: var(--rk-grau-1);
  border: 1.5px dashed var(--rk-grau-3);
  border-radius: var(--rk-radius);
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.rk-ablage.ist-ziel {
  border-color: var(--rk-primaer);
  background: var(--rk-primaer-hell);
}

.rk-ablage .rk-knopf { background: #fff; }

.rk-ablage__text {
  display: none;
  margin: 0;
  font-size: 15px;
  color: var(--rk-grau-5);
}

.rk-zahl { font-weight: 400; color: var(--rk-grau-5); }

.rk-anhaenge {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.rk-anhang {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--rk-grau-2);
  border-radius: var(--rk-radius);
}

.rk-anhang__bild {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 700;
  color: var(--rk-grau-5);
  background: var(--rk-grau-1);
  border-radius: calc(var(--rk-radius) * 0.6);
}

.rk-anhang__bild img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rk-anhang__name {
  display: block;
  overflow: hidden;
  font-size: 16px;
  font-weight: 650;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.rk-anhang__status {
  display: block;
  font-size: 14px;
  color: var(--rk-grau-5);
}

.rk-anhang.ist-fertig .rk-anhang__status { color: var(--rk-gruen); font-weight: 650; }
.rk-anhang.ist-fehler { border-color: var(--rk-rot); background: var(--rk-rot-hell); }
.rk-anhang.ist-fehler .rk-anhang__status { color: var(--rk-rot); font-weight: 650; }

.rk-balken {
  display: block;
  height: 4px;
  margin-top: 6px;
  overflow: hidden;
  background: var(--rk-grau-2);
  border-radius: 2px;
}

.rk-balken span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--rk-primaer);
  transition: width 0.2s ease;
}

.rk-anhang.ist-fertig .rk-balken,
.rk-anhang.ist-fehler .rk-balken { display: none; }

.rk-anhang__knoepfe {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

/* ---------------------------------------------------------------- Knöpfe */

.rk-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 32px;
}

.rk-knopf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 54px;
  margin: 0;
  padding: 10px 26px;
  font: inherit;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  border: 1.5px solid transparent;
  border-radius: var(--rk-radius);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none;
  appearance: none;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.rk-knopf--haupt {
  color: var(--rk-auf-primaer);
  background: var(--rk-primaer);
}

.rk-knopf--haupt:hover { box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.12); }

.rk-knopf--neben {
  color: var(--rk-text);
  background: transparent;
  border-color: var(--rk-grau-3);
}

.rk-knopf--neben:hover { border-color: var(--rk-text); }

.rk-haupt a.rk-knopf--link { color: var(--rk-text); text-decoration: none; }

.rk-knopf:disabled,
.rk-knopf[aria-disabled="true"] {
  opacity: 0.6;
  cursor: progress;
}

.rk-textknopf {
  min-height: 44px;
  margin: 0;
  padding: 6px 4px;
  font: inherit;
  font-size: 15px;
  font-weight: 650;
  color: var(--rk-primaer);
  text-decoration: underline;
  text-underline-offset: 2px;
  background: none;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
}

.rk-anhang__knoepfe .rk-textknopf { min-height: 32px; padding: 2px 4px; }

.rk-knopf:focus-visible,
.rk-textknopf:focus-visible,
.rk-wahl__eintrag:focus-visible,
.rk-tag:focus-visible,
.rk-zeit:focus-visible,
.rk-logo:focus-visible,
.rk-haupt a:focus-visible,
.rk-fuss a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--rk-primaer), 0 0 0 7px var(--rk-akzent);
}

.rk-dreher {
  width: 18px;
  height: 18px;
  border: 2.5px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rk-drehen 0.7s linear infinite;
}

@keyframes rk-drehen { to { transform: rotate(360deg); } }

/* ------------------------------------------------ Übersicht vor dem Absenden */

.rk-uebersicht {
  margin: 0 0 28px;
  border: 1px solid var(--rk-grau-2);
  border-radius: var(--rk-radius);
}

.rk-block { padding: 14px 16px; }
.rk-block + .rk-block { border-top: 1px solid var(--rk-grau-2); }

.rk-block__kopf {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.rk-block__titel {
  margin: 0;
  font-size: 15px;
  font-weight: 650;
  color: var(--rk-grau-5);
}

.rk-block .rk-textknopf { min-height: 32px; padding: 0 4px; }

.rk-block dl { margin: 6px 0 0; }
.rk-block dt { margin: 8px 0 0; font-size: 14px; color: var(--rk-grau-5); }
.rk-block dd { margin: 0; white-space: pre-line; }

.rk-aufgabe {
  display: flex;
  align-items: center;
  gap: 16px;
}

.rk-feld--aufgabe .rk-aufgabe input {
  width: 96px;
  flex: none;
  font-size: 20px;
  font-weight: 650;
  text-align: center;
}

.rk-feld--aufgabe label strong {
  font-size: 19px;
  white-space: nowrap;
}

/* -------------------------------------------------------------- Meldungen */

.rk-meldung {
  margin: 16px 0;
  padding: 14px 16px;
  font-size: 16px;
  line-height: 1.45;
  border-radius: var(--rk-radius);
}

.rk-meldung--fehler {
  color: #7a1a14;
  background: var(--rk-rot-hell);
  border: 1px solid #f0b8b4;
  border-left: 4px solid var(--rk-rot);
}

.rk-meldung p { margin: 0; }
.rk-meldung p + p { margin-top: 6px; }

/* ------------------------------------------------------------ Bestätigung */

.rk-danke { padding-top: 8px; }

.rk-danke__zeichen {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 0 0 20px;
  color: var(--rk-auf-primaer);
  background: var(--rk-primaer);
  border-radius: 50%;
  box-shadow: 0 0 0 6px var(--rk-akzent);
}

.rk-nummer {
  display: grid;
  gap: 2px;
  max-width: 460px;
  margin: 0 0 28px;
  padding: 16px 18px;
  border: 1.5px solid var(--rk-primaer);
  border-radius: var(--rk-radius);
}

.rk-nummer__label { font-size: 15px; color: var(--rk-grau-5); }

.rk-nummer__wert {
  font-size: 26px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  user-select: all;
}

.rk-nummer__info { margin-top: 4px; font-size: 15px; color: var(--rk-grau-5); }

/* ------------------------------------------------------------------- Fuß */

.rk-fuss { border-top: 1px solid var(--rk-grau-2); }

.rk-fuss__innen {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 24px;
  max-width: 808px;
  margin: 0 auto;
  padding: 16px 16px 24px;
  font-size: 15px;
}

.rk-fuss a {
  color: var(--rk-grau-5);
  text-decoration: underline;
  text-underline-offset: 2px;
  border-radius: 4px;
}

.rk-fuss a:hover { color: var(--rk-text); }

/* --------------------------------------------- Einbettung in andere Seiten */

.rk--einbettung { background: transparent; }
.rk--einbettung .rk-kopf,
.rk--einbettung .rk-fuss { display: none; }
.rk--einbettung .rk-haupt { padding-top: 8px; padding-bottom: 16px; }

/* ---------------------------------------------------- Ab Tablet-Hochformat */

@media (min-width: 600px) {
  .rk-kopf__innen { padding: 18px 24px; }
  .rk-logo img { height: var(--rk-logo-hoehe); }
  .rk-haupt { padding: 36px 24px 72px; }
  .rk-titel { font-size: 32px; margin-bottom: 12px; }
  .rk-fortschritt { margin-bottom: 28px; }
  .rk-fuss__innen { padding: 18px 24px 28px; }

  .rk-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rk-raster > .rk-feld { grid-column: 1 / -1; }
  .rk-raster > .rk-feld--halb { grid-column: auto; }
  .rk-raster > .rk-feld--allein { grid-column: 1; }
  .rk-adresse .rk-raster { grid-template-columns: 180px minmax(0, 1fr); }
  .rk-adresse .rk-raster > .rk-feld--plz,
  .rk-adresse .rk-raster > .rk-feld--ort { grid-column: auto; }

  .rk-optionen--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rk-optionen--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .rk-kalender { gap: 8px; }
  .rk-tag { min-height: 68px; }
  .rk-zeiten { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }

  .rk-ablage {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px;
  }

  .rk-nav {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }

  .rk-nav .rk-knopf--haupt { min-width: 220px; }

  .rk-block dl {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 6px 16px;
  }

  .rk-block dt { margin: 0; padding-top: 3px; }
}

/* Mauszeiger vorhanden: Hinweis auf Ziehen & Ablegen zeigen */
@media (min-width: 600px) and (hover: hover) and (pointer: fine) {
  .rk-ablage__text { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 1.5s !important;
  }
}

@media print {
  .rk-nav, .rk-ablage, .rk-fortschritt { display: none; }
}
