/* ===============================
   SINGLE POST PAGE
================================ */

.single-post-page {
    padding: 0px 0 24px 0;
}

/* Container */
.container {
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Breadcrumbs */

.breadcrumbs-section {
    background-color: #fff;
    border-bottom: 1px solid #e6e8f0;
    padding: 16px 0px;
}

.breadcrumbs {
    font-size: 13px;
    color: #8f98c3;
}

.breadcrumbs a {
    color: #6f78a8;
    text-decoration: none;
}

/*Layout*/

.content-section-inner {
    gap: 24px;
    margin-top: 24px;
}

.main-block {
    background-color: #fff;
    border: 1px solid #e6e8f0;
    border-radius: 12px;
    overflow: hidden;
    align-items: start;
}

.sidebar-block {
    width: 100%;
    max-width: 350px;
    min-width: 300px;

    .table-of-content {
        margin-bottom: 24px;
        border-radius: 12px;
    }

    .toc-label {
        text-transform: uppercase;
    }
}

.sidebar-block-label {
    color: #596279;
    font-size: 16px;
    line-height: 1;
    text-transform: uppercase;
}

.sidebar-similar-posts {
    background-color: #fff;
    border: 1px solid #e6e8f0;
    border-radius: 12px;
    padding: 16px;

    ul {
        margin: 0px;
        padding: 8px 0 0 0;
        list-style: none;

        >li {
            padding: 12px 0;
            width: 100%;
            border-bottom: 1px solid #E6E8F0;

            a {
                border: none !important;
                align-items: start;
                text-decoration: none !important;
                gap: 8px;
            }

            h3 {
                font-size: 15px;
                line-height: 1.25;
                font-weight: 600;
                color: #001965;
            }

            label.category {
                font-size: 10px;
                line-height: 10px;
                text-transform: uppercase;
                background-color: #edf3ff;
                color: #001965;
                padding: 4px 6px;
                border-radius: 8px;
            }

            label.date {
                font-size: 13px;
                line-height: 1;
                color: #596279;
            }
        }

        >li:last-child {
            border: none;
        }
    }
}

.post-content-block {
    padding: 24px;
}

/* Image */
.single-post-image {
    height: auto;
    width: 100%;
    aspect-ratio: 16/10;

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        /* border-radius: 36px;
        margin-bottom: 60px;*/
        filter: grayscale(100%);
    }
}

/*Category*/

.post-category {
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    background-color: #edf3ff;
    color: #001965;
    padding: 8px 12px;
    border-radius: 16px;
    text-decoration: none;
}

/* Title */
.single-post-title {
    text-align: start;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 600;
    color: #0b1b4d;
    margin: 16px 0 16px 0px;
}

/*Post meta*/

.post-meta-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 16px;
    padding: 7px 0 20px 0;
    border-bottom: 1px solid #E5E7EB;
}

.post-meta-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.post-meta-author img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
}

.post-meta-author-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.post-meta-author-name {
    font-size: 16px;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.2;
}

.post-meta-author-role {
    font-size: 14px;
    color: #64748B;
    line-height: 1.3;
}

.post-meta-reading-time,
.post-meta-share {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #64748B;
}

.post-meta-reading-time svg,
.post-meta-share svg {
    width: 16px;
    height: 16px;
}

.post-meta-divider {
    width: 1px;
    height: 24px;
    background: #E2E8F0;
}

.post-meta-share a {
    display: flex;
    align-items: center;
    justify-content: start;
    color: #0B1B4D;
    fill: #0B1B4D;
    transition: all 0.2s ease;
    background-color: #edf3ff;
    padding: 8px;
    border-radius: 4px;

    svg {
        height: 16px;
        width: auto;
    }
}

.post-meta-share a:hover {
    color: #0F172A;
}

@media (max-width: 768px) {
    .post-meta-bar {
        gap: 14px;
    }

    .post-meta-divider {
        display: none;
    }
}

/* Layout */
.single-post-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 60px;
    margin-bottom: 120px;
}

/* Content */
.single-post-content {
    font-size: 15px;
    line-height: 1.8;
    color: #3C434A;

    ol,
    ul {
        margin: 0px 0 16px 0;
    }

    ol,
    ul {

        li {
            border-bottom: 1px solid #E6E8F0;
            padding: 6px 12px;
        }

        li:last-child {
            border: none;
        }

        li::marker {
            color: #E64A0D;
        }
    }


}

.single-post-content {
    counter-reset: list-counter;

    >ol {
        list-style: none;
        padding-left: 0;

        >li {
            counter-increment: list-counter;

            display: flex;
            align-items: flex-start;
            gap: 12px;

            &::before {
                content: counter(list-counter);

                width: 32px;
                height: 32px;
                min-width: 32px;

                display: flex;
                align-items: center;
                justify-content: center;

                border-radius: 50%;

                background-color: #E64A0D;
                color: #fff;

                font-size: 14px;
                font-weight: 600;
                line-height: 1;
            }
        }
    }
}

