/* WalterFootball.com NFL Team Hubs - all rules scoped to .wfth so nothing leaks into the site's own styles */
.wfth{--navy:#0b2545;--blue:#1e90ff;--blue-d:#0a6fd6;--gold:#f2a900;--win:#138a4b;--loss:#c62828;--push:#7a6a00;
  --ink:#1b2430;--muted:#5d6b7a;--line:#dfe5ec;--bg:#f5f8fb;--card:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);
  font-size:16px;line-height:1.55;text-align:left;max-width:1000px;margin:0 auto;box-sizing:border-box;overflow-wrap:anywhere}
.wfth *,.wfth *::before,.wfth *::after{box-sizing:border-box}
.wfth a{color:var(--blue-d);text-decoration:none}
.wfth a:hover{text-decoration:underline}
.wfth h1,.wfth h2,.wfth h3{font-family:inherit;line-height:1.2;margin:0}
.wfth-muted{color:var(--muted);font-size:.9em}
.wfth-crumbs{font-size:.85em;color:var(--muted);margin:0 0 10px}

/* hero */
.wfth-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--navy) 0%,#13406f 100%);
  color:#fff;border-radius:14px;padding:18px 20px;margin-bottom:14px;border-bottom:4px solid var(--gold)}
.wfth-logo{width:76px;height:76px;object-fit:contain;flex:0 0 auto;background:#fff;border-radius:50%;padding:6px}
.wfth-hero h1{font-size:1.75em;font-weight:800;color:#fff;letter-spacing:-.3px}
.wfth-sub{margin:6px 0 0;color:#cfe0f5;font-size:.95em}
.wfth-hero-idx{display:block}

/* stat cards */
.wfth-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.wfth-stat,.wfth-epabox{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;min-width:0}
.wfth-stat .lbl,.wfth-epabox .lbl{font-size:.72em;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}
.wfth-stat .big,.wfth-epabox .big{font-size:1.6em;font-weight:800;color:var(--navy);line-height:1.2}
.wfth-stat .sm,.wfth-epabox .sm{font-size:.8em;color:var(--muted)}

.wfth-next{background:#fff8e6;border:1px solid #f3dd9c;border-radius:12px;padding:10px 14px;margin-bottom:14px}
.wfth-next h2{font-size:.8em;text-transform:uppercase;letter-spacing:.6px;color:#8a6500;margin-bottom:2px}
.wfth-next p{margin:0}

/* sections */
.wfth-sec{margin:22px 0}
.wfth-sec>h2{font-size:1.3em;font-weight:800;color:var(--navy);padding-bottom:6px;border-bottom:2px solid var(--blue);margin-bottom:10px}
.wfth-sec>p{margin:0 0 10px}

/* game cards */
.wfth-game{background:var(--card);border:1px solid var(--line);border-left:5px solid #9aa7b4;border-radius:10px;padding:10px 14px;margin-bottom:10px}
.wfth-game.res-W{border-left-color:var(--win)}
.wfth-game.res-L{border-left-color:var(--loss)}
.wfth-game.upcoming{background:var(--bg);border-style:dashed;border-left-style:solid}
.wfth-ghead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.wfth-ghead .wk{font-weight:800;color:var(--navy)}
.wfth-ghead .dt{color:var(--muted);font-size:.9em}
.wfth-ghead .opp{font-weight:700}
.wfth-ghead .orank{margin-left:auto;font-size:.85em;color:var(--muted);white-space:nowrap}
.wfth-ghead .orank b{color:var(--navy)}
.wfth-gres{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px;font-size:.95em}
.wfth-gres .su b{display:inline-block;min-width:1.6em;text-align:center;border-radius:5px;color:#fff;padding:0 4px;margin-right:2px}
.wfth-gres .su-W b{background:var(--win)}
.wfth-gres .su-L b{background:var(--loss)}
.wfth-gres .su-T b{background:var(--push)}
.wfth-gres .ats-W b{color:var(--win)}
.wfth-gres .ats-L b{color:var(--loss)}
.wfth-gres .ats-P b{color:var(--push)}
.wfth-recap{margin:8px 0 0;font-size:.97em}

/* tables */
.wfth-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.wfth-tbl{border-collapse:collapse;width:100%;font-size:.95em}
.wfth-tbl th,.wfth-tbl td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.wfth-tbl thead th{background:var(--navy);color:#fff;font-size:.8em;text-transform:uppercase;letter-spacing:.5px}
.wfth-tbl tbody tr:nth-child(even){background:var(--bg)}
.wfth-tbl tbody tr:last-child td{border-bottom:0}
.wfth-league td.tm{font-weight:600}

/* EPA */
.wfth-epa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.wfth-adj{background:#eef5ff;border-left:4px solid var(--blue);padding:6px 10px;border-radius:6px;font-size:.92em}

/* power rank chart */
.wfth-spark{width:100%;max-width:420px;height:auto;display:block;margin:0 0 10px}
.wfth-spark polyline{fill:none;stroke:var(--blue);stroke-width:2.5}
.wfth-spark circle{fill:var(--navy)}
.wfth-spark .g{stroke:#c9d3de;stroke-dasharray:3 3}
.wfth-spark text{font-size:10px;fill:var(--muted)}
.wfth-spark text.r{fill:var(--navy);font-weight:700}

/* injuries */
.wfth-inj{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.wfth-injgrp{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.wfth-injgrp h3{font-size:.8em;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin-bottom:4px}
.wfth-injgrp ul{margin:0;padding-left:18px;font-size:.93em}
.wfth-key{font-size:.85em;color:var(--muted);margin-top:10px}

/* index */
.wfth-idxgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.wfth-idxdiv{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.wfth-idxdiv h2{font-size:.85em;text-transform:uppercase;letter-spacing:.6px;color:var(--navy);margin-bottom:6px}
.wfth-idxdiv ul{list-style:none;margin:0;padding:0}
.wfth-idxdiv li{padding:6px 0;border-top:1px solid var(--line)}
.wfth-idxdiv li:first-child{border-top:0}
.wfth-idxdiv li a{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.wfth-idxdiv li img{width:30px;height:30px;object-fit:contain;flex:0 0 auto}
.wfth-idxdiv .rc{display:block;font-size:.85em;padding-left:38px}

/* all-teams nav */
.wfth-allteams{margin-top:28px;padding-top:12px;border-top:2px solid var(--line)}
.wfth-allteams>h2{font-size:1.05em;color:var(--navy);margin-bottom:8px}
.wfth-divgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 14px}
.wfth-div h3{font-size:.75em;text-transform:uppercase;color:var(--muted);letter-spacing:.5px;margin:6px 0 2px}
.wfth-div ul{list-style:none;margin:0;padding:0;font-size:.88em}
.wfth-div .wfth-cur{font-weight:800;color:var(--ink)}
.wfth-navlinks{font-size:.9em;margin-top:10px}


/* team dropdown */
.wfth-switch{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:0 0 12px}
.wfth-switch label{font-weight:700;font-size:.9em;color:var(--navy)}
.wfth-switch select{flex:0 1 380px;min-width:0;max-width:100%;font-size:16px;min-height:42px;padding:6px 8px;border:1px solid #b8c4d1;border-radius:8px;background:#fff;color:var(--ink)}
.wfth-switch button{font-size:15px;min-height:42px;padding:6px 16px;border:0;border-radius:8px;background:var(--blue-d);color:#fff;font-weight:700;cursor:pointer}

/* power-ranking groups (from Walter's rankings pages), white text on each color passes WCAG AA */
.wfth-grp{display:inline-block;font-size:.78em;font-weight:700;line-height:1.5;color:#fff;background:#5d6b7a;border-radius:999px;padding:0 8px;margin-left:6px;white-space:nowrap;vertical-align:middle}
.wfth-grp.grp-group-a{background:#11703a}
.wfth-grp.grp-group-b{background:#1d5ea8}
.wfth-grp.grp-group-c{background:#8a6200}
.wfth-grp.grp-group-d{background:#b0480c}
.wfth-grp.grp-group-e{background:#7b3fa8}
.wfth-grp.grp-group-f{background:#b3261e}
.wfth-grp.grp-none{background:#5d6b7a}
.wfth-tbl td .wfth-grp,.wfth-legend .wfth-grp:first-of-type{margin-left:0}
.wfth-legend{font-size:.88em;margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.wfth-legend .wfth-grp{margin-left:0}
.wfth-ghead .orank{text-align:right}
.wfth-ghead .orank .wfth-grp{display:table;margin:3px 0 0 auto}
.wfth-stat .sm .wfth-grp{margin:0 4px 0 0}
.wfth-btn{display:inline-block;font-weight:700;font-size:.92em;background:var(--blue-d);color:#fff!important;border-radius:8px;padding:4px 12px;margin-top:6px}
.wfth-btn:hover{text-decoration:none;background:var(--navy)}
.wfth-h2{font-size:1.3em;font-weight:800;color:var(--navy);padding-bottom:6px;border-bottom:2px solid var(--blue);margin:22px 0 10px!important}
.wfth-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* index: this week's games, both teams side by side */
.wfth-mlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wfth-match{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.wfth-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}
.wfth-mt{display:flex;align-items:center;gap:8px;min-width:0;color:var(--ink)!important}
.wfth-mt.home{flex-direction:row-reverse;text-align:right}
.wfth-mt img{width:40px;height:40px;object-fit:contain;flex:0 0 auto}
.wfth-mtx{display:flex;flex-direction:column;min-width:0}
.wfth-mtx .nm{font-weight:800;line-height:1.2}
.wfth-mtr{font-size:.8em;color:var(--muted)}
.wfth-mt.home .wfth-grp{margin-left:4px}
.wfth-at{font-weight:800;color:var(--muted);font-size:1.05em}
.wfth-minfo{margin-top:8px;padding-top:6px;border-top:1px solid var(--line);font-size:.88em;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}
.wfth-minfo .wfth-btn{margin:0 0 0 auto}
.wfth-board h3{font-size:.9em;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin:14px 0 4px}
.wfth-finals{margin:0;padding-left:18px;font-size:.93em}
.wfth-byes{margin:0;font-size:.93em}

/* matchup preview */
.wfth-mxhead{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:8px}
.wfth-mxteam{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--ink)!important}
.wfth-mxteam img{width:64px;height:64px;object-fit:contain}
.wfth-mxteam .nm{font-weight:800;font-size:1.1em;line-height:1.2}
.wfth-mxnote{margin:0 0 6px}
.wfth-cmp{table-layout:fixed}
.wfth-cmp th,.wfth-cmp td{white-space:normal;text-align:center;vertical-align:middle}
.wfth-cmp th.a,.wfth-cmp th.b,.wfth-cmp td.a,.wfth-cmp td.b{width:30%}
.wfth-cmp td.a,.wfth-cmp td.b{font-weight:800;font-size:1.05em;color:var(--navy)}
.wfth-cmp td small{display:block;font-weight:400;font-size:.72em;color:var(--muted)}
.wfth-cmp td.mid{font-size:.85em;color:var(--muted)}
.wfth-cmp td.edge{background:#dff3e6!important;box-shadow:inset 0 -3px 0 var(--win);color:#0b5a30}
.wfth-edge{display:block;font-size:1.05em;color:var(--win);font-weight:800}
.wfth-mxcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wfth-mxcol{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.wfth-mxcol h3{font-size:1em;color:var(--navy);margin-bottom:6px}
.wfth-mxcol .wfth-injgrp{border:0;padding:4px 0}
.wfth-mxcol .wfth-injgrp h4{font-size:.75em;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin:4px 0 2px}

/* matchup preview: each team's season so far, week rows lined up side by side */
.wfth-slog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:stretch}
.wfth-slog .wfth-sl-a{grid-column:1}
.wfth-slog .wfth-sl-b{grid-column:2}
.wfth-slog .wfth-game{margin:0;min-width:0}
.wfth-slh{display:flex;align-items:center;gap:8px;font-size:1.05em;font-weight:800;color:var(--navy);margin:0;padding:6px 2px;border-bottom:2px solid var(--line)}
.wfth-slh img{flex:0 0 auto}
.wfth-slh a{color:var(--navy)}
.wfth-sl .wfth-recap{font-size:.93em;line-height:1.5;overflow-wrap:anywhere}
.wfth-sl-bye{background:var(--bg);border-left-color:#c3ccd6;padding:8px 14px}
.wfth-sl-bye .wfth-muted{font-weight:700}
.wfth-slog .wfth-r1{grid-row:1}
.wfth-slog .wfth-r2{grid-row:2}
.wfth-slog .wfth-r3{grid-row:3}
.wfth-slog .wfth-r4{grid-row:4}
.wfth-slog .wfth-r5{grid-row:5}
.wfth-slog .wfth-r6{grid-row:6}
.wfth-slog .wfth-r7{grid-row:7}
.wfth-slog .wfth-r8{grid-row:8}
.wfth-slog .wfth-r9{grid-row:9}
.wfth-slog .wfth-r10{grid-row:10}
.wfth-slog .wfth-r11{grid-row:11}
.wfth-slog .wfth-r12{grid-row:12}
.wfth-slog .wfth-r13{grid-row:13}
.wfth-slog .wfth-r14{grid-row:14}
.wfth-slog .wfth-r15{grid-row:15}
.wfth-slog .wfth-r16{grid-row:16}
.wfth-slog .wfth-r17{grid-row:17}
.wfth-slog .wfth-r18{grid-row:18}
.wfth-slog .wfth-r19{grid-row:19}
.wfth-slog .wfth-r20{grid-row:20}
@media (max-width:760px){
  .wfth-slog{grid-template-columns:minmax(0,1fr);gap:8px}
  .wfth-slog .wfth-sl-a,.wfth-slog .wfth-sl-b{grid-column:auto;grid-row:auto}
  .wfth-slog .wfth-sl-b.wfth-slh{margin-top:14px}

  .wfth-idxgrid,.wfth-divgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wfth-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wfth-mlist{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .wfth{font-size:15px}
  .wfth-hero{padding:14px;gap:12px}
  .wfth-logo{width:54px;height:54px}
  .wfth-hero h1{font-size:1.3em}
  .wfth-stat .big,.wfth-epabox .big{font-size:1.3em}
  .wfth-epa{gap:6px}
  .wfth-idxgrid{grid-template-columns:minmax(0,1fr)}
  .wfth-ghead .orank{margin-left:0;width:100%;text-align:left}
  .wfth-ghead .orank .wfth-grp{margin:3px 0 0 0}
  .wfth-switch select{flex:1 1 200px}
  .wfth-tbl th,.wfth-tbl td{padding:6px 8px}
  .wfth-mlist{grid-template-columns:minmax(0,1fr)}
  .wfth-pair{grid-template-columns:minmax(0,1fr);gap:4px}
  .wfth-mt.home{flex-direction:row;text-align:left}
  .wfth-at{font-size:.85em;padding-left:48px}
  .wfth-mxteam img{width:48px;height:48px}
  .wfth-mxteam .nm{font-size:.98em}
  .wfth-cmp th,.wfth-cmp td{padding:6px 4px}
  .wfth-cmp td.a,.wfth-cmp td.b{width:31%}
  .wfth-mxcols{grid-template-columns:minmax(0,1fr)}
  .wfth-switch label{width:100%}
}

/* ---- WordPress plugin additions ---- */
.wftr-virtual{width:100%;padding:24px 16px 40px;box-sizing:border-box}
.wftr-virtual .wftr-container{max-width:1100px;margin:0 auto}
.wftr-original-content{margin-top:28px}
.wfth table.wfth-tbl{margin:0}
.wfth .wfth-tblwrap{margin-bottom:12px}
/* keep theme styles off the dropdown, chips and matchup tables */
.wfth .wfth-switch{margin:0 0 12px}
.wfth .wfth-switch select{height:auto;line-height:1.3;box-shadow:none;width:auto}
.wfth .wfth-switch button{line-height:1.3;text-transform:none;letter-spacing:0;box-shadow:none}
.wfth ul.wfth-finals{margin-top:0;margin-bottom:0}
.wfth .wfth-mt,.wfth .wfth-mxteam{text-decoration:none}
.wfth h3,.wfth h4{font-family:inherit}
.wfth .wfth-mxcol h3,.wfth .wfth-board h3,.wfth h3.wfth-slh{margin-top:0}
