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

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

/* Container */
.container {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 8px;
}

/* Breadcrumbs */

.breadcrumbs-section {
    padding: 32px 0px 8px 0px;
}

.breadcrumbs {
    font-size: 16px;
    color: var(--primary-orange);
    font-weight: 700;
}

.breadcrumbs a {
    color: var(--primary-dark-blue);
    text-decoration: none;
}

/*Layout*/

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

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

.sidebar-block {
    width: 100%;
    max-width: var(--sidebar-width-right);
    min-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 24px;

    .table-of-content {
        border-radius: 0 0 0 32px;
    }

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

.sidebar-block-label {
    color: var(--primary-orange);
    font-size: 20px;
    line-height: 1;
    text-transform: uppercase;
}

.sidebar-block-item {
    background-color: #fff;
    border: 1px solid #e6e8f0;
    border-radius: 0 0 0 32px;
    padding: 16px;
}

.sidebar-similar-posts {
    background-color: #fff;
    border: 1px solid #e6e8f0;
    border-radius: 0 0 0 32px;
    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;
                margin: 4px;
            }

            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;
        }
    }
}

.sidebar-block .post-topics {
    margin: 0px;
    padding: 0px;
    border: none;

    .post-topics-label {
        color: var(--primary-orange);
        font-size: 20px;
        line-height: 1;
        text-transform: uppercase;
        margin-bottom: 24px;
    }
}

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

.featured-image {
    margin-top: 32px;
}

.wp-block-paragraph {
    max-width: 1000px !important;
    margin-left: auto;
    margin-right: auto;
}



/* Image */
.single-post-image {
    height: auto;
    width: 100%;
    aspect-ratio: 16/10;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;

    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: var(--primary-dark-blue);
    transition: all 0.2s ease;
    border: 1px solid var(--border-color);
    padding: 6px;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s;
}

.post-meta-share a:hover {
    border-color: var(--primary-orange);
    color: var(--primary-orange);
    background-color: var(--text-secondary-dark);
}

@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: 1.25rem;
    line-height: 1.5;
    color: #2E2E2E;

    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;
}

/* ===============================
   LATEST POSTS on sidebar
================================ */

.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,
.post-tags {
    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-tags {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #dbe0f2;

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

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

        a {
            text-decoration: none;
            text-transform: capitalize;
            border: 1px solid #D6E0F5;
            padding: 2px 8px;
            border-radius: 4px;
            transition: all 0.3s;
        }

        a:hover {
            color: var(--primary-dark-blue);
            border-color: var(--primary-orange);
        }
    }
}

.related-block {
    .block-title {
        align-items: center;
        gap: 24px;

        h4 {
            color: var(--primary-dark-blue);
            font-size: 26px;
            font-weight: 700;
        }
    }

    .related-posts {
        gap: 32px;
    }
}

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

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

    .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;
    }

    .single-post-page {
        .main-block {
            border-radius: 0 16px;
        }
    }

    .post-content-block {
        padding: 12px 8px 12px 8px;
    }

    .wp-block-paragraph {
        max-width: 100% !important;
    }

    .related-block {
        h4 {
            margin: 16px 0 10px 0px;
        }
    }
}

/* ===============================
   Gallery && Exibition Layout
================================ */

.single-post-page {

    .single-gallery,
    .single-exibition {
        .title-section>.container {
            align-items: center;
            gap: 24px;

            h1 {
                font-size: 44px;
            }

            .horizontal-divider {
                height: 1px;
                background-color: var(--primary-dark-blue);
            }
        }

        .single-post-content {
            >* {
                max-width: var(--container-max-width);
                margin-left: auto;
                margin-right: auto;
                padding-left: 16px;
                padding-right: 16px;
            }

            .wp-block-museum-gallery {
                max-width: 100%;

                h2,
                .wp-block-gallery,
                .museum-gallery-button {
                    max-width: var(--container-max-width);
                    margin-left: auto;
                    margin-right: auto;
                    padding-left: 16px;
                    padding-right: 16px;
                }

                .museum-gallery-button {
                    display: flex;
                }
            }
        }
    }

    .single-exibition {

        .single-post-image {
            aspect-ratio: 16/8;

            img {
                border-radius: 0 32px;
                overflow: hidden;
            }
        }

        .museum-gallery::before {
            background: #001965c4;
        }

        .museum-gallery .wp-block-gallery {
            display: grid;
            grid-template-columns: 1.2fr 1.2fr 1.2fr 1.2fr;
            grid-template-rows: repeat(2, 220px);
            gap: 18px;
        }

        .museum-gallery .wp-block-image:nth-child(1),
        .museum-gallery .wp-block-image:nth-child(6) {
            grid-row: 1 / span 2;
        }

        .museum-gallery .wp-block-image {
            width: 100% !important;
        }

        .museum-gallery .wp-block-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 0 32px;
        }
    }

    .single-gallery {
        .single-post-image {
            aspect-ratio: 2/1.25;
            float: left;
            max-width: calc((var(--container-max-width) / 2) - 32px);
            padding: 0 32px 32px 0;

            img {
                border-radius: 0 32px 0 0;
                overflow: hidden;
            }
        }

    }
}

@media (max-width: 1024px) {
    .title-section {
        padding: 0 16px;
    }

    .single-exibition {
        .featured-image {
            margin-top: 16px;
        }

        .wp-block-paragraph {
            column-count: 1 !important;
            column-gap: 1px !important;
        }
    }
}

/*Single page*/

.page-single {

    h2 {
        color: var(--primary-dark-blue);
        margin-top: 40px;
        margin-bottom: 16px;
        font-size: 24px;
        line-height: 1.25;
        font-weight: 700;
    }

    p {
        font-size: 1.25rem;
    }
}


/*Exponat*/

.single-exponat {
    .exponat-data {
        margin-top: 48px;

        >.container {
            gap: 40px;
        }

        .intro-image {
            height: 100%;
            border-radius: 0 40px;
            overflow: hidden;
            min-height: 400px;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        .exponat-information {
            .exponat-details-icon {
                align-items: center;
                gap: 16px;
                font-size: 24px;
                border-bottom: 1px solid var(--border-color);
                padding: 8px;

                i {
                    color: var(--primary-orange);
                }

                label {
                    line-height: 1.1;
                    color: var(--primary-dark-blue);
                    margin-top: 6px;
                }
            }

            .exponat-detail-description {
                margin: 4px 0 20px 0;
                font-size: 1.25rem;
            }
        }
    }

    .exponat-description {
        padding-top: 64px;
    }
}

@media (max-width: 1024px) {

    .single-exponat {
        .exponat-data {
            margin-top: 24px;

            .gap-32 {
                gap: 16px;
            }
        }

        .intro-image {
            aspect-ratio: 16/10;
            min-height: auto !important;
            border-radius: 0 16px;
        }

        .exponat-description {
            margin-top: 32px;

            .museum-gallery {
                margin: 0 -8px 0 -8px;
                padding: 16px 0px;

                .wp-block-gallery {
                    margin-left: 0px !important;
                    margin-right: 0px !important;
                    padding: 0 16px 8px 16px;
                    gap: 16px;
                }
            }

        }
    }

}