.single-post-content h2 {
    font-size: 24px;
    color: #001965;
    line-height: 1.25;
    font-weight: 700;
}

.single-post-content h3 {
    font-size: 22px;
    color: #001965;
    line-height: 1.25;
    font-weight: 600;
}

.single-post-content h4 {
    font-size: 20px;
    color: #001965;
    line-height: 1.25;
    font-weight: 600;
}

.single-post-content h5 {
    font-size: 18px;
    color: #001965;
    line-height: 1.25;
    font-weight: 600;
}

.single-post-content h2,
.single-post-content h3 {
    margin-top: 40px;
    margin-bottom: 16px;
}

blockquote {
    margin: 2rem 0px;
    background-color: #edf3ff;
    border-left: 4px solid #E64A0D;
    padding: 16px;

    p {
        font-style: italic;
        font-size: 18px;
        line-height: 1.5;
    }
}

.wp-block-pullquote {
    padding: 0px !important;

    p {
        text-transform: uppercase;
        font-size: 14px;
        line-height: 18px;
        font-weight: 600;
        color: #E64A0D !important;
        font-style: normal !important;
        text-align: start;
    }

    cite {
        text-align: start;
    }
}

.pull-quote-block {
    margin: 2rem 0px;
    background-color: #edf3ff;
    border-left: 4px solid #E64A0D;
    padding: 16px;

    .flex-column {
        align-items: start;
    }

    .pull-quote-label {
        text-transform: uppercase;
        font-size: 14px;
        line-height: 18px;
        font-weight: 600;
        color: #E64A0D !important;
        font-style: normal !important;
        text-align: start;
        margin-bottom: 16px;
    }

    .pull-quote-content p {
        font-size: 1.5em !important;
        line-height: 1.6 !important;
    }
}

.callout-box-block {
    background-color: #edf3ff;
    border: 1px solid #D6E0F5;
    border-radius: 12px;
    padding: 16px;
    margin: 2rem 0;

    .callout-box-label-block {
        margin-bottom: 16px;
        align-items: center;
        justify-content: start;
        width: 100%;
        gap: 10px;
    }

    .callout-box-icon {
        height: 24px;
        aspect-ratio: 1/1;

        img {
            height: 100%;
            width: 100%;
            object-fit: contain;
            object-position: center;
        }
    }

    .callout-box-label {
        text-transform: uppercase;
        font-size: 14px;
        line-height: 1.25;
        font-weight: 700;
        color: #001965;
    }

    .callout-box-content {
        border: 1px solid #D6E0F5;
        border-radius: 12px;
        padding: 20px 20px 4px 20px;

        p {
            font-size: 16px;
            line-height: 1.4;
        }
    }
}

/* Sidebar */
.single-post-sidebar h3 {
    font-size: 18px;
    color: #0b1b4d;
    margin-bottom: 20px;
}

.sidebar-post {
    margin-bottom: 22px;
}

.sidebar-post__title {
    display: block;
    font-size: 14px;
    color: #0b1b4d;
    text-decoration: none;
    margin-bottom: 6px;
}

.sidebar-post__date {
    display: block;
    font-size: 12px;
    color: #9aa3c7;
    margin-bottom: 8px;
}

.sidebar-post__excerpt {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #4d5a87;
}


.sidebar-post a {
    display: block;
    font-size: 18px;
    color: #0b1b4d;
    text-decoration: none;
}

.sidebar-post span {
    font-size: 12px;
    color: #9aa3c7;
}

/* ===============================
   SIMILAR POSTS
================================ */

.similar-posts h2 {
    font-size: 22px;
    margin-bottom: 30px;
    color: #0b1b4d;
}

.similar-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Card */
.similar-card {
    background: #fff;
    border-radius: 24px;
    padding: 20px;
    box-shadow: 0 20px 60px rgba(20, 30, 70, .06);
}

.similar-card img {
    width: 100%;
    border-radius: 18px;
    margin-bottom: 16px;
    filter: grayscale(100%);
}

.similar-card h3 {
    font-size: 15px;
    margin-bottom: 12px;
    color: #0b1b4d;
}

.similar-card p {
    font-size: 14px;
    color: #4d5a87;
    margin-bottom: 18px;
}

.similar-card .date {
    display: block;
    margin-top: 14px;
    font-size: 12px;
    color: #9aa3c7;
}

