:root{
    --bg:#070b18;
    --bg2:#0d1225;
    --card:rgba(18,25,48,.72);
    --card-solid:#111a31;
    --text:#f7f8ff;
    --muted:#9ca8c7;
    --primary:#7c5cff;
    --primary2:#00d4ff;
    --pink:#ff4ecd;
    --green:#00d084;
    --yellow:#ffbf3f;
    --danger:#ff5370;
    --border:rgba(255,255,255,.09);
    --shadow:0 25px 70px rgba(0,0,0,.35);
    --radius:24px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    font-family:"Be Vietnam Pro",sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
}
body.light{
    --bg:#f5f7ff;
    --bg2:#e8edff;
    --card:rgba(255,255,255,.78);
    --card-solid:#fff;
    --text:#11152a;
    --muted:#68708d;
    --border:rgba(17,21,42,.1);
}
button,input,select{font:inherit}
button{border:0;cursor:pointer}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{
    background:linear-gradient(var(--primary),var(--primary2));
    border-radius:20px;
}
/* ================= LOADING SCREEN PREMIUM ================= */
#loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at center, #12193b 0%, #060914 100%);
    transition: opacity 0.7s ease, visibility 0.7s ease, transform 0.7s ease;
}

#loader.hide {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.05); /* Hiệu ứng zoom nhẹ khi biến mất */
}

.loader-box {
    position: relative;
    text-align: center;
    z-index: 2;
}

/* Khối sáng nhấp nháy phía sau logo */
.loader-box::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 140px;
    background: radial-gradient(circle, rgba(0, 212, 255, 0.4), rgba(255, 78, 205, 0.2), transparent 70%);
    border-radius: 50%;
    filter: blur(20px);
    animation: pulseGlow 2s infinite alternate;
    z-index: -1;
}

@keyframes pulseGlow {
    0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.5; }
    100% { transform: translate(-50%, -50%) scale(1.6); opacity: 1; }
}

/* Chữ gradient chạy màu và bay lơ lửng */
.loader-logo {
    font: 800 36px "Space Grotesk", sans-serif;
    letter-spacing: 3px;
    margin-bottom: 25px;
    background: linear-gradient(90deg, #7c5cff, #00d4ff, #ff4ecd, #ffbf3f, #7c5cff);
    background-size: 300%;
    -webkit-background-clip: text;
    color: transparent;
    animation: gradientText 3s linear infinite, floatLogo 3s ease-in-out infinite;
    filter: drop-shadow(0 0 10px rgba(0,212,255,0.4));
}

.loader-logo span {
    color: transparent; /* Giữ trong suốt để ăn theo gradient của logo */
}

@keyframes gradientText {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

@keyframes floatLogo {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Thanh Loading RGB phát sáng */
.loader-line {
    position: relative;
    width: 260px;
    height: 6px;
    margin: 0 auto;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    box-shadow: inset 0 0 5px rgba(0,0,0,0.5), 0 0 15px rgba(124,92,255,0.2);
}

.loader-line i {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, var(--primary2), var(--pink), transparent);
    border-radius: 20px;
    animation: loadLight 1.5s infinite ease-in-out;
    box-shadow: 0 0 20px var(--primary2), 0 0 10px var(--pink);
}

@keyframes loadLight {
    0% { left: -50%; }
    100% { left: 100%; }
}

#particles{
    position:fixed;
    inset:0;
    z-index:-1;
    overflow:hidden;
    pointer-events:none;
}
.particle{
    position:absolute;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#fff;
    opacity:.35;
    animation:floatParticle linear infinite;
}
@keyframes floatParticle{
    from{transform:translateY(105vh) scale(.5);opacity:0}
    10%,90%{opacity:.5}
    to{transform:translateY(-10vh) scale(1.5);opacity:0}
}
.cursor-glow{
    position:fixed;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(124,92,255,.12),transparent 65%);
    pointer-events:none;
    transform:translate(-50%,-50%);
    z-index:-1;
    transition:left .08s,top .08s;
}
.topbar{
    padding:9px 5%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    background:rgba(255,255,255,.035);
    border-bottom:1px solid var(--border);
    color:var(--muted);
    font-size:12px;
}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}
.topbar strong{color:var(--primary2)}
.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
    transition:.35s;
}
.header.scrolled{
    background:rgba(7,11,24,.78);
    backdrop-filter:blur(20px);
    box-shadow:0 10px 40px rgba(0,0,0,.18);
}
.light .header.scrolled{background:rgba(245,247,255,.82)}
.navbar{
    width:min(1440px,100%);
    margin:auto;
    min-height:76px;
    padding:0 5%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}
