.hero--venue {
  background-color: var(--color-background);
}

.hero-venue__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.hero-venue__labels {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.hero-venue__layout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--space-7);
}

@media (max-width: 959.98px) {
  .hero-venue__layout {
    grid-template-columns: 1fr;
  }
}

.hero-venue__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.hero-venue__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.hero-venue__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.hero-venue__visual {
  align-self: stretch;
}

.hero-venue__image-frame {
  position: relative;
  border: var(--border-strong-thick);
  background: var(--color-surface-alt);
  padding: var(--space-4);
  box-shadow: var(--shadow-hard-lg);
}

.hero-venue__image {
  width: 100%;
  height: auto;
  border: var(--border-strong);
}

.hero-venue__stickers {
  position: absolute;
  inset: auto auto var(--space-4) var(--space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.hero-venue__sticker {
  padding: var(--space-1) var(--space-3);
  border: var(--border-strong);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 800;
  background: #ffffff;
}

.hero-venue__sticker--cyan {
  background: var(--color-primary);
}

.hero-venue__sticker--lime {
  background: var(--color-accent-lime);
}

@media (max-width: 640px) {
  .hero-venue__stickers {
    position: static;
    margin-top: var(--space-4);
  }
}

.section--venue-intro {
  background-color: var(--color-surface);
  border-bottom: var(--border-strong-thick);
}

.venue-intro__grid {
  margin-top: var(--space-4);
}

.section--tables {
  border-bottom: var(--border-strong-thick);
}

.tables__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: var(--space-8);
  align-items: flex-start;
}

@media (max-width: 959.98px) {
  .tables__layout {
    grid-template-columns: 1fr;
  }
}

.tables__image-wrap {
  max-width: 520px;
}

.tables__image {
  border: var(--border-strong);
}

.tables__chips-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.tables__chips-label {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
}

.tables__cards {
  margin-top: var(--space-2);
}

.tables__link {
  display: inline-flex;
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
}

.section--zones {
  background-color: var(--color-surface-alt);
  border-bottom: var(--border-strong-thick);
}

.zones__list,
.design__list,
.reservation__bullets {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.section--flex {
  border-bottom: var(--border-strong-thick);
}

.flex__grid {
  margin-top: var(--space-2);
}

.flex__link {
  display: inline-flex;
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
}

.section--design {
  background-color: var(--color-surface);
  border-bottom: var(--border-strong-thick);
}

.section--offline {
  border-bottom: var(--border-strong-thick);
}

.offline__grid {
  margin-top: var(--space-2);
}

.section--hosts {
  background-color: var(--color-surface-alt);
  border-bottom: var(--border-strong-thick);
}

.hosts__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: var(--space-8);
  align-items: flex-start;
}

@media (max-width: 959.98px) {
  .hosts__layout {
    grid-template-columns: 1fr;
  }
}

.hosts__image-frame {
  position: relative;
  border: var(--border-strong-thick);
  padding: var(--space-4);
  background: var(--color-background);
  box-shadow: var(--shadow-hard-md);
}

.hosts__image {
  border: var(--border-strong);
}

.hosts__badge {
  position: absolute;
  padding: var(--space-1) var(--space-3);
  border: var(--border-strong);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 800;
}

.hosts__badge--cyan {
  top: var(--space-4);
  left: var(--space-4);
  background: var(--color-primary);
}

.hosts__badge--lime {
  bottom: var(--space-4);
  right: var(--space-4);
  background: var(--color-accent-lime);
}

@media (max-width: 640px) {
  .hosts__badge {
    position: static;
    display: inline-flex;
    margin-top: var(--space-3);
    margin-right: var(--space-3);
  }
}

.hosts__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.hosts__cards {
  margin-top: var(--space-2);
}

.hosts__cta {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.hosts__text {
  margin-bottom: 0;
}

.section--gallery {
  border-bottom: var(--border-strong-thick);
}

.gallery__grid {
  margin-top: var(--space-2);
}

.section--reservation {
  background-color: var(--color-surface-alt);
}

.reservation__wrapper {
  box-shadow: var(--shadow-hard-lg);
}

.reservation__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: var(--space-8);
  align-items: flex-start;
}

@media (max-width: 959.98px) {
  .reservation__layout {
    grid-template-columns: 1fr;
  }
}

.reservation__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.reservation__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.reservation__steps {
  margin-top: var(--space-4);
  padding-left: var(--space-4);
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.reservation__steps li + li {
  margin-top: var(--space-2);
}

.reservation__note {
  margin-top: var(--space-4);
  font-size: var(--font-size-sm);
}
