:root{
  --bg:#f5f5f7;
  --text:#1d1d1f;
  --sub:#86868b;
  --accent:#0066cc;
}

*{box-sizing:border-box;margin:0;padding:0}

html, body{
  width:100%;
  min-height:100%;
  height:100%;
  overflow-x:hidden;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.page{
  width:100%;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.stage{
  position:relative;
  width:100%;
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background: radial-gradient(circle at 50% 20%, #ffffff 0%, #f5f5f7 70%);
  padding: 65px 12px 15px 12px;
}

.topbar{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  z-index:10;
}

.topbar-left{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

.live-pill{
  display:flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:999px;
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(0,0,0,0.08);
  font-weight:700;font-size:0.7rem;color:#1d1d1f;
  backdrop-filter:blur(20px);
}

.red-dot{
  width:7px;height:7px;border-radius:50%;
  background:#ff3b30;box-shadow:0 0 6px rgba(255,59,48,0.6);
  animation:pulse 1s ease-in-out infinite;
}

.location{
  display:flex;align-items:center;gap:4px;
  padding:5px 10px;border-radius:999px;
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(0,0,0,0.08);
  color:#424245;font-size:0.7rem;font-weight:600;
  backdrop-filter:blur(20px);
}

.clock{
  padding:5px 10px;border-radius:999px;
  border:1px solid rgba(0,0,0,0.08);background:rgba(255,255,255,0.85);
  color:#1d1d1f;font-weight:600;font-size:0.7rem;backdrop-filter:blur(20px);
}

.tv-container{
  width: min(820px, 100%);
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 15px 30px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.05);
  margin-top: 5px;
}

.tv-container #nexo-player{
  width: 100%;
  height: 100%;
}

.song-card{
  margin-top: 10px;
  width: min(500px, 100%);
  display:grid;grid-template-columns:46px 1fr;
  gap:10px;align-items:center;padding:8px 12px;border-radius:12px;
  background:rgba(255,255,255,0.85);border:1px solid rgba(0,0,0,0.06);
  box-shadow:0 8px 20px rgba(0,0,0,0.04);backdrop-filter:blur(20px);
}
.song-card img{width:46px;height:46px;border-radius:8px;object-fit:cover;background:#e5e5ea}

.now-label{color:var(--sub);font-size:0.62rem;font-weight:700;text-transform:uppercase;margin-bottom:1px}
.song-title{font-size:0.88rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.song-artist{color:var(--sub);font-size:0.75rem;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Footer / Reproductor */
.player{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 16px;
  background:rgba(255,255,255,0.95);
  border-top:1px solid rgba(0,0,0,0.08);
  backdrop-filter:blur(25px);
  gap:10px;
  width: 100%;
}

.station{display:flex;align-items:center;gap:10px;min-width:0; flex: 1;}
.station img{width:38px;height:38px;border-radius:8px;object-fit:cover;background:#e5e5ea;flex-shrink:0;}
.station-name{font-weight:700;font-size:0.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.station-sub{color:var(--sub);font-size:0.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.controls{display:flex;align-items:center;justify-content:center;gap:8px; flex-shrink: 0;}
.play{
  width:40px;height:40px;border-radius:50%;border:0;background:#1d1d1f;color:white;
  cursor:pointer;display:grid;place-items:center;transition:.2s;flex-shrink:0;
}
.play:hover{background:#000}

.volume{display:flex;align-items:center;gap:6px;color:var(--sub)}
.volume input{accent-color:#1d1d1f;width:60px;cursor:pointer}

.social{display:flex;align-items:center;justify-content:flex-end;gap:6px; flex-shrink: 0;}
.social a{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  color:#424245;text-decoration:none;font-size:0.9rem;background:rgba(0,0,0,0.06);transition:.2s;
  flex-shrink:0;
}
.social a:hover{background:#1d1d1f;color:#fff}

.install-app{
  width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;
  color:#fff;background:#0066cc;cursor:pointer;transition:.2s;flex-shrink:0;
}
.install-app:hover{background:#004f9e}
.install-app[hidden]{display:none}

@keyframes pulse{50%{opacity:.4;transform:scale(.85)}}

/* --- ADAPTACIÓN ESTRICTA PARA MÓVILES --- */
@media (max-width: 768px) {
  .volume {
    display: none !important; /* Oculta el control deslizante de volumen en celulares para dar espacio a los iconos */
  }
  
  .player {
    padding: 8px 12px;
  }
}