:root{--mc-red:#d21f2b;--mc-red-dark:#720d16;--mc-wine:#721936;--mc-wine-light:#aa3155;--mc-gold:#d9ad5b}
body.match-page{background:#070908}
.match-kicker,.match-section-heading>span{color:var(--mc-gold);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.match-list-hero{padding:68px 0 54px;background:radial-gradient(circle at 78% 18%,rgba(114,25,54,.28),transparent 28%),linear-gradient(135deg,#16080b,#090b0a);border-bottom:1px solid var(--line)}
.match-list-hero h1{margin:14px 0 18px;font-size:clamp(3.4rem,8vw,6rem)}
.match-list-hero p{max-width:760px;margin:0;color:#bdc0bc;font-size:1.05rem;line-height:1.75}
.match-list-section{min-height:52vh}.match-section-heading h2{margin:10px 0 26px;font-size:clamp(2.25rem,4.5vw,3.5rem)}
.match-list-card{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:28px;padding:26px 30px;border:1px solid rgba(217,173,91,.25);border-radius:18px;background:linear-gradient(115deg,rgba(210,31,43,.12),rgba(114,25,54,.13));transition:.2s}
.match-list-card:hover{transform:translateY(-3px);border-color:var(--mc-gold);background:linear-gradient(115deg,rgba(210,31,43,.18),rgba(114,25,54,.2))}.match-list-time{display:grid;text-align:center;padding-right:28px;border-right:1px solid var(--line)}.match-list-time strong{font:600 2.5rem Oswald}.match-list-time span{font-size:.7rem;color:var(--mc-gold);letter-spacing:.14em}.match-list-teams{display:grid;gap:5px}.match-list-teams small{color:var(--mc-gold);font-weight:800}.match-list-teams strong{font:600 clamp(1.4rem,3vw,2rem) Oswald;text-transform:uppercase}.match-list-teams span{color:var(--muted);font-size:.85rem}.match-list-action{font-weight:800;color:var(--mc-gold);white-space:nowrap}
.match-scoreboard{padding:25px 0 24px;border-bottom:1px solid rgba(217,173,91,.22);background:radial-gradient(circle at 20% 15%,rgba(210,31,43,.25),transparent 30%),radial-gradient(circle at 80% 15%,rgba(114,25,54,.35),transparent 32%),linear-gradient(180deg,#14090c,#090b0a)}
.match-back{display:inline-block;margin-bottom:12px;color:#aeb1ad;font-size:.78rem}.match-back:hover{color:var(--mc-gold)}.match-competition{text-align:center;color:var(--mc-gold);font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.match-teams{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:26px;margin:14px auto 8px;max-width:930px}.match-team{display:flex;align-items:center;gap:18px}.match-team:last-child{flex-direction:row-reverse;text-align:right}.match-team>span{width:62px;height:62px;flex:0 0 62px;border-radius:50%;display:grid;place-items:center;font:600 1.05rem Oswald;letter-spacing:.05em;border:2px solid rgba(255,255,255,.75);box-shadow:0 8px 24px rgba(0,0,0,.35)}.match-team.toulouse>span{background:#c81d28}.match-team.bordeaux>span{background:#70182f}.match-team strong{font:600 clamp(1.9rem,4vw,3.1rem) Oswald;text-transform:uppercase;line-height:1}.match-versus{text-align:center;display:grid;gap:5px}.match-versus b{font:600 2rem Oswald;color:rgba(255,255,255,.42)}.match-versus small{font-size:.72rem;color:#c9cbc8}.match-venue{text-align:center;color:#aeb1ad;font-size:.8rem}
.match-countdown-wrap{margin:15px auto 0;width:max-content;max-width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 14px;border:1px solid rgba(217,173,91,.26);border-radius:999px;background:rgba(0,0,0,.25);color:#e4d3b3;font-size:.75rem;font-weight:700}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--mc-gold);box-shadow:0 0 10px rgba(217,173,91,.6)}.match-countdown{display:flex;gap:9px}.match-countdown b{display:flex;align-items:baseline;gap:2px;font-weight:700}.match-countdown strong{font-size:.9rem;color:white}.match-countdown small{font-size:.62rem;color:#aeb1ad}.match-countdown-wrap.is-live{color:#fff;border-color:rgba(210,31,43,.55);background:rgba(210,31,43,.12);text-transform:uppercase;letter-spacing:.12em}.match-countdown-wrap.is-live .live-dot{background:#f02d39;animation:livePulse 1.2s infinite}@keyframes livePulse{50%{opacity:.35}}
.match-stream{padding-top:26px}.stream-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.stream-heading h1{margin:5px 0 0;font-size:clamp(2.1rem,4.8vw,3.7rem);text-transform:none}.stream-time{padding:8px 12px;border:1px solid rgba(217,173,91,.28);border-radius:999px;color:#e8d6b4;font-size:.75rem;white-space:nowrap}.responsive-video{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(217,173,91,.34);border-radius:16px;background:#000;box-shadow:0 22px 65px rgba(0,0,0,.45)}.responsive-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.stream-help{margin:10px 4px 0;color:#9da19d;font-size:.78rem}
.match-content{display:grid;gap:84px;padding-top:78px}.match-intro{max-width:900px}.match-intro h2{margin:12px 0 20px;font-size:clamp(2.6rem,5vw,4rem)}.match-intro p{margin:0;color:#bdc0bc;font-size:1.08rem;line-height:1.8}
.match-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#101210}.match-facts div{padding:23px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.match-facts div:nth-child(3n){border-right:0}.match-facts div:nth-last-child(-n+3){border-bottom:0}.match-facts dt{color:#959995;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.match-facts dd{margin:7px 0 0;font-weight:700}
.lineup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lineup-card{overflow:hidden;padding:28px;border:1px solid var(--line);border-radius:20px;background:#101210}.lineup-card:before{content:"";display:block;height:4px;margin:-28px -28px 26px}.toulouse-lineup:before{background:linear-gradient(90deg,var(--mc-red),#171717)}.bordeaux-lineup:before{background:linear-gradient(90deg,var(--mc-wine-light),var(--mc-wine))}.lineup-card header{display:flex;align-items:center;gap:14px;margin-bottom:24px}.lineup-card header>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:600 .85rem Oswald;border:1px solid rgba(255,255,255,.5)}.toulouse-lineup header>span{background:var(--mc-red-dark)}.bordeaux-lineup header>span{background:var(--mc-wine)}.lineup-card header small{color:#969a96}.lineup-card h3{margin:2px 0 0;font:600 1.65rem Oswald;text-transform:uppercase}.lineup-card h4{margin:24px 0 12px;color:var(--mc-gold);font-size:.73rem;letter-spacing:.13em;text-transform:uppercase}.lineup-card ol{margin:0;padding-left:2.25rem;columns:2;column-gap:28px}.lineup-card li{break-inside:avoid;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.055);color:#e4e5e3;font-size:.9rem}.lineup-card li::marker{color:#858985;font-size:.73rem}.bench{margin:0;color:#c3c5c2;line-height:1.75}
.match-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card,.officials-card{padding:30px;border:1px solid var(--line);border-radius:20px;background:#101210}.form-card h2,.officials-card h2{margin:10px 0 22px;font-size:2.1rem}.form-card>div{padding:15px 0;border-top:1px solid var(--line)}.form-card p{margin:5px 0 0;color:#aeb1ad}.officials-card dl{margin:0}.officials-card dl div{display:flex;justify-content:space-between;gap:25px;padding:16px 0;border-top:1px solid var(--line)}.officials-card dt{color:#9da19d}.officials-card dd{margin:0;font-weight:800;text-align:right}.officials-card>p{margin:15px 0 0;color:#8f938f;font-size:.78rem;line-height:1.6}
@media(max-width:900px){.match-teams{grid-template-columns:1fr 115px 1fr;gap:14px}.match-team{gap:10px}.match-team>span{width:50px;height:50px;flex-basis:50px}.match-facts{grid-template-columns:repeat(2,1fr)}.match-facts div:nth-child(3n){border-right:1px solid var(--line)}.match-facts div:nth-child(2n){border-right:0}.match-facts div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.match-facts div:nth-last-child(-n+2){border-bottom:0}.lineup-card ol{columns:1}}
@media(max-width:620px){.match-list-hero{padding:46px 0 40px}.match-list-hero h1{font-size:3.2rem}.match-list-card{grid-template-columns:74px 1fr;padding:20px 16px;gap:15px}.match-list-time{padding-right:14px}.match-list-time strong{font-size:2rem}.match-list-action{grid-column:2;font-size:.8rem}.match-scoreboard{padding-top:16px}.match-back{margin-bottom:9px}.match-teams{grid-template-columns:1fr 58px 1fr;gap:4px;margin-top:11px}.match-team,.match-team:last-child{flex-direction:column;text-align:center;gap:7px}.match-team>span{width:43px;height:43px;flex-basis:43px;font-size:.75rem}.match-team strong{font-size:1.45rem}.match-versus b{font-size:1.3rem}.match-versus small{font-size:.59rem;line-height:1.25}.match-venue{font-size:.7rem}.match-countdown-wrap{gap:7px;padding:7px 10px}.match-countdown{gap:5px}.match-stream{padding-top:20px}.stream-heading{align-items:flex-start;flex-direction:column;gap:8px}.stream-heading h1{font-size:2.25rem}.stream-time{font-size:.68rem}.responsive-video{border-radius:10px}.stream-help{font-size:.72rem;line-height:1.5}.match-content{gap:60px;padding-top:58px}.match-intro h2{font-size:2.5rem}.match-intro p{font-size:1rem}.match-facts{grid-template-columns:1fr}.match-facts div,.match-facts div:nth-child(2n),.match-facts div:nth-child(3n),.match-facts div:nth-last-child(-n+2),.match-facts div:nth-last-child(-n+3){border-right:0;border-bottom:1px solid var(--line)}.match-facts div:last-child{border-bottom:0}.lineup-grid,.match-bottom-grid{grid-template-columns:1fr}.lineup-card{padding:22px 18px}.lineup-card:before{margin:-22px -18px 22px}.lineup-card li{font-size:.88rem}.form-card,.officials-card{padding:24px 20px}}
/* Long team/player names must not impose a wider grid on narrow screens. */
.match-content{grid-template-columns:minmax(0,1fr)}
.match-content>*,.lineup-grid>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:360px){.match-team strong{font-size:1.2rem}.match-teams{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)}}
@media(max-width:620px){.match-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.match-team{min-width:0;grid-row:1}.match-team:last-child{grid-column:2}.match-team strong{font-size:clamp(1rem,4.4vw,1.45rem);max-width:100%;overflow-wrap:anywhere}.match-versus{grid-row:2;grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px}.match-versus small{font-size:.72rem}}
