/* Shared compact fixtures: two participants around one score or start time. */
.mc-match-card .mc-card-teams,.public-calendar .public-card-teams,.public-fixture .public-participants{display:grid;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(76px,.8fr) minmax(0,1fr);align-items:stretch;gap:8px;min-width:0;padding-block:18px}
.mc-match-card .mc-card-contestant,.public-calendar .public-card-team,.public-fixture .public-participant{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;min-width:0;margin:0;padding:0}
.mc-match-card .mc-card-contestant strong,.public-card-team .public-card-name strong,.public-fixture .public-participant strong{display:block;min-height:2.7em;font-size:15px;line-height:1.35;font-weight:500;overflow-wrap:anywhere;color:var(--fg)}
.mc-match-card .mc-card-mark,.public-calendar .public-team-mark,.public-fixture .public-team-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;flex:none;border:0;border-radius:0;background:transparent;margin:0}
.mc-match-card .mc-card-mark img,.public-calendar .public-team-mark img,.public-fixture .public-team-mark img{width:40px;height:40px;max-width:40px;max-height:40px;padding:0;object-fit:contain}
.public-calendar .public-form,.public-fixture .public-form{display:flex;flex-wrap:nowrap;justify-content:center;gap:2px;grid-column:auto;width:100%;max-width:108px}
.public-calendar .public-form>span,.public-fixture .public-form>span{width:20px;min-width:0;height:22px;flex:0 1 20px;font-size:11px}
.public-fixture .public-participant>div,.public-calendar .public-card-name{min-width:0;width:100%;max-width:100%;flex:1}
.public-fixture .public-participant>div{display:flex;flex-direction:column;align-items:center}
.public-fixture .public-participant .public-form{margin-top:auto;padding-top:8px}
.fixture-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;align-self:start;margin-top:52px;text-align:center;min-width:0;font-variant-numeric:tabular-nums;color:var(--fg)}
.fixture-center .fixture-score{display:flex;gap:5px;align-items:center;white-space:nowrap;font-size:30px;font-weight:500;line-height:1.15;letter-spacing:-.04em;min-height:0}
.fixture-score>span{font-size:20px;color:var(--muted);font-weight:400}
.fixture-center>time:not(.fixture-date){font-size:25px;line-height:1.2;font-weight:500;white-space:nowrap}
.fixture-center .fixture-date{font-size:12px;font-weight:400;line-height:1.5;color:var(--muted);white-space:normal}
.fixture-date>span{display:block}
.fixture-center>small{font-size:12px;color:var(--muted);line-height:1.3}
.fixture-center .fixture-period{color:var(--gold)}
.fixture-versus{font-size:12px;letter-spacing:.08em;color:var(--muted)}
.matches-editorial .mc-match-card{padding:16px 18px 0;border-radius:16px}
.mc-match-card .mc-match-card-heading{padding:0 0 12px;border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:54px;box-sizing:border-box}
.mc-match-card .mc-match-card-heading .fixture-competition{font-size:12px;line-height:1.5;color:var(--muted);letter-spacing:0;text-transform:none}
.fixture-competition>span[aria-hidden]{padding-inline:3px}
.mc-match-card .mc-match-card-heading .mc-status{font-size:11px;padding:4px 8px;border:1px solid var(--line);border-radius:20px}
.mc-match-card .mc-card-reading{margin:auto 0 6px;min-height:76px;padding-top:10px}
.mc-match-card .mc-card-reading .mc-card-forecast,.mc-match-card .mc-card-reading .mc-card-locked,.mc-match-card .mc-card-no-forecast{min-height:76px}
.mc-match-card .mc-card-reading .mc-card-upgrade{min-height:74px}
.matches-editorial .mc-match-card-footer{margin-top:0;min-height:44px;padding:10px 0 14px}
.matches-editorial .mc-match-card-footer::after{border-radius:16px}
.public-calendar .public-card-top,.public-fixture .public-fixture-competition{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:0}
.mc-dashboard-matches .mc-match-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;align-items:stretch}
.analysis-row-identity .analysis-team-names{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;min-width:0}
.analysis-named-team{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.analysis-named-team img{flex:none;object-fit:contain;max-width:26px;max-height:26px}
.analysis-named-team>span{min-width:0;overflow-wrap:anywhere}
.analysis-team-separator{color:var(--muted);font-weight:400}
.analysis-team-names:not(.analysis-team-names--tennis)>.analysis-named-team:last-child{flex-direction:row-reverse}
.tennis-fixture{display:grid;grid-template-columns:minmax(0,1fr) minmax(76px,.8fr) minmax(0,1fr);align-items:stretch;gap:8px;padding:18px 0;min-width:0;font-variant-numeric:tabular-nums}
.tennis-player-identity{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;text-align:center}
.tennis-player-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none}
.tennis-player-mark img{width:30px;height:22px;object-fit:contain;border:0;border-radius:0}
.tennis-player-name{display:block;width:100%;min-width:0;min-height:2.7em}
.tennis-player-name strong{display:block;min-width:0;font-size:15px;line-height:1.35;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tennis-player-name a{color:inherit;text-decoration:none}
.tennis-player-name a:hover{text-decoration:underline;text-underline-offset:3px}
.tennis-fixture .public-form{justify-content:center;margin:auto 0 0}
.fixture-center .fixture-tennis-games{font-size:12px;line-height:1.4;white-space:normal;color:var(--muted)}
.fixture-tennis-games b{font-weight:500;color:var(--gold)}
@media(max-width:480px){.mc-match-card .mc-card-contestant strong,.public-card-team .public-card-name strong,.public-fixture .public-participant strong,.tennis-player-name strong{font-size:14px}.fixture-center .fixture-score{font-size:26px}.fixture-center>time:not(.fixture-date){font-size:23px}}
@media(max-width:380px){.mc-match-card .mc-card-teams,.public-calendar .public-card-teams,.public-fixture .public-participants{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);padding-block:16px}.fixture-center .fixture-score{font-size:24px;gap:4px}.fixture-score>span{font-size:18px}.mc-match-card .mc-card-mark,.public-calendar .public-team-mark,.public-fixture .public-team-mark{width:38px;height:38px;min-height:38px}.mc-match-card .mc-card-mark img,.public-calendar .public-team-mark img,.public-fixture .public-team-mark img{width:36px;height:36px;max-width:36px;max-height:36px}.tennis-player-name strong{font-size:14px}.tennis-fixture{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}.tennis-player-mark{width:38px;height:38px}.fixture-center{margin-top:46px}}

