
body{
    margin:0;
    background:#f5f5f5;
    font-family:Segoe UI;
}

.modal{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.6);
    z-index:9999;
    justify-content:center;
    align-items:center;
}

.modal-content{
    background:#fff;
    width:90%;
    max-width:400px;
    padding:30px;
    border-radius:15px;
    text-align:center;
}

.modal-icon{
    width:80px;
    height:80px;
    background:#eef2ff;
    margin:auto;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
}

.modal-icon i{
    font-size:35px;
    color:#4682b4;
}

.modal-btn{
    margin-top:20px;
    display:flex;
    gap:10px;
}

.btn-batal,
.btn-login-popup{
    flex:1;
    padding:12px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    font-weight:bold;
}

.btn-batal{
    background:#ddd;
}

.btn-login-popup{
    background:#4682b4;
    color:white;
}

.container{
    width:95%;
    margin:auto;
}

.judul{
    text-align:center;
    color:#4682b4;
    margin:30px 0;
}

/* SEARCH */

.search-box{
    width:70%;
    margin:20px auto;
    display:flex;
}

.search-box input{
    flex:1;
    padding:12px;
    border:1px solid #ddd;
    border-radius:5px 0 0 5px;
}

.search-box button{
    width:60px;
    border:none;
    background:#4682b4;
    color:white;
    border-radius:0 5px 5px 0;
}

/* KATEGORI */


.kategori{
    display:flex;
    gap:25px;
    justify-content:center;
    align-items:center;
    margin:30px 0;
    flex-wrap:wrap;
}

.kategori a{
    text-decoration:none;
    color:#4682b4;
    font-weight:bold;
    padding-bottom:8px;
    white-space:nowrap;
}

.kategori a:hover{
    border-bottom:3px solid #4682b4;
}

.kategori a.active{
    color:#3a6d96;
    border-bottom:3px solid #3a6d96;
}

/* PRODUK */
.produk-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fill,minmax(180px,1fr));
    gap:20px;
    margin-bottom:40px;
}

.card{
    background:white;
    border-radius:10px;
    padding:15px;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
    display:flex;
    flex-direction:column;
    transition:all .3s ease;
    cursor:pointer;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(0,0,0,.15);
}

.card img{
    width:100%;
    height:160px;
    object-fit:contain;
    transition:transform .3s ease;
}

.card:hover img{
    transform:scale(1.08);
}

.nama{
    font-weight:bold;
    margin-top:10px;
    min-height:48px;
}

.harga{
    color:#469536;
    font-weight:bold;
    margin:5px 0 10px;
    min-height:25px;
}

.btn-group{
    display:flex;
    gap:5px;
    margin-top:auto;
}

.btn-detail{
    flex:1;
    background:#4682b4;
    color:white;
    text-decoration:none;
    text-align:center;
    padding:8px;
    border-radius:4px;
    font-size:12px;
    transition:all .3s ease;
}

.btn-detail:hover{
    background:#2f6f9f;
    transform:translateY(-3px);
    box-shadow:0 8px 15px rgba(70,130,180,.35);
}

.btn-cart{
    width:50px;
    height:40px;
    background:#4682b4;
    color:white;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:5px;
    text-decoration:none;
    font-size:18px;
    border:none;
    outline:none;
    cursor:pointer;
    transition:all .3s ease;
}

.btn-cart:hover{
    background:#2f6f9f;
    transform:translateY(-3px) scale(1.08);
    box-shadow:0 8px 15px rgba(70,130,180,.35);
}

.btn-cart i{
    transition:transform .3s ease;
}

.btn-cart:hover i{
    transform:scale(1.15);
}
.stok-habis{
    background:#ccc !important;
    color:#777 !important;
    cursor:not-allowed !important;
    opacity:.7;
}

@media(max-width:600px){

    .kategori{
        justify-content:flex-start;
        flex-wrap:nowrap;
        overflow-x:auto;
        gap:22px;
        margin:20px 0;
        padding:5px 10px 10px;
        scrollbar-width:none;
    }

    .kategori::-webkit-scrollbar{
        display:none;
    }

    .kategori a{
        flex:0 0 auto;
        font-size:14px;
        padding:8px 2px;
    }
}