body
{
   font-family:Inter,Arial,sans-serif
}

.hero {
    min-height: 320px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    position: relative;
}

/* Nova película: Escurece suavemente apenas o lado esquerdo para dar leitura ao texto */
.hero-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Da esquerda (65% preto transparente) para a direita (totalmente transparente) */
    background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
}

/* Garante que o texto fique por cima do gradiente */
.hero .container {
    position: relative;
    z-index: 2;
}

/* Controla o tamanho dos títulos na tela do computador */
.hero h1 {
    font-size: 2.2rem; /* Reduzido (o padrão geralmente é maior que 3rem) */
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
    margin-bottom: 0.5rem;
}

/* Controla o tamanho do texto descritivo na tela do computador */
.hero p {
    font-size: 1.1rem; /* Reduzido para ficar mais discreto e elegante */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}

/* Ajuste específico para celulares (telas menores) */
@media (max-width: 768px) {
    .hero h1 {
        font-size: 1.8rem; /* Letras ainda menores no celular para não quebrar muitas linhas */
    }
    .hero p {
        font-size: 1rem;
    }
}





.logo{
    height:75px;
    width:auto;
}

.logo:hover{
    transform:scale(1.05);
}

.logo-text{
    line-height:1.2;
}

.logo-text span{
    font-size:1.15rem;
    color:#589782;
}

.logo-text small{
    font-size:.8rem;
}



/* ===========================
   CTA
=========================== */

.cta{

    padding:70px 0 20px;

}

