/* ═══════════════════════════════════════════════════════════════════════════
   ZANAAT WORKSHOP — CENTRAL DESIGN SYSTEM
   Single source of truth for all colors, typography, spacing & themes.
   All app-level CSS files must reference these variables instead of
   hardcoding colors. Theme switching is handled via [data-theme] on <html>.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 1. DEFAULT THEME (DARK) ─── */
:root,
[data-theme="dark"] {
  /* ── Background Surfaces ── */
  --z-bg:              #0f172a;
  --z-bg-deep:         #0a101e;
  --z-bg-gradient:     linear-gradient(160deg, #0f172a, #0a101e);
  --z-surface-1:       #1e293b;
  --z-surface-2:       #273548;
  --z-surface-3:       #334155;
  --z-glass:           rgba(30, 41, 59, 0.78);
  --z-glass-light:     rgba(255, 255, 255, 0.04);

  /* ── Brand Accent ── */
  --z-accent:          #f59e0b;
  --z-accent-light:    #fbbf24;
  --z-accent-dark:     #d97706;
  --z-accent-glow:     rgba(245, 158, 11, 0.15);
  --z-accent-gradient: linear-gradient(135deg, #f59e0b, #fbbf24);

  /* ── Text ── */
  --z-text:            #f1f5f9;
  --z-text-sec:        #94a3b8;
  --z-text-muted:      #64748b;
  --z-text-inverse:    #0f172a;

  /* ── Status Colors ── */
  --z-success:         #10b981;
  --z-success-light:   #34d399;
  --z-success-bg:      rgba(16, 185, 129, 0.12);
  --z-danger:          #ef4444;
  --z-danger-light:    #fca5a5;
  --z-danger-bg:       rgba(239, 68, 68, 0.12);
  --z-warning:         #f59e0b;
  --z-warning-light:   #fbbf24;
  --z-warning-bg:      rgba(245, 158, 11, 0.12);
  --z-info:            #3b82f6;
  --z-info-light:      #60a5fa;
  --z-info-bg:         rgba(59, 130, 246, 0.12);

  /* ── Secondary Palette (forum, content, features) ── */
  --z-indigo:          #4361ee;
  --z-indigo-light:    #6366f1;
  --z-purple:          #7c3aed;
  --z-purple-light:    #8b5cf6;
  --z-pink:            #ec4899;
  --z-teal:            #06d6a0;
  --z-cyan:            #0ea5e9;
  --z-sky:             #38bdf8;

  /* ── Borders & Dividers ── */
  --z-border:          rgba(255, 255, 255, 0.08);
  --z-border-hover:    rgba(255, 255, 255, 0.15);
  --z-border-accent:   rgba(245, 158, 11, 0.4);
  --z-divider:         rgba(255, 255, 255, 0.06);

  /* ── Shadows ── */
  --z-shadow-sm:       0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
  --z-shadow-md:       0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
  --z-shadow-lg:       0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);
  --z-shadow-xl:       0 25px 50px rgba(0, 0, 0, 0.25);
  --z-shadow-glow:     0 0 20px var(--z-accent-glow);

  /* ── Radius ── */
  --z-radius-xs:       4px;
  --z-radius-sm:       8px;
  --z-radius-md:       12px;
  --z-radius-lg:       16px;
  --z-radius-xl:       20px;
  --z-radius-full:     9999px;

  /* ── Typography ── */
  --z-font-sans:       'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --z-font-mono:       'JetBrains Mono', 'Fira Code', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* ── Transitions ── */
  --z-ease:            cubic-bezier(0.4, 0, 0.2, 1);
  --z-ease-spring:     cubic-bezier(0.34, 1.56, 0.64, 1);
  --z-duration-fast:   0.15s;
  --z-duration:        0.25s;
  --z-duration-slow:   0.4s;

  /* ── Layout ── */
  --z-container:       1400px;

  /* ── Navbar ── */
  --z-navbar-bg:       linear-gradient(to right, rgba(27, 38, 59, 0.98), rgba(24, 34, 52, 0.98));
  --z-navbar-bg-scroll:rgba(23, 32, 48, 0.97);
  --z-navbar-height:   80px;
  --z-navbar-text:     rgba(255, 255, 255, 0.88);
  --z-navbar-hover:    #f6c12d;

  /* ── Overlay / Backdrop ── */
  --z-overlay:         rgba(10, 16, 30, 0.8);
  --z-overlay-heavy:   rgba(10, 16, 30, 0.92);
}


/* ─── 2. MIDNIGHT BLUE THEME ─── */
[data-theme="midnight"] {
  --z-bg:              #0c1425;
  --z-bg-deep:         #070d1a;
  --z-bg-gradient:     linear-gradient(160deg, #0c1425, #070d1a);
  --z-surface-1:       #132040;
  --z-surface-2:       #1a2d55;
  --z-surface-3:       #233b6a;
  --z-glass:           rgba(19, 32, 64, 0.82);

  --z-accent:          #38bdf8;
  --z-accent-light:    #7dd3fc;
  --z-accent-dark:     #0284c7;
  --z-accent-glow:     rgba(56, 189, 248, 0.15);
  --z-accent-gradient: linear-gradient(135deg, #38bdf8, #7dd3fc);

  --z-border:          rgba(56, 189, 248, 0.1);
  --z-border-hover:    rgba(56, 189, 248, 0.2);
  --z-border-accent:   rgba(56, 189, 248, 0.4);

  --z-navbar-bg:       linear-gradient(to right, rgba(12, 20, 37, 0.98), rgba(19, 32, 64, 0.98));
  --z-navbar-bg-scroll:rgba(12, 20, 37, 0.97);
  --z-navbar-hover:    #7dd3fc;

  --z-overlay:         rgba(7, 13, 26, 0.85);
  --z-overlay-heavy:   rgba(7, 13, 26, 0.94);
}


/* ─── 3. EMERALD THEME ─── */
[data-theme="emerald"] {
  --z-bg:              #0c1a14;
  --z-bg-deep:         #071210;
  --z-bg-gradient:     linear-gradient(160deg, #0c1a14, #071210);
  --z-surface-1:       #13302a;
  --z-surface-2:       #1a4038;
  --z-surface-3:       #225246;
  --z-glass:           rgba(19, 48, 42, 0.82);

  --z-accent:          #10b981;
  --z-accent-light:    #34d399;
  --z-accent-dark:     #059669;
  --z-accent-glow:     rgba(16, 185, 129, 0.15);
  --z-accent-gradient: linear-gradient(135deg, #10b981, #34d399);

  --z-border:          rgba(16, 185, 129, 0.1);
  --z-border-hover:    rgba(16, 185, 129, 0.2);
  --z-border-accent:   rgba(16, 185, 129, 0.4);

  --z-navbar-bg:       linear-gradient(to right, rgba(12, 26, 20, 0.98), rgba(19, 48, 42, 0.98));
  --z-navbar-bg-scroll:rgba(12, 26, 20, 0.97);
  --z-navbar-hover:    #34d399;

  --z-overlay:         rgba(7, 18, 16, 0.85);
  --z-overlay-heavy:   rgba(7, 18, 16, 0.94);
}


/* ─── 4. CRIMSON THEME ─── */
[data-theme="crimson"] {
  --z-bg:              #1a0c12;
  --z-bg-deep:         #120710;
  --z-bg-gradient:     linear-gradient(160deg, #1a0c12, #120710);
  --z-surface-1:       #301320;
  --z-surface-2:       #401a2c;
  --z-surface-3:       #522238;
  --z-glass:           rgba(48, 19, 32, 0.82);

  --z-accent:          #f43f5e;
  --z-accent-light:    #fb7185;
  --z-accent-dark:     #e11d48;
  --z-accent-glow:     rgba(244, 63, 94, 0.15);
  --z-accent-gradient: linear-gradient(135deg, #f43f5e, #fb7185);

  --z-border:          rgba(244, 63, 94, 0.1);
  --z-border-hover:    rgba(244, 63, 94, 0.2);
  --z-border-accent:   rgba(244, 63, 94, 0.4);

  --z-navbar-bg:       linear-gradient(to right, rgba(26, 12, 18, 0.98), rgba(48, 19, 32, 0.98));
  --z-navbar-bg-scroll:rgba(26, 12, 18, 0.97);
  --z-navbar-hover:    #fb7185;

  --z-overlay:         rgba(18, 7, 16, 0.85);
  --z-overlay-heavy:   rgba(18, 7, 16, 0.94);
}


/* ─── 5. ROYAL PURPLE THEME ─── */
[data-theme="purple"] {
  --z-bg:              #130c1e;
  --z-bg-deep:         #0c0716;
  --z-bg-gradient:     linear-gradient(160deg, #130c1e, #0c0716);
  --z-surface-1:       #221540;
  --z-surface-2:       #2e1d55;
  --z-surface-3:       #3b266a;
  --z-glass:           rgba(34, 21, 64, 0.82);

  --z-accent:          #8b5cf6;
  --z-accent-light:    #a78bfa;
  --z-accent-dark:     #7c3aed;
  --z-accent-glow:     rgba(139, 92, 246, 0.15);
  --z-accent-gradient: linear-gradient(135deg, #8b5cf6, #a78bfa);

  --z-border:          rgba(139, 92, 246, 0.1);
  --z-border-hover:    rgba(139, 92, 246, 0.2);
  --z-border-accent:   rgba(139, 92, 246, 0.4);

  --z-navbar-bg:       linear-gradient(to right, rgba(19, 12, 30, 0.98), rgba(34, 21, 64, 0.98));
  --z-navbar-bg-scroll:rgba(19, 12, 30, 0.97);
  --z-navbar-hover:    #a78bfa;

  --z-overlay:         rgba(12, 7, 22, 0.85);
  --z-overlay-heavy:   rgba(12, 7, 22, 0.94);
}


/* ─── 6. LIGHT THEME ─── */
[data-theme="light"] {
  /* Warm ivory base — not flat white, slightly warm and layered */
  --z-bg:              #faf9f7;
  --z-bg-deep:         #f2f0ec;
  --z-bg-gradient:     linear-gradient(160deg, #faf9f7 0%, #f2f0ec 100%);
  --z-surface-1:       #ffffff;
  --z-surface-2:       #f5f4f1;
  --z-surface-3:       #eae8e4;
  --z-glass:           rgba(255, 255, 255, 0.88);
  --z-glass-light:     rgba(0, 0, 0, 0.025);

  /* Deep indigo accent — punchy, professional, high contrast on light */
  --z-accent:          #4f46e5;
  --z-accent-light:    #6366f1;
  --z-accent-dark:     #3730a3;
  --z-accent-glow:     rgba(79, 70, 229, 0.1);
  --z-accent-gradient: linear-gradient(135deg, #4f46e5, #6366f1);

  /* Rich dark text for excellent readability */
  --z-text:            #1a1a2e;
  --z-text-sec:        #4a4a68;
  --z-text-muted:      #8a8aa3;
  --z-text-inverse:    #ffffff;

  /* Status colors — slightly deeper for light bg contrast */
  --z-success:         #059669;
  --z-success-light:   #10b981;
  --z-success-bg:      rgba(5, 150, 105, 0.08);
  --z-danger:          #dc2626;
  --z-danger-light:    #ef4444;
  --z-danger-bg:       rgba(220, 38, 38, 0.07);
  --z-warning:         #d97706;
  --z-warning-light:   #f59e0b;
  --z-warning-bg:      rgba(217, 119, 6, 0.07);
  --z-info:            #2563eb;
  --z-info-light:      #3b82f6;
  --z-info-bg:         rgba(37, 99, 235, 0.07);

  /* Secondary palette — more vivid for light backgrounds */
  --z-indigo:          #4338ca;
  --z-indigo-light:    #4f46e5;
  --z-purple:          #7c3aed;
  --z-purple-light:    #8b5cf6;
  --z-pink:            #db2777;
  --z-teal:            #0d9488;
  --z-cyan:            #0284c7;
  --z-sky:             #0ea5e9;

  /* Refined borders — warm gray, not cold black */
  --z-border:          rgba(26, 26, 46, 0.08);
  --z-border-hover:    rgba(26, 26, 46, 0.16);
  --z-border-accent:   rgba(79, 70, 229, 0.35);
  --z-divider:         rgba(26, 26, 46, 0.06);

  /* Soft layered shadows — subtle depth, no harsh edges */
  --z-shadow-sm:       0 1px 2px rgba(26, 26, 46, 0.06), 0 1px 3px rgba(26, 26, 46, 0.04);
  --z-shadow-md:       0 4px 8px rgba(26, 26, 46, 0.05), 0 2px 4px rgba(26, 26, 46, 0.03), 0 0 0 1px rgba(26, 26, 46, 0.03);
  --z-shadow-lg:       0 8px 24px rgba(26, 26, 46, 0.08), 0 4px 8px rgba(26, 26, 46, 0.04);
  --z-shadow-xl:       0 16px 48px rgba(26, 26, 46, 0.1), 0 8px 16px rgba(26, 26, 46, 0.04);
  --z-shadow-glow:     0 0 24px rgba(79, 70, 229, 0.12);

  /* Navbar — frosted glass with warm tint */
  --z-navbar-bg:       linear-gradient(to right, rgba(250, 249, 247, 0.92), rgba(245, 244, 241, 0.92));
  --z-navbar-bg-scroll:rgba(255, 255, 255, 0.94);
  --z-navbar-text:     rgba(26, 26, 46, 0.85);
  --z-navbar-hover:    #4f46e5;

  /* Overlays */
  --z-overlay:         rgba(26, 26, 46, 0.45);
  --z-overlay-heavy:   rgba(26, 26, 46, 0.75);
}


/* ─── 7. BACKWARD COMPATIBILITY BRIDGE ─── */
/* Maps old variable names to new central tokens.                   */
/* Allows existing CSS files to keep working while migrating.       */
/* Remove these after full migration is complete.                   */
:root,
[data-theme] {
  /* ── anasayfa.css vars ── */
  --primary:           var(--z-bg);
  --primary-light:     var(--z-surface-1);
  --primary-dark:      var(--z-bg-deep);
  --accent:            var(--z-accent);
  --accent-light:      var(--z-accent-light);
  --accent-dark:       var(--z-accent-dark);
  --text-primary:      var(--z-text);
  --text-secondary:    var(--z-text-sec);
  --text-muted:        var(--z-text-muted);
  --success:           var(--z-success);
  --danger:            var(--z-danger);
  --border:            var(--z-border);
  --card-radius:       var(--z-radius-lg);
  --btn-radius:        var(--z-radius-md);
  --shadow-sm:         var(--z-shadow-sm);
  --shadow-md:         var(--z-shadow-md);
  --shadow-lg:         var(--z-shadow-lg);
  --shadow-xl:         var(--z-shadow-xl);
  --transition-fast:   var(--z-duration-fast) var(--z-ease);
  --transition-normal: var(--z-duration) var(--z-ease);
  --transition-slow:   var(--z-duration-slow) var(--z-ease);
  --container-max:     var(--z-container);
  --font-sans:         var(--z-font-sans);
  --font-mono:         var(--z-font-mono);

  /* ── gallery / content vars ── */
  --gallery-primary:      var(--z-bg);
  --gallery-primary-dark: var(--z-bg-deep);
  --gallery-glass-bg:     var(--z-glass-light);
  --gallery-glass-border: var(--z-border);
  --gallery-glass-hover:  var(--z-glass);
  --gallery-accent:       var(--z-accent);
  --gallery-accent-light: var(--z-accent-light);
  --gallery-accent-dark:  var(--z-accent-dark);
  --gallery-featured:     var(--z-accent);
  --gallery-trending:     var(--z-danger);
  --gallery-newest:       var(--z-success);
  --gallery-shadow-md:    var(--z-shadow-md);
  --gallery-shadow-lg:    var(--z-shadow-lg);
  --gallery-shadow-xl:    var(--z-shadow-xl);

  /* ── navbar vars ── */
  --navbar-bg:         var(--z-navbar-bg);
  --navbar-bg-scrolled:var(--z-navbar-bg-scroll);
  --navbar-text:       var(--z-navbar-text);
  --navbar-text-hover: var(--z-navbar-hover);
  --navbar-border:     var(--z-border);
  --navbar-border-hover:var(--z-border-accent);

  /* ── cart vars ── */
  --cart-primary:      var(--z-bg);
  --cart-primary-light:var(--z-surface-1);
  --cart-primary-dark: var(--z-bg-deep);
  --cart-accent:       var(--z-accent);
  --cart-accent-light: var(--z-accent-light);
  --cart-accent-dark:  var(--z-accent-dark);
  --cart-success:      var(--z-success);
  --cart-success-light:var(--z-success-light);
  --cart-warning:      var(--z-warning);
  --cart-danger:       var(--z-danger);
  --cart-danger-light: var(--z-danger-light);
  --cart-info:         var(--z-info);
  --cart-surface:      var(--z-surface-1);
  --cart-surface-light:var(--z-surface-2);
  --cart-elevated:     var(--z-surface-3);
  --cart-text-primary: var(--z-text);
  --cart-text-secondary:var(--z-text-sec);
  --cart-text-muted:   var(--z-text-muted);
  --cart-border:       var(--z-border);
  --cart-border-hover: var(--z-border-accent);

  /* ── orders vars ── */
  --surface-1:         var(--z-bg-deep);
  --surface-2:         var(--z-bg);
  --surface-3:         var(--z-surface-1);
  --glass:             var(--z-glass);
  --info:              var(--z-info);
  --warning:           var(--z-warning);

  /* ── notifications vars ── */
  --np-primary:        var(--z-cyan);
  --np-primary-dark:   var(--z-info);
  --np-primary-light:  var(--z-sky);
  --np-success:        var(--z-success);
  --np-warning:        var(--z-warning);
  --np-danger:         var(--z-danger);
  --np-info:           var(--z-cyan);
  --np-bg-primary:     var(--z-bg);
  --np-bg-secondary:   var(--z-surface-1);
  --np-bg-tertiary:    var(--z-surface-3);
  --np-text-primary:   var(--z-text);
  --np-text-secondary: var(--z-text);
  --np-text-muted:     var(--z-text-sec);
  --np-glass-bg:       var(--z-glass);

  /* ── forum vars ── */
  --primary-color:     var(--z-indigo);
  --secondary-color:   var(--z-purple);
  --accent-color:      var(--z-teal);
  --warning-color:     var(--z-warning);
  --danger-color:      var(--z-danger);
  --info-color:        var(--z-info);
  --bg-primary:        var(--z-bg);
  --bg-secondary:      var(--z-surface-1);
  --bg-tertiary:       var(--z-surface-3);
  --bg-quaternary:     var(--z-bg-deep);
  --bg-card:           var(--z-surface-1);
  --text-primary:      var(--z-text);
  --text-secondary:    var(--z-text);
  --border-color:      var(--z-surface-3);

  /* ── accounts vars ── */
  --color-bg-0:        var(--z-bg-deep);
  --color-bg-1:        var(--z-bg);
  --color-bg-2:        var(--z-surface-1);
  --color-bg-3:        var(--z-surface-2);
  --color-bg-glass:    var(--z-glass);
  --color-border:      var(--z-surface-2);
  --color-text-0:      var(--z-text);
  --color-text-1:      var(--z-text);
  --color-text-2:      var(--z-text-sec);
  --color-accent:      var(--z-info);
  --color-accent-alt:  var(--z-purple);
  --color-danger:      var(--z-danger);
  --color-success:     var(--z-success);

  /* ── support app vars ── */
  --hc-color-bg:       var(--z-bg-deep);
  --hc-color-bg-alt:   var(--z-bg);
  --hc-color-surface:  var(--z-glass-light);
  --hc-color-text:     var(--z-text);
  --hc-color-text-soft:var(--z-text-sec);
  --hc-accent:         var(--z-info);
  --hc-accent-alt:     var(--z-purple);
  --hc-accent-warm:    var(--z-pink);
  --hc-accent-green:   var(--z-success);
  --hc-accent-amber:   var(--z-accent);
  --hc-accent-red:     var(--z-danger);

  /* ── techlab vars ── */
  --tl-bg:             var(--z-bg);
  --tl-surface:        var(--z-surface-1);
  --tl-surface-2:      var(--z-surface-2);
  --tl-surface-3:      var(--z-surface-3);
  --tl-text:           var(--z-text);
  --tl-text-sec:       var(--z-text-sec);
  --tl-text-dim:       var(--z-text-muted);
  --tl-accent:         var(--z-accent);
  --tl-accent-light:   var(--z-accent-light);
  --tl-border:         var(--z-border);
  --tl-border-accent:  var(--z-border-hover);
}


/* ─── 8. THEME SWITCHER DROPDOWN UI ─── */

.theme-dropdown {
  min-width: 220px;
  padding: 0.75rem;
  background: var(--z-surface-1);
  border: 1px solid var(--z-border-hover);
  border-radius: var(--z-radius-md);
  box-shadow: var(--z-shadow-lg);
}

.theme-dropdown-header {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--z-text-muted);
  padding: 0 0.25rem 0.5rem;
  border-bottom: 1px solid var(--z-divider);
  margin-bottom: 0.5rem;
}

.theme-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.theme-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 4px;
  border: 1px solid transparent;
  border-radius: var(--z-radius-sm);
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}

.theme-option:hover {
  background: var(--z-glass-light);
  border-color: var(--z-border-hover);
}

.theme-option.active {
  border-color: var(--z-accent);
  background: var(--z-accent-glow);
}

.theme-swatch {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: block;
  box-shadow: var(--z-shadow-sm);
}

.theme-option.active .theme-swatch {
  box-shadow: 0 0 0 2px var(--z-accent), var(--z-shadow-sm);
}

.theme-name {
  font-size: 0.5625rem;
  font-weight: 600;
  color: var(--z-text-sec);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.theme-option.active .theme-name {
  color: var(--z-accent);
}

.theme-toggle-btn .icon-wrapper i {
  transition: transform 0.3s var(--z-ease-spring);
}

.theme-toggle-btn:hover .icon-wrapper i {
  transform: rotate(30deg);
}


/* ─── 9. LIGHT THEME — COMPREHENSIVE COMPONENT OVERRIDES ─── */

/* ── 9.1 Navbar ── */
[data-theme="light"] #mainNavbar {
  border-bottom-color: var(--z-border);
}
[data-theme="light"] #mainNavbar.scrolled {
  border-bottom-color: var(--z-border-hover);
  box-shadow: var(--z-shadow-md);
}
[data-theme="light"] .nav-link,
[data-theme="light"] .icon-btn {
  color: var(--z-text-sec);
}
[data-theme="light"] .nav-link:hover,
[data-theme="light"] .icon-btn:hover {
  color: var(--z-accent);
  background: var(--z-accent-glow);
  border-color: var(--z-border-accent);
}
[data-theme="light"] .create-btn,
[data-theme="light"] .register-btn {
  background: var(--z-accent-gradient);
  color: #fff !important;
  box-shadow: var(--z-shadow-glow);
}
[data-theme="light"] .create-btn:hover,
[data-theme="light"] .register-btn:hover {
  box-shadow: 0 4px 16px var(--z-accent-glow);
  color: #fff !important;
}
[data-theme="light"] .brand-name {
  color: var(--z-text);
}
[data-theme="light"] .brand-link:hover .brand-name {
  background: var(--z-accent-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
[data-theme="light"] .nav-background .nav-gradient,
[data-theme="light"] .nav-background .nav-glow {
  opacity: 0;
}

/* ── 9.2 Dropdown Menus (all) ── */
[data-theme="light"] .dropdown-menu {
  background: var(--z-surface-1);
  border: 1px solid var(--z-border);
  box-shadow: var(--z-shadow-lg);
  color: var(--z-text);
}
[data-theme="light"] .dropdown-menu .dropdown-item,
[data-theme="light"] .dropdown-menu a {
  color: var(--z-text-sec);
}
[data-theme="light"] .dropdown-menu .dropdown-item:hover,
[data-theme="light"] .dropdown-menu a:hover {
  background: var(--z-surface-2);
  color: var(--z-accent);
}
[data-theme="light"] .dropdown-header,
[data-theme="light"] .dropdown-header h6,
[data-theme="light"] .theme-dropdown-header {
  color: var(--z-text-muted);
}
[data-theme="light"] .theme-dropdown {
  background: var(--z-surface-1);
}

/* ── 9.3 Messages & Notifications Dropdowns ── */
[data-theme="light"] .messages-dropdown,
[data-theme="light"] .notifications-dropdown8427,
[data-theme="light"] [class*="notifications-dropdown"] {
  background: var(--z-surface-1) !important;
  border-color: var(--z-border) !important;
}
[data-theme="light"] .messages-dropdown .dropdown-body,
[data-theme="light"] .notifications-dropdown8427 [class*="body"],
[data-theme="light"] [class*="notif-item"],
[data-theme="light"] [class*="message-item"] {
  background: var(--z-surface-1);
  border-color: var(--z-divider);
  color: var(--z-text);
}
[data-theme="light"] .messages-dropdown .dropdown-body *:hover,
[data-theme="light"] [class*="notif-item"]:hover,
[data-theme="light"] [class*="message-item"]:hover {
  background: var(--z-surface-2);
}
[data-theme="light"] .messages-dropdown .dropdown-footer,
[data-theme="light"] [class*="dropdown-footer"] {
  background: var(--z-surface-2);
  border-color: var(--z-divider);
}

/* ── 9.4 Auth Popup / Modals ── */
[data-theme="light"] #authPopupContent {
  background: var(--z-surface-1) !important;
  border-color: var(--z-border) !important;
  box-shadow: var(--z-shadow-xl) !important;
}
[data-theme="light"] #authPopupContent input,
[data-theme="light"] #authPopupContent textarea,
[data-theme="light"] #authPopupContent select {
  background: var(--z-surface-2) !important;
  border-color: var(--z-border) !important;
  color: var(--z-text) !important;
}
[data-theme="light"] #authPopupContent input::placeholder {
  color: var(--z-text-muted) !important;
}
[data-theme="light"] #authPopupContent label,
[data-theme="light"] #authPopupContent h2,
[data-theme="light"] #authPopupContent h3,
[data-theme="light"] #authPopupContent p {
  color: var(--z-text);
}
[data-theme="light"] #loginSubmitBtn {
  background: var(--z-accent-gradient) !important;
  color: #fff !important;
}
[data-theme="light"] .modal-content,
[data-theme="light"] .modal-dialog .modal-content {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  color: var(--z-text);
}
[data-theme="light"] .modal-header {
  border-color: var(--z-divider);
  color: var(--z-text);
}
[data-theme="light"] .modal-footer {
  border-color: var(--z-divider);
  background: var(--z-surface-2);
}

/* ── 9.5 Cart Modals ── */
[data-theme="light"] .modal-modern {
  --m-surface: var(--z-surface-1);
  --m-surface-2: var(--z-surface-2);
  --m-border: var(--z-border);
  --m-text: var(--z-text);
  --m-text-sec: var(--z-text-sec);
}

/* ── 9.6 Forms (global) ── */
[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),
[data-theme="light"] textarea,
[data-theme="light"] select {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  color: var(--z-text);
}
[data-theme="light"] input:focus,
[data-theme="light"] textarea:focus,
[data-theme="light"] select:focus {
  border-color: var(--z-accent);
  box-shadow: 0 0 0 3px var(--z-accent-glow);
}
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder {
  color: var(--z-text-muted);
}

/* ── 9.7 Cards & Surfaces ── */
[data-theme="light"] .card,
[data-theme="light"] [class*="-card"],
[data-theme="light"] [class*="_card"] {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  box-shadow: var(--z-shadow-sm);
  color: var(--z-text);
}
[data-theme="light"] .card:hover,
[data-theme="light"] [class*="-card"]:hover {
  box-shadow: var(--z-shadow-md);
  border-color: var(--z-border-hover);
}

/* ── 9.8 Footer ── */
[data-theme="light"] #footer947.footer947 {
  --ft-bg947: var(--z-surface-2);
  background: var(--ft-bg947);
  border-top: 1px solid var(--z-border);
}
[data-theme="light"] .footer-content947::before {
  opacity: 0.3;
}
[data-theme="light"] .social-link947 {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  color: var(--z-text-sec);
}
[data-theme="light"] .social-link947:hover {
  background: var(--z-accent-gradient);
  color: #fff;
}
[data-theme="light"] .newsletter947 {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  box-shadow: var(--z-shadow-sm);
}
[data-theme="light"] .newsletter-input947 {
  background: var(--z-bg);
  border-color: var(--z-border);
  color: var(--z-text);
}
[data-theme="light"] .newsletter-input947::placeholder {
  color: var(--z-text-muted);
}
[data-theme="light"] .newsletter-btn947 {
  background: var(--z-accent-gradient);
  color: #fff;
}
[data-theme="light"] .footer-link947 {
  color: var(--z-text-sec);
}
[data-theme="light"] .footer-link947:hover {
  color: var(--z-accent);
}
[data-theme="light"] .footer-bottom947 {
  border-color: var(--z-divider);
  color: var(--z-text-muted);
}
[data-theme="light"] .lang-switch947 {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  color: var(--z-text-sec);
}
[data-theme="light"] .lang-select947 {
  color: var(--z-text);
}

/* ── 9.9 Gallery / Trending Content ── */
[data-theme="light"] .content-gallery-section {
  background: var(--z-surface-2);
}
[data-theme="light"] .gallery-gradient-overlay {
  background: none;
}
[data-theme="light"] .gallery-particle-field,
[data-theme="light"] .gallery-floating-elements,
[data-theme="light"] .gallery-ambient-orbs {
  opacity: 0.4;
}
[data-theme="light"] .gallery-card,
[data-theme="light"] [class*="gallery-content-card"] {
  background: var(--z-surface-1);
  box-shadow: var(--z-shadow-sm);
  border-color: var(--z-border);
}
[data-theme="light"] .gallery-tab-btn {
  color: var(--z-text-sec);
  background: var(--z-surface-1);
  border-color: var(--z-border);
}
[data-theme="light"] .gallery-tab-btn:hover,
[data-theme="light"] .gallery-tab-btn[aria-selected="true"] {
  color: var(--z-accent);
  border-color: var(--z-accent);
  background: var(--z-accent-glow);
}

/* ── 9.10 Mega Menu / Workshop Dropdown ── */
[data-theme="light"] .mega-menu,
[data-theme="light"] [class*="workshop"] .dropdown-menu {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  box-shadow: var(--z-shadow-xl);
}

/* ── 9.11 Search Dropdown ── */
[data-theme="light"] #searchResultsDropdown,
[data-theme="light"] [class*="search-results"],
[data-theme="light"] [class*="search-dropdown"] {
  background: var(--z-surface-1) !important;
  border-color: var(--z-border) !important;
  box-shadow: var(--z-shadow-lg) !important;
}
[data-theme="light"] [class*="search-result-item"]:hover,
[data-theme="light"] [class*="search-item"]:hover {
  background: var(--z-surface-2);
}

/* ── 9.12 Tooltips & Popovers ── */
[data-theme="light"] .tooltip-inner,
[data-theme="light"] .popover {
  background: var(--z-text);
  color: var(--z-text-inverse);
}
[data-theme="light"] .popover-body {
  color: var(--z-text-inverse);
}

/* ── 9.13 Badges & Tags ── */
[data-theme="light"] .badge {
  border-color: var(--z-border);
}

/* ── 9.14 Scrollbar (WebKit) ── */
[data-theme="light"] ::-webkit-scrollbar-track {
  background: var(--z-surface-2);
}
[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: var(--z-text-muted);
  border-radius: 4px;
}
[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
  background: var(--z-text-sec);
}

/* ── 9.15 Product Cards ── */
[data-theme="light"] .product-card,
[data-theme="light"] [class*="product-card"] {
  background: var(--z-surface-1);
  border-color: var(--z-border);
  box-shadow: var(--z-shadow-sm);
}
[data-theme="light"] .product-card:hover,
[data-theme="light"] [class*="product-card"]:hover {
  box-shadow: var(--z-shadow-md);
}

/* ── 9.16 Forum Cards ── */
[data-theme="light"] [class*="forum-card"],
[data-theme="light"] [class*="thread-card"],
[data-theme="light"] [class*="forum-item"] {
  background: var(--z-surface-1);
  border-color: var(--z-border);
}

/* ── 9.17 General text/link colors ── */
[data-theme="light"] a {
  color: var(--z-accent);
}
[data-theme="light"] a:hover {
  color: var(--z-accent-dark);
}
[data-theme="light"] h1, [data-theme="light"] h2,
[data-theme="light"] h3, [data-theme="light"] h4,
[data-theme="light"] h5, [data-theme="light"] h6 {
  color: var(--z-text);
}

/* ── 9.18 Overlay/Backdrop for light ── */
[data-theme="light"] .auth-popup-overlay,
[data-theme="light"] [class*="-overlay"],
[data-theme="light"] [class*="-backdrop"] {
  background: var(--z-overlay) !important;
}

/* ── 9.19 Sidebar Filters ── */
[data-theme="light"] [class*="sidebar-filter"],
[data-theme="light"] [class*="filter-section"] {
  background: var(--z-surface-1);
  border-color: var(--z-border);
}

/* ── 9.20 Mobile Menu ── */
[data-theme="light"] .mw-panel,
[data-theme="light"] [class*="mobile-menu"],
[data-theme="light"] [class*="mw-panel"] {
  background: var(--z-surface-1) !important;
  color: var(--z-text);
}
[data-theme="light"] .mw-panel a,
[data-theme="light"] [class*="mobile-menu"] a {
  color: var(--z-text-sec);
}
[data-theme="light"] .mw-panel a:hover {
  color: var(--z-accent);
  background: var(--z-accent-glow);
}


/* ─── 10. THEME TRANSITION ─── */
/* Smooth transition when switching themes */
html[data-theme-transitioning],
html[data-theme-transitioning] *,
html[data-theme-transitioning] *::before,
html[data-theme-transitioning] *::after {
  transition:
    background-color 0.4s ease,
    border-color     0.3s ease,
    color            0.3s ease,
    box-shadow       0.3s ease !important;
}

/* ─── 11. FIXED THEME WIDGET ─── */
#themeWidget {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 1200;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

#themeWidgetTrigger {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--z-surface-1);
  border: 1px solid var(--z-border);
  border-radius: 40px;
  color: var(--z-text-sec);
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  letter-spacing: 0.01em;
}

#themeWidgetTrigger:hover,
#themeWidget.active #themeWidgetTrigger {
  background: var(--z-surface-2);
  border-color: var(--z-border-accent);
  color: var(--z-accent);
  box-shadow: 0 6px 28px rgba(0,0,0,0.3), 0 0 0 1px var(--z-border-accent);
}

#themeWidgetIcon {
  font-size: 0.95rem;
  transition: transform 0.35s ease;
}

#themeWidget.active #themeWidgetIcon {
  transform: rotate(30deg);
}

