:root {
	--color-default: #5ca7db;
	--rgb-default: 92, 167, 219;
	--btn-hover-default: 0 0 0 5px rgba(var(--rgb-default), 0.25);
}

/* Dark mode color scheme */
[data-theme="dark"] {
	/* Background colors */
	--color-bg: #1a1a1a;
	--color-bg-secondary: #252525;
	--color-bg-tertiary: #333333;
	
	/* Text colors */
	--color-text: #e0e0e0;
	--color-text-secondary: #b0b0b0;
	--color-text-muted: #808080;
	
	/* Border colors */
	--color-border: #404040;
	--color-border-light: #505050;
	
	/* Card/content backgrounds */
	--color-card-bg: #2a2a2a;
	--color-card-border: #3a3a3a;
}

/* Base dark mode styles */
[data-theme="dark"] body {
	background-color: var(--color-bg) !important;
	color: var(--color-text);
}

[data-theme="dark"] html {
	background-color: var(--color-bg) !important;
}

/* Text color fixes - be specific to avoid breaking things */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] .h1,
[data-theme="dark"] .h2,
[data-theme="dark"] .h3,
[data-theme="dark"] .h4,
[data-theme="dark"] .h5,
[data-theme="dark"] .h6 {
	color: var(--color-text);
}

[data-theme="dark"] p,
[data-theme="dark"] .lead {
	color: var(--color-text-secondary);
}

/* Navigation */
[data-theme="dark"] .navbar {
	background-color: rgba(26, 26, 26, 0.95) !important;
}

[data-theme="dark"] .navbar.transparent {
	background-color: transparent !important;
}

[data-theme="dark"] .navbar.transparent.fixed {
	background-color: rgba(26, 26, 26, 0.95) !important;
}

[data-theme="dark"] .navbar-nav .nav-link {
	color: var(--color-text) !important;
}

[data-theme="dark"] .navbar-nav .nav-link:hover {
	color: var(--color-default) !important;
}

/* Buttons */
[data-theme="dark"] .btn-default {
	background-color: var(--color-default);
	border-color: var(--color-default);
	color: white;
}

[data-theme="dark"] .btn-default:hover {
	background-color: #4a95c9;
	border-color: #4a95c9;
	color: white;
}

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

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

/* Theme toggle button */
.theme-toggle {
	width: 38px;
	height: 38px;
	padding: 0;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	line-height: 1;
	border: 2px solid;
	transition: all 0.3s ease;
}

.theme-toggle i {
	line-height: 1;
}

/* Light mode button styling */
.theme-toggle {
	background-color: transparent;
	color: var(--color-default);
	border-color: var(--color-default);
}

.theme-toggle:hover {
	background-color: var(--color-default);
	color: white;
	border-color: var(--color-default);
}

