/* qnotify.mcga.it — foglio unico, nessuna dipendenza esterna.
 *
 * Niente font remoti, niente CDN, niente analytics: la pagina di un prodotto
 * che promette "i tuoi dati restano sul tuo server" non puo' caricare roba da
 * terzi. E' anche il motivo per cui non c'e' un cookie banner: non ci sono
 * cookie da accettare.
 *
 * I colori sono quelli dell'icona dell'app: cacao, fondente, oro. */

:root {
  --fondo: #fbfaf8;
  --fondo-alt: #f3efe9;
  --testo: #241a16;
  --testo-tenue: #6b6058;
  --cacao: #6b4433;
  --oro: #b9812b;
  --bordo: #e2dad0;
  --misura: 34rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --fondo: #17100d;
    --fondo-alt: #1f1712;
    --testo: #f2ece6;
    --testo-tenue: #a89c92;
    --cacao: #c98d6f;
    --oro: #d9a445;
    --bordo: #35291f;
  }
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--fondo);
  color: var(--testo);
  font: 16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;
  font-feature-settings: "kern";
}

.contenitore {
  max-width: var(--misura);
  margin: 0 auto;
  padding: 0 1.25rem;
}

/* -- testata --------------------------------------------------------------- */

header {
  border-bottom: 1px solid var(--bordo);
  padding: 1.25rem 0;
}

header .contenitore {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.marchio {
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  color: var(--cacao);
  text-decoration: none;
}

.lingua {
  font-size: 0.85rem;
  color: var(--testo-tenue);
}

.lingua a { color: var(--testo-tenue); }

/* -- apertura -------------------------------------------------------------- */

.apertura { padding: 3rem 0 2.5rem; }

.momenti {
  font-size: 1.05rem;
  color: var(--testo-tenue);
  margin: 0 0 1.5rem;
}

.momenti .scarto { color: var(--oro); font-weight: 600; }

h1 {
  font-size: clamp(1.7rem, 5.5vw, 2.3rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
  text-wrap: balance;
}

h1 .seconda { display: block; color: var(--cacao); }

.sommario { font-size: 1.05rem; margin: 0; }

/* -- sezioni --------------------------------------------------------------- */

section { padding: 2.25rem 0; border-top: 1px solid var(--bordo); }

h2 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--oro);
  margin: 0 0 0.9rem;
}

h3 { font-size: 1.05rem; margin: 1.75rem 0 0.4rem; }

p { margin: 0 0 1rem; }

p:last-child, ul:last-child { margin-bottom: 0; }

ul { margin: 0 0 1rem; padding-left: 1.15rem; }

li { margin-bottom: 0.45rem; }

strong { font-weight: 650; }

code {
  font: 0.9em ui-monospace, SFMono-Regular, Menlo, monospace;
  background: var(--fondo-alt);
  padding: 0.1em 0.35em;
  border-radius: 3px;
}

a { color: var(--cacao); }

/* -- le cinque strade ------------------------------------------------------ */

dl.strade { margin: 0; }

dl.strade div {
  display: flex;
  gap: 0.9rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--bordo);
}

dl.strade div:last-child { border-bottom: 0; }

dl.strade dt {
  flex: 0 0 4.5rem;
  font: 650 0.82rem/1.9 ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--oro);
  letter-spacing: 0.04em;
}

dl.strade dd { margin: 0; }

/* -- riquadro (requisiti, contatto) --------------------------------------- */

.riquadro {
  background: var(--fondo-alt);
  border: 1px solid var(--bordo);
  border-radius: 8px;
  padding: 1.25rem;
}

.posta {
  display: inline-block;
  margin-top: 0.35rem;
  font-size: 1.1rem;
  font-weight: 650;
}

/* -- chiusura -------------------------------------------------------------- */

footer {
  border-top: 1px solid var(--bordo);
  padding: 2rem 0 3rem;
  font-size: 0.87rem;
  color: var(--testo-tenue);
}

footer a { color: var(--testo-tenue); }

footer p { margin: 0 0 0.5rem; }
