/* ============================================================
   ANIMACIONES
   ============================================================ */

/* Popover de locutor en Schedule */
.sched-pop-enter-active { transition: opacity .15s ease, transform .15s ease; }
.sched-pop-leave-active { transition: opacity .1s ease, transform .1s ease; }
.sched-pop-enter-from   { opacity: 0; transform: translateY(-6px) scale(.97); }
.sched-pop-leave-to     { opacity: 0; transform: translateY(-4px) scale(.97); }
@keyframes equalize {
  0%   { height: 3px; }
  20%  { height: 14px; }
  40%  { height: 7px; }
  60%  { height: 18px; }
  80%  { height: 10px; }
  100% { height: 3px; }
}

@keyframes ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

.equalizer-bar {
  display: inline-block;
  width: 3px;
  height: 4px;
  border-radius: 2px;
  background-color: currentColor;
  animation: equalize 1.2s ease-in-out infinite;
}

.animate-fade-up {
  animation: fadeUp 0.7s ease both;
}

.animate-fade-up-delay {
  animation: fadeUp 0.7s ease 0.15s both;
}

.animate-fade-up-delay2 {
  animation: fadeUp 0.7s ease 0.3s both;
}

/* ============================================================
   PARALLAX HERO
   ============================================================ */
.parallax-hero {
  background-image: url('../assets/img/landing.png');
  background-attachment: fixed;
  background-size: cover;
  background-position: center top;
  min-height: 80vh;
}

/* Fallback en mobile (fixed no funciona bien en iOS) */
@media (max-width: 768px) {
  .parallax-hero {
    background-attachment: scroll;
    min-height: 70vh;
  }
}

/* ============================================================
   TICKER / NOW PLAYING BAR
   ============================================================ */
.ticker-track {
  display: flex;
  white-space: nowrap;
  animation: ticker 20s linear infinite;
}

/* ============================================================
   SCROLLBAR
   ============================================================ */
.scrollbar-none::-webkit-scrollbar { display: none; }
.scrollbar-none { -ms-overflow-style: none; scrollbar-width: none; }

/* ============================================================
   SLIDER DE VOLUMEN
   ============================================================ */
input[type='range'] {
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  border-radius: 9999px;
  outline: none;
}

input[type='range']::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #f97316;
  cursor: pointer;
  box-shadow: 0 0 6px rgba(249, 115, 22, 0.7);
  transition: transform 0.15s;
}

input[type='range']::-webkit-slider-thumb:hover,
input[type='range']::-webkit-slider-thumb:active {
  transform: scale(1.25);
}

/* Aumentar área de toque del slider en móvil */
@media (max-width: 640px) {
  input[type='range'] {
    height: 6px;
  }
  input[type='range']::-webkit-slider-thumb {
    width: 22px;
    height: 22px;
  }
}

/* ============================================================
   CARD GLASS
   ============================================================ */
.glass-card {
  background: rgba(15, 15, 20, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* ============================================================
   TRANSICIÓN MINI-PLAYER (Vue <transition name="slide-up">)
   ============================================================ */
.slide-up-enter-active,
.slide-up-leave-active {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.slide-up-enter-from,
.slide-up-leave-to {
  opacity: 0;
  transform: translateY(14px);
}

/* ============================================================
   ABOUT / HISTORIA — HTML renderizado desde Quill
   ============================================================ */
.about-content {
  color: #d1d5db;
  line-height: 1.8;
  font-size: 0.95rem;
}
.about-content h2 {
  font-size: 1.4rem;
  font-weight: 800;
  color: #ffffff;
  margin-top: 1.75rem;
  margin-bottom: 0.6rem;
}
.about-content h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  margin-top: 1.25rem;
  margin-bottom: 0.4rem;
}
.about-content p           { margin-bottom: 1rem; }
.about-content strong      { color: #ffffff; }
.about-content em          { color: #fdba74; }
.about-content a           { color: #f97316; text-decoration: underline; }
.about-content a:hover     { color: #fb923c; }
.about-content ul,
.about-content ol          { padding-left: 1.5rem; margin-bottom: 1rem; }
.about-content ul          { list-style-type: disc; }
.about-content ol          { list-style-type: decimal; }
.about-content li          { margin-bottom: 0.3rem; }
