/* Privacy e Termini nell app: formato estetico del sito. Base bianca, accento a 2 colori solo nei dettagli, titoli in minuscolo normale, pesi 400-600, testo minimo 14px.
   Colori = token di «Brace e pietra» di css/base.css (chiaro e scuro): --g0/--g1 uguali a quelli dell app.
   Solo font di sistema: la CSP dell app vieta i font da internet e non ci sono file font. */
:root {
  --bg: #ffffff; --card: #f5f5f7; --text: #1c1c20; --muted: #68686b; --linea: #e8e8e9;
  --g0: #ad340a; --g1: #9c5e0a; --ink: #ffffff;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #161618; --card: #28282a; --text: #ecece8; --muted: #a0a09e; --linea: #3d3d3d; --g0: #fb8b3c; --g1: #f2c14e; --ink: #161618; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; color: var(--text); overflow-wrap: anywhere;
  font: 400 1.0625rem/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: var(--bg) linear-gradient(180deg, color-mix(in srgb, var(--g0) 7%, var(--bg)) 0, var(--bg) 360px) no-repeat;
}
header, main, footer { max-width: 44rem; margin: 0 auto; padding: 0 20px; }
header { padding-top: 20px; }
nav { display: flex; flex-wrap: wrap; gap: 6px; }
nav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px;
  border: 1px solid var(--linea); background: var(--card); color: var(--text); font-size: 0.9375rem; font-weight: 500; text-decoration: none;
}
nav a[aria-current="page"] { background: linear-gradient(100deg, var(--g0), var(--g1)); border-color: transparent; color: var(--ink); font-weight: 600; }
nav a:focus-visible, #altro a:focus-visible { outline: 3px solid var(--g0); outline-offset: 3px; }
h1 {
  font: 600 clamp(1.7rem, 5vw, 2.3rem)/1.15 Georgia, "Times New Roman", serif; letter-spacing: -0.015em; margin: 28px 0 6px;
}
h1::after { content: ""; display: block; width: 56px; height: 4px; border-radius: 2px; margin-top: 14px; background: linear-gradient(100deg, var(--g0), var(--g1)); }
#altro { margin: 16px 0 20px; color: var(--muted); font-size: 0.9375rem; }
#altro a { display: inline-flex; align-items: center; min-height: 44px; color: var(--g0); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
main { background: var(--card); border: 1px solid var(--linea); border-radius: 20px; padding: 10px 22px 22px; margin-bottom: 36px; }
h2 {
  position: relative; padding-left: 16px; margin: 28px 0 10px;
  font: 600 1.15rem/1.3 Georgia, "Times New Roman", serif; color: var(--text);
}
h2::before { content: ""; position: absolute; left: 0; top: 0.12em; width: 4px; height: 1.05em; border-radius: 2px; background: linear-gradient(180deg, var(--g0), var(--g1)); }
p { margin: 0 0 14px; color: var(--text); }
main a { color: var(--g0); text-underline-offset: 3px; font-weight: 500; }
.selezionabile { user-select: all; -webkit-user-select: all; font-weight: 600; }
footer { padding-bottom: 28px; color: var(--muted); font-size: 0.875rem; text-align: center; }
.consent-foot { color: var(--muted); font-size: 0.875rem; margin-top: 18px; }
@media (max-width: 380px) { main { border-radius: 0; border-left: 0; border-right: 0; padding: 10px 16px 18px; } header, footer { padding-left: 16px; padding-right: 16px; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
