body{
    background:
        radial-gradient(circle at top left, rgba(57,255,20,.13), transparent 35%),
        radial-gradient(circle at bottom right, rgba(57,255,20,.08), transparent 30%),
        #050505;
}

.shop-hero{
    padding:55px 20px;
    border-bottom:1px solid rgba(57,255,20,.25);
    background:linear-gradient(135deg,rgba(57,255,20,.10),rgba(0,0,0,.78));
}

.shop-hero-inner{
    width:min(1450px,96vw);
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
}

.eyebrow{
    color:#baffb1;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;
    font-weight:bold;
}

.shop-hero h1{
    margin:5px 0;
    font-size:52px;
    color:#39ff14;
    text-shadow:0 0 20px rgba(57,255,20,.75);
}

.shop-hero p{
    max-width:760px;
    color:#dcffd8;
}

.shop-summary-card{
    min-width:230px;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(57,255,20,.45);
    border-radius:22px;
    padding:20px;
    text-align:center;
    box-shadow:0 0 25px rgba(57,255,20,.15);
}

.shop-summary-card span,
.shop-summary-card small{
    display:block;
    color:#baffb1;
}

.shop-summary-card strong{
    display:block;
    color:#39ff14;
    font-size:48px;
    text-shadow:0 0 16px rgba(57,255,20,.7);
}

.shop-wrap{
    width:min(1450px,96vw);
    margin:30px auto;
}

.shop-alert{
    padding:14px 18px;
    border-radius:14px;
    margin-bottom:18px;
    font-weight:bold;
}

.shop-alert.success{
    background:#073007;
    border:1px solid #39ff14;
}

.shop-alert.error{
    background:#3b0000;
    border:1px solid #ff5555;
    color:#ffaaaa;
}

.shop-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
    gap:24px;
}

.product-card{
    overflow:hidden;
    background:linear-gradient(135deg,rgba(15,22,15,.98),rgba(0,0,0,.92));
    border:1px solid rgba(57,255,20,.34);
    border-radius:26px;
    box-shadow:0 0 30px rgba(57,255,20,.10);
    transition:.18s ease;
}

.product-card:hover{
    border-color:#39ff14;
    box-shadow:0 0 38px rgba(57,255,20,.22);
    transform:translateY(-3px);
}

.product-media{
    position:relative;
    height:210px;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle,rgba(57,255,20,.12),transparent 60%),
        rgba(0,0,0,.55);
    border-bottom:1px solid rgba(57,255,20,.22);
}

.product-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.product-placeholder{
    width:90px;
    height:90px;
    border-radius:28px;
    display:grid;
    place-items:center;
    background:#39ff14;
    color:#000;
    font-size:46px;
    font-weight:900;
    box-shadow:0 0 24px rgba(57,255,20,.75);
}

.stock-badge{
    position:absolute;
    top:14px;
    right:14px;
    border-radius:999px;
    padding:7px 11px;
    font-size:12px;
    font-weight:900;
    color:#000;
    backdrop-filter:blur(8px);
}

.stock-badge.available{
    background:#39ff14;
}

.stock-badge.low{
    background:#ffdf4f;
}

.stock-badge.digital{
    background:#4fd5ff;
}

.product-content{
    padding:22px;
}

.product-content h2{
    color:#39ff14;
    margin:0 0 10px;
    font-size:26px;
}

.product-content p{
    color:#eaffea;
    line-height:1.6;
    min-height:80px;
}

.price-box{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    background:rgba(0,0,0,.42);
    border:1px solid rgba(57,255,20,.25);
    border-radius:18px;
    padding:14px;
    margin-top:18px;
}

.price-box span{
    color:#baffb1;
}

.price-box strong{
    color:#39ff14;
    font-size:28px;
}

.order-box{
    margin:0 22px 22px;
    border:1px solid rgba(57,255,20,.28);
    border-radius:18px;
    background:rgba(0,0,0,.35);
    overflow:hidden;
}

.order-box summary{
    cursor:pointer;
    padding:15px 16px;
    color:#39ff14;
    font-weight:900;
    list-style:none;
}

.order-box summary::-webkit-details-marker{
    display:none;
}

.order-box summary::after{
    content:"+";
    float:right;
    color:#39ff14;
}

.order-box[open] summary::after{
    content:"–";
}

.order-box form{
    padding:0 16px 16px;
}

.order-box label{
    display:block;
    color:#baffb1;
    font-weight:bold;
    margin-top:10px;
}

.empty-shop{
    text-align:center;
    background:rgba(0,0,0,.45);
    border:1px dashed rgba(57,255,20,.45);
    border-radius:28px;
    padding:55px 25px;
    box-shadow:0 0 28px rgba(57,255,20,.08);
}

.empty-icon{
    width:76px;
    height:76px;
    margin:0 auto 18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#39ff14;
    color:#000;
    font-size:38px;
    font-weight:900;
    box-shadow:0 0 24px rgba(57,255,20,.75);
}

.empty-shop h2{
    color:#39ff14;
    margin-bottom:8px;
}

.empty-shop p{
    max-width:650px;
    margin:0 auto 20px;
    color:#baffb1;
    line-height:1.6;
}

@media(max-width:900px){
    .shop-hero-inner{
        flex-direction:column;
        align-items:flex-start;
    }

    .shop-summary-card{
        width:100%;
    }
}

@media(max-width:560px){
    .shop-hero h1{
        font-size:38px;
    }

    .product-media{
        height:175px;
    }

    .price-box{
        align-items:flex-start;
        flex-direction:column;
    }
}
