/* Base Transition */
.hoo-is-hidden,
.hoo-is-visible {
    transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s !important;
    will-change: transform, opacity !important;
}

/* Slide Mode */
.hoo-anim-slide.hoo-is-hidden {
    transform: translateY(-100%) !important;
    visibility: hidden;
    opacity: 1;
}

.hoo-anim-slide.hoo-is-visible {
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
}

/* Fade Mode */
.hoo-anim-fade.hoo-is-hidden {
    opacity: 0 !important;
    visibility: hidden;
    transform: translateY(0);
    /* Stay in place */
}

.hoo-anim-fade.hoo-is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Instant/None */
.hoo-anim-none.hoo-is-hidden {
    display: none !important;
    /* Or visibility hidden to keep layout? User says "Hidden". Display none removes layout. Visibility is safer for CLS usually, but depends on layout. */
    /* Let's stick to visibility for consistency with others, or opacity 0 immediate */
    opacity: 0 !important;
    visibility: hidden;
    transition: none !important;
}

.hoo-anim-none.hoo-is-visible {
    opacity: 1;
    visibility: visible;
    transition: none !important;
}

/* Animations based on config can be added here or strictly JS inline if variable */
/* Default Fade/Slide */

#hoo-sh-placeholder {
    width: 100%;
    display: block;
    background: transparent;
    pointer-events: none;
}

/* Logo Transition Helper */
header img {
    transition: opacity 0.2s ease;
}