/* Programação: imagens inteiras e ampliação acessível. */
#schedule-list .schedule-item{grid-template-columns:120px 224px minmax(0,1fr) auto;gap:20px;min-height:140px}
#schedule-list .schedule-media{gap:14px;align-items:center}
#schedule-list .program-logo-frame{position:relative;display:block;box-sizing:border-box;width:130px;height:96px;flex:0 0 130px;padding:0;overflow:hidden;background:#fff}
#schedule-list .program-logo-frame .program-logo{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);max-width:none;max-height:none;object-fit:contain!important;object-position:center}
#schedule-list .schedule-photo-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:80px;flex:0 0 80px;padding:0;border:0;background:transparent;color:#b90020;font-family:inherit;font-size:11px;font-weight:700;line-height:1.3;cursor:zoom-in}
#schedule-list .schedule-photo-button .host-photo{display:block;width:76px;height:82px;max-width:none;object-fit:contain;object-position:center;background:#f6f4f0;border-radius:12px;box-sizing:border-box}
#schedule-list .schedule-photo-button span{font-size:11px;font-weight:800;white-space:nowrap}
#schedule-list .schedule-photo-button:focus-visible{outline:3px solid #b90020;outline-offset:4px;border-radius:12px}
#schedule-list .schedule-title{min-width:0;overflow-wrap:anywhere}
.schedule-photo-dialog{box-sizing:border-box;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;border:0;border-radius:20px;background:white;color:#171717;overflow:auto;box-shadow:0 20px 80px #0005}
.schedule-photo-dialog::backdrop{background:rgba(0,0,0,.78)}
.schedule-photo-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.schedule-photo-dialog h2{font-size:22px;line-height:1.2;margin:0}
.schedule-photo-dialog button{flex:none;border:0;border-radius:24px;background:#e1062c;color:white;padding:12px 18px;min-height:44px;font:700 14px system-ui;cursor:pointer}
.schedule-photo-dialog img{display:block;width:100%;height:min(65dvh,650px);object-fit:contain;background:#f6f4f0;border-radius:12px}
.schedule-photo-dialog p{margin:12px 0 0;font:16px/1.4 system-ui;color:#555}
@media(max-width:960px){#schedule-list .schedule-item{grid-template-columns:100px 196px minmax(0,1fr);gap:14px}#schedule-list .schedule-badge{grid-column:3;justify-self:start}#schedule-list .program-logo-frame{width:110px;height:88px;flex-basis:110px}#schedule-list .schedule-media{gap:8px}#schedule-list .schedule-photo-button{width:78px;flex-basis:78px}}
@media(max-width:680px){#schedule-list{gap:8px}#schedule-list .schedule-item{grid-template-columns:112px minmax(0,1fr);padding:12px;gap:8px 12px;min-height:0;border-radius:14px}#schedule-list .schedule-time{grid-column:1;grid-row:1;font-size:12px;white-space:nowrap}#schedule-list .schedule-badge{grid-column:2;grid-row:1;justify-self:end;font-size:8px;padding:5px 8px}#schedule-list .schedule-media{grid-column:1;grid-row:2;gap:8px}#schedule-list .program-logo-frame{width:56px;height:64px;flex-basis:56px;border-radius:8px}#schedule-list .program-logo-frame .program-logo{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}#schedule-list .schedule-photo-button{width:48px;flex-basis:48px;gap:3px;min-height:64px}#schedule-list .schedule-photo-button .host-photo{width:44px;height:48px;border-radius:8px}#schedule-list .schedule-photo-button span{font-size:9px}#schedule-list .schedule-title{grid-column:2;grid-row:2;align-self:center}#schedule-list .schedule-title strong{font-size:16px;line-height:1.15}#schedule-list .schedule-title>span{display:block;font-size:11px;line-height:1.3;margin-top:4px}#schedule-list .program-progress{margin-top:6px}#schedule-list .program-progress>span{height:4px}#schedule-list .program-progress small{font-size:8px;letter-spacing:0;line-height:1.2}.schedule-photo-dialog{padding:16px}.schedule-photo-dialog h2{font-size:20px}}
@media(max-width:360px){#schedule-list .schedule-item{grid-template-columns:96px minmax(0,1fr);gap:8px;padding:10px}#schedule-list .schedule-media{gap:4px}#schedule-list .program-logo-frame{width:48px;flex-basis:48px}#schedule-list .schedule-photo-button{width:44px;flex-basis:44px}#schedule-list .schedule-title strong{font-size:15px}}

