.evening-form{
  display:grid;
  gap:2rem;
}
.evening-form__steps{display:grid;gap:1.25rem}
.form-step{
  display:grid;
  gap:1.35rem;
  margin:0;
  padding:clamp(1.25rem,.9rem + 1.5vw,2.25rem);
  border:0;
  border-radius:var(--r-plate);
  background:rgb(255 255 255 / .06);
  box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .14);
  min-width:0;
}
.form-step__title{
  float:left;
  width:100%;
  margin-bottom:.25rem;
  padding:0;
  font-family:var(--f-wide);
  font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem);
  line-height:1.15;
  letter-spacing:-.02em;
}
.form-step__title + *{clear:both}
.form-step__field{display:grid;gap:.55rem;margin:0;padding:0;border:0;min-width:0}
.form-step__label{padding:0;font-size:1rem;font-weight:500;color:var(--c-rose)}
.form-step__hint{font-weight:400;color:rgb(255 255 255 / .6)}
.form-step__error{font-size:1rem;color:var(--c-blush);font-weight:500}
.form-step__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.text-input{
  width:100%;
  min-height:3.1rem;
  padding:.75rem 1rem;
  border:2px solid rgb(255 255 255 / .28);
  border-radius:var(--r-thumb);
  background:rgb(11 10 12 / .3);
  color:var(--c-white);
  font-size:1.0625rem;
  transition:border-color .25s ease,box-shadow .25s ease;
  color-scheme:dark;
}
.text-input:hover{border-color:rgb(255 255 255 / .5);box-shadow:0 .5rem 1.25rem -.75rem rgb(0 0 0 / .6)}
.text-input:focus{outline:none;border-color:var(--c-blush);box-shadow:0 0 0 4px rgb(255 228 236 / .18),0 .75rem 1.75rem -.75rem rgb(194 24 91 / .7)}
.text-input[aria-invalid="true"]{border-color:var(--c-ruby)}
.text-input--area{resize:none;min-height:7.5rem;line-height:1.5}

.consent-check{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;cursor:pointer}
.consent-check__input{width:1.35rem;height:1.35rem;margin:.15rem 0 0;accent-color:var(--c-ruby)}
.consent-check__input:focus-visible{outline:3px solid var(--c-white);outline-offset:2px}
.consent-check__text{font-size:1rem;line-height:1.5;color:rgb(255 255 255 / .85)}

.receipt-card{
  display:grid;
  align-content:start;
  gap:1.1rem;
  padding:clamp(1.25rem,.9rem + 1.5vw,2rem);
  border-radius:var(--r-plate);
  background:
    radial-gradient(80% 60% at 100% 0%,rgb(255 255 255 / .12),transparent 70%),
    var(--c-night);
  box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .16),0 1.5rem 3rem -1.5rem rgb(0 0 0 / .6);
}
.receipt-card__title{font-family:var(--f-wide);font-size:1.5rem;line-height:1.15;letter-spacing:-.02em}
.receipt-card__list{display:grid;gap:.1rem;margin:0}
.receipt-card__row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  align-items:baseline;
  padding:.55rem 0;
}
.receipt-card__key{font-size:1rem;color:rgb(255 255 255 / .6)}
.receipt-card__value{margin:0;font-weight:500;text-align:right}
.receipt-card__submit{width:100%;margin-top:.4rem}
.receipt-card__note{font-size:1rem;line-height:1.45;color:rgb(255 255 255 / .6)}

@container sub-section (min-width:62rem){
  .evening-form{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;column-gap:2rem}
  .evening-form__receipt{position:sticky;top:1.5rem}
}

.form-step .guest-stepper{justify-self:start}
.text-input[type="date"]{color-scheme:dark;min-height:3.25rem}

.form-step__intro{font-size:1rem;line-height:1.5;color:rgb(255 255 255 / .7)}
.form-step__hint--need{color:var(--c-rose)}
.form-step__error[hidden],.receipt-card__alert[hidden]{display:none}
.receipt-card{display:grid}
.receipt-card__sheet,.receipt-card__thanks{grid-area:1 / 1;display:grid;align-content:start;gap:1rem;transition:opacity .5s ease,visibility .5s ease}
.receipt-card__thanks{align-content:center;justify-items:start;opacity:0;visibility:hidden}
.evening-form--sent .receipt-card__sheet{opacity:0;visibility:hidden}
.evening-form--sent .receipt-card__thanks{opacity:1;visibility:visible;transition-delay:.35s}
.receipt-card__thanks-mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--r-thumb);background:linear-gradient(160deg,rgb(255 255 255 / .42),rgb(255 255 255 / .12));box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .55),0 0 1.5rem rgb(194 24 91 / .6);color:var(--c-white)}
.receipt-card__thanks-text{font-size:1.0625rem;line-height:1.55;color:rgb(255 255 255 / .85)}
.receipt-card__again{margin-top:.25rem}
.receipt-card__alert{padding:.8rem 1rem;border-radius:var(--r-thumb);background:rgb(194 24 91 / .35);font-size:1rem;line-height:1.45;font-weight:500}
.receipt-card__submit[aria-busy="true"]{opacity:.7;pointer-events:none}

