.legale-testa { padding: 20px var(--margine); }
.legale-ritorno {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-family: var(--titoli);
  font-weight: 600;
  font-size: 1.15rem;
  text-decoration: none;
}
.legale-ritorno svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.legale {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px var(--margine) 96px;
  box-sizing: content-box;
}
.legale h1 { font-size: clamp(2.6rem, 2rem + 3vw, 4rem); }
.legale h2 { font-size: clamp(1.6rem, 1.4rem + .8vw, 2rem); margin: 48px 0 12px; }
.legale p + p { margin-top: 12px; }
.legale-data { margin-top: 8px; color: var(--inchiostro-tenue); }
.legale-elenco { list-style: disc; padding-left: 1.2em; }
.legale-elenco li + li { margin-top: 6px; }

.mancante { color: #b3261e; font-weight: 600; }
@media (prefers-color-scheme: dark) { .mancante { color: #ffb4ab; } }

.tabella { width: 100%; border-collapse: collapse; margin-top: 24px; font-size: .95rem; }
.tabella th {
  text-align: left;
  font-family: var(--titoli);
  font-weight: 600;
  font-size: 1.05rem;
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid var(--inchiostro);
}
.tabella td { vertical-align: top; padding: 14px 12px 14px 0; border-bottom: 1px solid var(--linea); }

@media (max-width: 720px) {
  .tabella thead { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
  .tabella, .tabella tbody, .tabella tr, .tabella td { display: block; width: 100%; }
  .tabella tbody tr { padding: 16px 0; border-bottom: 1px solid var(--linea); }
  .tabella tbody td { padding: 0; border: 0; }
  .tabella tbody td + td { margin-top: 10px; }
  .tabella tbody td::before {
    content: attr(data-label);
    display: block;
    font-family: var(--titoli);
    font-weight: 600;
    font-size: 1rem;
    color: var(--inchiostro-tenue);
  }
}

.non-trovata { min-height: 70svh; display: grid; align-content: center; gap: 16px; }
