/* Gutscheinmodus: das Formular nutzt die volle Breite statt eine leere linke Spalte. */
.appointment-card:has(input[name="request-type"][value="gift"]:checked) {
  grid-template-columns: 1fr;
  gap: 28px;
}

.appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-form-fields {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-side {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  align-items: start;
}

.appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-topic-options,
.appointment-card:has(input[name="request-type"][value="gift"]:checked) .gift-amount-options {
  grid-column: 1;
}

.appointment-card:has(input[name="request-type"][value="gift"]:checked) .gift-delivery-options,
.appointment-card:has(input[name="request-type"][value="gift"]:checked) .gift-postal-fields,
.appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-highlight {
  grid-column: 2;
}

@media (max-width: 560px) {
  .appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-form-fields,
  .appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-side {
    grid-template-columns: 1fr;
  }

  .appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-topic-options,
  .appointment-card:has(input[name="request-type"][value="gift"]:checked) .gift-delivery-options,
  .appointment-card:has(input[name="request-type"][value="gift"]:checked) .gift-amount-options,
  .appointment-card:has(input[name="request-type"][value="gift"]:checked) .gift-postal-fields,
  .appointment-card:has(input[name="request-type"][value="gift"]:checked) .appointment-highlight {
    grid-column: auto;
  }
}
