.reservations-hero {
  padding-top: var(--space-32);
}

.reservations-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr);
  gap: var(--space-24);
}

@media (max-width: 960px) {
  .reservations-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

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

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

.reservations-section {
  backdrop-filter: blur(6px);
}

.reservations-form-card {
  position: sticky;
  top: var(--space-24);
  align-self: flex-start;
}

@media (max-width: 960px) {
  .reservations-form-card {
    position: static;
  }
}

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

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

@media (max-width: 640px) {
  .reservations-grid-2 {
    grid-template-columns: minmax(0, 1fr);
  }
}

.reservations-table-preferences {
  display: grid;
  gap: var(--space-8);
}

.reservations-choice {
  display: flex;
  align-items: flex-start;
  gap: var(--space-8);
  padding: var(--space-8) var(--space-10);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-subtle);
  background-color: rgba(253, 251, 247, 0.85);
}

.reservations-choice-input {
  margin-top: 3px;
}

.reservations-choice-label {
  font-size: var(--font-size-sm);
  color: var(--color-neutral-800);
}

.reservations-policy {
  background-color: rgba(248, 243, 235, 0.9);
}

.reservations-form-actions {
  margin-top: var(--space-16);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.reservations-form-actions .hero-secondary-copy {
  max-width: 34rem;
}

.reservations-inline-cta {
  margin-top: var(--space-12);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

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

@media (max-width: 800px) {
  .reservations-host {
    grid-template-columns: minmax(0, 1fr);
  }
}

.reservations-host-figure {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.reservations-host-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

.reservations-hours-block h3 {
  font-size: 1.05rem;
  margin-bottom: var(--space-4);
}

.reservations-policy-copy p:last-child {
  margin-bottom: 0;
}

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

@media (max-width: 900px) {
  .reservations-location {
    grid-template-columns: minmax(0, 1fr);
  }
}

.reservations-location-figure {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.reservations-location-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reservations-links {
  padding-top: 0;
}

.reservations-links-card {
  background-color: rgba(248, 243, 235, 0.96);
}

.reservations-links-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
}

.reservations-links-grid h2 {
  margin-bottom: var(--space-6);
}

.reservations-links-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.reservations-hero-dining {
  background-image: url("/assets/images/dining-room-evening.webp");
  background-size: cover;
  background-position: center;
}

.hero-card-footer-link {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