.logo{
    display:flex;
    align-items:center;
    gap:10px;
    font:800 22px "Space Grotesk",sans-serif;
    white-space:nowrap;
}
.logo-icon{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    box-shadow:0 10px 30px rgba(124,92,255,.35);
}
.logo b{color:var(--primary2)}
.nav-links{
    display:flex;
    align-items:center;
    gap:26px;
    list-style:none;
}
.nav-links a{
    position:relative;
    color:var(--muted);
    font-size:14px;
    transition:.25s;
}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-links a.active:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-9px;
    width:100%;
    height:2px;
    border-radius:10px;
    background:linear-gradient(90deg,var(--primary),var(--primary2));
}
.nav-actions{display:flex;align-items:center;gap:9px}
.icon-btn{
    position:relative;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(255,255,255,.055);
    color:var(--text);
    border:1px solid var(--border);
    transition:.25s;
}
.icon-btn:hover{
    transform:translateY(-3px);
    background:rgba(124,92,255,.2);
}
.badge{
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:19px;
    height:19px;
    padding:0 5px;
    display:grid;
    place-items:center;
    border-radius:50px;
    background:var(--pink);
    color:#fff;
    font-size:10px;
    font-weight:800;
}
.mobile-menu{display:none}
.hero{
    position:relative;
    min-height:100vh;
    padding:145px 5% 70px;
    display:flex;
    align-items:center;
    overflow:hidden;
}
.hero:before{
    content:"";
    position:absolute;
    width:650px;
    height:650px;
    left:-260px;
    top:40px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(124,92,255,.22),transparent 67%);
}
.hero:after{
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    right:-300px;
    bottom:-350px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,212,255,.16),transparent 68%);
}
.hero-inner{
    width:min(1350px,100%);
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:50px;
}
.hero-tag{
    width:max-content;
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 14px;
    margin-bottom:20px;
    border:1px solid rgba(124,92,255,.3);
    border-radius:50px;
    background:rgba(124,92,255,.08);
    color:#c6bdff;
    font-size:12px;
}
.live-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--green);
    box-shadow:0 0 14px var(--green);
    animation:pulse 1.5s infinite;
}
@keyframes pulse{
    50%{transform:scale(1.7);opacity:.4}
}
.hero h1{
    max-width:720px;
    font:800 clamp(42px,6vw,82px)/1.02 "Space Grotesk",sans-serif;
    letter-spacing:-3px;
}
.hero h1 span{
    background:linear-gradient(90deg,var(--primary2),#b89cff,var(--pink));
    -webkit-background-clip:text;
    color:transparent;
}
.hero p{
    max-width:610px;
    margin:22px 0 28px;
    color:var(--muted);
    font-size:16px;
    line-height:1.8;
}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}
.btn{
    min-height:51px;
    padding:0 21px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:15px;
    color:#fff;
    font-weight:700;
    transition:.3s;
}
.btn-primary{
    background:linear-gradient(135deg,var(--primary),#4d8dff);
    box-shadow:0 15px 35px rgba(94,92,255,.3);
}
.btn-primary:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(94,92,255,.42)}
.btn-dark{
    background:rgba(255,255,255,.06);
    border:1px solid var(--border);
    color:var(--text);
}
.btn-dark:hover{background:rgba(255,255,255,.11);transform:translateY(-3px)}
.hero-stats{
    display:flex;
    gap:28px;
    margin-top:40px;
}
.hero-stat{padding-right:28px;border-right:1px solid var(--border)}
.hero-stat:last-child{border:0}
.hero-stat strong{
    display:block;
    font:800 25px "Space Grotesk",sans-serif;
}
.hero-stat span{font-size:12px;color:var(--muted)}
.hero-visual{
    position:relative;
    min-height:570px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.orbit{
    position:absolute;
    width:530px;
    aspect-ratio:1;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    animation:spin 22s linear infinite;
}
.orbit:before,.orbit:after{
    content:"";
    position:absolute;
    width:11px;
    height:11px;
    border-radius:50%;
    box-shadow:0 0 25px currentColor;
}
.orbit:before{top:12%;left:12%;background:var(--primary2);color:var(--primary2)}
.orbit:after{bottom:9%;right:14%;background:var(--pink);color:var(--pink)}
.orbit.two{
    width:400px;
    animation-direction:reverse;
    animation-duration:15s;
}
@keyframes spin{to{transform:rotate(360deg)}}
.product-stage{
    position:relative;
    width:min(420px,85vw);
    aspect-ratio:1;
    z-index:2;
    display:grid;
    place-items:center;
    border-radius:48% 52% 52% 48%;
    background:
        radial-gradient(circle at 35% 25%,rgba(255,255,255,.22),transparent 8%),
        radial-gradient(circle at center,rgba(124,92,255,.24),rgba(0,212,255,.07) 45%,transparent 68%);
    box-shadow:inset 0 0 100px rgba(124,92,255,.12),0 0 100px rgba(124,92,255,.14);
}
.phone{
    position:relative;
    width:220px;
    height:440px;
    padding:10px;
    border-radius:37px;
    background:linear-gradient(145deg,#313851,#080b16 45%,#343a54);
    box-shadow:-35px 35px 65px rgba(0,0,0,.42),15px 0 50px rgba(0,212,255,.12);
    transform:rotate(-12deg) rotateY(-18deg);
    animation:phoneFloat 4s ease-in-out infinite;
}
@keyframes phoneFloat{
    50%{transform:translateY(-16px) rotate(-7deg) rotateY(-10deg)}
}
.phone:before{
    content:"";
    position:absolute;
    top:17px;
    left:50%;
    transform:translateX(-50%);
    width:85px;
    height:24px;
    border-radius:20px;
    background:#050711;
    z-index:3;
}
.phone-screen{
    height:100%;
    overflow:hidden;
    border-radius:29px;
    background:
        radial-gradient(circle at 20% 20%,#936cff,transparent 25%),
        radial-gradient(circle at 80% 70%,#00d4ff,transparent 28%),
        linear-gradient(145deg,#151c45,#060915);
}
.screen-card{
    margin:75px 15px 0;
    padding:16px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:18px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
}
.screen-card small{color:#c7ceea}
.screen-card h3{margin:8px 0;font-size:23px}
.screen-bar{
    height:7px;
    margin-top:12px;
    border-radius:20px;
    background:linear-gradient(90deg,var(--primary2),var(--pink));
}
.float-card{
    position:absolute;
    z-index:4;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:18px;
    background:rgba(16,22,42,.72);
    backdrop-filter:blur(16px);
    box-shadow:var(--shadow);
    animation:floatCard 4s ease-in-out infinite;
}
.float-card b{display:block;font-size:14px}
.float-card span{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.float-card.one{left:0;top:16%}
.float-card.two{right:0;bottom:14%;animation-delay:-2s}
@keyframes floatCard{
    50%{transform:translateY(-12px)}
}
.brands{
    padding:22px 5%;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    overflow:hidden;
}
.brand-track{
    width:max-content;
    display:flex;
    align-items:center;
    gap:65px;
    color:rgba(255,255,255,.34);
    animation:marquee 20s linear infinite;
}
.brand-track span{
    font:700 18px "Space Grotesk",sans-serif;
    letter-spacing:1px;
}
@keyframes marquee{to{transform:translateX(-30%)}}
.section{
    width:min(1350px,90%);
    margin:auto;
    padding:100px 0;
}
.section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:35px;
}
.eyebrow{
    margin-bottom:10px;
    color:var(--primary2);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
}
.section-title{
    font:800 clamp(30px,4vw,48px) "Space Grotesk",sans-serif;
    letter-spacing:-1.5px;
}
.section-desc{
    max-width:540px;
    color:var(--muted);
    line-height:1.7;
}
.category-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}
.category{
    position:relative;
    min-height:175px;
    overflow:hidden;
    padding:20px;
    border:1px solid var(--border);
    border-radius:22px;
    background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
    transition:.35s;
}
.category:hover{
    transform:translateY(-8px);
    border-color:rgba(124,92,255,.45);
}
.category .emoji{
    position:absolute;
    right:15px;
    bottom:9px;
    font-size:70px;
    opacity:.9;
    transform:rotate(-10deg);
    transition:.35s;
}
.category:hover .emoji{transform:rotate(5deg) scale(1.08)}
.category small{color:var(--primary2)}
.category h3{margin-top:9px;font-size:17px}
.category span{position:absolute;left:20px;bottom:20px;color:var(--muted);font-size:12px}
.products{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
.product-card{
    position:relative;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:24px;
    background:var(--card);
    transition:.35s;
}
.product-card:hover{
    transform:translateY(-9px);
    border-color:rgba(124,92,255,.4);
    box-shadow:var(--shadow);
}
.product-image{
    position:relative;
    height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:linear-gradient(145deg,#20274b,#0c1022);
}
.product-image:before{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(124,92,255,.55),transparent 68%);
}
.product-art{
    position:relative;
    z-index:2;
    font-size:105px;
    filter:drop-shadow(0 25px 20px rgba(0,0,0,.35));
    transition:.45s;
}
.product-card:hover .product-art{transform:scale(1.13) rotate(-5deg)}
.sale-tag{
    position:absolute;
    top:13px;
    left:13px;
    z-index:3;
    padding:6px 10px;
    border-radius:9px;
    background:var(--danger);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.product-heart{
    position:absolute;
    top:12px;
    right:12px;
    z-index:4;
}
.product-info{padding:17px}
.product-category{color:var(--primary2);font-size:11px}
.product-name{
    margin:7px 0;
    font-size:15px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rating{display:flex;align-items:center;gap:5px;color:var(--yellow);font-size:12px}
.rating em{color:var(--muted);font-style:normal}
.product-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:15px;
}
.price strong{font-size:17px}
.price del{margin-left:4px;color:var(--muted);font-size:11px}
.add-cart{
    width:39px;
    height:39px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--primary),#4d8dff);
    color:#fff;
    font-size:19px;
}
.add-cart:hover{transform:rotate(90deg)}
.flash-sale{
    position:relative;
    overflow:hidden;
    padding:40px;
    border:1px solid rgba(124,92,255,.28);
    border-radius:32px;
    background:linear-gradient(120deg,rgba(91,62,235,.22),rgba(0,212,255,.09),rgba(255,78,205,.1));
}
.flash-sale:after{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    right:-100px;
    top:-160px;
    border-radius:50%;
    background:rgba(124,92,255,.18);
    filter:blur(30px);
}
.flash-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
    align-items:center;
}
.countdown{display:flex;gap:10px}
.time-box{
    min-width:65px;
    padding:10px;
    border:1px solid var(--border);
    border-radius:15px;
    background:rgba(7,11,24,.32);
    text-align:center;
}
.time-box b{display:block;font:800 22px "Space Grotesk",sans-serif}
.time-box span{color:var(--muted);font-size:9px}
.view-btn{
    padding:10px 14px;
    border-radius:12px;
    background:rgba(255,255,255,.08);
    color:var(--text);
    border:1px solid var(--border);
}
.reveal{
    opacity:0;
    transform:translateY(35px);
    transition:opacity .7s ease,transform .7s ease;
}
.reveal.show{opacity:1;transform:none}
@media(max-width:1050px){
    .hero-inner{grid-template-columns:1fr}
    .hero-content{text-align:center}
    .hero-tag,.hero-buttons{margin-left:auto;margin-right:auto}
    .hero-stats{justify-content:center}
    .hero-visual{min-height:500px}
    .category-grid{grid-template-columns:repeat(3,1fr)}
    .products{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
    .topbar{display:none}
    .navbar{min-height:66px}
    .nav-links{display:none}
    .mobile-menu{display:grid}
    .hero{padding-top:115px}
    .hero h1{font-size:48px}
    .hero-visual{min-height:440px}
    .orbit{width:390px}
    .orbit.two{width:300px}
    .phone{transform:scale(.8) rotate(-10deg)}
    .float-card.one{left:0}
    .float-card.two{right:0}
    .category-grid{grid-template-columns:repeat(2,1fr)}
    .products{grid-template-columns:repeat(2,1fr)}
    .section{padding:70px 0}
    .section-head{align-items:flex-start;flex-direction:column}
    .flash-inner{grid-template-columns:1fr}
}
@media(max-width:500px){
    .navbar{padding:0 4%}
    .nav-actions .icon-btn:first-child{display:none}
    .hero{padding-left:5%;padding-right:5%}
    .hero h1{font-size:39px;letter-spacing:-2px}
    .hero p{font-size:14px}
    .hero-stats{gap:10px}
    .hero-stat{padding-right:10px}
    .hero-stat strong{font-size:19px}
    .product-image{height:205px}
    .product-art{font-size:80px}
    .category{min-height:145px}
    .category .emoji{font-size:55px}
    .flash-sale{padding:25px 18px}
    .countdown{gap:6px}
    .time-box{min-width:54px}
}

    /* ================= ABOUT ================= */
.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}
.about-visual{
    position:relative;
    min-height:430px;
    display:grid;
    place-items:center;
}
.about-glow{
    position:absolute;
    width:360px;
    height:360px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(124,92,255,.3),rgba(0,212,255,.08) 45%,transparent 70%);
    filter:blur(10px);
}
.about-box{
    position:relative;
    z-index:2;
    border:1px solid var(--border);
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(20px);
    box-shadow:var(--shadow);
}
.about-main{
    width:270px;
    height:270px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    animation:aboutFloat 5s ease-in-out infinite;
}
.about-main span{
    font-size:70px;
    margin-bottom:10px;
}
.about-main b{
    font:800 23px "Space Grotesk",sans-serif;
}
.about-main small{
    margin-top:8px;
    color:var(--muted);
}
.about-small{
    position:absolute;
    padding:15px 20px;
    border-radius:16px;
    font-size:13px;
    font-weight:700;
}
.about-small.one{
    left:0;
    top:65px;
    animation:floatCard 4s ease-in-out infinite;
}
.about-small.two{
    right:10px;
    bottom:70px;
    animation:floatCard 4s ease-in-out infinite -2s;
}
@keyframes aboutFloat{
    50%{
        transform:translateY(-15px) rotate(4deg);
    }
}
.about-list{
    display:flex;
    flex-direction:column;
    gap:22px;
}
.about-item{
    display:flex;
    align-items:flex-start;
    gap:16px;
}
.about-icon{
    flex:none;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(0,212,255,.18));
    color:var(--primary2);
}
.about-item h3{
    margin:2px 0 7px;
    font-size:16px;
}
.about-item p{
    color:var(--muted);
    font-size:13px;
    line-height:1.7;
}
.about-content>.btn{
    margin-top:28px;
}

/* ================= FEATURES ================= */
.feature-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.feature-card{
    position:relative;
    overflow:hidden;
    min-height:225px;
    padding:25px;
    border:1px solid var(--border);
    border-radius:24px;
    background:var(--card);
    transition:.35s;
}
.feature-card:before{
    content:"";
    position:absolute;
    width:130px;
    height:130px;
    right:-50px;
    top:-50px;
    border-radius:50%;
    background:rgba(124,92,255,.13);
    transition:.35s;
}
.feature-card:hover{
    transform:translateY(-8px);
    border-color:rgba(124,92,255,.45);
}
.feature-card:hover:before{
    transform:scale(2);
}
.feature-icon{
    position:relative;
    z-index:2;
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    margin-bottom:20px;
    border-radius:17px;
    background:linear-gradient(135deg,rgba(124,92,255,.3),rgba(0,212,255,.12));
    font-size:25px;
}
.feature-card h3{
    position:relative;
    z-index:2;
    margin-bottom:9px;
    font-size:16px;
}
.feature-card p{
    position:relative;
    z-index:2;
    color:var(--muted);
    font-size:13px;
    line-height:1.7;
}

/* ================= REVIEWS ================= */
.review-slider{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:17px;
    overflow:hidden;
}
.review-card{
    min-height:250px;
    padding:25px;
    border:1px solid var(--border);
    border-radius:24px;
    background:var(--card);
    transition:.35s;
}
.review-card:hover{
    transform:translateY(-7px);
    border-color:rgba(0,212,255,.3);
}
.review-stars{
    margin-bottom:18px;
    color:var(--yellow);
    letter-spacing:2px;
}
.review-card>p{
    min-height:80px;
    color:var(--muted);
    font-size:14px;
    line-height:1.8;
}
.review-user{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:20px;
}
.avatar{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#fff;
    font-weight:800;
}
.review-user b{
    display:block;
    font-size:13px;
}
.review-user span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:11px;
}
.slider-buttons{
    display:flex;
    gap:8px;
}

/* ================= NEWSLETTER ================= */
.newsletter{
    position:relative;
    overflow:hidden;
    padding:60px 8%;
    border:1px solid rgba(124,92,255,.3);
    border-radius:32px;
    background:linear-gradient(125deg,rgba(124,92,255,.2),rgba(0,212,255,.08));
    text-align:center;
}
.newsletter-glow{
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    filter:blur(30px);
    pointer-events:none;
}
.newsletter-glow.one{
    left:-160px;
    top:-180px;
    background:rgba(124,92,255,.2);
}
.newsletter-glow.two{
    right:-160px;
    bottom:-180px;
    background:rgba(0,212,255,.15);
}
.newsletter-content{
    position:relative;
    z-index:2;
}
.newsletter h2{
    font:800 clamp(28px,4vw,45px) "Space Grotesk",sans-serif;
}
.newsletter p{
    margin:13px auto 25px;
    color:var(--muted);
    font-size:14px;
}
.newsletter-form{
    width:min(580px,100%);
    margin:auto;
    display:flex;
    gap:8px;
    padding:7px;
    border:1px solid var(--border);
    border-radius:18px;
    background:rgba(7,11,24,.3);
}
.newsletter-form input{
    flex:1;
    min-width:0;
    padding:0 15px;
    outline:none;
    border:0;
    background:transparent;
    color:var(--text);
}
.newsletter-form input::placeholder{
    color:var(--muted);
}

/* ================= FOOTER ================= */
.footer{
    margin-top:20px;
    padding:70px 5% 20px;
    border-top:1px solid var(--border);
    background:rgba(255,255,255,.015);
}
.footer-grid{
    width:min(1350px,100%);
    margin:auto;
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:50px;
}
.footer-brand p{
    max-width:380px;
    margin:18px 0;
    color:var(--muted);
    font-size:13px;
    line-height:1.8;
}
.socials{
    display:flex;
    gap:8px;
}
.socials button{
    width:38px;
    height:38px;
    border:1px solid var(--border);
    border-radius:12px;
    background:rgba(255,255,255,.05);
    color:var(--text);
    transition:.25s;
}
.socials button:hover{
    transform:translateY(-4px);
    background:var(--primary);
}
.footer-col{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.footer-col h4{
    margin-bottom:7px;
    font-size:14px;
}
.footer-col a{
    color:var(--muted);
    font-size:12px;
    transition:.25s;
}
.footer-col a:hover{
    color:var(--primary2);
    transform:translateX(4px);
}
.footer-bottom{
    width:min(1350px,100%);
    margin:55px auto 0;
    padding-top:20px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid var(--border);
    color:var(--muted);
    font-size:11px;
}

/* ================= MODAL ================= */
.modal{
    position:fixed;
    inset:0;
    z-index:5000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(3,5,12,.72);
    backdrop-filter:blur(12px);
    opacity:0;
    visibility:hidden;
    transition:.3s;
}
.modal.active{
    opacity:1;
    visibility:visible;
}
.modal-box{
    position:relative;
    width:min(560px,100%);
    max-height:92vh;
    overflow:auto;
    padding:32px;
    border:1px solid var(--border);
    border-radius:28px;
    background:var(--bg2);
    box-shadow:0 30px 100px rgba(0,0,0,.45);
    transform:translateY(30px) scale(.97);
    transition:.35s;
}
.modal.active .modal-box{
    transform:none;
}
.modal-close{
    position:absolute;
    top:15px;
    right:15px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid var(--border);
    border-radius:12px;
    background:rgba(255,255,255,.06);
    color:var(--text);
    font-size:23px;
    transition:.25s;
}
.modal-close:hover{
    transform:rotate(90deg);
    background:var(--danger);
}
.modal-title{
    margin-bottom:25px;
}
.modal-title h2{
    font:800 30px "Space Grotesk",sans-serif;
}
.search-large{
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 17px;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(255,255,255,.05);
}
.search-large span{
    color:var(--primary2);
    font-size:25px;
}
.search-large input{
    width:100%;
    height:60px;
    outline:none;
    border:0;
    background:transparent;
    color:var(--text);
}
.search-results{
    margin-top:14px;
}
.empty-text{
    padding:20px;
    color:var(--muted);
    text-align:center;
    font-size:13px;
}
.search-result-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:14px;
    margin-bottom:8px;
    border:1px solid var(--border);
    border-radius:14px;
    background:rgba(255,255,255,.035);
}
.search-result-left{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:0;
}
.search-result-icon{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(124,92,255,.15);
    font-size:22px;
}
.search-result-item b{
    display:block;
    font-size:13px;
}
.search-result-item span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:11px;
}

/* ================= AUTH ================= */
.auth-box{
    width:min(500px,100%);
}
.auth-panel{
    display:none;
}
.auth-panel.active{
    display:block;
    animation:authIn .35s ease;
}
@keyframes authIn{
    from{opacity:0;transform:translateX(15px)}
    to{opacity:1;transform:none}
}
.auth-head{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:25px;
}
.auth-logo{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#fff;
    font:800 24px "Space Grotesk",sans-serif;
}
.auth-head h2{
    font:800 24px "Space Grotesk",sans-serif;
}
.auth-head p{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
}
.auth-form{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.auth-form label:not(.check-label){
    margin-top:5px;
    font-size:12px;
    font-weight:700;
}
.input-wrap{
    position:relative;
    display:flex;
    align-items:center;
    height:52px;
    padding:0 14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:rgba(255,255,255,.04);
    transition:.25s;
}
.input-wrap:focus-within{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(124,92,255,.1);
}
.input-wrap>span{
    margin-right:10px;
    opacity:.65;
}
.input-wrap input{
    flex:1;
    min-width:0;
    outline:none;
    border:0;
    background:transparent;
    color:var(--text);
}
.show-pass{
    padding:4px;
    background:transparent;
    color:var(--muted);
}
.auth-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:6px 0;
}
.check-label{
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--muted);
    font-size:11px;
    cursor:pointer;
}
.check-label input{
    accent-color:var(--primary);
}
.text-btn,.auth-switch button{
    padding:0;
    background:transparent;
    color:var(--primary2);
    font-size:11px;
}
.auth-submit{
    width:100%;
    margin-top:8px;
}
.auth-divider{
    display:flex;
    align-items:center;
    gap:10px;
    margin:20px 0;
    color:var(--muted);
    font-size:10px;
}
.auth-divider:before,.auth-divider:after{
    content:"";
    flex:1;
    height:1px;
    background:var(--border);
}
.social-login{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}
.social-login button{
    height:45px;
    border:1px solid var(--border);
    border-radius:13px;
    background:rgba(255,255,255,.04);
    color:var(--text);
}
.auth-switch{
    margin-top:20px;
    color:var(--muted);
    text-align:center;
    font-size:12px;
}
.terms{
    margin-top:8px;
}

