.product-gallery img { border-radius:10px; cursor:pointer; transition:0.3s; }
.product-gallery img:hover { transform:scale(1.03); }
.thumb-img { width:80px; height:80px; object-fit:cover; border:2px solid transparent; cursor:pointer; border-radius:10px; }
.thumb-img.active { border-color:#0d6efd; }
.price-big { font-size:28px; font-weight:bold; color:#d10000; }
.old-price { text-decoration:line-through; color:#555; margin-left:10px; }
.discount-badge { color:green; font-weight:bold; margin-left:10px; }
.buy-btn { font-size:18px; padding:12px; width:100%; }
.section-box { border:1px solid #ddd; background:#f8f9fa; padding:15px; border-radius:8px; }
.faq-search { border-radius:8px; }
.accordion-button { font-weight:600; transition:0.2s; }
.accordion-button:hover { background:#eef7ff; }

.image-zoom-wrapper {
  position: relative;
  cursor: zoom-in;
  overflow: hidden;
}

.image-zoom-wrapper img {
  transition: transform 0.3s ease;
}

.image-zoom-wrapper:hover img {
  transform: scale(1.03);
}

.zoom-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.35);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.zoom-icon i {
  font-size: 48px;
  color: #fff;
}

.image-zoom-wrapper:hover .zoom-icon {
  opacity: 1;
}

/* ================= RATING ================= */

.stars-display i {
  color: #ddd;
  font-size: 16px;
}
.stars-display i.active {
  color: #ffc107;
}

.user-rating i {
  font-size: 22px;
  color: #ddd;
  cursor: pointer;
  transition: .2s;
}
.user-rating i:hover,
.user-rating i.selected {
  color: #ffc107;
}

.product-gallery {
  transition: opacity .2s ease-in-out;
}

.review-stars {
  display: flex;
  justify-content: center;
  gap: 8px;
  font-size: 26px;
  cursor: pointer;
}

.review-star {
  color: #ccc;
  transition: 0.2s;
}

.review-star.selected,
.review-star:hover {
  color: #ffc107;
}
