/* =============================================================================
 * features.css — stile delle tre schermate che le altre app non hanno.
 *
 * Sta a parte da app.css per la stessa ragione per cui screens2.js sta a parte
 * da screens.js: sono funzioni nuove, si muovono a ritmo diverso, e tenerle
 * separate permette di toccarle senza rischiare di spostare l'interfaccia di
 * base. I token vengono tutti da theme.css: qui non si definisce nessun colore.
 * ========================================================================== */

/* --- QUANDO: le finestre elettive ------------------------------------------ */

.intent-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.intent {
  display: flex; flex-direction: column; gap: 4px; text-align: left;
  padding: 13px 14px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
  transition: border-color .15s, background .15s;
}
.intent:hover { background: var(--surface-2); }
.intent.active { border-color: var(--accent); background: var(--accent-soft); }
.intent-title { font-size: 14px; font-weight: 600; }
.intent-hint { font-size: 11.5px; line-height: 1.35; color: var(--text-faint); }

.windows-out { display: flex; flex-direction: column; gap: 12px; }

.window {
  padding: 16px; border-radius: var(--r);
  background: var(--surface); border: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 12px;
}
.window-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.window-date { margin: 0; font-size: 16px; font-weight: 700; text-transform: capitalize; }
.window-time { margin: 2px 0 0; font-size: 13px; color: var(--text-dim); }
.window-z {
  display: flex; align-items: baseline; gap: 1px; flex: none;
  padding: 5px 10px; border-radius: 100px; background: var(--accent-soft);
}
.window-z-num { font-family: var(--font-num); font-size: 14px; font-weight: 700; color: var(--accent); }
.window-z-lab { font-family: var(--font-num); font-size: 10px; color: var(--accent); opacity: .7; }
.window .btn { align-self: flex-start; }

.why { display: flex; flex-direction: column; gap: 5px; }
.why-row {
  display: flex; align-items: baseline; gap: 8px;
  font-size: 13px; padding-left: 10px; border-left: 2px solid var(--border-str);
}
.why-pro { border-left-color: var(--pos); }
.why-contro { border-left-color: var(--neg); }
.why-text { flex: 1; color: var(--text-dim); }
.why-orb { font-family: var(--font-num); font-size: 11px; color: var(--text-faint); }

.window-flags { display: flex; flex-wrap: wrap; gap: 6px; }
.flag {
  font-family: var(--font-num); font-size: 10.5px; letter-spacing: .02em;
  padding: 3px 8px; border-radius: 100px;
  background: var(--surface-2); color: var(--text-dim);
}
.flag-warn { background: var(--warn-soft); color: var(--warn); }
.flag-ok { background: var(--pos-soft); color: var(--pos); }

.avoid {
  padding: 14px 16px; border-radius: var(--r-sm);
  background: var(--neg-soft);
}
.avoid-title { margin: 0 0 5px; font-size: 13px; font-weight: 700; color: var(--neg); }
.avoid-text { margin: 0; font-size: 13px; line-height: 1.45; color: var(--text-dim); }

/* --- CERCHIO: la mappa della rete ------------------------------------------ */

.graph-box { display: flex; justify-content: center; }
.graph { width: 100%; max-width: 340px; height: auto; }
.graph-edge { stroke: var(--accent); }
.graph-dot { stroke: var(--bg); stroke-width: 2; }
.graph-me .graph-dot { stroke: var(--accent); stroke-width: 2.5; }
.graph-initial {
  font-family: var(--font); font-size: 12px; font-weight: 700;
  fill: var(--bg); pointer-events: none;
}
.graph-label { font-family: var(--font); font-size: 9.5px; fill: var(--text-dim); }

.insight {
  padding: 14px 16px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
}
.insight-title { margin: 0 0 5px; font-size: 14px; font-weight: 700; }
.insight-text { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--text-dim); }

