
/* Cores Personalizadas do Sistema - Frontend Landing Page */
:root {
    --bs-primary: #0a1c66;
    --bs-secondary: #d78cf2;
    --bs-info: #c61ff4;
    --bs-blue: #c61ff4;
    --bs-cyan: #c61ff4;
    
    --bs-primary-rgb: 10, 28, 102;
    --bs-secondary-rgb: 215, 140, 242;
    --bs-info-rgb: 198, 31, 244;
    
    --primary-color: #0a1c66;
    --secondary-color: #d78cf2;
    --accent-color: #c61ff4;
    --text-color: #000000;
    --text-color-rgb: 0, 0, 0;
    --link-light-color: #747576;
    --link-dark-color: #ffffff;
    --text-dark-bg-color: #ffffff;
}

/* ===== FRONTEND LANDING PAGE COLORS ===== */

/* ===== BOTÕES PRINCIPAIS DO SISTEMA - CORES VIVAS ===== */

/* Botões Primários */
.btn-primary,
button.btn-primary,
input.btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--text-dark-bg-color) !important;
    transition: all 0.3s ease !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.focus,
button.btn-primary:hover,
button.btn-primary:focus,
input.btn-primary:hover,
input.btn-primary:focus {
    background-color: #ffffff !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-primary) !important;
    box-shadow: none !important;
}

/* Botões Secundários */
.btn-secondary,
button.btn-secondary,
input.btn-secondary {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--text-dark-bg-color) !important;
    transition: all 0.3s ease !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-secondary.focus,
button.btn-secondary:hover,
button.btn-secondary:focus,
input.btn-secondary:hover,
input.btn-secondary:focus {
    background-color: #ffffff !important;
    border-color: var(--bs-secondary) !important;
    color: var(--bs-secondary) !important;
    box-shadow: none !important;
}

/* Botões Info/Accent */
.btn-info,
button.btn-info,
input.btn-info {
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
    color: var(--text-dark-bg-color) !important;
    transition: all 0.3s ease !important;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.focus,
button.btn-info:hover,
button.btn-info:focus,
input.btn-info:hover,
input.btn-info:focus {
    background-color: #ffffff !important;
    border-color: var(--bs-info) !important;
    color: var(--bs-info) !important;
    box-shadow: none !important;
}

/* Botões de Ação/Outros (mantém comportamento padrão mas melhora contraste) */
.btn-success,
button.btn-success,
input.btn-success {
    transition: all 0.3s ease !important;
}

.btn-danger,
button.btn-danger,
input.btn-danger {
    transition: all 0.3s ease !important;
}

.btn-warning,
button.btn-warning,
input.btn-warning {
    transition: all 0.3s ease !important;
}

/* ===== BOTÕES DE LOGIN ESPECÍFICOS - COR SECUNDÁRIA ===== */

/* Botão de login no header (pacientes) */
.login-btn,
a.login-btn,
button.login-btn {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--text-dark-bg-color) !important;
    transition: all 0.3s ease !important;
}

.login-btn:hover,
.login-btn:focus,
a.login-btn:hover,
a.login-btn:focus,
button.login-btn:hover,
button.login-btn:focus {
    background-color: #ffffff !important;
    border-color: var(--bs-secondary) !important;
    color: var(--bs-secondary) !important;
    box-shadow: none !important;
}

/* Botão de envio do formulário de login */
.sign-in-btn,
button.sign-in-btn,
#login-button {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--text-dark-bg-color) !important;
    transition: all 0.3s ease !important;
}

.sign-in-btn:hover,
.sign-in-btn:focus,
button.sign-in-btn:hover,
button.sign-in-btn:focus,
#login-button:hover,
#login-button:focus {
    background-color: #ffffff !important;
    border-color: var(--bs-secondary) !important;
    color: var(--bs-secondary) !important;
    box-shadow: none !important;
}

/* Componente x-button em páginas de login (admin) */
form[action*="login"] .btn-primary,
.auth-form .btn-primary,
.login-form .btn-primary {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--text-dark-bg-color) !important;
    transition: all 0.3s ease !important;
}

form[action*="login"] .btn-primary:hover,
form[action*="login"] .btn-primary:focus,
.auth-form .btn-primary:hover,
.auth-form .btn-primary:focus,
.login-form .btn-primary:hover,
.login-form .btn-primary:focus {
    background-color: #ffffff !important;
    border-color: var(--bs-secondary) !important;
    color: var(--bs-secondary) !important;
    box-shadow: none !important;
}

/* Links */
a {
    color: var(--bs-primary) !important;
}

a:hover {
    color: var(--bs-primary) !important;
    filter: brightness(0.8);
}

/* Badges e Labels */
.badge-primary,
.label-primary {
    background-color: var(--bs-primary) !important;
}

.badge-info {
    background-color: var(--bs-info) !important;
}

/* Bordas */
.border-primary {
    border-color: var(--bs-primary) !important;
}

.border-info {
    border-color: var(--bs-info) !important;
}

/* Texto */
.text-primary {
    color: var(--bs-primary) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

/* Backgrounds */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

.bg-secondary {
    background-color: var(--bs-secondary) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

/* Form Controls Focus */
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25) !important;
}