/* ================= SIDE PANEL ================= */
.side-panel{
    position:fixed;
    top:0;
    right:0;
    z-index:6000;
    width:min(450px,100%);
    height:100vh;
    display:flex;
    flex-direction:column;
    border-left:1px solid var(--border);
    background:var(--bg2);
    box-shadow:-20px 0 70px rgba(0,0,0,.25);
    transform:translateX(105%);
    transition:.4s cubic-bezier(.2,.8,.2,1);
}
.side-panel.active{
    transform:none;
}
.panel-head{
    position:relative;
    padding:24px;
    border-bottom:1px solid var(--border);
}
.panel-head h2{
    margin-top:3px;
    font:800 24px "Space Grotesk",sans-serif;
}
.panel-head h2 small{
    color:var(--muted);
    font-size:13px;
}
.panel-head .modal-close{
    top:22px;
}
.panel-body{
    flex:1;
    overflow:auto;
    padding:18px;
}
.empty-state{
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.empty-state>div{
    margin-bottom:13px;
    font-size:55px;
    opacity:.65;
}
    .empty-state h3{
    font-size:17px;
}
.empty-state p{
    margin-top:8px;
    color:var(--muted);
    font-size:12px;
}
.cart-footer{
    padding:20px;
    border-top:1px solid var(--border);
}
.cart-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:15px;
}
.cart-total span{
    color:var(--muted);
    font-size:13px;
}
.cart-total strong{
    font:800 23px "Space Grotesk",sans-serif;
}
.checkout-btn{
    width:100%;
}
.cart-item,.wishlist-item{
    display:flex;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid var(--border);
}
.cart-item-icon{
    width:62px;
    height:62px;
    flex:none;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:linear-gradient(135deg,rgba(124,92,255,.2),rgba(0,212,255,.08));
    font-size:30px;
}
.cart-item-info{
    flex:1;
    min-width:0;
}
.cart-item-info b{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:13px;
}
.cart-item-info strong{
    display:block;
    margin:5px 0;
    color:var(--primary2);
    font-size:12px;
}
.cart-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.qty-box{
    display:flex;
    align-items:center;
    gap:7px;
}
.qty-btn{
    width:25px;
    height:25px;
    border:1px solid var(--border);
    border-radius:7px;
    background:rgba(255,255,255,.05);
    color:var(--text);
}
.qty-number{
    min-width:18px;
    text-align:center;
    font-size:12px;
}
.remove-item{
    background:transparent;
    color:var(--danger);
    font-size:16px;
}
.wishlist-item{
    align-items:center;
}
.wishlist-info{
    flex:1;
}
.wishlist-info b{
    display:block;
    font-size:13px;
}
.wishlist-info span{
    display:block;
    margin-top:5px;
    color:var(--primary2);
    font-size:12px;
}
.wishlist-actions{
    display:flex;
    gap:6px;
}
.small-action{
    padding:8px 10px;
    border-radius:9px;
    background:rgba(255,255,255,.06);
    color:var(--text);
    font-size:11px;
}

