/* ========================================================================== 
   CRUISECHECK — GLOBAL BOOKING-FLOW MASTER
   CruiseCheck teal colour system
   20 September 2026 — 9:36 am Brisbane

   SCOPE: ODS results, category, cabins and checkout pages
   FILE: cruisecheck-booking-web.css
   USED BY: WEBCSS and SwiftCSS preferences
   ========================================================================== */

/* ========================================================================== 
   JUST CRUISES — COMPACT SWIFT CRUISE RESULTS RESTORE
   21 September 2026 — 5:35 am Brisbane

   This is the proven compact-results treatment previously held in style15.
   It applies only to Swift result cards; category, cabin and checkout rules
   below are intentionally unchanged.
   ========================================================================== */

@media (min-width: 992px) {
    body.results-page [data-ody-id="CruiseInfoCardWrapper"].cruise-item-card,
    [data-ody-id="CruiseItemComponentContainers"] [data-ody-id="CruiseInfoCardWrapper"].cruise-item-card {
        position: relative !important;
        height: 160px !important;
        min-height: 160px !important;
        max-height: 160px !important;
        margin: 0 0 8px !important;
        padding: 6px 10px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.results-page .cruise-item-card .cruise-title,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-title {
        margin: 0 0 5px !important;
        padding: 0 !important;
        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        line-height: 24px !important;
    }

    body.results-page .cruise-item-card .rule-icons,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .rule-icons,
    body.results-page .cruise-item-card .card-image-caption,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .card-image-caption,
    body.results-page .cruise-item-card .odi-video-camera,
    body.results-page .cruise-item-card .odi-virtual-360-o,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .odi-video-camera,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .odi-virtual-360-o,
    body.results-page .cruise-item-card .cruise-promotions,
    body.results-page .cruise-item-card .cruise-promotions-wrapper,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-promotions,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-promotions-wrapper {
        display: none !important;
    }

    body.results-page .cruise-item-card .card-image-wrapper,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .card-image-wrapper,
    body.results-page .cruise-item-card .card-image,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .card-image {
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        flex: 0 0 150px !important;
        margin: 0 10px 0 0 !important;
        padding: 0 !important;
    }

    body.results-page .cruise-item-card .card-image img,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .card-image img {
        display: block !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        height: 118px !important;
        object-fit: cover !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.results-page .cruise-item-card .cruise-info-details,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-info-details {
        align-self: flex-start !important;
        margin: 0 !important;
        padding: 0 6px !important;
    }

    body.results-page .cruise-item-card .cruise-logo,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-logo {
        margin: 0 0 2px !important;
        padding: 0 !important;
    }

    body.results-page .cruise-item-card .cruise-logo img,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-logo img {
        width: auto !important;
        max-width: 120px !important;
        max-height: 24px !important;
        height: auto !important;
    }

    body.results-page .cruise-item-card .cruise-name,
    body.results-page .cruise-item-card .cruise-name a,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-name,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-name a {
        margin: 0 0 2px !important;
        padding: 0 !important;
        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;
        font-size: 14px !important;
        line-height: 17px !important;
    }

    body.results-page .cruise-item-card .cruise-info-detail-item,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-info-detail-item {
        min-height: 0 !important;
        margin: 0 0 3px !important;
        padding: 0 !important;
        font-size: 14px !important;
        line-height: 17px !important;
    }

    body.results-page .cruise-item-card .cruise-info-detail-item *,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-info-detail-item * {
        line-height: 17px !important;
    }

    body.results-page .cruise-item-card .cruise-info-details [class*="odi-"],
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card .cruise-info-details [class*="odi-"] {
        font-size: 18px !important;
        line-height: 18px !important;
    }

    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"],
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] {
        position: absolute !important;
        top: 36px !important;
        right: 10px !important;
        left: auto !important;
        width: 48% !important;
        max-width: 620px !important;
        margin: 0 !important;
        padding: 0 0 42px !important;
        transform: none !important;
        overflow: visible !important;
    }

    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] .table-fixed,
    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] .table-fixed-inner,
    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] .table-fixed-inner-container,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] .table-fixed,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] .table-fixed-inner,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] .table-fixed-inner-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] table,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] table {
        width: 100% !important;
        margin: 0 !important;
        table-layout: auto !important;
        border-collapse: collapse !important;
    }

    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] th,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] th {
        height: 28px !important;
        padding: 2px 5px !important;
        text-align: center !important;
        white-space: nowrap !important;
        color: #FFFFFF !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        border: 1px solid #D9E7EF !important;
    }

    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] td,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] td {
        height: 32px !important;
        padding: 2px 4px !important;
        text-align: center !important;
        white-space: nowrap !important;
        color: #00234B !important;
        background: #F2F8FC !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 18px !important;
        border: 1px solid #D9E7EF !important;
    }

    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] button[data-ody-id="CruiseResultsBookButton"],
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] button[data-ody-id="CruiseResultsBookButton"] {
        display: flex !important;
        position: absolute !important;
        top: 68px !important;
        left: 50% !important;
        width: 230px !important;
        min-width: 230px !important;
        height: 30px !important;
        min-height: 30px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        transform: translateX(-50%) !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: #0A97A1 !important;
        color: transparent !important;
        font-size: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
        z-index: 5 !important;
    }

    body.results-page .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] button[data-ody-id="CruiseResultsBookButton"]::after,
    [data-ody-id="CruiseItemComponentContainers"] .cruise-item-card [data-ody-id="CruiseSailingDatesSection"] button[data-ody-id="CruiseResultsBookButton"]::after {
        content: "SEE OUR PRICE & DIRECT PRICE" !important;
        display: block !important;
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.results-page [data-ody-id="SortSelector"].sort-by-section,
    [data-ody-id="SortSelector"].sort-by-section {
        margin-bottom: 6px !important;
        padding: 6px 8px !important;
    }

    [data-ody-id="CruiseItemComponentContainers"] > cruise-item-component.cruise-item {
        margin-bottom: 6px !important;
    }
}

:root {
    --jc-navy: #00234B;
    --jc-teal: #0A97A1;
    --jc-teal-dark: #116F82;
    --jc-teal-mid: #83CDD2;
    --jc-teal-pale: #C8E9EB;
    --jc-teal-soft: #F0F9FA;
    --jc-page: #F5F5F5;
    --jc-border: #D8DDE2;
    --jc-text: #17233C;
    /* Locked global text hierarchy: navy headings, charcoal body copy. */
    --jc-heading: #00234B;
    --jc-muted: #5C6675;
    --jc-white: #FFFFFF;
}

/* --------------------------------------------------------------------------
   GLOBAL JC BOOKING-FLOW DESIGN SYSTEM
   Shared styling only. Page-specific layout rules remain separately scoped.
   -------------------------------------------------------------------------- */

