/*
 * Base minima. Lo que habia antes eran overrides de Bootstrap (focus de .btn,
 * .form-floating, margen para un footer que no existe): se fue con Bootstrap.
 *
 * Queda solo la escala tipografica, de la que dependen todos los rem del sistema — incluida
 * la pantalla de carga, que dimensiona los botones para usarse de pie y con una mano.
 */

html {
    font-size: 14px;
    -webkit-text-size-adjust: 100%;
}

@media (min-width: 768px) {
    html { font-size: 16px; }
}

/*
 * Tercer escalon en monitor: 17px, la misma medida que el sitio publico. Sin el, el sistema
 * se ve una talla mas chico que la landing de la que viene el cliente.
 */
@media (min-width: 90rem) {
    html { font-size: 17px; }

    /*
     * ...salvo la pantalla de carga, que NO escala. live-entry.css dimensiona el panel
     * entero en rem para que un rally entre en tablet horizontal sin scroll: subir la raiz
     * un 6% le corre esa calibracion. La pantalla de carga se mide en dedos, no en pixeles
     * disponibles.
     */
    html:has(body.live-body) { font-size: 16px; }
}

*, *::before, *::after { box-sizing: border-box; }

/*
 * El atributo `hidden` le gana a cualquier `display` de autor.
 *
 * `hidden` solo vale un `display: none` de la hoja del navegador, asi que CUALQUIER regla
 * propia que declare display —`.btn-live-block { display: block }`, por ejemplo— lo pisa por
 * especificidad y el elemento se sigue viendo. El sintoma no es un error: es un boton que
 * deberia estar oculto y no lo esta. Paso con "siguiente rally", que seguia ofreciendose con
 * el set terminado, y con "deshacer", que nunca se ocultaba.
 *
 * `!important` es deliberado: `hidden` significa "esto no esta", y no hay layout que deba
 * poder discutirlo.
 */
[hidden] { display: none !important; }
