/* ============================================================
   UI Sitewide v5 — apply polish rules to EVERY page surface
   Companion to ui-polish-v4.css. Does not remove content.
   ============================================================ */

:root {
  --sw-gold: #e8b84a;
  --sw-gold-bright: #f5d078;
  --sw-pad: clamp(0.95rem, 2vw, 1.25rem);
  --sw-gap: clamp(0.95rem, 2vw, 1.35rem);
  --sw-radius: 14px;
  --sw-card-shadow: 0 10px 28px rgba(0, 0, 0, 0.26), 0 0 0 1px rgba(148, 163, 184, 0.1);
}

/* ── Global page chrome ── */
.site-body .page-title-main,
.site-body .page-title-compact,
.site-body h1.page-title-main,
.public-landing-body .public-section-title,
.public-landing-body h1,
.public-landing-body h2.public-section-title {
  color: var(--sw-gold-bright);
}

.site-body .page-content.site-main,
.site-body .container.page-content {
  padding-left: clamp(0.85rem, 2.5vw, 1.35rem);
  padding-right: clamp(0.85rem, 2.5vw, 1.35rem);
  padding-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.site-body .subtitle {
  line-height: 1.5;
  margin-top: 0.35rem;
  margin-bottom: 0.85rem;
}

.site-body .section-header,
.site-body .section-title-sm,
.site-body h2.section-title {
  color: var(--sw-gold-bright);
  letter-spacing: 0.02em;
}

/* ── Universal card elevation + breathing room ── */
.site-body .card:not(.ad-slot):not(.filters-v2),
.site-body .signal-card,
.site-body .parlay-card,
.site-body .safe-bet-card,
.site-body .pick-card,
.site-body .bets-hub-card,
.site-body .live-board-card,
.site-body .tracker-bet-card,
.public-landing-body .card,
.public-landing-body .public-feature-card,
.public-landing-body .public-step-card,
.public-landing-body .public-review-card {
  border-radius: var(--sw-radius);
  box-shadow: var(--sw-card-shadow);
}

.site-body .card-tier-2,
.site-body .signal-card.card-tier-2,
.site-body .parlay-card.card-tier-2 {
  border-radius: var(--sw-radius);
}

/* ── Cap dense pick grids at 2 columns site-wide ── */
@media (min-width: 768px) {
  .site-body .signals-list.signals-page-grid,
  .site-body [data-list-root="signals-page"].signals-list,
  .site-body .signals-list.signals-board-grid,
  .site-body [data-list-root="daggers-page"].signals-list,
  .site-body [data-list-root="props-page"].signals-list,
  .site-body .parlays-list.parlays-page-grid,
  .site-body [data-list-root="parlays-page"].parlays-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--sw-gap) !important;
  }
}

@media (max-width: 767px) {
  .site-body .signals-list.signals-page-grid,
  .site-body [data-list-root="signals-page"].signals-list,
  .site-body .signals-list.signals-board-grid,
  .site-body [data-list-root="daggers-page"].signals-list,
  .site-body [data-list-root="props-page"].signals-list,
  .site-body .parlays-list.parlays-page-grid,
  .site-body [data-list-root="parlays-page"].parlays-list {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}

/* Bets hub, entity grids — 2-col readable cards */
@media (min-width: 768px) {
  .site-body .bets-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.15rem 1.35rem !important;
  }
}

@media (max-width: 767px) {
  .site-body .bets-hub-grid {
    grid-template-columns: 1fr !important;
  }
}

