/* cignyl-sftp 20260824 */
/* ------------------------------ */
/* v2 Sticky                       */
/* ------------------------------ */

.v2-theme .v2-sticky {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  box-sizing: border-box;
  --v2-sticky-offset: 0px;
  --v2-sticky-z: 100;
}

.v2-theme .v2-sticky__spacer {
  display: block;
  height: 0;
}

.v2-theme .v2-sticky__content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  box-sizing: border-box;
}

/* Container mode: CSS sticky within the nearest scroll container */
.v2-theme .v2-sticky--mode-container.v2-sticky--enabled-true {
  position: sticky;
  top: var(--v2-sticky-offset);
  z-index: var(--v2-sticky-z);
}

/* Page mode: JS positions the content as fixed when stuck. */
.v2-theme .v2-sticky--mode-page.v2-sticky--stuck-true > .v2-sticky__content {
  /* Keep a subtle separation while stuck. */
  box-shadow: 0 8px 24px hsl(var(--foreground) / 0.10);
}

/* Animate expand on stick; fade out on unstick. */
.v2-theme .v2-sticky--mode-page.v2-sticky--full-width-when-stuck-true > .v2-sticky__content {
  transition: width 0.2s ease, left 0.2s ease, opacity 0.15s ease;
}

/* Optional full-width behavior in container mode. */
.v2-theme .v2-sticky--mode-container.v2-sticky--full-width-when-stuck-true > .v2-sticky__content {
  width: 100%;
}

.v2-theme .v2-sticky__empty {
  padding: var(--v2-space-md);
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
}

