.elementor-4403 .elementor-element.elementor-element-13751a6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-5118678c{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:130px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-5118678c:not(.elementor-motion-effects-element-type-background), .elementor-4403 .elementor-element.elementor-element-5118678c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://textoeaudioemingles.com.br/wp-content/uploads/2025/05/fundo-deskt4-1.webp");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-4403 .elementor-element.elementor-element-3a8bf79d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4403 .elementor-element.elementor-element-7c7b4b3a .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:50px;font-weight:800;color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4403 .elementor-element.elementor-element-1d6cc14e{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;color:#000000;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4403 .elementor-element.elementor-element-53c4bf65 .elementor-button{background-color:#61CE70FC;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:inline-flex;font-family:"Sora", Sans-serif;font-size:19px;font-weight:800;text-transform:uppercase;fill:#000000;color:#000000;border-radius:8px 8px 8px 8px;padding:30px 60px 30px 60px;}.elementor-4403 .elementor-element.elementor-element-53c4bf65 .elementor-button:hover, .elementor-4403 .elementor-element.elementor-element-53c4bf65 .elementor-button:focus{box-shadow:0px 0px 20px 0px rgba(255, 8.000000000000057, 57.99999999999991, 0.8);}.elementor-4403 .elementor-element.elementor-element-392e3cd5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-2cde1950{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:130px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-2cde1950:not(.elementor-motion-effects-element-type-background), .elementor-4403 .elementor-element.elementor-element-2cde1950 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://textoeaudioemingles.com.br/wp-content/uploads/2025/05/new-fundo-deskt.webp");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-4403 .elementor-element.elementor-element-4002b44{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-1a1ee91f .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:50px;font-weight:800;color:#000000;}.elementor-4403 .elementor-element.elementor-element-51360cac{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;color:#000000;}.elementor-4403 .elementor-element.elementor-element-510849cc .elementor-button{background-color:#61CE70FC;font-family:"Sora", Sans-serif;font-size:19px;font-weight:800;text-transform:uppercase;fill:#000000;color:#000000;border-radius:8px 8px 8px 8px;padding:30px 60px 30px 60px;}.elementor-4403 .elementor-element.elementor-element-510849cc .elementor-button:hover, .elementor-4403 .elementor-element.elementor-element-510849cc .elementor-button:focus{box-shadow:0px 0px 20px 0px rgba(255, 8.000000000000057, 57.99999999999991, 0.8);}.elementor-4403 .elementor-element.elementor-element-4fca0be8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-3e0d38e1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:-6px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-2f6bb8c1{--display:flex;--min-height:823px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-64e3159{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-51ef369{text-align:center;}.elementor-4403 .elementor-element.elementor-element-51ef369 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:50px;font-weight:800;color:#000000;}.elementor-4403 .elementor-element.elementor-element-40835eaa{text-align:center;}.elementor-4403 .elementor-element.elementor-element-40835eaa .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:25px;font-weight:600;color:#000000;}.elementor-4403 .elementor-element.elementor-element-2e61b43c{--display:flex;--min-height:728px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-654f3990{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-74264487{text-align:center;}.elementor-4403 .elementor-element.elementor-element-74264487 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:50px;font-weight:800;color:#000000;}.elementor-4403 .elementor-element.elementor-element-22dbacc{text-align:center;}.elementor-4403 .elementor-element.elementor-element-22dbacc .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:25px;font-weight:600;color:#000000;}.elementor-4403 .elementor-element.elementor-element-f45c40{--display:flex;--min-height:910px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-2b25f96b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-2c1e1fb0{text-align:center;}.elementor-4403 .elementor-element.elementor-element-2c1e1fb0 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:50px;font-weight:800;color:#000000;}.elementor-4403 .elementor-element.elementor-element-3ddd7ee3{text-align:center;}.elementor-4403 .elementor-element.elementor-element-3ddd7ee3 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:25px;font-weight:600;color:#000000;}.elementor-4403 .elementor-element.elementor-element-7cc2ab2{text-align:center;}.elementor-4403 .elementor-element.elementor-element-7cc2ab2 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:18px;font-weight:400;color:#000000;}.elementor-4403 .elementor-element.elementor-element-2a0df902 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-4403 .elementor-element.elementor-element-8c86f3d{--display:flex;--min-height:910px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-8c86f3d:not(.elementor-motion-effects-element-type-background), .elementor-4403 .elementor-element.elementor-element-8c86f3d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F9F9;}.elementor-4403 .elementor-element.elementor-element-99c788b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-c253a3a{text-align:center;}.elementor-4403 .elementor-element.elementor-element-c253a3a .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:50px;font-weight:800;color:#000000;}.elementor-4403 .elementor-element.elementor-element-1dfb9c8{z-index:1;text-align:center;}.elementor-4403 .elementor-element.elementor-element-1dfb9c8 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:25px;font-weight:600;color:#000000;}.elementor-4403 .elementor-element.elementor-element-2c63e0f > .elementor-widget-container{margin:-60px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-4403 .elementor-element.elementor-element-f0dfe4b{--display:flex;--min-height:759px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-f0dfe4b:not(.elementor-motion-effects-element-type-background), .elementor-4403 .elementor-element.elementor-element-f0dfe4b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F9F9;}.elementor-4403 .elementor-element.elementor-element-971f9df{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-680a481{text-align:center;}.elementor-4403 .elementor-element.elementor-element-680a481 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:29px;font-weight:800;color:#000000;}.elementor-4403 .elementor-element.elementor-element-ff02a80 > .elementor-widget-container{margin:-16px 0px 0px 0px;}.elementor-4403 .elementor-element.elementor-element-ff02a80{text-align:center;}.elementor-4403 .elementor-element.elementor-element-ff02a80 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:16px;font-weight:300;color:#000000;}.elementor-4403 .elementor-element.elementor-element-467ef9c > .elementor-widget-container{margin:-16px 0px 0px 0px;}.elementor-4403 .elementor-element.elementor-element-724b620{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4403 .elementor-element.elementor-element-724b620:not(.elementor-motion-effects-element-type-background), .elementor-4403 .elementor-element.elementor-element-724b620 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F9F9;}.elementor-4403 .elementor-element.elementor-element-f3923bf{text-align:center;font-family:"Sora", Sans-serif;font-size:14px;font-weight:400;}@media(max-width:1024px){.elementor-4403 .elementor-element.elementor-element-f3923bf{font-size:12px;}}@media(max-width:767px){.elementor-4403 .elementor-element.elementor-element-5118678c:not(.elementor-motion-effects-element-type-background), .elementor-4403 .elementor-element.elementor-element-5118678c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://textoeaudioemingles.com.br/wp-content/uploads/2025/05/new-fundo-celular.webp");}.elementor-4403 .elementor-element.elementor-element-5118678c{--content-width:94vw;--min-height:90vh;--padding-top:40px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-4403 .elementor-element.elementor-element-7c7b4b3a{text-align:left;}.elementor-4403 .elementor-element.elementor-element-7c7b4b3a .elementor-heading-title{font-size:30px;}.elementor-4403 .elementor-element.elementor-element-1d6cc14e > .elementor-widget-container{margin:-8px 0px 0px 0px;}.elementor-4403 .elementor-element.elementor-element-53c4bf65 > .elementor-widget-container{margin:-16px 0px 0px 0px;}.elementor-4403 .elementor-element.elementor-element-53c4bf65 .elementor-button{height:70px;width:330px;font-size:16px;padding:20px 40px 20px 40px;}.elementor-4403 .elementor-element.elementor-element-2f6bb8c1{--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-51ef369 .elementor-heading-title{font-size:30px;}.elementor-4403 .elementor-element.elementor-element-40835eaa .elementor-heading-title{font-size:20px;}.elementor-4403 .elementor-element.elementor-element-2e61b43c{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-74264487 .elementor-heading-title{font-size:30px;}.elementor-4403 .elementor-element.elementor-element-22dbacc .elementor-heading-title{font-size:20px;}.elementor-4403 .elementor-element.elementor-element-f45c40{--min-height:820px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-2c1e1fb0 .elementor-heading-title{font-size:30px;}.elementor-4403 .elementor-element.elementor-element-3ddd7ee3 .elementor-heading-title{font-size:20px;}.elementor-4403 .elementor-element.elementor-element-7cc2ab2 .elementor-heading-title{font-size:13px;}.elementor-4403 .elementor-element.elementor-element-8c86f3d{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-c253a3a .elementor-heading-title{font-size:30px;}.elementor-4403 .elementor-element.elementor-element-1dfb9c8 .elementor-heading-title{font-size:20px;}.elementor-4403 .elementor-element.elementor-element-2c63e0f > .elementor-widget-container{margin:-60px 0px 0px 0px;}.elementor-4403 .elementor-element.elementor-element-f0dfe4b{--min-height:579px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4403 .elementor-element.elementor-element-680a481 .elementor-heading-title{font-size:30px;}.elementor-4403 .elementor-element.elementor-element-ff02a80 .elementor-heading-title{font-size:20px;}.elementor-4403 .elementor-element.elementor-element-f3923bf{font-size:9px;}}@media(min-width:768px){.elementor-4403 .elementor-element.elementor-element-5118678c{--content-width:86vw;}.elementor-4403 .elementor-element.elementor-element-3a8bf79d{--width:50%;}.elementor-4403 .elementor-element.elementor-element-392e3cd5{--width:50%;}.elementor-4403 .elementor-element.elementor-element-2cde1950{--content-width:86vw;}.elementor-4403 .elementor-element.elementor-element-4002b44{--width:50%;}.elementor-4403 .elementor-element.elementor-element-4fca0be8{--width:50%;}.elementor-4403 .elementor-element.elementor-element-2f6bb8c1{--content-width:86vw;}.elementor-4403 .elementor-element.elementor-element-64e3159{--width:100%;}.elementor-4403 .elementor-element.elementor-element-2e61b43c{--content-width:86vw;}.elementor-4403 .elementor-element.elementor-element-654f3990{--width:100%;}.elementor-4403 .elementor-element.elementor-element-f45c40{--content-width:86vw;}.elementor-4403 .elementor-element.elementor-element-2b25f96b{--width:100%;}.elementor-4403 .elementor-element.elementor-element-8c86f3d{--content-width:86vw;}.elementor-4403 .elementor-element.elementor-element-99c788b{--width:100%;}.elementor-4403 .elementor-element.elementor-element-f0dfe4b{--content-width:86vw;}.elementor-4403 .elementor-element.elementor-element-971f9df{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-b34de98 *//* Barra fixa */
        .login-bar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.2);
            z-index: 1000;
            padding: 15px 0;
            box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease-in-out;
        }

        .login-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 20px;
        }

        /* Logo */
        .brand {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .brand-logo {
            height: 32px;
            width: auto;
            object-fit: contain;
        }

        .brand-text {
            font-size: 20px;
            font-weight: 700;
            color: #2d3748;
        }

        /* Seção de login */
        .login-section {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .login-text {
            color: #4a5568;
            font-size: 14px;
            font-weight: 500;
        }

        .login-btn {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 25px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
        }

        .login-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
        }

        .login-btn:active {
            transform: translateY(0);
        }

        /* Ícone de usuário */
        .user-icon {
            width: 16px;
            height: 16px;
            fill: currentColor;
        }

        /* Responsividade */
        @media (max-width: 768px) {
            .login-container {
                padding: 0 15px;
            }
            
            .brand-logo {
                height: 28px;
            }
            
            .brand-text {
                font-size: 18px;
            }
            
            .login-text {
                display: none;
            }
            
            .login-btn {
                padding: 10px 20px;
                font-size: 13px;
            }
        }

        @media (max-width: 480px) {
            .login-section {
                gap: 10px;
            }
            
            .brand-logo {
                height: 24px;
            }
            
            .brand-text {
                font-size: 16px;
            }
        }

        /* Animação de entrada */
        @keyframes slideDown {
            from {
                transform: translateY(-100%);
                opacity: 0;
            }
            to {
                transform: translateY(0);
                opacity: 1;
            }
        }

        .login-bar {
            animation: slideDown 0.5s ease-out;
        }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-53c4bf65 *//* CSS que não interfere em outros botões */
.meu-botao-brilho .elementor-button {
    position: relative !important;
    overflow: hidden !important;
    color: #000 !important;
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%) !important;
    border: none !important;
    z-index: 1 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 15px rgba(58, 231, 2, 0.4) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* Remove qualquer pseudo-elemento que possa existir */
.meu-botao-brilho .elementor-button::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -150% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%) !important;
    animation: brilho-movimento 3s infinite linear !important;
    z-index: 1 !important;
}

