.blog-categories, .single-category {

    padding-inline: 3rem;

    >.heading {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 2.5rem;
        gap: 1.5rem;
    }

    >.heading>.header {
        position: relative;
        padding-bottom: 1rem;
        font-size: 2rem;
        font-weight: 800;
        color: #1a202c;
        margin: 0;

        &::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            width: 3rem;
            height: 4px;
            background-color: var(--color-primary);
            border-radius: 2px;
        }
    }

    >.heading>.view-all {
        display: inline-flex;
        align-items: center;
        font-weight: 600;
        color: #1C223A;
        text-decoration: none;
        gap: 0.5rem;
        transition: gap 0.3s ease;
        font-size: 1rem;

        &:hover {
            gap: 0.75rem;
            text-decoration: none;
        }
    }

    >.grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 2rem;
        margin-bottom: 2rem;
    }

    >.grid>.card {
        background-color: #fff;
        border-radius: 1rem;
        border: 1px solid rgba(0, 0, 0, 0.05);
        height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    >.grid>.card>.wrapper {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    >.grid>.card>.wrapper>.content {
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

    >.grid>.card>.wrapper>.thumbnail-wrapper>a>.thumbnail {
        width: 100%;
        height: 240px;
        object-fit: cover;
    }

    >.grid>.card>.wrapper>.content>.title {
        font-size: 1.25rem;
        text-wrap: balance;
        line-height: 1.4;
        margin: 0 0 0.75rem 0;
        font-weight: 700;

        &:hover {
            text-decoration: underline;
        }
    }

    >.grid>.card>.wrapper>.content>.title>.link {
        color: #1a202c;
        text-decoration: none;
        transition: color 0.2s ease;
    }

    >.grid>.card>.wrapper>.content>.excerpt {
        color: #4a5568;
        margin-bottom: 1.5rem;
        font-size: 0.95rem;
        line-height: 1.6;
    }

    >.grid>.card>.wrapper>.content>.footer {
        margin-top: auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    >.grid>.card>.wrapper>.content>.footer>.read-more {
        display: flex;
        align-items: center;
        color: #1C223A;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.875rem;
        transition: color 0.2s ease;

        &:hover {
            color: var(--color-secondary);
            text-decoration: none;


            .ri-arrow-right-line {
                transform: translateX(3px);
            }

        }


    }

    >.grid>.card>.wrapper>.content>.footer>.read-more>.ri-arrow-right-line {
        margin-left: 0.25rem;
        transition: transform 0.2s ease;
    }
}

@media (min-width: 768px) {
    .blog-categories>.heading {
        flex-direction: row;
        align-items: center;
    }
}

@media (min-width: 1024px) {
    .blog-categories>.grid, .single-category>.grid {
        grid-template-columns: repeat(3, 1fr);
    }
}