/*linha verde superior*/

.shapedividers_com-2747{
overflow:hidden;
position:relative;
}
.shapedividers_com-2747::before{ 
content:'';
font-family:'shape divider from ShapeDividers.com';
position: absolute;
z-index: 3;
pointer-events: none;
background-repeat: no-repeat;
bottom: -0.1vw;
left: -0.1vw;
right: -0.1vw;
top: -0.1vw; 
background-size: 100% 90px;
background-position: 50% 0%;  background-image: url('data:image/svg+xml;charset=utf8, <svg preserveAspectRatio="xMidYMax slice" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000.4 84.2"><g fill="%23177234"><circle cx="666" cy="43.7" r="14"/><circle cx="132.7" cy="44.1" r="14"/><path d="M253 54l-7 12 7 11h12l7-11-7-12h-12zM372 61l-3 6 3 7h8l4-7-4-6h-8zM22 67l-4 7 4 8h9l4-8-4-7h-9zM588 61l-6 10 6 9h11l6-9-6-10h-11zM1217 33a9 9 0 109 8 9 9 0 00-9-8zM840 58l-6 12 6 11h13l6-11-6-12h-13zM960 65l-4 7 4 6h7l4-6-4-7h-7zM1175 65l-5 10 5 9h12l5-9-5-10h-12zM1303 68l-4 7 4 6h7l4-6-4-7h-7z"/><path d="M1918 0H0v49c10 8 26 12 40 10a32 32 0 0011 3c13 1 15-1 18-1 18-5 25-20 39-32 8-7 16-15 27-16 13-1 24 9 31 20s11 24 20 33 25 15 35 7c11-9 9-29 22-37a15 15 0 012-1c6-2 13-1 18 1a58 58 0 019 5l10 6a93 93 0 0045 14c7 0 14 0 19-5a12 12 0 004-11c0-4-3-7-5-11a11 11 0 01-1-9 17 17 0 0115-12c13-1 24 9 31 20s11 24 20 33 25 15 35 7c11-9 10-28 21-36a16 16 0 011-1c6-3 14-2 21 0a50 50 0 015 3l13 8a93 93 0 0045 14c5 0 11 0 16-3 4-2 7-6 8-11a35 35 0 006 0 44 44 0 0013-5c19-10 20-16 35-22 13-6 27-5 41-5s28-1 40 5c16 6 17 12 35 22a44 44 0 0013 5 35 35 0 007 0c0 5 3 9 8 11 5 3 10 3 16 3a93 93 0 0045-14l12-8a50 50 0 016-3c6-2 14-3 20 0a16 16 0 012 1c11 8 10 27 21 36 10 8 26 3 34-7s14-22 21-33 17-21 30-20h1a17 17 0 0115 12 11 11 0 01-1 9c-2 4-5 7-6 11a12 12 0 004 11c6 5 13 5 20 5a93 93 0 0045-14l10-6a58 58 0 018-5c6-2 13-3 19-1a15 15 0 011 1c13 8 11 28 23 37 10 8 26 3 35-7s13-22 20-33 17-21 30-20a24 24 0 015 1c8 2 16 9 23 15 14 12 21 27 38 32l4 1 4-1c18-5 24-20 38-32 7-6 15-13 24-15a24 24 0 014-1c13-1 24 9 30 20s12 24 21 33 24 15 34 7c12-9 10-29 23-37a15 15 0 011-1c6-2 13-1 19 1a58 58 0 018 5l10 6a93 93 0 0045 14c7 0 14 0 20-5a12 12 0 004-11c-1-4-4-7-6-11a11 11 0 01-1-9 17 17 0 0115-12h1c13-1 24 9 31 20s11 24 20 33 24 15 34 7c11-9 10-28 21-36a16 16 0 012-1c6-3 14-2 20 0a50 50 0 016 3l12 8a93 93 0 0046 14c5 0 11 0 15-3 5-2 8-6 8-11a35 35 0 007 0 44 44 0 0013-5c18-10 19-16 35-22 12-6 26-5 40-5s28-1 41 5c15 6 16 12 35 22a44 44 0 0013 5 35 35 0 006 0c1 5 4 9 8 11 5 3 11 3 16 3h3V0z"/><circle cx="1874.5" cy="43.7" r="14"/><circle cx="1341.3" cy="44.1" r="14"/><path d="M1461 54l-6 12 6 11h13l6-11-6-12h-13zM1958 63l-4 8 5 8h10l4-9-5-8-10 1zM1231 67l-5 7 5 8h8l5-8-5-7h-8zM1074 54l-5 8 5 8h9l4-8-4-8h-9zM1796 61l-5 10 5 9h12l5-9-5-10h-12z"/></g></svg>'); 
}

