.yubia-programacion{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;box-sizing:border-box}
.yubia-programacion *{box-sizing:border-box}
@property --yubia-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.yubia-schedule-card{width:100%;padding:16px;color:#fff;border:1px solid transparent;border-radius:12px;background:linear-gradient(#161920,#161920) padding-box,conic-gradient(from var(--yubia-ang),transparent 0 70%,#e50914 85%,#ff5a5f 100%) border-box;box-shadow:0 8px 24px rgba(0,0,0,.3);animation:yubia-programacion-gira 5s linear infinite}
@keyframes yubia-programacion-gira{to{--yubia-ang:360deg}}
.yubia-schedule-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#9aa0a6;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:8px;font-weight:600}
.yubia-schedule-all{color:#38bdf8!important;text-decoration:none!important;letter-spacing:.5px;text-transform:none;font-size:11px}
.yubia-schedule-all:hover{text-decoration:underline!important}
.yubia-schedule-item{padding:12px;border-radius:8px;margin-bottom:10px}
.yubia-schedule-item:last-child{margin-bottom:0}
.yubia-schedule-item.is-current{background:rgba(229,9,20,.08);border-left:3px solid #e50914}
.yubia-schedule-item.is-next{background:rgba(255,255,255,.02);border-left:3px solid #5f6368}
.yubia-schedule-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.yubia-live-badge{font-size:10px;font-weight:700;color:#e50914;display:flex;align-items:center;gap:6px;letter-spacing:.5px}
.yubia-pulse-dot{width:6px;height:6px;background:#e50914;border-radius:50%;display:inline-block;box-shadow:0 0 8px #e50914;animation:yubia-programacion-pulse 1.4s ease-in-out infinite}
@keyframes yubia-programacion-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.yubia-next-badge{font-size:10px;font-weight:700;color:#9aa0a6;text-transform:uppercase;letter-spacing:.5px}
.yubia-schedule-time{font-size:11px;color:#9aa0a6;font-weight:500}
.yubia-schedule-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}
.yubia-schedule-item.is-next .yubia-schedule-title{color:#e8eaed;font-size:13px}
.yubia-schedule-host{font-size:11px;color:#9aa0a6}
.yubia-schedule-progress{height:3px;background:rgba(255,255,255,.12);border-radius:2px;margin-top:10px;overflow:hidden}
.yubia-schedule-progress-bar{height:100%;width:0;background:#e50914;transition:width .6s ease}
.yubia-schedule-remaining{font-size:10px;color:#9aa0a6;margin-top:4px;text-align:right}
.yubia-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px;margin-left:4px}
.yubia-eq i{width:2px;background:#e50914;border-radius:1px;animation:yubia-programacion-eq 1s ease-in-out infinite}
.yubia-eq i:nth-child(2){animation-delay:.2s}.yubia-eq i:nth-child(3){animation-delay:.4s}.yubia-eq i:nth-child(4){animation-delay:.6s}
@keyframes yubia-programacion-eq{0%,100%{height:3px}50%{height:12px}}

.yubia-dj-live-card{display:flex!important;align-items:center!important;background:#ffffff08!important;border:1px solid #ffffff14!important;border-radius:12px!important;padding:20px!important;width:100%!important;color:#fff}
.yubia-dj-avatar-wrap{flex:0 0 auto;margin-right:20px}
.yubia-current-dj-avatar,.yubia-current-dj-placeholder{width:80px!important;height:80px!important;border-radius:50%!important;border:2px solid #38bdf8!important;display:block}
.yubia-current-dj-avatar{object-fit:cover!important}
.yubia-current-dj-avatar[hidden],.yubia-current-dj-placeholder[hidden]{display:none!important}
.yubia-current-dj-placeholder{background:linear-gradient(135deg,#071b45,#123f98);color:#38bdf8;align-items:center;justify-content:center;font-size:30px;font-weight:800}
.yubia-current-dj-placeholder:not([hidden]){display:flex!important}
.yubia-dj-copy{display:block!important;width:100%!important;min-width:0}
.yubia-current-show-title{color:#38bdf8!important;font-size:18px!important;font-weight:700!important;line-height:24px!important;text-transform:uppercase!important;margin:0 0 4px!important}
.yubia-current-dj-name{color:#fff!important;font-size:26px!important;font-weight:800!important;line-height:32px!important;margin:0 0 4px!important}
.yubia-current-show-time{color:#94a3b8!important;font-size:15px!important;font-weight:500!important;line-height:20px!important;margin:0!important}

@media(max-width:600px){
 .yubia-schedule-header{gap:10px;align-items:flex-start}
 .yubia-dj-live-card{padding:16px!important}
 .yubia-dj-avatar-wrap{margin-right:14px}
 .yubia-current-dj-avatar,.yubia-current-dj-placeholder{width:64px!important;height:64px!important}
 .yubia-current-show-title{font-size:14px!important;line-height:19px!important}
 .yubia-current-dj-name{font-size:20px!important;line-height:25px!important}
 .yubia-current-show-time{font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){
 .yubia-schedule-card,.yubia-pulse-dot,.yubia-eq i{animation:none}
 .yubia-eq i{height:8px}
}


/* v1.1.1 · misma altura visual que Live Player y sin recortes en 1080p */
@media (min-width: 1025px) {
  .yubia-schedule-card {
    height: 100% !important;
    min-height: 318px !important;
    overflow: visible !important;
  }
}
@media (min-width: 1025px) and (max-width: 1500px) {
  .yubia-schedule-card {
    min-height: 300px !important;
    padding: 14px !important;
  }
  .yubia-schedule-item { padding: 10px !important; margin-bottom: 8px !important; }
  .yubia-schedule-header { margin-bottom: 9px !important; padding-bottom: 7px !important; }
  .yubia-schedule-progress { margin-top: 7px !important; }
}


/* =========================================================
   v1.1.3 · Rediseño visual Directo
   Solo presentación. Misma referencia de altura que
   YubiaFM Live Player v1.1.19.
========================================================= */
.yubia-schedule-card{
  position:relative;
  padding:18px;
  color:#f8fafc;
  border:1px solid rgba(56,189,248,.22);
  border-radius:14px;
  background:
    radial-gradient(circle at 88% 8%,rgba(37,99,235,.13),transparent 34%),
    linear-gradient(145deg,#07152f 0%,#081a39 58%,#0a2045 100%);
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);
  animation:none;
  overflow:hidden;
}
.yubia-schedule-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(180deg,transparent,#38bdf8 28%,#2563eb 72%,transparent);
  opacity:.7;
  pointer-events:none;
}
.yubia-schedule-header{
  min-height:38px;
  margin:0 0 16px;
  padding:0 2px 12px;
  color:#7f9fc6;
  border-bottom:1px solid rgba(125,211,252,.12);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.6px;
}
.yubia-schedule-all{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border:1px solid rgba(56,189,248,.14);
  border-radius:999px;
  background:rgba(14,165,233,.055);
  color:#38bdf8!important;
  font-size:10px;
  font-weight:700;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.yubia-schedule-all:hover{
  text-decoration:none!important;
  border-color:rgba(56,189,248,.35);
  background:rgba(14,165,233,.10);
  transform:translateY(-1px);
}
.yubia-schedule-item{
  position:relative;
  padding:18px 18px 16px;
  margin:0;
  border:1px solid rgba(148,163,184,.09);
  border-radius:12px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.yubia-schedule-item.is-current{
  background:linear-gradient(135deg,rgba(127,29,29,.16),rgba(15,23,42,.32));
  border:1px solid rgba(239,68,68,.18);
  border-left:3px solid #ef3340;
}
.yubia-schedule-item.is-next{
  margin-top:14px;
  background:linear-gradient(135deg,rgba(15,40,77,.72),rgba(7,22,48,.72));
  border:1px solid rgba(56,189,248,.10);
  border-left:3px solid rgba(56,189,248,.55);
}
.yubia-schedule-meta{margin-bottom:10px;gap:12px}
.yubia-live-badge{
  color:#ff4050;
  font-size:10px;
  font-weight:800;
  letter-spacing:.75px;
}
.yubia-pulse-dot{background:#ff3347;box-shadow:0 0 10px rgba(255,51,71,.8)}
.yubia-next-badge{color:#63c7f5;font-size:10px;font-weight:800;letter-spacing:.75px}
.yubia-schedule-time{color:#7f9fc6;font-size:10px;font-weight:600}
.yubia-schedule-title{
  margin-bottom:5px;
  color:#fff;
  font-size:15px;
  line-height:1.35;
  font-weight:750;
}
.yubia-schedule-item.is-next .yubia-schedule-title{color:#f1f5f9;font-size:14px}
.yubia-schedule-host{color:#8ba6c7;font-size:11px}
.yubia-schedule-progress{
  height:3px;
  margin-top:15px;
  background:rgba(255,255,255,.09);
}
.yubia-schedule-progress-bar{background:linear-gradient(90deg,#ef3340,#fb7185)}
.yubia-schedule-remaining{margin-top:7px;color:#7f9fc6;font-size:10px}
.yubia-eq i{background:#ff3347}

@media (min-width:1025px){
  .yubia-schedule-card{
    height:444px!important;
    min-height:444px!important;
    display:flex;
    flex-direction:column;
    overflow:hidden!important;
  }
  .yubia-schedule-header{flex:0 0 auto}
  .yubia-schedule-item.is-current,
  .yubia-schedule-item.is-next{
    flex:1 1 0;
    min-height:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .yubia-schedule-progress{margin-top:auto}
}

@media (min-width:1025px) and (max-width:1500px){
  .yubia-schedule-card{
    height:444px!important;
    min-height:444px!important;
    padding:16px!important;
  }
  .yubia-schedule-item{padding:15px 16px!important;margin-bottom:0!important}
  .yubia-schedule-item.is-next{margin-top:12px!important}
  .yubia-schedule-header{margin-bottom:12px!important;padding-bottom:10px!important}
  .yubia-schedule-progress{margin-top:auto!important}
}

@media(max-width:1024px){
  .yubia-schedule-card{height:auto;min-height:0;padding:16px}
}


/* =========================================================
   v1.1.4 · Pulso luminoso de emisión
   Detalle puramente visual: un destello cyan muy sutil
   recorre el perímetro del módulo. El rojo sigue reservado
   exclusivamente al estado EN EMISIÓN.
========================================================= */
@property --yubia-glow-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
.yubia-schedule-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  padding:1px;
  border-radius:inherit;
  pointer-events:none;
  opacity:.78;
  background:conic-gradient(
    from var(--yubia-glow-angle),
    transparent 0deg 316deg,
    rgba(56,189,248,0) 320deg,
    rgba(56,189,248,.22) 330deg,
    rgba(125,211,252,.95) 342deg,
    rgba(37,99,235,.34) 351deg,
    transparent 360deg
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 4px rgba(56,189,248,.24));
  animation:yubia-programacion-live-glow 7.5s linear infinite;
}
@keyframes yubia-programacion-live-glow{
  to{--yubia-glow-angle:360deg}
}
@media(prefers-reduced-motion:reduce){
  .yubia-schedule-card::after{animation:none;opacity:.35}
}