/* ================= CHECKOUT ================= */
.checkout-box{
    width:min(650px,100%);
}
.checkout-form{
    display:flex;
    flex-direction:column;
    gap:9px;
}
.checkout-form label{
    margin-top:5px;
    font-size:12px;
    font-weight:700;
}
.checkout-form>input,.checkout-form select,.form-grid input{
    width:100%;
    height:51px;
    padding:0 15px;
    outline:none;
    border:1px solid var(--border);
    border-radius:13px;
    background:rgba(255,255,255,.04);
    color:var(--text);
}
.checkout-form select option{
    background:var(--bg2);
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.form-grid>div{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.checkout-summary{
    margin:13px 0;
    padding:17px;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(255,255,255,.035);
}
.checkout-summary>div{
    display:flex;
    justify-content:space-between;
    padding:7px 0;
    color:var(--muted);
    font-size:13px;
}
.checkout-summary b{
    color:var(--text);
}
.checkout-final{
    margin-top:7px;
    padding-top:14px!important;
    border-top:1px solid var(--border);
}
.checkout-final strong{
    color:var(--primary2);
    font:800 20px "Space Grotesk",sans-serif;
}

/* ================= INTRO ================= */
.intro-box{
    width:min(800px,100%);
    padding:0;
    overflow:hidden;
}
.intro-video{
    min-height:440px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:
        radial-gradient(circle at center,rgba(124,92,255,.4),transparent 30%),
        radial-gradient(circle at 70% 30%,rgba(0,212,255,.2),transparent 20%),
        linear-gradient(135deg,#12193b,#060914);
}
.intro-play{
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    margin-bottom:25px;
    padding-left:4px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.2);
    font-size:25px;
    animation:pulsePlay 2s infinite;
}
@keyframes pulsePlay{
    50%{box-shadow:0 0 0 20px rgba(124,92,255,0)}
}
.intro-video span{
    color:var(--primary2);
    font-size:12px;
    letter-spacing:3px;
}
.intro-video h2{
    margin:12px 0;
    font:800 clamp(30px,5vw,55px) "Space Grotesk",sans-serif;
}
.intro-video p{
    color:var(--muted);
    font-size:13px;
}

/* ================= TOAST ================= */
.toast-container{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:10000;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.toast{
    width:min(360px,calc(100vw - 40px));
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(17,26,49,.92);
    backdrop-filter:blur(20px);
    box-shadow:var(--shadow);
    animation:toastIn .35s ease;
}
.toast.success{border-color:rgba(0,208,132,.4)}
.toast.error{border-color:rgba(255,83,112,.4)}
.toast-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:rgba(124,92,255,.2);
}
.toast-text b{
    display:block;
    font-size:12px;
}
.toast-text span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:11px;
}
@keyframes toastIn{
    from{opacity:0;transform:translateX(50px)}
    to{opacity:1;transform:none}
}

/* ================= MOBILE NAV ================= */
.mobile-nav{
    position:fixed;
    top:66px;
    left:12px;
    right:12px;
    z-index:900;
    display:none;
    flex-direction:column;
    padding:12px;
    border:1px solid var(--border);
    border-radius:20px;
    background:rgba(13,18,37,.96);
    backdrop-filter:blur(20px);
    box-shadow:var(--shadow);
}
.mobile-nav.active{
    display:flex;
    animation:menuIn .3s ease;
}
@keyframes menuIn{
    from{opacity:0;transform:translateY(-10px)}
    to{opacity:1;transform:none}
}
.mobile-nav a,.mobile-nav button{
    padding:13px;
    border-radius:12px;
    background:transparent;
    color:var(--text);
    text-align:left;
    font-size:13px;
}
.mobile-nav a:hover,.mobile-nav button:hover{
    background:rgba(124,92,255,.15);
}

/* ================= BACK TOP ================= */
.back-top{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:800;
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#fff;
    font-size:20px;
    box-shadow:0 10px 30px rgba(124,92,255,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:.3s;
}
.back-top.show{
    opacity:1;
    visibility:visible;
    transform:none;
}

/* ================= EXTRA RESPONSIVE ================= */
@media(max-width:1050px){
    .about-grid{gap:40px}
    .feature-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:2fr 1fr 1fr}
    .footer-brand{grid-column:span 3}
}
@media(max-width:760px){
    .about-grid{grid-template-columns:1fr}
    .about-visual{min-height:340px}
    .review-slider{display:flex;overflow-x:auto;padding-bottom:10px}
    .review-card{min-width:300px}
    .footer-grid{grid-template-columns:1fr 1fr;gap:35px}
    .footer-brand{grid-column:span 2}
    .footer-bottom{flex-direction:column;text-align:center}
    .newsletter{padding:45px 20px}
}
@media(max-width:500px){
    .feature-grid{grid-template-columns:1fr}
    .newsletter-form{flex-direction:column;padding:9px}
    .newsletter-form input{height:45px}
    .newsletter-form .btn{width:100%}
    .modal{padding:10px}
    .modal-box{padding:25px 18px;border-radius:22px}
    .social-login{grid-template-columns:1fr}
    .auth-options{align-items:flex-start;flex-direction:column}
    .form-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .footer-brand{grid-column:auto}
    .footer-bottom{margin-top:35px}
    .side-panel{width:100%}
    .about-main{width:220px;height:220px}
    .about-main span{font-size:55px}
    .about-small{padding:11px 14px;font-size:11px}
    .about-small.one{top:35px}
    .about-small.two{bottom:35px}
}

/* ================= PART 5 - EXTRA FEATURES ================= */
.floating-tools{
    position:fixed;
    right:22px;
    bottom:80px;
    z-index:850;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.floating-tools button{
    position:relative;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(17,26,49,.9);
    backdrop-filter:blur(15px);
    color:var(--text);
    font-size:20px;
    box-shadow:var(--shadow);
    transition:.3s;
}
.floating-tools button:hover{
    transform:translateY(-5px) scale(1.06);
    border-color:var(--primary);
}
.floating-dot{
    position:absolute;
    top:8px;
    right:8px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#00d084;
    animation:onlinePulse 1.5s infinite;
}
@keyframes onlinePulse{
    50%{box-shadow:0 0 0 6px rgba(0,208,132,0)}
}
.notify-number{
    position:absolute;
    top:-6px;
    right:-6px;
    min-width:19px;
    height:19px;
    display:grid;
    place-items:center;
    padding:0 4px;
    border-radius:50px;
    background:var(--danger);
    color:#fff;
    font-size:9px;
    font-weight:800;
}
.notification-item{
    display:flex;
    gap:12px;
    padding:15px 5px;
    border-bottom:1px solid var(--border);
}
.notification-item.unread{
    padding-left:10px;
    border-radius:14px;
    background:rgba(124,92,255,.06);
}
.notification-icon{
    width:43px;
    height:43px;
    flex:none;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(124,92,255,.15);
    font-size:20px;
}
.notification-item b{
    font-size:12px;
}
.notification-item p{
    margin:5px 0;
    color:var(--muted);
    font-size:11px;
    line-height:1.6;
}
.notification-item small{
    color:var(--primary2);
    font-size:10px;
}
.chat-box{
    position:fixed;
    right:82px;
    bottom:25px;
    z-index:9000;
    width:min(370px,calc(100vw - 25px));
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:22px;
    background:var(--bg2);
    box-shadow:0 30px 80px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(20px) scale(.96);
    transition:.3s;
}
.chat-box.active{
    opacity:1;
    visibility:visible;
    transform:none;
}
.chat-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px;
    background:linear-gradient(135deg,rgba(124,92,255,.25),rgba(0,212,255,.1));
}
.chat-agent{
    display:flex;
    align-items:center;
    gap:10px;
}
.agent-avatar,.message-avatar{
    width:39px;
    height:39px;
    flex:none;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#fff;
    font-weight:800;
}
.chat-agent b{
    display:block;
    font-size:12px;
}
.chat-agent span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:10px;
}
.chat-agent i{
    display:inline-block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#00d084;
}
.chat-head>button{
    width:33px;
    height:33px;
    border-radius:10px;
    background:rgba(255,255,255,.08);
    color:var(--text);
    font-size:20px;
}
.chat-messages{
    height:280px;
    overflow-y:auto;
    padding:15px;
}
.message{
    display:flex;
    gap:8px;
    margin-bottom:13px;
}
.message-avatar{
    width:30px;
    height:30px;
    font-size:11px;
}
.message-content{
    max-width:80%;
    padding:10px 12px;
    border-radius:4px 14px 14px 14px;
    background:rgba(255,255,255,.06);
    color:var(--text);
    font-size:12px;
    line-height:1.55;
}
.message.user{
    justify-content:flex-end;
}
.message.user .message-content{
    border-radius:14px 4px 14px 14px;
    background:linear-gradient(135deg,var(--primary),#5964ff);
    color:#fff;
}
.chat-quick{
    display:flex;
    gap:6px;
    overflow-x:auto;
    padding:0 12px 10px;
}
.chat-quick button{
    flex:none;
    padding:7px 10px;
    border:1px solid var(--border);
    border-radius:50px;
    background:rgba(255,255,255,.04);
    color:var(--muted);
    font-size:10px;
}
.chat-input{
    display:flex;
    gap:8px;
    padding:11px;
    border-top:1px solid var(--border);
}
.chat-input input{
    flex:1;
    min-width:0;
    padding:0 13px;
    outline:none;
    border:1px solid var(--border);
    border-radius:12px;
    background:rgba(255,255,255,.04);
    color:var(--text);
}
.chat-input button{
    width:42px;
    height:42px;
    border-radius:12px;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#fff;
}
.account-user-card{
    padding:22px;
    border:1px solid var(--border);
    border-radius:20px;
    background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(0,212,255,.06));
    text-align:center;
}
.account-big-avatar{
    width:75px;
    height:75px;
    display:grid;
    place-items:center;
    margin:0 auto 13px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),var(--primary2));
    color:#fff;
    font-size:28px;
    font-weight:800;
}
.account-user-card h3{
    font-size:17px;
}
.account-user-card p{
    margin-top:5px;
    color:var(--muted);
    font-size:11px;
}
.account-menu{
    margin-top:18px;
}
.account-menu button{
    width:100%;
    display:flex;
    align-items:center;
    gap:11px;
    padding:15px 10px;
    border-bottom:1px solid var(--border);
    background:transparent;
    color:var(--text);
    text-align:left;
    font-size:12px;
}
.account-menu button:hover{
    background:rgba(124,92,255,.06);
}
.order-card{
    padding:14px;
    margin-bottom:10px;
    border:1px solid var(--border);
    border-radius:15px;
    background:rgba(255,255,255,.035);
}
.order-card-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
}
.order-card-head b{
    font-size:12px;
}
.order-status{
    color:#00d084;
    font-size:10px;
}
.order-card p{
    margin:8px 0 4px;
    color:var(--muted);
    font-size:11px;
}
.order-card strong{
    color:var(--primary2);
    font-size:13px;
}
.filter-box{
    display:grid;
    grid-template-columns:2fr 1fr 1fr auto;
    gap:10px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:22px;
    background:var(--card);
}
.filter-search{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 14px;
    border:1px solid var(--border);
    border-radius:13px;
}
.filter-search span{
    color:var(--primary2);
    font-size:20px;
}
.filter-search input,.filter-box select{
    width:100%;
    min-width:0;
    height:48px;
    outline:none;
    border:0;
    background:transparent;
    color:var(--text);
}
.filter-box select{
    padding:0 10px;
    border:1px solid var(--border);
    border-radius:13px;
    background:rgba(255,255,255,.035);
}
.filter-box select option{
    background:var(--bg2);
}
.filter-reset{
    white-space:nowrap;
}
.filter-result-info{
    margin-top:14px;
    color:var(--muted);
    font-size:12px;
}
.voucher-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}
.voucher-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:17px;
    overflow:hidden;
    padding:18px;
    border:1px solid var(--border);
    border-radius:22px;
    background:var(--card);
    transition:.3s;
}
.voucher-card:before{
    content:"";
    position:absolute;
    left:95px;
    top:0;
    bottom:0;
    border-left:2px dashed var(--border);
}
.voucher-card:hover{
    transform:translateY(-6px);
    border-color:rgba(124,92,255,.5);
}
.voucher-percent{
    position:relative;
    z-index:2;
    width:75px;
    flex:none;
    color:var(--primary2);
    font:800 25px "Space Grotesk",sans-serif;
    text-align:center;
}
.voucher-percent span{
    font-size:14px;
}
.voucher-info{
    min-width:0;
}
.voucher-info>span{
    color:var(--pink);
    font-size:9px;
    font-weight:800;
    letter-spacing:1px;
}
.voucher-info h3{
    margin:5px 0;
    font-size:13px;
}
.voucher-info p{
    color:var(--muted);
    font-size:10px;
}
.voucher-code{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:10px;
}
.voucher-code b{
    color:var(--primary2);
    font-size:11px;
    letter-spacing:1px;
}
.voucher-code button{
    padding:5px 8px;
    border-radius:7px;
    background:rgba(124,92,255,.15);
    color:var(--primary2);
    font-size:9px;
}
@media(max-width:900px){
    .filter-box{grid-template-columns:1fr 1fr}
    .voucher-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
    .filter-box{grid-template-columns:1fr}
    .filter-reset{width:100%}
    .floating-tools{right:14px;bottom:78px}
    .chat-box{right:10px;bottom:15px}
}

    /* ================= PART 7 - PRODUCT EXPERIENCE ================= */

