.fixtures { min-width: 0; }
a.result-row:hover, a.result-row:focus-visible { background:#f6f2eb; }
.result-row { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; padding:16px 0; border-top:1px solid #ddd6c9; }
.result-side { display:grid; justify-items:center; gap:5px; text-align:center; font-size:.86rem; overflow-wrap:anywhere; }
.result-side img { object-fit:contain; }
.result-score { font:600 1.8rem Oswald,sans-serif; white-space:nowrap; font-variant-numeric:tabular-nums; }
.result-meta { grid-column:1/-1; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; color:#565d66; font-size:.75rem; }
.result-meta b { padding:3px 8px; border-radius:4px; background:#ede9df; }
.result-meta [data-result="Victoire"] { color:#16553d; background:#e0f1e7; }
.result-meta [data-result="Défaite"] { color:#8f2836; background:#f9e4e7; }
.fixtures h2 { font: 500 1.45rem Oswald,sans-serif; margin: 0 0 12px; }
.fixture { display:flex; align-items:center; gap:18px; padding:18px; margin-bottom:8px; background:#102238; border:1px solid #34465e; border-left:3px solid var(--red); }
.fixture + .fixture { border-left-color:var(--blue-bright); }
.fixture img { object-fit:contain; flex:none; }
.fixture strong,.fixture time { display:block; }
.fixture a,.fixtures > small { font-size:.8rem; color:#c2cede; }
.fixture strong { font:500 clamp(1.3rem,2.4vw,2rem) Oswald,sans-serif; margin:3px 0; }
.fixture time { font-size:.95rem; color:var(--paper); }
.fixture .opponent-logo { margin-left:auto; width:clamp(34px,5vw,54px); height:auto; max-height:54px; }
.fixture small { display:block; color:#c5d2e3; margin-top:4px; }
@media(max-width:900px) {
  .hero { min-height:auto; padding-top:116px; padding-bottom:32px; gap:20px; }
  .hero h1 { font-size:clamp(34px,7vw,54px); margin:10px 0; }
  .hero h1 br { display:none; }
  .hero h1 em { margin-left:.2em; }
  .hero-copy > p { margin:0; }
  .fixture { padding:12px; }
  .fixture img { width:54px; height:54px; }
}

.hero {min-height:0;padding:110px 0 28px;grid-template-columns:minmax(0, .95fr) minmax(0,1.05fr);gap:16px 12px}
.hero-copy {grid-column:1;grid-row:1}
.hero h1 {font-size:clamp(58px,5.3vw,88px);margin:16px 0}
.hero-copy>p {margin:0}
.hero-actions {margin-top:22px}
.hero-portraits {
  position:relative;grid-column:2;grid-row:1;align-self:stretch;min-height:350px;
  overflow:hidden;pointer-events:none;
  mask-image:linear-gradient(to bottom,#000 0 62%,transparent 100%);
}
.hero-portraits img {
  position:absolute;inset:0 auto auto 0;width:58%;height:100%;object-fit:cover;
  object-position:center 8%;mask-image:linear-gradient(90deg,transparent,#000 16% 75%,transparent);
}
.hero-portraits img + img {left:42%;object-position:center top}
.fixtures {grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.fixtures h2 {grid-column:1/-1;margin:0}
.fixture {margin:0;padding:12px 18px}
.fixtures>small {grid-column:1/-1}
@media(max-width:700px){
  .hero {grid-template-columns:1fr;padding-top:94px;gap:10px}
  .hero-copy,.hero-portraits {grid-column:1;grid-row:auto}
  .hero-copy {order:0}
  .hero-portraits {order:1;height:clamp(175px,42vw,240px);min-height:0}
  .fixtures {order:2;grid-template-columns:1fr}
  .hero h1 {font-size:clamp(36px,8vw,52px)}
  .fixture {padding:12px}
}
.result-meta strong { flex-basis:100%; text-align:center; color:var(--ink); }
.hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:320px; gap:clamp(16px,3vw,28px); }
.hero-actions .club-link {
  --accent:#e0435d;
  display:flex; align-items:center; justify-content:space-between; gap:4px;
  min-height:44px; color:var(--white); font:600 14px/1.3 'DM Sans',sans-serif;
  white-space:nowrap; border-bottom:2px solid var(--accent);
}
.hero-actions .chelsea-link { --accent:#598aff; }
.club-link span { color:var(--accent); font-size:18px; }
.club-link:hover { color:white; box-shadow:0 1px var(--accent); }
.club-link:focus-visible { outline:2px solid white; outline-offset:3px; }
.fixture-club {font-size:.8rem;color:#c2cede}
.fixture .fixture-link {font-weight:700;color:white}
.fixture[href]:hover,.fixture[href]:focus-visible {background:#19304c;outline:2px solid #849bbe;outline-offset:1px}
.matches-section {padding-top:clamp(30px,4vw,58px)}
.matches-section .section-heading {margin-bottom:20px}
.recent-toggle {display:none}
@media(max-width:700px){
  #recent .match-card {padding:14px 16px}
  #recent h3 {margin:2px 0 10px}
  #recent .result-row {padding:12px 0}
  #recent div:not(.expanded) > .result-row ~ .result-row {display:none}
  .recent-toggle:not([hidden]) {display:block;align-self:center;padding:10px 12px;border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}
}
.alerts-section {padding-block:16px 40px}
.alerts-section details {border-top:1px solid #c6beb3;padding-top:14px}
.alerts-section summary {cursor:pointer;font:500 1.45rem Oswald,sans-serif}
.alerts-section fieldset {border:0;margin:20px 0;padding:0}
.alerts-section legend {font-weight:700;margin-bottom:8px}
.alerts-section label {display:inline-flex;align-items:center;gap:6px;padding:8px 14px 8px 0}
.alerts-section input {accent-color:#1746a2}
.alerts-section button {padding:10px 14px;border:1px solid var(--navy);border-radius:3px;background:var(--navy);color:white;font:inherit;cursor:pointer}
.alerts-section button:disabled {opacity:.6}
.alerts-section #alert-stop {background:transparent;color:var(--navy)}
.alerts-section [role=status] {font-size:.9rem;margin:10px 0}
