/**
 * Critical fixes for WaterJet mobile prototype — load last.
 */

/* Homepage: only hide Ferry Companies + footer newsletter */
html body.wj-ui.request-is-home .bc-list-vendor,
html body.wj-ui.request-is-home .bc_footer .mailchimp {
    display: none !important;
}

@media (max-width: 768px) {
    html body.wj-ui .bc_header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        transform: none !important;
        z-index: 10020 !important;
        background: rgba(255, 255, 255, 0.92) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-bottom: 1px solid rgba(226, 232, 240, 0.55) !important;
    }

    html body.wj-ui .wj-mobile-header-bar {
        display: flex !important;
        position: relative !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 448px !important;
        margin: 0 auto !important;
        padding: 8px 16px !important;
        box-sizing: border-box !important;
        min-height: 52px !important;
    }

    html body.wj-ui .wj-mobile-header-logo {
        width: 48px !important;
        flex: 0 0 48px !important;
    }

    html body.wj-ui .wj-brand-logo-circle {
        width: 48px !important;
        height: 48px !important;
        border-radius: 999px !important;
        background: #fff !important;
        border: 1px solid #f3f4f6 !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 4px !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui .wj-brand-logo-circle--drawer {
        width: 44px !important;
        height: 44px !important;
        padding: 5px !important;
    }

    html body.wj-ui .wj-brand-logo-circle__img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 999px !important;
        display: block !important;
    }

    html body.wj-ui .wj-mobile-header-stores {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: auto !important;
        max-width: calc(100% - 108px) !important;
        padding: 0 !important;
        margin: 0 !important;
        pointer-events: auto !important;
        z-index: 3 !important;
    }

  /* Store badges — same as desktop: image only, no extra pill background */
    html body.wj-ui .wj-store-pill {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-decoration: none !important;
        flex-shrink: 0 !important;
        transition: transform 0.15s ease, opacity 0.15s ease !important;
        line-height: 0 !important;
    }

    html body.wj-ui .wj-store-pill--apple,
    html body.wj-ui .wj-store-pill--play {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    html body.wj-ui .wj-store-pill:active {
        transform: scale(0.97) !important;
        opacity: 0.88 !important;
    }

    html body.wj-ui .wj-store-pill img {
        display: block !important;
        width: auto !important;
        height: 32px !important;
        max-width: 108px !important;
        object-fit: contain !important;
        object-position: center !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    html body.wj-ui .wj-store-pill--apple img,
    html body.wj-ui .wj-store-pill--play img {
        border-radius: 0 !important;
    }

    html body.wj-ui .wj-store-pill--header {
        height: auto !important;
        width: auto !important;
    }

    html body.wj-ui .wj-store-pill--drawer {
        flex: 1 1 0 !important;
        height: auto !important;
        width: auto !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    html body.wj-ui .wj-store-pill--drawer img {
        width: 100% !important;
        height: 40px !important;
        max-width: none !important;
        object-fit: contain !important;
        object-position: center !important;
        border-radius: 0 !important;
    }

    html body.wj-ui .wj-drawer__brand {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        min-width: 0 !important;
        text-decoration: none !important;
        color: inherit !important;
    }

    html body.wj-ui .wj-drawer__brand-name {
        font-size: 1.05rem !important;
        font-weight: 800 !important;
        color: #111827 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html body.wj-ui .wj-drawer__stores {
        display: flex !important;
        gap: 10px !important;
        padding-top: 8px !important;
    }

    html body.wj-ui .wj-mobile-header-menu {
        width: 40px !important;
        flex: 0 0 40px !important;
        margin-left: auto !important;
    }

    html body.wj-ui .bc_header {
        padding: 0 !important;
    }

    html body.wj-ui .bc-form-search-all .wj-mobile-hero-wrap {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        overflow: visible !important;
    }

    html body.wj-ui .wj-mobile-hero-inner {
        position: relative !important;
        margin: 0 -12px !important;
        padding: 60px 12px 24px !important;
        border-radius: 0 0 40px 40px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
        min-height: 420px !important;
    }

    html body.wj-ui .wj-mobile-hero-bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
        z-index: 0 !important;
    }

    html body.wj-ui .wj-mobile-hero-gradient {
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.6)) !important;
        z-index: 1 !important;
    }

    html body.wj-ui .wj-mobile-hero-card {
        position: relative !important;
        z-index: 2 !important;
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        border-radius: 32px !important;
        padding: 20px !important;
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
    }

    /* Mobile search form — full-width stacked fields + Find Tickets aligned */
    html body.wj-ui .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    html body.wj-ui .wj-search-prototype .wj-home-search-row > .wj-route-group,
    html body.wj-ui .wj-search-prototype .wj-home-search-row > .wj-search-field-col,
    html body.wj-ui .wj-search-prototype .wj-home-search-row > .wj-search-submit-col,
    html body.wj-ui .wj-search-prototype .wj-home-search-row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    @media (max-width: 768px) {
        html body.wj-ui {
            overflow-x: hidden !important;
            max-width: 100% !important;
        }

        html body.wj-ui .bc_wrap,
        html body.wj-ui .bc_content,
        html body.wj-ui .page-template-content {
            overflow-x: hidden !important;
            max-width: 100% !important;
        }
    }

    @media (max-width: 380px) {
        html body.wj-ui .wj-store-pill--header img {
            height: 28px !important;
            max-width: 92px !important;
        }

        html body.wj-ui .wj-mobile-header-stores {
            gap: 4px !important;
            max-width: calc(100% - 96px) !important;
        }
    }

    html body.wj-ui .wj-search-prototype .input-departure-date,
    html body.wj-ui .wj-search-prototype .input-pax {
        border: 1px solid #e5e7eb !important;
        border-radius: 16px !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    /* Mobile passengers label — always "Passengers", smaller on narrow screens */
    html body.wj-ui .wj-search-prototype .wj-pax-label {
        display: inline-flex !important;
        align-items: center !important;
        min-width: 0 !important;
        max-width: 100% !important;
        line-height: 1.15 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        color: #9ca3af !important;
        white-space: nowrap !important;
    }

    html body.wj-ui .wj-search-prototype .wj-pax-left {
        gap: 10px !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        overflow: hidden !important;
    }

    html body.wj-ui .wj-search-prototype .wj-pax-left i {
        font-size: 1.35rem !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui .wj-search-prototype .pax-controls-wrapper {
        flex-shrink: 0 !important;
        gap: 10px !important;
    }

    html body.wj-ui .wj-search-prototype .btn-pax-minus,
    html body.wj-ui .wj-search-prototype .btn-pax-plus {
        width: 36px !important;
        height: 36px !important;
        flex-shrink: 0 !important;
    }

    @media (max-width: 420px) {
        html body.wj-ui .wj-search-prototype .wj-pax-label {
            font-size: 10px !important;
        }

        html body.wj-ui .wj-search-prototype .input-pax-wrapper {
            padding: 14px 12px !important;
            gap: 8px !important;
        }

        html body.wj-ui .wj-search-prototype .pax-count-input {
            width: 2rem !important;
            min-width: 2rem !important;
            padding: 0 !important;
            font-size: 16px !important;
        }
    }

    html body.wj-ui .wj-search-prototype .wj-search-submit-col .input-btn-search,
    html body.wj-ui .wj-search-prototype .wj-search-submit-col button.home-bleed-find-tickets {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        border-radius: 16px !important;
        min-height: 52px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.wj-ui .wj-fleet-card {
        flex: 0 0 calc(100% - 32px) !important;
        width: calc(100% - 32px) !important;
        min-width: 0 !important;
    }

    /* Homepage Popular Routes — horizontal swipe carousel */
    html body.wj-ui.request-is-home .home-routes-section {
        padding: 8px 0 20px !important;
        overflow: visible !important;
    }

    html body.wj-ui.request-is-home .home-routes-section .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
        overflow: visible !important;
    }

    html body.wj-ui.request-is-home .wj-route-carousel-wrap {
        overflow: visible !important;
    }

    html body.wj-ui.request-is-home .wj-routes-scroll.wj-routes-scroll--auto {
        scroll-snap-type: none !important;
    }

    html body.wj-ui.request-is-home .wj-route-carousel-nav {
        display: none !important;
    }

    html body.wj-ui.request-is-home .wj-routes-scroll {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        scroll-behavior: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 4px 2px 14px !important;
        margin: 0 !important;
        scrollbar-width: none !important;
    }

    html body.wj-ui.request-is-home .wj-routes-scroll::-webkit-scrollbar {
        display: none !important;
    }

    html body.wj-ui.request-is-home .wj-route-card {
        flex: 0 0 auto !important;
        min-width: min(82vw, 280px) !important;
        scroll-snap-align: start !important;
    }

    html body.wj-ui.request-is-home .home-after-form-separator {
        overflow: visible !important;
    }

    html body.wj-ui .home-search-carousel-bleed-lg,
    html body.wj-ui .home-after-form-separator.hidden {
        display: none !important;
    }

    html body.wj-ui .bc-form-search-all,
    html body.wj-ui .bc-form-search-all.carousel,
    html body.wj-ui .bc-form-search-all.bc-form-search-slider {
        background: transparent !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.wj-ui .bc_wrap {
        padding-top: 52px !important;
        max-width: 448px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.wj-ui.request-is-location-detail .bc_wrap {
        max-width: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow-x: clip !important;
    }

    html body.wj-ui.request-is-location-detail .bc_detail_location,
    html body.wj-ui.request-is-location-detail .bc_detail_location .bc_banner,
    html body.wj-ui.request-is-location-detail .bc_detail_location .g-location,
    html body.wj-ui.request-is-location-detail .bc_detail_location .location-map,
    html body.wj-ui.request-is-location-detail .bc_detail_location #map_content {
        width: 100% !important;
        max-width: none !important;
    }

    html body.wj-ui.request-is-location-detail .bc_detail_location .bc_banner {
        min-height: 240px !important;
        background-size: cover !important;
        background-position: center !important;
    }

    html body.wj-ui.request-is-home .template-children-wrapper > * {
        display: block !important;
    }

    html body.wj-ui .bc_footer {
        display: none !important;
    }

    html body.wj-ui .bc-form-search-all .g-form-control > .nav-tabs {
        display: none !important;
    }

    html body.wj-ui .bc-form-search-all,
    html body.wj-ui .bc-form-search-all * {
        transform: none !important;
    }

    /* Menu overlay — only when drawer is open (fixes stuck dark screen) */
    html body.wj-ui .bc-effect-bg {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        z-index: 10040 !important;
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
        transition: opacity 0.3s ease !important;
    }

    html body.wj-ui.mobile-chrome-menu-open .bc-effect-bg {
        display: block !important;
        visibility: visible !important;
        pointer-events: auto !important;
        opacity: 1 !important;
    }

    html body.wj-ui .wj-mobile-header-bar .bc-more-menu,
    html body.wj-ui .wj-mobile-header-bar .bc-more-menu::before {
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 8px !important;
        margin-right: -8px !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    html body.wj-ui .mobile-bottom-nav {
        left: 50% !important;
        transform: translateX(-50%) !important;
        bottom: 16px !important;
        width: calc(100% - 16px) !important;
        max-width: 448px !important;
        border-radius: 24px !important;
        padding: 8px 4px !important;
    }

    html body.wj-ui .mobile-bottom-nav .nav-item {
        padding: 8px 0 !important;
        background: transparent !important;
        color: #6b7280 !important;
    }

    html body.wj-ui .mobile-bottom-nav .nav-item.active {
        color: #2563eb !important;
        background: rgba(37, 99, 235, 0.08) !important;
        border-radius: 16px !important;
    }

    html body.wj-ui .mobile-bottom-nav .nav-item i {
        font-size: 22px !important;
        margin-bottom: 4px !important;
    }

    html body.wj-ui .mobile-bottom-nav .nav-item span {
        font-size: 9px !important;
        font-weight: 500 !important;
    }

    html body.wj-ui .bc-menu-mobile.wj-drawer {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        right: auto !important;
        width: min(288px, 92vw) !important;
        max-width: 288px !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        background: #fff !important;
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.28) !important;
        transform: translate3d(-105%, 0, 0) !important;
        transition: transform 0.3s ease-out !important;
        z-index: 10070 !important;
        overflow: hidden !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 1 !important;
    }

    html body.wj-ui .bc-menu-mobile.wj-drawer.active,
    html body.wj-ui.mobile-chrome-menu-open .bc-menu-mobile.wj-drawer.active {
        transform: translate3d(0, 0, 0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Fallback date calendar — WaterJet mobile style */
    html body.wj-ui .wj-search-prototype #dropdown-select-date {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 8px 0 0 !important;
        overflow: visible !important;
        max-height: none !important;
        z-index: 10025 !important;
    }

    html body.wj-ui .wj-search-prototype #fallback-calendar {
        padding: 0 !important;
    }

    html body.wj-ui .wj-search-prototype .wj-calendar.calendar-container {
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 24px !important;
        padding: 20px !important;
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12) !important;
    }

    html body.wj-ui .wj-search-prototype .input-departure-date {
        overflow: visible !important;
    }

    html body.wj-ui.wj-calendar-open {
        overflow: hidden !important;
    }

    html body.wj-ui .wj-calendar-overlay {
        display: none !important;
        position: fixed !important;
        inset: 0 !important;
        background: rgba(15, 23, 42, 0.45) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        z-index: 10044 !important;
        pointer-events: none !important;
        opacity: 0 !important;
    }

    html body.wj-ui .wj-calendar-overlay.active {
        display: block !important;
        pointer-events: auto !important;
        opacity: 1 !important;
    }

    html body.wj-ui.wj-calendar-open #dropdown-select-date.wj-calendar-portal.show {
        position: fixed !important;
        top: 50% !important;
        left: 16px !important;
        right: 16px !important;
        transform: translateY(-50%) !important;
        z-index: 10050 !important;
        max-width: 400px !important;
        margin: 0 auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    html body.wj-ui.wj-calendar-open #dropdown-select-date.wj-calendar-portal.show .bali-fallback-calendar,
    html body.wj-ui.wj-calendar-open #dropdown-select-date.wj-calendar-portal.show .wj-calendar-visible {
        display: block !important;
        visibility: visible !important;
    }

    html body.wj-ui.wj-calendar-open #dropdown-select-date.wj-calendar-portal.show .wj-calendar.calendar-container {
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 24px !important;
        padding: 20px !important;
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12) !important;
    }

    /* Location dropdown portal — FROM/TO on mobile (fixes clipping under form) */
    html body.wj-ui.wj-location-open {
        overflow: hidden !important;
    }

    html body.wj-ui.wj-location-open .dropdown-input.wj-location-portal.show,
    html body.wj-ui.wj-location-open #dropdown-depart-from.wj-location-portal.show {
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: min(72vh, 560px) !important;
        margin: 0 !important;
        padding: 8px 0 calc(12px + env(safe-area-inset-bottom, 0)) !important;
        border-radius: 24px 24px 0 0 !important;
        box-shadow: 0 -10px 40px rgba(15, 23, 42, 0.18) !important;
        background: #fff !important;
        z-index: 10050 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border: none !important;
    }

    html body.wj-ui.wj-location-open .wj-location-portal.show .results,
    html body.wj-ui.wj-location-open .wj-location-portal.show .items {
        padding: 0 !important;
    }

    html body.wj-ui.wj-location-open .wj-location-portal.show .item {
        padding: 14px 20px !important;
        font-size: 0.95rem !important;
        color: #111827 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        cursor: pointer !important;
    }

    html body.wj-ui.wj-location-open .wj-location-portal.show .item:last-child {
        border-bottom: none !important;
    }

    html body.wj-ui .wj-legacy-done-wrap,
    html body.wj-ui #dropdown-select-date .close-dropdown-input {
        display: none !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap {
        display: block !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-mobile-hero-inner {
        min-height: 260px !important;
        padding: calc(var(--wj-header-h, 52px) + 8px) 14px 20px !important;
        border-radius: 0 0 32px 32px !important;
        background: transparent !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
        overflow: hidden !important;
    }

    html body.wj-ui.request-is-flight-search .wj-flight-has-results .wj-transfers-mobile-header {
        padding-top: 0 !important;
        margin-top: 8px !important;
    }

    /* Checkout — guest fields (Tailwind .collapse breaks Bootstrap accordion) */
    html body.wj-ui .bc-booking-page,
    html body.wj-ui.request-is-checkout .bc-booking-page {
        background: #f9fafb !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
        padding-top: calc(var(--wj-header-h, 56px) + 8px) !important;
        padding-bottom: calc(var(--wj-nav-h, 56px) + var(--wj-nav-float-bottom, 12px) + 32px) !important;
    }

    html body.wj-ui .bc-booking-page.padding-content,
    html body.wj-ui.request-is-checkout .bc-booking-page.padding-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.wj-ui .bc-booking-page .container,
    html body.wj-ui.request-is-checkout .bc-booking-page .container {
        max-width: 448px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: max(16px, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(16px, env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box !important;
    }

    html body.wj-ui .bc-booking-page #bc-checkout-page,
    html body.wj-ui.request-is-checkout #bc-checkout-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    html body.wj-ui .bc-booking-page #bc-checkout-page > .row,
    html body.wj-ui.request-is-checkout #bc-checkout-page > .row {
        flex-direction: column !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.wj-ui .bc-booking-page #bc-checkout-page > .row > [class*="col-"],
    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.wj-ui.request-is-checkout .booking-form,
    html body.wj-ui.request-is-checkout .booking-detail,
    html body.wj-ui.request-is-checkout .form-checkout {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout > .alert-info,
    html body.wj-ui.request-is-checkout .form-checkout > .wj-checkout-alert {
        border-radius: 16px !important;
        padding: 14px 16px 14px 44px !important;
        margin-bottom: 16px !important;
        font-size: 0.875rem !important;
        line-height: 1.45 !important;
        border: 1px solid #bee5eb !important;
        background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
        word-wrap: break-word !important;
        overflow-wrap: anywhere !important;
        position: relative !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout > .alert-info h5,
    html body.wj-ui.request-is-checkout .form-checkout > .wj-checkout-alert h5 {
        font-size: 0.95rem !important;
        margin-bottom: 8px !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout > .alert-info h5 .fa-info-circle,
    html body.wj-ui.request-is-checkout .form-checkout > .wj-checkout-alert h5 .fa-info-circle {
        position: absolute !important;
        left: 14px !important;
        top: 16px !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout > .alert-info p,
    html body.wj-ui.request-is-checkout .form-checkout > .wj-checkout-alert p {
        margin-bottom: 6px !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-alert__notes {
        list-style: none !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-alert__notes li {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        font-size: 0.8125rem !important;
        padding: 6px 8px !important;
        background: rgba(255, 255, 255, 0.6) !important;
        border-radius: 8px !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-trust {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        margin-top: 10px !important;
        font-size: 0.75rem !important;
        color: #64748b !important;
        text-align: center !important;
    }

    html body.wj-ui .bc-booking-page .form-section-title,
    html body.wj-ui .bc-booking-page .wj-checkout-passengers__title,
    html body.wj-ui.request-is-checkout .form-section-title {
        font-size: 1.125rem !important;
        font-weight: 800 !important;
        color: #111827 !important;
        margin: 0 0 12px !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-section {
        margin-bottom: 20px !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-group {
        margin-bottom: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-group > label {
        display: block !important;
        font-size: 0.72rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        color: #6b7280 !important;
        margin-bottom: 6px !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-group .form-control,
    html body.wj-ui.request-is-checkout .form-checkout .form-group select.form-control {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
        background: #fff !important;
        color: #111827 !important;
        font-size: 1rem !important;
        box-sizing: border-box !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-group .text-muted,
    html body.wj-ui.request-is-checkout .form-checkout .form-group small {
        display: block !important;
        margin-top: 6px !important;
        font-size: 0.75rem !important;
        line-height: 1.35 !important;
        word-wrap: break-word !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .term-conditions-checkbox {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        font-size: 0.875rem !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        cursor: pointer !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .term-conditions-checkbox input[type="checkbox"] {
        flex-shrink: 0 !important;
        width: 18px !important;
        height: 18px !important;
        margin-top: 2px !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card {
        border: 1px solid #e5e7eb !important;
        border-radius: 16px !important;
        margin-bottom: 10px !important;
        overflow: hidden !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-header {
        padding: 14px 16px !important;
        background: #fff !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-header h4,
    html body.wj-ui.request-is-checkout .gateways-table .card-header label {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        word-break: break-word !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-header input[type="radio"] {
        flex-shrink: 0 !important;
        margin-top: 3px !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-body {
        padding: 12px 16px 16px !important;
        font-size: 0.875rem !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-actions {
        margin-top: 16px !important;
        margin-bottom: 8px !important;
        width: 100% !important;
    }

    html body.wj-ui.request-is-checkout .booking-review {
        margin-top: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.wj-ui.request-is-checkout .booking-review-title {
        font-size: 1.125rem !important;
        font-weight: 800 !important;
        color: #111827 !important;
        margin-bottom: 12px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review-content {
        border: 1px solid #e5e7eb !important;
        border-radius: 24px !important;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-section {
        padding: 16px !important;
        border-bottom: 1px solid #f3f4f6 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
        gap: 8px 10px !important;
        align-items: center !important;
        width: 100% !important;
        margin-top: 10px !important;
        padding: 12px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
        background: #f8fafc !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__point {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        min-width: 0 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__point--to {
        text-align: right !important;
        align-items: flex-end !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__time {
        font-size: 1.05rem !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        line-height: 1.2 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__port {
        font-size: 0.7rem !important;
        line-height: 1.25 !important;
        color: #64748b !important;
        word-break: break-word !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__mid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;
        padding: 0 4px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__duration {
        font-size: 0.65rem !important;
        font-weight: 700 !important;
        color: #2563eb !important;
        white-space: nowrap !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__arrow {
        font-size: 1rem !important;
        font-weight: 700 !important;
        color: #2563eb !important;
        line-height: 1 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .flex-self-start.justify-content-between {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        align-items: start !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .flex-self-start {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .text-lh-sm {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .text-lh-sm span {
        display: block !important;
        overflow: visible !important;
        text-overflow: unset !important;
        white-space: normal !important;
        word-break: break-word !important;
        font-size: 0.7rem !important;
        line-height: 1.25 !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > .col-md-4 {
        order: -1 !important;
        margin-bottom: 16px !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > .col-md-8 {
        order: 1 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list {
        padding: 0 !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list li {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 8px 0 !important;
        font-size: 0.875rem !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list .label {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        color: #6b7280 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list .val {
        flex: 0 1 auto !important;
        text-align: right !important;
        word-break: break-word !important;
        color: #111827 !important;
        font-weight: 600 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list li.final-total {
        border-top: 1px solid #e5e7eb !important;
        margin-top: 8px !important;
        padding-top: 12px !important;
        font-size: 1rem !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list li.final-total .val {
        color: #2563eb !important;
        font-weight: 800 !important;
    }

    html body.wj-ui.request-is-checkout .section-coupon-form .input-group {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        gap: 0 !important;
    }

    html body.wj-ui.request-is-checkout #bc-sidebar-coupon-slot,
    html body.wj-ui.request-is-checkout .section-coupon-form {
        width: 100% !important;
    }

    html body.wj-ui.request-is-checkout .section-coupon-form .form-control {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        border-radius: 14px 0 0 14px !important;
        min-height: 48px !important;
        font-size: 16px !important;
    }

    html body.wj-ui.request-is-checkout .section-coupon-form .input-group-append .btn,
    html body.wj-ui.request-is-checkout .section-coupon-form .bc_apply_coupon {
        border-radius: 0 14px 14px 0 !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        min-height: 48px !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .collapse.show {
        display: block !important;
        visibility: visible !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-body .wj-payment-card-icons {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-body .wj-payment-card-icons img {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: #fff !important;
        border-radius: 4px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-mobile-hero-inner {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-mobile-hero-card {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap:not(.wj-mobile-hero-wrap--results) .wj-mobile-hero-inner {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    html body.wj-ui .bc-list-news .wj-news-equal-row {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
    }

    html body.wj-ui .bc-list-news .wj-news-equal-row > [class*='col-'] {
        display: flex !important;
        margin-bottom: 1rem !important;
    }

    html body.wj-ui .bc-list-news .item-news {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        width: 100% !important;
    }

    html body.wj-ui .bc-list-news .item-news .caption {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;
    }

    html body.wj-ui .bc-list-news .item-news .item-more {
        margin-top: auto !important;
        padding-top: 12px !important;
    }

    html body.wj-ui .bc-list-news .item-news .thumb-image {
        min-height: 180px !important;
        border-radius: 20px !important;
        overflow: hidden !important;
    }

    html body.wj-ui .bc-list-news .item-news .thumb-image img {
        width: 100% !important;
        height: 180px !important;
        object-fit: cover !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-card .card-body,
    html body.wj-ui.request-is-rental-book .rental-book-page .form-control,
    html body.wj-ui.request-is-rental-book .rental-book-page .form-select {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-page .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-page .row > [class*='col-'] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    html body.wj-ui.request-is-rental-book .rental-type-card {
        width: 100% !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-page .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    html body.wj-ui .wj-passengers-stack {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    html body.wj-ui .wj-passenger-card {
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 24px !important;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
        overflow: hidden !important;
    }

    html body.wj-ui .wj-passenger-card__header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 14px 16px !important;
        background: #f9fafb !important;
        border-bottom: 1px solid #f3f4f6 !important;
    }

    html body.wj-ui .wj-passenger-card__title {
        font-size: 0.95rem !important;
        font-weight: 700 !important;
        color: #111827 !important;
    }

    html body.wj-ui .wj-passenger-card__index {
        font-size: 0.75rem !important;
        font-weight: 700 !important;
        color: #6b7280 !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 999px !important;
        padding: 2px 8px !important;
    }

    html body.wj-ui .wj-passenger-card__body {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        padding: 16px !important;
    }

    html body.wj-ui .wj-passenger-fields > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 0 !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    html body.wj-ui .wj-passenger-fields.row,
    html body.wj-ui.request-is-checkout .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.wj-ui .wj-passenger-card .wj-field {
        margin-bottom: 14px !important;
    }

    html body.wj-ui .wj-passenger-card .wj-field label {
        display: block !important;
        font-size: 0.72rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        color: #6b7280 !important;
        margin-bottom: 6px !important;
    }

    html body.wj-ui .wj-passenger-card .form-control {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
        background: #fff !important;
        color: #111827 !important;
        font-size: 1rem !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    }

    html body.wj-ui .wj-passenger-card select.form-control {
        appearance: auto !important;
        -webkit-appearance: menulist !important;
        line-height: 1.5 !important;
        height: auto !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        overflow: visible !important;
    }

    html body.wj-ui .wj-passenger-card .form-control:focus {
        border-color: #2563eb !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
        outline: none !important;
    }

    html body.wj-ui .wj-passenger-card .wj-field-hint {
        margin-top: 4px !important;
        font-size: 0.75rem !important;
        color: #9ca3af !important;
    }

    /* Legacy accordion fallback if old template still renders */
    html body.wj-ui #passengers_info .collapse,
    html body.wj-ui #passengers_info .collapse.show {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
    }

    html body.wj-ui #passengers_info .card-body {
        display: block !important;
        visibility: visible !important;
    }

    /* Flight book page — /boat-transfer/book/{id} */
    html body.wj-ui .wj-flight-book-page {
        background: #f9fafb !important;
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0)) !important;
    }

    html body.wj-ui .wj-flight-book-page__inner {
        max-width: 448px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body.wj-ui .wj-flight-book-top {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }

    html body.wj-ui .wj-flight-book-back {
        width: 44px !important;
        height: 44px !important;
        border-radius: 999px !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #4b5563 !important;
        text-decoration: none !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui .wj-flight-book-title {
        font-size: 1.25rem !important;
        font-weight: 800 !important;
        color: #111827 !important;
    }

    html body.wj-ui .wj-flight-book-card {
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 24px !important;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
        overflow: hidden !important;
    }

    html body.wj-ui .wj-flight-book-summary {
        padding: 18px 16px !important;
        background: #f9fafb !important;
        border-bottom: 1px solid #f3f4f6 !important;
    }

    html body.wj-ui .wj-flight-book-route {
        font-size: 1.05rem !important;
        font-weight: 800 !important;
        color: #111827 !important;
        line-height: 1.35 !important;
        margin: 0 0 8px !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    html body.wj-ui .wj-flight-book-route .ph-arrow-right {
        color: #9ca3af !important;
        font-size: 0.85rem !important;
    }

    html body.wj-ui .wj-flight-book-meta {
        font-size: 0.82rem !important;
        color: #6b7280 !important;
        margin: 0 0 10px !important;
    }

    html body.wj-ui .wj-flight-book-times {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        font-size: 0.92rem !important;
        color: #111827 !important;
        margin-bottom: 10px !important;
    }

    html body.wj-ui .wj-flight-book-times .ph-arrow-right {
        color: #9ca3af !important;
        font-size: 0.75rem !important;
    }

    html body.wj-ui .wj-flight-book-price-line {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        font-size: 0.88rem !important;
        color: #374151 !important;
        padding-top: 10px !important;
        border-top: 1px solid #e5e7eb !important;
    }

    html body.wj-ui .wj-flight-book-price-line strong {
        color: #2563eb !important;
        font-size: 1rem !important;
    }

    html body.wj-ui .wj-flight-book-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    html body.wj-ui .wj-flight-book-grid__label {
        display: block !important;
        font-size: 0.7rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        color: #9ca3af !important;
        margin-bottom: 2px !important;
    }

    html body.wj-ui .wj-flight-book-form-wrap {
        padding: 16px !important;
    }

    html body.wj-ui .wj-flight-book-section__title {
        font-size: 1rem !important;
        font-weight: 800 !important;
        color: #111827 !important;
        margin: 0 0 6px !important;
    }

    html body.wj-ui .wj-flight-book-section__hint {
        font-size: 0.78rem !important;
        color: #6b7280 !important;
        margin: 0 0 12px !important;
        line-height: 1.45 !important;
    }

    html body.wj-ui .wj-flight-seat-card {
        background: #f9fafb !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 18px !important;
        padding: 14px !important;
        margin-bottom: 12px !important;
    }

    html body.wj-ui .wj-flight-seat-card__info {
        display: flex !important;
        justify-content: space-between !important;
        margin-bottom: 10px !important;
        font-size: 0.92rem !important;
    }

    html body.wj-ui .wj-flight-seat-card__controls {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    html body.wj-ui .wj-flight-seat-card__left {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        min-width: 0 !important;
    }

    html body.wj-ui .wj-flight-seat-card__label {
        font-size: 0.72rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        color: #6b7280 !important;
    }

    html body.wj-ui .wj-flight-seat-card__avail {
        font-size: 0.82rem !important;
        color: #374151 !important;
    }

    html body.wj-ui .wj-flight-book-page .wj-pax-controls-wrapper {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui .wj-flight-pax-btn {
        width: 40px !important;
        height: 40px !important;
        border-radius: 999px !important;
        border: 1px solid #e5e7eb !important;
        background: #fff !important;
        color: #374151 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    }

    html body.wj-ui .wj-flight-pax-btn.btn-pax-plus {
        background: #2563eb !important;
        border-color: #2563eb !important;
        color: #fff !important;
        box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28) !important;
    }

    html body.wj-ui .wj-flight-pax-input {
        width: 52px !important;
        min-height: 40px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        background: #fff !important;
        font-weight: 700 !important;
        font-size: 1rem !important;
        color: #111827 !important;
        padding: 0 !important;
    }

    html body.wj-ui .wj-flight-book-total {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        background: #eff6ff !important;
        border: 1px solid #dbeafe !important;
        border-radius: 18px !important;
        padding: 14px 16px !important;
        margin-top: 4px !important;
        margin-bottom: 16px !important;
        font-size: 0.95rem !important;
        color: #1e3a8a !important;
    }

    html body.wj-ui .wj-flight-book-total strong {
        font-size: 1.15rem !important;
        font-weight: 800 !important;
        color: #2563eb !important;
    }

    html body.wj-ui .wj-flight-book-cta {
        width: 100% !important;
        min-height: 52px !important;
        border: none !important;
        border-radius: 16px !important;
        background: #2563eb !important;
        color: #fff !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        box-shadow: 0 10px 25px rgba(37, 99, 235, 0.35) !important;
    }

    html body.wj-ui .wj-flight-book-cta:disabled {
        opacity: 0.75 !important;
    }

    html body.wj-ui .wj-flight-book-page .form-control,
    html body.wj-ui .wj-flight-book-page select.form-control {
        min-height: 48px !important;
        border-radius: 14px !important;
        border: 1px solid #e5e7eb !important;
        background: #fff !important;
        padding: 12px 14px !important;
    }

    html body.wj-ui .wj-flight-book-note,
    html body.wj-ui .wj-flight-book-alert {
        border-radius: 16px !important;
    }

    html body.wj-ui .wj-flight-book-gift {
        margin: 0 0 16px !important;
        padding: 14px 16px !important;
        border-radius: 16px !important;
        background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%) !important;
        border: 1px solid #bbf7d0 !important;
    }

    html body.wj-ui .wj-flight-book-gift__badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 6px 12px !important;
        margin-bottom: 10px !important;
        border-radius: 999px !important;
        background: #ffedd5 !important;
        color: #9a3412 !important;
        font-size: 0.72rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.03em !important;
        text-transform: uppercase !important;
    }

    html body.wj-ui .wj-flight-book-gift__body {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        color: #166534 !important;
        font-size: 0.875rem !important;
        line-height: 1.4 !important;
    }

    html body.wj-ui .wj-flight-book-gift__body strong {
        font-size: 0.95rem !important;
        color: #14532d !important;
    }

    /* Bottom nav: always fixed — no scroll hide on wj-ui pages */
    html body.wj-ui .mobile-bottom-nav,
    html body.wj-ui.mobile-chrome-scroll-hidden .mobile-bottom-nav,
    html body.wj-ui.mobile-chrome-scroll-hidden:not(.mobile-chrome-menu-open) .mobile-bottom-nav {
        transform: translateX(-50%) !important;
        -webkit-transform: translateX(-50%) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transition: none !important;
    }

    /* Rental equipment cards — polished mobile cards + reliable images */
    html body.wj-ui .wj-rental-list {
        padding: 0 12px 24px !important;
    }

    html body.wj-ui .wj-equipment-card {
        border-radius: 24px !important;
        border: 1px solid #f3f4f6 !important;
        box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06) !important;
        transition: transform 0.18s ease, box-shadow 0.18s ease !important;
    }

    html body.wj-ui .wj-equipment-card:active {
        transform: scale(0.985) !important;
    }

    html body.wj-ui .wj-equipment-card__media {
        height: 192px !important;
        background: linear-gradient(135deg, #dbeafe 0%, #e0e7ff 55%, #f3f4f6 100%) !important;
        overflow: hidden !important;
    }

    html body.wj-ui .wj-equipment-card__media img {
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    html body.wj-ui .wj-equipment-card__media::after {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(to top, rgba(15, 23, 42, 0.18), transparent 45%) !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    html body.wj-ui .wj-equipment-card__badge {
        z-index: 2 !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
    }

    html body.wj-ui .wj-equipment-card__placeholder {
        position: absolute !important;
        inset: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #94a3b8 !important;
        font-size: 48px !important;
    }

    html body.wj-ui .wj-equipment-card__rate {
        border: 1px solid #f3f4f6 !important;
    }

    html body.wj-ui .wj-equipment-card__cta {
        letter-spacing: 0.04em !important;
    }

    /* AI chat above mobile header when open */
    html body.wj-ui .ai-chat-widget.ai-chat-widget--open {
        z-index: 10100 !important;
    }

    html body.wj-ui .ai-chat-widget.ai-chat-widget--open .ai-chat-panel {
        z-index: 10100 !important;
    }

    /* ── Rental item: Book Now above bottom nav ── */
    html body.wj-ui .rental-item-show__btn-book {
        bottom: calc(var(--wj-nav-h) + var(--wj-nav-float-bottom) + 28px) !important;
    }

    html body.wj-ui.request-is-rental-show .rental-item-show {
        padding-bottom: calc(var(--wj-nav-h) + var(--wj-nav-float-bottom) + 88px) !important;
    }

    /* ── Rental book form ── */
    html body.wj-ui.request-is-rental-book .rental-book-page {
        max-width: 448px !important;
        margin: 0 auto !important;
        padding: 12px 12px calc(var(--wj-nav-h) + var(--wj-nav-float-bottom) + 24px) !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-page .row > [class*='col-'] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-card,
    html body.wj-ui.request-is-rental-book .rental-book-summary {
        border-radius: 24px !important;
        border: 1px solid #e5e7eb !important;
        box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06) !important;
        margin-bottom: 16px !important;
        overflow: visible !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-card .card-header {
        background: #fff !important;
        border-bottom: 1px solid #f3f4f6 !important;
        padding: 16px 20px !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-card .card-body {
        padding: 16px !important;
    }

    html body.wj-ui.request-is-rental-book .form-label {
        display: block !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #374151 !important;
        margin-bottom: 8px !important;
    }

    html body.wj-ui.request-is-rental-book .form-control,
    html body.wj-ui.request-is-rental-book .form-select,
    html body.wj-ui.request-is-rental-book select.form-control {
        display: block !important;
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important;
        color: #111827 !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
        padding: 12px 14px !important;
        opacity: 1 !important;
        visibility: visible !important;
        -webkit-appearance: menulist !important;
        appearance: auto !important;
    }

    html body.wj-ui.request-is-rental-book .form-group {
        margin-bottom: 18px !important;
    }

    html body.wj-ui.request-is-rental-book .rental-type-card {
        border: 2px solid #e5e7eb !important;
        border-radius: 18px !important;
        padding: 16px !important;
        background: #fff !important;
        margin-bottom: 12px !important;
    }

    html body.wj-ui.request-is-rental-book .rental-type-card:has(input:checked) {
        border-color: #2563eb !important;
        background: #eff6ff !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
    }

    html body.wj-ui.request-is-rental-book .rental-type-card .rental-label strong {
        font-size: 16px !important;
        color: #111827 !important;
    }

    html body.wj-ui.request-is-rental-book .rental-book-submit {
        border-radius: 16px !important;
        min-height: 52px !important;
        background: #2563eb !important;
        border: none !important;
        box-shadow: 0 10px 25px rgba(37, 99, 235, 0.35) !important;
    }

    html body.wj-ui.request-is-rental-book .alert-info {
        border-radius: 14px !important;
        background: #eff6ff !important;
        border: 1px solid #dbeafe !important;
        color: #1e40af !important;
    }

    html body.wj-ui.request-is-rental-book .form-text {
        font-size: 12px !important;
        color: #6b7280 !important;
        line-height: 1.4 !important;
    }

    /* ── Homepage: video, fleet, routes carousel ── */
    html body.wj-ui.request-is-home .wj-home-sections {
        padding: 8px 12px 24px !important;
    }

    html body.wj-ui .wj-home-block {
        margin-bottom: 28px !important;
    }

    html body.wj-ui .wj-section-title--sm {
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #111827 !important;
        margin: 0 0 4px !important;
    }

    html body.wj-ui .wj-section-sub {
        font-size: 14px !important;
        color: #6b7280 !important;
        margin: 0 0 16px !important;
    }

    html body.wj-ui .wj-home-video {
        position: relative !important;
        width: 100% !important;
        padding-bottom: 56.25% !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        background: #0f172a !important;
        box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12) !important;
    }

    html body.wj-ui .wj-home-video iframe {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        border: 0 !important;
    }

    html body.wj-ui .wj-route-carousel-head {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin-bottom: 12px !important;
    }

    html body.wj-ui .wj-route-carousel-nav {
        display: flex !important;
        gap: 8px !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui .wj-route-carousel-nav__btn {
        width: 36px !important;
        height: 36px !important;
        border-radius: 999px !important;
        border: 1px solid #e5e7eb !important;
        background: #fff !important;
        color: #374151 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
        cursor: pointer !important;
        padding: 0 !important;
    }

    html body.wj-ui .wj-route-carousel-foot {
        margin-top: 12px !important;
        text-align: center !important;
    }

    html body.wj-ui .wj-route-view-all {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: #2563eb !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        text-decoration: none !important;
    }

    html body.wj-ui .wj-fleet-scroll {
        display: flex !important;
        gap: 16px !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-inline: 12px !important;
        padding: 0 12px 4px !important;
        margin: 0 -12px !important;
    }

    html body.wj-ui .wj-fleet-card {
        flex: 0 0 calc(100% - 24px) !important;
        width: calc(100% - 24px) !important;
        max-width: none !important;
        scroll-snap-align: center !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    html body.wj-ui .wj-fleet-card img {
        display: block !important;
        width: 100% !important;
        height: 220px !important;
        object-fit: cover !important;
        border-radius: 20px !important;
        box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12) !important;
    }

    html body.wj-ui .wj-fleet-card--contain img {
        height: 260px !important;
        object-fit: contain !important;
        object-position: center !important;
        background: #f1f5f9 !important;
    }

    html body.wj-ui .wj-fleet-card figcaption {
        padding: 12px 4px 0 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #111827 !important;
        text-align: center !important;
        background: transparent !important;
    }

    /* Homepage CMS blocks — card-level styling, not outer boxes */
    html body.wj-ui.request-is-home .template-children-wrapper {
        padding: 0 12px 24px !important;
        max-width: 448px !important;
        margin: 0 auto !important;
    }

    html body.wj-ui.request-is-home .template-children-wrapper .bc-list-locations,
    html body.wj-ui.request-is-home .template-children-wrapper .bc-offer,
    html body.wj-ui.request-is-home .template-children-wrapper .bc-testimonial,
    html body.wj-ui.request-is-home .template-children-wrapper .bc-list-news,
    html body.wj-ui.request-is-home .template-children-wrapper .bc-form-subscribe,
    html body.wj-ui.request-is-home .template-children-wrapper .bravo-list-service {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin-bottom: 28px !important;
    }

    html body.wj-ui.request-is-home .template-children-wrapper .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100% !important;
    }

    html body.wj-ui.request-is-home .template-children-wrapper h2,
    html body.wj-ui.request-is-home .template-children-wrapper h3,
    html body.wj-ui.request-is-home .template-children-wrapper > div > .container > .title,
    html body.wj-ui.request-is-home .template-children-wrapper .bc-list-locations > .title,
    html body.wj-ui.request-is-home .template-children-wrapper .bc-list-news .title {
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #111827 !important;
        margin-bottom: 16px !important;
        text-align: center !important;
    }

    /* Top destinations */
    html body.wj-ui.request-is-home .bc-list-locations .list-item .row {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .list-item .row > [class*='col-'] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .destination-item .image {
        position: relative !important;
        border-radius: 24px !important;
        overflow: hidden !important;
        min-height: 280px !important;
        box-shadow: 0 8px 28px rgba(15, 23, 42, 0.1) !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .destination-item .image .effect {
        border-radius: 24px !important;
        opacity: 0.22 !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .destination-item .content .title {
        font-size: 20px !important;
        font-weight: 800 !important;
        color: #fff !important;
        background: transparent !important;
        text-transform: none !important;
        white-space: normal !important;
        display: block !important;
        padding: 0 !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45) !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .destination-item .image::after {
        content: '' !important;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        height: 58% !important;
        background: linear-gradient(to top, rgba(15, 23, 42, 0.78) 0%, rgba(15, 23, 42, 0.2) 55%, transparent 100%) !important;
        z-index: 1 !important;
        pointer-events: none !important;
        border-radius: inherit !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .destination-item .image .content {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        transform: none !important;
        z-index: 2 !important;
        text-align: left !important;
        padding: 20px 18px 22px !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .destination-item .image .content .wj-destination-tagline {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: rgba(255, 255, 255, 0.94) !important;
        margin: 6px 0 0 !important;
        padding: 0 !important;
        line-height: 1.4 !important;
        text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45) !important;
    }

    /* Offers / newsletter blocks */
    html body.wj-ui.request-is-home .bc-offer .row {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-offer .row > [class*='col-'] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-offer .item {
        border-radius: 24px !important;
        overflow: hidden !important;
        min-height: 260px !important;
        box-shadow: 0 8px 28px rgba(15, 23, 42, 0.1) !important;
        padding: 24px 20px !important;
    }

    html body.wj-ui.request-is-home .bc-offer .item .img-cover {
        border-radius: 24px !important;
    }

    html body.wj-ui.request-is-home .bc-offer .item-title {
        font-size: 22px !important;
        font-weight: 800 !important;
    }

    html body.wj-ui.request-is-home .bc-offer .item .btn {
        border-radius: 14px !important;
        background: #2563eb !important;
        border: none !important;
        color: #fff !important;
        font-weight: 700 !important;
        padding: 10px 20px !important;
    }

    html body.wj-ui.request-is-home .bc-call-to-action .context {
        border-radius: 24px !important;
        overflow: hidden !important;
        box-shadow: 0 8px 28px rgba(15, 23, 42, 0.1) !important;
    }

    /* Testimonials */
    html body.wj-ui.request-is-home .bc-testimonial .row {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-testimonial .row > [class*='col-'] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-testimonial .item {
        background: #fff !important;
        border-radius: 24px !important;
        border: 1px solid #f3f4f6 !important;
        box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06) !important;
        padding: 20px !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-testimonial .author img {
        width: 48px !important;
        height: 48px !important;
        border-radius: 999px !important;
        object-fit: cover !important;
    }

    html body.wj-ui.request-is-home .bc-testimonial .author-meta h4 {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #111827 !important;
    }

    html body.wj-ui.request-is-home .bc-testimonial .star {
        color: #f59e0b !important;
    }

    html body.wj-ui.request-is-home .bc-testimonial .item p {
        font-size: 14px !important;
        line-height: 1.55 !important;
        color: #4b5563 !important;
        margin: 12px 0 0 !important;
    }

    /* News cards */
    html body.wj-ui.request-is-home .bc-list-news .list-item .row {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-list-news .list-item .row > [class*='col-'] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-list-news .item-news {
        background: #fff !important;
        border-radius: 24px !important;
        border: 1px solid #f3f4f6 !important;
        box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06) !important;
        overflow: hidden !important;
    }

    html body.wj-ui.request-is-home .bc-list-news .item-news .thumb-image img {
        width: 100% !important;
        height: 180px !important;
        object-fit: cover !important;
        border-radius: 0 !important;
    }

    html body.wj-ui.request-is-home .bc-list-news .item-news .caption {
        padding: 16px !important;
    }

    html body.wj-ui.request-is-home .bc-list-news .item-news .item-title {
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    html body.wj-ui.request-is-home .bc-list-news .item-news .btn-readmore {
        color: #2563eb !important;
        font-weight: 700 !important;
    }

    /* Swap button — same blue as Find Tickets */
    html body.wj-ui .wj-search-prototype .inline-swap-btn {
        background: #2563eb !important;
        box-shadow: 0 8px 20px rgba(37, 99, 235, 0.35) !important;
        color: #fff !important;
    }

    html body.wj-ui .wj-search-prototype .inline-swap-btn:active {
        background: #1d4ed8 !important;
    }

    html body.wj-ui .wj-search-prototype .inline-swap-btn i {
        display: block !important;
        color: #fff !important;
        font-size: 22px !important;
    }

    /* All routes page */
    html body.wj-ui.request-is-boat-routes .wj-boat-routes-page {
        max-width: 448px !important;
        margin: 0 auto !important;
        padding: 12px 12px calc(var(--wj-nav-h) + var(--wj-nav-float-bottom) + 24px) !important;
    }

    html body.wj-ui .wj-boat-routes-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    html body.wj-ui .wj-boat-route-btn {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        padding: 16px 18px !important;
        background: #fff !important;
        border: 1px solid #f3f4f6 !important;
        border-radius: 18px !important;
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05) !important;
        text-decoration: none !important;
        color: #111827 !important;
        font-weight: 700 !important;
        font-size: 14px !important;
    }

    html body.wj-ui .wj-search-prototype .input-to {
        position: relative !important;
        z-index: 2 !important;
        cursor: pointer !important;
        overflow: visible !important;
    }

    html body.wj-ui .wj-search-prototype .input-to-wrapper {
        padding-right: 72px !important;
        cursor: pointer !important;
    }

    html body.wj-ui .wj-search-prototype .input-to .dropdown-input {
        z-index: 10050 !important;
    }

    html body.wj-ui .wj-search-prototype .inline-swap-btn {
        z-index: 5 !important;
        pointer-events: auto !important;
    }
}

/* Mobile + tablet: boat-transfer search page */
@media (max-width: 991px) {
    html body.wj-ui.request-is-flight-search .wj-flight-search-page {
        background: #f9fafb !important;
        box-sizing: border-box !important;
        padding-left: max(20px, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(20px, env(safe-area-inset-right, 0px)) !important;
        padding-bottom: calc(var(--wj-nav-h) + var(--wj-nav-float-bottom) + 32px) !important;
        max-width: 448px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100% !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap {
        display: block !important;
        padding: 0 !important;
        margin: 0 -20px 8px !important;
        width: calc(100% + 40px) !important;
        max-width: none !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-inner {
        margin: 0 !important;
        padding: calc(var(--wj-header-h, 52px) + 12px) 14px 24px !important;
        min-height: 280px !important;
        border-radius: 0 0 32px 32px !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
        background: transparent !important;
        overflow: hidden !important;
        position: relative !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results {
        margin-bottom: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-mobile-hero-inner {
        min-height: 260px !important;
        padding: calc(var(--wj-header-h, 52px) + 8px) 14px 20px !important;
        border-radius: 0 0 32px 32px !important;
        background: transparent !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-mobile-hero-bg,
    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-mobile-hero-gradient {
        display: block !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-card,
    html body.wj-ui.request-is-flight-search .wj-mobile-hero-card.home-search-form-panel {
        padding: 20px !important;
        border-radius: 24px !important;
        margin: 0 !important;
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        border: 1px solid rgba(255, 255, 255, 0.5) !important;
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15) !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-mobile-hero-card {
        padding: 18px 16px 20px !important;
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12) !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .searchbox-input-wrapper .row.no-gutters {
        gap: 18px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .wj-route-group {
        margin-bottom: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-from,
    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-to,
    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-departure-date,
    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-pax {
        margin-bottom: 0 !important;
        border-radius: 16px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-to {
        margin-bottom: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-from-wrapper,
    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-to-wrapper,
    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-departure-date-wrapper,
    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-pax-wrapper {
        padding: 16px 18px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-pax {
        overflow: visible !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .wj-pax-label {
        white-space: nowrap !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 10px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .pax-controls-wrapper {
        gap: 12px !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .btn-pax-minus,
    html body.wj-ui.request-is-flight-search .wj-search-prototype .btn-pax-plus {
        width: 36px !important;
        height: 36px !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap--results .wj-search-prototype .wj-pax-left i {
        display: none !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .inline-swap-btn {
        right: 20px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-search-prototype .input-btn-search {
        margin-top: 4px !important;
        margin-bottom: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-transfers-mobile-header {
        padding: 8px 16px 12px !important;
        max-width: 448px !important;
        width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__row {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        margin-bottom: 8px !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__back {
        flex: 0 0 auto !important;
        width: 44px !important;
        height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 9999px !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
        color: #4b5563 !important;
        text-decoration: none !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__back i {
        font-size: 1.25rem !important;
        line-height: 1 !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__body {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__route {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin: 0 !important;
        font-size: 1.05rem !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        color: #0f172a !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__route i {
        flex: 0 0 auto !important;
        font-size: 0.85rem !important;
        color: #9ca3af !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__truncate {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        min-width: 0 !important;
    }

    html body.wj-ui .wj-transfers-mobile-header__meta {
        margin: 2px 0 0 !important;
        font-size: 0.75rem !important;
        color: #6b7280 !important;
    }

    html body.wj-ui .mobile-bottom-nav .nav-container > li {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        list-style: none !important;
    }

    html body.wj-ui .mobile-bottom-nav .nav-item .wj-nav-active {
        color: var(--wj-primary, #2563eb) !important;
    }

    html body.wj-ui.request-is-flight-search .wj-flight-results-wrap {
        padding: 16px 0 32px !important;
        margin-top: 0 !important;
        max-width: 100% !important;
    }

    html body.wj-ui.request-is-flight-search .wj-flight-results-wrap > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .day-selector-wrapper {
        margin-bottom: 16px !important;
        padding: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .day-selector-scroll {
        margin: 0 !important;
        padding: 0 0 8px !important;
        gap: 10px !important;
    }

    html body.wj-ui.request-is-flight-search .topbar-search {
        margin-bottom: 20px !important;
        padding: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .ticket-card {
        margin-bottom: 20px !important;
    }

    html body.wj-ui.request-is-flight-search .bc-list-item {
        padding: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-flight-results-wrap .pagination,
    html body.wj-ui.request-is-flight-search .wj-flight-results-wrap .bc-pagination {
        margin-top: 8px !important;
        margin-bottom: 16px !important;
        padding-bottom: 8px !important;
    }

    @media (min-width: 769px) {
        html body.wj-ui.request-is-flight-search .wj-flight-search-page {
            max-width: 560px !important;
            padding-left: 24px !important;
            padding-right: 24px !important;
        }

        html body.wj-ui.request-is-flight-search .wj-mobile-hero-wrap {
            margin-left: -24px !important;
            margin-right: -24px !important;
            width: calc(100% + 48px) !important;
        }
    }

    @media (max-width: 380px) {
        html body.wj-ui.request-is-flight-search .wj-mobile-hero-card,
        html body.wj-ui.request-is-flight-search .wj-mobile-hero-card.home-search-form-panel {
            padding: 18px 16px 20px !important;
        }

        html body.wj-ui.request-is-flight-search .wj-search-prototype .input-from-wrapper,
        html body.wj-ui.request-is-flight-search .wj-search-prototype .input-to-wrapper,
        html body.wj-ui.request-is-flight-search .wj-search-prototype .input-departure-date-wrapper,
        html body.wj-ui.request-is-flight-search .wj-search-prototype .input-pax-wrapper {
            padding: 14px 14px !important;
        }

        html body.wj-ui.request-is-flight-search .wj-search-prototype .inline-swap-btn {
            right: 14px !important;
        }
    }
}

/* Desktop: boat-transfer search page */
@media (min-width: 992px) {
    html body.wj-ui.request-is-flight-search .wj-flight-search-page {
        max-width: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 0 48px !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search.hidden {
        display: block !important;
    }

    html body.wj-ui.request-is-flight-search .bc_banner {
        border-radius: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 320px !important;
        padding: 96px 0 118px !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }

    html body.wj-ui.request-is-flight-search .bc_banner::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(0deg, rgba(15, 23, 42, 0.45) 0%, rgba(15, 23, 42, 0.15) 100%) !important;
        z-index: 1 !important;
    }

    html body.wj-ui.request-is-flight-search .bc_banner .container {
        max-width: 1140px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: relative !important;
        z-index: 2 !important;
    }

    html body.wj-ui.request-is-flight-search .bc_banner h1 {
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        color: #fff !important;
        font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45) !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search {
        margin-top: -50px !important;
        margin-bottom: 50px !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .container {
        max-width: 1140px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 32px !important;
        padding: 24px 28px !important;
        background: #fff !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 32px rgba(15, 23, 42, 0.08) !important;
        border: 1px solid #f3f4f6 !important;
    }

    html body.wj-ui.request-is-flight-search .wj-flight-results-wrap {
        max-width: 1140px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 15px 48px !important;
    }

    html body.wj-ui.request-is-flight-search .wj-flight-results-wrap .col-lg-3 {
        display: block !important;
    }

    html body.wj-ui.request-is-flight-search .wj-flight-results-wrap .col-lg-9 {
        flex: 0 0 75% !important;
        max-width: 75% !important;
    }
}

@media (min-width: 769px) and (max-width: 991px) {
    html body.wj-ui:not(.request-is-flight-search) .wj-mobile-header-bar,
    html body.wj-ui:not(.request-is-flight-search) .wj-mobile-hero-wrap {
        display: none !important;
    }
}

@media (min-width: 992px) {
    html body.wj-ui {
        overflow-x: hidden;
    }

    html body.wj-ui .wj-mobile-header-bar,
    html body.wj-ui .wj-mobile-hero-wrap {
        display: none !important;
    }

    /* Homepage: hide legacy owl slider layer — custom full-bleed hero replaces it */
    html body.wj-ui.request-is-home .bc-form-search-all.carousel.home-search-hero-pc .effect,
    html body.wj-ui.request-is-home .bc-form-search-all.carousel.home-search-hero-pc .owl-carousel,
    html body.wj-ui.request-is-home .bc-form-search-all.carousel.home-search-hero-pc .owl-carousel .item,
    html body.wj-ui.request-is-home .bc-form-search-all.carousel.home-search-hero-pc .owl-carousel .item .item-bg {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Desktop header: logo left, menu after */
    html body.wj-ui .bc_header .content .header-left .bc-logo {
        order: -1 !important;
        flex-shrink: 0 !important;
        margin-right: 8px !important;
    }

    html body.wj-ui .bc_header .content .header-left .bc-menu {
        order: 0 !important;
        padding-left: 0 !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    html body.wj-ui .bc_header .content .header-left .bc-logo img,
    html body.wj-ui .bc_header .content .header-left .bc-logo .bc-logo-image {
        transform: none !important;
        max-height: 60px !important;
        width: auto !important;
    }

    html body.wj-ui .wj-desktop-header-stores {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-right: 16px !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui .bc_header .content {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    html body.wj-ui .bc_header .content .header-right {
        display: flex !important;
        align-items: center !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui.request-is-home .template-children-wrapper {
        max-width: none !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.wj-ui .bc_wrap {
        max-width: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-top: 0 !important;
    }

    html body.wj-ui .bc_header {
        display: block !important;
        width: 100% !important;
    }

    html body.wj-ui .bc_header > .d-none.d-md-block {
        display: block !important;
        width: 100% !important;
    }

    html body.wj-ui .bc_header .d-none.d-md-block {
        display: block !important;
    }

    html body.wj-ui .bc_header .container {
        display: block !important;
        max-width: 1200px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.wj-ui .bc_topbar {
        display: block !important;
    }

    html body.wj-ui .bc_topbar .container {
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.wj-ui .bc_footer {
        display: block !important;
    }

    html body.wj-ui .mobile-bottom-nav {
        display: none !important;
    }

    /* Homepage: theme adds padding: 120px 0 — creates white gap under header */
    html body.wj-ui.request-is-home .page-template-content > .bc-form-search-all,
    html body.wj-ui.request-is-home .page-template-content .bc-form-search-all.carousel,
    html body.wj-ui.request-is-home .page-template-content .bc-form-search-all.bc-form-search-slider,
    html body.wj-ui.request-is-home .page-template-content > div:first-child {
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg {
        margin-top: 0 !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg__inner {
        padding-top: calc(118px + 1rem) !important;
        padding-bottom: 1rem !important;
    }

    /* Desktop search forms (boat-transfer page) — keep horizontal row */
    html body.wj-ui .bc_form_search .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .searchbox-input-wrapper .row.no-gutters:not(.wj-home-search-row) {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        align-items: flex-end !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .searchbox-input-wrapper .row.no-gutters > [class*="col-lg"]:not(.wj-route-group),
    html body.wj-ui .bc_form_search .wj-search-prototype .searchbox-input-wrapper .row.no-gutters > .col-lg-1,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .searchbox-input-wrapper .row.no-gutters > [class*="col-lg"]:not(.wj-route-group) {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .searchbox-input-wrapper .row.no-gutters > .ml-lg-5,
    html body.wj-ui .bc_form_search .wj-search-prototype .searchbox-input-wrapper .row.no-gutters > .mx-auto,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .searchbox-input-wrapper .row.no-gutters > .ml-lg-5,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .searchbox-input-wrapper .row.no-gutters > .mx-auto {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .wj-route-group,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .wj-route-group,
    html body.wj-ui .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row > .wj-route-group {
        display: flex !important;
        flex-direction: row !important;
        flex: 1 1 auto;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        position: relative;
        gap: 8px !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .input,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-from,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-to,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-departure-date,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-pax,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-from,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-to,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-departure-date,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-pax {
        height: auto !important;
        min-height: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        margin-bottom: 0 !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .input-from-wrapper,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-to-wrapper,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-departure-date-wrapper,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-pax-wrapper,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-from-wrapper,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-to-wrapper,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-departure-date-wrapper,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .input-pax-wrapper {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 8px 10px !important;
        border-bottom: none !important;
        gap: 0 !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .wj-pax-left,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .wj-pax-left {
        display: none !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .pax-controls-wrapper,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .pax-controls-wrapper {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 8px 8px !important;
        height: auto !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .btn-pax-minus,
    html body.wj-ui .bc_form_search .wj-search-prototype .btn-pax-plus,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .btn-pax-minus,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .btn-pax-plus {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        font-size: 12px !important;
        box-shadow: 0 2px 8px rgba(102, 126, 234, 0.35) !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .pax-count-input,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .pax-count-input {
        max-width: 48px !important;
        min-width: 48px !important;
        width: 48px !important;
        height: 32px !important;
        padding: 4px !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .mobile-text-departure-port,
    html body.wj-ui .bc_form_search .wj-search-prototype .inline-swap-btn,
    html body.wj-ui .bc_form_search .wj-search-prototype .wj-field-icon,
    html body.wj-ui .bc_form_search .wj-search-prototype .wj-mobile-date-display,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .mobile-text-departure-port,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .inline-swap-btn,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .wj-field-icon,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .wj-mobile-date-display {
        display: none !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .desktop-text-departure-port,
    html body.wj-ui .bc_form_search .wj-search-prototype label.d-none.d-lg-block,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .desktop-text-departure-port,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype label.d-none.d-lg-block {
        display: block !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .direction-swap-btn,
    html body.wj-ui .home-search-carousel-bleed-lg .wj-search-prototype .direction-swap-btn {
        display: inline-flex !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
        margin: 0 auto 8px !important;
        padding: 0 !important;
    }

    html body.wj-ui .bc_form_search .wj-search-prototype .input-btn-search {
        align-self: flex-end !important;
        width: 100% !important;
        min-height: 48px !important;
        max-height: none !important;
        padding: 10px 12px !important;
        margin: 0 !important;
        border-radius: 8px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    /* Homepage hero: tidy headings + centered sections */
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .text-heading {
        font-size: clamp(2rem, 3.2vw, 3.25rem) !important;
        line-height: 1.15 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }

    html body.wj-ui.request-is-home .home-after-form-separator {
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    html body.wj-ui .page-template-content > .container,
    html body.wj-ui .template-children-wrapper .container,
    html body.wj-ui .bc_footer .main-footer .container,
    html body.wj-ui .bc_footer .copy-right .container {
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.wj-ui.request-is-rental-show .bc_detail_rental .container,
    html body.wj-ui.request-is-rental-book .bc-booking-page .container {
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.wj-ui.request-is-checkout .bc-booking-page {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    html body.wj-ui.request-is-checkout .bc-booking-page .container {
        max-width: 1200px !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        margin-left: -15px !important;
        margin-right: -15px !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > .col-md-8 {
        order: 1 !important;
        flex: 0 0 66.666667% !important;
        max-width: 66.666667% !important;
        width: 66.666667% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > .col-md-4 {
        order: 2 !important;
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
        width: 33.333333% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

@media (min-width: 769px) {
    /* Drawer is appended to body — keep it off-screen on tablet/desktop */
    html body.wj-ui .bc-menu-mobile.wj-drawer,
    html body.wj-ui .bc_wrap > .bc-menu-mobile.wj-drawer {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        right: auto !important;
        width: min(288px, 92vw) !important;
        max-width: 288px !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        transform: translateX(-100%) !important;
        z-index: 10060 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    html body.wj-ui .bc-menu-mobile.wj-drawer.active,
    html body.wj-ui .bc_wrap > .bc-menu-mobile.wj-drawer.active {
        transform: translate3d(0, 0, 0) !important;
        pointer-events: auto !important;
        visibility: visible !important;
    }

    html body.wj-ui .wj-brand-logo-circle,
    html body.wj-ui .wj-brand-logo-circle--drawer {
        width: 44px !important;
        height: 44px !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui .wj-brand-logo-circle__img {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: cover !important;
    }

    html body.wj-ui .bc_wrap {
        max-width: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-top: 0 !important;
    }

    html body.wj-ui .bc_header {
        display: block !important;
        width: 100% !important;
    }

    html body.wj-ui .bc_header > .d-none.d-md-block {
        display: block !important;
        width: 100% !important;
    }

    html body.wj-ui .bc_header .container {
        display: block !important;
        max-width: 1200px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.wj-ui .mobile-bottom-nav {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    html body.wj-ui .bc-menu-mobile.wj-drawer,
    html body.wj-ui .bc_wrap > .bc-menu-mobile.wj-drawer {
        display: none !important;
    }
}

/* Login / Register modal — above fixed header & menu overlays (Bootstrap default 1050 is too low) */
@media (max-width: 768px) {
    html body.wj-ui #login.modal,
    html body.wj-ui #register.modal {
        position: fixed !important;
        inset: 0 !important;
        z-index: 10200 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body.wj-ui #login.modal .modal-dialog,
    html body.wj-ui #register.modal .modal-dialog {
        pointer-events: auto !important;
        margin: 16px auto !important;
        max-width: calc(100% - 32px) !important;
    }

    html body.wj-ui.modal-open .modal-backdrop {
        z-index: 10190 !important;
    }

    html body.wj-ui.modal-open .modal {
        z-index: 10200 !important;
    }

    html body.wj-ui.modal-open .modal .modal-dialog {
        pointer-events: auto !important;
    }

    html body.wj-ui.modal-open .modal .modal-content {
        pointer-events: auto !important;
    }

    html body.wj-ui.modal-open .bc_header {
        z-index: 1010 !important;
    }

    html body.wj-ui.modal-open .mobile-bottom-nav,
    html body.wj-ui.modal-open .wj-contact-fab {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html body.wj-ui.modal-open .bc-effect-bg,
    html body.wj-ui.modal-open .wj-calendar-overlay,
    html body.wj-ui.modal-open .wj-pwa-install {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
    }

    html body.wj-ui.modal-open .bc-menu-mobile {
        pointer-events: none !important;
    }

    html body.wj-ui.modal-open {
        overflow: hidden !important;
        padding-bottom: 0 !important;
    }
}

/* Press / active feedback — search, continue, primary CTAs */
html body.wj-ui .input-btn-search:active,
html body.wj-ui button.home-bleed-find-tickets:active,
html body.wj-ui .wj-search-prototype .inline-swap-btn:active,
html body.wj-ui .wj-ticket-card__cta:active,
html body.wj-ui .btn-primary:active:not(:disabled),
html body.wj-ui .btn-book:active:not(:disabled),
html body.wj-ui .form-checkout button[type="submit"]:active:not(:disabled),
html body.wj-ui .form-actions .btn:active:not(:disabled),
html body.wj-ui .btn-success:active:not(:disabled) {
    filter: brightness(0.9) !important;
    transform: scale(0.98) !important;
    transition: filter 0.08s ease, transform 0.08s ease, background 0.08s ease !important;
}

html body.wj-ui .input-btn-search:active,
html body.wj-ui button.home-bleed-find-tickets:active {
    background: #1d4ed8 !important;
}

html body.wj-ui .wj-ticket-card__cta:active {
    background: #1d4ed8 !important;
    color: #fff !important;
}

html body.wj-ui .btn-primary:active:not(:disabled),
html body.wj-ui .btn-book:active:not(:disabled),
html body.wj-ui .form-checkout button[type="submit"]:active:not(:disabled) {
    background-color: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
}
