/*
|--------------------------------------------------------------------------
| RESET
|--------------------------------------------------------------------------
*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;
}

body{

    font-family:Arial, sans-serif;

    background:#0f1115;

    color:#fff;

    line-height:1.6;
}

a{

    text-decoration:none;

    color:inherit;
}

img{

    max-width:100%;

    display:block;
}

/*
|--------------------------------------------------------------------------
| CONTAINER
|--------------------------------------------------------------------------
*/

.container{

    width:100%;

    max-width:1200px;

    margin:0 auto;

    padding:0 20px;
}

/*
|--------------------------------------------------------------------------
| HEADER
|--------------------------------------------------------------------------
*/

.site-header{

    background:#151922;

    border-bottom:1px solid #222;

    position:sticky;

    top:0;

    z-index:100;
}

.header-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px 0;
}

.logo{

    font-size:28px;

    font-weight:700;
}

.logo span{

    color:#3b82f6;
}

.main-nav{

    display:flex;

    align-items:center;

    gap:20px;
}

.main-nav a{

    color:#fff;

    transition:0.2s;
}

.main-nav a:hover{

    color:#3b82f6;
}

/*
|--------------------------------------------------------------------------
| HERO
|--------------------------------------------------------------------------
*/

.hero{

    padding:80px 0;

    text-align:center;
}

.hero h1{

    font-size:48px;

    margin-bottom:20px;
}

.hero p{

    color:#aaa;

    font-size:18px;
}

/*
|--------------------------------------------------------------------------
| PRODUCTS GRID
|--------------------------------------------------------------------------
*/

.products-grid{

    display:grid;

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

    gap:25px;

    margin:50px 0;
}

.product-card{

    background:#151922;

    border:1px solid #222;

    border-radius:20px;

    overflow:hidden;

    transition:0.2s;
}

.product-card:hover{

    transform:translateY(-4px);
}

.product-image{

    width:100%;

    height:240px;

    object-fit:cover;
}

.product-content{

    padding:20px;
}

.product-title{

    font-size:20px;

    margin-bottom:10px;
}

.product-price{

    font-size:24px;

    font-weight:700;

    color:#3b82f6;

    margin-bottom:15px;
}

.product-description{

    color:#aaa;

    margin-bottom:20px;
}

.product-btn{

    display:inline-block;

    padding:12px 18px;

    background:#3b82f6;

    border-radius:12px;

    color:#fff;

    transition:0.2s;
}

.product-btn:hover{

    opacity:0.9;
}

/*
|--------------------------------------------------------------------------
| PRODUCT PAGE
|--------------------------------------------------------------------------
*/

.product-page{

    padding:60px 0;
}

.product-layout{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:start;
}

.product-gallery{

    background:#151922;

    border-radius:24px;

    overflow:hidden;

    border:1px solid #222;
}

.product-main-image{

    width:100%;

    height:550px;

    object-fit:cover;
}

.product-info{

    display:flex;

    flex-direction:column;

    gap:20px;
}

.product-page-title{

    font-size:42px;
}

.product-page-price{

    font-size:34px;

    font-weight:700;

    color:#3b82f6;
}

.product-stock{

    font-size:16px;

    font-weight:700;
}

/*
|--------------------------------------------------------------------------
| STOCK STATUS
|--------------------------------------------------------------------------
*/

.stock-ok{

    color:#4cff88;

    font-weight:700;
}

.stock-low{

    color:#ffcc00;

    font-weight:700;
}

.stock-out{

    color:#ff5c5c;

    font-weight:700;
}

.out-stock-badge{

    display:inline-block;

    padding:14px 22px;

    background:#4d1111;

    color:#ff5c5c;

    border-radius:14px;

    font-weight:700;

    margin-top:20px;
}

/*
|--------------------------------------------------------------------------
| BUTTONS
|--------------------------------------------------------------------------
*/

.product-btn-large{

    padding:16px 24px;

    border:none;

    border-radius:14px;

    background:#3b82f6;

    color:#fff;

    font-size:16px;

    cursor:pointer;

    transition:0.2s;
}

.product-btn-large:hover{

    opacity:0.9;
}

/*
|--------------------------------------------------------------------------
| CART
|--------------------------------------------------------------------------
*/

.cart-page{

    padding:60px 0;
}

.cart-item{

    display:flex;

    gap:20px;

    align-items:center;

    background:#151922;

    border:1px solid #222;

    border-radius:18px;

    padding:20px;

    margin-bottom:20px;
}

.cart-item img{

    width:120px;

    height:120px;

    object-fit:cover;

    border-radius:14px;
}

.cart-total{

    font-size:28px;

    font-weight:700;

    margin-top:30px;
}

/*
|--------------------------------------------------------------------------
| ACCOUNT
|--------------------------------------------------------------------------
*/

.account-card{

    background:#151922;

    border:1px solid #222;

    border-radius:20px;

    padding:30px;
}

.order-item{

    display:flex;

    gap:20px;

    align-items:center;

    padding:20px 0;

    border-bottom:1px solid #222;
}

.order-item:last-child{

    border-bottom:none;
}

.order-item-image{

    width:100px;

    height:100px;

    object-fit:cover;

    border-radius:14px;
}

.status-badge{

    display:inline-block;

    padding:8px 14px;

    border-radius:999px;

    background:#1d2433;

    color:#fff;

    font-size:13px;
}

/*
|--------------------------------------------------------------------------
| CHECKOUT
|--------------------------------------------------------------------------
*/

.checkout-form{

    display:flex;

    flex-direction:column;

    gap:18px;

    margin-top:30px;
}

.checkout-form input,
.checkout-form textarea{

    width:100%;

    padding:16px;

    border-radius:14px;

    border:1px solid #222;

    background:#151922;

    color:#fff;
}

.checkout-form textarea{

    resize:vertical;

    min-height:120px;
}

/*
|--------------------------------------------------------------------------
| FOOTER
|--------------------------------------------------------------------------
*/

.site-footer{

    border-top:1px solid #222;

    padding:30px 0;

    text-align:center;

    color:#888;

    margin-top:60px;
}

/*
|--------------------------------------------------------------------------
| SYSTEM BANNER
|--------------------------------------------------------------------------
*/

.system-banner{

    padding:12px 20px;

    text-align:center;

    font-weight:700;
}

.system-banner.open{

    background:#103d1e;

    color:#4cff88;
}

.system-banner.closed{

    background:#4d1111;

    color:#ff5c5c;
}

/*
|--------------------------------------------------------------------------
| RESPONSIVE
|--------------------------------------------------------------------------
*/

@media(max-width:900px){

    .product-layout{

        grid-template-columns:1fr;
    }

    .product-main-image{

        height:350px;
    }

    .hero h1{

        font-size:34px;
    }

    .product-page-title{

        font-size:30px;
    }

    .header-content{

        flex-direction:column;

        gap:20px;
    }

    .main-nav{

        flex-wrap:wrap;

        justify-content:center;
    }

    .cart-item{

        flex-direction:column;

        align-items:flex-start;
    }
}