/* =================================================================== */
/* ==         SEU CSS PERSONALIZADO ORIGINAL ATUALIZADO           == */
/* ==      (Com a nova paleta de cores e melhorias mantidas)      == */
/* =================================================================== */

/* 1. VARIÁVEIS DE DESIGN PARA O TEMA MODERNO */
:root {
    --font-sans: 'Inter', sans-serif;
    --bs-body-bg: #F8F9FA;
    --bs-body-color: #495057;
    --bs-border-color: #dee2e6;
    --component-bg: #FFFFFF;
    --heading-color: #212529;
    --shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);

    /* == NOVA PALETA DE VERDES ATUALIZADA == */
    --stv-green-master: #0A6B43;
    --stv-green-dark: #085B38;
    --stv-green-light: #0E8453;
    --stv-green-focus: rgba(10, 107, 67, 0.25);
}

/* Tema Escuro para o conteúdo */
body[data-bs-theme="dark"] {
    --bs-body-bg: #1a202c;
    --bs-body-color: #a0aec0;
    --bs-border-color: #2d3748;
    --component-bg: #2d3748;
    --heading-color: #f7fafc;
}

/* =================================================================== */
/* ==      SUAS REGRAS ORIGINAIS (COM CORES SUBSTITUÍDAS)         == */
/* =================================================================== */

a:active {
    font-weight: bold;
    color: #FFF;
}

#falha .modal-body {
    height: 250px;
    overflow-y: auto;
}

.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked+.slider {
    background-color: var(--stv-green-master);
    /* ATUALIZADO */
}

input:focus+.slider {
    box-shadow: 0 0 1px var(--stv-green-dark);
    /* ATUALIZADO */
}

input:checked+.slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

@media (min-height: 500px) {
    #falha .modal-body {
        height: 500px;
    }
}

@media (min-height: 800px) {
    #falha .modal-body {
        height: 700px;
    }
}

.wrapper {
    margin-right: auto;
    margin-left: auto;
    max-width: 500px;
}

.nav-item {
    z-index: 99;
}

.menuPrincipal {
    background-image: linear-gradient(to right, var(--stv-green-dark), var(--stv-green-light));
    /* ATUALIZADO */
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    color: #FFF;
}

.menu-vermelho {
    background-image: linear-gradient(to right, rgb(219, 29, 29), #f0886f);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    color: rgb(3, 3, 3);
}

.border-verde {
    border-color: var(--stv-green-dark);
    /* ATUALIZADO */
}

.texto-verde {
    color: var(--stv-green-dark) !important;
    /* ATUALIZADO */
    background-color: transparent;
}

.menu_detalhe {
    background-image: linear-gradient(to right, var(--stv-green-dark), var(--stv-green-light));
    /* ATUALIZADO */
    border-radius: 10px;
    margin-bottom: 10px;
    color: #FFF;
}

.tratarEvento {
    background-image: linear-gradient(var(--stv-green-light), var(--stv-green-dark));
    /* ATUALIZADO */
    background-color: #a3af34;
    border-top-right-radius: 10px;
    color: #FFF;
}

.fundo,
.active2>a {
    background-color: var(--stv-green-dark) !important;
    /* ATUALIZADO */
    color: #FFF;
    font-weight: bolder;
}

.titulo>a {
    color: var(--stv-green-dark);
    /* ATUALIZADO */
    font-weight: bolder;
}

.fundoBotao {
    background-color: #f7f7f7;
    color: rgba(49, 47, 47, 0.815);
    border-radius: 7px;
    border-color: #ECEDF0;
    cursor: pointer;
}

.mao {
    cursor: pointer;
}

.fundoBotao:hover {
    color: #ffffff;
    background-image: linear-gradient(var(--stv-green-light), var(--stv-green-dark));
    /* ATUALIZADO */
    border-color: #ECEDF0;
    outline: 0;
    box-shadow: 0 0 0 0.2rem var(--stv-green-focus);
    /* ATUALIZADO */
}

.fundoBotao:active {
    color: #fff;
    background-color: var(--stv-green-dark);
    /* ATUALIZADO */
    border-color: #ECEDF0;
    outline: 0;
    box-shadow: 0 0 0 0.2rem var(--stv-green-focus);
    /* ATUALIZADO */
}

.fundoBotao:focus {
    color: #fff;
    background-color: var(--stv-green-dark);
    /* ATUALIZADO */
    border-color: #ECEDF0;
    outline: 0;
    box-shadow: 0 0 0 0.2rem var(--stv-green-focus);
    /* ATUALIZADO */
}

/* ... (demais regras originais mantidas) ... */

html {
    position: relative;
    min-height: 100%;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px;
    line-height: 60px;
    color: #FFF;
}

#map {
    height: 245px;
    width: 100%;
}

