/**
 * Radio Galaxy FX ? Oldies-and-More style premium layout
 * Floating glass topbar + left image nav + stacked neon glass cards.
 * Keeps Galaxy nav icons / backgrounds; uses galaxy-main.png as brand watermark.
 */

:root {
  --nav-rail: 78px;
  --nav-w: 248px;
  --nav-inset: 14px;
  --g-cyan: #7cecff;
  --g-cyan-dim: rgba(124, 236, 255, 0.45);
  --g-purple: #d58cff;
  --g-pink: #ff87d9;
  --g-gold: #ffc96b;
  --g-orange: #ff8c32;
  --g-card: rgba(4, 8, 20, 0.38);
  --g-glass: rgba(0, 0, 0, 0.28);
  --g-text: #f7f5ff;
  --g-muted: rgba(198, 211, 243, 0.86);
  --g-font-display: "Syne", "Segoe UI", sans-serif;
  --g-font-body: "Outfit", "Segoe UI", sans-serif;
  --g-font-neon: "Pacifico", cursive;
}

/*
 * main.css sets html,body { height:100% } which pins body to the viewport.
 * Overflow content then scrolls over solid html color and the fixed body art
 * "disappears". Force height:auto so the art paints for the full document,
 * and mirror the scene on html as a belt-and-suspenders fixed layer (Oldies).
 */
html.galaxy-premium-html {
  scroll-behavior: smooth;
  height: auto !important;
  min-height: 100% !important;
  background-color: #05040b !important;
  background-image:
    linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.18) 42%, rgba(0, 0, 0, 0.34) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.38) 0%, transparent 22%, transparent 78%, rgba(0, 0, 0, 0.4) 100%),
    url("/img/galaxy-main.png"),
    url("/img/backgrounds/main-bg.png") !important;
  background-size: 100% 100%, 100% 100%, min(420px, 42vw), 100% 100vh !important;
  background-position: center, center, center 42%, center top !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed, fixed !important;
}

body.galaxy-premium {
  font-family: var(--g-font-body);
  color: var(--g-text);
  height: auto !important;
  min-height: 100vh !important;
  background-color: transparent !important;
  background-image:
    linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, rgba(0, 0, 0, 0.18) 42%, rgba(0, 0, 0, 0.34) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.38) 0%, transparent 22%, transparent 78%, rgba(0, 0, 0, 0.4) 100%),
    url("/img/galaxy-main.png"),
    url("/img/backgrounds/main-bg.png") !important;
  background-size: 100% 100%, 100% 100%, min(420px, 42vw), 100% 100vh !important;
  background-position: center, center, center 42%, center top !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed, fixed !important;
  letter-spacing: 0.01em;
}

/* Kill scrolling panel backgrounds that cover the fixed body art */
body.galaxy-premium main.content-area,
body.galaxy-premium main.premium-page-wrap,
body.galaxy-premium .content-area,
body.galaxy-premium .premium-page-wrap {
  background: transparent !important;
  background-image: none !important;
  background-attachment: initial !important;
}
body.galaxy-premium .content-area::before,
body.galaxy-premium .content-area::after,
body.galaxy-premium main.content-area::before,
body.galaxy-premium main.content-area::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

body.galaxy-premium .galaxy-skip-link {
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 10050;
  padding: 10px 14px;
  border-radius: 10px;
  background: #0b0d1e;
  color: var(--g-cyan);
  border: 1px solid var(--g-cyan-dim);
  text-decoration: none;
  font-weight: 700;
  transition: top 0.2s ease;
}
body.galaxy-premium .galaxy-skip-link:focus { top: 12px; }

.galaxy-scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px; width: 0;
  z-index: 10060;
  background: linear-gradient(90deg, var(--g-cyan), var(--g-purple), var(--g-pink), var(--g-gold));
  box-shadow: 0 0 12px rgba(124, 236, 255, 0.45);
  pointer-events: none;
}

.galaxy-back-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 10020;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(124, 236, 255, 0.4);
  background: rgba(8, 10, 24, 0.9);
  color: var(--g-cyan);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  font-size: 1.1rem;
}
.galaxy-back-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.galaxy-back-top:hover {
  box-shadow: 0 0 18px rgba(124, 236, 255, 0.4);
}

/* Hide legacy slim site-header ? Oldies uses floating topbar instead */
body.galaxy-premium > .site-header {
  display: none !important;
}

/* ===== Floating glass topbar (Oldies layout) ===== */
body.galaxy-premium .premium-topbar {
  position: fixed !important;
  top: 14px !important;
  left: calc(var(--nav-rail) + var(--nav-inset) + 16px) !important;
  right: 20px !important;
  width: auto !important;
  max-width: none !important;
  height: 72px !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 8px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(124, 236, 255, 0.35) !important;
  background: rgba(0, 0, 0, 0.48) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), inset 0 0 28px rgba(124, 236, 255, 0.05) !important;
  backdrop-filter: blur(16px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.1) !important;
  box-sizing: border-box !important;
  transition: left 0.25s ease;
}

body.galaxy-premium .premium-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  color: var(--g-text) !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  transition: filter 0.2s ease, transform 0.2s ease;
}
body.galaxy-premium .premium-brand:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
body.galaxy-premium .premium-brand img {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  box-shadow: 0 0 20px rgba(124, 236, 255, 0.45) !important;
  border: 1px solid rgba(124, 236, 255, 0.3) !important;
}
body.galaxy-premium .premium-brand strong {
  display: block !important;
  font-family: var(--g-font-neon) !important;
  font-weight: 400 !important;
  font-size: clamp(0.92rem, 1.6vw, 1.18rem) !important;
  color: #ff87d9 !important;
  text-shadow: 0 0 16px rgba(255, 135, 217, 0.75), 0 0 32px rgba(213, 140, 255, 0.35) !important;
  line-height: 1.15 !important;
}
body.galaxy-premium .premium-brand small {
  display: block !important;
  color: #dceceb !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  opacity: 0.92 !important;
  letter-spacing: 0.04em !important;
}

body.galaxy-premium .premium-nav {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
  justify-content: center !important;
}
body.galaxy-premium .premium-nav a {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #c8f6f4 !important;
  text-decoration: none !important;
  opacity: 0.9 !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  transition: color 0.15s ease, text-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
body.galaxy-premium .premium-nav a:hover {
  color: #fff !important;
  background: rgba(124, 236, 255, 0.1) !important;
  border-color: rgba(124, 236, 255, 0.28) !important;
  text-shadow: 0 0 12px rgba(124, 236, 255, 0.45) !important;
  opacity: 1 !important;
}
body.galaxy-premium .premium-nav a.is-active {
  color: #0a1020 !important;
  background: linear-gradient(135deg, #7cecff, #d58cff) !important;
  border-color: transparent !important;
  box-shadow: 0 0 18px rgba(124, 236, 255, 0.35) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.galaxy-premium .premium-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid rgba(255, 200, 80, 0.85) !important;
  color: var(--g-gold) !important;
  background: rgba(255, 140, 40, 0.14) !important;
  padding: 10px 16px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 0 18px rgba(255, 180, 60, 0.22) !important;
  transition: transform 0.15s ease, filter 0.15s ease;
}
body.galaxy-premium .premium-badge:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}
body.galaxy-premium .premium-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--g-cyan-dim) !important;
  background: rgba(0, 0, 0, 0.45) !important;
  color: #d7fefe !important;
  text-decoration: none !important;
  flex: 0 0 auto !important;
}
body.galaxy-premium .premium-avatar:hover {
  color: var(--g-cyan) !important;
  border-color: rgba(124, 236, 255, 0.7) !important;
}

