/* ═══ TV SIN INTERNET · ETAPA 1 (Kevin, 11-nov-2026) — ver wwwroot/js/bsp-tv-offline.js.
   Todo cuelga de `html.bsp-tv-offline`, que SOLO pone ese script cuando la TV se queda sin red:
   con red nada de esto casa y la TV es la de siempre. */

/* La capa de respaldo: encima del tablero congelado (`.tv-root` va a z-index 1000). */
.bsp-tv-offline-stage { z-index: 1001; }
.bsp-tv-offline-slide { position: absolute; inset: 0; }
html:not(.bsp-tv-offline) .bsp-tv-offline-stage { display: none; }

/* Sin red, ni la espera de arranque ni el modal de reconexión tapan la pantalla: la tapa el respaldo. */
html.bsp-tv-offline .tv-boot-wait { display: none; }
html.bsp-tv-offline #components-reconnect-modal { display: none !important; }

/* El aviso: pequeño, en una esquina (la elige el script para no pisar precios). */
.bsp-tv-offline-note {
    position: absolute; z-index: 5; pointer-events: none;
    max-width: 40vw; padding: .35em .8em; border-radius: 999px;
    background: rgba(17, 17, 17, .78); color: #FFFFFF;
    font: 600 clamp(.75rem, 1.4vh, 1.15rem)/1.25 system-ui, sans-serif;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.bsp-tv-offline-note::before {
    content: ""; display: inline-block; width: .6em; height: .6em; margin-right: .5em;
    border-radius: 50%; background: #F59E0B; vertical-align: .05em;
}
.bsp-tv-offline-note[data-corner="br"] { right: 1.2vmin; bottom: 1.2vmin; }
.bsp-tv-offline-note[data-corner="bl"] { left: 1.2vmin; bottom: 1.2vmin; }
.bsp-tv-offline-note[data-corner="tr"] { right: 1.2vmin; top: 1.2vmin; }
.bsp-tv-offline-note[data-corner="tl"] { left: 1.2vmin; top: 1.2vmin; }
