/* Pagine legali e banner: palette e font del tema SIAL, misure adatte alla lettura. */
.legal-page{max-width:1180px;margin:0 auto;padding:clamp(36px,6vw,88px) var(--gutter);font-size:clamp(17px,1.32vw,20px);line-height:1.65;}
.legal-page p{margin:0 0 1.1em;}
.legal-title{font-family:var(--font-display);font-weight:400;font-size:clamp(36px,4.4vw,64px);line-height:1.1;color:var(--red-card);margin:0 0 24px;}
.legal-lead{font-size:clamp(19px,1.7vw,24px);line-height:1.5;max-width:48ch;}
.legal-date{font-size:14px;}
.legal-draft{border-left:4px solid var(--red-card);padding:16px 20px;background:#f4f4f3;font-size:15px;line-height:1.6;margin:28px 0!important;}
.legal-toc{border-block:1px solid var(--nav-border);padding:24px 0;margin:30px 0 40px;}
.legal-toc p{font-weight:700;margin-bottom:10px;}
.legal-toc ol{columns:2;column-gap:32px;margin:0;padding-left:22px;font-size:16px;}
.legal-toc li{padding:3px 0;break-inside:avoid;}
.legal-toc a{text-underline-offset:4px;}
.legal-section{margin-top:40px;scroll-margin-top:24px;}
.legal-section h2{font-family:var(--font-body);font-size:clamp(23px,2vw,29px);font-weight:700;line-height:1.3;color:var(--ink);margin:0 0 20px;}
.legal-section ul{padding-left:24px;margin:0 0 24px;}
.legal-section li{margin-bottom:12px;}
.legal-page a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px;}
.legal-table{margin:24px 0;}
.legal-table table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.6;text-align:left;}
.legal-table caption{text-align:left;font-size:14px;padding:0 0 12px;font-weight:600;}
/* 19/10/2026: niente intestazione scura; filo rosso sotto i titoli, righe separate da linee sottili. */
.legal-table th,.legal-table td{background:none;border:0;border-bottom:1px solid var(--nav-border);padding:14px 16px 14px 0;vertical-align:top;color:var(--ink);}
.legal-table th{font-weight:700;border-bottom:2px solid var(--red-card);padding-bottom:10px;}
.legal-table td:first-child{font-weight:600;width:26%;}
.legal-table:focus-visible,.legal-page a:focus-visible,.privacy-panel :focus-visible,.privacy-open:focus-visible{outline:3px solid var(--blu);outline-offset:4px;}
.privacy-open{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.footer-legal .privacy-open{display:block;margin-top:0;}
.privacy-panel{position:fixed;z-index:80;right:24px;bottom:20px;left:24px;max-width:860px;margin-inline:auto;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:#efefee;color:var(--ink);border:1px solid var(--nav-border);border-top:5px solid var(--red-card);border-radius:18px;box-shadow:0 12px 40px #0004;padding:24px 28px 22px;font-family:var(--font-body);font-size:16px;line-height:1.5;}
.privacy-panel[hidden],.privacy-panel [hidden]{display:none!important;}
.privacy-panel h2{font-family:var(--font-display);font-size:28px;font-weight:400;line-height:1.15;color:var(--red-card);margin:0 48px 10px 0;}
/* Variante A del 19/10/2026: testo a sinistra, link delle informative a destra sulla stessa base. */
.privacy-intro{display:grid;grid-template-columns:1fr auto;column-gap:32px;align-items:end;}
.privacy-intro h2{grid-column:1/-1;}
.privacy-intro>p{margin:0;max-width:60ch;}
.privacy-links{display:flex;gap:18px;}
.privacy-links a{text-underline-offset:3px;}
.privacy-close{position:absolute;right:16px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font:32px/1 var(--font-body);cursor:pointer;}
.privacy-close:hover{background:#ddd;}
.privacy-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;}
.privacy-button{font:600 16px/1.3 var(--font-body);min-height:46px;padding:12px 26px;border:2px solid var(--red-card);border-radius:999px;cursor:pointer;background:var(--red-card);color:#fff;box-shadow:0 4px 6px #0002;}

/* Rifiuta e Accetta: stessa misura, come chiede il Garante. */
.privacy-choice{width:172px;}
.privacy-button:hover{background:#a30c18;border-color:#a30c18;}
.privacy-secondary{background:transparent;color:var(--red-card);}
.privacy-secondary:hover{background:#e3d8d8;color:#a30c18;}
.privacy-preferences{margin-top:16px;}
.privacy-secondary[aria-expanded="true"]{display:none;}
.privacy-preferences fieldset{border:0;padding:0;margin:0 0 18px;min-width:0;}
.privacy-preferences legend{font-size:19px;font-weight:700;margin-bottom:4px;padding:0;}
.privacy-option{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #d2d2d1;}
label.privacy-option{cursor:pointer;}
.privacy-option strong{display:block;}
.privacy-option p,.privacy-option-text{display:block;font-size:15px;color:#5c5c5c;margin:0;}
.privacy-required{font-size:14px;color:#5c5c5c;white-space:nowrap;}
/* Interruttore: la casella resta nel DOM (tastiera e lettori di schermo), il disegno è il <i> accanto. */
.privacy-option input{position:absolute;opacity:0;width:1px;height:1px;}
.privacy-switch{flex:none;position:relative;width:46px;height:26px;border-radius:13px;background:#b9b9b8;transition:background .15s;}
.privacy-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s;}
.privacy-option input:checked+.privacy-switch{background:var(--red-card);}
.privacy-option input:checked+.privacy-switch::after{left:23px;}
.privacy-option input:focus-visible+.privacy-switch{outline:3px solid var(--blu);outline-offset:3px;}
@media (prefers-reduced-motion:reduce){.privacy-switch,.privacy-switch::after{transition:none;}}
.privacy-message{background:#fff;border-left:3px solid var(--red-card);padding:12px;margin:18px 0 0;font-size:15px;}
@media(max-width:650px){
  .legal-page{padding-inline:22px;}
  .legal-toc ol{columns:1;}
  /* Tabella a schede: una riga per scheda, etichette da data-label. */
  .legal-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .legal-table table,.legal-table tbody,.legal-table tr,.legal-table td{display:block;width:auto;}
  .legal-table caption{display:block;}
  .legal-table tr{background:#ededec;border-left:3px solid var(--red-card);padding:14px 16px;margin-bottom:12px;}
  .legal-table td{border:0;padding:0 0 10px;}
  .legal-table td:first-child{width:auto;font-size:17px;padding-bottom:12px;}
  .legal-table td:not(:first-child)::before{content:attr(data-label);display:block;font-size:13px;font-weight:600;color:#5c5c5c;}
  .legal-table td:last-child{padding-bottom:0;}
  .privacy-panel{left:12px;right:12px;bottom:12px;max-height:calc(100dvh - 24px);padding:20px 20px 18px;border-radius:14px;font-size:15px;}
  .privacy-panel h2{font-size:24px;}
  .privacy-intro{display:block;}
  .privacy-intro>p{margin-bottom:12px;}
  .privacy-actions{gap:10px;}
  .privacy-button{flex:1 1 40%;padding-inline:12px;}
  .privacy-secondary{flex-basis:100%;}
  .privacy-preferences .privacy-button{width:100%;}
  .privacy-option{gap:14px;}
}
@media print{.privacy-panel,.privacy-open,.legal-toc{display:none!important;}.legal-page{max-width:none;padding:0;color:#000;font-size:11pt;}.legal-table{overflow:visible;}.legal-table table{min-width:0;}.legal-section{break-inside:avoid;}.legal-draft{border:1px solid #000;}}
