/* ================= ESTILOS GERAIS ================= */
html {
    scroll-behavior: smooth; /* Efeito de rolagem suave */
}
body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding-top: 80px; /* Espaço para o header fixo não cobrir o conteúdo */
    color: #333;
    background-color: #fafafa;
}
section {
    padding: 80px 5%;
    text-align: center;
}
h2 {
    color: #1c4a8a;
    font-size: 32px;
    margin-bottom: 40px;
}

/* ================= HEADER E MENU ================= */
.header {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    background: #1c4a8a; /* Azul oficial do Header do AVA */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 5% 0 0; /* Tiramos o padding da esquerda para a logo encostar no canto */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    z-index: 1000;
    box-sizing: border-box;
}

/* A MÁGICA: A área da logo ganha a cor do seu menu lateral */
.header-logo {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #9cbef3; /* substitua pelo HEX exato do seu azul do menu lateral */
    height: 100%; /* Ocupa toda a altura do header */
    padding: 0 30px; /* Espaço interno para a logo respirar */
    border-radius: 0 0 15px 0; /* Um leve arredondado charmoso na pontinha de baixo */
}

.header-logo img {
    height: 60px; 
    object-fit: contain;
    
    /* Cria um brilho branco ao redor do contorno exato da logo e das letras */
    /* filter: drop-shadow(0 0 4px #ffffff) drop-shadow(0 0 4px #ffffff); */
}
.header-nav {
    display: flex;
    gap: 25px;
    align-items: center;
}
.header-nav a {
    text-decoration: none;
    color: #ffffff; /* Links agora são brancos */
    font-weight: 600;
    transition: opacity 0.3s;
}
.header-nav a:hover {
    opacity: 0.8; /* Efeito suave de transparência ao passar o mouse */
}
.btn-login {
    background-color: #1c4a8a; /* Botão ganha o azul do AVA para se destacar */
    color: #ffffff !important;
    padding: 10px 25px;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s;
}
.btn-login:hover {
    background-color: #9cbef3; 
}
/* ================= SOBRE NÓS ================= */
.sobre-nos-content {
    max-width: 1100px; /* Aumentado o espaço máximo para caber as duas colunas lado a lado */
    margin: 0 auto;
    display: flex;
    align-items: center; /* Alinha o texto verticalmente ao centro da imagem */
    justify-content: space-between;
    gap: 50px; /* Espaçamento entre o texto e a imagem */
}
.sobre-nos-text {
    flex: 1; /* Ocupa todo o espaço restante do lado esquerdo */
}
.sobre-nos-text p {
    font-size: 18px;
    line-height: 1.6;
    color: #555;
    margin: 0;
    text-align: left; /* Força o texto a ficar alinhado à esquerda */
    
    /* A MÁGICA AQUI: Faz o navegador respeitar e mostrar os parágrafos e Enters */
    white-space: pre-line; 
}
.sobre-nos-media {
    flex: 0 0 450px; /* Mantém a largura máxima da área em 450px */
    display: flex;
    align-items: center; /* Se a foto for menor, ela fica elegantemente centralizada na vertical */
    justify-content: center;
}

