/* Sport-inspired skin; no league/team marks or unsupported event photography. */
:root { --bg:#0b1220; --card:#152238; --card2:#1b2d48; --text:#f3f7ff; --muted:#aabbd0; --accent:#73e5b3; --accent-dark:#42ca91; --best:#9cf2c0; --border:#2b405d; --shadow:0 4px 20px rgba(0,0,0,.18); --shadow-lg:0 12px 36px rgba(0,0,0,.29); }
body { background:var(--bg); color:var(--text); }
.site-header { background:radial-gradient(circle at 78% 0, rgba(28,103,104,.5), transparent 42%),linear-gradient(145deg,#0a1424,#0f263b 58%,#0b1729); border-bottom:1px solid #294058; padding-bottom:32px; }
.header-inner { max-width:1120px; padding-top:22px; }
.logo { font-weight:900; letter-spacing:-.035em; }
.hero { max-width:960px; margin-top:16px; }
.hero h1 { font-size:clamp(35px,5vw,64px); line-height:1.02; letter-spacing:-.055em; max-width:780px; margin:26px auto 15px; text-transform:uppercase; font-style:italic; }
.hero-steps { color:#e2ecf8; font-size:18px; }
.hero-sites { color:#b0c3d7; max-width:680px; margin:0 auto 23px; }
.sports-photo-strip { max-width:940px; height:205px; gap:10px; margin-bottom:24px; }
.sports-photo { border:1px solid #31506b; box-shadow:0 12px 30px rgba(0,0,0,.2); }
.sports-photo span { font-size:12px; letter-spacing:.09em; text-transform:uppercase; }
#search-form { max-width:650px; }
#search-input { background:#f6f9ff; color:#101b2b; padding:17px; font-weight:600; }
#search-form button { background:var(--accent); color:#0b1c23; font-weight:900; text-transform:uppercase; letter-spacing:.04em; padding-inline:32px; }
#search-form button:hover { color:#0b1c23; }
.pf-field { background:#f6f9ff; color:#415169; }
.pf-field input { color:#101b2b; }
.mode-banner .live-note { color:#b4e8d0; }
.mode-banner .daily-note { color:#ffd58e; }
main { max-width:1120px; margin-top:28px; }
.feature-board { margin:16px 0 32px; }
.eyebrow { color:var(--accent); font-size:11px; font-weight:900; letter-spacing:.22em; }
.feature-intro { margin-bottom:15px; }
.feature-intro h2 { font-size:clamp(26px,3.2vw,36px); letter-spacing:-.04em; margin:6px 0; text-transform:uppercase; }
.feature-intro p { color:var(--muted); font-size:14px; }
.feature-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.feature-tile { grid-column:span 2; min-height:155px; border-radius:13px; padding:18px; display:flex; flex-direction:column; justify-content:space-between; color:white; text-decoration:none; background-size:cover; background-position:center; position:relative; overflow:hidden; border:1px solid #345269; box-shadow:var(--shadow); transition:transform .15s,border-color .15s; }
.feature-tile:hover { transform:translateY(-3px); border-color:var(--accent); }
.feature-tile:nth-child(4),.feature-tile:nth-child(5) { grid-column:span 3; }
.feature-tile::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,15,27,.88),rgba(4,15,27,.15)); }
.feature-tile > * { position:relative; z-index:1; }
.feature-tile span { color:#d6ebed; font-size:11px; text-transform:uppercase; font-weight:800; letter-spacing:.12em; }
.feature-tile strong { font-size:clamp(18px,2.3vw,28px); line-height:1.05; max-width:250px; text-transform:uppercase; font-style:italic; }
.feature-tile small { color:#baf8d7; font-weight:700; }
.feature-nfl,.feature-mls,.feature-nhl { background-image:url('stadium-lights.webp'); }
.feature-nba { background-image:url('basketball-court.webp'); }
.feature-mlb { background-image:url('baseball-diamond.webp'); }
.game-card { border-left:4px solid var(--accent); }
.game-card .price { color:var(--best); }
#compare-section .table-wrap { border:1px solid var(--border); }
.best-cell { background:#173727; }
.cell-link,.game-meta,.seo-landing p { color:var(--muted); }
.seo-landing { background:var(--card); border-color:var(--border); }
.seo-landing a,.photos-cta a,footer a,.seo-breadcrumb a { color:#9cf2c0; }
.seo-directory { background:#101c2e; }
.seo-directory .seo-list li { background:#152238; }
footer { background:#08111e; }
.footer-inner { max-width:1120px; }
.modal-card { background:#f8fbff; color:#17202e; }
.modal-card .fine-print,.modal-card small { color:#516072; }
.modal-card label { color:#17202e; }
@media(max-width:720px) {
 .site-header { padding-bottom:28px; }
 .sports-photo-strip { height:145px; gap:6px; }
 .hero h1 { font-size:34px; margin:20px auto 12px; }
 .hero-steps { font-size:16px; }
 .hero-sites { font-size:12px; }
 .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .feature-tile,.feature-tile:nth-child(4),.feature-tile:nth-child(5) { grid-column:span 1; min-height:125px; padding:13px; }
 .feature-tile:last-child { grid-column:span 2; }
 .feature-tile strong { font-size:19px; }
 .feature-tile span { font-size:9px; }
}

.directory-cta { margin:24px 0 34px; padding:26px; border:1px solid var(--border); border-radius:16px; background:linear-gradient(130deg,#152b43,#10352f); }
.directory-cta h2 { font-size:28px; text-transform:uppercase; margin:8px 0; }
.directory-cta p { color:var(--muted); margin-bottom:15px; }
.directory-cta a { color:#a9efc9; font-weight:700; display:inline-block; margin:4px 22px 4px 0; }
@media(max-width:720px){ .directory-cta { padding:20px; } }

#feedback-section { background:#0b1220; border-top:1px solid #2b405d; }
.feedback-card { background:#152238; border:1px solid #2b405d; color:#f3f7ff; }
.feedback-card p { color:#aabbd0; }
.feedback-card textarea,.feedback-card input { background:#1b2d48; color:#f3f7ff; border-color:#38516d; }
.feedback-card textarea::placeholder,.feedback-card input::placeholder { color:#9aacc3; }
.feature-intro::after { content:"Images are illustrative sports scenes, not photos of these teams or games."; display:block; margin-top:7px; color:#94a9bd; font-size:11px; }

.photo-context { color:#9fb4c7; font-size:12px; margin:-8px 0 14px; }
.game-card--photo { padding-left:12px; }
.game-card--photo::before { content:""; display:block; width:84px; height:68px; flex:0 0 84px; border-radius:8px; background-size:cover; background-position:center; }
.game-card--stadium::before { background-image:url("stadium-lights.webp"); }
.game-card--basketball::before { background-image:url("basketball-court.webp"); }
.game-card--baseball::before { background-image:url("baseball-diamond.webp"); }
.game-card--photo > div:first-child { flex:1; min-width:0; }
.compare-photo { height:144px; border-radius:12px; margin:0 0 18px; background-size:cover; background-position:center 45%; position:relative; overflow:hidden; }
.compare-photo::after { content:"Illustrative sports scene - not this game or venue"; position:absolute; bottom:0; left:0; right:0; padding:18px 14px 10px; background:linear-gradient(transparent,rgba(5,12,22,.85)); color:white; font-size:12px; font-weight:700; }
.compare-photo--stadium { background-image:url("stadium-lights.webp"); }
.compare-photo--basketball { background-image:url("basketball-court.webp"); }
.compare-photo--baseball { background-image:url("baseball-diamond.webp"); }
.footer-photo { height:76px; background:linear-gradient(90deg,rgba(8,17,30,.85),rgba(8,17,30,.12),rgba(8,17,30,.85)),url("stadium-lights.webp") center 48%/cover; }
@media(max-width:720px){ .game-card--photo { display:grid; grid-template-columns:62px minmax(0,1fr); gap:5px 12px; } .game-card--photo::before { grid-row:span 2; width:62px; height:62px; } .game-card--photo .game-best { grid-column:2; } .compare-photo { height:112px; } .footer-photo { height:56px; } }

.daily-board { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:28px; align-items:center; margin:12px 0 32px; padding:28px; border:1px solid #315a61; border-radius:20px; background:linear-gradient(135deg,#0d2c38,#10332e); }
.daily-board h2,.alerts-teaser h2 { font-size:clamp(25px,3vw,37px); line-height:1.1; text-transform:uppercase; font-style:italic; margin:9px 0; }
.daily-board p,.alerts-teaser p { color:#bbced8; line-height:1.5; margin:7px 0; }
.daily-deal-card { min-height:160px; background:#132638; border:1px solid #416578; border-radius:15px; padding:21px; display:flex; align-items:center; }
.daily-league { color:#85e9c4; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.daily-deal-card h3 { font-size:21px; margin:7px 0 9px; }
.daily-price { font-size:27px; color:#a7f2cb; display:block; }
.daily-deal-card p { font-size:12px; margin:6px 0 10px; }
.daily-deal-card a { color:#a7f2cb; font-weight:800; }
.alerts-teaser { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px; align-items:center; padding:25px 28px; margin:0 0 30px; border:1px solid #364e6d; border-radius:17px; background:#14243a; }
.alerts-teaser h2 { font-size:27px; }
.alerts-preview { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.alerts-preview label { width:100%; font-size:12px; color:#b8c8db; font-weight:700; }
.alerts-preview input { min-width:0; flex:1; padding:12px; border:1px solid #49617e; border-radius:8px; background:#1d3049; color:#adbdd1; }
.alerts-preview button { padding:12px 15px; border:0; border-radius:8px; background:#3b5c61; color:#e0e9ee; font-weight:800; cursor:not-allowed; }
@media(max-width:720px) { .daily-board,.alerts-teaser { grid-template-columns:1fr; gap:12px; padding:20px; } .daily-deal-card { min-height:125px; } .alerts-preview { flex-wrap:wrap; } .alerts-preview input { width:100%; flex:auto; } }
