@layer components {
  .reservation-hero {
    padding-block: var(--space-18);
  }
  .reservation-hero-content {
    max-width: 34rem;
  }
  .reservation-layout {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: var(--space-8);
    align-items: flex-start;
  }
  @media (max-width: 899.98px) {
    .reservation-layout {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .reservation-form-wrapper {
    padding: var(--space-6);
  }
  .reservation-aside {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  .reservation-info-card .card-title {
    font-size: var(--font-size-lg);
  }
  .reservation-note {
    font-size: var(--font-size-sm);
    color: var(--gray-700);
    margin-bottom: var(--space-4);
  }
  .reservation-submit {
    width: 100%;
    justify-content: center;
  }
  .reservation-grid-2 {
    gap: var(--space-4);
  }
  .reservation-ambiance {
    background: var(--color-bg-alt);
  }
  .reservation-ambiance-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr);
  }
  .reservation-ambiance-card {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.3fr);
    gap: var(--space-6);
    align-items: stretch;
  }
  @media (max-width: 899.98px) {
    .reservation-ambiance-card {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .reservation-ambiance-media img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: var(--radius-lg);
  }
  .reservation-ambiance-title {
    font-family: var(--font-display);
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-3);
  }
  .reservation-events-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr);
  }
  .reservation-event-card {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.3fr);
    gap: var(--space-6);
    align-items: stretch;
  }
  @media (max-width: 899.98px) {
    .reservation-event-card {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .reservation-events-media img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: var(--radius-lg);
  }
  .reservation-event-title {
    font-family: var(--font-display);
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-3);
  }
  .reservation-event-cta {
    margin-top: var(--space-4);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
  }
  .reservation-accessibility-grid {
    gap: var(--space-8);
    align-items: flex-start;
  }
  .reservation-accessibility-highlight {
    max-width: 26rem;
    margin-left: auto;
  }
  @media (max-width: 899.98px) {
    .reservation-accessibility-highlight {
      max-width: none;
      margin-left: 0;
    }
  }
  .reservation-accessibility-title {
    font-size: var(--font-size-lg);
    margin-bottom: var(--space-3);
  }
  .reservation-data-card {
    max-width: 56rem;
    margin-inline: auto;
  }
}
