/*
 * Dani RevSlider Form Lock 1.3.1
 * Persistent live booking form for Slider Revolution on desktop + mobile.
 */

.dani-rfl-position-anchor {
    position: relative !important;
}

.dani-rfl-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    pointer-events: none !important;
    z-index: 2147481000 !important;
}

.dani-rfl-overlay > .dani-rfl-locked,
.dani-rfl-locked {
    box-sizing: border-box !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    pointer-events: auto !important;
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
}

/*
 * Only the one live form placed in .dani-rfl-overlay remains visible.
 * Form copies that belong to the other slides stay hidden permanently.
 */
.dani-rfl-duplicate-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.dani-rfl-active,
.dani-rfl-active rs-module,
.dani-rfl-active .rev_slider {
    isolation: isolate;
}

/* Keep common eCab dropdowns/calendars above the slider while editing the form. */
.dani-rfl-active .select2-container,
.dani-rfl-active .ui-datepicker,
.dani-rfl-active .xdsoft_datetimepicker,
.dani-rfl-active [class*="datepicker"],
.dani-rfl-active [class*="autocomplete"],
.dani-rfl-active [class*="suggestions"] {
    z-index: 2147482000 !important;
}


/* -------------------------------------------------------------------------
 * Mobile service pages: show the existing booking sidebar inline.
 * The JS moves the real sidebar into the content flow, so the booking form
 * remains fully functional and keeps all entered values.
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
    html.dani-rfl-inline-booking-active,
    body.dani-rfl-inline-booking-active {
        overflow-x: hidden !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-sidebar-toggle-hidden,
    body.dani-rfl-inline-booking-active a.sidebar_show,
    body.dani-rfl-inline-booking-active .sidebar_show,
    body.dani-rfl-inline-booking-active a[title="Show Sidebar"],
    body.dani-rfl-inline-booking-active a[title="Open Sidebar"],
    body.dani-rfl-inline-booking-active .skip_to_sidebar_link {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.dani-rfl-inline-booking-active .page_content_wrap .content_wrap {
        display: block !important;
    }

    body.dani-rfl-inline-booking-active .sidebar.dani-rfl-mobile-inline-sidebar,
    body.dani-rfl-inline-booking-active aside.dani-rfl-mobile-inline-sidebar {
        position: static !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        float: none !important;
        clear: both !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        translate: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 22px 0 28px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        z-index: auto !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .sidebar_inner,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar aside.widget,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .textwidget,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-wrap {
        position: static !important;
        float: none !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar aside.widget {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .widget_title {
        display: none !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card {
        box-sizing: border-box !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }



    /* Compact the moved sidebar to the actual form height. The original
     * off-canvas sidebar/card can inherit viewport-based heights from the
     * theme; those values create the large empty dark area on phones. */
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .sidebar_inner,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .widget,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .textwidget,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar #book-transfer,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar [data-proweb-booking-anchor],
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-wrap,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: auto !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card {
        width: calc(100% - 20px) !important;
        max-width: 520px !important;
        margin: 10px auto 22px !important;
        padding-bottom: 22px !important;
        overflow: visible !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card p:empty,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .textwidget > p:empty {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
    }

    /* Keep field icons restrained and visually attached to their controls. */
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card svg {
        width: 20px !important;
        height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
        flex: 0 0 20px !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card input,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card select,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card .select2-selection {
        box-sizing: border-box !important;
        max-width: 100% !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-card > *:last-child,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .proweb-ecab-wrap > *:last-child {
        margin-bottom: 0 !important;
    }

    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .select2-container,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .ui-datepicker,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar .xdsoft_datetimepicker,
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar [class*="autocomplete"],
    body.dani-rfl-inline-booking-active .dani-rfl-mobile-inline-sidebar [class*="suggestions"] {
        z-index: 2147482000 !important;
    }
}
