/* Immens Extra Blocks – Front‑end Styles */

/* Motion base class */
.imm-motion {
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

/* Animation Types */
.imm-motion-fade-up    { transform: translate3d(0, 30px, 0); }
.imm-motion-fade-down  { transform: translate3d(0, -30px, 0); }
.imm-motion-fade-left  { transform: translate3d(30px, 0, 0); }
.imm-motion-fade-right { transform: translate3d(-30px, 0, 0); }
.imm-motion-zoom-in   { transform: scale(0.9); }
.imm-motion-slide-in  { transform: translate3d(-100%, 0, 0); }

/* Triggered state */
.imm-motion.is-active {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
}

/* Custom delay via CSS var */
.imm-motion[style*="--imm-delay"] {
    transition-delay: var(--imm-delay);
}

/* Hero block specific */
.imm-hero-video {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
}
.imm-hero-video__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.imm-hero-video__content {
    position: relative;
    z-index: 2;
    padding: 2rem;
}

/* Video block */
.imm-video-block__player,
.imm-video-block__embed {
    max-width: 100%;
    margin: 0 auto;
    display: block;
}
