/* Base Styles */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: filter 0.5s ease;
}

body.light-mode {
    background-color: #f3f4f6 !important;
    color: #0f172a !important;
}

body.light-mode .bg-bgDark {
    background-color: transparent !important;
}

body.light-mode .bg-black\/80 {
    background-color: rgba(0, 0, 0, 0.08) !important;
}

body.light-mode .bg-black\/60,
body.light-mode .bg-black\/50,
body.light-mode .bg-black\/40,
body.light-mode .bg-black\/20 {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

body.light-mode .glass-card {
    background: rgba(255, 255, 255, 0.85) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: #1e293b !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01) !important;
}

body.light-mode .text-white {
    color: #0f172a !important;
}

body.light-mode .text-gray-400,
body.light-mode .text-gray-500,
body.light-mode .text-gray-300,
body.light-mode .text-gray-200 {
    color: #334155 !important;
}

/* Form inputs & buttons in light mode */
body.light-mode form button {
    background-color: #0f172a !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

body.light-mode form button:hover {
    background-color: #1e293b !important;
}

body.light-mode form input,
body.light-mode form textarea {
    color: #0f172a !important;
    border-color: rgba(0, 0, 0, 0.15) !important;
}

body.light-mode form input::placeholder,
body.light-mode form textarea::placeholder {
    color: #64748b !important;
}

/* Typography (Prose adjustments for light mode) */
body.light-mode .prose-invert {
    color: #334155 !important;
}

body.light-mode .prose-invert strong {
    color: #0f172a !important;
}

body.light-mode .prose-invert h2,
body.light-mode .prose-invert h3,
body.light-mode .prose-invert h4 {
    color: #0f172a !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
}

body.light-mode .prose-invert a {
    color: #0077b6 !important;
}

body.light-mode .prose-invert a:hover {
    color: #00b4d8 !important;
}


/* Premium Gradient Text for Headings in Light Mode */
body.light-mode h2,
body.light-mode h3 {
    background: linear-gradient(135deg, #0f172a 0%, #475569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
}

/* Enhance existing gradients for better visibility */
body.light-mode .text-transparent.bg-gradient-to-r {
    background-image: linear-gradient(to right, #0077b6, #0088a3, #d97706) !important;
}

/* Fix navbar links hover state */
body.light-mode a.hover\:text-white:hover {
    color: #00b4d8 !important;
}

body.light-mode .border-glassBorder,
body.light-mode .border-white\/10,
body.light-mode .border-white\/20,
body.light-mode .border-white\/5 {
    border-color: rgba(0, 0, 0, 0.1) !important;
}

body.light-mode .bg-white\/5,
body.light-mode .bg-white\/10 {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

body.light-mode .text-white\/5 {
    color: rgba(0, 0, 0, 0.05) !important;
}

body.light-mode .bg-gradient-mesh {
    background-image: radial-gradient(at 0% 0%, rgba(0,245,212,0.05) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(255,159,28,0.05) 0px, transparent 50%) !important;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #08090E;
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 245, 212, 0.3);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 159, 28, 0.6);
}

.custom-scrollbar::-webkit-scrollbar {
    width: 4px;
}

/* Glassmorphism Classes */
.glass-card {
    background: rgba(15, 18, 28, 0.5);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Typography (Prose adjustments for dark mode) */
.prose-invert h2, .prose-invert h3, .prose-invert h4 {
    color: #ffffff;
    font-family: 'Outfit', sans-serif;
}

.prose-invert a {
    color: #00F5D4;
    text-decoration: none;
}

.prose-invert a:hover {
    text-decoration: underline;
}

.prose-invert strong {
    color: #fff;
    font-weight: 700;
}

/* Animations */
@keyframes slide {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}

/* FAQ Accordion Toggle */
.faq-content {
    transition: all 0.3s ease-in-out;
}

.faq-item.active .faq-content {
    display: block;
}

.faq-item.active i {
    transform: rotate(180deg);
}

/* Eye-Catching Light Mode Article Container */
body.light-mode article.max-w-5xl {
    background-color: #ffffff;
    background-image: 
        radial-gradient(at 0% 0%, rgba(0, 245, 212, 0.08) 0px, transparent 50%), 
        radial-gradient(at 100% 100%, rgba(255, 159, 28, 0.08) 0px, transparent 50%), 
        url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='2' fill='%2300f5d4' fill-opacity='0.05'/%3E%3C/svg%3E");
    border-radius: 2rem;
    padding: 2rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0,0,0,0.05);
}

@media (min-width: 768px) {
    body.light-mode article.max-w-5xl {
        padding: 4rem;
    }
}

/* Premium Nav CTA Button */
.nav-cta-btn {
    background-color: #ffffff;
    color: #0f172a;
    box-shadow: 0 4px 14px 0 rgba(255, 255, 255, 0.2);
}
.nav-cta-btn:hover {
    box-shadow: 0 6px 20px rgba(255, 255, 255, 0.3);
    background-color: #f8fafc;
}

body.light-mode .nav-cta-btn {
    background-color: #0f172a;
    color: #ffffff;
    box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.2);
    border-color: transparent !important;
}
body.light-mode .nav-cta-btn:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    background-color: #1e293b;
}

/* Claim/Download Button Fix for Light Mode */
body.light-mode #btn-inject:not(.bg-green-400) {
    background-color: #0f172a !important;
    color: #ffffff !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2) !important;
}
body.light-mode #btn-inject:not(.bg-green-400):hover {
    background-color: #1e293b !important;
}

