:root{

    --blue:#45669F;
    --purple:#9F5B94;

    --background:#111624;
    --card:#20283B;

    --text:#F4F6FB;
    --muted:#BCC7DC;

}



*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}



html{

    scroll-behavior:smooth;

}



body{

    background:var(--background);

    color:var(--text);

    font-family:"Poppins",sans-serif;

}






/* =======================
   HEADER
======================= */


header{

    position:fixed;

    top:20px;

    left:50%;

    transform:translateX(-50%);

    z-index:1000;

    width:auto;

    height:80px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:transparent;

}





nav{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:8px 15px;

    background:rgba(17,22,36,.75);

    backdrop-filter:blur(12px);

    -webkit-backdrop-filter:blur(12px);

    border-radius:50px;

    border:1px solid rgba(255,255,255,.12);

    box-shadow:0 10px 30px rgba(0,0,0,.35);

}





nav a {

    color:white;

    text-decoration:none;


    padding:10px 16px;


    border-radius:50px;


    font-size:.95rem;


    font-weight:600;


    transition:.3s;


}



nav a:hover{


    background:linear-gradient(
        135deg,
        var(--blue),
        var(--purple)
    );


}



.nav-logo{

    display:flex;

    align-items:center;

    padding:0 15px 0 5px;

    border-right:1px solid rgba(255,255,255,.15);

}


.nav-logo img{

    width:120px;

    height:50px;

    object-fit:contain;

    display:block;

}









/* =======================
   HERO
======================= */

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    overflow:hidden;

    background:
        linear-gradient(
            rgba(0,0,0,.25),
            rgba(0,0,0,.35)
        ),
        url("images/background.jpg");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}



.hero-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.05),
            transparent
        );

}



.hero-content{

    position:relative;

    z-index:2;

    max-width:850px;

    padding:40px;

}



.eyebrow{

    color:white;

    letter-spacing:3px;

    font-size:.85rem;

    font-weight:700;

    margin-bottom:20px;

    text-shadow:
        -2px -2px 0 #000,
         2px -2px 0 #000,
        -2px  2px 0 #000,
         2px  2px 0 #000,
         0 4px 10px rgba(0,0,0,.9);

}



.hero h1{

    font-size:5rem;

    line-height:1;

    margin-bottom:20px;

    color:white;

    -webkit-text-fill-color:white;

    background:none;

    text-shadow:
        -3px -3px 0 #000,
         3px -3px 0 #000,
        -3px  3px 0 #000,
         3px  3px 0 #000,
         0 6px 15px rgba(0,0,0,.9);

}



.hero h2{

    font-size:2rem;

    margin-bottom:25px;

    color:white;

    text-shadow:
        -2px -2px 0 #000,
         2px -2px 0 #000,
        -2px  2px 0 #000,
         2px  2px 0 #000,
         0 4px 10px rgba(0,0,0,.9);

}



.hero p{

    color:white;

    font-size:1.2rem;

    line-height:1.8;

    text-shadow:
        -1px -1px 0 #000,
         1px -1px 0 #000,
        -1px  1px 0 #000,
         1px  1px 0 #000,
         0 4px 10px rgba(0,0,0,.9);

}



.buttons{

    margin-top:40px;

    display:flex;

    justify-content:center;

    gap:20px;

}



.buttons a{

    padding:16px 35px;

    border-radius:50px;

    background:
        linear-gradient(
            135deg,
            var(--blue),
            var(--purple)
        );

    color:white;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}



.buttons a:hover{

    transform:translateY(-5px);

    box-shadow:
        0 15px 35px rgba(159,91,148,.4);

}



.buttons .secondary{

    background:transparent;

    border:2px solid white;

}









/* =======================
   SHOP CATEGORIES
======================= */


.category-grid{


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:35px;


}






.category{


    background:var(--card);


    padding:40px;


    border-radius:25px;


    text-align:center;


    transition:.35s;


    border:1px solid rgba(255,255,255,.05);


}






.category:hover{


    transform:translateY(-10px);


    border-color:var(--purple);


    box-shadow:

    0 20px 40px rgba(0,0,0,.35);


}





.category img {

    width:220px;
    height:120px;

    object-fit:contain;

    display:block;

    margin:0 auto 25px;

    background:#141a2a;

    border-radius:15px;

    padding:15px;

    border:1px solid rgba(255,255,255,.08);

    box-shadow:
        inset 0 0 20px rgba(0,0,0,.5),
        0 8px 20px rgba(0,0,0,.25);

    transition:.3s;

}