body.results-page,
body.page_cruise_results,
body.page_cruise_category,
body.page_cruise_cabin,
body.page_booking_checkout,
body.page_checkout {
    background: var(--jc-page) !important;
    color: var(--jc-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

body.results-page :is(h1, h2, h3, h4, h5, h6, p, a, label, input, select, textarea, button, table),
body.page_cruise_results :is(h1, h2, h3, h4, h5, h6, p, a, label, input, select, textarea, button, table),
body.page_cruise_category :is(h1, h2, h3, h4, h5, h6, p, a, label, input, select, textarea, button, table),
body.page_cruise_cabin :is(h1, h2, h3, h4, h5, h6, p, a, label, input, select, textarea, button, table),
body.page_booking_checkout :is(h1, h2, h3, h4, h5, h6, p, a, label, input, select, textarea, button, table),
body.page_checkout :is(h1, h2, h3, h4, h5, h6, p, a, label, input, select, textarea, button, table) {
    font-family: Arial, Helvetica, sans-serif !important;
}

body.results-page :is(h1, h2, h3, h4, h5, h6),
body.page_cruise_results :is(h1, h2, h3, h4, h5, h6),
body.page_cruise_category :is(h1, h2, h3, h4, h5, h6),
body.page_cruise_cabin :is(h1, h2, h3, h4, h5, h6),
body.page_booking_checkout :is(h1, h2, h3, h4, h5, h6),
body.page_checkout :is(h1, h2, h3, h4, h5, h6) {
    color: var(--jc-heading) !important;
    -webkit-text-fill-color: var(--jc-heading) !important;
}

/* A consistent white card language across search and every booking step. */
body.results-page :is(.card, .cruise-item-card),
body.page_cruise_results :is(.card, .cruise-item-card),
body.page_cruise_category .card,
body.page_cruise_cabin .card,
body.page_booking_checkout .card,
body.page_checkout .card {
    border: 1px solid var(--jc-border) !important;
    border-radius: 6px !important;
    background: var(--jc-white) !important;
    box-shadow: 0 2px 5px rgba(0, 35, 75, .16) !important;
}

/* Shared form controls: quiet, conservative and easy to scan. */
body.results-page :is(input, select, textarea),
body.page_cruise_results :is(input, select, textarea),
body.page_cruise_category :is(input, select, textarea),
body.page_cruise_cabin :is(input, select, textarea),
body.page_booking_checkout :is(input, select, textarea),
body.page_checkout :is(input, select, textarea) {
    border-color: #C7D0D9 !important;
    border-radius: 5px !important;
    background-color: var(--jc-white) !important;
    color: var(--jc-text) !important;
    box-shadow: none !important;
}

body.results-page :is(input, select, textarea):focus,
body.page_cruise_results :is(input, select, textarea):focus,
body.page_cruise_category :is(input, select, textarea):focus,
body.page_cruise_cabin :is(input, select, textarea):focus,
body.page_booking_checkout :is(input, select, textarea):focus,
body.page_checkout :is(input, select, textarea):focus {
    border-color: var(--jc-teal) !important;
    box-shadow: 0 0 0 2px rgba(10, 151, 161, .16) !important;
    outline: 0 !important;
}

/* Navy is the single standout action colour throughout the flow. */
body.results-page :is(.btn-primary, .btn-success),
body.page_cruise_results :is(.btn-primary, .btn-success),
body.page_cruise_category :is(.btn-primary, .btn-success),
body.page_cruise_cabin :is(.btn-primary, .btn-success),
body.page_booking_checkout :is(.btn-primary, .btn-success),
body.page_checkout :is(.btn-primary, .btn-success),
body.page_cruise_cabin [data-ody-id*="Continue" i],
body.page_booking_checkout [data-ody-id*="Continue" i],
body.page_checkout [data-ody-id*="Continue" i] {
    border-color: var(--jc-navy) !important;
    background: var(--jc-navy) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

body.results-page :is(.btn-primary, .btn-success):hover,
body.page_cruise_results :is(.btn-primary, .btn-success):hover,
body.page_cruise_category :is(.btn-primary, .btn-success):hover,
body.page_cruise_cabin :is(.btn-primary, .btn-success):hover,
body.page_booking_checkout :is(.btn-primary, .btn-success):hover,
body.page_checkout :is(.btn-primary, .btn-success):hover {
    border-color: var(--jc-teal-dark) !important;
    background: var(--jc-teal-dark) !important;
}

/* Information notices use the restrained pale-teal treatment. */
body.results-page :is(.alert-info, .alert-primary),
body.page_cruise_results :is(.alert-info, .alert-primary),
body.page_cruise_category :is(.alert-info, .alert-primary),
body.page_cruise_cabin :is(.alert-info, .alert-primary),
body.page_booking_checkout :is(.alert-info, .alert-primary),
body.page_checkout :is(.alert-info, .alert-primary) {
    border: 1px solid var(--jc-teal-mid) !important;
    border-radius: 5px !important;
    background: var(--jc-teal-pale) !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    box-shadow: 0 2px 4px rgba(0, 35, 75, .10) !important;
}

/* Common ODS section bars and table headings. */
body.page_cruise_cabin :is(.card-header, .section-title, [data-ody-id*="TitleBar" i]),
body.page_booking_checkout :is(.card-header, .section-title, [data-ody-id*="TitleBar" i]),
body.page_checkout :is(.card-header, .section-title, [data-ody-id*="TitleBar" i]) {
    border-color: var(--jc-teal-mid) !important;
    background: var(--jc-teal-pale) !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
}

/* Teal functional icons throughout the cruise-detail and booking steps. */
body.page_cruise_category [class*="odi-"]::before,
body.page_cruise_cabin [class*="odi-"]::before,
body.page_booking_checkout [class*="odi-"]::before,
body.page_checkout [class*="odi-"]::before {
    color: var(--jc-teal) !important;
    -webkit-text-fill-color: var(--jc-teal) !important;
}

/* Match the established four-stage chevrons on cabins and checkout. */
body.page_cruise_cabin .breadcrumb-bottom-0,
body.page_booking_checkout .breadcrumb-bottom-0,
body.page_checkout .breadcrumb-bottom-0 {
    margin: 10px 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.page_cruise_cabin .breadcrumb-bottom-0 > .nav.nav-stepper,
body.page_booking_checkout .breadcrumb-bottom-0 > .nav.nav-stepper,
body.page_checkout .breadcrumb-bottom-0 > .nav.nav-stepper {
    display: flex !important;
    width: 100% !important;
    gap: 6px !important;
    overflow: hidden !important;
    border-radius: 6px !important;
}

body.page_cruise_cabin .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link,
body.page_booking_checkout .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link,
body.page_checkout .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 80px !important;
    padding: 8px 18px !important;
    border: 0 !important;
    background: var(--jc-teal-pale) !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    text-align: center !important;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%) !important;
}

body.page_cruise_cabin .breadcrumb-bottom-0 > .nav.nav-stepper .active,
body.page_booking_checkout .breadcrumb-bottom-0 > .nav.nav-stepper .active,
body.page_checkout .breadcrumb-bottom-0 > .nav.nav-stepper .active,
body.page_cruise_cabin .breadcrumb-bottom-0 > .nav.nav-stepper [aria-current="step"],
body.page_booking_checkout .breadcrumb-bottom-0 > .nav.nav-stepper [aria-current="step"],
body.page_checkout .breadcrumb-bottom-0 > .nav.nav-stepper [aria-current="step"] {
    background: var(--jc-teal) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

/* --------------------------------------------------------------------------
   PAGE FRAME
   -------------------------------------------------------------------------- */

body.page_cruise_category {
    background: var(--jc-page) !important;
    color: var(--jc-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

body.page_cruise_category h1,
body.page_cruise_category h2,
body.page_cruise_category h3,
body.page_cruise_category h4,
body.page_cruise_category h5,
body.page_cruise_category h6,
body.page_cruise_category p,
body.page_cruise_category a,
body.page_cruise_category label,
body.page_cruise_category input,
body.page_cruise_category select,
body.page_cruise_category textarea,
body.page_cruise_category button,
body.page_cruise_category table {
    font-family: Arial, Helvetica, sans-serif !important;
}

body.page_cruise_category h1,
body.page_cruise_category h2,
body.page_cruise_category h3,
body.page_cruise_category h4,
body.page_cruise_category h5,
body.page_cruise_category h6 {
    color: var(--jc-heading) !important;
    -webkit-text-fill-color: var(--jc-heading) !important;
}

/* Remove the grey Home / Search Results / cruise-details strip. */
body.page_cruise_category .breadcrumb,
body.page_cruise_category .breadcrumb-wrapper,
body.page_cruise_category .breadcrumb-container,
body.page_cruise_category .breadcrumb-section,
body.page_cruise_category .page-breadcrumb,
body.page_cruise_category ol.breadcrumb,
body.page_cruise_category nav[aria-label="breadcrumb"],
body.page_cruise_category [data-ody-id="Breadcrumb"],
body.page_cruise_category [data-ody-id="breadcrumb"],
body.page_cruise_category [data-ody-id="CruiseBreadcrumb"],
body.page_cruise_category [data-ody-id="BreadCrumb"] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.page_cruise_category main,
body.page_cruise_category .main-content,
body.page_cruise_category .page-content,
body.page_cruise_category .container-fluid {
    box-sizing: border-box !important;
}

body.page_cruise_category .container-fluid {
    padding-left: 22px !important;
    padding-right: 22px !important;
}

body.page_cruise_category .card {
    border: 1px solid var(--jc-border) !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 5px rgba(0, 35, 75, .16) !important;
}

/* --------------------------------------------------------------------------
   FOUR-STAGE CHEVRON PROGRESS BAR
   -------------------------------------------------------------------------- */

body.page_cruise_category [data-ody-id="StepperBarWithStepsCount"] {
    display: none !important;
}

body.page_cruise_category .breadcrumb-bottom-0 {
    display: block !important;
    width: 100% !important;
    height: 80px !important;
    min-height: 80px !important;
    margin: 10px 0 12px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper {
    display: flex !important;
    width: 100% !important;
    height: 80px !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 6px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > li,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > .nav-item {
    flex: 1 1 25% !important;
    width: auto !important;
    height: 80px !important;
    min-height: 80px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 80px !important;
    min-height: 80px !important;
    margin: 0 !important;
    padding: 8px 18px !important;
    border: 0 !important;
    background: #C8E9EB !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.22 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%) !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > li:first-child .nav-link,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > .nav-item:first-child .nav-link {
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%) !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > li:last-child .nav-link,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > .nav-item:last-child .nav-link {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 22px 50%) !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link small,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link a,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper a small {
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    text-decoration: underline !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .active,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link.active,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-item.active .nav-link,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper [aria-current="step"] {
    background: #0A97A1 !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .active *,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link.active *,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-item.active .nav-link *,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper [aria-current="step"] * {
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-item::after,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .active::after,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link.active::after,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-item.active .nav-link::after,
body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper [aria-current="step"]::after {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* --------------------------------------------------------------------------
   CRUISE TITLE CARD
   -------------------------------------------------------------------------- */

body.page_cruise_category [data-ody-id="stickyPackageTitle"],
body.page_cruise_category [data-ody-id="StickyPageTitle"] {
    display: block !important;
    width: 100% !important;
    min-height: 116px !important;
    height: auto !important;
    margin: 0 0 12px !important;
    padding: 12px !important;
    overflow: visible !important;
    border: 1px solid var(--jc-border) !important;
    border-radius: 6px !important;
    background: var(--jc-white) !important;
    box-shadow: 0 2px 5px rgba(0, 35, 75, .16) !important;
    box-sizing: border-box !important;
}

body.page_cruise_category [data-ody-id="stickyPackageTitle"] .page-title.cruise-details-title,
body.page_cruise_category [data-ody-id="StickyPageTitle"] .page-title.cruise-details-title {
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    color: var(--jc-heading) !important;
    -webkit-text-fill-color: var(--jc-heading) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.page_cruise_category [data-ody-id="stickyPackageTitle"] > .d-flex.flex-wrap.align-items-center,
body.page_cruise_category [data-ody-id="StickyPageTitle"] > .d-flex.flex-wrap.align-items-center {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--jc-heading) !important;
    -webkit-text-fill-color: var(--jc-heading) !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
}

body.page_cruise_category [data-ody-id*="Share"],
body.page_cruise_category .share-button,
body.page_cruise_category .share-btn,
body.page_cruise_category button[aria-label*="Share"] {
    display: none !important;
}

/* --------------------------------------------------------------------------
   MAIN TWO-COLUMN BODY
   -------------------------------------------------------------------------- */

body.page_cruise_category .section-sidebar,
body.page_cruise_category .main-grid-content {
    margin-top: 0 !important;
}

body.page_cruise_category .section-sidebar {
    padding-right: 22px !important;
}

body.page_cruise_category #packageDetails {
    position: static !important;
    top: auto !important;
    margin: 0 !important;
    padding: 0 0 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--jc-border) !important;
    border-radius: 0 !important;
    background: var(--jc-white) !important;
    box-shadow: none !important;
    color: var(--jc-text) !important;
}

body.page_cruise_category #packageDetails,
body.page_cruise_category #packageDetails a,
body.page_cruise_category #packageDetails span,
body.page_cruise_category #packageDetails div,
body.page_cruise_category #packageDetails p,
body.page_cruise_category #packageDetails strong,
body.page_cruise_category #packageDetails b {
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
}

body.page_cruise_category #CruiseNavigationTabsInfo {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--jc-white) !important;
}

body.page_cruise_category #CruiseNavigationTabsInfo img.embed-responsive-item {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

body.page_cruise_category #packageDetails [data-ody-id="DestinationText"],
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] {
    margin-left: 24px !important;
    margin-right: 24px !important;
}

body.page_cruise_category #packageDetails [data-ody-id="DestinationText"] {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--jc-border) !important;
    background: transparent !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
}

body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] > div {
    margin: 0 0 13px !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
}

body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] img,
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] img {
    width: auto !important;
    max-width: 185px !important;
    max-height: 42px !important;
    filter: none !important;
    opacity: 1 !important;
}

body.page_cruise_category #packageDetails .itinerary-accordion-header {
    min-height: 46px !important;
    margin: 18px 24px 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    background: #F3F3F3 !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 26px !important;
}