.similar-cta {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Buttons */
.btn-outline {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid #dbe0f2;
    font-size: 14px;
    color: #0b1b4d;
    text-decoration: none;
}

a.btn-primary {
    display: inline-block;
    margin-top: 40px;
    padding: 14px 36px;
    border-radius: 999px;
    background: #E64A0D;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
}

.post-topics {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #dbe0f2;

    .post-topics-label {
        color: #596279;
        font-size: 16px;
        line-height: 1;
        text-transform: none;
    }

    .post-topics-list {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        width: 100%;
        margin-top: 8px;

        a {
            text-decoration: none;
            text-transform: capitalize;
            border: 1px solid #D6E0F5;
        }
    }
}

.post-cta-box {
    padding: 16px;
    border: 1px solid #D6E0F5;
    border-radius: 6px;
    background: #EEF3FC;
    margin-top: 25px;

    .post-cta-label {
        display: block;

        margin-bottom: 10px;

        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;

        color: #94A3B8;
    }

    .post-cta-title {
        margin: 0 0 12px;
        font-size: 24px;
        font-weight: 700;
        line-height: 1.15;
        color: #001965;
    }

    .post-cta-description {
        margin: 0 0 28px;
        max-width: 780px;
        font-size: 16px;
        line-height: 1.6;
        color: #64748B;
    }

    .post-cta-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0px;
        background: #F35B04;
        color: #fff;
        text-decoration: none;
        font-size: 14px;
        font-weight: 700;
        transition: all 0.2s ease;

        &:hover {
            background: #D94E03;
            color: #fff;
        }
    }
}

@media (max-width: 768px) {
    .post-cta-box {
        padding: 24px;
        padding: 24px;
        display: flex;
        flex-direction: column;

        .post-cta-title {
            font-size: 26px;
        }

        .post-cta-description {
            font-size: 17px;
        }

        .post-cta-button {
            width: 100%;
            margin: 0 auto;
            width: fit-content;
        }
    }
}

.newsletter-box {
    padding: 24px;
    border-radius: 6px;
    background: #071C73;
    margin-top: 48px;

    .newsletter-box-label {
        display: block;
        margin-bottom: 10px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #F35B04;
    }

    .newsletter-box-title {
        margin: 0 0 8px;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.15;
        color: #FFFFFF;
    }

    .newsletter-box-description {
        margin: 0 0 28px;
        font-size: 16px;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.72);
    }

    .newsletter-cf7-row {
        gap: 14px;
        flex-wrap: wrap;
        justify-content: start;
    }

    .newsletter-box-input input {
        flex: 1;
        height: 56px;
        padding: 0 18px;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.16);
        background: rgba(255, 255, 255, 0.08);
        color: #fff;
        font-size: 16px;
        outline: none;
        transition: all 0.2s ease;
        max-width: 64.5vw;

        &::placeholder {
            color: rgba(255, 255, 255, 0.5);
        }

        &:focus {
            border-color: rgba(255, 255, 255, 0.4);
            background: rgba(255, 255, 255, 0.12);
        }
    }

    .newsletter-box-button input {
        height: 56px;
        padding: 0 24px;
        border: none;
        border-radius: 10px;
        background: #F35B04;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.2s ease;

        &:hover {
            background: #D94E03;
        }
    }

    .wpcf7-response-output {
        display: none;
    }
}

@media (max-width: 768px) {
    .newsletter-box {
        padding: 24px;

        .newsletter-box-title {
            font-size: 28px;
        }

        .newsletter-box-description {
            font-size: 16px;
        }

        .newsletter-box-form {
            flex-direction: column;
            align-items: stretch;
        }

        .newsletter-box-button {
            width: 100%;
        }
    }
}

/*ACF based process list*/

.process-list-block {
    margin: 48px 0;
}

.process-list-title {
    margin-bottom: 24px;

    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;

    color: #1E3A8A;
}

.process-list-items {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.process-step {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.process-step-number {
    width: 40px;
    height: 40px;

    min-width: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    background: #F35B04;

    color: #fff;

    font-size: 18px;
    font-weight: 700;
}

.process-step-content {
    flex: 1;
}

.process-step-heading {
    margin: 4px 0 18px;

    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;

    color: #1E3A8A;
}

.process-step-subitems {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}

.process-step-subitem {
    display: flex;
    align-items: start;
    gap: 14px;
    padding: 8px 0 !important;
    border-top: 1px solid #E2E8F0;

    &:last-child {
        border-bottom: 1px solid #E2E8F0;
    }
}

.process-step-letter {
    width: 28px;
    height: 28px;
    min-width: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #EFF6FF;
    border: 1px solid #D6E4FF;
    color: #1D4ED8;
    font-size: 14px;
    font-weight: 700;
    text-transform: lowercase;
}

.process-step-text {
    font-size: 15px;
    line-height: 1.5;
    color: #475569;

    p {
        margin: 0px 0 16px 0px !important;
    }
}

@media (max-width: 768px) {
    .process-list-title {
        font-size: 30px;
    }

    .process-step-heading {
        font-size: 24px;
    }

    .process-step-text {
        font-size: 15px;
    }
}

/* ===============================
   RESPONSIVE
================================ */

@media (max-width: 1024px) {
    .single-post-layout {
        grid-template-columns: 1fr;
    }

    .similar-posts-grid {
        grid-template-columns: 1fr;
    }

    .single-post-title {
        font-size: 32px;
    }
}