/* SO-RadioViewer · ausschließlich Desktop ab 1200px */
.site-header { padding: 10px max(28px, calc((100vw - 1600px) / 2)); }
.signal-chip { padding: 6px 10px; }
.radio-app { padding: 46px 28px 86px; }
.intro-bar { align-items: end; }
.intro-copy { font-size: 15px; }
.view-tabs { margin: 30px 0 18px; }
.hero-dashboard { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(380px, .74fr); gap: 18px; }
.globe-panel, .now-panel, .control-panel, .schedule-panel, .local-card, .world-news-card, .community-card { padding: 22px; }
.globe-stage { height: clamp(520px, 55vh, 680px); margin-top: 16px; }
.globe-legend { margin-top: 13px; }
.globe-help { margin-top: 8px; }
.now-panel { display: grid; align-content: start; gap: 20px; }
.now-panel .program-block { margin-top: 4px; }
.control-panel { margin-top: 18px; box-shadow: none; }
.search-row { margin-top: 16px; }
.filters { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.global-controls {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(175px, .34fr) auto auto auto minmax(210px, .65fr);
  gap: 12px;
  align-items: end;
}
.global-status { align-self: center; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .55fr); gap: 22px; margin-top: 32px; }
.section-strip { margin-bottom: 14px; }
.station-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.side-column { gap: 16px; }
.regional-note { margin-top: 42px; padding: 24px 0; }
.site-footer { margin-top: 28px; padding-top: 8px; }
.mobile-player { display: none; }
.toast-region { right: 28px; bottom: 28px; }
.globe-panel:fullscreen { padding: 24px; background: var(--bg); }
.globe-panel:fullscreen .globe-stage { height: calc(100vh - 150px); }

@container (min-width: 980px) {
  .control-panel .filters { display: grid; grid-template-columns: minmax(0, 1fr) 190px auto auto; align-items: end; }
}
.world-search-button { flex: 0 0 auto; }
.favorite-playlist-card { padding: 22px; }

/* Informations- und Rechtsseiten · Desktop */
.static-hero--cover { grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr); align-items: center; }
.static-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.two-column-info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.source-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