body.page_cruise_category #packageDetails .section-itinerary-wrapper {
    margin: 0 24px !important;
    padding: 0 12px 12px !important;
    border: 0 !important;
    background: var(--jc-white) !important;
    color: var(--jc-text) !important;
}

body.page_cruise_category #packageDetails .section-itinerary-wrapper *,
body.page_cruise_category #packageDetails .itinerary-accordion-header * {
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
}

body.page_cruise_category #packageDetails .itinerary-map-img,
body.page_cruise_category #packageDetails .section-itinerary-wrapper img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 auto 12px !important;
    /* Gentle global cool-down for ODS itinerary maps only. */
    filter: saturate(1.12) contrast(1.02) brightness(0.99) !important;
}

body.page_cruise_category #packageDetails .itinerary-details {
    margin: 12px 0 0 !important;
    padding-left: 20px !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
}

body.page_cruise_category #packageDetails .itinerary-details li {
    margin-bottom: 12px !important;
}

body.page_cruise_category a[href="javascript:showAirSearch()"] {
    display: none !important;
}

/* --------------------------------------------------------------------------
   GUEST INFORMATION
   -------------------------------------------------------------------------- */

body.page_cruise_category .guestInfoCategory {
    position: relative !important;
    min-height: 255px !important;
    margin: 0 0 14px !important;
    padding: 28px 28px 24px !important;
    border: 1px solid var(--jc-border) !important;
    border-radius: 0 !important;
    background: var(--jc-white) !important;
    box-shadow: none !important;
}

body.page_cruise_category .guestInfoCategory > hr {
    margin: 0 0 24px !important;
    border-color: var(--jc-border) !important;
}

body.page_cruise_category .guestInfoCategory h5.text-primary.flex-grow-1,
body.page_cruise_category .guestInfoCategory > h5 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--jc-heading) !important;
    -webkit-text-fill-color: var(--jc-heading) !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

body.page_cruise_category .Guest-info-inner,
body.page_cruise_category .Guest-info-inner > .form-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 18px 28px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page_cruise_category .Guest-info-inner .form-group {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.page_cruise_category .guestInfoCategory label {
    display: block !important;
    margin: 0 0 9px !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

body.page_cruise_category .guestInfoCategory input,
body.page_cruise_category .guestInfoCategory select {
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: 1px solid #C9CFD6 !important;
    border-radius: 5px !important;
    background: var(--jc-white) !important;
    color: var(--jc-text) !important;
    font-size: 17px !important;
    line-height: 34px !important;
    box-shadow: none !important;
}

body.page_cruise_category .guestNumbers,
body.page_cruise_category #CGA_1,
body.page_cruise_category #CGA_2,
body.page_cruise_category #CGA_3,
body.page_cruise_category #CGA_4 {
    flex: 0 0 110px !important;
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
}

body.page_cruise_category .guestNumbers select,
body.page_cruise_category #CGA_1 input,
body.page_cruise_category #CGA_2 input,
body.page_cruise_category #CGA_3 input,
body.page_cruise_category #CGA_4 input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    text-align: left !important;
}

body.page_cruise_category .guestAgeSelection {
    flex: 0 0 325px !important;
    width: 325px !important;
    min-width: 325px !important;
    max-width: 325px !important;
}

body.page_cruise_category .guestAgeSelection input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
}

body.page_cruise_category .guestAgeButtons,
body.page_cruise_category .non-sticky-page-request-quote-section {
    margin-top: 14px !important;
}

body.page_cruise_category .guestAgeButtons .btn,
body.page_cruise_category .guestAgeButtons button,
body.page_cruise_category .non-sticky-page-request-quote-section .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 180px !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1px solid var(--jc-teal) !important;
    border-radius: 0 !important;
    background: var(--jc-teal) !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 50px !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   UPDATE PRICES + AVAILABILITY NOTE
   -------------------------------------------------------------------------- */

body.page_cruise_category .guestAgeButtons {
    text-align: right !important;
}

body.page_cruise_category #TopCruisePricingNote,
body.page_cruise_category [data-ody-id="DisclaimerTopCruisePricingNote"],
body.page_cruise_category .cruise-pricing-note {
    min-height: 76px !important;
    margin: 0 0 26px !important;
    padding: 22px !important;
    border: 1px solid #A9D6D3 !important;
    border-radius: 5px !important;
    background: var(--jc-teal-pale) !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    box-shadow: 0 2px 4px rgba(0, 35, 75, .16) !important;
}

/* --------------------------------------------------------------------------
   FOUR CABIN-CATEGORY TABS
   -------------------------------------------------------------------------- */

body.page_cruise_category #categoryTabs {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.page_cruise_category #categoryTabs > li,
body.page_cruise_category #categoryTabs > .nav-item {
    flex: 1 1 25% !important;
    width: 25% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page_cruise_category #categoryTabs .pointer.nav-link,
body.page_cruise_category #categoryTabs .tabCatAirIncl {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 239px !important;
    height: 239px !important;
    margin: 0 !important;
    padding: 12px 18px 10px !important;
    overflow: hidden !important;
    border: 1px solid #9CCFCD !important;
    border-radius: 0 !important;
    background: #C8E9EB !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    box-sizing: border-box !important;
}

body.page_cruise_category #categoryTabs .pointer.nav-link.active,
body.page_cruise_category #categoryTabs .tabCatAirIncl.active,
body.page_cruise_category #categoryTabs .tabCatAirIncl.selected,
body.page_cruise_category #categoryTabs .tabCatAirIncl[aria-selected="true"] {
    border-color: #0A97A1 !important;
    background: #0A97A1 !important;
}

body.page_cruise_category #categoryTabs .pointer.nav-link img,
body.page_cruise_category #categoryTabs .tabCatAirIncl img {
    display: block !important;
    width: 100% !important;
    max-width: 225px !important;
    height: 152px !important;
    margin: 0 auto 12px !important;
    padding: 0 !important;
    object-fit: cover !important;
}

body.page_cruise_category #categoryTabs .pointer.nav-link strong,
body.page_cruise_category #categoryTabs .tabCatAirIncl strong {
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.page_cruise_category #categoryTabs [data-ody-id="CategoryFromPriceWrapper"] {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

body.page_cruise_category #categoryTabs [data-ody-id="CruiseInclusiveExclusiveMessage"],
body.page_cruise_category #categoryTabs .cruise-tax-inclusive,
body.page_cruise_category #categoryTabs .includes-taxes-fees,
body.page_cruise_category #categoryTabs .taxes-and-fees {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* --------------------------------------------------------------------------
   STATEROOM DETAIL CARDS
   -------------------------------------------------------------------------- */

body.page_cruise_category .category-content {
    margin-top: 28px !important;
}

body.page_cruise_category .category-content .card {
    margin: 0 0 24px !important;
    border: 1px solid var(--jc-border) !important;
    border-radius: 6px !important;
    background: var(--jc-white) !important;
    box-shadow: 0 2px 5px rgba(0, 35, 75, .20) !important;
}

body.page_cruise_category .category-cabin-details {
    display: flex !important;
    align-items: stretch !important;
    gap: 22px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 34px 20px !important;
    background: var(--jc-white) !important;
}

