/* ============================================
   THEME SYSTEM - Dark (default) & Light modes
   ============================================ */

:root {
    /* Backgrounds */
    --bg-primary: #0F100F;
    --bg-secondary: #1a1b1a;
    --bg-card: rgba(255, 255, 255, 0.05);
    --bg-card-hover: rgba(255, 255, 255, 0.08);
    --bg-nav: rgba(15, 16, 15, 0.85);
    --bg-section-alt: rgba(255, 255, 255, 0.04);
    --bg-input: #000000;

    /* Text */
    --text-primary: #ffffff;
    --text-secondary: rgba(255, 255, 255, 0.75);
    --text-muted: rgba(255, 255, 255, 0.55);
    --text-on-accent: #ffffff;

    /* Accent (Purple) */
    --accent: #a855f7;
    --accent-hover: #b85ffb;
    --accent-soft: #976FCE;
    --accent-rgb: 168, 85, 247;
    --accent-bg: rgba(168, 85, 247, 0.15);
    --accent-border: rgba(168, 85, 247, 0.25);
    --accent-border-strong: rgba(168, 85, 247, 0.5);
    --accent-shadow: rgba(168, 85, 247, 0.4);
    --accent-glow: rgba(168, 85, 247, 0.3);

    /* Borders & Shadows */
    --border-color: rgba(255, 255, 255, 0.1);
    --border-soft: rgba(255, 255, 255, 0.08);
    --shadow-sm: 0 4px 15px rgba(0, 0, 0, 0.2);
    --shadow-md: 0 8px 25px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.4);

    /* Scrollbar */
    --scrollbar-track: #0F100F;
    --scrollbar-thumb: #976FCE;
    --scrollbar-border: white;

    /* Project card overlays */
    --figure-bg: rgba(255, 255, 255, 0.05);
    --figure-caption-gradient: linear-gradient(to top, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.6), transparent);

    /* Gradients for project placeholders (kept colorful in both themes) */
    --aiml-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
    --fullstack-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
    --web-gradient: linear-gradient(135deg, #fc466b 0%, #3f5efb 100%);

    /* Toggle button */
    --toggle-bg: rgba(255, 255, 255, 0.1);
    --toggle-border: rgba(255, 255, 255, 0.2);
    --toggle-icon: #ffffff;

    /* Contact */
    --contact-bg: #000000;

    /* Footer */
    --footer-bg: #976FCE;
    --footer-text: #ffffff;
    --footer-icon-bg: #ffffff;
    --footer-icon-color: #976FCE;

    /* Card text colors for placeholders (white on vibrant gradients) */
    --placeholder-text: #ffffff;
    --placeholder-icon: #ffffff;
}

/* ============ LIGHT THEME (Classy Off-White) ============ */
html.light-theme,
body.light-theme {
    /* Classy warm off-white backgrounds */
    --bg-primary: #f5f3ef;
    --bg-secondary: #ebe8e1;
    --bg-card: #ffffff;
    --bg-card-hover: #faf8f4;
    --bg-nav: rgba(245, 243, 239, 0.88);
    --bg-section-alt: #ebe8e1;
    --bg-input: #ffffff;

    /* Refined dark text (not pure black) */
    --text-primary: #1a1a1a;
    --text-secondary: rgba(26, 26, 26, 0.7);
    --text-muted: rgba(26, 26, 26, 0.5);
    --text-on-accent: #ffffff;

    /* Slightly more refined accent */
    --accent: #5b21b6;
    --accent-hover: #4c1d95;
    --accent-soft: #7c3aed;
    --accent-bg: rgba(91, 33, 182, 0.08);
    --accent-border: rgba(91, 33, 182, 0.18);
    --accent-border-strong: rgba(91, 33, 182, 0.4);
    --accent-shadow: rgba(91, 33, 182, 0.18);
    --accent-glow: rgba(91, 33, 182, 0.12);

    --border-color: rgba(26, 26, 26, 0.1);
    --border-soft: rgba(26, 26, 26, 0.06);
    --shadow-sm: 0 4px 15px rgba(26, 26, 26, 0.06);
    --shadow-md: 0 8px 25px rgba(26, 26, 26, 0.08);
    --shadow-lg: 0 10px 30px rgba(26, 26, 26, 0.1);

    --scrollbar-track: #ebe8e1;
    --scrollbar-thumb: #5b21b6;
    --scrollbar-border: #f5f3ef;

    --figure-bg: #ffffff;
    --figure-caption-gradient: linear-gradient(to top, rgba(26, 26, 26, 0.85), rgba(26, 26, 26, 0.5), transparent);

    --toggle-bg: rgba(26, 26, 26, 0.08);
    --toggle-border: rgba(26, 26, 26, 0.15);
    --toggle-icon: #1a1a1a;

    --contact-bg: #ffffff;

    --footer-bg: #1a1a1a;
    --footer-text: #f5f3ef;
    --footer-icon-bg: #f5f3ef;
    --footer-icon-color: #1a1a1a;

    /* Soft, classy pastel gradients for project cards */
    --aiml-gradient: linear-gradient(135deg, #e9e3f5 0%, #d4c5f0 100%);
    --fullstack-gradient: linear-gradient(135deg, #d8ebe0 0%, #b8dcc4 100%);
    --web-gradient: linear-gradient(135deg, #d6e4ee 0%, #b8cfe1 100%);

    /* Card text colors for placeholders (darker for readability on pastels) */
    --placeholder-text: #2d2d2d;
    --placeholder-icon: #2d2d2d;
}

/* ============ Smooth global transitions on theme switch ============ */
body,
header,
nav,
.section,
.sec3,
.projects,
.contactme,
.footer,
.s1-up,
.s3-up,
.techs,
figure,
.bio-card,
.skill-category,
.timeline-content,
.stat-card,
.social-card,
.input-group,
.input-group input,
textarea,
.tech-icons i,
input,
button,
a,
p,
h1, h2, h3, h4, h5, h6,
li,
span,
.logo,
.num1-left,
.num2-left,
.num3-left,
.num1-right,
.num2-right,
.num3-right {
    transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

/* ============ THEME TOGGLE BUTTON ============ */
.theme-toggle {
    position: relative;
    width: 50px;
    height: 26px;
    border-radius: 50px;
    background: var(--toggle-bg);
    border: 1px solid var(--toggle-border);
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0 4px;
    margin-left: 20px;
    transition: all 0.4s ease;
    flex-shrink: 0;
}

.theme-toggle:hover {
    border-color: var(--accent);
    box-shadow: 0 0 10px var(--accent-shadow);
}

.theme-toggle .toggle-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55), background 0.4s ease;
    color: #fff;
    font-size: 11px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

body.light-theme .theme-toggle .toggle-thumb {
    transform: translateX(24px);
    background: #f59e0b;
}

.theme-toggle .toggle-thumb i {
    pointer-events: none;
}

.theme-toggle .icon-sun,
.theme-toggle .icon-moon {
    position: absolute;
    font-size: 10px;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.theme-toggle .icon-sun {
    right: 7px;
    color: #f59e0b;
    opacity: 0;
}

.theme-toggle .icon-moon {
    left: 7px;
    color: var(--accent);
    opacity: 1;
}

body.light-theme .theme-toggle .icon-sun {
    opacity: 1;
}

body.light-theme .theme-toggle .icon-moon {
    opacity: 0;
}

/* Toggle wrapper inside nav */
.nav-toggle-wrap {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

@media (max-width: 800px) {
    .nav-toggle-wrap {
        margin-left: 0;
    }
}
