/* ==========================================================================
   anfrage.php – Veranstaltungsanfrage
   Mobile-first · Kildare Design System
   ========================================================================== */

/* Fehlermeldung ---------------------------------------------------------- */
.anfrage-error {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 1rem 1.25rem 0;
  padding: 0.875rem 1rem;
  background: rgba(180, 40, 20, 0.15);
  border: 1px solid rgba(180, 40, 20, 0.4);
  border-radius: var(--radius, 8px);
  color: #f5c0b0;
  font-size: 0.9rem;
  line-height: 1.5;
}
.anfrage-error svg {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 0.1rem;
  stroke: #f5c0b0;
}
.anfrage-error p { margin: 0; }

/* Fortschrittsanzeige ---------------------------------------------------- */
.anfrage-progress {
  margin-top: var(--header-h);
  position: sticky;
  top: var(--header-h);
  z-index: 90;
  background: #091a0d;
  border-bottom: 1px solid rgba(200, 134, 10, 0.15);
  display: flex;
  align-items: center;
  padding: 12px 1.25rem;
}

.anfrage-progress__step {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
}

.anfrage-progress__num {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  flex-shrink: 0;
  transition: background-color 0.25s, border-color 0.25s, color 0.25s;
}

.anfrage-progress__num svg {
  width: 10px;
  height: 10px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.anfrage-progress__label {
  font-family: var(--font-heading);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 0.25s;
}

.anfrage-progress__sep {
  flex: 1;
  height: 1px;
  background: rgba(200, 134, 10, 0.1);
  margin: 0 10px;
  min-width: 16px;
}

/* Step-States */
.anfrage-progress__step--active .anfrage-progress__num {
  background: rgba(200, 134, 10, 0.12);
  border: 1.5px solid #c8860a;
  color: #c8860a;
}
.anfrage-progress__step--active .anfrage-progress__label {
  color: #c8860a;
}

.anfrage-progress__step--done .anfrage-progress__num {
  background: #c8860a;
  border: 1.5px solid #c8860a;
  color: #091a0d;
}
.anfrage-progress__step--done .anfrage-progress__label {
  color: rgba(200, 134, 10, 0.55);
}

.anfrage-progress__step--next .anfrage-progress__num {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.2);
}
.anfrage-progress__step--next .anfrage-progress__label {
  color: rgba(245, 234, 216, 0.2);
}


/* Lightbox ---------------------------------------------------------------- */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(4, 8, 3, 0.95);
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.lightbox.is-open {
  display: flex;
}

.lightbox__img {
  max-width: min(900px, 100%);
  max-height: 85vh;
  object-fit: contain;
  border-radius: 6px;
}

