.gaia-heading--h3.gaia-heading--h3 {
    box-sizing: border-box;
    font-size: var(--font-size-h3, 20px);
    line-height: var(--line-height-h3, 32px);
    font-weight: var(--font-weight-bold, 700);
    color: var(--color-text-body, #1A1A1A);
    border-left: 4px solid var(--color-text-body, #1A1A1A);
    padding-left: 1rem;
    margin-bottom: 1rem;
    letter-spacing: 0.02em;
}

.gaia-heading--h3.gaia-heading--plain,
.gaia-heading--h3.gaia-heading--center,
.gaia-heading--h3.gaia-heading--right {
    border-left: none;
    padding-left: 0;
}

.gaia-heading--center { text-align: center; }
.gaia-heading--right  { text-align: right;  }

/* ── Margin bottom ────────────────────────────────── */
.gaia-heading--mb-0 { margin-bottom: 0    !important; }
.gaia-heading--mb-1 { margin-bottom: 1em  !important; }
.gaia-heading--mb-2 { margin-bottom: 2em  !important; }
.gaia-heading--mb-3 { margin-bottom: 3em  !important; }

/* ── Margin top ───────────────────────────────────── */
.gaia-heading--mt-0 { margin-top: 0    !important; }
.gaia-heading--mt-1 { margin-top: 1em  !important; }
.gaia-heading--mt-2 { margin-top: 2em  !important; }
.gaia-heading--mt-3 { margin-top: 3em  !important; }

/* ── Text color — same 8 tokens as gaia/paragraph's own 文字色.
   Also recolors the left border (plain/center/right variants have no
   border to affect) — it's styled from the same --color-text-body as
   the text itself by default, so leaving it un-recolored would look
   like a mismatch rather than a deliberate two-tone choice. ── */
.gaia-heading--color-black      { color: var(--color-text-heading, #000000) !important; border-left-color: var(--color-text-heading, #000000) !important; }
.gaia-heading--color-grey       { color: var(--color-text-muted, #999999) !important; border-left-color: var(--color-text-muted, #999999) !important; }
.gaia-heading--color-grey-light { color: var(--color-text-muted-light, #bbbbbb) !important; border-left-color: var(--color-text-muted-light, #bbbbbb) !important; }
.gaia-heading--color-blue       { color: var(--color-status-info, #49352D) !important; border-left-color: var(--color-status-info, #49352D) !important; }
.gaia-heading--color-green      { color: var(--color-status-success, #F0701C) !important; border-left-color: var(--color-status-success, #F0701C) !important; }
.gaia-heading--color-red        { color: var(--color-status-danger, #E8501E) !important; border-left-color: var(--color-status-danger, #E8501E) !important; }
.gaia-heading--color-white      { color: var(--color-text-inverse, #ffffff) !important; border-left-color: var(--color-text-inverse, #ffffff) !important; }