/* /upcoming - saison à venir (lot U) ; grille et cartes : season.css (ss-*). */
.up-help { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin: 0 0 1rem; }
.up-section { margin: 1.8rem 0 .7rem; }
.up-foot { align-items: flex-start; }
.up-when { display: flex; flex-direction: column; min-width: 0; }
.up-date { font-size: .7rem; font-weight: 600; color: var(--als-text-heading); }
.up-countdown { font-size: .68rem; color: var(--als-info); font-variant-numeric: tabular-nums; }
.up-countdown.is-soon { color: var(--als-warn); font-weight: 700; }
.up-alert {
    font-size: .7rem; font-weight: 700; padding: .22rem .6rem; border-radius: var(--als-radius-pill); cursor: pointer;
    border: 1px solid var(--als-accent); background: transparent; color: var(--als-text-heading); text-decoration: none;
    white-space: nowrap; transition: background var(--als-t-fast), color var(--als-t-fast);
}
.up-alert:hover:not(:disabled), .up-alert:focus-visible { background: var(--als-accent); color: #0d1030; } /* blanc : 2.98:1 */
.up-alert.is-on { background: var(--als-ok-bg); border-color: var(--als-ok-border); }
.up-alert:disabled { opacity: .5; cursor: wait; }
.up-item.is-alerted .al-card { box-shadow: inset 0 0 0 1px var(--als-ok-border); }
.up-only-alerts .up-item:not(.is-alerted) { display: none; }
