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

body{
background:#000;
color:white;
overflow-x:hidden;
}

a{
color:white;
text-decoration:none;
}

.site-header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
display:grid;
grid-template-columns:100px 1fr 150px;
align-items:center;
padding:20px 4%;
background:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.05));
}

.hamburger{
width:auto;
border:none;
background:transparent;
color:white;
font-size:30px;
padding:0;
}

.top-nav{
display:flex;
justify-content:center;
gap:42px;
}

.top-nav a{
font-size:13px;
letter-spacing:3px;
}

.cart-link{
width:auto;
background:transparent;
border:none;
color:white;
letter-spacing:2px;
}

.side-menu{
position:fixed;
top:0;
left:-330px;
width:300px;
height:100vh;
background:#070707;
border-right:1px solid #9b4dff;
z-index:2000;
padding:30px;
transition:.3s;
display:flex;
flex-direction:column;
gap:20px;
}

.side-menu.open{
left:0;
}

.side-sub{
padding-left:18px;
display:flex;
flex-direction:column;
gap:13px;
border-left:1px solid rgba(155,77,255,.4);
}

.side-close{
width:auto;
align-self:flex-end;
font-size:30px;
border:none;
}

.hero{
position:relative;
width:100%;
background:#000;
}

.hero-image{
width:100%;
height:auto;
display:block;
}

.shop-drop-btn{
position:absolute;
left:50%;
bottom:70px;
transform:translateX(-50%);
padding:18px 60px;
border:1px solid #8d5cff;
color:#8d5cff;
letter-spacing:4px;
font-size:18px;
background:transparent;
}

.shop-drop-btn:hover{
background:rgba(141,92,255,.15);
box-shadow:0 0 25px rgba(141,92,255,.35);
}

.products{
padding:80px 5%;
text-align:center;
background:#050505;
}

.eyebrow{
color:#9b4dff;
letter-spacing:4px;
font-size:12px;
margin-bottom:12px;
}

.products h2{
font-size:40px;
margin-bottom:50px;
letter-spacing:4px;
}

.product-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.product-card{
background:#0b0b0b;
border:1px solid rgba(155,77,255,.3);
}

.product-card img{
width:100%;
display:block;
background:white;
}

.product-info{
padding:25px;
}

.product-info h3{
margin-bottom:10px;
}

.price{
font-size:22px;
margin:15px 0;
}

.stock{
color:#9b4dff;
font-size:12px;
letter-spacing:2px;
margin:15px 0;
}

button{
width:100%;
padding:14px;
background:black;
color:white;
border:1px solid #9b4dff;
cursor:pointer;
text-transform:uppercase;
letter-spacing:2px;
}

button:hover{
background:#9b4dff;
}

select{
width:100%;
padding:12px;
margin:15px 0;
background:#111;
color:white;
border:1px solid #333;
}

.cart-drawer{
position:fixed;
right:-420px;
top:0;
width:380px;
height:100%;
background:#111;
padding:30px;
transition:.3s;
overflow-y:auto;
z-index:2200;
border-left:1px solid #9b4dff;
}

.cart-drawer.open{
right:0;
}

.cart-close{
width:auto;
float:right;
font-size:28px;
padding:5px 12px;
}

.cart-item{
display:grid;
grid-template-columns:80px 1fr;
gap:15px;
border-bottom:1px solid #333;
padding:15px 0;
}

.cart-item img{
width:80px;
height:80px;
object-fit:cover;
background:white;
}

.remove-item{
margin-top:10px;
padding:8px;
font-size:11px;
}

.checkout-btn,.view-cart-btn{
margin-top:15px;
background:#9b4dff;
}

.product-page{
min-height:100vh;
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
padding:120px 8% 90px;
background:#050505;
align-items:center;
}

.product-gallery{
position:relative;
width:100%;
}

.product-gallery #mainProductImage{
width:100%;
background:white;
display:block;
}

.gallery-arrow{
position:absolute;
top:45%;
transform:translateY(-50%);
width:45px;
height:45px;
border-radius:50%;
font-size:32px;
padding:0;
z-index:5;
background:rgba(0,0,0,.7);
}

.gallery-arrow.left{
left:15px;
}

.gallery-arrow.right{
right:15px;
}

.thumbnail-row{
display:flex;
gap:12px;
margin-top:15px;
overflow-x:auto;
}

.thumbnail-row img{
width:85px;
height:85px;
object-fit:cover;
background:white;
cursor:pointer;
border:1px solid rgba(155,77,255,.4);
}

.product-details h1{
font-size:48px;
margin-bottom:15px;
}

.product-details p{
line-height:1.8;
margin:15px 0;
}

.product-details h2{
margin-top:30px;
}

.product-details ul{
margin:20px 0;
padding-left:20px;
line-height:2;
}