/* ===== Floating chrome side-nav ? collapsed rail, expands on hover ===== */
body.galaxy-premium .side-nav {
  top: var(--nav-inset) !important;
  bottom: var(--nav-inset) !important;
  left: var(--nav-inset) !important;
  width: var(--nav-rail) !important;
  height: auto !important;
  z-index: 10005 !important;
  background:
    linear-gradient(160deg, rgba(18, 22, 48, 0.9), rgba(6, 8, 20, 0.95)),
    linear-gradient(135deg, #0a0a12, #161828) !important;
  background-size: 100% 100%, 200% 200% !important;
  border: 1px solid rgba(124, 236, 255, 0.22) !important;
  border-right: 1px solid rgba(124, 236, 255, 0.22) !important;
  border-radius: 22px !important;
  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 0 28px rgba(0, 0, 0, 0.45),
    0 0 28px rgba(124, 236, 255, 0.08) !important;
  /* Only the link list scrolls ? keep mini-player pinned at the bottom */
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  backdrop-filter: blur(14px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.15) !important;
  transition: width 0.25s ease-out;
}
body.galaxy-premium .side-nav:hover,
body.galaxy-premium .side-nav:focus-within {
  width: var(--nav-w) !important;
}
/* Slide topbar + main clear of the expanded rail so content is never covered */
body.galaxy-premium:has(.side-nav:hover) .premium-topbar,
body.galaxy-premium:has(.side-nav:focus-within) .premium-topbar {
  left: calc(var(--nav-w) + var(--nav-inset) + 16px) !important;
}
body.galaxy-premium:has(.side-nav:hover) main.content-area,
body.galaxy-premium:has(.side-nav:focus-within) main.content-area,
body.galaxy-premium:has(.side-nav:hover) .premium-page-wrap,
body.galaxy-premium:has(.side-nav:focus-within) .premium-page-wrap {
  width: min(1280px, calc(100vw - var(--nav-w) - var(--nav-inset) - 48px)) !important;
  margin-left: calc(var(--nav-w) + var(--nav-inset) + 24px) !important;
}
body.galaxy-premium:has(.side-nav:hover) .site-footer.premium-footer,
body.galaxy-premium:has(.side-nav:focus-within) .site-footer.premium-footer {
  margin-left: calc(var(--nav-w) + var(--nav-inset)) !important;
}
body.galaxy-premium .side-nav::before,
body.galaxy-premium .side-nav::after {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  width: 5px;
  border-radius: 8px;
  pointer-events: none;
  opacity: 0.95;
  filter: blur(0.4px);
}
body.galaxy-premium .side-nav::before {
  left: 0;
  background: linear-gradient(180deg, #7cecff, #5ad0ff 40%, #d58cff);
  box-shadow: 0 0 14px #7cecff, 0 0 28px rgba(124, 236, 255, 0.55);
}
body.galaxy-premium .side-nav::after {
  right: 0;
  background: linear-gradient(180deg, #ff87d9, #ff8c32 55%, #ffc96b);
  box-shadow: 0 0 14px #ff87d9, 0 0 26px rgba(255, 140, 50, 0.4);
}
body.galaxy-premium .nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 14px 10px 12px !important;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 236, 255, 0.35) transparent;
}
body.galaxy-premium .nav-list li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.galaxy-premium .nav-list li + li {
  margin-top: 6px !important;
  padding-top: 0 !important;
  border-top: none !important;
}
body.galaxy-premium .side-nav a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 9px 10px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  color: var(--g-text) !important;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.02) !important;
  justify-content: flex-start !important;
  transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, padding 0.25s ease;
}
body.galaxy-premium .side-nav a:hover {
  background: rgba(124, 236, 255, 0.12) !important;
  border-color: rgba(124, 236, 255, 0.32) !important;
  box-shadow: 0 0 20px rgba(124, 236, 255, 0.16), inset 0 0 18px rgba(124, 236, 255, 0.05) !important;
  transform: translateX(3px);
}
body.galaxy-premium .side-nav a.is-active,
body.galaxy-premium .side-nav a[aria-current="page"] {
  background: linear-gradient(135deg, rgba(124, 236, 255, 0.16), rgba(213, 140, 255, 0.12)) !important;
  border-color: rgba(124, 236, 255, 0.45) !important;
  box-shadow: 0 0 0 1px rgba(124, 236, 255, 0.18), 0 10px 24px rgba(0, 0, 0, 0.28), 0 0 22px rgba(124, 236, 255, 0.18) !important;
}
body.galaxy-premium .side-nav a.is-active span,
body.galaxy-premium .side-nav a[aria-current="page"] span {
  color: #c9f6ff !important;
  text-shadow: 0 0 12px rgba(124, 236, 255, 0.45);
}
body.galaxy-premium .side-nav a:hover img,
body.galaxy-premium .side-nav a.is-active img {
  transform: scale(1.06);
  filter: drop-shadow(0 0 12px rgba(124, 236, 255, 0.45)) drop-shadow(0 0 8px rgba(255, 135, 217, 0.25));
}
body.galaxy-premium .side-nav img {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 8px rgba(124, 236, 255, 0.22));
  transition: transform 0.2s ease, filter 0.2s ease;
}
body.galaxy-premium .side-nav span {
  font-family: var(--g-font-display) !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  min-width: 0;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-8px);
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
}
body.galaxy-premium .side-nav:hover span,
body.galaxy-premium .side-nav:focus-within span {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
body.galaxy-premium .side-nav .nav-admin a {
  margin-top: 8px;
  border-color: rgba(255, 201, 107, 0.28) !important;
  background: rgba(255, 140, 50, 0.08) !important;
}
body.galaxy-premium .side-nav .nav-admin a:hover {
  border-color: rgba(255, 201, 107, 0.55) !important;
  box-shadow: 0 0 18px rgba(255, 180, 60, 0.2) !important;
}

.sidebar-mini-player {
  margin: 6px 8px 12px;
  margin-top: auto;
  padding: 8px;
  border-radius: 16px;
  border: 1px solid rgba(124, 236, 255, 0.28);
  background: linear-gradient(160deg, rgba(0, 0, 0, 0.45), rgba(20, 12, 40, 0.35));
  box-shadow: inset 0 0 18px rgba(124, 236, 255, 0.05);
  display: grid;
  grid-template-columns: 36px 1fr auto;
  grid-template-rows: auto auto;
  gap: 4px 6px;
  align-items: center;
  overflow: hidden;
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
}
body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-player {
  grid-template-columns: 1fr;
  justify-items: center;
}
body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-meta,
body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-wave,
body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-play {
  display: none !important;
}
.sidebar-mini-art img {
  width: 40px !important;
  height: 40px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid rgba(124, 236, 255, 0.3);
}
.sidebar-mini-meta { min-width: 0; grid-column: 2; }
.sidebar-mini-eyebrow {
  display: block;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--g-cyan);
  font-weight: 800;
}
.sidebar-mini-title {
  display: block;
  font-size: 0.78rem;
  color: #c6d3f3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 140px;
}
.sidebar-mini-wave {
  grid-column: 1 / 3;
  display: flex;
  gap: 3px;
  align-items: flex-end;
  height: 14px;
}
.sidebar-mini-wave span {
  width: 3px;
  background: var(--g-purple);
  border-radius: 2px;
  opacity: 0.85;
  animation: galaxyEq 1s ease-in-out infinite;
}
.sidebar-mini-wave span:nth-child(1) { height: 6px; }
.sidebar-mini-wave span:nth-child(2) { height: 12px; animation-delay: 0.1s; }
.sidebar-mini-wave span:nth-child(3) { height: 8px; animation-delay: 0.2s; }
.sidebar-mini-wave span:nth-child(4) { height: 14px; animation-delay: 0.05s; }
.sidebar-mini-wave span:nth-child(5) { height: 7px; animation-delay: 0.15s; }
.sidebar-mini-play {
  grid-row: 1 / 3;
  grid-column: 3;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--g-orange), var(--g-gold));
  color: #1a0a00;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 0 14px rgba(255, 140, 50, 0.35);
}
@keyframes galaxyEq {
  0%, 100% { transform: scaleY(0.55); }
  50% { transform: scaleY(1); }
}