body.page_cruise_category .category-cabin-details-img {
    flex: 0 0 320px !important;
    width: 320px !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page_cruise_category .category-cabin-details-img img {
    display: block !important;
    width: 320px !important;
    max-width: 320px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page_cruise_category .category-cabin-details .custom-category-display {
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--jc-white) !important;
    color: var(--jc-text) !important;
}

body.page_cruise_category .category-cabin-details .category-description {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--jc-text) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

body.page_cruise_category .category-cabin-details .category-description h3,
body.page_cruise_category .category-cabin-details .category-description h4,
body.page_cruise_category .category-cabin-details .category-description h5 {
    margin: 0 0 12px !important;
    color: var(--jc-heading) !important;
    -webkit-text-fill-color: var(--jc-heading) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
}

body.page_cruise_category .category-description .categoryCabinDescription {
    max-height: 150px !important;
    margin: 0 0 10px !important;
    overflow: hidden !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

/* --------------------------------------------------------------------------
   FARE TABLE + BOOK BUTTONS
   -------------------------------------------------------------------------- */

body.page_cruise_category .category-price-table {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid var(--jc-border) !important;
    background: var(--jc-white) !important;
}

body.page_cruise_category .category-price-table > .row,
body.page_cruise_category .category-price-table-row {
    display: flex !important;
    align-items: center !important;
    min-height: 72px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-bottom: 1px solid var(--jc-border) !important;
    background: var(--jc-white) !important;
}

body.page_cruise_category .category-price-table-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 72px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 6px 12px !important;
    color: var(--jc-text) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    box-sizing: border-box !important;
}

body.page_cruise_category .category-price-table-cell-body,
body.page_cruise_category .category-price-table-cell > div {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page_cruise_category .category-price-table-cell [data-ody-id="TotalPrice"],
body.page_cruise_category .category-price-table-cell .price,
body.page_cruise_category .category-price-table-cell [class*="price"] {
    margin: 0 !important;
    color: var(--jc-heading) !important;
    -webkit-text-fill-color: var(--jc-heading) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

body.page_cruise_category .category-price-table-cell .btn,
body.page_cruise_category .category-price-table-cell button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 190px !important;
    min-width: 190px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 auto !important;
    padding: 0 18px !important;
    border: 1px solid var(--jc-teal) !important;
    border-radius: 0 !important;
    background: var(--jc-teal) !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 46px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

body.page_cruise_category .category-price-table-cell .btn:hover,
body.page_cruise_category .category-price-table-cell button:hover,
body.page_cruise_category .guestAgeButtons .btn:hover,
body.page_cruise_category .guestAgeButtons button:hover,
body.page_cruise_category .non-sticky-page-request-quote-section .btn:hover {
    border-color: var(--jc-teal-dark) !important;
    background: var(--jc-teal-dark) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

/* --------------------------------------------------------------------------
   RESPONSIVE — PRESERVE FUNCTIONALITY ON SMALLER SCREENS
   -------------------------------------------------------------------------- */

@media (max-width: 1199px) {
    body.page_cruise_category .breadcrumb-bottom-0,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > li,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > .nav-item,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper a {
        height: 72px !important;
        min-height: 72px !important;
    }

    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper a {
        font-size: 19px !important;
    }

    body.page_cruise_category .category-cabin-details-img {
        flex-basis: 250px !important;
        width: 250px !important;
        max-width: 250px !important;
    }

    body.page_cruise_category .category-cabin-details-img img {
        width: 250px !important;
        max-width: 250px !important;
    }
}

@media (max-width: 991px) {
    body.page_cruise_category .container-fluid {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.page_cruise_category .section-sidebar {
        padding-right: 0 !important;
        margin-bottom: 14px !important;
    }

    body.page_cruise_category .breadcrumb-bottom-0,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper {
        height: auto !important;
        min-height: 0 !important;
    }

    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper {
        flex-wrap: wrap !important;
    }

    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > li,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper > .nav-item {
        flex: 1 1 50% !important;
        width: 50% !important;
        height: 64px !important;
        min-height: 64px !important;
    }

    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper .nav-link,
    body.page_cruise_category .breadcrumb-bottom-0 > .nav.nav-stepper a {
        height: 64px !important;
        min-height: 64px !important;
        font-size: 16px !important;
    }

    body.page_cruise_category #categoryTabs {
        flex-wrap: wrap !important;
    }

    body.page_cruise_category #categoryTabs > li,
    body.page_cruise_category #categoryTabs > .nav-item {
        flex: 1 1 50% !important;
        width: 50% !important;
    }

    body.page_cruise_category .category-cabin-details {
        flex-direction: column !important;
        min-height: 0 !important;
        padding: 20px !important;
    }

    body.page_cruise_category .category-cabin-details-img,
    body.page_cruise_category .category-cabin-details-img img {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: auto !important;
    }
}

@media (max-width: 575px) {
    body.page_cruise_category [data-ody-id="stickyPackageTitle"] .page-title.cruise-details-title,
    body.page_cruise_category [data-ody-id="StickyPageTitle"] .page-title.cruise-details-title {
        font-size: 21px !important;
    }

    body.page_cruise_category [data-ody-id="stickyPackageTitle"] > .d-flex.flex-wrap.align-items-center,
    body.page_cruise_category [data-ody-id="StickyPageTitle"] > .d-flex.flex-wrap.align-items-center {
        font-size: 19px !important;
    }

    body.page_cruise_category #categoryTabs > li,
    body.page_cruise_category #categoryTabs > .nav-item {
        flex-basis: 100% !important;
        width: 100% !important;
    }

    body.page_cruise_category .guestAgeSelection,
    body.page_cruise_category .guestAgeButtons,
    body.page_cruise_category .non-sticky-page-request-quote-section,
    body.page_cruise_category .guestAgeButtons .btn,
    body.page_cruise_category .guestAgeButtons button,
    body.page_cruise_category .non-sticky-page-request-quote-section .btn {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    body.page_cruise_category .category-price-table > .row,
    body.page_cruise_category .category-price-table-row {
        flex-wrap: wrap !important;
        padding: 12px !important;
    }

    body.page_cruise_category .category-price-table-cell {
        flex: 1 1 100% !important;
        min-height: 0 !important;
        padding: 8px !important;
    }
}

/* --------------------------------------------------------------------------
   CLEAN-STYLE SIDEBAR + DENSE FARE ROWS
   20 September 2026 — 6:19 am Brisbane
   -------------------------------------------------------------------------- */

/* Give the ship / map / itinerary rail the calmer, wider reference proportion. */
@media (min-width: 992px) {
    body.page_cruise_category .section-sidebar {
        flex: 0 0 27% !important;
        width: 27% !important;
        max-width: 27% !important;
        padding-right: 12px !important;
    }

    body.page_cruise_category .main-grid-content {
        flex: 0 0 73% !important;
        width: 73% !important;
        max-width: 73% !important;
        padding-left: 12px !important;
    }
}

body.page_cruise_category #packageDetails {
    padding-bottom: 0 !important;
}

body.page_cruise_category #packageDetails [data-ody-id="DestinationText"],
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] {
    margin-left: 28px !important;
    margin-right: 28px !important;
}

body.page_cruise_category #packageDetails .itinerary-accordion-header {
    margin-left: 28px !important;
    margin-right: 28px !important;
}

body.page_cruise_category #packageDetails .section-itinerary-wrapper {
    margin-left: 28px !important;
    margin-right: 28px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

/* Remove the empty outlined message slots below all four category prices. */
body.page_cruise_category #categoryTabs [data-ody-id="CategoryFromPriceWrapper"],
body.page_cruise_category #categoryTabs [data-ody-id="CategoryFromPriceWrapper"] *,
body.page_cruise_category #categoryTabs [data-ody-id="CruiseInclusiveExclusiveMessage"],
body.page_cruise_category #categoryTabs [data-ody-id="CruiseInclusiveExclusiveMessage"] *,
body.page_cruise_category #categoryTabs .cruise-tax-inclusive,
body.page_cruise_category #categoryTabs .cruise-tax-inclusive * {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body.page_cruise_category #categoryTabs [data-ody-id="CruiseInclusiveExclusiveMessage"],
body.page_cruise_category #categoryTabs .cruise-tax-inclusive,
body.page_cruise_category #categoryTabs .cruise-tax-inclusive:empty,
body.page_cruise_category #categoryTabs .border:empty {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Fare rows: remove the inherited ODS height and reduce vertical space by ~50%. */
body.page_cruise_category .category-price-table > .row,
body.page_cruise_category .category-price-table-row,
body.page_cruise_category .category-price-table .row {
    min-height: 86px !important;
    height: 86px !important;
    max-height: 86px !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
}

body.page_cruise_category .category-price-table-cell,
body.page_cruise_category .category-price-table-cell-body {
    min-height: 0 !important;
    height: auto !important;
    max-height: 84px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}

body.page_cruise_category .category-price-table-cell-body > div,
body.page_cruise_category .category-price-table-cell-body > span,
body.page_cruise_category .category-price-table-cell-body p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.15 !important;
}

body.page_cruise_category span.cruise-tax-inclusive.text-primary,
body.page_cruise_category .category-price-table [data-ody-id="CruiseInclusiveExclusiveMessage"] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --------------------------------------------------------------------------
   NAVY CTA + COMPACT CONTENT + CLEAN LEFT RAIL
   20 September 2026 — 7:12 am Brisbane
   -------------------------------------------------------------------------- */

/* One strong action colour: JC navy with white type. */
body.page_cruise_category .guestInfoCategory .btn,
body.page_cruise_category .guestInfoCategory button,
body.page_cruise_category .guestAgeButtons .btn,
body.page_cruise_category .guestAgeButtons button,
body.page_cruise_category .non-sticky-page-request-quote-section .btn,
body.page_cruise_category .category-price-table-cell .btn,
body.page_cruise_category .category-price-table-cell button {
    border-color: var(--jc-navy) !important;
    background: var(--jc-navy) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    box-shadow: none !important;
}

