/* Pagine legali e 404: riusa caratteri e colori di style.css */
.legale { max-width: 760px; margin: 0 auto; padding: calc(var(--testata) + 56px) var(--margine) 96px; }
.legale h1 { font-size: var(--t-3xl); margin-bottom: 1rem; }
.legale h2 { font-size: var(--t-xl); margin: 2.4rem 0 .8rem; }
.legale p, .legale li { margin-bottom: .8rem; max-width: 68ch; }
.legale ul { padding-left: 1.2rem; }
.legale table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.4rem; font-size: .95rem; }
.legale th, .legale td { text-align: left; vertical-align: top; padding: .7rem .6rem .7rem 0; border-bottom: 1px solid var(--linea); }
.legale .avviso { background: var(--bruma); padding: 1rem 1.2rem; border-radius: var(--raggio); }
.legale a { color: var(--blu); }
.legale__torna { display: inline-flex; min-height: 44px; align-items: center; font-weight: 600; }
.testata--semplice .testata__barra { justify-content: space-between; }
.pagina-404 { min-height: 100svh; display: grid; place-content: center; text-align: left; padding: var(--margine); background: var(--notte); color: var(--tovaglia); }
.pagina-404 svg { width: 96px; height: 96px; margin-bottom: 1.6rem; }
.pagina-404 h1 { font-size: var(--t-4xl); max-width: 10ch; }
.pagina-404 p { font-size: var(--t-l); max-width: 36ch; margin: 1.2rem 0 2rem; color: rgba(251, 250, 246, .86); }
.pagina-404 .azioni { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 600px) { .legale table, .legale thead, .legale tbody, .legale tr, .legale th, .legale td { display: block; } .legale thead { display: none; } .legale td { border: 0; padding: .2rem 0; } .legale tr { border-bottom: 1px solid var(--linea); padding: .6rem 0; } }
@media (max-width: 520px) { .solo-largo { display: none; } }