.sobre-nos-media img {
    width: 100%;
    height: auto; /* MÁGICA 1: A altura agora é livre e se ajusta à proporção original da foto */
    max-height: 500px; /* MÁGICA 2: Trava de segurança. Se a foto for muito alta, ela para de crescer aqui */
    object-fit: contain; /* MÁGICA 3: Garante que a foto inteira caiba dentro do espaço sem nenhum corte */
    border-radius: 15px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.moldura-vazia {
    width: 100%;
    min-height: 320px; /* Mudamos de height para min-height para garantir que o espaço vazio não desapareça */
    background: #ffffff;
    border: 2px dashed #e2e8f0;
    border-radius: 15px;
    box-sizing: border-box;
}
/* ================= PARCEIROS CENTRADOS ================= */
#parceiros {
    background-color: #ffffff;
}
.grid-parceiros {
    display: flex;
    justify-content: center; /* MÁGICA: Centraliza todos os parceiros no meio exato da tela */
    align-items: stretch; /* Deixa todos os cards com a mesma altura na linha */
    gap: 30px; /* Espaçamento entre os cards */
    max-width: 1100px;
    margin: 0 auto;
    flex-wrap: wrap; /* Permite quebrar linha automaticamente após o 4º parceiro */
}
.parceiro-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fafafa;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #eaeaea;
    transition: transform 0.3s;
    width: 250px; /* Largura fixa para garantir que caibam no máximo 4 por linha dentro dos 1100px */
    box-sizing: border-box;
}
.parceiro-card:hover {
    transform: translateY(-3px);
}
.parceiro-logo-box {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.parceiro-card img {
    max-width: 100%;
    max-height: 70px;
    object-fit: contain;
    transition: all 0.3s;
}
.parceiro-card:hover img {
    transform: scale(1.1);
}
.parceiro-caption {
    margin: 15px 0 0 0;
    font-size: 14px;
    font-weight: bold;
    color: #555;
    text-align: center;
}

/* ================= TURMAS CENTRADAS ================= */
.grid-turmas {
    display: flex;
    justify-content: center; /* MÁGICA: Centraliza as turmas perfeitamente no meio da página */
    gap: 30px;
    flex-wrap: wrap;
    max-width: 1100px;
    margin: 0 auto;
}
.turma-card {
    position: relative;
    width: 300px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}
.turma-card:hover {
    transform: translateY(-3px); /* Efeito flutuar para combinar com o resto do site */
}
.turma-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}
.turma-caption {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(28, 74, 138, 0.85);
    color: white;
    padding: 15px;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: bold;
}
/* ================= CURSOS (GRADE 4 COLUNAS) ================= */
#cursos {
    background-color: #ffffff; /* Fundo branco para alternar as seções e ficar agradável */
}
.grid-cursos {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* TRAVA MÁGICA: Força o layout em 4 colunas perfeitamente alinhadas */
    gap: 30px; /* Espaçamento simétrico entre as caixas */
    max-width: 1200px;
    margin: 0 auto;
}
.curso-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 10px;
    padding: 25px;
    text-align: left; /* Alinhamento à esquerda solicitado */
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Garante que os preços fiquem todos alinhados na base do card */
}
.curso-card:hover {
    transform: translateY(-5px); /* Efeito flutuar padronizado com o site */
    box-shadow: 0 8px 25px rgba(0,0,0,0.06);
}
.curso-card h3 {
    color: #1c4a8a; /* Azul marinho oficial */
    margin-top: 0;
    font-size: 20px;
    line-height: 1.3;
}
.curso-desc {
    color: #666;
    line-height: 1.5;
    font-size: 14px;
    margin-bottom: 20px;
}
.preco-total {
    font-size: 26px; /* VALOR TOTAL GRANDE */
    font-weight: bold;
    color: #28a745; /* Verde comercial para preços */
    margin-top: 10px;
}
.preco-parcelado {
    font-size: 13px; /* VALOR PARCELADO PEQUENO */
    color: #888;
    margin: 3px 0 0 0;
}
.badge-promocao {
    position: absolute;
    top: -12px; /* Faz ela flutuar levemente para fora da borda superior */
    right: 15px;
    background-color: #ef4444; /* Vermelho moderno chamativo */
    color: #ffffff;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.3); /* Sombra avermelhada suave */
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 10;
}

/* RESPONSIVIDADE ADICIONAL PARA OS CURSOS */
@media (max-width: 1024px) {
    .grid-cursos {
        grid-template-columns: repeat(2, 1fr); /* Em tablets, divide em 2 colunas para não esmagar */
    }
}
@media (max-width: 600px) {
    .grid-cursos {
        grid-template-columns: 1fr; /* Em celulares, fica 1 curso por linha ocupando a largura total */
    }
}

/* ================= RODAPÉ (FOOTER) ================= */
.footer-instituto {
    background-color: #1c4a8a; /* Azul oficial da página */
    color: #cbd5e1; /* Cinza clarinho/azulado bem suave para não ficar gritante */
    text-align: center;
    padding: 15px 20px; /* Deixa a barrinha bem fina e delicada */
    font-size: 12px; /* Letra bem pequenininha como você pediu */
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    width: 100%;
    box-sizing: border-box;
    margin-top: 60px; /* Dá um respiro entre os cursos e o fim da página */
    border-top: 1px solid rgba(255, 255, 255, 0.1); /* Uma linha divisória super sutil */
}

.footer-instituto p {
    margin: 0;
    letter-spacing: 0.3px; /* Espaçamento elegante entre as letras */
}