/* Remove qualquer ::after que possa interferir */
.meu-botao-brilho .elementor-button::after {
    display: none !important;
}

/* Assegura que o texto fique sobre o brilho */
.meu-botao-brilho .elementor-button span {
    position: relative !important;
    z-index: 2 !important;
}

/* Animação única para evitar conflitos */
@keyframes brilho-movimento {
    0% { left: -150%; }
    100% { left: 150%; }
}

/* Hover e active states */
.meu-botao-brilho .elementor-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(58, 231, 2, 0.6) !important;
}

.meu-botao-brilho .elementor-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(58, 231, 2, 0.4) !important;
}

/* Garante que o contêiner não adicione extras */
.meu-botao-brilho {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1a1ee91f *//* Efeito de Seleção de Texto */
:root {
  --fundo-texto-destaque: #963be330; /* Fundo transparente */
  --padding-horizontal-text: 8px;
  --padding-vertical-texto: 2px;
  --tamanho-bordas-esq-dir: 1px;
  --cor-bordas-esq-dir: #e02c5e;
  --background-texto: linear-gradient(to right, #e02c5e, #963be3);
  --tamanho-circulos: 8px;
  --fundo-circulos: #e02c5e;
}

.background-destaque {
  background: var(--fundo-texto-destaque);
  padding: var(--padding-vertical-texto) var(--padding-horizontal-text);
  position: relative;
  border-left: var(--tamanho-bordas-esq-dir) solid var(--cor-bordas-esq-dir);
  border-right: var(--tamanho-bordas-esq-dir) solid var(--cor-bordas-esq-dir);
  display: inline-block;
}

.gradient-text-destaque {
  background: var(--background-texto);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.background-destaque::after,
.background-destaque::before {
  content: '';
  position: absolute;
  width: var(--tamanho-circulos);
  height: var(--tamanho-circulos);
  border-radius: 50%;
  pointer-events: none;
  background-color: var(--fundo-circulos);
}

.background-destaque::after {
  top: -4px;
  left: -4px;
}

.background-destaque::before {
  right: -4px;
  bottom: -4px;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-510849cc *//* CSS que não interfere em outros botões */
.meu-botao-brilho .elementor-button {
    position: relative !important;
    overflow: hidden !important;
    color: #000 !important;
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%) !important;
    border: none !important;
    z-index: 1 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 15px rgba(58, 231, 2, 0.4) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* Remove qualquer pseudo-elemento que possa existir */
.meu-botao-brilho .elementor-button::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -150% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%) !important;
    animation: brilho-movimento 3s infinite linear !important;
    z-index: 1 !important;
}

/* Remove qualquer ::after que possa interferir */
.meu-botao-brilho .elementor-button::after {
    display: none !important;
}

/* Assegura que o texto fique sobre o brilho */
.meu-botao-brilho .elementor-button span {
    position: relative !important;
    z-index: 2 !important;
}

/* Animação única para evitar conflitos */
@keyframes brilho-movimento {
    0% { left: -150%; }
    100% { left: 150%; }
}

/* Hover e active states */
.meu-botao-brilho .elementor-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(58, 231, 2, 0.6) !important;
}

.meu-botao-brilho .elementor-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(58, 231, 2, 0.4) !important;
}

