/* Blog single post — editorial redesign.
   Replaces the old section-blog-single / entry__article layout for postSingle.cshtml.
   col-lg-8 container from the view keeps max readable width (~720px). */

.blog-post-wrap {
    padding: 72px 0 96px;
    background: #fff;
}

/* Lead intro text (Model.Texto) */
.blog-lead {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: #444;
    margin-bottom: 56px;
    padding-bottom: 48px;
    border-bottom: 1px solid #ebebeb;
}

.blog-lead p {
    margin-bottom: 20px;
}

.blog-lead p:last-child {
    margin-bottom: 0;
}

/* Each building/topic section */
.blog-section {
    margin-bottom: 0;
}

.blog-section__title {
    font-size: 1.375rem;
    font-weight: 700;
    color: #131313;
    border-left: 3px solid #FE5900;
    padding-left: 14px;
    margin: 0 0 24px;
    line-height: 1.3;
}

.blog-section__figure {
    margin: 0 0 24px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.blog-section__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.blog-section__caption {
    font-size: 0.8125rem;
    color: #999;
    font-style: italic;
    margin-top: 8px;
    text-align: left;
}

.blog-section__body {
    font-size: 1rem;
    line-height: 1.75;
    color: #3a3a3a;
}

.blog-section__body p {
    margin-bottom: 18px;
}

.blog-section__body p:last-child {
    margin-bottom: 0;
}

.blog-section__body strong {
    color: #131313;
    font-weight: 700;
}

.blog-section__cta {
    margin-top: 32px;
    text-align: center;
}

/* Thin rule between sections */
.blog-divider {
    border: none;
    border-top: 1px solid #ebebeb;
    margin: 56px 0;
}

@media (max-width: 767px) {
    .blog-post-wrap {
        padding: 48px 0 64px;
    }

    .blog-lead {
        font-size: 1rem;
        margin-bottom: 40px;
        padding-bottom: 32px;
    }

    .blog-section__title {
        font-size: 1.1875rem;
    }

    .blog-divider {
        margin: 40px 0;
    }
}
