/* =========================================================
   Product cards + carousels (home, shop, product pages)
   ========================================================= */
.jc-card { position: relative; min-width: 0; }
.jc-card__link { display: block; color: var(--jc-black); }
.jc-card__link:hover { color: var(--jc-black); }
.jc-card .jc-photo img { transition: transform .6s var(--jc-ease); }
.jc-card__link:hover .jc-photo img { transform: scale(1.04); }
.jc-card__name {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-top: 12px; font-size: clamp(.8125rem, .78rem + .2vw, .9375rem); line-height: 1.4;
}
.jc-card__price { display: block; margin-top: 4px; font-size: clamp(.8125rem, .78rem + .2vw, .875rem); font-weight: 500; color: var(--jc-green); }
.jc-card__dots { display: flex; gap: 6px; margin-top: 8px; }
.jc-dot { width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 1px #CFC7B8; }

/* ---------- Carousel ---------- */
.jc-carousel-section--tint {
  background:
    radial-gradient(600px 300px at 0% 0%, rgba(44,82,67,.10), transparent 70%),
    radial-gradient(500px 300px at 100% 100%, rgba(179,146,87,.12), transparent 70%),
    #F1F3EE;
  border-block: 1px solid rgba(179,146,87,.35);
}
.jc-carousel__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: clamp(20px, 3vw, 32px); }
.jc-carousel__head h2 { margin: 0; }
.jc-carousel__arrows { display: flex; gap: 10px; }
.jc-carousel__arrows .jc-icon-btn[disabled] { opacity: .35; pointer-events: none; }

.jc-carousel { --gap: 24px; --per: 4; }
.jc-carousel__track {
  list-style: none; margin: 0; padding: 0 0 4px;
  display: grid; grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));
  gap: var(--gap);
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-behavior: smooth;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.jc-carousel__track::-webkit-scrollbar { display: none; }
.jc-carousel__item { scroll-snap-align: start; min-width: 0; }
.jc-carousel__bar { position: relative; height: 2px; max-width: 220px; margin: clamp(24px, 3vw, 34px) auto 0; background: var(--jc-line); border-radius: 2px; overflow: hidden; }
.jc-carousel__bar span { position: absolute; left: 0; top: 0; bottom: 0; width: 25%; background: var(--jc-green); border-radius: 2px; transition: transform .2s linear; }

@media (max-width: 1100px) { .jc-carousel { --per: 3; --gap: 18px; } }
@media (max-width: 760px) {
  /* phones: 2.5 cards visible — the half card shows it can be swiped */
  .jc-carousel { --per: 2.5; --gap: 12px; }
  .jc-carousel__arrows { display: none; }
  .jc-carousel__track { margin-right: calc(var(--jc-gutter) * -1); padding-right: var(--jc-gutter); scroll-padding-left: 0; }
}

/* Wishlist page */
.jc-wishpage__intro { margin: 18px 0 26px; color: var(--jc-muted); }
.jc-wishpage__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 2vw, 24px); }
.jc-wishpage__actions { margin-top: 32px; }
.jc-wishpage__empty p { margin: 0 0 22px; color: var(--jc-muted); }
@media (max-width: 1000px) { .jc-wishpage__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .jc-wishpage__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