.category img:hover {

    transform:scale(1.05);

    box-shadow:
        0 0 25px rgba(159,91,148,.35);

}


.category img:hover {

    transform:scale(1.05);

}





.category img:hover{


    transform:scale(1.05);


}





.category h3{


    font-size:1.5rem;


    margin-bottom:15px;


}





.category p{


    color:var(--muted);


    min-height:55px;


    line-height:1.6;


}





.category a{


    display:inline-block;


    margin-top:25px;


    padding:12px 25px;


    border-radius:50px;



    background:

    linear-gradient(
        135deg,
        var(--blue),
        var(--purple)
    );


    color:white;


    text-decoration:none;


    font-weight:600;


    transition:.3s;


}




.category a:hover{


    transform:scale(1.05);


}





.other-icon{


    height:120px;


    display:flex;


    justify-content:center;


    align-items:center;


    font-size:75px;


    margin-bottom:25px;


}









/* =======================
   PRODUCTS
======================= */



.product-grid{


    display:grid;


    grid-template-columns:repeat(4,1fr);


    gap:25px;


}




.product{


    background:var(--card);


    border-radius:20px;


    overflow:hidden;


}




.product-image{


    height:220px;


    background:


    linear-gradient(
        135deg,
        var(--blue),
        var(--purple)
    );


}





.product h3{


    padding:25px;


    text-align:center;


}









/* =======================
   EVENTS
======================= */


.event-box{


    max-width:700px;


    margin:auto;


    background:var(--card);


    padding:40px;


    border-radius:25px;


    text-align:center;


}









/* =======================
   CONTACT
======================= */


.contact{


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:30px;


}





.feature{


    background:var(--card);


    padding:40px;


    text-align:center;


    border-radius:20px;


}





.feature p{


    color:var(--muted);


}








footer{


    padding:40px;


    text-align:center;


    color:var(--muted);


}









/* =======================
   MOBILE
======================= */


@media(max-width:900px){


header{

    position:fixed;

    top:15px;

    left:50%;

    transform:translateX(-50%);

    width:95%;

    height:auto;

}



nav{

    width:100%;

    overflow-x:auto;

    justify-content:flex-start;

    flex-wrap:nowrap;

    scrollbar-width:none;

}



nav::-webkit-scrollbar{

    display:none;

}



.nav-logo img{

    width:100px;

    height:45px;

}



.nav-logo{

    flex-shrink:0;

}



nav a{

    flex-shrink:0;

    font-size:.85rem;

    padding:10px 14px;

}







.category-grid,
.product-grid,
.contact{


    grid-template-columns:1fr;


}





.hero h1{


    font-size:2.5rem;


}





.hero h2{


    font-size:1.5rem;


}





.buttons{


    flex-direction:column;


}


}


/* =======================
   STAFF PORTAL
======================= */

.staff-portal {

    text-align: center;

    padding: 20px 0 10px;

}

.staff-portal a {

    color: rgba(255,255,255,.45);

    font-size: .85rem;

    text-decoration: none;

    transition: .25s;

}

.staff-portal a:hover {

    color: var(--muted);

}



/* =======================
   STORE INFO
======================= */


.store-info {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    padding:90px 8%;

}




.about-store,
.hours,
.contact-card {


    background:var(--card);

    padding:40px;


    border-radius:25px;


    border:1px solid rgba(255,255,255,.05);


}





.store-info h2 {

    margin-bottom:25px;

    font-size:1.8rem;

}




.store-info p {

    color:var(--muted);

    line-height:1.8;

    margin-bottom:15px;

}





.hours ul {

    list-style:none;

}




.hours li {

    color:var(--muted);

    padding:8px 0;

    border-bottom:1px solid rgba(255,255,255,.08);

}




.contact-card p {

    margin-bottom:15px;

}





.social-links {

    display:flex;

    gap:10px;

    flex-wrap:wrap;

    margin-top:25px;

}




.social-links a {


    padding:10px 18px;


    border-radius:50px;


    background:

    linear-gradient(
        135deg,
        var(--blue),
        var(--purple)
    );


    color:white;


    text-decoration:none;


    font-weight:600;


    transition:.3s;


}




.social-links a:hover {


    transform:translateY(-3px);


}







@media(max-width:900px){


.store-info {

    grid-template-columns:1fr;

}


}

.section-label {

    color:#d9c5ff;

    font-size:.85rem;

    letter-spacing:3px;

    font-weight:700;

    margin-bottom:15px;

}