.lightbox__close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 40px;
  height: 40px;
  background: rgba(200, 134, 10, 0.15);
  border: 0.5px solid rgba(200, 134, 10, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.lightbox__close svg {
  width: 18px;
  height: 18px;
  stroke: rgba(240, 232, 208, 0.8);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}

.lightbox__prev,
.lightbox__next {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: rgba(200, 134, 10, 0.12);
  border: 0.5px solid rgba(200, 134, 10, 0.25);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.lightbox__prev { left: 1rem; }
.lightbox__next { right: 1rem; }

.lightbox__prev svg,
.lightbox__next svg {
  width: 20px;
  height: 20px;
  stroke: rgba(240, 232, 208, 0.75);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}


/* Raumwähler -------------------------------------------------------------- */
.room-selector {
  background-color: var(--c-bg-primary);
  border-bottom: 1px solid var(--c-border);
}

.room-selector__header {
  padding: 1.5rem 1.25rem 0.75rem;
  text-align: center;
}

.room-selector__label {
  font-family: var(--font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(200, 134, 10, 0.45);
  margin: 0 0 0.375rem;
}

.room-selector__title {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 0.375rem;
}

.room-selector__sub {
  font-size: 0.8125rem;
  color: rgba(245, 234, 216, 0.45);
  line-height: 1.6;
  margin: 0 auto;
  max-width: 46ch;
}

.room-selector__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0 1.25rem 1.25rem;
}

.room-option {
  position: relative;
  border: 1px solid rgba(200, 134, 10, 0.18);
  border-radius: 8px;
  padding: 0.875rem 1rem;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
  background: var(--c-bg-deep);
  margin-bottom: 0.5rem;
}

.room-option:hover {
  border-color: rgba(200, 134, 10, 0.4);
  background: rgba(9, 26, 13, 0.8);
}

.room-option.is-selected {
  border-color: var(--c-amber);
  background: var(--c-bg-deep);
}

.room-option__check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(200, 134, 10, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.625rem;
  transition: background-color 0.2s, border-color 0.2s;
  flex-shrink: 0;
}

.room-option.is-selected .room-option__check {
  background: var(--c-amber);
  border-color: var(--c-amber);
}

.room-option__check svg {
  width: 10px;
  height: 10px;
  stroke: #091e0d;
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  opacity: 0;
  transition: opacity 0.15s;
}

.room-option.is-selected .room-option__check svg { opacity: 1; }

.room-option__name {
  font-family: var(--font-heading);
  font-size: 0.9375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-text-primary);
  margin: 0 0 0.2rem;
}

.room-option__cap {
  font-size: 0.6875rem;
  color: rgba(245, 234, 216, 0.4);
  margin: 0;
}

/* Kamera-Badge */
.room-option__photo-badge {
  position: absolute;
  top: 0.625rem;
  right: 0.75rem;
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--c-amber);
  border: none;
  border-radius: 4px;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
  transition: background-color 0.15s;
  z-index: 2;
}

.room-option__photo-badge:hover {
  background: #b87808;
}

.room-option__photo-badge svg {
  width: 11px;
  height: 11px;
  stroke: rgba(255, 255, 255, 0.9);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
}

.room-option__photo-badge span {
  font-size: 0.5625rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.06em;
  white-space: nowrap;
  font-weight: 600;
}

/* Ausklapp-Detail */
.room-option__detail {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}

.room-option.is-selected .room-option__detail {
  grid-template-rows: 1fr;
}

.room-option__detail-inner {
  overflow: hidden;
}

.room-option__detail-text {
  font-size: 0.8125rem;
  color: rgba(245, 234, 216, 0.55);
  line-height: 1.6;
  margin: 0.75rem 0 0;
}

.room-option__detail-text strong {
  color: rgba(245, 234, 216, 0.8);
  font-weight: 600;
}


/* Option-Selector --------------------------------------------------------- */
.option-selector {
  background-color: var(--c-bg-primary);
  border-bottom: 1px solid var(--c-border);
}

.option-selector__header {
  padding: 1.5rem 1.25rem 0.75rem;
  text-align: center;
}

.option-selector__label {
  font-family: var(--font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(200, 134, 10, 0.45);
  margin: 0 0 0.375rem;
}

.option-selector__title {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 0.375rem;
}

.option-selector__sub {
  font-size: 0.8125rem;
  color: rgba(245, 234, 216, 0.45);
  line-height: 1.6;
  margin: 0 auto;
  max-width: 46ch;
}

/* Option-Grid */
.option-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0.25rem 1.25rem 1.5rem;
}

/* Option-Card */
.opt-card {
  position: relative;
  background: var(--c-bg-deep);
  border: 1px solid rgba(200, 134, 10, 0.16);
  border-radius: 10px;
  padding: 0.875rem 0.875rem 0.75rem;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}

.opt-card:hover {
  border-color: rgba(200, 134, 10, 0.38);
}

.opt-card.is-selected {
  border-color: var(--c-amber);
}

