html {
  scroll-padding-top: var(--header-height-mobile);
}

@media (min-width: 992px) {
  html {
    scroll-padding-top: var(--header-height-desktop);
  }
}

.restaurant-venue-page {
  background: radial-gradient(circle at top, rgba(216, 183, 107, 0.16), transparent 55%), var(--color-bg-body);
}

.hero-restaurant {
  color: var(--color-text-on-dark);
}

.hero-panel-restaurant {
  animation: heroFadeInUp var(--transition-slow) ease-out both;
}

.section-venue-intro {
  position: relative;
}

.venue-intro-grid {
  gap: var(--grid-gap-xl);
}

.venue-intro-text {
  min-width: 0;
}

.venue-intro-media {
  min-width: 0;
}

.venue-media-figure {
  box-shadow: var(--shadow-soft);
}

.venue-section-header {
  max-width: 720px;
  margin-inline: auto;
}

.venue-services-grid {
  align-items: stretch;
}

.venue-service-card {
  height: 100%;
}

.venue-service-list {
  margin-top: var(--space-md);
  padding-left: 1.2em;
  list-style: disc;
}

.venue-service-list li {
  margin: 0.25em 0;
}

.section-venue-gallery {
  position: relative;
}

.venue-gallery-grid {
  margin-top: var(--space-xl);
}

.venue-gallery-item {
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.venue-gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-soft);
}

.venue-gallery-cta .btn {
  min-width: 0;
}

.section-venue-reservation {
  background: radial-gradient(circle at top left, rgba(216, 183, 107, 0.18), transparent 55%);
}

.venue-reservation-card {
  background: radial-gradient(circle at top left, rgba(216, 183, 107, 0.18), transparent 60%), var(--color-bg-glass-strong);
  backdrop-filter: blur(10px);
}

.venue-reservation-media {
  min-width: 0;
}

.venue-reservation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}

.venue-reservation-actions .btn {
  max-width: 100%;
}

.venue-reservation-note {
  margin-top: var(--space-md);
}

@media (max-width: 767.98px) {
  .venue-reservation-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .venue-reservation-actions .btn {
    width: 100%;
  }
}

@media (max-width: 991.98px) {
  .venue-intro-grid {
    gap: var(--grid-gap-lg);
  }
  .venue-gallery-grid {
    margin-top: var(--space-lg);
  }
}

@keyframes heroFadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
