/**
 * Theme System Overrides for style.css
 * This file patches style.css to use CSS variables from theme.css
 * Load order: theme.css > style.css > theme-overrides.css
 */

/* Override link colors */
a {
    color: var(--text-primary) !important;
}

a:hover {
    color: var(--primary-color) !important;
}

/* Override body and text colors */
body {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

p, li, label {
    color: var(--text-primary) !important;
}

/* Don't override span colors globally - they inherit correctly */
span:not(.btn span):not(.btn *):not(.input-group-text):not(.text-danger):not(.fl-message) {
    color: var(--text-primary) !important;
}

/* Button spans should inherit button text color */
.btn span,
.btn i {
    color: inherit !important;
}

body p {
    color: var(--text-primary) !important;
}

/* Override container backgrounds */
.sign-form {
    background-color: var(--bg-tertiary) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 20px 60px 0 var(--shadow-dark) !important;
}

.form-style-h .form-group .form-control {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.form-style-h .form-group .form-control::placeholder {
    color: var(--text-tertiary) !important;
    opacity: 0.7;
}

.form-style-h .form-group .form-control:focus {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(30, 37, 71, 0.1) !important;
}

.form-style-h .form-group label {
    color: var(--text-primary) !important;
}

/* Override button colors */
.btn {
    color: var(--text-inverse) !important;
    border-color: var(--primary-color) !important;
    transition: all 0.3s linear;
}

.btn:hover {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: var(--text-inverse) !important;
    opacity: 0.95;
}

.btn:active,
.btn:focus {
    /* background: var(--primary-color) !important; */
    /* color: var(--text-inverse) !important; */
    /* border-color: var(--primary-color) !important; */
}

.btn-danger {
    background: var(--color-danger) !important;
    color: var(--text-inverse) !important;
    border-color: var(--color-danger) !important;
}

.btn-danger:hover {
    background: var(--color-danger) !important;
    opacity: 0.85;
    color: var(--text-inverse) !important;
}

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

.btn-default:hover {
    background: var(--bg-additional) !important;
    color: var(--text-primary) !important;
}

.btn.btn-border {
    background: transparent !important;
    color: var(--primary-color) !important;
    border: 2px solid var(--primary-color) !important;
}

.btn.btn-border:hover {
    background: var(--primary-color) !important;
    color: var(--text-inverse) !important;
}

/* Override form elements */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
textarea,
select {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

input:focus,
textarea:focus,
select:focus {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(30, 37, 71, 0.1) !important;
}

/* Override card/box backgrounds */
.card,
.box,
.dash-block,
.project-info-block {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* Override table styles */
.table {
    color: var(--text-primary);
    background-color: var(--bg-tertiary);
}

.table thead th {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.table tbody td {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.table tbody tr:hover {
    background-color: var(--bg-secondary) !important;
}

/* Table dropdown records styling */
.table-h td > span {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.table-h td > span.bg-green {
    background-color: var(--color-success-light) !important;
    color: var(--color-success) !important;
}

/* Dropdown menu in table records */
.action-menu-h .drop-menu-h {
    color: var(--text-primary) !important;
}

.action-menu-h .drop-menu-h:hover {
    color: var(--primary-color) !important;
}

/* Table dropdown records submenu */
.dash-tabel .table-head .dashboard-date .sub-menu {
    background-color: var(--bg-tertiary) !important;
    box-shadow: 0px 100px 200px 0px var(--shadow-dark) !important;
}

/* DataTable styling */
.dt-container {
    color: var(--text-primary) !important;
}

.dt-container thead th {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.dt-container tbody td {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* Override header styles */
header,
.header-h {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}
.dashboard-header {
    background-color: var(--bg-tertiary) !important;
    padding: 10px !important;
}

/* Profile dropdown menu styling - remove hover effects */
.user-h .sub-menu {
    background-color: var(--bg-tertiary) !important;
    box-shadow: 0px 100px 200px 0px var(--shadow-dark) !important;
}

.user-h .sub-menu .user-name-sub {
    background-color: var(--bg-secondary) !important;
}

.user-h .sub-menu .user-name-sub .details h3 {
    color: var(--text-primary) !important;
}

.user-h .sub-menu .user-name-sub .details span {
    color: var(--text-secondary) !important;
}

.user-h .sub-menu ul li a {
    color: var(--text-primary) !important;
    border-bottom-color: var(--border-color) !important;
}

/* Remove hover background on dropdown items */
.user-h .sub-menu ul li a:hover {
    background-color: transparent !important;
    color: var(--primary-color) !important;
}

.user-h .sub-menu ul li a.logout-btn {
    color: var(--color-danger) !important;
}

/* Override sidebar styles */
.sidebar,
.dashboard-inner .sidebar {
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

.dashboard-inner .sidebar .categories li a {
    color: var(--text-secondary) !important;
}

.dashboard-inner .sidebar .categories li a:hover,
.dashboard-inner .sidebar .categories li.active a {
    background-color: var(--bg-tertiary) !important;
    color: var(--primary-color) !important;
}

/* Override menu styles */
.sub-menu {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.sub-menu ul li a {
    color: var(--text-primary) !important;
}

.sub-menu ul li a:hover {
    background-color: var(--bg-secondary) !important;
    color: var(--primary-color) !important;
}

/* Override modal styles */
.modal-content {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.modal-header {
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
}

.modal-header .btn-close {
    color: var(--text-inverse) !important;
}

/* Override alert styles */
.alert {
    border-color: var(--border-color) !important;
}

.alert-danger {
    background-color: var(--color-danger-light) !important;
    color: var(--color-danger) !important;
    border-color: var(--color-danger) !important;
}

.alert-success {
    background-color: var(--color-success-light) !important;
    color: var(--color-success) !important;
    border-color: var(--color-success) !important;
}

.alert-warning {
    background-color: var(--color-warning-light) !important;
    color: var(--color-warning) !important;
    border-color: var(--color-warning) !important;
}

.alert-info {
    background-color: var(--color-info-light) !important;
    color: var(--color-info) !important;
    border-color: var(--color-info) !important;
}

/* Override dashboard content */
/* .dashboard-content, */
.dashboard-inner {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* Override form group styles */
.form-group {
    color: var(--text-primary) !important;
}

.form-group label {
    color: var(--text-primary) !important;
}

/* Override text utilities */
.text-muted {
    color: var(--text-tertiary) !important;
}

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

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

/* Override borders */
.border {
    border-color: var(--border-color) !important;
}

/* Override backgrounds */
.bg-light {
    background-color: var(--bg-primary) !important;
}

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

.bg-white,
.bg-light-2 {
    background-color: var(--bg-tertiary) !important;
}

/* Override status badge colors */
.badge-success {
    background-color: var(--color-success) !important;
    color: var(--text-inverse) !important;
}

.badge-danger {
    background-color: var(--color-danger) !important;
    color: var(--text-inverse) !important;
}

.badge-warning {
    background-color: var(--color-warning) !important;
    color: var(--text-inverse) !important;
}

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

/* Override shadows and effects */
.shadow-sm {
    box-shadow: 0 1px 2px var(--shadow-light) !important;
}

.shadow {
    box-shadow: 0 4px 6px var(--shadow-medium) !important;
}

.shadow-lg {
    box-shadow: 0 10px 15px var(--shadow-dark) !important;
}

/* DataTables overrides */
.dataTables_wrapper {
    color: var(--text-primary) !important;
}

.dataTables_filter input {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

.dt-container .dt-search input {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* Pagination overrides */
.pagination .page-link {
    background-color: var(--bg-tertiary) !important;
    color: var(--primary-color) !important;
    border-color: var(--border-color) !important;
}

.pagination .page-link:hover {
    background-color: var(--bg-secondary) !important;
    color: var(--primary-color) !important;
}

.pagination .page-item.active .page-link {
    background-color: var(--bg-primary) !important;
    border-color: var(--bg-tertiary) !important;
}

.dashboard-title h2,
.title-info h3,
.title-sidebar h3,
.informations-items .item .details h3,
.info-block-in .details h3,
.tabs-inner .nav.nav-tabs .nav-item .nav-link,
.informations-items .item .details ul li strong,
.sign-title h3 {
    color: var(--primary-color) !important;
}
.project-info-tabs h5,
.form-p h4 {
    color: var(--tertiary-color) !important;
}
.tabs-inner .nav.nav-tabs .nav-item .nav-link.active,
.form-style-h .form-group .form-choose label input:checked+span,
.form-style-h .form-group .form-choose label input:checked+b,
.input-group span.input-group-text {
    background: var(--dark-color);
    border-color: var(--bg-tertiary);
    color: var(--text-inverse) !important;
}

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

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

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

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

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

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

/* Scrollbar styling (WebKit browsers) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--secondary-color);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color);
}

/* RTL-specific overrides */
html[dir="rtl"] .form-group i {
    right: auto;
    left: 12px;
}

/* Smooth transition for theme changes */
* {
    transition: background-color 0.3s linear, color 0.3s linear, border-color 0.3s linear;
}

/* Button and component-specific transitions */
.btn,
.btn:hover,
.btn:active,
.sub-menu,
.sub-menu li a {
    transition: all 0.3s linear;
}

/* Ensure button spans maintain text color through hover states */
.btn span,
.btn i,
.btn-danger span,
.btn-default span,
.btn-border span {
    color: inherit !important;
    transition: color 0.3s linear;
}

/* Remove unwanted span transformations in buttons */
.btn:hover span {
    transform: none !important;
    opacity: 1 !important;
}

.btn:hover::before {
    display: none !important;
}

.infoModal .modal-header {
    padding: 10px !important;

}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

[data-theme=dark] .info-block-in img,
[data-theme=dark] .informations-items .item img {
    filter: invert(1);
    mix-blend-mode: screen;
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
    color: #6c757d !important;
    background-color: transparent;
}
[data-theme=dark] .logo-full.light {
    display: none;
}
[data-theme=dark] .logo-full.dark {
    display: block;
}
[data-theme=light] .logo-full.dark {
    display: none;
}
[data-theme=light] .logo-full.light {
    display: block;
}

[data-theme=dark] .sidebar.collapsed .logo-icon.light {
    display: none;
}
[data-theme=dark] .sidebar.collapsed .logo-icon.dark {
    display: block;
}
[data-theme=light] .sidebar.collapsed .logo-icon.dark {
    display: none;
}
[data-theme=light] .sidebar.collapsed .logo-icon.light {
    display: block;
}
.sidebar .logo-icon {
    display: none;
}

.sidebar.collapsed .logo-full {
    display: none;
}