.scroll-progress{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:3px;
    z-index:99999;
    background:rgba(255,255,255,.04);
}
.scroll-progress span{
    display:block;
    width:0;
    height:100%;
    background:linear-gradient(90deg,var(--primary),var(--primary2),var(--pink));
    box-shadow:0 0 15px var(--primary2);
    transition:width .08s linear;
}

.quick-view-box{
    width:min(850px,calc(100vw - 25px));
    max-height:90vh;
    overflow:auto;
}

.quick-view-layout{
    display:grid;
    grid-template-columns:320px 1fr;
    gap:28px;
    padding:10px;
}

.quick-product-visual{
    position:relative;
    min-height:360px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:24px;
    background:
        radial-gradient(circle at 30% 20%,rgba(124,92,255,.28),transparent 45%),
        radial-gradient(circle at 70% 80%,rgba(0,212,255,.18),transparent 40%),
        rgba(255,255,255,.03);
}

.quick-product-visual:before{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    animation:quickSpin 14s linear infinite;
}

.quick-product-icon{
    position:relative;
    z-index:2;
    font-size:130px;
    filter:drop-shadow(0 20px 30px rgba(0,0,0,.35));
    animation:quickFloat 3.5s ease-in-out infinite;
}

@keyframes quickFloat{
    50%{transform:translateY(-14px) rotate(4deg)}
}

