/* Dark Theme (Default) */
:root,
[data-theme="dark"] {
	--bg:#0D1117;
	--card:#161B22;
	--accent1:#00BFA6;
	--accent2:#2D9CDB;
	--accent3:#F2994A;
	--textp:#EAEAEA;
	--texts:#9CA3AF;
	--border:rgba(255,255,255,.1);
	--glass-bg:rgba(255,255,255,.05);
	--glass-border:rgba(255,255,255,.08);
	--hover-bg:rgba(255,255,255,.05);
}

/* Light Theme */
[data-theme="light"] {
	--bg:#F9FAFB;
	--card:#FFFFFF;
	--accent1:#00BFA6;
	--accent2:#2D9CDB;
	--accent3:#F2994A;
	--textp:#1F2937;
	--texts:#6B7280;
	--border:rgba(0,0,0,.1);
	--glass-bg:rgba(255,255,255,.8);
	--glass-border:rgba(0,0,0,.1);
	--hover-bg:rgba(0,0,0,.05);
}

/* Smooth scrolling */
html {
	scroll-behavior: smooth;
}

/* Parallax Container */
.parallax-container{
	position:relative;
	overflow:hidden;
	min-height:88vh;
}
.parallax-layer{
	position:absolute;
	inset:0;
	will-change:transform;
	transition:transform .6s cubic-bezier(.22,1,.36,1), opacity .6s;
}
.parallax-layer img, .parallax-layer svg{
	width:100%;
	height:100%;
	object-fit:cover;
	pointer-events:none;
}

/* Enhanced Glassmorphism */
.glass{
	background:var(--glass-bg);
	backdrop-filter:blur(10px);
	border:1px solid var(--glass-border);
	transition:all 0.3s ease;
}
[data-theme="light"] .glass{
	box-shadow:0 1px 3px rgba(0,0,0,.1);
}
.glass:hover{
	background:var(--hover-bg);
	border-color:rgba(0,191,166,.3);
	transform:translateY(-2px);
	box-shadow:0 10px 30px rgba(0,0,0,.2);
}
[data-theme="light"] .glass:hover{
	box-shadow:0 4px 12px rgba(0,0,0,.15);
}

/* Enhanced Button Gradient */
.btn-gradient{
	background:linear-gradient(90deg,var(--accent1),var(--accent2));
	color:#000;
	box-shadow:0 0 20px rgba(0,191,166,.35);
	transition:all 0.3s ease;
	position:relative;
	overflow:hidden;
}
.btn-gradient::before{
	content:'';
	position:absolute;
	top:0;
	left:-100%;
	width:100%;
	height:100%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
	transition:left 0.5s;
}
.btn-gradient:hover::before{
	left:100%;
}
.btn-gradient:hover{
	box-shadow:0 0 40px rgba(45,156,219,.65);
	transform:translateY(-2px) scale(1.02);
}

/* Enhanced Scroll Animations */
.fade-in,
.slide-in-left,
.slide-in-right,
.scale-in,
.rotate-in {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), 
				transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in.visible,
.fade-in.scroll-visible {
	opacity: 1;
	transform: translateY(0);
}

.slide-in-left {
	transform: translateX(-50px);
}

.slide-in-left.visible,
.slide-in-left.scroll-visible {
	opacity: 1;
	transform: translateX(0);
}

.slide-in-right {
	transform: translateX(50px);
}

.slide-in-right.visible,
.slide-in-right.scroll-visible {
	opacity: 1;
	transform: translateX(0);
}

.scale-in {
	transform: translateY(30px) scale(0.9);
}

.scale-in.visible,
.scale-in.scroll-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.rotate-in {
	transform: translateY(30px) rotate(-5deg);
}

.rotate-in.visible,
.rotate-in.scroll-visible {
	opacity: 1;
	transform: translateY(0) rotate(0deg);
}

/* Stagger Animation */
[data-stagger] > * {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-stagger] > *.scroll-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Progressive Reveal */
[data-reveal-progress] {
	--reveal-progress: 0;
	clip-path: inset(0 0 calc(100% - (var(--reveal-progress) * 100%)) 0);
	transition: clip-path 0.1s linear;
}

/* Scroll Progress Bar */
.scroll-progress-container {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: transparent;
	z-index: 9999;
	pointer-events: none;
}

.scroll-progress-bar {
	height: 100%;
	background: linear-gradient(90deg, var(--accent1), var(--accent2));
	width: 0%;
	transition: width 0.1s ease;
	box-shadow: 0 0 10px rgba(0, 191, 166, 0.5);
}