.table-overflow {
    max-height: 500px;
    overflow-y: auto;
}

.buttonLimp:hover {
    color: rgb(255, 255, 255);
    background-image: linear-gradient(var(--stv-green-light), var(--stv-green-dark));
    /* ATUALIZADO */
    outline: 0;
}

.buttonLimp:focus,
input:focus,
select:focus {
    outline: 0;
}

.page-link:hover {
    background-image: linear-gradient(var(--stv-green-light), var(--stv-green-dark));
    /* ATUALIZADO */
    color: rgb(255, 255, 255);
}

/* ... (demais regras originais mantidas) ... */

/*Blog*/

.blog {
    background-color: #F9FAFF;
}

.display-6 {
    font-size: 2.5rem;
}

@media (min-width: 768px) {
    .display-6 {
        font-size: 3rem;
    }
}

/* Pagination */

.blog-pagination {
    margin-bottom: 4rem;
}

.blog-pagination>.btn {
    border-radius: 2rem;
}


/* Blog posts*/

.blog-post {
    margin-bottom: 4rem;
}

.blog-post-title {
    margin-bottom: .25rem;
    font-size: 2.5rem;
}

.blog-post-meta {
    margin-bottom: 1.25rem;
    color: #999;
}

.blog-text a {
    text-decoration: none;
}

#map {
    height: 245px;
    width: 100%;
}

.bordaAcima {
    border-radius: 10 10 0 0;
}

.table-overflow {
    max-height: 500px;
    overflow-y: auto;
}

/* --- CSS Refinado (Botão Menor) --- */

.buttonLimp {
    /* Espaçamento e Margem (menores) */
    padding: 8px 18px;
    /* <-- Reduzido */
    margin: 6px;

    /* Visual Moderno */
    background-image: linear-gradient(to bottom, #4a4a4a, #383838);
    color: #e9e9e9;
    border: 1px solid #2b2b2b;
    border-top-color: #5f5f5f;
    border-radius: 8px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    /* <-- Reduzido */
    font-weight: 500;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease-in-out;
}

/* Efeitos de hover, active e focus permanecem os mesmos */
.buttonLimp:hover {
    background-image: linear-gradient(to bottom, #5a5a5a, #484848);
    border-top-color: #7f7f7f;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.buttonLimp:active {
    background-image: linear-gradient(to bottom, #383838, #4a4a4a);
    transform: translateY(0);
    box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.2);
}

.buttonLimp:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.7);
}

.page-item:active {
    background-image: linear-gradient(rgb(252, 252, 252), rgb(170, 170, 170), rgb(245, 245, 245));
    color: rgb(32, 32, 32);
}

.page-link:hover {
    background-image: linear-gradient(rgb(85, 97, 87), rgb(25, 46, 17), rgb(70, 107, 77));
    color: rgb(255, 255, 255);
}


/* .alert-danger{
    background-image: linear-gradient(rgb(238, 86, 66), rgb(228, 35, 1), rgb(243, 71, 71));
    color: rgb(255, 255, 255);
} */

.btn-danger {
    background-image: linear-gradient(rgb(238, 86, 66), rgb(228, 35, 1), rgb(243, 71, 71));
    color: rgb(255, 255, 255);
}

.event {
    background-image: linear-gradient(rgb(252, 252, 252), rgb(184, 184, 184), rgb(245, 245, 245));
    color: rgb(32, 32, 32);
    border-color: #ECEDF0;
    /*border-color: #ECEDF0;*/
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(209, 211, 209, 0.55);
}

.event:hover {
    color: #fff;
    background-image: linear-gradient(rgb(85, 97, 87), rgb(25, 46, 17), rgb(70, 107, 77));
    border-color: #ECEDF0;
    /*border-color: #ECEDF0;*/
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(72, 73, 72, 0.55);
}

.event:focus {
    background-image: linear-gradient(rgb(252, 252, 252), rgb(221, 206, 66), rgb(245, 245, 245));
    color: rgb(32, 32, 32);
    border-color: #ECEDF0;
    /*border-color: #ECEDF0;*/
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(209, 211, 209, 0.55);
}

.redondo {
    border-radius: 40;
}

