/*
Dark Mode Theme
Hybrid approach: Auto-detect OS preference + Manual toggle + LocalStorage persistence
*/

/* ==================== LIGHT MODE (DEFAULT) ==================== */
:root,
[data-theme="light"] {
	/* Existing colors (Light Mode Base) */
	--gray_dark: #0F172A;
	--border_light: #E2E8F0;
	--border_dark: #94A3B8;
	--orange: #F59E0B;
	--orange_dark: #DC2626;
	--bg_light: #F8FAFC;
	--bg_back: #00000075;
	--bg_dark: #000000de;
	--violet: #1E3A8A;

	/* Extended Light Mode Colors */
	--color-bg-primary: #ffffff;
	--color-bg-secondary: #F8FAFC;
	--color-text-primary: #0F172A;
	--color-text-secondary: #64748B;
	--color-text-muted: #94A3B8;
	--color-border: #E2E8F0;
	--color-card-bg: #ffffff;
	--color-card-shadow: rgba(0, 0, 0, 0.08);
	--color-input-bg: #F8FAFC;
	--color-input-border: #E2E8F0;
	--color-nav-bg: #1E3A8A;
	--color-nav-text: #ffffff;
	--color-footer-bg: #1E293B;
	--color-footer-text: #ffffff;
	--color-footer-text-muted: #CBD5E1;
	--color-link: #1E3A8A;
	--color-link-hover: #F59E0B;
	--color-hover-bg: #E0F2FE;
	--color-topbar-start: #F8FAFC;
	--color-topbar-end: #E2E8F0;
	--color-topbar-text: #0F172A;
	--color-body-image-overlay-start: rgba(255, 255, 255, 0.96);
	--color-body-image-overlay-end: rgba(240, 245, 250, 0.78);
	--color-glass-bg: rgba(255, 255, 255, 0.72);
	--color-glass-border: rgba(255, 255, 255, 0.15);
	--color-glass-shadow: rgba(0, 0, 0, 0.06);
	--transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* ==================== DARK MODE ==================== */
[data-theme="dark"] {
	/* Dark Mode Overrides */
	--color-bg-primary: #0F172A;
	--color-bg-secondary: #1E293B;
	--color-text-primary: #F1F5F9;
	--color-text-secondary: #CBD5E1;
	--color-text-muted: #94A3B8;
	--color-border: #334155;
	--color-card-bg: #1E293B;
	--color-card-shadow: rgba(0, 0, 0, 0.5);
	--color-input-bg: #0F172A;
	--color-input-border: #334155;
	--color-nav-bg: #1E3A8A;
	--color-nav-text: #F1F5F9;
	--color-footer-bg: #0F172A;
	--color-footer-text: #F1F5F9;
	--color-footer-text-muted: #94A3B8;
	--color-link: #F1F5F9;
	--color-link-hover: #FCD34D;
	--color-hover-bg: #334155;
	--color-topbar-start: #0F172A;
	--color-topbar-end: #1E293B;
	--color-topbar-text: #F8FAFC;
	--color-body-image-overlay-start: rgba(10, 15, 35, 0.97);
	--color-body-image-overlay-end: rgba(20, 30, 50, 0.82);
	--color-glass-bg: rgba(30, 41, 59, 0.75);
	--color-glass-border: rgba(255, 255, 255, 0.08);
	--color-glass-shadow: rgba(0, 0, 0, 0.3);
	--transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;

	/* Updated accent colors for dark mode */
	--orange: #FBBF24;
	--orange_dark: #F59E0B;
	--violet: #2563EB;
}

/* ==================== AUTO DETECTION (OS Preference) ==================== */
/* DISABLED: We now explicitly set data-theme="light" or data-theme="dark" via JavaScript */
/* This media query is not needed since we always have an explicit theme set */

/* ==================== SMOOTH TRANSITIONS ==================== */
html, body, * {
	transition: var(--transition);
}

/* Disable transitions during theme switch for smoother experience */
html.theme-switching * {
	transition: none !important;
}

/* ==================== BODY & TEXT ==================== */
body {
	background-color: var(--color-bg-primary);
	color: var(--color-text-primary);
	transition: background-color 0.4s ease, color 0.4s ease;
}

:root[data-theme="light"] body {
	background: linear-gradient(135deg, var(--color-bg-primary) 0%, var(--color-bg-secondary) 100%);
}

[data-theme="dark"] body {
	background: linear-gradient(135deg, var(--color-bg-primary) 0%, rgba(30, 41, 59, 0.95) 100%);
}

h1, h2, h3, h4, h5, h6 {
	color: var(--color-text-primary);
}

p {
	color: var(--color-text-secondary);
}

/* ==================== LINKS ==================== */
a {
	color: var(--color-link);
	text-decoration: none;
	transition: var(--transition);
}

a:hover {
	color: var(--color-link-hover);
}

/* ==================== CARDS & CONTAINERS ==================== */
.card {
	background-color: var(--color-card-bg);
	border-color: var(--color-border);
	box-shadow: 0 2px 8px var(--color-card-shadow);
}

/* ==================== INPUTS & FORMS ==================== */
.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
	background-color: var(--color-input-bg);
	border-color: var(--color-input-border);
	color: var(--color-text-primary);
}

