/* The shortcode widget is a zero-height flex item, so the widget itself becomes
   the full-bleed layer rather than trying to size the div inside it. */
.elementor-element-hmfilm,
.elementor-widget-shortcode:has(> .elementor-widget-container > .hm-film){
	position:absolute; inset:0; width:auto; height:auto; margin:0; padding:0;
	pointer-events:none; z-index:-1;
}
.elementor-element-hmfilm > .elementor-widget-container,
.elementor-element-hmfilm .elementor-shortcode{ position:absolute; inset:0; }

/* The film sits at z-index -1 so Elementor's own overlay stays on top of it.
   That only works if the hero container makes a stacking context: without one
   a negative-z child falls behind the container's background image and the
   canvas is invisible. */
.e-con:has(> .elementor-element-hmfilm),
.elementor-element:has(> .elementor-widget-shortcode > .elementor-widget-container > .hm-film){
	isolation:isolate;
}

.hm-film{ position:absolute; inset:0; overflow:hidden; }
.hm-film__c{
	position:absolute; inset:0; width:100%; height:100%; display:block;
	opacity:0; transition:opacity .25s ease;
}
.hm-film.is-ready .hm-film__c{ opacity:1; }
