/* ========================================
   Correções e Melhorias para o Tema Escuro
   ======================================== */

/* Cores base do modo escuro */
.dark-mode {
    --primary: #4a90e2;
    --primary-light: #6ba3e5;
    --secondary: #ffa500;
    --dark: #1a1a1a;
    --light: #2d2d2d;
    --white: #ffffff;
    --gray: #b0b0b0;
    --accent: #ff8c42;
    --light-gray: #3a3a3a;
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --text-muted: #808080;
    --bg-primary: #1a1a1a;
    --bg-secondary: #2d2d2d;
    --bg-card: #252525;
    --border-color: #404040;
    
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* Textos e Títulos */
.dark-mode h1,
.dark-mode h2,
.dark-mode h3,
.dark-mode h4,
.dark-mode h5,
.dark-mode h6 {
    color: var(--text-primary) !important;
}

.dark-mode .hero-title,
.dark-mode .hero-subtitle {
    color: var(--white) !important;
}

.dark-mode .section-title {
    color: var(--text-primary) !important;
}

.dark-mode .section-subtitle {
    color: var(--text-secondary) !important;
}

.dark-mode p,
.dark-mode .lead {
    color: var(--text-secondary) !important;
}

.dark-mode .text-muted {
    color: var(--text-muted) !important;
}

/* Cards e Containers */
.dark-mode .card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

.dark-mode .card-title {
    color: var(--text-primary) !important;
}

.dark-mode .card-text {
    color: var(--text-secondary) !important;
}

.dark-mode .card-body {
    background-color: var(--bg-card) !important;
}

/* Header Moderno de Categoria - Dark Mode */
.dark-mode .categoria-header-modern {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
}

.dark-mode .categoria-bg-pattern {
    background-image: 
        radial-gradient(circle at 20% 50%, rgba(74, 144, 226, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255, 140, 66, 0.05) 0%, transparent 50%) !important;
}

.dark-mode .categoria-badge-large {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

.dark-mode .categoria-icon-wrapper {
    background-color: var(--primary) !important;
}

.dark-mode .text-dark-emphasis {
    color: var(--text-secondary) !important;
}

/* Cards Aprimorados - Dark Mode */
.dark-mode .post-card-enhanced {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

.dark-mode .post-image-wrapper {
    background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%) !important;
}

.dark-mode .post-card-enhanced .card-title a {
    color: var(--text-primary) !important;
}

.dark-mode .post-card-enhanced:hover .card-title a {
    color: var(--primary) !important;
}

.dark-mode .post-card-enhanced .card-text {
    color: var(--text-secondary) !important;
}

.dark-mode .post-meta {
    color: var(--text-muted) !important;
    border-color: var(--border-color) !important;
}

.dark-mode .post-overlay {
    background: rgba(0, 0, 0, 0.6) !important;
}

/* Navegação */
.dark-mode .navbar {
    background-color: var(--bg-secondary) !important;
}

.dark-mode .navbar-dark .navbar-nav .nav-link {
    color: var(--text-secondary) !important;
}

.dark-mode .navbar-dark .navbar-nav .nav-link:hover,
.dark-mode .navbar-dark .navbar-nav .nav-link:focus {
    color: var(--white) !important;
}

.dark-mode .navbar-dark .navbar-nav .active > .nav-link {
    color: var(--white) !important;
}

.dark-mode .site-header {
    background-color: var(--bg-secondary) !important;
}

.dark-mode .site-title,
.dark-mode .site-title a {
    color: var(--white) !important;
}

.dark-mode .site-description {
    color: var(--text-secondary) !important;
}

/* Hero Section */
.dark-mode .hero-section {
    background-color: var(--bg-secondary) !important;
}

.dark-mode .hero-content h1,
.dark-mode .hero-content p {
    color: var(--white) !important;
}

/* Botões */
.dark-mode .btn-primary {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--white) !important;
}

.dark-mode .btn-primary:hover {
    background-color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
}

.dark-mode .btn-outline-primary {
    color: var(--primary-light) !important;
    border-color: var(--primary-light) !important;
}

.dark-mode .btn-outline-primary:hover {
    background-color: var(--primary) !important;
    color: var(--white) !important;
}

.dark-mode .btn-outline-light {
    color: var(--text-primary) !important;
    border-color: var(--text-primary) !important;
}

.dark-mode .btn-outline-light:hover {
    background-color: var(--text-primary) !important;
    color: var(--bg-primary) !important;
}

.dark-mode .btn-secondary {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Footer */
.dark-mode .footer {
    background-color: var(--bg-secondary) !important;
    color: var(--text-secondary) !important;
}

.dark-mode .footer h3 {
    color: var(--text-primary) !important;
}

.dark-mode .footer a {
    color: var(--text-secondary) !important;
}

.dark-mode .footer a:hover {
    color: var(--primary-light) !important;
}

.dark-mode .footer-bottom {
    border-top: 1px solid var(--border-color) !important;
    color: var(--text-muted) !important;
}

/* Links */
.dark-mode a {
    color: var(--primary-light) !important;
}

.dark-mode a:hover {
    color: var(--accent) !important;
}

/* Formulários */
.dark-mode .form-control,
.dark-mode .form-select {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

.dark-mode .form-control:focus,
.dark-mode .form-select:focus {
    background-color: var(--bg-card) !important;
    border-color: var(--primary) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.25) !important;
}

.dark-mode .form-control::placeholder {
    color: var(--text-muted) !important;
}

.dark-mode .form-label {
    color: var(--text-primary) !important;
}

/* Tabelas */
.dark-mode .table {
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.dark-mode .table thead th {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.dark-mode .table tbody td {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

.dark-mode .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

.dark-mode .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Badges */
.dark-mode .badge {
    opacity: 0.9;
}

.dark-mode .badge.bg-primary {
    background-color: var(--primary) !important;
}

.dark-mode .badge.bg-secondary {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

/* Alertas */
.dark-mode .alert {
    border: 1px solid var(--border-color) !important;
}

.dark-mode .alert-info {
    background-color: rgba(74, 144, 226, 0.1) !important;
    color: var(--primary-light) !important;
    border-color: var(--primary) !important;
}

.dark-mode .alert-success {
    background-color: rgba(72, 187, 120, 0.1) !important;
    color: #48bb78 !important;
    border-color: #48bb78 !important;
}

.dark-mode .alert-warning {
    background-color: rgba(237, 137, 54, 0.1) !important;
    color: #ed8936 !important;
    border-color: #ed8936 !important;
}

.dark-mode .alert-danger {
    background-color: rgba(245, 101, 101, 0.1) !important;
    color: #f56565 !important;
    border-color: #f56565 !important;
}

/* Paginação */
.dark-mode .pagination .page-link {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.dark-mode .pagination .page-link:hover {
    background-color: var(--bg-secondary) !important;
    border-color: var(--primary) !important;
    color: var(--primary-light) !important;
}

.dark-mode .pagination .page-item.active .page-link {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--white) !important;
}

/* Dropdown */
.dark-mode .dropdown-menu {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-mode .dropdown-item {
    color: var(--text-primary) !important;
}

.dark-mode .dropdown-item:hover,
.dark-mode .dropdown-item:focus {
    background-color: var(--bg-secondary) !important;
    color: var(--white) !important;
}

/* Modal */
.dark-mode .modal-content {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-mode .modal-header {
    background-color: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.dark-mode .modal-title {
    color: var(--text-primary) !important;
}

.dark-mode .modal-body {
    color: var(--text-secondary) !important;
}

.dark-mode .modal-footer {
    background-color: var(--bg-secondary) !important;
    border-top: 1px solid var(--border-color) !important;
}

.dark-mode .btn-close {
    filter: invert(1) !important;
}

/* Breadcrumb */
.dark-mode .breadcrumb {
    background-color: var(--bg-card) !important;
}

.dark-mode .breadcrumb-item a {
    color: var(--primary-light) !important;
}

.dark-mode .breadcrumb-item.active {
    color: var(--text-muted) !important;
}

/* Timeline (página sobre) */
.dark-mode .timeline-content {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-mode .timeline-badge {
    background-color: var(--primary) !important;
}

.dark-mode .timeline-content h4 {
    color: var(--text-primary) !important;
}

.dark-mode .timeline-content p {
    color: var(--text-secondary) !important;
}

/* Feature boxes */
.dark-mode .feature-box {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-mode .feature-box:hover {
    background-color: var(--bg-secondary) !important;
}

.dark-mode .feature-icon {
    color: var(--primary-light) !important;
}

/* Categorias */
.dark-mode .categoria-badge,
.dark-mode .category-chip {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

.dark-mode .categoria-badge:hover,
.dark-mode .category-chip:hover {
    background-color: var(--primary) !important;
    color: var(--white) !important;
    border-color: var(--primary) !important;
}

/* Posts */
.dark-mode .post-meta {
    color: var(--text-muted) !important;
}

.dark-mode .post-title {
    color: var(--text-primary) !important;
}

.dark-mode .post-excerpt {
    color: var(--text-secondary) !important;
}

/* Código e Pre */
.dark-mode pre,
.dark-mode code {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

/* Blockquote */
.dark-mode blockquote {
    border-left: 4px solid var(--primary) !important;
    background-color: var(--bg-card) !important;
    color: var(--text-secondary) !important;
}

/* HR */
.dark-mode hr {
    border-color: var(--border-color) !important;
    opacity: 0.5;
}

/* Scrollbar personalizada para modo escuro */
.dark-mode ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

.dark-mode ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

.dark-mode ::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 6px;
}

.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Ajustes específicos para elementos com !important */
.dark-mode * {
    border-color: var(--border-color);
}

/* Garantir que textos em elementos específicos sejam legíveis */
.dark-mode .text-dark {
    color: var(--text-primary) !important;
}

.dark-mode .text-white {
    color: var(--white) !important;
}

.dark-mode .bg-light {
    background-color: var(--bg-card) !important;
}

.dark-mode .bg-white {
    background-color: var(--bg-card) !important;
}

.dark-mode .bg-dark {
    background-color: var(--bg-primary) !important;
}

/* CKEditor no modo escuro */
.dark-mode .ck-editor__main {
    background-color: var(--bg-card) !important;
}

.dark-mode .ck-content {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

.dark-mode .ck-toolbar {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}
