/* ================= SIDEBAR ================= */
.sidebar-box{
    background:#fff;
    padding:20px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    position:sticky;
    top:90px;
}

/* ================= PRODUCT CARD ================= */
.product-card{
    background:#fff;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 28px rgba(0,0,0,.10);
    transition:.3s;
}
.product-card:hover{ transform:translateY(-6px); }

.product-img{
    width:100%;
    height:210px;
    object-fit:contain;
}

.product-price{
    font-size:20px;
    font-weight:800;
    color:#0d6efd;
}

/* ================= MODAL ================= */
#modalMainImage{
    width:100%;
    height:360px;
    object-fit:contain;
    background:#f8f9fa;
    border-radius:12px;
}

#modalThumbnails{
    display:flex;
    gap:10px;
    overflow-x:auto;
    margin-top:10px;
}

.modal-thumb{
    width:70px;
    height:70px;
    object-fit:cover;
    border-radius:10px;
    cursor:pointer;
    border:2px solid transparent;
}

.modal-thumb.active{ border-color:#0d6efd; }

/* ================= BADGES ================= */
.vendor-badge{
    background:#198754;
    color:#fff;
    padding:6px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
}

.stock-in{ color:#198754; font-weight:600; }
.stock-out{ color:#dc3545; font-weight:600; }

/* ================= READ MORE ================= */
.product-desc{
    max-height:80px;
    overflow:hidden;
}
.product-desc.expanded{ max-height:500px; }