.mobile-nav-toggle {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10010;
  padding: 10px 14px;
  cursor: pointer;
  display: none;
  border-radius: 12px;
  border: 1px solid rgba(124, 236, 255, 0.4);
  background: rgba(8, 10, 24, 0.94);
  color: var(--g-text);
  font-weight: 700;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.4);
}

/* ===== Main column (Oldies premium-page-wrap pattern) ===== */
body.galaxy-premium .premium-page-wrap,
body.galaxy-premium main.content-area {
  box-sizing: border-box !important;
  width: min(1280px, calc(100vw - var(--nav-rail) - var(--nav-inset) - 36px)) !important;
  max-width: 1280px !important;
  margin: 104px 24px 28px
    calc(var(--nav-rail) + var(--nav-inset) + max(0px, (100vw - var(--nav-rail) - var(--nav-inset) - 24px - min(1280px, calc(100vw - var(--nav-rail) - var(--nav-inset) - 36px))) / 2)) !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  min-height: 60vh;
}
body.galaxy-premium main.content-area::before,
body.galaxy-premium main.content-area::after {
  display: none !important;
}
body.galaxy-premium .content-wrapper {
  max-width: none !important;
  width: 100% !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
}

/* Glass cards */
body.galaxy-premium .content-card,
body.galaxy-premium .schedule-box,
body.galaxy-premium .clock-box,
body.galaxy-premium .admin-card,
body.galaxy-premium .show-card,
body.galaxy-premium .premium-panel {
  background: var(--g-card) !important;
  border: 1px solid rgba(124, 236, 255, 0.38) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4), 0 0 24px rgba(124, 236, 255, 0.08) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}
body.galaxy-premium .content-card:hover,
body.galaxy-premium .show-card:hover {
  border-color: rgba(213, 140, 255, 0.5) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.45), 0 0 28px rgba(213, 140, 255, 0.14) !important;
}

body.galaxy-premium h1,
body.galaxy-premium h2,
body.galaxy-premium h3 {
  font-family: var(--g-font-display);
  letter-spacing: 0.02em;
}

/* ===== Public CTA buttons (high contrast on busy cosmic art) ===== */
body.galaxy-premium .button,
body.galaxy-premium .play-btn,
body.galaxy-premium .btn,
body.galaxy-premium .btn-accent,
body.galaxy-premium .friend-btn,
body.galaxy-premium .request-button,
body.galaxy-premium .admin-btn:not(.primary) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  padding: 11px 18px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(124, 236, 255, 0.62) !important;
  background:
    linear-gradient(180deg, rgba(18, 32, 64, 0.94), rgba(6, 12, 28, 0.96)) !important;
  color: #f4f8ff !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(255, 255, 255, 0.05) inset,
    0 0 20px rgba(124, 236, 255, 0.14) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, filter 0.15s ease;
}
body.galaxy-premium .button:hover,
body.galaxy-premium .play-btn:hover,
body.galaxy-premium .btn:hover,
body.galaxy-premium .btn-accent:hover,
body.galaxy-premium .friend-btn:hover,
body.galaxy-premium .request-button:hover {
  transform: translateY(-2px);
  border-color: rgba(180, 245, 255, 0.9) !important;
  filter: brightness(1.06);
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.45),
    0 0 26px rgba(124, 236, 255, 0.28) !important;
}
body.galaxy-premium .request-button,
body.galaxy-premium .btn-accent,
body.galaxy-premium button.button {
  cursor: pointer;
}
/* Primary orange CTA (Play Now family) stays distinct */
body.galaxy-premium .premium-play--hero,
body.galaxy-premium .g-btn--primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 24px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 221, 160, 0.55) !important;
  background: linear-gradient(135deg, var(--g-orange), var(--g-gold)) !important;
  color: #1a0a00 !important;
  font-weight: 900 !important;
  font-size: 1.05rem !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: 0 0 24px rgba(255, 140, 50, 0.4) !important;
}
body.galaxy-premium .premium-play--hero:hover,
body.galaxy-premium .g-btn--primary:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
}

/* Partner / listen chips with icons */
body.galaxy-premium .g-chip,
body.galaxy-premium .listen-partners a,
body.galaxy-premium .listen-buttons a,
body.galaxy-premium .listen-inline a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.03em;
  color: #f0f6ff !important;
  background:
    linear-gradient(180deg, rgba(20, 36, 72, 0.92), rgba(8, 14, 32, 0.95)) !important;
  border: 1px solid rgba(124, 236, 255, 0.5) !important;
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.38),
    0 0 16px rgba(124, 236, 255, 0.12) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.galaxy-premium .g-chip:hover,
