/*
 * Snap Decision — PRIME TIME theme (7.0)
 * Load AFTER style.css / tools.css / gameday.css on every public page.
 * Cream neo-brutalist sports editorial per approved mockups/mockup-b-prime-time.html v3.
 * Spec: specs/snap-decision-7.0-prime-time-redesign.md
 */

/* ── A. Token flip ─────────────────────────────────────────── */
:root {
  --color-bg:        #F7F3EA;
  --color-card:      #FFFFFF;
  --color-card-dark: #FFF8EC;
  --color-surface:   #FFFFFF;

  --color-blue:   #0177FB;
  --color-orange: #F97B00;
  --color-visor:  #1E8FE0;               /* darkened for AA on light */

  --color-text:  #0A0E1A;
  --color-muted: #4A5260;

  --color-border:     rgba(10, 14, 26, 0.85);
  --color-blue-glow:  rgba(1, 119, 251, 0.18);
  --color-orange-dim: rgba(249, 123, 0, 0.12);

  --pt-ink: #0A0E1A;
  --pt-shadow: 4px 4px 0 var(--pt-ink);
  --pt-shadow-sm: 3px 3px 0 var(--pt-ink);
}

html, body { background: var(--color-bg); color: var(--color-text); }

/* ── Density ───────────────────────────────────────────────── */
h1 { font-size: clamp(1.7rem, 4.6vw, 3.2rem) !important; line-height: 1.08; }
h2 { font-size: clamp(1.2rem, 3vw, 1.8rem); }
section, .section { padding-top: clamp(1.6rem, 4vw, 2.6rem); padding-bottom: clamp(1.6rem, 4vw, 2.6rem); }

.pt-hollow { color: transparent; -webkit-text-stroke: 2px var(--pt-ink); }
.pt-hit { color: var(--color-orange); display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
  .pt-hit { animation: pt-stamp .5s cubic-bezier(.2,1.6,.4,1) .3s both; }
  @keyframes pt-stamp { from { transform: scale(1.4) rotate(-5deg); opacity: 0; } }
}

/* ── Buttons ───────────────────────────────────────────────── */
.btn, button.btn, a.btn {
  border: 2.5px solid var(--pt-ink) !important;
  border-radius: 9px !important;
  box-shadow: var(--pt-shadow);
  font-size: 0.62rem !important;
  letter-spacing: 0.08em;
  padding: 9px 15px !important;
  background: #fff;
  color: var(--pt-ink);
  transition: transform .12s, box-shadow .12s;
}
.btn:hover { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--pt-ink); }
/* Orange stays the brand accent for borders/badges/text; button FILLS use a darker
   shade so white button text clears WCAG AA (4.29:1 vs 2.67:1 on #F97B00). */