@media only screen and (min-width: 760px) {
    .fundo-acesso {
        background: url("../../assets/imagens/fundo.jpg") no-repeat top fixed;
        background-color: rgba(236, 215, 167, 0.905);
        background-size: 100% 100%;
        opacity: 0.9;
    }

    .fundo-acesso-cor {
        background-image: linear-gradient(rgb(247, 235, 213), rgba(236, 215, 167, 0.905));
        opacity: 0.9;
    }

    body {
        background: #FFFFFF url("../../assets/imagens/fundo.jpg") no-repeat right top fixed;
        /* background-image: url("../../assets/imagens/fundo.jpg"); */
        /* background-repeat: no-repeat; */
        background-size: 100% 100%;
        opacity: 0.95;
    }
}

@media only screen and (max-width: 759px) {
    .fundo-acesso {
        background: url("../../assets/imagens/fundo.jpg") no-repeat top fixed;
        background-color: rgba(236, 215, 167, 0.905);
        -webkit-background-size: 250% 100%;
        -moz-background-size: 250% 100%;
        -o-background-size: 250% 100%;
        background-size: 250% 100%;
        opacity: 0.92;
        /* background-repeat: no-repeat;
        background-size: 100%; */
    }

    body {
        background: #FFFFFF url("../../assets/imagens/fundo.jpg") no-repeat right top fixed;
        -webkit-background-size: 250%;
        -moz-background-size: 250%;
        -o-background-size: 250%;
        background-size: 250%;
        opacity: 0.95;
    }

    h4 {
        font-size: 2em;
    }
}


.form-signin {
    background-image: linear-gradient(rgb(247, 235, 213), rgba(236, 215, 167, 0.905));
}

.botao-start {
    background-image: linear-gradient(rgb(255, 222, 196), rgba(255, 230, 168, 0.905));
}

.botao-start:hover {
    background-image: linear-gradient(rgb(255, 255, 254), rgba(246, 242, 232, 0.905));
}


/* =================================================================== */
/* == ESTILOS FINAIS: BUSCA E LOGOS (versão clean)      == */
/* =================================================================== */

.navbar-search-custom .input-group {
    border-radius: 50px;
    background-color: #f8f9fa;
    border: 1px solid #e3e6f0;
    transition: all 0.3s ease-in-out;
    /* NOVO: Adicionado para garantir que os cantos internos fiquem perfeitos */
    overflow: hidden;
}

.navbar-search-custom .input-group:focus-within {
    border-color: var(--stv-green-light);
    /* AJUSTADO: Trocado o shadow sólido por um brilho mais suave (glow) */
    box-shadow: 0 0 8px rgba(var(--stv-green-focus-rgb), 0.4);
}

/* NOTA: Para o box-shadow funcionar com rgba, sua variável --stv-green-focus-rgb 
   precisa ser definida apenas com os valores RGB.
   Exemplo no seu :root -> --stv-green-focus-rgb: 3, 152, 158; 
*/

.navbar-search-custom .form-control,
.navbar-search-custom .input-group-text,
.navbar-search-custom .select2-selection,
.navbar-search-custom .btn {
    border: none;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Garante que o botão se ajuste ao canto arredondado do grupo */
.navbar-search-custom .btn {
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
}

.select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected] {
    background-color: var(--stv-green-dark) !important;
    color: white !important;
}

#falhaCM .fa-exclamation-triangle {
    animation: pulse-danger 2s infinite;
}

