/* Versão 31: câmera do estúdio durante o Rádio Show (dias úteis, 9h–12h, Brasília) */
.studio-camera-slot{margin-top:10px;padding-top:9px;border-top:1px solid #f2deda;min-width:0}
.music-rail .program-grid .studio-camera-hours{display:block;color:#596177;font-weight:600;font-size:10px;line-height:1.45}
.music-rail .program-grid .studio-camera-slot.is-on-air .studio-camera-hours{color:#bd0022;font-weight:800}
.studio-camera-btn{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;width:100%;border:none;border-radius:10px;background:linear-gradient(120deg,#e00026,#b90021);color:#fff!important;padding:11px 10px;margin-top:9px;cursor:pointer;font-family:inherit;font-size:11px;font-weight:800;line-height:1.35;box-shadow:0 4px 12px rgba(185,0,33,.16);text-align:center}
.music-rail .program-grid .studio-camera-btn span{color:#fff}
.studio-camera-btn[hidden],.studio-modal[hidden]{display:none!important}
.studio-camera-btn:hover{background:linear-gradient(120deg,#b90021,#8e0018);transform:translateY(-1px)}
.studio-camera-btn:focus-visible,.studio-modal-close:focus-visible{outline:3px solid #113c85;outline-offset:3px}
.studio-camera-pulse{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25);flex:0 0 auto}
.studio-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;overscroll-behavior:contain}
.studio-modal-backdrop{position:absolute;inset:0;background:rgba(4,13,28,.78);backdrop-filter:blur(5px)}
.studio-modal-dialog{position:relative;width:min(100%,940px);max-height:calc(100vh - 40px);overflow-y:auto;border-radius:22px;background:#fff;color:#112039;box-shadow:0 30px 80px rgba(0,0,0,.30);padding:17px;outline:none}
.studio-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.studio-modal-heading{display:flex;align-items:center;gap:12px;min-width:0}
.studio-live-badge{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:6px 9px;border-radius:8px;background:#de0024;color:white;font-size:11px;font-weight:900;letter-spacing:.035em}
.studio-modal-heading h2{font-size:clamp(17px,2.5vw,23px);margin:0;line-height:1.2;color:#0d203b}
.studio-modal-heading p{font-size:12px;margin:4px 0 0;color:#616d81}
.studio-modal-close{display:grid;place-items:center;border:none;border-radius:50%;background:#f6f0f1;color:#862032;flex:0 0 auto;width:38px;height:38px;cursor:pointer;font-size:28px;line-height:1}
.studio-modal-close:hover{background:#f2d9de}
.studio-video-wrap{background:#050608;border-radius:14px;overflow:hidden;aspect-ratio:16/9}
.studio-video-wrap video{display:block;width:100%;height:100%;object-fit:contain;background:#050608}
.studio-video-status{margin:11px 3px 8px;color:#58667a;font-size:12px;min-height:1.4em}
.studio-modal-bottom{border-top:1px solid #f0e7e5;padding:12px 3px 2px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#58667a}
.studio-modal-bottom a{font-weight:800;color:#b80022}
body.studio-camera-open{overflow:hidden}
@media(max-width:540px){
  .studio-modal{padding:9px}
  .studio-modal-dialog{padding:10px;border-radius:16px;max-height:calc(100vh - 18px)}
  .studio-modal-header{gap:8px}
  .studio-modal-heading{gap:7px}
  .studio-live-badge{font-size:9px;padding:5px 6px}
  .studio-modal-heading h2{font-size:17px}
  .studio-modal-heading p{font-size:10px}
  .studio-modal-close{width:33px;height:33px}
  .studio-modal-bottom{font-size:10px}
}