.site-body .bets-hub-card {
  padding: 1.15rem 1.2rem !important;
  min-height: 7.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.site-body .bets-hub-card h2,
.site-body .bets-hub-card h3 {
  color: var(--sw-gold-bright);
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0;
}

.site-body .bets-hub-link {
  margin-top: auto;
  font-weight: 700;
  color: var(--sw-gold-bright);
}

/* ── Command center / list rails ── */
.site-body .command-center {
  gap: 1.25rem 1.5rem;
}

.site-body .command-feed {
  min-width: 0;
}

.site-body .list-page-header {
  margin-bottom: 1.15rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.site-body .list-page-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Filters, chips, forms — touch + spacing */
.site-body .filter-chip,
.site-body .filters-v2 .btn-sm,
.site-body .filters-quick-apply {
  min-height: 2.4rem;
  font-weight: 700;
}

.site-body .filters-v2 {
  gap: 0.75rem;
  padding: 0.85rem 0;
}

/* ── Intel metrics everywhere ── */
.site-body .intel-big-four {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.55rem !important;
  padding: 0.8rem 0.85rem !important;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(232, 184, 74, 0.08), rgba(15, 23, 42, 0.6));
  border: 1px solid rgba(232, 184, 74, 0.22);
}

.site-body .intel-metric-value {
  font-size: 1.2rem !important;
  font-weight: 800 !important;
}

.site-body .intel-metric-label {
  font-size: 0.7rem !important;
  color: var(--sw-gold-bright) !important;
  font-weight: 700 !important;
}

@media (max-width: 640px) {
  .site-body .intel-big-four {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ── Tables / boards ── */
.site-body .responsive-table-wrap,
.site-body .table-scroll-wrap,
.site-body .schedule-table-wrap {
  margin: 0.85rem 0 1.15rem;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  overflow: auto;
}

.site-body table th {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0.75rem 0.85rem !important;
}

.site-body table td {
  padding: 0.7rem 0.85rem !important;
  line-height: 1.4;
}

/* ── Tracker / account / detail sections ── */
.site-body .tracker-bet-summary,
.site-body .tracker-bet-summary-grid,
.site-body .bet-intel-section,
.site-body .dna-dashboard-grid {
  gap: 1rem;
}

.site-body .tracker-bet-card,
.site-body .bet-intel-section.card {
  padding: var(--sw-pad);
  margin-bottom: 1rem;
}

.site-body .dna-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
}

@media (max-width: 767px) {
  .site-body .dna-dashboard-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Game / team / player entity pages ── */
.site-body .game-detail-grid,
.site-body .entity-grid,
.site-body .team-page-grid,
.site-body .player-page-layout {
  gap: 1.25rem;
}

.site-body .detail-box,
.site-body .entity-section.card {
  padding: var(--sw-pad);
  margin-bottom: 1rem;
  border-radius: var(--sw-radius);
}

/* ── Admin shell (keep tools usable, more air) ── */
.site-body .admin-shell {
  gap: 1.15rem;
}

.site-body .admin-shell-main .card,
.site-body .admin-shell-main .admin-panel {
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
  border-radius: 12px;
}

.site-body .admin-shell-main h1,
.site-body .admin-shell-main h2 {
  color: var(--sw-gold-bright);
}

/* ── Empty states / load more ── */
.site-body .empty,
.site-body p.empty {
  padding: 1.25rem 1rem;
  line-height: 1.5;
}

.site-body [data-load-more],
.site-body .list-load-more .btn {
  min-height: 2.75rem;
  font-weight: 700;
}

/* ── Assist / side panels ── */
.site-body .assist-panel,
.site-body .command-rail,
.site-body .utility-rail {
  gap: 0.85rem;
}

.site-body .command-rail .card,
.site-body .utility-rail .card {
  padding: 0.95rem 1rem;
  margin-bottom: 0.85rem;
}

/* ═══════════════════════════════════════════════════════════
   Public landing page
   ═══════════════════════════════════════════════════════════ */

.public-landing-body .public-landing-main {
  padding-bottom: 2.5rem;
}

.public-landing-body .public-section {
  padding-top: clamp(1.75rem, 4vw, 2.75rem);
  padding-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.public-landing-body .public-section-title,
.public-landing-body .public-section h2 {
  color: var(--sw-gold-bright);
  font-weight: 800;
  margin-bottom: 0.85rem;
  line-height: 1.2;
}

.public-landing-body .public-section-lead,
.public-landing-body .public-section p.lead {
  line-height: 1.55;
  max-width: 48rem;
  margin-bottom: 1.15rem;
}

/* Landing real class names — max 2 cols for readable feature/intel tiles */
.public-landing-body .public-feature-strip-grid,
.public-landing-body .public-intel-cards,
.public-landing-body .public-stat-grid {
  gap: 1.15rem 1.35rem !important;
}

@media (min-width: 768px) {
  .public-landing-body .public-feature-strip-grid,
  .public-landing-body .public-intel-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .public-landing-body .public-feature-strip-grid,
  .public-landing-body .public-intel-cards,
  .public-landing-body .public-spotlight-metrics--full,
  .public-landing-body .public-parlay-layout,
  .public-landing-body .public-spotlight-grid {
    grid-template-columns: 1fr !important;
  }
}

.public-landing-body .public-feature-tile,
.public-landing-body .public-intel-card {
  padding: 1.2rem 1.25rem !important;
  border-radius: var(--sw-radius);
  min-height: 7.5rem;
  box-shadow: var(--sw-card-shadow);
}

.public-landing-body .public-feature-tile h3,
.public-landing-body .public-intel-card h3,
.public-landing-body .intel-card-header {
  color: var(--sw-gold-bright);
  font-weight: 800;
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
}

.public-landing-body .public-feature-tile p,
.public-landing-body .intel-definition {
  line-height: 1.55;
  margin: 0;
}

.public-landing-body .public-section {
  padding-left: clamp(0.85rem, 3vw, 1.5rem);
  padding-right: clamp(0.85rem, 3vw, 1.5rem);
}

.public-landing-body .public-section-head {
  margin-bottom: 1.15rem;
}

.public-landing-body .public-section-head h2 {
  color: var(--sw-gold-bright);
  font-weight: 800;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.public-landing-body .public-metric-tile {
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  min-height: 4rem;
}

.public-landing-body .public-metric-val,
.public-landing-body .public-stat-value {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--sw-gold-bright);
}

.public-landing-body .public-parlay-card {
  padding: 1.15rem 1.2rem !important;
  border-radius: var(--sw-radius);
}

.public-landing-body .public-parlay-leg {
  padding: 0.65rem 0.75rem;
  margin-bottom: 0.45rem;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background: rgba(7, 11, 16, 0.35);
}

.public-landing-body .public-bgf-layout {
  padding: 1.2rem 1.25rem;
  border-radius: var(--sw-radius);
  gap: 1rem;
}

/* Hero / POD on landing */
.public-landing-body .public-hero {
  padding-bottom: 1.5rem;
}

.public-landing-body .public-hero-main-title {
  line-height: 1.12;
  margin-bottom: 0.85rem;
}

.public-landing-body .public-pick-of-day,
.public-landing-body .pick-of-day.card-tier-1 {
  padding: 1.25rem 1.35rem !important;
  border-radius: 16px;
  margin: 1rem 0 1.35rem;
}

.public-landing-body .pick-of-day-pick-name {
  font-size: clamp(1.25rem, 2.5vw, 1.55rem) !important;
  font-weight: 800 !important;
}

.public-landing-body .pick-of-day-metrics {
  gap: 0.75rem !important;
  margin-top: 1rem !important;
}

.public-landing-body .pick-of-day-metric-value {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
}

.public-landing-body .pick-of-day-actions {
  gap: 0.75rem !important;
  margin-top: 1.1rem !important;
}

.public-landing-body .pick-of-day-cta,
.public-landing-body .btn-primary,
.public-landing-body .public-cta-primary {
  min-height: 2.85rem;
  font-weight: 800;
  width: auto;
  max-width: min(100%, 22rem);
  box-sizing: border-box;
}

/* Stats strip on landing */
.public-landing-body .public-stats-row,
.public-landing-body .public-metric-row {
  gap: 0.85rem !important;
  margin: 1.15rem 0 !important;
}

.public-landing-body .public-stat-chip,
.public-landing-body .public-metric-chip {
  padding: 0.85rem 1rem !important;
  border-radius: 12px;
  min-height: 4.25rem;
}

/* Footer on public */
.public-landing-body .public-landing-footer,
.public-landing-body .unified-public-footer-inner {
  padding-top: 1.5rem;
  padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
}

/* ── Pricing / about / static content ── */
.site-body .pricing-grid,
.site-body .about-grid,
.site-body .plan-cards {
  gap: 1.15rem;
}

@media (min-width: 768px) {
  .site-body .pricing-grid,
  .site-body .plan-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .site-body .pricing-grid,
  .site-body .plan-cards {
    grid-template-columns: 1fr !important;
  }
}

/* ── Standings / leaders chips ── */
.site-body .standings-chip,
.site-body .meta-chip,
.site-body .league-tag {
  font-weight: 700;
}

/* ── Community / chat shells ── */
.site-body .community-fullpage-layout,
.site-body .community-chat-shell {
  gap: 1rem;
}

/* ── Global mobile stack pass ── */
@media (max-width: 767px) {
  .site-body .page-title-main {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }

  .site-body .command-center {
    gap: 1rem;
  }

  .site-body .list-page-header {
    margin-bottom: 0.9rem;
  }

  .site-body .card,
  .site-body .signal-card,
  .site-body .parlay-card {
    margin-bottom: 0;
  }

  .public-landing-body .public-section {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

/* ── Entity / positions / live board cards ── */
@media (min-width: 768px) {
  .site-body .positions-grid,
  .site-body .home-games-track:not([data-home-games-track]),
  .site-body .sitemap-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.1rem 1.25rem !important;
  }
}

@media (max-width: 767px) {
  .site-body .positions-grid,
  .site-body .sitemap-grid {
    grid-template-columns: 1fr !important;
  }
}

.site-body .positions-grid > *,
.site-body .live-board-card {
  border-radius: var(--sw-radius);
  padding: 0.95rem 1rem;
}

/* League home / leaders toolbar air */
.site-body .league-home-grid,
.site-body .leaders-toolbar,
.site-body .stats-view-tabs {
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.site-body .league-home-section.card,
.site-body .leaders-panel.card {
  padding: var(--sw-pad);
  margin-bottom: 1.1rem;
}

/* Tracker list cards */
.site-body .tracker-list,
.site-body .tracker-bets-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.site-body .tracker-bet-card {
  padding: 1.05rem 1.15rem !important;
}

/* Terminal / BGF boards */
.site-body .terminal-board,
.site-body .bgf-pick-grid,
.site-body .bgf-league-grid {
  gap: 1rem;
}

@media (min-width: 768px) {
  .site-body .bgf-league-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ── Prefer reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .site-body *,
  .public-landing-body * {
    scroll-behavior: auto;
  }
}