.form-control::placeholder {
	color: var(--color-text-muted);
	opacity: 0.7;
}

.form-control:focus,
.form-select:focus {
	background-color: var(--color-input-bg);
	border-color: var(--orange);
	color: var(--color-text-primary);
	box-shadow: 0 0 0 0.2rem rgba(214, 56, 19, 0.25);
}

/* ==================== NAVBAR & HEADER ==================== */
.navbar {
	background-color: #37373794;
	/* background-color: var(--color-nav-bg); */
	color: var(--color-nav-text);
	border-color: var(--color-border);
}

.navbar-light .navbar-nav .nav-link {
	color: var(--color-nav-text);
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
	color: #ffd89b;
}

#top.top-bar {
	background: linear-gradient(90deg, var(--color-topbar-start) 0%, var(--color-topbar-end) 100%) !important;
	/* background: linear-gradient(90deg, #938511 0%, #BEAE6E 100%) !important; */
	border-color: var(--color-border);
	color: var(--color-topbar-text);
}

#top.top-bar a {
	color: inherit;
}

#top.top-bar .col_orange {
	color: var(--orange) !important;
}

#top_head {
	background-color: var(--color-bg-primary);
	/* border-color: var(--color-border); */
}

/* ==================== FOOTER ==================== */
#footer {
	background-color: var(--color-footer-bg);
	color: var(--color-footer-text);
}

#footer_bottom {
	background-color: #000000;
	color: var(--color-footer-text);
}

.text-white-50 {
	color: var(--color-footer-text-muted) !important;
}

/* ==================== TABLES ==================== */
.table {
	background-color: var(--color-card-bg);
	color: var(--color-text-primary);
	border-color: var(--color-border);
}

.table thead th {
	background-color: var(--color-bg-secondary);
	border-color: var(--color-border);
}

.table tbody td {
	border-color: var(--color-border);
}

/* ==================== DROPDOWN & MENUS ==================== */
.dropdown-menu {
	background-color: var(--color-card-bg);
	border-color: var(--color-border);
}

.dropdown-item {
	color: var(--color-text-primary);
}

.dropdown-item:hover {
	background-color: var(--color-hover-bg);
	color: var(--color-link-hover);
}

.dropdown-item.active {
	background-color: var(--orange);
}

/* ==================== GLASSMORPHIC CONTENT - Detail Pages ==================== */
.detail-content-wrapper,
.news_dt,
.news_dt1 {
	/* background: var(--color-glass-bg) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1px solid var(--color-glass-border) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 32px var(--color-glass-shadow) !important;
	transition: all 0.4s ease !important; */
}

.news_1_right2,
.news_1_right3 {
	/* background: var(--color-glass-bg) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border: 1px solid var(--color-glass-border) !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 32px var(--color-glass-shadow) !important;
	transition: all 0.4s ease !important; */
}

/* ==================== CODE & BLOCKS ==================== */
code {
	background-color: var(--color-bg-secondary);
	color: var(--orange);
	padding: 2px 6px;
	border-radius: 3px;
}

pre {
	background-color: var(--color-bg-secondary);
	color: var(--color-text-secondary);
	border: 1px solid var(--color-border);
	padding: 15px;
	border-radius: 5px;
}

/* ==================== BADGES & ALERTS ==================== */
.badge {
	background-color: var(--orange);
	color: #ffffff;
}