/* Garante que o contêiner não adicione extras */
.meu-botao-brilho {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4889c2fa *//* Variáveis para o efeito de destaque */
:root {
    --cor-fundo-destaque: #963be330; /* Fundo transparente */
    --cor-borda-lateral: #e02c5e;
    --cor-circulo: #e02c5e;
    --cor-texto-destaque: #ff083a;
}

/* Container do marquee */
.marquee-container {
    overflow: hidden;
    width: 100%;
    background-color: #2b2b2b;
    padding: 15px 0;
    position: relative;
}

/* Lista de itens do marquee */
.marquee-content {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 30px;
    white-space: nowrap;
    transition: transform 0s ease-out;
    transform: translateX(0);
}

/* Estilo dos itens */
.marquee-item {
    color: white;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0 20px;
}

/* Estilo para itens destacados com fundo e bordas */
.marquee-item .selecao {
    color: var(--cor-texto-destaque);
    font-weight: bold;
    background: var(--cor-fundo-destaque);
    padding: 2px 8px;
    position: relative;
    border-left: 1px solid var(--cor-borda-lateral);
    border-right: 1px solid var(--cor-borda-lateral);
    display: inline-block;
}

/* Círculos decorativos */
.marquee-item .selecao::after,
.marquee-item .selecao::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    pointer-events: none;
}

.marquee-item .selecao::after {
    top: -4px;
    left: -4px;
}

.marquee-item .selecao::before {
    right: -4px;
    bottom: -4px;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-51ef369 *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-40835eaa *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3c48d7c0 *//* Container principal - remova ou ajuste */
.seu-container {
  height: auto; /* Em vez de 100vh */
  min-height: 1440px; /* Se precisar de uma altura mínima */
  /* ou simplesmente remova a altura fixa */
}

/* Grid de pain points */
.pain-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin: 40px 0;
  padding: 0 20px;
  box-sizing: border-box;
}

