.bentral-book-form.animated {
    -webkit-animation-duration: 1.25s;
    animation-duration: 1.25s;
}

.bentral-book-form.fadeInLeft {
    animation-name: bentral-fadeInLeft;
}

.bentral-book-form.fadeInRight {
    animation-name: bentral-fadeInRight;
}

.bentral-book-form.fadeInUp {
    animation-name: bentral-fadeInUp;
}

.bentral-book-form.fadeInDown {
    animation-name: bentral-fadeInDown;
}

.bentral-book-form.slideInDown {
    animation-name: bentral-slideInDown;
}

.bentral-book-form.slideInLeft {
    animation-name: bentral-slideInLeft;
}

.bentral-book-form.slideInRight {
    animation-name: bentral-slideInRight;
}

.bentral-book-form.slideInUp {
    animation-name: bentral-slideInUp;
}

/* ==========================================================================
   Animation Adjustments
   ========================================================================== */

/* Fade In */

@-webkit-keyframes bentral-fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -40%, 0);
        transform: translate3d(0, -40%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes bentral-fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -40%, 0);
        transform: translate3d(0, -40%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@-webkit-keyframes bentral-fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-20%, 0, 0);
        transform: translate3d(-20%, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes bentral-fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-20%, 0, 0);
        transform: translate3d(-20%, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@-webkit-keyframes bentral-fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(20%, 0, 0);
        transform: translate3d(20%, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes bentral-fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(20%, 0, 0);
        transform: translate3d(20%, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@-webkit-keyframes bentral-fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 40%, 0);
        transform: translate3d(0, 40%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes bentral-fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 40%, 0);
        transform: translate3d(0, 40%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}


/* Slide In */

@-webkit-keyframes bentral-slideInDown {
    from {
        -webkit-transform: translate3d(0, -40%, 0);
        transform: translate3d(0, -40%, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bentral-slideInDown {
    from {
        -webkit-transform: translate3d(0, -40%, 0);
        transform: translate3d(0, -40%, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes bentral-slideInLeft {
    from {
        -webkit-transform: translate3d(-20%, 0, 0);
        transform: translate3d(-20%, 0, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bentral-slideInLeft {
    from {
        -webkit-transform: translate3d(-20%, 0, 0);
        transform: translate3d(-20%, 0, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes bentral-slideInRight {
    from {
        -webkit-transform: translate3d(20%, 0, 0);
        transform: translate3d(20%, 0, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bentral-slideInRight {
    from {
        -webkit-transform: translate3d(20%, 0, 0);
        transform: translate3d(20%, 0, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes bentral-slideInUp {
    from {
        -webkit-transform: translate3d(0, 40%, 0);
        transform: translate3d(0, 40%, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bentral-slideInUp {
    from {
        -webkit-transform: translate3d(0, 40%, 0);
        transform: translate3d(0, 40%, 0);
        visibility: visible;
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* Air Datepicker is portaled to body for all bentral search form types (input, input-icon, input-tags, pill, …) */
.air-datepicker-global-container {
    z-index: 100200 !important;
}

.air-datepicker-global-container .air-datepicker {
    --adp-z-index: 100200;
}

/* When JS uses a custom position callback, allow full width; avoid theme max-width on the popup */
.air-datepicker-global-container .air-datepicker.-custom-position- {
    max-width: none !important;
}

/*
 * Search forms: phones use Air Datepicker mobile overlay (centered modal + dimmed backdrop).
 * Tablet/desktop keep dropdown positioning under the date field.
 */
@media (max-width: 767px) {
    .air-datepicker-global-container {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        pointer-events: none;
    }

    .air-datepicker-global-container .air-datepicker {
        pointer-events: auto;
    }

    .air-datepicker-overlay {
        --adp-overlay-background-color: rgba(0, 0, 0, 0.45);
        --adp-overlay-z-index: 2147483645;
    }

    .air-datepicker.bentral-search-air-datepicker.-is-mobile- {
        --adp-font-size: 16px;
        --adp-width: min(92vw, 400px);
        --adp-mobile-width: min(92vw, 400px);
        --adp-day-cell-height: 40px;
        --adp-mobile-day-cell-height: 44px;
        --adp-z-index: 2147483647;
        border-radius: 12px;
        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
    }

    /*
     * position:function adds -custom-position- and desktop left/top; this class forces centering.
     */
    .air-datepicker-global-container .air-datepicker.bentral-search-air-datepicker.-is-mobile-.bentral-search-air-dp-centered,
    .air-datepicker-global-container .air-datepicker.bentral-search-air-datepicker.-is-mobile-.bentral-search-air-dp-centered.-custom-position-,
    .air-datepicker.bentral-search-air-datepicker.-is-mobile-.bentral-search-air-dp-centered,
    .air-datepicker.bentral-search-air-datepicker.-is-mobile-.bentral-search-air-dp-centered.-custom-position- {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        width: min(92vw, 400px) !important;
        min-width: min(92vw, 280px) !important;
        max-width: min(92vw, 400px) !important;
        z-index: 2147483647 !important;
    }

    .air-datepicker.bentral-search-air-datepicker.-is-mobile-.bentral-search-air-dp-centered.-active- {
        transform: translate(-50%, -50%) !important;
    }

    /* Guest / location pickers: centered modal on phones (always loaded with search.css). */
    body.bentral-search-mobile-modal-open {
        overflow: hidden;
        touch-action: none;
    }

    .bentral-guest-dd-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        margin: 0;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, 0.45);
        z-index: 2147483645;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .bentral-guest-dd-backdrop.is-visible {
        display: block;
    }

    .bentral-guest-dd-mobile-shell,
    .bentral-search-modal-shell {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483646 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 16px;
        box-sizing: border-box;
        pointer-events: none;
    }

    ul.dd-menu.bentral-guest-dd--mobile-modal,
    ul.dd-menu.bentral-location-dd--mobile-modal,
    .location-dropdown.bentral-location-dd--mobile-modal {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        margin: 0 !important;
        border-radius: 12px;
        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
        pointer-events: auto;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        background: #fff;
        list-style-type: none;
    }

    ul.dd-menu.bentral-guest-dd--mobile-modal li {
        justify-content: center;
        font-size: 17px;
        min-height: 48px;
        touch-action: manipulation;
    }

    ul.dd-menu.bentral-location-dd--mobile-modal li {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        min-height: 52px;
        padding: 14px 20px;
        font-size: 18px;
        line-height: 1.3;
        white-space: normal;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        user-select: none;
    }

    ul.dd-menu.bentral-location-dd--mobile-modal li:active {
        background-color: #ebebeb;
    }

    .location-dropdown.bentral-location-dd--mobile-modal .select-country,
    .location-dropdown.bentral-location-dd--mobile-modal .back-button,
    .location-dropdown.bentral-location-dd--mobile-modal li {
        min-height: 48px;
        padding-top: 12px;
        padding-bottom: 12px;
        touch-action: manipulation;
    }
}