:root{--bg:#07060d;--card:#12101c;--g1:#f5c76b;--g2:#c084fc;--tx:#f4f1fa;--mu:#a29db5}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Cairo',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden}
#bg{position:fixed;inset:0;z-index:-1}
.orb{position:fixed;border-radius:50%;filter:blur(90px);opacity:.35;z-index:-1;animation:float 14s ease-in-out infinite}
.o1{width:420px;height:420px;background:#7c3aed;top:-100px;left:-100px}
.o2{width:380px;height:380px;background:#f5c76b;bottom:-120px;right:-80px;animation-delay:-5s}
@keyframes float{50%{transform:translate(60px,-50px) scale(1.15)}}
#glow{position:fixed;top:0;left:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(#c084fc22,transparent 70%);pointer-events:none;z-index:0}
#cur{position:fixed;inset:0;z-index:999;pointer-events:none;background:linear-gradient(135deg,#7c3aed,#f5c76b);animation:wipe .9s .1s cubic-bezier(.77,0,.18,1) forwards}
#cur.out{animation:wipeIn .45s cubic-bezier(.77,0,.18,1) forwards}
@keyframes wipe{to{transform:translateY(-100%)}}
@keyframes wipeIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 5%;direction:ltr;background:#07060d8c;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff12}
.logo{font-weight:900;font-size:1.4rem;text-decoration:none;color:var(--tx)}
.logo span,.grad{background:linear-gradient(90deg,var(--g1),var(--g2),var(--g1));background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 4s linear infinite}
@keyframes shine{to{background-position:200%}}
nav{display:flex;gap:22px}
html[dir=rtl] nav{direction:rtl}
nav a{color:var(--mu);text-decoration:none;font-weight:600;position:relative;padding:4px 0;transition:.3s}
nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--g1),var(--g2));transition:.3s}
nav a:hover,nav a.on{color:var(--tx)}nav a:hover:after,nav a.on:after{width:100%}
#lg{font-family:inherit;font-weight:700;color:var(--tx);background:#ffffff10;border:1px solid #ffffff30;border-radius:30px;padding:7px 18px;cursor:pointer;transition:.3s}
#lg:hover{background:linear-gradient(90deg,var(--g1),var(--g2));color:#111;transform:scale(1.06)}
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px 5% 60px;position:relative}
.ring{position:absolute;width:min(560px,90vw);aspect-ratio:1;border-radius:50%;border:2px dashed #c084fc44;animation:spin 30s linear infinite;z-index:-1}
.ring:after{content:"";position:absolute;inset:40px;border-radius:50%;border:2px solid #f5c76b33;animation:spin 20s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.tag{letter-spacing:4px;color:var(--g1);font-weight:700;animation:up 1s both}
.hero h1{font-size:clamp(2.4rem,8vw,6rem);font-weight:900;line-height:1.2;margin:14px 0;background:linear-gradient(90deg,var(--g1),var(--g2),var(--g1));background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:up 1s .15s both,shine 5s linear infinite}
.sub{color:var(--mu);font-size:1.15rem;max-width:620px;margin:0 auto 30px;animation:up 1s .3s both}
.row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;animation:up 1s .45s both}
@keyframes up{from{opacity:0;transform:translateY(40px)}}
.btn{position:relative;overflow:hidden;display:inline-block;border:0;cursor:pointer;font-family:inherit;font-weight:700;font-size:1rem;text-decoration:none;text-align:center;color:#14101d;background:linear-gradient(90deg,var(--g1),var(--g2));padding:13px 30px;border-radius:40px;transition:.3s;box-shadow:0 8px 30px #c084fc44}
.btn:before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-20deg);transition:.6s}
.btn:hover{transform:translateY(-4px) scale(1.04)}.btn:hover:before{left:130%}
.btn.ghost{background:transparent;color:var(--tx);border:1px solid #ffffff40;box-shadow:none}
.mq{overflow:hidden;direction:ltr;border-block:1px solid #ffffff12;padding:16px 0;background:#ffffff05}
#mq{display:flex;width:max-content;white-space:pre;font-size:1.3rem;font-weight:700;color:var(--mu);animation:mq 40s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:90px 5%;max-width:1250px;margin:auto}.sec.top{padding-top:130px;min-height:100vh}
.ttl{font-size:clamp(1.8rem,4.5vw,3rem);font-weight:900;margin-bottom:10px}
.sec .sub{margin-inline:0;animation:none;margin-bottom:40px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid #ffffff14;border-radius:24px;overflow:hidden;transition:transform .15s,box-shadow .3s,border-color .3s,opacity .8s;transform-style:preserve-3d;will-change:transform}
.card:hover{border-color:#c084fc88;box-shadow:0 20px 60px #c084fc30}
.card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:.6s}.card:hover img{transform:scale(1.1)}
.card .pi{overflow:hidden}.card .bd{padding:18px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:1.1rem}.price{font-weight:900;font-size:1.3rem;color:var(--g1)}
.cat,.info{display:block;padding:38px 28px;text-decoration:none;color:var(--tx);text-align:center}
.cat i,.info i{font-style:normal;font-size:3rem;display:block;margin-bottom:10px;animation:bob 3s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-10px)}}
.cat p,.info span{color:var(--mu);display:inline-block}.info span{direction:ltr}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.sk{height:340px;border-radius:24px;background:linear-gradient(100deg,#15121f 30%,#241f35 50%,#15121f 70%);background-size:300%;animation:sk 1.4s infinite}
@keyframes sk{to{background-position:-300%}}
.msg{color:var(--mu);grid-column:1/-1;text-align:center;padding:60px 0}
.ord{margin-bottom:26px;font-weight:700;color:var(--g1);font-size:1.2rem}
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.show{opacity:1;transform:none}
.card.reveal.show{transition:transform .15s,box-shadow .3s,border-color .3s}
footer{text-align:center;color:var(--mu);padding:40px 5%;border-top:1px solid #ffffff12}
@media(max-width:760px){header{flex-wrap:wrap;padding:10px 4%}nav{order:3;width:100%;justify-content:center;gap:14px;font-size:.88rem}.hero{padding-top:140px}.sec.top{padding-top:150px}}
.box{max-width:420px;margin:12vh auto;padding:36px;background:var(--card);border:1px solid #ffffff18;border-radius:26px;display:flex;flex-direction:column;gap:14px}
.wrap{max-width:900px;margin:40px auto;padding:0 5%}
.top2{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
input,select{font-family:inherit;font-size:1rem;color:var(--tx);background:#ffffff0d;border:1px solid #ffffff25;border-radius:14px;padding:13px 16px;width:100%;outline:0;transition:.3s}
input:focus,select:focus{border-color:var(--g2);box-shadow:0 0 0 3px #c084fc33}
select option{background:#12101c}
.form{display:grid;gap:14px;background:var(--card);padding:26px;border-radius:24px;border:1px solid #ffffff14;margin-bottom:30px}
#pv{max-width:140px;border-radius:14px;display:none}
.item{display:flex;align-items:center;gap:16px;background:var(--card);padding:12px;border-radius:18px;margin-bottom:12px;border:1px solid #ffffff10;animation:up .5s both}
.item img{width:70px;height:70px;border-radius:12px;object-fit:cover}.item div{flex:1}.item small{color:var(--mu)}
.sm{font-family:inherit;border:0;border-radius:10px;padding:8px 14px;cursor:pointer;color:#fff;background:#3b82f6}.sm.del{background:#ef4444}
#msg{text-align:center;margin:10px;font-weight:700}.ok{color:#4ade80}.bad{color:#f87171}

/* ===== extra animations ===== */
#prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,var(--g1),var(--g2));box-shadow:0 0 12px var(--g2)}
#cur:after{content:"H.M";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(4rem,14vw,9rem);font-weight:900;color:#fff;animation:pls .9s ease-in-out}
@keyframes pls{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}
#cur.out:after{animation:none;opacity:0}
header{transition:padding .35s,background .35s}header.sm2{padding-block:7px;background:#07060de6}
.hero h1{background:none;animation:none;color:inherit;perspective:600px}
.hero h1 .w{display:inline-block;opacity:0;background:linear-gradient(90deg,var(--g1),var(--g2),var(--g1));background-size:300%;-webkit-background-clip:text;background-clip:text;color:transparent;transform-origin:bottom;animation:wd .9s cubic-bezier(.2,.8,.2,1) forwards,shine 5s linear infinite;animation-delay:calc(var(--i)*.14s + .35s),0s}
@keyframes wd{from{opacity:0;transform:translateY(70px) rotateX(-70deg) scale(.8);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
.fl{position:absolute;inset:0;pointer-events:none;z-index:-1;transform:translate(calc(var(--mx,0)*30px),calc(var(--my,0)*30px));transition:transform .2s}
.fl span{position:absolute;font-size:2.6rem;opacity:.75;filter:drop-shadow(0 0 14px #c084fc99);animation:bob2 6s ease-in-out infinite}
@keyframes bob2{50%{transform:translateY(-26px) rotate(14deg)}}
.fl span:nth-child(1){top:22%;left:10%}.fl span:nth-child(2){top:28%;right:9%;animation-delay:-1s}
.fl span:nth-child(3){top:70%;left:16%;animation-delay:-2s}.fl span:nth-child(4){top:74%;right:14%;animation-delay:-3s}
.fl span:nth-child(5){top:14%;right:32%;animation-delay:-4s}.fl span:nth-child(6){bottom:10%;left:46%;animation-delay:-5s}
.reveal{filter:blur(8px);transform:translateY(50px) scale(.94);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}
.reveal.show{filter:none}
.card{position:relative}
.card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),#ffffff26,transparent 55%);opacity:0;transition:opacity .3s}
.card:hover:after{opacity:1}
.card:hover .price{animation:pop .5s}
@keyframes pop{50%{transform:scale(1.2)}}
.ttl.grad:after{content:"";display:block;height:4px;width:70px;margin-top:10px;border-radius:4px;background:linear-gradient(90deg,var(--g1),var(--g2));animation:ul 2.5s ease-in-out infinite alternate}
.hero .ttl:after{display:none}
@keyframes ul{to{width:140px}}
.rip{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#fff9;transform:scale(0);animation:rp .6s forwards;pointer-events:none}
@keyframes rp{to{transform:scale(14);opacity:0}}
.sp{position:fixed;width:7px;height:7px;margin:-3px;border-radius:50%;background:radial-gradient(#fff,var(--g1));pointer-events:none;z-index:998;animation:spk .8s ease-out forwards}
@keyframes spk{to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
body.lsw .hero>*,body.lsw .sec>*{animation:lsw .55s both}
@keyframes lsw{from{opacity:.1;filter:blur(8px);transform:translateY(14px)}}
.btn{animation:glowp 3s ease-in-out infinite}.btn.ghost,.sm,.item .btn{animation:none}
@keyframes glowp{50%{box-shadow:0 8px 45px #f5c76b66}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01s!important;animation-iteration-count:1!important;transition-duration:.01s!important}}

/* mobile tweaks */
@media(hover:none){#glow{display:none}}
@media(max-width:760px){
.fl span{font-size:1.6rem;opacity:.45}
.orb{filter:blur(60px);width:260px;height:260px}
.grid{grid-template-columns:repeat(2,1fr);gap:14px}
.card .bd{padding:12px}.card h3{font-size:.95rem}.price{font-size:1.05rem}.card .btn{padding:10px 12px;font-size:.9rem}
.cat,.info{padding:28px 18px}
.item{flex-wrap:wrap}.item div{min-width:140px}
.form,.box{padding:20px}
}
@media(max-width:380px){.grid{grid-template-columns:1fr}}
.ol{display:inline-block;margin-top:10px;font-size:.8rem;color:var(--mu);opacity:.5;text-decoration:none;transition:.3s}.ol:hover{opacity:1;color:var(--g1)}