@media (min-width:2100px){
.shapedividers_com-2747::before{
background-size: 100% calc(2vw + 90px);
}
}
 


  
        * {
            font-family: 'Nunito', sans-serif;
        }
        
        /* Top Bar Animations */
        .top-bar {
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .top-bar.hide {
            transform: translateY(-100%);
            opacity: 0;
        }
        
        /* Main Nav Glassmorphism */
        .glass-nav {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        }
        
        /* Menu Links com underline animado */
        .nav-link {
            position: relative;
            overflow: hidden;
        }
        
        .nav-link::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            width: 0;
            height: 3px;
            background: linear-gradient(90deg, #10b981, #059669);
            transform: translateX(-50%);
            transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            border-radius: 10px;
        }
        
        .nav-link:hover::before {
            width: 100%;
        }
        
        /* CTA Button Gradient Animation */
        .cta-button {
            background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
        }
        
        .cta-button::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
            transition: left 0.4s ease;
            z-index: -1;
        }
        
        .cta-button:hover::before {
            left: 0;
        }
        
        .cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(251, 191, 36, 0.4);
        }
        
        /* Social Icons com efeito ripple */
        .social-icon {
            position: relative;
            transition: all 0.3s ease;
        }
        
        .social-icon::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.3);
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }
        
        .social-icon:hover::after {
            width: 120%;
            height: 120%;
        }
        
        .social-icon:hover {
            transform: translateY(-3px) rotate(5deg);
        }
        
        /* Mobile Menu Slide */
        .mobile-menu {
            transform: translateX(100%);
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .mobile-menu.active {
            transform: translateX(0);
        }
        
        /* Scroll Progress Bar */
        .progress-bar {
            position: fixed;
            top: 0;
            left: 0;
            height: 3px;
            background: linear-gradient(90deg, #10b981, #fbbf24);
            z-index: 9999;
            transition: width 0.1s ease;
        }
        
        /* Info Items Hover */
        .info-item {
            transition: all 0.3s ease;
            cursor: pointer;
        }
        
        .info-item:hover {
            transform: translateY(-2px);
        }
        
        /* Logo Animation */
        .logo-container {
            transition: all 0.3s ease;
        }
        
        .logo-container:hover {
            transform: scale(1.05) rotate(-2deg);
        }

        /* Carousel - Responsivo */
        .carousel-img {
            height: 230px;
            object-fit: cover;
        }

        @media (min-width: 640px) {
            .carousel-img {
                height: 350px;
            }
        }

        @media (min-width: 768px) {
            .carousel-img {
                height: 450px;
            }
        }

        @media (min-width: 1024px) {
            .carousel-img {
                height: 600px;
            }
        }

        /* Carousel Navigation Buttons */
        .carousel-nav-btn {
            transition: all 0.3s ease;
        }

        .carousel-nav-btn:hover {
            transform: scale(1.1);
            background-color: rgba(15, 149, 38, 0.9);
        }

        /* Carousel Link Wrapper */
        .carousel-link {
            display: block;
            width: 100%;
            height: 100%;
            cursor: pointer;
            transition: opacity 0.3s ease;
        }

        .carousel-link:hover {
            opacity: 0.95;
        }

        /* Proposta Pedagógica - Animação Blob */
        @keyframes blob {
            0%, 100% {
                transform: translate(0px, 0px) scale(1);
            }
            33% {
                transform: translate(30px, -50px) scale(1.1);
            }
            66% {
                transform: translate(-20px, 20px) scale(0.9);
            }
        }

        .animate-blob {
            animation: blob 7s infinite;
        }

        .animation-delay-2000 {
            animation-delay: 2s;
        }

        .animation-delay-4000 {
            animation-delay: 4s;
        }



        @keyframes slide-in-left {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-slide-in-left {
    animation: slide-in-left 0.5s ease-out forwards;
}

#chat-messages::-webkit-scrollbar,
#chat-options::-webkit-scrollbar {
    width: 3px;
}

#chat-messages::-webkit-scrollbar-track,
#chat-options::-webkit-scrollbar-track {
    background: transparent;
}

#chat-messages::-webkit-scrollbar-thumb,
#chat-options::-webkit-scrollbar-thumb {
    background: #25D366;
    border-radius: 10px;
}

@media (max-width: 640px) {
    #whatsapp-chat {
        width: calc(100vw - 32px);
        right: 0;
    }
}



/* Animação pulse suave para o círculo de destaque */
.animate-pulse-slow {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Transições suaves para o mascote */
#mascote-img {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Animação do balão de fala */
#mascote-msg {
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}



 /* Perspective para efeito 3D */
    .perspective-1000 {
        perspective: 1000px;
    }

    /* Container do card com flip */
    .pilar-card-inner {
        transform-style: preserve-3d;
        transition: transform 0.6s;
    }

    .pilar-card:hover .pilar-card-inner {
        transform: rotateY(180deg);
    }

    /* Frente do card */
    .pilar-card-front {
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    /* Verso do card */
    .pilar-card-back {
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        transform: rotateY(180deg);
    }

    /* Mobile: ativar flip com toque */
    @media (max-width: 1023px) {
        .pilar-card:active .pilar-card-inner {
            transform: rotateY(180deg);
        }
    }

    .subject-btn.active {
    transform: scale(1.05);
}

.quiz-option:disabled {
    cursor: not-allowed;
    opacity: 0.8;
}




/* Animação de flutuação */
@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-20px) rotate(5deg);
    }
}

@keyframes float-delayed {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-30px) rotate(-5deg);
    }
}

@keyframes float-slow {
    0%, 100% {
        transform: translateY(0px) translateX(0px);
    }
    50% {
        transform: translateY(-15px) translateX(10px);
    }
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

.animate-float-delayed {
    animation: float-delayed 8s ease-in-out infinite;
    animation-delay: 1s;
}

.animate-float-slow {
    animation: float-slow 10s ease-in-out infinite;
}

/* Pulse suave */
.animate-pulse-slow {
    animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Gradiente animado */
@keyframes gradient {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

.animate-gradient {
    background-size: 200% 200%;
    animation: gradient 3s ease infinite;
}

/* Responsividade do iframe */
@media (max-width: 768px) {
    .snapwidget-widget {
        height: 400px !important;
    }
}