/**
 * WaterJet — desktop homepage, search form, route buttons, video/fleet (≥992px).
 */

/* 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 (min-width: 992px) {
    html body.wj-ui .home-search-carousel-bleed-lg {
        display: block !important;
    }

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

    /* ── Homepage sections (video + fleet) ── */
    html body.wj-ui.request-is-home .home-after-form-separator .wj-home-sections {
        max-width: 1200px;
        margin: 0 auto;
        padding: 24px 15px 48px;
    }

    html body.wj-ui .wj-home-block {
        margin-bottom: 40px;
    }

    html body.wj-ui .wj-section-title--sm {
        font-size: 28px;
        font-weight: 800;
        color: #111827;
        margin: 0 0 6px;
    }

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

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

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

    html body.wj-ui .wj-fleet-scroll {
        display: flex;
        gap: 20px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 0 0 8px;
        margin: 0;
    }

    html body.wj-ui .wj-fleet-card {
        flex: 0 0 calc(42% - 12px);
        min-width: 380px;
        scroll-snap-align: start;
        margin: 0;
        border-radius: 20px;
        overflow: hidden;
        background: #fff;
        border: 1px solid #f3f4f6;
        box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
    }

    html body.wj-ui .wj-fleet-card img {
        display: block;
        width: 100%;
        height: 220px;
        object-fit: cover;
        border-radius: 20px;
    }

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

    html body.wj-ui .wj-fleet-card figcaption {
        padding: 14px 16px;
        font-size: 15px;
        font-weight: 700;
        color: #111827;
        text-align: center;
        background: #fff;
    }

    /* ── Popular route buttons ── */
    html body.wj-ui .home-routes-section {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 15px 8px;
    }

    html body.wj-ui .wj-routes-scroll {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        padding: 4px 0 16px;
        scroll-snap-type: x mandatory;
    }

    html body.wj-ui .wj-route-card {
        flex: 0 0 auto;
        min-width: 260px;
        scroll-snap-align: start;
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 18px 20px;
        background: #fff;
        border-radius: 20px;
        border: 1px solid #e5e7eb;
        box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
        text-decoration: none;
        color: #111827;
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    html body.wj-ui .wj-route-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
        color: #111827;
        text-decoration: none;
    }

    html body.wj-ui .wj-route-card__icon {
        width: 48px;
        height: 48px;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        flex-shrink: 0;
    }

    html body.wj-ui .wj-route-card--blue .wj-route-card__icon {
        background: #eff6ff;
        color: #2563eb;
    }

    html body.wj-ui .wj-route-card--indigo .wj-route-card__icon {
        background: #eef2ff;
        color: #4f46e5;
    }

    html body.wj-ui .wj-route-card__title {
        font-size: 15px;
        font-weight: 800;
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
        line-height: 1.35;
    }

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

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

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

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

    /* ── Homepage desktop search: one clean horizontal row ── */
    html body.wj-ui.request-is-flight-search .bc_form_search .unique-selling-points {
        display: none !important;
    }

    /* Homepage form card: tabs on top, white body below (matches reference mockup) */
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .home-search-form-panel--on-fullbleed {
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        flex-wrap: nowrap !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        gap: 0 !important;
        float: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs > li {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        float: none !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs > li > a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: auto !important;
        padding: 11px 22px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        border: none !important;
        border-radius: 12px 12px 0 0 !important;
        margin: 0 !important;
        text-decoration: none !important;
        transition: background 0.15s ease !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs > li > a.active {
        background: linear-gradient(135deg, #6366f1 0%, #7c3aed 100%) !important;
        color: #fff !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs > li > a.rental-equipment-tab {
        background: #0f172a !important;
        color: #fff !important;
        border-color: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs > li > a.rental-equipment-tab:hover {
        background: #1e293b !important;
        color: #fff !important;
        transform: none !important;
        box-shadow: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs > li > a.rental-equipment-tab::before,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control > .nav-tabs > li > a.rental-equipment-tab::after {
        display: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .g-form-control .tab-content {
        margin: 0 !important;
        padding: 16px 18px 12px !important;
        background: rgba(255, 255, 255, 0.98) !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 0 14px 14px 14px !important;
        box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14) !important;
    }

    html body.wj-ui .wj-search-prototype .searchbox,
    html body.wj-ui .wj-search-prototype.searchbox {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* ── Boat-transfer page desktop: same single-row form ── */
    html body.wj-ui.request-is-flight-search .bc_form_search .form.bc_form:not(.wj-flight-search-form) {
        display: none !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search {
        padding: 0 0 20px !important;
        margin-top: -72px !important;
        position: relative !important;
        z-index: 5 !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .container {
        max-width: 1200px !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .searchbox,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype.searchbox {
        padding: 16px 18px 12px !important;
        background: rgba(255, 255, 255, 0.98) !important;
        border: 1px solid rgba(15, 23, 42, 0.08) !important;
        border-radius: 14px !important;
        box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14) !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row,
    html body.wj-ui .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 8px !important;
        margin: 0 !important;
        width: 100% !important;
    }

    /* Shared desktop single-row form (homepage + boat-transfer) */
    html body.wj-ui .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row > .col-12,
    html body.wj-ui .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row > [class*="col-"] {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
    }

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

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .wj-route-group > .col-12,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .wj-route-group > [class*="col-"]:not(.col-lg-1),
    html body.wj-ui .wj-search-prototype .wj-route-group > .col-12,
    html body.wj-ui .wj-search-prototype .wj-route-group > [class*="col-"]:not(.col-lg-1) {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .wj-route-group > .col-lg-1,
    html body.wj-ui .wj-search-prototype .wj-route-group > .col-lg-1 {
        flex: 0 0 28px !important;
        width: 28px !important;
        max-width: 28px !important;
        min-width: 28px !important;
        margin: 0 -8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        z-index: 6 !important;
        flex-direction: row !important;
    }

    html body.wj-ui .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row > .wj-search-field-col {
        flex: 0 0 132px !important;
        width: 132px !important;
        max-width: 132px !important;
    }

    html body.wj-ui .wj-search-prototype .searchbox-input-wrapper .wj-home-search-row > .wj-search-submit-col {
        flex: 0 0 152px !important;
        width: 152px !important;
        max-width: 152px !important;
    }

    html body.wj-ui .wj-search-prototype .wj-search-field-col {
        flex: 0 0 132px !important;
        width: 132px !important;
        max-width: 132px !important;
    }

    html body.wj-ui .wj-search-prototype .wj-search-submit-col {
        flex: 0 0 152px !important;
        width: 152px !important;
        max-width: 152px !important;
    }

    html body.wj-ui .wj-search-prototype .input {
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

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

    html body.wj-ui .wj-search-prototype .input-to {
        z-index: 3;
    }

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

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-from-wrapper,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-to-wrapper,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-departure-date-wrapper,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-pax-wrapper,
    html body.wj-ui .wj-search-prototype .input-from-wrapper,
    html body.wj-ui .wj-search-prototype .input-to-wrapper,
    html body.wj-ui .wj-search-prototype .input-departure-date-wrapper,
    html body.wj-ui .wj-search-prototype .input-pax-wrapper {
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        background: #fff !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 10px !important;
        padding: 8px 12px !important;
        min-height: 62px !important;
        box-sizing: border-box !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input {
        border: none !important;
        background: transparent !important;
        border-radius: 0 !important;
        margin: 0 !important;
    }

    html body.wj-ui .wj-search-prototype .input label {
        font-size: 10px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: #64748b !important;
        padding: 0 0 3px !important;
        margin: 0 !important;
        display: block !important;
    }

    html body.wj-ui .wj-search-prototype .input label i {
        margin-right: 4px;
        font-size: 9px;
    }

    html body.wj-ui .wj-search-prototype .input span.from:not(.mobile-text-departure-port),
    html body.wj-ui .wj-search-prototype .input span.to:not(.mobile-text-departure-port),
    html body.wj-ui .wj-search-prototype .input span.departure-date:not(.wj-mobile-date-display) {
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        line-height: 1.25 !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html body.wj-ui .wj-search-prototype .direction-swap-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        border-radius: 50% !important;
        background: #2563eb !important;
        border: none !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
        align-self: center !important;
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.38) !important;
    }

    html body.wj-ui .wj-search-prototype .wj-pax-left,
    html body.wj-ui .wj-search-prototype .inline-swap-btn,
    html body.wj-ui .wj-search-prototype .wj-field-icon,
    html body.wj-ui .wj-search-prototype .mobile-text-departure-port,
    html body.wj-ui .wj-search-prototype .wj-mobile-date-display,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-from-wrapper .mobile-text-departure-port,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-to-wrapper .mobile-text-departure-port,
    html body.wj-ui .wj-search-prototype .input-from-wrapper .mobile-text-departure-port,
    html body.wj-ui .wj-search-prototype .input-to-wrapper .mobile-text-departure-port {
        display: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-from-wrapper .mobile-text-departure-port::before,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-to-wrapper .mobile-text-departure-port::before,
    html body.wj-ui .wj-search-prototype .input-from-wrapper .mobile-text-departure-port::before,
    html body.wj-ui .wj-search-prototype .input-to-wrapper .mobile-text-departure-port::before,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .wj-mobile-date-display::before,
    html body.wj-ui .wj-search-prototype .wj-mobile-date-display::before {
        content: none !important;
        display: none !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .input-departure-date-wrapper .wj-mobile-date-display,
    html body.wj-ui .wj-search-prototype .input-departure-date-wrapper .wj-mobile-date-display {
        display: none !important;
    }

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

    html body.wj-ui .wj-search-prototype .input-pax-wrapper {
        align-items: flex-start !important;
        gap: 4px !important;
    }

    html body.wj-ui .wj-search-prototype .input-pax-wrapper > label.d-none.d-lg-block {
        padding: 0 !important;
        margin: 0 !important;
    }

    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .wj-search-prototype .pax-controls-wrapper,
    html body.wj-ui .wj-search-prototype .pax-controls-wrapper {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1px solid #0f172a !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    html body.wj-ui .wj-search-prototype .btn-pax-minus,
    html body.wj-ui .wj-search-prototype .btn-pax-plus {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        border-radius: 0 !important;
        font-size: 11px !important;
        padding: 0 !important;
        background: #fff !important;
        border: none !important;
        color: #0f172a !important;
    }

    html body.wj-ui .wj-search-prototype .pax-count-input {
        width: 30px !important;
        min-width: 30px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        border: none !important;
        border-left: 1px solid #0f172a !important;
        border-right: 1px solid #0f172a !important;
        border-radius: 0 !important;
        background: #fff !important;
        padding: 0 !important;
        -moz-appearance: textfield;
    }

    html body.wj-ui .wj-search-prototype .pax-count-input::-webkit-outer-spin-button,
    html body.wj-ui .wj-search-prototype .pax-count-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    html body.wj-ui .wj-search-prototype .input-btn-search,
    html body.wj-ui .bc_form_search .wj-search-prototype .input-btn-search,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-btn-search,
    html body.wj-ui.request-is-home .home-search-carousel-bleed-lg .home-search-form-panel--on-fullbleed button.home-bleed-find-tickets {
        width: 100% !important;
        height: 100% !important;
        min-height: 62px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        border-radius: 10px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        background: #2563eb !important;
        color: #fff !important;
        box-shadow: 0 8px 20px rgba(37, 99, 235, 0.28) !important;
        border: none !important;
        white-space: nowrap !important;
    }

    html body.wj-ui .wj-search-prototype .unique-selling-points {
        margin-top: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid #e2e8f0;
    }

    html body.wj-ui .wj-search-prototype .unique-selling-points .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 28px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #64748b !important;
        margin: 0 !important;
    }

    html body.wj-ui .wj-search-prototype .unique-selling-points .row > [class*="col-"] {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    html body.wj-ui .wj-search-prototype .unique-selling-points i.fas {
        color: #2563eb !important;
        font-size: 13px !important;
    }

    /* Boat-transfer search results: same desktop form as homepage */
    html body.wj-ui.request-is-flight-search .bc_form_search .container {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        margin-bottom: 24px !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .mobile-form-title {
        display: none !important;
    }

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

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

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-from-wrapper,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-to-wrapper,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-departure-date-wrapper,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-pax-wrapper {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        background: #fff !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 10px !important;
        padding: 8px 12px !important;
        min-height: 62px !important;
        height: auto !important;
        border-bottom: 1px solid #cbd5e1 !important;
        gap: 4px !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-from-wrapper .mobile-text-departure-port,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-to-wrapper .mobile-text-departure-port,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .input-departure-date-wrapper .wj-mobile-date-display {
        display: none !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .pax-controls-wrapper {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1px solid #0f172a !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background: #fff !important;
        height: auto !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .btn-pax-minus,
    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .btn-pax-plus {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        min-height: 28px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        border: none !important;
        color: #0f172a !important;
    }

    html body.wj-ui.request-is-flight-search .bc_form_search .wj-search-prototype .pax-count-input {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 28px !important;
        padding: 0 !important;
        border: none !important;
        border-left: 1px solid #0f172a !important;
        border-right: 1px solid #0f172a !important;
        border-radius: 0 !important;
        background: #fff !important;
    }

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

/* Desktop: boat-transfer book page — /boat-transfer/book/{id} */
@media (min-width: 992px) {
    html body.wj-ui.request-is-flight-book .wj-flight-book-page {
        background: linear-gradient(180deg, #eef2f7 0%, #f8fafc 100%) !important;
        padding: 40px 0 72px !important;
        min-height: calc(100vh - 120px) !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-page__inner {
        max-width: 880px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

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

    html body.wj-ui.request-is-flight-book .wj-flight-book-page__inner > .row > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-top {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        margin-bottom: 20px !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-back {
        width: 42px !important;
        height: 42px !important;
        border-radius: 999px !important;
        background: #fff !important;
        border: 1px solid #e2e8f0 !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: #475569 !important;
        text-decoration: none !important;
        flex-shrink: 0 !important;
        transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-back:hover {
        background: #f8fafc !important;
        border-color: #cbd5e1 !important;
        color: #0f172a !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-title {
        font-size: clamp(1.5rem, 2vw, 1.875rem) !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        letter-spacing: -0.025em !important;
        line-height: 1.2 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-card {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        background: #fff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 18px !important;
        box-shadow: 0 4px 6px rgba(15, 23, 42, 0.04), 0 20px 48px rgba(15, 23, 42, 0.08) !important;
        overflow: hidden !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-summary {
        padding: 28px 28px 28px 32px !important;
        background: #f8fafc !important;
        border-bottom: none !important;
        border-right: 1px solid #e2e8f0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 0 !important;
        min-height: 100% !important;
    }

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

    html body.wj-ui.request-is-flight-book .wj-flight-book-route .ph-arrow-right {
        color: #94a3b8 !important;
        font-size: 0.95rem !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-meta {
        font-size: 0.9375rem !important;
        color: #64748b !important;
        margin: 0 0 14px !important;
        line-height: 1.45 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-times {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 8px 12px !important;
        font-size: 0.9375rem !important;
        color: #0f172a !important;
        margin-bottom: 14px !important;
        padding: 12px 14px !important;
        background: #fff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-times strong {
        font-weight: 700 !important;
        color: #475569 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-times .ph-arrow-right {
        color: #cbd5e1 !important;
        font-size: 0.8rem !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-price-line {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 12px !important;
        font-size: 0.9375rem !important;
        color: #475569 !important;
        padding-top: 14px !important;
        margin-top: auto !important;
        border-top: 1px solid #e2e8f0 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-price-line strong {
        color: #2563eb !important;
        font-size: 1.2rem !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }

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

    html body.wj-ui.request-is-flight-book .wj-flight-book-form-wrap {
        padding: 28px 32px 28px 28px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-section {
        margin-bottom: 0 !important;
    }

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

    html body.wj-ui.request-is-flight-book .wj-flight-book-section__hint {
        font-size: 0.8125rem !important;
        color: #64748b !important;
        margin: 0 0 14px !important;
        line-height: 1.5 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-seat-card {
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 14px !important;
        padding: 16px 18px !important;
        margin-bottom: 14px !important;
    }

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

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

    html body.wj-ui.request-is-flight-book .wj-flight-seat-card__label {
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        color: #64748b !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-seat-card__avail {
        font-size: 0.875rem !important;
        color: #334155 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-pax-controls-wrapper {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 !important;
        width: auto !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-pax-btn {
        min-width: 42px !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 10px !important;
        border: 1px solid #e2e8f0 !important;
        background: #fff !important;
        color: #334155 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-pax-btn::before {
        display: none !important;
    }

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

    html body.wj-ui.request-is-flight-book .wj-flight-pax-btn:hover {
        transform: none !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-pax-btn.btn-pax-minus:hover {
        background: #f1f5f9 !important;
        border-color: #cbd5e1 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-pax-btn.btn-pax-plus:hover {
        background: #1d4ed8 !important;
        border-color: #1d4ed8 !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-pax-input {
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        min-height: 42px !important;
        height: 42px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        background: #fff !important;
        font-weight: 700 !important;
        font-size: 1rem !important;
        color: #0f172a !important;
        padding: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    html body.wj-ui.request-is-flight-book .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: 12px !important;
        padding: 14px 16px !important;
        margin-top: 4px !important;
        margin-bottom: 16px !important;
        font-size: 0.9375rem !important;
        color: #1e40af !important;
    }

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

    html body.wj-ui.request-is-flight-book .wj-flight-book-actions {
        margin-top: 0 !important;
        width: 100% !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-cta {
        width: 100% !important;
        min-height: 50px !important;
        border: none !important;
        border-radius: 12px !important;
        background: #2563eb !important;
        color: #fff !important;
        font-size: 0.9375rem !important;
        font-weight: 700 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.32) !important;
        transition: background 0.15s ease, box-shadow 0.15s ease !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-cta:hover {
        background: #1d4ed8 !important;
        color: #fff !important;
        box-shadow: 0 6px 18px rgba(37, 99, 235, 0.38) !important;
    }

    html body.wj-ui.request-is-flight-book .wj-flight-book-page .form-control,
    html body.wj-ui.request-is-flight-book .wj-flight-book-page select.form-control {
        min-height: 46px !important;
        border-radius: 10px !important;
        border: 1px solid #e2e8f0 !important;
    }

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

/* Desktop: checkout page — /booking/{code}/checkout */
@media (min-width: 992px) {
    html body.wj-ui.request-is-checkout .bc-booking-page.wj-checkout-page {
        background:
            radial-gradient(ellipse 80% 50% at 50% -20%, rgba(37, 99, 235, 0.08), transparent 60%),
            linear-gradient(180deg, #eef2f7 0%, #f8fafc 48%, #f1f5f9 100%) !important;
        padding: 32px 0 72px !important;
    }

    html body.wj-ui.request-is-checkout .bc-booking-page .container {
        max-width: 1120px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-head {
        margin-bottom: 28px !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-steps {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0 !important;
        margin-bottom: 14px !important;
        padding: 6px 12px !important;
        background: rgba(255, 255, 255, 0.85) !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 999px !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-step {
        font-size: 0.75rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
        color: #94a3b8 !important;
        padding: 4px 10px !important;
        white-space: nowrap !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-step .fa {
        font-size: 0.625rem !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-step--done {
        color: #475569 !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-step--done .fa {
        color: #10b981 !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-step--active {
        color: #2563eb !important;
        background: #eff6ff !important;
        border-radius: 999px !important;
        font-weight: 700 !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-step__line {
        width: 20px !important;
        height: 1px !important;
        background: #cbd5e1 !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-head__title {
        font-size: clamp(1.75rem, 2.4vw, 2.125rem) !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        letter-spacing: -0.03em !important;
        margin: 0 0 8px !important;
        line-height: 1.15 !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-head__subtitle {
        margin: 0 !important;
        font-size: 1rem !important;
        color: #64748b !important;
        max-width: 36rem !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row {
        align-items: flex-start !important;
        gap: 8px 0 !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > .col-md-8,
    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > .col-md-4 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page > .row > .col-md-8 > .booking-form {
        background: #fff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 20px !important;
        box-shadow:
            0 1px 2px rgba(15, 23, 42, 0.04),
            0 12px 32px rgba(15, 23, 42, 0.07) !important;
        padding: 32px 32px 28px !important;
    }

    html body.wj-ui.request-is-checkout #bc-checkout-page .form-checkout {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    html body.wj-ui.request-is-checkout .booking-detail.booking-form {
        position: sticky !important;
        top: 20px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !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: 14px !important;
        padding: 18px 20px 18px 52px !important;
        margin-bottom: 24px !important;
        font-size: 0.875rem !important;
        line-height: 1.55 !important;
        border: 1px solid #bae6fd !important;
        background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
        color: #0c4a6e !important;
        position: relative !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout > .wj-checkout-alert h5 {
        font-size: 0.9375rem !important;
        font-weight: 700 !important;
        margin: 0 0 8px !important;
        color: #0369a1 !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout > .wj-checkout-alert h5 .fa-info-circle {
        position: absolute !important;
        left: 18px !important;
        top: 20px !important;
        font-size: 1.125rem !important;
        color: #0284c7 !important;
    }

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

    html body.wj-ui.request-is-checkout .form-checkout > .wj-checkout-alert__highlight {
        margin-bottom: 10px !important;
    }

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

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

    html body.wj-ui.request-is-checkout .wj-checkout-alert__notes li .fa {
        color: #0284c7 !important;
        width: 14px !important;
        text-align: center !important;
    }

    html body.wj-ui.request-is-checkout .form-section-title,
    html body.wj-ui.request-is-checkout .wj-checkout-passengers__title {
        font-size: 1.0625rem !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        margin: 0 0 14px !important;
        padding-left: 12px !important;
        border-left: 3px solid #2563eb !important;
        line-height: 1.3 !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-section {
        margin-bottom: 26px !important;
        padding-bottom: 26px !important;
        border-bottom: 1px solid #f1f5f9 !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-section:last-of-type,
    html body.wj-ui.request-is-checkout .form-checkout > .form-group:last-of-type {
        border-bottom: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 16px !important;
    }

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

    html body.wj-ui.request-is-checkout .wj-passenger-card {
        background: #fff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04) !important;
    }

    html body.wj-ui.request-is-checkout .wj-passenger-card__header {
        padding: 12px 16px !important;
        background: linear-gradient(180deg, #f8fafc 0%, #fff 100%) !important;
        border-bottom: 1px solid #e2e8f0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    html body.wj-ui.request-is-checkout .wj-passenger-card__avatar {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%) !important;
        color: #2563eb !important;
        font-size: 0.8125rem !important;
        flex-shrink: 0 !important;
    }

    html body.wj-ui.request-is-checkout .wj-passenger-card__title {
        font-size: 0.9375rem !important;
        font-weight: 700 !important;
        color: #0f172a !important;
    }

    html body.wj-ui.request-is-checkout .wj-passenger-card__index {
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        color: #2563eb !important;
        background: #eff6ff !important;
        border: 1px solid #bfdbfe !important;
        border-radius: 999px !important;
        padding: 2px 8px !important;
    }

    html body.wj-ui.request-is-checkout .wj-passenger-card__body {
        padding: 18px 16px 6px !important;
        background: #fafbfc !important;
    }

    html body.wj-ui.request-is-checkout .wj-passenger-fields.row {
        margin-left: -8px !important;
        margin-right: -8px !important;
    }

    html body.wj-ui.request-is-checkout .wj-passenger-fields > [class*="col-"] {
        padding-left: 8px !important;
        padding-right: 8px !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }

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

    html body.wj-ui.request-is-checkout .form-checkout .form-group > label,
    html body.wj-ui.request-is-checkout .wj-passenger-card .wj-field label {
        display: block !important;
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        color: #64748b !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,
    html body.wj-ui.request-is-checkout .wj-passenger-card .form-control {
        min-height: 44px !important;
        padding: 10px 14px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        background: #fff !important;
        font-size: 0.9375rem !important;
        box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.02) !important;
        transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-group .form-control:focus,
    html body.wj-ui.request-is-checkout .form-checkout .form-group select.form-control:focus,
    html body.wj-ui.request-is-checkout .wj-passenger-card .form-control:focus {
        border-color: #60a5fa !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
        outline: none !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 {
        font-size: 0.8125rem !important;
        color: #64748b !important;
        margin-top: 6px !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card {
        border: 1px solid #e2e8f0 !important;
        border-radius: 14px !important;
        margin-bottom: 10px !important;
        box-shadow: none !important;
        overflow: hidden !important;
        transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card:has(input[type="radio"]:checked) {
        border-color: #2563eb !important;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-header {
        padding: 14px 16px !important;
        background: #fafbfc !important;
        border-bottom: 1px solid #f1f5f9 !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 {
        font-size: 0.9375rem !important;
        font-weight: 600 !important;
        color: #0f172a !important;
        margin: 0 !important;
        cursor: pointer !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-header input[type="radio"] {
        accent-color: #2563eb !important;
        width: 16px !important;
        height: 16px !important;
    }

    html body.wj-ui.request-is-checkout .gateways-table .card-body {
        padding: 12px 16px 16px !important;
        font-size: 0.875rem !important;
        color: #475569 !important;
        background: #fff !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.5 !important;
        color: #334155 !important;
        padding: 14px 16px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .term-conditions-checkbox input[type="checkbox"] {
        accent-color: #2563eb !important;
        width: 17px !important;
        height: 17px !important;
        margin-top: 2px !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .form-actions {
        margin-top: 8px !important;
        padding-top: 8px !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-trust {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: 12px 0 0 !important;
        font-size: 0.8125rem !important;
        color: #64748b !important;
    }

    html body.wj-ui.request-is-checkout .wj-checkout-trust .fa {
        color: #10b981 !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .btn-checkout-cta {
        min-height: 52px !important;
        border-radius: 12px !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .btn-checkout-cta--pay {
        background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%) !important;
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout .btn-checkout-cta--pay:hover:not(:disabled) {
        background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%) !important;
        box-shadow: 0 8px 22px rgba(37, 99, 235, 0.4) !important;
        transform: translateY(-1px) !important;
    }

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

    html body.wj-ui.request-is-checkout .booking-review-title {
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: #64748b !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        border: none !important;
    }

    html body.wj-ui.request-is-checkout .booking-review-content {
        border: 1px solid #e2e8f0 !important;
        border-radius: 20px !important;
        box-shadow:
            0 1px 2px rgba(15, 23, 42, 0.04),
            0 12px 32px rgba(15, 23, 42, 0.07) !important;
        overflow: hidden !important;
        background: #fff !important;
        position: relative !important;
    }

    html body.wj-ui.request-is-checkout .booking-review-content::before {
        content: '' !important;
        display: block !important;
        height: 4px !important;
        background: linear-gradient(90deg, #2563eb 0%, #38bdf8 100%) !important;
    }

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

    html body.wj-ui.request-is-checkout .booking-review .review-section:last-child {
        border-bottom: none !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-name {
        font-size: 1.125rem !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        margin-bottom: 4px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .font-weight-medium {
        font-size: 0.875rem !important;
        color: #64748b !important;
        margin-bottom: 14px !important;
        line-height: 1.45 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .font-weight-medium p {
        margin-bottom: 4px !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 12px !important;
        align-items: center !important;
        margin-top: 10px !important;
        padding: 14px 16px !important;
        background: linear-gradient(180deg, #f8fafc 0%, #fff 100%) !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 14px !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.0625rem !important;
        font-weight: 800 !important;
        color: #0f172a !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__port {
        font-size: 0.75rem !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;
        gap: 2px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .wj-checkout-leg__duration {
        font-size: 0.6875rem !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: 1.125rem !important;
        font-weight: 700 !important;
        color: #2563eb !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) auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px 12px !important;
        padding: 14px 16px !important;
        background: linear-gradient(180deg, #f8fafc 0%, #fff 100%) !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 14px !important;
        position: relative !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .flex-self-start.justify-content-between::before {
        content: '' !important;
        position: absolute !important;
        left: 22% !important;
        right: 22% !important;
        top: 50% !important;
        height: 2px !important;
        background: repeating-linear-gradient(90deg, #cbd5e1 0, #cbd5e1 6px, transparent 6px, transparent 12px) !important;
        transform: translateY(-50%) !important;
        z-index: 0 !important;
        pointer-events: none !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .flex-self-start.justify-content-between > * {
        position: relative !important;
        z-index: 1 !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .flex-self-start.justify-content-between > .text-center {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 4px 10px !important;
        background: #fff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 999px !important;
        min-width: 72px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .flex-self-start.justify-content-between > .text-center h6 {
        font-size: 0.6875rem !important;
        font-weight: 700 !important;
        color: #2563eb !important;
        margin: 0 !important;
        white-space: nowrap !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;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .ion-md-boat,
    html body.wj-ui.request-is-checkout .booking-review .service-info .icofont-ship {
        color: #2563eb !important;
        font-size: 1.25rem !important;
        margin-top: 2px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .text-lh-sm h6 {
        font-size: 1.0625rem !important;
        font-weight: 800 !important;
        color: #0f172a !important;
        margin-bottom: 2px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .service-info .text-lh-sm span {
        font-size: 0.75rem !important;
        color: #64748b !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

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

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

    html body.wj-ui.request-is-checkout .booking-review .review-list .label {
        color: #64748b !important;
        font-size: 0.875rem !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

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

    html body.wj-ui.request-is-checkout .booking-review .review-list li.final-total {
        margin-top: 8px !important;
        padding: 16px 18px !important;
        background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
        border: 1px solid #bfdbfe !important;
        border-radius: 12px !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list li.final-total .d-flex {
        width: 100% !important;
        align-items: center !important;
    }

    html body.wj-ui.request-is-checkout .booking-review .review-list li.final-total .label,
    html body.wj-ui.request-is-checkout .booking-review .review-list li.final-total .val {
        font-size: 1.0625rem !important;
        font-weight: 800 !important;
        color: #1e3a8a !important;
    }

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

    html body.wj-ui.request-is-checkout .section-coupon-form {
        margin-top: 4px !important;
    }

    html body.wj-ui.request-is-checkout .section-coupon-form .input-group {
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    html body.wj-ui.request-is-checkout .section-coupon-form .form-control {
        border: none !important;
        min-height: 42px !important;
        font-size: 0.875rem !important;
        background: transparent !important;
    }

    html body.wj-ui.request-is-checkout .section-coupon-form .bc_apply_coupon {
        border: none !important;
        border-left: 1px solid #e2e8f0 !important;
        background: #f8fafc !important;
        color: #2563eb !important;
        font-weight: 700 !important;
        padding: 0 18px !important;
    }

    html body.wj-ui.request-is-checkout .section-coupon-form .bc_apply_coupon:hover {
        background: #eff6ff !important;
    }

    html body.wj-ui.request-is-checkout .wj-payment-card-icons {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
        margin-top: 10px !important;
        padding: 10px 12px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 10px !important;
    }

    html body.wj-ui.request-is-checkout .wj-payment-card-icons img {
        height: 24px !important;
        width: auto !important;
        opacity: 0.9 !important;
    }

    html body.wj-ui.request-is-checkout .form-checkout > .form-group:has(input[name="agent_code"]) {
        padding: 16px 18px !important;
        background: #f8fafc !important;
        border: 1px dashed #cbd5e1 !important;
        border-radius: 12px !important;
        margin-bottom: 20px !important;
    }

    /* Homepage CMS blocks — desktop rounded cards */
    html body.wj-ui.request-is-home .bc-list-locations .destination-item .image,
    html body.wj-ui.request-is-home .bc-list-locations .destination-item .image .effect {
        border-radius: 24px !important;
        overflow: hidden !important;
    }

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

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

    html body.wj-ui.request-is-home .bc-list-news .item-news,
    html body.wj-ui.request-is-home .bc-list-news .post-item .thumb-image {
        border-radius: 24px !important;
        overflow: hidden !important;
    }

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

    html body.wj-ui.request-is-home .waterjet-features-section .feature-card,
    html body.wj-ui.request-is-home .waterjet-features-section .special-offer-card {
        border-radius: 24px !important;
        overflow: hidden !important;
    }

    html body.wj-ui.request-is-home .bc-list-locations .wj-destination-tagline {
        font-size: 14px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.92);
        margin: 6px 0 0;
        text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
    }

    html body.wj-ui .bc-list-news .wj-news-equal-row {
        align-items: stretch;
    }

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

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

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

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

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

    html body.wj-ui.request-is-rental-book .rental-book-page .container {
        max-width: 1140px;
    }

    html body.wj-ui.request-is-rental-book .rental-book-card {
        border-radius: 20px;
    }

    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 {
        min-height: 46px;
        border-radius: 12px;
    }
}