.cta-box{

    background:linear-gradient(135deg,#518271,#589782);

    color:white;

    border-radius:20px;

    padding:60px;

    box-shadow:0 20px 60px rgba(0, 0, 0, 0.05);

}

.cta h2{

    font-size:2.2rem;

    font-weight:700;

    margin-bottom:20px;

}

.cta p{

    opacity:.9;

    line-height:1.8;

}

.cta .btn{

    border-radius:10px;

    font-weight:600;

    padding:15px 35px;

    transition:.3s;

}

.cta .btn:hover{

    transform:translateY(-4px);

}

.text-verde {
    color: #589782 !important;
}

/* ===========================
   Footer
=========================== */

.footer{

    background:#0F172A;

    color:#CBD5E1;

    padding:70px 0 20px;

}

.footer h4,

.footer h5{

    color:white;

    margin-bottom:20px;

}

.footer p{

    line-height:1.8;

}

.footer ul{

    list-style:none;

    padding:0;

}

.footer li{

    margin-bottom:12px;

}

.footer a{

    color:#CBD5E1;

    text-decoration:none;

    transition:.3s;

}

.footer a:hover{

    color:#fff;

    padding-left:5px;

}

.footer hr{

    border-color:rgba(255,255,255,.08);

    margin:40px 0 20px;

}

.footer-copy{

    text-align:center;

    color:#94A3B8;

    font-size:.9rem;

}


/* ===========================
   Historia
=========================== */


.history-section{

    background:#f5f7fa;

}

.history-card{

    background:#FFF;

    padding:45px;

    margin-bottom:35px;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

    border:none;

    border-left:6px solid #589782;

}

.history-card:hover{

    transform:translateY(-6px);

}

.history-card h2{

    color:#589782;

    margin-bottom:25px;

    font-weight:700;

}

.history-card p{

    color:#555;

    line-height:1.9;

    text-align:justify;

}

.history-card ul{

    margin-top:20px;

    padding-left:20px;

}

.history-card li{

    margin-bottom:10px;

}


.history-mini-card{

    background:#FFF;

    height:100%;

    border-radius:20px;

    padding:35px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.history-mini-card:hover{

    transform:translateY(-6px);

}

.history-mini-card h3{

    color:#589782;

    margin-bottom:20px;

    text-align:center;

}

.history-mini-card p{

    text-align:center;

}

.history-mini-card ul{

    list-style:none;

    padding:0;

}

.history-mini-card li{

    padding:8px 0;

    border-bottom:1px solid #eee;

}

.history-mini-card li:last-child{

    border-bottom:none;

}


/* ===========================
   Valores
=========================== */


/*--------------------------------*/

.mission-section{

    margin-top:80px;

}

/*--------------------------------*/

.section-tag{

    display:inline-block;

    background:#EAF5FF;

    color:#589782;

    padding:8px 20px;

    border-radius:50px;

    font-weight:600;

    font-size:14px;

}

/*--------------------------------*/

/* ===================================================
   MISSÃO | VISÃO | VALORES
=================================================== */

.mission-section{

    margin-top:80px;

}

.section-tag{

    display:inline-block;

    background:#EAF5FF;

    color:#589782;

    padding:8px 22px;

    border-radius:40px;

    font-size:14px;

    font-weight:600;

    letter-spacing:.5px;

}

/* Card */

.history-mini-card{

    background:#FFF;

    border-radius:22px;

    padding:45px;

    height:100%;

    border:1px solid #E6EEF7;

    box-shadow:0 12px 35px rgba(0,0,0,.06);

    position:relative;

    overflow:hidden;

    transition:.35s;

}

/* Barra superior */

.history-mini-card::before{

    content:'';

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:linear-gradient(90deg,#589782,#4e7f6f);

}

.history-mini-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 55px rgba(0,90,156,.15);

}

/* Ícone */

.history-icon{

    width:90px;

    height:90px;

    margin:0 auto 30px;

    border-radius:50%;

    background:#EAF5FF;

    color:#589782;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

}

/* Título */

.history-mini-card h3{

    text-align:center;

    color:#589782;

    font-weight:700;

    margin-bottom:20px;

}

/* Texto */

.history-mini-card p{

    color:#666;

    line-height:1.8;

    text-align:center;

    margin-bottom:0;

}

/* Container dos valores */

.badge-container{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:15px;

    margin-top:30px;

}


/* Cada valor */

.history-badge{

    display:flex;

    align-items:flex-start;

    gap:10px;

    padding:14px 18px;

    background:#F7FBFF;

    border:1px solid #D8E8F6;

    border-radius:12px;

    color:#589782;

    font-weight:600;

}


.history-badge:hover{

    background:#589782;

    color:#FFF;

    transform:translateY(-3px);

}

.history-badge i{

    margin-right:8px;

}


.history-badge span{

    flex:1;

    text-align:left;

    line-height:1.5;

}



/* Mobile */

@media(max-width:768px){

    .history-mini-card{

        padding:30px;

    }

    .history-icon{

        width:70px;

        height:70px;

        font-size:28px;

    }

}


/* Tablet */
@media (max-width:991px){

    .badge-container{

        grid-template-columns:repeat(2,1fr);

    }

}

/* Celular */
@media (max-width:576px){

    .badge-container{

        grid-template-columns:1fr;

    }

}


/* ===================================================
   Ultimos documentos index
=================================================== */

/*=============================================
PORTAL DA TRANSPARÊNCIA INDEX
=============================================*/

.transparencia{

    background:#F8FAFC;

}

.btn-primary {
    background-color: #589782 !important;
    border-color: #589782 !important;
    color: #ffffff !important;
}

/* 3. Aplica a cor para quando o usuário passar o mouse (Hover) */
.btn-primary:hover {
    background-color: #4e7f6f !important;
    border-color: #4e7f6f !important;
    color: #ffffff !important;
}

.section-subtitle{

    display:inline-block;

    background:#EAF5FF;

    color:#589782;

    padding:8px 20px;

    border-radius:50px;

    font-weight:600;

    margin-bottom:15px;

}

.doc-card{

    position:relative;

    background:#FFF;

    border-radius:20px;

    padding:25px;

    height:100%;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.doc-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,90,156,.15);

}

.doc-icon{

    width:80px;
    height:80px;

    margin-bottom:18px;

    border-radius:50%;

    background:#EAF5FF;

    display:flex;

    justify-content:center;

    align-items:center;

}

.doc-card h5{

    color:#589782;

    font-weight:600;

    min-height:auto;

    margin:15px 0 10px;

    font-size:18px;

    line-height:1.4;
  
    max-width:78%;

    text-wrap:balance;


}

.doc-date{

    color:#777;

    margin-bottom:18px;

    font-size:15px;

}

.doc-date i{

    margin-right:8px;

}

.btn-download{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 24px;

    background:#009B72;

    color:#FFF;

    border-radius:10px;

    text-decoration:none;

    margin-top:auto;

}

.doc-card:hover .btn-download{

    background:#589782;

}


.doc-card a{

    margin-top:auto;

}

.doc-badge{

    position:absolute;

    top:20px;

    right:20px;

    border-radius:30px;

    padding:8px 14px;

}

.doc-card:hover .doc-icon img{

    transform:scale(1.15) rotate(-8deg);

}

.doc-card:hover .bi-file-earmark-pdf-fill{

    transform:rotate(-5deg);

}

.doc-icon img{

    width:42px;

    height:42px;

    transition:.3s;

}


.btn-hmbc{

    background:#009B72;

    border-color:#009B72;

    color:#FFF;

    border-radius:50px;

    transition:.3s;

}

.btn-hmbc:hover{

    background:#589782;

    border-color:#589782;

    color:#FFF;

}


/*====================================
Cabeçalho da Transparência
====================================*/

.transparency-header{

    max-width:700px;

    margin:0 auto 60px;

}

.divider{

    width:90px;

    height:4px;

    background:#009B72;

    margin:0 auto 30px;

    border-radius:30px;

}

.transparency-icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    background:#EAF5FF;

    color:#589782;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:42px;

    box-shadow:0 10px 30px rgba(0,90,156,.12);

}

