/* --- GRID LAYOUT --- */
.shop-section {
    display: grid;
    gap: 15px;
    padding: 15px;

}
@media (min-width: 501px){
    .shop-section {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    }
}
@media (max-width: 500px){
    .shop-section {
        padding:0;
        padding-top: 15px;
        padding-bottom: 15px;
        gap: 5px;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }
}
@media (min-width: 304px) and (max-width: 324px)  {
    .shop-section {
        padding:0;
        padding-top: 15px;
        padding-bottom: 15px;
        gap: 2px;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    }
}
@media (max-width: 303px){
    .shop-section {
        padding:0;
        padding-top: 15px;
        padding-bottom: 15px;
        gap: 2px;
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
}



/* --- CARD DESIGN --- */
.product-card {
    background: white;
    height: 400px;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    transition: transform 0.2s;
    display: flex;
    flex-direction: column;
}

.product-card:hover { box-shadow: 0 5px 15px rgba(0,0,0,0.15); transform: translateY(-2px); }

.discount-percent {
    display: flex;
    position: absolute;
    right: 0px;
    z-index: 9;
    background-color: rgb(0, 21, 255);
    font-size: 12px;
    font-weight: bold;
    padding: 4px 4px 6px 8px;
    color: rgb(246, 246, 244);
    border-top-right-radius: 5.5px;
    clip-path: polygon(0 0, 100% 0, 100% 80%, 95% 100%, 85% 80%, 75% 100%, 65% 80%, 55% 100%, 45% 80%, 35% 100%, 25% 80%, 15% 100%, 5% 80%, 0 100%);    
} 

.img-box { height: 240px;max-height:260px; padding: 10px; display: flex; justify-content: center; align-items: center; background: #fafafa; }
.img-box img { max-height: 100%; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; }
@media (min-width: 611px) and (max-width: 718px)  {
    .img-box {
    height: 280px;
    }
}
.details { padding: 10px; display: flex; flex-direction: column; flex-grow: 1; }
.product-name { font-size: 17px; margin: 0 0 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; color: #7e5f6d; }

.price-area { display: flex; align-items: baseline; gap: 5px; margin-top: 2px; margin-bottom: 0px; }
.price { font-weight: bold; font-size: 15px; color: #111; }
.mrp { text-decoration: line-through; font-size: 11px; color: #999; }

.rating_avg { font-size: 0.8rem; font-weight: 700; background-color: #038D63; color: rgb(246, 249, 246); padding: 2px 5px 2px 7px; border-radius: 8px; }
.rating_count { font-size: 0.75rem; font-weight: 600; color: #999999; }

/* --- BUTTONS --- */
.bottom-btn {
    display: flex;
    gap: 8px;
    width: 100%;
    margin-top: auto;
    padding-top: 6px;
}
.btn-relative { position: relative !important; }

.add-btn {
    height: 32px;
    width: 40px;
    background-color: whitesmoke;
    color: #43a047;
    border: 1px dotted #43a047;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    flex-shrink: 0;
}
.add-btn:hover { background-color: #43a047; color: whitesmoke; }

.pickup-btn{
    height: 2rem;
    width: 8rem;
    background-color: rgb(255, 246, 238);
    color:#ff0000;
    border: 1px dotted #ff6a00;
    border-radius: 5px;
}
.pickup-btn:hover { background-color: #f00e0e; color: whitesmoke; }