/* CONTAINER GERAL */
.agenda-container {
    max-width: 1000px;
    margin: 80px auto;
    text-align: center;
    font-family: "Outfit", sans-serif;
}

/* TÍTULO */
.agenda-titulo {
    font-size: 48px;
    font-weight: 700;
    color: #00D18F;
    margin-bottom: 10px;
}

/* SUBTÍTULO */
.agenda-subtitulo {
    font-size: 22px;
    font-weight: 400;
    color: #333;
    line-height: 1.6;
    margin-bottom: 40px;
}

/* GRID DOS MESES */
.calendario {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 900px;
    margin: 40px auto;
}


/* CAIXA DO MÊS */
.calendario-mes {
    background: #ffffff;
    border: 2px solid #00D18F;
    border-radius: 12px; /* 🔽 leve redução para ficar mais compacto */
    padding: 18px; /* 🔽 padding menor */
    box-shadow: 0 0 8px rgba(0,0,0,0.06);
}

/* NOME DO MÊS */
.calendario-mes h3 {
    font-size: 26px;
    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
}

/* LISTA DE EVENTOS */
.calendario-mes ul {
    list-style: none;
    padding: 0;
}

/* ITEM DE EVENTO */
.evento {
    background: #f3f3f3;
    padding: 12px 15px;
    margin-bottom: 10px;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 500;
    text-align: left;
}

/* ESTADO "EM BREVE" */
.evento.vazio {
    background: #eaeaea;
    text-align: center;
    color: #888;
    font-style: italic;
}

/* BARRA DE CARREGAMENTO DA AGENDA */
.loading-bar-agenda {
    width: 100%;
    height: 6px;
    background: #dcdcdc;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.loading-bar-agenda::after {
    content: "";
    position: absolute;
    width: 40%;
    height: 100%;
    background: #00D18F; /* cor da identidade */
    border-radius: 10px;
    animation: carregarAgenda 1.2s infinite linear;
}

@keyframes carregarAgenda {
    0% { left: -40%; }
    100% { left: 100%; }
}


/* SEÇÃO QUEM SOMOS */
.quemsomos {
    max-width: 900px;
    /* largura máxima para boa leitura */
    margin: 80px auto;
    /* centraliza e dá respiro acima e abaixo */
    padding: 20px 30px;
    /* leve espaçamento interno */
    font-family: "Outfit", sans-serif;
    line-height: 1.7;
    /* leitura confortável */
    font-size: 23px;
    /* tamanho ideal */
    font-weight: 400;
    /* peso suave */
    color: #1a1a1a;
    /* cor de texto padrão */
    text-align: justify;
    /* texto alinhado */
}

/* TÍTULO PRINCIPAL */
.titulo h1 {
    font-size: 70px;
    font-weight: 700;
    text-align: center;
    font-family: "Outfit", sans-serif;
    text-align: justify;
    /* texto alinhado */
    line-height: 1.7;
    /* leitura confortável */
    max-width: 1000px;
    /* largura máxima para boa leitura */
    margin: 80px auto;
    /* centraliza e dá respiro acima e abaixo */
}

/* COR DO QUEM */
.titulo-quem {
    color: #00D18F;
    /* mude aqui */

}

/* COR DO SOMOS */
.titulo-somos {
    color: #000000;
    /* mude aqui */
}

/* CONTAINER DO TÍTULO */
.titulo-mercurio-container {
    text-align: center;
    margin-top: 60px;
}

/* "MERCÚRIO" – primeira parte */
.titulo-mercurio {
    font-family: "Outfit", sans-serif;
    font-weight: 700;
    font-size: 42px;
    color: #00D18F;
    /* azul ou a cor que você preferir */
    margin-right: 10px;
}

/* "Gestão, Produção..." – segunda parte */
.titulo-gestao {
    font-family: "Outfit", sans-serif;
    font-weight: 500;
    font-size: 33px;
    color: #000;
    /* cor diferente */
}

