
/* ----------------------------------------------------
   GALERIA PRINCIPAL (SLICK)
---------------------------------------------------- */
.product-gallery {
  width: 100%;
  position: relative;
}

.slick-gallery img {
  width: 100%;
  border-radius: 12px;
  object-fit: contain;
}

.slick-dots {
  bottom: -30px !important;
}

.slick-dots li {
  margin: 0 3px;
}

.slick-dots li button:before {
  font-size: 10px;
  opacity: 1;
  color: #ccc;
}

.slick-dots li.slick-active button:before {
  color: var(--green) !important;
}

/* ----------------------------------------------------
   INFORMAÇÕES DO PRODUTO
---------------------------------------------------- */

.product-title {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 10px;
}

.product-price {
  margin-bottom: 10px;
}

.price-old {
  text-decoration: line-through;
  color: #999;
  margin-right: 6px;
  font-size: 16px;
}

.price-current {
  font-size: 24px;
  color: var(--green);
  font-weight: 700;
}

.badge {
  font-size: 12px;
  padding: 4px 6px;
}

.product-rating {
  font-size: 14px;
}

.selectors select {
  height: 45px;
  font-size: 15px;
}

/* Botão do carrinho */
.btn-success,
.product-info button {
  background: var(--green);
  border: none;
  padding: 12px;
  font-size: 16px;
  border-radius: 8px;
  margin-top: 10px;
  color: #fff;
  width: 100%;
  transition: 0.2s;
}

.btn-success:hover {
  background: var(--green-dark);
}

/* ----------------------------------------------------
   UPSELL
---------------------------------------------------- */

.upsell {
  background: #fff;
  border-radius: 12px;
}

.upsell p {
  font-size: 16px;
}

.upsell .form-check {
  margin-bottom: 8px;
}

/* ----------------------------------------------------
   RECOMENDADOS / COMBINA COM
---------------------------------------------------- */

.recommend .product-card {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  text-align: center;
  border: 1px solid var(--gray-light);
  transition: 0.2s;
}

.recommend .product-card:hover {
  box-shadow: 0 0 10px rgba(0,0,0,0.08);
}

.recommend img {
  border-radius: 12px;
}

.product-name {
  font-size: 14px;
  margin-bottom: 5px;
  height: 36px;
  overflow: hidden;
}

.product-price-card {
  font-size: 16px;
  font-weight: 600;
}

/* botão dentro dos cards */
.recommend .btn-success {
  padding: 8px;
  font-size: 14px;
  margin-top: 8px;
}

/* ----------------------------------------------------
   ACCORDION
---------------------------------------------------- */

.accordion-button {
  background: #fff !important;
  font-size: 16px;
  font-weight: 600;
  padding: 18px;
}

.accordion-button:not(.collapsed) {
  color: var(--green);
  background: #f0fff0 !important;
}

.accordion-item {
  border: 1px solid #eee;
  border-radius: 8px;
  margin-bottom: 10px;
}

.accordion-body {
  background: #fff;
  padding: 18px;
  font-size: 15px;
}

/* ----------------------------------------------------
   RESPONSIVIDADE
---------------------------------------------------- */

@media (max-width: 991px) {
  .product-title {
    font-size: 22px;
  }
  .price-current {
    font-size: 22px;
  }
}

@media (max-width: 768px) {
  .recommend .col-6 {
    padding: 6px;
  }
}
