/* ── SFG Kursbuchung – Stylesheet ─────────────────────────────────────────── */

:root {
  --sfg-green:       #155c2a;
  --sfg-green-light: #e8f4ec;
  --sfg-green-mid:   #2d8a50;
}

/* Topbar */
.sfg-topbar {
  background: var(--sfg-green);
  border-radius: .5rem;
}

/* Abschnitts-Titel */
.sfg-section-title {
  font-weight: 700;
  color: var(--sfg-green);
  border-bottom: 2px solid var(--sfg-green);
  padding-bottom: .4rem;
  font-size: 1.05rem;
}

/* Status-Option (Mitglied / Nicht-Mitglied, Zeitslots) */
.sfg-status-option {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  border: 2px solid #dee2e6;
  border-radius: .5rem;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}

.sfg-status-option:hover,
.sfg-status-option.selected {
  border-color: var(--sfg-green);
  background: var(--sfg-green-light);
}

.sfg-status-option input[type="radio"] {
  flex-shrink: 0;
  margin: 0;
  width: 1.1em;
  height: 1.1em;
  accent-color: var(--sfg-green);
}

/* Zahlungsart */
.sfg-payment-option {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .75rem 1rem;
  border: 2px solid #dee2e6;
  border-radius: .5rem;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}

.sfg-payment-option:hover,
.sfg-payment-option.selected {
  border-color: var(--sfg-green);
  background: var(--sfg-green-light);
}

.sfg-payment-option input[type="radio"] {
  flex-shrink: 0;
  margin-top: .15rem;
  width: 1.1em;
  height: 1.1em;
  accent-color: var(--sfg-green);
}

.sfg-payment-title {
  font-weight: 700;
  color: var(--sfg-green);
}

.sfg-payment-desc {
  font-size: .85rem;
  color: #6c757d;
}

/* Preisanzeige */
.sfg-price-display {
  background: var(--sfg-green-light);
  border: 1px solid var(--sfg-green);
  border-radius: .5rem;
  padding: 1rem 1.25rem;
  text-align: center;
}

.sfg-price-amount {
  font-size: 2rem;
  font-weight: 700;
  color: var(--sfg-green);
  line-height: 1.2;
}

.sfg-price-info {
  font-size: .85rem;
  color: #6c757d;
  margin-top: .25rem;
}

/* Minderjährigen-Bereich */
.sfg-minor-section {
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: .5rem;
  padding: 1rem;
}

/* Wichtige Checkboxen */
.sfg-important-check {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .75rem 1rem;
  background: var(--sfg-green-light);
  border-radius: .5rem;
  margin-bottom: .75rem;
}

.sfg-important-check:last-child {
  margin-bottom: 0;
}

.sfg-important-check input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: .2rem;
  width: 1.1em;
  height: 1.1em;
  accent-color: var(--sfg-green);
}

.sfg-important-check .form-check-label {
  font-size: .9rem;
  line-height: 1.5;
}

/* SEPA */
.sfg-sepa-fields {
  margin-top: .5rem;
}

/* Abschicken-Button */
#buchungForm .btn-success {
  background-color: var(--sfg-green);
  border-color: var(--sfg-green);
  font-weight: 600;
  padding: .75rem;
}

#buchungForm .btn-success:hover {
  background-color: var(--sfg-green-mid);
  border-color: var(--sfg-green-mid);
}

/* Responsiv */
@media (max-width: 576px) {
  .sfg-status-option,
  .sfg-payment-option {
    padding: .6rem .75rem;
  }
  .sfg-price-amount {
    font-size: 1.6rem;
  }
}