body.galaxy-premium .listen-partners a:hover,
body.galaxy-premium .listen-buttons a:hover,
body.galaxy-premium .listen-inline a:hover {
  border-color: rgba(255, 201, 107, 0.7) !important;
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.42),
    0 0 22px rgba(255, 201, 107, 0.18) !important;
  transform: translateY(-2px);
}
body.galaxy-premium .g-chip__ico {
  width: 1.1em;
  height: 1.1em;
  flex: 0 0 auto;
  display: inline-block;
  background: currentColor;
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}
body.galaxy-premium .g-chip__ico--discord {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 12.6 12.6 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.1 13.1 0 0 1-1.872-.892.077.077 0 0 1-.008-.128c.126-.094.252-.192.373-.292a.074.074 0 0 1 .078-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .079.01c.12.1.247.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 12.6 12.6 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.1 13.1 0 0 1-1.872-.892.077.077 0 0 1-.008-.128c.126-.094.252-.192.373-.292a.074.074 0 0 1 .078-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .079.01c.12.1.247.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418'/%3E%3C/svg%3E");
}
body.galaxy-premium .g-chip__ico--stream {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z'/%3E%3C/svg%3E");
}
body.galaxy-premium .g-chip__ico--player {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8 5v14l11-7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8 5v14l11-7z'/%3E%3C/svg%3E");
}
body.galaxy-premium .g-chip__ico--tuner {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3.24 6.15C2.51 6.43 2 7.17 2 8v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8c0-1.1-.89-2-2-2H8.3l8.26-3.34L15.88 1 3.24 6.15zM7 20c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm13-8h-2v-2h-2v2H7V8h13v4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3.24 6.15C2.51 6.43 2 7.17 2 8v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8c0-1.1-.89-2-2-2H8.3l8.26-3.34L15.88 1 3.24 6.15zM7 20c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm13-8h-2v-2h-2v2H7V8h13v4z'/%3E%3C/svg%3E");
}
body.galaxy-premium .g-chip__ico--box {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 6h-2.18c.11-.31.18-.65.18-1a2.996 2.996 0 0 0-5.5-1.65l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 12 7.4l3.38 4.6L17 10.83 14.92 8H20v6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 6h-2.18c.11-.31.18-.65.18-1a2.996 2.996 0 0 0-5.5-1.65l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 12 7.4l3.38 4.6L17 10.83 14.92 8H20v6z'/%3E%3C/svg%3E");
}
body.galaxy-premium .g-chip__ico--calendar {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z'/%3E%3C/svg%3E");
}
body.galaxy-premium .g-chip--discord {
  border-color: rgba(114, 137, 218, 0.75) !important;
  background: linear-gradient(180deg, rgba(88, 101, 242, 0.42), rgba(12, 18, 40, 0.95)) !important;
}
body.galaxy-premium .schedule-strip-foot .button,
body.galaxy-premium .schedule-strip-foot .play-btn {
  min-width: 220px;
  padding: 12px 22px !important;
}
body.galaxy-premium .smurf-divider {
  height: 2px;
  margin: 22px auto;
  width: min(1040px, 100%);
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(124, 236, 255, 0.85), rgba(213, 140, 255, 0.95), rgba(255, 201, 107, 0.9), transparent);
  box-shadow: 0 0 16px rgba(124, 236, 255, 0.3);
}

/* ===== Hero (Oldies-style card with galaxy scene) ===== */
.premium-hero-card.ref-hero {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(124, 236, 255, 0.42);
  box-shadow: 0 0 28px rgba(0, 0, 0, 0.55), 0 0 32px rgba(124, 236, 255, 0.1);
  background: #020208;
  margin: 0 0 22px;
  padding: 0;
}
.ref-hero__scene {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.ref-hero__galaxy-photo {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(2, 2, 10, 0.82) 0%, rgba(2, 2, 10, 0.35) 42%, rgba(2, 2, 10, 0.55) 100%),
    url("/img/galaxy-main.png") center / cover no-repeat;
  filter: saturate(1.15) contrast(1.05);
}
.ref-hero__shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 78% 40%, rgba(124, 236, 255, 0.16), transparent 50%),
    radial-gradient(ellipse 50% 45% at 22% 38%, rgba(213, 140, 255, 0.1), transparent 45%);
}
.ref-hero__body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  min-height: clamp(420px, 54vh, 620px);
  padding: clamp(22px, 3vw, 40px);
}
.ref-hero__top {
  display: grid;
  grid-template-columns: minmax(140px, 0.9fr) minmax(240px, 1.3fr);
  gap: clamp(14px, 2.5vw, 28px);
  align-items: center;
  flex: 1 1 auto;
}
.ref-hero__neons {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.ref-neon {
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.35);
}
.ref-neon--onair {
  color: #ffd0c8;
  border-color: rgba(255, 90, 70, 0.55);
  box-shadow: 0 0 18px rgba(255, 80, 60, 0.35);
  animation: galaxyPulse 2.2s ease-in-out infinite;
}
.ref-neon--onair.is-auto {
  color: #c9f6ff;
  border-color: rgba(124, 236, 255, 0.45);
  box-shadow: none;
  animation: none;
}
.ref-neon--rock {
  font-family: var(--g-font-neon);
  text-transform: none;
  letter-spacing: 0.02em;
  font-weight: 400;
  font-size: 1.35rem;
  color: #ff87d9;
  text-shadow: 0 0 18px rgba(255, 135, 217, 0.7);
  border: none;
  background: transparent;
  padding: 0;
}
.ref-neon--oldies {
  color: var(--g-gold);
  border-color: rgba(255, 201, 107, 0.45);
  text-shadow: 0 0 14px rgba(255, 201, 107, 0.45);
}
.hero-copy-ref { text-align: left; }
.hero-title-neon {
  margin: 0 0 10px;
  font-family: "Pacifico", cursive !important;
  font-weight: 400 !important;
  font-size: clamp(1.8rem, 4.2vw, 3.1rem);
  color: #7cecff !important;
  text-shadow: 0 0 22px rgba(124, 236, 255, 0.65), 0 0 48px rgba(213, 140, 255, 0.25);
  line-height: 1.15;
}
.hero-tagline-lead {
  margin: 0 0 12px;
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: var(--g-muted);
  letter-spacing: 0.04em;
}
.hero-on-air-now {
  margin: 0 0 18px;
  font-size: 1.05rem;
  color: rgba(198, 211, 243, 0.92);
}
.hero-on-air-now__label {
  display: inline-block;
  margin-right: 8px;
  opacity: 0.7;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.hero-on-air-now__name {
  font-family: var(--g-font-display);
  font-weight: 700;
  color: #eef7ff;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.premium-play--hero {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 24px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 221, 160, 0.55) !important;
  background: linear-gradient(135deg, var(--g-orange), var(--g-gold)) !important;
  color: #1a0a00 !important;
  font-weight: 900 !important;
  font-size: 1.05rem !important;
  text-decoration: none !important;
  box-shadow: 0 0 24px rgba(255, 140, 50, 0.4) !important;
}
.listen-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.listen-row__label {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.75;
}
.listen-row__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.listen-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(124, 236, 255, 0.3);
  background: rgba(0, 0, 0, 0.35);
  color: #c6d3f3;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.84rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.listen-chip:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 14px rgba(124, 236, 255, 0.25);
}

