/* ===== FONT GLACIAL INDIFFERENCE ===== */
@font-face {
  font-family: 'Glacial Indifference';
  src: url('fonts/GlacialIndifference-Regular.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Glacial Indifference';
  src: url('fonts/GlacialIndifference-Bold.otf') format('opentype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Glacial Indifference';
  src: url('fonts/GlacialIndifference-Italic.otf') format('opentype');
  font-weight: 400; font-style: italic; font-display: swap;
}

/* ===== FONT CORMORANT GARAMOND (self-hosted, nessuna chiamata a Google — GDPR) ===== */
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-300-normal.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-300-italic.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-garamond-latin-600-italic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap;}

:root{
  --blue:#336680;
  --blue-dark:#23495d;
  --rose:#e4a493;
  --rose-light:#f1cfc4;
  --rose-soft:#f8ebe5;
  --ivory:#faf7f4;
  --paper:#f3ede7;
  --ink:#2b2b2b;
  --muted:#6e6e6e;
  --line:rgba(51,102,128,0.15);
  --serif:'Cormorant Garamond', 'Times New Roman', serif;
  --sans:'Glacial Indifference', 'Helvetica Neue', Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--ivory);
  line-height:1.75;
  font-size:15.5px;
}
a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--rose);}

/* Header */
.legal-nav{
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:22px 0;
}
.legal-nav__inner{
  max-width:1100px;margin:0 auto;padding:0 30px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}
.legal-nav__logo{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;}
.legal-nav__logo img{height:42px;width:auto;}
.legal-nav__logo span{
  font-family:var(--serif);font-size:1.05rem;color:var(--blue);letter-spacing:.04em;line-height:1.1;
}
.legal-nav__logo small{
  display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--rose);margin-top:2px;
}
.legal-nav__back{
  font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--blue);text-decoration:none;font-weight:700;
}
.legal-nav__back:hover{color:var(--rose);}

/* Hero */
.legal-hero{
  background:var(--paper);
  padding:90px 30px 70px;
  text-align:center;
}
.legal-hero h1{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(2.2rem,5vw,3.6rem);
  color:var(--blue);margin-bottom:14px;
}
.legal-hero .eyebrow{
  font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--rose);font-weight:700;margin-bottom:18px;display:inline-block;
}
.legal-hero p{color:var(--muted);font-size:.95rem;}

/* Content */
.legal-content{
  max-width:880px;margin:0 auto;padding:80px 30px 100px;
}
.legal-content h2{
  font-family:var(--serif);font-style:italic;font-weight:500;
  color:var(--blue);
  font-size:1.7rem;margin:50px 0 18px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.legal-content h2:first-child{margin-top:0;}
.legal-content h3{
  font-family:var(--sans);font-weight:700;
  color:var(--blue-dark);
  font-size:1rem;text-transform:uppercase;letter-spacing:.12em;
  margin:32px 0 14px;
}
.legal-content p{margin-bottom:14px;color:#3d3d3d;}
.legal-content ul,.legal-content ol{margin:14px 0 22px 22px;}
.legal-content li{margin-bottom:8px;color:#3d3d3d;}
.legal-content strong{color:var(--blue-dark);font-weight:700;}
.legal-content em{font-style:italic;color:var(--blue);}

.toc{
  background:#fff;
  border-left:3px solid var(--rose);
  padding:26px 32px;margin-bottom:50px;
  box-shadow:0 8px 30px rgba(51,102,128,.06);
}
.toc h4{
  font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--rose);font-weight:700;margin-bottom:14px;
}
.toc ol{margin:0 0 0 20px;}
.toc li{margin-bottom:6px;font-size:.95rem;}
.toc a{color:var(--ink);text-decoration:none;}
.toc a:hover{color:var(--blue);text-decoration:underline;}

.info-box{
  background:#fff;
  padding:24px 28px;
  border-left:3px solid var(--blue);
  margin:24px 0;
  font-size:.92rem;
}
.info-box strong{display:block;margin-bottom:6px;color:var(--blue);}

.legal-table{
  width:100%;border-collapse:collapse;
  margin:18px 0 28px;font-size:.88rem;
  background:#fff;
  box-shadow:0 4px 14px rgba(51,102,128,.05);
}
.legal-table th,.legal-table td{
  text-align:left;padding:12px 14px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.legal-table th{
  background:var(--rose-soft);
  color:var(--blue-dark);
  font-weight:700;
  font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;
}
.legal-table tr:last-child td{border-bottom:none;}

.update-date{
  font-size:.82rem;color:var(--muted);
  font-style:italic;
  margin-top:60px;padding-top:24px;
  border-top:1px solid var(--line);
  text-align:center;
}

/* Footer */
.legal-footer{
  background:#1d3b4d;
  color:rgba(255,255,255,.7);
  padding:40px 30px;
  text-align:center;
  font-size:.85rem;
}
.legal-footer a{color:var(--rose-light);}
.legal-footer p{margin-bottom:10px;}

@media(max-width:700px){
  .legal-hero{padding:60px 22px 50px;}
  .legal-content{padding:50px 22px 70px;}
  .legal-content h2{font-size:1.4rem;}
  /* Tabelle: scorrevoli in orizzontale invece di sforare lo schermo */
  .legal-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;}
  .legal-table th,.legal-table td{white-space:normal;min-width:130px;}
}
