/* ── Custom Latest Posts Block — Frontend Styles ── */

.latest-posts__content {
    box-sizing: border-box;
    flex: 0 0 calc(100% - 40px);
    margin: 0 20px 40px;
    position: relative;
}

.latest-posts__content .section__title {
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: 1px;
    margin-bottom: 1em;
    text-transform: uppercase;
    color: #1a2e4a;
}

/* ── Single post row ── */
.latest-posts__content .post {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
    min-height: 400px;
    margin-bottom: 40px;
}

/* ── Image panel ── */
.latest-posts__content .post__image {
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    box-sizing: border-box;
    flex: 0 0 100%;
    min-height: 40vh;
}

/* ── Text panel ── */
.latest-posts__content .post__content {
    box-sizing: border-box;
    flex: 0 0 100%;
    padding: 20px 0;
}

.latest-posts__content .post__header {
    margin-bottom: 2vw;
}

/* ── Categories ── */
.latest-posts__content .post__categories {
    font-size: 16px;
    font-size: 1rem;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.latest-posts__content .post__categories a {
    background-color: transparent;
    color: #e6b128;
    text-decoration: none !important;
    transition: all .2s ease-in;
}

.latest-posts__content .post__categories a:hover {
    color: #c9981e;
}

/* ── Post title ── */
.latest-posts__content .post__title {
    line-height: 1.3;
    margin: 0 0 2vw;
}

.latest-posts__content .post__title a {
    background-color: transparent;
    color: #1a2e4a;
    font-size: 36px;
    font-size: 2.25rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all .2s ease-in;
}

.latest-posts__content .post__title a:hover {
    color: #e6b128;
}

/* ── Meta / date ── */
.latest-posts__content .post__meta {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    font-size: 14px;
    font-size: .875rem;
    color: #666;
}

.latest-posts__content .post__date {
    box-sizing: border-box;
    flex: 0 0 100%;
}

/* ── Tablet: side-by-side layout ── */
@media (min-width: 768px) {
    .latest-posts__content .post {
        flex-direction: row;
        align-items: stretch;
    }

    .latest-posts__content .post__image,
    .latest-posts__content .post__content {
        box-sizing: border-box;
        flex: 0 0 50%;
    }

    .latest-posts__content .post__image {
        min-height: unset;
    }

    .latest-posts__content .post__content {
        padding: 20px;
    }
}

/* ── Desktop: alternate image left/right ── */
@media (min-width: 992px) {
    .latest-posts__content .post:nth-child(odd) .post__image {
        order: 2;
    }

    .latest-posts__content .post__title a {
        font-size: 2.25rem;
    }
}
