/* legal.css — Pagine legali (Privacy + Cookie). Stili condivisi.
   Header, burger, footer, cursore, back-top: gestiti dal tema → non ripetuti. */

.legal-wrap{max-width:1180px;margin:0 auto;padding-top:112px;padding-left:clamp(14px,4vw,40px);padding-right:clamp(14px,4vw,40px);padding-bottom:clamp(40px,5vw,80px)}
.legal-head{text-align:center;padding:clamp(24px,3vw,40px) 0 clamp(20px,2.5vw,30px);border-bottom:1px solid var(--cream-2);margin-bottom:clamp(32px,4vw,52px)}
.legal-kicker{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:0.3em;color:var(--ink-mute);text-transform:uppercase;margin-bottom:14px}
.legal-title{font-family:'DM Serif Display',serif;font-size:clamp(28px,4vw,46px);color:var(--ink);letter-spacing:-0.015em;line-height:1.15;margin-bottom:12px}
.legal-meta{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(13px,1.4vw,16px);color:var(--ink-mute)}
.legal-meta span.v{color:var(--terracotta);font-style:normal;font-family:'Montserrat',sans-serif;font-size:9.5px;letter-spacing:0.24em;text-transform:uppercase;margin-left:10px;padding-left:10px;border-left:1px solid var(--line)}

.legal-grid{display:grid;grid-template-columns:220px 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.legal-toc{position:sticky;top:112px;font-family:'Montserrat',sans-serif;padding-top:4px}
.legal-toc .toc-title{font-size:9.5px;letter-spacing:0.3em;color:var(--ink-mute);text-transform:uppercase;margin-bottom:18px;font-weight:500}
.legal-toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:9px;border-left:1px solid var(--cream-2);padding-left:18px}
.legal-toc li{counter-increment:toc;position:relative}
.legal-toc li::before{content:counter(toc,decimal-leading-zero);position:absolute;left:-32px;font-size:9px;color:var(--line);letter-spacing:0.14em;top:3px}
.legal-toc a{text-decoration:none;font-size:11px;font-weight:400;letter-spacing:0.04em;color:var(--ink-soft);line-height:1.4;transition:color 0.3s;display:block}
.legal-toc a:hover{color:var(--terracotta)}
.legal-toc a.current{color:var(--terracotta);font-weight:500}

.legal-body{max-width:760px;font-family:'Cormorant Garamond',serif;color:var(--ink)}
.legal-body h2{font-family:'DM Serif Display',serif;font-size:clamp(22px,2.5vw,28px);color:var(--ink);margin-top:clamp(40px,5vw,60px);margin-bottom:clamp(14px,1.6vw,20px);line-height:1.15;letter-spacing:-0.01em;scroll-margin-top:112px}
.legal-body h2:first-child{margin-top:0}
.legal-body h2 .num{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:500;letter-spacing:0.26em;color:var(--terracotta);display:block;margin-bottom:6px;text-transform:uppercase}
.legal-body h3{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.16em;color:var(--ink);text-transform:uppercase;margin-top:clamp(22px,2.4vw,28px);margin-bottom:12px}
.legal-body p{font-size:clamp(14px,1.5vw,17px);font-weight:400;line-height:1.7;color:var(--ink);margin-bottom:14px;text-align:justify;letter-spacing:-0.005em}
.legal-body p.lede{font-size:clamp(15px,1.65vw,19px);font-style:italic;color:var(--ink-soft);margin-bottom:22px;line-height:1.55;text-align:left}
.legal-body ul{list-style:none;margin:8px 0 18px;padding-left:0}
.legal-body ul li{position:relative;padding-left:22px;font-size:clamp(13.5px,1.5vw,16px);line-height:1.6;margin-bottom:8px;color:var(--ink)}
.legal-body ul li::before{content:'';position:absolute;left:0;top:11px;width:10px;height:1px;background:var(--terracotta)}
.legal-body strong{font-weight:500}
.legal-body em{font-style:italic;color:var(--ink-soft)}
.legal-body a{color:var(--terracotta);text-decoration:none;border-bottom:1px solid rgba(164,90,82,0.3);transition:all 0.3s}
.legal-body a:hover{border-bottom-color:var(--terracotta)}
.legal-body .highlight-box{background:rgba(164,90,82,0.06);border-left:2px solid var(--terracotta);padding:18px 22px;margin:22px 0;font-size:clamp(13px,1.4vw,15px);line-height:1.6}
.legal-body .highlight-box p{margin-bottom:8px;font-size:inherit}
.legal-body .highlight-box p:last-child{margin-bottom:0}

/* Tabella cookie */
.cookie-table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-family:'Montserrat',sans-serif;font-size:11px}
.cookie-table th{text-align:left;padding:10px 12px;border-bottom:1.5px solid var(--line);font-size:9.5px;letter-spacing:0.18em;color:var(--ink-mute);text-transform:uppercase;font-weight:500;vertical-align:bottom}
.cookie-table td{padding:12px;border-bottom:1px solid var(--cream-2);font-size:11.5px;line-height:1.5;color:var(--ink);vertical-align:top;font-weight:400}
.cookie-table td.name{font-family:'Courier New',monospace;font-size:11px;color:var(--ink-soft)}

/* Responsive */
@media(max-width:900px){
  .legal-grid{grid-template-columns:1fr;gap:24px}
  .legal-toc{position:relative;top:auto;max-height:none;padding-bottom:20px;border-bottom:1px solid var(--cream-2);margin-bottom:20px}
  .legal-toc ol{gap:2px;border-left:none;padding-left:0}
  .legal-toc li{display:flex;align-items:baseline}
  .legal-toc li::before{position:static;flex:0 0 28px}
  .legal-toc a{padding:4px 0;font-size:10.5px}
}
@media(max-width:640px){
  .legal-wrap{padding-top:100px;padding-left:14px;padding-right:14px;max-width:100vw;overflow-x:hidden}
  .legal-head{padding:18px 0 16px;margin-bottom:26px}
  .legal-title{font-size:clamp(22px,6.5vw,28px)}
  .legal-kicker{font-size:9px;letter-spacing:0.22em}
  .legal-meta{font-size:12px}
  .legal-body{max-width:100%;overflow-x:hidden}
  .legal-body h2{font-size:clamp(18px,5vw,22px);margin-top:32px;margin-bottom:12px}
  .legal-body h2 .num{font-size:9px;letter-spacing:0.22em}
  .legal-body h3{font-size:11px;letter-spacing:0.14em;margin-top:18px}
  .legal-body p{font-size:14.5px;line-height:1.65;margin-bottom:12px;text-align:left}
  .legal-body p.lede{font-size:15.5px;margin-bottom:18px}
  .legal-body ul li{font-size:13.5px;line-height:1.55;padding-left:18px}
  .legal-body .highlight-box{padding:14px 16px;font-size:13px}
  .legal-body a{word-break:break-all}
  .cookie-table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:10px;white-space:nowrap}
  .cookie-table thead,.cookie-table tbody,.cookie-table tr{display:table;width:max-content;min-width:100%;table-layout:auto}
  .cookie-table th,.cookie-table td{padding:6px 8px;font-size:10px;white-space:nowrap;min-width:80px}
  .cookie-table td.name{font-size:9.5px;min-width:120px}
  .cookie-table td:nth-child(3),.cookie-table td:nth-child(4){white-space:normal;min-width:140px;max-width:180px}
}
@media(max-width:400px){
  .legal-title{font-size:22px}
  .legal-body h2{font-size:18px}
  .legal-body p{font-size:13.5px}
}
