/* Mantiene la transmisión y la programación dentro del mismo contenedor del sitio. */
.streaming-area {
  width: min(1180px, calc(100% - 40px));
  margin: 22px auto 10px;
  padding: 0;
}

@media (max-width: 430px) {
  .streaming-area {
    width: calc(100% - 28px);
  }
}

/* Accesos siempre legibles sobre las tarjetas azul oscuro. */
body .social-link {
  background: #1b3260;
  border-color: #456396;
}

body .social-link.facebook { color: #5ba7ff; }
body .social-link.instagram { color: #ff77ae; }
body .social-link.youtube { color: #ff6262; }

body .social-link:hover,
body .social-link:focus-visible {
  background: #fff;
  border-color: currentColor;
}

body .contact-link {
  background: #203967;
  border-color: #4a68a0;
  box-shadow: inset 0 1px 0 #ffffff14;
}

body .contact-link i { color: #fec217; }
body .contact-link small { color: #cbd8f4; }

body .contact-link.whatsapp-link {
  background: #137c49;
  border-color: #39bc79;
}

body .contact-link.whatsapp-link i { color: #fff; }
body .contact-link.whatsapp-link small { color: #dcffec; }

body .contact-link.whatsapp-link:hover,
body .contact-link.whatsapp-link:focus-visible {
  background: #0d6338;
  border-color: #76e4a9;
  box-shadow: 0 10px 20px #04150c88;
}

body .contact-link.whatsapp-link:hover i,
body .contact-link.whatsapp-link:focus-visible i { color: #fff; }

body .contact-link.whatsapp-link:hover small,
body .contact-link.whatsapp-link:focus-visible small { color: #e6fff0; }

body .contact-link:not(.whatsapp-link):hover,
body .contact-link:not(.whatsapp-link):focus-visible {
  background: #172e57;
  border-color: #7697d6;
  box-shadow: 0 10px 20px #030a1e99;
}

body .contact-link:not(.whatsapp-link):hover i,
body .contact-link:not(.whatsapp-link):focus-visible i { color: #fec217; }

body .contact-link:not(.whatsapp-link):hover small,
body .contact-link:not(.whatsapp-link):focus-visible small { color: #e3ebff; }

/* Resalta el programa que se está emitiendo en este momento. */
.schedule-item.current:after {
  background: #e83f42;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  min-height: 24px;
  margin-top: 3px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 4px 11px #e83f4266;
  animation: currentOnAir 1.8s ease-in-out infinite;
}

@keyframes currentOnAir {
  50% { box-shadow: 0 4px 18px #e83f42aa; }
}