/* Mobile Menu Light Mode Overrides */
body.light-mode #mobile-menu-btn {
    color: #0f172a !important;
}
body.light-mode #mobile-menu-btn:hover {
    color: #00f5d4 !important;
}
body.light-mode #mobile-menu {
    background-color: rgba(255, 255, 255, 0.98) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}
body.light-mode #mobile-menu a {
    color: #0f172a !important;
}
body.light-mode #mobile-menu a:hover {
    color: #00f5d4 !important;
}

/* Force white text on image overlays in Light Mode */
body.light-mode .force-white-text,
body.light-mode .force-white-text h1,
body.light-mode .force-white-text span,
body.light-mode .force-white-text i {
    color: #ffffff !important;
    text-shadow: 0 4px 20px rgba(0,0,0,0.8);
}

/* Footer Visibility Fixes */
footer,
body.light-mode footer,
body.light-mode footer.bg-black\/80 {
    background-color: #08090E !important;
    color: #94a3b8 !important;
}

footer p,
footer .text-gray-400,
body.light-mode footer p,
body.light-mode footer .text-gray-400 {
    color: #94a3b8 !important;
}

footer span,
footer h4,
footer .text-white,
body.light-mode footer span,
body.light-mode footer h4,
body.light-mode footer .text-white {
    color: #ffffff !important;
}

footer a,
body.light-mode footer a {
    color: #cbd5e1 !important;
}

footer a:hover,
body.light-mode footer a:hover {
    color: #00F5D4 !important;
}

footer .text-gray-500,
body.light-mode footer .text-gray-500 {
    color: #64748b !important;
}

body.light-mode footer .bg-white {
    background-color: #ffffff !important;
}

/* Custom visual progress bars for sensitivity calculator */
.progress-ring-bar {
    height: 100%;
    border-radius: 9999px;
    background: linear-gradient(90deg, #00b4d8, #00f5d4);
    box-shadow: 0 0 10px rgba(0, 245, 212, 0.4);
    transition: width 1.5s cubic-bezier(0.1, 0.8, 0.2, 1);
}
.neon-glow-cyan {
    box-shadow: 0 0 15px rgba(0, 180, 216, 0.4);
}
.neon-glow-green {
    box-shadow: 0 0 15px rgba(0, 245, 212, 0.4);
}

/* High Contrast Light Mode Accent Adjustments */
body.light-mode .text-accentCyan {
    color: #0088a3 !important;
}

body.light-mode .text-accentOrange {
    color: #d97706 !important;
}

body.light-mode .text-accentBlue {
    color: #0077b6 !important;
}

body.light-mode .text-green-400 {
    color: #166534 !important;
}

body.light-mode #process-logs {
    background-color: #0f172a !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e8f0 !important;
}

body.light-mode #process-logs div {
    color: #e2e8f0 !important;
}

body.light-mode #process-logs .text-green-400 {
    color: #4ade80 !important;
}

body.light-mode .progress-ring-bar {
    background: linear-gradient(90deg, #0077b6, #00b4d8) !important;
    box-shadow: 0 0 10px rgba(0, 180, 216, 0.3) !important;
}
