/* ==========================
   Infinity Cubes V3
========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{

background:#0F172A;
overflow-x:hidden;
color:white;

}

/* Animated Background */

.background{

position:fixed;
top:0;
left:0;
width:100%;
height:100%;

background:linear-gradient(
135deg,
#10B981,
#22C55E,
#4ADE80,
#EC4899,
#F472B6
);

background-size:500% 500%;

animation:gradientMove 18s ease infinite;

z-index:-2;

}

/* Animation */

@keyframes gradientMove{

0%{
background-position:0% 50%;
}

25%{
background-position:50% 100%;
}

50%{
background-position:100% 50%;
}

75%{
background-position:50% 0%;
}

100%{
background-position:0% 50%;
}

}

/* Navbar */

.navbar{

width:90%;

margin:30px auto;

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 30px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(20px);

border-radius:20px;

border:1px solid rgba(255,255,255,.1);

}

.logo{

font-size:30px;

font-weight:700;

color:white;

}

.navbar ul{

display:flex;

gap:35px;

list-style:none;

align-items:center;

}

.navbar a{

text-decoration:none;

color:white;

font-weight:500;

transition:.3s;

}

.navbar a:hover{

color:#10B981;

}

.cart-button{

background:#10B981;

border:none;

padding:12px 20px;

border-radius:12px;

color:white;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.cart-button:hover{

background:#0ea86d;

transform:translateY(-3px);

}

/* Hero */

.hero{

width:90%;

margin:70px auto;

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

gap:50px;

}

.hero-text h1{

font-size:65px;

line-height:1.1;

margin-bottom:25px;

}

.hero-text p{

font-size:20px;

opacity:.85;

margin-bottom:35px;

line-height:1.7;

}

.hero-buttons{

display:flex;

gap:20px;

}

.primary{

background:#10B981;

border:none;

padding:18px 34px;

border-radius:14px;

font-size:18px;

color:white;

cursor:pointer;

transition:.3s;

}

.primary:hover{

transform:translateY(-5px);

box-shadow:0 15px 40px rgba(16,185,129,.4);

}

.secondary{

background:transparent;

border:2px solid white;

padding:18px 34px;

border-radius:14px;

font-size:18px;

color:white;

cursor:pointer;

transition:.3s;

}

.secondary:hover{

background:white;

color:#0F172A;

}

.hero-image{

display:flex;

justify-content:center;

align-items:center;

}

.cube{

font-size:220px;

animation:floatCube 4s ease-in-out infinite;

filter:drop-shadow(0 30px 50px rgba(0,0,0,.35));

}

@keyframes floatCube{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-18px);

}

100%{

transform:translateY(0);

}

}

/* Mobile */

@media(max-width:900px){

.navbar{

flex-direction:column;

gap:20px;

}

.navbar ul{

flex-wrap:wrap;

justify-content:center;

gap:20px;

}

.hero{

grid-template-columns:1fr;

text-align:center;

}

.hero-text h1{

font-size:42px;

}

.hero-buttons{

justify-content:center;

}

.cube{

font-size:140px;

}

}

/* Notifications */

.notification{

position:fixed;

bottom:30px;

right:30px;

background:#10B981;

color:white;

padding:15px 25px;

border-radius:12px;

box-shadow:0 15px 30px rgba(0,0,0,.3);

transform:translateY(100px);

opacity:0;

transition:.4s;

z-index:9999;

}

.notification.show{

transform:translateY(0);

opacity:1;

}

/* ==========================
   Account Section
========================== */

.account-section{

width:90%;
margin:100px auto;

}

.account-card{

background:rgba(255,255,255,.08);

backdrop-filter:blur(20px);

border-radius:24px;

padding:40px;

border:1px solid rgba(255,255,255,.15);

}

.account-card h2{

text-align:center;

margin-bottom:40px;

}

.auth-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:30px;

}

.auth-box{

display:flex;

flex-direction:column;

gap:15px;

}

.auth-box input{

padding:15px;

border:none;

border-radius:12px;

background:rgba(255,255,255,.12);

color:white;

}

.auth-box button,
.logout-btn{

padding:15px;

border:none;

border-radius:12px;

cursor:pointer;

background:linear-gradient(
90deg,
#10B981,
#EC4899
);

color:white;

font-weight:600;

}

.logout-btn{

margin-top:30px;
width:100%;

}

@media(max-width:900px){

.auth-container{

grid-template-columns:1fr;

}

}

input{

outline:none;

}

input:focus{

box-shadow:0 0 18px rgba(16,185,129,.45);

border:2px solid #10B981;

}

button{

transition:.35s;

}

button:hover{

transform:translateY(-4px);

}

button:active{

transform:scale(.96);

}

.shop{

width:90%;

margin:100px auto;

}

.shop h2{

font-size:42px;

margin-bottom:40px;

text-align:center;

}

#products{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.product{

background:rgba(255,255,255,.08);

backdrop-filter:blur(20px);

border-radius:20px;

padding:25px;

text-align:center;

}

.product img{

width:100%;

height:250px;

object-fit:cover;

border-radius:15px;

margin-bottom:20px;

}

.product h3{

margin-bottom:10px;

}

.product p{

font-size:24px;

font-weight:700;

margin-bottom:20px;

color:#10B981;

}

.product button{

width:100%;

padding:15px;

border:none;

border-radius:12px;

background:#10B981;

color:white;

font-weight:600;

cursor:pointer;

}


/* CART DRAWER */

.cart-drawer{

position:fixed;

top:0;

right:-420px;

width:400px;

height:100%;

background:rgba(255,255,255,.12);

backdrop-filter:blur(20px);

padding:30px;

transition:.35s;

z-index:9999;

display:flex;

flex-direction:column;

}

.cart-drawer.open{

right:0;

}

.cart-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}

.cart-header button{

background:none;

border:none;

font-size:24px;

cursor:pointer;

color:white;

}

#cartItems{

flex:1;

overflow:auto;

}

.cart-item{

background:rgba(255,255,255,.08);

padding:15px;

border-radius:15px;

margin-bottom:15px;

}

.cart-footer{

margin-top:20px;

}

.cart-footer button{

width:100%;

padding:15px;

border:none;

border-radius:12px;

background:#10B981;

color:white;

cursor:pointer;

font-weight:bold;

}

.qty-buttons{

display:flex;

justify-content:center;

align-items:center;

gap:15px;

margin-top:15px;

}

.qty-buttons button{

width:35px;

height:35px;

border:none;

border-radius:10px;

background:#10B981;

color:white;

cursor:pointer;

font-size:18px;

font-weight:bold;

}

.colour-select{

width:100%;

padding:12px;

margin:15px 0;

border-radius:10px;

border:none;

font-size:16px;

background:white;

color:black;

}

.colour-select{

    width:100%;
    padding:12px;
    margin:15px 0;

    border:none;
    border-radius:10px;

    background:white;
    color:black;

}