/* ====================================================
   BUTTON COLOR FIXES - GARANTIR CONTRASTE ADEQUADO
   ==================================================== */

/* FORÇA MÁXIMA: Garantir que TODOS os botões primary tenham texto branco */
.btn-primary,
.btn.btn-primary,
button.btn-primary,
a.btn-primary,
input.btn-primary,
.btn-primary:link,
.btn-primary:visited {
    color: #ffffff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.btn-primary:hover,
.btn.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover,
input.btn-primary:hover {
    color: #ffffff !important;
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
}

.btn-primary:focus,
.btn.btn-primary:focus,
button.btn-primary:focus,
a.btn-primary:focus,
input.btn-primary:focus,
.btn-primary:focus-visible,
.btn.btn-primary:focus-visible {
    color: #ffffff !important;
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
    box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5) !important;
}

.btn-primary:active,
.btn.btn-primary:active,
button.btn-primary:active,
a.btn-primary:active,
input.btn-primary:active,
.btn-primary.active,
.btn.btn-primary.active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active {
    color: #ffffff !important;
    background-color: #0a58ca !important;
    border-color: #0a53be !important;
}

.btn-primary:disabled,
.btn.btn-primary:disabled,
button.btn-primary:disabled,
a.btn-primary:disabled,
input.btn-primary:disabled,
.btn-primary.disabled,
.btn.btn-primary.disabled {
    color: #ffffff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    opacity: 0.65;
}

/* Garantir que botões secundários também tenham bom contraste */
.btn-secondary,
.btn.btn-secondary,
button.btn-secondary,
a.btn-secondary,
input.btn-secondary,
.btn-secondary:link,
.btn-secondary:visited {
    color: #ffffff !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

.btn-secondary:hover,
.btn.btn-secondary:hover,
button.btn-secondary:hover,
a.btn-secondary:hover,
input.btn-secondary:hover {
    color: #ffffff !important;
    background-color: #5c636a !important;
    border-color: #565e64 !important;
}

.btn-secondary:focus,
.btn.btn-secondary:focus,
button.btn-secondary:focus,
a.btn-secondary:focus,
input.btn-secondary:focus,
.btn-secondary:focus-visible {
    color: #ffffff !important;
    background-color: #5c636a !important;
    border-color: #565e64 !important;
    box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5) !important;
}

.btn-secondary:active,
.btn.btn-secondary:active,
button.btn-secondary:active,
a.btn-secondary:active,
input.btn-secondary:active,
.btn-secondary.active,
.btn.btn-secondary.active {
    color: #ffffff !important;
    background-color: #565e64 !important;
    border-color: #51585e !important;
}

.btn-secondary:disabled,
.btn.btn-secondary:disabled,
button.btn-secondary:disabled,
a.btn-secondary:disabled,
input.btn-secondary:disabled,
.btn-secondary.disabled,
.btn.btn-secondary.disabled {
    color: #ffffff !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    opacity: 0.65;
}

/* Botões de sucesso */
.btn-success,
.btn.btn-success,
button.btn-success,
a.btn-success,
input.btn-success {
    color: #ffffff !important;
    background-color: #198754 !important;
    border-color: #198754 !important;
}

.btn-success:hover,
.btn.btn-success:hover,
button.btn-success:hover,
a.btn-success:hover {
    color: #ffffff !important;
    background-color: #157347 !important;
    border-color: #146c43 !important;
}

.btn-success:focus,
.btn-success:active,
.btn-success.active {
    color: #ffffff !important;
}

/* Botões de perigo */
.btn-danger,
.btn.btn-danger,
button.btn-danger,
a.btn-danger,
input.btn-danger {
    color: #ffffff !important;
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
}

.btn-danger:hover,
.btn.btn-danger:hover,
button.btn-danger:hover,
a.btn-danger:hover {
    color: #ffffff !important;
    background-color: #bb2d3b !important;
    border-color: #b02a37 !important;
}

.btn-danger:focus,
.btn-danger:active,
.btn-danger.active {
    color: #ffffff !important;
}

/* Botões de info */
.btn-info,
.btn.btn-info,
button.btn-info,
a.btn-info,
input.btn-info {
    color: #000000 !important;
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
}

.btn-info:hover,
.btn.btn-info:hover,
button.btn-info:hover,
a.btn-info:hover {
    color: #000000 !important;
    background-color: #31d2f2 !important;
    border-color: #25cff2 !important;
}

/* Botões de warning */
.btn-warning,
.btn.btn-warning,
button.btn-warning,
a.btn-warning,
input.btn-warning {
    color: #000000 !important;
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
}

