/* --- Campo Programa de Saúde --- */
body.hide-preloader .preloader,
body.hide-preloader .blockUI {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.valor-primario {
    color: #7ACDF2;
}

.titulo-resultado {
    font-size: 0.75rem;
    color: black;
    font-weight: 500;
    display: block;
    margin-bottom: 2px;
}

/* --- BOTÃO SUPERIOR (Filtros) --- */
#btnToggleFiltros {
    color: #7ACDF2 !important;
    border: 1px solid #7ACDF2 !important;
    background-color: #ffffff !important;
    border-radius: 4px;
    font-weight: 500;
}

#btnToggleFiltros:hover {
    background-color: #f0faff !important;
}

/* --- FIELDSET & FORMULÁRIO --- */
.fieldset-pesquisa {
    border: 1px solid #1A3660 !important;
    border-radius: 8px;
    padding: 20px;
    margin-top: 5px;
}

.legend-pesquisa {
    color: #204D8B !important;
    width: auto !important;
    padding: 0 10px;
    font-weight: 600;
    font-size: 1rem;
    border-bottom: none;
}

#formPesquisa .form-control {
    border: 1px solid #1A3660 !important;
    color: #495057;
    border-radius: 4px;
}

#formPesquisa label {
    color: #204D8B !important;
    font-weight: 500;
    font-size: 0.9rem;
    margin-bottom: 2px;
}

/* --- BOTÃO PESQUISAR --- */
#btnRealizarPesquisa {
    border: 1px solid #1A3660 !important;
    color: #1A3660 !important;
    background-color: #ffffff;
    font-weight: 500;
    border-radius: 4px;
}

#btnRealizarPesquisa:hover {
    background-color: #1A3660 !important;
    color: #ffffff !important;
}

/* --- RESULTADOS (CARD ESTILO DESIGN) --- */
.card-resultado {
    background-color: #F8F9FA !important;
    border: none;
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 20px;
}

.card-resultado .label-info {
    font-size: 0.75rem;
    color: black;
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}

.card-resultado .valor-info {
    font-size: 0.85rem;
    color: #7ACDF2;
    font-weight: 600;
    display: block;
    margin-bottom: 12px;
}

/* Botões cinzas do rodapé do card */
.btn-acao-cinza {
    background-color: #E9ECEF;
    color: #1A3660;
    border: none;
    font-size: 0.8rem;
    font-weight: 500;
    margin-left: 5px;
    padding: 5px 15px;
    border-radius: 4px;
}

/* Badge Personalizado */
.badge-status {
    background-color: #5CB8E2 !important;
    color: #1A3660 !important;
    font-weight: 700;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-acao-cinza:hover {
    background-color: #ced4da;
    color: #212529;
}

.text-pedidos-header {
    color: #204D8B;
    font-size: 0.75rem;
}

.small {
    font-size: 0.75rem;
    font-weight: 400;
}

.titulo-secao-resultado {
    font-size: 1rem;
    color: #1A3660;
    border-bottom: 2px solid #00A3E0;
    display: inline-block;
    margin-bottom: 0;
    padding-bottom: 0.5rem;
}

.linha-complementar {
    border-color: #dee2e6 !important;
}

/* Configuração barra de rolagem, espaçmento, dimensões */
body, html {
    overflow-y: auto !important;
    height: auto !important;
}

#listaPedidosContainer {
    padding-bottom: 20px;
}

.card {
    height: auto !important;
    overflow: visible !important;
}

.page-wrapper, .content-wrapper {
    overflow-y: auto !important;
    height: 100% !important;
}

.loading-search {
    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"%3E%3Ccircle cx="50" cy="50" fill="none" stroke="%237ACDF2" stroke-width="10" r="35" stroke-dasharray="164.93361431346415 56.97787143782138"%3E%3CanimateTransform attributeName="transform" type="rotate" repeatCount="indefinite" dur="1s" values="0 50 50;360 50 50" keyTimes="0;1"/%3E%3C/circle%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px 20px;
    padding-right: 35px;
}

/* Lista Flutuante */
#sugestoesProgramaSaude {
    border: 1px solid #ddd;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.item-sugestao:hover {
    background-color: #f0faff;
    color: #1A3660;
    font-weight: 500;
}

/* Container centralizado */
.pagination-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

/* Botão Buscar Mais */
#btnCarregarMais {
    background-color: transparent !important;
    color: #0056b3 !important;
    border: 1px solid #0056b3 !important;
    border-radius: 4px !important;
    font-weight: 500;
    font-size: 0.9rem;
    padding: 8px 24px;
    transition: all 0.2s ease-in-out;
}

#btnCarregarMais:hover {
    background-color: #204D8B !important;
    color: #fff !important;
    box-shadow: 0 2px 5px #1A3660;
}

/* Botão Voltar ao Topo */
#btnVoltarTopo {
    background-color: #f8f9fa !important;
    color: #6c757d !important;
    border: 1px solid #dee2e6 !important;

    border-radius: 4px !important;

    font-weight: 500;
    font-size: 0.9rem;
    padding: 8px 16px;
}

#btnVoltarTopo:hover {
    background-color: #e2e6ea !important;
    border-color: #adb5bd !important;
    color: #495057 !important;
}

/* --- HOVER DOS LINKS DE PDF --- */
.hover-borda-cinza {
    padding: 4px 8px;
    border-radius: 4px;
    border: 1px solid transparent;
    transition: all 0.2s ease-in-out;
}

.hover-borda-cinza:hover {
    background-color: #E9ECEF;
    border-color: #ced4da;
    text-decoration: none !important;
}

/* Protege as cores originais contra o hover global do projeto (laranja) */
a.hover-borda-cinza.valor-primario:hover {
    color: #7ACDF2 !important;
}

a.hover-borda-cinza.text-success:hover {
    color: #28a745 !important;
}

/* --- BOTÃO DIREÇÃO ORDENAÇÃO (Azul ao invés de Laranja) --- */
#btnDirecaoOrdenacao {
    color: #1A3660 !important;
    border: 1px solid #1A3660 !important;
    background-color: transparent !important;
}

#btnDirecaoOrdenacao:hover {
    background-color: #1A3660 !important;
    color: #ffffff !important;
}

/* --- EFEITO VISUAL DE LOADING LOCAL --- */
.cards-carregando {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 0.2s ease-in-out;
}

/* --- ALINHAMENTO MILIMÉTRICO DA TOOLBAR --- */
.input-group #selOrdenacao,
.input-group #btnDirecaoOrdenacao,
#toolbarExportacao .btn {
    height: 38px !important;
    box-sizing: border-box;
}

/* Centraliza perfeitamente o texto e o ícone do botão de Excel */
#toolbarExportacao .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
}

/* Dá um leve respiro elegante entre o ícone do Excel e o texto */
#toolbarExportacao .btn i {
    margin-right: 6px;
}
