/* Alerts */
/* Base tweak: ensure alert text always uses themed primary text color for consistency */
.alert {
	color: var(--text-primary);
}

/* Light mode overrides for consistent themed backgrounds */
.alert-success {
	background-color: var(--success-bg, #d1fae5);
}

.alert-danger {
	background-color: var(--danger-bg, #fee2e2);
}

.alert-info {
	background-color: var(--info-bg, #e7f5ff);
}

.alert-warning {
	background-color: var(--warning-bg, #fff9db);
}

/* Dark mode accessibility improvements: high-contrast backgrounds + readable text */
body.dark-mode .alert,
[data-theme="dark"] .alert {
	color: var(--text-primary) !important;
	background-color: rgba(30, 41, 59, 0.95);
	border-color: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(var(--glass-blur));
}

body.dark-mode .alert-success,
[data-theme="dark"] .alert-success {
	background: linear-gradient(135deg, rgba(16, 185, 129, 0.25), rgba(6, 78, 59, 0.95)) !important;
	border-color: rgba(16, 185, 129, 0.45) !important;
	color: #d1fae5 !important;
}

body.dark-mode .alert-danger,
[data-theme="dark"] .alert-danger {
	background: linear-gradient(135deg, rgba(239, 68, 68, 0.25), rgba(127, 29, 29, 0.95)) !important;
	border-color: rgba(239, 68, 68, 0.45) !important;
	color: #fee2e2 !important;
}

body.dark-mode .alert-info,
[data-theme="dark"] .alert-info {
	background: linear-gradient(135deg, rgba(14, 165, 233, 0.25), rgba(12, 74, 110, 0.95)) !important;
	border-color: rgba(14, 165, 233, 0.45) !important;
	color: #e0f2fe !important;
}

body.dark-mode .alert-warning,
[data-theme="dark"] .alert-warning {
	background: linear-gradient(135deg, rgba(245, 158, 11, 0.25), rgba(120, 53, 15, 0.95)) !important;
	border-color: rgba(245, 158, 11, 0.45) !important;
	color: #fef3c7 !important;
}

/* Improve visibility of close button */
body.dark-mode .btn-close,
[data-theme="dark"] .btn-close {
	filter: invert(1) grayscale(100%) brightness(180%);
	opacity: .85;
}

body.dark-mode .btn-close:hover,
[data-theme="dark"] .btn-close:hover {
	opacity: 1;
}

/* Alert links inside dark mode */
body.dark-mode .alert a,
[data-theme="dark"] .alert a {
	color: var(--accent-primary);
	text-decoration: underline;
}

body.dark-mode .alert a:hover,
[data-theme="dark"] .alert a:hover {
	color: #fff;
}

/* Chip close icon variants */
.chip-close { color: inherit; }
.chip-close.chip-close-light { color: #fff; }
.chip-close.chip-close-light i { opacity: .9; }
.chip-close.chip-close-light:hover i { opacity: 1; }

/* Floating Flash Notifications Container */
#js-flash-container {
	z-index: 99999 !important;
}

#js-flash-container .alert {
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.25), 0 8px 10px -6px rgba(0, 0, 0, 0.15) !important;
}