/* Karten: Detail-Panel, "Dein Beitrag", Formular, Dank-Seite, Test-Zahlseite. */
.detail,
.korb,
.danke,
.karte {
  display: grid;
  gap: 0.7rem;
  padding: 1rem;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.detail {
  margin-top: 0.8rem;
  border: 2px solid var(--accent);
}

.danke,
.karte {
  margin-top: 0.75rem;
}

.detail-kopf,
.schnell,
.zeile,
.zeilen li {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.detail-kopf > div {
  flex: 1;
}

.gross {
  font-size: 2.2rem;
  line-height: 1;
}

.schnell {
  flex-wrap: wrap;
}

.zeile {
  justify-content: space-between;
}

/* Dein Beitrag und Quittung */
.zeilen,
.danke ul {
  display: grid;
  gap: 0.4rem;
  list-style: none;
}

.zeilen .verweis {
  flex: 1;
  text-decoration: none;
}

.summe {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-top: 0.6rem;
  font-size: 1.1rem;
  border-top: 2px solid var(--line);
}

.summe-wert {
  font-size: 1.5rem;
}

.alle {
  display: grid;
  gap: 0.4rem;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--line);
}

/* Formular vor der Zahlung (<dialog>) */
dialog {
  width: min(30rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  padding: 1rem;
  overflow-y: auto;
  color: var(--ink);
  background: var(--card);
  border: 2px solid var(--accent);
  border-radius: var(--radius);
}

dialog::backdrop {
  background: rgb(0 0 0 / 0.55);
}

dialog form,
.absetzbar,
.absetzbar-felder {
  display: grid;
  gap: 0.8rem;
}

/* Kästchen mit Text: die ganze Zeile ist antippbar (mindestens 44 px hoch) */
.haken {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  min-height: 2.75rem;
  padding-block: 0.4rem;
}

.haken input {
  flex: none;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0.1rem 0 0;
  accent-color: var(--accent);
}

.haken input:disabled + span {
  color: var(--muted);
}

.dialog-knoepfe {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.dialog-knoepfe .haupt {
  flex: 1;
}

/* Dank-Seite */
.danke .zeile > span {
  min-width: 0;
}