.edge-list {
  display: flex; flex-direction: column; gap: 1px;
  background: var(--border); border-radius: var(--r-sm); overflow: hidden;
}
.edge { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: var(--surface); }
.edge-score { font-family: var(--font-num); font-size: 14px; font-weight: 700; min-width: 26px; }
.edge-names { font-size: 13.5px; color: var(--text-dim); }

/* --- REGISTRO: le previsioni verificate ------------------------------------ */

.pred {
  padding: 16px; border-radius: var(--r);
  background: var(--surface); border: 1px solid var(--border-str);
  display: flex; flex-direction: column; gap: 10px;
}
.pred-label {
  margin: 0; font-family: var(--font-num); font-size: 10px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--accent);
}
.pred-text { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; }
.pred-ask { padding-top: 10px; border-top: 1px solid var(--border); }
.pred-ask-label { margin: 0 0 3px; font-size: 12px; color: var(--text-faint); }
.pred-ask-q { margin: 0; font-size: 14.5px; }
.pred-actions { display: flex; gap: 8px; }
.pred-actions .btn { flex: 1; }
.pred-done { margin: 0; font-size: 13px; color: var(--pos); }
.pred-link { align-self: flex-start; font-size: 13px; }

/* Il verdetto porta il colore dell'esito, compreso quello scomodo: un registro
   che colora di verde anche «nessuna differenza» sta mentendo con la grafica. */
.verdict {
  padding: 18px; border-radius: var(--r);
  background: var(--surface); border-left: 3px solid var(--text-faint);
}
.verdict-differenza { border-left-color: var(--pos); }
.verdict-contraria, .verdict-nessuna-differenza { border-left-color: var(--warn); }
.verdict-pochi-dati, .verdict-senza-controllo { border-left-color: var(--text-faint); }
.verdict-title { margin: 0 0 7px; font-size: 17px; font-weight: 700; }
.verdict-text { margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-dim); }