/* Dark mode button styling - make it clearly visible */
[data-theme="dark"] .theme-toggle {
	background-color: var(--color-bg-tertiary) !important;
	color: var(--color-default) !important;
	border-color: var(--color-default) !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .theme-toggle:hover {
	background-color: var(--color-default) !important;
	color: white !important;
	border-color: var(--color-default) !important;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
	transform: translateY(-1px);
}

[data-theme="dark"] .theme-toggle:focus {
	box-shadow: 0 0 0 3px rgba(var(--rgb-default), 0.4), 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* Wrappers and sections */
[data-theme="dark"] .wrapper {
	background-color: var(--color-bg) !important;
}

[data-theme="dark"] .light-wrapper {
	background-color: var(--color-bg-secondary) !important;
}

[data-theme="dark"] .gray-wrapper {
	background-color: var(--color-bg-secondary) !important;
}

[data-theme="dark"] .bg-white {
	background-color: var(--color-bg-secondary) !important;
}

[data-theme="dark"] .bg-light {
	background-color: var(--color-bg-secondary) !important;
}

[data-theme="dark"] .bg-opacity-default {
	background-color: rgba(var(--rgb-default), 0.05) !important;
}

/* Content wrapper specific */
[data-theme="dark"] .content-wrapper {
	background-color: var(--color-bg) !important;
}

/* Fix sections with inline styles */
[data-theme="dark"] section {
	background-color: var(--color-bg) !important;
}

[data-theme="dark"] .wrapper[style*="background"] {
	background-color: var(--color-bg) !important;
}

/* Cards and boxes */
[data-theme="dark"] .card,
[data-theme="dark"] .box {
	background-color: var(--color-card-bg);
	border-color: var(--color-card-border);
	color: var(--color-text);
}

[data-theme="dark"] .box.bg-white {
	background-color: var(--color-card-bg) !important;
}

/* Images - apply filters to decorative images only */
[data-theme="dark"] img[src*="rocket"],
[data-theme="dark"] img[src*="cloud"],
[data-theme="dark"] img[src*="/art/"],
[data-theme="dark"] img[src*="concept"] {
	filter: brightness(0.8) contrast(1.1);
}

/* Special filter for white/light decorative images */
[data-theme="dark"] img[src*="rocket1.webp"],
[data-theme="dark"] img[src*="rocket2.webp"],
[data-theme="dark"] img[src*="rocket3.webp"],
[data-theme="dark"] img[src*="rocket4.webp"] {
	filter: invert(0.85) hue-rotate(180deg) brightness(0.9);
}

/* Revolution slider specific */
[data-theme="dark"] .tp-caption {
	color: var(--color-text) !important;
}

[data-theme="dark"] .color-dark {
	color: var(--color-text) !important;
}

[data-theme="dark"] .rev_slider_wrapper {
	background-color: var(--color-bg) !important;
}

[data-theme="dark"] .rev_slider {
	background-color: var(--color-bg) !important;
}

[data-theme="dark"] .tp-bgimg {
	opacity: 0.8;
}

/* Forms */
[data-theme="dark"] .form-control {
	background-color: var(--color-bg-tertiary);
	border-color: var(--color-border);
	color: var(--color-text);
}

[data-theme="dark"] .form-control:focus {
	background-color: var(--color-bg-tertiary);
	border-color: var(--color-default);
	color: var(--color-text);
	box-shadow: 0 0 0 0.2rem rgba(var(--rgb-default), 0.25);
}

[data-theme="dark"] .form-control::placeholder {
	color: var(--color-text-muted);
}

/* Tables */
[data-theme="dark"] .table {
	color: var(--color-text);
}

[data-theme="dark"] .table th,
[data-theme="dark"] .table td {
	border-color: var(--color-border);
}

/* Pricing tables */
[data-theme="dark"] .pricing {
	background-color: var(--color-card-bg);
	border-color: var(--color-border);
}

[data-theme="dark"] .pricing .plan-name {
	background-color: var(--color-bg-tertiary);
	color: var(--color-text);
}

[data-theme="dark"] .pricing .price {
	color: var(--color-text);
}

[data-theme="dark"] .pricing ul li {
	color: var(--color-text-secondary);
}

/* Footer */
[data-theme="dark"] .footer {
	background-color: #0d0d0d;
	color: var(--color-text-secondary);
}

[data-theme="dark"] .footer a {
	color: var(--color-text-secondary);
}

[data-theme="dark"] .footer a:hover {
	color: var(--color-default);
}

/* Links */
[data-theme="dark"] a {
	color: var(--color-default);
}

[data-theme="dark"] a:hover {
	color: #4a95c9;
}

/* Dividers */
[data-theme="dark"] hr,
[data-theme="dark"] .divider {
	border-color: var(--color-border);
}

/* Icons */
[data-theme="dark"] .icon {
	background-color: var(--color-bg-tertiary);
}

[data-theme="dark"] .icon.icon-bg {
	background-color: rgba(var(--rgb-default), 0.15);
}

/* Process steps */
[data-theme="dark"] .process .number {
	background-color: var(--color-bg-tertiary);
	color: var(--color-text);
}

/* Newsletter */
[data-theme="dark"] .newsletter-wrapper {
	background-color: var(--color-bg-secondary);
}

[data-theme="dark"] .newsletter-wrapper input {
	background-color: var(--color-bg-tertiary);
	border-color: var(--color-border);
	color: var(--color-text);
}

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

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

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

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

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

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

/* Special classes */
[data-theme="dark"] .text-dark {
	color: var(--color-text) !important;
}

[data-theme="dark"] .text-muted {
	color: var(--color-text-muted) !important;
}

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

[data-theme="dark"] .shadow {
	box-shadow: 0 0.25rem 1.75rem rgba(0, 0, 0, 0.5) !important;
}

/* Fix any inline style issues */
[data-theme="dark"] [style*="color:#303030"],
[data-theme="dark"] [style*="color: #303030"],
[data-theme="dark"] [style*="color:#404040"],
[data-theme="dark"] [style*="color: #404040"],
[data-theme="dark"] [style*="color:#606060"],
[data-theme="dark"] [style*="color: #606060"] {
	color: var(--color-text-secondary) !important;
}

/* Override ALL white/transparent backgrounds */
[data-theme="dark"] [style*="background:transparent"],
[data-theme="dark"] [style*="background: transparent"] {
	background-color: var(--color-bg) !important;
}

[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background:#ffffff"],
[data-theme="dark"] [style*="background: #ffffff"],
[data-theme="dark"] [style*="background-color:white"],
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background-color:#fff"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background-color:#ffffff"],
[data-theme="dark"] [style*="background-color: #ffffff"] {
	background-color: var(--color-bg-secondary) !important;
}

/* Specific fixes for common patterns */
[data-theme="dark"] .bg-soft-primary {
	background-color: rgba(var(--rgb-default), 0.1) !important;
}

[data-theme="dark"] [class*="bg-soft-"] {
	background-color: var(--color-bg-secondary) !important;
}

[data-theme="dark"] [class*="bg-pastel-"] {
	background-color: var(--color-bg-secondary) !important;
}

/* Make sure main content areas have dark background */
[data-theme="dark"] main {
	background-color: var(--color-bg) !important;
}

[data-theme="dark"] article {
	background-color: var(--color-bg) !important;
}

[data-theme="dark"] aside {
	background-color: var(--color-bg-secondary) !important;
}