/* Match Center v3 — responsive editorial scoreboard */
.match-v3{max-width:1120px;padding-top:clamp(28px,5vw,64px);padding-bottom:80px;color:#18221c}
.match-back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#68736a;font-size:13px;margin-bottom:26px}
.match-v3-head{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid #d9ddd5;padding-bottom:18px}
.match-v3-competition{display:flex;align-items:center;gap:9px;font:600 12px/1.4 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.07em}
.match-v3-live-dot{width:7px;height:7px;border-radius:50%;background:#9aa39b}.match-v3-live-dot.active{background:#e44c36;box-shadow:0 0 0 5px #e44c361a}
.match-v3-kickoff{font:11px 'DM Mono',monospace;color:#758077}
.match-v3-scoreboard{position:relative;display:grid;grid-template-columns:1fr minmax(150px,.7fr) 1fr;align-items:center;gap:16px;margin:24px 0 20px;padding:clamp(24px,5vw,54px) clamp(16px,4vw,42px);border-radius:22px;background:radial-gradient(ellipse at 50% 0%,#344d3a 0%,#1b2b21 70%);color:#f8f6ed;overflow:hidden}
.match-v3-scoreboard:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#ffffff08 50%,transparent 75%)}
.match-v3-team{text-align:center;min-width:0;position:relative;z-index:1}.match-v3-team h1{font:700 clamp(16px,2.2vw,25px)/1.15 'DM Sans',sans-serif;margin:14px 0 7px;overflow-wrap:anywhere}.match-v3-team small{font:10px 'DM Mono',monospace;letter-spacing:.13em;color:#aab8a9}
.match-v3-crest{width:clamp(58px,8vw,92px);height:clamp(58px,8vw,92px);margin:auto;position:relative;display:grid;place-items:center;border-radius:24px;background:#ffffff12;border:1px solid #ffffff20;color:#f5f4e9;font:700 20px 'DM Sans',sans-serif;overflow:hidden}
.match-v3-crest img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:9px;background:#fff;border-radius:inherit}
.match-v3-crest img:not([src]),.match-v3-crest img[src=""]{display:none}
.match-v3-result{text-align:center;position:relative;z-index:1}.match-v3-status{display:inline-flex;align-items:center;gap:7px;border:1px solid #ffffff25;border-radius:99px;padding:7px 10px;font:10px 'DM Mono',monospace;letter-spacing:.08em;color:#d4dfd1;white-space:nowrap}.match-v3-status.live{color:#ffb2a5;border-color:#e65a464d}.match-v3-status.live span{width:6px;height:6px;border-radius:50%;background:#ff705c;animation:matchPulse 1.5s infinite}
.match-v3-score{font:800 clamp(42px,7vw,76px)/1 'DM Sans',sans-serif;letter-spacing:-.06em;margin:18px 0 10px;white-space:nowrap}.match-v3-score i{font-style:normal;color:#a7b3a5;font-weight:400;padding:0 9px}.match-v3-halftime{font:11px 'DM Mono',monospace;color:#b8c5b7}
.match-v3-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px}.match-v3-panel{background:#fff;border:1px solid #e3e5de;border-radius:18px;padding:24px;min-width:0}.match-v3-panel-label{font:10px 'DM Mono',monospace;letter-spacing:.12em;color:#8a9589}.match-v3-panel h2{font:700 20px 'DM Sans',sans-serif;margin:9px 0 20px}.match-v3-panel dl{margin:0}.match-v3-panel dl>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid #edf0e9}.match-v3-panel dt{font-size:13px;color:#788278}.match-v3-panel dd{margin:0;text-align:right;font-size:13px;font-weight:600}.match-v3-empty-event{display:flex;gap:14px;align-items:flex-start;padding:16px;background:#f5f6f1;border-radius:12px;color:#69756a}.match-v3-empty-event span{font-size:20px;color:#738c72}.match-v3-empty-event p{font-size:13px;line-height:1.65;margin:0}.match-v3-source{margin-top:18px;font:10px/1.6 'DM Mono',monospace;color:#879087}
.matchday-card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.matchday-card:hover{transform:translateY(-3px);border-color:#aab7a8;box-shadow:0 10px 24px #18221c12}.matchday-card:focus-visible{outline:3px solid #7c9a78;outline-offset:3px}
@keyframes matchPulse{50%{opacity:.35;box-shadow:0 0 0 4px #ff705c20}}
@media(max-width:680px){.match-v3-head{align-items:flex-start;flex-direction:column}.match-v3-scoreboard{grid-template-columns:1fr 1fr;gap:24px 8px;padding:26px 14px}.match-v3-result{grid-column:1/-1;grid-row:2}.match-v3-team h1{font-size:16px}.match-v3-score{margin:12px 0}.match-v3-grid{grid-template-columns:1fr}.match-v3-panel{padding:20px}.match-v3-crest{border-radius:18px}}
@media(prefers-reduced-motion:reduce){.matchday-card{transition:none}.matchday-card:hover{transform:none}.match-v3-status.live span{animation:none}}
/* API team crests in homepage matchday cards */
.matchday-team{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;font-weight:600}
.matchday-crest{width:30px;height:30px;flex:0 0 30px;position:relative;display:grid;place-items:center;border-radius:9px;background:#f0f2ec;overflow:hidden}
.matchday-crest img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:3px;background:#fff}
.matchday-team>span:last-child{overflow-wrap:anywhere}
@media(max-width:560px){.matchday-crest{width:24px;height:24px;flex-basis:24px;border-radius:7px}.matchday-team{gap:5px}}

/* Mobile-first scoreboard repair: isolate layout from global blog styles */
.match-v3 .match-v3-scoreboard{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(90px,.72fr) minmax(0,1fr)!important;align-items:center!important;gap:clamp(8px,2vw,24px)!important;padding:clamp(22px,5vw,52px)!important;min-height:260px}
.match-v3 .match-v3-team{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;text-align:center!important}
.match-v3 .match-v3-team h1{font-size:clamp(13px,2.5vw,24px)!important;line-height:1.2!important;margin:12px 0 8px!important}
.match-v3 .match-v3-team small{font-size:10px!important;letter-spacing:.12em!important}
.match-v3 .match-v3-crest{width:clamp(64px,12vw,112px)!important;height:clamp(64px,12vw,112px)!important;flex:0 0 auto!important;margin:0 auto!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 28px #0002!important}
.match-v3 .match-v3-crest img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;padding:10px!important;z-index:2!important}
.match-v3 .match-v3-crest span{font-size:18px!important;font-weight:800!important;color:#26382b!important}
.match-v3 .match-v3-result{min-width:0!important;text-align:center!important}
.match-v3 .match-v3-score{font-size:clamp(34px,7vw,72px)!important;letter-spacing:-.06em!important}
.match-v3 .match-v3-status{font-size:9px!important;white-space:normal!important;justify-content:center!important}
.match-v3 .match-v3-grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:16px!important}
.match-v3 .match-v3-panel dl>div{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px!important}
.match-v3 .match-v3-panel dd{overflow-wrap:anywhere!important}
@media(max-width:600px){
.match-v3 .match-v3-scoreboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px 8px!important;padding:22px 12px!important;min-height:0!important}
.match-v3 .match-v3-result{grid-column:1/-1!important;grid-row:2!important}
.match-v3 .match-v3-team{grid-row:1!important}
.match-v3 .match-v3-team h1{font-size:clamp(12px,3.5vw,17px)!important;overflow-wrap:anywhere!important}
.match-v3 .match-v3-crest{width:64px!important;height:64px!important;border-radius:16px!important}
.match-v3 .match-v3-grid{grid-template-columns:minmax(0,1fr)!important}
.match-v3 .match-v3-panel{padding:20px!important}
}



/* Match detail v4 — a full match centre, not a static score card. */
.match-detail-page{max-width:1280px;padding-top:30px;padding-bottom:88px;color:#1b2b20}
.match-detail-breadcrumb{display:flex;align-items:center;gap:10px;min-width:0;margin:0 0 17px;color:#89948a;font:10px 'DM Mono',monospace;letter-spacing:.03em}
.match-detail-breadcrumb a{color:#77857a;text-decoration:none}
.match-detail-breadcrumb a:hover{color:#244a32}
.match-detail-breadcrumb strong{overflow:hidden;color:#3c4c40;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.match-detail-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #263f2d;border-radius:22px;background:radial-gradient(ellipse at 50% -30%,#4b6747 0%,transparent 58%),linear-gradient(128deg,#0d1d13 0%,#172c1d 52%,#0e2116 100%);color:#f7f7ee;box-shadow:0 20px 55px #12251920}
.match-detail-hero:before,.match-detail-hero:after{position:absolute;z-index:-1;content:"";pointer-events:none}
.match-detail-hero:before{width:540px;height:540px;top:-350px;left:calc(50% - 270px);border:1px solid #d7f27a19;border-radius:50%;box-shadow:0 0 0 38px #d7f27a08,0 0 0 82px #d7f27a05}
.match-detail-hero:after{inset:0;background:linear-gradient(90deg,transparent 49.9%,#d7f27a0b 50%,transparent 50.1%);opacity:.55}
.match-detail-hero-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid #ffffff17}
.match-detail-back{color:#b6c5b6;font-size:10px;text-decoration:none;white-space:nowrap}
.match-detail-back:hover{color:#e2f8a9}
.match-detail-league{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;color:#eaf0e5;font-size:11px;font-weight:700}
.match-detail-league img{width:24px;height:24px;object-fit:contain;border-radius:6px;background:#fff;padding:3px}
.match-detail-league i{padding:5px 7px;border:1px solid #ffffff21;border-radius:5px;color:#b5c7b0;font:8px 'DM Mono',monospace;font-style:normal;white-space:nowrap}
.match-detail-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ffffff2a;border-radius:999px;color:#d3dfd0;font:9px 'DM Mono',monospace;letter-spacing:.08em;white-space:nowrap}
.match-detail-status.is-live{border-color:#e76b564b;background:#57281e52;color:#ffb1a2}
.match-detail-status.is-finished{border-color:#9bbd7145;background:#33482c;color:#d9edbc}
.match-detail-status.is-alert{border-color:#b88c4a66;background:#4a371f;color:#f3d19a}
.status-pulse{width:6px;height:6px;border-radius:50%;background:#ff7867;box-shadow:0 0 0 4px #ff78671f;animation:matchDetailPulse 1.5s infinite}
.match-detail-status b{font-size:10px;letter-spacing:0}
.match-detail-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.68fr) minmax(0,1fr);align-items:center;gap:18px;padding:clamp(27px,5vw,58px) clamp(18px,4vw,54px) 31px}
.match-detail-team{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;text-align:center}
.match-detail-crest{position:relative;display:grid;place-items:center;width:clamp(72px,9vw,112px);height:clamp(72px,9vw,112px);flex:0 0 auto;overflow:hidden;border:1px solid #ffffff29;border-radius:23px;background:#fff;box-shadow:0 10px 28px #0003;color:#253b2a;font:800 20px 'DM Sans',sans-serif}
.match-detail-crest img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:contain;padding:11px;background:#fff;border-radius:inherit}
.match-detail-team-copy{display:grid;justify-items:center;gap:5px;min-width:0}
.match-detail-team-copy small{color:#9fb09d;font:9px 'DM Mono',monospace;letter-spacing:.16em}
.match-detail-team h1,.match-detail-team h2{max-width:100%;margin:0;color:#f4f6ec;font:750 clamp(17px,2.2vw,25px)/1.15 'DM Sans',sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere}
.match-detail-rank{color:#91a58f;font-size:9px}
.match-detail-team.is-winner .match-detail-crest{border-color:#d7f27a99;box-shadow:0 0 0 4px #d7f27a16,0 12px 30px #0004}
.match-detail-team.is-winner h1,.match-detail-team.is-winner h2{color:#e3f5b2}
.match-detail-team.is-loser .match-detail-crest{opacity:.74}
.match-detail-team.is-loser h1,.match-detail-team.is-loser h2{color:#c4d0c1}
.match-detail-score{text-align:center}
.match-detail-score-numbers{display:flex;align-items:center;justify-content:center;gap:clamp(9px,2vw,22px);font-variant-numeric:tabular-nums}
.match-detail-score-numbers strong{color:#f6f8ee;font:850 clamp(47px,8vw,82px)/.95 'DM Sans',sans-serif;letter-spacing:-.075em}
.match-detail-score-numbers i{color:#99ae96;font:400 clamp(31px,5vw,51px)/1 'DM Sans',sans-serif;font-style:normal}
.match-detail-score-caption,.match-detail-kickoff{display:block;margin-top:11px;color:#94a993;font:8px 'DM Mono',monospace;letter-spacing:.16em}
.match-detail-vs{color:#e9f1e4;font:800 clamp(36px,6vw,58px)/1 'DM Sans',sans-serif;letter-spacing:-.06em}
.match-detail-time{display:block;margin-top:10px;color:#e5f5c2;font:700 14px 'DM Mono',monospace}
.match-detail-half{display:flex;justify-content:center;gap:8px;margin-top:14px;color:#aebda9;font-size:10px}
.match-detail-half b{color:#eff4e7;font-variant-numeric:tabular-nums}
.match-detail-duration,.match-detail-outcome{margin-top:7px;color:#d7e5c9;font-size:9px}
.match-detail-hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px 25px;padding:15px 20px;border-top:1px solid #ffffff16;background:#08150d42;color:#b1c0ad;font-size:10px}
.match-detail-hero-foot span{display:inline-flex;align-items:center;gap:7px}
.match-detail-tabs{position:sticky;top:0;z-index:15;display:flex;gap:5px;overflow-x:auto;margin:18px 0 15px;padding:7px;border:1px solid #dce2d8;border-radius:10px;background:#f8f9f4ed;backdrop-filter:blur(14px);scrollbar-width:none}
.match-detail-tabs::-webkit-scrollbar{display:none}
.match-detail-tabs a{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:7px;color:#657267;font-size:10px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.match-detail-tabs a:hover{background:#e8efe2;color:#294a31}
.match-detail-tabs a span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#dfe8d5;color:#34533b;font:8px 'DM Mono',monospace}
.match-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.72fr);align-items:start;gap:15px}
.match-detail-main,.match-detail-aside{display:grid;gap:15px;min-width:0}
.match-detail-section,.match-detail-info-card,.match-detail-source-card{min-width:0;border:1px solid #e1e5dc;border-radius:13px;background:#fff;box-shadow:0 8px 25px #1d2a1f08}
.match-detail-section{padding:clamp(17px,2.6vw,25px)}
.match-detail-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:20px}
.match-detail-eyebrow{display:block;color:#82947d;font:8px 'DM Mono',monospace;letter-spacing:.15em}
.match-detail-section-head h2,.match-detail-info-card h2{margin:6px 0 0;color:#17251a;font:750 20px/1.16 'DM Sans',sans-serif;letter-spacing:-.04em}
.match-detail-section-head p{margin:5px 0 0;color:#839087;font-size:10px;line-height:1.5}
.match-detail-section-count{color:#8a968b;font:8px 'DM Mono',monospace;white-space:nowrap}
.match-event-list{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none}
.match-event-list:before{position:absolute;top:11px;bottom:11px;left:52px;width:1px;background:#e7ebe3;content:""}
.match-event{position:relative;display:grid;grid-template-columns:36px 34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:8px 0}
.match-event-minute{color:#718075;font:10px 'DM Mono',monospace;font-variant-numeric:tabular-nums;text-align:right}
.match-event-marker{position:relative;z-index:1;display:grid;place-items:center;width:27px;height:27px;border:1px solid #e0e7dc;border-radius:50%;background:#fff;color:#496447;font-size:13px}
.match-event-goal .match-event-marker{border-color:#c9dfac;background:#edf5e3}
.match-event-yellow-card .match-event-marker{border-color:#efda88;background:#fff9dc}
.match-event-red-card .match-event-marker{border-color:#ecc0b9;background:#fff0ed}
.match-event-content{display:grid;gap:3px;min-width:0}
.match-event-label{color:#748278;font:8px 'DM Mono',monospace;letter-spacing:.09em}
.match-event-content strong{color:#25352a;font-size:11px;font-weight:750;overflow-wrap:anywhere}
.match-event-content small{color:#879389;font-size:9px}
.match-event-score{color:#51634f;font:700 10px 'DM Mono',monospace;font-variant-numeric:tabular-nums;white-space:nowrap}
.match-event.side-away .match-event-content{border-left:2px solid #a9c7d5;padding-left:10px}
.match-event.side-home .match-event-content{border-left:2px solid #a8c77a;padding-left:10px}
.match-detail-empty{display:flex;align-items:flex-start;gap:13px;padding:17px;border:1px solid #e3e9dc;border-radius:10px;background:#f6f8f2}
.match-detail-empty-icon{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:9px;background:#e7efdf;color:#3a6441;font-size:16px}
.match-detail-empty strong{display:block;margin:1px 0 5px;color:#354637;font-size:11px}
.match-detail-empty p{margin:0;color:#7d8a7e;font-size:10px;line-height:1.65}
.match-statistics{display:grid;gap:0}
.match-stat-team-head{display:grid;grid-template-columns:minmax(0,1fr) 1fr minmax(0,1fr);align-items:center;gap:10px;padding:0 2px 12px;border-bottom:1px solid #e8ece5;color:#657468;font-size:9px;font-weight:700}
.match-stat-team-head>span{display:flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
.match-stat-team-head>span:nth-child(2){justify-content:center;color:#89958a;font:8px 'DM Mono',monospace;letter-spacing:.08em}
.match-stat-team-head>span:last-child{justify-content:flex-end;text-align:right}
.match-stat-team-head img{width:17px;height:17px;object-fit:contain}
.match-stat-row{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #eff1ed}
.match-stat-row:last-child{border-bottom:0}
.match-stat-row>strong{color:#344536;font:700 11px 'DM Mono',monospace;font-variant-numeric:tabular-nums}
.match-stat-row>strong:last-child{text-align:right}
.match-stat-middle{display:grid;gap:7px;min-width:0}
.match-stat-middle>span{text-align:center;color:#778579;font-size:9px}
.match-stat-track{display:flex;width:100%;height:6px;overflow:hidden;border-radius:99px;background:#eff2ec}
.match-stat-track i{display:block;height:100%}
.match-stat-track i.home{background:#829f4f}
.match-stat-track i.away{background:#8cabb9}
.match-lineups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.match-lineup-card{min-width:0;overflow:hidden;border:1px solid #e2e8de;border-radius:10px;background:#fafbf8}
.match-lineup-head{display:flex;align-items:center;gap:10px;padding:13px;border-bottom:1px solid #e8ede5;background:#f4f7f1}
.match-lineup-head>img{width:32px;height:32px;flex:0 0 auto;object-fit:contain}
.match-lineup-head>div{display:grid;flex:1;gap:3px;min-width:0}
.match-lineup-head strong{color:#25352a;font-size:10px;overflow-wrap:anywhere}
.match-lineup-head small{color:#829084;font-size:8px}
.match-formation{padding:6px 7px;border:1px solid #dce7d4;border-radius:5px;background:#fff;color:#53694b;font:9px 'DM Mono',monospace;white-space:nowrap}
.match-lineup-players{display:grid;gap:12px;padding:13px}
.match-lineup-group{display:grid;gap:6px}
.match-lineup-group-label{color:#8a968b;font:8px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.match-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.match-player{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 7px;border:1px solid #e9ede6;border-radius:6px;background:#fff;color:#5d6a5f;font-size:8px}
.match-player b{display:grid;flex:0 0 19px;place-items:center;width:19px;height:19px;border-radius:5px;background:#eaf1e4;color:#45603c;font:700 8px 'DM Mono',monospace}
.match-player span{min-width:0;overflow-wrap:anywhere;line-height:1.3}
.match-lineup-bench{margin:0 13px 13px;border-top:1px solid #e5ebe2;padding-top:10px}
.match-lineup-bench summary{color:#61745f;font-size:9px;font-weight:750;cursor:pointer}
.match-lineup-bench .match-player-list{margin-top:9px}
.match-detail-info-card{padding:18px}
.match-detail-info-card header{margin-bottom:13px;padding-bottom:13px;border-bottom:1px solid #e9ede6}
.match-detail-info-card h2{font-size:15px}
.match-detail-info-card dl{display:grid;gap:0;margin:0}
.match-detail-info-card dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;padding:10px 0;border-bottom:1px solid #f0f2ed}
.match-detail-info-card dl>div:last-child{border-bottom:0;padding-bottom:0}
.match-detail-info-card dt{flex:0 0 auto;color:#879389;font-size:9px}
.match-detail-info-card dd{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;margin:0;color:#334437;font-size:9px;font-weight:700;text-align:right;overflow-wrap:anywhere}
.match-detail-info-card dd img{width:17px;height:17px;flex:0 0 auto;object-fit:contain}
.match-detail-info-card .match-referees dd{max-width:60%}
.match-detail-source-card{display:grid;gap:7px;padding:17px;background:#edf3e9}
.match-detail-source-card strong{color:#304a32;font-size:12px}
.match-detail-source-card p{margin:0;color:#566b57;font-size:10px;font-weight:700}
.match-detail-source-card small{color:#7b897d;font-size:8px;line-height:1.5}
@keyframes matchDetailPulse{50%{opacity:.35;box-shadow:0 0 0 7px #ff786710}}
@media(max-width:980px){
 .match-detail-layout{grid-template-columns:minmax(0,1fr) 270px}
 .match-lineups-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .match-detail-page{padding-top:20px;padding-bottom:50px}
 .match-detail-breadcrumb{font-size:9px}
 .match-detail-hero{border-radius:15px}
 .match-detail-hero-top{flex-wrap:wrap;justify-content:space-between;padding:13px}
 .match-detail-league{order:3;flex:1 0 100%;justify-content:flex-start}
 .match-detail-status{margin-left:auto}
 .match-detail-scoreboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:17px 8px;padding:24px 12px 20px}
 .match-detail-team{gap:10px}
 .match-detail-crest{width:65px;height:65px;border-radius:15px}
 .match-detail-team h1,.match-detail-team h2{font-size:15px}
 .match-detail-team-copy small{font-size:8px}
 .match-detail-score{grid-column:1/-1;grid-row:2}
 .match-detail-score-numbers strong{font-size:59px}
 .match-detail-vs{font-size:42px}
 .match-detail-hero-foot{justify-content:flex-start;gap:9px 14px;padding:13px;font-size:9px}
 .match-detail-tabs{margin:12px 0;top:0}
 .match-detail-tabs a{padding:9px 10px;font-size:9px}
 .match-detail-layout{grid-template-columns:minmax(0,1fr)}
 .match-detail-main,.match-detail-aside{gap:11px}
 .match-detail-section{padding:15px}
 .match-detail-section-head{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:14px}
 .match-detail-section-head h2{font-size:18px}
 .match-event-list:before{left:44px}
 .match-event{grid-template-columns:30px 29px minmax(0,1fr);gap:8px;min-height:62px}
 .match-event-minute{font-size:9px}
 .match-event-marker{width:25px;height:25px}
 .match-event-content strong{font-size:10px}
 .match-event-score{grid-column:3;padding-left:2px}
 .match-stat-row{grid-template-columns:39px minmax(0,1fr) 39px;gap:8px}
 .match-stat-team-head{font-size:8px}
 .match-lineups-grid{grid-template-columns:1fr}
 .match-detail-aside{grid-template-columns:1fr}
 .match-detail-info-card{padding:15px}
}
@media(max-width:360px){
 .match-detail-status{font-size:8px}
 .match-detail-score-numbers strong{font-size:52px}
 .match-player-list{grid-template-columns:minmax(0,1fr)}
 .match-stat-team-head{gap:4px}
 .match-stat-team-head img{width:14px;height:14px}
}
@media(prefers-reduced-motion:reduce){.status-pulse{animation:none}}


.match-detail-loading .match-detail-empty-icon{background:#e9f0df}
.match-detail-spinner{display:block;width:15px;height:15px;border:2px solid #a8bb91;border-top-color:#355b37;border-radius:50%;animation:matchDetailSpin .8s linear infinite}
@keyframes matchDetailSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.match-detail-spinner{animation:none}}


/* Team and competition crest rendering: names remain visible when a source logo is missing. */
.matchday-crest{isolation:isolate}
.matchday-crest-fallback,.match-crest-fallback{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100%;color:#456044;font:800 8px 'DM Sans',sans-serif;letter-spacing:-.03em;text-align:center}
.matchday-crest img,.match-detail-crest img,.match-detail-league-crest img,.match-list-crest img{z-index:2}
.matchday-crest.has-no-crest,.match-list-crest.has-no-crest{border:1px solid #c8d1c3;background:#e9eee5}
.match-detail-crest .match-crest-fallback{font-size:clamp(15px,2vw,21px);color:#203b28}
.match-detail-crest.has-no-crest{border-color:#8ca17f;background:linear-gradient(145deg,#f5f8f0,#dfe8d9)}
.match-detail-league-crest{position:relative;display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;overflow:hidden;border-radius:6px;background:#fff}
.match-detail-league-crest .match-crest-fallback{font-size:7px;color:#304432}
.match-detail-league-crest img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:3px;background:#fff}
.match-list-crest{position:relative;display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;overflow:hidden;border:1px solid #d5d9ce;border-radius:8px;background:#fff}
.match-list-crest img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:3px;background:#fff}
.match-list-crest .match-crest-fallback{font-size:8px}
@media(max-width:560px){.match-list-crest{width:25px;height:25px;flex-basis:25px;border-radius:7px}.match-list-crest .match-crest-fallback{font-size:7px}}


/* Matchday crest sizing hardening: prevent global img rules from enlarging badges. */
.matchday-card .matchday-teams,
.match-card .match-teams{min-width:0}
.matchday-card .matchday-team,
.match-card .match-team{display:flex;align-items:center;gap:clamp(7px,2vw,12px);min-width:0;max-width:100%}
.matchday-card .matchday-team>span,
.match-card .match-team>span{min-width:0;overflow-wrap:anywhere}
.matchday-card .matchday-crest,
.match-card .match-list-crest{position:relative!important;display:grid!important;place-items:center!important;width:clamp(28px,7vw,40px)!important;height:clamp(28px,7vw,40px)!important;min-width:clamp(28px,7vw,40px)!important;max-width:clamp(28px,7vw,40px)!important;min-height:clamp(28px,7vw,40px)!important;max-height:clamp(28px,7vw,40px)!important;flex:0 0 clamp(28px,7vw,40px)!important;overflow:hidden!important;border-radius:8px!important;box-sizing:border-box!important}
.matchday-card .matchday-crest img,
.match-card .match-list-crest img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain!important;padding:3px!important;margin:0!important;border:0!important;border-radius:inherit!important;box-sizing:border-box!important}
.matchday-card .matchday-crest-fallback,
.match-card .match-list-crest .match-crest-fallback{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;max-width:100%!important;font-size:clamp(7px,1.8vw,10px)!important;line-height:1!important}
@media(max-width:560px){
  .matchday-card .matchday-team,.match-card .match-team{gap:6px}
  .matchday-card .matchday-crest,.match-card .match-list-crest{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;min-height:30px!important;max-height:30px!important;flex-basis:30px!important}
}
