/* ==== Palette e font dalla pagina ASTA ==== */
:root{
  --primary: #F97316;   /* Titoli */
  --accent: #F59E0B;    /* Evidenze */
  --text: #4B5563;      /* Testo normale */
  --muted: #6B7280;     /* Testo secondario */
  --bg: #FEF3C7;        /* Sfondo pagina */
  --surface: #ffffff;   /* Card */
  --border: #e5e7eb;    /* Bordi */
  --link: #2563eb;      /* Link */
  --font-head: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Arial, sans-serif;
}

/* Reset e base */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family: var(--font-body);
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
}

/* Container */
.container{
  width: min(100%, 960px);
  margin-inline: auto;
  padding: 1.25rem;
}

/* Titolo header */
.site-header h1{
  margin: .15rem 0;
  font-family: var(--font-head);
  font-weight: 800;
  letter-spacing: .2px;
}

/* Indice (TOC) compatto */
.toc{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: .75rem;
  padding: 0.5rem 1rem; /* meno padding generale */
  margin: 1rem 0;
}
.toc h2{
  margin: 0 0 0.25rem 0; /* pochissimo spazio sotto il titolo */
}
.toc ol{
  margin: 0;
  padding: 0;
  list-style: none;
}
.toc li{
  margin: 0;
  padding: 0;
  line-height: 1.2; /* compattiamo l'altezza della riga */
}
.toc a{
  display: block;
  color: var(--link);
  text-decoration: none;
  border-bottom: 1px dashed rgba(37,99,235,.25);
}
.toc a:hover{
  border-bottom-style: solid;
}

/* Sezioni */
.card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
}
.card h2{
  font-family: var(--font-head);
  color: var(--primary);
  margin-top: 0;
}
.card h3{ margin-bottom:.25rem; }

/* Liste in griglia */
.grid{
  display:grid;
  gap:.25rem .75rem;
}
.grid-2{ grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); }

/* Footer */
.site-footer{
  background: var(--bg);
  color: var(--text);
  text-align:center;
  padding: 1rem;
}