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

.booking-hero__content {
  max-width: 34rem;
}

.booking-hero__image-wrapper {
  display: flex;
  justify-content: center;
}

.booking-hero__figure {
  width: 100%;
  max-width: 480px;
}

.booking-hero__caption {
  margin-top: var(--space-8);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.booking-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.booking-section-header {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.booking-types__grid {
  margin-top: var(--space-32);
}

.booking-types__list,
.booking-packages__list,
.booking-rules__list,
.booking-contact__list,
.booking-calendar__legend {
  list-style: none;
  padding-left: 0;
}

.booking-types__list li,
.booking-packages__list li,
.booking-rules__list li,
.booking-contact__list li,
.booking-calendar__legend li {
  position: relative;
  padding-left: 1.2rem;
  margin-bottom: var(--space-8);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.booking-types__list li::before,
.booking-packages__list li::before,
.booking-rules__list li::before,
.booking-contact__list li::before,
.booking-calendar__legend li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-primary);
}

.booking-packages__chips {
  margin-top: var(--space-16);
}

.booking-packages__cards {
  gap: var(--space-24);
}

.booking-calendar__visual {
  align-self: center;
}

.booking-calendar__caption,
.booking-contact__caption {
  margin-top: var(--space-8);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.booking-form__form {
  margin-top: var(--space-16);
}

.booking-form__group {
  margin-bottom: var(--space-16);
}

.booking-form__group-grid {
  gap: var(--space-16);
}

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

.booking-form__preferences .chip input[type="checkbox"] {
  margin-right: var(--space-8);
}

.booking-form__consent .chip input[type="checkbox"] {
  margin-right: var(--space-8);
}

.booking-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-16);
}

.booking-rules__faq-list {
  display: grid;
  gap: var(--space-12);
}

.booking-contact__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
}

.booking-contact__image-wrapper {
  align-self: center;
}

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

  .booking-hero__image-wrapper {
    order: -1;
    margin-bottom: var(--space-24);
  }

  .booking-packages__cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .booking-form__actions {
    flex-direction: column;
    align-items: stretch;
  }
}
