
 :root {
      --primary:rgb(255, 9, 66);
      --secondary: #535766;
      --main-bg: #FFFFFF;
      --main-heading: #282C3F;
      --medium-gray: #7E818C;
      --light-gray-bg: #F5F5F6;
      --orange: #FF905A;
      --green: #03A685;
      --blue: #3E84E0;
      --divider: #D4D5D9;
      --box-shadow: 0 4px 32px rgba(36, 36, 36, 0.07), 0 1.5px 4px rgba(60,60,60,0.09);
      --transition: all 0.18s cubic-bezier(.4,0,.2,1);
      --scrollbar: none;
      --add-to-cart-btn: #1d1d1d;
    }
    
 
    .main-product-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 15px;
      margin-bottom: 20px;
      padding: 10px;
    }
    
    .product-item {
  background: #fff;
  cursor: pointer;
  transition: var(--transition);
  padding: 10px;
  animation: fadeInUp 0.5s ease-out forwards;
  opacity: 0;
z-index:0;
  border-radius: 10px;
  box-shadow: 8px 12px 28px rgba(0, 0, 0, 0.1);
}

    
    .product-item:nth-child(1) { animation-delay: 0.1s; }
    .product-item:nth-child(2) { animation-delay: 0.2s; }
    .product-item:nth-child(3) { animation-delay: 0.3s; }
    .product-item:nth-child(4) { animation-delay: 0.4s; }
    .product-item:nth-child(5) { animation-delay: 0.5s; }
    .product-item:nth-child(6) { animation-delay: 0.6s; }
    .product-item:nth-child(7) { animation-delay: 0.7s; }
    .product-item:nth-child(8) { animation-delay: 0.8s; }
    
    .product-item:hover {
     
      transform: translateY(-2px) scale(1.03);
    }
    .price-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
    .product-image-container {
      max-height: 300px;
  position: relative;
  width: 100%;
  padding-top: 133.33%; /* 4/3 = 1.333 = 133.33% for 3:4 aspect ratio */
  overflow: hidden;
}
.product-image-container img {
    border-radius: 10px;
   background: #fdfdfd;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height:100%;
  object-fit: cover;
}


    .product-item:hover img {
      transform: scale(1.05);
      border-radius: 10px;
      
    }
    
    .product-item-content {
  padding: 10px 0 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  text-align: left;   /* force left */
}
    
    .retailer-logo img {
      height: 25px;
      object-fit: contain;
      margin-right: 0;
      display: block;
      margin-left: auto;
      margin-right: auto;
      box-shadow: 0 1px 2px rgba(255,63,108,0.07);
    }
    
    .add-btn {
      background: var(--main-bg);
      border: 1px solid var(--divider);
      border-radius: 0px;
      padding: 5px 10px;
      color: var(--add-to-cart-btn);
      font-size: 0.87rem;
      font-weight: 600;
      cursor: pointer;
      margin-left: 5px;
      transition: var(--transition);
    }
    
    .add-btn:hover {
      background: var(--add-to-cart-btn);
      color: #fff;
      border-color: var(--add-to-cart-btn);
      transform: translateY(-1px);
    }
    
    .action-row {
      margin-top: 8px;
      display: flex;
      align-items: center;
      gap: 7px;
      justify-content: space-between;
    }
     .price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.price-info {
  display: flex;
  flex-direction:column;  /* row so price + discount inline */
  align-items: baseline;
  gap: 2px;

}

    
  
    
    .wishlist-icon {
      position: absolute;
      top: 15px;
      right: 15px;
      
      border-radius: 50%;
      width: 28px;
      height: 28px;
      display: flex;
      justify-content: center;
      align-items: center;
     
      transition: var(--transition);
      cursor: pointer;
      z-index: 2;
    }
    
    .wishlist-icon i {
      font-size: 1.1rem;
      color: var(--primary);
      transition: var(--transition);
    }
    
    .wishlist-icon:hover {
      transform: scale(1.1);
    }
    
    .wishlist-icon.active {
      border: none;
    }
    
    .wishlist-icon.active i {
      color: #ff2727;
      animation: heartPulse 0.34s;
    }
    
    @keyframes heartPulse {
      0% { transform: scale(1); }
      50% { transform: scale(1.15); }
      100% { transform: scale(1); }
    }
    
    .product-details {
      padding: 8px 6px 3px 7px;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    
   .product-description {
  color: var(--medium-gray);
  font-size: 0.89rem;
  font-weight: 500;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;   /* force left */
}

    
    .current-price {
      font-weight: 700;
      color: var(--main-heading);
      font-size: 0.96rem;
    }
    
    .price-container {
      display: flex;
      align-items: center;
      gap: 5px;
      margin: 2px 0 2px 0;
    }
    
    .original-price {
      text-decoration: line-through;
      color: var(--medium-gray);
      font-size: 0.85rem;
    }
    
    .discount-badge {
      color: var(--primary);
      font-weight: 700;
      font-size: 0.83rem;
      background: #fff0f0;
      border-radius: 0px;
      padding: 2px 6px;
      margin-left: 2px;
    }
    
    /* Product Tags */
    .product-tag {
      position: absolute;
      top: 10px;
      left: 10px;
      font-size: 0.7rem;
      font-weight: 700;
      padding: 3px 8px;
      border-radius: 4px;
      color: white;
      z-index: 2;
      text-transform: uppercase;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    
    .tag-new {
      background-color: var(--primary);
    }
    
    .tag-trending {
      background-color: var(--orange);
    }
    
    .tag-more {
      background-color: var(--green);
    }
    
    /* Rating */
    .product-rating {
      position: absolute;
      bottom: 10px;
      left: 10px;
      background: rgba(0,0,0,0.6);
      color: white;
      padding: 3px 6px;
      border-radius: 4px;
      font-size: 0.75rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 2px;
      z-index: 2;
    }
    
    .product-rating i {
      color: #FFD700;
      font-size: 0.7rem;
    }
    
    /* Animations */
    @keyframes fadeInUp { 
      from { 
        opacity: 0; 
        transform: translateY(20px);
      } 
      to {
        opacity: 1; 
        transform: none;
      } 
    }
    
    @keyframes popIn { 
      0% { 
        transform: scale(0.7); 
        opacity: 0;
      } 
      70% { 
        transform: scale(1.12); 
        opacity: 1;
      } 
      100% {
        transform: scale(1); 
        opacity: 1;
      } 
    }
    
    /* Responsive Styles */
    @media (max-width: 1200px) {
      .main-product-grid {
        grid-template-columns: repeat(4, 1fr);
      }
    }
    
    @media (max-width: 768px) {
      .main-product-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
      }
    }
    
    @media (max-width: 576px) {
      .main-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
      }
      
      .product-item-content {
        padding: 8px 6px;
      }
      
      .product-description {
        font-size: 0.82rem;
      }
      
      .current-price {
        font-size: 0.9rem;
      }
      
      .original-price {
        font-size: 0.78rem;
      }
      
      .add-btn {
        padding: 4px 8px;
        font-size: 0.8rem;
      }
    }
    
    @media (max-width: 400px) {
      .main-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
      }
    }

     /* Notification styles */
  .notification {
    position: fixed;
    top: 20px;
    right: -100%;
    background: white;
    padding: 15px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 1000;
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    max-width: 300px;
    border-left: 4px solid;
  }
  
  .notification.success {
    border-left-color: #4CAF50;
  }
  
  .notification.success i {
    color: #4CAF50;
  }
  
  .notification.error {
    border-left-color: #FF3F6C;
  }
  
  .notification.error i {
    color: #FF3F6C;
  }
  
  .notification i {
    font-size: 1.2rem;
  }
  
  .notification span {
    font-size: 0.9rem;
    font-weight: 500;
  }
  
  






  
