:root {
  --gold: #d1983f;
  --muted: #999;
  --dot: #ccc;
  --dark: #1F1F1F;
  --btn: #222;
  --skel-base: #ececec;
  --skel-shine: #f7f7f7;
}
.wccc-wrap h3.product-title span.diamond {
    display: inline-block;
    font-weight: 400;
    font-size: 15px;
    margin-top: 4px;
    text-transform: capitalize !important;
}
/* Wrap container */
.wccc-wrap { max-width:1280px; margin:0 auto; padding:20px 14px; }

/* Swiper base */
.wccc-wrap .swiper { width:100%; cursor:grab; }
.wccc-wrap .swiper:active { cursor:grabbing; }

/* Slides */
.wccc-wrap .swiper-slide {
  background:#fff; border-radius:0; overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.08); height:auto;
}

/* Product card */
.wccc-wrap .product { display:flex; flex-direction:column; height:100%; }
.wccc-wrap .product-card { position:relative; }

/* Sale badge */
.wccc-wrap .sale-badge {
  position:absolute; top:10px; z-index:2;
  background:var(--dark); color:#fff; padding:4px 10px; font-size:12px;
  border-radius:3px; font-weight:600;
}

/* Product image */
.wccc-wrap .product-media { position:relative; background:#000; aspect-ratio:1/1; display:block; }
@supports not (aspect-ratio:1/1){
  .wccc-wrap .product-media { height:0; padding-bottom:100%; }
  .wccc-wrap .product-card img { position:absolute; inset:0; }
}
.wccc-wrap .product-card img { width:100%; height:100%; object-fit:cover; display:block; }

/* Product info */
.wccc-wrap .product-info {
  flex:1; display:flex; flex-direction:column; justify-content:flex-start;
  text-align:center; padding:10px 10px 10px;
}
.wccc-wrap h3.product-title {
  font-size:16px; margin:8px 0; line-height:1.3; font-family:'Roboto',sans-serif;
}
.wccc-wrap .product-title a { text-decoration:none; color:inherit; }
.wccc-wrap .product-title a:hover { color:var(--gold); }

.wccc-wrap .old-price { color:var(--muted); text-decoration:line-through; margin-right:6px; }
.wccc-wrap .new-price {
    color: #a6a6a6;
    font-weight: 500;
    font-size: 15px;
}
mark, ins {
    background-color: #d1983f00;
    color: #d1983f;
}

/* Desktop CTA */
.wccc-wrap .cta-desktop {
  position:absolute; left:0; right:0; bottom:0; z-index:1; height:40px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(209,152,63,.96); color:#fff; font-weight:500; font-size:16px;
  text-decoration:none; opacity:0;
  transition:opacity .25s ease, transform .25s ease;
}
@media (min-width:1024px){
  .wccc-wrap .product-card:hover .cta-desktop { opacity:1; transform:translateY(0); }
}

/* Mobile CTA */
.wccc-wrap .cta-mobile {
  display:none; height:45px; border-radius:0; background:var(--btn);
  color:#fff; font-weight:700; font-size:14px; text-decoration:none;
  align-items:center; justify-content:center;
}
@media (max-width:1023px){ .wccc-wrap .cta-mobile { display:flex; } }

/* Pagination */
.wccc-wrap .swiper-pagination-bullets { bottom:6px; }
.wccc-wrap .swiper-pagination-bullet { background:var(--dot); opacity:1; }
.wccc-wrap .swiper-pagination-bullet-active { background:var(--gold); }

/* ========================= */
/*   SKELETON LOADING STATE  */
/* ========================= */

@keyframes wccc-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.wccc-skel {
  background: linear-gradient(90deg, var(--skel-base) 25%, var(--skel-shine) 37%, var(--skel-base) 63%);
  background-size: 400% 100%;
  animation: wccc-shimmer 1.2s infinite linear;
  border-radius: 6px;
}

/* When loading, hide real content visuals but keep layout */
.wccc-wrap .wccc-loading .product-card img { opacity:0; }
.wccc-wrap .wccc-loading .sale-badge,
.wccc-wrap .wccc-loading .cta-desktop,
.wccc-wrap .wccc-loading .cta-mobile { visibility:hidden; }

/* Image skeleton overlay */
.wccc-wrap .wccc-loading .product-media::before {
  content:""; position:absolute; inset:0; display:block; border-radius:0;
  background: linear-gradient(90deg, var(--skel-base) 25%, var(--skel-shine) 37%, var(--skel-base) 63%);
  background-size:400% 100%;
  animation:wccc-shimmer 1.2s infinite linear;
}

/* Title & price skeleton bars using ::before */
.wccc-wrap .wccc-loading h3.product-title { position:relative; color:transparent; }
.wccc-wrap .wccc-loading h3.product-title::before {
  content:""; display:block; height:16px; width:70%; margin:8px auto;
  border-radius:6px; background:linear-gradient(90deg, var(--skel-base) 25%, var(--skel-shine) 37%, var(--skel-base) 63%);
  background-size:400% 100%; animation:wccc-shimmer 1.2s infinite linear;
}

.wccc-wrap .wccc-loading .product-info .wccc-price,
.wccc-wrap .wccc-loading .product-info .new-price,
.wccc-wrap .wccc-loading .product-info .old-price { color:transparent; position:relative; }
.wccc-wrap .wccc-loading .product-info .wccc-price::before {
  content:""; display:block; height:14px; width:40%; margin:10px auto 0;
  border-radius:6px; background:linear-gradient(90deg, var(--skel-base) 25%, var(--skel-shine) 37%, var(--skel-base) 63%);
  background-size:400% 100%; animation:wccc-shimmer 1.2s infinite linear;
}

/* Ensure layout height is stable while loading */
.wccc-wrap .wccc-loading .product-info { min-height:120px; }
