﻿/* ==========================================================================
   MECÂNICA STICKY FOOTER (FLEXBOX DINÂMICO)
   ========================================================================== */

/* 1. Força o ecrã completo como altura mínima de trabalho */
html, body {
    height: 100%;
    margin: 0;
}

/* 2. Transforma o bloco principal num contentor flexível vertical */
.page {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ocupa sempre 100% da altura visível da janela */
}

/* 3. O wrapper do conteúdo cresce para ocupar todo o espaço vazio disponível */
.page-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto; /* Expande e empurra o footer quando há pouco conteúdo */
}

/* 4. O elemento main garante o preenchimento total interno */
#conteudo {
    flex: 1 0 auto;
}

/* 5. O rodapé mantém o seu tamanho natural, fixando-se na base se necessário */
.footer-custom {
    flex-shrink: 0; /* Impede o rodapé de encolher ou achatar */
    background-color: #ffffff;
    border-top: 1px solid #f1f5f9;
}







a.navbar-brand img {
    max-height: 35px;
}


/* Hero Banner Imersivo Otimizado para Contraste */
.hero-campaign {
    background: #051d33; /* Fallback */
    /* Gradiente linear mais escuro para garantir legibilidade absoluta do texto branco */
    background-image: linear-gradient(rgba(3, 19, 36, 0.88), rgba(5, 29, 51, 0.94)), url('/img/image_WeqeUk.png');
    background-size: cover;
    background-position: center;
    color: #ffffff !important;
    padding: 4.5rem 1rem;
    border-radius: 0 0 24px 24px;
    box-shadow: 0 10px 30px rgba(5, 29, 51, 0.15);
}

    /* FORÇAR TEXTO BRANCO E DOIRADO NO HERO */
    .hero-campaign h1.display-5 {
        color: #ffffff !important;
        font-weight: 900;
        letter-spacing: -0.5px;
        text-transform: uppercase;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    }

    .hero-campaign p.lead {
        color: #e2e8f0 !important; /* Branco suave/cinza claro */
    }

    .hero-campaign .gold-text {
        color: #dfb76c !important; /* Dourado mais vivo extraído do cartaz */
        font-weight: 700;
        letter-spacing: 0.5px;
    }

    /* Ajuste do botão primário flutuante no contexto escuro */
    .hero-campaign .btn-primary {
        color: #ffffff !important;
        background: transparent !important;
        border: none !important;
    }

        .hero-campaign .btn-primary:hover {
            color: #dfb76c !important;
            background: rgba(255, 255, 255, 0.08) !important;
        }

/* Limpeza das Tabelas (Remove as barras de scroll verticais) */
.table-responsive {
    overflow-y: hidden !important; /* Elimina o scroll vertical indesejado */
}

.card-calendar {
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
    background: #ffffff;
}

    .card-calendar .card-title {
        font-weight: 800;
        color: #051d33;
        font-size: 1.15rem;
    }

.table-calendar th {
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    color: #94a3b8;
    font-weight: 700;
}

.table-calendar td {
    padding: 0.85rem 0.5rem;
    font-size: 0.88rem;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
}



/* Estilos Utilitários para o Novo Rodapé */

.footer-link {
    color: #94a3b8 !important;
    text-decoration: none !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.08em !important;
    transition: all 0.2s ease;
}

    .footer-link:hover {
        color: #051d33 !important;
    }

.opacity-30 {
    opacity: 0.3;
}
