/* =============================================
   style.css - Escola Cívico-Militar EMCIM
   Versão otimizada para mobile
   ============================================= */

* {
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
}

/* ===================== BANNER TITLE ===================== */
.banner {
    background-image: url('images/background_banner.jpg');
    background-size: cover;
    background-position: center;
    height: 320px;                    /* Aumentei um pouco para melhor visual */
    position: relative;
    overflow: hidden;
}

.banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        rgba(0, 0, 0, 0.45),
        rgba(13, 110, 253, 0.35)
    );
    z-index: 1;
}

.banner .container {
    z-index: 2;
    position: relative;
}

.banner-title {
    font-size: 2.8rem;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.7);
    letter-spacing: 2px;
}

.banner-subtitle {
    font-size: 1.8rem;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.6);
    color: #fff;
    opacity: 0.95;
}
/* ===================== MENU DE ACESSO RÁPIDO ===================== */
.menu-btn {
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 600;
    font-size: 1.05rem;
    transition: all 0.3s ease;
    text-decoration: none;
    color: white;
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.menu-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    color: white;
}

.menu-btn i {
    font-size: 1.7rem;
}

/* Cores dos botões */
.btn-portal { background: linear-gradient(135deg, #f1c40f, #f39c12); }
.btn-boletim { background: linear-gradient(135deg, #3498db, #2980b9); }
.btn-calendario { background: linear-gradient(135deg, #e74c3c, #c0392b); }
.btn-contato { background: linear-gradient(135deg, #27ae60, #229954); }

/* ===================== SEÇÕES ===================== */
.nossos-projetos {
    background-image: url('images/background_formando_cidadaos.png');
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.nossos-projetos::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    
    pointer-events: none;
}
/* Adicione este CSS ao seu arquivo de estilos */

.nossos-projetos .card {
    /* Removemos o fundo e a borda padrão para usar a imagem */
    background: none;
    border: none;
    box-shadow: none;
    overflow: hidden; /* Garante que nada saia dos cantos arredondados */
    position: relative; /* Ponto de referência para os elementos internos */
    min-height: 200px; /* Altura mínima para o card, ajuste conforme necessário */
    border-radius: 25px; /* Para as bordas arredondadas do card */
}
.fique-por-dentro .card {
    /* Removemos o fundo e a borda padrão para usar a imagem */
    background: none;
    border: none;
    box-shadow: none;
    overflow: hidden; /* Garante que nada saia dos cantos arredondados */
    position: relative; /* Ponto de referência para os elementos internos */
    min-height: 200px; /* Altura mínima para o card, ajuste conforme necessário */
    border-radius: 25px; /* Para as bordas arredondadas do card */
}
.formando-cidadaos .card {
    /* Removemos o fundo e a borda padrão para usar a imagem */
    background: none;
    border: none;
    box-shadow: none;
    overflow: hidden; /* Garante que nada saia dos cantos arredondados */
    position: relative; /* Ponto de referência para os elementos internos */
    min-height: 200px; /* Altura mínima para o card, ajuste conforme necessário */
    border-radius: 25px; /* Para as bordas arredondadas do card */
}

.card-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;    
    background-image: url('images/premium_card_clean.png'); /* <-- COLOQUE O CAMINHO CORRETO DA SUA IMAGEM AQUI */
    background-size: 100% 100%; /* Estica a imagem para preencher o card */
    background-position: center;
    z-index: 1; /* Fica atrás do conteúdo */
}


.card-background-blue {
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;  
    background-image: url("images/premium_card_blue_clean.png"); /* Caminho para o card azul */      
    background-size: 100% 100%; /* Estica a imagem para preencher o card */
    background-position: center;
    z-index: 1; /* Fica atrás do conteúdo */
}

.card-background-red {
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;   
    background-image: url("images/premium_card_green_clean.png"); /* Caminho para o card vermelho */     
    background-size: 100% 100%; /* Estica a imagem para preencher o card */
    background-position: center;
    z-index: 1; /* Fica atrás do conteúdo */
}

.card-content {
    position: relative;
    z-index: 2; /* Fica na frente do fundo */
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 25px; /* Um respiro nas bordas */
}

.card-img-top-container {
    height: 50%; /* Metade superior para a imagem do projeto */
    width: 100%;
    overflow: hidden;
    border-radius: 15px; /* Arredonda a imagem do projeto */
    margin-bottom: 1px;
}

.card-img-top-container img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Cobre o espaço sem distorcer */
}

.card-body {
    flex-grow: 1; /* Ocupa o espaço restante */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centraliza o título e o texto */
    padding: 0;
    text-align: center;
}

.card-footer-custom {
    /* Espaço reservado para o botão, alinhado com a parte de baixo do design */
    padding-top: 5px;
    text-align: center;
}


.formando-cidadaos {
    background-image: url('images/background_formando_cidadaos.png');
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.fique-por-dentro {
    background-image: url('images/background_nuvens_beges.png');
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

/* Ajustes específicos para as seções */
.formando-cidadaos .card-body .bg-primary, 
.formando-cidadaos .card-body .bg-success {
    background-color: transparent !important; /* Remove o fundo colorido padrão */
    color: #333 !important; /* Ajusta a cor do texto para ser visível no card */
    font-weight: bold;
}

.fique-por-dentro .card-body h5, 
.fique-por-dentro .card-body p {
    color: #333 !important; /* Ajusta a cor do texto para ser visível no card */
}

.fique-por-dentro .card-body .btn {
    margin-top: 10px; /* Espaçamento para o botão */
}


/* Hover nos cards */
.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15) !important;
}

/* Títulos com linhas laterais */
.section-title {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
}

.section-title .line {
    flex-grow: 1;
    max-width: 180px;
    border-top: 3px solid #0d6efd;
}

/* ===================== RESPONSIVIDADE ===================== */
@media (max-width: 576px) {
    .menu-btn {
        height: 68px;
        font-size: 0.98rem;
        gap: 8px;
    }
    
    .menu-btn i {
        font-size: 1.5rem;
    }

    .banner {
        height: 260px;
    }
    .banner-title {
        font-size: 2.1rem;
    }
    .banner-subtitle {
        font-size: 1.45rem;
    }

    .section-title .line {
        max-width: 100px;
    }

    .card-img-top {
        height: 200px !important;
    }
}

@media (max-width: 768px) {
    .card-img-top {
        height: 220px !important;
    }
    .banner-title {
        font-size: 2.4rem;
    }
}

/* ===================== FOOTER ===================== */
footer {
    box-shadow: 0 -3px 15px rgba(0,0,0,0.08);
}

footer .text-muted {
    font-size: 0.9rem;
}

/* ===================== NAVBAR COM BOTÕES ===================== */
.navbar .menu-btn {
    height: 48px;
    padding: 0 18px;
    font-size: 1rem;
    white-space: nowrap;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

.navbar .menu-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.2);
}

/* No mobile os botões ficam empilhados */
@media (max-width: 991px) {
    .navbar .menu-btn {
        margin-bottom: 8px;
        text-align: center;
    }
    
    .navbar-collapse {
        padding-top: 15px;
    }
}