.stream-day-tabs { display:flex; gap:10px; margin:30px 0 18px; }
.stream-day-tabs button { flex:1; min-width:0; appearance:none; padding:16px 20px; border:1px solid #d9c8aa; border-radius:8px; color:#132846; background:#fffdf8; cursor:pointer; text-align:left; font:500 13px/1.5 Inter,Arial,sans-serif; }
.stream-day-tabs button strong,.stream-day-tabs button span { display:block; }
.stream-day-tabs button strong { font-size:18px; margin-bottom:3px; }
.stream-day-tabs button[aria-selected="true"] { background:#132846; border-color:#132846; color:#faf3e0; }
.stream-day-tabs button:hover:not([aria-selected="true"]) { background:#f5ecd7; border-color:#c4622d; }
.stream-day-panel { border:1px solid #dfceb1; border-radius:10px; overflow:hidden; background:#fffdf8; scroll-margin-top:110px; }
.stream-day-panel[hidden] { display:none !important; }
.stream-player { width:100%; aspect-ratio:16/9; background:#132846; }
.stream-player iframe { display:block; width:100%; height:100%; border:0; }
.stream-player-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; font:500 12px/1.5 Inter,Arial,sans-serif; color:#8b6f47; }
.stream-player-caption a { color:#a84e24; text-decoration:underline; text-underline-offset:3px; }
.stream-availability-note { margin:15px 0 0; color:#8b6f47; font-size:12px; line-height:1.7; }
.stream-announcement { width:min(590px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; padding:38px; border:1px solid #dfceb1; border-radius:16px; background:#faf3e0; color:#132846; overflow:auto; box-shadow:0 24px 90px #10274455; }
.stream-announcement::backdrop { background:#102744aa; backdrop-filter:blur(4px); }
.stream-announcement-close { position:absolute; top:12px; right:12px; width:42px; height:42px; border:1px solid #d9c8aa; border-radius:50%; background:transparent; color:#132846; cursor:pointer; font:400 27px/1 Arial,sans-serif; }
.stream-announcement-close:hover { background:#f0e4cd; }
.stream-announcement-logo { display:block; width:155px; height:auto; margin-bottom:28px; }
.stream-announcement-kicker { margin:0 0 14px; color:#a84e24; font:700 10px/1.6 Inter,Arial,sans-serif; letter-spacing:1.3px; text-transform:uppercase; }
.stream-announcement h2 { margin:0 0 20px; color:#132846; font:500 clamp(30px,5vw,43px)/1.12 Inter,Arial,sans-serif; letter-spacing:-1.4px; }
.stream-announcement h2 em { font-weight:300; color:#c4622d; }
#stream-announcement-description { margin:0 0 24px; font:400 15px/1.75 Inter,Arial,sans-serif; color:#665b4b; }
.stream-announcement-day { display:block; font:600 12px/1.5 Inter,Arial,sans-serif; color:#132846; }
.stream-announcement-day select { box-sizing:border-box; width:100%; min-height:48px; margin-top:8px; padding:10px 13px; border:1px solid #d9c8aa; border-radius:7px; background:#fffdf8; color:#132846; font:400 14px/1.5 Inter,Arial,sans-serif; }
.stream-announcement-actions { display:flex; align-items:center; gap:18px; margin-top:24px; }
.stream-watch-here { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; box-sizing:border-box; padding:12px 20px; border:1px solid #c4622d; border-radius:999px; background:#c4622d; color:#faf3e0; text-decoration:none; font:700 13px/1.5 Inter,Arial,sans-serif; }
.stream-watch-here:hover { background:#a84e24; border-color:#a84e24; }
.stream-watch-youtube { display:inline-flex; align-items:center; gap:6px; min-height:44px; color:#71624c; font:500 12px/1.5 Inter,Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; }
.stream-watch-youtube:hover { color:#a84e24; }
.stream-announcement :is(button,a,select):focus-visible,.stream-day-tabs button:focus-visible { outline:3px solid #d4a853; outline-offset:4px; }
@media(max-width:540px){ .stream-announcement { padding:30px 22px; } .stream-announcement-logo { width:140px; margin-bottom:24px; } .stream-announcement-actions { flex-wrap:wrap; gap:8px 18px; } .stream-watch-here { width:100%; } .stream-watch-youtube { margin:auto; } .stream-day-tabs button { padding:13px; } .stream-player-caption { align-items:flex-start; flex-direction:column; padding:14px; gap:6px; } }
.stream-programme-note { margin:14px 0 0; color:#8b6f47; font:400 14px/1.7 Inter,Arial,sans-serif; }
.stream-programme-note a { color:#a84e24; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.stream-programme-note a:hover { color:#132846; }
.stream-programme-note a:focus-visible { outline:2px solid #c4622d; outline-offset:4px; }