body.page_cruise_category .guestInfoCategory .btn:hover,
body.page_cruise_category .guestInfoCategory button:hover,
body.page_cruise_category .category-price-table-cell .btn:hover,
body.page_cruise_category .category-price-table-cell button:hover {
    border-color: var(--jc-teal-dark) !important;
    background: var(--jc-teal-dark) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

/* The pale outlined ODS placeholders beneath each category price. */
body.page_cruise_category #categoryTabs .tabCatAirIncl .border,
body.page_cruise_category #categoryTabs .pointer.nav-link .border,
body.page_cruise_category #categoryTabs [data-ody-id="CruiseInclusiveExclusiveMessage"],
body.page_cruise_category #categoryTabs [data-ody-id="CruiseInclusiveExclusiveMessage"]:empty {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Cabin card: 25% tighter, with the long generic amenity tail clipped away. */
body.page_cruise_category .category-content {
    margin-top: 14px !important;
}

body.page_cruise_category .category-content .card {
    margin-bottom: 14px !important;
}

body.page_cruise_category .category-cabin-details {
    gap: 18px !important;
    padding: 16px 24px 14px !important;
}

body.page_cruise_category .category-cabin-details-img {
    flex: 0 0 280px !important;
    width: 280px !important;
    max-width: 280px !important;
}

body.page_cruise_category .category-cabin-details-img img {
    width: 280px !important;
    max-width: 280px !important;
    max-height: 210px !important;
    object-fit: cover !important;
}

body.page_cruise_category .category-cabin-details .category-description {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.page_cruise_category .category-cabin-details .category-description h3,
body.page_cruise_category .category-cabin-details .category-description h4,
body.page_cruise_category .category-cabin-details .category-description h5 {
    margin-bottom: 7px !important;
    font-size: 19px !important;
}

body.page_cruise_category .category-description .categoryCabinDescription {
    max-height: 104px !important;
    margin-bottom: 5px !important;
    font-size: 14px !important;
    line-height: 20px !important;
    overflow: hidden !important;
}

body.page_cruise_category .category-description .categoryCabinDescription + .mt-2 {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    font-size: 14px !important;
    line-height: 19px !important;
}

/* Fare heading and rows: a second, substantial reduction in height. */
body.page_cruise_category .category-price-table > .row,
body.page_cruise_category .category-price-table-row,
body.page_cruise_category .category-price-table .row {
    min-height: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
    padding: 0 8px !important;
}

body.page_cruise_category .category-price-table > .row:first-child,
body.page_cruise_category .category-price-table .row:first-child {
    min-height: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
}

body.page_cruise_category .category-price-table-cell,
body.page_cruise_category .category-price-table-cell-body {
    max-height: 50px !important;
    padding: 2px 8px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
}

body.page_cruise_category .category-price-table-cell [data-ody-id="TotalPrice"],
body.page_cruise_category .category-price-table-cell .price,
body.page_cruise_category .category-price-table-cell [class*="price"] {
    font-size: 22px !important;
    line-height: 1.05 !important;
}

body.page_cruise_category .category-price-table-cell .btn,
body.page_cruise_category .category-price-table-cell button {
    width: 174px !important;
    min-width: 174px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    font-size: 17px !important;
    line-height: 38px !important;
}

/* Left cruise facts: neat aligned rows with JC teal icons. */
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] {
    padding: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] > div {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-height: 30px !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] i,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] i::before,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] svg {
    flex: 0 0 22px !important;
    width: 22px !important;
    color: var(--jc-teal) !important;
    -webkit-text-fill-color: var(--jc-teal) !important;
    fill: var(--jc-teal) !important;
}

/* Left itinerary: consistent type, compact rhythm and teal pictograms. */
body.page_cruise_category #packageDetails .itinerary-accordion-header {
    min-height: 40px !important;
    padding: 7px 10px !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

body.page_cruise_category #packageDetails .section-itinerary-wrapper {
    padding: 0 12px 10px !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

body.page_cruise_category #packageDetails .section-itinerary-wrapper .p-2 {
    margin: 0 !important;
    padding: 7px 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.page_cruise_category #packageDetails .itinerary-details {
    margin: 8px 0 0 !important;
    padding-left: 18px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.page_cruise_category #packageDetails .itinerary-details li {
    margin: 0 0 9px !important;
    padding: 0 0 5px !important;
}

body.page_cruise_category #packageDetails .itinerary-details i,
body.page_cruise_category #packageDetails .itinerary-details i::before,
body.page_cruise_category #packageDetails .itinerary-details svg {
    color: var(--jc-teal) !important;
    -webkit-text-fill-color: var(--jc-teal) !important;
    fill: var(--jc-teal) !important;
}

body.page_cruise_category #packageDetails .itinerary-details strong,
body.page_cruise_category #packageDetails .itinerary-details b {
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   CHECKOUT — TOP ITINERARY CONTAINER
   -------------------------------------------------------------------------- */

/* Remove the grey Home / Search Results / cruise-title breadcrumb strip. */
body.page_booking_checkout .breadcrumb.mb-2.py-1.pr-2,
body.page_checkout .breadcrumb.mb-2.py-1.pr-2,
body.page_booking_checkout .breadcrumb-wrapper,
body.page_checkout .breadcrumb-wrapper,
body.page_booking_checkout .breadcrumb-container,
body.page_checkout .breadcrumb-container,
body.page_booking_checkout .breadcrumb-section,
body.page_checkout .breadcrumb-section,
body.page_booking_checkout .page-breadcrumb,
body.page_checkout .page-breadcrumb,
body.page_booking_checkout ol.breadcrumb,
body.page_checkout ol.breadcrumb,
body.page_booking_checkout nav[aria-label="breadcrumb"],
body.page_checkout nav[aria-label="breadcrumb"],
body.page_booking_checkout [data-ody-id="Breadcrumb"],
body.page_checkout [data-ody-id="Breadcrumb"],
body.page_booking_checkout [data-ody-id="CruiseBreadcrumb"],
body.page_checkout [data-ody-id="CruiseBreadcrumb"] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* The whole top itinerary card is the clean, white main content panel. */
body.page_booking_checkout .mProItinerary,
body.page_checkout .mProItinerary,
body.page_booking_checkout #mProParentItineraryContainer,
body.page_checkout #mProParentItineraryContainer {
    background: var(--jc-white) !important;
}

/* Your Itinerary — the one strong section heading at the top of checkout. */
body.page_booking_checkout [data-ody-id="YourItineraryHeader"],
body.page_checkout [data-ody-id="YourItineraryHeader"] {
    min-height: 56px !important;
    padding: 15px 18px !important;
    border: 0 !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--jc-teal) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

body.page_booking_checkout [data-ody-id="YourItineraryHeader"] *,
body.page_checkout [data-ody-id="YourItineraryHeader"] * {
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

/* Remove the redundant Day / 1 To 8 rail and let itinerary content use its space. */
body.page_booking_checkout .package-itinerary-node-day,
body.page_checkout .package-itinerary-node-day {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.page_booking_checkout .package-itinerary-table,
body.page_checkout .package-itinerary-table {
    width: 100% !important;
}

body.page_booking_checkout .package-itinerary-body,
body.page_checkout .package-itinerary-body {
    padding-left: 0 !important;
}

@media (max-width: 575px) {
    body.page_booking_checkout [data-ody-id="YourItineraryHeader"],
    body.page_checkout [data-ody-id="YourItineraryHeader"] {
        min-height: 50px !important;
        padding: 13px 15px !important;
    }

    body.page_booking_checkout [data-ody-id="YourItineraryHeader"] *,
    body.page_checkout [data-ody-id="YourItineraryHeader"] * {
        font-size: 22px !important;
    }
}

/* --------------------------------------------------------------------------
   CATEGORY DEPTH + CLEAN LEFT FACTS + TIGHT NOTICE
   20 September 2026 — 9:17 am Brisbane
   -------------------------------------------------------------------------- */

/* Give the four category choices a subtle drop shadow as one visual group. */
body.page_cruise_category #categoryTabs {
    position: relative !important;
    z-index: 2 !important;
    box-shadow: 0 5px 12px rgba(0, 35, 75, .20) !important;
}

/* Clean Cruising-style left alignment, retaining the JC teal pictograms. */
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] {
    width: auto !important;
    margin: 10px 34px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
}

body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] img {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 190px !important;
    max-height: 42px !important;
    margin: 0 !important;
}

body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] > div {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    min-height: 28px !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] .odi,
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] .odi::before,
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] .odi-icon,
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] .odi-icon::before,
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] [class*="odi-"]::before,
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] i,
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] i::before {
    flex: 0 0 24px !important;
    width: 24px !important;
    color: var(--jc-teal) !important;
    -webkit-text-fill-color: var(--jc-teal) !important;
}

/* Deck Plans is not part of the required category flow. */
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] a[href*="deck" i],
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] > div:has(a[href*="deck" i]) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Remove the unused envelope/request-quote strip completely. */
body.page_cruise_category #packageDetails .non-sticky-page-request-quote-section,
body.page_cruise_category .section-sidebar .non-sticky-page-request-quote-section {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Tighten the availability notice and its surrounding vertical margin. */
body.page_cruise_category .main-grid-content .alert-info,
body.page_cruise_category .main-grid-content .alert.alert-info {
    min-height: 0 !important;
    margin: 8px 0 12px !important;
    padding: 12px 18px !important;
    font-size: 15px !important;
    line-height: 20px !important;
}

/* Reduce the remaining gap between the category card and its fare table. */
body.page_cruise_category .category-cabin-details {
    padding-top: 10px !important;
    padding-bottom: 8px !important;
}

body.page_cruise_category .category-price-table {
    margin-top: 0 !important;
}

/* ============================================================
   CHECKOUT — FARE TYPE + PAYMENT SCHEDULE
   Smaller information headers use the locked pale-teal/navy system.
   The schedule body remains a single white table beneath its header.
   ============================================================ */
body.page_booking_checkout #packageDetails .cruise-details.special-offers > .list-group > h6.list-group-item.bg-secondary.display-with-icon,
body.page_checkout #packageDetails .cruise-details.special-offers > .list-group > h6.list-group-item.bg-secondary.display-with-icon {
  background: var(--jc-teal-pale) !important;
  border: 1px solid var(--jc-teal-mid) !important;
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
  font-family: Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  padding: 12px 16px !important;
}

body.page_booking_checkout #packageDetails .cruise-details.special-offers > .list-group > h6.list-group-item.bg-secondary.display-with-icon *,
body.page_checkout #packageDetails .cruise-details.special-offers > .list-group > h6.list-group-item.bg-secondary.display-with-icon * {
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
}

body.page_booking_checkout #PaymentsScheduleSectionDIV,
body.page_checkout #PaymentsScheduleSectionDIV {
  background: var(--jc-teal-pale) !important;
  border: 1px solid var(--jc-teal-mid) !important;
  border-radius: 4px 4px 0 0 !important;
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
  font-family: Arial, sans-serif !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
}

body.page_booking_checkout #PaymentsScheduleSectionDIV .pay-head,
body.page_booking_checkout #PaymentsScheduleSectionDIV [data-ody-id],
body.page_checkout #PaymentsScheduleSectionDIV .pay-head,
body.page_checkout #PaymentsScheduleSectionDIV [data-ody-id] {
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
  font-family: Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

