.football[hidden], .football [hidden] { display:none !important; }
.football { margin:24px 0 40px; border:1px solid var(--line); border-top:4px solid var(--brand); border-radius:16px; background:var(--paper); overflow:hidden; }
.football-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 28px; background:var(--ap-inverse, #0b2a63); color:#fff; }
.football-kicker { color:#a8d5ff; font-size:15px; font-weight:700; }
.football-heading h2 { font-size:32px; }
.football-heading p:last-child { font-size:17px; color:#dae7ff; }
.football-timezone { flex-shrink:0; font-size:15px; padding:5px 12px; border:1px solid #ffffff50; border-radius:30px; }
.football-group { padding:20px 28px 4px; }
.football-group h3 { display:flex; gap:9px; align-items:center; font-size:23px; margin-bottom:12px; }
.football-group h3>span:last-child:not(.football-live-dot) { color:var(--muted); font-size:16px; font-weight:500; }
.football-live-dot { width:9px; height:9px; border-radius:50%; background:var(--red); }
.football-league { background:var(--ap-surface, #fff); border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-bottom:12px; }
.football-league h4 { margin:0; padding:7px 16px; font-size:16px; font-weight:600; color:var(--muted); background:var(--ap-tint, #f0f4fa); }
.football-row { display:grid; grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr) 90px; align-items:center; gap:12px; padding:14px 18px; border-top:1px solid var(--line); }
.football-team { overflow-wrap:anywhere; font-size:20px; font-weight:650; }
.football-team-away { text-align:start; }
.football-team-home { text-align:end; }
.football-score { text-align:center; white-space:nowrap; font-size:24px; font-weight:750; font-variant-numeric:tabular-nums; }
.football-score time { font-size:20px; color:var(--brand-deep); }
.football-status { color:var(--muted); text-align:center; font-size:15px; }
.football-status.is-live { color:var(--ap-danger, #a92335); font-weight:750; }
.football-penalties { display:block; font-size:13px; color:var(--muted); font-weight:500; }
.football-days { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.football-days button { background:var(--ap-surface, #fff); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:7px 14px; min-height:44px; font-size:17px; }
.football-days button[aria-pressed="true"] { background:var(--ap-action, #175cd3); border-color:var(--brand); color:#fff; }
.football-footer { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:14px; padding:14px 28px 20px; }
.football-footer a { text-decoration:underline; }
.football-preview-note { padding:10px 28px; background:var(--ap-danger-bg, #fff2d8); color:var(--ap-danger, #664600); font-weight:650; }
.football-summary { padding:12px 16px; margin:16px 0 24px; border-top-width:2px; border-radius:12px; background:var(--ap-surface, #fff); }
.football-summary-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.football-summary-heading h2 { font-size:22px; }
.football-summary-heading h2 span { color:var(--muted); font-size:13px; font-weight:500; margin-inline-start:8px; white-space:nowrap; }
.football-summary-heading .small-button { font-size:15px; padding:5px 12px; min-height:44px; white-space:nowrap; }
.football-summary-days { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; gap:6px; margin:0 0 8px; padding:3px 3px 6px; scrollbar-width:thin; }
.football-summary-days button { flex:none; display:grid; grid-template-rows:22px 22px; min-width:74px; padding:4px 12px; text-align:center; line-height:22px; font-size:15px; }
.football-weekday { font-weight:650; }
.football-day-date { font-size:14px; font-variant-numeric:tabular-nums; }
.football-strip { display:flex; flex-wrap:nowrap; gap:10px; overflow-x:auto; overscroll-behavior-inline:contain; list-style:none; padding:3px 3px 7px; margin:0; scrollbar-width:thin; }
.football-strip-match { display:flex; flex:none; align-items:center; flex-wrap:nowrap; gap:10px; padding:9px 12px; background:var(--paper); border:1px solid var(--line); border-radius:8px; white-space:nowrap; }
.football-strip-match .football-team { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:17px; }
.football-strip-match .football-score, .football-strip-match .football-score time { font-size:19px; }
.football-strip-match .football-status { font-size:13px; white-space:nowrap; }
.football-strip-match .football-penalties { display:inline; margin-inline-start:6px; }
.football-summary .football-preview-note { padding:3px 8px; font-size:13px; margin-bottom:6px; }
.football-page-status { margin:24px 0; }
.football-skeleton-dates, .football-skeleton-matches { display:flex; gap:8px; overflow:hidden; }
.football-skeleton-dates { padding:3px 3px 6px; margin-bottom:8px; }
.football-skeleton-day { display:grid; gap:8px; flex:0 0 74px; padding:11px 12px; border:1px solid var(--line); border-radius:8px; }
.football-shimmer { position:relative; display:block; overflow:hidden; background:var(--line); border-radius:5px; isolation:isolate; }
.football-skeleton-day .football-shimmer { height:12px; }
.football-skeleton-day .football-shimmer:last-child { width:75%; justify-self:center; }
.football-skeleton-matches { padding:3px 3px 7px; }
.football-skeleton-matches .football-shimmer { flex:0 0 300px; height:46px; border-radius:8px; }
.football-loading-details { padding:24px 28px; }
.football-skeleton-details { border:1px solid var(--line); border-radius:10px; padding:16px; background:var(--ap-surface, #fff); }
.football-skeleton-title { width:35%; height:18px; margin-bottom:18px; }
.football-skeleton-row { display:grid; grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr) 90px; align-items:center; gap:12px; padding:16px 0; border-top:1px solid var(--line); }
.football-skeleton-row .football-shimmer { height:20px; }
.football-skeleton-row .football-shimmer:nth-child(2) { height:28px; }
.football[aria-busy="true"] .football-footer { display:none; }
@media (prefers-reduced-motion: no-preference) {
  .football[aria-busy="true"] .football-shimmer::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, var(--ap-surface, #ffffffb3), transparent); animation:football-shimmer 1.4s ease-in-out infinite; }
  @keyframes football-shimmer { from { transform:translateX(100%); } to { transform:translateX(-100%); } }
}
@media(max-width:640px) {
  .football-heading { padding:20px 16px; align-items:flex-start; }
  .football-heading h2 { font-size:27px; }
  .football-heading p:last-child { font-size:15px; }
  .football-timezone { padding:4px 8px; font-size:13px; }
  .football-group { padding:16px 12px 0; }
  .football-row { grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr); gap:8px; padding:12px 10px; }
  .football-status { grid-column:1/-1; grid-row:2; font-size:14px; }
  .football-team { font-size:18px; }
  .football-footer { padding:12px 16px 18px; }
  .football-loading-details { padding:16px 12px; }
  .football-skeleton-title { width:50%; }
  .football-skeleton-row { grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr); gap:8px; }
  .football-skeleton-row .football-shimmer:last-child { grid-column:1/-1; width:70px; height:14px; justify-self:center; }
  .football-summary { padding:10px; }
  .football-summary-heading { gap:6px; }
  .football-summary-heading h2 { font-size:19px; }
  .football-summary-heading h2 span { display:none; }
  .football-summary-heading .small-button { font-size:14px; padding:5px 9px; }
  .football-strip-match { gap:8px; padding:8px 10px; }
  .football-strip-match .football-team { max-width:110px; font-size:16px; }
}
