.single .post {
    background-color: #fff;
    border-radius: 1.5rem;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    margin-bottom: 4rem;
    overflow: hidden;
    margin-top: 3rem;

    >.header {
        position: relative;
    }

    >.header>.thumbnail-wrapper {
        position: relative;
        margin: 0;
        height: clamp(250px, 40vh, 500px);
        overflow: hidden;
    }

    >.header>.thumbnail-wrapper>.thumbnail {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    >.header>.wrapper {
        padding-inline: 0.5rem;
        margin-bottom: 1.5rem;
    }

    >.header>.wrapper>.post-info {
        position: relative;
        margin-top: -100px;
        background-color: #ffffff;
        border-radius: 1.5rem 1.5rem 0 0;
        padding: 1rem;
        box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.07);
    }

    >.header>.wrapper>.post-info>.title {
        font-size: clamp(2rem, 5vw, 3rem);
        line-height: 1.2;
        margin: 0 0 1.5rem 0;
        color: #1a202c;
        font-weight: 800;
        letter-spacing: -0.02em;
    }

    >.header>.wrapper>.post-info>.meta>.links {
        >a {
            text-decoration: none;
            color: #1D1D1F;

            &:hover {
                text-decoration: underline;
            }
        }
    }

    >.content {
        padding-inline: 0.5rem;
        margin-bottom: 2rem;
    }
}

@media(min-width: 768px) {
    .single .post {
        margin-inline: 1rem;

        >.header>.wrapper {
            padding-inline: 1rem;
        }

        >.header>.wrapper>.post-info {
            padding: 1rem;

        }

        >.content {
            padding-inline: 1rem;
        }
    }
}

@media(min-width: 1200px) {
    .single .post {
        margin-inline: 8rem;

        >.header>.wrapper {
            padding-inline: 3rem;
        }

        >.header>.wrapper>.post-info {
            padding: 2rem;

        }

        >.content {
            padding-inline: 3rem;
        }
    }
}