.transparency-header h2{

    color:#589782;

    font-weight:700;

    margin-bottom:15px;

}

.transparency-header p{

    color:#6c757d;

    line-height:1.8;

    font-size:17px;

}

.transparency-icon{

    width:90px;

    height:90px;

    margin:0 auto 25px;

    border-radius:50%;

    background:#EAF5FF;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 10px 25px rgba(0,90,156,.10);

}

.transparency-icon img{

    width:44px;

    height:44px;

    transition:.3s;

}

.transparency-header:hover .transparency-icon img{

    transform:scale(1.1);

}


/*====================================
PAGINA PORTAL da Transparência
====================================*/


.lista-documentos{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.doc-list-item{

    background:#FFF;

    border-radius:18px;

    padding:20px 30px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.3s;

}

.doc-list-item:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,90,156,.12);

}

.doc-left{

    display:flex;

    align-items:center;

    gap:20px;

}

.doc-left h5{

    margin:0 0 8px;

    color:#589782;

    font-size:18px;

}

.doc-left small{

    color:#777;

}

.doc-icon{

    width:70px;

    height:70px;

    background:#EAF5FF;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

}

.doc-icon img{

    width:38px;

}

@media(max-width:768px){

.doc-list-item{

    flex-direction:column;

    text-align:center;

    gap:20px;

}

.doc-left{

    flex-direction:column;

}

}


/* ===========================
   PG Contato
=========================== */

.contact-section{

    background:#F8FAFC;

}

.contact-card{

    background:#FFF;

    border-radius:20px;

    padding:35px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    height:100%;

}

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-bottom:30px;

}

.contact-item i{

    width:55px;

    height:55px;

    border-radius:50%;

    background:#EAF5FF;

    color:#589782;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    flex-shrink:0;

}

.contact-item h5{

    margin-bottom:5px;

    color:#589782;

}

.contact-item p,
.contact-item a{

    margin:0;

    color:#555;

    text-decoration:none;

}

