/* ===========================================================
   Where to Watch — section hub / index
   Namespace: .wh-hub-*  (body.page-watchhub)
   Builds on style.css for tokens, header, ticker and footer.
   Deliberately reads as an index, not as a fourth matchup guide:
   no photographic hero, no scoreboard, no team colour blocking.
   =========================================================== */

:root{
  --whh-bg:#f4f4f7;
  --whh-navy:#1c2333;
  --whh-line:#d2d2de;
  --whh-line-strong:#bfbfcd;
  --whh-muted:#55555f;
  --whh-fox:#0b2a6b;
  --whh-nbc:#4a2d7a;
  --whh-tsn:#d8232a;
}

body.page-watchhub{background:var(--whh-bg)}

/* ---------- breadcrumb ---------- */
.wh-hub-crumbs{background:var(--ink)}
.wh-hub-crumbs ol{list-style:none;margin:0;padding:9px 0;display:flex;flex-wrap:wrap;
  align-items:center;gap:9px;font-family:var(--display);font-weight:500;
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.wh-hub-crumbs li{color:rgba(255,255,255,.5)}
.wh-hub-crumbs a{color:rgba(255,255,255,.72);transition:color var(--t-fast)}
.wh-hub-crumbs a:hover{color:#fff}
.wh-hub-crumbs [aria-current]{color:#fff}

/* ---------- masthead: a section title, not a match hero ---------- */
.wh-hub-mast{background:#fff;border-bottom:1px solid var(--whh-line)}
.wh-hub-mast .wrap{padding-top:34px;padding-bottom:30px}
.wh-hub-kicker{display:inline-block;background:var(--purple);color:#fff;border-radius:3px;
  padding:5px 14px;font-family:var(--display);font-weight:600;font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase}
.wh-hub-mast h1{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(29px,4.6vw,46px);line-height:1.04;letter-spacing:.015em;
  color:var(--whh-navy);margin:14px 0 0;max-width:20ch}
.wh-hub-standfirst{margin-top:12px;font-size:16px;line-height:1.6;color:#41414d;max-width:66ch}
.wh-hub-meta{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;
  font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--whh-muted)}
.wh-hub-meta span{min-width:0}
.wh-hub-dot{width:4px;height:4px;border-radius:50%;background:var(--whh-line-strong);flex:none}

/* ---------- generic section furniture ---------- */
.wh-hub-sec .wrap{padding-top:34px;padding-bottom:6px}
.wh-hub-sec-last .wrap{padding-top:34px;padding-bottom:44px}
.wh-hub-h2{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(21px,2.6vw,28px);letter-spacing:.015em;color:var(--whh-navy);margin:0}
.wh-hub-h3{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:15px;letter-spacing:.05em;color:var(--whh-navy);margin:0 0 8px}
.wh-hub-lead{margin-top:9px;font-size:14.5px;line-height:1.62;color:#45454f;max-width:72ch}
.wh-hub-p{font-size:14px;line-height:1.62;color:#45454f}
.wh-hub-note{margin-top:14px;font-size:12.5px;line-height:1.55;color:var(--whh-muted)}
.wh-hub-rule{margin:0;border:0;border-top:2px solid var(--whh-navy);width:56px;margin-top:10px}

/* ---------- the index itself ---------- */
.wh-hub-index{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
.wh-hub-item{min-width:0}
.wh-hub-guide{position:relative;background:#fff;border:1px solid var(--whh-line);
  border-radius:8px;padding:18px 20px;display:grid;
  grid-template-columns:56px minmax(0,1fr) minmax(0,1.15fr);gap:18px;align-items:start;
  transition:border-color var(--t),box-shadow var(--t)}
.wh-hub-guide:hover{border-color:#c2b2e0;box-shadow:0 8px 22px rgba(20,15,40,.10)}
.wh-hub-guide:focus-within{border-color:#c2b2e0}
.wh-hub-crest{width:56px;height:56px;object-fit:contain;min-width:0}
.wh-hub-guide-main{min-width:0}
.wh-hub-title{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:19px;line-height:1.14;letter-spacing:.02em;color:var(--whh-navy);margin:0}
.wh-hub-title a{color:inherit}
.wh-hub-title a::after{content:"";position:absolute;inset:0;border-radius:8px}
.wh-hub-title a:hover{color:var(--purple)}
.wh-hub-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.wh-hub-tag{display:inline-block;border-radius:3px;padding:4px 9px;
  font-family:var(--display);font-weight:600;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;border:1px solid var(--whh-line-strong);color:var(--whh-muted);background:#f7f7fa}
.wh-hub-tag-live{background:#efe8fa;border-color:#c8b6e8;color:#3b1c63}
.wh-hub-tag-done{background:#eceff3;border-color:#b6bfcd;color:#28323f}
.wh-hub-blurb{margin-top:10px;font-size:13.5px;line-height:1.55;color:#4c4c58}
.wh-hub-go{display:inline-flex;align-items:center;gap:7px;margin-top:12px;min-height:44px;
  font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--purple);transition:gap var(--t-fast)}
.wh-hub-guide:hover .wh-hub-go{gap:11px}
.wh-hub-go svg{width:14px;height:14px;flex:none}

.wh-hub-dl{margin:0;min-width:0;border:1px solid var(--whh-line);border-radius:6px;overflow:hidden}
.wh-hub-row{display:grid;grid-template-columns:minmax(0,88px) minmax(0,1fr);gap:0;
  border-top:1px solid var(--whh-line)}
.wh-hub-row:first-child{border-top:0}
.wh-hub-row dt{min-width:0;padding:8px 11px;background:#f6f6f9;
  font-family:var(--display);font-weight:600;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--whh-muted);border-right:1px solid var(--whh-line)}
.wh-hub-row dd{min-width:0;margin:0;padding:8px 11px;font-size:13px;line-height:1.4;color:#33333d}

/* ---------- evergreen panels ---------- */
.wh-hub-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.wh-hub-panel{min-width:0;background:#fff;border:1px solid var(--whh-line);border-radius:8px;padding:20px}
.wh-hub-panel-wide{grid-column:1 / -1}
.wh-hub-panel-head{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.wh-hub-panel-head svg{width:24px;height:24px;flex:none;color:var(--purple)}
.wh-hub-panel-head h3{margin:0}

.wh-hub-steps{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.wh-hub-steps li{display:flex;align-items:flex-start;gap:13px;min-width:0;
  font-size:13.5px;line-height:1.55;color:#3f3f4b}
.wh-hub-steps li > span:last-child{min-width:0}
.wh-hub-steps .wh-hub-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--gold);
  color:#241a00;display:grid;place-items:center;font-family:var(--display);font-weight:700;
  font-size:12px;letter-spacing:.04em}

.wh-hub-radio{display:flex;align-items:flex-start;gap:16px;min-width:0}
.wh-hub-radio-circ{flex:none;width:52px;height:52px;border-radius:50%;background:var(--purple);
  display:grid;place-items:center}
.wh-hub-radio-circ svg{width:25px;height:25px;color:#fff}
.wh-hub-radio-body{min-width:0}
.wh-hub-radio-body p{margin:0;font-size:13.5px;line-height:1.6;color:#3f3f4b}
.wh-hub-radio-body b{color:var(--whh-navy)}

.wh-hub-intl{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.wh-hub-intl li{min-width:0;border:1px solid var(--whh-line);border-radius:6px;
  padding:14px 12px;text-align:center;background:#fbfbfd}
.wh-hub-country{font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--whh-navy);margin:0 0 10px}
.wh-hub-badge{min-height:34px;display:grid;place-items:center}
.wh-hub-wm-tsn{font-family:var(--display);font-weight:700;font-style:italic;font-size:19px;color:var(--whh-tsn)}
.wh-hub-wm-nfl{display:inline-flex;align-items:center;gap:5px;font-family:var(--display);
  font-weight:700;font-size:17px;color:var(--whh-navy)}
.wh-hub-wm-nfl img{width:22px;height:22px;object-fit:contain}
.wh-hub-svc{margin:9px 0 0;font-size:12.5px;line-height:1.4;color:#4c4c58}

/* ---------- onward links ---------- */
.wh-hub-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.wh-hub-next a{min-width:0;display:flex;align-items:flex-start;gap:13px;background:#fff;
  border:1px solid var(--whh-line);border-radius:8px;padding:16px 18px;min-height:44px;
  transition:border-color var(--t),transform var(--t)}
.wh-hub-next a:hover{border-color:#c2b2e0;transform:translateY(-2px)}
.wh-hub-next-ic{flex:none;width:22px;height:22px;color:var(--purple)}
.wh-hub-next-body{min-width:0;display:block}
.wh-hub-next-t{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:15px;letter-spacing:.05em;color:var(--whh-navy);margin-bottom:5px}
.wh-hub-next-d{display:block;font-size:13px;line-height:1.5;color:#4c4c58}

/* ---------- FAQ ---------- */
.wh-hub-faq{margin-top:20px;display:grid;gap:9px}
.wh-hub-faq details{background:#fff;border:1px solid var(--whh-line);border-radius:6px}
.wh-hub-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:14px;padding:14px 16px;min-height:44px;
  font-size:14.5px;font-weight:600;color:var(--whh-navy)}
.wh-hub-faq summary::-webkit-details-marker{display:none}
.wh-hub-faq summary svg{flex:none;width:16px;height:16px;color:#5b5b68;transition:transform var(--t)}
.wh-hub-faq details[open] summary svg{transform:rotate(180deg)}
.wh-hub-faq p{margin:0;padding:0 16px 15px;font-size:13.5px;line-height:1.62;color:#4c4c58}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .wh-hub-guide{grid-template-columns:48px minmax(0,1fr)}
  .wh-hub-crest{width:48px;height:48px}
  .wh-hub-dl{grid-column:1 / -1}
  .wh-hub-next{grid-template-columns:1fr}
}
@media (max-width:820px){
  .wh-hub-panels{grid-template-columns:minmax(0,1fr)}
  .wh-hub-intl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .wh-hub-guide{grid-template-columns:minmax(0,1fr);gap:14px}
  .wh-hub-row{grid-template-columns:minmax(0,80px) minmax(0,1fr)}
  .wh-hub-intl{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .wh-hub-guide,.wh-hub-next a,.wh-hub-go,.wh-hub-faq summary svg{transition:none}
  .wh-hub-next a:hover{transform:none}
  .wh-hub-guide:hover .wh-hub-go{gap:7px}
}
