/* ==========================================================================
   Home page styles — extends css/site.css (loads after it).
   Uses only tokens from css/tokens.css; no palette hexes redefined.
   ========================================================================== */

/* --- Hero: nudge crop so the lanes' vanishing point sits behind the copy */
.hero-home .hero__media img { object-position: center 62%; }

/* --- What's On cards: equal height, meta line + push link to the bottom */
.whatson-card {
  display: flex;
  flex-direction: column;
}
.whatson-card p { flex: 1 0 auto; }
.whatson-card .card__more {
  font-weight: 600;
  align-self: flex-start;
}

/* --- Community story (.pullquote is shared — lives in css/site.css) */
.community-media {
  max-width: 1080px;   /* car-show.jpg is 1140px — never render it larger */
  margin-inline: auto;
  margin-top: var(--space-7);
}

/* --- Rates teaser cards (shared .rate-card recipe lives in site.css) */
.rate-card p:last-child { margin-bottom: 0; }
.rates-footnote {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-7);
}

/* --- Venue figures (Grill / Pro Shop) */
.venue-figure h3 { margin-top: var(--space-4); }
.venue-figure p { margin-bottom: var(--space-3); }

/* --- After Dark: HyperBowling strip divider + rooms */
.hyper-strip {
  border-top: 2px solid var(--amber);
  border-bottom: 2px solid var(--amber);
  overflow: hidden;
}
.hyper-strip img {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  display: block;
}
.afterdark-card .photo-frame { margin-bottom: var(--space-4); }
.afterdark-card p { color: var(--cream); }

/* Happy Hour callout row inside After Dark */
.happyhour {
  display: grid;
  grid-template-columns: minmax(0, 320px) 1fr;
  gap: var(--space-7);
  align-items: center;
  margin-top: var(--space-8);
}
@media (max-width: 700px) {
  .happyhour { grid-template-columns: 1fr; }
  .happyhour .window-poster { max-width: 320px; }
}
.happyhour h3 { margin-bottom: var(--space-2); }

/* --- Party CTA banner (Felt Green room) */
.party-banner {
  background: var(--felt);
  color: var(--btn-label);
}
.party-banner h2 { color: var(--btn-label); }
.party-banner .eyebrow { color: var(--btn-label); opacity: .9; }
.party-banner p { color: var(--btn-label); }
.party-banner a:not(.btn) { color: var(--btn-label); }
.party-banner .party-phone {
  font-family: var(--font-mono);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.party-banner__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--space-5);
  margin-top: var(--space-6);
}

/* --- Gallery strip */
.gallery-grid { margin-top: var(--space-6); }
.gallery-grid .figure figcaption { text-align: center; }
.home-signoff {
  text-align: center;
  margin-top: var(--space-7);
}
