/* FILE: stile-consultatore.css. COSA FA: grafica della ricerca e dei box espandibili.
QUANDO: caricato da index.php dopo la testa condivisa. PERCHE: rende la pagina
leggibile su desktop e mobile senza dipendere dalla griglia Tabler.
DIPENDENZE: index.php, header.php, footer.php, riquadri-pubblici.php e variabili colore delle impostazioni.
I riquadri editoriali mantengono quattro o cinque colonne su desktop, anche con un solo box. */
.consultatore-reattivo{margin:0;background:var(--colore-sfondo,#f5f8fa);color:var(--colore-testo,#26343b);font:16px/1.65 system-ui,-apple-system,sans-serif}
.consultatore-reattivo *{box-sizing:border-box}
.consultatore-reattivo [hidden]{display:none!important}
.consultatore-reattivo .salta-contenuto{position:absolute;left:12px;top:-120px;background:white;padding:12px;z-index:100}
.consultatore-reattivo .salta-contenuto:focus{top:12px}
.consultatore-reattivo header,.consultatore-reattivo footer,.contenitore-consultatore{width:100%;max-width:1000px;margin:auto;padding-left:24px;padding-right:24px}
.consultatore-reattivo header{padding-top:24px!important;padding-bottom:24px;border-bottom:1px solid #dce5e7}
.consultatore-reattivo header img{max-width:240px;max-height:80px;width:auto;height:auto;object-fit:contain}
.contenitore-consultatore{padding-top:42px;padding-bottom:24px}
.etichetta-consultatore{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--colore-principale,#087f8c);margin:0 0 12px}
.consultatore-reattivo h1{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-.03em;margin:0 0 16px;color:var(--colore-secondario,#164e63)}
.introduzione-consultatore>p:last-child{max-width:720px;margin:0 0 28px;font-size:17px}
.ricerca-consultatore{background:#fff;border:1px solid #dce5e7;border-radius:16px;padding:24px;box-shadow:0 6px 24px #163b4808;margin-bottom:32px}
.ricerca-consultatore label{display:block;font-weight:700;font-size:18px;margin-bottom:10px}
.campo-ricerca-consultatore{display:flex;gap:12px}
.campo-ricerca-consultatore input{flex:1;min-width:0;border:1px solid #b7c8cc;border-radius:9px;background:#fff;padding:14px 16px;font:inherit;width:100%}
.campo-ricerca-consultatore button{border:0;border-radius:9px;padding:14px 24px;font:inherit;font-weight:700;color:#fff;background:var(--colore-principale,#087f8c);cursor:pointer}
.aiuto-ricerca{font-size:13px;color:#596d75;margin:12px 0 0}
.intestazione-risultati{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.intestazione-risultati h2{font-size:22px;margin:0;color:var(--colore-secondario,#164e63)}
.intestazione-risultati p{margin:0;font-size:13px;color:#596d75}
.griglia-consultatore{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.scheda-espandibile{background:#fff;border:1px solid #dce5e7;border-radius:14px;overflow:hidden}
.scheda-espandibile summary{display:block;list-style:none;padding:20px;cursor:pointer;position:relative}
.scheda-espandibile summary::-webkit-details-marker{display:none}
.scheda-espandibile summary:hover{background:#f4f9f8}
.categoria-scheda{display:block;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#596d75;margin-bottom:6px}
.scheda-espandibile h3{font-size:21px;line-height:1.3;margin:0 0 14px;color:var(--colore-secondario,#164e63)}
.azione-scheda{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650;color:var(--colore-principale,#087f8c)}
.simbolo-scheda{font-size:24px;line-height:1}
.azione-chiudi{display:none}
.scheda-espandibile[open]{border-color:var(--colore-principale,#087f8c)}
.scheda-espandibile[open] .azione-apri{display:none}
.scheda-espandibile[open] .azione-chiudi{display:inline}
.scheda-espandibile[open] .simbolo-scheda{transform:rotate(45deg)}
.risposte-scheda{padding:0 20px 20px;border-top:1px solid #e4ecee}
.risposte-scheda h4{font-size:15px;font-weight:750;margin:20px 0 6px;color:var(--colore-secondario,#164e63)}
.risposte-scheda p{font-size:15px;margin:0;line-height:1.7}
.nessun-risultato{padding:24px;border:1px solid #dce5e7;background:#fff;border-radius:14px}
.nessun-risultato h3{font-size:19px;margin:0 0 8px}.nessun-risultato p{margin:0}
.nota-consultatore{font-size:13px;color:#596d75;margin:26px 0 12px}
.bozza-consultatore{font-size:12px;color:#745321;background:#fff8e9;border-radius:8px;padding:10px 14px}
.consultatore-reattivo footer{font-size:13px;padding-top:24px;padding-bottom:28px!important;border-top:1px solid #dce5e7;margin-top:12px}
.consultatore-reattivo input:focus-visible,.consultatore-reattivo button:focus-visible,.consultatore-reattivo summary:focus-visible{outline:3px solid var(--colore-principale,#087f8c);outline-offset:3px}
@media(max-width:640px){.griglia-consultatore{grid-template-columns:1fr}.contenitore-consultatore{padding-top:28px}.ricerca-consultatore{padding:18px}.campo-ricerca-consultatore{gap:8px}.campo-ricerca-consultatore button{padding:12px 16px}.intestazione-risultati{align-items:flex-start;flex-direction:column}.consultatore-reattivo header,.consultatore-reattivo footer,.contenitore-consultatore{padding-left:18px;padding-right:18px}}

/* Homepage: header bianco a tutta larghezza, footer bianco e riquadri uniformi.
 * DIPENDENZE: header.php, footer.php, riquadri-pubblici.php e dati-riquadri.json. */
.consultatore-reattivo .header-pubblico{background:#fff;max-width:none;width:100%;padding:20px 0!important;border-bottom:1px solid #e4eaed}
.contenuto-header{max-width:1120px;padding:0 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.descrizione-header{font-size:14px;color:#586b74;font-weight:600}
.consultatore-reattivo .footer-pubblico{max-width:none;background:white;padding:32px 0!important;border-top:1px solid #e4eaed}
.contenuto-footer{max-width:1120px;margin:auto;padding:0 24px}
.contenitore-consultatore{max-width:1120px;padding-top:52px}
.introduzione-consultatore{max-width:850px}.consultatore-reattivo h1{font-size:clamp(32px,5vw,52px)}
.ricerca-consultatore{padding:28px;border-radius:20px;margin-bottom:28px;box-shadow:0 12px 32px #173d4808}
.campo-ricerca-consultatore input{font-size:19px;padding:18px}.campo-ricerca-consultatore button{padding:18px 28px}
.approfondimenti-pubblici{margin:0 0 38px}.approfondimenti-pubblici h2{font-size:20px;color:var(--colore-secondario,#164e63);margin:0 0 16px}
.griglia-approfondimenti{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.griglia-approfondimenti.cinque-riquadri{grid-template-columns:repeat(5,minmax(0,1fr))}
.riquadro-articolo{border:1px solid #dce5e7;border-radius:14px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.immagine-riquadro{display:block;width:100%;aspect-ratio:8/5;background:#eef3f5;overflow:hidden}
.immagine-riquadro img{display:block;width:100%;height:100%;object-fit:cover}.immagine-riquadro.senza-immagine{display:flex;align-items:center;justify-content:center;color:#61757e;font-size:12px}
.testo-riquadro{padding:16px;display:flex;flex:1;flex-direction:column;min-height:142px}
.riquadro-articolo h3{font-size:16px;line-height:1.45;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--colore-secondario,#164e63)}
.testo-riquadro>a{margin-top:auto;font-size:13px;line-height:1.5;font-weight:700;color:var(--colore-principale,#087f8c);overflow-wrap:anywhere}
.scheda-espandibile{box-shadow:0 4px 18px #173d4804}.scheda-espandibile summary{padding:24px}
.consultatore-reattivo a:focus-visible{outline:3px solid var(--colore-principale,#087f8c);outline-offset:3px}
@media(max-width:900px){.griglia-approfondimenti,.griglia-approfondimenti.cinque-riquadri{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.griglia-approfondimenti,.griglia-approfondimenti.cinque-riquadri{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:560px){.descrizione-header{display:none}.contenuto-header,.contenuto-footer{padding:0 18px}.ricerca-consultatore{padding:20px}.campo-ricerca-consultatore input{font-size:16px;padding:14px}.campo-ricerca-consultatore button{padding:14px 18px}.testo-riquadro{padding:12px}.riquadro-articolo h3{font-size:15px}}

/* Altezza testo identica anche con titoli e link di lunghezza diversa. */
.testo-riquadro{height:132px;min-height:132px;flex:none}
.testo-riquadro>a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.riquadro-articolo h3 a{color:inherit;text-decoration:none}.riquadro-articolo h3 a:hover{text-decoration:underline}

/* Suggerimenti e alternativa: dipendono da index.php e ricerca-alimenti.js. */
.suggerimenti-alimenti{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.suggerimenti-alimenti li{margin:0}.suggerimenti-alimenti button{background:#f0f6f6;border:1px solid #c8dbde;border-radius:8px;padding:9px 14px;font:inherit;font-size:14px;color:var(--colore-secondario,#164e63);cursor:pointer}
.suggerimenti-alimenti button:hover{background:#e1eeef}
.indicazione-scheda{display:inline-block;max-width:100%;font-size:12px;line-height:1.5;color:#51646b;background:#eef3f5;padding:5px 9px;border-radius:6px;margin:0 0 14px}
.alternativa-scheda{background:#f3f8f7;border-radius:10px;padding:14px;margin-top:20px}.alternativa-scheda h4{margin-top:0}.alternativa-scheda .nota-alternativa{font-size:12px;color:#596d75;margin-top:8px}
.approfondimenti-pubblici{margin-top:34px}

/* Assistenza: contatto-scheda.php, index.php e segnalazioni; colori dal tema pubblico. */
.contatto-scheda{margin-top:22px;padding-top:18px;border-top:1px solid #dce5e7}.contatto-scheda h4{margin-top:0}.azioni-contatto{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.azioni-contatto a,.modulo-segnalazione button{display:inline-block;padding:10px 14px;border:1px solid var(--colore-principale,#087f8c);border-radius:8px;color:var(--colore-principale,#087f8c);background:#fff;font:inherit;font-size:14px;font-weight:650;text-decoration:none;cursor:pointer}.azioni-contatto a:hover{background:#f0f7f7}.modulo-segnalazione{margin-top:18px;padding-top:18px;border-top:1px solid #dce5e7}.modulo-segnalazione button{margin-top:12px;background:var(--colore-principale,#087f8c);color:white}.modulo-segnalazione .nota-segnalazione{font-size:12px;color:#596d75;margin-top:12px}.campo-antispam{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.avviso-consultatore{padding:16px;border:1px solid #c8dbde;border-radius:10px;background:white;margin-bottom:20px}
