/* Kit digitale · sito per telefono. Palette e font dal DNA stilistico (§2): verde, rosso solo per i codici,
   salvia velata per i box, carbone per il testo, marmo di fondo. Prosa Source Serif 4, dati Montserrat. */
@font-face{font-family:'Playfair Display';src:url('fonts/PlayfairDisplay-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Playfair Display';src:url('fonts/PlayfairDisplay-Italic-700.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap;}
@font-face{font-family:'Montserrat';src:url('fonts/Montserrat.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap;}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}

:root{--verde:#133D24;--rosso:#BB411C;--salvia:#B4C495;--velata:#E1E7D5;--carbone:#2C2C2B;--marmo:#F1EEEB;--linea:#C9D3BE;
  --dati:Montserrat,Arial,sans-serif;--titoli:'Playfair Display',Georgia,serif;}
*{box-sizing:border-box;}
html{font-size:17px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--marmo);color:var(--carbone);font-family:'Source Serif 4',Georgia,serif;font-size:1rem;line-height:1.5;}
a{color:var(--verde);}
img{max-width:100%;}
h1,h2{font-family:var(--titoli);font-weight:700;color:var(--verde);letter-spacing:-.005em;}
h3,h4{font-family:var(--dati);font-weight:600;color:var(--verde);text-transform:uppercase;letter-spacing:.09em;}
p{margin:0 0 .65rem;}
b,strong{font-weight:600;}
.cod{font-family:var(--dati);font-weight:600;color:var(--rosso);letter-spacing:.03em;text-decoration:none;white-space:nowrap;}
a.cod{border-bottom:1px solid currentColor;}

/* barra in alto */
.barra{position:sticky;top:0;z-index:5;background:var(--verde);color:#fff;font-family:var(--dati);font-size:.78rem;font-weight:600;}
.barra .dentro{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 6px;min-height:48px;}
.barra a,.barra button{color:#fff;text-decoration:none;font:inherit;background:none;border:0;padding:14px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;}
.barra svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.barra button[aria-pressed="true"]{color:var(--verde);background:var(--salvia);border-radius:20px;padding:8px 12px;margin:6px 2px;}
.barra button[hidden]{display:none;}

main{max-width:720px;margin:0 auto;padding:14px 14px 40px;}
.card{background:#fff;border-radius:10px;padding:20px 18px;margin:0 0 16px;}

/* scheda ricetta */
.scheda .foto{margin:-20px -18px 14px;}
.scheda .foto img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px 10px 0 0;background:var(--velata);}
.scheda .code{font-family:var(--dati);font-weight:600;color:var(--rosso);font-size:.9rem;letter-spacing:.04em;margin:0 0 4px;}
.scheda .code span{color:var(--verde);font-weight:500;}
.scheda h1{font-size:1.55rem;line-height:1.18;margin:2px 0 8px;}
.scheda .intro{font-style:italic;margin:0 0 10px;}
.icone{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 12px;padding:0;list-style:none;}
.icone li{display:inline-flex;align-items:center;gap:6px;font-family:var(--dati);font-size:.74rem;font-weight:500;color:var(--verde);}
.icone svg{width:17px;height:17px;fill:none;stroke:var(--verde);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.dati{margin:0 0 4px;display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.dati div{background:var(--velata);padding:9px 11px;border-radius:4px;}
.dati .larga{grid-column:1/-1;}
.dati dt{font-family:var(--dati);font-weight:600;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--verde);margin:0 0 2px;}
.dati dd{margin:0;font-family:var(--dati);font-weight:600;font-size:.95rem;line-height:1.3;}
.scheda h3{font-size:.78rem;margin:20px 0 6px;}
.ingredienti{list-style:none;margin:0;padding:0;font-family:var(--dati);font-weight:500;font-size:.95rem;line-height:1.35;}
.ingredienti li{border-bottom:1px solid var(--linea);}
.ingredienti label{display:grid;grid-template-columns:26px 78px 1fr;gap:8px;align-items:start;padding:11px 0;cursor:pointer;}
.ingredienti input,.spesa input{position:absolute;opacity:0;width:1px;height:1px;}
.spunta{width:22px;height:22px;border:1.6px solid var(--verde);border-radius:4px;background:#fff;display:block;position:relative;flex:none;}
input:checked+.spunta{background:var(--verde);}
input:checked+.spunta::after{content:'';position:absolute;left:6.5px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2.2px 2.2px 0;transform:rotate(42deg);}
input:focus-visible+.spunta{outline:2px solid var(--rosso);outline-offset:2px;}
.ingredienti b{font-weight:700;color:var(--verde);}
.ingredienti em{display:block;font-style:normal;font-size:.8rem;font-weight:500;color:#555;margin-top:2px;}
.ingredienti input:checked~b,.ingredienti input:checked~span:not(.spunta){opacity:.45;}
.allergeni{font-family:var(--dati);font-size:.82rem;font-weight:500;line-height:1.4;margin:12px 0 10px;}
.allergeni b{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--verde);margin-right:6px;}
.righe{font-size:.94rem;line-height:1.45;}
.passi{list-style:none;margin:0;padding:0;counter-reset:p;}
.passi li{counter-increment:p;display:grid;grid-template-columns:30px 1fr;gap:10px;padding:9px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.passi li::before{content:counter(p);font-family:var(--dati);font-weight:700;font-size:.82rem;color:#fff;background:var(--verde);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.passi p{margin:0;font-size:1.06rem;line-height:1.52;}
.passi li.fatto p{opacity:.4;}
.passi li.fatto::before{background:var(--salvia);color:var(--verde);}
.box{background:var(--velata);border-left:4px solid var(--verde);padding:12px 14px 6px;margin:14px 0;font-size:.96rem;line-height:1.46;}
.box h4{font-size:.68rem;margin:0 0 6px;}
.box h4 .cod{letter-spacing:.06em;}
.vicine{display:flex;justify-content:space-between;gap:12px;font-family:var(--dati);font-size:.8rem;font-weight:600;margin:18px 0 0;}
.vicine a{text-decoration:none;padding:10px 0;max-width:48%;}
.vicine a:last-child{text-align:right;margin-left:auto;}
.piede{font-family:var(--dati);font-size:.72rem;line-height:1.5;font-weight:500;color:#555;padding:4px 6px 0;}
.piede p{margin:0 0 .5rem;}

/* elenco delle schede */
.testa h1{font-size:1.6rem;line-height:1.2;margin:6px 0 4px;}
.testa h1 i{color:var(--rosso);}
.testa h1:last-child{margin-bottom:14px;}
.testa .sotto{font-family:var(--dati);font-size:.8rem;font-weight:500;color:var(--verde);margin:0 0 14px;}
.cerca{width:100%;font:500 1rem var(--dati);padding:12px 14px;border:1.5px solid var(--linea);border-radius:8px;background:#fff;color:var(--carbone);}
.cerca:focus{outline:2px solid var(--verde);outline-offset:1px;}
.filtri{display:flex;gap:7px;overflow-x:auto;padding:10px 0 4px;margin:0 -14px;padding-left:14px;padding-right:14px;scrollbar-width:none;}
.filtri::-webkit-scrollbar{display:none;}
.filtri button{flex:none;font:600 .76rem var(--dati);color:var(--verde);background:#fff;border:1px solid var(--linea);border-radius:20px;padding:9px 13px;cursor:pointer;}
.filtri button[aria-pressed="true"]{background:var(--verde);color:#fff;border-color:var(--verde);}
.conta{font-family:var(--dati);font-size:.74rem;font-weight:500;color:#555;margin:8px 2px;}
.elenco{list-style:none;margin:0;padding:0;}
.elenco h2{font-size:1.15rem;margin:20px 2px 8px;}
.elenco li.r a{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;background:#fff;border-radius:8px;padding:8px;margin:0 0 7px;text-decoration:none;color:var(--carbone);}
.elenco img{width:64px;height:64px;border-radius:6px;object-fit:cover;display:block;background:var(--velata);}
.elenco .t{font-family:var(--dati);font-weight:600;font-size:.92rem;line-height:1.28;display:block;}
.elenco .m{font-family:var(--dati);font-weight:500;font-size:.72rem;color:#555;display:block;margin-top:3px;}
[hidden]{display:none !important;}

/* lista della spesa */
.spesa h1{font-size:1.5rem;line-height:1.2;margin:0 0 10px;}
.spesa h2{font-size:1.2rem;margin:24px 0 6px;}
.spesa .nota{font-size:.92rem;line-height:1.45;}
.voci{list-style:none;margin:0;padding:0;font-family:var(--dati);}
.voci li{border-bottom:1px solid var(--linea);}
.voci label{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;padding:11px 0;cursor:pointer;}
.voci .a{font-weight:600;font-size:.95rem;line-height:1.3;display:block;}
.voci .q{font-weight:500;font-size:.8rem;line-height:1.4;color:#555;display:block;margin-top:2px;}
.voci .q b{color:var(--carbone);font-weight:600;}
.voci input:checked~.testo{opacity:.42;text-decoration:line-through;text-decoration-thickness:1px;}
.scarica{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px;}
.scarica a,.bottone{font:600 .8rem var(--dati);color:var(--verde);background:#fff;border:1.5px solid var(--verde);border-radius:8px;padding:10px 14px;text-decoration:none;cursor:pointer;}
.fondo-spesa{position:sticky;bottom:0;background:var(--verde);color:#fff;font:600 .78rem var(--dati);}
.fondo-spesa .dentro{max-width:720px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:4px 14px;}
.fondo-spesa button{font:inherit;color:#fff;background:none;border:0;padding:12px 0;cursor:pointer;text-decoration:underline;}

/* pagina iniziale del kit */
.casa .barra{display:none;}
.casa .apri{background:var(--verde);color:#fff;border-radius:10px;padding:30px 22px 22px;margin:0 0 12px;}
.casa .apri .occhiello{font:600 .66rem var(--dati);letter-spacing:.18em;text-transform:uppercase;color:var(--salvia);margin:0 0 12px;}
.casa .apri h1{font-size:2.1rem;line-height:1.1;margin:0 0 14px;color:#fff;}
.casa .apri p{max-width:34em;margin:0;}
.pezzi{list-style:none;margin:0;padding:0;}
.pezzi li{background:#fff;border-radius:10px;padding:16px 18px 14px;margin:0 0 10px;}
.pezzi h2{font-size:1.2rem;line-height:1.25;margin:0 0 4px;}
.pezzi p{font-size:.96rem;margin:0 0 10px;}
.vai{display:flex;flex-wrap:wrap;gap:8px;}
.vai a{font:600 .8rem var(--dati);color:var(--verde);background:#fff;border:1.5px solid var(--verde);border-radius:8px;padding:9px 13px;text-decoration:none;}
.vai a.pieno,.scarica a.pieno{color:#fff;background:var(--verde);}
.pezzi .gruppo{margin:0 0 12px;}
.pezzi .gruppo:last-child{margin-bottom:0;}
.pezzi .gruppo h3{font-size:.68rem;margin:0 0 7px;}
.avvertenza h2{font-size:1.1rem;margin:0 0 8px;}
.avvertenza p{font-size:.92rem;line-height:1.48;}

/* settimana: giornate */
.salti{display:flex;gap:7px;overflow-x:auto;margin:0 -14px 14px;padding:0 14px;scrollbar-width:none;}
.salti::-webkit-scrollbar{display:none;}
.salti a{flex:none;font:600 .8rem var(--dati);color:var(--rosso);background:#fff;border:1px solid var(--linea);border-radius:20px;padding:9px 14px;text-decoration:none;}
.giorno{scroll-margin-top:60px;}
.giorno .code{font-family:var(--dati);font-weight:600;color:var(--rosso);font-size:.9rem;letter-spacing:.04em;margin:0 0 2px;}
.giorno .code span{color:var(--verde);font-weight:500;}
.giorno h2{font-size:1.35rem;line-height:1.2;margin:0 0 8px;}
.pasti{list-style:none;margin:12px 0 4px;padding:0;font-family:var(--dati);}
.pasti li{border-top:1px solid var(--linea);padding:10px 0;}
.pasti li:last-child{border-bottom:1px solid var(--linea);}
.pasti .p{display:block;font-weight:600;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--verde);margin-bottom:3px;}
.pasti a,.pasti li>span:last-child{font-weight:600;font-size:.95rem;line-height:1.3;color:var(--carbone);text-decoration:none;display:block;}
.pasti a .cod{border-bottom:1px solid currentColor;}
.movimento{font-family:var(--dati);font-size:.82rem;font-weight:500;line-height:1.45;color:#555;margin:12px 0 0;}
.card>p:last-child,.card>.scarica:last-child{margin-bottom:0;}
.box ul{margin:0 0 6px;padding-left:1.1em;}
.box li{margin-bottom:5px;}
/* cambi */
.cambio h2{font-family:var(--dati);font-weight:600;font-size:.9rem;line-height:1.35;color:var(--carbone);letter-spacing:0;margin:0 0 10px;}
table.cambi{border-collapse:collapse;width:100%;font-family:var(--dati);font-size:.84rem;font-weight:500;line-height:1.35;}
table.cambi th{background:var(--verde);color:#fff;font-weight:600;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:8px;}
table.cambi td{padding:8px;border-bottom:1px solid var(--linea);vertical-align:top;}
table.cambi tbody tr:nth-child(even) td{background:var(--velata);}
table.cambi td:first-child{font-weight:600;color:var(--verde);white-space:nowrap;}
/* legenda di codici e icone */
.legenda{background:#fff;border-radius:10px;padding:4px 18px;margin:18px 0 16px;font-size:.94rem;}
.legenda summary{font:600 .8rem var(--dati);color:var(--verde);padding:12px 0;cursor:pointer;}
.legenda .codici{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-family:var(--dati);font-size:.84rem;font-weight:500;}
.icone-spiegate{list-style:none;margin:0 0 10px;padding:0;}
.icone-spiegate li{display:grid;grid-template-columns:26px 1fr;gap:10px;margin-bottom:9px;line-height:1.4;}
.icone-spiegate svg{width:22px;height:22px;fill:none;stroke:var(--verde);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:2px;}
/* sostituzioni */
.varianti li a{display:block;background:#fff;border-radius:8px;padding:11px 13px;margin:0 0 7px;text-decoration:none;color:var(--carbone);font-family:var(--dati);}
.varianti .t{font-weight:600;font-size:.92rem;line-height:1.3;display:block;}
.varianti .u{font-weight:500;font-size:.86rem;line-height:1.4;display:block;margin-top:3px;}
.varianti .m{font-weight:500;font-size:.72rem;color:#555;display:block;margin-top:4px;}
.elenco+.scarica{margin:14px 0 18px;}
.card h2{font-size:1.15rem;line-height:1.25;margin:18px 0 6px;}
.card h2:first-child{margin-top:0;}
/* fonti */
a.fonte{font-family:var(--dati);font-size:.82em;font-weight:600;text-decoration:none;white-space:nowrap;}
.fonti-elenco{list-style:none;margin:14px 0;padding:0;}
.fonti-elenco li{border-top:1px solid var(--linea);padding:12px 0 4px;scroll-margin-top:60px;font-size:.94rem;}
.fonti-elenco li:target{background:var(--velata);margin:0 -10px;padding-left:10px;padding-right:10px;}
.fonti-elenco .sito{font-family:var(--dati);font-size:.76rem;font-weight:600;color:var(--verde);}
.fonti ul:not(.fonti-elenco){padding-left:1.1em;}
.fonti ul:not(.fonti-elenco) li{margin-bottom:6px;}
/* senza rete */
.senza-rete h2{font-size:1.15rem;margin:0 0 6px;}
.senza-rete p{font-size:.94rem;}
.senza-rete .stato{font:600 .8rem var(--dati);color:var(--verde);margin:10px 0 0;}
.senza-rete .stato:empty{display:none;}
.bottone[disabled]{opacity:.5;}

@media(min-width:600px){.dati{grid-template-columns:repeat(3,1fr);}.casa .apri h1{font-size:2.3rem;}}
/* avvisi via email (facoltativi) e pagina della privacy. Il rosso del DNA resta ai codici: gli errori del modulo sono in verde. */
.avvisi h2{font-size:1.15rem;margin:0 0 6px;}
.avvisi>p{font-size:.94rem;}
.modulo label{display:block;font:600 .8rem var(--dati);margin:14px 0 6px;}
.modulo input[type=text],.modulo input[type=email]{display:block;width:100%;max-width:26rem;min-height:48px;font:inherit;padding:9px 12px;border:1.5px solid var(--verde);border-radius:8px;background:#fff;color:var(--carbone);}
.modulo input[aria-invalid=true]{border-width:3px;background:var(--velata);}
.modulo .consenso{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-family:inherit;font-weight:400;font-size:.94rem;line-height:1.45;margin:16px 0 4px;}
.modulo .consenso input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--verde);}
.trappola{position:absolute;left:-5000px;}
.modulo .piccolo{font-size:.84rem;line-height:1.45;color:#555;margin:12px 0;}
.modulo .errore{font:600 .84rem/1.4 var(--dati);color:var(--carbone);background:var(--velata);border-left:4px solid var(--verde);padding:9px 12px;margin:10px 0;}
.modulo .bottone{color:#fff;background:var(--verde);margin-top:4px;}
.privacy ul{padding-left:1.2em;margin:0 0 14px;}
.privacy li{margin-bottom:7px;}
@media print{.barra,.vicine,.fondo-spesa,.scarica{display:none;}body{background:#fff;}.card{padding:0;}.scheda .foto{margin:0 0 10px;}}
