.termine-karten {
  margin-block: var(--s6);
  gap: var(--s5);
}
.termine-karten .karte {
  display: grid;
  align-content: start;
  gap: var(--s3);
}
.termine-karten h3 {
  font-size: var(--fs-mittel);
}
.termine-karten .zeit,
.termine-karten .etikett {
  font-family: var(--f-mono);
  font-size: var(--fs-klein);
}
.nl {
  width: 100%;
  display: grid;
  gap: var(--s5);
  text-align: left;
}
.nl .raster {
  grid-template-columns: 1fr;
}
.nl .feld {
  display: grid;
  gap: var(--s2);
  min-width: 0;
}
.nl input:not([type=checkbox]) {
  width: 100%;
  min-width: 0;
  padding: var(--s3);
  border: 2px solid var(--tief);
  border-radius: var(--s2);
  background: var(--weiss);
}
.nl .zustimmung {
  display: flex;
  align-items: flex-start;
  gap: var(--s3);
}
.nl input[type=checkbox] {
  flex: none;
  width: 24px;
  height: 24px;
}
.nl .btn-reihe {
  display: grid;
  gap: var(--s4);
}
.nl .kleingedruckt {
  font-size: var(--fs-klein);
}
.nl [data-ton=fehl] {
  font-weight: 600;
}
.preis .btn {
  display: inline-flex;
  padding: var(--s3) var(--s5);
  border: 2px solid var(--tief);
  border-radius: var(--r-pille);
}
.preis .btn--primaer {
  background: var(--lime);
}
.preis {
  margin: 0;
  max-height: 85vh;
  overflow: auto;
}
.preis::backdrop {
  background: #0b124066;
}
[hidden] {
  display: none !important;
}
.fuss {
  padding-bottom: var(--s8);
}
@media (min-width: 52rem) {
  .termine-karten {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .kopfzeile .nav {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