.rates { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rate {
  padding: 14px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 6px;
}
.rate-title { font-size: 11.5px; color: var(--text-faint); }
.rate-num { font-family: var(--font-num); font-size: 27px; font-weight: 700; line-height: 1; }
.rate-num.dim { color: var(--text-faint); }
.rate-bar { position: relative; height: 4px; border-radius: 2px; background: var(--surface-2); }
.rate-ci-bar { position: absolute; top: 0; height: 100%; border-radius: 2px; opacity: .55; }
.rate-ci { font-family: var(--font-num); font-size: 10.5px; color: var(--text-faint); }

.streak { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.streak-item {
  padding: 14px 10px; border-radius: var(--r-sm); text-align: center;
  background: var(--surface); border: 1px solid var(--border);
}
.streak-num { display: block; font-family: var(--font-num); font-size: 24px; font-weight: 700; color: var(--accent); }
.streak-lab { display: block; margin-top: 3px; font-size: 10.5px; color: var(--text-faint); }

/* --- a che punto sei ---------------------------------------------------
 * Due barre sottili, non un cruscotto: qui l'informazione è «quanto manca»,
 * e una barra grossa la farebbe sembrare un traguardo da inseguire invece
 * di un'attesa da mettere in conto.
 * -------------------------------------------------------------------- */
.av-riga {
  display: grid; grid-template-columns: 1fr auto; gap: 4px 10px;
  align-items: center; margin-bottom: 12px;
}
.av-lab { font-size: 12.5px; color: var(--text-dim); }
.av-num {
  font-family: var(--font-num); font-size: 12.5px; color: var(--text-faint);
  grid-column: 2; grid-row: 1;
}
.av-track {
  grid-column: 1 / -1;
  height: 5px; border-radius: 3px; background: var(--surface-2); overflow: hidden;
}
.av-fill {
  height: 100%; border-radius: 3px; background: var(--accent);
  transition: width .4s ease;
}

/* --- il calendario del periodo ----------------------------------------
 * Una riga per momento, non una scheda: qui l'unità è il giorno e servono
 * trenta righe leggibili di fila, non trenta riquadri da scorrere.
 * -------------------------------------------------------------------- */
.cal { display: flex; flex-direction: column; gap: 1px; }
.cal-giorno {
  margin: 14px 0 5px; font-size: 12px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint);
}
.cal-giorno:first-child { margin-top: 0; }
.cal-riga {
  display: grid; grid-template-columns: auto 1fr auto; gap: 10px;
  align-items: baseline; width: 100%;
  padding: 11px 14px; border: 1px solid var(--border); border-radius: var(--r-sm);
  background: var(--surface); color: inherit; text-align: left;
  font: inherit; cursor: pointer;
}
.cal-riga:hover { border-color: var(--border-str); }
.cal-ora {
  font-family: var(--font-num); font-size: 13px; font-weight: 600;
  color: var(--accent);
}
.cal-cosa { font-size: 14px; min-width: 0; }
.cal-z {
  font-family: var(--font-num); font-size: 11.5px; color: var(--text-faint);
}

.corr {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 13px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
}
.corr-type { flex: 1; font-size: 13px; }
.corr-rate { font-family: var(--font-num); font-size: 13.5px; font-weight: 600; }
.corr-n { font-family: var(--font-num); font-size: 11px; color: var(--text-faint); }

.history { display: flex; flex-wrap: wrap; gap: 6px; }
.hist {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 7px 9px; border-radius: var(--r-sm); background: var(--surface-2);
}
.hist-ok { background: var(--pos-soft); }
.hist-no { background: var(--neg-soft); }
.hist-day { font-family: var(--font-num); font-size: 10px; color: var(--text-faint); }
.hist-mark { font-size: 13px; line-height: 1; }
.hist-ok .hist-mark { color: var(--pos); }
.hist-no .hist-mark { color: var(--neg); }

.ledger-body { display: flex; flex-direction: column; gap: 26px; }

@media (max-width: 360px) {
  .intent-grid { grid-template-columns: 1fr; }
  .rates { grid-template-columns: 1fr; }
}

/* --- RETTIFICAZIONE -------------------------------------------------------- */

.ev-list { display: flex; flex-direction: column; gap: 6px; }
.ev {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 13px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
}
.ev-tipo { flex: 1; font-size: 14px; }
.ev-data { font-family: var(--font-num); font-size: 12.5px; color: var(--text-dim); }
.ev-x {
  width: 26px; height: 26px; border-radius: 50%; flex: none;
  background: var(--surface-2); color: var(--text-faint); font-size: 12px;
}
.ev-x:hover { background: var(--neg-soft); color: var(--neg); }

.rect-out { display: flex; flex-direction: column; gap: 26px; }
.verdict-rect-buono { border-left-color: var(--pos); }
.verdict-rect-discreto { border-left-color: var(--accent); }
.verdict-rect-debole { border-left-color: var(--warn); }
.verdict-rect-nessuno { border-left-color: var(--neg); }

.rect-window {
  padding: 20px; border-radius: var(--r);
  background: var(--surface); border: 1px solid var(--border);
  display: flex; flex-direction: column; gap: 14px;
}
.rect-time { display: flex; align-items: baseline; gap: 12px; }
.rect-peak { font-family: var(--font-num); font-size: 38px; font-weight: 700; color: var(--accent); line-height: 1; }
.rect-range { font-family: var(--font-num); font-size: 13px; color: var(--text-faint); }
.rect-angles { display: flex; flex-direction: column; gap: 6px; }

.rect-curve-box { display: flex; flex-direction: column; gap: 6px; }
.rect-curve { width: 100%; height: auto; display: block; }
.rect-line { fill: none; stroke: var(--accent); stroke-width: 1.6; stroke-linejoin: round; }
.rect-band { fill: var(--accent-soft); }
.rect-tick { font-family: var(--font-num); font-size: 8px; fill: var(--text-faint); text-anchor: middle; }

/* --- ESPERIMENTI ----------------------------------------------------------- */

.tally { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.tally-item {
  padding: 12px 6px; border-radius: var(--r-sm); text-align: center;
  background: var(--surface); border: 1px solid var(--border);
}
.tally-num { display: block; font-family: var(--font-num); font-size: 22px; font-weight: 700; }
.tally-lab { display: block; margin-top: 2px; font-size: 10px; color: var(--text-faint); }

.exp {
  padding: 15px 16px; border-radius: var(--r);
  background: var(--surface); border: 1px solid var(--border);
  border-left: 3px solid var(--text-faint);
  display: flex; flex-direction: column; gap: 8px;
}
.exp-stato-confermata { border-left-color: var(--pos); }
.exp-stato-smentita { border-left-color: var(--warn); }
.exp-stato-rovesciata { border-left-color: var(--neg); }
.exp-stato-aperta { border-left-color: var(--accent); }
.exp-head { display: flex; align-items: baseline; gap: 10px; }
.exp-title { flex: 1; margin: 0; font-size: 15px; font-weight: 700; }
.exp-date { font-family: var(--font-num); font-size: 11.5px; color: var(--text-faint); }
.exp-belief { margin: 0; font-size: 13.5px; color: var(--text-dim); font-style: italic; }
.exp-hyp {
  margin: 0; padding: 10px 12px; border-radius: var(--r-sm);
  background: var(--surface-2); font-size: 13px; line-height: 1.5;
}
.exp-reg { margin: 0; font-family: var(--font-num); font-size: 10.5px; color: var(--text-faint); }
.exp-result { padding-top: 8px; border-top: 1px solid var(--border); }
.exp-result strong { display: block; font-size: 14px; margin-bottom: 4px; }
.exp-result p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text-dim); }
.exp-confermata strong { color: var(--pos); }
.exp-smentita strong { color: var(--warn); }
.exp-rovesciata strong { color: var(--neg); }