.analysis-row .analysis-row-action{gap:10px;flex-wrap:wrap;justify-content:flex-end}
.analysis-row-score{font-size:18px;font-weight:500;color:var(--fg);white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:420px){.analysis-row .analysis-row-action{gap:6px}.analysis-row-score{font-size:16px}.analysis-row-action svg{display:none}}

.tennis-rank{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin:0}

.public-calendar-card>.tennis-fixture{padding:16px 18px}

/* Tennis cards: one competition line and one compact round, at every access level. */
.tennis-card-heading{min-width:0;align-items:center}
.tennis-card-heading>.fixture-competition,.tennis-card-heading>.public-card-competition{min-width:0;flex:1}
.public-card-competition>.sa-competition-name{font-size:inherit;margin-top:0}
.sa-competition-label.sa-competition-label--compact{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:6px;row-gap:1px;align-items:center;min-width:0;max-width:100%}
.sa-competition-label--compact>.sa-competition-name{grid-column:2;grid-row:1;min-width:0}
.sa-competition-label--compact:not(:has(.sa-league-flag))>.sa-competition-name{grid-column:1 / -1}
.sa-competition-label--compact>.sa-round{grid-column:1 / -1;grid-row:2;margin:0}
.sa-competition-label--compact>.sa-round::before{content:none}
.public-card-competition.tennis-competition-compact,.public-fixture-competition.tennis-competition-compact{display:flex;flex-direction:column;gap:1px;min-height:0;min-width:0}
.tennis-competition-compact>.sa-round,.tennis-competition-compact>small{margin:0;font-size:inherit}
.tennis-competition-compact>.sa-round::before{content:none}
.sa-competition-label--compact>.sa-competition-name,.sa-competition-label--compact>.sa-round,.tennis-competition-compact>.sa-competition-name,.tennis-competition-compact>.sa-round,.tennis-competition-compact>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;max-width:100%}
.tennis-card-heading>.mc-status,.tennis-card-heading>.public-card-clock{flex:none;align-self:center;white-space:nowrap}
.tennis-player-identity{overflow:hidden}

/* Identical heading baselines in the three home carousels. */
.public-fixture .public-fixture-competition{min-height:54px;box-sizing:border-box}
.public-fixture .tennis-competition-compact{gap:0}

.public-card-competition>.public-competition-title,.public-fixture-competition>.public-competition-title{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%}.public-competition-title>.sa-league-flag{flex:none;width:18px;height:13px;object-fit:contain}.public-competition-title>.sa-competition-name{margin:0;font-size:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* One competition line above the divider; status belongs to the score area. */
.sa-competition-label.sa-match-competition{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:0;min-height:28px;width:100%;max-width:100%;font-size:12px;line-height:1.5;letter-spacing:0;text-align:left;white-space:nowrap}
.sa-match-competition .sa-sport-marker{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:17px;line-height:1.2}
.sa-match-competition .sa-sport-divider{font-size:12px;color:var(--muted)}
.sa-match-competition>.sa-league-flag,.sa-match-competition>.sa-competition-logo{flex:none}
.sa-match-competition .sa-competition-name{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.sa-match-competition .sa-round{flex:0 0 auto;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:inherit;line-height:inherit}
.mc-hero .mc-competition{justify-content:flex-start;font-size:12px;gap:0}
.mc-hero .mc-competition>.sa-competition-label{display:inline-flex;gap:6px}
.mc-score-focus>.mc-status{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin:0 auto 10px;font-size:11px;line-height:1.4}
.mc-match-card-heading.has-sport-heading,.public-card-top.has-sport-heading{display:block;min-width:0;min-height:0}
.mc-match-card-heading.has-sport-heading>.fixture-competition,.public-card-top.has-sport-heading>.public-card-competition{display:block;min-width:0;width:100%;margin:0;min-height:0;letter-spacing:0}
.fixture-status-row{display:flex;align-items:center;justify-content:center;margin:12px 0 0;min-height:22px}
.fixture-status-row>.mc-status{display:inline-flex;align-items:center;font-size:10px;line-height:1.4;padding:4px 9px}
.fixture-status-row>.public-card-clock{margin:0}
.public-match-competition>.sa-competition-label,.public-fixture-competition>.sa-competition-label{display:inline-flex;margin:0;color:inherit}
.public-fixture .public-fixture-competition{min-height:0}
.public-fixture .public-fixture-time{justify-content:center;margin:12px 0 0}
.public-match-header>.public-match-competition{border-bottom:1px solid var(--line);padding-bottom:12px}
.public-match-status-row{display:flex;justify-content:center;margin:12px 0}
@media(max-width:420px){.sa-competition-label.sa-match-competition{font-size:11px;gap:5px}.sa-match-competition .sa-sport-marker{font-size:16px;gap:5px}.mc-score-focus>.mc-status{font-size:10px;margin-bottom:8px;padding:4px 7px}}
