.restaurant-hero {
  min-height: 60vh;
  background: radial-gradient(circle at top left, #fdf4e3, #ffffff);
}

.restaurant-hero-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 0 0 32px 32px;
}

.restaurant-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
}

.restaurant-hero-overlay {
  background: linear-gradient(
    120deg,
    rgba(15, 23, 42, 0.65),
    rgba(15, 23, 42, 0.15)
  );
}

.restaurant-hero-frame {
  max-width: 36rem;
}

.hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.restaurant-section-grid {
  align-items: center;
}

.restaurant-media-block {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-medium);
}

.restaurant-media-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.restaurant-highlight-card,
.restaurant-wine-card,
.restaurant-zones-card,
.restaurant-reservation-card,
.restaurant-design-card,
.restaurant-social-card {
  height: 100%;
}

.restaurant-testimonials-grid .card {
  height: 100%;
}

@media (min-width: 1024px) {
  .restaurant-hero {
    min-height: 70vh;
  }

  .restaurant-hero-frame {
    margin-left: 0;
  }
}

@media (max-width: 767.98px) {
  .restaurant-hero-media {
    border-radius: 0 0 24px 24px;
  }

  .restaurant-hero-frame {
    margin-top: 4rem;
  }
}
