/* =========================================================
SNIPPET: 50 - Stack Utilities (Vertikaler Rhythmus)
========================================================= */

/* Token Mapping: nur exakte Stack-Klassen */
.elementor .elementor-element.stack-0    { --stack-current: var(--stack-0); }
.elementor .elementor-element.stack-xxs  { --stack-current: var(--stack-xxs); }
.elementor .elementor-element.stack-xs   { --stack-current: var(--stack-xs); }
.elementor .elementor-element.stack-s    { --stack-current: var(--stack-s); }
.elementor .elementor-element.stack-m    { --stack-current: var(--stack-m); }
.elementor .elementor-element.stack-l    { --stack-current: var(--stack-l); }
.elementor .elementor-element.stack-xl   { --stack-current: var(--stack-xl); }
.elementor .elementor-element.stack-xxl  { --stack-current: var(--stack-xxl); }
.elementor .elementor-element.stack-xxxl { --stack-current: var(--stack-xxxl); }

/* Stack anwenden: nur auf Elemente mit exakter Stack-Klasse */
.elementor .elementor-element:is(
  .stack-0,
  .stack-xxs,
  .stack-xs,
  .stack-s,
  .stack-m,
  .stack-l,
  .stack-xl,
  .stack-xxl,
  .stack-xxxl
) > :where(
  :not(.elementor-element-overlay):not(.elementor-shape) +
  :not(.elementor-element-overlay):not(.elementor-shape)
),
.elementor .elementor-element:is(
  .stack-0,
  .stack-xxs,
  .stack-xs,
  .stack-s,
  .stack-m,
  .stack-l,
  .stack-xl,
  .stack-xxl,
  .stack-xxxl
) > .e-con-inner > :where(
  :not(.elementor-element-overlay):not(.elementor-shape) +
  :not(.elementor-element-overlay):not(.elementor-shape)
),
.elementor .elementor-element:is(
  .stack-0,
  .stack-xxs,
  .stack-xs,
  .stack-s,
  .stack-m,
  .stack-l,
  .stack-xl,
  .stack-xxl,
  .stack-xxxl
) > .elementor-container > :where(
  :not(.elementor-element-overlay):not(.elementor-shape) +
  :not(.elementor-element-overlay):not(.elementor-shape)
) {
  margin-top: var(--stack-current) !important;
}