/* Blog rich-text content — preserves CMS editor formatting */
.blog-post-body {
    color: #555;
    font-family: var(--font-default, 'Outfit', sans-serif);
    font-size: 16px;
    line-height: 1.8;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.blog-post-body > *:first-child {
    margin-top: 0;
}

.blog-post-body > *:last-child {
    margin-bottom: 0;
}

.blog-post-body p {
    margin: 0 0 1.15em;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.blog-post-body h1,
.blog-post-body h2,
.blog-post-body h3,
.blog-post-body h4,
.blog-post-body h5,
.blog-post-body h6 {
    color: var(--dark, #1D2027);
    font-family: var(--font-heading, 'Outfit', sans-serif);
    font-weight: 600;
    line-height: 1.35;
    margin: 1.5em 0 0.65em;
}

.blog-post-body h1 { font-size: 2rem; }
.blog-post-body h2 { font-size: 1.75rem; }
.blog-post-body h3 { font-size: 1.45rem; }
.blog-post-body h4 { font-size: 1.25rem; }
.blog-post-body h5 { font-size: 1.1rem; }
.blog-post-body h6 { font-size: 1rem; }

/* Undo theme badge styles targeting spans inside blog posts */
.blog-area.single .item .blog-item-box .blog-post-body span,
.blog-post-body span {
    background: transparent !important;
    background-color: transparent !important;
    color: inherit;
    display: inline;
    font-weight: inherit;
    letter-spacing: normal !important;
    padding: 0 !important;
    text-transform: none !important;
}

.blog-post-body strong,
.blog-post-body b {
    font-weight: 700;
    color: inherit;
}

.blog-post-body em,
.blog-post-body i {
    font-style: italic;
}

.blog-post-body u {
    text-decoration: underline;
}

.blog-post-body s,
.blog-post-body strike,
.blog-post-body del {
    text-decoration: line-through;
}

.blog-post-body sub {
    font-size: 0.75em;
    vertical-align: sub;
}

.blog-post-body sup {
    font-size: 0.75em;
    vertical-align: super;
}

.blog-post-body a {
    color: var(--color-primary, #064E74);
    text-decoration: underline;
    word-break: break-word;
}

.blog-post-body a:hover {
    color: var(--color-secondary, #DF0A0A);
}

.blog-post-body ul,
.blog-post-body ol {
    margin: 0 0 1.25em;
    padding-left: 1.75em;
}

.blog-post-body ul {
    list-style: disc;
}

.blog-post-body ol {
    list-style: decimal;
}

.blog-post-body ul ul {
    list-style: circle;
    margin-bottom: 0.35em;
    margin-top: 0.35em;
}

.blog-post-body ul ul ul {
    list-style: square;
}

.blog-post-body ol ol {
    list-style: lower-alpha;
    margin-bottom: 0.35em;
    margin-top: 0.35em;
}

.blog-post-body ol ol ol {
    list-style: lower-roman;
}

.blog-post-body li {
    margin-bottom: 0.4em;
    padding-left: 0.15em;
    list-style: inherit;
}

.blog-post-body li::marker {
    color: var(--color-primary, #064E74);
}

/* Quill 2 list compatibility (existing content) */
.blog-post-body li[data-list="bullet"],
.blog-post-body ol li[data-list="bullet"] {
    list-style-type: disc;
}

.blog-post-body li[data-list="ordered"],
.blog-post-body ol li[data-list="ordered"] {
    list-style-type: decimal;
}

.blog-post-body .ql-ui {
    display: none !important;
}

/* Quill / editor alignment */
.blog-post-body .ql-align-left,
.blog-post-body .text-left,
.blog-post-body .alignleft {
    text-align: left;
}

.blog-post-body .ql-align-center,
.blog-post-body .text-center,
.blog-post-body .aligncenter {
    text-align: center;
}

.blog-post-body .ql-align-right,
.blog-post-body .text-right,
.blog-post-body .alignright {
    text-align: right;
}

.blog-post-body .ql-align-justify,
.blog-post-body .text-justify,
.blog-post-body .alignjustify {
    text-align: justify;
}

/* Quill indentation */
.blog-post-body .ql-indent-1 { padding-left: 3em; }
.blog-post-body .ql-indent-2 { padding-left: 6em; }
.blog-post-body .ql-indent-3 { padding-left: 9em; }
.blog-post-body .ql-indent-4 { padding-left: 12em; }
.blog-post-body .ql-indent-5 { padding-left: 15em; }
.blog-post-body .ql-indent-6 { padding-left: 18em; }
.blog-post-body .ql-indent-7 { padding-left: 21em; }
.blog-post-body .ql-indent-8 { padding-left: 24em; }

.blog-post-body blockquote {
    position: relative;
    z-index: 1;
    border-left: 4px solid var(--color-primary, #064E74);
    background: #f5f7fa;
    color: #444;
    font-size: 1.05em;
    font-style: italic;
    font-weight: 400;
    line-height: 1.7;
    margin: 1.5em 0;
    padding: 1.25em 1.5em;
}

.blog-post-body blockquote::after {
    display: none;
}

.blog-post-body blockquote p:last-child {
    margin-bottom: 0;
}

.blog-post-body hr {
    border: 0;
    border-top: 1px solid #e5e7eb;
    margin: 2em 0;
}

.blog-post-body img {
    height: auto;
    max-width: 100%;
    display: inline-block;
    margin: 1em 0;
    border-radius: 4px;
}

.blog-post-body img.alignleft,
.blog-post-body img.float-left {
    float: left;
    margin: 0.35em 1.25em 1em 0;
}

.blog-post-body img.alignright,
.blog-post-body img.float-right {
    float: right;
    margin: 0.35em 0 1em 1.25em;
}

.blog-post-body img.aligncenter,
.blog-post-body img.mx-auto {
    display: block;
    float: none;
    margin-left: auto;
    margin-right: auto;
}

.blog-post-body figure {
    margin: 1.25em 0;
}

.blog-post-body figcaption {
    color: #777;
    font-size: 0.9em;
    margin-top: 0.5em;
    text-align: center;
}

.blog-post-body {
    overflow-x: auto;
}

.blog-post-body table {
    border-collapse: collapse;
    margin: 1.5em 0;
    width: 100%;
    max-width: 100%;
}

.blog-post-body table th,
.blog-post-body table td {
    border: 1px solid #dce1e8;
    padding: 0.75em 1em;
    text-align: left;
    vertical-align: top;
}

.blog-post-body table th {
    background: #f3f6f9;
    color: var(--dark, #1D2027);
    font-weight: 600;
}

.blog-post-body table tr:nth-child(even) td {
    background: #fafbfc;
}

.blog-post-body pre,
.blog-post-body code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

.blog-post-body code {
    background: #f3f4f6;
    border-radius: 3px;
    font-size: 0.9em;
    padding: 0.15em 0.4em;
}

.blog-post-body pre {
    background: #1e2430;
    border-radius: 6px;
    color: #e8ecf1;
    font-size: 0.9em;
    line-height: 1.6;
    margin: 1.5em 0;
    overflow-x: auto;
    padding: 1.15em 1.25em;
    white-space: pre;
}

.blog-post-body pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

.blog-post-body::after {
    clear: both;
    content: "";
    display: table;
}

@media (max-width: 991px) {
    .blog-post-body {
        font-size: 15px;
    }

    .blog-post-body h1 { font-size: 1.75rem; }
    .blog-post-body h2 { font-size: 1.5rem; }
    .blog-post-body h3 { font-size: 1.3rem; }
    .blog-post-body h4 { font-size: 1.15rem; }

    .blog-post-body .ql-indent-1 { padding-left: 2em; }
    .blog-post-body .ql-indent-2 { padding-left: 3.5em; }
    .blog-post-body .ql-indent-3 { padding-left: 5em; }
    .blog-post-body .ql-indent-4,
    .blog-post-body .ql-indent-5,
    .blog-post-body .ql-indent-6,
    .blog-post-body .ql-indent-7,
    .blog-post-body .ql-indent-8 { padding-left: 6em; }
}

@media (max-width: 575px) {
    .blog-post-body {
        font-size: 15px;
        line-height: 1.7;
    }

    .blog-post-body h1 { font-size: 1.55rem; }
    .blog-post-body h2 { font-size: 1.35rem; }
    .blog-post-body h3 { font-size: 1.2rem; }

    .blog-post-body blockquote {
        padding: 1em;
        font-size: 1em;
    }

    .blog-post-body img.alignleft,
    .blog-post-body img.alignright,
    .blog-post-body img.float-left,
    .blog-post-body img.float-right {
        float: none;
        display: block;
        margin: 1em auto;
        max-width: 100%;
    }

    .blog-post-body table {
        font-size: 0.9em;
    }

    .blog-post-body table th,
    .blog-post-body table td {
        padding: 0.5em 0.65em;
    }
}
