/* The stack is scoped; it does not alter other WordPress or Kadence blocks. */
.kalvass-scroll-stack {
  --kss-top: 96px;
  --kss-step: 18px;
  --kss-gap: 32px;
  --kss-radius: 20px;
  position: relative;
  isolation: isolate;
  display: block;
  overflow: visible;
  padding-block-end: 24px;
}
.kalvass-scroll-stack.kalvass-stack-low-header { --kss-top: 32px; }
.kalvass-scroll-stack.kalvass-stack-high-header { --kss-top: 144px; }
.kalvass-scroll-stack.kalvass-stack-square { --kss-radius: 0px; }
.kalvass-scroll-card {
  position: relative;
  box-sizing: border-box;
  min-height: 380px;
  padding: clamp(26px, 5vw, 72px);
  border-radius: var(--kss-radius, 20px);
  background: #f2ecdf;
  color: #173e3e;
  border: 1px solid rgba(23, 62, 62, .14);
  box-shadow: 0 -8px 32px rgba(10, 30, 25, .08);
  overflow-wrap: anywhere;
  scroll-margin-top: calc(var(--kss-top, 96px) + 28px);
}
.kalvass-scroll-stack > .kalvass-scroll-card,
.kalvass-scroll-stack > .wp-block-group__inner-container > .kalvass-scroll-card {
  margin-block: 0 var(--kss-gap);
  max-width: none;
}
.kalvass-scroll-card h2 { color: inherit; }
.kalvass-scroll-stack.kss-ready:not(.kss-static):not(.kss-focus) > .kalvass-scroll-card,
.kalvass-scroll-stack.kss-ready:not(.kss-static):not(.kss-focus) > .wp-block-group__inner-container > .kalvass-scroll-card {
  position: sticky;
  top: calc(var(--kss-top) + var(--kss-index, 0) * var(--kss-step));
  z-index: calc(1 + var(--kss-index, 0));
}
/* Editing stays in normal document flow; no overlap while writing. */
.editor-styles-wrapper .kalvass-scroll-card { position: relative !important; top: auto !important; }
@media (max-width: 767px), (prefers-reduced-motion: reduce) {
  .kalvass-scroll-stack .kalvass-scroll-card { position: relative !important; top: auto !important; min-height: 0; }
}
@media print {
  .kalvass-scroll-stack .kalvass-scroll-card { position: relative !important; top: auto !important; min-height: 0; box-shadow: none; break-inside: avoid; }
}