#themeWidgetLabel {
  white-space: nowrap;
}

/* Panel */
#themeWidgetPanel {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
  width: 220px;
  background: var(--z-surface-1);
  border: 1px solid var(--z-border);
  border-radius: 16px;
  padding: 0;
  box-shadow: 0 16px 48px rgba(0,0,0,0.35), 0 0 0 1px var(--z-border);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  overflow: hidden;

  /* Hidden state */
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px) scale(0.97);
  transform-origin: bottom left;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
}

#themeWidgetPanel.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

#themeWidgetHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 10px;
  border-bottom: 1px solid var(--z-border);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--z-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#themeWidgetClose {
  width: 24px;
  height: 24px;
  background: transparent;
  border: 1px solid var(--z-border);
  border-radius: 6px;
  color: var(--z-text-muted);
  font-size: 0.7rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  padding: 0;
}

#themeWidgetClose:hover {
  background: var(--z-surface-2);
  color: var(--z-text);
  border-color: var(--z-border-accent);
}

#themeWidgetGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 12px;
}

.tw-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 4px;
  background: transparent;
  border: 1px solid var(--z-border);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.18s ease;
  color: var(--z-text-sec);
}

.tw-option:hover {
  background: var(--z-surface-2);
  border-color: var(--z-border-accent);
  color: var(--z-text);
  transform: translateY(-2px);
}

.tw-option.tw-active {
  border-color: var(--z-accent);
  background: var(--z-accent-glow);
  color: var(--z-accent);
  box-shadow: 0 0 0 2px var(--z-accent-glow);
}

.tw-swatch {
  display: block;
  width: 32px;
  height: 20px;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
  flex-shrink: 0;
}

.tw-name {
  font-size: 0.68rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

/* Light theme overrides */
[data-theme="light"] #themeWidgetTrigger {
  background: #ffffff;
  border-color: #e2e8f0;
  color: #475569;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
[data-theme="light"] #themeWidgetPanel {
  background: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 16px 48px rgba(0,0,0,0.15);
}
[data-theme="light"] .tw-option {
  border-color: #e2e8f0;
  color: #64748b;
}
[data-theme="light"] .tw-option:hover {
  background: #f8fafc;
  border-color: var(--z-accent);
}

/* Responsive — tiny screens */
@media (max-width: 480px) {
  #themeWidget {
    bottom: 16px;
    left: 16px;
  }
  #themeWidgetLabel {
    display: none;
  }
  #themeWidgetTrigger {
    padding: 10px 12px;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    justify-content: center;
  }
  #themeWidgetPanel {
    width: 200px;
  }
}
