.page-campaigns {
    padding-bottom: 135px;

    > .floating-elements {
        z-index: 1;
    }

    > .container {
        position: relative;
        z-index: 2;
    }

    .cb-text-gallery {
        @media (min-width: 960px) {
            display: flex;
            gap: 80px;
            max-width: 1200px;
            margin: auto;
            align-items: center;

            &.reverse {
                flex-direction: row-reverse;
            }
        }

        .text {
            max-width: 560px;
            @media (min-width: 960px) {
                flex: 1;
            }

            h3 {
                margin-bottom: 12px;
            }
        }

        .gallery {
            margin-top: 24px;

            @media (min-width: 960px) {
                width: 40%;
                flex: 1;
                margin-top: 0;
            }
        }
    }

    .campaign-carousel {
        position: relative;
        width: 100%;
        margin: 0 auto 32px;
    }

    .campaign-carousel__stack {
        position: relative;
        width: 100%;
        overflow: hidden;
        border-radius: 4px;
    }

    .campaign-carousel__slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.4s ease;

        &.is-active {
            opacity: 1;
            pointer-events: auto;
        }

        img,
        video {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
    }

    .campaign-carousel__embed {
        width: 100%;
        height: 100%;

        iframe {
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
        }
    }

    .campaign-carousel__dots {
        width: 100%;
        margin-top: 24px;
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    .campaign-carousel__dot {
        background-color: var(--color-cream);
        width: 10px;
        height: 10px;
        border-radius: 50%;
        border: none;
        padding: 0;
        cursor: pointer;

        &.is-active {
            opacity: 1;
            background-color: var(--color-yellow);
        }
    }
}