@keyframes pulse-danger {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

/* Regras de logo mantidas */
.sidebar:not(.toggled) .sidebar-brand-text {
    display: block;
}

.sidebar:not(.toggled) .sidebar-brand-icon {
    display: none;
}

.sidebar.toggled .sidebar-brand-text {
    display: none;
}

.sidebar.toggled .sidebar-brand-icon {
    display: block;
}

@media (max-width: 768px) {
    .sidebar .sidebar-brand-text {
        display: none !important;
    }

    .sidebar .sidebar-brand-icon {
        display: block !important;
    }
}

/* =================================================================== */
/* ==           ESTILOS DO TEMA MODERNO (SOBREPÕE O RESTO)          == */
/* =================================================================== */

/* Fonte e Fundo */
body {
    font-family: var(--font-sans) !important;
    background-color: var(--bs-body-bg) !important;
}

body[data-bs-theme="dark"] {
    background-image: none !important;
    /* Remove imagem de fundo no tema escuro */
}

/* Topbar */
.topbar {
    background-color: var(--component-bg);
    box-shadow: var(--shadow-sm) !important;
    border-bottom: 1px solid var(--bs-border-color);
    height: 70px;
}

/* Cards e Tabelas */
.card {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.75rem;
    box-shadow: var(--shadow-sm) !important;
    background-color: var(--component-bg);
    transition: all 0.2s ease-in-out;
}

.card-header {
    background-color: transparent;
    border-bottom: 1px solid var(--bs-border-color);
    font-weight: 600;
    padding: 1rem 1.25rem;
}

.table {
    --bs-table-bg: var(--component-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-striped-bg: rgba(0, 0, 0, 0.02);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.04);
}

/* =================================================================== */
/* == AJUSTE PARA O ÍCONE DE VER SENHA NO LOGIN ORIGINAL          == */
/* =================================================================== */

.input-group>.form-control.bg-dark {
    /* Garante que o input não tenha borda direita para se juntar ao ícone */
    border-right: 0;
}

.input-group>.input-group-append>.input-group-text {
    /* Faz o fundo do ícone ser igual ao do formulário */
    background-color: transparent;

    /* Remove a borda padrão do bootstrap */
    border: none;

    /* Reaplica a sua borda verde inferior para manter a consistência */
    border-bottom: 1px solid #28a745;
}

#togglePassword {
    /* Garante que o ícone mostre a "mãozinha" ao passar o mouse */
    cursor: pointer;
}

/* =================================================================== */
/* ==   CSS FINAL PARA CHECKBOX (COM ALINHAMENTO HORIZONTAL E VERTICAL) == */
/* =================================================================== */

/* 1. Aplica Flexbox ao container para centralizar tudo verticalmente */
.fundo-acesso-cor .custom-control {
    display: flex;
    /* Ativa o modo Flexbox */
    align-items: center;
    /* Alinha os itens verticalmente ao centro */
    margin-top: 15px;
    /* Mantém um respiro do campo de senha acima */
}

/* 2. Ajusta o label com o seu padding e remove margens desnecessárias */
.fundo-acesso-cor .custom-control-label {
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    margin-bottom: 0;
    /* Garante que não haja margem inferior empurrando o texto */

    /* Usa o padding que você descobriu que funciona melhor para o espaçamento */
    padding-left: 25px;
}

/* 3. Estilos da caixa do checkbox (mantém como estava) */
.fundo-acesso-cor .custom-control-label::before {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.fundo-acesso-cor .custom-control-label:hover::before {
    border-color: #fff;
}

/* 4. Estilos da caixa do checkbox quando MARCADO (mantém como estava) */
.fundo-acesso-cor .custom-control-input:checked~.custom-control-label::before {
    background-color: var(--stv-green-master, #0A6B43);
    border-color: var(--stv-green-master, #0A6B43);
}

/* 5. Estilos do marcador branco (mantém como estava) */
.fundo-acesso-cor .custom-control-input:checked~.custom-control-label::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

/* 6. Efeito de foco (mantém como estava) */
.fundo-acesso-cor .custom-control-input:focus~.custom-control-label::before {
    box-shadow: 0 0 0 0.2rem var(--stv-green-focus, rgba(10, 107, 67, 0.25));
}

/* ========================================= */
/* == Correções para a Tela de Login (STV) == */
/* ========================================= */

/* Define a cor padrão para todo o texto dentro do box de login.
  O seletor '.fundo-acesso .bg-dark' garante que a regra só se aplique lá dentro.
*/
.fundo-acesso .bg-dark {
    color: #e9e9e9;
    /* Usamos um branco suave em vez de branco puro (#fff) */
}

/*
  Ajusta especificamente o label "Lembrar-me neste dispositivo"
*/
.fundo-acesso .bg-dark .custom-control-label {
    color: #d0d0d0;
    /* Um tom de cinza claro para textos secundários */
}

/*
  Estiliza o link da "Política de Privacidade" para ser discreto e funcional
*/
.fundo-acesso .bg-dark a.btn {
    color: #a0a0a0;
    /* Cor cinza para indicar que é um link menos importante */
    font-size: 14px;
    text-decoration: none;
    /* Remove o sublinhado */
    padding: 5px 0;
    /* Ajusta o espaçamento para não parecer um botão */
    transition: color 0.2s ease;
}

.fundo-acesso .bg-dark a.btn:hover {
    color: #ffffff;
    /* Ao passar o mouse, o link fica branco e ganha um sublinhado */
    text-decoration: underline;
}