.reservations-hero {
  padding: var(--space-16) 0 var(--space-12);
}

.reservations-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: center;
}

.reservations-hero__content p {
  color: var(--color-text-muted);
}

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

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

.reservations-hero__note {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.reservations-hero__media {
  max-width: 480px;
  justify-self: flex-end;
  box-shadow: var(--shadow-medium);
}

.reservations-section-header {
  margin: 0 auto var(--space-6);
  text-align: left;
}

.reservations-section-header p {
  color: var(--color-text-muted);
}

.reservations-how {
  padding: var(--space-12) 0;
}

.reservations-how__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.reservations-step .card-header {
  margin-bottom: var(--space-2);
}

.reservations-step p {
  color: var(--color-text-muted);
}

.reservations-types {
  padding: var(--space-12) 0;
}

.reservations-types__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.reservations-type__list {
  margin-top: var(--space-3);
  padding-left: 1.2rem;
  color: var(--color-text-muted);
}

.reservations-type__list li {
  margin-bottom: var(--space-2);
}

.reservations-availability {
  padding: var(--space-12) 0;
}

.reservations-availability__layout {
  max-width: 880px;
  margin: 0 auto;
}

.reservations-availability__list {
  margin-top: var(--space-3);
  padding-left: 1.2rem;
  color: var(--color-text-muted);
}

.reservations-availability__list li {
  margin-bottom: var(--space-2);
}

.reservations-form {
  padding: var(--space-12) 0 var(--space-16);
}

.reservations-form__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr);
  gap: var(--space-6);
  align-items: flex-start;
}

.reservations-form__card {
  width: 100%;
}

.reservations-form__group + .reservations-form__group {
  margin-top: var(--space-5);
}

.reservations-form__group-title {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-3);
}

.reservations-form__fields {
  display: grid;
  gap: var(--space-4);
}

.reservations-form__field--inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.reservations-form__checkbox label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.reservations-form__checkbox input[type="checkbox"] {
  margin-top: 0.2rem;
}

.reservations-form__policy-text small {
  display: block;
  line-height: var(--line-height-relaxed);
}

.reservations-form__actions {
  margin-top: var(--space-5);
}

.reservations-form__helper {
  margin-top: var(--space-2);
  color: var(--color-text-muted);
}

.reservations-form__status {
  margin-top: var(--space-2);
  font-size: var(--font-size-sm);
}

.reservations-form__aside .card {
  position: sticky;
  top: var(--space-8);
}

.reservations-form__contact {
  margin-top: var(--space-3);
  padding-left: 1.2rem;
  color: var(--color-text-muted);
}

.reservations-form__contact li {
  margin-bottom: var(--space-2);
}

.reservations-group {
  padding: var(--space-12) 0;
}

.reservations-group__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.reservations-group__list {
  margin-top: var(--space-3);
  padding-left: 1.2rem;
  color: var(--color-text-muted);
}

.reservations-group__list li {
  margin-bottom: var(--space-2);
}

.reservations-group__steps {
  margin-top: var(--space-3);
  padding-left: 1.4rem;
  color: var(--color-text-muted);
}

.reservations-group__steps li {
  margin-bottom: var(--space-2);
}

.reservations-policies {
  padding: var(--space-12) 0;
}

.reservations-policies__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.reservations-policies__column h3 {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-3);
}

.reservations-policies__list {
  padding-left: 1.2rem;
  color: var(--color-text-muted);
}

.reservations-policies__list li {
  margin-bottom: var(--space-2);
}

.reservations-expect {
  padding: var(--space-12) 0;
}

.reservations-expect__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: center;
}

.reservations-expect__list {
  margin-top: var(--space-3);
  padding-left: 1.2rem;
  color: var(--color-text-muted);
}

.reservations-expect__list li {
  margin-bottom: var(--space-2);
}

.reservations-expect__media {
  max-width: 480px;
  justify-self: flex-end;
  box-shadow: var(--shadow-medium);
}

.reservations-team {
  padding: var(--space-12) 0;
}

.reservations-team__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.reservations-team__member p {
  color: var(--color-text-muted);
}

.reservations-testimonials {
  padding: var(--space-12) 0;
}

.reservations-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.reservations-testimonial blockquote p {
  color: var(--color-text-muted);
}

.reservations-testimonial__name {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.reservations-faq {
  padding: var(--space-12) 0;
}

.reservations-faq__accordion {
  display: grid;
  gap: var(--space-4);
}

.reservations-faq__question {
  width: 100%;
  text-align: left;
  padding: var(--space-4) var(--space-4) var(--space-3);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.reservations-faq__question::after {
  content: "+";
  font-family: var(--font-mono);
  font-size: var(--font-size-lg);
  color: var(--color-text-muted);
}

.reservations-faq__question[aria-expanded="true"]::after {
  content: "–";
}

.reservations-faq__answer {
  padding: 0 var(--space-4) var(--space-4);
}

.reservations-faq__answer p {
  color: var(--color-text-muted);
}

.reservations-help {
  padding: var(--space-12) 0 var(--space-16);
}

.reservations-help__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) auto;
  gap: var(--space-6);
  align-items: center;
}

.reservations-help__content p,
.reservations-help__list {
  color: var(--color-text-muted);
}

.reservations-help__list {
  margin-top: var(--space-3);
  padding-left: 1.2rem;
}

.reservations-help__list li {
  margin-bottom: var(--space-2);
}

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

@media (max-width: 992px) {
  .reservations-hero__inner,
  .reservations-form__grid,
  .reservations-group__grid,
  .reservations-policies__grid,
  .reservations-expect__inner,
  .reservations-team__grid,
  .reservations-testimonials__grid,
  .reservations-help__inner,
  .reservations-types__grid,
  .reservations-how__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .reservations-hero__media,
  .reservations-expect__media {
    justify-self: stretch;
    max-width: none;
  }

  .reservations-form__field--inline {
    grid-template-columns: minmax(0, 1fr);
  }

  .reservations-form__aside .card {
    position: static;
  }

  .reservations-section-header {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .reservations-hero {
    padding-top: var(--space-12);
  }

  .reservations-section-header {
    margin-bottom: var(--space-4);
  }

  .reservations-help__inner {
    text-align: left;
  }
}
