#player-flotante {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  height: var(--player-h);
  background: color-mix(in srgb, var(--color-surface-2) 92%, transparent);
  backdrop-filter: blur(14px);
  border-top: 1px solid var(--color-border);
  box-shadow: var(--shadow-md);
  display: none;
}
#player-flotante.is-active { display: flex; }

/* Botón de cerrar: un control más del player, al final de la fila. Sin borde,
   discreto, se ilumina en rojo al pasar el ratón. */
#player-flotante .pf-cerrar {
  border: none;
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: color var(--transition-fast), background var(--transition-fast);
}
#player-flotante .pf-cerrar:hover {
  color: var(--color-danger);
  background: color-mix(in srgb, var(--color-danger) 14%, transparent);
}
#player-flotante .pf-inner {
  display: flex; align-items: center; gap: var(--space-4);
  width: 100%; max-width: var(--container-max);
  margin: 0 auto; padding: 0 var(--space-4);
}
#player-flotante .pf-info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
#player-flotante .pf-titulo { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#player-flotante .pf-artista { color: var(--color-text-muted); font-size: var(--fs-sm); }
#player-flotante .pf-controles { display: flex; align-items: center; gap: var(--space-2); }
#player-flotante .pf-btn {
  min-width: 44px; min-height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent; color: var(--color-text);
  border: 1px solid var(--color-border); border-radius: var(--radius-full);
}
#player-flotante .pf-btn[hidden] { display: none; }

/* Botón Comprar destacado en el player: gradient + texto en desktop, solo icono en móvil */
#player-flotante .pf-comprar {
  background: var(--gradient-brand);
  color: var(--color-on-primary);
  border-color: transparent;
  gap: 6px;
  padding: 0 var(--space-3);
  min-width: auto;
  text-decoration: none;
  font-weight: 600; font-size: var(--fs-sm);
}
#player-flotante .pf-comprar:hover {
  background: var(--gradient-brand-strong);
  box-shadow: var(--shadow-glow);
  color: var(--color-on-primary);
}
@media (max-width: 575.98px) {
  #player-flotante .pf-comprar-label { display: none; }
  #player-flotante .pf-comprar { padding: 0; min-width: 44px; }
}
#player-flotante .pf-progreso {
  flex: 1; height: 4px; background: var(--color-border);
  border-radius: var(--radius-full); overflow: hidden;
}
#player-flotante .pf-progreso .pf-progreso-fill {
  height: 100%; width: 0%; background: var(--gradient-brand);
  transition: width var(--transition-fast);
}
#player-flotante audio { display: none; }

/* Enlace al detalle desde el título del player. */
#player-flotante .pf-titulo-link {
  color: inherit; text-decoration: none;
}
#player-flotante .pf-titulo-link:hover { color: var(--color-primary-hover); }

/* Tiempo actual / total. */
#player-flotante .pf-tiempo {
  color: var(--color-text-muted); font-size: var(--fs-sm);
  font-family: var(--font-mono); min-width: 92px; text-align: right;
}

/* Slider de volumen. */
#player-flotante .pf-volumen {
  width: 80px; accent-color: var(--color-primary); cursor: pointer;
}

/* Mobile: simplificar para no saturar (oculta tiempo y volumen). */
@media (max-width: 575.98px) {
  #player-flotante .pf-tiempo,
  #player-flotante .pf-volumen { display: none; }
  #player-flotante .pf-artista { display: none; }
  #player-flotante .pf-info { flex: 1; min-width: 0; }
}
