/* ============================================================
   LEGAL PAGES — privacy.html / termini.html / note-legali.html
   ============================================================ */

/* Hero */
.legal-hero {
  background: #f5f5f5;
  padding: 90px 0 52px;
  border-bottom: 1px solid #e8e8e8;
}
.legal-eyebrow {
  font-size: 1.05rem; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--teal-green, #007884);
  margin-bottom: 14px; display: block;
}
.legal-title {
  font-size: clamp(2.8rem, 5vw, 4.2rem); font-weight: 800;
  color: #1a1a1a; line-height: 1.1; margin-bottom: 14px;
}
.legal-meta {
  font-size: 1.25rem; font-weight: 400; color: #999; margin-bottom: 0;
}

/* Sibling nav */
.legal-sibling-nav {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 36px 0 0;
}
.legal-sibling-nav a {
  font-size: 1.2rem; font-weight: 600; color: var(--teal-green, #007884);
  border: 1.5px solid rgba(0,120,132,0.30); border-radius: 100px;
  padding: 5px 18px; text-decoration: none; transition: background 0.15s, color 0.15s;
}
.legal-sibling-nav a:hover { background: rgba(0,120,132,0.08); text-decoration: none; }
.legal-sibling-nav a.active {
  background: var(--teal-green, #007884); color: #fff;
  border-color: var(--teal-green, #007884);
}

/* Body */
.legal-body { padding: 64px 0 100px; }

.legal-body h2 {
  font-size: 2rem; font-weight: 800; color: #1a1a1a;
  margin-top: 56px; margin-bottom: 18px; padding-top: 8px;
  border-top: 3px solid var(--teal-green, #007884);
  padding-top: 16px;
}
.legal-body h2:first-child { margin-top: 0; }

.legal-body h3 {
  font-size: 1.55rem; font-weight: 700; color: var(--teal-green, #007884);
  margin-top: 32px; margin-bottom: 10px;
}

.legal-body p {
  font-size: 1.45rem; font-weight: 300; color: #444;
  line-height: 1.80; margin-bottom: 18px;
}

.legal-body ul, .legal-body ol {
  margin: 0 0 20px 0; padding-left: 22px;
}
.legal-body ul li, .legal-body ol li {
  font-size: 1.45rem; font-weight: 300; color: #444;
  line-height: 1.75; margin-bottom: 10px;
}

.legal-body strong { font-weight: 700; color: #1a1a1a; }
.legal-body a { color: var(--teal-green, #007884); text-decoration: underline; }
.legal-body a:hover { color: var(--theme-color, #eb8220); }

.legal-body table {
  width: 100%; border-collapse: collapse; margin-bottom: 24px;
  font-size: 1.35rem; font-weight: 300; color: #444;
}
.legal-body table th {
  background: #f5f5f5; font-weight: 700; color: #1a1a1a;
  padding: 10px 14px; text-align: left; border: 1px solid #e0e0e0;
}
.legal-body table td {
  padding: 10px 14px; border: 1px solid #e0e0e0; vertical-align: top;
}

.legal-box {
  background: rgba(0,120,132,0.06); border-left: 4px solid var(--teal-green, #007884);
  border-radius: 0 10px 10px 0; padding: 20px 24px; margin-bottom: 24px;
}
.legal-box p { margin-bottom: 0; }

@media (max-width: 767px) {
  .legal-hero { padding: 70px 0 40px; }
  .legal-body { padding: 40px 0 70px; }
  .legal-body h2 { font-size: 1.7rem; margin-top: 40px; }
  .legal-body h3 { font-size: 1.4rem; }
  .legal-body p, .legal-body li { font-size: 1.35rem; }
}
