/* Scroll-Driven Sticky Media widget. Scoped to .ruz-ssm; tunables come from CSS vars set by Elementor controls on the wrapper. */
/* Note: position:sticky breaks if any ancestor container has overflow:hidden. */
/* Columns must stretch (default) so the media column spans the full section height, giving position:sticky room to travel. */
.ruz-ssm {display:grid;grid-template-columns:1fr 1fr;gap:var(--ruz-ssm-gap,60px);}
.ruz-ssm--media-start .ruz-ssm-media {order:-1}
.ruz-ssm-col {min-width:0}
.ruz-ssm-list {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ruz-ssm-step-gap,0px);}
.ruz-ssm-step {display:flex;flex-direction:column;justify-content:center;min-height:var(--ruz-ssm-step-minh,60vh);opacity:var(--ruz-ssm-dim,0.4);transition:opacity var(--ruz-ssm-fade,400ms) ease;}
.ruz-ssm-step.is-active {opacity:1}
.ruz-ssm-step:focus-within {opacity:1}
.ruz-ssm-step-title {margin-block:0 0.5em;}
.ruz-ssm-step-desc > :first-child {margin-block-start:0}
.ruz-ssm-step-desc > :last-child {margin-block-end:0}
.ruz-ssm-inline-media {display:none;margin:1.5em 0 0;overflow:hidden;}
.ruz-ssm-sticky {position:sticky;top:var(--ruz-ssm-sticky-top,180px);display:grid;}
.ruz-ssm-sticky .ruz-ssm-media-item img,.ruz-ssm-sticky .ruz-ssm-media-item video {height:var(--ruz-ssm-media-h,60vh);max-height:calc(100vh - var(--ruz-ssm-sticky-top,180px) - 20px);object-fit:cover;}
.ruz-ssm-media-item {grid-area:1/1;margin:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--ruz-ssm-fade,400ms) ease,visibility 0s ease var(--ruz-ssm-fade,400ms);}
.ruz-ssm-media-item.is-active {opacity:1;visibility:visible;transition-delay:0s;}
.ruz-ssm-media-item img,.ruz-ssm-media-item video,.ruz-ssm-inline-media img,.ruz-ssm-inline-media video {display:block;width:100%;height:auto;border-radius:inherit;}
.ruz-ssm-empty {padding:24px;border:1px dashed #ccc;text-align:center;color:#666;}
@media all and (max-width: 767px){
.ruz-ssm {grid-template-columns:1fr}
.ruz-ssm-media {display:none}
.ruz-ssm-inline-media {display:block}
.ruz-ssm-step {opacity:1;min-height:0;}
}
@media all and (prefers-reduced-motion: reduce){
.ruz-ssm-step {transition:none}
.ruz-ssm-media-item {transition:none}
}
