.banner-slider {
    position: relative;

    .banner-pagination-wrapper {
        position: absolute;
        bottom: 40px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 1200px;
        pointer-events: none;
        z-index: 1;

        @media (max-width: 800px) {
            width: auto; /* 🔑 */
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            justify-content: center;
        }
    }

    /* pagination continua absoluta, mas agora "presa" ao wrapper */
    .banner-pagination-wrapper .swiper-pagination {
        position: relative;
        text-align: left;
        pointer-events: auto;
    }

    .bannerImage {
        position: relative;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        height: 90vh;
        display: flex;
        align-items: center;
        padding: 3rem 0;

        @media (max-width: 800px) {
            align-items: flex-end;
        }
    }

    .containerBanner {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        gap: 7rem;
        width: 100%;

        @media (max-width: 800px) {
            gap: 1.5rem;
        }

        /* Alinhamentos Desktop */
        &.align-left {
            align-items: flex-start;
            text-align: left;
        }

        &.align-center {
            align-items: center;
            text-align: center;
        }

        &.align-right {
            align-items: flex-end;
            text-align: right;
        }

        /* Alinhamentos Mobile */
        @media (max-width: 800px) {
            &.align-mobile-left {
                align-items: flex-start;
                text-align: left;
            }

            &.align-mobile-center {
                align-items: center;
                text-align: center;
            }

            &.align-mobile-right {
                align-items: flex-end;
                text-align: right;
            }
        }

        h1 {
            margin: 0;
            color: var(--title-color-desktop, #3f2c75);
            font-size: 54px;
            font-weight: 800;
            width: 40%;
            line-height: 60px;

            @media (max-width: 800px) {
                color: var(--title-color-mobile, #3f2c75);
                width: 100%;
                font-size: 45px;
            }
        }

        /* Ajusta largura do h1 quando centralizado */
        &.align-center h1 {
            width: 60%;
        }

        @media (max-width: 800px) {
            &.align-mobile-center h1 {
                width: 100%;
            }
        }

        button {
            padding: 1em 3em 1em 3em;
            line-height: 22px;
            background: #efa61f;
            color: #fff;
            font-size: 20px;
            font-weight: 600;
            border-width: 2px;
            border-color: #fff;
            border-style: dashed;
            transition: 0.2s;
            border-radius: 0.7rem;

            @media (max-width: 800px) {
                font-size: 16px;
            }

            &:hover {
                background: #3f2c75;
                transition: 0.2s;
            }
        }
    }
}
