/* Estilos isolados para VSL3 (não afetam player_style.css existente) */
.vsl3-youtube-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 16:9 */
  background: #000;
  overflow: hidden;
  /* cores personalizáveis via CSS variables */
  --vsl3-primary: #1e73be;
  --vsl3-contrast: #ffffff;
}
.vsl3-youtube-container.vsl3-use-height {
  height: var(--vsl3-height, 60vh);
  padding-bottom: 0;
}
.vsl3-video-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.vsl3-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none; /* Só aparece como fallback caso o iframe demore */
}
.vsl3-sound-overlay {
  position: absolute;
  inset: 0;
  display: none; /* ativado quando autoplay mudo estiver rodando */
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.35);
  z-index: 2;
}
.vsl3-sound-box {
  background: var(--vsl3-primary);
  color: var(--vsl3-contrast);
  padding: 18px 22px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
  animation: vsl3-pulse 1.8s ease-in-out infinite;
  backdrop-filter: saturate(1.2);
  max-width: 420px;
}
.vsl3-sound-box p {
  margin: 0 0 10px 0;
  font-weight: 700;
  font-size: 18px;
}
.vsl3-sound-box button {
  background: var(--vsl3-contrast);
  color: var(--vsl3-primary);
  border: none;
  border-radius: 6px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 700;
  font-size: 15px;
}
.vsl3-sound-box button:hover { opacity: .9; }

/* Equalizador animado (3 barras) */
.vsl3-eq {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 6px;
  height: 20px;
  margin: 4px 0 12px 0;
}
.vsl3-eq span {
  width: 4px;
  border-radius: 2px;
  background: var(--vsl3-contrast);
  animation: vsl3-eq 1.2s ease-in-out infinite;
}
.vsl3-eq span:nth-child(1) { height: 8px; animation-delay: 0s; }
.vsl3-eq span:nth-child(2) { height: 14px; animation-delay: 0.2s; }
.vsl3-eq span:nth-child(3) { height: 10px; animation-delay: 0.4s; }

@keyframes vsl3-eq {
  0%, 100% { transform: scaleY(0.8); opacity: 0.75; }
  50% { transform: scaleY(1.4); opacity: 1; }
}

@keyframes vsl3-pulse {
  0% { transform: scale(1); box-shadow: 0 6px 20px rgba(0,0,0,0.35); }
  50% { transform: scale(1.03); box-shadow: 0 10px 26px rgba(0,0,0,0.45); }
  100% { transform: scale(1); box-shadow: 0 6px 20px rgba(0,0,0,0.35); }
}

@media (max-width: 768px) {
  .vsl3-sound-box { padding: 14px 16px; }
  .vsl3-sound-box button { padding: 8px 12px; }
}