@font-face {
	font-family: 'HashimiDari';
	src: url('../../fonts/Mj_Beirut%20Hd.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* 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;
}

/* Apply project-local Dari font when locale is Dari */
html[lang="fa"] body,
html[lang="fa"] input,
html[lang="fa"] textarea,
html[lang="fa"] select,
html[lang="fa"] button {
	font-family: 'HashimiDari', 'Noto Naskh Arabic', Tahoma, serif !important;
}

/* 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);
}

/* Hero banner glassmorphism (stronger and always visible) */
.hero-glass{
	position: relative;
	overflow: hidden;
	background: linear-gradient(140deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06));
	backdrop-filter: blur(18px) saturate(145%);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
	border: 1px solid rgba(255,255,255,0.30);
	box-shadow:
		0 24px 70px rgba(0,0,0,0.30),
		inset 0 1px 0 rgba(255,255,255,0.22);
}
.hero-glass::before{
	content:'';
	position:absolute;
	inset:-35% auto auto -25%;
	width:70%;
	height:95%;
	background: radial-gradient(circle, rgba(255,255,255,0.30), transparent 70%);
	pointer-events:none;
}
[data-theme="light"] .hero-glass{
	background: linear-gradient(140deg, rgba(255,255,255,0.82), rgba(255,255,255,0.58));
	border-color: rgba(255,255,255,0.78);
	box-shadow:
		0 22px 55px rgba(15,23,42,0.15),
		inset 0 1px 0 rgba(255,255,255,0.92);
}
.hero-glass:hover{
	transform:none;
}

/* Hero card stays hidden until user scrolls, then reveals */
.hero-scroll-reveal {
	opacity: 0;
	visibility: hidden;
	transform: translate3d(0, 22px, 0) scale(0.98);
	transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1), visibility .7s;
}
.hero-scroll-reveal.is-revealed {
	opacity: 1;
	visibility: visible;
	transform: translate3d(0, 0, 0) scale(1);
}

/* Hero banner slider */
.hero-slider-layer{
	overflow: hidden;
	isolation: isolate;
}
.hero-slide{
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(1.07);
	filter: saturate(.95) brightness(.96);
	transition: opacity .95s cubic-bezier(.22,1,.36,1), transform 7s cubic-bezier(.22,1,.36,1), filter 1.1s ease;
	will-change: opacity, transform, filter;
	transform-origin: center center;
}
.hero-slide.is-active{
	opacity: 1;
	transform: scale(1);
	filter: saturate(1.05) brightness(1);
	z-index: 2;
}
.hero-slide.is-entering.is-next{
	animation: heroSlideInNext .95s cubic-bezier(.22,1,.36,1);
}
.hero-slide.is-entering.is-prev{
	animation: heroSlideInPrev .95s cubic-bezier(.22,1,.36,1);
}
.hero-slide.is-leaving.is-next{
	animation: heroSlideOutNext .95s cubic-bezier(.22,1,.36,1);
}
.hero-slide.is-leaving.is-prev{
	animation: heroSlideOutPrev .95s cubic-bezier(.22,1,.36,1);
}
.hero-slide img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform 8.5s cubic-bezier(.22,1,.36,1), filter .9s ease;
	will-change: transform;
	filter: contrast(1.02);
}
.hero-slide.is-active img{
	transform: scale(1.12);
	filter: contrast(1.06);
}
.hero-slide-overlay{
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, rgba(13,17,23,.28), rgba(13,17,23,.10));
}
.hero-slide-overlay::after{
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(1200px 480px at 20% 10%, rgba(59,130,246,.12), transparent 65%), radial-gradient(900px 400px at 90% 90%, rgba(34,197,94,.10), transparent 70%);
	mix-blend-mode: screen;
}
[data-theme="light"] .hero-slide-overlay{
	background: linear-gradient(110deg, rgba(15,23,42,.10), rgba(15,23,42,.04));
}
.hero-slider-controls{
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.hero-slider-btn{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: rgba(255,255,255,.94);
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
	display: grid;
	place-items: center;
	pointer-events: auto;
	transition: transform .2s ease, color .2s ease, opacity .2s ease;
	opacity: .9;
	text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.hero-slider-btn:hover{
	color: var(--accent1);
	opacity: 1;
	transform: translateY(-50%) scale(1.08);
}
.hero-slider-dots{
	position: absolute;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	padding: 0 4px;
	pointer-events: auto;
}
.hero-slider-dot{
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.35);
	border: 0;
	transition: transform .25s ease, background .25s ease, width .25s ease;
}
.hero-slider-dot.is-active{
	background: rgba(0,191,166,0.95);
	transform: scale(1.05);
	width: 24px;
}

/* Product card image scaling */
.product-image-frame{
	width: 40px;
	height: 40px;
	overflow: hidden;
	border-radius: .75rem;
	background: rgba(255,255,255,.04);
	flex: 0 0 40px;
}
.product-image{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hero-slider-progress{
	position: absolute;
	left: 50%;
	bottom: 8px;
	transform: translateX(-50%);
	width: min(460px, calc(100% - 140px));
	height: 3px;
	background: rgba(255,255,255,.22);
	border-radius: 999px;
	overflow: hidden;
}
#hero-progress-fill{
	display: block;
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--accent1), var(--accent2));
	box-shadow: 0 0 14px rgba(59,130,246,.45);
}
#hero-prev{ left: 14px; }
#hero-next{ right: 14px; }

