*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
ul[role='list'], ol[role='list'] { list-style: none; }
a { color: inherit; text-decoration: none; }
/* garanzia che l'attributo "hidden" nasconda DAVVERO, qualunque altra
   regola dica sull'elemento - causa vera di un bug scoperto dal vivo (i
   pulsanti nascosti agli ospiti restavano visibili): "hidden" di suo lo
   metterebbe il browser (foglio utente), ma un CSS "author" (il nostro)
   che imposta "display" sullo STESSO elemento vince comunque sul foglio
   utente, a prescindere da specificita'/ordine (regola base della
   cascata: origine prima di tutto) - es. ".detail-clear-btn{display:
   block}" bastava a rendere "hidden" un no-op. Qui, DENTRO al nostro
   stesso foglio "author", non c'e' piu' scontro da vincere. */
[hidden] { display: none !important; }
