/* ============================================
   SEASONAL THEME SYSTEM - ShifoLine
   Global CSS Variables & Theme Styles
   ============================================ */

/* ============================================
   BASE THEME VARIABLES (Default / Neutral)
   ============================================ */
:root {
    /* Primary Colors */
    --theme-primary: #0EA5E9;
    --theme-primary-hover: #0284C7;
    --theme-secondary: #14B8A6;
    
    /* Background Colors */
    --theme-bg-primary: #f8fafc;
    --theme-bg-secondary: #ffffff;
    --theme-bg-tertiary: #f1f5f9;
    --theme-bg-gradient: linear-gradient(135deg, #0EA5E9 0%, #14B8A6 100%);
    
    /* Text Colors */
    --theme-text-primary: #0f172a;
    --theme-text-secondary: #475569;
    --theme-text-muted: #94a3b8;
    
    /* Border & Effects */
    --theme-border: #e2e8f0;
    --theme-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --theme-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    
    /* Accent Colors */
    --theme-accent: #2563eb;
    --theme-success: #10b981;
    --theme-warning: #f59e0b;
    --theme-danger: #ef4444;
    
    /* Decorative */
    --theme-decoration-color: rgba(14, 165, 233, 0.1);
    --theme-glow: 0 0 20px rgba(14, 165, 233, 0.3);
}

/* Explicit default season keeps neutral style without seasonal overrides */
[data-season="default"] {
    --theme-primary: #0EA5E9;
    --theme-primary-hover: #0284C7;
    --theme-secondary: #14B8A6;
    --theme-bg-primary: #f8fafc;
    --theme-bg-secondary: #ffffff;
    --theme-bg-tertiary: #f1f5f9;
    --theme-bg-gradient: linear-gradient(135deg, #0EA5E9 0%, #14B8A6 100%);
    --theme-text-primary: #0f172a;
    --theme-text-secondary: #475569;
    --theme-border: #e2e8f0;
    --theme-decoration-color: rgba(14, 165, 233, 0.1);
    --theme-glow: none;
}

/* Default theme must stay clean (no seasonal edge stickers/decorations). */
[data-season="default"] #theme-ambient,
[data-season="default"] .theme-decoration-overlay,
[data-season="default"] .theme-corner-decorations,
[data-season="default"] .corner-decoration,
[data-season="default"] .snowflake,
[data-season="default"] .butterfly,
[data-season="default"] .petal,
[data-season="default"] .leaf,
[data-season="default"] .sparkle,
[data-season="default"] .wave,
[data-season="default"] .wave-container,
[data-season="default"] .summer-sun,
[data-season="default"] .sun-light-rays,
[data-season="default"] .ocean-waves,
[data-season="default"] .beach-bottom,
[data-season="default"] .frost-edge,
[data-season="default"] .halloween-fog,
[data-season="default"] .halloween-moon,
[data-season="default"] .spooky-bat,
[data-season="default"] .spooky-float {
    display: none !important;
    animation: none !important;
}

/* Dark mode base */
[data-theme="dark"], .dark {
    --theme-bg-primary: #0f172a;
    --theme-bg-secondary: #1e293b;
    --theme-bg-tertiary: #334155;
    --theme-text-primary: #f8fafc;
    --theme-text-secondary: #cbd5e1;
    --theme-text-muted: #64748b;
    --theme-border: #334155;
}

/* ============================================
   вќ„пёЏ WINTER THEME (Qishgi Ko'rinish)
   ============================================ */
[data-season="winter"] {
    --theme-primary: #60A5FA;
    --theme-primary-hover: #3B82F6;
    --theme-secondary: #93C5FD;
    --theme-bg-primary: #F0F9FF;
    --theme-bg-secondary: #ffffff;
    --theme-bg-tertiary: #E0F2FE;
    --theme-bg-gradient: linear-gradient(135deg, #60A5FA 0%, #93C5FD 50%, #BFDBFE 100%);
    --theme-text-primary: #1E3A5F;
    --theme-text-secondary: #3B6998;
    --theme-border: #BAE6FD;
    --theme-decoration-color: rgba(147, 197, 253, 0.2);
    --theme-glow: 0 0 30px rgba(147, 197, 253, 0.5);
    --theme-accent: #2563eb;
}

[data-season="winter"][data-theme="dark"],
[data-season="winter"].dark {
    --theme-bg-primary: #0c1929;
    --theme-bg-secondary: #132337;
    --theme-bg-tertiary: #1a3a5c;
    --theme-text-primary: #E0F2FE;
    --theme-text-secondary: #93C5FD;
    --theme-border: #1e4976;
}

/* Winter Glassmorphism Effect */
[data-season="winter"] .card,
[data-season="winter"] .glass-effect {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

[data-season="winter"][data-theme="dark"] .card,
[data-season="winter"].dark .card {
    background: rgba(30, 58, 95, 0.85) !important;
    border: 1px solid rgba(147, 197, 253, 0.2);
}

/* Winter frost border effect */
[data-season="winter"] .frost-border {
    box-shadow: 
        0 0 0 1px rgba(255, 255, 255, 0.5),
        0 0 20px rgba(147, 197, 253, 0.3),
        inset 0 0 20px rgba(255, 255, 255, 0.1);
}

/* ============================================
   рџЊё SPRING THEME (Bahorgi Ko'rinish)
   ============================================ */
[data-season="spring"] {
    --theme-primary: #22C55E;
    --theme-primary-hover: #16A34A;
    --theme-secondary: #A3E635;
    --theme-bg-primary: #F0FDF4;
    --theme-bg-secondary: #ffffff;
    --theme-bg-tertiary: #DCFCE7;
    --theme-bg-gradient: linear-gradient(135deg, #22C55E 0%, #A3E635 50%, #BEF264 100%);
    --theme-text-primary: #14532D;
    --theme-text-secondary: #166534;
    --theme-border: #BBF7D0;
    --theme-decoration-color: rgba(34, 197, 94, 0.15);
    --theme-glow: 0 0 25px rgba(34, 197, 94, 0.4);
    --theme-accent: #059669;
}

[data-season="spring"][data-theme="dark"],
[data-season="spring"].dark {
    --theme-primary: #5f8e79;
    --theme-primary-hover: #527b69;
    --theme-secondary: #82a99a;
    --theme-bg-primary: #121716;
    --theme-bg-secondary: #1a2423;
    --theme-bg-tertiary: #22302e;
    --theme-bg-gradient: linear-gradient(135deg, #1c2927 0%, #223331 50%, #1f3934 100%);
    --theme-text-primary: #e7f2ed;
    --theme-text-secondary: #c0d6cc;
    --theme-text-muted: #88a69a;
    --theme-border: #314944;
    --theme-decoration-color: rgba(95, 142, 121, 0.12);
    --theme-glow: 0 0 18px rgba(95, 142, 121, 0.14);
    --theme-accent: #5f8e79;
}

/* Spring soft gradients */
[data-season="spring"] .spring-gradient {
    background: linear-gradient(180deg, 
        rgba(34, 197, 94, 0.05) 0%, 
        rgba(163, 230, 53, 0.08) 50%, 
        rgba(255, 255, 255, 0) 100%
    );
}

/* ============================================
   вЂпёЏ SUMMER THEME (Yozgi Ko'rinish)
   ============================================ */
[data-season="summer"] {
    --theme-primary: #D97706;
    --theme-primary-hover: #B45309;
    --theme-secondary: #F59E0B;
    --theme-bg-primary: #FFF7ED;
    --theme-bg-secondary: #ffffff;
    --theme-bg-tertiary: #FFEDD5;
    --theme-bg-gradient: linear-gradient(135deg, #F59E0B 0%, #FBBF24 50%, #FCD34D 100%);
    --theme-text-primary: #78350F;
    --theme-text-secondary: #92400E;
    --theme-border: #FED7AA;
    --theme-decoration-color: rgba(217, 119, 6, 0.14);
    --theme-glow: 0 0 28px rgba(245, 158, 11, 0.34);
    --theme-accent: #C2410C;
}

[data-season="summer"][data-theme="dark"],
[data-season="summer"].dark {
    --theme-primary: #f0b44a;
    --theme-primary-hover: #dc9a33;
    --theme-secondary: #f6cf82;
    --theme-bg-primary: #1c1410;
    --theme-bg-secondary: #292018;
    --theme-bg-tertiary: #3d2f1f;
    --theme-bg-gradient: linear-gradient(135deg, #f4ce74 0%, #da9a3c 46%, #8a4a18 100%);
    --theme-text-primary: #FEF3C7;
    --theme-text-secondary: #FDE68A;
    --theme-text-muted: #d2a86a;
    --theme-border: #8b5a1f;
    --theme-decoration-color: rgba(240, 180, 74, 0.18);
    --theme-glow: 0 0 22px rgba(240, 180, 74, 0.22);
    --theme-accent: #f0b44a;
}

/* Summer sun rays effect */
[data-season="summer"] .sun-glow {
    box-shadow: 0 0 60px rgba(251, 191, 36, 0.3);
}

/* ============================================
   рџЌ‚ AUTUMN THEME (Kuzgi Ko'rinish)
   ============================================ */
[data-season="autumn"] {
    --theme-primary: #EA580C;
    --theme-primary-hover: #C2410C;
    --theme-secondary: #DC2626;
    --theme-bg-primary: #FFFBEB;
    --theme-bg-secondary: #ffffff;
    --theme-bg-tertiary: #FEF3C7;
    --theme-bg-gradient: linear-gradient(135deg, #EA580C 0%, #DC2626 50%, #B91C1C 100%);
    --theme-text-primary: #7C2D12;
    --theme-text-secondary: #9A3412;
    --theme-border: #FDBA74;
    --theme-decoration-color: rgba(234, 88, 12, 0.12);
    --theme-glow: 0 0 25px rgba(234, 88, 12, 0.35);
    --theme-accent: #B45309;
}

[data-season="autumn"][data-theme="dark"],
[data-season="autumn"].dark {
    --theme-primary: #d07a45;
    --theme-primary-hover: #b96431;
    --theme-secondary: #df9f62;
    --theme-bg-primary: #171111;
    --theme-bg-secondary: #231918;
    --theme-bg-tertiary: #30211f;
    --theme-bg-gradient: linear-gradient(135deg, #2b1c1a 0%, #3a2522 50%, #4a3028 100%);
    --theme-text-primary: #ffe9dd;
    --theme-text-secondary: #e8c3a8;
    --theme-text-muted: #b48b78;
    --theme-border: #5b3f33;
    --theme-decoration-color: rgba(208, 122, 69, 0.18);
    --theme-glow: 0 0 22px rgba(208, 122, 69, 0.2);
    --theme-accent: #d07a45;
}

/* Autumn warm shadows */
[data-season="autumn"] .autumn-shadow {
    box-shadow: 0 4px 20px rgba(234, 88, 12, 0.15);
}

/* ============================================
   THEME TRANSITION EFFECTS
   ============================================ */
.theme-transition,
.theme-transition * {
    transition: 
        background-color 0.5s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease !important;
}

/* Smooth theme change animation */
@keyframes themeChange {
    0% { opacity: 0.8; transform: scale(0.99); }
    50% { opacity: 0.9; }
    100% { opacity: 1; transform: scale(1); }
}

.theme-changing {
    animation: themeChange 0.5s ease-out;
}

/* Global theme switch lock: prevent "div-by-div" repaint during toggle. */
html.theme-switching,
html.theme-switching body,
html.theme-switching body * {
    transition: none !important;
    animation-play-state: paused !important;
}

/* ============================================
   THEME-AWARE COMPONENTS
   ============================================ */

/* Gradient backgrounds */
.gradient-bg {
    background: var(--theme-bg-gradient);
}

/* Cards with theme colors */
.theme-card {
    background: var(--theme-bg-secondary);
    border: 1px solid var(--theme-border);
    color: var(--theme-text-primary);
}

/* Buttons */
.theme-btn-primary {
    background: var(--theme-primary);
    color: white;
}

.theme-btn-primary:hover {
    background: var(--theme-primary-hover);
}

/* Text colors */
.theme-text {
    color: var(--theme-text-primary);
}

.theme-text-secondary {
    color: var(--theme-text-secondary);
}

.theme-text-muted {
    color: var(--theme-text-muted);
}

/* Borders */
.theme-border {
    border-color: var(--theme-border);
}

/* Backgrounds */
.theme-bg {
    background-color: var(--theme-bg-primary);
}

.theme-bg-card {
    background-color: var(--theme-bg-secondary);
}

/* Glow effects */
.theme-glow {
    box-shadow: var(--theme-glow);
}

/* ============================================
   DECORATIVE OVERLAYS
   ============================================ */
.theme-decoration-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9999;
    overflow: hidden;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    .theme-transition,
    .theme-transition *,
    .theme-changing {
        transition: none !important;
        animation: none !important;
    }
}

/* Disable animations when toggled off */
[data-animations="off"] .theme-decoration-overlay,
[data-animations="off"] .season-animation {
    display: none !important;
}

[data-animations="off"] .snowflake,
[data-animations="off"] .butterfly,
[data-animations="off"] .petal,
[data-animations="off"] .leaf,
[data-animations="off"] .sparkle,
[data-animations="off"] .wave,
[data-animations="off"] .sun-ray,
[data-animations="off"] .wind-gust,
[data-animations="off"] .summer-sun,
[data-animations="off"] .ocean-waves,
[data-animations="off"] .cloud,
[data-animations="off"] .sun-light-rays,
[data-animations="off"] .halloween-fog,
[data-animations="off"] .halloween-moon,
[data-animations="off"] .spooky-bat,
[data-animations="off"] .spooky-float,
[data-animations="off"] .frost-edge,
[data-animations="off"] .theme-corner-decorations,
[data-animations="off"] .corner-decoration,
[data-animations="off"] .theme-decoration-overlay *,
[data-animations="off"] .beach-bottom,
[data-animations="off"] .sun-glow,
[data-animations="off"] #theme-ambient {
    animation: none !important;
    display: none !important;
}

/* ============================================
   GLOBAL THEME APPLICATION
   Override Tailwind classes with theme colors
   ============================================ */

/* Body & HTML base styling */
html, body {
    background-color: var(--theme-bg-primary) !important;
    color: var(--theme-text-primary) !important;
}

/* Override white backgrounds */
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-white,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-gray-50 {
    background-color: var(--theme-bg-secondary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .bg-slate-50,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-zinc-50,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-stone-50 {
    background-color: var(--theme-bg-secondary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .bg-gray-100,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-slate-100 {
    background-color: var(--theme-bg-tertiary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .bg-zinc-100,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-stone-100 {
    background-color: var(--theme-bg-tertiary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) [class*="bg-white/"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="bg-gray-50/"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="bg-slate-50/"] {
    background-color: var(--theme-bg-secondary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) [class*="bg-gray-100/"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="bg-slate-100/"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="bg-zinc-100/"] {
    background-color: var(--theme-bg-tertiary) !important;
}

/* Override text colors */
[data-season]:not([data-season=""]):not([data-season="default"]) .text-gray-900,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-gray-800,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-slate-900 {
    color: var(--theme-text-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .text-zinc-900,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-stone-900,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-slate-800 {
    color: var(--theme-text-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .text-gray-600,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-gray-700,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-slate-600 {
    color: var(--theme-text-secondary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .text-slate-700,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-zinc-700,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-stone-700 {
    color: var(--theme-text-secondary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .text-gray-500,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-gray-400,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-slate-500 {
    color: var(--theme-text-muted) !important;
}

/* Override border colors */
[data-season]:not([data-season=""]):not([data-season="default"]) .border-gray-200,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-gray-300,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-slate-200 {
    border-color: var(--theme-border) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .border-slate-300,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-zinc-300,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-stone-300 {
    border-color: var(--theme-border) !important;
}

/* Navbar styling */
[data-season]:not([data-season=""]):not([data-season="default"]) nav,
[data-season]:not([data-season=""]):not([data-season="default"]) header {
    background-color: var(--theme-bg-secondary) !important;
    border-color: var(--theme-border) !important;
}

/* Cards and containers */
[data-season]:not([data-season=""]):not([data-season="default"]) .rounded-xl,
[data-season]:not([data-season=""]):not([data-season="default"]) .rounded-2xl,
[data-season]:not([data-season=""]):not([data-season="default"]) .rounded-lg {
    border-color: var(--theme-border);
}

/* Primary color elements */
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-primary,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-sky-500,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-blue-500 {
    background-color: var(--theme-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .text-primary,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-sky-500,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-blue-500 {
    color: var(--theme-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .hover\:text-primary:hover {
    color: var(--theme-primary-hover) !important;
}

/* Normalize hardcoded blue/cyan utility colors to seasonal palette */
[data-season]:not([data-season=""]):not([data-season="default"]) .text-blue-600,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-blue-700,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-sky-600,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-sky-700,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-cyan-500,
[data-season]:not([data-season=""]):not([data-season="default"]) .text-cyan-600 {
    color: var(--theme-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .bg-blue-50,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-blue-100,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-sky-50,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-sky-100,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-cyan-50,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-cyan-100 {
    background-color: color-mix(in srgb, var(--theme-primary) 12%, transparent) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .border-blue-200,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-blue-300,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-blue-400,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-sky-200,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-sky-300,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-cyan-200,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-cyan-300 {
    border-color: var(--theme-border) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .border-blue-500,
[data-season]:not([data-season=""]):not([data-season="default"]) .border-sky-500 {
    border-color: var(--theme-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .ring-blue-500,
[data-season]:not([data-season=""]):not([data-season="default"]) .ring-sky-500,
[data-season]:not([data-season=""]):not([data-season="default"]) .ring-cyan-500 {
    --tw-ring-color: color-mix(in srgb, var(--theme-primary) 42%, transparent) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .focus\:border-blue-500:focus,
[data-season]:not([data-season=""]):not([data-season="default"]) .focus\:border-sky-500:focus {
    border-color: var(--theme-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) .focus\:ring-blue-500:focus,
[data-season]:not([data-season=""]):not([data-season="default"]) .focus\:ring-sky-500:focus,
[data-season]:not([data-season=""]):not([data-season="default"]) .focus\:ring-cyan-500:focus {
    --tw-ring-color: color-mix(in srgb, var(--theme-primary) 42%, transparent) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) [class*="from-blue-"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="from-sky-"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="from-cyan-"] {
    --tw-gradient-from: color-mix(in srgb, var(--theme-primary) 28%, transparent) var(--tw-gradient-from-position) !important;
    --tw-gradient-to: transparent var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) [class*="via-blue-"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="via-sky-"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="via-cyan-"] {
    --tw-gradient-stops: var(--tw-gradient-from), color-mix(in srgb, var(--theme-primary) 30%, transparent) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) [class*="to-blue-"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="to-sky-"],
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="to-cyan-"] {
    --tw-gradient-to: color-mix(in srgb, var(--theme-primary-hover) 38%, transparent) var(--tw-gradient-to-position) !important;
}

/* Gradient backgrounds */
[data-season]:not([data-season=""]):not([data-season="default"]) .gradient-bg,
[data-season]:not([data-season=""]):not([data-season="default"]) .bg-gradient-to-r {
    background: var(--theme-bg-gradient) !important;
}

/* Shadow adjustments per season */
[data-season="winter"] .shadow-lg,
[data-season="winter"] .shadow-xl {
    box-shadow: 0 10px 25px rgba(147, 197, 253, 0.2) !important;
}

[data-season="spring"] .shadow-lg,
[data-season="spring"] .shadow-xl {
    box-shadow: 0 10px 25px rgba(134, 239, 172, 0.2) !important;
}

[data-season="summer"] .shadow-lg,
[data-season="summer"] .shadow-xl {
    box-shadow: 0 10px 25px rgba(245, 158, 11, 0.22) !important;
}

[data-season="autumn"] .shadow-lg,
[data-season="autumn"] .shadow-xl {
    box-shadow: 0 10px 25px rgba(251, 146, 60, 0.2) !important;
}

/* Input and form elements */
[data-season]:not([data-season=""]):not([data-season="default"]) input,
[data-season]:not([data-season=""]):not([data-season="default"]) textarea,
[data-season]:not([data-season=""]):not([data-season="default"]) select {
    background-color: var(--theme-bg-tertiary) !important;
    border-color: var(--theme-border) !important;
    color: var(--theme-text-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]) input::placeholder,
[data-season]:not([data-season=""]):not([data-season="default"]) textarea::placeholder {
    color: var(--theme-text-muted) !important;
}

/* Focus states */
[data-season]:not([data-season=""]):not([data-season="default"]) input:focus,
[data-season]:not([data-season=""]):not([data-season="default"]) textarea:focus,
[data-season]:not([data-season=""]):not([data-season="default"]) select:focus {
    border-color: var(--theme-primary) !important;
    box-shadow: 0 0 0 3px var(--theme-decoration-color) !important;
}

/* Dropdown menus */
[data-season]:not([data-season=""]):not([data-season="default"]) .dropdown-menu,
[data-season]:not([data-season=""]):not([data-season="default"]) [class*="dropdown"] {
    background-color: var(--theme-bg-secondary) !important;
    border-color: var(--theme-border) !important;
}

/* Hover states for interactive elements */
[data-season]:not([data-season=""]):not([data-season="default"]) .hover\:bg-gray-100:hover,
[data-season]:not([data-season=""]):not([data-season="default"]) .hover\:bg-gray-50:hover {
    background-color: var(--theme-bg-tertiary) !important;
}

/* Footer */
[data-season]:not([data-season=""]):not([data-season="default"]) footer {
    background-color: var(--theme-bg-secondary) !important;
    border-color: var(--theme-border) !important;
}

/* Dark mode combinations */
[data-season]:not([data-season=""]):not([data-season="default"]).dark .bg-gray-800,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .bg-gray-900,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:bg-gray-800,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:bg-gray-900 {
    background-color: var(--theme-bg-secondary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]).dark .bg-gray-700,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:bg-gray-700 {
    background-color: var(--theme-bg-tertiary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]).dark .text-gray-100,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .text-gray-200,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:text-gray-100,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:text-white {
    color: var(--theme-text-primary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]).dark .text-gray-300,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .text-gray-400,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:text-gray-300,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:text-gray-400 {
    color: var(--theme-text-secondary) !important;
}

[data-season]:not([data-season=""]):not([data-season="default"]).dark .border-gray-600,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .border-gray-700,
[data-season]:not([data-season=""]):not([data-season="default"]).dark .dark\:border-gray-700 {
    border-color: var(--theme-border) !important;
}

/* ============================================
   CUSTOM FILE INPUT STYLING
   ============================================ */
input[type="file"] {
    position: relative;
    width: 100%;
    padding: 12px 16px;
    background: var(--theme-bg-tertiary, #f1f5f9);
    border: 2px dashed var(--theme-border, #e2e8f0);
    border-radius: 12px;
    color: var(--theme-text-primary, #0f172a);
    cursor: pointer;
    transition: all 0.3s ease;
}

input[type="file"]:hover {
    border-color: var(--theme-primary, #0EA5E9);
    background: var(--theme-decoration-color, rgba(14, 165, 233, 0.1));
}

input[type="file"]:focus {
    outline: none;
    border-color: var(--theme-primary, #0EA5E9);
    box-shadow: 0 0 0 3px var(--theme-decoration-color, rgba(14, 165, 233, 0.2));
}

input[type="file"]::file-selector-button {
    padding: 8px 16px;
    margin-right: 12px;
    background: var(--theme-primary, #0EA5E9);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

input[type="file"]::file-selector-button:hover {
    background: var(--theme-primary-hover, #0284C7);
    transform: translateY(-1px);
}

/* Dark mode file input */
[data-theme="dark"] input[type="file"],
.dark input[type="file"] {
    background: var(--theme-bg-tertiary, #334155);
    border-color: var(--theme-border, #475569);
    color: var(--theme-text-primary, #f8fafc);
}

[data-theme="dark"] input[type="file"]:hover,
.dark input[type="file"]:hover {
    border-color: var(--theme-primary, #60A5FA);
    background: rgba(96, 165, 250, 0.1);
}

/* File input with icon wrapper */
.file-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--theme-bg-tertiary, #f1f5f9);
    border: 2px dashed var(--theme-border, #e2e8f0);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.file-input-wrapper:hover {
    border-color: var(--theme-primary, #0EA5E9);
    background: var(--theme-decoration-color, rgba(14, 165, 233, 0.1));
}

.file-input-wrapper .file-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--theme-primary, #0EA5E9);
    color: white;
    border-radius: 12px;
    font-size: 1.25rem;
}

.file-input-wrapper .file-text {
    flex: 1;
}

.file-input-wrapper .file-text .title {
    font-weight: 600;
    color: var(--theme-text-primary, #0f172a);
}

.file-input-wrapper .file-text .subtitle {
    font-size: 0.875rem;
    color: var(--theme-text-muted, #94a3b8);
}

.file-input-wrapper input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

