.os-fixture-program {
    --os-border: rgba(0,0,0,.12);
    --os-muted: #6b7280;
    width: 100%;
}
.os-fixture-filters {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 28px;
}
.os-filter {
    appearance:none;
    border:1px solid var(--os-border);
    background:transparent;
    padding:8px 14px;
    border-radius:999px;
    cursor:pointer;
    font:inherit;
}
.os-filter.is-active {
    background:currentColor;
    color:#fff;
}
.os-month-heading {
    margin:30px 0 12px;
    font-size:1.05rem;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.os-match {
    display:grid;
    grid-template-columns:72px 1fr auto;
    gap:20px;
    align-items:center;
    padding:18px 0;
    border-top:1px solid var(--os-border);
}
.os-match-date {
    text-align:center;
    line-height:1.05;
}
.os-day {
    display:block;
    font-size:1.7rem;
    font-weight:700;
}
.os-weekday {
    display:block;
    margin-top:5px;
    color:var(--os-muted);
    font-size:.78rem;
    text-transform:uppercase;
}
.os-match-main { min-width:0; }
.os-competition {
    margin-bottom:5px;
    color:var(--os-muted);
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.os-teams {
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    font-size:1.08rem;
    font-weight:600;
}
.os-teams strong { opacity:.45; }
.os-venue {
    margin-top:6px;
    color:var(--os-muted);
    font-size:.9rem;
}
.os-match-time {
    white-space:nowrap;
    font-size:1.1rem;
    font-weight:700;
}
.os-no-matches {
    padding:20px 0;
    color:var(--os-muted);
}
@media (max-width:640px) {
    .os-match { grid-template-columns:54px 1fr; gap:14px; }
    .os-match-time { grid-column:2; margin-top:-7px; }
    .os-day { font-size:1.35rem; }
    .os-teams { font-size:1rem; }
}
