/* Existing District brand, with a photo-backed football schedule. */
:root {
  --gd-space-2: .5rem;
  --gd-space-3: .75rem;
  --gd-space-4: 1rem;
  --gd-space-6: 1.5rem;
  --gd-space-8: 2rem;
  --gd-space-10: 2.5rem;
  --gd-small: .75rem;
  --gd-ui: .875rem;
  --gd-body: 1rem;
  --gd-heading: clamp(1.5rem, 2vw, 1.875rem);
}
:root:has(body.district-home) { --header-h: 156px; scroll-padding-top: 172px; }
.district-gallery .header-inner { min-height: 92px; }
.social-utility {
  display: flex; align-items: center; justify-content: center;
  gap: var(--gd-space-6); min-height: 44px; padding: 0 var(--gd-space-4);
  background: #10100f; color: #fff; border-block: 1px solid var(--line-dark);
}
.social-utility > span { color: #d6ba76; text-transform: uppercase; letter-spacing: .12em; font-size: var(--gd-small); }
.social-utility a { display: inline-flex; align-items: center; min-height: 44px; gap: var(--gd-space-2); font-size: var(--gd-small); font-weight: 600; text-decoration: none; }
.social-utility .utility-review { color: #f1d595; }
.social-utility a:hover { text-decoration: underline; text-underline-offset: 4px; }
.connect-direct-links { display: flex; flex-wrap: wrap; gap: var(--gd-space-4); margin: 0 0 var(--gd-space-10); }
.connect-direct-links a { display: flex; gap: var(--gd-space-6); align-items: center; justify-content: space-between; min-height: 52px; padding: var(--gd-space-3) var(--gd-space-6); border: 1px solid #d6ba76; color: #fff; text-decoration: none; font-size: var(--gd-ui); font-weight: 600; flex: 1; }
.connect-direct-links a:hover { background: #24211a; }
.connect-direct-links .review-direct { background: var(--accent); color: var(--accent-ink); }
.connect-direct-links .review-direct:hover { background: #e2c578; }
.district-home main > section#game-day.section {
  background-color: #0a0a0a;
  background-image: linear-gradient(90deg, rgba(0,0,0,.77), rgba(0,0,0,.38)), url('assets/photos/game-day-background.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
}
.game-day-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.game-day-intro { padding-top: 0; }
.game-day-intro .section-title { color: #fff; font-size: clamp(2rem, 3vw, 2.5rem); line-height: 1.25; }
.game-day-lead { font-size: var(--gd-body); line-height: 1.85; max-width: 36ch; color: #fff; margin: 0 0 var(--gd-space-8); }
.game-day-viewing { font-size: var(--gd-small); line-height: 1.8; max-width: 42ch; margin: var(--gd-space-6) 0 0; color: #eee; }
.football-board { background: #f6f4ef; color: #141414; border-top: 3px solid var(--accent); min-width: 0; }
.football-board-heading { display: flex; justify-content: space-between; align-items: center; gap: var(--gd-space-4); padding: var(--gd-space-6); }
.football-board-heading .eyebrow { font-size: var(--gd-small); margin-bottom: var(--gd-space-2); letter-spacing: .1em; }
.football-board-heading h3 { font-size: var(--gd-heading); line-height: 1.3; margin: 0; font-weight: 500; }
.schedule-timezone { font-size: var(--gd-small); color: #595959; white-space: nowrap; }
.football-tabs { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid #d8d3c9; }
.football-tabs button { min-height: 52px; border: 0; background: #e8e4db; color: #3b3832; font: 600 var(--gd-ui)/1.5 var(--font-body); cursor: pointer; border-bottom: 3px solid transparent; }
.football-tabs button[aria-selected="true"] { background: #141414; color: #f1d595; border-bottom-color: var(--accent); }
.football-tools { display: flex; align-items: center; flex-wrap: wrap; gap: var(--gd-space-3); padding: var(--gd-space-4) var(--gd-space-6); border-bottom: 1px solid #d8d3c9; }
.football-tools label { font-size: var(--gd-small); }
.football-tools select { min-height: 44px; min-width: 0; flex: 1; width: 120px; background: #fff; border: 1px solid #b7b1a5; padding: var(--gd-space-2); font: 500 var(--gd-small)/1.5 var(--font-body); color: #141414; }
.football-tools button { min-height: 44px; border: 0; background: transparent; color: #564017; text-decoration: underline; text-underline-offset: 3px; font: 600 var(--gd-small)/1.5 var(--font-body); cursor: pointer; }
.football-tools button:disabled { color: #626262; cursor: wait; }
#football-panel { max-height: 430px; overflow: auto; overscroll-behavior: contain; scrollbar-color: #b69a5a #e8e4db; }
.football-feedback { padding: var(--gd-space-8) var(--gd-space-6); margin: 0; color: #595959; font-size: var(--gd-ui); line-height: 1.8; }
.football-feedback[hidden] { display: none; }
.football-day { margin: 0; padding: var(--gd-space-3) var(--gd-space-6); font: 600 var(--gd-small)/1.6 var(--font-body); letter-spacing: .06em; background: #e8e4db; color: #514b40; }
.football-game { padding: var(--gd-space-4) var(--gd-space-6); border-bottom: 1px solid #ddd7cd; }
.football-game:last-child { border-bottom: 0; }
.football-game-top { display: flex; align-items: center; justify-content: space-between; gap: var(--gd-space-4); margin-bottom: var(--gd-space-3); }
.football-status { font-size: var(--gd-small); color: #595959; }
.football-status.is-live { color: #813412; font-weight: 700; }
.football-status.is-live::before { content: ''; display: inline-block; width: 6px; height: 6px; background: currentColor; border-radius: 50%; margin-right: 6px; }
.football-network { font-size: var(--gd-small); text-align: right; color: #595959; }
.football-team { display: flex; justify-content: space-between; align-items: start; gap: var(--gd-space-4); font-size: var(--gd-ui); line-height: 1.7; }
.football-team + .football-team { margin-top: var(--gd-space-2); }
.football-team strong { font-variant-numeric: tabular-nums; }
.football-source { border-top: 1px solid #d8d3c9; padding: var(--gd-space-4) var(--gd-space-6); }
.football-source p { font-size: var(--gd-small); color: #595959; line-height: 1.8; margin: 0; }
.football-source p + p { margin-top: var(--gd-space-2); }
.football-source a { color: #564017; font-weight: 600; text-underline-offset: 3px; }
.game-day-specials { background: rgba(0,0,0,.82); border-top: 1px solid rgba(255,255,255,.25); margin-top: var(--gd-space-10); padding: var(--gd-space-6); }
.game-day-specials .eyebrow { font-size: var(--gd-small); margin-bottom: var(--gd-space-4); }
.game-day-specials .game-day-offers { display: flex; flex-wrap: wrap; gap: var(--gd-space-6) var(--gd-space-10); margin: 0; padding: 0; border: 0; }
.game-day-specials .game-day-offers > div { display: block; padding: 0; border: 0; }
.game-day-specials dt { font-size: var(--gd-small); color: #e8e4db; }
.game-day-specials dd { margin: var(--gd-space-2) 0 0; font-size: 1.25rem; color: #f1d595; }
.price-unit, .hh-grid .menu-item .price-unit { font-size: max(.65em, .75rem); font-weight: 500; letter-spacing: 0; }
.game-day-specials .game-day-disclaimer { font-size: var(--gd-small); line-height: 1.8; color: #ddd; margin: var(--gd-space-6) 0 0; }
@media (max-width: 1000px) {
  .game-day-layout { grid-template-columns: minmax(0, 1fr); }
  .game-day-intro { max-width: 600px; padding: 0; }
  .game-day-intro .section-title { font-size: clamp(2rem, 5vw, 2.75rem); }
  .game-day-lead { max-width: 48ch; }
  .football-board { width: 100%; }
  .district-home main > section#game-day.section {
    /* Keep the whole landscape composition on narrow screens.
       A mobile-width photo cannot fill a tall stacked section without cropping;
       blend its full-width frame into the dark background instead. */
    background-image:
      linear-gradient(to bottom, rgba(0,0,0,.5) 0, rgba(0,0,0,.58) 46vw, #0a0a0a 68vw),
      url('assets/photos/game-day-background.webp');
    background-size: 100% 100%, 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
  }
}
@media (max-width: 800px) {
  :root:has(body.district-home) { --header-h: 124px; scroll-padding-top: 140px; }
  .district-gallery .header-inner { min-height: 80px; }
  .social-utility { gap: var(--gd-space-6); }
  .social-utility > span { display: none; }
  .connect-direct-links { flex-direction: column; }
  .football-board-heading { padding: var(--gd-space-6) var(--gd-space-4); }
  .football-tools, .football-game, .football-source { padding-inline: var(--gd-space-4); }
  .football-day { padding-inline: var(--gd-space-4); }
  .game-day-specials { padding: var(--gd-space-6) var(--gd-space-4); }
}
@media (max-width: 360px) {
  .social-utility { gap: var(--gd-space-4); padding-inline: var(--gd-space-2); }
  .football-tools label { flex-basis: 100%; }
}

/* A call-first invitation, without unconfirmed packages or booking promises. */
.district-home main > section#parties { background: #11110f; color: #fff; }
.party-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.party-copy .section-title { color: #fff; font-size: clamp(1.875rem, 3.2vw, 2.75rem); line-height: 1.25; margin-bottom: var(--gd-space-6); }
.party-script { font-family: 'Modernline', cursive; font-size: clamp(2rem, 3.2vw, 3rem); color: #e5c578; line-height: 1.65; margin: 0 0 var(--gd-space-6); }
.party-copy > p:not(.eyebrow):not(.party-script) { max-width: 46ch; font-size: var(--gd-body); color: #e5e2dc; line-height: 1.9; margin: 0 0 var(--gd-space-8); }
.party-copy .btn { max-width: 100%; }
.party-phone { display: block; width: fit-content; color: #e5c578; font-size: 1.125rem; margin-top: var(--gd-space-4); text-decoration: none; letter-spacing: .04em; }
.party-phone:hover { text-decoration: underline; text-underline-offset: 4px; }
.party-photo { margin: 0; }
.party-photo img { width: 100%; aspect-ratio: 4 / 4.2; object-fit: cover; display: block; }
@media (max-width: 800px) {
  .party-layout { grid-template-columns: minmax(0, 1fr); gap: var(--gd-space-10); }
  .party-photo img { aspect-ratio: 4 / 3; }
  .party-copy .btn { padding-inline: var(--gd-space-4); }
}