.clock-panel-ref {
  margin-top: 18px;
  padding: 16px 18px;
}
.clock-panel-ref__title {
  margin: 0 0 12px;
}
.premium-clock-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.premium-clock-flex .clock-box {
  flex: 1 1 180px;
  padding: 14px 16px;
}
.premium-clock-flex .clock-digits {
  display: block;
  margin-top: 8px;
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 1.85rem;
  color: var(--g-cyan);
  letter-spacing: 0.06em;
  text-shadow: 0 0 16px rgba(124, 236, 255, 0.45);
}
.hero-station-date {
  margin: 12px 0 0;
  opacity: 0.75;
  font-size: 0.92rem;
}

@keyframes galaxyPulse {
  0%, 100% { box-shadow: 0 0 10px rgba(255, 80, 60, 0.2); }
  50% { box-shadow: 0 0 22px rgba(255, 80, 60, 0.5); }
}

/* Schedule strip */
.ref-schedule-strip,
.schedule-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 22px;
}
.show-card {
  padding: 18px 16px;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.show-card:hover { transform: translateY(-2px); }
.show-card--live {
  border-color: rgba(255, 120, 90, 0.5) !important;
  box-shadow: 0 0 24px rgba(255, 100, 70, 0.12) !important;
}
.show-card__eyebrow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.show-card__label {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.75;
}
.show-card__show {
  margin: 0;
  font-family: var(--g-font-display);
  font-size: 1.2rem;
  color: #eef7ff;
}
.show-card__time { margin: 8px 0 0; opacity: 0.8; }
.live-pill--live,
.live-pill--autodj {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
}
.live-pill--live {
  background: rgba(180, 40, 30, 0.35);
  border: 1px solid rgba(255, 100, 90, 0.4);
  color: #ffd0c8;
}
.live-pill--autodj {
  background: rgba(124, 236, 255, 0.12);
  border: 1px solid rgba(124, 236, 255, 0.3);
  color: #c9f6ff;
}
.schedule-strip-foot { text-align: center; margin: 0 0 22px; }

/* Title badges / NP / reveal */
.title-icon-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}
.title-icon-badge__glass {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(124, 236, 255, 0.1);
  border: 1px solid rgba(124, 236, 255, 0.28);
}
.title-icon-badge__text { font-family: var(--g-font-display); }

