/*
 * Identidade visual APM: cores e tipografia do Manual de Identidade Visual APM (2026-10-17).
 * Carregado DEPOIS do Bootstrap 5.3 em todas as páginas (loja, painel e impressos).
 * Mudou uma cor? Mude aqui; as páginas usam as variáveis --apm-*.
 *
 * Contraste (WCAG AA, texto normal >= 4.5:1):
 *   branco sobre #00675A = 6.8:1  -> botões, links, títulos
 *   branco sobre #009581 = 3.7:1  -> só para texto grande, bordas e detalhes
 */

:root {
    /* Paleta principal (Pantone 302C, 329C, 3285C) */
    --apm-azul: #004165;
    --apm-verde-escuro: #00675A;
    --apm-verde: #009581;
    --apm-cinza-marca: #616365;          /* Cool Gray 10C, cinza do "APM" */

    /* Paleta secundária (destaques) */
    --apm-azul-medio: #007EA3;           /* 633C */
    --apm-azul-claro: #00ADD0;           /* 312C */
    --apm-laranja: #CA7700;              /* 145C */
    --apm-amarelo: #FFB612;              /* 1235C */
    --apm-vermelho: #BD3632;             /* 180C */
    --apm-vinho: #7B2927;                /* 181C */

    /* Paleta de suporte (medida no manual, p. 30) */
    --apm-areia: #E3DDD6;
    --apm-pedra: #BBB0A4;
    --apm-grafite: #58595B;

    /* Elemento do manual: caixa com apenas um canto arredondado */
    --apm-canto: 1.25rem;

    /* Bootstrap: cores de tema */
    --bs-primary: #00675A;
    --bs-primary-rgb: 0, 103, 90;
    --bs-secondary: #58595B;
    --bs-secondary-rgb: 88, 89, 91;
    --bs-success: #00675A;
    --bs-success-rgb: 0, 103, 90;
    --bs-info: #007EA3;
    --bs-info-rgb: 0, 126, 163;
    --bs-warning: #FFB612;
    --bs-warning-rgb: 255, 182, 18;
    --bs-danger: #BD3632;
    --bs-danger-rgb: 189, 54, 50;

    --bs-link-color: #00675A;
    --bs-link-color-rgb: 0, 103, 90;
    --bs-link-hover-color: #004165;
    --bs-link-hover-color-rgb: 0, 65, 101;
    --bs-focus-ring-color: rgba(0, 149, 129, .35);

    /* Tela: o manual pede Verdana (p. 47) */
    --bs-body-font-family: Verdana, Geneva, "DejaVu Sans", sans-serif;
}

/* Modo escuro: tons mais claros da paleta para manter o contraste sobre fundo escuro */
[data-bs-theme="dark"] {
    --bs-primary: #009581;
    --bs-primary-rgb: 0, 149, 129;
    --bs-link-color: #00ADD0;
    --bs-link-color-rgb: 0, 173, 208;
    /* Hover em areia (cor do manual; antes #5CCFE4, fora da paleta) + sublinhado (2026-10-23, Lote 4) */
    --bs-link-hover-color: #E3DDD6;
    --bs-link-hover-color-rgb: 227, 221, 214;
}

[data-bs-theme="dark"] a:hover {
    text-decoration: underline;
}

/* --- Botões (o Bootstrap compila as cores dentro de cada .btn-*, por isso redefinimos aqui) --- */
.btn-primary,
.btn-success,
.button_color,
.btn-bd-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #00675A;
    --bs-btn-border-color: #00675A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #004165;
    --bs-btn-hover-border-color: #004165;
    --bs-btn-focus-shadow-rgb: 0, 149, 129;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #004165;
    --bs-btn-active-border-color: #004165;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #00675A;
    --bs-btn-disabled-border-color: #00675A;
}

.btn-outline-primary,
.btn-outline-success {
    --bs-btn-color: #00675A;
    --bs-btn-border-color: #00675A;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #00675A;
    --bs-btn-hover-border-color: #00675A;
    --bs-btn-focus-shadow-rgb: 0, 149, 129;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #004165;
    --bs-btn-active-border-color: #004165;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #58595B;
    --bs-btn-border-color: #58595B;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #616365;
    --bs-btn-hover-border-color: #616365;
    --bs-btn-active-bg: #3f4042;
    --bs-btn-active-border-color: #3f4042;
}

.btn-outline-secondary {
    --bs-btn-color: #58595B;
    --bs-btn-border-color: #BBB0A4;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #58595B;
    --bs-btn-hover-border-color: #58595B;
    --bs-btn-active-bg: #3f4042;
    --bs-btn-active-border-color: #3f4042;
}

[data-bs-theme="dark"] .btn-outline-secondary {
    --bs-btn-color: #E3DDD6;
}

.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: #007EA3;
    --bs-btn-border-color: #007EA3;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #004165;
    --bs-btn-hover-border-color: #004165;
}

.btn-outline-info {
    --bs-btn-color: #007EA3;
    --bs-btn-border-color: #007EA3;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #007EA3;
    --bs-btn-hover-border-color: #007EA3;
}

[data-bs-theme="dark"] .btn-outline-info {
    --bs-btn-color: #00ADD0;
    --bs-btn-border-color: #00ADD0;
}

.btn-warning {
    --bs-btn-color: #212529;
    --bs-btn-bg: #FFB612;
    --bs-btn-border-color: #FFB612;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #C59217;
    --bs-btn-hover-border-color: #C59217;
}

.btn-danger {
    --bs-btn-color: #fff;
    --bs-btn-bg: #BD3632;
    --bs-btn-border-color: #BD3632;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #9E3039;
    --bs-btn-hover-border-color: #9E3039;
}

.btn-outline-danger {
    --bs-btn-color: #BD3632;
    --bs-btn-border-color: #BD3632;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #BD3632;
    --bs-btn-hover-border-color: #BD3632;
}

/* --- Caixa com um canto arredondado (manual p. 36) --- */
.box-apm,
.card {
    border-radius: var(--apm-canto) 0 0 0;
}

.card > .card-header:first-child,
.card > .card-img-top,
.card > a:first-child > .card-img-top,
.card > .list-group:first-child {
    border-radius: calc(var(--apm-canto) - 1px) 0 0 0;
}

.card > .card-footer:last-child,
.card > .list-group:last-child {
    border-radius: 0;
}

/* Canto único também em modais, alertas e accordions (manual p. 36; Lote 4, 2026-10-23) */
.modal-content,
.alert,
.accordion-item {
    border-radius: var(--apm-canto) 0 0 0;
}

.accordion-item:first-of-type > .accordion-header .accordion-button {
    border-radius: calc(var(--apm-canto) - 1px) 0 0 0;
}

/* SweetAlert2 nas cores da marca: as páginas não passam mais confirmButtonColor/cancelButtonColor (Lote 4) */
.swal2-styled.swal2-confirm {
    background-color: var(--apm-verde-escuro) !important;
}

.swal2-styled.swal2-cancel {
    background-color: var(--apm-grafite) !important;
}

/* Ação destrutiva (ex.: excluir endereço): Swal.fire({ customClass: { popup: 'swal-apm-perigo' } }) */
.swal-apm-perigo .swal2-styled.swal2-confirm {
    background-color: var(--apm-vermelho) !important;
}

/* Logo com versão para o tema escuro: <img class="logo-tema-claro"> + <img class="logo-tema-escuro"> (manual p. 44) */
.logo-tema-escuro {
    display: none;
}

[data-bs-theme="dark"] .logo-tema-claro {
    display: none;
}

[data-bs-theme="dark"] .logo-tema-escuro {
    display: inline-block;
}
