/* vertical-carousel.css
   Vertical, infinite-loop carousel (see js/components/vertical-carousel.js).
   Uses the global design tokens from css/tokens.css. */

vertical-carousel,
.vc {
  display: block;
}

/* Swiper viewport — fixed height drives how many slides are visible. */
.vc-swiper {
  height: 208px;
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
}

/* Top-emphasis: focal slide sits at the very top — no top mask fade. */
.vc--top .vc-swiper {
  -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent);
  mask-image: linear-gradient(to bottom, #000 60%, transparent);
}

.vc-slide {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text-subtle);
  box-sizing: border-box;
  /* opacity/transform set per-frame by JS; transition keeps it smooth */
  will-change: opacity, transform;
}

/* Focal slide — the glow-card treatment from the design system. */
.vc-slide.is-focused {
  background: var(--color-surface);
  border-color: var(--color-border);
  color: var(--color-text);
  box-shadow: inset 0 0 6px 0px rgba(152, 67, 255, 0.25);
}

/* Leading visual ---------------------------------------------------------- */
.vc-lead {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* Brand radial avatar (from Figma node 927_2002): brand core → near-bg edge,
     origin biased toward the upper-left of the circle. Sits behind text or SVG badge. */
  background: radial-gradient(80% 80% at 33% 33%, var(--color-brand) 0%, #16161c 100%);
  color: #fff;
  overflow: hidden;
}

.vc-lead--img img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.vc-lead--badge {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Text -------------------------------------------------------------------- */
.vc-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.vc-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vc-subtitle {
  font-size: 13px;
  line-height: 1.3;
  color: var(--color-text-subtle);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Trailing check ---------------------------------------------------------- */
.vc-check {
  flex: 0 0 auto;
  margin-left: auto;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--color-border);
  color: var(--color-text-subtle);
}

.vc-slide.is-focused .vc-check {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: #fff;
}

/* Navigation arrows (hidden by default — only present when navigation=true) */
.vc-nav {
  color: var(--color-text-muted);
}

.vc-nav::after {
  font-size: 18px;
}