main {
  background-color: var(--color-bg);
}

.hero--restaurant {
  position: relative;
  min-height: 72vh;
}

.hero--restaurant .hero-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero--restaurant .hero-inner {
  padding-block: var(--space-20);
}

.hero-ctas {
  flex-wrap: wrap;
}

.hero-badges .badge {
  background: rgba(248, 245, 240, 0.96);
  color: var(--color-gray-800);
}

.restaurant-block {
  align-items: center;
}

.restaurant-block-text {
  max-width: 640px;
}

.restaurant-block-media {
  max-height: 420px;
}

.restaurant-figure {
  height: 100%;
  box-shadow: var(--shadow-elevated);
}

.restaurant-experience-grid .card,
.restaurant-cta-grid .card {
  height: 100%;
}

.restaurant-gallery {
  align-items: stretch;
}

.restaurant-gallery-item {
  position: relative;
  height: 260px;
  box-shadow: var(--shadow-soft);
}

.small-text {
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
}

@media (max-width: 960px) {
  .hero--restaurant .hero-inner {
    padding-block: var(--space-16);
  }

  .restaurant-block-media {
    order: -1;
    max-height: 360px;
  }

  .restaurant-gallery-item {
    height: 220px;
  }
}

@media (max-width: 640px) {
  .hero--restaurant {
    min-height: 60vh;
  }

  .hero--restaurant .hero-inner {
    padding-block: var(--space-14);
  }

  .restaurant-gallery-item {
    height: 200px;
  }
}