.lista-colorida {
    list-style: none;
    /* remove a bolinha padrão */
    padding: 0;
    margin: 40px auto;
    max-width: 900px;
    font-family: "Outfit", sans-serif;
    font-weight: 400;
    font-size: 23px;
    line-height: 1.6;
}

.lista-colorida li {
    position: relative;
    padding-left: 32px;
    /* espaço para a bolinha */
    margin-bottom: 18px;
}

/* BOLINHA COLORIDA */
.lista-colorida li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 14px;
    height: 14px;
    background: #00D18F;
    /* 👈 cor da bolinha (trocar se quiser) */
    border-radius: 50%;
}
/* CONTAINER DA BARRA */
.loading-container {
    width: 100%;
    max-width: 500px;
    height: 12px;
    background: #e6e6e6;
    border-radius: 10px;
    margin: 30px auto 10px;
    overflow: hidden;
}

/* BARRA ANIMADA */
.loading-bar {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #FF1C57, #00D18F);
    border-radius: 10px;
    animation: loadingAnim 2.5s infinite;
}

/* TEXTO EMBAIXO */
.loading-text {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    color: #444;
    margin-top: 8px;
    font-family: "Outfit", sans-serif;
}

/* ANIMAÇÃO */
@keyframes loadingAnim {
    0% { width: 0%; }
    50% { width: 80%; }
    100% { width: 100%; }
}




/* RODAPÉ */
.side-left-bottom,
.side-right-bottom {
    position: absolute;
    width: 40px;
    pointer-events: none;
}

.side-left-bottom {
    left: 0;
}

.side-right-bottom {
    right: 0;
}

.footer {
    margin-top: 200px;
    padding: 5px 2px;
}

.footer-top {
    display: flex;
    justify-content: center;
    gap: 145px;
    flex-wrap: wrap;
}

.footer-logo img {
    width: 300px;
}

.social {
    margin-top: 110px;
}

.social p {
    font-size: 22px;
    /* tamanho do texto */
    font-weight: 600;
    /* peso do texto */
    font-family: "Outfit", sans-serif;
}

.social .icons img {
    width: 60px;
    margin-right: 10px;

}

.newsletter {
    font-size: 22px;
    /* tamanho do texto */
    font-weight: 600;
    /* peso do texto */
    font-family: "Outfit", sans-serif;
    margin-top: 120px;
}

.newsletter-box {
    display: flex;
    margin-top: 10px;
}

.newsletter-box input {
    padding: 10px;
    width: 280px;
    /* Cor base */
    background-color: #ffffff;



    background-size: 2px 2px, 3px 3px, 1px 1px;
    border: 2px solid #777;
    font-family: "Outfit", sans-serif;
}

.newsletter-box button {
    background: #FF8C00;
    color: rgb(4, 4, 4);
    padding: 15px 40px;
    border: none;
    font-weight: 600;
    font-family: "Outfit", sans-serif;
    border: 2px solid #777;
}

/* LOGOS INSTITUCIONAIS */
.footer-logos {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    gap: 2px;
    flex-wrap: wrap;
}

.footer-logos img {
    height: 105px;
}

/* TEXTO FINAL DO RODAPÉ */
.copy {
    margin-top: 100px;
    font-size: 15px;
    text-align: center;
    font-family: "Outfit", sans-serif;
    font-weight: 600;
}

/* ================================
   📱 RESPONSIVIDADE — ATÉ 1200px
   ================================ */
@media (max-width: 1200px) {

    .menu ul { gap: 35px; }

    .side-left,
    .side-right {
        width: 180px;
    }

    .main-logo {
        width: 420px;
    }

    .footer-top { gap: 70px; }

    /* TEXTOS */
    .titulo h1 { font-size: 60px; }
    .quemsomos,
    .lista-colorida { font-size: 22px; }
    .titulo-mercurio { font-size: 40px; }
    .titulo-gestao { font-size: 33px; }
}
/* ================================
   📱 RESPONSIVIDADE — ATÉ 992px
   ================================ */
