/* Programme-only layout: the player and its channel list are unaffected. */
.programme-page{height:calc(100dvh - var(--programme-topbar-height,4.25rem));min-height:0}
.programme-filters{flex-wrap:wrap;justify-content:flex-end}
.programme-filters>button{min-height:2.65rem;white-space:nowrap}
#toggle-view{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
#toggle-view svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
#toggle-view{border-color:#91546a;background:#28101a}
#toggle-view:hover{background:#3a1826}
#show-day:disabled{color:#777;background:#111;border-color:#252525;cursor:default;opacity:.65}
.programme-range{display:grid;gap:.25rem;margin:0}
.programme-range>span{color:#a2a2a2;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.programme-range-controls{display:flex;align-items:center;height:2.65rem;border:1px solid #303030;border-radius:.65rem;background:#111;overflow:hidden}
.programme-range-controls button{display:flex;align-items:center;justify-content:center;align-self:stretch;min-width:2.65rem;padding:.4rem;border:0;border-radius:0;font-size:1.2rem}
.programme-range-controls button:disabled{color:#666;cursor:default}
.programme-range-controls output{min-width:6.5rem;padding:0 .5rem;text-align:center;font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.programme-board{--schedule-channel-width:11rem;--schedule-row-height:7rem;--schedule-hour-width:192px;overscroll-behavior:contain;scroll-padding-top:7.5rem;scroll-padding-left:0;overflow-anchor:none;isolation:isolate}
.programme-board .schedule-column{height:var(--schedule-day-height,4728px)!important;min-height:var(--schedule-day-height,4728px)!important}
.programme-board .schedule-channel{top:-1px;z-index:10;isolation:isolate}
/* Cover fractional device pixels at sticky edges, including Safari at zoom. */
.programme-board .schedule-channel::before{content:"";position:absolute;inset:-2px -1px;z-index:-1;background:inherit;pointer-events:none}
.programme-board .schedule-item:focus-visible,.programme-board .schedule-channel:focus-visible{outline:2px solid #ffe066;outline-offset:-3px;z-index:4}
.schedule-axis{display:none}
.programme-board[data-view="horizontal"]{display:block;scroll-snap-type:none;scroll-padding-top:2.5rem;scroll-padding-left:var(--schedule-channel-width)}
.programme-board[data-view="horizontal"] .schedule-column{width:calc(var(--schedule-channel-width) + var(--schedule-time-width));height:var(--schedule-row-height)!important;min-height:var(--schedule-row-height)!important;border-right:0;border-bottom:1px solid #303030;background:#0d0d0d repeating-linear-gradient(to right,transparent 0,transparent calc(var(--schedule-hour-width) - 1px),#252525 calc(var(--schedule-hour-width) - 1px),#252525 var(--schedule-hour-width));background-position:var(--schedule-channel-width) 0}
.programme-board[data-view="horizontal"] .schedule-column.loading{padding:1rem}
.programme-board[data-view="horizontal"] .schedule-channel{position:sticky;top:auto;left:-1px;z-index:10;width:calc(var(--schedule-channel-width) + 1px);height:100%;display:flex;flex-direction:row;justify-content:flex-start;gap:.7rem;padding:.7rem;border-bottom:0;border-right:1px solid #383838;box-shadow:3px 0 8px #0005}
.programme-board[data-view="horizontal"] .schedule-channel img{width:3.2rem;height:3.2rem;flex:none}
.programme-board[data-view="horizontal"] .schedule-channel span{position:static;white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:.85rem;color:#eee;line-height:1.2}
.programme-board[data-view="horizontal"] .schedule-item{right:auto;grid-template-columns:1fr;gap:.3rem;padding:.7rem;border-bottom:0;border-right:1px solid #383838}
.programme-board[data-view="horizontal"] .schedule-item time{width:max-content}
.programme-board[data-view="horizontal"] .schedule-item strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:.9rem}
.programme-board[data-view="horizontal"] .schedule-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:.75rem}
.programme-board[data-view="horizontal"] .schedule-empty{position:absolute;left:var(--schedule-channel-width);top:0;margin:0;padding:1rem}
.programme-board[data-view="horizontal"] .schedule-axis{position:sticky;top:-1px;z-index:20;display:flex;width:calc(var(--schedule-channel-width) + var(--schedule-time-width));height:2.5rem;background:#1b1b1b;border-bottom:1px solid #444;isolation:isolate}
.schedule-axis::before{content:"";position:absolute;inset:-2px -1px;z-index:-1;background:inherit;pointer-events:none}
.schedule-axis-label{position:sticky;left:-1px;z-index:30;display:flex;align-items:center;flex:0 0 var(--schedule-channel-width);padding:.7rem;background:#1b1b1b;border-right:1px solid #383838;color:#aaa;font-size:.75rem;isolation:isolate}
.schedule-axis-label::before{content:"";position:absolute;inset:-2px -1px;z-index:-1;background:inherit;pointer-events:none}
.schedule-hours{position:relative;width:var(--schedule-time-width);flex:none}
.schedule-hours time{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding-left:.5rem;border-left:1px solid #444;font-size:.8rem;color:#ddd;font-variant-numeric:tabular-nums}
.schedule-now{position:absolute;top:0;height:2.5rem;width:0;z-index:5;pointer-events:none;color:#111;--now-color:#d887a0}
.schedule-now-label{position:absolute;left:0;top:.35rem;transform:translateX(-50%);padding:.2rem .45rem;background:var(--now-color);border-radius:.25rem;white-space:nowrap;font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}
.schedule-now[data-edge="start"] .schedule-now-label{transform:none}
.schedule-now[data-edge="end"] .schedule-now-label{transform:translateX(-100%)}
.schedule-now::before{content:"";position:absolute;top:calc(2.5rem - 5px);left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--now-color)}
.schedule-now::after{content:"";position:absolute;top:2.5rem;left:-1px;width:2px;height:var(--schedule-marker-height);background:var(--now-color)}
@media(max-width:700px){.programme-range{flex:1 1 100%}.programme-range-controls output{flex:1}}
@media(max-width:700px){.programme-filters{gap:.45rem;justify-content:flex-start}.programme-filters .category-choice{flex:1 1 calc(50% - .45rem)}.programme-filters>button{flex:1 1 calc(50% - .45rem);padding-inline:.5rem;font-size:.82rem}.programme-toolbar{gap:.6rem;margin-bottom:.65rem}.programme-toolbar h1{font-size:1.4rem}.programme-toolbar p{font-size:.85rem}.programme-board{--schedule-channel-width:8rem;--schedule-row-height:6.5rem}.programme-board[data-view="horizontal"] .schedule-channel{gap:.45rem;padding:.45rem}.programme-board[data-view="horizontal"] .schedule-channel img{width:2.4rem;height:2.4rem}.programme-board[data-view="horizontal"] .schedule-channel span{font-size:.75rem}}