.back-link{
display:inline-block;
margin:110px 30px 0;
color:#9b4dff;
letter-spacing:2px;
text-transform:uppercase;
}

.about-hero img{
width:100%;
display:block;
}

.about-content{
max-width:900px;
margin:0 auto;
padding:90px 25px;
line-height:1.9;
}

.about-content h1{
font-size:52px;
color:#9b4dff;
margin-bottom:35px;
}

.about-content h2{
margin-top:40px;
margin-bottom:15px;
letter-spacing:3px;
}

.about-content p{
color:#ccc;
margin-bottom:20px;
font-size:17px;
}

.about-preview{
padding:90px 8%;
text-align:center;
background:#000;
}

.about-preview h2{
font-size:42px;
letter-spacing:4px;
margin-bottom:20px;
}

.about-preview p{
max-width:800px;
margin:0 auto 25px;
color:#ccc;
line-height:2;
}

.page-hero{
min-height:70vh;
padding:150px 8% 80px;
background:#050505;
display:flex;
flex-direction:column;
justify-content:center;
text-align:center;
gap:24px;
}

.page-hero.small{
min-height:40vh;
}

.page-hero h1{
font-size:52px;
letter-spacing:6px;
}

.page-hero p{
max-width:850px;
margin:0 auto;
color:#ccc;
line-height:2;
font-size:18px;
}

.shop-categories{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:18px;
padding:35px 5%;
background:#000;
}

.shop-categories a{
border:1px solid rgba(155,77,255,.5);
padding:12px 18px;
font-size:12px;
letter-spacing:2px;
}

.collection-card-large{
padding:80px 8%;
text-align:center;
background:#000;
}

.collection-card-large h2{
font-size:44px;
color:#9b4dff;
margin-bottom:20px;
}

.collection-card-large p{
max-width:700px;
margin:0 auto 25px;
color:#ccc;
line-height:2;
}

.cart-page{
padding:60px 8% 100px;
background:#050505;
}

.full-cart-item{
display:grid;
grid-template-columns:180px 1fr;
gap:25px;
padding:25px 0;
border-bottom:1px solid #333;
}

.full-cart-item img{
width:180px;
height:180px;
object-fit:cover;
background:white;
}

.signin-container{
max-width:500px;
margin:140px auto 90px;
padding:40px;
text-align:center;
background:#111;
border:1px solid rgba(155,77,255,.4);
}

.signin-form{
display:flex;
flex-direction:column;
gap:15px;
}

.signin-form input{
padding:15px;
background:#1a1a1a;
border:1px solid #333;
color:white;
}

.signin-links{
margin-top:20px;
display:flex;
justify-content:space-between;
}

.signin-links a{
color:#9b4dff;
}

.checkout-page{
min-height:100vh;
padding:130px 8% 80px;
background:#050505;
}

.checkout-page h1{
text-align:center;
font-size:48px;
letter-spacing:5px;
margin-bottom:50px;
}

.checkout-layout{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
}

.checkout-form,.checkout-summary{
background:#0b0b0b;
border:1px solid rgba(155,77,255,.3);
padding:35px;
}

.checkout-form input{
width:100%;
padding:14px;
margin-bottom:15px;
background:#000;
color:white;
border:1px solid #333;
}

.checkout-summary p,.checkout-summary h3{
display:flex;
justify-content:space-between;
margin:18px 0;
}

footer{
padding:60px 20px;
text-align:center;
background:#000;
border-top:1px solid rgba(155,77,255,.2);
line-height:2;
color:#999;
}

@media(max-width:900px){
.top-nav{
display:none;
}

.site-header{
grid-template-columns:60px 1fr 110px;
}

.product-grid,.product-page,.checkout-layout{
grid-template-columns:1fr;
}

.cart-drawer{
width:100%;
right:-100%;
}

.shop-drop-btn{
bottom:30px;
font-size:12px;
padding:12px 28px;
}

.page-hero h1{
font-size:36px;
}
}

.about-hero{
    position:relative;
    min-height:100vh;
    overflow:hidden;
}

.about-hero img{
    width:100%;
    height:100vh;
    object-fit:cover;
    display:block;
}

.about-overlay-text{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    max-width:850px;
    width:90%;
    text-align:center;
    padding:40px;
    background:rgba(0,0,0,.45);
    border:1px solid rgba(155,77,255,.35);
}

.about-overlay-text h1{
    font-size:56px;
    letter-spacing:6px;
    color:#9b4dff;
    margin-bottom:30px;
}

.about-overlay-text h2{
    margin-top:25px;
    margin-bottom:10px;
    letter-spacing:3px;
}

.about-overlay-text p{
    color:#ddd;
    line-height:1.8;
    margin-bottom:14px;
}

@media(max-width:900px){
    .about-hero img{
        height:120vh;
    }

    .about-overlay-text{
        padding:25px;
    }

    .about-overlay-text h1{
        font-size:36px;
    }
}
