@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");

/**
 * Tema - fonte (Poppins) + cores primária e secundária do Bootstrap 5.3.
 *
 * Ajuste apenas os valores abaixo. Tudo o que é derivado (botões, links,
 * badges, foco de formulário, navbar, paginação...) acompanha automaticamente.
 *
 * Carregado DEPOIS do bootstrap.min.css nos layouts (app / auth / publico).
 */

:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
    /* ---- Cores ---- */
    --cor-primaria: #2952a3;
    --cor-primaria-escura: #23468b;   /* hover / active */
    --cor-primaria-clara: #2859bb;    /* realces sutis  */

    --cor-secundaria: #212529;
    --cor-secundaria-escura: #000;
    --cor-secundaria-clara: #373b3e;

    /* ---- Mapeia para as variáveis do Bootstrap ---- */
    --bs-font-sans-serif: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto,
        "Helvetica Neue", Arial, sans-serif;
    --bs-primary: var(--cor-primaria);
    --bs-primary-rgb: 41, 82, 163;
    --bs-primary-text-emphasis: var(--cor-primaria-escura);
    --bs-primary-bg-subtle: #cfe0f8;
    --bs-primary-border-subtle: #a6c4f0;
    --bs-link-color: var(--cor-primaria);
    --bs-link-color-rgb: 41, 82, 163;
    --bs-link-hover-color: var(--cor-primaria-escura);
    --bs-link-hover-color-rgb: 35, 70, 139;

    --bs-secondary: var(--cor-secundaria);
    --bs-secondary-rgb: 33, 37, 41;
    --bs-secondary-color: var(--cor-secundaria);
    --bs-secondary-text-emphasis: var(--cor-secundaria-escura);
    --bs-secondary-bg-subtle: #e5e8eb;
    --bs-secondary-border-subtle: #c7cdd3;
}

/* -- Botões ---- */
.btn-primary {
    --bs-btn-bg: var(--cor-primaria);
    --bs-btn-border-color: var(--cor-primaria);
    --bs-btn-hover-bg: var(--cor-primaria-escura);
    --bs-btn-hover-border-color: var(--cor-primaria-escura);
    --bs-btn-active-bg: var(--cor-primaria-escura);
    --bs-btn-active-border-color: var(--cor-primaria-escura);
    --bs-btn-disabled-bg: var(--cor-primaria);
    --bs-btn-disabled-border-color: var(--cor-primaria);
}

.btn-outline-primary {
    --bs-btn-color: var(--cor-primaria);
    --bs-btn-border-color: var(--cor-primaria);
    --bs-btn-hover-bg: var(--cor-primaria);
    --bs-btn-hover-border-color: var(--cor-primaria);
    --bs-btn-active-bg: var(--cor-primaria);
    --bs-btn-active-border-color: var(--cor-primaria);
    --bs-btn-disabled-color: var(--cor-primaria);
    --bs-btn-disabled-border-color: var(--cor-primaria);
}

.btn-secondary {
    --bs-btn-bg: var(--cor-secundaria);
    --bs-btn-border-color: var(--cor-secundaria);
    --bs-btn-hover-bg: var(--cor-secundaria-escura);
    --bs-btn-hover-border-color: var(--cor-secundaria-escura);
    --bs-btn-active-bg: var(--cor-secundaria-escura);
    --bs-btn-active-border-color: var(--cor-secundaria-escura);
    --bs-btn-disabled-bg: var(--cor-secundaria);
    --bs-btn-disabled-border-color: var(--cor-secundaria);
}

.btn-outline-secondary {
    --bs-btn-color: var(--cor-secundaria);
    --bs-btn-border-color: var(--cor-secundaria);
    --bs-btn-hover-bg: var(--cor-secundaria);
    --bs-btn-hover-border-color: var(--cor-secundaria);
    --bs-btn-active-bg: var(--cor-secundaria);
    --bs-btn-active-border-color: var(--cor-secundaria);
}

.btn-link {
    --bs-btn-color: var(--cor-primaria);
    --bs-btn-hover-color: var(--cor-primaria-escura);
}

/* ---- Fundos / textos / bordas utilitárias ---- */
.bg-primary { background-color: var(--cor-primaria) !important; }
.bg-secondary { background-color: var(--cor-secundaria) !important; }
.text-primary { color: var(--cor-primaria) !important; }
.text-secondary { color: var(--cor-secundaria) !important; }
.border-primary { border-color: var(--cor-primaria) !important; }
.border-secondary { border-color: var(--cor-secundaria) !important; }

.text-bg-primary { background-color: var(--cor-primaria) !important; color: #fff !important; }
.text-bg-secondary { background-color: var(--cor-secundaria) !important; color: #fff !important; }

.link-primary { color: var(--cor-primaria) !important; }
.link-primary:hover, .link-primary:focus { color: var(--cor-primaria-escura) !important; }
.link-secondary { color: var(--cor-secundaria) !important; }
.link-secondary:hover, .link-secondary:focus { color: var(--cor-secundaria-escura) !important; }

/* ---- Componentes que usam a cor primária ---- */
.nav-pills {
    --bs-nav-pills-link-active-bg: var(--cor-primaria);
}

.page-link {
    --bs-pagination-color: var(--cor-primaria);
    --bs-pagination-hover-color: var(--cor-primaria-escura);
    --bs-pagination-active-bg: var(--cor-primaria);
    --bs-pagination-active-border-color: var(--cor-primaria);
}

.list-group {
    --bs-list-group-active-bg: var(--cor-primaria);
    --bs-list-group-active-border-color: var(--cor-primaria);
}

.form-check-input:checked {
    background-color: var(--cor-primaria);
    border-color: var(--cor-primaria);
}

.form-check-input:focus,
.form-control:focus,
.form-select:focus {
    border-color: var(--cor-primaria-clara);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

.form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23094db0'/%3e%3c/svg%3e");
}

.progress {
    --bs-progress-bar-bg: var(--cor-primaria);
}

.spinner-border, .spinner-grow { color: var(--cor-primaria); }

.alert-primary {
    --bs-alert-color: var(--cor-primaria-escura);
    --bs-alert-border-color: #a6c4f0;
    --bs-alert-bg: #cfe0f8;
}

/* ---- Correção de componentes ---- */
b, strong{
    font-weight: 600 !important;
}
.badge{
    text-transform: uppercase;
    padding: 7px 14px;
    line-height: 1;
}

.card{
    --bs-card-border-color: var(--bs-primary);
    overflow: hidden;
}

.card-header{
    --bs-card-border-color: var(--bs-primary);
    --bs-card-cap-color: var(--bs-secondary);
    background-color: rgba(var(--bs-primary-rgb), 0.25);
}

.card-header.text-danger{
    --bs-card-border-color: var(--bs-danger-rgb);
    background-color: rgba(var(--bs-danger-rgb), 0.15);
}