/* Radio Muziekstad layout 2.0. Shared geometry; existing station colours and assets. */
.m-stad { --page-gutter:clamp(12px,2vw,40px); --layout-gap:clamp(18px,1.8vw,32px); --station-player-height:140px; }
.m-stad body { padding-bottom:calc(var(--station-player-height) + 24px + env(safe-area-inset-bottom,0px)); }
.m-stad body .wrap { width:calc(100% - var(--page-gutter)*2); max-width:none; margin-inline:auto; min-width:0; }
.m-stad body .wrap .wrap { width:100%; max-width:none; margin-inline:0; }
.m-stad body :is(main,section,article,aside,nav,.section-head,.footer-main)>* { min-width:0; }
.m-stad body :is(h1,h2,h3,p,a,strong) { overflow-wrap:break-word; }
.m-stad body :is(.button,.recent-more,.shortcut-button,.programme-chat,.chart-show,.chart-latest-button) { min-height:44px; box-sizing:border-box; }
.m-stad body .section { padding-block:clamp(28px,3vw,48px); }
.m-stad body .section-head { gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.m-stad body .section h2 { font:800 clamp(26px,2.2vw,36px)/1.2 Manrope,Arial,sans-serif; letter-spacing:-.7px; }
.m-stad body header { background:#06121d; border-bottom:1px solid #ffffff18; }
.m-stad body .nav { display:flex; align-items:center; min-height:98px; gap:24px; padding-block:14px; }
.m-stad body .nav>a { flex:none; min-width:0; }
.m-stad body .nav .brand-logo { display:block; width:clamp(215px,17vw,285px); height:auto; max-width:100%; }
.m-stad body .nav nav { display:flex; flex:1; justify-content:flex-end; align-items:center; align-self:stretch; flex-wrap:wrap; gap:8px 20px; margin-left:auto; }
.m-stad body .nav nav a { font-size:14px; line-height:1.4; min-height:44px; padding-block:10px; white-space:normal; }
.m-stad body .nav-play { flex:none; border-radius:999px; background:#ff791f; color:#071522; padding:12px 20px; }
.m-stad body .menu-toggle { display:none; }
.m-stad body .footer-main { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); align-items:start; gap:32px; padding-block:36px; }
.m-stad body .footer-main .email { font-size:clamp(20px,2vw,30px); overflow-wrap:anywhere; }
.m-stad body .footer-bottom { display:flex; flex-wrap:wrap; gap:12px 28px; padding-bottom:24px; }
.m-stad body .seo-page { min-height:60vh; }
.m-stad body .seo-page :is(.seo-lead,.seo-story p),.m-stad body .seo-home p { max-width:80ch; }
.m-stad body .seo-grid,.m-stad body .release-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:var(--layout-gap); }
.m-stad body .seo-card { display:flex; flex-direction:column; border-radius:14px; padding:22px; }
.m-stad body .seo-card .text-link { margin-top:auto; min-height:44px; }
.m-stad body .seo-card img { aspect-ratio:4/3; object-fit:contain; }
.m-stad body .seo-story { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:var(--layout-gap); }
.m-stad body .seo-portrait { max-height:650px; object-fit:contain; }
.m-stad body .release-card { max-width:none; }
.m-stad body .release-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--layout-gap); }
.m-stad body .breda-news-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--layout-gap); }
.m-stad body .news-image { height:clamp(150px,13vw,230px); object-fit:contain; }
.m-stad body .news-visual { position:relative; display:grid; place-items:center; isolation:isolate; overflow:hidden; width:calc(100% + 44px); height:clamp(150px,13vw,230px); margin:0 -22px 18px; background:#091622; }
.m-stad body .news-visual--cover::before { content:""; position:absolute; inset:-24px; z-index:-1; background-image:var(--news-art); background-size:cover; background-position:center; filter:blur(18px); opacity:.28; }
.m-stad body .news-visual>.news-image { display:block; width:100%; max-width:100%; height:100%; min-height:0; margin:0; object-fit:contain; }
.m-stad body .news-visual--photo>.news-image { object-fit:cover; }
.m-stad body .popular-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.m-stad body .popular-track { padding:18px; gap:16px; }
.m-stad body .popular-track img { width:84px; height:84px; object-fit:contain; }
.m-stad body .popular-copy h3 { font-size:18px; line-height:1.4; }
.m-stad body .popular-copy p { font-size:16px; line-height:1.4; }
.m-stad body .popular-count { font-size:22px; }
.m-stad body .schedule-preview { padding-block:0; margin-block:24px; }
.m-stad body .schedule-preview>summary { min-height:52px; display:flex; align-items:center; justify-content:space-between; padding:14px 20px; }
.m-stad body .schedule-preview:not([open]) { padding-bottom:0; }
.m-stad body .schedule-preview .schedule-expanded { padding:24px; }
.m-stad body .player { background:#0a1b29; border-top:1px solid #ffffff22; box-shadow:0 -5px 24px #0004; }
.m-stad body .player-inner { display:flex; align-items:center; gap:16px; min-height:76px; }
.m-stad body .player-title { flex:1; min-width:0; }
.m-stad body .player-title strong { font-size:15px; }
.m-stad body .player-title>span:not(.sr-only) { font-size:13px; }
.m-stad body .player-art { flex:none; width:48px; height:48px; }
.m-stad body .radio-ticker-inner { min-height:40px; }
.m-stad body .player .round-play { flex:none; width:48px; height:48px; }
/* Homepage: a 70/30 split, with no maximum page width. */
.m-stad body.station-dashboard { background:#06121d; color:#f8fbff; }
.m-stad body.station-dashboard .station-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,3fr); gap:var(--layout-gap); padding-top:28px; align-items:start; }
.m-stad body.station-dashboard .station-main { min-width:0; container:station-content / inline-size; }
.m-stad body.station-dashboard .station-hero { position:relative; display:grid; grid-template-columns:clamp(220px,24vw,460px) minmax(0,1fr); gap:clamp(20px,2vw,36px); align-items:center; padding-bottom:28px; isolation:isolate; }
.m-stad body.station-dashboard .station-hero:before { content:''; position:absolute; z-index:-1; inset:0 0 28px 42%; background:linear-gradient(90deg,#06121d,transparent),linear-gradient(0deg,#06121d88,#06121d66),url('/assets/breda-grote-kerk-night.jpg') right center / auto 100% no-repeat; opacity:.5; border-radius:8px; }
.m-stad body.station-dashboard .station-cover { position:relative; inset:auto; display:block; width:100%; max-width:460px; aspect-ratio:1; background:#071522; border:1px solid #ffffff40; border-radius:8px; overflow:hidden; transform:none; }
.m-stad body.station-dashboard .station-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.m-stad body.station-dashboard .station-cover img[data-cover] { z-index:2; background:#071522; }
.m-stad body.station-dashboard .station-cover-fallback { z-index:0; }
.m-stad body.station-dashboard .station-hero-copy { min-width:0; }
.m-stad body.station-dashboard .station-live { display:inline-flex; gap:9px; align-items:center; padding:9px 13px; background:#ff791f; color:#071522; border-radius:7px; font-size:13px; font-weight:800; line-height:1.4; margin:0 0 18px; }
.m-stad body.station-dashboard .station-live .live-dot { width:7px; height:7px; background:currentColor; box-shadow:none; }
.m-stad body.station-dashboard .station-hero h2 { color:#fff; font:800 clamp(30px,2.8vw,52px)/1.16 Manrope,Arial,sans-serif; letter-spacing:-1px; margin:0 0 10px; overflow-wrap:anywhere; }
.m-stad body.station-dashboard .station-track { font-size:clamp(21px,2vw,34px); line-height:1.4; margin:0; color:#e6edf3; overflow-wrap:anywhere; }
.m-stad body.station-dashboard .station-hero :is(.track-ticker,.track-ticker-text) { white-space:normal; max-width:100%; overflow:visible; overflow-wrap:anywhere; }
.m-stad body.station-dashboard .station-hero .track-ticker-text { display:block; width:100%; }
.m-stad body.station-dashboard .station-controls { display:flex; align-items:center; gap:22px; margin-top:24px; }
.m-stad body.station-dashboard .station-play { display:grid; place-items:center; flex:none; width:76px; height:76px; padding:0; border-radius:50%; background:#ff791f; color:#fff; cursor:pointer; }
.m-stad body.station-dashboard .station-wave { display:flex; align-items:center; gap:4px; width:100%; max-width:350px; height:62px; overflow:hidden; }
.m-stad body.station-dashboard .station-wave i { flex:1; min-width:2px; max-width:6px; height:var(--height); border-radius:2px; background:#fff; opacity:.65; }
.m-stad body.station-dashboard .station-wave i:nth-child(4n+1) { background:#ff791f; opacity:.95; }
.m-stad body.station-dashboard .station-wave i:nth-child(n+24) { opacity:.3; }
.m-stad body.station-dashboard.is-playing .station-wave i { animation:station-wave 1.2s ease-in-out var(--delay) infinite alternate; }
@keyframes station-wave { from { transform:scaleY(.45); } to { transform:scaleY(1); } }
.m-stad body.station-dashboard [data-play] .play-icon { display:block; font-size:0!important; width:16px; height:18px; flex:none; background:currentColor; clip-path:polygon(12% 0,100% 50%,12% 100%); }
.m-stad body.station-dashboard.is-playing [data-play] .play-icon { clip-path:none; background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65% 100%); }
.m-stad body.station-dashboard .station-play .play-icon { width:22px; height:26px; }
.m-stad body.station-dashboard .station-reception { font-size:14px; color:#becdd9; line-height:1.5; margin:20px 0 0; letter-spacing:0; }
.m-stad body.station-dashboard .station-hero .live-details { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; color:#becdd9; font-size:13px; margin-top:14px; }
.m-stad body.station-dashboard .station-photo-credit { position:absolute; right:4px; bottom:6px; color:#9aabba; font-size:9px; }
.m-stad body.station-dashboard .station-sidebar { min-width:0; padding-left:22px; border-left:1px solid #ffffff18; }
.m-stad body.station-dashboard .station-sidebar .live-feature { padding:18px; min-height:0; background:#0d1d2b; border:1px solid #ffffff18; border-radius:10px; box-shadow:none; }
.m-stad body.station-dashboard .station-sidebar .feature-heading { padding:0; min-height:0; margin:0 0 14px; }
.m-stad body.station-dashboard .station-sidebar .feature-heading h2 { font-size:16px; line-height:1.4; text-transform:uppercase; margin:0; }
.m-stad body.station-dashboard .station-sidebar :is(.feature-heading .live-dot,.feature-kicker,.feature-song,.feature-footer,#feature-pause) { display:none!important; }
.m-stad body.station-dashboard .station-sidebar .feature-slides { position:relative; display:block; height:auto; min-height:0; }
.m-stad body.station-dashboard .station-sidebar .feature-programme { display:block; position:static; opacity:1; transform:none; visibility:visible; pointer-events:auto; }
.m-stad body.station-dashboard .station-sidebar .feature-image { width:100%; height:auto; aspect-ratio:16/10; max-height:330px; border-radius:7px; overflow:hidden; background:#06121d; }
.m-stad body.station-dashboard .station-sidebar .feature-image img { width:100%; height:100%; object-fit:contain; }
.m-stad body.station-dashboard .station-sidebar .feature-image img.feature-portrait { object-fit:cover; object-position:center 25%; }
.m-stad body.station-dashboard .station-sidebar .feature-copy { position:static; padding:18px 0 0; min-height:0; background:none; }
.m-stad body.station-dashboard .station-sidebar .feature-copy h3 { font-size:clamp(21px,1.8vw,29px); line-height:1.25; margin:0 0 8px; overflow-wrap:anywhere; }
.m-stad body.station-dashboard .station-sidebar .feature-copy p { font-size:16px; line-height:1.5; margin:0; color:#d8e3eb; }
.m-stad body.station-dashboard .station-sidebar .feature-copy .feature-time { color:#ff9a52; margin-top:10px; font-variant-numeric:tabular-nums; }
.m-stad body .programme-chat { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; margin-top:14px; padding:10px 16px; border:1px solid #ff791f; border-radius:7px; background:#ff791f; color:#071522; font:800 15px/1.4 Manrope,Arial,sans-serif; }
.m-stad body.station-dashboard .station-today,.m-stad body.station-dashboard .station-next { margin-top:24px; padding-top:20px; border-top:1px solid #ffffff18; }
.m-stad body.station-dashboard .station-today-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.m-stad body.station-dashboard :is(.station-today-heading h2,.station-next h2) { font-size:22px; line-height:1.3; margin:0; }
.m-stad body.station-dashboard .station-today-heading a { color:#ff9a52; font-size:14px; min-height:44px; display:inline-flex; align-items:center; }
.m-stad body.station-dashboard .station-today-details>summary { display:none; }
.m-stad body.station-dashboard .station-today-row { display:grid; grid-template-columns:90px 58px minmax(0,1fr); gap:12px; align-items:center; padding:14px 8px; border-bottom:1px solid #ffffff18; color:#fff; }
.m-stad body.station-dashboard .station-today-row img { width:58px; height:58px; object-fit:contain; border-radius:5px; }
.m-stad body.station-dashboard .station-today-row time { font-size:14px; line-height:1.5; font-variant-numeric:tabular-nums; color:#becdd9; }
.m-stad body.station-dashboard .station-today-row strong { display:block; font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
.m-stad body.station-dashboard .station-today-row p { font-size:14px; line-height:1.45; margin:4px 0 0; color:#becdd9; }
.m-stad body.station-dashboard .station-today-row.is-current { background:#ff791f15; border-left:3px solid #ff791f; border-radius:6px; }
.m-stad body.station-dashboard .station-sidebar .now-next-cards { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-top:16px; }
.m-stad body.station-dashboard .station-sidebar .onair-card--live { display:none; }
.m-stad body.station-dashboard .station-sidebar .onair-card--next { display:grid; grid-template-columns:84px minmax(0,1fr); gap:16px; padding:18px; border:1px solid #ffffff20; border-radius:10px; background:#0b1c2a; }
.m-stad body.station-dashboard .station-sidebar .onair-card--next>.onair-photo { width:84px; height:84px; aspect-ratio:1; border-radius:8px; }
.m-stad body.station-dashboard .station-sidebar .onair-card--next h3 { font-size:21px; line-height:1.3; margin:6px 0; }
.m-stad body.station-dashboard .station-sidebar .onair-card--next p { font-size:15px; line-height:1.5; margin:4px 0; }
.m-stad body.station-dashboard .station-sidebar .onair-card-label { font-size:12px; color:#ff9a52; }
.m-stad body.station-dashboard .station-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; grid-auto-rows:1fr; margin:0 0 30px; }
.m-stad body.station-dashboard .station-shortcut { display:flex; flex-direction:column; position:relative; min-width:0; padding:0; gap:0; background:#0e2232; border:1px solid #ffffff26; border-radius:10px; overflow:hidden; transition:border-color .18s,transform .18s; }
.m-stad body.station-dashboard .station-shortcut:after,.m-stad body.station-dashboard .shortcut-contact { display:none; }
.m-stad body.station-dashboard .station-shortcut>img { position:static; display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; object-position:center; opacity:1; background:#071522; }
.m-stad body.station-dashboard .station-shortcut>div { display:flex; flex-direction:column; flex:1; padding:20px; min-width:0; }
.m-stad body.station-dashboard .shortcut-label { display:block; font-size:14px; font-weight:800; line-height:1.35; margin:0 0 10px; color:#ff9a52; }
.m-stad body.station-dashboard .station-shortcut h3 { color:#fff; font-size:20px; line-height:1.35; margin:0 0 6px; }
.m-stad body.station-dashboard .station-shortcut p { font-size:16px; line-height:1.5; color:#d8e3eb; margin:0 0 20px; }
.m-stad body.station-dashboard .shortcut-button { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; gap:10px; margin-top:auto; padding:10px 14px; border:1px solid #ffffffaa; border-radius:7px; font-size:12px; line-height:1.4; text-transform:uppercase; font-weight:800; white-space:normal; }
.m-stad body.station-dashboard .shortcut-taste .shortcut-button { background:#ff791f; border-color:#ff791f; color:#071522; }
.m-stad body.station-dashboard .station-shortcut:hover { transform:translateY(-2px); border-color:#ff791f99; }
.m-stad body.station-dashboard .recently-played { width:100%; margin:0 0 28px; padding:0; }
.m-stad body.station-dashboard .recently-played-panel { padding:0; border:0; background:transparent; box-shadow:none; }
.m-stad body.station-dashboard .recently-played .section-head { padding-bottom:16px; border-bottom:1px solid #ffffff18; }
.m-stad body.station-dashboard .recently-played .eyebrow { display:none; }
.m-stad body.station-dashboard .recent-intro { font-size:14px; }
.m-stad body.station-dashboard .recent-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; }
.m-stad body.station-dashboard .recent-track { display:flex; flex-direction:column; min-width:0; padding:0; border:0; gap:0; }
.m-stad body.station-dashboard .recent-track img { width:100%; max-width:340px; height:auto; aspect-ratio:1; order:0; object-fit:contain; border-radius:8px; background:#071522; border:1px solid #ffffff26; }
.m-stad body.station-dashboard .recent-track time { order:1; padding:12px 0 6px; font-size:13px; color:#becdd9; }
.m-stad body.station-dashboard .recent-track-copy { order:2; display:flex; flex-direction:column; min-width:0; }
.m-stad body.station-dashboard .recent-track p { order:0; font-size:16px; line-height:1.4; font-weight:800; color:#fff; margin:0; }
.m-stad body.station-dashboard .recent-track h3 { order:1; font-size:15px; line-height:1.5; font-weight:400; color:#d8e3eb; margin:4px 0 0; }
.m-stad body.station-dashboard .recent-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; padding-top:18px; border:0; }
.m-stad body.station-dashboard .recent-footer p { font-size:13px; }
.m-stad body .recent-more { min-height:44px; padding:10px 16px; font-size:14px; }
.m-stad body.station-dashboard .app-download { display:grid; grid-template-columns:minmax(0,1fr) 200px; align-items:center; gap:30px; width:100%; min-height:0; padding:28px; margin:0 0 30px; background:#102334; border:1px solid #ffffff26; border-radius:10px; overflow:visible; }
.m-stad body.station-dashboard .app-download h2 { font-size:clamp(25px,2vw,34px); line-height:1.2; margin:0 0 14px; }
.m-stad body.station-dashboard .app-download .eyebrow { font-size:12px; color:#ff9a52; margin:0 0 10px; }
.m-stad body.station-dashboard .app-download-intro { max-width:60ch; font-size:16px!important; line-height:1.6; margin:0; }
.m-stad body.station-dashboard .app-store-badges { display:flex; flex-wrap:wrap; gap:14px; margin-top:20px; }
.m-stad body.station-dashboard .app-store-badge { flex:none; width:145px; height:48px; min-height:0; padding:0; margin:0; }
.m-stad body.station-dashboard .app-store-badge img { width:100%; height:100%; object-fit:contain; }
.m-stad body.station-dashboard .app-download-visual { display:block; height:auto; overflow:visible; margin:0; filter:none; }
.m-stad body.station-dashboard .app-phone-frame { position:relative; width:180px; max-width:100%; padding:6px; margin:auto; box-sizing:border-box; border:2px solid #526574; border-radius:25px; background:#02080e; overflow:hidden; transform:none; }
.m-stad body.station-dashboard .app-phone-screen { display:flex; flex-direction:column; align-items:center; position:relative; gap:10px; min-height:300px; padding:22px 12px 12px; background:#06121d; border-radius:18px; color:#fff; }
.m-stad body.station-dashboard .app-phone-speaker { position:absolute; top:7px; width:38px; height:4px; border-radius:5px; background:#02080e; }
.m-stad body.station-dashboard .app-phone-frame .app-phone-logo { position:static; display:block; width:100%; height:auto; max-width:100%; aspect-ratio:5; object-fit:contain; clip-path:none; border-radius:0; margin:6px 0; }
.m-stad body.station-dashboard .app-phone-live { font-size:8px; line-height:1.5; padding:3px 8px; border:1px solid #ff791f66; color:#ff9a52; border-radius:20px; font-weight:800; }
.m-stad body.station-dashboard .app-phone-frame .app-phone-cover { position:static; display:block; width:100%; height:auto; max-width:100%; aspect-ratio:16/9; object-fit:contain; clip-path:none; border-radius:6px; }
.m-stad body.station-dashboard .app-phone-screen strong { font-size:12px; line-height:1.4; text-align:center; }
.m-stad body.station-dashboard .app-phone-tagline { color:#becdd9; font-size:9px; line-height:1.4; margin-top:-6px; }
.m-stad body.station-dashboard .app-phone-play { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#ff791f; margin:3px 0; }
.m-stad body.station-dashboard .app-phone-play:after { content:''; width:12px; height:15px; background:#fff; clip-path:polygon(0 0,100% 50%,0 100%); margin-left:3px; }
.m-stad body.station-dashboard .app-phone-nav { display:flex; justify-content:space-around; width:100%; gap:10px; margin-top:auto; padding-top:12px; border-top:1px solid #ffffff18; color:#becdd9; font-size:8px; line-height:1.4; }
.m-stad body.station-dashboard .app-phone-nav>span:first-child { color:#ff9a52; }
.m-stad body.station-dashboard .radio-highlights { display:block; }
.m-stad body.station-dashboard .radio-highlights .smaakmaker-section { padding-block:28px; }
.m-stad body.station-dashboard .chart-panel { background:#0d2030; border-color:#365269; }
.m-stad body.station-dashboard .chart-row { background:#0d2030; border-color:#ffffff16; }
.m-stad body.station-dashboard .chart-panel>.chart-list>.chart-row:nth-child(even),.m-stad body.station-dashboard .chart-rest>.chart-list>.chart-row:nth-child(odd) { background:#142b3d; }
.m-stad body.station-dashboard .chart-panel>.chart-list>.chart-row:first-child { background:#422514; }
.m-stad body.station-dashboard .chart-song h3 { color:#fff; }
.m-stad body.station-dashboard :is(.chart-song p,.chart-weeks,.chart-move) { color:#c9d7e2; }
.m-stad body.station-dashboard .chart-rank { color:#ff9a52; }
.m-stad body.station-dashboard .chart-move--up { color:#77dfa4; }
.m-stad body.station-dashboard .chart-move--down { color:#ffa5ad; }
.m-stad body.station-dashboard .chart-rest>summary { background:#142b3d; color:#fff; }
.m-stad body.station-dashboard .station-contact { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding:28px; margin-block:24px; border:1px solid #ffffff26; border-radius:10px; background:#0e2232; }
.m-stad body.station-dashboard .station-contact p { max-width:70ch; font-size:16px; line-height:1.6; color:#becdd9; }
.m-stad body [hidden] { display:none!important; }
@container station-content (max-width:1050px) { .m-stad body.station-dashboard .station-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:2400px) { .m-stad body .popular-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1300px) and (min-width:901px) {
 .m-stad body .nav { flex-wrap:wrap; gap:12px 24px; }
 .m-stad body .nav>a { margin-right:auto; }
 .m-stad body .nav nav { flex-basis:100%; order:3; justify-content:center; }
 .m-stad body.station-dashboard .station-today-row { grid-template-columns:76px 48px minmax(0,1fr); gap:9px; }
 .m-stad body.station-dashboard .station-today-row img { width:48px; height:48px; }
 .m-stad body.station-dashboard .station-sidebar { padding-left:16px; }
 .m-stad body.station-dashboard .station-sidebar .onair-card--next { grid-template-columns:64px minmax(0,1fr); padding:14px; gap:12px; }
 .m-stad body.station-dashboard .station-sidebar .onair-card--next>.onair-photo { width:64px; height:64px; }
}
@media(max-width:1100px) {
 .m-stad body .breda-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .m-stad body.station-dashboard .station-grid { grid-template-columns:minmax(0,1fr); }
 .m-stad body.station-dashboard .station-main,.m-stad body.station-dashboard .station-sidebar { display:contents; }
 .m-stad body.station-dashboard .station-hero { order:1; }
 .m-stad body.station-dashboard .live-feature { order:2; }
 .m-stad body.station-dashboard .station-next { order:3; }
 .m-stad body.station-dashboard .station-today { order:4; }
 .m-stad body.station-dashboard .station-shortcuts { order:5; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .m-stad body.station-dashboard .recently-played { order:6; }
 .m-stad body.station-dashboard .app-download { order:7; }
 .m-stad body.station-dashboard :is(.station-today,.station-next) { margin:0; padding:0; border:0; }
 .m-stad body.station-dashboard .station-sidebar .feature-programme { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; align-items:center; }
 .m-stad body.station-dashboard .station-sidebar .feature-image { height:160px; aspect-ratio:auto; }
 .m-stad body.station-dashboard .station-sidebar .feature-copy { padding:0; }
 .m-stad body.station-dashboard .station-sidebar .onair-card--next { max-width:700px; }
 .m-stad body.station-dashboard .station-today-details>summary { min-height:44px; }
 .m-stad body .volume { display:none; }
 .m-stad body .seo-story { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:900px) {
 .m-stad body.station-dashboard .station-today-details>summary { display:flex; align-items:center; min-height:44px; color:#d8e3eb; font-size:15px; }
 .m-stad body .nav { display:grid; grid-template-columns:minmax(0,1fr) 48px 40px; grid-template-areas:'brand play menu' 'navigation navigation navigation'; gap:12px; min-height:84px; }
 .m-stad body .nav>a { grid-area:brand; margin:0; }
 .m-stad body .nav .brand-logo { width:min(260px,100%); }
 .m-stad body .menu-toggle { display:block; grid-area:menu; width:40px; height:44px; padding:8px; }
 .m-stad body .nav-play { grid-area:play; width:48px; height:48px; min-height:48px; padding:0; }
 .m-stad body .nav-play [data-play-label] { display:none; }
 .m-stad body .nav nav { grid-area:navigation; display:none; margin:0; }
 .m-stad body .nav nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:8px; }
 .m-stad body .nav nav a { padding:13px 8px; font-size:16px; }
 .m-stad body .release-preview-grid { grid-template-columns:minmax(0,1fr); }
 .m-stad body .popular-track { padding:14px; gap:12px; }
 .m-stad body .popular-track img { width:64px; height:64px; }
 .m-stad body .popular-copy h3 { font-size:16px; }
 .m-stad body .popular-copy p { font-size:14px; }
 .m-stad body .popular-count { font-size:18px; }
 .m-stad body .weather-content { grid-template-columns:minmax(0,1fr); }
 .m-stad body .weather-outlook { padding-left:0; border-left:0; }
 .m-stad body .weather-days { grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); }
}
@media(max-width:600px) {
 .m-stad body .section-head { align-items:flex-start; }
 .m-stad body .nav .brand-logo { width:min(210px,100%); }
 .m-stad body :is(.popular-list,.breda-news-grid) { grid-template-columns:minmax(0,1fr); }
 .m-stad body .popular-track img { width:68px; height:68px; }
 .m-stad body .seo-page { padding-top:24px; }
 .m-stad body .player-inner { gap:10px; min-height:70px; }
 .m-stad body .player-art { width:40px; height:40px; }
 .m-stad body .player-title strong { font-size:13px; }
 .m-stad body .player-title>span:not(.sr-only) { font-size:12px; }
 .m-stad body :is(.player-live,.external-player) { display:none; }
 .m-stad body .player .round-play { width:44px; height:44px; }
 .m-stad body .player .airplay-button { min-width:44px; padding:8px; font-size:12px; }
 .m-stad body.station-dashboard .station-grid { padding-top:20px; }
 .m-stad body.station-dashboard .station-hero { grid-template-columns:112px minmax(0,1fr); gap:16px; padding-bottom:0; }
 .m-stad body.station-dashboard .station-hero:before,.m-stad body.station-dashboard .station-photo-credit { display:none; }
 .m-stad body.station-dashboard .station-hero h2 { font-size:24px; letter-spacing:-.4px; }
 .m-stad body.station-dashboard .station-track { font-size:17px; }
 .m-stad body.station-dashboard .station-live { font-size:10px; gap:6px; padding:7px 8px; margin-bottom:12px; }
 .m-stad body.station-dashboard .station-controls { gap:12px; margin-top:16px; }
 .m-stad body.station-dashboard .station-play { width:48px; height:48px; }
 .m-stad body.station-dashboard .station-play .play-icon { width:16px; height:20px; }
 .m-stad body.station-dashboard .station-wave { height:40px; gap:3px; }
 .m-stad body.station-dashboard .station-reception { font-size:12px; margin-top:14px; }
 .m-stad body.station-dashboard .station-hero .live-details { font-size:12px; gap:8px; margin-top:10px; }
 .m-stad body.station-dashboard .station-sidebar .live-feature { padding:16px; }
 .m-stad body.station-dashboard .station-sidebar .feature-programme { grid-template-columns:90px minmax(0,1fr); gap:16px; }
 .m-stad body.station-dashboard .station-sidebar .feature-image { height:90px; }
 .m-stad body.station-dashboard .station-sidebar .feature-copy h3 { font-size:20px; }
 .m-stad body.station-dashboard .station-sidebar .feature-copy p { font-size:14px; }
 .m-stad body.station-dashboard .station-today-details>summary { display:flex; align-items:center; min-height:44px; color:#d8e3eb; font-size:15px; }
 .m-stad body.station-dashboard .station-today-row { grid-template-columns:76px 48px minmax(0,1fr); gap:10px; }
 .m-stad body.station-dashboard .station-today-row img { width:48px; height:48px; }
 .m-stad body.station-dashboard .station-today-row time { font-size:13px; }
 .m-stad body.station-dashboard .station-today-row strong { font-size:15px; }
 .m-stad body.station-dashboard .station-today-row p { font-size:13px; }
 .m-stad body.station-dashboard .station-shortcuts { grid-template-columns:minmax(0,1fr); grid-auto-rows:auto; gap:14px; }
 .m-stad body.station-dashboard .station-shortcut { display:grid; grid-template-columns:104px minmax(0,1fr); }
 .m-stad body.station-dashboard .station-shortcut>img { width:104px; height:100%; min-height:150px; aspect-ratio:auto; object-fit:contain; }
 .m-stad body.station-dashboard .station-shortcut>div { padding:16px; }
 .m-stad body.station-dashboard .shortcut-label { font-size:12px; }
 .m-stad body.station-dashboard .station-shortcut h3 { font-size:17px; }
 .m-stad body.station-dashboard .station-shortcut p { font-size:14px; margin-bottom:14px; }
 .m-stad body.station-dashboard .shortcut-button { font-size:11px; padding:8px 10px; }
 .m-stad body.station-dashboard .recent-list { grid-template-columns:minmax(0,1fr); gap:20px; }
 .m-stad body.station-dashboard .recent-track { display:grid; grid-template-columns:112px minmax(0,1fr); grid-template-rows:auto 1fr; gap:0 16px; align-items:start; }
 .m-stad body.station-dashboard .recent-track img { width:112px; grid-column:1; grid-row:1 / 3; }
 .m-stad body.station-dashboard .recent-track time { grid-column:2; grid-row:1; padding:0 0 8px; }
 .m-stad body.station-dashboard .recent-track-copy { grid-column:2; grid-row:2; }
 .m-stad body.station-dashboard .app-download { grid-template-columns:minmax(0,1fr) 110px; padding:20px; gap:16px; align-items:start; }
 .m-stad body.station-dashboard .app-download-copy { display:contents; }
 .m-stad body.station-dashboard .app-download .eyebrow { grid-column:1; grid-row:1; margin:0; }
 .m-stad body.station-dashboard .app-download h2 { grid-column:1; grid-row:2; margin:0; font-size:24px; }
 .m-stad body.station-dashboard .app-download-intro { grid-column:1; grid-row:3; margin:0!important; font-size:14px!important; }
 .m-stad body.station-dashboard .app-download-visual { grid-column:2; grid-row:1 / 4; align-self:center; }
 .m-stad body.station-dashboard .app-store-badges { grid-column:1 / -1; grid-row:4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; width:100%; max-width:330px; }
 .m-stad body.station-dashboard .app-store-badge { width:100%; height:44px; }
 .m-stad body.station-dashboard .app-phone-frame { width:110px; padding:4px; border-radius:18px; }
 .m-stad body.station-dashboard .app-phone-screen { min-height:218px; padding:17px 7px 9px; gap:7px; border-radius:12px; }
 .m-stad body.station-dashboard .app-phone-screen strong { font-size:9px; }
 .m-stad body.station-dashboard .app-phone-tagline { font-size:7px; margin-top:-3px; }
 .m-stad body.station-dashboard .app-phone-live { font-size:6px; padding:2px 5px; }
 .m-stad body.station-dashboard .app-phone-nav { font-size:6px; gap:3px; padding-top:8px; }
 .m-stad body.station-dashboard .app-phone-play { width:30px; height:30px; }
 .m-stad body.station-dashboard .station-contact { align-items:flex-start; padding:20px; }
}
@media(max-width:360px) {
 .m-stad body.station-dashboard .station-hero { grid-template-columns:96px minmax(0,1fr); gap:12px; }
 .m-stad body.station-dashboard .station-hero h2 { font-size:22px; }
 .m-stad body.station-dashboard .app-download { grid-template-columns:minmax(0,1fr) 90px; padding:16px; gap:12px; }
 .m-stad body.station-dashboard .app-phone-frame { width:90px; }
}
@media(prefers-reduced-motion:reduce) {
 .m-stad body.station-dashboard .station-wave i { animation:none!important; }
 .m-stad body.station-dashboard .station-shortcut { transition:none; transform:none; }
}

/* Keep the complete story reachable on desktop and touch screens. */
.m-stad .news-read-more { margin-top:auto; }
.m-stad .news-read-more > summary { cursor:pointer; padding:12px 0; color:var(--accent); font-weight:700; min-height:44px; }
.m-stad .news-read-more > summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.m-stad .news-full-story p { margin:0 0 12px; }
.m-stad .breda-news-card:has(.news-read-more[open]) > p:not(.breda-news-meta) { display:none; }
