/* Legal docs — shared styles for privacy-policy.html & terms-conditions.html */

/* Basics */
.legal-main{ padding-top: clamp(24px, 4vw, 40px); }
.legal-title{
  font-size: clamp(28px, 4.2vw, 44px);
  margin: 0 0 10px;
}
.lead{ color: #c9d6ff; margin-bottom: 14px; }

.legal-wrap{
  display: grid;
  grid-template-columns: minmax(0, 280px) minmax(0, 1fr);
  gap: clamp(16px, 3.2vw, 32px);
  align-items: start;
}

/* Table of contents */
.toc{
  position: sticky; top: 84px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding: 12px;
}
.toc-title{
  font-family: "JetBrains Mono", monospace;
  text-transform: uppercase;
  font-size: .9rem;
  color: #cfe3ff;
  margin: 0 0 8px;
  letter-spacing: .4px;
}
.toc ol{
  list-style: decimal-leading-zero inside;
  display: grid; gap: 6px; margin: 0; padding: 0;
}
.toc a{
  text-decoration: none;
  color: #e9f1ff;
  transition: color .15s ease, text-shadow .15s ease;
}
.toc a:hover{ color: #fff; text-shadow: 0 0 8px rgba(107,241,255,.25); }

/* Document body */
.legal-doc{
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding: clamp(14px, 2.5vw, 22px);
}
.legal-section{ margin: 14px 0; }
.legal-section h2{
  font-size: clamp(18px, 2.2vw, 24px);
  margin: 0 0 6px;
  scroll-margin-top: 90px; /* anchor offset for sticky header */
}
.legal-section ul{ margin: 8px 0 8px 1.2rem; }
.legal-section li{ margin: 6px 0; }

.legal-doc a{
  color: #bfe6ff;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.legal-doc a:hover{ color: #fff; }

@media (max-width: 980px){
  .legal-wrap{ grid-template-columns: 1fr; }
  .toc{ position: relative; top: auto; }
}

/* Safety: never overflow width on small screens */
.legal-doc, .toc, .legal-wrap > *{ min-width: 0; }
p, li{ overflow-wrap: break-word; word-break: normal; hyphens: auto; }

/* Small embellishments to match the site */
.legal-doc{ box-shadow: var(--shadow-1); }
.toc{ box-shadow: var(--shadow-1); }
