/* =========================================================================
   JOIA sliders — hero slideshow + product carousels (Swiper)
   ========================================================================= */

/* ---------- Hero slideshow ------------------------------------------- */
.joia-hero-slider { position: relative; margin-bottom: clamp(40px, 6vw, 84px); }
.joia-hero-swiper { width: 100%; }
.joia-hero-slide {
  position: relative;
  min-height: clamp(420px, 56vw, 660px);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.joia-hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.04);
}
.joia-hero-slide::after { /* legibility scrim, side-weighted */
  content: ""; position: absolute; inset: 0;
}
.joia-hero-slide--dark::after  { background: linear-gradient(90deg, rgba(34,20,46,.74) 0%, rgba(34,20,46,.38) 48%, rgba(34,20,46,.12) 100%); }
.joia-hero-slide--light::after { background: linear-gradient(90deg, rgba(246,241,249,.86) 0%, rgba(246,241,249,.55) 46%, rgba(246,241,249,.08) 100%); }
[dir="rtl"] .joia-hero-slide--dark::after,
[dir="rtl"] .joia-hero-slide--light::after { transform: scaleX(-1); }

.joia-hero-inner {
  position: relative; z-index: 2;
  width: min(1180px, 92%);
  margin: 0 auto;
  padding-inline: clamp(16px, 4vw, 48px);
}
.joia-hero-inner > * { max-width: 540px; }
.joia-hero-title {
  font-family: "Cinzel Decorative", serif;
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  line-height: 1.04;
  margin: .12em 0 .18em;
}
.joia-hero-text { font-size: clamp(1.05rem, 1.6vw, 1.4rem); margin-bottom: 1.5em; }
.joia-hero-slide--dark  .joia-hero-title,
.joia-hero-slide--dark  .joia-hero-text { color: #EBE1EF; }
.joia-hero-slide--dark  .joia-eyebrow   { color: #BFA58A; }
.joia-hero-slide--light .joia-hero-title,
.joia-hero-slide--light .joia-hero-text { color: #22142E; }

/* hero slide button override (light slide needs a solid dark button already; keep) */
.joia-hero-inner .button { display: inline-block; padding: .95em 2.2em; }

.joia-hero-pagination { position: absolute; bottom: 22px; left: 0; right: 0; z-index: 3; }
.joia-hero-pagination .swiper-pagination-bullet {
  width: 9px; height: 9px; background: #fff; opacity: .55; transition: .25s;
}
.joia-hero-pagination .swiper-pagination-bullet-active { background: #E078B0; opacity: 1; width: 26px; border-radius: 6px; }

/* ---------- Product carousels ---------------------------------------- */
.joia-carousel { width: min(1240px, 94%); margin-inline: auto; }
.joia-carousel__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 16px; margin-bottom: clamp(18px, 3vw, 34px);
  border-bottom: 1px solid #e7dced; padding-bottom: 14px;
}
.joia-carousel__title {
  font-family: "Cinzel Decorative", serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  color: #22142E; margin: 0;
}
.joia-carousel__all {
  font-family: "Cormorant", serif; font-size: 1.05rem;
  letter-spacing: .12em; text-transform: uppercase; color: #a98e6f;
  white-space: nowrap;
}
.joia-carousel__all:hover { color: #c85b96; }
.joia-carousel__wrap { position: relative; }
.joia-swiper { padding: 6px 2px 8px; }

/* product card */
.product-card { text-align: center; }
.pc__img-wrapper {
  position: relative; overflow: hidden; border-radius: 3px;
  background: #f6f1f9; margin-bottom: 14px;
}
.pc__img-wrapper img { width: 100%; height: auto; display: block; transition: transform .5s ease; }
.product-card:hover .pc__img-wrapper img { transform: scale(1.05); }

.pc__badge {
  position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2;
  font-family: "Cormorant", serif; font-size: .8rem; letter-spacing: .12em;
  text-transform: uppercase; padding: .35em .8em; border-radius: 2px; color: #fff;
}
.pc__badge--sale { background: #E078B0; }
.pc__badge--new  { background: #22142E; }

.pc__atc {
  position: absolute; inset-inline: 14px; bottom: 14px; z-index: 2;
  opacity: 0; transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease, background-color .25s ease;
  text-align: center; padding: .8em 1em; font-size: .82rem;
}
.product-card:hover .pc__atc { opacity: 1; transform: translateY(0); }
@media (hover: none) { .pc__atc { opacity: 1; transform: none; } }

.pc__info { padding: 0 6px; }
.pc__category {
  font-family: "Cormorant", serif; text-transform: uppercase; letter-spacing: .18em;
  font-size: .76rem; color: #a98e6f; margin: 0 0 .35em;
}
.pc__title { font-size: 1.12rem; margin: 0 0 .35em; line-height: 1.3; }
.pc__title a { color: #22142E; }
.pc__title a:hover { color: #c85b96; }
.product-card__price { font-weight: 600; color: #22142E; }
.product-card__price del { color: #9a8fa3; font-weight: 400; margin-inline-end: .4em; }
.product-card__price ins { color: #c85b96; text-decoration: none; }
.product-card__price .woocommerce-Price-amount { direction: ltr; unicode-bidi: embed; display: inline-block; }

/* nav arrows */
.joia-nav {
  position: absolute; top: 38%; z-index: 5;
  width: 46px; height: 46px; border-radius: 50%;
  background: #fff; border: 1px solid #e2d6ea; color: #22142E;
  font-size: 1.5rem; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 24px -16px rgba(34,20,46,.5);
  transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}
.joia-nav:hover { background: #22142E; color: #fff; }
.joia-nav--prev { inset-inline-start: -8px; }
.joia-nav--next { inset-inline-end: -8px; }
.joia-nav.swiper-button-disabled { opacity: 0; pointer-events: none; }
@media (max-width: 600px) { .joia-nav { display: none; } }
