/* dabimbi.it — foglio di stile unico, self-hosted, nessuna richiesta a domini terzi.
   Palette misurata contro le 89 tinte di rete-domini-seosrl/02-standard/registro-design.md
   con il criterio del registro (>= 8 di distanza su almeno un canale da ogni colore):
   nessuna collisione. Contrasti WCAG calcolati, riportati accanto a ogni token.

   ATTENZIONE — font: qui c'è una pila di sistema, non i font propri del sito.
   I file .woff2 di Petrona (titoli) e Karla (testo) vanno scaricati e messi in
   assets/fonts/ prima della pubblicazione. Finché non ci sono, il sito è leggibile
   ma la sua tipografia non è ancora distinta da quella degli altri domini della rete.
   <!-- VERIFICARE: font self-hosted --> */

:root{
  --fondo:#F0E7D8;      /* sabbia calda — nessun altro sito della rete la usa */
  --pannello:#E4D8C4;   /* sabbia più profonda, per box e testata */
  --testo:#2A1F2E;      /* inchiostro prugna — 12,84:1 su fondo, 11,18:1 su pannello */
  --accento:#8B2C5E;    /* prugna — 6,54:1 su fondo; bianco su accento 8,02:1 */
  --verde:#1F6F5C;      /* verde bosco, per gli stati positivi — 4,91:1 su fondo */
  --neutro:#5F566B;     /* meta e didascalie — scurito rispetto al primo candidato per stare sopra 4,5:1 */
  --riga:#C9B99E;
  --misura:37rem;
  --serif: Iowan Old Style, Palatino Linotype, Palatino, Georgia, serif;
  --sans: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--fondo); color:var(--testo);
  font:400 1.0625rem/1.65 var(--sans);
  text-rendering:optimizeLegibility;
}
.wrap{max-width:64rem; margin:0 auto; padding:0 1.25rem}

.salta{position:absolute; left:-9999px}
.salta:focus{left:1rem; top:1rem; background:var(--accento); color:#fff; padding:.5rem .75rem; z-index:9}

/* testata */
.masthead{background:var(--pannello); border-bottom:1px solid var(--riga)}
.masthead .wrap{display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; align-items:baseline; padding-top:.9rem; padding-bottom:.9rem}
.brand{font:700 1.25rem/1.2 var(--serif); color:var(--testo); text-decoration:none; display:flex; flex-direction:column}
.brand small{font:400 .8125rem/1.4 var(--sans); color:var(--neutro); margin-top:.15rem}
.nav{margin-left:auto; display:flex; flex-wrap:wrap; gap:1rem}
.nav a{color:var(--testo); text-decoration:none; border-bottom:2px solid transparent; padding-bottom:.15rem; font-size:.9375rem}
.nav a:hover{border-bottom-color:var(--accento)}
.nav a[aria-current=page]{border-bottom-color:var(--accento); font-weight:600}

/* corpo */
.page{padding:1.5rem 0 3rem}
article{max-width:var(--misura)}
h1{font:700 clamp(1.6rem,4.2vw,2.3rem)/1.2 var(--serif); margin:.4rem 0 .6rem; letter-spacing:-.01em}
h2{font:700 1.35rem/1.3 var(--serif); margin:2.2rem 0 .5rem}
h3{font:600 1.0625rem/1.35 var(--sans); margin:1.5rem 0 .35rem}
p,li{max-width:var(--misura)}
p{margin:0 0 1rem}
a{color:var(--accento)}
a:hover{text-decoration-thickness:2px}
.meta{color:var(--neutro); font-size:.875rem; margin:-.2rem 0 1.4rem}

.breadcrumb{margin:.2rem 0 .6rem; font-size:.8125rem; color:var(--neutro)}
.breadcrumb ol{list-style:none; display:flex; flex-wrap:wrap; gap:.4rem; margin:0; padding:0}
.breadcrumb li+li::before{content:"›"; margin-right:.4rem; color:var(--riga)}
.breadcrumb a{color:var(--neutro)}

/* blocchi speciali */
.answer{font-size:1.125rem; line-height:1.55; border-left:3px solid var(--accento); padding:.15rem 0 .15rem 1rem; margin:0 0 1.4rem}
.facts{background:var(--pannello); border:1px solid var(--riga); padding:1rem 1.15rem; margin:1.6rem 0}
.facts h2{margin-top:0; font-size:1.0625rem}
.faq h3{margin-top:1.3rem}
.sources{font-size:.9375rem; color:var(--neutro)}
.sources a{color:var(--neutro)}
.source-line{font-size:.875rem; color:var(--neutro)}

/* la riga di metodo: sta SOPRA i prodotti, non nel footer (Politiche Amazon art. 3(b)) */
.metodo{background:var(--pannello); border-left:3px solid var(--verde); padding:.7rem .9rem; font-size:.9375rem; margin:1.6rem 0 1rem}

/* box prodotto: titolo + link + una riga nostra. Niente prezzo, niente foto (Program Policies) */
.box-prodotto{border:1px solid var(--riga); padding:.85rem 1rem; margin:.9rem 0; background:#fff8ee}
.box-titolo{margin:0 0 .3rem; font-weight:600}
.box-perche{margin:0; font-size:.9375rem; color:var(--neutro)}

table{border-collapse:collapse; width:100%; font-size:.9375rem; margin:1.2rem 0; display:block; overflow-x:auto}
th,td{border:1px solid var(--riga); padding:.45rem .6rem; text-align:left; vertical-align:top}
th{background:var(--pannello); font-weight:600}

/* archivio: visivamente distinto, così non si confonde col sito nuovo */
.archivio .avviso{background:var(--pannello); border:1px dashed var(--riga); padding:.85rem 1rem; font-size:.9375rem; margin:0 0 1.5rem}
.archivio article{max-width:42rem}
.archivio h1{font-size:clamp(1.4rem,3.4vw,1.9rem)}
.elenco{list-style:none; padding:0; margin:1rem 0}
.elenco li{border-bottom:1px solid var(--riga); padding:.5rem 0; max-width:none}
.elenco .data{color:var(--neutro); font-size:.8125rem; white-space:nowrap}

/* piede */
.colophon{background:var(--pannello); border-top:1px solid var(--riga); margin-top:3rem; padding:1.5rem 0 2rem; font-size:.875rem}
.colophon p{max-width:none; margin:0 0 .5rem}
.editore{color:var(--neutro)}
.disclosure{color:var(--neutro)}
.legali{display:flex; flex-wrap:wrap; gap:.4rem 1rem; margin-top:.6rem}
.legali a{color:var(--testo)}

@media (max-width:36rem){
  .masthead .wrap{flex-direction:column; align-items:flex-start}
  .nav{margin-left:0}
  body{font-size:1.0625rem}
}

@media print{
  .masthead,.nav,.breadcrumb{display:none}
  body{background:#fff; color:#000}
}