.np-section { text-align: center; }
.np-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
  text-align: left;
  margin-top: 8px;
}
.np-vinyl {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: radial-gradient(circle at center, #0b0d1e 18%, #1a1238 19%, #111 42%, #000 43%, #222 70%, #111 71%);
  display: grid;
  place-items: center;
  box-shadow: 0 0 0 4px rgba(124, 236, 255, 0.18), 0 12px 28px rgba(0, 0, 0, 0.45);
  animation: galaxySpin 18s linear infinite;
}
.np-vinyl--fallback { animation-duration: 28s; }
.np-art {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(124, 236, 255, 0.35);
}
.np-meta {
  flex: 1 1 220px;
  min-width: 0;
  max-width: min(520px, 100%);
  overflow: hidden;
}
.np-eyebrow {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 6px;
}
.np-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  font-family: var(--g-font-display);
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
  color: #eef7ff;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}
.np-artist {
  display: block;
  margin-top: 6px;
  color: rgba(198, 211, 243, 0.82);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
@keyframes galaxySpin { to { transform: rotate(360deg); } }

.reveal-card,
.show-card {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.reveal-card.is-visible,
.show-card.is-visible {
  opacity: 1;
  transform: none;
}

/* Footer ? Oldies multi-column, offset for sidebar */
body.galaxy-premium .site-footer.premium-footer {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  margin-left: calc(var(--nav-rail) + var(--nav-inset)) !important;
  width: auto !important;
  padding: 22px 0 28px !important;
  background: linear-gradient(0deg, rgba(4, 5, 14, 0.92), rgba(8, 10, 24, 0.78)) !important;
  border-top: 1px solid rgba(124, 236, 255, 0.28) !important;
  box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(12px);
}
.footer-grid {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 22px;
  color: #c6d3f3;
}
.footer-brand-row {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.footer-brand-row img {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid rgba(124, 236, 255, 0.3);
}
.footer-brand-row strong {
  display: block;
  font-family: var(--g-font-neon);
  color: #ff87d9;
  text-shadow: 0 0 12px rgba(255, 135, 217, 0.45);
}
.footer-brand-row span { display: block; font-size: 0.78rem; opacity: 0.75; }
.footer-col h3 {
  margin: 0 0 10px;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--g-cyan);
}
.footer-col--links a,
.footer-col--listen a {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: #c6d3f3;
  text-decoration: none;
  opacity: 0.88;
  margin: 6px 0;
  transition: transform 0.15s ease, color 0.15s ease, text-shadow 0.15s ease;
}
.footer-col--links a:hover,
.footer-col--listen a:hover {
  color: #9dfaf0;
  transform: translateX(3px);
  text-shadow: 0 0 12px rgba(124, 236, 255, 0.4);
}
.footer-partners { display: flex; flex-wrap: wrap; gap: 10px 14px; margin-top: 12px; }
.footer-partners a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #c6d3f3;
  text-decoration: none;
  opacity: 0.85;
}
.footer-copy { margin-top: 12px; font-size: 0.82rem; opacity: 0.8; }

/* Popout */
body.page-player-popout .premium-topbar,
body.page-player-popout .side-nav,
body.page-player-popout #navOverlay,
body.page-player-popout .mobile-nav-toggle,
body.page-player-popout .galaxy-back-top,
body.page-player-popout .galaxy-scroll-progress,
body.page-player-popout .site-footer {
  display: none !important;
}
body.page-player-popout main.content-area,
body.page-player-popout .premium-page-wrap {
  margin: 24px auto !important;
  width: min(960px, calc(100vw - 32px)) !important;
}
body.page-player-popout .premium-popout {
  border: 1px solid rgba(124, 236, 255, 0.4);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), 0 0 40px rgba(124, 236, 255, 0.12);
}
body.page-player-popout .premium-audio-shell {
  border-radius: 16px;
  padding: 12px;
  border: 1px solid rgba(124, 236, 255, 0.22);
  background: rgba(0, 0, 0, 0.28);
}
body.page-player-popout .premium-eq {
  margin-top: 10px;
  justify-content: center;
  display: flex;
  gap: 4px;
}
body.page-player-popout.is-playing .eq-bar {
  animation: galaxyEq 0.9s ease-in-out infinite;
}

/* Admin: keep public image side-nav + floating topbar; admin tools sit in content */
body.page-admin:not(.page-admin-login) .premium-topbar {
  left: calc(var(--nav-rail) + var(--nav-inset) + 16px) !important;
  right: 20px !important;
}
body.page-admin:not(.page-admin-login):has(.side-nav:hover) .premium-topbar,
body.page-admin:not(.page-admin-login):has(.side-nav:focus-within) .premium-topbar {
  left: calc(var(--nav-w) + var(--nav-inset) + 16px) !important;
}
body.page-admin:not(.page-admin-login) .premium-page-wrap,
body.page-admin:not(.page-admin-login) main.content-area,
body.page-admin:not(.page-admin-login) main.admin-content-area {
  width: min(1480px, calc(100vw - var(--nav-rail) - var(--nav-inset) - 48px)) !important;
  max-width: 1480px !important;
  margin: 104px 24px 28px
    calc(var(--nav-rail) + var(--nav-inset) + max(0px, (100vw - var(--nav-rail) - var(--nav-inset) - 24px - min(1480px, calc(100vw - var(--nav-rail) - var(--nav-inset) - 48px))) / 2)) !important;
}
body.page-admin:not(.page-admin-login) .site-footer.premium-footer {
  margin-left: calc(var(--nav-rail) + var(--nav-inset)) !important;
}
body.page-admin .premium-nav { display: none !important; }
body.page-admin.page-admin-login .premium-nav { display: flex !important; }
body.page-admin .admin-login-card {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  padding: 28px 24px 32px !important;
}

@media (max-width: 1280px) {
  .mobile-nav-toggle { display: inline-flex; align-items: center; gap: 8px; }
  body.galaxy-premium .premium-topbar {
    left: 12px !important;
    right: 12px !important;
    top: 58px !important;
    height: auto !important;
    min-height: 64px !important;
    flex-wrap: wrap !important;
    padding: 10px 14px !important;
  }
  body.galaxy-premium .premium-nav { display: none !important; }
  body.galaxy-premium .premium-brand small { display: none !important; }
  body.galaxy-premium .premium-page-wrap,
  body.galaxy-premium main.content-area,
  body.galaxy-premium:has(.side-nav:hover) main.content-area,
  body.galaxy-premium:has(.side-nav:focus-within) main.content-area,
  body.galaxy-premium:has(.side-nav:hover) .premium-page-wrap,
  body.galaxy-premium:has(.side-nav:focus-within) .premium-page-wrap {
    width: calc(100vw - 24px) !important;
    max-width: none !important;
    margin: 150px 12px 24px !important;
  }
  body.galaxy-premium .side-nav,
  body.galaxy-premium .side-nav:hover,
  body.galaxy-premium .side-nav:focus-within {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(86vw, 320px) !important;
    border-radius: 0 18px 18px 0 !important;
    transform: translateX(-105%) !important;
    transition: transform 0.2s ease !important;
    z-index: 9998 !important;
    pointer-events: none;
  }
  body.galaxy-premium .side-nav span {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
  body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-meta,
  body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-wave,
  body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-play {
    display: initial !important;
  }
  body.galaxy-premium .side-nav:not(:hover):not(:focus-within) .sidebar-mini-player {
    grid-template-columns: 36px 1fr auto;
    justify-items: stretch;
  }
  body.nav-open .side-nav,
  body.nav-open .side-nav:hover,
  body.nav-open .side-nav:focus-within {
    transform: translateX(0) !important;
    pointer-events: auto;
  }
  body.nav-open .nav-overlay { display: block !important; }
  body.galaxy-premium .site-footer.premium-footer,
  body.galaxy-premium:has(.side-nav:hover) .site-footer.premium-footer,
  body.galaxy-premium:has(.side-nav:focus-within) .site-footer.premium-footer {
    margin-left: 0 !important;
  }
  body.galaxy-premium:has(.side-nav:hover) .premium-topbar,
  body.galaxy-premium:has(.side-nav:focus-within) .premium-topbar {
    left: 12px !important;
  }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .ref-hero__top { grid-template-columns: 1fr; }
  .ref-schedule-strip,
  .schedule-strip { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  body.galaxy-premium .side-nav {
    width: var(--nav-w) !important;
    transition: none !important;
  }
  body.galaxy-premium .side-nav span {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
  body.galaxy-premium .premium-topbar {
    left: calc(var(--nav-w) + var(--nav-inset) + 16px) !important;
  }
  body.galaxy-premium main.content-area,
  body.galaxy-premium .premium-page-wrap {
    width: min(1280px, calc(100vw - var(--nav-w) - var(--nav-inset) - 48px)) !important;
    margin-left: calc(var(--nav-w) + var(--nav-inset) + 24px) !important;
  }
  body.galaxy-premium .site-footer.premium-footer {
    margin-left: calc(var(--nav-w) + var(--nav-inset)) !important;
  }
}
@media (max-width: 1280px) and (prefers-reduced-motion: reduce) {
  body.galaxy-premium .side-nav {
    width: min(86vw, 320px) !important;
    transform: translateX(-105%) !important;
  }
  body.nav-open .side-nav {
    transform: translateX(0) !important;
  }
  body.galaxy-premium .premium-topbar {
    left: 12px !important;
  }
  body.galaxy-premium main.content-area,
  body.galaxy-premium .premium-page-wrap {
    width: calc(100vw - 24px) !important;
    margin: 150px 12px 24px !important;
  }
  body.galaxy-premium .site-footer.premium-footer {
    margin-left: 0 !important;
  }
}
@media (max-width: 700px) {
  .footer-grid { grid-template-columns: 1fr; }
  .np-card { text-align: center; }
  .np-meta { text-align: center; }
  body.galaxy-premium .premium-brand strong { font-size: 0.95rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-card,
  .show-card { opacity: 1; transform: none; transition: none; }
  .np-vinyl,
  .sidebar-mini-wave span,
  .ref-neon--onair { animation: none !important; }
}

/* ==========================================================================
   Premium polish pass - 2026-08-15 (premiumall1)
   Appended styles; do not remove earlier rules.
   ========================================================================== */

/* --- Stronger Now Playing card --- */
body.galaxy-premium .np-card {
  position: relative;
  gap: 26px;
  padding: 18px 22px;
  border-radius: 22px;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  background:
    radial-gradient(circle at 12% 20%, rgba(124, 236, 255, 0.14), transparent 42%),
    radial-gradient(circle at 88% 80%, rgba(255, 135, 217, 0.1), transparent 48%),
    rgba(4, 8, 20, 0.52);
  border: 1px solid rgba(124, 236, 255, 0.28);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(255, 255, 255, 0.03) inset,
    0 0 36px rgba(124, 236, 255, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.galaxy-premium .np-meta {
  flex: 1 1 0%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
body.galaxy-premium .np-title,
body.galaxy-premium .np-artist {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
  max-width: 100% !important;
}
body.galaxy-premium .np-title {
  text-shadow: 0 0 18px rgba(124, 236, 255, 0.22);
  overflow: hidden;
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}
body.galaxy-premium .np-card.np-card--live {
  border-color: rgba(255, 120, 110, 0.45);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.42),
    0 0 40px rgba(255, 90, 80, 0.14),
    0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}
body.galaxy-premium .np-vinyl {
  animation: none;
  width: 140px;
  height: 140px;
  box-shadow:
    0 0 0 5px rgba(124, 236, 255, 0.22),
    0 14px 32px rgba(0, 0, 0, 0.5),
    0 0 28px rgba(124, 236, 255, 0.12);
}
body.galaxy-premium .np-vinyl.np-vinyl--spin,
body.is-playing .np-vinyl,
body.galaxy-premium .np-card.is-playing .np-vinyl,
body.page-player-popout.is-playing .np-vinyl {
  animation: galaxyVinylSpin 16s linear infinite;
}
body.galaxy-premium .np-vinyl.np-vinyl--spin.np-vinyl--fallback,
body.is-playing .np-vinyl.np-vinyl--fallback {
  animation-duration: 24s;
}
body.galaxy-premium .np-art {
  width: 84px;
  height: 84px;
  border-color: rgba(124, 236, 255, 0.45);
  box-shadow: 0 0 18px rgba(124, 236, 255, 0.2);
}
body.galaxy-premium .np-eyebrow {
  letter-spacing: 0.16em;
  color: var(--g-cyan);
  opacity: 0.9;
}
body.galaxy-premium .np-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
body.galaxy-premium .np-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c9d8f5;
  background: rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(124, 236, 255, 0.28);
}
body.galaxy-premium .np-chip--live {
  color: #ffe0da;
  border-color: rgba(255, 120, 100, 0.55);
  background: rgba(160, 36, 28, 0.38);
  box-shadow: 0 0 16px rgba(255, 80, 70, 0.25);
  animation: galaxyLivePulse 1.8s ease-in-out infinite;
}
body.galaxy-premium .np-chip--auto {
  color: #dff8ff;
  border-color: rgba(124, 236, 255, 0.55);
  background: rgba(20, 70, 110, 0.45);
  box-shadow: 0 0 14px rgba(124, 236, 255, 0.18);
}
body.galaxy-premium .np-card.np-card--auto {
  border-color: rgba(124, 236, 255, 0.42);
}
@keyframes galaxyVinylSpin {
  to { transform: rotate(360deg); }
}
@keyframes galaxyLivePulse {
  0%, 100% { box-shadow: 0 0 10px rgba(255, 80, 70, 0.18); }
  50% { box-shadow: 0 0 22px rgba(255, 90, 80, 0.42); }
}

/* --- Hero cleanup: quieter first viewport --- */
body.galaxy-premium .premium-hero-card .listen-row--neon,
body.galaxy-premium .ref-hero .listen-row--neon,
body.galaxy-premium .hero-copy .listen-row--neon {
  display: none !important;
}

/* --- Schedule page --- */
body.page-schedule .schedule-day-card {
  padding: 0;
  overflow: hidden;
}
body.page-schedule .schedule-day-head {
  position: sticky;
  top: 88px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 14px 18px;
  background: linear-gradient(180deg, rgba(8, 12, 28, 0.94), rgba(6, 10, 22, 0.88));
  border-bottom: 1px solid rgba(124, 236, 255, 0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.page-schedule .schedule-day-card.today .schedule-day-head {
  border-bottom-color: rgba(255, 201, 107, 0.4);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}
body.page-schedule .schedule-split {
  padding: 12px 14px 16px;
  gap: 12px;
}
body.page-schedule .slot-row {
  margin: 6px 0;
}
body.page-schedule .slot-pill {
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(124, 236, 255, 0.16);
  backdrop-filter: blur(8px);
}
body.page-schedule .slot-row.current-hour,
body.page-schedule .slot-row.live-now {
  position: relative;
}
body.page-schedule .slot-row.current-hour .slot-pill,
body.page-schedule .slot-row.live-now .slot-pill {
  border-color: rgba(255, 140, 50, 0.55);
  background: linear-gradient(135deg, rgba(255, 140, 50, 0.18), rgba(124, 236, 255, 0.1));
  box-shadow: 0 0 22px rgba(255, 140, 50, 0.18);
}
body.page-schedule .slot-row.current-hour .slot-time,
body.page-schedule .slot-row.live-now .slot-time {
  color: var(--g-gold);
  font-weight: 800;
}
body.page-schedule .jump-today,
a.jump-today {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 8px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a1000;
  background: linear-gradient(135deg, var(--g-gold), var(--g-orange));
  border: 1px solid rgba(255, 221, 160, 0.45);
  box-shadow: 0 8px 20px rgba(255, 140, 50, 0.25);
}
body.page-schedule .jump-today:hover,
a.jump-today:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

/* --- DJ / Friend / Fan cards --- */
body.galaxy-premium .dj-card,
body.galaxy-premium .friend-card,
body.galaxy-premium .fan-card {
  position: relative;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
body.galaxy-premium .dj-card:hover,
body.galaxy-premium .friend-card:hover,
body.galaxy-premium .fan-card:hover {
  transform: translateY(-6px);
  border-color: rgba(124, 236, 255, 0.42);
  box-shadow:
    0 22px 40px rgba(0, 0, 0, 0.38),
    0 0 28px rgba(124, 236, 255, 0.16);
}
body.galaxy-premium .dj-card .dj-image {
  width: min(100%, 320px);
  height: auto;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  border: 1px solid rgba(124, 236, 255, 0.28);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}
body.galaxy-premium .dj-card .dj-image img,
body.galaxy-premium .friend-card img,
body.galaxy-premium .fan-card img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  border-radius: inherit;
  border: 0;
  box-shadow: none;
}
body.galaxy-premium .friend-card img,
body.galaxy-premium .fan-card img {
  width: min(100%, 220px);
  height: 220px;
  border-radius: 18px;
  border: 1px solid rgba(124, 236, 255, 0.28);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}
body.galaxy-premium .dj-badge-live,
body.galaxy-premium .dj-badge-next {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.galaxy-premium .dj-badge-live {
  color: #ffe8e4;
  background: rgba(170, 40, 32, 0.72);
  border: 1px solid rgba(255, 120, 100, 0.55);
  animation: galaxyLivePulse 1.8s ease-in-out infinite;
}
body.galaxy-premium .dj-badge-next {
  color: #102018;
  background: linear-gradient(135deg, #9dfaf0, #7cecff);
  border: 1px solid rgba(180, 255, 250, 0.5);
}

/* --- Forms --- */
body.galaxy-premium .request-input {
  border-radius: 12px;
  border: 1px solid rgba(124, 236, 255, 0.28);
  background: rgba(0, 0, 0, 0.34);
  color: var(--g-text);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
body.galaxy-premium .request-input:focus {
  outline: none;
  border-color: rgba(124, 236, 255, 0.65);
  background: rgba(4, 10, 24, 0.55);
  box-shadow: 0 0 0 3px rgba(124, 236, 255, 0.16), 0 0 22px rgba(124, 236, 255, 0.12);
}
body.galaxy-premium .form-success {
  margin: 14px 0;
  padding: 16px 18px;
  border-radius: 16px;
  text-align: center;
  color: #dfffee;
  background: linear-gradient(135deg, rgba(40, 120, 90, 0.35), rgba(8, 24, 20, 0.55));
  border: 1px solid rgba(120, 255, 200, 0.35);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28), 0 0 24px rgba(80, 220, 160, 0.12);
}

/* --- Popout player --- */
body.page-player-popout .premium-popout {
  position: relative;
  overflow: hidden;
  padding: 28px 24px;
  border-radius: 24px;
  border: 1px solid rgba(124, 236, 255, 0.42);
  background:
    radial-gradient(circle at 15% 10%, rgba(124, 236, 255, 0.16), transparent 40%),
    radial-gradient(circle at 90% 85%, rgba(213, 140, 255, 0.12), transparent 45%),
    rgba(4, 8, 20, 0.55);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.5),
    0 0 50px rgba(124, 236, 255, 0.14);
}
body.page-player-popout .premium-audio-shell {
  margin-top: 8px;
  border-radius: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(124, 236, 255, 0.3);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.42), rgba(8, 12, 28, 0.35));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03), 0 12px 28px rgba(0, 0, 0, 0.28);
}
body.page-player-popout .premium-audio-shell audio {
  width: 100%;
  filter: saturate(1.05);
}

/* --- Footer polish --- */
body.galaxy-premium .site-footer.premium-footer .footer-col--links a,
body.galaxy-premium .site-footer.premium-footer .footer-col--listen a {
  opacity: 0.72;
  font-size: 0.92rem;
}
body.galaxy-premium .site-footer.premium-footer .footer-col--links a:hover,
body.galaxy-premium .site-footer.premium-footer .footer-col--listen a:hover {
  opacity: 1;
}
body.galaxy-premium .site-footer.premium-footer .footer-brand-row {
  gap: 14px;
  margin-bottom: 14px;
}
body.galaxy-premium .site-footer.premium-footer .footer-brand-row img {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  box-shadow: 0 0 22px rgba(124, 236, 255, 0.22);
}
body.galaxy-premium .site-footer.premium-footer .footer-brand-row strong {
  font-size: 1.25rem;
  text-shadow: 0 0 16px rgba(255, 135, 217, 0.55);
}

/* --- Empty states --- */
body.galaxy-premium .empty-state {
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 140px;
  margin: 12px 0;
  padding: 28px 22px;
  border-radius: 18px;
  color: var(--g-muted);
  background: rgba(0, 0, 0, 0.28);
  border: 1px dashed rgba(124, 236, 255, 0.22);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* --- Motion: topbar entrance + ON AIR pulse --- */
@keyframes galaxyTopbarIn {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
body.galaxy-premium .premium-topbar {
  animation: galaxyTopbarIn 0.55s ease both;
}
body.galaxy-premium .ref-neon--onair:not(.is-auto),
body.galaxy-premium .onair-pill--live {
  animation: galaxyOnAirPulse 2s ease-in-out infinite;
}
@keyframes galaxyOnAirPulse {
  0%, 100% {
    filter: brightness(1);
    text-shadow: 0 0 10px rgba(255, 90, 80, 0.35);
  }
  50% {
    filter: brightness(1.12);
    text-shadow: 0 0 22px rgba(255, 100, 90, 0.65);
  }
}

/* --- Admin duplicate chrome --- */
body.page-admin .admin-main > h1.admin-page-heading {
  display: none;
}
body.page-admin .admin-return,
body.page-admin a.btn.btn-accent[href="/admin/index.php"],
body.page-admin a.btn.btn-accent[href="/admin/"],
body.page-admin a.btn.btn-accent[href$="/admin/index.php"] {
  display: none !important;
}

/* Content card images lean on HTML loading attrs; keep soft treatment */
body.galaxy-premium .content-card img {
  max-width: 100%;
}

/* Forms + a11y focus */
body.galaxy-premium .form-success h2 {
  color: #b8ffc4;
  margin-top: 0;
}
body.galaxy-premium .request-input:focus,
body.galaxy-premium .request-textarea:focus,
body.galaxy-premium .input-field:focus,
body.galaxy-premium a:focus-visible,
body.galaxy-premium button:focus-visible,
body.page-admin .input-field:focus,
body.page-admin a:focus-visible,
body.page-admin button:focus-visible {
  outline: 2px solid rgba(124, 236, 255, 0.85);
  outline-offset: 2px;
}

/* Popout mini-app */
body.page-player-popout .premium-popout {
  max-width: 1100px;
  margin: 0 auto;
}
body.page-player-popout .player-audio-shell {
  margin-top: 12px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(124, 236, 255, 0.22);
}
body.page-player-popout .premium-eq .eq-bar {
  animation: galaxyEq 0.9s ease-in-out infinite alternate;
}
body.page-player-popout:not(.is-playing) .premium-eq .eq-bar {
  animation: none;
  opacity: 0.35;
}
@keyframes galaxyEq {
  from { transform: scaleY(0.35); }
  to { transform: scaleY(1); }
}
body.page-player-popout .premium-eq .eq-bar:nth-child(2) { animation-delay: 0.1s; }
body.page-player-popout .premium-eq .eq-bar:nth-child(3) { animation-delay: 0.2s; }
body.page-player-popout .premium-eq .eq-bar:nth-child(4) { animation-delay: 0.05s; }
body.page-player-popout .premium-eq .eq-bar:nth-child(5) { animation-delay: 0.25s; }
body.page-player-popout .premium-eq .eq-bar:nth-child(6) { animation-delay: 0.15s; }
body.page-player-popout .premium-eq .eq-bar:nth-child(7) { animation-delay: 0.3s; }
body.page-player-popout .premium-eq .eq-bar:nth-child(8) { animation-delay: 0.08s; }

/* Home listen partners (below hero) */
body.galaxy-premium .listen-partners {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  justify-content: center;
  margin: 8px 0 18px;
}

@media (prefers-reduced-motion: reduce) {
  body.galaxy-premium .np-vinyl,
  body.galaxy-premium .np-vinyl.np-vinyl--spin,
  body.is-playing .np-vinyl,
  body.page-player-popout.is-playing .np-vinyl,
  body.galaxy-premium .np-chip--live,
  body.galaxy-premium .dj-badge-live,
  body.galaxy-premium .ref-neon--onair,
  body.galaxy-premium .onair-pill--live,
  body.galaxy-premium .premium-topbar,
  body.page-player-popout .premium-eq .eq-bar {
    animation: none !important;
  }
  body.galaxy-premium .dj-card:hover,
  body.galaxy-premium .friend-card:hover,
  body.galaxy-premium .fan-card:hover {
    transform: none;
  }
}
