/*
 *  Stile condiviso delle pagine legali (privacy, cookie policy, condizioni d'uso).
 *  Riprende i token cromatici della landing (index.html) per non introdurre
 *  una seconda identita' visiva.
 */

:root{
  --color-primary:#F97316;
  --color-primary-dark:#EA580C;
  --color-primary-light:#FFEDD5;
  --color-secondary:#0F172A;
  --color-bg:#FFFFFF;
  --color-bg-alt:#F8FAFC;
  --color-fg:#0F172A;
  --color-fg-muted:#475569;
  --color-fg-subtle:#94A3B8;
  --color-border:#E2E8F0;
  --radius-sm:10px;
  --radius-md:16px;
  --container:820px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}

body{
  font-family:'Work Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color:var(--color-fg);
  background:var(--color-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:'Outfit', system-ui, sans-serif;
  font-weight:700;
  line-height:1.18;
  letter-spacing:-0.02em;
  color:var(--color-secondary);
  text-wrap:balance;
}

a{color:var(--color-primary-dark); text-underline-offset:3px;}
a:hover{color:var(--color-primary);}
a:focus-visible{outline:2.5px solid var(--color-primary); outline-offset:2px; border-radius:4px;}

.container{width:100%; max-width:var(--container); margin:0 auto; padding:0 24px;}

/*  >   TESTATA  */
.legal-header{
  border-bottom:1px solid var(--color-border);
  background:var(--color-bg-alt);
  padding:20px 0;
}
.legal-header .container{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.legal-logo{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Outfit', sans-serif; font-weight:700; font-size:19px;
  color:var(--color-secondary); text-decoration:none;
}
.legal-logo .mark{
  width:30px; height:30px; border-radius:9px;
  background:var(--color-primary); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:15px; font-weight:800;
}
.legal-back{font-size:14.5px; font-weight:600; text-decoration:none;}

/*  >   CORPO  */
main{padding:56px 0 80px;}

.eyebrow{
  display:inline-block;
  font-size:12.5px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase;
  color:var(--color-primary-dark); background:var(--color-primary-light);
  padding:5px 13px; border-radius:999px; margin-bottom:16px;
}

h1{font-size:clamp(30px,5vw,42px); margin-bottom:12px;}

.aggiornamento{
  font-size:14px; color:var(--color-fg-subtle);
  padding-bottom:28px; margin-bottom:32px;
  border-bottom:1px solid var(--color-border);
}

h2{
  font-size:22px; margin:44px 0 14px;
  padding-top:8px;
}
h3{font-size:17px; margin:26px 0 10px; font-weight:600;}

p{margin-bottom:16px; color:var(--color-fg-muted);}
p strong, li strong{color:var(--color-fg); font-weight:600;}

ul,ol{margin:0 0 18px 22px; color:var(--color-fg-muted);}
li{margin-bottom:9px;}

/*  >   RIQUADRO DEI SEGNAPOSTO DA COMPILARE  */
.da-compilare{
  background:#FEF3C7; border:1px solid #FCD34D; color:#78350F;
  border-radius:var(--radius-sm); padding:16px 20px; margin-bottom:36px;
  font-size:14.5px;
}
.da-compilare strong{color:#78350F;}

.nota{
  background:var(--color-bg-alt); border-left:3px solid var(--color-primary);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:16px 20px; margin:24px 0;
  font-size:15px;
}
.nota p:last-child{margin-bottom:0;}

/*  >   TABELLE  */
.tabella{overflow-x:auto; margin:22px 0 28px; border:1px solid var(--color-border); border-radius:var(--radius-sm);}
table{border-collapse:collapse; width:100%; min-width:560px; background:#fff; font-size:14.5px;}
th,td{text-align:left; padding:12px 16px; border-bottom:1px solid var(--color-border); vertical-align:top; color:var(--color-fg-muted);}
th{background:var(--color-bg-alt); color:var(--color-fg); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:0.04em; white-space:nowrap;}
tbody tr:last-child td{border-bottom:none;}

/*  >   PIEDE  */
.legal-footer{
  border-top:1px solid var(--color-border);
  padding:28px 0 48px;
  font-size:13.5px; color:var(--color-fg-subtle);
}
.legal-footer nav{display:flex; flex-wrap:wrap; gap:10px 22px; margin-bottom:14px; font-weight:500;}
.legal-footer a{text-decoration:none;}
