/* Nexus Wave - main.css */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:wght@400;500;600&display=swap');

:root {
  --bg:         #080c18;
  --surface:    #0f1623;
  --card:       #151e30;
  --card-hover: #1c2640;
  --border:     rgba(255,255,255,0.07);
  --border-hi:  rgba(0,212,255,0.3);
  --accent:     #00d4ff;
  --accent2:    #7c3aed;
  --amber:      #f59e0b;
  --success:    #10b981;
  --danger:     #ef4444;
  --text:       #e2e8f0;
  --muted:      #64748b;
  --radius:     12px;
  --nav-h:      52px;
  --player-h:   64px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: 'DM Sans', sans-serif;
       font-size: 15px; line-height: 1.6; padding-bottom: var(--player-h); }

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

/* -- NAV ----------------------------------------- */
.nw-nav { position: sticky; top: 0; z-index: 100; background: rgba(8,12,24,.95);
          backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); height: var(--nav-h); }
.nw-nav-inner { max-width: 1280px; margin: 0 auto; padding: 0 20px;
                height: 100%; display: flex; align-items: center; gap: 8px; }
.nw-logo { font-family: 'Syne', sans-serif; font-size: 20px; font-weight: 800;
           color: var(--accent); margin-right: 20px; }
.nw-logo span { color: var(--text); }
.nw-nav-links { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nw-nav-links a { padding: 6px 12px; border-radius: 8px; font-size: 13px; font-weight: 500;
                  color: var(--muted); transition: all .2s; }
.nw-nav-links a:hover, .nw-nav-links a.active { color: var(--text); background: rgba(255,255,255,.05); }
.nw-btn-nav { background: var(--accent) !important; color: #000 !important; font-weight: 600 !important;
              border-radius: 8px; }
.nw-btn-nav:hover { opacity: .85 !important; }
.nw-badge-admin { background: rgba(239,68,68,.15) !important; color: var(--danger) !important;
                  border: 1px solid rgba(239,68,68,.3) !important; }

/* -- HERO ----------------------------------------- */
.nw-hero { background: linear-gradient(180deg,rgba(0,212,255,.07) 0%,transparent 100%);
           border-bottom: 1px solid var(--border); padding: 36px 20px 28px; }
.nw-hero-inner { max-width: 1280px; margin: 0 auto; }
.nw-hero h1 { font-family: 'Syne', sans-serif; font-size: 32px; font-weight: 800;
              background: linear-gradient(135deg,var(--text) 0%,var(--accent) 100%);
              -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.nw-hero p { color: var(--muted); font-size: 15px; margin-top: 4px; }
.nw-stats-row { display: flex; gap: 24px; margin-top: 20px; flex-wrap: wrap; }
.nw-stat { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.nw-stat-val { font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 700; color: var(--accent); }

/* -- FILTERS -------------------------------------- */
.nw-filters { border-bottom: 1px solid var(--border); background: var(--surface);
              position: sticky; top: var(--nav-h); z-index: 90; }
.nw-filters-inner { max-width: 1280px; margin: 0 auto; padding: 10px 20px;
                    display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nw-chip { padding: 5px 14px; border-radius: 20px; font-size: 12px; font-weight: 500;
           border: 1px solid var(--border); background: transparent; color: var(--muted);
           transition: all .15s; white-space: nowrap; }
.nw-chip:hover, .nw-chip.active { background: rgba(0,212,255,.12); border-color: var(--accent); color: var(--accent); }
.nw-filter-sort { margin-left: auto; display: flex; gap: 8px; }
.nw-filter-sort select, .nw-search {
  background: var(--card); border: 1px solid var(--border); border-radius: 8px;
  padding: 6px 12px; font-size: 12px; color: var(--text); font-family: inherit; outline: none; }
.nw-filter-sort select:focus, .nw-search:focus { border-color: var(--accent); }
.nw-search { width: 180px; }

/* -- MAIN / GRID ---------------------------------- */
.nw-main { max-width: 1280px; margin: 0 auto; padding: 20px; }
.nw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 14px; }
.nw-loading { grid-column: 1/-1; text-align: center; padding: 60px; color: var(--muted); }

/* -- STATION CARD --------------------------------- */
.nw-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius);
           padding: 16px; cursor: pointer; transition: all .2s; position: relative; overflow: hidden; }
.nw-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px;
                   background: var(--accent); opacity:0; transition:opacity .2s; }
