/* ============================================================
   95-legal.css — Pagine legali (Privacy, Cookie, Termini)
   Costruzioni Ferrara SRL
   ============================================================ */

.legal-page {
  min-height: 100vh;
}

/* Header semplificato pagine legali */
.legal-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(14, 15, 17, .82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.legal-header .bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 0;
}
.legal-header .logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.legal-header .logo .emblem { width: 34px; height: 34px; flex: none; }
.legal-header .logo .wm b {
  font-family: 'Anton', system-ui, sans-serif;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: .5px;
  line-height: 1;
  display: inline-flex;
  flex-direction: column;
}
.legal-header .logo .wm .c { font-size: 9px; letter-spacing: 2.5px; color: #9AA1A8; }
.legal-header .logo .wm .o { color: #FF6A1A; }
.legal-back {
  font-family: 'Space Mono', monospace;
  font-size: 12.5px;
  color: #C7CCD1;
  text-decoration: none;
  padding: 9px 16px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  transition: border-color .2s, color .2s;
  white-space: nowrap;
}
.legal-back:hover { border-color: #FF6A1A; color: #fff; }

/* Hero documento */
.legal-hero {
  padding: 72px 0 36px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.legal-hero .kicker {
  font-family: 'Space Mono', monospace;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #FF6A1A;
  margin: 0 0 14px;
}
.legal-hero h1 {
  font-family: 'Anton', system-ui, sans-serif;
  font-weight: 400;
  font-size: clamp(32px, 6vw, 58px);
  line-height: 1.02;
  letter-spacing: .5px;
  margin: 0 0 16px;
  text-transform: uppercase;
}
.legal-hero .updated {
  font-family: 'Space Mono', monospace;
  font-size: 12.5px;
  color: #8A9099;
  margin: 0;
}

/* Corpo documento */
.legal-body {
  max-width: 820px;
  margin-inline: auto;
  padding: 48px 24px 96px;
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.72;
  color: #C7CCD1;
}
.legal-body h2 {
  font-family: 'Archivo', system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(20px, 3vw, 26px);
  color: #F3F5F6;
  margin: 46px 0 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  scroll-margin-top: 90px;
}
.legal-body h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.legal-body h3 {
  font-family: 'Archivo', system-ui, sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #E6E9EC;
  margin: 28px 0 8px;
}
.legal-body p { margin: 0 0 16px; }
.legal-body a { color: #FF8A4A; text-decoration: underline; text-underline-offset: 3px; }
.legal-body a:hover { color: #FFC400; }
.legal-body ul { margin: 0 0 18px; padding-left: 22px; }
.legal-body li { margin: 0 0 9px; }
.legal-body strong { color: #F3F5F6; font-weight: 700; }
.legal-body hr {
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
  margin: 36px 0;
}

/* Nota / disclaimer */
.legal-note {
  background: rgba(255, 106, 26, .07);
  border: 1px solid rgba(255, 106, 26, .28);
  border-radius: 12px;
  padding: 16px 20px;
  margin: 0 0 32px;
  font-size: 14.5px;
  color: #E6C9B6;
}
.legal-note strong { color: #FFC400; }

/* Tabelle */
.legal-table-wrap { overflow-x: auto; margin: 0 0 26px; -webkit-overflow-scrolling: touch; }
.legal-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  min-width: 520px;
}
.legal-body th, .legal-body td {
  text-align: left;
  padding: 11px 14px;
  border: 1px solid rgba(255, 255, 255, .1);
  vertical-align: top;
}
.legal-body th {
  background: rgba(255, 255, 255, .04);
  color: #F3F5F6;
  font-weight: 700;
  font-family: 'Archivo', sans-serif;
}
.legal-body td { color: #B8BEC4; }

/* Footer minimale */
.legal-foot {
  border-top: 1px solid rgba(255, 255, 255, .08);
  padding: 30px 0;
  font-family: 'Space Mono', monospace;
  font-size: 12.5px;
  color: #8A9099;
}
.legal-foot .bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.legal-foot a { color: #C7CCD1; text-decoration: none; margin-right: 18px; }
.legal-foot a:hover { color: #FF6A1A; }

/* Light mode */
html.light .legal-header { background: rgba(255, 255, 255, .85); border-bottom-color: rgba(0, 0, 0, .08); }
html.light .legal-back { color: #444; border-color: rgba(0, 0, 0, .18); }
html.light .legal-back:hover { color: #000; }
html.light .legal-hero { border-bottom-color: rgba(0, 0, 0, .08); }
html.light .legal-body { color: #3A3F45; }
html.light .legal-body h2 { color: #16181B; border-top-color: rgba(0, 0, 0, .1); }
html.light .legal-body h3 { color: #222; }
html.light .legal-body strong { color: #16181B; }
html.light .legal-body th { background: rgba(0, 0, 0, .04); color: #16181B; }
html.light .legal-body td { color: #4A4F55; }
html.light .legal-body table th, html.light .legal-body table td { border-color: rgba(0, 0, 0, .12); }
html.light .legal-foot { border-top-color: rgba(0, 0, 0, .08); color: #6A7076; }
html.light .legal-foot a { color: #444; }

@media (max-width: 640px) {
  .legal-hero { padding: 48px 0 28px; }
  .legal-body { font-size: 15.5px; padding: 36px 0 72px; }
}
