 .booking-main {
  background-color: var(--color-background);
}

.booking-hero {
  padding-top: var(--space-64);
}

.booking-hero-grid {
  align-items: center;
  gap: var(--space-32);
}

.booking-hero-content {
  max-width: 34rem;
}

.booking-hero-figure {
  max-width: 520px;
  margin-left: auto;
}

.booking-section-header {
  max-width: 640px;
  margin: 0 auto;
}

.booking-steps {
  align-items: stretch;
}

.booking-step-list {
  margin-top: var(--space-12);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.booking-step-list li + li {
  margin-top: var(--space-8);
}

.booking-fieldset {
  border: none;
  padding-top: var(--space-24);
}

.booking-legend {
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-gray-900);
  margin-bottom: var(--space-16);
}

.booking-field-grid {
  align-items: flex-start;
}

.booking-services-grid {
  align-items: flex-start;
}

.booking-service-option {
  display: flex;
  align-items: center;
  gap: var(--space-8);
}

.booking-service-option input[type='checkbox'] {
  width: 1rem;
  height: 1rem;
}

.booking-summary {
  margin-top: var(--space-8);
}

.booking-summary-title {
  font-weight: 600;
  margin-bottom: var(--space-12);
}

.booking-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--font-size-sm);
  padding-top: var(--space-8);
}

.booking-summary-row + .booking-summary-row {
  border-top: 1px solid var(--color-gray-200);
}

.booking-consent {
  display: flex;
  align-items: flex-start;
  gap: var(--space-8);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.booking-consent input[type='checkbox'] {
  margin-top: 0.15rem;
}

.booking-form-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-8);
}

.booking-form-status {
  margin-top: var(--space-16);
  font-size: var(--font-size-sm);
}

.booking-extra-grid {
  align-items: stretch;
  gap: var(--space-24);
}

@media (max-width: 767px) {
  .booking-hero {
    padding-top: var(--space-48);
  }

  .booking-hero-figure {
    max-width: 100%;
  }

  .booking-consent {
    flex-direction: row;
  }
}
