.reservations-hero {
  background-size: cover;
  background-position: center;
}

.reservations-hero__inner {
  display: flex;
  align-items: center;
  min-height: 70vh;
}

.reservations-hero__content {
  max-width: 620px;
}

.reservations-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.reservations-hero__note {
  margin-top: var(--space-4);
}

@media (max-width: 767px) {
  .reservations-hero__inner {
    padding-top: var(--space-16);
    padding-bottom: var(--space-16);
  }
}

.reservations-form {
  margin-top: var(--space-4);
}

.reservations-form__footer {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

@media (min-width: 768px) {
  .reservations-form__footer {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.reservations-vip__grid {
  align-items: center;
  gap: var(--space-10);
}

.reservations-vip__media img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-elevated);
}

.reservations-vip__highlights {
  display: grid;
  gap: var(--space-6);
  margin-bottom: var(--space-6);
}

.reservations-vip__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.reservations-confirmation__grid {
  align-items: flex-start;
  gap: var(--space-10);
}

.reservations-confirmation__details {
  align-self: stretch;
}

.reservations-confirmation__list {
  padding-left: 1.1rem;
}

.reservations-confirmation__list li {
  list-style: disc;
  margin-bottom: var(--space-2);
}

.reservations-experiences .section-heading + .block {
  padding-top: 0;
}

.reservations-wine {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.reservations-wine__image {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-elevated);
}

.reservations-wine__list {
  padding-left: 1.1rem;
}

.reservations-wine__list li {
  list-style: disc;
  margin-bottom: var(--space-2);
}

.reservations-terms__grid {
  gap: var(--space-6);
}

.reservations-faq__list {
  display: grid;
  gap: var(--space-6);
}

.reservations-contact__grid {
  align-items: flex-start;
  gap: var(--space-10);
}

.reservations-contact__card,
.reservations-arrival__card {
  height: 100%;
}

@media (max-width: 767px) {
  .reservations-vip__grid,
  .reservations-confirmation__grid,
  .reservations-contact__grid {
    gap: var(--space-6);
  }
}