/* --- CONSENSO DEL GRUPPO --------------------------------------------------- */

.consent { display: flex; flex-direction: column; gap: 20px; }
.consent-title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.25; }
.consent-text { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--text-dim); }
.consent-list {
  padding: 12px 14px; border-radius: var(--r-sm);
  display: flex; flex-direction: column; gap: 5px;
}
.consent-list p { margin: 0; font-size: 13.5px; }
.consent-yes { background: var(--pos-soft); color: var(--pos); }
.consent-no { background: var(--neg-soft); color: var(--neg); margin-top: 8px; }

@media (max-width: 360px) {
  .tally { grid-template-columns: repeat(2, 1fr); }
}

/* ===========================================================================
 * RITMO — temperamenti e prakriti
 *
 * Due sistemi affiancati e mai fusi, e il colore lo dice: il pannello
 * occidentale lavora sull'accento caldo, quello ayurvedico sull'accento freddo.
 * Il pannello del confronto non usa nessuno dei due — prendere il colore di uno
 * dei sistemi suggerirebbe che quello ha ragione.
 * ======================================================================== */

.segm {
  display: flex; gap: 4px; padding: 4px; margin: 4px 0 18px;
  background: var(--surface); border-radius: var(--r-sm);
  border: 1px solid var(--border);
}
.segm-b {
  flex: 1; min-width: 0; padding: 9px 4px;
  font: inherit; font-size: 12.5px; font-weight: 600;
  color: var(--text-dim); background: none; border: 0;
  border-radius: 7px; cursor: pointer;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: background .16s, color .16s;
}
.segm-b.on { background: var(--surface-2); color: var(--text); }

.pan { display: flex; flex-direction: column; gap: 20px; }
.pan-titolo { margin: 0; font-size: 21px; font-weight: 700; line-height: 1.25; }
.pan-qualita {
  margin: -14px 0 0; font-size: 12.5px; letter-spacing: .04em;
  text-transform: uppercase; color: var(--text-faint);
}
.prosa { display: flex; flex-direction: column; gap: 11px; }
.prosa p { margin: 0; font-size: 15px; line-height: 1.62; }
.prosa.dim p { color: var(--text-dim); font-size: 14px; }
.prosa.small p { font-size: 13px; line-height: 1.6; }

