/* theme-overrides.css
   This file overrides common color rules from the main stylesheet using CSS variables.
   It is intentionally conservative: it targets broad selectors to make the app theme-aware
   without modifying the original main CSS. Add more selectors as you find visual gaps.
*/

/* transitions */
* { transition: color var(--transition-duration) ease, background var(--transition-duration) ease, border-color var(--transition-duration) ease; }

/* Base page */
html, body { background: var(--bg) !important; color: var(--text) !important; }

/* Header / topbar */
.pc-header, .header-wrapper { background: var(--surface) !important; color: var(--text) !important; }

/* Sidebar */
.pc-sidebar, .pc-sidebar .pc-item, .pc-sidebar .pc-link { background: var(--surface) !important; color: var(--text) !important; }
.pc-sidebar .pc-link.active, .pc-sidebar .pc-link:hover { background: rgba(255,255,255,0.03) !important; }
/* Mobile active state + accent */
.pc-sidebar.mob-sidebar-active { box-shadow: 0 0 0 1px rgba(0,0,0,0.25), 0 6px 18px -4px rgba(0,0,0,0.55) !important; z-index: 1031 !important; }
.pc-sidebar .pc-navbar > li > a.pc-link.active { position: relative; }
.pc-sidebar .pc-navbar > li > a.pc-link.active::before { content:''; position:absolute; left:0; top:6px; bottom:6px; width:3px; border-radius:3px; background: var(--primary); box-shadow:0 0 0 1px rgba(255,255,255,0.05); }
.pc-sidebar .pc-menu-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.45); backdrop-filter: blur(1px); cursor:pointer; z-index:2; }

html.sidebar-open, body.sidebar-open { overflow:hidden; }

/* Cards */
.card, .card-body { background: var(--card-bg) !important; color: var(--text) !important; }
.card { border: 1px solid var(--card-border) !important; box-shadow: 0 12px 24px -18px rgba(15, 23, 42, 0.45); }
.dark-theme .card { box-shadow: 0 16px 26px -18px rgba(2, 6, 23, 0.65); color: rgba(226, 232, 240, 0.95) !important; }

.btn, .btn-primary { background-color: var(--primary) !important; border-color: var(--primary) !important; color: var(--btn-text) !important; }
.btn-outline-secondary { border-color: rgba(0,0,0,0.08) !important; color: var(--text) !important; }

/* Links and text */
a, a:hover, a:focus, .nav-link { color: var(--primary) !important; }
.text-muted { color: var(--muted) !important; }
.dark-theme .text-muted { color: rgba(203, 213, 225, 0.92) !important; }

/* Headings contrast */
.dark-theme h1,
.dark-theme h2,
.dark-theme h3,
.dark-theme h4,
.dark-theme h5,
.dark-theme h6,
.dark-theme .card-header h1,
.dark-theme .card-header h2,
.dark-theme .card-header h3,
.dark-theme .card-header h4,
.dark-theme .card-header h5,
.dark-theme .card-header h6 {
   color: rgba(241, 245, 249, 0.96) !important;
}

/* Inputs */
.form-control,
input:not([type='checkbox']):not([type='radio']),
textarea,
select {
   background: transparent !important;
   color: var(--text) !important;
   border-color: rgba(0, 0, 0, 0.08) !important;
}

/* Tables */
.table, .table th, .table td { color: var(--text) !important; background: transparent !important; }
.table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-responsive table { min-width: 640px; }
@media (max-width: 767.98px){
   .table-responsive table { min-width: 520px; }
}

/* Badges */
.badge { background-color: rgba(0,0,0,0.06) !important; color: var(--text) !important; }

/* Notifier / toast */
.notifier, .notifier * { color: var(--text) !important; background: var(--card-bg) !important; }

/* Small helpers */
.bg-light, .bg-white { background: var(--card-bg) !important; }

/* Ensure dropdowns and menus inherit theme */
.dropdown-menu, .pc-h-dropdown { background: var(--card-bg) !important; color: var(--text) !important; }

/* Invisible override fallback for any stubborn hard-coded backgrounds */
[class*="bg-"] { background: transparent !important; }

/* Add any project-specific selectors below as needed */

/* Additional conservative overrides for elements present in the built stylesheet */
.navbar, .navbar-nav, .navbar-brand, .navbar-light .navbar-nav .nav-link { background: transparent !important; color: var(--text) !important; }
.pc-top-header, .pc-t-header, .pcoded .pcoded-header, .pc-header { background: var(--surface) !important; color: var(--text) !important; }
.card-header, .card-footer { background: rgba(255,255,255,0.02) !important; color: var(--text) !important; border-color: rgba(255,255,255,0.03) !important; }
.modal-content, .dropdown-menu { background: var(--card-bg) !important; color: var(--text) !important; }
.btn-secondary, .btn-outline-primary, .btn-outline-secondary { background: transparent !important; border-color: rgba(255,255,255,0.06) !important; color: var(--text) !important; }
.breadcrumb, .page-header { background: transparent !important; color: var(--text) !important; }
.form-check-input, .form-control:focus { box-shadow: 0 0 0 0.15rem rgba(96,165,250,0.08) !important; border-color: rgba(96,165,250,0.18) !important; }
.table thead th { background: rgba(0,0,0,0.06) !important; color: var(--text) !important; }
.footer, .page-footer { background: var(--surface) !important; color: var(--muted) !important; }