@keyframes heroSlideInNext{
	0%{ opacity: 0; transform: translateX(4.5%) scale(1.08); }
	100%{ opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes heroSlideInPrev{
	0%{ opacity: 0; transform: translateX(-4.5%) scale(1.08); }
	100%{ opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes heroSlideOutNext{
	0%{ opacity: 1; transform: translateX(0) scale(1.01); }
	100%{ opacity: 0; transform: translateX(-3%) scale(1.03); }
}
@keyframes heroSlideOutPrev{
	0%{ opacity: 1; transform: translateX(0) scale(1.01); }
	100%{ opacity: 0; transform: translateX(3%) scale(1.03); }
}

@media (max-width: 768px){
	#hero-prev{ left: 6px; }
	#hero-next{ right: 6px; }
	.hero-slider-btn{
		font-size: 24px;
		width: 34px;
		height: 34px;
	}
	.hero-slider-progress{
		width: calc(100% - 90px);
		bottom: 10px;
	}
}

/* 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}

/* Language picker modal */
.lang-picker-backdrop{
	position: fixed;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 1.25rem;
	background: rgba(6, 12, 22, .64);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease;
	z-index: 10020;
}
.lang-picker-backdrop.is-visible{
	opacity: 1;
	pointer-events: auto;
}
.lang-picker-panel{
	width: min(680px, 96vw);
	border-radius: 18px;
	padding: 1.1rem;
	background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
	border: 1px solid rgba(255,255,255,.2);
	box-shadow: 0 32px 90px rgba(2, 10, 22, .48);
	transform: translateY(18px) scale(.98);
	opacity: 0;
	transition: transform .3s cubic-bezier(.22,1,.36,1), opacity .3s ease;
}
.lang-picker-backdrop.is-visible .lang-picker-panel{
	transform: translateY(0) scale(1);
	opacity: 1;
}
.lang-picker-head{
	text-align: center;
	padding: .7rem .4rem 1rem;
}
.lang-picker-title{
	margin: 0;
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--textp);
}
.lang-picker-subtitle{
	margin: .5rem auto 0;
	max-width: 38ch;
	font-size: .92rem;
	color: var(--texts);
}
.lang-picker-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .7rem;
}
.lang-picker-option{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .3rem;
	padding: .95rem;
	border-radius: 14px;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,.14);
	background: rgba(255,255,255,.06);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.lang-picker-option:hover{
	transform: translateY(-2px);
	border-color: rgba(0,191,166,.45);
	background: rgba(0,191,166,.08);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .22);
}
.lang-picker-name{
	font-size: 1rem;
	font-weight: 700;
	color: var(--textp);
}
.lang-picker-native{
	font-size: .9rem;
	color: var(--texts);
}
.lang-picker-foot{
	margin-top: .8rem;
	text-align: center;
	font-size: .82rem;
	color: var(--texts);
}
body.lang-picker-open{
	overflow: hidden;
}

[data-theme="light"] .lang-picker-backdrop{
	background: rgba(15, 23, 42, .36);
}
[data-theme="light"] .lang-picker-panel{
	background: linear-gradient(160deg, rgba(255,255,255,.95), rgba(255,255,255,.86));
	border-color: rgba(15, 23, 42, .12);
	box-shadow: 0 26px 70px rgba(15, 23, 42, .2);
}
[data-theme="light"] .lang-picker-option{
	border-color: rgba(15, 23, 42, .1);
	background: rgba(248,250,252,.86);
}
[data-theme="light"] .lang-picker-option:hover{
	background: rgba(59,130,246,.08);
	border-color: rgba(59,130,246,.38);
}

@media (max-width: 760px){
	.lang-picker-grid{
		grid-template-columns: 1fr;
	}
	.lang-picker-panel{
		width: min(460px, 96vw);
		padding: .95rem;
	}
}