/* --- assi bipolari: lo zero sta al centro, non a sinistra ----------------- */

.asse { margin-bottom: 16px; }
.asse-head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 7px; gap: 8px;
}
.asse-poli { font-size: 11.5px; color: var(--text-faint); flex: 0 0 auto; }
.asse-poli-dx { text-align: right; }
.asse-label { display: none; }
.asse-track {
  position: relative; height: 8px; border-radius: 4px;
  background: linear-gradient(90deg, var(--el-aria) 0%, var(--surface-2) 50%, var(--el-fuoco) 100%);
  opacity: .85;
}
.asse-zero {
  position: absolute; left: 50%; top: -3px; bottom: -3px; width: 1px;
  background: var(--border-str);
}
.asse-punto {
  position: absolute; top: 50%; width: 14px; height: 14px;
  margin: -7px 0 0 -7px; border-radius: 50%;
  background: var(--text); box-shadow: 0 0 0 3px var(--bg);
  transition: left .3s cubic-bezier(.2, .8, .3, 1);
}

/* --- dosha ---------------------------------------------------------------- */

.dosha-box {
  display: flex; flex-direction: column; gap: 13px;
  padding: 15px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
}
.dosha-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.dosha-nome { font-size: 14px; font-weight: 600; color: var(--text-dim); }
.dosha-val { font-size: 13px; font-variant-numeric: tabular-nums; color: var(--text-faint); }
.dosha-track { height: 7px; border-radius: 4px; background: var(--surface-2); overflow: hidden; }
.dosha-fill {
  height: 100%; border-radius: 4px; background: var(--accent-2); opacity: .55;
  transition: width .35s cubic-bezier(.2, .8, .3, 1);
}
.dosha-top .dosha-nome { color: var(--text); }
.dosha-top .dosha-val { color: var(--accent-2); font-weight: 600; }
.dosha-top .dosha-fill { opacity: 1; }

/* --- testimoni: da dove viene il risultato -------------------------------- */