/* Landing page specific fixes (from built landing.css) */
.landing-page, .landing-page .container, .landing-page header { background: var(--bg) !important; color: var(--text) !important; }
.landing-page .app-link, .app-link { background: transparent !important; color: var(--text) !important; }
.landing-page .app-link.active, .landing-page .app-link:hover { background: rgba(255,255,255,0.02) !important; box-shadow: none !important; }

.workspace-card-block .card { background: var(--card-bg) !important; color: var(--text) !important; box-shadow: none !important; }
.workspace-card-block .card .avtar { background: rgba(255,255,255,0.03) !important; }
.workspace-card-block .active .card, .workspace-card-block .card:hover { background: rgba(255,255,255,0.02) !important; }

.workspace-slider-block .img-ws-slider { box-shadow: none !important; }
.workspace-slider-block .owl-item:not(.active) .img-ws-slider { opacity: .65 !important; }

[data-pc-theme=dark] .landing-page .bg-white { background: var(--card-bg) !important; }
[data-pc-theme=dark] .landing-page .contact-hero { background: none !important; }

/* Neutralize thin borders and faint shadows that used hex rgba values */
[class*="-shadow"] { box-shadow: none !important; }
.img-app-moke, .workspace-slider-block .img-ws-slider, .workspace-card-block .card { border-color: transparent !important; }

/* Neutralize box-shadows and hover glows from built styles */
.navbar.default, .navbar.top-nav-collapse { box-shadow: none !important; }
.app-link.active, .app-link:hover { box-shadow: none !important; }
.workspace-card-block .card, .workspace-card-block .card:hover { box-shadow: none !important; }
.workspace-card-block .card .avtar { background: rgba(255,255,255,0.02) !important; }
.workspace-card-block .card .avtar svg { color: var(--muted) !important; }
.workspace-card-block .active .card:after { background: var(--primary) !important; }

/* Hero and overlay neutralization */
header, .hero, .contact-hero { background: var(--bg) !important; }
.hero-text-gradient { opacity: 0.95 !important; }

/* Remove faint borders using rgba/hex in built files */
[class*="border"], .pc-sidebar { border-color: transparent !important; }

/* Scrollbar theming */
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 20px; border:2px solid transparent; background-clip: padding-box; }
html:not(.dark-theme) ::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.2); border:2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(96,165,250,0.45); }

/* Table row hover subtle tint */
.table-hover tbody tr:hover { background: rgba(255,255,255,0.04) !important; }
html:not(.dark-theme) .table-hover tbody tr:hover { background: rgba(0,0,0,0.03) !important; }

/* Buttons refine */
.btn-primary:hover { filter: brightness(1.06); }
.btn-outline-secondary:hover { background: rgba(255,255,255,0.06) !important; }
html:not(.dark-theme) .btn-outline-secondary:hover { background: rgba(0,0,0,0.04) !important; }

/* Form focus ring unify */
.form-control:focus { outline:none; box-shadow: 0 0 0 2px rgba(96,165,250,0.25) !important; border-color: rgba(96,165,250,0.45) !important; }

/* Dropdown & modal elevation tweaks */
.dropdown-menu, .pc-h-dropdown, .modal-content { box-shadow: 0 8px 28px -6px rgba(0,0,0,0.5) !important; border:1px solid rgba(255,255,255,0.06) !important; }
html:not(.dark-theme) .dropdown-menu, html:not(.dark-theme) .pc-h-dropdown, html:not(.dark-theme) .modal-content { border:1px solid rgba(0,0,0,0.06) !important; }

/* Active breadcrumb / page header accent */
.page-header h1, .breadcrumb .active { color: var(--primary) !important; }

/* Badge subtle refinement */
.badge { border:1px solid rgba(255,255,255,0.08); }
html:not(.dark-theme) .badge { border:1px solid rgba(0,0,0,0.08); }

/* Tables and lists */
.list-inline-item { border-color: transparent !important; }


/* Neutralize explicit colors from landing.css to prefer variables */
.landing-page, .landing-page .container, .landing-page .title { background: transparent !important; color: var(--text) !important; }
.navbar.default, .navbar.top-nav-collapse { box-shadow: none !important; }
.workspace-card-block .card, .workspace-card-block .card:hover, .workspace-card-block .active .card { background: var(--card-bg) !important; box-shadow: none !important; }
.workspace-card-block .card .avtar { background: rgba(255,255,255,0.06) !important; }
.workspace-card-block .card .avtar svg { color: var(--muted) !important; }
.workspace-slider-block .img-ws-slider, .workspace-slider-block .img-ws-slider{ box-shadow: none !important; }
.app-link.active, .app-link:hover { background: rgba(255,255,255,0.02) !important; box-shadow: none !important; }
.hero-text-gradient { filter: none !important; }
.img-app-moke, .img-suggest-moke { box-shadow: none !important; }

/* Reduce strong white highlights used in landing styles */
[data-pc-theme=dark] .landing-page .bg-white { background: var(--card-bg) !important; }
[data-pc-theme=dark] .landing-page header .technology-block { background: var(--surface) !important; }