/* Navigation */
.navbar-brand,
.nav-link.active {
    color: var(--bs-primary) !important;
}

/* Cards */
.card-header.bg-primary {
    background-color: var(--bs-primary) !important;
}

/* Progress Bars */
.progress-bar {
    background-color: var(--bs-primary) !important;
}

/* Alerts */
.alert-primary {
    background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-primary) !important;
}

.alert-info {
    background-color: rgba(var(--bs-info-rgb), 0.1) !important;
    border-color: var(--bs-info) !important;
    color: var(--bs-info) !important;
}

/* Elementos específicos do frontend */
.banner-section,
.service-section,
.category-section {
    /* Aplicação específica das cores na landing page */
}

.appointment-card .btn,
.service-card .btn {
    transition: all 0.3s ease !important;
}

/* ===== TEXTO PERSONALIZADO ===== */

/* Textos principais - usa a cor personalizada */
body,
p,
.text-dark,
.text-primary,
h1, h2, h3, h4, h5, h6,
.card-title,
.card-text,
.section-title,
.feature-title,
.service-title,
.appointment-title {
    color: var(--text-color) !important;
}

/* Textos em fundos escuros - usa cor personalizada */
.bg-primary p,
.bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-primary h4, .bg-primary h5, .bg-primary h6,
.bg-dark p,
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.navbar-dark .navbar-nav .nav-link,
.footer p,
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
    color: var(--text-dark-bg-color) !important;
}

/* Textos em fundos claros - força a cor personalizada */
.bg-light p,
.bg-light h1, .bg-light h2, .bg-light h3, .bg-light h4, .bg-light h5, .bg-light h6,
.card-body p,
.card-body h1, .card-body h2, .card-body h3, .card-body h4, .card-body h5, .card-body h6,
.section-content p,
.section-content h1, .section-content h2, .section-content h3, .section-content h4, .section-content h5, .section-content h6 {
    color: var(--text-color) !important;
}

/* ===== LINKS PERSONALIZÁVEIS ===== */

/* Links padrão - usam cor personalizada para fundo claro */
a:not(.btn):not(.navbar-brand) {
    color: var(--link-light-color) !important;
}

a:not(.btn):not(.navbar-brand):hover {
    color: var(--link-light-color) !important;
    filter: brightness(0.8);
}

/* Links em fundos escuros - usam cor personalizada para fundo escuro */
.bg-primary a:not(.btn):not(.navbar-brand),
.bg-dark a:not(.btn):not(.navbar-brand),
.navbar-dark .navbar-nav .nav-link,
.footer a:not(.btn):not(.navbar-brand),
.btn.active a:not(.btn),
.nav-link.active a:not(.btn) {
    color: var(--link-dark-color) !important;
}

.bg-primary a:not(.btn):not(.navbar-brand):hover,
.bg-dark a:not(.btn):not(.navbar-brand):hover,
.navbar-dark .navbar-nav .nav-link:hover,
.footer a:not(.btn):not(.navbar-brand):hover,
.btn.active a:not(.btn):hover,
.nav-link.active a:not(.btn):hover {
    color: var(--link-dark-color) !important;
    filter: brightness(0.9);
}

/* ===== REGRAS REMOVIDAS - CONFLITAVAM COM OS BOTÕES PRINCIPAIS ===== */

/* ===== NAVEGAÇÃO GERAL ===== */

/* Links de navegação em abas */
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
    background-color: var(--bs-primary) !important;
    color: var(--text-dark-bg-color) !important;
}

.nav-tabs .nav-link.active:hover,
.nav-pills .nav-link.active:hover {
    color: var(--text-dark-bg-color) !important;
    filter: brightness(0.9);
}

/* ===== REGRAS DINÂMICAS BASEADAS NAS CORES PERSONALIZADAS ===== */

/* Seção de botões removida - usando a seção principal acima */

/* ===== CORREÇÕES ESPECÍFICAS PARA ELEMENTOS DO SISTEMA ===== */

/* ===== SIDEBAR ESPECÍFICO - FRONTEND SETTINGS ===== */

/* Links ativos no sidebar (configurações frontend) */
.nav-link.btn.btn-border.active,
.nav-link.btn.active,
a.nav-link.btn.active,
a.nav-link.btn.btn-border.active {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--text-dark-bg-color) !important;
}

.nav-link.btn.btn-border.active:hover,
.nav-link.btn.active:hover,
a.nav-link.btn.active:hover,
a.nav-link.btn.btn-border.active:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--text-dark-bg-color) !important;
    filter: brightness(0.9);
}

/* Links inativos no sidebar */
.nav-link.btn.btn-border:not(.active),
.nav-link.btn:not(.active),
a.nav-link.btn:not(.active) {
    color: var(--link-light-color) !important;
    background-color: transparent !important;
    border-color: transparent !important;
}

.nav-link.btn.btn-border:not(.active):hover,
.nav-link.btn:not(.active):hover,
a.nav-link.btn:not(.active):hover {
    color: var(--link-light-color) !important;
    background-color: rgba(0,0,0,0.05) !important;
    border-color: transparent !important;
    filter: brightness(0.8);
}