.testimoni {
  display: flex; flex-direction: column;
  border-radius: var(--r-sm); overflow: hidden;
  border: 1px solid var(--border);
}
.test-riga {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 10px 12px; background: var(--surface);
}
.test-riga + .test-riga { border-top: 1px solid var(--border); }
.test-peso {
  flex: 0 0 22px; height: 22px; border-radius: 6px;
  display: grid; place-items: center;
  background: var(--surface-2); color: var(--text-dim);
  font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.test-corpo { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.test-fonte { font-size: 13.5px; font-weight: 600; }
.test-perche { font-size: 12.5px; color: var(--text-dim); line-height: 1.45; }
.test-flag {
  flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--warn-soft); color: var(--warn);
  font-size: 11px; font-weight: 700;
}
.conteso {
  margin: 0 0 8px; font-size: 13.5px; line-height: 1.55; color: var(--text-dim);
}

/* --- confronto fra i due sistemi ------------------------------------------ */

.accordo {
  padding: 16px; border-radius: var(--r);
  border: 1px solid var(--border); background: var(--surface);
  display: flex; flex-direction: column; gap: 12px;
}
.accordo-concorde { border-color: rgba(95, 191, 138, .3); background: var(--pos-soft); }
.accordo-parziale { border-color: rgba(232, 166, 63, .28); background: var(--warn-soft); }
.accordo-discorde { border-color: var(--border-str); }
/* Il caso senza corrispondenza NON prende un colore di stato: non e' un esito
   buono ne' cattivo, e' un punto in cui le due tradizioni non si toccano. */
.accordo-senzaCorrispondenza { border-style: dashed; border-color: var(--border-str); }

.accordo-due {
  display: flex; align-items: center; gap: 12px;
  padding: 14px; border-radius: var(--r-sm);
  background: var(--surface); border: 1px solid var(--border);
}
.accordo-lato { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.accordo-lato strong { font-size: 16px; }
.accordo-etichetta {
  font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase;
  color: var(--text-faint);
}
.accordo-segno {
  flex: 0 0 auto; font-size: 20px; font-weight: 300; color: var(--text-faint);
}

/* --- il ritmo di oggi ------------------------------------------------------ */

.oggi-box {
  padding: 17px; border-radius: var(--r);
  border: 1px solid var(--border); background: var(--surface);
  display: flex; flex-direction: column; gap: 9px;
}
.oggi-accentua { border-color: rgba(232, 115, 74, .32); }
.oggi-smorza { border-color: rgba(111, 179, 217, .32); }
.oggi-frase { margin: 0; font-size: 15.5px; line-height: 1.55; }
.oggi-attesa {
  align-self: flex-start; padding: 4px 10px; border-radius: 99px;
  background: var(--surface-2); color: var(--text-dim);
  font-size: 12px; font-weight: 600;
}

.sett { display: flex; flex-direction: column; gap: 8px; }
.sett-riga { display: flex; align-items: center; gap: 10px; }
.sett-oggi { font-weight: 700; }
.sett-g {
  flex: 0 0 58px; font-size: 12.5px; color: var(--text-dim);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sett-oggi .sett-g { color: var(--text); }
.sett-track {
  position: relative; flex: 1; height: 10px;
  border-radius: 5px; background: var(--surface-2);
}
.sett-zero { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--border-str); }
.sett-bar { position: absolute; top: 2px; bottom: 2px; border-radius: 3px; }
.sett-bar.su { background: var(--el-fuoco); }
.sett-bar.giu { background: var(--el-aria); }
.sett-seg {
  flex: 0 0 auto; font-size: 11.5px; color: var(--text-faint);
  max-width: 72px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* --- avviso: manca l'ora di nascita ---------------------------------------- */

.avviso {
  padding: 14px; margin-bottom: 16px; border-radius: var(--r-sm);
  background: var(--warn-soft); border: 1px solid rgba(232, 166, 63, .28);
  display: flex; flex-direction: column; gap: 8px; align-items: flex-start;
}
.avviso strong { font-size: 14px; color: var(--warn); }
.avviso p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--text-dim); }

.btn-full { width: 100%; }
.btn-sm { padding: 7px 13px; font-size: 13px; }

@media (max-width: 360px) {
  .segm-b { font-size: 11.5px; padding: 8px 2px; }
  .sett-seg { display: none; }
}


/* --- INFORMATIVA PRIVACY ---------------------------------------------------
 * Le stesse classi di privacy.html: il contenuto lo disegna la stessa
 * funzione, e due fogli di stile diversi lo farebbero sembrare due documenti.
 * ------------------------------------------------------------------------ */

.priv { display: flex; flex-direction: column; }
.priv-titolo { font-size: 26px; line-height: 1.2; margin: 0 0 6px; }
.priv-data { margin: 0 0 26px; color: var(--text-faint); font-size: 13px; }

.priv-sez { margin-bottom: 28px; }
.priv-sez h2 {
  font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--accent); margin: 0 0 9px; font-weight: 600;
}
.priv-sez p { margin: 0 0 11px; font-size: 15px; line-height: 1.62; }
.priv-sez ul { margin: 0; padding-left: 19px; }
.priv-sez li { margin-bottom: 9px; font-size: 14.5px; line-height: 1.55; color: var(--text-dim); }

.priv-evidenza {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r); padding: 17px 18px;
}
.priv-evidenza p { font-size: 16px; margin: 0; }

.priv-avviso { border-left: 3px solid var(--warn); padding-left: 16px; }

.priv-incompleta {
  background: var(--neg-soft); border: 1px solid rgba(224,107,90,.35);
  border-radius: var(--r-sm); padding: 13px 15px; margin-bottom: 24px;
}
.priv-incompleta strong { color: var(--neg); display: block; margin-bottom: 4px; font-size: 14px; }
.priv-incompleta p { margin: 0; font-size: 12.5px; color: var(--text-dim); }
.priv-manca { color: var(--neg); }
