/* booking-form block */
.booking-form-section { padding: 88px 0; }
.booking-form-section.bg-alt { background: var(--color-bg-alt, #f7f2ec); }
.booking-form {
  max-width: 720px; margin: 0 auto;
  background: var(--color-bg, #fff); padding: 32px;
  border: 1px solid var(--color-border, #e8ddd4);
  border-radius: 20px; box-shadow: 0 4px 20px rgba(44,30,20,.06);
}
.booking-form__row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-block-end: 16px; }
.booking-form__row:nth-of-type(2) { grid-template-columns: repeat(3, 1fr); }
.booking-form__field { display: flex; flex-direction: column; gap: 6px; }
.booking-form__field--full { margin-block-end: 20px; }
.booking-form__label { font-size: .78rem; font-weight: 600; color: var(--color-text-muted); letter-spacing: .04em; text-transform: uppercase; }
.booking-form input, .booking-form select, .booking-form textarea {
  padding: 11px 14px; font: inherit;
  border: 1.5px solid var(--color-border, #e8ddd4); border-radius: 10px;
  background: var(--color-bg, #fff); color: var(--color-text);
  transition: border-color .2s, box-shadow .2s;
}
.booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus {
  outline: none; border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
}
.booking-form__submit { display: flex; justify-content: center; margin-block-start: 8px; }
.booking-form__submit .btn { padding: 14px 40px; font-size: 1rem; }
@media (max-width: 640px) {
  .booking-form__row, .booking-form__row:nth-of-type(2) { grid-template-columns: 1fr; }
  .booking-form { padding: 20px; }
}
