.leinonem-livetv{width:100%;margin:auto}.livetv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.livetv-live{background:#09090e;border:1px solid rgba(170,90,255,.35);border-radius:16px;overflow:hidden}.livetv-head{display:flex;align-items:center;gap:10px;padding:12px 16px;color:#fff;background:#101017;font-size:14px}.livetv-head span{margin-left:auto;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot{width:10px;height:10px;border-radius:50%;display:block}.dot.yt{background:#f00;box-shadow:0 0 12px #f00}.dot.tw{background:#9146ff;box-shadow:0 0 12px #9146ff}.livetv-player{position:relative;width:100%;aspect-ratio:16/9;background:#000}.livetv-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.livetv-foot{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;color:#aaa;font-size:12px}.livetv-foot a{color:#fff;text-decoration:none;padding:7px 11px;border:1px solid rgba(170,90,255,.45);border-radius:8px}.offline{min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 20px;border:1px solid rgba(170,90,255,.25);border-radius:16px;background:#09090d;color:#fff}.offline h2{margin:14px 0 8px}.offline p{margin:0 0 6px}.offline span{color:#777;font-size:13px}.offline-dot{width:14px;height:14px;border-radius:50%;background:#555}@media(max-width:800px){.livetv-grid{grid-template-columns:1fr}.livetv-head span{display:none}}
/* LIVE TV -valikon aktiivinen LIVE-piste */
.leinonem-menu-live-dot{
    display:inline-block;
    width:7px;
    height:7px;
    margin-left:7px;
    border-radius:50%;
    vertical-align:middle;
    background:transparent;
    opacity:0;
    transition:opacity .2s ease, box-shadow .2s ease;
}
.leinonem-menu-live-dot.is-live{
    opacity:1;
    background:#ff1744;
    box-shadow:0 0 6px rgba(255,23,68,.95), 0 0 12px rgba(255,23,68,.55);
    animation:leinonemLivePulse 1.25s ease-in-out infinite;
}
@keyframes leinonemLivePulse{
    0%,100%{transform:scale(1);opacity:1}
    50%{transform:scale(.65);opacity:.55}
}
