/* Extra overrides for v3 */

/* Exit slide states */
.hero-slide.exit-left  { opacity:0 !important; transform:translateX(-60px) !important; pointer-events:none; }
.hero-slide.exit-right { opacity:0 !important; transform:translateX(60px) !important; pointer-events:none; }

/* Dark mode specific bg fixes */
[data-theme="dark"] .about-image-frame::before { background: linear-gradient(135deg, var(--primary-pale), var(--primary-xlt)); }
[data-theme="dark"] .hero-quote-box { background: var(--primary-xlt); }
[data-theme="dark"] .contact-form { background: var(--bg-2); }

/* Smooth all transitions on theme change */
*, *::before, *::after {
    transition: background-color 0.4s ease, border-color 0.4s ease, color 0.3s ease, box-shadow 0.3s ease;
}
/* But NOT transform, opacity (breaks animations) */
.hero-slide, .hero-slide *, [data-aos], .cursor-dot, .cursor-ring,
.skill-bar-fill, .loader-logo span, .loader-dots span,
.slider-dot, .theme-toggle, #themeKnob {
    transition: unset;
}
/* Re-add important ones */
.hero-slide { transition: opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1) !important; }
.skill-bar-fill { transition: width 1.4s cubic-bezier(0.16,1,0.3,1) !important; }
.slider-dot { transition: all 0.3s ease !important; }
#themeKnob { transition: transform 0.35s cubic-bezier(0.16,1,0.3,1) !important; background: var(--primary) !important; }
[data-aos] { transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.16,1,0.3,1) !important; }