/* Auswahl-Indikator (Checkbox) */
.opt-card__check {
  width: 16px;
  height: 16px;
  border-radius: 3px;
  border: 1.5px solid rgba(200, 134, 10, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.625rem;
  transition: background-color 0.15s, border-color 0.15s;
  flex-shrink: 0;
}

.opt-card.is-selected .opt-card__check {
  background: var(--c-amber);
  border-color: var(--c-amber);
}

.opt-card__check svg {
  width: 9px;
  height: 9px;
  stroke: #091e0d;
  fill: none;
  opacity: 0;
  transition: opacity 0.12s;
}

.opt-card.is-selected .opt-card__check svg { opacity: 1; }

/* Icon-Kreis */
.opt-card__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(200, 134, 10, 0.08);
  border: 0.5px solid rgba(200, 134, 10, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
  flex-shrink: 0;
}

.opt-card__icon svg {
  width: 16px;
  height: 16px;
  stroke: rgba(200, 134, 10, 0.7);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.opt-card.is-selected .opt-card__icon {
  background: rgba(200, 134, 10, 0.14);
  border-color: rgba(200, 134, 10, 0.28);
}

.opt-card.is-selected .opt-card__icon svg {
  stroke: #c8860a;
}

/* Beschriftung */
.opt-card__name {
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-text-primary);
  margin: 0 0 0.125rem;
  line-height: 1.2;
}

.opt-card__sub {
  font-size: 0.625rem;
  color: rgba(245, 234, 216, 0.35);
  margin: 0;
  line-height: 1.4;
}

/* Dokument-Badge */
.opt-card__badge {
  position: absolute;
  top: 0.5rem;
  right: 0.625rem;
  display: flex;
  align-items: center;
  gap: 3px;
  background: var(--c-amber);
  border: none;
  border-radius: 4px;
  padding: 0.2rem 0.45rem;
  cursor: pointer;
  transition: background-color 0.15s;
  z-index: 2;
}

.opt-card__badge:hover {
  background: #b87808;
}

.opt-card__badge svg {
  width: 9px;
  height: 9px;
  stroke: rgba(255, 255, 255, 0.9);
  flex-shrink: 0;
}

.opt-card__badge span {
  font-size: 0.5rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.06em;
  white-space: nowrap;
  font-weight: 600;
  text-transform: uppercase;
}


/* Formular ---------------------------------------------------------------- */
.anfrage-form {
  background-color: var(--c-bg-primary);
  padding: 0 1.25rem 2.5rem;
}

.anfrage-form__header {
  padding: 1.5rem 0 1.25rem;
  text-align: center;
  border-bottom: 1px solid rgba(200, 134, 10, 0.1);
  margin-bottom: 1.25rem;
}

.anfrage-form__header-label {
  font-family: var(--font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(200, 134, 10, 0.45);
  margin: 0 0 0.375rem;
}

.anfrage-form__header-title {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 0.375rem;
}

.anfrage-form__header-sub {
  font-size: 0.8125rem;
  color: rgba(245, 234, 216, 0.45);
  line-height: 1.6;
  margin: 0 auto;
  max-width: 46ch;
}

.anfrage-form__label {
  display: block;
  font-family: var(--font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(245, 234, 216, 0.35);
  margin-bottom: 0.375rem;
}

.anfrage-form__label span {
  font-size: 0.5rem;
  opacity: 0.5;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

.anfrage-form__input,
.anfrage-form__select,
.anfrage-form__textarea {
  width: 100%;
  background: var(--c-bg-deep);
  border: 0.5px solid rgba(200, 134, 10, 0.22);
  border-radius: 4px;
  padding: 0.5625rem 0.875rem;
  font-size: 0.875rem;
  color: var(--c-text-primary);
  font-family: var(--font-body);
  transition: border-color 0.2s;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

.anfrage-form__input::placeholder,
.anfrage-form__textarea::placeholder {
  color: rgba(245, 234, 216, 0.2);
}

.anfrage-form__input:focus,
.anfrage-form__select:focus,
.anfrage-form__textarea:focus {
  outline: none;
  border-color: rgba(200, 134, 10, 0.55);
}

.anfrage-form__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(200,134,10,0.5)' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.25rem;
  cursor: pointer;
  color: var(--c-text-primary);
}

.anfrage-form__select option {
  background: #0f3d1c;
  color: var(--c-text-primary);
}

.anfrage-form__textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.6;
}

.anfrage-form__field {
  margin-bottom: 1rem;
}

.anfrage-form__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 1rem;
}

/* Zusammenfassung --------------------------------------------------------- */
.anfrage-summary {
  background: var(--c-bg-deep);
  border: 0.5px solid rgba(200, 134, 10, 0.18);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  margin-bottom: 1.25rem;
}

.anfrage-summary__row {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.2rem 0;
}

.anfrage-summary__key {
  font-family: var(--font-heading);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(200, 134, 10, 0.5);
  flex-shrink: 0;
  width: 4rem;
}

.anfrage-summary__val {
  font-size: 0.75rem;
  color: rgba(245, 234, 216, 0.7);
}

/* Submit */
.anfrage-form__submit {
  width: 100%;
  background: var(--c-amber);
  color: #091e0d;
  font-family: var(--font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.875rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-top: 0.5rem;
}

.anfrage-form__submit:hover {
  background: #b87808;
}

.anfrage-form__note {
  font-size: 0.6875rem;
  color: rgba(245, 234, 216, 0.22);
  text-align: center;
  margin: 0.75rem 0 0;
}

/* Raum-Anzeige (read-only) */
.room-display {
  background: rgba(255, 255, 255, 0.04);
  border: 0.5px solid rgba(200, 134, 10, 0.22);
  border-radius: 4px;
  padding: 0.5625rem 0.875rem;
  font-size: 0.875rem;
  color: rgba(245, 234, 216, 0.3);
  font-style: italic;
  margin-bottom: 1rem;
  transition: color 0.2s, border-color 0.2s;
}

.room-display.has-value {
  color: rgba(245, 234, 216, 0.8);
  border-color: rgba(200, 134, 10, 0.4);
  font-style: normal;
}


/* Doc-Toast --------------------------------------------------------------- */
.doc-toast {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: rgba(9, 26, 13, 0.95);
  border: 0.5px solid rgba(200, 134, 10, 0.35);
  border-radius: 6px;
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  color: rgba(245, 234, 216, 0.7);
  letter-spacing: 0.03em;
  white-space: nowrap;
  z-index: 9500;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s;
}

.doc-toast--visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}


/* Feier-Selector ---------------------------------------------------------- */
.feier-selector {
  background-color: var(--c-bg-primary);
  border-bottom: 1px solid var(--c-border);
}

.feier-selector__header {
  padding: 1.5rem 1.25rem 0.75rem;
  text-align: center;
}

.feier-selector__label {
  font-family: var(--font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(200, 134, 10, 0.45);
  margin: 0 0 0.375rem;
}

.feier-selector__title {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--c-text-primary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 0.375rem;
}

.feier-selector__sub {
  font-size: 0.8125rem;
  color: rgba(245, 234, 216, 0.45);
  line-height: 1.6;
  margin: 0 auto;
  max-width: 46ch;
}

.feier-selector__block {
  padding: 0.75rem 1.25rem 1rem;
}

.feier-selector__block + .feier-selector__block {
  border-top: 1px solid rgba(200, 134, 10, 0.08);
}

.feier-selector__block-label {
  font-family: var(--font-heading);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245, 234, 216, 0.3);
  margin: 0 0 0.625rem;
}

/* Feier-Grid */
.feier-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

/* Feier-Card (Single-Select, Radio) */
.feier-card {
  position: relative;
  background: var(--c-bg-deep);
  border: 1px solid rgba(200, 134, 10, 0.16);
  border-radius: 10px;
  padding: 0.75rem 0.625rem 0.625rem;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.35rem;
}

.feier-card:hover {
  border-color: rgba(200, 134, 10, 0.38);
}

.feier-card.is-selected {
  border-color: var(--c-amber);
}

/* Radio-Indikator (rund = Single-Select) */
.feier-card__radio {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1.5px solid rgba(200, 134, 10, 0.3);
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  transition: background-color 0.15s, border-color 0.15s;
  flex-shrink: 0;
}

.feier-card.is-selected .feier-card__radio {
  background: var(--c-amber);
  border-color: var(--c-amber);
}

.feier-card__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(200, 134, 10, 0.08);
  border: 0.5px solid rgba(200, 134, 10, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.25rem;
  flex-shrink: 0;
  transition: background-color 0.2s, border-color 0.2s;
}

.feier-card__icon svg {
  width: 14px;
  height: 14px;
  stroke: rgba(200, 134, 10, 0.65);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.feier-card.is-selected .feier-card__icon {
  background: rgba(200, 134, 10, 0.14);
  border-color: rgba(200, 134, 10, 0.28);
}

.feier-card.is-selected .feier-card__icon svg {
  stroke: #c8860a;
}

.feier-card__name {
  font-family: var(--font-heading);
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--c-text-primary);
  margin: 0;
  line-height: 1.25;
}

/* Personen-Grid */
.personen-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

/* Personen-Card (Single-Select, Range prominent) */
.personen-card {
  position: relative;
  background: var(--c-bg-deep);
  border: 1px solid rgba(200, 134, 10, 0.16);
  border-radius: 10px;
  padding: 0.875rem 1rem 0.75rem;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.2rem;
}

.personen-card:hover {
  border-color: rgba(200, 134, 10, 0.38);
}

.personen-card.is-selected {
  border-color: var(--c-amber);
}

.personen-card__radio {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1.5px solid rgba(200, 134, 10, 0.3);
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  transition: background-color 0.15s, border-color 0.15s;
}

.personen-card.is-selected .personen-card__radio {
  background: var(--c-amber);
  border-color: var(--c-amber);
}

.personen-card__range {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--c-amber);
  margin: 0;
  letter-spacing: 0.02em;
  transition: color 0.2s;
}

.personen-card.is-selected .personen-card__range {
  color: #c8860a;
}

.personen-card__sub {
  font-size: 0.5625rem;
  color: rgba(245, 234, 216, 0.35);
  margin: 0;
  line-height: 1.4;
}


/* Desktop ----------------------------------------------------------------- */
@media (min-width: 640px) {
  .room-selector__grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.625rem;
    padding-bottom: 1.5rem;
  }
  .room-option { margin-bottom: 0; }

  .room-selector__title,
  .feier-selector__title,
  .option-selector__title,
  .anfrage-form__header-title { font-size: 1.75rem; }

  .feier-grid { grid-template-columns: repeat(6, 1fr); }
  .personen-grid { grid-template-columns: repeat(4, 1fr); }
  .option-grid { grid-template-columns: 1fr 1fr 1fr; }
  .anfrage-form__grid { grid-template-columns: 1fr 1fr; }
}