.btn-orange, .btn.orange, button.btn-orange { background: #C25E00 !important; color: #fff !important; }
.btn-blue, .btn.blue { background: var(--color-blue) !important; color: #fff !important; }
.btn-sm { padding: 7px 12px !important; }
.btn-sync, .lc-btn, .lc-pull-btn, .sync-btn {
  border: 2px solid var(--pt-ink) !important; border-radius: 8px !important;
  box-shadow: var(--pt-shadow-sm); background: #fff; color: var(--pt-ink);
}
.lc-btn { background: var(--color-blue); color: #fff; }
.lc-pull-btn { background: var(--color-orange); color: #fff !important; }
.btn-save { border: 2.5px solid var(--pt-ink); box-shadow: var(--pt-shadow-sm); }

/* ── Nav ───────────────────────────────────────────────────── */
.nav {
  background: var(--color-bg) !important;
  border-bottom: 3px solid var(--pt-ink) !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
.nav-inner, .nav-in { padding-top: 9px; padding-bottom: 9px; }
.nav-logo-img { height: 30px !important; }
.nav-links a { color: var(--color-muted); font-weight: 700; }
.nav-links a:hover { color: var(--color-blue); }
.hamburger span { background: var(--pt-ink) !important; }
.mobile-menu { background: var(--color-bg) !important; border-left: 3px solid var(--pt-ink); }
.mobile-menu a { color: var(--color-text) !important; }
.menu-overlay { background: rgba(10, 14, 26, 0.5) !important; }

/* ── SNAP WIRE ticker (markup injected by main.js) ─────────── */
.pt-ticker {
  background: var(--pt-ink); color: #fff; overflow: hidden; white-space: nowrap;
  font-family: 'Orbitron', sans-serif; font-size: 0.6rem; letter-spacing: 0.1em; padding: 6px 0;
}
.pt-ticker-track { display: inline-block; animation: pt-tick 36s linear infinite; }
.pt-ticker:hover .pt-ticker-track { animation-play-state: paused; }
.pt-ticker em { color: var(--color-orange); font-style: normal; }
.pt-ticker b { color: #46BEFF; }
@keyframes pt-tick { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .pt-ticker-track { animation: none; }
  .pt-hit { animation: none; }
}

/* ── Cards & panels (site-wide re-skin) ────────────────────── */
.tool-card, .dash-card, .card, .bundle-card, .price-card, .alert-card,
.form-card, .result-card, .results-panel, .panel, .lc-banner {
  background: var(--color-card);
  border: 2.5px solid var(--pt-ink) !important;
  border-radius: 15px;
  box-shadow: var(--pt-shadow);
  transition: transform .13s;
}
.tool-card:hover, .bundle-card:hover { transform: translateY(-4px); border-color: var(--pt-ink) !important; }
.tool-card::before { display: none; }
.dash-card-header { border-bottom: 2px solid var(--pt-ink) !important; }
.hq-box, .dash-box { background: var(--color-card); border: 2px solid var(--pt-ink) !important; }
.bundle-card.featured, .pcard.mid { background: var(--color-blue); color: #fff; }

/* Pricing trading cards */
.pt-mvp {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: var(--color-orange); color: #fff; border: 2.5px solid var(--pt-ink);
  font-family: 'Orbitron', sans-serif; font-size: 0.52rem; letter-spacing: 0.12em;
  padding: 4px 12px; border-radius: 999px; white-space: nowrap;
}

/* ── Forms ─────────────────────────────────────────────────── */
.form-input, .field-input, .lc-input, .lc-select, input[type="text"], input[type="email"],
input[type="tel"], input[type="password"], input[type="date"], select, textarea {
  background: #fff !important; color: var(--color-text) !important;
  border: 2px solid var(--pt-ink) !important; border-radius: 8px !important;
}
.form-input:focus, .field-input:focus, input:focus, select:focus, textarea:focus {
  outline: 2px solid var(--color-blue) !important; outline-offset: 1px; border-color: var(--color-blue) !important;
}
.freq-pill, .gd-tab, .chip, .tog-btn {
  border: 2px solid var(--pt-ink) !important; background: #fff; color: var(--color-muted);
}
.freq-pill.active, .gd-tab.on, .tog-btn.active {
  background: var(--color-blue) !important; border-color: var(--pt-ink) !important; color: #fff !important;
  box-shadow: var(--pt-shadow-sm);
}
.day-btn { border: 2px solid var(--pt-ink) !important; color: var(--color-muted); }
.day-btn.selected { background: var(--color-orange) !important; color: #fff !important; }

/* ── gameday.css light adaptation ──────────────────────────── */
.gd-field {
  background-color: var(--color-bg);
  background-image:
    repeating-linear-gradient(90deg,
      transparent 0, transparent 119px,
      rgba(10, 14, 26, 0.05) 119px, rgba(10, 14, 26, 0.05) 120px),
    repeating-linear-gradient(0deg,
      transparent 0, transparent 39px,
      rgba(10, 14, 26, 0.03) 39px, rgba(10, 14, 26, 0.03) 40px);
}
.gd-endzone {
  background: repeating-linear-gradient(-45deg,
    rgba(1, 119, 251, 0.10) 0, rgba(1, 119, 251, 0.10) 10px,
    rgba(1, 119, 251, 0.04) 10px, rgba(1, 119, 251, 0.04) 20px);
  border-top: 2px solid var(--pt-ink); border-bottom: 2px solid var(--pt-ink);
}
.gd-chains { border: 2px solid var(--pt-ink); background:
  repeating-linear-gradient(90deg, transparent 0, transparent 29px, rgba(10,14,26,.15) 29px, rgba(10,14,26,.15) 31px); }
.gd-chains-label { color: var(--color-muted); }
.gd-flag { background: rgba(249, 123, 0, 0.07); border: 2px solid var(--color-orange); color: var(--color-text); }
.gd-stat-table th { color: var(--color-muted); border-bottom: 2px solid var(--pt-ink); }
.gd-stat-table td { color: var(--color-text); border-bottom: 1px solid rgba(10, 14, 26, 0.12); }
.gd-stat-table tbody tr:nth-child(odd) { background: rgba(10, 14, 26, 0.025); }
.gd-stat-table tbody tr:hover { background: rgba(1, 119, 251, 0.07); }
.gd-scoring-pill { border: 2px solid var(--pt-ink); color: var(--color-blue); }
.gd-attrib { color: var(--color-muted); }
.gd-attrib a { color: var(--color-blue); }
.gd-tabs .gd-tab { color: var(--color-muted); }
.gd-chart-note { color: var(--color-muted); }

/* ── Dashboard specifics that must stay legible on light ───── */
.notice-green { background: #E9FBEF; border: 2px solid #1E9E55 !important; color: var(--color-text); }
.notice-amber { background: #FFF3E4; border: 2px solid var(--color-orange) !important; color: var(--color-text); }
.lg-plat, .tier-tag { border: 2px solid var(--pt-ink) !important; }
.roster-pos { color: var(--color-blue); }
.connect-badge.connected { background: #E9FBEF; color: #157A43; border: 1.5px solid #1E9E55; }
.connect-badge.disconnected { background: #FDECEC; color: #B3362C; border: 1.5px solid #D9534F; }
/* Intentional dark islands keep contrast: */
.sms-bubble { background: #1C1C1E !important; color: #E5E5EA !important; }
.ask-box, .dock .pro-ic, .pt-ticker { color: #fff; }

/* ── Footer / misc ─────────────────────────────────────────── */
footer, .footer { background: var(--color-bg) !important; color: var(--color-muted) !important;
  border-top: 3px solid var(--pt-ink); }
footer a, .footer a { color: var(--color-text) !important; }
a { color: var(--color-blue); }
hr { border-color: rgba(10, 14, 26, 0.2); }
::selection { background: rgba(1, 119, 251, 0.25); }
:focus-visible { outline: 2px solid var(--color-blue); outline-offset: 2px; }

/* ── Print: never waste ink on cream ───────────────────────── */
@media print {
  html, body, .gd-field { background: #fff !important; }
  .pt-ticker, .nav, .mobile-menu, .menu-overlay { display: none !important; }
}
