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

.hero--booking {
  background-color: #ffffff;
}

.hero__inner--booking {
  border-bottom: 1px solid var(--color-border-subtle);
}

.hero__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-24);
}

.hero__note {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  margin-top: var(--space-20);
}

.hero-media--booking {
  background: linear-gradient(135deg, #ffffff 0%, #f1f3f5 100%);
}

.section--booking {
  background-color: #ffffff;
}

.booking-grid {
  align-items: flex-start;
  gap: var(--space-40);
}

.booking-grid__primary {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.booking-grid__secondary {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.booking-form {
  padding: var(--space-24);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border-subtle);
  box-shadow: var(--shadow-hairline);
  background-color: #ffffff;
}

.booking-form__policies {
  margin-top: var(--space-20);
}

.booking-form__policy-text {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  margin-bottom: 0;
}

.booking-form__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-8);
  margin-top: var(--space-24);
}

.booking-form__response {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.card--booking-info {
  padding: var(--space-20);
}

.booking-contact-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  margin-bottom: var(--space-16);
}

.booking-contact-list__item dt {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-text-muted);
  margin-bottom: var(--space-4);
}

.booking-contact-list__item dd {
  margin: 0;
}

.booking-contact-note {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}

.booking-location-list,
.booking-policies-list,
.booking-groups-list,
.booking-amenities-list,
.booking-hours-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.booking-location-list li,
.booking-policies-list li,
.booking-groups-list li,
.booking-amenities-list li {
  font-size: var(--font-size-sm);
  color: var(--color-text);
}

.booking-hours-list__item dt {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-text-muted);
}

.booking-hours-list__item dd {
  margin: 0 0 var(--space-8) 0;
}

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

.section--booking-details {
  background-color: #ffffff;
}

.booking-details-grid {
  gap: var(--space-32);
}

.card--booking-amenities {
  padding: var(--space-24);
}

.section--booking-amenities {
  background-color: #ffffff;
}

.booking-amenities-grid {
  gap: var(--space-40);
}

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

@media (max-width: 640px) {
  .booking-form {
    padding: var(--space-20);
  }

  .card--booking-info,
  .card--booking-amenities {
    padding: var(--space-20);
  }
}

ul {
  list-style: none !important;
}

.nav-toggle {
  flex-direction: column;
}
