/* Ajustements finaux : lisibilité des produits, centrage et carrousel d’avis */

.cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  min-width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--coral);
  font-size: .7rem;
  line-height: 1;
}

/* Cartes de réassurance : icônes et textes centrés */
.trust-item {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.trust-item .trust-icon {
  flex: 0 0 42px;
  margin: 0;
}
.trust-item > div { text-align: center; }

/* Icônes des bénéfices centrées dans leurs cartes */
.benefit-card { text-align: center; }
.benefit-icon { margin: 0 auto 17px; justify-content: center; }
.benefit-card p { margin-right: auto; margin-left: auto; }

/* Même hauteur et même rythme pour les deux produits */
.product-grid { align-items: stretch; }
.product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
.product-media {
  display: flex;
  flex: 0 0 276px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.product-media img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  padding: 18px 30px;
  object-fit: contain;
}
.product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 223px;
}
.product-summary { min-height: 56px; }
.product-price { margin-top: auto; }
.product-actions { margin-top: 1px; }

/* Hero : conserver tout le flacon au lieu de le recadrer */
.hero-card { overflow: hidden; }
.hero-card img {
  display: block;
  width: 100%;
  height: 390px;
  aspect-ratio: auto;
  background: #fff;
  object-fit: contain;
}

/* Carrousel horizontal automatique des avis, sans photos de clients */
.review-marquee {
  width: 100%;
  overflow: hidden;
  padding: 5px 1px 15px;
  mask-image: linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.review-track {
  display: flex;
  width: max-content;
  gap: 18px;
  animation: review-scroll 72s linear infinite;
  will-change: transform;
}
.review-marquee:hover .review-track { animation-play-state: paused; }
.review-marquee .review-card {
  display: flex;
  flex: 0 0 350px;
  flex-direction: column;
  min-height: 265px;
}
.review-marquee .review-card blockquote {
  min-height: 100px;
  margin-bottom: 20px;
}
.review-marquee .reviewer {
  display: block;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
@keyframes review-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 9px)); }
}

@media (max-width: 940px) {
  .product-media { flex-basis: 250px; }
  .hero-card img { height: 350px; }
}

@media (max-width: 660px) {
  .trust-item { min-height: 109px; }
  .product-media { flex-basis: 250px; }
  .product-media img { padding: 15px 26px; }
  .product-body { min-height: 0; }
  .product-summary { min-height: 0; }
  .hero-card img { height: 292px; }
  .review-marquee { margin-right: -14px; margin-left: -14px; width: calc(100% + 28px); }
  .review-track { gap: 13px; animation-duration: 58s; }
  .review-marquee .review-card { flex-basis: min(300px, calc(100vw - 44px)); min-height: 245px; }
}

@media (prefers-reduced-motion: reduce) {
  .review-track { animation: none; }
}
