/* ============================================
   DARK MODE — Custom overrides
   Applied when .dark class is on <html>
   ============================================ */

/* ========== COLOR SCHEME ========== */
.dark {
    color-scheme: dark;
}

/* ========== BODY ========== */
.dark body {
    background-color: #0f172a;
    color: #e2e8f0;
}

/* ========== BACKGROUND UTILITIES ========== */
.dark .bg-white { background-color: #1e293b; }
.dark .bg-gray-50 { background-color: #0f172a; }
.dark .bg-gray-100 { background-color: #1e293b; }
.dark .bg-gray-200 { background-color: #334155; }
.dark .bg-gray-50\/50 { background-color: rgba(15, 23, 42, 0.5); }
.dark .bg-gray-50\/80 { background-color: rgba(15, 23, 42, 0.8); }
.dark .bg-primary-50 { background-color: rgba(255, 140, 0, 0.1); }
.dark .bg-primary-50\/50 { background-color: rgba(255, 140, 0, 0.08); }
.dark .bg-indigo-50 { background-color: rgba(99, 102, 241, 0.15); }
.dark .bg-green-50 { background-color: rgba(34, 197, 94, 0.15); }
.dark .bg-amber-50 { background-color: rgba(245, 158, 11, 0.15); }
.dark .bg-red-50 { background-color: rgba(239, 68, 68, 0.15); }
.dark .bg-emerald-50 { background-color: rgba(16, 185, 129, 0.15); }
.dark .bg-blue-50 { background-color: rgba(59, 130, 246, 0.15); }
.dark .bg-purple-50 { background-color: rgba(168, 85, 247, 0.15); }
.dark .bg-rose-50 { background-color: rgba(244, 63, 94, 0.15); }
.dark .bg-cyan-50 { background-color: rgba(6, 182, 212, 0.15); }
.dark .bg-pink-50 { background-color: rgba(236, 72, 153, 0.15); }
.dark .bg-violet-50 { background-color: rgba(139, 92, 246, 0.15); }

/* ========== TEXT UTILITIES ========== */
.dark .text-gray-900 { color: #f1f5f9; }
.dark .text-gray-800 { color: #e2e8f0; }
.dark .text-gray-700 { color: #cbd5e1; }
.dark .text-gray-600 { color: #cbd5e1; }
.dark .text-gray-500 { color: #94a3b8; }
.dark .text-gray-400 { color: #64748b; }
.dark .text-gray-300 { color: #475569; }

/* ========== BORDER UTILITIES ========== */
.dark .border-gray-200 { border-color: #334155; }
.dark .border-gray-100 { border-color: #1e293b; }
.dark .border-gray-300 { border-color: #475569; }
.dark .border-gray-50 { border-color: #0f172a; }
.dark .divide-gray-50 > * + * { border-color: #1e293b; }
.dark .divide-gray-100 > * + * { border-color: #1e293b; }
.dark .divide-gray-200 > * + * { border-color: #334155; }

/* ========== HOVER STATES ========== */
.dark .hover\:bg-gray-50:hover { background-color: rgba(51, 65, 85, 0.5); }
.dark .hover\:bg-gray-100:hover { background-color: #334155; }
.dark .hover\:bg-gray-200:hover { background-color: #475569; }

.dark .hover\:text-gray-700:hover { color: #cbd5e1; }
.dark .hover\:text-gray-900:hover { color: #f1f5f9; }
.dark .hover\:text-gray-600:hover { color: #cbd5e1; }

.dark .hover\:border-gray-300:hover { border-color: #64748b; }
.dark .hover\:border-gray-400:hover { border-color: #94a3b8; }

/* ========== SELECT / INPUT / TEXTAREA ========== */
.dark select,
.dark input[type="text"],
.dark input[type="url"],
.dark input[type="email"],
.dark input[type="password"],
.dark input[type="search"],
.dark input[type="tel"],
.dark textarea {
    background-color: #1e293b !important;
    border-color: #475569 !important;
    color: #e2e8f0 !important;
}

.dark select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}

.dark select option {
    background-color: #1e293b;
    color: #e2e8f0;
}

.dark input::placeholder,
.dark textarea::placeholder {
    color: #64748b !important;
}

.dark .focus\:border-primary-500:focus,
.dark .focus\:ring-indigo-500:focus {
    border-color: #FF8C00 !important;
}

/* ========== NAVBAR ========== */
.dark #navbar.bg-white\/95 {
    background-color: rgba(15, 23, 42, 0.95) !important;
}

.dark .nav-link:hover {
    background-color: rgba(255, 140, 0, 0.1);
}

.dark .nav-link.\!bg-primary-50\/50 {
    background-color: rgba(255, 140, 0, 0.12) !important;
}

.dark .border-l-gray-200 {
    border-left-color: #334155;
}

/* ========== DROPDOWN ========== */
.dark #lang-dropdown,
.dark #lang-dropdown-mobile,
.dark .dropdown-menu {
    background-color: #1e293b;
    border-color: #334155;
}

.dark #lang-dropdown button,
.dark #lang-dropdown-mobile button {
    color: #cbd5e1;
}

.dark #lang-dropdown button:hover,
.dark #lang-dropdown-mobile button:hover {
    background-color: rgba(255, 140, 0, 0.1);
    color: #FF8C00;
}

/* ========== FOOTER ========== */
.dark footer.bg-white {
    background-color: #0f172a;
}

.dark footer .bg-gray-50\/50 {
    background-color: rgba(15, 23, 42, 0.5);
}

.dark footer .bg-gray-100 {
    background-color: #1e293b;
}

.dark footer .text-gray-500 {
    color: #94a3b8;
}

.dark footer .text-gray-400 {
    color: #64748b;
}

.dark footer .border-gray-100 {
    border-color: #1e293b;
}

.dark footer .hover\:text-gray-600:hover {
    color: #94a3b8;
}

/* ========== JOBS PAGE ========== */
.dark #card-section .bg-white {
    background-color: #1e293b;
}

/* Override inline job card borders (Helpers.js creates cards with style="border: 1px solid #d1d5db") */
.dark .job-card {
    border-color: #334155 !important;
}

/* ========== MOBILE BOTTOM NAV ========== */
.dark .mobile-bottom-nav,
.dark nav.md\:hidden.fixed.bottom-0 {
    background-color: rgba(15, 23, 42, 0.95) !important;
    border-top-color: #334155 !important;
}

.dark nav.md\:hidden .text-gray-400 {
    color: #64748b;
}

.dark nav.md\:hidden .hover\:text-gray-600:hover {
    color: #94a3b8;
}

/* ========== CUSTOM SELECT ========== */
.dark .custom-select-trigger {
    background-color: #1e293b;
    border-color: #475569;
    color: #e2e8f0;
}

.dark .custom-select-dropdown {
    background-color: #1e293b;
    border-color: #334155;
}

.dark .custom-select-option {
    color: #cbd5e1;
}

.dark .custom-select-option:hover {
    background-color: #334155;
}

.dark .custom-select-option.selected {
    background-color: rgba(255, 140, 0, 0.12);
    color: #FF8C00;
}

.dark .custom-select-search {
    background-color: #1e293b;
    border-color: #475569;
    color: #e2e8f0;
}

.dark .custom-select-search::placeholder {
    color: #64748b;
}

/* ========== SCROLLBAR ========== */
.dark .custom-scroll {
    scrollbar-color: #475569 transparent;
}

.dark .custom-scroll::-webkit-scrollbar-thumb {
    background-color: #475569;
}

/* ========== CKEDITOR ========== */
.dark .form-control-wrapper .ck.ck-toolbar {
    background-color: #1e293b !important;
    border-bottom-color: #334155 !important;
}

.dark .form-control-wrapper .ck.ck-content {
    background-color: #0f172a !important;
    color: #e2e8f0 !important;
}

.dark .form-control-wrapper .ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
    border-color: #334155 !important;
}

/* ========== SCROLL TOP BUTTON ========== */
.dark #scrollTopBtn {
    box-shadow: 0 4px 16px rgba(255, 140, 0, 0.25) !important;
}

.dark #scrollTopBtn:hover {
    box-shadow: 0 8px 24px rgba(255, 140, 0, 0.35) !important;
}

/* ========== HR & COMPANY DASHBOARDS ========== */
.dark .bg-gray-50.min-h-screen {
    background-color: #0f172a;
}

/* ========== ADMIN SIDEBAR ========== */
.dark #logo-sidebar {
    background-color: #0f172a;
    border-right-color: #334155;
}

.dark #logo-sidebar .sidebar-link {
    color: #cbd5e1;
}

.dark #logo-sidebar .sidebar-link:hover {
    background-color: #1e293b;
}

.dark #logo-sidebar .sidebar-link svg {
    color: #64748b;
}

.dark #logo-sidebar .border-gray-200 {
    border-color: #334155;
}

/* ========== NEWS DETAIL ========== */
.dark .prose {
    color: #cbd5e1;
}

/* ========== HOME HERO ========== */
.dark section.bg-gradient-to-b.from-orange-50\/30 {
    background: #0f172a;
}

/* ========== STATS SECTION ========== */
.dark section.bg-gray-50.border-y {
    background-color: #0f172a;
    border-color: #1e293b;
}

/* ========== CATEGORY SECTION ========== */
.dark section.bg-white.py-20 {
    background-color: #0f172a;
}

/* ========== RECENT JOBS SECTION ========== */
.dark section.bg-white:not(footer) {
    background-color: #0f172a;
}

/* ========== VACANCIES HEADER ========== */
.dark section.bg-gray-50.min-h-screen.pt-24 {
    background-color: #0f172a;
}

/* ========== MOBILE FILTER SHEET ========== */
.dark #mobile-filter-sheet {
    background-color: #0f172a;
}

.dark #mobile-filter-sheet .bg-white {
    background-color: #0f172a;
}

.dark #mobile-filter-sheet .border-gray-100 {
    border-color: #334155;
}

.dark #mobile-filter-sheet .bg-gray-100 {
    background-color: #1e293b;
}

/* ========== LANGUAGE DROPDOWN ========== */
.dark .absolute.right-0.top-full.mt-1.bg-white {
    background-color: #1e293b;
}

/* ========== TAGS & BADGES ========== */
.dark .bg-green-100 { background-color: rgba(34, 197, 94, 0.2); }
.dark .text-green-700 { color: #4ade80; }
.dark .text-green-600 { color: #4ade80; }
.dark .bg-red-100 { background-color: rgba(239, 68, 68, 0.2); }
.dark .text-red-700 { color: #f87171; }
.dark .text-red-600 { color: #f87171; }
.dark .bg-amber-100 { background-color: rgba(245, 158, 11, 0.2); }
.dark .text-amber-700 { color: #fbbf24; }
.dark .text-amber-600 { color: #fbbf24; }
.dark .bg-blue-100 { background-color: rgba(59, 130, 246, 0.2); }
.dark .text-blue-700 { color: #60a5fa; }
.dark .text-blue-600 { color: #60a5fa; }
.dark .bg-purple-100 { background-color: rgba(168, 85, 247, 0.2); }
.dark .text-purple-700 { color: #c084fc; }
.dark .text-purple-600 { color: #c084fc; }
.dark .bg-indigo-100 { background-color: rgba(99, 102, 241, 0.2); }
.dark .text-indigo-600 { color: #818cf8; }
.dark .text-indigo-700 { color: #818cf8; }

/* ========== SHADOW OVERRIDES ========== */
.dark .shadow-sm,
.dark .shadow,
.dark .shadow-md,
.dark .shadow-lg,
.dark .shadow-xl {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* ========== RING OVERRIDES ========== */
.dark .ring-1 {
    --tw-ring-color: #334155;
}

/* ========== GLOBAL BACKGROUND COLOR ========== */
.dark .global-background-color {
    background-color: #0f172a;
}

/* ========== ALERTIFY ========== */
.dark .alertify .ajs-dialog {
    background-color: #1e293b;
}

.dark .alertify .ajs-header {
    background-color: #0f172a;
    color: #f1f5f9;
    border-bottom-color: #334155;
}

.dark .alertify .ajs-body {
    color: #cbd5e1;
}

.dark .alertify .ajs-footer {
    background-color: #0f172a;
    border-top-color: #334155;
}

.dark .alertify .ajs-commands button {
    color: #64748b;
}

/* ========== AUTH PAGE ========== */
.dark section.min-h-screen.bg-gradient-to-b.from-gray-50 {
    background: #0f172a;
}

.dark .bg-primary-100 {
    background-color: rgba(255, 140, 0, 0.15);
}

.dark .border-primary-100 {
    border-color: rgba(255, 140, 0, 0.2);
}

.dark .text-red-500 {
    color: #f87171;
}

/* ========== GRADIENT BACKGROUNDS (company logos, auth icons, etc.) ========== */
.dark .from-gray-50,
.dark .to-gray-100,
.dark .to-white {
    --tw-gradient-from: #1e293b !important;
    --tw-gradient-to: #0f172a !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.dark .from-primary-50 {
    --tw-gradient-from: rgba(255, 140, 0, 0.1) !important;
}

.dark .to-amber-50 {
    --tw-gradient-to: rgba(245, 158, 11, 0.1) !important;
}

/* ========== COMPANY DETAIL ========== */
.dark .hover\:bg-gray-50\/50:hover {
    background-color: rgba(51, 65, 85, 0.5);
}

/* ========== PAGINATION ========== */
.dark .border-gray-200.bg-white {
    background-color: #1e293b;
    border-color: #334155;
}

/* ========== SKILL TAGS IN CARDS ========== */
.dark .bg-gray-100.text-gray-600 {
    background-color: #334155;
    color: #cbd5e1;
}

/* ========== ROLE SELECTOR (AUTH) ========== */
.dark .bg-primary-50\/30 {
    background-color: rgba(255, 140, 0, 0.08);
}

.dark .border-gray-200.hover\:border-gray-300:hover {
    border-color: #64748b;
}

/* ========== AUTH TAB ========== */
.dark .bg-gray-100.rounded-xl.p-1 {
    background-color: #1e293b;
}

.dark .bg-white.text-gray-900.shadow-sm.rounded-lg {
    background-color: #334155;
    color: #f1f5f9;
}

.dark .hover\:text-gray-700:hover {
    color: #cbd5e1;
}

/* ========== TRANSITION ON HTML ========== */
html.dark,
html.dark *,
html.dark *::before,
html.dark *::after {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
