/* OWD Stacking Cards — engine.css (v5.7.1)
   JS-driven stacking: the stage owns a fixed scroll length (set by JS), a sticky
   pin holds the viewport, and cards/cover are moved with transforms. This is what
   decouples the scroll distance from the cards' real heights. */

.owd-stage { position: relative; }

.owd-pin {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	height: 100vh;
	overflow: visible;
}

.owd-card {
	position: absolute;
	left: 0; right: 0;
	will-change: transform;
}

/* The section that rises up over the stack. Give the Saved Row a SOLID background
   or the cards will show through. */
.owd-cover {
	position: absolute;
	left: 0; right: 0; top: 0;
	min-height: 100vh;
	z-index: 50;                /* above the cards; below a normal fixed site header */
	will-change: transform;
	background: #ffffff;        /* fallback so it is never see-through */
}

/* Inside the Beaver Builder editor, lay everything out flat so it stays editable. */
.fl-builder-edit .owd-pin { position: static; height: auto; }
.fl-builder-edit .owd-card,
.fl-builder-edit .owd-cover {
	position: relative !important;
	transform: none !important;
	top: auto !important;
}

/* Disabled on small screens (off_below): flow the cards normally instead of
   stacking. Without this the base position:absolute makes every card collapse
   onto the same spot and overlap. */
.owd-stage[data-owd-flat="1"] .owd-pin { position: static; height: auto; }
.owd-stage[data-owd-flat="1"] .owd-card,
.owd-stage[data-owd-flat="1"] .owd-cover {
	position: relative;
	transform: none;
	top: auto;
	z-index: auto;
}