.btn-warning:hover,
.btn.btn-warning:hover,
button.btn-warning:hover,
a.btn-warning:hover {
    color: #000000 !important;
    background-color: #ffca2c !important;
    border-color: #ffc720 !important;
}

/* Botões dark */
.btn-dark,
.btn.btn-dark,
button.btn-dark,
a.btn-dark,
input.btn-dark {
    color: #ffffff !important;
    background-color: #212529 !important;
    border-color: #212529 !important;
}

.btn-dark:hover,
.btn.btn-dark:hover,
button.btn-dark:hover,
a.btn-dark:hover {
    color: #ffffff !important;
    background-color: #1c1f23 !important;
    border-color: #1a1e21 !important;
}

/* Override para backoffice - Laranja */
.backoffice-form .btn-primary,
.backoffice-form .btn.btn-primary,
.backoffice-form button.btn-primary {
    color: #ffffff !important;
    background-color: #ff6700 !important;
    border-color: #ff6700 !important;
}

.backoffice-form .btn-primary:hover,
.backoffice-form .btn.btn-primary:hover,
.backoffice-form button.btn-primary:hover {
    color: #ffffff !important;
    background-color: #e05a00 !important;
    border-color: #e05a00 !important;
}

.backoffice-form .btn-primary:focus,
.backoffice-form .btn.btn-primary:focus,
.backoffice-form button.btn-primary:focus {
    color: #ffffff !important;
    background-color: #e05a00 !important;
    border-color: #e05a00 !important;
    box-shadow: 0 0 0 0.25rem rgba(255, 103, 0, 0.5) !important;
}

.backoffice-form .btn-primary:disabled,
.backoffice-form .btn.btn-primary:disabled,
.backoffice-form button.btn-primary:disabled {
    color: #ffffff !important;
    background-color: #ff6700 !important;
    border-color: #ff6700 !important;
    opacity: 0.65;
}

.backoffice-form .btn-secondary,
.backoffice-form .btn.btn-secondary,
.backoffice-form button.btn-secondary {
    color: #ffffff !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

.backoffice-form .btn-secondary:hover,
.backoffice-form .btn.btn-secondary:hover,
.backoffice-form button.btn-secondary:hover {
    color: #ffffff !important;
    background-color: #5a6268 !important;
    border-color: #545b62 !important;
}

/* REGRA GLOBAL PARA QUALQUER CONTEXTO */
body .btn-primary,
body button.btn-primary,
body a.btn-primary,
body input.btn-primary {
    color: #ffffff !important;
}

body .btn-secondary,
body button.btn-secondary,
body a.btn-secondary,
body input.btn-secondary {
    color: #ffffff !important;
}

body .btn-success,
body button.btn-success,
body a.btn-success {
    color: #ffffff !important;
}

body .btn-danger,
body button.btn-danger,
body a.btn-danger {
    color: #ffffff !important;
}

body .btn-dark,
body button.btn-dark,
body a.btn-dark {
    color: #ffffff !important;
}

/* Garantir que spinners sejam sempre visíveis em botões */
.btn .spinner-border,
.btn .spinner-border-sm {
    color: currentColor !important;
    border-color: currentColor transparent currentColor transparent !important;
}

/* Fix para botões com ícones */
.btn i,
.btn svg,
.btn .fa,
.btn .fas,
.btn .far {
    color: inherit !important;
}

/* FORÇA EXTRA: Remover qualquer cor herdada de links */
a.btn-primary,
a.btn-secondary,
a.btn-success,
a.btn-danger,
a.btn-dark {
    text-decoration: none !important;
}

a.btn-primary:hover,
a.btn-secondary:hover,
a.btn-success:hover,
a.btn-danger:hover,
a.btn-dark:hover {
    text-decoration: none !important;
}

/* SOBRESCREVER QUALQUER ESTILO DE LINK */
a.btn[class*="btn-"]:link,
a.btn[class*="btn-"]:visited,
a.btn[class*="btn-"]:hover,
a.btn[class*="btn-"]:active {
    color: #ffffff !important;
}

/* Específico para containers de produtos e outras áreas */
.container .btn-primary,
.container button.btn-primary,
.container a.btn-primary,
.card .btn-primary,
.card button.btn-primary,
.card a.btn-primary,
.table .btn-primary,
.table button.btn-primary,
.table a.btn-primary {
    color: #ffffff !important;
}

/* Blazorise overrides */
.blazorise .btn-primary,
.blazorise button.btn-primary,
.blazorise a.btn-primary {
    color: #ffffff !important;
}

/* Bootstrap 5 modal overrides */
.modal .btn-primary,
.modal button.btn-primary {
    color: #ffffff !important;
}

.modal .btn-secondary,
.modal button.btn-secondary {
    color: #ffffff !important;
}
