
/*
 * Vila Baco Core v0.18.1
 * Quem Somos:
 * - conecta a foto/história do painel à HOME real (Elementor)
 * - preserva SEMPRE a proporção original da foto
 * - não usa object-fit: cover
 * - apenas o canto inferior direito recebe arredondamento marcante
 */

/* ==========================================================
   HOME — replace the wine-colored placeholder with real photo
   ========================================================== */
.vb-site .vb-about#sobre .vb-image-space.vb-image-space--has-photo{
    position:relative !important;
    display:block !important;
    place-items:unset !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:4px 4px 78px 4px !important;
    color:transparent !important;
    background:transparent !important;
    line-height:0 !important;
}

.vb-site .vb-about#sobre .vb-image-space.vb-image-space--has-photo img{
    position:static !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-width:100% !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
    padding:0 !important;
}

/* Keep the small green graphic detail above the image. */
.vb-site .vb-about#sobre .vb-image-space.vb-image-space--has-photo::before{
    z-index:2 !important;
}

/* ==========================================================
   HOME — Nossa história
   Appears only when there is text saved in the client panel.
   ========================================================== */
.vb-site .vb-about#sobre .vb-home-history{
    width:100%;
    margin-top:86px;
    padding-top:72px;
    border-top:1px solid rgba(67,0,25,.12);
}

.vb-site .vb-about#sobre .vb-home-history__grid{
    display:grid;
    grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);
    gap:76px;
    align-items:start;
}

.vb-site .vb-about#sobre .vb-home-history__heading h3{
    max-width:470px;
    margin:10px 0 0;
    color:#430019;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:48px;
    font-weight:500;
    line-height:1;
    letter-spacing:-.025em;
}

.vb-site .vb-about#sobre .vb-home-history__text{
    padding-left:30px;
    border-left:1px solid rgba(67,0,25,.14);
}

.vb-site .vb-about#sobre .vb-home-history__text p{
    margin:0 0 18px;
    color:#5d5055;
    font-size:15px;
    line-height:1.9;
}

.vb-site .vb-about#sobre .vb-home-history__text p:last-child{
    margin-bottom:0;
}

/* ==========================================================
   /quem-somos/ — same rule: NEVER crop the uploaded photo.
   Wrapper follows the file's natural proportion.
   ========================================================== */
body.vb-quem-somos-page .vb-about__media.vb-about__media--has-photo{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    border-radius:4px 4px 78px 4px !important;
    background:transparent !important;
}

body.vb-quem-somos-page .vb-about__media.vb-about__media--has-photo img{
    position:static !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-width:100% !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center !important;
}

@media(max-width:900px){
    .vb-site .vb-about#sobre .vb-home-history__grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .vb-site .vb-about#sobre .vb-home-history__text{
        padding:26px 0 0;
        border-top:1px solid rgba(67,0,25,.14);
        border-left:0;
    }
}

@media(max-width:640px){
    .vb-site .vb-about#sobre .vb-image-space.vb-image-space--has-photo,
    body.vb-quem-somos-page .vb-about__media.vb-about__media--has-photo{
        border-radius:4px 4px 48px 4px !important;
    }

    .vb-site .vb-about#sobre .vb-home-history{
        margin-top:58px;
        padding-top:52px;
    }

    .vb-site .vb-about#sobre .vb-home-history__heading h3{
        font-size:39px;
    }

    .vb-site .vb-about#sobre .vb-home-history__text p{
        font-size:14px;
        line-height:1.8;
    }
}
