/* ── CONTENT — RICH TEXT ─────────────────────────────────────────────────
   Centered prose section for long-form content: legal pages, privacy
   policy, terms of service, etc. Single WYSIWYG field with full
   typographic hierarchy and optional dark background.
   ───────────────────────────────────────────────────────────────────── */

/* ── Section wrapper ─── */
.rich-text {
    background: var(--off-white);
    padding: 110px var(--page-px);
}

.rich-text--dark {
    background: var(--black);
}

/* ── Inner container — centered, max-width for readability ─── */
.rich-text-inner {
    max-width: 720px;
    margin: 0 auto;
}

/* ── WYSIWYG content ─── */
.rich-text-content {
    font-size: 16px;
    font-weight: 300;
    color: var(--gray-80);
    line-height: 1.75;
}

/* Headings */
.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4,
.rich-text-content h5,
.rich-text-content h6 {
    font-family: 'Geist', sans-serif;
    font-weight: 600;
    color: var(--black);
    line-height: 1.2;
    margin-top: 48px;
    margin-bottom: 16px;
}

.rich-text-content h1 { font-size: 32px; }
.rich-text-content h2 { font-size: 24px; }
.rich-text-content h3 { font-size: 18px; }
.rich-text-content h4,
.rich-text-content h5,
.rich-text-content h6 { font-size: 16px; }

.rich-text-content > :first-child { margin-top: 0; }

/* Paragraphs */
.rich-text-content p {
    margin-bottom: 20px;
}

.rich-text-content p:last-child {
    margin-bottom: 0;
}

/* Lists */
.rich-text-content ul,
.rich-text-content ol {
    padding-left: 24px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rich-text-content ul { list-style: disc; }
.rich-text-content ol { list-style: decimal; }

.rich-text-content li {
    font-size: 15px;
    line-height: 1.65;
}

/* Links */
.rich-text-content a {
    color: var(--black);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rich-text-content a:hover {
    opacity: 0.65;
}

/* Inline formatting */
.rich-text-content strong { font-weight: 600; }
.rich-text-content em     { font-style: italic; }

/* Horizontal rule */
.rich-text-content hr {
    border: none;
    border-top: 1px solid var(--gray-10);
    margin: 40px 0;
}

/* ── Dark mode overrides ─── */
.rich-text--dark .rich-text-content {
    color: var(--gray-10);
}

.rich-text--dark .rich-text-content h1,
.rich-text--dark .rich-text-content h2,
.rich-text--dark .rich-text-content h3,
.rich-text--dark .rich-text-content h4,
.rich-text--dark .rich-text-content h5,
.rich-text--dark .rich-text-content h6 {
    color: var(--white);
}

.rich-text--dark .rich-text-content a {
    color: var(--yellow);
}

.rich-text--dark .rich-text-content hr {
    border-top-color: var(--gray-60);
}

/* ── Responsive — tablet ─── */
@media (max-width: 1023px) {
    .rich-text {
        padding: 80px 40px;
    }
}

/* ── Responsive — mobile ─── */
@media (max-width: 599px) {
    .rich-text {
        padding: 64px clamp(18px, 5vw, 32px);
    }

    .rich-text-content h1 { font-size: 26px; }
    .rich-text-content h2 { font-size: 20px; }
}
