/* Off-Canvas Faster Animations (0.4s)
 * Elementor renders the Off-Canvas dialog as a separate element
 * appended to <body> with class .e-off-canvas — outside the widget tree.
 */

.e-off-canvas,
.e-off-canvas .dialog-widget-content,
.e-off-canvas .dialog-lightbox-message,
.e-off-canvas .dialog-message,
.e-off-canvas .e-off-canvas__content,
.e-off-canvas .e-off-canvas__overlay,
.e-off-canvas .dialog-lightbox-overlay {
    animation-duration: 0.4s !important;
    -webkit-animation-duration: 0.4s !important;
    transition-duration: 0.4s !important;
    -webkit-transition-duration: 0.4s !important;
}

.e-off-canvas .animated,
.e-off-canvas .fadeInDown,
.e-off-canvas .fadeOutUp,
.e-off-canvas .fadeInUp,
.e-off-canvas .fadeOutDown,
.e-off-canvas .fadeIn,
.e-off-canvas .fadeOut,
.e-off-canvas .slideInDown,
.e-off-canvas .slideOutUp,
.e-off-canvas .slideInUp,
.e-off-canvas .slideOutDown,
.e-off-canvas .slideInLeft,
.e-off-canvas .slideOutLeft,
.e-off-canvas .slideInRight,
.e-off-canvas .slideOutRight {
    animation-duration: 0.4s !important;
    -webkit-animation-duration: 0.4s !important;
}

/* ─── Close Button Icon Fix (Frontend) ─── */

.e-off-canvas .e-off-canvas__close-button,
.e-off-canvas .dialog-close-button {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 9999 !important;
    position: absolute !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.e-off-canvas .e-off-canvas__close-button i,
.e-off-canvas .dialog-close-button i,
.e-off-canvas .e-off-canvas__close-button .eicon-close,
.e-off-canvas .dialog-close-button .eicon-close {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: inherit !important;
    line-height: 1 !important;
}

.e-off-canvas .e-off-canvas__close-button svg,
.e-off-canvas .dialog-close-button svg {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 1em !important;
    height: 1em !important;
    fill: currentColor !important;
}

.e-off-canvas .e-off-canvas__close-button span,
.e-off-canvas .dialog-close-button span {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure the close button is not clipped by parent overflow */
.e-off-canvas .dialog-widget-content,
.e-off-canvas .dialog-lightbox-message,
.e-off-canvas .dialog-message {
    overflow: visible !important;
}