body.page_booking_checkout #content_PaymentsScheduleSection_CustomerCombined,
body.page_checkout #content_PaymentsScheduleSection_CustomerCombined {
  background: var(--jc-white) !important;
  border: 1px solid var(--jc-teal-mid) !important;
  border-top: 0 !important;
  border-radius: 0 0 4px 4px !important;
  color: var(--jc-text) !important;
  font-family: Arial, sans-serif !important;
}

/* ============================================================
   CHECKOUT + CATEGORY — LOCKED HIERARCHY CORRECTIONS
   20 September 2026
   ============================================================ */

/* Major checkout section: Total Cabin Cost matches Your Itinerary. */
body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] :is(.card-header, h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]),
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] :is(.card-header, h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]) {
  background: var(--jc-teal) !important;
  border-color: var(--jc-teal) !important;
  color: var(--jc-white) !important;
  -webkit-text-fill-color: var(--jc-white) !important;
  font-family: Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  min-height: 64px !important;
  padding: 16px 20px !important;
}

body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] :is(.card-header, h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]) *,
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] :is(.card-header, h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]) * {
  color: var(--jc-white) !important;
  -webkit-text-fill-color: var(--jc-white) !important;
}

/* Major checkout section: Guest Details matches Your Itinerary. */
body.page_booking_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id="GuestDetails"], [data-ody-id="GuestDetailsSection"], [data-ody-id="GuestDetailsWrapper"]) > :is(.card-header, .section-title, [data-ody-id*="Header" i], [data-ody-id*="Title" i]),
body.page_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id="GuestDetails"], [data-ody-id="GuestDetailsSection"], [data-ody-id="GuestDetailsWrapper"]) > :is(.card-header, .section-title, [data-ody-id*="Header" i], [data-ody-id*="Title" i]) {
  background: var(--jc-teal) !important;
  border-color: var(--jc-teal) !important;
  color: var(--jc-white) !important;
  -webkit-text-fill-color: var(--jc-white) !important;
  font-family: Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  min-height: 64px !important;
  padding: 16px 20px !important;
}

body.page_booking_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id="GuestDetails"], [data-ody-id="GuestDetailsSection"], [data-ody-id="GuestDetailsWrapper"]) > :is(.card-header, .section-title, [data-ody-id*="Header" i], [data-ody-id*="Title" i]) *,
body.page_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id="GuestDetails"], [data-ody-id="GuestDetailsSection"], [data-ody-id="GuestDetailsWrapper"]) > :is(.card-header, .section-title, [data-ody-id*="Header" i], [data-ody-id*="Title" i]) * {
  color: var(--jc-white) !important;
  -webkit-text-fill-color: var(--jc-white) !important;
}

/* Guest Details note: one quiet, normal-font line. */
body.page_booking_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id*="GuestDetails" i], .guest-details) .alert-info,
body.page_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id*="GuestDetails" i], .guest-details) .alert-info {
  background: var(--jc-teal-soft) !important;
  border: 1px solid var(--jc-teal-mid) !important;
  border-radius: 4px !important;
  color: var(--jc-text) !important;
  -webkit-text-fill-color: var(--jc-text) !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  padding: 12px 16px !important;
}

body.page_booking_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id*="GuestDetails" i], .guest-details) .alert-info :is(hr, br),
body.page_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id*="GuestDetails" i], .guest-details) .alert-info :is(hr, br) {
  display: none !important;
}

body.page_booking_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id*="GuestDetails" i], .guest-details) .alert-info :is(strong, b, p, span),
body.page_checkout :is(#GuestDetails, #GuestDetailsSection, [data-ody-id*="GuestDetails" i], .guest-details) .alert-info :is(strong, b, p, span) {
  color: var(--jc-text) !important;
  -webkit-text-fill-color: var(--jc-text) !important;
  display: inline !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

/* Payment Schedule is a smaller information section, never a bright-blue bar. */
#PaymentsScheduleSectionDIV {
  background: var(--jc-teal-pale) !important;
  border: 1px solid var(--jc-teal-mid) !important;
  border-radius: 4px 4px 0 0 !important;
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
  font-family: Arial, sans-serif !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
}

#PaymentsScheduleSectionDIV :is(.pay-head, [data-ody-id], i, svg, svg path) {
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
  fill: var(--jc-navy) !important;
  font-family: Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Cabin category selector: selected tile moves with ODS's active state. */
body.page_cruise_category #categoryTabs > :is(li, .nav-item).active > :is(.nav-link, .pointer),
body.page_cruise_category #categoryTabs :is(.nav-link, .pointer).active,
body.page_cruise_category #categoryTabs :is(.nav-link, .pointer)[aria-selected="true"] {
  background: var(--jc-teal) !important;
  border-color: var(--jc-teal) !important;
  color: var(--jc-white) !important;
  -webkit-text-fill-color: var(--jc-white) !important;
}

body.page_cruise_category #categoryTabs > :is(li, .nav-item).active > :is(.nav-link, .pointer) *,
body.page_cruise_category #categoryTabs :is(.nav-link, .pointer).active *,
body.page_cruise_category #categoryTabs :is(.nav-link, .pointer)[aria-selected="true"] * {
  color: var(--jc-white) !important;
  -webkit-text-fill-color: var(--jc-white) !important;
}

body.page_cruise_category #categoryTabs > :is(li, .nav-item):not(.active) > :is(.nav-link, .pointer):not(.active):not([aria-selected="true"]) {
  background: var(--jc-teal-pale) !important;
  border-color: var(--jc-teal-mid) !important;
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
}

body.page_cruise_category #categoryTabs > :is(li, .nav-item):not(.active) > :is(.nav-link, .pointer):not(.active):not([aria-selected="true"]) * {
  color: var(--jc-navy) !important;
  -webkit-text-fill-color: var(--jc-navy) !important;
}

/* ======================================================================
   TEST CORRECTIONS — 20 September 2026
   These rules deliberately sit at the physical end of the stylesheet.
   ====================================================================== */

/* Category: keep the live-price action on the left with the guest inputs. */
body.page_cruise_category .guestAgeButtons {
    text-align: left !important;
}

body.page_cruise_category .guestAgeButtons > :is(.btn, button) {
    margin-right: auto !important;
    margin-left: 0 !important;
}

/* Category/cabin sidebar: remove the non-booking Deck Plans and mail rows. */
body.page_cruise_category #packageDetails :is(
    [data-ody-id*="Deck" i],
    [data-ody-id*="Mail" i],
    [data-ody-id*="Email" i],
    a[href*="deck" i],
    a[href*="mail" i],
    a[href^="mailto:" i],
    [class*="envelope" i],
    [class*="request-quote" i]
),
body.page_cruise_category #packageDetails :is(
    [data-ody-id="CruiseGeneralDetailsWrapper"],
    [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"]
) > div:has(:is(
    [data-ody-id*="Deck" i],
    [data-ody-id*="Mail" i],
    [data-ody-id*="Email" i],
    a[href*="deck" i],
    a[href*="mail" i],
    a[href^="mailto:" i],
    [class*="envelope" i]
)) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Total Cabin Cost: one itinerary-style heading; the cruise name is body copy. */
body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :is(.card-header, h6.list-group-item.bg-secondary):first-child,
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :is(.card-header, h6.list-group-item.bg-secondary):first-child {
    min-height: 56px !important;
    padding: 14px 18px !important;
    border: 0 !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--jc-teal) !important;
    background-image: none !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :is(.card-header, h6.list-group-item.bg-secondary):first-child *,
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :is(.card-header, h6.list-group-item.bg-secondary):first-child * {
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font: inherit !important;
}

body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(:first-child) :is(h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]),
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(:first-child) :is(h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]) {
    min-height: 0 !important;
    padding: 10px 14px !important;
    border-color: var(--jc-border) !important;
    background: var(--jc-white) !important;
    background-image: none !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(:first-child) :is(h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]) *,
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(:first-child) :is(h6.list-group-item.bg-secondary, [data-ody-id*="Title" i]) * {
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font: inherit !important;
}

/* Guest Details is the major section; individual passengers remain pale teal. */
body.page_booking_checkout .card:has(.alert-info) > :is(.card-header, h6.list-group-item.bg-secondary.display-with-icon):first-child,
body.page_checkout .card:has(.alert-info) > :is(.card-header, h6.list-group-item.bg-secondary.display-with-icon):first-child {
    min-height: 56px !important;
    padding: 14px 18px !important;
    border: 0 !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--jc-teal) !important;
    background-image: none !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

body.page_booking_checkout .card:has(.alert-info) > :is(.card-header, h6.list-group-item.bg-secondary.display-with-icon):first-child *,
body.page_checkout .card:has(.alert-info) > :is(.card-header, h6.list-group-item.bg-secondary.display-with-icon):first-child * {
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font: inherit !important;
}

/* Note: one quiet body-text line, without the inherited divider. */
body.page_booking_checkout .alert-info,
body.page_checkout .alert-info {
    display: block !important;
    min-height: 0 !important;
    margin: 12px 0 !important;
    padding: 12px 16px !important;
    border: 1px solid var(--jc-teal-mid) !important;
    border-radius: 4px !important;
    background: var(--jc-teal-soft) !important;
    background-image: none !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
}

body.page_booking_checkout .alert-info :is(hr, br),
body.page_checkout .alert-info :is(hr, br) {
    display: none !important;
}

body.page_booking_checkout .alert-info :is(div, p, span, strong, b),
body.page_checkout .alert-info :is(div, p, span, strong, b) {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font: inherit !important;
}

/* Payment Schedule: replace the ODS blue on the header and all its cells. */
body.page_booking_checkout #PaymentsScheduleSectionDIV.payment-header.table-header,
body.page_checkout #PaymentsScheduleSectionDIV.payment-header.table-header {
    min-height: 48px !important;
    padding: 11px 16px !important;
    border: 1px solid var(--jc-teal-mid) !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--jc-teal-pale) !important;
    background-color: var(--jc-teal-pale) !important;
    background-image: none !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    box-shadow: none !important;
}

