/* ============================================
   A&V AUTOMATION — LEGAL PAGES STYLESHEET
   Condivide i design token del sito principale.
   ============================================ */
:root{
  --carbon:#0b0b0b;
  --carbon-soft:#121212;
  --carbon-raise:#181818;
  --coral:#00d4ff;
  --energy:#3b82f6;
  --crust:#ff7a29;
  --bone:#f7f7f7;
  --steel:#9a9a9a;
  --steel-dim:#6e6e6e;
  --line: rgba(247,247,247,0.12);
  --line-strong: rgba(247,247,247,0.22);
  --display: 'Geist', sans-serif;
  --mono: 'Geist Mono', monospace;
  --body: 'Geist', sans-serif;
  --container: 880px;
  --gutter: clamp(20px, 5vw, 64px);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--carbon);
  color:var(--bone);
  font-family:var(--body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--coral); text-decoration:none; }
a:hover{ text-decoration:underline; }
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}

/* Header */
.legal-header{
  border-bottom:1px solid var(--line);
  padding:22px 0;
  position:sticky;
  top:0;
  background:rgba(11,11,11,0.92);
  backdrop-filter:blur(10px);
  z-index:10;
}
.legal-header .container{ display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1280px; }
.legal-brand{ display:flex; align-items:center; gap:12px; }
.legal-brand img{ width:34px; height:34px; }
.legal-brand span{ font-family:var(--display); font-weight:800; font-size:16px; letter-spacing:0.01em; }
.legal-back{ font-family:var(--mono); font-size:12.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--steel); }
.legal-back:hover{ color:var(--coral); }

/* Content */
.legal-main{ padding:clamp(48px,8vw,88px) 0 100px; }
.legal-eyebrow{
  font-family:var(--mono); font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--coral);
  display:flex; align-items:center; gap:10px;
}
.legal-eyebrow::before{ content:''; width:7px; height:7px; background:var(--coral); border-radius:50%; }
.legal-main h1{
  font-family:var(--display); font-weight:800; font-size:clamp(30px,4.2vw,46px); margin-top:18px; letter-spacing:-0.01em;
}
.legal-updated{ font-family:var(--mono); font-size:12.5px; color:var(--steel); margin-top:14px; }
.legal-notice{
  margin-top:32px;
  padding:18px 20px;
  border:1px solid var(--line-strong);
  border-left:3px solid var(--crust);
  background:var(--carbon-soft);
  font-size:14px;
  color:var(--steel);
  border-radius:2px;
}
.legal-notice strong{ color:var(--bone); }
.legal-body{ margin-top:48px; }
.legal-body h2{
  font-family:var(--display); font-weight:700; font-size:clamp(20px,2.2vw,26px);
  margin-top:48px; margin-bottom:16px; padding-top:24px; border-top:1px solid var(--line);
}
.legal-body h2:first-child{ margin-top:0; padding-top:0; border-top:none; }
.legal-body h3{ font-family:var(--display); font-weight:700; font-size:16.5px; margin-top:26px; margin-bottom:10px; color:var(--bone); }
.legal-body p{ color:var(--steel); font-size:15px; margin-bottom:14px; max-width:70ch; }
.legal-body p strong, .legal-body li strong{ color:var(--bone); }
.legal-body ul, .legal-body ol{ color:var(--steel); font-size:15px; margin:0 0 16px 22px; }
.legal-body li{ margin-bottom:8px; }
.legal-body a{ word-break:break-word; }

/* Simple data table (cookie table) */
.legal-table-wrap{ overflow-x:auto; margin:20px 0 28px; border:1px solid var(--line); }
table.legal-table{ width:100%; border-collapse:collapse; min-width:560px; font-size:13.5px; }
table.legal-table th, table.legal-table td{
  text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top;
}
table.legal-table th{
  font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--coral); background:var(--carbon-soft);
}
table.legal-table td{ color:var(--steel); }
table.legal-table tr:last-child td{ border-bottom:none; }

.legal-toc{ margin-top:32px; border:1px solid var(--line); padding:20px 22px; background:var(--carbon-soft); }
.legal-toc-title{ font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--steel); margin-bottom:10px; }
.legal-toc ol{ margin:0; padding-left:20px; color:var(--bone); font-size:14px; }
.legal-toc li{ margin-bottom:6px; }
.legal-toc a{ color:var(--bone); }
.legal-toc a:hover{ color:var(--coral); }

.legal-btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:13px; font-weight:600; letter-spacing:0.04em;
  padding:12px 22px; border-radius:2px; border:1px solid var(--line-strong); color:var(--bone);
  background:transparent; cursor:pointer; transition:border-color .2s, color .2s;
}
.legal-btn:hover{ border-color:var(--coral); color:var(--coral); text-decoration:none; }

/* Footer (condensed) */
.legal-footer{
  border-top:1px solid var(--line);
  padding:28px 0;
  font-family:var(--mono); font-size:12px; color:var(--steel-dim);
}
.legal-footer .container{ display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:space-between; align-items:center; max-width:1280px; }
.legal-footer nav{ display:flex; flex-wrap:wrap; gap:18px; }
.legal-footer a{ color:var(--steel); }
.legal-footer a:hover{ color:var(--coral); }