@keyframes quickSpin{
    to{transform:rotate(360deg)}
}

.quick-product-info{
    padding:12px 8px;
}

.quick-category{
    display:inline-block;
    margin-bottom:10px;
    color:var(--primary2);
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
}

.quick-product-info h2{
    margin:0;
    font-size:30px;
}

.quick-rating{
    display:flex;
    align-items:center;
    gap:8px;
    margin:15px 0;
}

.quick-stars{
    color:#ffc94a;
    letter-spacing:2px;
}

.quick-rating span{
    color:var(--muted);
    font-size:11px;
}

.quick-price{
    display:flex;
    align-items:center;
    gap:10px;
    margin:18px 0;
}

.quick-price strong{
    color:var(--primary2);
    font-size:25px;
}

.quick-price del{
    color:var(--muted);
    font-size:13px;
}

.quick-description{
    color:var(--muted);
    font-size:13px;
    line-height:1.8;
}

.quick-specs{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin:20px 0;
}

.quick-spec{
    padding:12px;
    border:1px solid var(--border);
    border-radius:13px;
    background:rgba(255,255,255,.025);
}

.quick-spec span{
    display:block;
    color:var(--muted);
    font-size:9px;
    margin-bottom:5px;
}

.quick-spec b{
    font-size:11px;
}