body.page_booking_checkout #PaymentsScheduleSectionDIV.payment-header.table-header :is(.pay-head, [data-ody-id], div, i, svg, svg path),
body.page_checkout #PaymentsScheduleSectionDIV.payment-header.table-header :is(.pay-head, [data-ody-id], div, i, svg, svg path) {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    fill: var(--jc-navy) !important;
    border-color: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* Checkout final actions: equal visual weight, clear primary/secondary hierarchy. */
body.page_booking_checkout :is(.hold-cabin, .hold-cabin-buttons, .booking-actions, .checkout-actions, [data-ody-id*="HoldCabin" i]),
body.page_checkout :is(.hold-cabin, .hold-cabin-buttons, .booking-actions, .checkout-actions, [data-ody-id*="HoldCabin" i]) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

body.page_booking_checkout :is(#btnHoldCabin, #btnHoldCabinAndPay, #HoldCabin, #HoldCabinAndPay, [data-ody-id*="HoldCabin" i]) :is(a, button, input),
body.page_checkout :is(#btnHoldCabin, #btnHoldCabinAndPay, #HoldCabin, #HoldCabinAndPay, [data-ody-id*="HoldCabin" i]) :is(a, button, input),
body.page_booking_checkout :is(#btnHoldCabin, #btnHoldCabinAndPay, #HoldCabin, #HoldCabinAndPay),
body.page_checkout :is(#btnHoldCabin, #btnHoldCabinAndPay, #HoldCabin, #HoldCabinAndPay) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    border-radius: 4px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

body.page_booking_checkout :is(#btnHoldCabin, #HoldCabin, [data-ody-id="HoldCabin"]),
body.page_checkout :is(#btnHoldCabin, #HoldCabin, [data-ody-id="HoldCabin"]) {
    border: 1px solid var(--jc-teal) !important;
    background: var(--jc-white) !important;
    color: var(--jc-teal-dark) !important;
    -webkit-text-fill-color: var(--jc-teal-dark) !important;
}

body.page_booking_checkout :is(#btnHoldCabinAndPay, #HoldCabinAndPay, [data-ody-id*="HoldCabinAndPay" i]),
body.page_checkout :is(#btnHoldCabinAndPay, #HoldCabinAndPay, [data-ody-id*="HoldCabinAndPay" i]) {
    border: 1px solid var(--jc-teal) !important;
    background: var(--jc-teal) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

@media (max-width: 767px) {
    body.page_booking_checkout .alert-info,
    body.page_checkout .alert-info {
        white-space: normal !important;
    }
}

/* ============================= END FILE ============================= */

/* ======================================================================
   SCREENSHOT CORRECTION PASS
   20 September 2026 — 2:43 PM Brisbane
   ====================================================================== */

/* Selected category tile: keep its label and price white as selection moves. */
body.page_cruise_category #categoryTabs .tabCatAirIncl.active,
body.page_cruise_category #categoryTabs .tabCatAirIncl.selected,
body.page_cruise_category #categoryTabs .tabCatAirIncl[aria-selected="true"],
body.page_cruise_category #categoryTabs .pointer.nav-link.active,
body.page_cruise_category #categoryTabs .pointer.nav-link.selected,
body.page_cruise_category #categoryTabs .pointer.nav-link[aria-selected="true"] {
    border-color: var(--jc-teal) !important;
    background: var(--jc-teal) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

body.page_cruise_category #categoryTabs .tabCatAirIncl.active *,
body.page_cruise_category #categoryTabs .tabCatAirIncl.selected *,
body.page_cruise_category #categoryTabs .tabCatAirIncl[aria-selected="true"] *,
body.page_cruise_category #categoryTabs .pointer.nav-link.active *,
body.page_cruise_category #categoryTabs .pointer.nav-link.selected *,
body.page_cruise_category #categoryTabs .pointer.nav-link[aria-selected="true"] * {
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

/* Total Cabin Cost: only its true card header is teal. */
body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > .card-header,
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > .card-header {
    min-height: 56px !important;
    padding: 15px 18px !important;
    border: 0 !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--jc-teal) !important;
    background-image: none !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > .card-header *,
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > .card-header * {
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

/* Undo the earlier broad Title match on the cruise-description row. */
body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(.card-header) [data-ody-id*="Title" i],
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(.card-header) [data-ody-id*="Title" i] {
    min-height: 0 !important;
    padding: 8px 10px !important;
    border-color: var(--jc-border) !important;
    background: var(--jc-white) !important;
    background-image: none !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

body.page_booking_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(.card-header) [data-ody-id*="Title" i] *,
body.page_checkout [data-ody-id="PriceSummarySectionWrapperCheckout"] > :not(.card-header) [data-ody-id*="Title" i] * {
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
}

/* Guest Details: target the ODS passenger-details step header. */
body.page_booking_checkout :is(
    #GuestDetails,
    #GuestDetailsSection,
    #PassengerDetails,
    #PassengerDetailsSection,
    [data-ody-id="GuestDetailsWrapper"],
    [data-ody-id="PassengerDetailsWrapper"],
    [data-ody-id="PassengerDetailsSectionWrapper"],
    .guest-details,
    .passenger-details,
    .passengerDetails
) > :is(.card-header, .section-title, .accordion-header, h6.list-group-item.bg-secondary):first-child,
body.page_checkout :is(
    #GuestDetails,
    #GuestDetailsSection,
    #PassengerDetails,
    #PassengerDetailsSection,
    [data-ody-id="GuestDetailsWrapper"],
    [data-ody-id="PassengerDetailsWrapper"],
    [data-ody-id="PassengerDetailsSectionWrapper"],
    .guest-details,
    .passenger-details,
    .passengerDetails
) > :is(.card-header, .section-title, .accordion-header, h6.list-group-item.bg-secondary):first-child,
body.page_booking_checkout :is(
    [data-ody-id="GuestDetailsTitleBar"],
    [data-ody-id="GuestDetailsHeader"],
    [data-ody-id="PassengerDetailsTitleBar"],
    [data-ody-id="PassengerDetailsHeader"]
),
body.page_checkout :is(
    [data-ody-id="GuestDetailsTitleBar"],
    [data-ody-id="GuestDetailsHeader"],
    [data-ody-id="PassengerDetailsTitleBar"],
    [data-ody-id="PassengerDetailsHeader"]
) {
    min-height: 56px !important;
    padding: 15px 18px !important;
    border: 0 !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--jc-teal) !important;
    background-image: none !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

body.page_booking_checkout :is(
    [data-ody-id="GuestDetailsTitleBar"],
    [data-ody-id="GuestDetailsHeader"],
    [data-ody-id="PassengerDetailsTitleBar"],
    [data-ody-id="PassengerDetailsHeader"]
) *,
body.page_checkout :is(
    [data-ody-id="GuestDetailsTitleBar"],
    [data-ody-id="GuestDetailsHeader"],
    [data-ody-id="PassengerDetailsTitleBar"],
    [data-ody-id="PassengerDetailsHeader"]
) * {
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
}

/* Guest note: compact one-line presentation in the normal body type. */
body.page_booking_checkout :is(
    #GuestDetails,
    #GuestDetailsSection,
    #PassengerDetails,
    #PassengerDetailsSection,
    [data-ody-id*="GuestDetails" i],
    [data-ody-id*="PassengerDetails" i],
    .guest-details,
    .passenger-details,
    .passengerDetails
) .alert-info,
body.page_checkout :is(
    #GuestDetails,
    #GuestDetailsSection,
    #PassengerDetails,
    #PassengerDetailsSection,
    [data-ody-id*="GuestDetails" i],
    [data-ody-id*="PassengerDetails" i],
    .guest-details,
    .passenger-details,
    .passengerDetails
) .alert-info {
    min-height: 0 !important;
    margin: 12px 0 !important;
    padding: 12px 16px !important;
    border: 1px solid var(--jc-teal-mid) !important;
    border-radius: 4px !important;
    background: var(--jc-teal-soft) !important;
    background-image: none !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
}

body.page_booking_checkout :is(
    [data-ody-id*="GuestDetails" i],
    [data-ody-id*="PassengerDetails" i],
    .guest-details,
    .passenger-details,
    .passengerDetails
) .alert-info :is(hr, br),
body.page_checkout :is(
    [data-ody-id*="GuestDetails" i],
    [data-ody-id*="PassengerDetails" i],
    .guest-details,
    .passenger-details,
    .passengerDetails
) .alert-info :is(hr, br) {
    display: none !important;
}

body.page_booking_checkout :is(
    [data-ody-id*="GuestDetails" i],
    [data-ody-id*="PassengerDetails" i],
    .guest-details,
    .passenger-details,
    .passengerDetails
) .alert-info :is(div, p, span, strong, b),
body.page_checkout :is(
    [data-ody-id*="GuestDetails" i],
    [data-ody-id*="PassengerDetails" i],
    .guest-details,
    .passenger-details,
    .passengerDetails
) .alert-info :is(div, p, span, strong, b) {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

/* Payment Schedule: neutralise ODS's bright-blue header on every layer. */
body.page_booking_checkout #PaymentsScheduleSectionDIV,
body.page_checkout #PaymentsScheduleSectionDIV,
body.page_booking_checkout .payment-schedule-customer #PaymentsScheduleSectionDIV,
body.page_checkout .payment-schedule-customer #PaymentsScheduleSectionDIV {
    min-height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--jc-teal-mid) !important;
    border-radius: 4px 4px 0 0 !important;
    background: var(--jc-teal-pale) !important;
    background-color: var(--jc-teal-pale) !important;
    background-image: none !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    box-shadow: none !important;
}

body.page_booking_checkout #PaymentsScheduleSectionDIV::before,
body.page_booking_checkout #PaymentsScheduleSectionDIV::after,
body.page_checkout #PaymentsScheduleSectionDIV::before,
body.page_checkout #PaymentsScheduleSectionDIV::after,
body.page_booking_checkout #PaymentsScheduleSectionDIV > *,
body.page_checkout #PaymentsScheduleSectionDIV > * {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    border-color: transparent !important;
}

body.page_booking_checkout #PaymentsScheduleSectionDIV :is(.pay-head, [data-ody-id], i, svg, svg path),
body.page_checkout #PaymentsScheduleSectionDIV :is(.pay-head, [data-ody-id], i, svg, svg path) {
    color: var(--jc-navy) !important;
    -webkit-text-fill-color: var(--jc-navy) !important;
    fill: var(--jc-navy) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

/* Cabin-category codes (IF, IE, IC, etc.) use one consistent JC treatment. */
body.page_cruise_category :is(
    [data-ody-id="CategoryCode"],
    [data-ody-id="CabinCategoryCode"],
    .category-code,
    .cabin-category-code
) {
    border-color: var(--jc-teal) !important;
    background: var(--jc-teal) !important;
    background-image: none !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

/* ============================= END FILE ============================= */

/* --------------------------------------------------------------------------
   FINAL COMPACT PASS
   20 September 2026 — 7:54 am Brisbane
   -------------------------------------------------------------------------- */

/* Compact cruise title card and remove the redundant "Category Selection". */
body.page_cruise_category [data-ody-id="stickyPackageTitle"],
body.page_cruise_category [data-ody-id="StickyPageTitle"] {
    min-height: 0 !important;
    height: auto !important;
    padding: 12px !important;
}

body.page_cruise_category [data-ody-id="stickyPackageTitle"] .page-title.cruise-details-title,
body.page_cruise_category [data-ody-id="StickyPageTitle"] .page-title.cruise-details-title {
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
}

body.page_cruise_category [data-ody-id="stickyPackageTitle"] > .d-flex.flex-wrap.align-items-center,
body.page_cruise_category [data-ody-id="StickyPageTitle"] > .d-flex.flex-wrap.align-items-center {
    display: none !important;
}

/* Remove only the tax-message element that follows the visible price. */
body.page_cruise_category #categoryTabs [data-ody-id="CategoryFromPriceWrapper"] ~ * {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Keep the useful opening cabin facts; hide the generic tail from TV onward. */
body.page_cruise_category .categoryCabinDescription .ic-description {
    display: block !important;
    max-height: 76px !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 19px !important;
}

body.page_cruise_category .category-cabin-details {
    gap: 14px !important;
    padding: 12px 20px 10px !important;
}

body.page_cruise_category .category-description .categoryCabinDescription {
    max-height: 76px !important;
    margin-bottom: 3px !important;
    line-height: 19px !important;
}

body.page_cruise_category .category-description .categoryCabinDescription + .mt-2 {
    margin-top: 2px !important;
    line-height: 18px !important;
}

/* Reduce the Cost Per Person heading band by a further forty percent. */
body.page_cruise_category .category-price-table > .row:first-child,
body.page_cruise_category .category-price-table .row:first-child {
    min-height: 25px !important;
    height: 25px !important;
    max-height: 25px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page_cruise_category .category-price-table > .row:first-child .category-price-table-cell,
body.page_cruise_category .category-price-table .row:first-child .category-price-table-cell {
    height: 25px !important;
    min-height: 25px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 25px !important;
}

/* Catch both ODS left-facts wrappers and their font/SVG pseudo-icons. */
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] i,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] i::before,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] [class*="icon-"]::before,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] svg,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] svg path,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] [class*="icon-"]::before,
body.page_cruise_category [data-ody-id="CruiseGeneralDetailsWrapper"] svg path {
    color: var(--jc-teal) !important;
    -webkit-text-fill-color: var(--jc-teal) !important;
    fill: var(--jc-teal) !important;
}

/* --------------------------------------------------------------------------
   CATEGORY LABEL RESTORE + EXACT FARE HEADER
   20 September 2026 — 8:32 am Brisbane
   -------------------------------------------------------------------------- */

/* Explicitly retain the category name and price after removing the tax line. */
body.page_cruise_category #categoryTabs .tabCatAirIncl strong,
body.page_cruise_category #categoryTabs .pointer.nav-link strong,
body.page_cruise_category #categoryTabs [data-ody-id="CategoryFromPriceWrapper"] {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

/* ODS inserts hidden siblings before this row, so first-of-type is required. */
body.page_cruise_category .category-price-table > .row:first-of-type,
body.page_cruise_category .category-price-table > .category-price-table-row:first-of-type {
    min-height: 25px !important;
    height: 25px !important;
    max-height: 25px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page_cruise_category .category-price-table > .row:first-of-type .category-price-table-cell,
body.page_cruise_category .category-price-table > .category-price-table-row:first-of-type .category-price-table-cell,
body.page_cruise_category .category-price-table > .row:first-of-type .category-price-table-cell-body,
body.page_cruise_category .category-price-table > .category-price-table-row:first-of-type .category-price-table-cell-body {
    min-height: 25px !important;
    height: 25px !important;
    max-height: 25px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 25px !important;
}

/* Additional ODS identifiers used by the redundant Deck Plans row. */
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] [data-ody-id*="Deck" i],
body.page_cruise_category #packageDetails [data-ody-id="CruiseGeneralDetailsWrapper"] > div:has([data-ody-id*="Deck" i]) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Final compact values must follow the earlier cabin-card declarations. */
body.page_cruise_category .category-cabin-details {
    padding-top: 10px !important;
    padding-bottom: 8px !important;
}

/* --------------------------------------------------------------------------
   GUARANTEE CABIN CONFIRMATION
   ODS displays #skipCabinModal only when its skipCabinVal is true.
   The existing ODS controls are deliberately retained: the link returns to
   Categories and the primary button continues to Checkout.
   -------------------------------------------------------------------------- */
#skipCabinModal {
    z-index: 1060 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

#skipCabinModal .modal-dialog {
    width: calc(100% - 28px) !important;
    max-width: 560px !important;
    margin: 8vh auto !important;
}

#skipCabinModal .modal-content {
    overflow: hidden !important;
    border: 1px solid var(--jc-border) !important;
    border-radius: 8px !important;
    background: var(--jc-white) !important;
    box-shadow: 0 12px 32px rgba(0, 35, 75, .28) !important;
}

#skipCabinModal .modal-header {
    min-height: 0 !important;
    padding: 18px 52px 16px 22px !important;
    border: 0 !important;
    border-bottom: 4px solid var(--jc-teal) !important;
    background: var(--jc-navy) !important;
}

