/* PHF sticky compat for Elementor CONTAINERS.
   The hub theme's rules are section-era:
     .lqd-css-sticky-column > .elementor-widget-wrap { position: sticky; ... }
   Containers (.e-con) have no .elementor-widget-wrap, so converting a
   section/column layout to containers silently kills the sticky. These rules
   re-implement the same behavior on containers. Usage is unchanged: put
   `lqd-css-sticky` or `lqd-css-sticky-column` on the element that should stick
   (Advanced -> CSS Classes); its parent must be the taller wrapper. */

.e-con.lqd-css-sticky,
.e-con > .lqd-css-sticky {
	position: sticky !important;
	position: -webkit-sticky !important;
	top: calc(var(--lqd-sticky-offset, 30px) + var(--lqd-sticky-header-height, 0px));
}

.e-con.lqd-css-sticky-column,
.e-con > .lqd-css-sticky-column {
	position: sticky !important;
	position: -webkit-sticky !important;
	top: calc(var(--lqd-sticky-offset, 30px) + var(--lqd-sticky-header-height, 0px));
}

/* A stretch-aligned flex child fills the parent's height and has no travel
   left to stick within — pin it to the top and let it size to content. */
.e-con > .lqd-css-sticky,
.e-con > .lqd-css-sticky-column {
	align-self: flex-start;
	height: -moz-fit-content;
	height: fit-content;
}

/* Any clipping ancestor kills position:sticky. */
.e-con:has(> .lqd-css-sticky),
.e-con:has(> .lqd-css-sticky-column) {
	overflow: visible;
}