/* Product Card Enhancements */
.product-card{
	transition:all 0.3s cubic-bezier(.4,0,.2,1);
	border:2px solid transparent;
}
.product-card:hover{
	transform:translateY(-8px) scale(1.02);
	border-color:rgba(0,191,166,.3);
	box-shadow:0 20px 40px rgba(0,191,166,.15);
}

/* Neon Glow Effects */
.neon-glow{
	text-shadow:0 0 10px rgba(0,191,166,.5),
				0 0 20px rgba(0,191,166,.3),
				0 0 30px rgba(0,191,166,.2);
}

.neon-border{
	position:relative;
}
.neon-border::before{
	content:'';
	position:absolute;
	inset:-2px;
	border-radius:inherit;
	background:linear-gradient(45deg,var(--accent1),var(--accent2),var(--accent3));
	opacity:0;
	z-index:-1;
	transition:opacity 0.3s;
	filter:blur(8px);
}
.neon-border:hover::before{
	opacity:0.6;
}

/* Floating Animation */
@keyframes float{
	0%,100%{transform:translateY(0)}
	50%{transform:translateY(-20px)}
}
.float{
	animation:float 6s ease-in-out infinite;
}

/* Pulse Animation */
@keyframes pulse{
	0%,100%{opacity:1}
	50%{opacity:0.5}
}
.pulse{
	animation:pulse 2s ease-in-out infinite;
}

/* Gradient Text */
.gradient-text{
	background:linear-gradient(135deg,var(--accent1),var(--accent2));
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
}

/* Enhanced Section Dividers with Animation */
.section-divider {
	height: 2px;
	background: linear-gradient(90deg, 
		transparent, 
		var(--border), 
		var(--accent1),
		var(--accent2),
		var(--border), 
		transparent
	);
	margin: 4rem 0;
	--divider-progress: 0;
	background-size: 200% 100%;
	background-position: calc(-100% + var(--divider-progress) * 100%) 0;
	transition: background-position 0.3s ease;
	opacity: calc(0.5 + var(--divider-progress) * 0.5);
}

/* Theme Transition */
* {
	transition:background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease;
}

/* Light Theme Specific Adjustments */
[data-theme="light"] {
	color-scheme: light;
}

[data-theme="light"] .neon-glow {
	text-shadow:0 0 10px rgba(0,191,166,.3),
				0 0 20px rgba(0,191,166,.2),
				0 0 30px rgba(0,191,166,.1);
}

[data-theme="light"] .product-card:hover {
	box-shadow:0 20px 40px rgba(0,191,166,.1);
}

[data-theme="light"] .btn-gradient {
	box-shadow:0 0 15px rgba(0,191,166,.25);
}

[data-theme="light"] .btn-gradient:hover {
	box-shadow:0 0 30px rgba(45,156,219,.45);
}

/* Login Form Enhancements */
.login-card {
	position: relative;
	background: var(--glass-bg);
	backdrop-filter: blur(20px);
	border: 2px solid transparent;
	background-image: 
		linear-gradient(var(--glass-bg), var(--glass-bg)),
		linear-gradient(135deg, var(--accent1), var(--accent2), var(--accent3));
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

[data-theme="light"] .login-card {
	background-image: 
		linear-gradient(rgba(255,255,255,0.95), rgba(255,255,255,0.95)),
		linear-gradient(135deg, var(--accent1), var(--accent2), var(--accent3));
	box-shadow: 0 20px 60px rgba(0,0,0,0.15), 0 0 40px rgba(0,191,166,0.1);
}

[data-theme="dark"] .login-card {
	box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 40px rgba(0,191,166,0.2);
}

/* Input Field Enhancements */
.input-enhanced {
	position: relative;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.input-enhanced:focus-within {
	transform: translateY(-2px);
}

.input-enhanced input {
	transition: all 0.3s ease;
}

.input-enhanced input:focus {
	transform: scale(1.01);
}

/* Animated Background */
@keyframes gradient-shift {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

.bg-animated-gradient {
	background: linear-gradient(-45deg, var(--accent1), var(--accent2), var(--accent3), var(--accent1));
	background-size: 400% 400%;
	animation: gradient-shift 15s ease infinite;
}

/* Glass morphism enhancement for light theme */
[data-theme="light"] .glass {
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(20px) saturate(180%);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	box-shadow: 
		0 8px 32px rgba(0, 0, 0, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* RTL Support */
html[dir="rtl"] .rtl\:text-right{text-align:right}
html[dir="rtl"] .rtl\:flex-row-reverse{flex-direction:row-reverse}
