
/* Vila Baco Core v0.19.0 — Momentos especiais */

.vb-home-moments-section .vb-home-heading{
    margin-bottom:28px;
}

.vb-moments{
    position:relative;
}

.vb-moments__carousel{
    position:relative;
    padding:0 54px;
}

.vb-moments__track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    padding:4px 0 18px;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
}

.vb-moments__track::-webkit-scrollbar{
    display:none;
}

.vb-moment-card{
    flex:0 0 calc((100% - 36px)/3);
    overflow:hidden;
    min-width:0;
    padding:0;
    border:1px solid rgba(67,0,25,.10);
    border-radius:18px;
    color:#3d3035;
    background:#fff;
    box-shadow:0 14px 40px rgba(67,0,25,.05);
    text-align:left;
    cursor:pointer;
    scroll-snap-align:start;
    transition:transform .22s ease, box-shadow .22s ease;
}

.vb-moment-card:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 48px rgba(67,0,25,.10);
}

.vb-moment-card__image{
    position:relative;
    display:block;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#eee6e0;
}

.vb-moment-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.vb-moment-card:hover .vb-moment-card__image img{
    transform:scale(1.025);
}

.vb-moment-card__image i{
    position:absolute;
    right:12px;
    bottom:12px;
    padding:7px 10px;
    border-radius:999px;
    color:#fff;
    background:rgba(67,0,25,.82);
    backdrop-filter:blur(8px);
    font-size:9px;
    font-style:normal;
    font-weight:700;
}

.vb-moment-card__content{
    display:flex;
    flex-direction:column;
    min-height:162px;
    padding:20px 20px 19px;
}

.vb-moment-card__content small{
    min-height:16px;
    margin-bottom:7px;
    color:#72a900;
    font-size:9px;
    font-weight:700;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.vb-moment-card__content strong{
    color:#430019;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:29px;
    font-weight:500;
    line-height:1.03;
}

.vb-moment-card__content>span{
    margin-top:8px;
    color:#76666c;
    font-size:11px;
    line-height:1.55;
}

.vb-moment-card__content b{
    margin-top:auto;
    padding-top:16px;
    color:#430019;
    font-size:9px;
    font-weight:700;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.vb-moments__arrow{
    position:absolute;
    top:50%;
    z-index:3;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-top:-21px;
    padding:0;
    border:1px solid rgba(67,0,25,.14);
    border-radius:50%;
    color:#430019;
    background:#fff;
    box-shadow:0 8px 22px rgba(67,0,25,.07);
    cursor:pointer;
}

.vb-moments__arrow--prev{left:0}
.vb-moments__arrow--next{right:0}

.vb-moments__empty{
    padding:30px;
    border:1px solid rgba(67,0,25,.1);
    border-radius:16px;
    color:#8a767d;
    background:#fff;
    text-align:center;
}

/* Modal album */
.vb-moment-modal{
    position:fixed;
    inset:0;
    z-index:10050;
    display:none;
}

.vb-moment-modal.is-open{
    display:block;
}

.vb-moment-modal__backdrop{
    position:absolute;
    inset:0;
    background:rgba(28,0,11,.78);
    backdrop-filter:blur(7px);
}

.vb-moment-modal__panel{
    position:absolute;
    top:50%;
    left:50%;
    display:flex;
    flex-direction:column;
    width:min(1080px,calc(100% - 46px));
    max-height:calc(100vh - 54px);
    overflow:hidden;
    border-radius:22px;
    background:#f9f5f0;
    box-shadow:0 28px 90px rgba(0,0,0,.28);
    transform:translate(-50%,-50%);
}

.vb-moment-modal__close{
    position:absolute;
    top:18px;
    right:18px;
    z-index:6;
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid rgba(67,0,25,.12);
    border-radius:50%;
    color:#430019;
    background:rgba(255,255,255,.9);
    font-size:24px;
    cursor:pointer;
}

.vb-moment-modal__header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    padding:28px 72px 20px 30px;
}

.vb-moment-modal__header span{
    color:#72a900;
    font-size:9px;
    font-weight:700;
    letter-spacing:1.7px;
}

.vb-moment-modal__header h3{
    margin:6px 0 0;
    color:#430019;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:38px;
    font-weight:500;
    line-height:1;
}

.vb-moment-modal__header p,
.vb-moment-modal__header>small{
    margin:6px 0 0;
    color:#84737a;
    font-size:10px;
}

.vb-moment-modal__viewer{
    position:relative;
    display:grid;
    grid-template-columns:50px minmax(0,1fr) 50px;
    align-items:center;
    min-height:0;
    padding:0 16px;
}

.vb-moment-modal__slides{
    position:relative;
    min-height:0;
    height:min(62vh,650px);
}

.vb-moment-modal__slide{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    margin:0;
    opacity:0;
    pointer-events:none;
    transform:translateX(18px);
    transition:opacity .4s ease, transform .45s ease;
}

.vb-moment-modal__slide.is-active{
    opacity:1;
    pointer-events:auto;
    transform:translateX(0);
}

.vb-moment-modal__slide img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    border-radius:14px;
    box-shadow:0 14px 42px rgba(67,0,25,.10);
}

.vb-moment-modal__nav{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid rgba(67,0,25,.13);
    border-radius:50%;
    color:#430019;
    background:#fff;
    cursor:pointer;
}

.vb-moment-modal__dots{
    display:flex;
    justify-content:center;
    gap:7px;
    padding:16px 20px 20px;
}

.vb-moment-modal__dots button{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(67,0,25,.20);
    cursor:pointer;
}

.vb-moment-modal__dots button.is-active{
    background:#72a900;
    transform:scale(1.25);
}

body.vb-moment-modal-open{
    overflow:hidden;
}

@media(max-width:900px){
    .vb-moment-card{
        flex-basis:calc((100% - 18px)/2);
    }
}

@media(max-width:620px){
    .vb-moments__carousel{
        padding:0;
    }

    .vb-moments__arrow{
        display:none;
    }

    .vb-moment-card{
        flex-basis:84%;
    }

    .vb-moment-modal__panel{
        width:100%;
        height:100%;
        max-height:none;
        border-radius:0;
    }

    .vb-moment-modal__header{
        padding:24px 64px 16px 18px;
    }

    .vb-moment-modal__header h3{
        font-size:32px;
    }

    .vb-moment-modal__viewer{
        grid-template-columns:42px minmax(0,1fr) 42px;
        padding:0 7px;
    }

    .vb-moment-modal__slides{
        height:68vh;
    }

    .vb-moment-modal__nav{
        width:36px;
        height:36px;
    }
}
