
       
        html,
        body {
            height: 100%;
            overflow-y: auto;
        }

        main {
            flex: 1;
            color: var(--color-text1);
        }
        
        /* Swiper FOUC (Flash of Unstyled Content) Fix */
        .swiper:not(.swiper-initialized) {
            opacity: 0;
            visibility: hidden;
        }
        .swiper.swiper-initialized {
            opacity: 1;
            visibility: visible;
            transition: opacity 300ms ease-in-out;
        }

        [x-cloak] {
            display: none !important
        }

        .custom-primary-hover:hover {
            background: rgba(var(--color-primary-rgb), 0.85) !important;
        }

        .custom-action_btn-hover:hover {
            background: rgba(var(--color-action_btn-rgb), 0.85) !important;
        }

        .custom-cor_botao_comprar-hover:hover {
            background: rgba(var(--color-cor_botao_comprar-rgb), 0.85) !important;
        }

        .custom-secondary-hover:hover {
            background: rgba(var(--color-secondary-rgb), 0.85) !important;
        }

        .custom-accent-hover:hover {
            background: rgba(var(--color-accent-rgb), 0.85) !important;
        }

        .custom-success-hover:hover {
            background: rgba(var(--color-success-rgb), 0.85) !important;
        }

        .custom-warning-hover:hover {
            background: rgba(var(--color-warning-rgb), 0.85) !important;
        }

        .custom-error-hover:hover {
            background: rgba(var(--color-error-rgb), 0.85) !important;
        }

        /* Chrome, Safari, Edge, Opera */
        input[type=number]::-webkit-inner-spin-button,
        input[type=number]::-webkit-outer-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

        /* Firefox */
        input[type=number] {
            -moz-appearance: textfield;
        }

    .dot {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        animation: bounce 0.3s infinite alternate;
    }

    @keyframes bounce {
        from { transform: translateY(0); }
        to   { transform: translateY(-15px); }
    }

    /* delays para sequência */
    .delay-0   { animation-delay: 0s; }
    .delay-150 { animation-delay: 0.1s; }
    .delay-300 { animation-delay: 0.2s; }
    .delay-450 { animation-delay: 0.3s; }
    .delay-600 { animation-delay: 0.4s; }

    /* Prevenir overflow horizontal */
    html {
        overflow-x: hidden;
    }
    
    body {
        overflow-x: hidden;
        width: 100%;
        max-width: 100vw;
    }
    
    /* Container principal */
    .banner-full-width {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        max-width: 100vw;
        position: relative;
    }
    
    /* Garantir que nenhum elemento cause overflow */
    * {
        box-sizing: border-box;
    }
    
    .banner-full-width > * {
        max-width: 100%;
    }
