/* Extra styles for the Love Decoded registration and testimonial forms.
   The form design itself comes from /book/booking.css, so all forms on the site look the same. */
.form-page-title { max-width: 20ch; }
.booking-intro .form-page-title { font-size: clamp(2.8rem, 6vw, 4.6rem); }
.form-back-link { margin-top: 16px; font-size: .95rem; }
.form-back-link a { color: var(--green); font-weight: 700; text-underline-offset: 4px; }
.choice-grid-5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.field-half { max-width: calc(50% - 11px); }
.field select { width: 100%; min-height: 54px; padding: 12px 40px 12px 14px; border: 1px solid #AAAFA4; border-radius: 6px; color: var(--ink); font: 1rem/1.45 var(--body); appearance: none;
  background: #FFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23073D23' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 18px; }
.field select:focus { border-color: var(--green); outline: 3px solid rgba(10,80,46,.18); }
.field-hint { margin-top: 2px; color: var(--muted); font-size: .86rem; }
.choice-field .field-hint { margin-top: 10px; }
.consent { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid #B9BDB4; border-radius: 6px; background: var(--ivory); cursor: pointer; font-weight: 400 !important; color: var(--ink) !important; }
.consent input { flex: 0 0 auto; width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--green); }
.consent .req { color: #8B5C00; }
.consent-field[aria-invalid="true"] .consent { border-color: #A1271C; }
.confidential-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 28px; padding: 15px 17px; border-left: 3px solid var(--gold-line); background: var(--ivory); font-size: .92rem; line-height: 1.5; }
.confidential-note > span { color: #9A6814; font-size: 1.3rem; line-height: 1; }
.form-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.field select[aria-invalid="true"] { border-color: #A1271C; }
.step-actions .button[disabled] { opacity: .7; cursor: wait; }
.thanks-signoff { margin-top: 14px; color: var(--green-deep); font-family: var(--display); font-size: 1.6rem; font-style: italic; }
.thanks-small { margin-top: 14px; color: var(--muted); font-size: .92rem; }

@media (max-width: 760px) {
  .booking-intro .form-page-title { font-size: clamp(2.5rem, 11vw, 3.4rem); }
  .choice-grid-5 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .choice-grid-5 .choice:last-child { grid-column: 1 / -1; }
  .field-half { max-width: none; }
}