.quick-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.quick-actions .btn{
    flex:1;
}

.product-card{
    cursor:pointer;
}

.product-card .quick-view-btn{
    position:absolute;
    left:50%;
    bottom:78px;
    z-index:5;
    padding:9px 13px;
    border:1px solid var(--border);
    border-radius:50px;
    background:rgba(13,19,35,.88);
    backdrop-filter:blur(10px);
    color:var(--text);
    font-size:10px;
    white-space:nowrap;
    opacity:0;
    transform:translate(-50%,15px);
    transition:.3s;
}

.product-card:hover .quick-view-btn{
    opacity:1;
    transform:translate(-50%,0);
}

.compare-box{
    width:min(750px,calc(100vw - 25px));
}

.compare-selects{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:20px 0 12px;
}

.compare-selects select{
    width:100%;
    height:48px;
    padding:0 12px;
    outline:none;
    border:1px solid var(--border);
    border-radius:13px;
    background:var(--bg2);
    color:var(--text);
}

.compare-run{
    width:100%;
}

.compare-result{
    margin-top:20px;
}

.compare-table{
    width:100%;
    border-collapse:collapse;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:15px;
}

.compare-table th,
.compare-table td{
    padding:13px 10px;
    border-bottom:1px solid var(--border);
    text-align:left;
    font-size:11px;
}

.compare-table th{
    color:var(--muted);
    font-weight:600;
}

.compare-table td{
    font-weight:700;
}

.compare-product-icon{
    font-size:30px;
}

.recent-section{
    padding-top:20px;
}

.recent-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.recent-card{
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px;
    border:1px solid var(--border);
    border-radius:18px;
    background:var(--card);
    cursor:pointer;
    transition:.3s;
}

.recent-card:hover{
    transform:translateY(-5px);
    border-color:rgba(0,212,255,.45);
    box-shadow:0 15px 35px rgba(0,0,0,.16);
}

.recent-icon{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:15px;
    background:rgba(124,92,255,.12);
    font-size:28px;
}

.recent-info{
    min-width:0;
}

.recent-info b{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
}

.recent-info span{
    display:block;
    margin-top:6px;
    color:var(--primary2);
    font-size:11px;
    font-weight:700;
}

.recent-empty{
    grid-column:1/-1;
    padding:28px;
    border:1px dashed var(--border);
    border-radius:18px;
    color:var(--muted);
    text-align:center;
    font-size:12px;
}

.text-action{
    padding:9px 12px;
    border:1px solid var(--border);
    border-radius:10px;
    background:rgba(255,255,255,.03);
    color:var(--muted);
    font-size:10px;
}

.text-action:hover{
    color:var(--pink);
    border-color:rgba(255,80,140,.35);
}

@media(max-width:850px){
    .quick-view-layout{
        grid-template-columns:1fr;
    }

    .quick-product-visual{
        min-height:220px;
    }

    .quick-product-icon{
        font-size:90px;
    }

    .recent-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:550px){
    .quick-specs,
    .compare-selects{
        grid-template-columns:1fr;
    }

    .quick-product-info h2{
        font-size:23px;
    }

    .quick-actions{
        flex-direction:column;
    }

    .recent-grid{
        grid-template-columns:1fr;
    }

    .product-card .quick-view-btn{
        opacity:1;
        bottom:72px;
        transform:translate(-50%,0);
    }
}

    /* ================= PART 8 - FLASH SALE & LUCKY ================= */

