:root {
    --text-secondary: #1f2937;
    --text-gray: #4b5563;
    --text-light-gray: #6b7280;

    --font-serif: serif;

    --spacing-xs: 0.5rem;
    --spacing-sm: 0.75rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
}

/* =========================================================
   Rich Text Content
========================================================= */

.rich-text {
    color: var(--text-gray);
}

/* =========================================================
   Paragraph
========================================================= */

.rich-text p {
    color: var(--text-gray) !important;
    font-size: 14px;
    line-height: 1.6 !important;
    margin-bottom: var(--spacing-md);
}

.rich-text p:last-child {
    margin-bottom: var(--spacing-lg);
}

/* =========================================================
   Headings
========================================================= */

.rich-text h1,
.rich-text h2,
.rich-text h3 {
    color: var(--text-secondary) !important;
    scroll-margin-top: 120px !important;
}

.rich-text h1 {
    font-family: var(--font-serif) !important;
    font-weight: 700 !important;
    font-size: 22px;
    margin-top: var(--spacing-lg) !important;
    margin-bottom: var(--spacing-md) !important;
}

.rich-text h2 {
    font-family: var(--font-serif) !important;
    font-weight: 700 !important;
    font-size: 20px;
    margin-top: var(--spacing-lg) !important;
    margin-bottom: var(--spacing-md) !important;
}

.rich-text h3 {
    font-weight: 600 !important;
    font-size: 16px;
    margin-top: var(--spacing-md) !important;
    margin-bottom: var(--spacing-sm) !important;
}

/* =========================================================
   Lists
========================================================= */

.rich-text ul,
.rich-text ol {
    margin-bottom: var(--spacing-md);
    padding-left: 1.6rem !important;
}

.rich-text ul {
    list-style: none !important;
}

.rich-text ul li,
.rich-text ol li {
    position: relative;
    color: var(--text-gray) !important;
    font-size: 14px;
    line-height: 1.5 !important;
    margin-bottom: 0.25rem !important;
    padding-left: 0.2rem;
}

/* Custom Bullet */

.rich-text ul li::before {
    content: "";
    position: absolute;
    left: -1rem;
    top: 0.58em;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #a68a36;
    transform: translateY(-50%);
}

/* Ordered List */

.rich-text ol {
    list-style: decimal !important;
}

.rich-text ol li::marker {
    font-weight: 700;
    color: var(--text-secondary);
}

/* =========================================================
   Strong / Bold
========================================================= */

.rich-text strong,
.rich-text b {
    font-weight: 600 !important;
    color: var(--text-secondary) !important;
}

/* =========================================================
   Italic
========================================================= */

.rich-text em,
.rich-text i {
    font-style: italic;
    color: var(--text-secondary);
}

/* =========================================================
   Links
========================================================= */

.rich-text a {
    color: #0066cc;
    text-decoration: underline;
}

.rich-text a:hover {
    color: #0052a3;
}

/* =========================================================
   Blockquote
========================================================= */

.rich-text blockquote {
    display: inline-block;
    position: relative;
    margin: 1.25rem 0 !important;
    padding: 0.25rem 0 0.25rem 1.5rem;
    border-left: 4px solid #a68a36;
    color: #374151;
    font-style: italic;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
}

.rich-text blockquote p {
    margin-bottom: 1rem !important;
}

.rich-text blockquote p:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
   Code
========================================================= */

.rich-text code {
    background-color: #f3f4f6;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: Monaco, "Courier New", monospace;
    font-size: 0.875em;
}

/* =========================================================
   Tables
========================================================= */

.rich-text figure.table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: var(--spacing-lg) 0 !important;
    display: block;
    max-width: 100%;
}

.rich-text .table-wrapper {
    display: block;
    width: 100%;
}

.rich-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 !important;
    table-layout: auto !important;
}

.rich-text table colgroup,
.rich-text table col {
    width: auto !important;
}

.rich-text table thead {
    background-color: #f3f4f6;
}

.rich-text table th,
.rich-text table td {
    border: 1px solid #e5e7eb;
    padding: var(--spacing-xs);
    text-align: left;
    white-space: normal;
}

.rich-text table th {
    font-weight: 600;
    color: var(--text-secondary);
}

.rich-text table td {
    color: var(--text-gray);
}

/* =========================================================
   Responsive
========================================================= */

@media (min-width: 768px) {

    .rich-text p,
    .rich-text ul li,
    .rich-text ol li,
    .rich-text blockquote {
        font-size: 16px;
    }

    .rich-text h1 {
        font-size: 26px;
        margin-top: var(--spacing-xl) !important;
    }

    /* .rich-text h2 {
        font-size: 24px;
        margin-top: var(--spacing-xl) !important;
    } */

    .rich-text h3 {
        font-size: 18px;
        margin-top: var(--spacing-lg) !important;
    }

    .rich-text h1,
    .rich-text h2,
    .rich-text h3 {
        scroll-margin-top: 140px !important;
    }

    .rich-text ul,
    .rich-text ol {
        padding-left: 2rem !important;
        margin-bottom: var(--spacing-lg);
    }

    .rich-text ul li::before {
        margin-top: 0.2rem;
    }
}

@media (min-width: 1024px) {

    .rich-text p,
    .rich-text ul li,
    .rich-text ol li,
    .rich-text blockquote {
        font-size: 18px;
    }

    .rich-text h1 {
        font-size: 28px;
    }

    .rich-text h2 {
        font-size: 22px;
    }
}