/* The existing Elementor wrapper retains its overlay and background poster. */
.elementor-background-video-container > .modvault-background-video-hosted {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    opacity: 0;
}
.elementor-background-video-container > .modvault-background-video-hosted[data-modvault-video-playing="true"] { opacity: 1; }
.modvault-video-parent { position: relative; }
.elementor-background-video-container.modvault-video-parent { position: absolute; }
.modvault-video-fallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 2;
}
.modvault-video-fallback img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.modvault-video-fallback button {
    position: relative;
    pointer-events: auto;
    cursor: pointer;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #fff;
    border-radius: 4px;
    color: #fff;
    background: #171717;
    font: inherit;
}
.modvault-video-fallback button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* Keep homepage retry controls above content, clear of the central hero CTA. */
.e-con > .modvault-video-fallback.modvault-background-video-fallback {
    inset: auto 16px 16px auto;
    width: auto;
    height: auto;
    z-index: 10;
}

/* Reserve the audited loop carousel's native responsive geometry before Swiper starts. */
.elementor-element-247d339 .swiper:not(.swiper-initialized) > .swiper-wrapper {
    gap: var(--swiper-slides-gap, 10px);
}
.elementor-element-247d339 .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    width: calc((100% - (var(--swiper-slides-to-display, 2) - 1) * var(--swiper-slides-gap, 10px)) / var(--swiper-slides-to-display, 2));
}

/* Closed FAQ geometry is present even when Elementor reuses cached widget HTML. */
.single-product .htwoolentor-faq-body,
.home .elementor-element-8211cb9 .htwoolentor-faq-body { height: 0; }