.flash-sale-section{
    position:relative;
    padding-top:35px;
}
.flash-sale-section:before{
    content:"";
    position:absolute;
    inset:10% 0 auto;
    height:280px;
    pointer-events:none;
    background:radial-gradient(circle at 20% 50%,rgba(255,80,140,.1),transparent 35%),radial-gradient(circle at 80% 40%,rgba(255,180,50,.08),transparent 35%);
}
.flash-sale-head{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:24px;
}
.flash-sale-head h2{margin:5px 0;font-size:32px}
.flash-sale-head p{margin:0;color:var(--muted);font-size:12px}
.countdown-box{
    display:flex;
    align-items:center;
    gap:8px;
}
.countdown-box>i{
    color:var(--pink);
    font-size:24px;
    font-style:normal;
    font-weight:900;
}
.countdown-item{
    min-width:62px;
    padding:10px 8px;
    text-align:center;
    border:1px solid rgba(255,80,140,.25);
    border-radius:14px;
    background:rgba(255,80,140,.07);
}
.countdown-item b{
    display:block;
    font-size:22px;
    color:var(--text);
}
.countdown-item span{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:8px;
    font-weight:800;
    letter-spacing:1px;
}
.flash-products{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.flash-card{
    position:relative;
    overflow:hidden;
    padding:16px;
    border:1px solid var(--border);
    border-radius:20px;
    background:var(--card);
    transition:.35s;
}
.flash-card:hover{
    transform:translateY(-8px);
    border-color:rgba(255,80,140,.45);
    box-shadow:0 20px 45px rgba(0,0,0,.25);
}
.flash-badge{
    position:absolute;
    top:12px;
    right:12px;
    padding:5px 9px;
    border-radius:20px;
    background:rgba(255,80,140,.15);
    color:var(--pink);
    font-size:9px;
    font-weight:900;
}
.flash-icon{
    display:grid;
    place-items:center;
    min-height:125px;
    font-size:64px;
    background:radial-gradient(circle,rgba(124,92,255,.15),transparent 65%);
}
.flash-card b{display:block;font-size:12px}
.flash-card strong{
    display:block;
    margin:8px 0;
    color:var(--primary2);
    font-size:15px;
}
.flash-progress{
    height:6px;
    overflow:hidden;
    border-radius:20px;
    background:rgba(255,255,255,.07);
}
.flash-progress span{
    display:block;
    height:100%;
    border-radius:20px;
    background:linear-gradient(90deg,var(--pink),#ffb347);
}
.flash-stock{
    display:block;
    margin-top:8px;
    color:var(--muted);
    font-size:9px;
}

.lucky-section{padding-top:55px}
.lucky-wrap{
    position:relative;
    display:grid;
    grid-template-columns:1fr 380px;
    align-items:center;
    gap:40px;
    overflow:hidden;
    padding:45px;
    border:1px solid var(--border);
    border-radius:30px;
    background:linear-gradient(135deg,rgba(124,92,255,.12),rgba(0,212,255,.05),rgba(255,80,140,.08));
}
.lucky-wrap:before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    top:-300px;
    right:-100px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
}
.lucky-info{position:relative;z-index:2}
.lucky-info h2{margin:7px 0 12px;font-size:38px}
.lucky-info p{
    max-width:500px;
    color:var(--muted);
    font-size:13px;
    line-height:1.8;
}
.lucky-prizes{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:20px 0;
}
.lucky-prizes span{
    padding:8px 11px;
    border:1px solid var(--border);
    border-radius:30px;
    background:rgba(255,255,255,.04);
    font-size:10px;
}
.lucky-preview{
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
}
.preview-wheel{
    position:relative;
    width:250px;
    aspect-ratio:1;
    display:block;
    overflow:hidden;
    border:10px solid rgba(255,255,255,.08);
    border-radius:50%;
    background:conic-gradient(var(--primary) 0deg 60deg,var(--pink) 60deg 120deg,var(--primary2) 120deg 180deg,#ffb347 180deg 240deg,var(--primary) 240deg 300deg,var(--pink) 300deg);
    animation:previewWheel 12s linear infinite;
    box-shadow:0 0 50px rgba(124,92,255,.25);
}
.preview-wheel div{
    position:absolute;
    left:50%;
    top:20px;
    width:60px;
    margin-left:-30px;
    text-align:center;
    color:#fff;
    font-size:22px;
    font-weight:900;
    transform-origin:50% 95px;
}
.preview-wheel div:nth-child(1){transform:rotate(30deg)}
.preview-wheel div:nth-child(2){transform:rotate(90deg)}
.preview-wheel div:nth-child(3){transform:rotate(150deg)}
.preview-wheel div:nth-child(4){transform:rotate(210deg)}
.preview-wheel div:nth-child(5){transform:rotate(270deg)}
.preview-wheel div:nth-child(6){transform:rotate(330deg)}
.preview-pointer{
    position:absolute;
    top:-14px;
    z-index:3;
    color:#fff;
    font-size:34px;
}
@keyframes previewWheel{to{transform:rotate(360deg)}}

.lucky-modal-box{
    width:min(470px,calc(100vw - 25px));
    text-align:center;
}
.lucky-modal-title h2{margin:5px 0;font-size:25px}
.lucky-modal-title p{color:var(--muted);font-size:12px}
.wheel-stage{
    position:relative;
    display:grid;
    place-items:center;
    margin:20px auto;
}
.wheel-pointer{
    position:absolute;
    top:-16px;
    z-index:5;
    color:#fff;
    font-size:32px;
    filter:drop-shadow(0 5px 8px rgba(0,0,0,.4));
}
.lucky-wheel{
    position:relative;
    width:290px;
    aspect-ratio:1;
    overflow:hidden;
    border:9px solid rgba(255,255,255,.12);
    border-radius:50%;
    background:conic-gradient(
        #7c5cff 0deg 60deg,
        #ff508c 60deg 120deg,
        #00d4ff 120deg 180deg,
        #ffb347 180deg 240deg,
        #7c5cff 240deg 300deg,
        #ff508c 300deg 360deg
    );
    box-shadow:0 0 45px rgba(124,92,255,.25);
    transition:transform 5s cubic-bezier(.12,.7,.12,1);
}
.wheel-center{
    position:absolute;
    top:50%;
    left:50%;
    z-index:4;
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    border:6px solid rgba(255,255,255,.12);
    border-radius:50%;
    background:var(--bg);
    transform:translate(-50%,-50%);
    font-size:11px;
    font-weight:900;
}
.wheel-text{
    position:absolute;
    z-index:2;
    left:50%;
    top:24px;
    width:60px;
    margin-left:-30px;
    text-align:center;
    color:#fff;
    font-size:14px;
    font-weight:900;
    transform-origin:50% 112px;
}
.t1{transform:rotate(30deg)}
.t2{transform:rotate(90deg)}
.t3{transform:rotate(150deg)}
.t4{transform:rotate(210deg)}
.t5{transform:rotate(270deg)}
.t6{transform:rotate(330deg)}
.spin-button{width:100%}

.promo-box{
    position:relative;
    width:min(470px,calc(100vw - 25px));
    overflow:hidden;
    text-align:center;
}
.promo-glow{
    position:absolute;
    width:250px;
    height:250px;
    top:-100px;
    left:50%;
    border-radius:50%;
    background:rgba(124,92,255,.25);
    filter:blur(55px);
    transform:translateX(-50%);
}
.promo-content{position:relative;z-index:2;padding:10px}
.promo-tag{
    display:inline-block;
    padding:7px 12px;
    border-radius:30px;
    background:rgba(255,80,140,.12);
    color:var(--pink);
    font-size:9px;
    font-weight:900;
    letter-spacing:1px;
}
.promo-icon{
    margin:15px 0;
    font-size:60px;
    animation:promoFloat 3s ease-in-out infinite;
}
@keyframes promoFloat{50%{transform:translateY(-10px) rotate(8deg)}}
.promo-content h2{margin:5px 0;font-size:28px}
.promo-content p{color:var(--muted);font-size:12px}
.promo-code{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:20px 0;
    padding:8px 8px 8px 16px;
    border:1px dashed rgba(0,212,255,.4);
    border-radius:14px;
    background:rgba(0,212,255,.05);
}
.promo-code b{
    color:var(--primary2);
    letter-spacing:1px;
}
.promo-code button{
    padding:9px 13px;
    border:0;
    border-radius:9px;
    background:var(--primary);
    color:#fff;
    font-size:10px;
}
.promo-claim{width:100%}

.purchase-popup{
    position:fixed;
    left:20px;
    bottom:20px;
    z-index:9997;
    width:min(330px,calc(100vw - 40px));
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    border:1px solid var(--border);
    border-radius:16px;
    background:rgba(13,19,35,.92);
    backdrop-filter:blur(18px);
    box-shadow:0 15px 40px rgba(0,0,0,.3);
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    transition:.4s;
}
.purchase-popup.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.purchase-avatar{
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:13px;
    background:rgba(124,92,255,.15);
    font-size:22px;
}
.purchase-info{min-width:0;flex:1}
.purchase-info b,
.purchase-info span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.purchase-info b{font-size:10px}
.purchase-info span{
    margin:4px 0;
    color:var(--primary2);
    font-size:10px;
}
.purchase-info small{color:var(--muted);font-size:8px}
.purchase-popup>button{
    align-self:flex-start;
    border:0;
    background:none;
    color:var(--muted);
    font-size:18px;
}

.viewer-live{
    position:fixed;
    right:20px;
    bottom:25px;
    z-index:9996;
    display:flex;
    align-items:center;
    gap:7px;
    padding:9px 13px;
    border:1px solid var(--border);
    border-radius:30px;
    background:rgba(13,19,35,.75);
    backdrop-filter:blur(10px);
    color:var(--muted);
    font-size:10px;
}
.viewer-live b{color:var(--text)}
.live-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#4cff91;
    box-shadow:0 0 10px #4cff91;
    animation:livePulse 1.5s infinite;
}
@keyframes livePulse{
    50%{opacity:.3;transform:scale(.7)}
}

.confetti-container{
    position:fixed;
    inset:0;
    z-index:99999;
    pointer-events:none;
    overflow:hidden;
}
.confetti{
    position:absolute;
    top:-20px;
    width:9px;
    height:14px;
    border-radius:2px;
    animation:confettiFall 2.8s linear forwards;
}
@keyframes confettiFall{
    to{
        transform:translate(var(--x),110vh) rotate(720deg);
        opacity:0;
    }
}

@media(max-width:850px){
    .flash-products{grid-template-columns:repeat(2,1fr)}
    .lucky-wrap{grid-template-columns:1fr;padding:30px}
    .lucky-preview{margin-top:10px}
}
@media(max-width:600px){
    .flash-sale-head{align-items:flex-start;flex-direction:column}
    .countdown-item{min-width:52px}
    .countdown-item b{font-size:18px}
    .flash-products{grid-template-columns:1fr 1fr}
    .lucky-info h2{font-size:29px}
    .preview-wheel{width:210px}
    .viewer-live{right:15px;bottom:85px}
}
