/* -------------------------------------------------------
 * Legal / policy pages (Terms, Privacy, Shipping) — About / Contact tokens
 * ----------------------------------------------------- */
.terms-wrap,
.privacy-wrap,
.shipping-wrap {
  --about-text-inset: calc(max(0px, calc((100vw - var(--max-width, 1280px)) / 2)) + var(--px-desktop, 24px));
}

.terms-main {
  padding: clamp(28px, 5vw, 48px) 0 80px;
  background: var(--color-bg);
}

.terms-main__inner {
  max-width: 720px;
  margin: 0 auto;
}

.terms-effective {
  font-size: var(--page-section-fs-body);
  color: var(--color-text);
  margin: 0 0 1rem;
  line-height: 1.6;
}

.terms-lead {
  font-size: var(--page-section-fs-body);
  line-height: 1.7;
  color: var(--color-muted);
  margin: 0 0 clamp(28px, 4vw, 40px);
}

.terms-sections {
  margin: 0;
  padding: 0 0 0 1.35em;
  list-style: decimal;
  color: var(--color-text);
}

.terms-section {
  margin: 0 0 clamp(28px, 3.5vw, 36px);
  padding: 0;
}

.terms-section:last-child {
  margin-bottom: 0;
}

.terms-section__title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--page-section-fs-sub);
  letter-spacing: 0.02em;
  color: var(--color-text);
  margin: 0 0 12px;
  display: inline-block;
}

.terms-list {
  margin: 0;
  padding: 0 0 0 1.15em;
  list-style: disc;
}

.terms-list li {
  font-size: var(--page-section-fs-body);
  line-height: 1.65;
  color: var(--color-muted);
  margin-bottom: 0.5em;
}

.terms-list li:last-child {
  margin-bottom: 0;
}

@media (max-width: 600px) {
  .terms-sections {
    padding-left: 1.1em;
  }
}
