.image-slider-outer {
  position: relative;
  overflow: hidden;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line-color);
  border-radius: var(--radius-xl);
  box-shadow: var(--panel-shadow-soft), var(--panel-shadow-inset);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--secondary-color) 94%, transparent), color-mix(in srgb, var(--primary-color) 94%, transparent)),
    radial-gradient(circle at top right, var(--accent-soft-color), transparent 40%);
}

.slider-viewport,
.slider-viewport-contain {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--line-color);
  min-height: clamp(22rem, 48vw, 36rem);
}

.slider-slide {
  position: absolute;
  inset: 0;
}

.slider-image-wrap,
.slider-image {
  width: 100%;
  height: 100%;
}

.slider-image {
  display: block;
  object-fit: cover;
}

.slider-slide-content {
  position: absolute;
  left: clamp(1rem, 4vw, 2rem);
  right: clamp(1rem, 4vw, 2rem);
  bottom: clamp(1rem, 4vw, 2rem);
  padding: clamp(1rem, 3vw, 1.5rem);
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--primary-color) 56%, transparent);
  backdrop-filter: blur(16px);
}

.slider-slide-desc {
  color: var(--muted-text-color);
  line-height: 1.7;
}

.slider-arrow.left,
.slider-arrow.right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  padding: 0;
  border-radius: 999px;
}

.slider-arrow.left { left: 1rem; }
.slider-arrow.right { right: 1rem; }

.slider-dots {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
}

.slider-dots button {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 999px;
  border: 0;
  background: color-mix(in srgb, var(--text-color) 22%, transparent);
}

.slider-dots .active {
  width: 2rem;
  background: var(--button-color);
}