.form-control{

    border-radius:12px;

    padding:14px;

    border:1px solid #DCE5EF;

}

.form-control:focus{

    border-color:#589782;

    box-shadow:0 0 0 .2rem rgba(0,90,156,.15);

}


.contact-icon{

    width:64px;

    height:64px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

}

.contact-icon img{

    width:32px;

    height:32px;

}


.contact-item:nth-child(1) .contact-icon{

    background:#EAF5FF;

}


.contact-item:nth-child(2) .contact-icon{

    background:#EAF5FF;

}


.contact-item:nth-child(3) .contact-icon{

    background:#EAF5FF;

}


/* ===========================
   INSTAGRAM
=========================== */


.instagram-card {
    aspect-ratio: 1 / 1;
    position: relative;
}
.instagram-card img {
    transition: transform 0.3s ease;
    object-fit: cover;
}
.instagram-card:hover img {
    transform: scale(1.05);
}
.instagram-overlay {
    transition: opacity 0.3s ease;
}
.instagram-card:hover .instagram-overlay {
    opacity: 1 !important;
}
.instagram-title {
    font-weight: 600;
    color: #333;
}







/* ===========================
   GALERIA DE FOTOS
=========================== */

    .capec-galeria-container {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        max-width: 1200px;
        margin: 20px auto;
        padding: 0 15px;
    }
    .capec-titulo-sessao {
        color: #000000;
        border-bottom: 2px solid #e0e0e0;
        padding-bottom: 10px;
        margin-bottom: 25px;
        font-size: 24px;
    }
    .capec-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 20px;
    }
    /* Estilo dos Cards de Álbum */
    .capec-card-album {
        background: #ffffff;
        border-radius: 8px;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        overflow: hidden;
        transition: transform 0.2s, box-shadow 0.2s;
        display: flex;
        flex-direction: column;
        text-decoration: none;
        color: #333;
    }
    .capec-card-album:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 12px rgba(0,0,0,0.15);
    }
    .capec-album-info {
        padding: 15px;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }
    .capec-album-titulo {
        font-size: 18px;
        font-weight: bold;
        margin: 0 0 10px 0;
        color: #222;
    }
    .capec-album-desc {
        font-size: 14px;
        color: #666;
        margin-bottom: 15px;
        line-height: 1.4;
    }
    .capec-btn-ver {
        margin-top: auto;
        background-color: #0d6efd;
        color: #fff;
        text-align: center;
        padding: 8px 12px;
        border-radius: 4px;
        font-weight: 500;
        font-size: 14px;
    }
    /* Estilo dos Cards de Fotos e Capas */
    .capec-card-foto {
        background: #ffffff;
        border-radius: 6px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        overflow: hidden;
    }
    .capec-wrapper-img {
        position: relative;
        width: 100%;
        padding-top: 66.66%; /* Proporção 3:2 */
        background-color: #e9ecef;
    }
    .capec-wrapper-img img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .capec-foto-caption {
        padding: 10px;
        font-size: 13px;
        color: #444;
        text-align: center;
        background: #fafafa;
        border-top: 1px solid #eee;
    }
    .capec-btn-voltar {
        display: inline-block;
        background-color: #6c757d;
        color: #fff;
        padding: 8px 16px;
        border-radius: 4px;
        text-decoration: none;
        margin-bottom: 20px;
        font-size: 14px;
        transition: background-color 0.2s;
    }
    .capec-btn-voltar:hover {
        background-color: #5a6268;
    }
    .capec-erro {
        color: #721c24;
        background-color: #f8d7da;
        padding: 12px;
        border-radius: 4px;
        border: 1px solid #f5c6cb;
    }
    .capec-aviso {
        color: #383d41;
        background-color: #e2e3e5;
        padding: 15px;
        border-radius: 4px;
        grid-column: 1 / -1;
        text-align: center;
    }
