.booking-form-section {
  margin-top: 8px;
}

.booking-form-lead {
  margin: 0 0 18px;
  color: #5a4e44;
  font-size: 17px;
  line-height: 1.55;
}

.booking-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.booking-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.booking-field label {
  font-family: "Source Sans 3", sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #6f5f51;
  font-weight: 700;
}

.booking-field input,
.booking-field select,
.booking-field textarea {
  width: 100%;
  border: 1px solid #ddcebf;
  background: #fffdfa;
  border-radius: 3px;
  padding: 12px 12px;
  font-size: 16px;
  color: #2f261f;
  font-family: "Source Sans 3", sans-serif;
}

.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus {
  outline: none;
  border-color: #a54b1a;
  box-shadow: 0 0 0 2px rgba(165, 75, 26, 0.12);
}

.booking-field textarea {
  resize: vertical;
  min-height: 120px;
}

.booking-field-full {
  grid-column: 1 / -1;
}

.booking-actions {
  grid-column: 1 / -1;
}

.booking-actions button {
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid #a54b1a;
  background: #a54b1a;
  color: #ffffff;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.booking-actions button:hover {
  background: #8f4016;
  border-color: #8f4016;
}

@media (max-width: 768px) {
  .booking-form-grid {
    grid-template-columns: 1fr;
  }
}