.pain-card {
  background: #fff;
  border-radius: 15px;
  padding: 30px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pain-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.pain-icon {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.icon-circle {
  width: 60px;
  height: 60px;
  background: linear-gradient(45deg, #e02c5e, #963be3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: white;
  flex-shrink: 0; /* Evita que o círculo encolha */
  aspect-ratio: 1 / 1; /* Garante proporção 1:1 */
  min-width: 60px; /* Garante largura mínima */
  min-height: 60px; /* Garante altura mínima */
}

/* Para emojis específicos que podem ser grandes */
.icon-circle span,
.icon-circle emoji {
  display: inline-block;
  line-height: 1;
  max-width: 80%;
  max-height: 80%;
}

.pain-title {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #333;
  line-height: 1.3;
}

.pain-description {
  margin: 0;
  font-size: 16px;
  color: #666;
  line-height: 1.6;
}

/* Responsivo */
@media (max-width: 768px) {
  .pain-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .pain-card {
    padding: 20px;
  }
  
  .pain-title {
    font-size: 18px;
  }
  
  .icon-circle {
    width: 50px;
    height: 50px;
    font-size: 20px;
    min-width: 50px; /* Garante largura mínima no mobile */
    min-height: 50px; /* Garante altura mínima no mobile */
    aspect-ratio: 1 / 1; /* Mantém proporção no mobile */
  }
}

/* Fix específico para emojis problemáticos */
@media (max-width: 768px) {
  .icon-circle {
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-74264487 *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-22dbacc *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2bea7dc2 *//* Grid de etapas */
.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin: 40px 0;
  padding: 0 20px;
}

.step-card {
  background: #fff;
  border-radius: 15px;
  padding: 30px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.step-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

/* Container para número e título lado a lado */
.step-header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.step-number {
  width: 50px;
  height: 50px;
  background: linear-gradient(45deg, #e02c5e, #963be3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  color: white;
  flex-shrink: 0; /* Evita que o círculo encolha */
}

.step-title {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #333;
  line-height: 1.3;
}

.step-description {
  margin: 0;
  font-size: 16px;
  color: #666;
  line-height: 1.6;
}

/* Layout para 2x2 em desktop */
@media (min-width: 769px) {
  .steps {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Responsivo para mobile */
@media (max-width: 768px) {
  .steps {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .step-card {
    padding: 20px;
  }
  
  .step-title {
    font-size: 18px;
  }
  
  .step-number {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-2c1e1fb0 *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-3ddd7ee3 *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-7cc2ab2 *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2a0df902 */.app-demo-section {
  max-width: 100%;
  margin: 60px auto;
  padding: 0 20px;
  text-align: center;
}

.iframe-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  overflow: hidden;
  background: #f5f5f5;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Responsivo para altura de tela completa no mobile */
@media (max-width: 768px) {
  .app-demo-section {
    margin: 20px auto; /* Reduzido para caber na tela */
  }
  
  /* Iframe para ocupar toda a altura da tela */
  .iframe-container {
    height: calc(100vh - 200px); /* Altura total menos espaço para título e botão */
    padding-bottom: 0;
    margin: 20px 0;
  }
  
  .iframe-container iframe {
    position: static;
    width: 100%;
    height: 100%;
  }
}

/* Versão ainda mais compacta para telas pequenas */
@media (max-width: 480px) {
  .app-demo-section {
    margin: 10px auto;
  }
  
  .iframe-container {
    height: calc(100vh - 180px); /* Ajuste conforme necessário */
  }
}

/* Versão para ocupar a tela inteira (opcional) */
.iframe-fullscreen {
  position: relative;
  width: 100%;
  height: 100vh; /* Altura total da viewport */
  margin: 0;
  padding: 0;
}

@media (max-width: 768px) {
  .iframe-fullscreen {
    height: 100vh;
  }
  
  .iframe-fullscreen iframe {
    position: static;
    width: 100%;
    height: 100%;
    border: none;
  }
}

/* Botão */
.demo-button {
  background: linear-gradient(45deg, #e02c5e, #963be3);
  color: white;
  padding: 15px 30px;
  border: none;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 600;
  margin-top: 20px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.demo-button:hover {
  transform: scale(1.05);
}

@media (max-width: 768px) {
  .demo-button {
    font-size: 16px;
    padding: 12px 24px;
    margin-top: 10px;
  }
}

/* Media query específica para tablets */
@media (min-width: 769px) and (max-width: 1024px) {
  .app-demo-section {
    margin: 30px auto;
  }
  
  /* Iframe para tablets - altura proporcional à tela */
  .iframe-container {
    height: calc(100vh - 250px);
    padding-bottom: 0;
    margin: 25px 0;
  }
  
  .iframe-container iframe {
    position: static;
    width: 100%;
    height: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-c253a3a *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1dfb9c8 *//* Sistema de Preços */
.pricing-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f9f9f9 0%, #f3f3f3 100%);
    overflow-x: hidden;
  }
  
  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }
  
  /* Banner de oferta por tempo limitado */
  .limited-time-offer {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(45deg, #e02c5e, #963be3);
    color: white;
    padding: 15px 20px;
    border-radius: 10px;
    margin-bottom: 30px;
    box-shadow: 0 5px 15px rgba(224, 44, 94, 0.3);
    flex-wrap: wrap;
  }
  
  .timer-icon {
    font-size: 24px;
    margin-right: 10px;
  }
  
  .offer-text {
    font-size: 18px;
    font-weight: 600;
    margin-right: 15px;
  }
  
  .countdown {
    font-weight: 700;
    font-size: 18px;
    background: rgba(255, 255, 255, 0.2);
    padding: 5px 15px;
    border-radius: 20px;
  }
  
  .blink {
    animation: blink 1.5s infinite;
  }
  
  @keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
  }
  
  /* Toggle de preços */
  .pricing-toggle-container {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
  }
  
  .pricing-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: white;
    padding: 10px 20px;
    border-radius: 50px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  }
  
 
  

  
  .pricing-period {
    font-size: 16px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.7;
    padding: 5px 15px;
    border-radius: 20px;
  }
  
  .pricing-period.active {
    color: #fff;
    opacity: 1;
    background: linear-gradient(45deg, #e02c5e, #963be3);
    box-shadow: 0 5px 10px rgba(224, 44, 94, 0.2);
  }
  
  .switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 30px;
    margin: 0 15px;
  }
  
  .switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #eee;
    transition: .4s;
  }
  
  .slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 4px;
    bottom: 4px;
    background: white;
    transition: .4s;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  }
  
  input:checked + .slider {
    background: linear-gradient(45deg, #e02c5e, #963be3);
  }
  
  input:checked + .slider:before {
    transform: translateX(30px);
  }
  
  .slider.round {
    border-radius: 34px;
  }
  
  .slider.round:before {
    border-radius: 50%;
  }
  
  .discount-badge {
    background: #ff3366;
    color: white;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 15px;
    margin-left: 8px;
    font-weight: bold;
    animation: pulse 2s infinite;
  }
  
  @keyframes pulse {
    0% {
      transform: scale(1);
      opacity: 1;
    }
    50% {
      transform: scale(1.05);
      opacity: 0.8;
    }
    100% {
      transform: scale(1);
      opacity: 1;
    }
  }
  
  /* Cards de preços */
  .pricing-plans {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-bottom: 40px;
    transition: all 0.5s ease;
  }
  
  .blur-plans {
    filter: blur(5px);
    opacity: 0.5;
    transform: scale(0.95);
  }
  
  .pricing-plan {
    width: 300px;
    perspective: 1000px;
    position: relative;
  }
  
  .plan-inner {
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    padding: 40px 25px;
    transition: all 0.6s ease;
    transform-style: preserve-3d;
    height: 100%;
    position: relative;
    border: 1px solid #eee;
    overflow: hidden;
  }
  
  .pricing-plan:hover .plan-inner {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  .promotion-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(45deg, #e02c5e, #963be3);
    color: white;
    padding: 8px 15px;
    border-radius: 30px;
    font-weight: bold;
    font-size: 14px;
    box-shadow: 0 5px 15px rgba(224, 44, 94, 0.3);
    z-index: 10;
  }
  
  .most-popular-badge {
    position: absolute;
    top: 30px;
    right: -35px;
    background: #3AE702;
    color: black;
    transform: rotate(45deg);
    padding: 8px 40px;
    font-size: 12px;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 5;
  }
  
  /* Ribbon para o plano anual */
  .ribbon {
    position: absolute;
    right: -5px;
    top: -5px;
    z-index: 1;
    overflow: hidden;
    width: 93px;
    height: 93px;
    text-align: right;
  }
  
  .ribbon span {
    font-size: 14px;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    line-height: 32px;
    transform: rotate(45deg);
    width: 125px;
    display: block;
    background: linear-gradient(#ff3366 0%, #ff3366 100%);
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
    position: absolute;
    top: 17px;
    right: -29px;
  }
  
  .ribbon span::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid #ff3366;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #ff3366;
  }
  
  .ribbon span::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid transparent;
    border-right: 3px solid #ff3366;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #ff3366;
  }
  
  .plan-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .plan-name {
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
  }
  
  .plan-price {
    position: relative;
    margin-bottom: 5px;
  }
  
  .currency {
    font-size: 22px;
    font-weight: 600;
    vertical-align: top;
    position: relative;
    top: 5px;
  }
  
  .amount {
    font-size: 42px;
    font-weight: 700;
    color: #333;
    line-height: 1;
  }
  
  .cents {
    font-size: 22px;
    font-weight: 600;
    vertical-align: top;
    position: relative;
    top: 5px;
  }
  
  .period {
    font-size: 14px;
    color: #888;
    margin-left: 5px;
  }
  
  .plan-total {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
  }
  
  .original {
    text-decoration: line-through;
    color: #aaa;
    display: block;
    font-size: 13px;
  }
  
  .save-badge {
    background: #ff3366;
    color: white;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px;
    display: inline-block;
  }
  
  .plan-features {
    margin-bottom: 30px;
  }
  
  .feature {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
  }
  
  .feature-icon {
    margin-right: 10px;
    font-size: 18px;
    flex-shrink: 0;
  }
  
  .feature-text {
    font-size: 15px;
    color: #555;
  }
  
  .feature.highlight {
    background: #f9f2ff;
    border-radius: 10px;
    padding: 10px;
    margin: 15px 0;
    border-left: 3px solid #963be3;
  }
  
  .feature.highlight .feature-text {
    font-weight: bold;
    color: #333;
  }
  
  .plan-button {
    display: block;
    text-align: center;
    padding: 15px;
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%);
    color: black;
    font-weight: 700;
    text-decoration: none;
    border-radius: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(58, 231, 2, 0.3);
  }
  
  .plan-button-annual {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .button-arrow {
    margin-left: 8px;
    font-size: 20px;
    transition: transform 0.3s ease;
  }
  
  .pricing-plan:hover .plan-button .button-arrow {
    transform: translateX(5px);
  }
  
  .pricing-plan:hover .plan-button,
  .plan-button:hover {
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%);
    color: black;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 8px 20px rgba(58, 231, 2, 0.4);
  }
  
  .pricing-plan.semiannual {
    transform: scale(1.05);
  }
  
  .pricing-plan.semiannual .plan-inner {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(45deg, #3AE702, #AFFC00) border-box;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  /* Plano Anual */
  .yearly-plan .pricing-plan {
    width: 350px;
  }
  
  .yearly-plan .pricing-plan .plan-inner {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(45deg, #e02c5e, #963be3) border-box;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  .yearly-plan .pricing-plan {
    transform: scale(1.05);
  }
  
  .yearly-plan .pricing-plan:hover .plan-inner {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  }
  
  .yearly-plan.show-plan .pricing-plan {
    animation: fade-in-up 0.5s forwards;
  }
  
  @keyframes fade-in-up {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /* Garantia */
  .pricing-guarantee {
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    max-width: 600px;
    margin: 30px auto 0;
    padding: 15px 30px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  }
  
  .guarantee-icon {
    font-size: 28px;
    margin-right: 15px;
  }
  
  .guarantee-text {
    font-size: 16px;
    color: #555;
  }

  /* Adicione este CSS para o novo ribbon "Mais Popular" */
  .popular-ribbon {
    position: absolute;
    right: -5px;
    top: -5px;
    z-index: 5;
    overflow: hidden;
    width: 93px;
    height: 93px;
    text-align: right;
    transition: all 0.6s ease; /* Mesma transição do card */
  }

  /* 2. Ajuste o comportamento do ribbon durante o hover no plano */
.pricing-plan:hover .popular-ribbon {
    transform: translateY(-10px); /* Move junto com o card no hover */
  }
  
  .popular-ribbon span {
    font-size: 14px;
    font-weight: bold;
    color: black;
    text-align: center;
    line-height: 32px;
    transform: rotate(45deg);
    width: 125px;
    display: block;
    background: linear-gradient(#3AE702 0%, #AFFC00 100%);
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
    position: absolute;
    top: 17px;
    right: -29px;
  }
  
  .popular-ribbon span::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid #3AE702;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #3AE702;
  }
  
  .popular-ribbon span::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid transparent;
    border-right: 3px solid #3AE702;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #3AE702;
  }
  
  
  
  /* Responsivo */
  @media (max-width: 1024px) {
    .pricing-plan {
      width: 280px;
    }
    
    .yearly-plan .pricing-plan {
      width: 330px;
    }
    
    .toggle-hint {
      right: 15%;
    }
  }
  
  @media (max-width: 768px) {
    .pricing-plans {
      flex-direction: column;
      align-items: center;
    }
    
    .pricing-plan {
      width: 100%;
      max-width: 350px;
      margin-bottom: 50px;
    }
    
    .yearly-plan .pricing-plan {
      width: 100%;
      max-width: 350px;
    }
    
    .pricing-toggle {
      width: 90%;
      max-width: 350px;
      margin: 0 auto;
      padding: 8px 15px;
    }
    
    .switch {
      width: 52px;
      height: 28px;
      margin: 0 10px;
    }
    
    .slider:before {
      height: 20px;
      width: 20px;
    }
    
    input:checked + .slider:before {
      transform: translateX(24px);
    }
    
    .pricing-period {
      font-size: 14px;
      padding: 5px 10px;
    }
    
    .discount-badge {
      font-size: 11px;
      padding: 2px 6px;
    }
    
    .limited-time-offer {
      flex-direction: column;
      text-align: center;
      padding: 15px;
    }
    
    .timer-icon, .offer-text {
      margin-right: 0;
      margin-bottom: 10px;
    }
    
    .toggle-hint {
      top: -40px;
      right: 50%;
      transform: translateX(50%);
    }
  }
  
  @media (max-width: 374px) {
    .pricing-toggle {
      max-width: 320px;
    }
    
    .pricing-period {
      font-size: 13px;
      padding: 4px 8px;
    }
  }
  
  /* Adicione ou substitua estas regras CSS para corrigir o ribbon do plano semestral */
.popular-ribbon {
    position: absolute;
    right: -5px;
    top: -5px;
    z-index: 5; /* Ajuste o z-index para não sobrepor o badge de promoção */
    overflow: hidden;
    width: 93px;
    height: 93px;
    text-align: right;
  }
  
  .popular-ribbon span {
    font-size: 14px;
    font-weight: bold;
    color: black;
    text-align: center;
    line-height: 32px;
    transform: rotate(45deg);
    width: 125px;
    display: block;
    background: linear-gradient(#3AE702 0%, #AFFC00 100%);
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
    position: absolute;
    top: 17px;
    right: -29px;
  }
  
  /* Certifique-se de que o badge de promoção não seja coberto */
  .pricing-plan.semiannual .promotion-badge {
    z-index: 10;
  }
  
  /* Ajuste a posição do ribbon quando houver hover no plano */
  .pricing-plan.popular:hover .popular-ribbon {
    transform: translateY(-10px); /* Move o ribbon junto com o card no hover */
  }

  /* Correção para o ribbon popular no plano semestral */
/* Substitua ou adicione estas regras */

/* 1. Ajuste o z-index para garantir visibilidade adequada */
.pricing-plan.semiannual .popular-ribbon {
    z-index: 5;
  }
  
 
  
  
  /* 4. Certifique-se de que o ribbon está dentro do escopo correto */
  .pricing-plan.semiannual .popular-ribbon span {
    color: black;
    background: linear-gradient(#3AE702 0%, #AFFC00 100%);
  }
  
  /* 5. Garantir que o ribbon se comporta como o do plano anual */
  .popular-ribbon, .ribbon {
    transition: all 0.6s ease; /* Mesma transição do card */
  }

  /* Adicione estas regras CSS para fazer o plano semestral se comportar como o anual */


  
  /* 2. Aplique a mesma borda e efeito de gradiente ao plano semestral */
  .pricing-plan.semiannual .plan-inner {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(45deg, #3AE702, #AFFC00) border-box;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  /* 3. Ajuste o comportamento de hover para ser idêntico ao plano anual */
  .pricing-plan.semiannual:hover .plan-inner {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  }
  /* 4. Garanta que o ribbon e o promotion badge tenham a mesma transição */
.pricing-plan.semiannual .popular-ribbon,
.pricing-plan.semiannual .promotion-badge {
  transition: all 0.6s ease;
}
.pricing-plan.semiannual:hover .popular-ribbon,
.pricing-plan.semiannual:hover .promotion-badge {
  transform: translateY(-10px);
}

  /* 4. Corrija a animação para o hover */
  .pricing-plan.semiannual .popular-ribbon,
  .pricing-plan.semiannual .promotion-badge {
    transition: all 0.6s ease;
  }
  
  /* 5. Garanta que o ribbon e o badge se movam junto com o card */
  .pricing-plan.semiannual:hover .popular-ribbon,
  .pricing-plan.semiannual:hover .promotion-badge {
    transform: translateY(-10px);
  }
  
  /* 6. Ajuste responsivo (mantenha consistente com o anual) */
  @media (max-width: 768px) {
    .pricing-plan.semiannual {
      width: 100%;
      max-width: 350px;
    }
  }

  /* Adicione este CSS para o banner fixo e o botão flutuante */
  .limited-time-offer.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000!important;
    border-radius: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    padding: 10px 20px;
    animation: slide-down 0.5s;
  }

  @keyframes slide-down {
    0% {
      transform: translateY(-100%);
    }
    100% {
      transform: translateY(0);
    }
  }
  
   .floating-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%);
    color: black;
    font-weight: 700;
    padding: 15px 25px;
    border-radius: 30px;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(58, 231, 2, 0.4);
    z-index: 1001;
    display: none;
    animation: bounce-in 0.5s;
    transition: all 0.3s ease;
  }
  
  .floating-button:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(58, 231, 2, 0.5);
  }
  
  @keyframes bounce-in {
    0% {
      opacity: 0;
      transform: scale(0.8) translateY(20px);
    }
    70% {
      transform: scale(1.05) translateY(-5px);
    }
    100% {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }
  
  /* Responsivo para o banner fixo */
  @media (max-width: 768px) {
    .limited-time-offer.sticky {
      padding: 8px 15px;
    }
    
    .limited-time-offer.sticky .timer-icon {
      font-size: 20px;
    }
    
    .limited-time-offer.sticky .offer-text {
      font-size: 14px;
    }
    
    .limited-time-offer.sticky .countdown {
      font-size: 14px;
      padding: 3px 10px;
    }
  }

  @media (max-width: 768px) {
    .limited-time-offer.sticky {
      padding: 8px 10px;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      font-size: 14px;
    }
    
    .limited-time-offer.sticky .timer-icon {
      font-size: 18px;
      margin-right: 5px;
      margin-bottom: 0;
    }
    
    .limited-time-offer.sticky .offer-text {
      font-size: 14px;
      margin-right: 8px;
      margin-bottom: 0;
    }
    
    .limited-time-offer.sticky .countdown {
      font-size: 14px;
      padding: 2px 8px;
    }
    
    /* Ajusta o botão flutuante em telas pequenas */
    .floating-button {
      bottom: 15px;
      right: 15px;
      padding: 10px 15px;
      font-size: 14px;
      border-radius: 25px;
    }
  }
  
  /* Estilos adicionais para telas muito pequenas (smartphones) */
  @media (max-width: 480px) {
    .limited-time-offer.sticky {
      flex-direction: column;
      padding: 5px;
    }
    
    .limited-time-offer.sticky .timer-icon,
    .limited-time-offer.sticky .offer-text {
      margin-bottom: 3px;
    }
    
    /* Ajuste adicional para o botão flutuante em telas muito pequenas */
    .floating-button {
      bottom: 10px;
      right: 10px;
      padding: 8px 12px;
      font-size: 13px;
      width: auto;
      max-width: 120px;
      text-align: center;
    }
  }

  @keyframes slide-down {
    0% {
      transform: translateY(-100%);
    }
    100% {
      transform: translateY(0);
    }
  }
  
  @keyframes bounce-in {
    0% {
      opacity: 0;
      transform: scale(0.8) translateY(20px);
    }
    70% {
      transform: scale(1.05) translateY(-5px);
    }
    100% {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }
  
  @media (max-width: 768px) {
    /* Estilo geral do banner em dispositivos móveis */
    .limited-time-offer {
      padding: 15px 10px;
      text-align: center;
    }
    
    /* Banner fixo em dispositivos móveis */
    .limited-time-offer.sticky {
      padding: 10px;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: auto;
      /* Aumentando a altura do banner para não cortar texto */
      min-height: 80px;
    }
    
    /* Reformatação do conteúdo para celular conforme solicitado */
    .limited-time-offer.sticky .mobile-banner-content {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
    }
    
    /* Linha 1: Ícone + "Oferta por tempo limitado!" */
    .limited-time-offer.sticky .first-line {
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      margin-bottom: 3px;
      font-size: 14px;
      width: 100%;
    }
    
    .limited-time-offer.sticky .timer-icon {
      font-size: 16px;
      margin-right: 5px;
      margin-bottom: 0;
    }
    
    /* Linha 2: "Aproveite os descontos exclusivos" */
    .limited-time-offer.sticky .second-line {
      font-weight: bold;
      font-size: 14px;
      margin-bottom: 3px;
      width: 100%;
      text-align: center;
    }
    
    /* Linha 3: Timer */
    .limited-time-offer.sticky .countdown {
      font-size: 14px;
      padding: 2px 8px;
      margin: 0;
      width: auto;
    }
    
    /* Esconder a estrutura original quando em modo sticky */
    .limited-time-offer.sticky .offer-text {
      display: none;
    }
    
    /* Ajustes para a dica "Clique para ver..." */
    .toggle-hint {
      top: auto;
      right: auto;
      bottom: -40px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
    }
    
    /* Botão flutuante em dispositivos móveis */
    .floating-button {
      bottom: 15px;
      right: 15px;
      padding: 10px 15px;
      font-size: 14px;
    }
  }
  
  /* Estilos adicionais para telas muito pequenas (smartphones) */
  @media (max-width: 480px) {
    /* Estilo para o banner sticky em telas muito pequenas */
    .limited-time-offer.sticky {
      padding: 6px;
    }
    
    .limited-time-offer.sticky .first-line,
    .limited-time-offer.sticky .second-line {
      font-size: 13px;
    }
    
    .limited-time-offer.sticky .countdown {
      font-size: 13px;
      padding: 2px 6px;
    }
    
    /* Ajuste para o botão flutuante em telas muito pequenas */
    .floating-button {
      bottom: 10px;
      right: 10px;
      padding: 8px 12px;
      font-size: 13px;
    }
    
    /* Certifique-se de que haja espaço suficiente no topo quando o banner estiver fixo */
    .pricing-section {
      padding-top: 100px;
    }
  }

/* Estilo para o hint como elemento independente */
.toggle-hint-standalone {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 15px;
    animation: bounce 2s infinite;
  }
  
  .toggle-hint-standalone .hint-text {
    font-size: 14px;
    background: #963be3;
    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 5px;
  }
  
  .toggle-hint-standalone .arrow {
    font-size: 24px;
    color: #963be3;
    margin-top: -2px; /* Ajuste fino para aproximar a seta do texto */
  }
  
  /* Mantém a animação bounce existente */
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
  }
  
  /* Responsivo */
  @media (max-width: 768px) {
    .toggle-hint-standalone {
      margin-bottom: 20px;
    }
    
    .toggle-hint-standalone .hint-text {
      font-size: 13px;
      padding: 6px 12px;
      max-width: 200px;
    }
  }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2c63e0f *//* Sistema de Preços */
.pricing-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f9f9f9 0%, #f3f3f3 100%);
    overflow-x: hidden;
  }
  
  .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }
  
  /* Banner de oferta por tempo limitado */
  .limited-time-offer {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(45deg, #e02c5e, #963be3);
    color: white;
    padding: 15px 20px;
    border-radius: 10px;
    margin-bottom: 30px;
    box-shadow: 0 5px 15px rgba(224, 44, 94, 0.3);
    flex-wrap: wrap;
  }
  
  .timer-icon {
    font-size: 24px;
    margin-right: 10px;
  }
  
  .offer-text {
    font-size: 18px;
    font-weight: 600;
    margin-right: 15px;
  }
  
  .countdown {
    font-weight: 700;
    font-size: 18px;
    background: rgba(255, 255, 255, 0.2);
    padding: 5px 15px;
    border-radius: 20px;
  }
  
  .blink {
    animation: blink 1.5s infinite;
  }
  
  @keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
  }
  
  /* Toggle de preços */
  .pricing-toggle-container {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
  }
  
  .pricing-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: white;
    padding: 10px 20px;
    border-radius: 50px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  }
  
 
  

  
  .pricing-period {
    font-size: 16px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.7;
    padding: 5px 15px;
    border-radius: 20px;
  }
  
  .pricing-period.active {
    color: #fff;
    opacity: 1;
    background: linear-gradient(45deg, #e02c5e, #963be3);
    box-shadow: 0 5px 10px rgba(224, 44, 94, 0.2);
  }
  
  .switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 30px;
    margin: 0 15px;
  }
  
  .switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #eee;
    transition: .4s;
  }
  
  .slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 4px;
    bottom: 4px;
    background: white;
    transition: .4s;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  }
  
  input:checked + .slider {
    background: linear-gradient(45deg, #e02c5e, #963be3);
  }
  
  input:checked + .slider:before {
    transform: translateX(30px);
  }
  
  .slider.round {
    border-radius: 34px;
  }
  
  .slider.round:before {
    border-radius: 50%;
  }
  
  .discount-badge {
    background: #ff3366;
    color: white;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 15px;
    margin-left: 8px;
    font-weight: bold;
    animation: pulse 2s infinite;
  }
  
  @keyframes pulse {
    0% {
      transform: scale(1);
      opacity: 1;
    }
    50% {
      transform: scale(1.05);
      opacity: 0.8;
    }
    100% {
      transform: scale(1);
      opacity: 1;
    }
  }
  
  /* Cards de preços */
  .pricing-plans {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-bottom: 40px;
    transition: all 0.5s ease;
  }
  
  .blur-plans {
    filter: blur(5px);
    opacity: 0.5;
    transform: scale(0.95);
  }
  
  .pricing-plan {
    width: 300px;
    perspective: 1000px;
    position: relative;
  }
  
  .plan-inner {
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    padding: 40px 25px;
    transition: all 0.6s ease;
    transform-style: preserve-3d;
    height: 100%;
    position: relative;
    border: 1px solid #eee;
    overflow: hidden;
  }
  
  .pricing-plan:hover .plan-inner {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  .promotion-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(45deg, #e02c5e, #963be3);
    color: white;
    padding: 8px 15px;
    border-radius: 30px;
    font-weight: bold;
    font-size: 14px;
    box-shadow: 0 5px 15px rgba(224, 44, 94, 0.3);
    z-index: 10;
  }
  
  .most-popular-badge {
    position: absolute;
    top: 30px;
    right: -35px;
    background: #3AE702;
    color: black;
    transform: rotate(45deg);
    padding: 8px 40px;
    font-size: 12px;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 5;
  }
  
  /* Ribbon para o plano anual */
  .ribbon {
    position: absolute;
    right: -5px;
    top: -5px;
    z-index: 1;
    overflow: hidden;
    width: 93px;
    height: 93px;
    text-align: right;
  }
  
  .ribbon span {
    font-size: 14px;
    font-weight: bold;
    color: #FFF;
    text-align: center;
    line-height: 32px;
    transform: rotate(45deg);
    width: 125px;
    display: block;
    background: linear-gradient(#ff3366 0%, #ff3366 100%);
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
    position: absolute;
    top: 17px;
    right: -29px;
  }
  
  .ribbon span::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid #ff3366;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #ff3366;
  }
  
  .ribbon span::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid transparent;
    border-right: 3px solid #ff3366;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #ff3366;
  }
  
  .plan-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .plan-name {
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
  }
  
  .plan-price {
    position: relative;
    margin-bottom: 5px;
  }
  
  .currency {
    font-size: 22px;
    font-weight: 600;
    vertical-align: top;
    position: relative;
    top: 5px;
  }
  
  .amount {
    font-size: 42px;
    font-weight: 700;
    color: #333;
    line-height: 1;
  }
  
  .cents {
    font-size: 22px;
    font-weight: 600;
    vertical-align: top;
    position: relative;
    top: 5px;
  }
  
  .period {
    font-size: 14px;
    color: #888;
    margin-left: 5px;
  }
  
  .plan-total {
    font-size: 14px;
    color: #666;
    margin-top: 10px;
  }
  
  .original {
    text-decoration: line-through;
    color: #aaa;
    display: block;
    font-size: 13px;
  }
  
  .save-badge {
    background: #ff3366;
    color: white;
    padding: 5px 10px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px;
    display: inline-block;
  }
  
  .plan-features {
    margin-bottom: 30px;
  }
  
  .feature {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
  }
  
  .feature-icon {
    margin-right: 10px;
    font-size: 18px;
    flex-shrink: 0;
  }
  
  .feature-text {
    font-size: 15px;
    color: #555;
  }
  
  .feature.highlight {
    background: #f9f2ff;
    border-radius: 10px;
    padding: 10px;
    margin: 15px 0;
    border-left: 3px solid #963be3;
  }
  
  .feature.highlight .feature-text {
    font-weight: bold;
    color: #333;
  }
  
  .plan-button {
    display: block;
    text-align: center;
    padding: 15px;
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%);
    color: black;
    font-weight: 700;
    text-decoration: none;
    border-radius: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(58, 231, 2, 0.3);
  }
  
  .plan-button-annual {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .button-arrow {
    margin-left: 8px;
    font-size: 20px;
    transition: transform 0.3s ease;
  }
  
  .pricing-plan:hover .plan-button .button-arrow {
    transform: translateX(5px);
  }
  
  .pricing-plan:hover .plan-button,
  .plan-button:hover {
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%);
    color: black;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 8px 20px rgba(58, 231, 2, 0.4);
  }
  
  .pricing-plan.semiannual {
    transform: scale(1.05);
  }
  
  .pricing-plan.semiannual .plan-inner {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(45deg, #3AE702, #AFFC00) border-box;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  /* Plano Anual */
  .yearly-plan .pricing-plan {
    width: 350px;
  }
  
  .yearly-plan .pricing-plan .plan-inner {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(45deg, #e02c5e, #963be3) border-box;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  .yearly-plan .pricing-plan {
    transform: scale(1.05);
  }
  
  .yearly-plan .pricing-plan:hover .plan-inner {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  }
  
  .yearly-plan.show-plan .pricing-plan {
    animation: fade-in-up 0.5s forwards;
  }
  
  @keyframes fade-in-up {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /* Garantia */
  .pricing-guarantee {
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    max-width: 600px;
    margin: 30px auto 0;
    padding: 15px 30px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
  }
  
  .guarantee-icon {
    font-size: 28px;
    margin-right: 15px;
  }
  
  .guarantee-text {
    font-size: 16px;
    color: #555;
  }

  /* Adicione este CSS para o novo ribbon "Mais Popular" */
  .popular-ribbon {
    position: absolute;
    right: -5px;
    top: -5px;
    z-index: 5;
    overflow: hidden;
    width: 93px;
    height: 93px;
    text-align: right;
    transition: all 0.6s ease; /* Mesma transição do card */
  }

  /* 2. Ajuste o comportamento do ribbon durante o hover no plano */
.pricing-plan:hover .popular-ribbon {
    transform: translateY(-10px); /* Move junto com o card no hover */
  }
  
  .popular-ribbon span {
    font-size: 14px;
    font-weight: bold;
    color: black;
    text-align: center;
    line-height: 32px;
    transform: rotate(45deg);
    width: 125px;
    display: block;
    background: linear-gradient(#3AE702 0%, #AFFC00 100%);
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
    position: absolute;
    top: 17px;
    right: -29px;
  }
  
  .popular-ribbon span::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid #3AE702;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #3AE702;
  }
  
  .popular-ribbon span::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 100%;
    z-index: -1;
    border-left: 3px solid transparent;
    border-right: 3px solid #3AE702;
    border-bottom: 3px solid transparent;
    border-top: 3px solid #3AE702;
  }
  
  
  
  /* Responsivo */
  @media (max-width: 1024px) {
    .pricing-plan {
      width: 280px;
    }
    
    .yearly-plan .pricing-plan {
      width: 330px;
    }
    
    .toggle-hint {
      right: 15%;
    }
  }
  
  @media (max-width: 768px) {
    .pricing-plans {
      flex-direction: column;
      align-items: center;
    }
    
    .pricing-plan {
      width: 100%;
      max-width: 350px;
      margin-bottom: 50px;
    }
    
    .yearly-plan .pricing-plan {
      width: 100%;
      max-width: 350px;
    }
    
    .pricing-toggle {
      width: 90%;
      max-width: 350px;
      margin: 0 auto;
      padding: 8px 15px;
    }
    
    .switch {
      width: 52px;
      height: 28px;
      margin: 0 10px;
    }
    
    .slider:before {
      height: 20px;
      width: 20px;
    }
    
    input:checked + .slider:before {
      transform: translateX(24px);
    }
    
    .pricing-period {
      font-size: 14px;
      padding: 5px 10px;
    }
    
    .discount-badge {
      font-size: 11px;
      padding: 2px 6px;
    }
    
    .limited-time-offer {
      flex-direction: column;
      text-align: center;
      padding: 15px;
    }
    
    .timer-icon, .offer-text {
      margin-right: 0;
      margin-bottom: 10px;
    }
    
    .toggle-hint {
      top: -40px;
      right: 50%;
      transform: translateX(50%);
    }
  }
  
  @media (max-width: 374px) {
    .pricing-toggle {
      max-width: 320px;
    }
    
    .pricing-period {
      font-size: 13px;
      padding: 4px 8px;
    }
  }
  
  /* Adicione ou substitua estas regras CSS para corrigir o ribbon do plano semestral */
.popular-ribbon {
    position: absolute;
    right: -5px;
    top: -5px;
    z-index: 5; /* Ajuste o z-index para não sobrepor o badge de promoção */
    overflow: hidden;
    width: 93px;
    height: 93px;
    text-align: right;
  }
  
  .popular-ribbon span {
    font-size: 14px;
    font-weight: bold;
    color: black;
    text-align: center;
    line-height: 32px;
    transform: rotate(45deg);
    width: 125px;
    display: block;
    background: linear-gradient(#3AE702 0%, #AFFC00 100%);
    box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
    position: absolute;
    top: 17px;
    right: -29px;
  }
  
  /* Certifique-se de que o badge de promoção não seja coberto */
  .pricing-plan.semiannual .promotion-badge {
    z-index: 10;
  }
  
  /* Ajuste a posição do ribbon quando houver hover no plano */
  .pricing-plan.popular:hover .popular-ribbon {
    transform: translateY(-10px); /* Move o ribbon junto com o card no hover */
  }

  /* Correção para o ribbon popular no plano semestral */
/* Substitua ou adicione estas regras */

/* 1. Ajuste o z-index para garantir visibilidade adequada */
.pricing-plan.semiannual .popular-ribbon {
    z-index: 5;
  }
  
 
  
  
  /* 4. Certifique-se de que o ribbon está dentro do escopo correto */
  .pricing-plan.semiannual .popular-ribbon span {
    color: black;
    background: linear-gradient(#3AE702 0%, #AFFC00 100%);
  }
  
  /* 5. Garantir que o ribbon se comporta como o do plano anual */
  .popular-ribbon, .ribbon {
    transition: all 0.6s ease; /* Mesma transição do card */
  }

  /* Adicione estas regras CSS para fazer o plano semestral se comportar como o anual */


  
  /* 2. Aplique a mesma borda e efeito de gradiente ao plano semestral */
  .pricing-plan.semiannual .plan-inner {
    border: 2px solid transparent;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(45deg, #3AE702, #AFFC00) border-box;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  }
  
  /* 3. Ajuste o comportamento de hover para ser idêntico ao plano anual */
  .pricing-plan.semiannual:hover .plan-inner {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  }
  /* 4. Garanta que o ribbon e o promotion badge tenham a mesma transição */
.pricing-plan.semiannual .popular-ribbon,
.pricing-plan.semiannual .promotion-badge {
  transition: all 0.6s ease;
}
.pricing-plan.semiannual:hover .popular-ribbon,
.pricing-plan.semiannual:hover .promotion-badge {
  transform: translateY(-10px);
}

  /* 4. Corrija a animação para o hover */
  .pricing-plan.semiannual .popular-ribbon,
  .pricing-plan.semiannual .promotion-badge {
    transition: all 0.6s ease;
  }
  
  /* 5. Garanta que o ribbon e o badge se movam junto com o card */
  .pricing-plan.semiannual:hover .popular-ribbon,
  .pricing-plan.semiannual:hover .promotion-badge {
    transform: translateY(-10px);
  }
  
  /* 6. Ajuste responsivo (mantenha consistente com o anual) */
  @media (max-width: 768px) {
    .pricing-plan.semiannual {
      width: 100%;
      max-width: 350px;
    }
  }

  /* Adicione este CSS para o banner fixo e o botão flutuante */
  .limited-time-offer.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    border-radius: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    padding: 10px 20px;
    animation: slide-down 0.5s;
  }

  @keyframes slide-down {
    0% {
      transform: translateY(-100%);
    }
    100% {
      transform: translateY(0);
    }
  }
  
   .floating-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: linear-gradient(90deg, #3AE702 0%, #AFFC00 45%, #AFFC00 55%, #3AE702 100%);
    color: black;
    font-weight: 700;
    padding: 15px 25px;
    border-radius: 30px;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(58, 231, 2, 0.4);
    z-index: 1001;
    display: none;
    animation: bounce-in 0.5s;
    transition: all 0.3s ease;
  }
  
  .floating-button:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(58, 231, 2, 0.5);
  }
  
  @keyframes bounce-in {
    0% {
      opacity: 0;
      transform: scale(0.8) translateY(20px);
    }
    70% {
      transform: scale(1.05) translateY(-5px);
    }
    100% {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }
  
  /* Responsivo para o banner fixo */
  @media (max-width: 768px) {
    .limited-time-offer.sticky {
      padding: 8px 15px;
    }
    
    .limited-time-offer.sticky .timer-icon {
      font-size: 20px;
    }
    
    .limited-time-offer.sticky .offer-text {
      font-size: 14px;
    }
    
    .limited-time-offer.sticky .countdown {
      font-size: 14px;
      padding: 3px 10px;
    }
  }

  @media (max-width: 768px) {
    .limited-time-offer.sticky {
      padding: 8px 10px;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
      font-size: 14px;
    }
    
    .limited-time-offer.sticky .timer-icon {
      font-size: 18px;
      margin-right: 5px;
      margin-bottom: 0;
    }
    
    .limited-time-offer.sticky .offer-text {
      font-size: 14px;
      margin-right: 8px;
      margin-bottom: 0;
    }
    
    .limited-time-offer.sticky .countdown {
      font-size: 14px;
      padding: 2px 8px;
    }
    
    /* Ajusta o botão flutuante em telas pequenas */
    .floating-button {
      bottom: 15px;
      right: 15px;
      padding: 10px 15px;
      font-size: 14px;
      border-radius: 25px;
    }
  }
  
  /* Estilos adicionais para telas muito pequenas (smartphones) */
  @media (max-width: 480px) {
    .limited-time-offer.sticky {
      flex-direction: column;
      padding: 5px;
    }
    
    .limited-time-offer.sticky .timer-icon,
    .limited-time-offer.sticky .offer-text {
      margin-bottom: 3px;
    }
    
    /* Ajuste adicional para o botão flutuante em telas muito pequenas */
    .floating-button {
      bottom: 10px;
      right: 10px;
      padding: 8px 12px;
      font-size: 13px;
      width: auto;
      max-width: 120px;
      text-align: center;
    }
  }

  @keyframes slide-down {
    0% {
      transform: translateY(-100%);
    }
    100% {
      transform: translateY(0);
    }
  }
  
  @keyframes bounce-in {
    0% {
      opacity: 0;
      transform: scale(0.8) translateY(20px);
    }
    70% {
      transform: scale(1.05) translateY(-5px);
    }
    100% {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }
  
  @media (max-width: 768px) {
    /* Estilo geral do banner em dispositivos móveis */
    .limited-time-offer {
      padding: 15px 10px;
      text-align: center;
    }
    
    /* Banner fixo em dispositivos móveis */
    .limited-time-offer.sticky {
      padding: 10px;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: auto;
      /* Aumentando a altura do banner para não cortar texto */
      min-height: 80px;
    }
    
    /* Reformatação do conteúdo para celular conforme solicitado */
    .limited-time-offer.sticky .mobile-banner-content {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
    }
    
    /* Linha 1: Ícone + "Oferta por tempo limitado!" */
    .limited-time-offer.sticky .first-line {
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      margin-bottom: 3px;
      font-size: 14px;
      width: 100%;
    }
    
    .limited-time-offer.sticky .timer-icon {
      font-size: 16px;
      margin-right: 5px;
      margin-bottom: 0;
    }
    
    /* Linha 2: "Aproveite os descontos exclusivos" */
    .limited-time-offer.sticky .second-line {
      font-weight: bold;
      font-size: 14px;
      margin-bottom: 3px;
      width: 100%;
      text-align: center;
    }
    
    /* Linha 3: Timer */
    .limited-time-offer.sticky .countdown {
      font-size: 14px;
      padding: 2px 8px;
      margin: 0;
      width: auto;
    }
    
    /* Esconder a estrutura original quando em modo sticky */
    .limited-time-offer.sticky .offer-text {
      display: none;
    }
    
    /* Ajustes para a dica "Clique para ver..." */
    .toggle-hint {
      top: auto;
      right: auto;
      bottom: -40px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
    }
    
    /* Botão flutuante em dispositivos móveis */
    .floating-button {
      bottom: 15px;
      right: 15px;
      padding: 10px 15px;
      font-size: 14px;
    }
  }
  
  /* Estilos adicionais para telas muito pequenas (smartphones) */
  @media (max-width: 480px) {
    /* Estilo para o banner sticky em telas muito pequenas */
    .limited-time-offer.sticky {
      padding: 6px;
    }
    
    .limited-time-offer.sticky .first-line,
    .limited-time-offer.sticky .second-line {
      font-size: 13px;
    }
    
    .limited-time-offer.sticky .countdown {
      font-size: 13px;
      padding: 2px 6px;
    }
    
    /* Ajuste para o botão flutuante em telas muito pequenas */
    .floating-button {
      bottom: 10px;
      right: 10px;
      padding: 8px 12px;
      font-size: 13px;
    }
    
    /* Certifique-se de que haja espaço suficiente no topo quando o banner estiver fixo */
    .pricing-section {
      padding-top: 100px;
    }
  }

/* Estilo para o hint como elemento independente */
.toggle-hint-standalone {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 15px;
    animation: bounce 2s infinite;
  }
  
  .toggle-hint-standalone .hint-text {
    font-size: 14px;
    background: #963be3;
    color: white;
    padding: 8px 15px;
    border-radius: 20px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 5px;
  }
  
  .toggle-hint-standalone .arrow {
    font-size: 24px;
    color: #963be3;
    margin-top: -2px; /* Ajuste fino para aproximar a seta do texto */
  }
  
  /* Mantém a animação bounce existente */
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
  }
  
  /* Responsivo */
  @media (max-width: 768px) {
    .toggle-hint-standalone {
      margin-bottom: 20px;
    }
    
    .toggle-hint-standalone .hint-text {
      font-size: 13px;
      padding: 6px 12px;
      max-width: 200px;
    }
  }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-680a481 *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ff02a80 *//* Efeito de Degradê no Texto */
:root {
  --background-degrade: linear-gradient(to right, #e02c5e, #963be3);
}

.gradient-text-degrade {
  background: var(--background-degrade);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-467ef9c *//* Seção FAQ */
.faq {
  padding: 60px 0;
  background-color: #f9f9f9;
  overflow-x: hidden; /* Previne scroll horizontal */
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.faq-list {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  background: #fff;
  border-radius: 15px;
  padding: 25px 30px;
  margin-bottom: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.faq-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.faq-question {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0 0 15px 0;
  position: relative;
  cursor: pointer;
  padding-right: 40px; /* Aumentado para deixar mais espaço para o ícone */
  line-height: 1.4;
}

.faq-question::after {
  content: '+';
  position: absolute;
  right: 5px; /* Ligeiramente afastado da borda para melhor visualização */
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  color: #e02c5e;
  transition: transform 0.3s ease;
}

.faq-item.active .faq-question::after {
  content: '-';
  transform: translateY(-50%) rotate(180deg);
}

.faq-answer {
  font-size: 16px;
  color: #666;
  line-height: 1.6;
  margin: 0;
  padding-top: 5px;
  display: none;
  transition: all 0.3s ease; /* Adiciona transição suave ao aparecer/desaparecer */
}

.faq-item.active .faq-answer {
  display: block;
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
  .faq-list {
    max-width: 90%; /* Ligeiramente mais largo em tablets */
  }
  
  .faq-item {
    padding: 22px 25px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .faq {
    padding: 40px 0;
  }
  
  .faq-item {
    padding: 20px;
    margin-bottom: 15px; /* Ligeiramente mais próximos em mobile */
  }
  
  .faq-question {
    font-size: 18px;
    padding-right: 35px; /* Ajuste para mobile */
  }
  
  /* Aumentar área de toque para melhor experiência em touchscreen */
  .faq-question::after {
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    right: 0;
  }
  
  .faq-item:active {
    transform: scale(0.98); /* Feedback tátil leve ao tocar */
  }
}

/* Telas muito pequenas */
@media (max-width: 480px) {
  .faq-question {
    font-size: 16px;
    padding-right: 30px;
  }
  
  .faq-answer {
    font-size: 15px;
  }
  
  .faq-item {
    padding: 15px;
  }
}/* End custom CSS */