.footer-instituto span {
    color: #ffffff; /* Destaca apenas o nome do instituto em branco brilhante */
    font-weight: 600; /* Deixa o nome levemente mais gordinho */
}
/* ================= WHATSAPP FLUTUANTE EM CÁPSULA ================= */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25d366; /* Verde oficial do WhatsApp */
    color: white !important;
    border-radius: 50px; /* Transforma o botão em uma pílula arredondada */
    padding: 15px 25px; /* Espaçamento interno para o texto respirar */
    display: flex;
    align-items: center;
    gap: 12px; /* Espaço perfeito entre o ícone do Whats e o texto */
    font-size: 16px; /* Tamanho de leitura ideal para o texto */
    font-weight: 700; /* Texto bem negritado para chamar atenção */
    box-shadow: 2px 4px 15px rgba(0,0,0,0.2); /* Sombra um pouco mais profunda */
    z-index: 1000;
    text-decoration: none;
    transition: transform 0.3s, background-color 0.3s;
}

.whatsapp-float:hover {
    transform: scale(1.05); /* Leve pulinho ao passar o mouse */
    background-color: #20ba56; /* Escurece o verde de leve no hover */
}

/* Ajuste do tamanho do ícone dentro da pílula */
.whatsapp-float i {
    font-size: 22px; 
}

/* ================= RESPONSIVIDADE ================= */
@media (max-width: 900px) {
    /* ... seus estilos antigos do header e cursos continuam aqui ... */

    /* MÁGICA 1: Compensa o novo tamanho do header no topo da página */
    body {
        padding-top: 130px; 
    }
    
    /* MÁGICA 2: Transforma o header em uma coluna (Logo em cima, menu embaixo) */
    .header {
        flex-direction: column;
        height: auto; /* Libera aquela altura fixa de 80px */
        padding: 0;
    }
    
    /* MÁGICA 3: Centraliza a logo e faz ela ocupar a tela toda */
    .header-logo {
        width: 100%;
        justify-content: center;
        border-radius: 0; /* Remove a curva inferior para encaixar melhor */
        padding: 10px 0;
    }
    
    /* MÁGICA 4: Transforma os links num carrossel arrastável para o lado */
    .header-nav {
        width: 100%;
        padding: 12px 20px;
        box-sizing: border-box;
        justify-content: flex-start;
        overflow-x: auto; /* Permite arrastar com o dedo */
        white-space: nowrap; /* Proíbe o texto de quebrar de linha */
        gap: 20px;
        -webkit-overflow-scrolling: touch; /* Deixa a rolagem suave no iPhone e Android */
    }
    
    /* Esconde a barrinha de rolagem feia para ficar um visual limpo */
    .header-nav::-webkit-scrollbar {
        display: none;
    }

    .sobre-nos-content {
        flex-direction: column; /* Faz a imagem ir para baixo do texto no celular */
        text-align: center;
        gap: 30px;
    }
    .sobre-nos-text p {
        text-align: center; /* Centraliza o texto no celular para melhor leitura */
    }
    .sobre-nos-media {
        flex: 1;
        width: 100%;
        max-width: 450px; /* Impede que a foto estoure no tablet/celular */
    }
    .grid-parceiros {
        grid-template-columns: repeat(2, 1fr); /* Em telas menores (tablets/celular), vira 2 colunas */
        gap: 20px;
    }

/* ================= LIGHTBOX (FOTOS AMPLIADAS) ================= */
#modal-foto-turma {
    display: none;
    position: fixed !important; /* Trava no ecrã por cima de tudo */
    z-index: 999999 !important; /* Força ficar acima do header e do botão do whats */
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.9) !important; /* Fundo escuro de cinema */
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

/* Animação de zoom ao abrir a foto */
#modal-foto-turma .conteudo-lightbox {
    max-width: 90% !important;
    max-height: 80vh !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
    animation: zoomFoto 0.25s ease;
    object-fit: contain !important;
}

@keyframes zoomFoto {
    from { transform: scale(0.85); opacity: 0; } 
    to { transform: scale(1); opacity: 1; }
}

/* Botão de fechar (X) */
#modal-foto-turma .fechar-lightbox {
    position: absolute !important;
    top: 25px !important;
    right: 40px !important;
    color: #ffffff !important;
    font-size: 45px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: color 0.2s;
    line-height: 1 !important;
}

#modal-foto-turma .fechar-lightbox:hover {
    color: #f59e0b !important; /* Amarelo de destaque do Instituto */
}

/* Texto da legenda ampliada */
#modal-foto-turma #legenda-ampliada {
    margin-top: 15px !important;
    color: #e2e8f0 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    text-align: center !important;
}

/* Efeito visual nas fotos das turmas */
.turma-card img {
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}
.turma-card img:hover {
    transform: scale(1.03) !important;
    opacity: 0.9 !important;
}
    

}