.alert {
	background-color: var(--color-bg-secondary);
	border-color: var(--color-border);
	color: var(--color-text-primary);
}

/* ==================== OFFCANVAS (Mobile Menu) ==================== */
.offcanvas {
	background-color: var(--color-nav-bg);
	color: var(--color-nav-text);
}

.offcanvas-header {
	background-color: var(--color-nav-bg);
	border-color: var(--color-border);
}

.offcanvas-body {
	background-color: #37373787;
	/* background-color: var(--color-nav-bg); */
}

/* ==================== SCROLLBAR (Webkit browsers) ==================== */
::-webkit-scrollbar {
	width: 12px;
	height: 12px;
}

::-webkit-scrollbar-track {
	background-color: var(--color-bg-secondary);
}

::-webkit-scrollbar-thumb {
	background-color: var(--orange);
	border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
	background-color: var(--orange_dark);
}

/* ==================== SELECTION ==================== */
::selection {
	background-color: var(--orange);
	color: #ffffff;
}

::-moz-selection {
	background-color: var(--orange);
	color: #ffffff;
}

/* ==================== UTILITY CLASSES ==================== */
.bg-light-theme {
	background-color: var(--color-bg-secondary);
}

.text-light-theme {
	color: var(--color-text-secondary);
}

.border-theme {
	border-color: var(--color-border);
}

/* ==================== ANIMATION ==================== */
@keyframes themeSwitch {
	0% {
		opacity: 0.5;
	}
	100% {
		opacity: 1;
	}
}

html.theme-switching {
	animation: themeSwitch 0.3s ease;
}

/* ==================== THEME TOGGLE BUTTON ==================== */
/* ==================== THEME TOGGLE BUTTON ==================== */
#theme-toggle {
	color: #ffffff !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 6px;
	padding: 8px 12px !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
	font-size: 18px;
	min-height: 40px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	position: relative;
}

/* Light Mode Button */
html[data-theme="light"] #theme-toggle {
	color: #ffffff !important;
	background-color: transparent !important;
	border: none !important;
}

html[data-theme="light"] #theme-toggle:hover {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border: none !important;
	transform: scale(1.08);
}

html[data-theme="light"] #theme-toggle:active {
	transform: scale(0.95);
}

html[data-theme="light"] #theme-toggle i {
	color: #ffffff;
	font-size: 18px;
	transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Dark Mode Button */
html[data-theme="dark"] #theme-toggle {
	color: #ffd89b !important;
	background-color: rgba(255, 216, 155, 0.12) !important;
	border: none !important;
}

html[data-theme="dark"] #theme-toggle:hover {
	background-color: rgba(255, 216, 155, 0.25) !important;
	border: none !important;
	transform: scale(1.08);
}

html[data-theme="dark"] #theme-toggle:active {
	transform: scale(0.95);
}

html[data-theme="dark"] #theme-toggle i {
	color: #ffd89b;
	font-size: 18px;
	transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Icon Animation */
#theme-toggle i {
	display: inline-block;
	transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.3s ease;
}

html.theme-switching #theme-toggle i {
	animation: iconSpinFast 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Theme Text */
#theme-toggle .theme-text {
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: color 0.3s ease;
	white-space: nowrap;
}

html[data-theme="light"] #theme-toggle .theme-text {
	color: #ffffff;
}

html[data-theme="dark"] #theme-toggle .theme-text {
	color: #ffd89b;
}

/* Focus State */
html[data-theme="light"] #theme-toggle:focus {
	outline: none !important;
	box-shadow: none !important;
}

html[data-theme="dark"] #theme-toggle:focus {
	outline: none !important;
	box-shadow: none !important;
}

/* Mobile Responsive */
@media (max-width: 991px) {
	#theme-toggle {
		padding: 6px 10px !important;
	}

	#theme-toggle .theme-text {
		display: none !important;
		margin-left: 0 !important;
	}

	#theme-toggle i {
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	#theme-toggle {
		padding: 4px 8px !important;
		min-height: 36px;
	}

	#theme-toggle i {
		font-size: 14px;
	}
}

/* Animation for icon rotation */
@keyframes iconSpinFast {
	0% {
		transform: rotate(0deg) scale(1);
		opacity: 1;
	}
	50% {
		opacity: 0.8;
	}
	100% {
		transform: rotate(360deg) scale(1);
		opacity: 1;
	}
}