.nw-card:hover { border-color: var(--border-hi); transform: translateY(-2px); background: var(--card-hover); }
.nw-card.playing { border-color: var(--accent); }
.nw-card.playing::before { opacity: 1; }

.nw-card-top { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.nw-card-logo { width: 96px; height: 60px; border-radius: 10px;
                background: rgba(255,255,255,.04); display: flex; align-items: center;
                justify-content: center; font-size: 24px; flex-shrink: 0; overflow: hidden; padding: 3px; }
.nw-card-logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
.nw-card-name { font-size: 15px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-card-genre { font-size: 11px; color: var(--muted); margin-top: 2px; }

.nw-card-badges { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 8px; }
.nw-badge { padding: 2px 8px; border-radius: 10px; font-size: 10px; font-weight: 600; }
.nw-badge-live    { background: rgba(16,185,129,.15); color: var(--success); }
.nw-badge-offline { background: rgba(100,116,139,.15); color: var(--muted); }
.nw-badge-feat    { background: rgba(245,158,11,.15);  color: var(--amber); }
.nw-badge-type    { background: rgba(124,58,237,.15);  color: #a78bfa; }

.nw-card-song { font-size: 12px; color: var(--muted); overflow: hidden; margin-bottom: 8px; }
.nw-card-song span { color: var(--text); }

.nw-card-footer { display: flex; align-items: center; justify-content: space-between; }
.nw-listeners { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.nw-dot-live { width: 7px; height: 7px; border-radius: 50%; background: var(--success);
               animation: nw-pulse 2s infinite; display: inline-block; flex-shrink: 0; }
@keyframes nw-pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
.nw-listener-bar { height: 3px; width: 60px; border-radius: 2px; background: rgba(255,255,255,.07); overflow: hidden; }
.nw-listener-fill { height: 100%; background: var(--accent); border-radius: 2px; transition: width .8s; }

.nw-play-btn { width: 30px; height: 30px; border-radius: 50%; background: var(--accent);
               border: none; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.nw-play-btn svg { width: 12px; height: 12px; fill: #000; }

.nw-card-rating { font-size: 11px; color: var(--amber); margin-top: 6px; }

/* -- PLAYER BAR ----------------------------------- */
.nw-player { position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
             background: var(--surface); border-top: 1px solid var(--border);
             height: var(--player-h); display: flex; align-items: center;
             gap: 16px; padding: 0 20px; }
.nw-player.hidden { display: none; }
.nw-player-logo { width: 40px; height: 40px; border-radius: 9px; background: rgba(0,212,255,.1);
                  display: flex; align-items: center; justify-content: center; font-size: 18px;
                  flex-shrink: 0; overflow: hidden; }
.nw-player-logo img { width: 100%; height: 100%; object-fit: cover; }
.nw-player-name { font-size: 14px; font-weight: 600; }
.nw-player-song { font-size: 12px; color: var(--muted); overflow: hidden; flex: 1; min-width: 0; }
.nw-player-song-inner { display: inline-block; white-space: nowrap; }
.nw-player-song-inner.marquee { animation: nw-marquee 18s linear infinite; padding-left: 20px; }
.nw-player-listeners { margin-left: auto; font-size: 12px; color: var(--success);
                       display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.nw-player-controls { display: flex; align-items: center; gap: 10px; }
.nw-pb-btn { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.1);
             border: 1px solid var(--border); color: var(--text); font-size: 14px;
             display: flex; align-items: center; justify-content: center; }
.nw-pb-btn:hover { background: var(--danger); border-color: var(--danger); }
#pb-volume { width: 80px; accent-color: var(--accent); }

/* -- PAGINATION ----------------------------------- */
.nw-pagination { display: flex; gap: 8px; justify-content: center; padding: 24px 0; }
.nw-page-btn { padding: 6px 14px; border-radius: 8px; border: 1px solid var(--border);
               background: var(--card); color: var(--muted); font-size: 13px; }
.nw-page-btn.active { background: var(--accent); color: #000; border-color: var(--accent); font-weight: 600; }
.nw-page-btn:hover:not(.active) { border-color: var(--accent); color: var(--accent); }

/* -- FORMS ---------------------------------------- */
.nw-form-page { max-width: 680px; margin: 40px auto; padding: 0 20px 40px; }
.nw-form-page h1 { font-family: 'Syne', sans-serif; font-size: 26px; font-weight: 800; margin-bottom: 6px; }
.nw-form-page .nw-sub { color: var(--muted); margin-bottom: 28px; }
.nw-form-section { background: var(--card); border: 1px solid var(--border);
                   border-radius: var(--radius); padding: 20px; margin-bottom: 16px; }
.nw-form-section h3 { font-size: 11px; font-weight: 600; color: var(--accent);
                      text-transform: uppercase; letter-spacing: .06em; margin-bottom: 16px; }
.nw-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nw-form-group { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.nw-form-group:last-child { margin-bottom: 0; }
.nw-form-group label { font-size: 12px; color: var(--muted); font-weight: 500; }
.nw-form-group input, .nw-form-group select, .nw-form-group textarea {
  background: rgba(255,255,255,.04); border: 1px solid var(--border); border-radius: 8px;
  padding: 10px 13px; font-size: 13px; color: var(--text); font-family: inherit; outline: none; }
.nw-form-group input:focus, .nw-form-group select:focus, .nw-form-group textarea:focus {
  border-color: var(--accent); }
.nw-form-group select option { background: #151e30; }
.nw-form-group textarea { resize: vertical; min-height: 80px; }
.nw-toggle-row { display: flex; align-items: center; justify-content: space-between;
                 font-size: 13px; margin-bottom: 10px; }
.nw-toggle { position: relative; width: 38px; height: 22px; }
.nw-toggle input { opacity:0; width:0; height:0; }
.nw-toggle-sl { position:absolute; inset:0; background:rgba(255,255,255,.1);
                border-radius:11px; cursor:pointer; transition:.3s; }
.nw-toggle-sl::before { content:''; position:absolute; width:16px; height:16px;
                         background:#fff; border-radius:50%; top:3px; left:3px; transition:.3s; }
.nw-toggle input:checked + .nw-toggle-sl { background: var(--accent); }
.nw-toggle input:checked + .nw-toggle-sl::before { transform:translateX(16px); background:#000; }
.nw-form-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px; }
.nw-btn { padding: 10px 22px; border-radius: 8px; font-size: 14px; font-weight: 600;
          border: none; cursor: pointer; font-family: inherit; transition: all .15s; }
.nw-btn-primary { background: var(--accent); color: #000; }
.nw-btn-primary:hover { opacity: .85; }
.nw-btn-ghost { background: transparent; border: 1px solid var(--border); color: var(--muted); }
.nw-btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.nw-alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.nw-alert-error   { background: rgba(239,68,68,.1);  border: 1px solid rgba(239,68,68,.3);  color: #fca5a5; }
.nw-alert-success { background: rgba(16,185,129,.1); border: 1px solid rgba(16,185,129,.3); color: #6ee7b7; }

/* -- FOOTER --------------------------------------- */
.nw-footer { text-align: center; padding: 24px; font-size: 12px; color: var(--muted);
             border-top: 1px solid var(--border); margin-top: 40px; }
.nw-footer a { color: var(--accent); }

/* -- DASHBOARD / ADMIN ---------------------------- */
.nw-page { max-width: 1280px; margin: 30px auto; padding: 0 20px 60px; }
.nw-page h1 { font-family: 'Syne', sans-serif; font-size: 26px; font-weight: 800; margin-bottom: 20px; }
.nw-kpi-row { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 12px; margin-bottom: 24px; }
.nw-kpi { background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: 16px; }
.nw-kpi-label { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing:.05em; margin-bottom:6px; }
.nw-kpi-value { font-family: 'Syne', sans-serif; font-size: 24px; font-weight: 700; color: var(--accent); }
.nw-kpi-value.success { color: var(--success); }
.nw-kpi-value.amber   { color: var(--amber); }
.nw-table-wrap { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); overflow: auto; }
table.nw-table { width: 100%; border-collapse: collapse; font-size: 13px; }
table.nw-table th { text-align: left; padding: 12px 16px; font-size: 11px; color: var(--muted);
                    text-transform: uppercase; letter-spacing:.05em; border-bottom: 1px solid var(--border); }
table.nw-table td { padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.04); vertical-align: middle; }
table.nw-table tr:last-child td { border-bottom: none; }
table.nw-table tr:hover td { background: rgba(255,255,255,.02); }
.nw-status-active    { color: var(--success); font-weight: 600; }
.nw-status-pending   { color: var(--amber); font-weight: 600; }
.nw-status-suspended { color: var(--danger); font-weight: 600; }

@media (max-width: 640px) {
  .nw-form-row { grid-template-columns: 1fr; }
  .nw-filter-sort { width: 100%; }
  .nw-search { width: 100%; }
  .nw-player-song { max-width: 150px; }
  #pb-volume { display: none; }
}

/* Laufband Song-Titel */
.nw-song-inner { display: inline-block; white-space: nowrap; }
.nw-song-inner.marquee { animation: nw-marquee 14s linear infinite; }
@keyframes nw-marquee {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}

/* Song-Laufband */
.nw-card-song { overflow: hidden; margin-bottom: 8px; }
.nw-song-wrap  { overflow: hidden; white-space: nowrap; }
.nw-song-inner { display: inline-block; white-space: nowrap; font-size: 12px; color: var(--muted); }
.nw-song-inner.marquee { animation: nw-marquee 16s linear infinite; padding-left: 10px; }
@keyframes nw-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* ── FEATURED SECTION ─────────────────────────────────────── */
.nw-featured-section {
  background: linear-gradient(135deg, rgba(0,212,255,.08) 0%, rgba(0,212,255,.02) 100%);
  border-bottom: 1px solid rgba(0,212,255,.15);
  padding: 16px 0;
}
.nw-featured-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.nw-featured-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.nw-featured-row {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
}
.nw-featured-row::-webkit-scrollbar { display: none; }
.nw-featured-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--surface);
  border: 1px solid rgba(0,212,255,.2);
  border-radius: 10px;
  padding: 10px 14px;
  min-width: 200px;
  text-decoration: none;
  transition: all .2s;
  flex-shrink: 0;
}
.nw-featured-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.nw-featured-card img,
.nw-featured-placeholder {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.nw-featured-name { font-size: 13px; font-weight: 600; color: var(--text); }
.nw-featured-song { font-size: 11px; color: var(--muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 140px; }

/* ── HAMBURGER / MOBILE NAV ───────────────────────────────── */
.nw-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  z-index: 1001;
}
.nw-burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: all .3s;
}
.nw-burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.nw-burger.open span:nth-child(2) { opacity: 0; }
.nw-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

@media (max-width: 768px) {
  .nw-burger { display: flex; }
  .nw-nav-links {
    display: none;
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    flex-direction: column;
    padding: 12px 0;
    z-index: 1000;
    box-shadow: 0 8px 24px rgba(0,0,0,.4);
  }
  .nw-nav-links.open { display: flex; }
  .nw-nav-links a {
    padding: 12px 24px;
    font-size: 15px;
    border-left: 3px solid transparent;
  }
  .nw-nav-links a:hover { border-left-color: var(--accent); background: rgba(255,255,255,.04); }
  .nw-grid { grid-template-columns: 1fr; }
  .nw-hero h1 { font-size: 28px; }
  .nw-stats-row { gap: 12px; }
  .nw-player { flex-wrap: wrap; gap: 8px; padding: 10px 14px; }
  .nw-player-controls { margin-left: 0; }
  .dash-grid { grid-template-columns: 1fr; }
}

/* ── SECTION HEADERS ──────────────────────────────── */
.nw-section-wrap { max-width:1200px; margin:0 auto; padding:20px 20px 0; }
.nw-section-header {
  font-size:13px; font-weight:700; color:var(--text);
  margin-bottom:14px; display:flex; align-items:center; gap:6px;
}
.nw-section-icon { font-size:16px; }
.nw-mini-grid {
  display:flex; gap:8px; overflow-x:auto; padding-bottom:4px;
  scrollbar-width:none; margin-bottom:20px;
}
.nw-mini-grid::-webkit-scrollbar { display:none; }
.nw-mini-card {
  display:flex; align-items:center; gap:10px; min-width:200px; max-width:240px;
  background:var(--surface); border:1px solid var(--border); border-radius:10px;
  padding:10px 12px; text-decoration:none; flex-shrink:0; transition:all .2s;
}
.nw-mini-card:hover { border-color:var(--accent); }
.nw-mini-placeholder {
  width:36px; height:36px; border-radius:6px; background:var(--bg);
  display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0;
}
.nw-mini-name { font-size:12px; font-weight:600; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:140px; }
.nw-mini-song { font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:140px; margin-top:2px; }

/* ── ZWEI-SPALTEN LAYOUT (Neue + Top Sender) ──────── */
.nw-two-col-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 20px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 768px) {
  .nw-two-col-wrap { grid-template-columns: 1fr; }
}
.nw-sidebar-section {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px;
}
.nw-new-badge {
  background: var(--accent);
  color: #000;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: .05em;
}
.nw-list-stations { display: flex; flex-direction: column; gap: 2px; margin-top: 10px; }
.nw-list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 6px;
  border-radius: 8px;
  text-decoration: none;
  transition: background .15s;
}
.nw-list-item:hover { background: rgba(255,255,255,.05); }
.nw-list-item img,
.nw-list-placeholder {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.nw-list-info { flex: 1; min-width: 0; }
.nw-list-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nw-list-genre {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nw-dot-sm { width: 6px; height: 6px; flex-shrink: 0; }

/* ── TOP-SENDER SECTION ───────────────────────────── */
.nw-top-section {
  background: linear-gradient(135deg, rgba(0,212,255,.06) 0%, transparent 60%);
  border-bottom: 1px solid rgba(0,212,255,.1);
  padding: 20px 0;
}
.nw-top-inner { max-width:1200px; margin:0 auto; padding:0 20px; }
.nw-top-grid {
  display: flex; gap:10px; overflow-x:auto; padding-bottom:4px;
  scrollbar-width:none; margin-top:10px;
}
.nw-top-grid::-webkit-scrollbar { display:none; }
.nw-top-card {
  display: flex; flex-direction:column; align-items:center;
  background: var(--surface); border:1px solid rgba(0,212,255,.2);
  border-radius:10px; padding:12px; min-width:110px; max-width:130px;
  text-decoration:none; flex-shrink:0; transition:all .2s; text-align:center;
}
.nw-top-card:hover { border-color:var(--accent); transform:translateY(-2px); }
.nw-top-logo-wrap {
  position:relative; width:60px; height:60px; border-radius:10px;
  overflow:hidden; background:var(--bg); margin-bottom:8px;
  display:flex; align-items:center; justify-content:center;
}
.nw-top-logo-wrap img { width:100%; height:100%; object-fit:contain; }
.nw-top-placeholder { font-size:28px; }
.nw-top-name { font-size:12px; font-weight:700; color:var(--text); line-height:1.3; }
.nw-top-genre { font-size:10px; color:var(--muted); margin-top:2px; }
.nw-top-listeners { font-size:11px; color:var(--accent); margin-top:4px; font-weight:600; }

/* ── CONTENT + SIDEBAR LAYOUT ──────────────────────── */
.nw-content-with-sidebar {
  max-width: 1200px;
  margin: 20px auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 24px;
  align-items: start;
}
@media (max-width: 900px) {
  .nw-content-with-sidebar {
    grid-template-columns: 1fr;
  }
  .nw-sidebar { display:none; }
}
.nw-station-col { min-width: 0; }
.nw-sidebar { position: sticky; top: 70px; }

/* Fix main grid inside station-col */
.nw-station-col .nw-main { padding: 0; }
.nw-station-col .nw-main .nw-grid { max-width: 100%; }

/* ── PRICING: Genre entfernen ──────────────────────── */