:root {
  /* Colors */
  --usk-glossy-carousel-shadow: rgba(0, 0, 0, 0.15);
  /* Spacing */
  --usk-glossy-carousel-offset: 12px;
  --usk-glossy-carousel-btn-offset: 10px;
  /* Animation */
  --usk-glossy-carousel-transition: 0.55s cubic-bezier(0.2, 0.75, 0.5, 1);
}

/* Base Layout & Positioning */
.usk-glossy-carousel .usk-item {
  overflow: inherit;
}

.usk-glossy-carousel .usk-shoping,
.usk-glossy-carousel .usk-badge-label-wrapper {
  position: absolute;
  z-index: 1;
}

.usk-glossy-carousel .usk-shoping {
  top: clamp(10px, 1vw, 25px);
  left: clamp(10px, 1vw, 25px);
}

.usk-glossy-carousel .usk-badge-label-wrapper {
  right: 0;
  top: 0;
}

/* Shopping Button */
.usk-glossy-carousel .usk-shoping a {
  transform: translateY(calc(-1 * var(--usk-glossy-carousel-btn-offset)));
}

.usk-glossy-carousel .usk-item:hover .usk-shoping a {
  transform: translateY(0);
}

/* Shadow Effect */
.usk-glossy-carousel .usk-product-hover {
  position: absolute;
  transition: transform var(--usk-glossy-carousel-transition);
  transform: scale(0.95) translateY(0) translateZ(0);
  height: calc(100% + var(--usk-glossy-carousel-offset) * 2);
  width: calc(100% + var(--usk-glossy-carousel-offset) * 2);
  z-index: 0;
  top: calc(-1 * var(--usk-glossy-carousel-offset));
  left: calc(-1 * var(--usk-glossy-carousel-offset));
}

.usk-glossy-carousel .usk-product-hover:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  transform-origin: center;
  opacity: 0;
  transition: opacity var(--usk-glossy-carousel-transition);
  box-shadow: 0 8px 55px var(--usk-glossy-carousel-shadow);
  pointer-events: none;
}

/* Hover States */
.usk-glossy-carousel .usk-item:hover .usk-product-hover {
  transform: scale(1) translateY(0) translateZ(0);
}

.usk-glossy-carousel .usk-item:hover .usk-product-hover:before {
  opacity: 1;
  pointer-events: all;
}