/* Seite „Tisch reservieren“ – nur das Formular, mittig. Assistent Uno · Due · Tre (page.js).
   Die Schritt-Karte (.rv-*) steht in src/assets/css/schritte.css (page.json → styles).
   Ohne JS: alle Abschnitte untereinander. Nur Variablen aus tokens.css, lokale Ableitungen unten. */

.res-hero .hero__inner { display: flex; flex-direction: column; align-items: center; }
.res-hero .heading { margin-bottom: 0; }
.res-kicker {
  order: -1; margin: 0 0 14px; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--c-gold);
}
.res-hero.hero--small { padding-bottom: 36px; }

.res-section { padding-top: 10px; overflow: hidden; }
.res-wrap { position: relative; }

.res-foot { text-align: center; font-size: 14px; color: var(--dim, rgba(255, 255, 255, .58)); margin: 28px auto 0; max-width: 720px; }
.res-foot a { color: var(--c-gold); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 767px) {
  .res-hero.hero--small { padding-bottom: 24px; }
}

.rv-resmio { margin: 16px 0 0; font-size: 13px; line-height: 1.6; color: var(--dim); text-align: center; }
.rv-resmio a { display: inline-flex; align-items: center; gap: 6px; color: var(--c-gold); text-decoration: underline; text-underline-offset: 3px; }

/* Mobil: nicht reservierbare Standorte kompakt (zwei Spalten, ohne Adresse) – spart Scrollweg */
@media (max-width: 767px) {
  .rv-places:has(.rv-place--aus) { grid-template-columns: 1fr 1fr; gap: 8px; }
  .rv-places > :not(.rv-place--aus) { grid-column: 1 / -1; }
  .rv-place--aus { padding: 10px 12px; gap: 0; }
  .rv-place--aus .rv-place__name { font-size: 16px; }
  .rv-place--aus .rv-place__firma { font-size: 11.5px; line-height: 1.35; }
  .rv-place--aus .rv-place__adr, .rv-place--aus .rv-place__tick { display: none; }
  .rv-place--aus .rv-place__aus { margin-top: 4px; font-size: 11px; line-height: 1.35; }
}
