/* --- Theme Variables --- */

/* Default: Dark Mode */
:root {
    --primary-color: #00aaff; /* Techy Blue */
    --primary-color-dark: #0088cc;
    --primary-color-light: #e0f7ff;
    --primary-color-light-trans: rgba(0, 170, 255, 0.1);
    --secondary-color: #ffaa00; /* Accent Orange */

    --bg-color: #12181f; /* Dark Background */
    --bg-alt-color: #1a222c; /* Slightly Lighter Dark */
    --card-bg: #202936; /* Card Background */
    --header-bg: rgba(18, 24, 31, 0.9); /* Slightly transparent dark */
    --footer-bg: #0f141a; /* Darker Footer */
    --input-bg: #1a222c;

    --text-color: #e0e0e0; /* Light Grey Text */
    --heading-color: #ffffff; /* White Headings */
    --text-muted-color: #a0a0a0; /* Muted Grey */
    --button-text-color: #ffffff;

    --border-color: #303a48;
    --footer-text-color: #c0c0c0;
    --footer-heading-color: #ffffff;
    --footer-border-color: #252f3a;
    --footer-text-muted-color: #888888;

    --star-color: #ffd700; /* Gold */
    --top-bar-bg: #0f141a;
    --top-bar-text: #a0a0a0;

    --logo-dark-display: block;
    --logo-light-display: none;

    --calendly-filter: invert(1) hue-rotate(180deg); /* Attempt to style Calendly */
}

/* Light Mode Overrides */
[data-theme="light"] {
    --primary-color: #007bff; /* Standard Blue */
    --primary-color-dark: #0056b3;
    --primary-color-light: #e6f2ff;
    --primary-color-light-trans: rgba(0, 123, 255, 0.1);
    --secondary-color: #ffc107; /* Amber */

    --bg-color: #ffffff; /* White Background */
    --bg-alt-color: #f8f9fa; /* Off-White */
    --card-bg: #ffffff; /* White Cards */
    --header-bg: rgba(255, 255, 255, 0.95); /* Slightly transparent light */
    --footer-bg: #343a40; /* Dark Grey Footer */
    --input-bg: #f1f1f1;

    --text-color: #333333; /* Dark Grey Text */
    --heading-color: #212529; /* Darker Headings */
    --text-muted-color: #6c757d; /* Grey */
    --button-text-color: #ffffff; /* White on primary */

    --border-color: #dee2e6;
    --footer-text-color: #d0d0d0;
    --footer-heading-color: #ffffff;
    --footer-border-color: #495057;
    --footer-text-muted-color: #adb5bd;

    --star-color: #ffc107; /* Amber */
    --top-bar-bg: #e9ecef;
    --top-bar-text: #495057;

    --logo-dark-display: none;
    --logo-light-display: block;

    --calendly-filter: none; /* Reset filter for light mode */
}

/* Apply theme overrides */
body {
    background-color: var(--bg-color);
    color: var(--text-color);
}

h1, h2, h3, h4, h5, h6 { color: var(--heading-color); }
a { color: var(--primary-color); }
a:hover { color: var(--primary-color-dark); }

.btn-primary { background-color: var(--primary-color); color: var(--button-text-color); }
.btn-primary:hover { background-color: var(--primary-color-dark); }
.btn-secondary { color: var(--primary-color); border-color: var(--primary-color); }
.btn-secondary:hover { background-color: var(--primary-color); color: var(--button-text-color); }

.bg-alt { background-color: var(--bg-alt-color); }
.top-bar { background-color: var(--top-bar-bg); color: var(--top-bar-text); }
.top-bar button { color: var(--top-bar-text); }

#main-header { background-color: var(--header-bg); }
.logo-dark { display: var(--logo-dark-display); }
.logo-light { display: var(--logo-light-display); }
.nav-links a { color: var(--text-color); }
.nav-links a.active { color: var(--primary-color); }
.mobile-nav-toggle { color: var(--text-color); }
/* Mobile nav background */
@media (max-width: 992px) {
    .nav-links { background-color: var(--bg-color); } /* Adjust mobile menu bg */
}


.course-card, .team-member-card, .testimonial-card,
.article-card, .video-card, .contact-form-wrapper, .calendly-wrapper {
    background-color: var(--card-bg);
}
.team-member-info .role { color: var(--primary-color); }
.team-member-info .bio { color: var(--text-muted-color); }
.social-icons a { color: var(--text-muted-color); }
.social-icons a:hover { color: var(--primary-color); }
.rating { color: var(--star-color); }
blockquote { border-left-color: var(--primary-color); color: var(--text-color); }
.read-more { color: var(--primary-color); }

.form-group label { color: var(--text-color); }
.form-group input, .form-group textarea {
    background-color: var(--input-bg);
    color: var(--text-color);
    border-color: var(--border-color);
}
.form-group input:focus, .form-group textarea:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px var(--primary-color-light-trans);
}

/* Calendly Theming attempt (may not work perfectly) */
.calendly-inline-widget iframe {
    filter: var(--calendly-filter);
}

.site-footer {
    background-color: var(--footer-bg);
    color: var(--footer-text-color);
}
.footer-widget h4 { color: var(--footer-heading-color); }
.footer-widget p, .footer-widget ul li a, .footer-widget ul li, .footer-widget .social-icons a {
    color: var(--footer-text-color);
}
.footer-widget ul li a:hover, .footer-widget .social-icons a:hover { color: var(--primary-color); }
.contact-info li i { color: var(--primary-color); }
.footer-bottom {
    border-top-color: var(--footer-border-color);
    color: var(--footer-text-muted-color);
}

/* Back to Top & Chatbot Theme */
#back-to-top, #chatbot-toggle, .chatbot-header, #chatbot-send-btn {
    background-color: var(--primary-color);
    color: var(--button-text-color);
}
#back-to-top:hover, #chatbot-toggle:hover {
    background-color: var(--primary-color-dark);
}
#chatbot-window { background-color: var(--card-bg); border-color: var(--border-color); }
.user-message { background-color: var(--primary-color-light-trans); }
[data-theme="dark"] .user-message { color: var(--text-color); } /* Adjust for dark mode visibility */
[data-theme="light"] .user-message { color: var(--primary-color-dark); }
.bot-message { background-color: var(--bg-alt-color); color: var(--text-muted-color); }
#chatbot-user-input { background-color: var(--input-bg); color: var(--text-color); }
#chatbot-send-btn { color: var(--primary-color); background: none;}
#chatbot-send-btn:hover { color: var(--primary-color-dark); }

/* Toggle Button Icons */
#theme-toggle-btn .fa-sun { display: block; }
#theme-toggle-btn .fa-moon { display: none; }
[data-theme="dark"] #theme-toggle-btn .fa-sun { display: none; }
[data-theme="dark"] #theme-toggle-btn .fa-moon { display: block; }