﻿/* =========================
   Welcome + Para Noivas
   ========================= */


/* ---------- Seção Boas-vindas ---------- */
.welcome {
    background: #f9f8f6;
    position: relative; /* referencial para o bouquet */
    padding: 64px 0 160px; /* bottom bem grande p/ a imagem avançar */
    overflow-x: clip;
}

.welcome__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 580px;
    align-items: center;
    gap: 32px;
}

.welcome__text h2 {
    font-family: var(--font-serif);
    font-size: clamp(1.8rem, 2vw + 1.5rem, 3rem);
    line-height: 1.18;
    color: var(--brand);
    margin: 0 0 24px;
    font-weight: 700;
}

.welcome__text p {
    margin: 0;
    line-height: 1.6;
    font-size:25px;
}

/* --- Bouquet que invade a próxima seção --- */
.welcome__bouquet {
    position: absolute;
    right: 3vw; /* dist. da borda direita */
    bottom: -80px; /* avança 80 px sobre a seção seguinte */
    width: min(41vw, 1200px); /* responsivo, máx 540 px */
    z-index: 2;
    pointer-events: none; /* clique passa por ele */

    transform: rotate(-12deg);
}

/* ---------- Seção Para Noivas ---------- */
.for-brides {
    background: var(--dark-blue);
    color: #fff;
    padding: 120px 0 72px; /* top alto p/ compensar a invasão do bouquet */
}

.for-brides__text {
    margin-left:15px;
}

.for-brides__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 360px 1fr;
    align-items: center;
}

.for-brides__photo img {
    width: 100%;
    border-radius: var(--radius);
    object-fit: cover;
    border: solid 1px #707070;
}

.for-brides__text h3 {
    font-family: var(--font-serif);
    font-size: 2rem;
    margin: 0 0 16px;
}

.for-brides__text p {
    margin: 0 0 24px;
    line-height: 1.7;
    font-size:25px !important;
}

/* --- Botões CTA reutilizáveis --- */
.btn-cta {
    display: inline-block;
    background: var(--brand);
    color: #fff;
    padding: 12px 28px;
    border-radius: 40px;
    font-weight: 600;
    text-decoration: none;
    transition: background .25s;
}

    .btn-cta:hover {
        background: #8e5a10;
    }

    .btn-cta.sm {
        font-size: 1rem;
    }
@media (max-width: 1200px) {

    /* Welcome */
    .welcome {
        padding-bottom: 20px;
    }

    .welcome__container {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .welcome__text p {
        font-size: 25px !important;
    }

    .welcome__bouquet {
        position: static; /* volta a fluir */
        margin: 0px auto 0;
        width: clamp(220px, 70vw, 360px);
        bottom: auto;
        transform: rotate(0deg);
    }

}

    /* ========== Responsivo ========== */
    @media (max-width: 900px) {
        /* Welcome */
        .welcome {
            padding-bottom: 20px;
        }

        .welcome__container {
            grid-template-columns: 1fr;
            text-align: center;
        }

        .welcome__text p {
            font-size: 16px !important;
        }

        .welcome__bouquet {
            position: static; /* volta a fluir */
            margin: 0px auto 0;
            width: clamp(220px, 70vw, 360px);
            bottom: auto;
            transform: rotate(0deg);
        }

        /* Para Noivas */
        .for-brides__container {
            grid-template-columns: 1fr;
        }

        .for-brides__photo {
            max-width: 320px;
            margin: 0 auto 32px;
        }

        .for-brides__text {
            text-align: center;
        }

            .for-brides__text p {
                font-size: 16px !important;
            }

        .for-brides {
            padding-top: 40px;
            padding-bottom: 40px;
        }
    }