/* ==========================================================================
   Danke-Seite
   ========================================================================== */

.anfrage-danke {
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  text-align:      center;
  padding:         3rem 1.25rem 4rem;
  max-width:       480px;
  margin:          0 auto;
}

.anfrage-danke__icon {
  width:        64px;
  height:       64px;
  margin-bottom: 1.5rem;
  color:        #c8860a;
}
.anfrage-danke__icon svg {
  width:   100%;
  height:  100%;
  stroke:  currentColor;
}

.anfrage-danke__title {
  font-size:     1.5rem;
  font-weight:   700;
  margin-bottom: 0.75rem;
  color:         var(--color-fg, #f5ead8);
}

.anfrage-danke__text {
  font-size:     0.95rem;
  line-height:   1.65;
  color:         rgba(245, 234, 216, 0.72);
  margin-bottom: 1.5rem;
}

.anfrage-danke__ref {
  font-size:     0.8rem;
  color:         rgba(245, 234, 216, 0.4);
  margin-bottom: 2rem;
  letter-spacing: 0.04em;
}
.anfrage-danke__ref strong {
  color:  #c8860a;
}

.anfrage-danke__back {
  display:          inline-block;
  padding:          0.65rem 1.5rem;
  background:       #c8860a;
  color:            #0f3d1c;
  font-weight:      700;
  font-size:        0.875rem;
  border-radius:    6px;
  text-decoration:  none;
  letter-spacing:   0.03em;
  transition:       background 0.15s;
}
.anfrage-danke__back:hover { background: #d99720; }