#skipCabinModal .modal-header :is(h1, h2, h3, h4, h5, h6, [id="skipCabin"]) {
    margin: 0 !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

#skipCabinModal .close {
    position: absolute !important;
    top: 11px !important;
    right: 14px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    opacity: .9 !important;
    text-shadow: none !important;
}

#skipCabinModal .close:hover,
#skipCabinModal .close:focus {
    opacity: 1 !important;
    outline: 0 !important;
}

#skipCabinModal .modal-body {
    padding: 22px !important;
    color: var(--jc-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

#skipCabinModal .modal-body :is(p, li, strong, span) {
    color: var(--jc-text) !important;
    -webkit-text-fill-color: var(--jc-text) !important;
}

#skipCabinModal .modal-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    padding: 0 22px 22px !important;
    border: 0 !important;
    background: var(--jc-white) !important;
}

#skipCabinModal .modal-footer > a,
#skipCabinModal .modal-footer > button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border-radius: 4px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

/* Existing ODS "Change Category" link. */
#skipCabinModal .modal-footer > a {
    border: 1px solid var(--jc-teal) !important;
    background: var(--jc-white) !important;
    color: var(--jc-teal-dark) !important;
    -webkit-text-fill-color: var(--jc-teal-dark) !important;
}

#skipCabinModal .modal-footer > a:hover,
#skipCabinModal .modal-footer > a:focus {
    background: var(--jc-teal-soft) !important;
    color: var(--jc-teal-dark) !important;
    -webkit-text-fill-color: var(--jc-teal-dark) !important;
}

/* Existing ODS "Continue to Booking" button. */
#skipCabinModal .modal-footer > .btn-primary {
    border: 1px solid var(--jc-navy) !important;
    background: var(--jc-navy) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

#skipCabinModal .modal-footer > .btn-primary:hover,
#skipCabinModal .modal-footer > .btn-primary:focus {
    border-color: var(--jc-teal-dark) !important;
    background: var(--jc-teal-dark) !important;
    color: var(--jc-white) !important;
    -webkit-text-fill-color: var(--jc-white) !important;
}

@media (max-width: 575px) {
    #skipCabinModal .modal-dialog {
        margin-top: 20px !important;
    }

    #skipCabinModal .modal-header {
        padding: 16px 48px 14px 18px !important;
    }

    #skipCabinModal .modal-header :is(h1, h2, h3, h4, h5, h6, [id="skipCabin"]) {
        font-size: 20px !important;
    }

    #skipCabinModal .modal-body {
        padding: 18px !important;
    }

    #skipCabinModal .modal-footer {
        padding: 0 18px 18px !important;
    }

    #skipCabinModal .modal-footer > a,
    #skipCabinModal .modal-footer > button {
        width: 100% !important;
    }
}

/* Checkout: suppress the empty ODS information shell shown above the itinerary.
   Genuine notices with message content remain visible. */
body.page_booking_checkout .alert.alert-info.alert-dismissible:has(> :is(.close, [data-dismiss="alert"])):not(:has(:is(.alert-message, .message, [data-ody-id*="Message" i], p, span, strong, b, li, a:not(.close)))),
body.page_checkout .alert.alert-info.alert-dismissible:has(> :is(.close, [data-dismiss="alert"])):not(:has(:is(.alert-message, .message, [data-ody-id*="Message" i], p, span, strong, b, li, a:not(.close)))) {
    display: none !important;
}

/* ============================= END FILE ============================= */
