/* Convite de abertura */
.invite-panel {
    transition: transform 0.9s cubic-bezier(0.77, 0, 0.18, 1);
    will-change: transform;
}

#invite-left.open   { transform: translateX(-100%); }
#invite-right.open  { transform: translateX(100%); }
#invite-top.open    { transform: translateY(-100%); }
#invite-bottom.open { transform: translateY(100%); }

#invite-overlay.done { display: none; }

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}

.hero-gradient {
    background: linear-gradient(to bottom, rgba(251, 249, 245, 0.2), rgba(251, 249, 245, 1));
}

#hero-section {
    background-image: url('../images/anacarolina_paulohenrique002.jpeg');
    background-size: cover;
    background-position: center top;
    height: calc(100vh - 16px);
}

/* Carrossel — fundo desfocado para fotos verticais */
.carousel-slide {
    position: relative;
}

.carousel-slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    filter: blur(20px) brightness(0.5);
    z-index: 0;
    opacity: 0;
    transition: opacity 0.3s;
}

.carousel-slide.portrait-blur::before {
    opacity: 1;
}

.carousel-slide img {
    position: relative;
    z-index: 1;
}
