/* ================================================
   ACESSIBILIDADE - Tema e Tamanho de Fonte
   ================================================ */

/* Variáveis CSS para temas */
:root {
    /* Tema Claro (Padrão) */
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-card: #ffffff;
    --text-primary: #212529;
    --text-secondary: #6c757d;
    --text-muted: #adb5bd;
    --border-color: #dee2e6;
    --shadow: rgba(0, 0, 0, 0.1);
    --shadow-hover: rgba(0, 0, 0, 0.15);
    
    /* Cores de destaque mantêm-se iguais */
    --primary: #0d6efd;
    --success: #198754;
    --warning: #ffc107;
    --danger: #dc3545;
    --info: #0dcaf0;
}

/* Tema Escuro */
[data-theme="dark"] {
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-card: #242424;
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --text-muted: #808080;
    --border-color: #404040;
    --shadow: rgba(0, 0, 0, 0.3);
    --shadow-hover: rgba(0, 0, 0, 0.5);
}

/* Aplicação das variáveis */
body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.card {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

.card-header {
    border-color: var(--border-color);
}

.navbar {
    background-color: var(--bg-card) !important;
    border-bottom: 1px solid var(--border-color);
}

.table {
    color: var(--text-primary);
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--bg-secondary);
}

.form-control,
.form-select {
    background-color: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border-color);
}

.form-control:focus,
.form-select:focus {
    background-color: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--primary);
}

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

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

/* Sombras */
.shadow-sm {
    box-shadow: 0 .125rem .25rem var(--shadow) !important;
}

.shadow {
    box-shadow: 0 .5rem 1rem var(--shadow) !important;
}

.shadow-lg {
    box-shadow: 0 1rem 3rem var(--shadow) !important;
}

/* ================================================
   TAMANHOS DE FONTE
   ================================================ */

/* Tamanho Pequeno */
[data-font-size="small"] {
    font-size: 14px;
}

[data-font-size="small"] h1 { font-size: 1.75rem; }
[data-font-size="small"] h2 { font-size: 1.5rem; }
[data-font-size="small"] h3 { font-size: 1.25rem; }
[data-font-size="small"] h4 { font-size: 1rem; }
[data-font-size="small"] h5 { font-size: 0.875rem; }
[data-font-size="small"] .btn { font-size: 0.875rem; }

/* Tamanho Médio (Padrão) */
[data-font-size="medium"],
body:not([data-font-size]) {
    font-size: 16px;
}

/* Tamanho Grande */
[data-font-size="large"] {
    font-size: 18px;
}

[data-font-size="large"] h1 { font-size: 2.75rem; }
[data-font-size="large"] h2 { font-size: 2.25rem; }
[data-font-size="large"] h3 { font-size: 1.875rem; }
[data-font-size="large"] h4 { font-size: 1.5rem; }
[data-font-size="large"] h5 { font-size: 1.125rem; }
[data-font-size="large"] .btn { font-size: 1.125rem; padding: 0.5rem 1.25rem; }

/* Tamanho Extra Grande */
[data-font-size="x-large"] {
    font-size: 20px;
}

[data-font-size="x-large"] h1 { font-size: 3.25rem; }
[data-font-size="x-large"] h2 { font-size: 2.75rem; }
[data-font-size="x-large"] h3 { font-size: 2.25rem; }
[data-font-size="x-large"] h4 { font-size: 1.875rem; }
[data-font-size="x-large"] h5 { font-size: 1.375rem; }
[data-font-size="x-large"] .btn { font-size: 1.25rem; padding: 0.625rem 1.5rem; }

/* ================================================
   CONTROLES DE ACESSIBILIDADE (Discretos)
   ================================================ */

/* Mantém estilo dos controles originais */

/* ================================================
   BARRA DE CONTROLES DE ACESSIBILIDADE
   ================================================ */

/* Barra de controles visível */
.text-center.my-3 {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6;
}

[data-theme="dark"] .text-center.my-3 {
    background-color: #2d2d2d !important;
    border-color: #404040;
}

/* Botão de tema */
#themeToggle {
    min-width: 90px;
}

/* Ícones visíveis */
.btn i {
    font-size: 1rem;
}

/* ================================================
   NAVBAR - SEMPRE ESCURO (ambos os temas)
   ================================================ */

/* Navbar SEMPRE preta/escura */
.navbar {
    background-color: #212529 !important;
}

.navbar .nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
}

.navbar .nav-link:hover {
    color: #ffffff !important;
}

.navbar .navbar-brand {
    color: #ffffff !important;
}

/* Navbar Toggler (Botão Hambúrguer) - Sempre visível */
.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5) !important;
    padding: 0.5rem 0.75rem;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25);
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Garantir visibilidade em ambos os temas */
[data-theme="light"] .navbar-toggler-icon,
[data-theme="dark"] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Dropdown do usuário na navbar */
.navbar .dropdown-menu {
    background-color: #2d2d2d;
    border-color: #404040;
}

.navbar .dropdown-item {
    color: #e0e0e0;
}

.navbar .dropdown-item:hover {
    background-color: #404040;
    color: #ffffff;
}

.navbar .dropdown-divider {
    border-color: #404040;
}

/* Tema escuro: Ajustes específicos para Bootstrap */
[data-theme="dark"] .navbar {
    background-color: #212529 !important;
}

[data-theme="dark"] .navbar .nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
}

[data-theme="dark"] .navbar .nav-link:hover {
    color: #ffffff !important;
}

[data-theme="dark"] .navbar .navbar-brand {
    color: #ffffff !important;
}

[data-theme="dark"] .btn-outline-light {
    color: #e0e0e0;
    border-color: #404040;
}

[data-theme="dark"] .btn-outline-light:hover {
    background-color: #404040;
    border-color: #404040;
    color: #ffffff;
}

[data-theme="dark"] .btn-outline-primary {
    color: var(--primary);
    border-color: var(--primary);
}

[data-theme="dark"] .btn-outline-primary:hover {
    background-color: var(--primary);
    color: white;
}

[data-theme="dark"] .alert {
    background-color: var(--bg-card);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .alert-info {
    background-color: #1a3a4a;
    border-color: #0dcaf0;
    color: #b0e0ff;
}

[data-theme="dark"] .alert-info .alert-link {
    color: #ffffff;
    text-decoration: underline;
}

[data-theme="dark"] .modal-content {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .modal-header {
    border-color: var(--border-color);
}

[data-theme="dark"] .modal-footer {
    border-color: var(--border-color);
}

[data-theme="dark"] .dropdown-menu {
    background-color: var(--bg-card);
    border-color: var(--border-color);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: var(--bg-secondary);
}

[data-theme="dark"] .form-select,
[data-theme="dark"] .form-control {
    background-color: var(--bg-card);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .form-select option {
    background-color: var(--bg-card);
    color: var(--text-primary);
}

[data-theme="dark"] .btn-sm,
[data-theme="dark"] .btn {
    border-color: var(--border-color);
}

/* Animações suaves */
* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

button, a, input, select, textarea {
    transition: all 0.2s ease;
}