@media (max-width: 992px) {

    /* MENU */
    .menu { padding: 50px 0; }

    .menu ul {
        gap: 25px;
        flex-wrap: wrap;
    }

    .menu a {
        font-size: 20px;
        padding: 4px 25px;
    }

    /* LATERAIS */
    .side-left,
    .side-right {
        width: 150px;
        margin-top: 0;
    }

    /* LOGO */
    .main-logo {
        width: 350px;
        margin-top: 0;
    }

    /* FOOTER */
    .footer-top { gap: 50px; }

    .footer-logo img { width: 260px; }

    .social,
    .newsletter { margin-top: 40px; }

    .newsletter-box input { width: 220px; }

    /* TEXTOS */
    .titulo h1 { font-size: 52px; }
    .quemsomos,
    .lista-colorida { font-size: 21px; }
    .titulo-mercurio { font-size: 35px; }
    .titulo-gestao { font-size: 30px; }
}
/* ================================
   📱 RESPONSIVIDADE — ATÉ 768px
   ================================ */
@media (max-width: 768px) {

    /* MENU */
    .menu ul {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .menu a { font-size: 18px; }

    .menu .active a {
        padding: 5px 22px;
    }

    .menu .active a::before {
        left: 10px;
        width: 12px;
        height: 12px;
    }

    /* ÍCONE DO HAMBÚRGUER */
    .hamburger {
        display: none;
        font-size: 32px;
        font-weight: bold;
        cursor: pointer;
        user-select: none;
    }

    #nav-menu {
        transition: max-height 0.3s ease;
        overflow: hidden;
    }

    /* LATERAIS */
    .side-left,
    .side-right {
        width: 120px;
    }

    /* LOGO */
    .main-logo { width: 300px; }

    /* Mostra o hambúrguer */
    .hamburger {
        display: block;
        text-align: center;
        margin-bottom: 20px;
    }

    #nav-menu { max-height: 0; }

    #nav-menu.open { max-height: 500px; }

    .menu ul { flex-direction: column; gap: 20px; }

    .menu a {
        font-size: 20px;
        display: inline-block;
        padding: 10px 20px;
    }

    .menu .active a::before {
        left: 8px;
        width: 12px;
        height: 12px;
    }

    /* FOOTER */
    .footer { margin-top: 150px; }

    .footer-top {
        gap: 40px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-logo img { width: 220px; }

    .social p,
    .newsletter { text-align: center; }

    .newsletter-box { justify-content: center; }

    .footer-logos img { height: 80px; }

    /* TEXTOS */
    .titulo h1 { font-size: 42px; text-align: center; }

    .titulo-quem,
    .titulo-somos {
        font-size: 42px;
        display: block;
        text-align: center;
    }

    .quemsomos,
    .lista-colorida { font-size: 20px; }

    .titulo-mercurio { font-size: 30px; }
    .titulo-gestao { font-size: 25px; }
}
/* ================================
   📱 RESPONSIVIDADE — ATÉ 480px
   ================================ */
@media (max-width: 480px) {

    /* MENU */
    .menu { padding: 40px 0; }

    .menu a { font-size: 16px; }

    /* LATERAIS */
    .side-left,
    .side-right {
        width: 90px;
    }

    /* LOGO */
    .main-logo { width: 240px; }

    /* TEXTOS */
    .titulo h1 {
        font-size: 32px;
        margin-top: 20px;
        text-align: center;
    }

    .titulo-quem,
    .titulo-somos {
        font-size: 32px;
        display: block;
        text-align: center;
    }

    .quemsomos {
        font-size: 18px;
        line-height: 1.6;
        padding: 0 15px;
        text-align: justify;
    }

    .titulo-mercurio { font-size: 28px; display: block; text-align: center; }
    .titulo-gestao { font-size: 22px; display: block; text-align: center; }

    .lista-colorida {
        font-size: 18px;
        padding: 0 15px;
    }

    /* FOOTER */
    .newsletter-box input { width: 180px; }

    .newsletter-box button { padding: 10px 25px; }

    .footer-logo img { width: 190px; }

    .footer-logos img { height: 65px; }

    .copy { font-size: 13px; }
}
