/* =========================================================
   JUST CRUISES — ODS RESULTS
   STABLE PRICE BOX
   COMPACT CRUISE CARDS — PRICE BOX MOVED RIGHT
   ========================================================= */


/* =========================================================
   1. RESULT CARD — COMPACT FIXED HEIGHT
   ========================================================= */

body.results-page .cruise-item-card {
    position: relative !important;

    height: 235px !important;
    min-height: 235px !important;
    max-height: 235px !important;

    margin: 0 0 8px 0 !important;
    padding: 8px 12px 6px 12px !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* =========================================================
   2. TITLE
   ========================================================= */

body.results-page .cruise-item-card .cruise-title {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;

    color: #00234B !important;

    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
}

body.results-page .cruise-item-card .cruise-title a,
body.results-page .cruise-item-card .cruise-title span {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* =========================================================
   3. HIDE TOP-RIGHT DESTINATION
   ========================================================= */

body.results-page .cruise-item-card .rule-icons {
    display: none !important;
}


/* =========================================================
   4. MAP
   ========================================================= */

@media (min-width: 992px) {

    body.results-page .cruise-item-card .card-image {
        width: 190px !important;
        max-width: 190px !important;

        margin: 0 12px 0 0 !important;
        padding: 0 !important;
    }

    body.results-page .cruise-item-card .card-image img {
        display: block !important;

        width: 190px !important;
        max-width: 190px !important;

        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }
}


/* =========================================================
   5. REMOVE DESTINATION STRIP UNDER MAP
   ========================================================= */

body.results-page .cruise-item-card .card-image-caption {
    display: none !important;
}


/* =========================================================
   6. CRUISE LINE LOGO
   ========================================================= */

body.results-page .cruise-item-card .cruise-logo {
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
}

body.results-page .cruise-item-card .cruise-logo img {
    width: auto !important;
    max-width: 140px !important;

    height: auto !important;
    max-height: 32px !important;
}


/* =========================================================
   7. SHIP NAME
   ========================================================= */

body.results-page .cruise-item-card .cruise-name {
    margin: 0 0 2px 0 !important;
    padding: 0 !important;

    color: #00234B !important;

    font-size: 13px !important;
    line-height: 18px !important;
}


/* =========================================================
   8. COMPACT CRUISE DETAILS
   ========================================================= */

body.results-page .cruise-item-card ul {
    margin: 0 !important;
    padding: 0 !important;
}

body.results-page .cruise-item-card li {
    margin: 0 !important;

    padding-top: 1px !important;
    padding-bottom: 1px !important;

    line-height: 1.15 !important;
}


/* =========================================================
   9. HIDE VIDEO / 360
   ========================================================= */

body.results-page .cruise-item-card .odi-video-camera,
body.results-page .cruise-item-card .odi-virtual-360-o {
    display: none !important;
}


/* =========================================================
   10. HIDE ORIGINAL LARGE PRICE
   ========================================================= */

body.results-page .cruise-item-card .cruise-item-min-price,
body.results-page .cruise-item-card .cruise-min-price-section {
    display: none !important;
}


/* =========================================================
   11. HIDE NIGHTLY PRICE
   ========================================================= */

body.results-page .cruise-item-card .cruise-price-per-night,
body.results-page .cruise-item-card [data-ody-id="labelNight"],
body.results-page .cruise-item-card [data-ody-id="priceppLabel"] {
    display: none !important;
}


/* =========================================================
   12. HIDE PORTS / VIEW MORE
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="PortOfCall"],

body.results-page .cruise-item-card
[data-ody-id="PortsOfCallDisclaimer"] {
    display: none !important;
}


/* =========================================================
   13. HIDE TAX / FEES COPY
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseInclusiveExclusiveMessage"],

body.results-page .cruise-item-card .cruise-tax-inclusive,
body.results-page .cruise-item-card .includes-taxes-fees,
body.results-page .cruise-item-card .taxes-and-fees {
    display: none !important;
}


/* =========================================================
   14. REMOVE RED ACTION ICONS
   ========================================================= */

body.results-page .cruise-item-card .sailing-info-cell {
    display: none !important;
}


/* =========================================================
   15. REMOVE CRUISE NUMBER — A640 ETC
   ========================================================= */

body.results-page .cruise-item-card .package-voyage,
body.results-page .cruise-item-card span.package-voyage,

body.results-page .cruise-item-card
td[data-ody-id="CruiseSailingInfoAndBookingButton"]
.package-voyage {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}


/* =========================================================
   16. REMOVE PACKAGE ID
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruisePackageInfoWrapper"],

body.results-page .cruise-item-card
[data-ody-id="DisplayPackageId"],

body.results-page .cruise-item-card
[data-ody-id="CruisePackageId"],

body.results-page .cruise-item-card
[data-ody-id*="PackageId"] {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}


/* =========================================================
   17. DESKTOP — NEUTRALISE ODS WRAPPERS
   THIS IS THE WORKING ANCHOR METHOD
   ========================================================= */

@media (min-width: 992px) {

    body.results-page .cruise-item-card
    [data-ody-id="sailingDateSection"],

    body.results-page .cruise-item-card
    cruise-sailing-component {

        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;
    }
}


/* =========================================================
   18. PRICE / DATE BOX
   MOVED FURTHER RIGHT
   ========================================================= */

@media (min-width: 992px) {

    body.results-page .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"] {

        position: absolute !important;

        top: 60px !important;
        right: 12px !important;
        left: auto !important;

        width: 50% !important;
        max-width: 620px !important;

        margin: 0 !important;

        padding: 0 0 72px 0 !important;

        transform: none !important;

        overflow: visible !important;

        box-sizing: border-box !important;

        z-index: 20 !important;
    }
}


/* =========================================================
   19. ODS TABLE WRAPPERS
   ========================================================= */

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 {

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}


/* =========================================================
   20. FARE TABLE
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] table {

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    table-layout: auto !important;
    border-collapse: collapse !important;

    box-sizing: border-box !important;
}


/* =========================================================
   21. TABLE HEADERS
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] th {

    height: 32px !important;

    padding: 5px 7px !important;

    text-align: center !important;
    vertical-align: middle !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;

    box-sizing: border-box !important;
}


/* =========================================================
   22. HEADER COLOURS
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] th:nth-child(odd) {
    background: #00234B !important;
}

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] th:nth-child(even) {
    background: #1187BD !important;
}


/* =========================================================
   23. PRICE CELLS
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] td {

    height: 38px !important;

    padding: 5px 7px !important;

    text-align: center !important;
    vertical-align: middle !important;

    white-space: nowrap !important;

    color: #00234B !important;
    background: #F2F8FC !important;

    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 18px !important;

    border: 1px solid #D9E7EF !important;

    box-sizing: border-box !important;
}


/* =========================================================
   24. COLLAPSE UNUSED ODS COLUMN
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
th:nth-last-child(2),

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
td:nth-last-child(2) {

    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    font-size: 0 !important;

    background: transparent !important;

    overflow: hidden !important;
}


/* =========================================================
   25. COLLAPSE BOOKING CELL
   KEEP BUTTON
   ========================================================= */

body.results-page .cruise-item-card
td[data-ody-id="CruiseSailingInfoAndBookingButton"] {

    position: static !important;

    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    font-size: 0 !important;
    line-height: 0 !important;

    color: transparent !important;

    overflow: visible !important;
}


/* =========================================================
   26. COLLAPSE FINAL HEADER
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
th:last-child {

    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    font-size: 0 !important;

    background: transparent !important;
}


/* =========================================================
   27. ORANGE CTA
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
button[data-ody-id="CruiseResultsBookButton"] {

    display: block !important;

    position: absolute !important;

    top: 80px !important;
    left: 50% !important;

    transform: translateX(-50%) !important;

    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 40px !important;

    margin: 0 !important;
    padding: 8px 12px !important;

    background: #F26A21 !important;

    border: 0 !important;
    border-radius: 4px !important;

    box-shadow: none !important;

    color: transparent !important;
    font-size: 0 !important;

    text-align: center !important;

    overflow: visible !important;

    z-index: 50 !important;
}


/* =========================================================
   28. BUTTON TEXT
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
button[data-ody-id="CruiseResultsBookButton"]::after {

    content: "VIEW LIVE PRICES & CABINS" !important;

    display: block !important;

    color: #FFFFFF !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 24px !important;

    white-space: nowrap !important;

    text-align: center !important;
}


/* =========================================================
   29. BUTTON HOVER
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
button[data-ody-id="CruiseResultsBookButton"]:hover {

    background: #D95512 !important;
}


/* =========================================================
   30. DISCLAIMER — SHORT / ONE LINE
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]::after {

    content:
    "FROM prices per person twin share. Click for live prices & cabins.";

    position: absolute !important;

    top: 126px !important;
    left: 0 !important;
    right: 0 !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 4px !important;

    color: #667784 !important;

    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 12px !important;

    text-align: center !important;
    white-space: nowrap !important;

    box-sizing: border-box !important;
}


/* =========================================================
   31. HIDE PROMOTION SPACE
   ========================================================= */

body.results-page .cruise-item-card .cruise-promotions,
body.results-page .cruise-item-card .cruise-promotions-wrapper,

body.results-page .cruise-item-card
[data-ody-id="CruisePromotions"],

body.results-page .cruise-item-card
[data-ody-id="CruisePromotionsSection"] {

    display: none !important;

    height: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   32. REMOVE LOWER ODS GREY SEPARATOR + SPACE
   ========================================================= */

body.results-page .cruise-item-card cruise-sailing-component {

    border-top: 0 !important;

    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* =========================================================
   33. REMOVE HR / BOTTOM DIVIDERS
   ========================================================= */

body.results-page .cruise-item-card hr {

    display: none !important;

    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;
}


/* =========================================================
   34. REMOVE EXCESS BOTTOM SPACE
   ========================================================= */

body.results-page .cruise-item-card > :last-child {

    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   35. MOBILE / TABLET
   ========================================================= */

@media (max-width: 991px) {

    body.results-page .cruise-item-card {

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        overflow: visible !important;
    }

    body.results-page .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"] {

        position: relative !important;

        top: auto !important;
        right: auto !important;
        left: auto !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 10px 0 0 0 !important;
        padding: 0 !important;

        transform: none !important;

        overflow-x: auto !important;
    }

    body.results-page .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"]
    button[data-ody-id="CruiseResultsBookButton"] {

        position: relative !important;

        top: auto !important;
        left: auto !important;

        transform: none !important;

        margin: 10px auto !important;
    }

    body.results-page .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"]::after {

        position: relative !important;

        top: auto !important;

        margin-top: 5px !important;
    }
}


/* =========================================================
   DESKTOP CRUISE CARD HEIGHT — 200PX
   ========================================================= */

@media (min-width: 992px) {
    body.results-page .cruise-item-card {
        height: 200px !important;
        min-height: 200px !important;
        max-height: 200px !important;
    }
}


/* =========================================================
   JC NAVY — CRUISE DETAILS TEXT
   ========================================================= */

body.results-page .cruise-item-card .cruise-name,
body.results-page .cruise-item-card .cruise-name a,
body.results-page .cruise-item-card ul,
body.results-page .cruise-item-card li,
body.results-page .cruise-item-card li a,
body.results-page .cruise-item-card li span {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* =========================================================
   COMPACT ORANGE CTA — 25PX
   ========================================================= */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
button[data-ody-id="CruiseResultsBookButton"] {

    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 25px !important;
    min-height: 25px !important;

    padding: 0 8px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


/* BUTTON TEXT */

body.results-page .cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
button[data-ody-id="CruiseResultsBookButton"]::after {

    content: "VIEW PRICES & DETAILS" !important;

    display: block !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
    white-space: nowrap !important;
}


/* =========================================================
   JC LEFT FILTERS — CLEAN CURRENT CHECKPOINT
   ========================================================= */


/* HIDE PRICE PER PERSON */

filter-content-component.filter-price-person {
    display: none !important;
}


/* HIDE MAX OCCUPANCY */

filter-content-component.filter-max-occupancy {
    display: none !important;
}


/* HIDE SUPPLIER PROMOTIONS */

.filter-supplier-promotions {
    display: none !important;
}


/* HIDE ARRIVAL PORT */

filter-content-component:has(.odi-arrival-port) {
    display: none !important;
}


/* HIDE RULES */

filter-content-component:has(.odi-rule-filter) {
    display: none !important;
}


/* =========================================================
   FILTER TEXT + ICONS — JC NAVY
   ========================================================= */

filter-content-component,
filter-content-component a,
filter-content-component span,
filter-content-component label,
filter-content-component div,
filter-content-component i {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* =========================================================
   FILTER CARDS — COMPACT
   ========================================================= */

filter-content-component .card {
    margin-bottom: 4px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

filter-content-component .card-heading {
    min-height: 38px !important;
    padding: 5px 9px !important;
}

filter-content-component .panel-title {
    margin: 0 !important;
    padding: 0 !important;
}

filter-content-component .panel-title a {
    min-height: 28px !important;

    font-size: 14px !important;
    line-height: 28px !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* =========================================================
   EXPANDED FILTER CONTENT — TIGHTER
   ========================================================= */

filter-content-component .collapse,
filter-content-component .collapse.show,
filter-content-component .panel-collapse {
    padding-top: 3px !important;
    padding-bottom: 5px !important;
}

filter-content-component .card-body {
    padding: 5px 8px !important;
}


/* =========================================================
   FILTER BUTTONS — COMPACT
   ========================================================= */

filter-content-component button,
filter-content-component .btn {

    min-height: 26px !important;

    padding: 3px 8px !important;
    margin: 2px !important;

    font-size: 11px !important;
    line-height: 18px !important;
}


/* =========================================================
   SAILING DATES — COMPACT EXISTING CHECKBOX VIEW
   ========================================================= */

filter-content-component[data-ody-id="FilterPanelSailingDates"] .row {
    margin-left: -2px !important;
    margin-right: -2px !important;
}

filter-content-component[data-ody-id="FilterPanelSailingDates"]
[class*="col-"] {

    padding-left: 3px !important;
    padding-right: 3px !important;

    margin-bottom: 2px !important;
}

filter-content-component[data-ody-id="FilterPanelSailingDates"] label {

    margin: 0 !important;

    font-size: 11px !important;
    line-height: 20px !important;

    color: #00234B !important;
}

filter-content-component[data-ody-id="FilterPanelSailingDates"]
input[type="checkbox"] {

    margin-right: 3px !important;
}

filter-content-component[data-ody-id="FilterPanelSailingDates"] h1,
filter-content-component[data-ody-id="FilterPanelSailingDates"] h2,
filter-content-component[data-ody-id="FilterPanelSailingDates"] h3,
filter-content-component[data-ody-id="FilterPanelSailingDates"] h4,
filter-content-component[data-ody-id="FilterPanelSailingDates"] h5,
filter-content-component[data-ody-id="FilterPanelSailingDates"] h6 {

    margin: 5px 0 3px 0 !important;

    font-size: 12px !important;
    line-height: 18px !important;

    color: #00234B !important;
}


/* =========================================================
   EXACT ODS FILTER IDS — CONFIRMED
   FOR NEXT ORDER / HEADING PASS

   FilterPanelSailingDates
   FilterPanelDeparturePorts
   FilterPanelCruiseLines
   FilterPanelShips
   FilterPanelDestination
   FilterPanelCruiseLength
   ========================================================= */

/* =========================================================
   JC FILTER PANEL — COMPACT + BRANDED
   ADD TO BOTTOM ONLY
   ========================================================= */


/* =========================================================
   1. COMPACT EACH FILTER BOX
   ========================================================= */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"] {

    margin-bottom: 4px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* FILTER HEADING ROW */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
> div[role="tab"].card-heading {

    min-height: 42px !important;
    height: 42px !important;

    padding: 0 10px !important;

    display: flex !important;
    align-items: center !important;

    box-sizing: border-box !important;
}


/* REMOVE EXTRA PANEL TITLE SPACE */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.panel-title {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* FILTER CLICKABLE ROW */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.panel-title > a {

    min-height: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;

    font-size: 14px !important;
    line-height: 18px !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* FILTER WORDING */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.flex-spacer.text-truncate {

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 14px !important;
    line-height: 18px !important;
}


/* FILTER ICONS */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.panel-icon,

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.odi-expand-more {

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* =========================================================
   2. EXACT FILTER PANEL HEADING
   THE ELEMENT IMMEDIATELY BEFORE SAILING DATES
   ========================================================= */

body.results-page
filter-component
> *:has(+ filter-content-component[data-ody-id="FilterPanelSailingDates"]) {

    background: #00234B !important;
    border-color: #00234B !important;

    min-height: 42px !important;

    margin-bottom: 4px !important;

    color: #FFFFFF !important;
}


/* HEADING ICON */

body.results-page
filter-component
> *:has(+ filter-content-component[data-ody-id="FilterPanelSailingDates"])
i {

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}


/* HIDE ONLY THE ORIGINAL HEADING WORDING */

body.results-page
filter-component
> *:has(+ filter-content-component[data-ody-id="FilterPanelSailingDates"])
span {

    font-size: 0 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}


/* REPLACE WITH REFINE YOUR SEARCH */

body.results-page
filter-component
> *:has(+ filter-content-component[data-ody-id="FilterPanelSailingDates"])
span::after {

    content: "REFINE YOUR SEARCH" !important;

    display: inline-block !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 18px !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    white-space: nowrap !important;
}


/* =========================================================
   3. COMPACT EXPANDED FILTER CONTENT
   ========================================================= */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.collapse.show,

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.panel-collapse.show {

    padding: 6px 8px 8px 8px !important;
}


/* =========================================================
   4. SUBMENU BUTTONS
   REMOVE ODS RED — USE JC NAVY
   ========================================================= */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
button,

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.btn {

    min-height: 26px !important;
    height: 26px !important;

    margin: 2px 3px 4px 0 !important;
    padding: 3px 8px !important;

    background: #00234B !important;

    border: 1px solid #00234B !important;
    border-radius: 3px !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 18px !important;

    box-shadow: none !important;
}


/* BUTTON HOVER */

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
button:hover,

body.results-page
filter-content-component[data-ody-id^="FilterPanel"]
.btn:hover {

    opacity: 0.88 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}


/* =========================================================
   5. COMPACT SAILING DATE CONTENT
   ========================================================= */

body.results-page
filter-content-component[data-ody-id="FilterPanelSailingDates"]
label {

    margin: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    line-height: 18px !important;
}


body.results-page
filter-content-component[data-ody-id="FilterPanelSailingDates"]
input[type="checkbox"] {

    margin-right: 4px !important;
}


body.results-page
filter-content-component[data-ody-id="FilterPanelSailingDates"]
.row {

    margin-top: 2px !important;
    margin-bottom: 2px !important;
}



/* =========================================================
   JC — COMPACT TOP CABIN CATEGORY TILES
   Reduce vertical whitespace only
   ========================================================= */

body.page_cruise_category .tabCatAirIncl {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.page_cruise_category .tabCatAirIncl img {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
}

body.page_cruise_category .tabCatAirIncl .text-wrap {
    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 .tabCatAirIncl strong {
    margin-top: 0 !important;
    margin-bottom: 1px !important;
    line-height: 1.15 !important;
}

body.page_cruise_category .tabCatAirIncl [data-ody-id="CategoryFromPriceWrapper"] {
    margin-top: 1px !important;
    margin-bottom: 1px !important;
    line-height: 1.15 !important;
}

/* JC CATEGORY PAGE — COMPACT CABIN PHOTO */

body.page_cruise_category .category-description img {
    width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
}
/* =========================================================
   JC CATEGORY PAGE – COMPACT CABIN DETAIL IMAGE
   ========================================================= */

.category-cabin-details-img img {
    width: 200px !important;
    height: auto !important;
    max-width: 200px !important;
}

.category-cabin-details-img {
    width: 200px !important;
    max-width: 200px !important;
    flex: 0 0 200px !important;
}
/* =========================================================
   JC CATEGORY PAGE – COMPACT CABIN DESCRIPTION
   KEEP FIRST LINE (STATEROOM SIZE) + DECKS
   ========================================================= */

.categoryCabinDescription .ic-description {
    display: block !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.categoryCabinDescription .ic-description::first-line {
    font-size: 16px !important;
    line-height: 22px !important;
}
/* =========================================================
   JC - COMPACT FARE / PRICE ROWS
   ========================================================= */

/* Compact each fare cell */
.category-price-table-cell {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    min-height: 0 !important;
}

/* Tighten text inside fare cells */
.category-price-table-cell p,
.category-price-table-cell div {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.15 !important;
}

/* Compact CONTINUE button */
.category-price-table-cell .btn {
    min-width: 120px !important;
    padding: 8px 18px !important;
    margin: 2px 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}
/* =========================================================
   JC CATEGORY PAGE — COMPACT STATEROOM DETAIL BOX
   ========================================================= */

.categoryview-container .card-body {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
}

.category-cabin-details {
    margin-bottom: 4px !important;
}

.categoryCabinDescription {
    margin-bottom: 0 !important;
}

.cabin-category-title-description {
    margin-bottom: 0 !important;
}

.cabin-category-title-description p {
    margin-bottom: 6px !important;
}

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

/* ==========================================================
   JUST CRUISES
   HEADER + MAIN NAV VISUAL UPDATE
   23 AUG 2026

   HEADER BG:       #F1F6FB
   MENU BG:         #C6D6E8
   JC NAVY:         #00234B
   JC ORANGE:       #E87516

   IMPORTANT:
   HEADER/NAV PRESENTATION ONLY.
   DOES NOT ALTER CRUISE RESULT CARDS.
   ========================================================== */


/* ----------------------------------------------------------
   1. TOP HEADER AREA
   Give the existing JC header a clean pale-blue background
   ---------------------------------------------------------- */

body .jc-header,
body #jc-header,
body .jc-header-wrap,
body .jc-top-header,
body .jc-header-shell {
    background: #F1F6FB !important;
}


/* ----------------------------------------------------------
   2. MAIN NAVIGATION BAR
   Darker/richer blue than the header so it reads as a menu
   ---------------------------------------------------------- */

body .jc-nav,
body #jc-nav,
body .jc-main-nav,
body .jc-menu-bar,
body .jc-header-nav {
    background: #C6D6E8 !important;

    border-top: 1px solid #AFC4DA !important;
    border-bottom: 1px solid #9EB7D0 !important;

    box-shadow:
        0 2px 5px rgba(0, 35, 75, 0.12) !important;
}


/* ----------------------------------------------------------
   3. NAVIGATION ITEMS
   ---------------------------------------------------------- */

body .jc-nav > *,
body .jc-main-nav > *,
body .jc-menu-bar > *,
body .jc-header-nav > * {
    color: #00234B !important;
}


/* Navigation links */

body .jc-nav a,
body .jc-main-nav a,
body .jc-menu-bar a,
body .jc-header-nav a {
    color: #00234B !important;

    font-weight: 700 !important;
    text-decoration: none !important;
}


/* ----------------------------------------------------------
   4. NAV ITEM SEPARATORS
   Creates the subtle vertical dividers from the design
   ---------------------------------------------------------- */

body .jc-nav > * + *,
body .jc-main-nav > * + *,
body .jc-menu-bar > * + *,
body .jc-header-nav > * + * {
    border-left: 1px solid rgba(0, 35, 75, 0.16) !important;
}


/* ----------------------------------------------------------
   5. ORANGE ARROWS / CARETS
   ---------------------------------------------------------- */

body .jc-nav .caret,
body .jc-nav .arrow,
body .jc-main-nav .caret,
body .jc-main-nav .arrow,
body .jc-menu-bar .caret,
body .jc-menu-bar .arrow,
body .jc-header-nav .caret,
body .jc-header-nav .arrow {
    color: #E87516 !important;
}


/* ----------------------------------------------------------
   6. NAV HOVER
   ---------------------------------------------------------- */

body .jc-nav a:hover,
body .jc-main-nav a:hover,
body .jc-menu-bar a:hover,
body .jc-header-nav a:hover {
    color: #E87516 !important;
}


/* ----------------------------------------------------------
   7. ACTIVE / OPEN NAV ITEM
   Orange underline like the mock-up
   ---------------------------------------------------------- */

body .jc-nav .active,
body .jc-nav .open,
body .jc-main-nav .active,
body .jc-main-nav .open,
body .jc-menu-bar .active,
body .jc-menu-bar .open,
body .jc-header-nav .active,
body .jc-header-nav .open {
    border-bottom: 3px solid #E87516 !important;
}


/* ----------------------------------------------------------
   8. DROPDOWN PANELS
   White floating menu beneath the blue menu bar
   ---------------------------------------------------------- */

body .jc-dropdown,
body .jc-mega-menu,
body .jc-submenu,
body .jc-nav-dropdown,
body .jc-menu-dropdown {
    background: #FFFFFF !important;

    border: 1px solid #D9E0E7 !important;
    border-top: 3px solid #E87516 !important;

    border-radius: 0 0 6px 6px !important;

    box-shadow:
        0 8px 20px rgba(0, 35, 75, 0.16) !important;
}


/* ----------------------------------------------------------
   9. DROPDOWN TEXT
   ---------------------------------------------------------- */

body .jc-dropdown,
body .jc-mega-menu,
body .jc-submenu,
body .jc-nav-dropdown,
body .jc-menu-dropdown {
    color: #00234B !important;
}


body .jc-dropdown a,
body .jc-mega-menu a,
body .jc-submenu a,
body .jc-nav-dropdown a,
body .jc-menu-dropdown a {
    color: #00234B !important;

    font-weight: 500 !important;

    text-decoration: none !important;
}


/* ----------------------------------------------------------
   10. DROPDOWN ITEM HOVER
   ---------------------------------------------------------- */

body .jc-dropdown a:hover,
body .jc-mega-menu a:hover,
body .jc-submenu a:hover,
body .jc-nav-dropdown a:hover,
body .jc-menu-dropdown a:hover {
    color: #E87516 !important;
    background: #F7FAFD !important;
}


/* ----------------------------------------------------------
   11. DROPDOWN HEADINGS
   ---------------------------------------------------------- */

body .jc-dropdown h3,
body .jc-dropdown h4,
body .jc-mega-menu h3,
body .jc-mega-menu h4,
body .jc-submenu h3,
body .jc-submenu h4 {
    color: #00234B !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;

    letter-spacing: 0.4px !important;
}


/* ----------------------------------------------------------
   12. DROPDOWN COLUMN DIVIDERS
   ---------------------------------------------------------- */

body .jc-dropdown-column + .jc-dropdown-column,
body .jc-menu-column + .jc-menu-column,
body .jc-mega-column + .jc-mega-column {
    border-left: 1px solid #E2E8EE !important;
}


/* ----------------------------------------------------------
   13. DROPDOWN BOTTOM LINKS
   View All Cruise Lines / Destinations etc.
   ---------------------------------------------------------- */

body .jc-dropdown .view-all,
body .jc-mega-menu .view-all,
body .jc-submenu .view-all,
body .jc-menu-dropdown .view-all {
    color: #E87516 !important;

    font-weight: 700 !important;

    border-top: 1px solid #E2E8EE !important;
}


/* ----------------------------------------------------------
   14. HOT DEALS
   If the new item uses one of these classes it becomes orange
   ---------------------------------------------------------- */

body .jc-hot-deals,
body .jc-hot-deals a,
body .hot-deals,
body .hot-deals a {
    color: #E87516 !important;

    font-weight: 800 !important;
}


/* ----------------------------------------------------------
   15. REMOVE OLD ODS BLUE STRIP
   DO NOT activate yet.

   Once we identify the exact selector for that existing
   ugly blue ODS bar, we will put it HERE and remove ONLY it.

   We are deliberately NOT guessing that selector.
   ---------------------------------------------------------- */


/* OLD ODS BLUE BAR - SELECTOR TO BE CONFIRMED */


/* ==========================================================
   END JC HEADER + NAV VISUAL UPDATE
   ========================================================== */

/* ==========================================================
   JUST CRUISES
   HEADER + MAIN NAV — NEW MENU DESIGN
   23 AUG 2026

   TOP HEADER: #F4F8FC
   MENU BAR:   #AFC6DA
   JC NAVY:    #00234B
   JC ORANGE:  #E87516

   HEADER/NAV ONLY
   ========================================================== */


/* TOP HEADER — KEEP VERY PALE */

body .custom-header {
    background: #F4F8FC !important;
}


/* ==========================================================
   FULL-WIDTH MENU BAR
   DARKER THAN HEADER + SLIMMER
   ========================================================== */

body .custom-header .jc-nav-wrap {

    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;

    background: #AFC6DA !important;

    border-top: 1px solid #9FB8CF !important;
    border-bottom: 1px solid #91ABC3 !important;

    box-shadow: 0 2px 5px rgba(0, 35, 75, 0.10) !important;
}


/* ==========================================================
   NAVIGATION — FOUR EQUAL SECTIONS
   ========================================================== */

body .custom-header .jc-nav {

    width: 100% !important;
    max-width: none !important;

    height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;

    gap: 0 !important;

    background: transparent !important;
}


body .custom-header .jc-nav-item {

    flex: 1 1 25% !important;

    min-width: 0 !important;

    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;

    border-right: 1px solid rgba(0, 35, 75, 0.16) !important;
}


body .custom-header .jc-nav-item:first-child {

    border-left: 1px solid rgba(0, 35, 75, 0.16) !important;
}


/* ==========================================================
   STANDARD MENU BUTTONS
   ========================================================== */

body .custom-header .jc-nav-button {

    width: 100% !important;
    height: 34px !important;

    padding: 0 14px !important;
    margin: 0 !important;

    border: 0 !important;
    border-bottom: 3px solid transparent !important;

    background: transparent !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 31px !important;
    letter-spacing: 0.6px !important;

    text-align: center !important;
    white-space: nowrap !important;
}


/* MENU HOVER */

body .custom-header .jc-nav-button:hover {

    background: rgba(255, 255, 255, 0.22) !important;

    color: #E87516 !important;
    -webkit-text-fill-color: #E87516 !important;
}


/* OPEN MENU */

body .custom-header .jc-nav-button[aria-expanded="true"] {

    background: rgba(255, 255, 255, 0.30) !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    border-bottom-color: #E87516 !important;
}


/* ==========================================================
   ORANGE DOWN ARROWS
   ========================================================== */

body .custom-header .jc-nav-arrow {

    margin-left: 6px !important;

    color: #E87516 !important;
    -webkit-text-fill-color: #E87516 !important;

    font-size: 10px !important;
}


/* ==========================================================
   HOT DEALS
   ========================================================== */

body .custom-header .jc-hot-deals-link {

    width: 100% !important;
    height: 34px !important;

    padding: 0 14px !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;

    color: #E87516 !important;
    -webkit-text-fill-color: #E87516 !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 31px !important;
    letter-spacing: 0.6px !important;

    text-align: center !important;
    text-decoration: none !important;

    white-space: nowrap !important;
}


body .custom-header .jc-hot-deals-link:hover {

    background: rgba(255, 255, 255, 0.30) !important;

    color: #D85F12 !important;
    -webkit-text-fill-color: #D85F12 !important;

    text-decoration: none !important;
}


/* FIRE ICON */

body .custom-header .jc-hot-deals-fire {

    margin-right: 6px !important;

    color: #E87516 !important;
    -webkit-text-fill-color: #E87516 !important;

    font-size: 14px !important;
    line-height: 1 !important;
}


/* ==========================================================
   DROPDOWNS
   ========================================================== */

body .custom-header .jc-dropdown {

    top: 34px !important;

    background: #FFFFFF !important;

    border: 1px solid #D7DFE7 !important;
    border-top: 4px solid #E87516 !important;

    border-radius: 0 0 7px 7px !important;

    box-shadow: 0 12px 28px rgba(0, 35, 75, 0.18) !important;
}


/* DROPDOWN HEADINGS */

body .custom-header .jc-dropdown-title {

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* DROPDOWN LINKS */

body .custom-header .jc-dropdown-link {

    color: #263746 !important;
    -webkit-text-fill-color: #263746 !important;
}


body .custom-header .jc-dropdown-link:hover {

    color: #E87516 !important;
    -webkit-text-fill-color: #E87516 !important;

    background: #F6F9FC !important;
}


/* ==========================================================
   MOBILE
   FOUR EQUAL MENU ITEMS
   ========================================================== */

@media screen and (max-width: 650px) {

    body .custom-header .jc-nav {

        height: 42px !important;
    }


    body .custom-header .jc-nav-item {

        flex: 1 1 25% !important;
    }


    body .custom-header .jc-nav-button,
    body .custom-header .jc-hot-deals-link {

        height: 42px !important;

        padding: 0 3px !important;

        font-size: 8.5px !important;
        line-height: 39px !important;
        letter-spacing: 0.1px !important;
    }


    body .custom-header .jc-nav-arrow {

        margin-left: 2px !important;

        font-size: 7px !important;
    }


    body .custom-header .jc-hot-deals-fire {

        margin-right: 2px !important;

        font-size: 9px !important;
    }


    body .custom-header .jc-dropdown {

        top: 120px !important;
    }
}


/* ==========================================================
   END — JC HEADER + MAIN NAV
   ========================================================== */

/* =========================================================
   JUST CRUISES — CATEGORY PAGE
   CLEAN CONSOLIDATED MASTER
   23 AUG 2026

   TARGET:
   - Landing-page presentation
   - No breadcrumb / booking-step clutter
   - Compact cruise hero
   - Dark non-sticky cruise panel
   - Map first, ship second (JS helper)
   - Compact Guest Information
   - Matching Refresh / Quote buttons
   - No NCCF line
   - No Add Air banner
   ========================================================= */


/* ---------------------------------------------------------
   CATEGORY PAGE COLOURS
   --------------------------------------------------------- */

body.page_cruise_category {
    --jc-navy: #00234B;
    --jc-mid-blue: #0B3D6E;
    --jc-pale-blue: #F2F8FC;
    --jc-orange: #E87516;
}


/* ---------------------------------------------------------
   TOP SYSTEM CLUTTER
   JS ALSO ADDS .jc-category-hide FOR RELIABILITY
   --------------------------------------------------------- */

body.page_cruise_category .breadcrumb,
body.page_cruise_category .breadcrumb-wrapper,
body.page_cruise_category .jc-category-hide {
    display: none !important;
}


/* ---------------------------------------------------------
   CLEAN CRUISE HERO
   JS ADDS .jc-category-hero TO THE REAL ODS TITLE BLOCK
   --------------------------------------------------------- */

body.page_cruise_category .jc-category-hero {
    position: relative !important;
    display: block !important;
    margin: 8px 0 12px 0 !important;
    padding: 4px 210px 6px 0 !important;
    min-height: 68px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.page_cruise_category .jc-category-hero-title {
    margin: 0 !important;
    padding: 0 !important;
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 34px !important;
    text-transform: uppercase !important;
    letter-spacing: .1px !important;
}

body.page_cruise_category .jc-category-hero-meta {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5px 12px !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
}

body.page_cruise_category .jc-category-hero-meta .jc-separator {
    opacity: .55 !important;
}

body.page_cruise_category .jc-category-hero-logo {
    position: absolute !important;
    top: 9px !important;
    right: 18px !important;
    width: 175px !important;
    max-width: 175px !important;
    height: auto !important;
    max-height: 48px !important;
    object-fit: contain !important;
}


/* ---------------------------------------------------------
   MAIN PAGE SPACING
   --------------------------------------------------------- */

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


/* ---------------------------------------------------------
   LEFT CRUISE SUMMARY — DARK / NON-STICKY
   --------------------------------------------------------- */

body.page_cruise_category #packageDetails {
    position: static !important;
    top: auto !important;
    z-index: auto !important;

    background: #00234B !important;
    border: 1px solid #00234B !important;
    border-radius: 6px !important;

    margin: 0 !important;
    padding: 10px !important;

    box-sizing: border-box !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: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}


/* MAP CLONE — FIRST VISUAL IN LEFT PANEL */

body.page_cruise_category #packageDetails .jc-category-map-first {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    background: #F2F8FC !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

body.page_cruise_category #packageDetails .jc-category-map-first img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* HIDE ONLY THE ORIGINAL MAP IMAGE AFTER CLONING */
body.page_cruise_category #packageDetails .itinerary-map-img.jc-original-map-hidden {
    display: none !important;
}


/* SHIP IMAGE — SECOND VISUAL */

body.page_cruise_category #CruiseNavigationTabsInfo {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

body.page_cruise_category #CruiseNavigationTabsInfo .embed-responsive {
    background: transparent !important;
}

body.page_cruise_category #CruiseNavigationTabsInfo img.embed-responsive-item {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 180px !important;
    object-fit: cover !important;
}


/* DESTINATION STRIP */

body.page_cruise_category #packageDetails [data-ody-id="DestinationText"] {
    margin: 6px 0 8px 0 !important;
    padding: 7px 9px !important;
    background: #0B3D6E !important;
    border: 0 !important;
    border-radius: 3px !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 12px !important;
    line-height: 16px !important;
}


/* LEFT DETAILS */

body.page_cruise_category
[data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],
body.page_cruise_category
[data-ody-id="CruiseGeneralDetailsWrapper"] {
    margin: 0 !important;
    padding: 0 !important;
}

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


/* WHITE CRUISE-LINE LOGO IN DARK LEFT PANEL */

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: 145px !important;
    max-height: 30px !important;
    filter: brightness(0) invert(1) !important;
    opacity: .95 !important;
}


/* REMOVE EMPTY CAPTION SPACE */

body.page_cruise_category #packageDetails .img-caption:empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* REMOVE ADD-AIR BANNER */

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


/* ITINERARY — LIGHT READABLE INSET */

body.page_cruise_category #packageDetails .itinerary-accordion-header {
    margin: 8px 0 0 0 !important;
    padding: 7px 8px !important;
    min-height: 32px !important;
    background: #D9EBF7 !important;
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
}

body.page_cruise_category #packageDetails .section-itinerary-wrapper {
    margin: 0 !important;
    padding: 8px !important;
    background: #F2F8FC !important;
    border-color: #D9E4EC !important;
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}

body.page_cruise_category #packageDetails .section-itinerary-wrapper,
body.page_cruise_category #packageDetails .section-itinerary-wrapper *,
body.page_cruise_category #packageDetails .itinerary-accordion-header,
body.page_cruise_category #packageDetails .itinerary-accordion-header * {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}

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

body.page_cruise_category #packageDetails .itinerary-details {
    margin: 4px 0 0 0 !important;
    padding-left: 18px !important;
    font-size: 11px !important;
    line-height: 15px !important;
}

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

body.page_cruise_category #packageDetails hr {
    margin: 8px 0 !important;
    border-color: rgba(255,255,255,.35) !important;
}


/* ---------------------------------------------------------
   GUEST INFORMATION — CLEAN SHALLOW PANEL
   --------------------------------------------------------- */

body.page_cruise_category .guestInfoCategory {
    position: relative !important;

    margin: 0 0 8px 0 !important;
    padding: 10px 236px 9px 16px !important;

    min-height: 128px !important;

    background: #FFFFFF !important;
    border: 1px solid #E2E8ED !important;
    border-radius: 6px !important;

    box-shadow: none !important;

    box-sizing: border-box !important;
}

body.page_cruise_category .guestInfoCategory > hr {
    margin: 0 0 7px 0 !important;
}

body.page_cruise_category .guestInfoCategory h5.text-primary.flex-grow-1,
body.page_cruise_category .guestInfoCategory > h5 {
    margin: 0 0 7px 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 21px !important;
}


/* GUEST FIELDS */

body.page_cruise_category .Guest-info-inner {
    display: flex !important;
    align-items: flex-end !important;
    flex-wrap: wrap !important;

    gap: 8px 12px !important;

    margin: 0 !important;
    padding: 0 !important;
}

body.page_cruise_category .Guest-info-inner > .form-row {
    display: flex !important;
    align-items: flex-end !important;
    flex-wrap: wrap !important;

    gap: 8px 12px !important;

    margin: 0 !important;
    padding: 0 !important;
}

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

body.page_cruise_category .guestInfoCategory label {
    margin: 0 0 3px 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    line-height: 16px !important;
}

body.page_cruise_category .guestInfoCategory input,
body.page_cruise_category .guestInfoCategory select {
    height: 38px !important;
    min-height: 38px !important;

    margin: 0 !important;

    padding-top: 6px !important;
    padding-bottom: 6px !important;

    font-size: 14px !important;
    line-height: 20px !important;

    box-sizing: border-box !important;
}

body.page_cruise_category .guestNumbers select {
    min-width: 90px !important;
}

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: 90px !important;
}

body.page_cruise_category .guestAgeSelection {
    min-width: 220px !important;
    flex: 1 1 220px !important;
}

body.page_cruise_category .guestAgeSelection input {
    width: 100% !important;
    min-width: 220px !important;
}


/* ---------------------------------------------------------
   MATCHING ACTION BUTTONS — STACKED RIGHT
   --------------------------------------------------------- */

body.page_cruise_category .guestAgeButtons {
    position: absolute !important;
    top: 38px !important;
    right: 16px !important;

    width: 210px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 5 !important;
}

body.page_cruise_category .guestAgeButtons .btn,
body.page_cruise_category .guestAgeButtons button {
    width: 210px !important;
    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    background: #00234B !important;
    border: 1px solid #00234B !important;
    border-radius: 4px !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 40px !important;

    text-align: center !important;
    white-space: nowrap !important;
}

body.page_cruise_category .non-sticky-page-request-quote-section {
    position: absolute !important;

    top: 84px !important;
    right: 16px !important;

    display: block !important;

    width: 210px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 5 !important;
}

body.page_cruise_category
.non-sticky-page-request-quote-section .btn {
    width: 210px !important;
    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    background: #E87516 !important;
    border: 1px solid #E87516 !important;
    border-radius: 4px !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 40px !important;

    text-align: center !important;
    white-space: nowrap !important;
}


/* ---------------------------------------------------------
   REMOVE NON-CUSTOMER / REDUNDANT CATEGORY-PAGE TEXT
   JS HELPER ALSO HIDES TEXT-ONLY ELEMENTS
   --------------------------------------------------------- */

body.page_cruise_category .jc-hide-nccf,
body.page_cruise_category .jc-hide-fare-code,
body.page_cruise_category .jc-hide-category-selection {
    display: none !important;
}


/* AVAILABILITY NOTE — VERY COMPACT */

body.page_cruise_category #TopCruisePricingNote,
body.page_cruise_category [data-ody-id="DisclaimerTopCruisePricingNote"],
body.page_cruise_category .cruise-pricing-note {
    margin: 3px 0 !important;
    padding: 4px 9px !important;

    min-height: 0 !important;

    font-size: 11px !important;
    line-height: 15px !important;
}


/* ---------------------------------------------------------
   TOP CABIN CATEGORY AREA
   --------------------------------------------------------- */

body.page_cruise_category .jc-stateroom-heading {
    margin: 8px 0 7px 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 20px !important;

    text-transform: uppercase !important;
}


/* ---------------------------------------------------------
   TABLET / MOBILE
   --------------------------------------------------------- */

@media (max-width: 991px) {

    body.page_cruise_category .jc-category-hero {
        padding: 8px 0 !important;
        min-height: 0 !important;
    }

    body.page_cruise_category .jc-category-hero-title {
        font-size: 21px !important;
        line-height: 26px !important;
    }

    body.page_cruise_category .jc-category-hero-logo {
        position: static !important;
        display: block !important;

        width: 135px !important;

        margin: 8px 0 0 0 !important;
    }

    body.page_cruise_category .guestInfoCategory {
        padding: 10px 12px !important;
        min-height: 0 !important;
    }

    body.page_cruise_category .guestAgeButtons,
    body.page_cruise_category .non-sticky-page-request-quote-section {
        position: static !important;

        width: 100% !important;

        margin-top: 8px !important;
    }

    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;
    }
}


/* =========================================================
   END — JC CATEGORY PAGE CONSOLIDATED MASTER
   ========================================================= */

/* =========================================================
   JUST CRUISES — GLOBAL HEADER
   VERSION 2 — LOCKED
   COMPACT WASHED OCEAN / SKY HORIZON + JC NAVY MENU
   23 AUG 2026
   ========================================================= */

/* ---------------------------------------------------------
   TOP HEADER — COMPACT OCEAN / SKY HORIZON
   Dynamic heading remains untouched.
   --------------------------------------------------------- */

body .custom-header {
    position: relative !important;
    overflow: visible !important;

    background:
        linear-gradient(
            to bottom,
            #BFE5FA 0%,
            #D9F0FC 44%,
            #EEF9FF 58%,
            #B8E3F8 59%,
            #91D5F2 78%,
            #BEEAFB 100%
        ) !important;

    border-bottom: 0 !important;
}


/* Soft white wash through centre so dynamic titles stay readable */
body .custom-header::before {
    content: "" !important;

    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 34px !important;
    left: 0 !important;

    pointer-events: none !important;

    background:
        radial-gradient(
            ellipse at 55% 34%,
            rgba(255,255,255,.88) 0%,
            rgba(255,255,255,.64) 26%,
            rgba(255,255,255,.28) 48%,
            rgba(255,255,255,0) 70%
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.50) 0%,
            rgba(255,255,255,.18) 28%,
            rgba(255,255,255,.10) 72%,
            rgba(255,255,255,.24) 100%
        ) !important;

    z-index: 0 !important;
}


/* Washed ocean shimmer / horizon */
body .custom-header::after {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 34px !important;

    height: 22px !important;

    pointer-events: none !important;

    background:
        repeating-linear-gradient(
            176deg,
            rgba(255,255,255,.40) 0 2px,
            rgba(57,164,217,.18) 2px 5px,
            rgba(255,255,255,.18) 5px 8px
        ) !important;

    opacity: .62 !important;
    z-index: 0 !important;
}


/* Keep logo, dynamic title and tagline above decorative background */
body .custom-header > * {
    position: relative !important;
    z-index: 2 !important;
}


/* Keep the whole header compact */
body .custom-header .jc-header-inner,
body .custom-header .jc-top,
body .custom-header .jc-header-top {
    min-height: 0 !important;
}


/* Dynamic heading */
body .custom-header .jc-header-title,
body .custom-header .jc-title,
body .custom-header .jc-heading,
body .custom-header h1,
body .custom-header h2 {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    text-shadow: 0 1px 0 rgba(255,255,255,.55) !important;
}


/* ---------------------------------------------------------
   NAVIGATION — SOLID JC NAVY
   --------------------------------------------------------- */

body .custom-header .jc-nav-wrap {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;

    background: #00234B !important;

    border-top: 1px solid #001B3A !important;
    border-bottom: 1px solid #00172F !important;

    box-shadow: 0 3px 7px rgba(0,35,75,.20) !important;
}


body .custom-header .jc-nav {
    background: transparent !important;
}


/* Standard nav text = white */
body .custom-header .jc-nav-button {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    background: transparent !important;
}


/* White dividers */
body .custom-header .jc-nav-item {
    border-right: 1px solid rgba(255,255,255,.22) !important;
}

body .custom-header .jc-nav-item:first-child {
    border-left: 1px solid rgba(255,255,255,.22) !important;
}


/* Orange arrows */
body .custom-header .jc-nav-arrow {
    color: #E87516 !important;
    -webkit-text-fill-color: #E87516 !important;
}


/* Hover / open */
body .custom-header .jc-nav-button:hover {
    background: rgba(255,255,255,.08) !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

body .custom-header .jc-nav-button[aria-expanded="true"] {
    background: rgba(255,255,255,.10) !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    border-bottom-color: #E87516 !important;
}


/* HOT DEALS */
body .custom-header .jc-hot-deals-link {
    color: #E87516 !important;
    -webkit-text-fill-color: #E87516 !important;

    background: transparent !important;
}

body .custom-header .jc-hot-deals-link:hover {
    background: rgba(255,255,255,.08) !important;

    color: #FF8A33 !important;
    -webkit-text-fill-color: #FF8A33 !important;
}


/* Dropdowns remain white */
body .custom-header .jc-dropdown {
    background: #FFFFFF !important;
    border-top-color: #E87516 !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media screen and (max-width: 650px) {

    body .custom-header::before,
    body .custom-header::after {
        bottom: 42px !important;
    }

    body .custom-header::after {
        height: 16px !important;
    }
}


/* =========================================================
   END — GLOBAL HEADER VERSION 2 LOCKED
   ========================================================= */

/* =========================================================
   JC CATEGORY PAGE — GUEST INFORMATION COMPACT
   24 AUG 2026
   CLEAN MASTER ADDITION
   ========================================================= */

body.page_cruise_category .guestInfoCategory {
    padding: 10px 246px 10px 16px !important;
    min-height: 108px !important;
}

body.page_cruise_category .guestInfoCategory h5.text-primary.flex-grow-1,
body.page_cruise_category .guestInfoCategory > h5 {
    margin: 0 0 8px 0 !important;
    font-size: 17px !important;
    line-height: 20px !important;
}

body.page_cruise_category .Guest-info-inner,
body.page_cruise_category .Guest-info-inner > .form-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 820px !important;
}

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

body.page_cruise_category .guestNumbers label {
    font-size: 0 !important;
    white-space: nowrap !important;
}

body.page_cruise_category .guestNumbers label::after {
    content: "Number of Guests";
    font-size: 12px !important;
    line-height: 16px !important;
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}

body.page_cruise_category .guestNumbers {
    width: 110px !important;
    flex: 0 0 110px !important;
}

body.page_cruise_category .guestNumbers select {
    width: 100% !important;
    min-width: 110px !important;
}

body.page_cruise_category #CGA_1,
body.page_cruise_category #CGA_2,
body.page_cruise_category #CGA_3,
body.page_cruise_category #CGA_4 {
    width: 120px !important;
    flex: 0 0 120px !important;
}

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: 120px !important;
}

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

body.page_cruise_category .guestAgeSelection input {
    width: 240px !important;
    min-width: 240px !important;
}

body.page_cruise_category .guestInfoCategory input,
body.page_cruise_category .guestInfoCategory select {
    height: 36px !important;
    min-height: 36px !important;
}

body.page_cruise_category .guestAgeButtons {
    top: 36px !important;
    right: 16px !important;
    width: 220px !important;
}

body.page_cruise_category .guestAgeButtons .btn,
body.page_cruise_category .guestAgeButtons button {
    width: 220px !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 38px !important;
}

body.page_cruise_category .non-sticky-page-request-quote-section {
    top: 80px !important;
    right: 16px !important;
    width: 220px !important;
}

body.page_cruise_category .non-sticky-page-request-quote-section .btn {
    width: 220px !important;
    height: 40px !important;
    min-height: 40px !important;
    line-height: 38px !important;
}

@media (min-width: 992px) {
    body.page_cruise_category .Guest-info-inner,
    body.page_cruise_category .Guest-info-inner > .form-row {
        flex-wrap: nowrap !important;
    }
}

/* =========================================================
   END — GUEST INFORMATION COMPACT
   ========================================================= */
/* =========================================================
   JC CATEGORY PAGE — GUEST INFO ALIGNMENT FIX
   24 AUG 2026
   ========================================================= */

/* Give the fields a little more breathing room */
body.page_cruise_category .Guest-info-inner,
body.page_cruise_category .Guest-info-inner > .form-row {
    gap: 18px !important;
}

/* NUMBER OF GUESTS */
body.page_cruise_category .guestNumbers {
    width: 120px !important;
    flex: 0 0 120px !important;
}

body.page_cruise_category .guestNumbers label,
body.page_cruise_category .guestNumbers label::after {
    display: block !important;
    width: 120px !important;
    white-space: nowrap !important;
}

/* AGE LABELS — keep above their own boxes */
body.page_cruise_category #CGA_1 label,
body.page_cruise_category #CGA_2 label,
body.page_cruise_category #CGA_3 label,
body.page_cruise_category #CGA_4 label {
    display: block !important;
    width: 120px !important;
    white-space: nowrap !important;
}

/* PAST PASSENGER — never stack the wording */
body.page_cruise_category .guestAgeSelection {
    width: 260px !important;
    min-width: 260px !important;
    flex: 0 0 260px !important;
}

body.page_cruise_category .guestAgeSelection label {
    display: block !important;
    width: 260px !important;
    max-width: none !important;
    white-space: nowrap !important;
}

body.page_cruise_category .guestAgeSelection input {
    width: 260px !important;
    min-width: 260px !important;
}

/* =========================================================
   END — GUEST INFO ALIGNMENT FIX
   ========================================================= */
/* =========================================================
   JC CATEGORY PAGE — APPROVED GUEST PANEL FINAL ALIGNMENT
   24 AUG 2026
   ========================================================= */

/* Guest panel */
body.page_cruise_category .guestInfoCategory {
    position: relative !important;
    min-height: 145px !important;
    padding: 12px 250px 14px 16px !important;
}

/* Guest fields — one clean row */
body.page_cruise_category .Guest-info-inner,
body.page_cruise_category .Guest-info-inner > .form-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    gap: 18px !important;
    width: 100% !important;
}

/* Number of Guests */
body.page_cruise_category .guestNumbers {
    width: 120px !important;
    min-width: 120px !important;
    flex: 0 0 120px !important;
}

body.page_cruise_category .guestNumbers label,
body.page_cruise_category .guestNumbers label::after {
    display: block !important;
    width: 120px !important;
    white-space: nowrap !important;
}

/* Age fields */
body.page_cruise_category #CGA_1,
body.page_cruise_category #CGA_2,
body.page_cruise_category #CGA_3,
body.page_cruise_category #CGA_4 {
    width: 125px !important;
    min-width: 125px !important;
    flex: 0 0 125px !important;
}

body.page_cruise_category #CGA_1 label,
body.page_cruise_category #CGA_2 label,
body.page_cruise_category #CGA_3 label,
body.page_cruise_category #CGA_4 label {
    display: block !important;
    white-space: nowrap !important;
}

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: 125px !important;
}

/* Past Passenger */
body.page_cruise_category .guestAgeSelection {
    width: 250px !important;
    min-width: 250px !important;
    flex: 0 0 250px !important;
}

body.page_cruise_category .guestAgeSelection label {
    display: block !important;
    width: 250px !important;
    max-width: none !important;
    white-space: nowrap !important;
}

body.page_cruise_category .guestAgeSelection input {
    width: 250px !important;
    min-width: 250px !important;
}

/* Matching buttons — approved mock-up */
body.page_cruise_category .guestAgeButtons {
    position: absolute !important;
    top: 42px !important;
    right: 16px !important;
    width: 210px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page_cruise_category .guestAgeButtons .btn,
body.page_cruise_category .guestAgeButtons button {
    width: 210px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;

    background: #00234B !important;
    border: 1px solid #00234B !important;
    border-radius: 4px !important;

    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 40px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* Email button — same visual size */
body.page_cruise_category .non-sticky-page-request-quote-section .btn {
    width: 210px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;

    background: #E87516 !important;
    border: 1px solid #E87516 !important;
    border-radius: 4px !important;

    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 40px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* =========================================================
   END — APPROVED GUEST PANEL FINAL ALIGNMENT
   ========================================================= */
/* JC CATEGORY PAGE — HIDE ODS BOOKING STEP BAR */
body.page_cruise_category .booking-flow-banner,
body.page_cruise_category [data-ody-id="BookingFlowBanner"],
body.page_cruise_category [data-ody-id="CruiseBookingFlowBanner"] {
    display: none !important;
}
/* =========================================================
   JC CATEGORY PAGE — SAFE COMPACT POLISH
   25 AUG 2026
   ADD TO BOTTOM ONLY
   ========================================================= */


/* =========================================================
   1. TOP CATEGORY TILE PRICE
   Keep ODS wording, make smaller + JC NAVY
   ========================================================= */

body.page_cruise_category
#categoryTabs
[data-ody-id="CategoryFromPriceWrapper"] {

    margin: 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 15px !important;

    text-align: center !important;
}


/* EVERYTHING INSIDE THAT PRICE WRAPPER */
body.page_cruise_category
#categoryTabs
[data-ody-id="CategoryFromPriceWrapper"] * {

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
}


/* =========================================================
   2. STATEROOM DESCRIPTION
   Show ONLY first descriptive line.
   Prevent full amenities list returning.
   ========================================================= */

body.page_cruise_category
.category-description
.categoryCabinDescription {

    margin: 3px 0 0 0 !important;
    padding: 0 !important;

    max-height: 20px !important;
    overflow: hidden !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    line-height: 18px !important;
}


/* =========================================================
   3. DECKS LINE DIRECTLY AFTER DESCRIPTION
   ========================================================= */

body.page_cruise_category
.category-description
.categoryCabinDescription + .mt-2 {

    margin-top: 3px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    line-height: 17px !important;
}


body.page_cruise_category
.category-description
.categoryCabinDescription + .mt-2 strong,

body.page_cruise_category
.category-description
.categoryCabinDescription + .mt-2 b {

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    font-weight: 700 !important;
}


/* =========================================================
   4. LIVE FARE PRICES
   A$1,162 / A$1,440 / A$1,965 etc.
   JC NAVY
   ========================================================= */

body.page_cruise_category
.category-price-table-cell
[data-ody-id="TotalPrice"] {

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 16px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   5. TIGHTEN VERTICAL SPACE IN FARE ROWS
   ========================================================= */

body.page_cruise_category .category-price-table-cell {

    padding-top: 2px !important;
    padding-bottom: 2px !important;

    min-height: 48px !important;
}


body.page_cruise_category .category-price-table-cell-body {

    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    line-height: 14px !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;
}
/* =========================================================
   JC CATEGORY PAGE — GUEST AGES PANEL
   26 AUG 2026
   COMPLETE AREA OVERRIDE
   ========================================================= */


/* 1. LIGHT BLUE PANEL BACKGROUND */
body.page_cruise_category .guestInfoCategory {
    background: #F2F8FC !important;
    border: 1px solid #D9E2EA !important;
    border-radius: 6px !important;
}


/* 2. KEEP ALL GUEST FIELDS ON ONE CLEAN ROW */
body.page_cruise_category .Guest-info-inner,
body.page_cruise_category .Guest-info-inner > .form-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    gap: 16px !important;
}


/* =========================================================
   NUMBER OF GUESTS
   Let ODS Dictionary supply the wording
   ========================================================= */

body.page_cruise_category .guestNumbers {
    width: 105px !important;
    min-width: 105px !important;
    flex: 0 0 105px !important;
}


/* RESTORE REAL ODS LABEL */
body.page_cruise_category .guestNumbers label {
    display: block !important;
    width: 105px !important;

    font-size: 12px !important;
    line-height: 16px !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    text-align: center !important;
    white-space: nowrap !important;
}


/* REMOVE OUR OLD CSS-GENERATED WORDING */
body.page_cruise_category .guestNumbers label::after {
    content: none !important;
    display: none !important;
}


body.page_cruise_category .guestNumbers select {
    width: 105px !important;
    min-width: 105px !important;
    max-width: 105px !important;

    height: 34px !important;
    min-height: 34px !important;

    text-align: center !important;
    text-align-last: center !important;
}


/* =========================================================
   GUEST AGE FIELDS — GUEST 1 / GUEST 2 ETC.
   ========================================================= */

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


/* CENTRE GUEST 1 / GUEST 2 LABELS */
body.page_cruise_category #CGA_1 label,
body.page_cruise_category #CGA_2 label,
body.page_cruise_category #CGA_3 label,
body.page_cruise_category #CGA_4 label {
    display: block !important;
    width: 110px !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    line-height: 16px !important;

    text-align: center !important;
    white-space: nowrap !important;
}


/* CENTRE 40 / 40 VALUES */
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: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;

    height: 34px !important;
    min-height: 34px !important;

    text-align: center !important;
}


/* =========================================================
   PAST PASSENGER
   NARROWER BOX + CENTRED LABEL
   ========================================================= */

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


body.page_cruise_category .guestAgeSelection label {
    display: block !important;
    width: 220px !important;
    max-width: 220px !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    line-height: 16px !important;

    text-align: center !important;
    white-space: nowrap !important;
}


body.page_cruise_category .guestAgeSelection input {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 34px !important;
    min-height: 34px !important;

    text-align: center !important;
}


/* KEEP REFRESH BUTTON AS-IS */
body.page_cruise_category .guestAgeButtons {
    margin: 0 !important;
}
/* =========================================================
   JC CATEGORY PAGE — GUEST AGES PANEL
   SIZE + BACKGROUND REFINEMENT
   26 AUG 2026
   ========================================================= */


/* STRONGER LIGHT-BLUE PANEL */
body.page_cruise_category .guestInfoCategory {
    background: #E6F2FA !important;
    border: 1px solid #C9DDEB !important;
}


/* TIGHTER SPACING BETWEEN ALL GUEST FIELDS */
body.page_cruise_category .Guest-info-inner,
body.page_cruise_category .Guest-info-inner > .form-row {
    gap: 8px !important;
}


/* =========================================================
   NUMBER OF GUESTS
   ========================================================= */

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

body.page_cruise_category .guestNumbers label {
    width: 82px !important;
    font-size: 11px !important;
    text-align: center !important;
}

body.page_cruise_category .guestNumbers select {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;

    height: 34px !important;
    min-height: 34px !important;

    text-align: center !important;
    text-align-last: center !important;
}


/* =========================================================
   GUEST 1 / GUEST 2 / GUEST 3 / GUEST 4
   ========================================================= */

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

body.page_cruise_category #CGA_1 label,
body.page_cruise_category #CGA_2 label,
body.page_cruise_category #CGA_3 label,
body.page_cruise_category #CGA_4 label {
    width: 86px !important;
    font-size: 11px !important;
    text-align: center !important;
}

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: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;

    height: 34px !important;
    min-height: 34px !important;

    text-align: center !important;
}


/* =========================================================
   PAST PASSENGER
   ========================================================= */

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

body.page_cruise_category .guestAgeSelection label {
    width: 170px !important;
    max-width: 170px !important;

    font-size: 11px !important;
    text-align: center !important;
}

body.page_cruise_category .guestAgeSelection input {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;

    height: 34px !important;
    min-height: 34px !important;

    text-align: center !important;
}
/* =========================================================
   JC CATEGORY PAGE — GUEST AGES COMPACT SIZING
   26 AUG 2026
   ADD TO BOTTOM ONLY
   ========================================================= */

/* Make Guest Ages panel more compact */
body.page_cruise_category .cruise-guest-ages-container,
body.page_cruise_category [data-ody-id="GuestAgesWrapper"] {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}


/* No. of Guests box */
body.page_cruise_category select[data-ody-id="NumberOfGuests"] {
    width: 90px !important;
    max-width: 90px !important;
}


/* Guest age boxes */
body.page_cruise_category input[data-ody-id*="GuestAge"] {
    width: 80px !important;
    max-width: 80px !important;
    text-align: center !important;
}


/* Keep Past Passenger box wider */
body.page_cruise_category input[data-ody-id*="PastPassenger"] {
    width: 180px !important;
    max-width: 180px !important;
}


/* Reduce vertical padding inside all Guest Ages inputs */
body.page_cruise_category .cruise-guest-ages-container input,
body.page_cruise_category .cruise-guest-ages-container select,
body.page_cruise_category [data-ody-id="GuestAgesWrapper"] input,
body.page_cruise_category [data-ody-id="GuestAgesWrapper"] select {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 34px !important;
    height: 34px !important;
}
/* =========================================================
   JC CATEGORY PAGE — GUEST AGES PANEL COMPACT HEIGHT
   26 AUG 2026
   ========================================================= */

body.page_cruise_category .guestInfoCategory {
    min-height: 0 !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}
/* =========================================================
   JC CATEGORY PAGE — CATEGORY TILES
   COMPACT + CLEAN
   26 AUG 2026
   ADD TO BOTTOM ONLY
   ========================================================= */


/* =========================================================
   1. COMPACT ALL FOUR CATEGORY TILES
   ========================================================= */

body.page_cruise_category #categoryTabs .tabCatAirIncl {
    padding: 4px 6px 5px 6px !important;
    margin: 0 !important;

    min-height: 0 !important;

    box-sizing: border-box !important;
}


/* CABIN IMAGE — REDUCE WASTED SPACE AROUND IT */

body.page_cruise_category #categoryTabs .tabCatAirIncl img {
    margin-top: 0 !important;
    margin-bottom: 3px !important;

    padding: 0 !important;
}


/* CATEGORY NAME */

body.page_cruise_category #categoryTabs .tabCatAirIncl strong {
    margin: 0 !important;
    padding: 0 !important;

    line-height: 16px !important;
}


/* PRICE LINE */

body.page_cruise_category
#categoryTabs
.tabCatAirIncl
[data-ody-id="CategoryFromPriceWrapper"] {

    margin: 1px 0 0 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 15px !important;
}


/* =========================================================
   2. REMOVE "INCLUDES TAXES AND FEES"
   CATEGORY PAGE ONLY
   ========================================================= */

body.page_cruise_category
#categoryTabs
.cruise-tax-inclusive,

body.page_cruise_category
#categoryTabs
.includes-taxes-fees,

body.page_cruise_category
#categoryTabs
.taxes-and-fees,

body.page_cruise_category
#categoryTabs
[data-ody-id="CruiseInclusiveExclusiveMessage"] {

    display: none !important;

    height: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}


/* =========================================================
   3. ACTIVE / SELECTED CATEGORY TILE
   SAME PALE BLUE FAMILY AS GUEST AGES
   ========================================================= */

body.page_cruise_category #categoryTabs .tabCatAirIncl.active,
body.page_cruise_category #categoryTabs .tabCatAirIncl.selected,
body.page_cruise_category #categoryTabs .tabCatAirIncl[aria-selected="true"] {

    background: #E6F2FA !important;

    border-color: #7FB5D6 !important;
}


/* =========================================================
   4. SHORT AVAILABILITY STRIP — COMPACT
   ========================================================= */

body.page_cruise_category #TopCruisePricingNote,
body.page_cruise_category
[data-ody-id="DisclaimerTopCruisePricingNote"],
body.page_cruise_category .cruise-pricing-note {

    margin: 3px 0 !important;
    padding: 3px 8px !important;

    min-height: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 11px !important;
    line-height: 14px !important;
}
/* =========================================================
   JC CATEGORY PAGE — CATEGORY TILES CORRECTED SELECTORS
   26 AUG 2026
   ADD TO BOTTOM ONLY
   ========================================================= */


/* ALL CATEGORY TILES */
body.page_cruise_category #categoryTabs .pointer.nav-link {
    padding: 5px 6px !important;
    margin: 0 !important;

    min-height: 0 !important;

    box-sizing: border-box !important;
}


/* REDUCE SPACE AROUND TILE IMAGE */
body.page_cruise_category #categoryTabs .pointer.nav-link img {
    margin-top: 0 !important;
    margin-bottom: 3px !important;
}


/* TIGHTEN CATEGORY NAME */
body.page_cruise_category #categoryTabs .pointer.nav-link strong {
    margin: 0 !important;
    padding: 0 !important;

    line-height: 16px !important;
}


/* TIGHTEN PRICE */
body.page_cruise_category
#categoryTabs
.pointer.nav-link
[data-ody-id="CategoryFromPriceWrapper"] {

    margin: 1px 0 0 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 15px !important;
}


/* SELECTED CATEGORY — SAME BLUE FAMILY AS GUEST AGES */
body.page_cruise_category #categoryTabs .pointer.nav-link.active {
    background: #E6F2FA !important;
    border-color: #7FB5D6 !important;
}


/* REMOVE TAXES & FEES COPY INSIDE CATEGORY TILES */
body.page_cruise_category
#categoryTabs
.pointer.nav-link
.cruise-tax-inclusive,

body.page_cruise_category
#categoryTabs
.pointer.nav-link
.includes-taxes-fees,

body.page_cruise_category
#categoryTabs
.pointer.nav-link
.taxes-and-fees,

body.page_cruise_category
#categoryTabs
.pointer.nav-link
[data-ody-id="CruiseInclusiveExclusiveMessage"] {

    display: none !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CATEGORY TABS – ACTIVE COLOUR
   Added after 1:48 PM SAFE CHECKPOINT – 26 AUG 2026
   ========================================================= */

#categoryTabs .nav-link.active {
    background: #dff1fb !important;
}
/* =========================================================
   JC CATEGORY & OFFERS PANEL – COMPACT TEST
   Added after 2:06 PM SAFE CHECKPOINT – 26 AUG 2026
   ========================================================= */

/* ---------------------------------------------------------
   1. STATEROOM DETAIL BOX – COMPACT
   --------------------------------------------------------- */

/* Tighten the main stateroom card */
.category-content .card,
.category-content .card-body {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

/* Reduce padding inside stateroom information area */
.category-content .card-body {
    padding: 8px 10px !important;
}

/* ---------------------------------------------------------
   2. STATEROOM INFORMATION AREA – PALE BLUE
   Same family as Guest Ages / active category
   --------------------------------------------------------- */

.category-content .card-body {
    background-color: #dff1fb !important;
}

/* ---------------------------------------------------------
   3. COST PER PERSON / TOTAL CABIN COST HEADER
   --------------------------------------------------------- */

.category-content .card-header {
    padding: 5px 12px !important;
    margin: 0 !important;
    min-height: 0 !important;
}

/* ---------------------------------------------------------
   4. FARE / OFFER ROWS – REDUCE WASTED HEIGHT
   --------------------------------------------------------- */

.category-content .row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.category-content .card-footer {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* Keep price text compact */
.category-content .price,
.category-content [class*="price"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.15 !important;
}

/* ---------------------------------------------------------
   DO NOT HIDE TAX TEXT YET
   We will target the exact tax element separately once
   this compact layout is confirmed working.
   --------------------------------------------------------- */
/* =========================================================
   JC STATEROOM PAGE – COSMETIC COMPACTING
   Started 26 AUG 2026 – 2:43 PM
   ADD TO BOTTOM ONLY
   ========================================================= */


/* =========================================================
   1. TOP CRUISE TITLE AREA – REDUCE WASTED HEIGHT
   ========================================================= */

body.page_cruise_cabin .page-title,
body.page_cruise_cabin .cruise-title-section,
body.page_cruise_cabin .package-title {

    margin-top: 4px !important;
    margin-bottom: 6px !important;

    padding-top: 6px !important;
    padding-bottom: 6px !important;
}


/* =========================================================
   2. TOTAL PRICE PANEL – COMPACT
   ========================================================= */

body.page_cruise_cabin [data-ody-id="TotalPrice"],
body.page_cruise_cabin .total-price {

    margin-top: 0 !important;
    margin-bottom: 4px !important;

    padding-top: 5px !important;
    padding-bottom: 5px !important;
}


/* =========================================================
   3. CABIN NUMBER / REQUEST CABIN AREA – COMPACT
   ========================================================= */

body.page_cruise_cabin .cabin-number-container,
body.page_cruise_cabin [data-ody-id="CabinNumberWrapper"] {

    margin-top: 4px !important;
    margin-bottom: 4px !important;

    padding-top: 5px !important;
    padding-bottom: 5px !important;
}


/* =========================================================
   4. ACCORDION HEADERS – PUBLIC AREAS / UPGRADE / SELECT
   Keep all functionality exactly as-is
   ========================================================= */

body.page_cruise_cabin .card-header,
body.page_cruise_cabin .accordion .card-header {

    min-height: 34px !important;

    margin: 0 !important;
    padding: 5px 10px !important;

    line-height: 20px !important;
}


/* Reduce gaps between accordion sections */

body.page_cruise_cabin .accordion .card {

    margin-top: 3px !important;
    margin-bottom: 3px !important;
}


/* =========================================================
   5. STATEROOM LIST ROWS – COMPACT EXISTING ROWS
   NO STRUCTURAL / FUNCTIONAL CHANGES
   ========================================================= */

body.page_cruise_cabin .stateroom-row,
body.page_cruise_cabin [data-ody-id="StateroomRow"] {

    margin: 0 !important;

    padding-top: 6px !important;
    padding-bottom: 6px !important;

    min-height: 0 !important;
}


/* Tighten text inside each existing cabin row */

body.page_cruise_cabin .stateroom-row p,
body.page_cruise_cabin .stateroom-row div,
body.page_cruise_cabin [data-ody-id="StateroomRow"] p,
body.page_cruise_cabin [data-ody-id="StateroomRow"] div {

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    line-height: 1.25 !important;
}


/* =========================================================
   6. RIGHT-HAND DECK PLAN AREA – REDUCE GAPS
   ========================================================= */

body.page_cruise_cabin .deck-plan-container,
body.page_cruise_cabin [data-ody-id="DeckPlanWrapper"] {

    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* =========================================================
   7. GENERAL CARD SPACING – STATEROOM PAGE ONLY
   ========================================================= */

body.page_cruise_cabin .card {

    margin-bottom: 5px !important;
}


/* =========================================================
   IMPORTANT
   No hiding, no display:none, no button changes,
   no cabin-selection changes, no deck-plan functionality changes.
   ========================================================= */
/* =========================================================
   JC CATEGORY PAGE – STATEROOM INFO PANEL
   26 AUG 2026 – 2:55 PM
   ADD TO BOTTOM ONLY
   ========================================================= */

/* Right-hand IF / Interior Stateroom information panel only */
body.page_cruise_category
.category-cabin-details
.custom-category-display {

    background: #dff1fb !important;

    padding: 6px 10px !important;

    margin: 0 !important;

    box-sizing: border-box !important;
}


/* Tighten the IF / Interior Stateroom heading row */
body.page_cruise_category
.category-cabin-details
.custom-category-display
.category-description {

    margin: 0 0 3px 0 !important;
    padding: 0 !important;

    min-height: 0 !important;
}
/* =========================================================
   JC CATEGORY PAGE – IMAGE + FARE COMPACTING
   26 AUG 2026 – 4:20 PM
   ADD TO BOTTOM ONLY
   ========================================================= */


/* =========================================================
   1. MAKE CABIN IMAGE SMALLER
   Aim for roughly same height as pale-blue info panel
   ========================================================= */

body.page_cruise_category
.category-cabin-details
.category-cabin-details-img {

    width: 190px !important;
    max-width: 190px !important;
    flex: 0 0 190px !important;

    margin: 0 8px 0 0 !important;
    padding: 0 !important;
}


body.page_cruise_category
.category-cabin-details
.category-cabin-details-img img {

    display: block !important;

    width: 190px !important;
    max-width: 190px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   2. TIGHTEN COST PER PERSON / TOTAL CABIN COST AREA
   ========================================================= */

body.page_cruise_category
.category-price-table {

    margin-top: 2px !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* Tighten fare rows */

body.page_cruise_category
.category-price-table-cell {

    min-height: 0 !important;

    padding-top: 3px !important;
    padding-bottom: 3px !important;
}


body.page_cruise_category
.category-price-table-cell-body {

    margin: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    line-height: 14px !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;
}


/* =========================================================
   JC CATEGORY PAGE – HIDE "INCLUDES TAXES AND FEES"
   Added 26 AUG 2026 – 4:35 PM
   Exact ODS selector confirmed in DevTools
   ========================================================= */

span.cruise-tax-inclusive.text-primary {
    display: none !important;
}
/* =========================================================
   JC CABIN PAGE – LEFT SIDEBAR MATCH CATEGORY PAGE
   26 AUG 2026 – 5:43 PM BALI TIME

   CATEGORY PAGE IS THE MASTER DESIGN
   COSMETIC ONLY – NO FUNCTIONALITY CHANGES
   ========================================================= */


/* =========================================================
   LEFT COLUMN
   Keep native ODS col-lg-3 width
   ========================================================= */

body.page_cruise_cabin .section-sidebar {
    margin-top: 0 !important;

    background: #00234B !important;
    border: 1px solid #00234B !important;
    border-radius: 6px !important;

    padding: 10px !important;

    box-sizing: border-box !important;
}


/* =========================================================
   CRUISE SUMMARY – SAME AS CATEGORY
   ========================================================= */

body.page_cruise_cabin #packageDetails {
    position: static !important;
    top: auto !important;
    z-index: auto !important;

    background: #00234B !important;
    border: 0 !important;
    border-radius: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Main sidebar text white */

body.page_cruise_cabin #packageDetails,
body.page_cruise_cabin #packageDetails a,
body.page_cruise_cabin #packageDetails span,
body.page_cruise_cabin #packageDetails div,
body.page_cruise_cabin #packageDetails p,
body.page_cruise_cabin #packageDetails strong,
body.page_cruise_cabin #packageDetails b {

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}


/* =========================================================
   SHIP IMAGE – SAME AS CATEGORY
   ========================================================= */

body.page_cruise_cabin #CruiseNavigationTabsInfo {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border-radius: 4px !important;

    overflow: hidden !important;
}

body.page_cruise_cabin
#CruiseNavigationTabsInfo
img.embed-responsive-item {

    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-height: 180px !important;

    object-fit: cover !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   DESTINATION STRIP – SAME AS CATEGORY
   ========================================================= */

body.page_cruise_cabin
#packageDetails
[data-ody-id="DestinationText"] {

    margin: 6px 0 8px 0 !important;
    padding: 7px 9px !important;

    background: #0B3D6E !important;

    border: 0 !important;
    border-radius: 3px !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 12px !important;
    line-height: 16px !important;
}


/* =========================================================
   CRUISE DETAILS – SAME COMPACT SPACING AS CATEGORY
   ========================================================= */

body.page_cruise_cabin
[data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],

body.page_cruise_cabin
[data-ody-id="CruiseGeneralDetailsWrapper"] {

    margin: 0 !important;
    padding: 0 !important;
}


body.page_cruise_cabin
[data-ody-id="CruiseGeneralDetailsWrapper"] > div {

    margin-bottom: 5px !important;

    font-size: 13px !important;
    line-height: 18px !important;
}


/* Cruise-line logo white */

body.page_cruise_cabin
#packageDetails
[data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] img,

body.page_cruise_cabin
#packageDetails
[data-ody-id="CruiseGeneralDetailsWrapper"] img {

    width: auto !important;
    max-width: 145px !important;
    max-height: 30px !important;

    filter: brightness(0) invert(1) !important;
    opacity: .95 !important;
}


/* =========================================================
   ITINERARY – EXACT CATEGORY LOOK
   Pale panel + JC navy text
   ========================================================= */

body.page_cruise_cabin
#packageDetails
.section-itinerary {

    margin: 8px 0 0 0 !important;
    padding: 0 !important;

    background: #F2F8FC !important;

    border-radius: 4px !important;

    overflow: hidden !important;
}


/* Itinerary heading */

body.page_cruise_cabin
#packageDetails
.itinerary-accordion-header {

    margin: 0 !important;
    padding: 7px 8px !important;

    min-height: 32px !important;

    background: #D9EBF7 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
}


/* Expanded itinerary background */

body.page_cruise_cabin
#packageDetails
.itinerary-full,

body.page_cruise_cabin
#packageDetails
#toggleItinerary {

    margin: 0 !important;
    padding: 8px !important;

    background: #F2F8FC !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* IMPORTANT:
   Override the white sidebar text inside itinerary */

body.page_cruise_cabin
#packageDetails
.section-itinerary,

body.page_cruise_cabin
#packageDetails
.section-itinerary *,

body.page_cruise_cabin
#packageDetails
.itinerary-accordion-header,

body.page_cruise_cabin
#packageDetails
.itinerary-accordion-header *,

body.page_cruise_cabin
#packageDetails
#toggleItinerary,

body.page_cruise_cabin
#packageDetails
#toggleItinerary * {

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}


/* Tight itinerary rows – same Category proportions */

body.page_cruise_cabin
#packageDetails
.section-itinerary .p-2 {

    padding: 4px 0 !important;
    margin: 0 !important;

    font-size: 11px !important;
    line-height: 15px !important;
}


body.page_cruise_cabin
#packageDetails
.itinerary-details {

    margin: 4px 0 0 0 !important;
    padding-left: 18px !important;

    font-size: 11px !important;
    line-height: 15px !important;
}


body.page_cruise_cabin
#packageDetails
.itinerary-details li {

    margin-bottom: 3px !important;
    padding: 0 !important;
}


/* =========================================================
   SEPARATORS
   ========================================================= */

body.page_cruise_cabin #packageDetails hr {

    margin: 8px 0 !important;

    border-color: rgba(255,255,255,.35) !important;
}


/* =========================================================
   END
   JC CABIN SIDEBAR – CATEGORY MATCH
   26 AUG 2026 – 5:43 PM BALI TIME
   ========================================================= */
/* =========================================================
   JC CABIN PAGE – REMOVE REDUNDANT SIDEBAR FARE SUMMARY
   26 AUG 2026 – 5:49 PM BALI TIME
   COSMETIC ONLY – NO FUNCTIONALITY CHANGE
   ========================================================= */

body.page_cruise_cabin
#packageDetails
.cruise-details.special-offers {
    display: none !important;
}
/* =========================================================
   JC CABIN PAGE – COMPACT STATEROOM ROWS
   26 AUG 2026 – 5:56 PM BALI TIME

   COSMETIC ONLY
   NO FUNCTIONALITY CHANGES
   ADD TO BOTTOM ONLY
   ========================================================= */


/* =========================================================
   1. COMPACT EACH CABIN ROW
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody > tr {

    min-height: 0 !important;
}


/* =========================================================
   2. REDUCE CELL PADDING
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody > tr > td {

    padding-top: 7px !important;
    padding-bottom: 7px !important;

    vertical-align: middle !important;
}


/* =========================================================
   3. CABIN NUMBER CELL
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="StateroomNumber"] {

    vertical-align: middle !important;

    line-height: 1.2 !important;
}


/* =========================================================
   4. DECK / LOCATION DETAILS
   Tighten existing text only
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] {

    vertical-align: middle !important;

    line-height: 1.2 !important;

    padding-top: 7px !important;
    padding-bottom: 7px !important;
}


body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] p,

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] div,

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] span {

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    line-height: 1.2 !important;
}


/* =========================================================
   5. CONTINUE BUTTON CELL
   Keep button/function exactly as-is
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="StateroomBookNowButtonWrapper"] {

    vertical-align: middle !important;

    padding-top: 7px !important;
    padding-bottom: 7px !important;
}


/* =========================================================
   END – CABIN ROW COMPACTING PASS 1
   26 AUG 2026 – 5:56 PM BALI TIME
   ========================================================= */
/* =========================================================
   JC CABIN PAGE – CABIN ROW COLUMN WIDTHS
   26 AUG 2026 – 6:02 PM BALI TIME

   COSMETIC ONLY
   NO FUNCTIONALITY CHANGES
   ADD TO BOTTOM ONLY
   ========================================================= */


/* =========================================================
   1. CABIN NUMBER COLUMN – NARROWER
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="StateroomNumber"] {

    width: 24% !important;
    max-width: 24% !important;

    padding-left: 12px !important;
    padding-right: 8px !important;
}


/* =========================================================
   2. DETAILS COLUMN – GIVE IT MORE ROOM
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] {

    width: 52% !important;
    max-width: 52% !important;

    padding-left: 10px !important;
    padding-right: 10px !important;
}


/* Keep the detail lines compact */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinDeckName"],

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinShipSide"],

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinMaxGuest"] {

    margin: 0 !important;
    padding: 0 !important;

    line-height: 1.2 !important;
}


/* =========================================================
   3. CONTINUE COLUMN – COMPACT / FIXED
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="StateroomBookNowButtonWrapper"] {

    width: 24% !important;
    max-width: 24% !important;

    padding-left: 8px !important;
    padding-right: 12px !important;

    text-align: right !important;
}


/* =========================================================
   4. KEEP CABIN TABLE FULL WIDTH
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody {

    width: 100% !important;
}


/* =========================================================
   END – CABIN ROW COLUMN WIDTHS
   26 AUG 2026 – 6:02 PM BALI TIME
   ========================================================= */
/* =========================================================
   JC CABIN PAGE – COMPACT ONE-LINE STATEROOM ROWS
   26 AUG 2026 – 6:04 PM BALI TIME

   ADD TO BOTTOM ONLY
   COSMETIC ONLY
   ========================================================= */


/* =========================================================
   1. CABIN NUMBER COLUMN
   Make much narrower
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="StateroomNumber"] {

    width: 15% !important;
    max-width: 15% !important;

    padding: 6px 5px 6px 12px !important;

    vertical-align: middle !important;
    white-space: nowrap !important;
}


/* =========================================================
   2. HIDE GREEN CABIN INFO ICON
   Cabin number itself remains clickable
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinDetailsIcon"] {

    display: none !important;
}


/* Cabin number */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="SelectStateroomNo"] {

    font-size: 15px !important;
    line-height: 1 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   3. DETAILS COLUMN
   Give this the majority of the row
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] {

    width: 67% !important;
    max-width: 67% !important;

    padding: 6px 6px !important;

    vertical-align: middle !important;

    white-space: normal !important;

    font-size: 14px !important;
    line-height: 1.1 !important;
}


/* =========================================================
   4. PUT THE THREE DETAIL SECTIONS ON ONE LINE
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinDeckName"],

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinShipSide"],

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinMaxGuest"] {

    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.1 !important;

    white-space: nowrap !important;
}


/* Separator after deck */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinDeckName"]::after {

    content: "  •  ";
}


/* Separator after location */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="CabinShipSide"]::after {

    content: "  •  ";
}


/* =========================================================
   5. CONTINUE COLUMN
   Smaller and tighter
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="StateroomBookNowButtonWrapper"] {

    width: 18% !important;
    max-width: 18% !important;

    padding: 5px 10px 5px 4px !important;

    vertical-align: middle !important;
    text-align: right !important;

    white-space: nowrap !important;
}


/* Smaller CONTINUE button */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="StateroomBookNowButtonWrapper"] .btn {

    font-size: 14px !important;

    line-height: 1 !important;

    padding: 9px 14px !important;

    min-width: 0 !important;

    height: auto !important;
}


/* =========================================================
   6. TIGHTEN WHOLE CABIN ROW
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody > tr > td {

    padding-top: 6px !important;
    padding-bottom: 6px !important;

    vertical-align: middle !important;
}


/* =========================================================
   END – COMPACT ONE-LINE STATEROOM ROWS
   26 AUG 2026 – 6:04 PM BALI TIME
   ========================================================= */
/* =========================================================
   JC CABIN PAGE — COMPACT CABIN ROWS
   26 AUG 2026 — AFTER 6:04PM SAVE POINT
   ========================================================= */

/* Cabin number column — compact */
#StateroomPriceTableBody td[data-ody-id="StateroomNumber"] {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

/* Cabin details — compact single line */
#StateroomPriceTableBody td[data-ody-id="DeckDetails"] {
    padding: 10px 8px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
}

/* Put all cabin detail pieces onto one line */
#StateroomPriceTableBody td[data-ody-id="DeckDetails"] > div {
    display: inline !important;
}

/* Remove ODS labels and rebuild cleaner wording */
#StateroomPriceTableBody [data-ody-id="CabinDeckName"],
#StateroomPriceTableBody [data-ody-id="CabinShipSide"],
#StateroomPriceTableBody [data-ody-id="CabinMaxGuest"] {
    font-size: 0 !important;
}

/* Deck: Deck 5 - Plaza Deck -> Deck 5 - Plaza Deck */
#StateroomPriceTableBody [data-ody-id="CabinDeckName"]::after {
    content: attr(data-jc-text);
    font-size: 14px !important;
}

/* Restore actual text using JS-free CSS where possible */
#StateroomPriceTableBody [data-ody-id="CabinDeckName"] {
    font-size: 14px !important;
}

/* Hide the first "Deck:" label */
#StateroomPriceTableBody [data-ody-id="CabinDeckName"] {
    text-indent: -34px !important;
    padding-left: 34px !important;
}

/* Add separators between detail fields */
#StateroomPriceTableBody [data-ody-id="CabinShipSide"]::before,
#StateroomPriceTableBody [data-ody-id="CabinMaxGuest"]::before {
    content: " • " !important;
    font-size: 14px !important;
}

/* Keep detail text visible */
#StateroomPriceTableBody [data-ody-id="CabinShipSide"],
#StateroomPriceTableBody [data-ody-id="CabinMaxGuest"] {
    font-size: 14px !important;
}

/* Compact SELECT button column */
#StateroomPriceTableBody td[data-ody-id="StateroomBookNowButtonWrapper"] {
    width: 92px !important;
    min-width: 92px !important;
    padding: 7px 8px !important;
    vertical-align: middle !important;
}

/* Smaller cabin selection button */
#StateroomPriceTableBody td[data-ody-id="StateroomBookNowButtonWrapper"] .btn {
    min-width: 78px !important;
    width: auto !important;
    padding: 7px 12px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

/* Change CONTINUE to SELECT visually */
#StateroomPriceTableBody td[data-ody-id="StateroomBookNowButtonWrapper"] .btn {
    font-size: 0 !important;
}

#StateroomPriceTableBody td[data-ody-id="StateroomBookNowButtonWrapper"] .btn::after {
    content: "SELECT";
    font-size: 14px !important;
}

/* Keep rows compact */
#StateroomPriceTableBody tr {
    height: auto !important;
}

#StateroomPriceTableBody td {
    vertical-align: middle !important;
}
/* REMOVE DOTS BETWEEN CABIN DETAIL ITEMS */
body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] {
    font-size: 0 !important;
}

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] > div {
    font-size: 14px !important;
}

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] > div::before,
body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="DeckDetails"] > div::after {
    content: none !important;
    display: none !important;
}
/* ==========================================================
   CABIN PAGE — REMOVE DECK PLAN GREY DISCLAIMER
   ========================================================== */

body.page_cruise_cabin
.section-ship-deckplan-details
.deckImg > .disclaimer {
    display: none !important;
}
/* =========================================================
   JC CABIN PAGE — FINAL COLUMN RESET
   27 AUG 2026
   PURPOSE:
   - Restore sensible cabin row widths
   - Allow details to wrap
   - Keep CONTINUE button fully visible
   - Override earlier conflicting cabin experiments
   ========================================================= */

@media (min-width: 992px) {

    /* Keep the cabin table inside the middle column */
    body.page_cruise_cabin
    #StateroomPriceTableBody {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.page_cruise_cabin
    #StateroomPriceTableBody tr {
        width: 100% !important;
    }


    /* ---------------------------------------------------------
       1. CABIN NUMBER
       --------------------------------------------------------- */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomNumber"] {

        width: 18% !important;
        max-width: 18% !important;

        padding: 7px 10px !important;

        box-sizing: border-box !important;

        vertical-align: middle !important;
        white-space: nowrap !important;
    }


    /* ---------------------------------------------------------
       2. CABIN DETAILS
       IMPORTANT: ALLOW WRAPPING
       --------------------------------------------------------- */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="DeckDetails"] {

        width: 64% !important;
        max-width: 64% !important;

        padding: 7px 8px !important;

        box-sizing: border-box !important;

        vertical-align: middle !important;

        white-space: normal !important;

        font-size: 14px !important;
        line-height: 1.15 !important;

        overflow-wrap: normal !important;
        word-break: normal !important;
    }


    /* Detail pieces may sit on separate lines naturally */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="DeckDetails"] > div {

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        white-space: normal !important;

        font-size: 14px !important;
        line-height: 1.15 !important;
    }


    /* ---------------------------------------------------------
       3. CONTINUE BUTTON COLUMN
       RESERVE ITS OWN SPACE
       --------------------------------------------------------- */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomBookNowButtonWrapper"] {

        width: 18% !important;
        max-width: 18% !important;

        padding: 7px 8px !important;

        box-sizing: border-box !important;

        vertical-align: middle !important;
        text-align: center !important;

        white-space: nowrap !important;

        overflow: visible !important;
    }


    /* CONTINUE button */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomBookNowButtonWrapper"] .btn {

        display: inline-block !important;

        width: auto !important;
        min-width: 92px !important;
        max-width: 100% !important;

        margin: 0 auto !important;
        padding: 8px 10px !important;

        box-sizing: border-box !important;

        font-size: 14px !important;
        line-height: 1.1 !important;

        white-space: nowrap !important;
    }
}
/* =========================================================
   JC CABIN PAGE — FINAL CLEAN DISPLAY OVERRIDE
   27 AUG 2026

   KEEP GOOD 3-LINE LAYOUT
   Cabin    16%
   Details  66%
   Continue 18%

   Smaller detail font
   Move CONTINUE slightly away from right edge
   ========================================================= */

@media (min-width: 992px) {

    /* ACTUAL CABIN TABLE */
    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }


    /* COLUMN 1 — CABINS */
    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) thead th:nth-child(1),
    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td:nth-child(1) {
        width: 16% !important;
        min-width: 0 !important;
        max-width: 16% !important;
    }


    /* COLUMN 2 — DETAILS */
    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) thead th:nth-child(2),
    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td:nth-child(2) {
        width: 66% !important;
        min-width: 0 !important;
        max-width: 66% !important;
    }


    /* COLUMN 3 — CONTINUE */
    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) thead th:nth-child(3),
    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td:nth-child(3) {
        width: 18% !important;
        min-width: 0 !important;
        max-width: 18% !important;
    }


    /* DETAILS — SMALLER + THREE COMPACT LINES */
    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="DeckDetails"] {
        padding: 5px 6px !important;
        font-size: 13px !important;
        line-height: 1.12 !important;
        white-space: normal !important;
    }

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinDeckName"],

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinShipSide"],

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinMaxGuest"] {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;

        font-size: 13px !important;
        line-height: 1.12 !important;

        white-space: nowrap !important;
    }


    /* COMPACT ROWS */
    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        vertical-align: middle !important;
    }


    /* CONTINUE — KEEP SAME COLUMN BUT MOVE BUTTON LEFT */
    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomBookNowButtonWrapper"] {
        padding-left: 4px !important;
        padding-right: 14px !important;
        text-align: right !important;
        overflow: visible !important;
    }

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomBookNowButtonWrapper"] .btn {
        min-width: 92px !important;
        width: auto !important;

        margin: 0 8px 0 0 !important;
        padding: 8px 10px !important;

        font-size: 14px !important;
        line-height: 1.1 !important;

        white-space: nowrap !important;
    }


    /* RESTORE REAL CONTINUE TEXT */
    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomBookNowButtonWrapper"] .btn::after {
        content: none !important;
        display: none !important;
    }
}
/* =========================================================
   JC CABIN PAGE — FINAL CABIN TABLE LOCK
   27 AUG 2026

   Cabin     20%
   Details   60%
   Continue  20%

   THIS OVERRIDES ALL EARLIER CABIN COLUMN EXPERIMENTS
   ========================================================= */

@media (min-width: 992px) {

    /* FORCE THE ACTUAL TABLE TO USE OUR THREE COLUMNS */
    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }


    /* =====================================================
       COLUMN 1 — CABINS
       ===================================================== */

    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) thead th:nth-child(1),

    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td:nth-child(1),

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomNumber"] {

        width: 20% !important;
        min-width: 20% !important;
        max-width: 20% !important;

        padding-left: 12px !important;
        padding-right: 8px !important;

        box-sizing: border-box !important;

        white-space: nowrap !important;
        vertical-align: middle !important;
    }


    /* =====================================================
       COLUMN 2 — DETAILS
       ===================================================== */

    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) thead th:nth-child(2),

    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td:nth-child(2),

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="DeckDetails"] {

        width: 60% !important;
        min-width: 60% !important;
        max-width: 60% !important;

        padding: 5px 6px !important;

        box-sizing: border-box !important;

        vertical-align: middle !important;

        font-size: 13px !important;
        line-height: 1.12 !important;

        white-space: normal !important;
    }


    /* DETAILS — THREE CLEAN COMPACT LINES */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinDeckName"],

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinShipSide"],

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinMaxGuest"] {

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 13px !important;
        line-height: 1.12 !important;

        white-space: nowrap !important;

        text-indent: 0 !important;
    }


    /* REMOVE ANY OLD DOT / SEPARATOR EXPERIMENTS */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinDeckName"]::before,

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinDeckName"]::after,

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinShipSide"]::before,

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinShipSide"]::after,

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinMaxGuest"]::before,

    body.page_cruise_cabin
    #StateroomPriceTableBody
    [data-ody-id="CabinMaxGuest"]::after {

        content: none !important;
        display: none !important;
    }


    /* =====================================================
       COLUMN 3 — CONTINUE
       ===================================================== */

    body.page_cruise_cabin
    table:has(> #StateroomPriceTableBody) thead th:nth-child(3),

    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td:nth-child(3),

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomBookNowButtonWrapper"] {

        width: 20% !important;
        min-width: 20% !important;
        max-width: 20% !important;

        padding: 5px 12px 5px 8px !important;

        box-sizing: border-box !important;

        vertical-align: middle !important;
        text-align: center !important;

        white-space: nowrap !important;
        overflow: hidden !important;
    }


    /* CONTINUE BUTTON — SMALLER WITH SPACE AROUND IT */

    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="StateroomBookNowButtonWrapper"] .btn {

        display: inline-block !important;

        width: auto !important;
        min-width: 88px !important;
        max-width: 100% !important;

        margin: 0 auto !important;

        padding: 7px 9px !important;

        box-sizing: border-box !important;

        font-size: 13px !important;
        line-height: 1 !important;

        white-space: nowrap !important;
    }


    /* KEEP ROWS COMPACT */

    body.page_cruise_cabin
    #StateroomPriceTableBody > tr > td {

        padding-top: 5px !important;
        padding-bottom: 5px !important;

        vertical-align: middle !important;
    }
}

/* =========================================================
   END — FINAL CABIN TABLE LOCK
   ========================================================= */
/* =========================================================
   CABIN PAGE — HIDE RH SHIP / DECK PROFILE IMAGE
   Safe change: 27 Aug 2026
   ========================================================= */

#DeckPlanMainImg {
    display: none !important;
}
/* =========================================================
   CABIN PAGE — COMPACT CABIN DETAILS TEXT
   28 Aug 2026
   ========================================================= */

@media (min-width: 992px) {
    body.page_cruise_cabin
    #StateroomPriceTableBody
    td[data-ody-id="DeckDetails"] > div {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }
}
/* =========================================================
   CABIN PAGE — CABIN NUMBER SIZE
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="SelectStateRoomNo"] {
    font-size: 10px !important;
}
/* =========================================================
   CABIN PAGE — HIDE DECK PLAN AVAILABILITY DISCLAIMER
   ========================================================= */

body.page_cruise_cabin
[data-ody-id="CabinMapImageInfo"] {
    display: none !important;
}
/* =========================================================
   CABIN PAGE — HIDE "OTHER DECKS" MESSAGE
   ========================================================= */

body.page_cruise_cabin
#DeckPlanImageDiv
.disclaimer {
    display: none !important;
}
/* =========================================================
   CABIN PAGE – COMPACT PRICE + CHOOSE CABIN HEADERS
   28 AUG 2026
   ========================================================= */

@media (min-width: 992px) {

    /* TOTAL PRICE + CHOOSE YOUR CABIN – SAME SIZE */
    body.page_cruise_cabin .card-header.bg-secondary {
        font-size: 20px !important;
        line-height: 1.1 !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
        margin: 0 !important;
    }

    /* TOTAL PRICE VALUE – SMALLER + TIGHTER */
    body.page_cruise_cabin [data-ody-id="StateroomTotalPrice"],
    body.page_cruise_cabin [data-ody-id="TotalPrice"] {
        font-size: 24px !important;
        line-height: 1.05 !important;
        margin: 0 !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

}
/* =========================================================
   JC GLOBAL PRIMARY TEXT COLOUR
   Replace ODS light blue text with JC Navy
   ========================================================= */

.text-primary {
    color: #00234B !important;
}
/* =========================================================
   JC CHECKOUT PAGE — LEFT SIDEBAR MATCH CATEGORY/CABIN
   28 AUG 2026
   FIRST PASS — COSMETIC ONLY
   ========================================================= */

@media (min-width: 992px) {

    /* =====================================================
       WHOLE CHECKOUT LEFT COLUMN
       ===================================================== */

    .section-sidebar {
        margin-top: 0 !important;

        background: #00234B !important;
        border: 1px solid #00234B !important;
        border-radius: 6px !important;

        padding: 10px !important;

        box-sizing: border-box !important;
    }


    /* =====================================================
       MAIN SIDEBAR TEXT — WHITE
       ===================================================== */

    .section-sidebar,
    .section-sidebar a,
    .section-sidebar span,
    .section-sidebar div,
    .section-sidebar p,
    .section-sidebar strong,
    .section-sidebar b,
    .section-sidebar label {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
    }


    /* =====================================================
       SHIP IMAGE — SAME COMPACT TREATMENT
       ===================================================== */

    .section-sidebar #CruiseNavigationTabsInfo {
        margin: 0 0 8px 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border-radius: 4px !important;

        overflow: hidden !important;
    }

    .section-sidebar
    #CruiseNavigationTabsInfo
    img.embed-responsive-item {
        display: block !important;

        width: 100% !important;
        height: auto !important;
        max-height: 180px !important;

        object-fit: cover !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* =====================================================
       DESTINATION STRIP
       ===================================================== */

    .section-sidebar
    [data-ody-id="DestinationText"] {
        margin: 6px 0 8px 0 !important;
        padding: 7px 9px !important;

        background: #0B3D6E !important;

        border: 0 !important;
        border-radius: 3px !important;

        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;

        font-size: 12px !important;
        line-height: 16px !important;
    }


    /* =====================================================
       CRUISE DETAILS — COMPACT
       ===================================================== */

    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],

    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapper"] {
        margin: 0 !important;
        padding: 0 !important;
    }

    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapper"] > div {
        margin-bottom: 5px !important;

        font-size: 13px !important;
        line-height: 18px !important;
    }


    /* PRINCESS / CRUISE-LINE LOGO */
    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] img,

    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapper"] img {
        width: auto !important;
        max-width: 145px !important;
        max-height: 30px !important;

        filter: brightness(0) invert(1) !important;
        opacity: .95 !important;
    }


    /* =====================================================
       SEPARATORS
       ===================================================== */

    .section-sidebar hr {
        margin: 8px 0 !important;
        border-color: rgba(255,255,255,.35) !important;
    }


    /* =====================================================
       ITINERARY — SAME PALE INSET AS CATEGORY/CABIN
       ===================================================== */

    .section-sidebar
    .section-itinerary {
        margin: 8px 0 0 0 !important;
        padding: 0 !important;

        background: #F2F8FC !important;
        border-radius: 4px !important;

        overflow: hidden !important;
    }


    /* ITINERARY HEADER */
    .section-sidebar
    .itinerary-accordion-header {
        margin: 0 !important;
        padding: 7px 8px !important;

        min-height: 32px !important;

        background: #D9EBF7 !important;

        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;

        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
    }


    /* ITINERARY BODY */
    .section-sidebar
    .itinerary-full,

    .section-sidebar
    #toggleItinerary {
        margin: 0 !important;
        padding: 8px !important;

        background: #F2F8FC !important;

        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;
    }


    /* NAVY TEXT INSIDE PALE ITINERARY */
    .section-sidebar
    .section-itinerary,

    .section-sidebar
    .section-itinerary *,

    .section-sidebar
    .itinerary-accordion-header,

    .section-sidebar
    .itinerary-accordion-header *,

    .section-sidebar
    #toggleItinerary,

    .section-sidebar
    #toggleItinerary * {
        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;
    }


    /* COMPACT ITINERARY ROWS */
    .section-sidebar
    .section-itinerary .p-2 {
        padding: 4px 0 !important;
        margin: 0 !important;

        font-size: 11px !important;
        line-height: 15px !important;
    }

    .section-sidebar
    .itinerary-details {
        margin: 4px 0 0 0 !important;
        padding-left: 18px !important;

        font-size: 11px !important;
        line-height: 15px !important;
    }

    .section-sidebar
    .itinerary-details li {
        margin-bottom: 3px !important;
        padding: 0 !important;
    }
}

/* =========================================================
   END — JC CHECKOUT LEFT SIDEBAR MATCH
   ========================================================= */
/* =========================================================
   JC CHECKOUT — LEFT SIDEBAR FINAL STYLE PASS
   28 AUG 2026
   CHECKOUT ONLY
   ========================================================= */

@media (min-width: 992px) {

    /* CHECKOUT SIDEBAR SHELL */
    body:has(#CheckoutSummary) .section-sidebar {
        background: #00234B !important;
        border: 1px solid #00234B !important;
        border-radius: 6px !important;
        padding: 10px !important;
        box-sizing: border-box !important;
    }


    /* REMOVE WHITE ODS CARD BACKGROUNDS INSIDE SIDEBAR */
    body:has(#CheckoutSummary) .section-sidebar .card,
    body:has(#CheckoutSummary) .section-sidebar .card-body,
    body:has(#CheckoutSummary) .section-sidebar #packageDetails,
    body:has(#CheckoutSummary) .section-sidebar .cruise-details,
    body:has(#CheckoutSummary) .section-sidebar .general-details {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* MAIN SIDEBAR TEXT + ICONS WHITE */
    body:has(#CheckoutSummary) .section-sidebar,
    body:has(#CheckoutSummary) .section-sidebar a,
    body:has(#CheckoutSummary) .section-sidebar span,
    body:has(#CheckoutSummary) .section-sidebar p,
    body:has(#CheckoutSummary) .section-sidebar strong,
    body:has(#CheckoutSummary) .section-sidebar b,
    body:has(#CheckoutSummary) .section-sidebar label,
    body:has(#CheckoutSummary) .section-sidebar i {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
    }


    /* SHIP IMAGE */
    body:has(#CheckoutSummary)
    .section-sidebar
    #CruiseNavigationTabsInfo {
        margin: 0 0 8px 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 4px !important;

        overflow: hidden !important;
    }

    body:has(#CheckoutSummary)
    .section-sidebar
    #CruiseNavigationTabsInfo
    img.embed-responsive-item {
        display: block !important;

        width: 100% !important;
        height: auto !important;
        max-height: 180px !important;

        object-fit: cover !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* DESTINATION STRIP */
    body:has(#CheckoutSummary)
    .section-sidebar
    [data-ody-id="DestinationText"] {
        display: block !important;

        margin: 6px 0 8px 0 !important;
        padding: 7px 9px !important;

        background: #0B3D6E !important;
        border: 0 !important;
        border-radius: 3px !important;

        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;

        font-size: 12px !important;
        line-height: 16px !important;
    }


    /* CRUISE DETAILS — COMPACT */
    body:has(#CheckoutSummary)
    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],

    body:has(#CheckoutSummary)
    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapper"] {
        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#CheckoutSummary)
    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapper"] > div {
        margin: 0 0 5px 0 !important;
        padding: 0 !important;

        font-size: 13px !important;
        line-height: 18px !important;
    }


    /* PRINCESS LOGO */
    body:has(#CheckoutSummary)
    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"] img,

    body:has(#CheckoutSummary)
    .section-sidebar
    [data-ody-id="CruiseGeneralDetailsWrapper"] img {
        width: auto !important;
        max-width: 145px !important;
        max-height: 30px !important;

        filter: brightness(0) invert(1) !important;
        opacity: .95 !important;
    }


    /* SIDEBAR SEPARATORS */
    body:has(#CheckoutSummary) .section-sidebar hr {
        margin: 8px 0 !important;
        border-color: rgba(255,255,255,.35) !important;
    }


    /* =====================================================
       HIDE EXCLUSIVE FARE BLOCK
       ===================================================== */

    body:has(#CheckoutSummary)
    .section-sidebar
    .cruise-details.special-offers {
        display: none !important;
    }


    /* =====================================================
       ITINERARY — MATCH CATEGORY/CABIN PAGE
       ===================================================== */

    body:has(#CheckoutSummary)
    .section-sidebar
    .section-itinerary {
        margin: 8px 0 0 0 !important;
        padding: 0 !important;

        background: #F2F8FC !important;
        border-radius: 4px !important;

        overflow: hidden !important;
    }


    body:has(#CheckoutSummary)
    .section-sidebar
    .itinerary-accordion-header {
        margin: 0 !important;
        padding: 7px 8px !important;

        min-height: 32px !important;

        background: #D9EBF7 !important;

        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;

        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
    }


    body:has(#CheckoutSummary)
    .section-sidebar
    .itinerary-full,

    body:has(#CheckoutSummary)
    .section-sidebar
    #toggleItinerary {
        margin: 0 !important;
        padding: 8px !important;

        background: #F2F8FC !important;
    }


    /* NAVY TEXT INSIDE PALE ITINERARY */
    body:has(#CheckoutSummary)
    .section-sidebar
    .section-itinerary,

    body:has(#CheckoutSummary)
    .section-sidebar
    .section-itinerary *,

    body:has(#CheckoutSummary)
    .section-sidebar
    .itinerary-accordion-header,

    body:has(#CheckoutSummary)
    .section-sidebar
    .itinerary-accordion-header *,

    body:has(#CheckoutSummary)
    .section-sidebar
    #toggleItinerary,

    body:has(#CheckoutSummary)
    .section-sidebar
    #toggleItinerary * {
        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;
    }


    /* COMPACT ITINERARY */
    body:has(#CheckoutSummary)
    .section-sidebar
    .section-itinerary .p-2 {
        margin: 0 !important;
        padding: 4px 0 !important;

        font-size: 11px !important;
        line-height: 15px !important;
    }

    body:has(#CheckoutSummary)
    .section-sidebar
    .itinerary-details {
        margin: 4px 0 0 0 !important;
        padding-left: 18px !important;

        font-size: 11px !important;
        line-height: 15px !important;
    }

    body:has(#CheckoutSummary)
    .section-sidebar
    .itinerary-details li {
        margin-bottom: 3px !important;
        padding: 0 !important;
    }

}

/* =========================================================
   END — JC CHECKOUT SIDEBAR
   ========================================================= */
/* =========================================================
   CABIN PAGE — CABIN NUMBER FONT SIZE
   28 AUG 2026 11.17am
   ========================================================= */

body.page_cruise_cabin
#StateroomPriceTableBody
[data-ody-id="SelectStateroomNo"] {
    font-size: 10px !important;
    line-height: 1 !important;
}
/* =========================================================
   JC CATEGORY PAGE — TOP TITLE COMPACT
   29 AUG 2026
   ========================================================= */

/* Hide "Category Selection" only */
body.page_cruise_category
[data-ody-id="stickyPackageTitle"]
> .d-flex.flex-wrap.align-items-center {
    display: none !important;
}

/* Compact cruise title + JC Navy */
body.page_cruise_category
[data-ody-id="stickyPackageTitle"]
.page-title.cruise-details-title {
    font-size: 18px !important;
    line-height: 24px !important;
    color: #00234B !important;
}
/* Hide booking progression bar — Category page only */
body.page_cruise_category
[data-ody-id="StepperBarWithStepsCount"] {
    display: none !important;
}
/* =========================================================
   JC CATEGORY PAGE — TITLE COLOUR
   29 AUG 2026 — 8:55 AM
   ========================================================= */

body.page_cruise_category
[data-ody-id="StickyPageTitle"]
.page-title.cruise-details-title {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}
/* =========================================================
   JC CABIN PAGE — TITLE COLOUR
   29 AUG 2026 — 9:01 AM
   ========================================================= */

body.page_cruise_cabin
.page-title.cruise-details-title {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}
/* =========================================================
   JC CABIN PAGE — COMPACT TITLE BLOCK
   29 AUG 2026 — 9:03 AM
   ========================================================= */

/* Cruise title */
body.page_cruise_cabin
.page-title.cruise-details-title {
    font-size: 18px !important;
    line-height: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}

/* Whole title card — super tight */
body.page_cruise_cabin
[data-ody-id="StickyPageTitle"] {
    margin-top: 4px !important;
    margin-bottom: 4px !important;

    padding: 5px 10px !important;

    min-height: 0 !important;
}
/* =========================================================
   JC CATEGORY PAGE — COMPACT TITLE CARD
   29 AUG 2026 — 9:11 AM
   ========================================================= */

/* Entire white title card */
body.page_cruise_category
[data-ody-id="StickyPageTitle"] {
    padding: 3px 8px !important;
    margin-top: 0 !important;
    margin-bottom: 3px !important;
    min-height: 0 !important;
}

/* Cruise title */
body.page_cruise_category
[data-ody-id="StickyPageTitle"]
.page-title.cruise-details-title {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 18px !important;
    line-height: 22px !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}

/* Remove "Category Selection" row */
body.page_cruise_category
[data-ody-id="StickyPageTitle"]
> .d-flex.flex-wrap.align-items-center {
    display: none !important;
}
/* =========================================================
   JC CABIN PAGE — REMOVE "SELECT YOUR CABIN"
   29 AUG 2026 — 9:17 AM
   ========================================================= */

body.page_cruise_cabin
[data-ody-id="StickyPageTitle"]
> .d-flex.flex-wrap.align-items-center {
    display: none !important;
}
/* =========================================================
   JC CHECKOUT PAGE — COMPACT CRUISE TITLE
   29 AUG 2026 — 9:41 AM
   ========================================================= */

body.page_booking_checkout
.page-title.cruise-details-title {
    font-size: 18px !important;
    line-height: 22px !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}
/* =========================================================
   JC BOOKING FLOW — HIDE PROGRESSION BAR
   29 AUG 2026 — 9:45 AM
   ========================================================= */

[data-ody-id="StepperBarWithStepsCount"] {
    display: none !important;
}
/* =========================================================
   JC BOOKING FLOW — COLLAPSE PROGRESSION BAR
   29 AUG 2026 — 9:49 AM
   ========================================================= */

[data-ody-id="StepperBarWithStepsCount"] {
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    opacity: 0 !important;

    border: 0 !important;
    pointer-events: none !important
}
/* =========================================================
   JC SWIFT PACKAGE PAGE — COMPACT CRUISE TITLE
   29 AUG 2026 — 9:53 AM
   ========================================================= */

[data-ody-id="CruisePackageTitle"] {
    font-size: 18px !important;
    line-height: 22px !important;
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}
/* =========================================================
   JC CATEGORY PAGE — HIDE VISIBLE PROGRESSION BAR
   29 AUG 2026 — 10:05 AM
   ========================================================= */

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

body.page_cruise_category
.breadcrumb-bottom-0 {
    margin: 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CABIN PAGE — HIDE VISIBLE PROGRESSION BAR
   29 AUG 2026 — 10:15 AM
   ========================================================= */

body.page_cruise_cabin
.breadcrumb-bottom-0
> .nav.nav-stepper {
    display: none !important;
}

body.page_cruise_cabin
.breadcrumb-bottom-0 {
    margin: 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CRUISE TITLE — ORANGE FEATURE BAR
   29 AUG 2026 — 10:xx AM
   ========================================================= */

[data-ody-id="StickyPageTitle"] {
    background: #E87516 !important;
    padding: 5px 10px !important;
    margin-bottom: 6px !important;
    border-radius: 4px !important;
}

[data-ody-id="StickyPageTitle"]
.page-title.cruise-details-title {
    font-size: 18px !important;
    line-height: 22px !important;
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CABIN PAGE — HIDE TOP BREADCRUMB BAR
   29 AUG 2026 — 10:44 AM
   ========================================================= */

body.page_cruise_cabin
.breadcrumb {
    display: none !important;
}
/* =========================================================
   JC CHECKOUT PAGE — CLEAN COMPACT TOP
   29 AUG 2026 — 12:32 PM
   ========================================================= */

/* Hide top grey breadcrumb bar */
body.page_checkout
.breadcrumb {
    display: none !important;
}

/* Hide visible Guest Ages / Category / Cabins / Check Out bar */
body.page_checkout
.breadcrumb-bottom-0
> .nav.nav-stepper {
    display: none !important;
}

body.page_checkout
.breadcrumb-bottom-0 {
    margin: 0 !important;
    padding: 0 !important;
}

/* Orange cruise-title strip */
body.page_checkout
[data-ody-id="StickyPageTitle"] {
    background: #E87516 !important;
    padding: 5px 10px !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    border-radius: 4px !important;
    min-height: 0 !important;
}

/* Cruise title only */
body.page_checkout
[data-ody-id="StickyPageTitle"]
.page-title.cruise-details-title {
    font-size: 18px !important;
    line-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}
/* =========================================================
   JC CHECKOUT — YOUR ITINERARY COMPACT
   29 AUG 2026 — 12:35 PM
   Keep ALL itinerary information
   ========================================================= */

/* Main itinerary card */
body.page_checkout
#mProParentItineraryContainer.card-body.pr-0 {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

/* Inner itinerary area */
body.page_checkout
.mProAddDet.p-md-2 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* Individual itinerary section */
body.page_checkout
[data-ody-id="CruiseDetailsSection"] {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Tighten itinerary rows */
body.page_checkout
.itinerary-node-info-item {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

/* Tighten date/time areas without removing them */
body.page_checkout
.itinerary-node-time,
body.page_checkout
.itinerary-node-date {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.15 !important;
}

/* Reduce excess spacing around itinerary description */
body.page_checkout
[data-ody-id="SailingItineraryNodeDescription"] {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
}

/* Keep fare/category/cabin/deck information compact */
body.page_checkout
[data-ody-id="ShowRateCodeIconSection"] {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}
/* =========================================================
   JC CHECKOUT PAGE — CLEAN COMPACT TOP
   CORRECT BODY CLASS
   29 AUG 2026 — 1:13 PM
   ========================================================= */

/* Hide top grey breadcrumb bar */
body.page_booking_checkout
.breadcrumb {
    display: none !important;
}

/* Hide Guest Ages / Category / Cabins / Check Out progression bar */
body.page_booking_checkout
.breadcrumb-bottom-0
> .nav.nav-stepper {
    display: none !important;
}

body.page_booking_checkout
.breadcrumb-bottom-0 {
    margin: 0 !important;
    padding: 0 !important;
}

/* Orange cruise-title strip */
body.page_booking_checkout
[data-ody-id="StickyPageTitle"] {
    background: #E87516 !important;
    padding: 5px 10px !important;
    margin-top: 0 !important;
    margin-bottom: 6px !important;
    border-radius: 4px !important;
    min-height: 0 !important;
}

/* Cruise title */
body.page_booking_checkout
[data-ody-id="StickyPageTitle"]
.page-title.cruise-details-title {
    font-size: 18px !important;
    line-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}
/* =========================================================
   JC CHECKOUT — YOUR ITINERARY ULTRA COMPACT
   29 AUG 2026 — 1:17 PM
   KEEP ALL INFORMATION
   ========================================================= */

/* Tighten blue heading */
body.page_booking_checkout
#CheckoutSummary
.card-header {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 0 !important;
    line-height: 18px !important;
}

/* Main itinerary container */
body.page_booking_checkout
#mProParentItineraryContainer.card-body.pr-0 {
    padding: 4px 6px !important;
    margin: 0 !important;
}

/* Inner itinerary block */
body.page_booking_checkout
.mProAddDet.p-md-2 {
    padding: 3px 5px !important;
    margin: 0 !important;
}

/* Cruise detail section */
body.page_booking_checkout
[data-ody-id="CruiseDetailsSection"] {
    padding: 2px 4px !important;
    margin: 0 !important;
    min-height: 0 !important;
}

/* Make all itinerary text compact */
body.page_booking_checkout
[data-ody-id="CruiseDetailsSection"],
body.page_booking_checkout
[data-ody-id="CruiseDetailsSection"] * {
    line-height: 1.1 !important;
}

/* Departure + arrival times */
body.page_booking_checkout
.itinerary-node-time {
    font-size: 14px !important;
    line-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Dates under times */
body.page_booking_checkout
.itinerary-node-date {
    font-size: 11px !important;
    line-height: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Individual itinerary information rows */
body.page_booking_checkout
.itinerary-node-info-item {
    margin: 0 !important;
    padding: 1px 2px !important;
    min-height: 0 !important;
}

/* Sailing description */
body.page_booking_checkout
[data-ody-id="SailingItineraryNodeDescription"] {
    margin: 0 !important;
    padding: 1px 0 !important;
    line-height: 13px !important;
}

/* Bottom Passengers / Category / Cabin / Deck strip */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] {
    margin: 2px 0 0 0 !important;
    padding: 3px 5px !important;
    min-height: 0 !important;
    line-height: 14px !important;
}

/* Reduce general vertical spacing inside itinerary card */
body.page_booking_checkout
#CheckoutSummary .row,
body.page_booking_checkout
#CheckoutSummary [class*="py-"],
body.page_booking_checkout
#CheckoutSummary [class*="my-"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* =========================================================
   JC CHECKOUT — ITINERARY FINAL TIGHTEN
   29 AUG 2026 — 1:56 PM
   REMOVE EMPTY SPACE + SMALLER DETAIL TEXT
   ========================================================= */

/* Remove unnecessary minimum height / empty grey space */
body.page_booking_checkout
#mProParentItineraryContainer,
body.page_booking_checkout
#mProParentItineraryContainer .mProAddDet,
body.page_booking_checkout
[data-ody-id="CruiseDetailsSection"] {
    min-height: 0 !important;
    height: auto !important;
}

/* Tighten the actual cruise itinerary panel */
body.page_booking_checkout
#mProParentItineraryContainer .card,
body.page_booking_checkout
#mProParentItineraryContainer .card-body {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}

/* Smaller general itinerary text */
body.page_booking_checkout
[data-ody-id="CruiseDetailsSection"] {
    font-size: 12px !important;
    line-height: 13px !important;
}

/* Keep times readable but compact */
body.page_booking_checkout
.itinerary-node-time {
    font-size: 13px !important;
    line-height: 14px !important;
}

/* Smaller dates/details */
body.page_booking_checkout
.itinerary-node-date,
body.page_booking_checkout
.itinerary-node-info-item {
    font-size: 11px !important;
    line-height: 12px !important;
}

/* Compact Passengers / Category / Cabin / Deck row */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"],
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] * {
    font-size: 12px !important;
    line-height: 13px !important;
}

/* Reduce padding in bottom information strip */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] {
    padding: 2px 4px !important;
    margin-top: 2px !important;
    margin-bottom: 0 !important;
}
/* =========================================================
   JC CHECKOUT — ITINERARY REMOVE WASTED LOWER SPACE
   29 AUG 2026 — 2:31 PM
   ========================================================= */

body.page_booking_checkout
.mProItinerary
.mproCruiseCont
.mProAddDet {
    padding: 0 4px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

body.page_booking_checkout
.mProItinerary
.mproCruiseCont {
    padding-bottom: 2px !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}
/* =========================================================
   JC CHECKOUT — ORANGE CRUISE TITLE
   EXACT CHECKOUT ELEMENT
   29 AUG 2026 — 2:34 PM
   ========================================================= */

body.page_booking_checkout
#CheckoutSummary
[data-ody-id="AirTripDetails"] {
    background: #E87516 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;

    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 400 !important;

    margin: 0 !important;
    padding: 5px 10px !important;

    min-height: 0 !important;

    border-radius: 4px 0 0 4px !important;
}
/* =========================================================
   JC CHECKOUT — YOUR ITINERARY ULTRA COMPACT
   29 AUG 2026 — 3:08 PM
   ========================================================= */

/* YOUR ITINERARY blue heading — 18px, maximum 2px padding */
body.page_booking_checkout
.mProItinerary > .card-header,
body.page_booking_checkout
[data-ody-id="CruiseItineraryExpand"] > .card-header {
    font-size: 18px !important;
    line-height: 22px !important;
    padding: 2px 8px !important;
    min-height: 0 !important;
    margin: 0 !important;
}

/* Remove excess padding around itinerary */
body.page_booking_checkout
.mProItinerary .card-body {
    padding: 2px 4px !important;
    margin: 0 !important;
}

/* Main cruise itinerary container */
body.page_booking_checkout
.mProItinerary .mproCruiseCont {
    padding: 2px 4px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

/* Top Princess / ship / dates row */
body.page_booking_checkout
.mProItinerary
[data-ody-id="CruiseDetailsSection"] {
    padding: 2px 4px !important;
    margin: 0 !important;
    min-height: 0 !important;
}

/* Main departure / arrival information */
body.page_booking_checkout
.mProItinerary
.itinerary-node-info-item {
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Times — maximum 14px */
body.page_booking_checkout
.mProItinerary
.itinerary-node-time {
    font-size: 14px !important;
    line-height: 16px !important;
    margin: 0 !important;
}

/* Dates and supporting itinerary text */
body.page_booking_checkout
.mProItinerary
.itinerary-node-date,
body.page_booking_checkout
.mProItinerary
[data-ody-id="SailingItineraryNodeDescription"] {
    font-size: 12px !important;
    line-height: 14px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Passengers / Category / Cabin / Deck row */
body.page_booking_checkout
.mProItinerary
.mProAddDet {
    padding: 1px 4px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    font-size: 12px !important;
    line-height: 14px !important;
}

/* Inner details row */
body.page_booking_checkout
.mProItinerary
[data-ody-id="ShowRateCodeIconSection"] {
    padding: 1px 2px !important;
    margin: 0 !important;
    min-height: 0 !important;
}

/* Kill remaining unnecessary bottom space */
body.page_booking_checkout
.mProItinerary
.mproCruiseCont.btnAddonPackage {
    padding-bottom: 2px !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}
/* =========================================================
   JC CHECKOUT — ITINERARY HEADER + DETAIL ROW
   30 AUG 2026 — 7:49 AM
   ========================================================= */

/* ---------------------------------------------------------
   YOUR ITINERARY — TRUE 18PX + TIGHT BLUE HEADER
   --------------------------------------------------------- */

body.page_booking_checkout
.mProItinerary > .card-header,
body.page_booking_checkout
[data-ody-id="CruiseItineraryExpand"] > .card-header {
    font-size: 18px !important;
    line-height: 20px !important;

    padding-top: 2px !important;
    padding-bottom: 2px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;

    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

/* Make sure text inside header also stays 18px */
body.page_booking_checkout
.mProItinerary > .card-header *,
body.page_booking_checkout
[data-ody-id="CruiseItineraryExpand"] > .card-header * {
    font-size: 18px !important;
    line-height: 20px !important;
}


/* ---------------------------------------------------------
   PASSENGERS / CATEGORY / CABIN / DECK
   MAKE MORE PROMINENT
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] {
    font-size: 14px !important;
    line-height: 16px !important;

    padding: 3px 5px !important;
    margin: 2px 0 0 0 !important;

    min-height: 0 !important;
    height: auto !important;
}

body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] * {
    font-size: 14px !important;
    line-height: 16px !important;
}


/* ---------------------------------------------------------
   REMOVE REMAINING WASTED GREY SPACE
   --------------------------------------------------------- */

body.page_booking_checkout
.mProItinerary,
body.page_booking_checkout
.mProItinerary .mproCruiseCont,
body.page_booking_checkout
.mProItinerary .mProAddDet,
body.page_booking_checkout
.mProItinerary .card-body,
body.page_booking_checkout
[data-ody-id="CruiseDetailsSection"] {
    min-height: 0 !important;
    height: auto !important;
}

body.page_booking_checkout
.mProItinerary .mproCruiseCont {
    padding-bottom: 2px !important;
    margin-bottom: 0 !important;
}

body.page_booking_checkout
.mProItinerary .mProAddDet {
    padding-bottom: 2px !important;
    margin-bottom: 0 !important;
}
/* =========================================================
   RESULTS PAGE — REMOVE MODIFY SEARCH BAR
   30 AUG 2026 — 7:56 AM
   Keeps LH results filters untouched
   ========================================================= */

body.page_cruise_results
[data-ody-id="CruiseSearchBarSection"],
body.page_cruise_results
[data-ody-id="CruiseSearchBarSectionCollapsed"] {
    display: none !important;
}
/* =========================================================
   JC RESULTS PAGE — STICKY LEFT FILTERS + HIDE SHIP ICON
   30 AUG 2026 — 8:00 AM
   ========================================================= */

/* Keep left filter column visible while scrolling */
body.results-page
[data-ody-id="ResultPageContainer"]
> .d-flex.flex-nowrap.align-items-start
> .d-flex.flex-column {
    position: sticky !important;
    top: 10px !important;
    align-self: flex-start !important;
    z-index: 20 !important;
}

/* Hide the large ship icon tile at bottom of filter column */
body.results-page
[data-ody-id="ResultPageContainer"]
> .d-flex.flex-nowrap.align-items-start
> .d-flex.flex-column
img,
body.results-page
[data-ody-id="ResultPageContainer"]
> .d-flex.flex-nowrap.align-items-start
> .d-flex.flex-column
[class*="ship-icon"] {
    display: none !important;
}
/* =========================================================
   RESULTS PAGE — REMOVE CRUISE ONLY SHIP TILE
   30 AUG 2026 — 10:42 AM
   ========================================================= */

body.results-page
[data-ody-id="FilterPanelCruiseTypes"] {
    display: none !important;
}
/* =========================================================
   RESULTS PAGE — REMOVE COLLAPSED MODIFY SEARCH BAR
   30 AUG 2026 — 10:45 AM
   ========================================================= */

body.results-page
[data-ody-id="CruiseSearchBarSectionCollapsed"] {
    display: none !important;
}
/* =========================================================
   JC CHECKOUT — CRUISE & CABIN DETAILS HEADER
   TIGHT FINAL
   30 AUG 2026 — 10:55 AM
   ========================================================= */

body.page_booking_checkout .mProItinerary > .card-header,
body.page_booking_checkout [data-ody-id="CruiseItineraryExpand"] > .card-header {
    font-size: 18px !important;
    line-height: 20px !important;

    padding-top: 1px !important;
    padding-bottom: 1px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;

    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}
/* =========================================================
   JC RESULTS — REMOVE SHIP ICON BOX
   30 AUG 2026 — NEXT CHANGE
   ========================================================= */

body.results-page
[data-ody-id="FilterPanelCruiseTypes"] {
    display: none !important;
}
/* =========================================================
   JC CHECKOUT — TOTAL CABIN COST COMPACT
   30 AUG 2026 — 11:33 AM
   ========================================================= */

/* TOTAL CABIN COST blue heading */
body.page_booking_checkout
.card-header.bg-primary {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

/* Hide repetitive cruise title directly under TOTAL CABIN COST */
body.page_booking_checkout
.card-header.bg-primary + .card-body > h1,
body.page_booking_checkout
.card-header.bg-primary + .card-body > h2,
body.page_booking_checkout
.card-header.bg-primary + .card-body > h3,
body.page_booking_checkout
.card-header.bg-primary + .card-body > .page-title,
body.page_booking_checkout
.card-header.bg-primary + .card-body > .cruise-details-title {
    display: none !important;
}

/* Tighten price summary area */
body.page_booking_checkout
.card-header.bg-primary + .card-body {
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

/* GUEST AGES / GUEST 1 / GUEST 2 / YOU SAVE / GRAND TOTAL / ONBOARD CREDIT */
body.page_booking_checkout
.card-header.bg-primary + .card-body table th,
body.page_booking_checkout
.card-header.bg-primary + .card-body table td {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 18px !important;
}

/* Reduce extra spacing around rows */
body.page_booking_checkout
.card-header.bg-primary + .card-body table tr {
    height: auto !important;
    min-height: 0 !important;
}

/* Grand Total row */
body.page_booking_checkout
.card-header.bg-primary + .card-body table tr.total,
body.page_booking_checkout
.card-header.bg-primary + .card-body table tr.grand-total {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
}
/* =========================================================
   JC CHECKOUT — TOTAL CABIN COST COMPACT
   30 AUG 2026 — 1:38 PM
   ========================================================= */

/* TOTAL CABIN COST blue header — compact */
body.page_booking_checkout
[data-ody-id="PriceSummarySectionHeader"] {
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    min-height: 0 !important;
    height: auto !important;
}

body.page_booking_checkout
[data-ody-id="PriceSummaryTitle"] {
    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    margin: 0 !important;
}

/* Remove repeated:
   Cruise - 7 Nights | Australia - Princess: Grand Princess */
body.page_booking_checkout
[data-ody-id="PriceDetailsTitle"] {
    display: none !important;
}

/* Tighten Guest #1 / Guest #2 and summary rows */
body.page_booking_checkout
[data-ody-id="TripSummeryPopUpTable"] th,
body.page_booking_checkout
[data-ody-id="TripSummeryPopUpTable"] td {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Tighten Grand Total row */
body.page_booking_checkout
#Total_Due .flight-summary-table td {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Keep Grand Total amount aligned neatly */
body.page_booking_checkout
[data-ody-id="GrandTotal"] {
    vertical-align: middle !important;
}
/* =========================================================
   JC CHECKOUT — LOWER SECTION HEADER CLEANUP
   30 AUG 2026 — 2:08 PM
   Payment Schedule / Cancellation / Cruise Rules / Hold Cabin
   ========================================================= */

/* PAYMENT SCHEDULE — CUSTOMER */
body.page_booking_checkout
[data-ody-id="PaymentScheduleCustomerWrapper"] .payment-header {
    margin: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

body.page_booking_checkout
[data-ody-id="PaymentScheduleCustomerWrapper"] .payment-header .pay-head {
    font-weight: 400 !important;
}


/* CANCELLATION PENALTY DETAILS */
body.page_booking_checkout
#CancellationPolicyHeader {
    margin: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

body.page_booking_checkout
#CancellationPolicyHeader strong {
    font-weight: 400 !important;
}


/* CRUISE RULES / BONUS OFFERS — THE (-) BAR */
body.page_booking_checkout
#CruiseRules > .card-header {
    margin: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    font-weight: 400 !important;
}

body.page_booking_checkout
#CruiseRules > .card-header strong,
body.page_booking_checkout
#CruiseRules > .card-header span {
    font-weight: 400 !important;
}


/* HOLD A CABIN */
body.page_booking_checkout
[data-ody-id="PassengerDetailsTab"] {
    margin: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
}

body.page_booking_checkout
[data-ody-id="passengerDetailsTitle"] {
    font-weight: 400 !important;
}
/* =========================================================
   JC CHECKOUT — REMOVE $ ICON FROM TOTAL CABIN COST HEADER
   30 AUG 2026 — 4:15 PM
   ========================================================= */

body.page_booking_checkout
[data-ody-id="PriceSummarySectionHeader"]
> em.odi-money {
    display: none !important;
}
/* =========================================================
   JC CHECKOUT — STANDARDISE BLUE SECTION HEADER HEIGHTS
   30 AUG 2026 — 4:26 PM
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {

    /* Cruise and Cabin Details */
    body.page_booking_checkout
    [data-ody-id="YourItineraryHeader"],

    /* Total Cabin Cost */
    body.page_booking_checkout
    [data-ody-id="PriceSummarySectionHeader"],

    /* Payment Schedule - Customer */
    body.page_booking_checkout
    #PaymentScheduleSectionDIV,

    /* Cancellation Penalty Details */
    body.page_booking_checkout
    #CancellationPolicyHeader,

    /* Odd ship / (-) rules header */
    body.page_booking_checkout
    #CruiseRules > .card-header {

        height: 36px !important;
        min-height: 36px !important;

        padding-top: 2px !important;
        padding-bottom: 2px !important;

        display: flex !important;
        align-items: center !important;

        line-height: 22px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

}
/* =========================================================
   JC CHECKOUT — MATCH MAIN SECTION TITLE FONTS
   30 AUG 2026 — 4:xx PM
   Cruise and Cabin Details + Total Cabin Cost
   ========================================================= */

body.page_booking_checkout
[data-ody-id="YourItineraryHeader"] {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
}

body.page_booking_checkout
[data-ody-id="PriceSummaryTitle"] {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
}
/* =========================================================
   JC CHECKOUT — FINAL TYPOGRAPHY + BLUE BAR CLEANUP
   31 AUG 2026 — 6:10 AM
   ========================================================= */

/* ---------------------------------------------------------
   1. STANDARD BLUE BAR TYPOGRAPHY + TIGHT SPACING
   --------------------------------------------------------- */

body.page_booking_checkout [data-ody-id="YourItineraryHeader"],
body.page_booking_checkout [data-ody-id="PriceSummarySectionHeader"],
body.page_booking_checkout [data-ody-id="PaymentScheduleTitleCust"],
body.page_booking_checkout #CancellationPolicyHeader,
body.page_booking_checkout #CruiseRules > .card-header,
body.page_booking_checkout .checkout-stepper-accordion .card-header {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;

    padding-top: 2px !important;
    padding-bottom: 2px !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    min-height: 0 !important;
    height: auto !important;
}

/* Nested heading text */
body.page_booking_checkout [data-ody-id="YourItineraryHeader"] strong,
body.page_booking_checkout [data-ody-id="PriceSummarySectionHeader"] strong,
body.page_booking_checkout [data-ody-id="PaymentScheduleTitleCust"] strong,
body.page_booking_checkout #CancellationPolicyHeader strong,
body.page_booking_checkout #CruiseRules > .card-header strong,
body.page_booking_checkout .checkout-stepper-accordion .card-header strong,
body.page_booking_checkout .checkout-stepper-accordion .card-header span {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    margin: 0 !important;
}


/* ---------------------------------------------------------
   2. REMOVE DECORATIVE HEADER ICONS / STEP CIRCLES
   --------------------------------------------------------- */

/* Payment Schedule icon */
body.page_booking_checkout
[data-ody-id="PaymentScheduleTitleCust"]
.odi {
    display: none !important;
}

/* Cancellation Penalty icon */
body.page_booking_checkout
#CancellationPolicyHeader
.odi-cancellation-policy {
    display: none !important;
}

/* Cruise Rules ship icon */
body.page_booking_checkout
#CruiseRules > .card-header
.odi {
    display: none !important;
}

/* HOLD A CABIN step circle */
body.page_booking_checkout
[data-ody-id="PassengerDetailsTab"]
.step-number {
    display: none !important;
}

/* Additional Inclusions step circle */
body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"]
.step-number {
    display: none !important;
}


/* ---------------------------------------------------------
   3. MAKE ADDITIONAL INCLUSIONS MATCH THE BLUE BAR SYSTEM
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"] > .card-header {
    background-color: #0978bd !important;
    color: #ffffff !important;

    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;

    padding-top: 2px !important;
    padding-bottom: 2px !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    min-height: 0 !important;
    height: auto !important;
}

body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"] > .card-header span,
body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"] > .card-header strong {
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
}


/* ---------------------------------------------------------
   4. TIGHTEN ORANGE STICKY CRUISE TITLE BAR
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="StickyPageTitle"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    min-height: 0 !important;
}


/* ---------------------------------------------------------
   5. JC NAVY BODY / TABLE / FORM TYPOGRAPHY
   --------------------------------------------------------- */

body.page_booking_checkout .spc-main,
body.page_booking_checkout .spc-main label,
body.page_booking_checkout .spc-main td,
body.page_booking_checkout .spc-main th,
body.page_booking_checkout .spc-main p,
body.page_booking_checkout .spc-main span,
body.page_booking_checkout .spc-main strong,
body.page_booking_checkout .spc-main h1,
body.page_booking_checkout .spc-main h2,
body.page_booking_checkout .spc-main h3,
body.page_booking_checkout .spc-main h4,
body.page_booking_checkout .spc-main h5,
body.page_booking_checkout .spc-main h6 {
    color: #00234B;
}
/* =========================================================
   JC CHECKOUT — CORRECTED BAR-SPECIFIC OVERRIDE
   31 AUG 2026 — 9:20 AM BALI TIME
   HEADERS ONLY — DOES NOT TARGET FORM CONTAINERS
   ========================================================= */


/* ---------------------------------------------------------
   BLUE HEADER BARS ONLY
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="YourItineraryHeader"],

body.page_booking_checkout
[data-ody-id="PriceSummarySectionHeader"],

body.page_booking_checkout
[data-ody-id="PaymentScheduleTitleCust"],

body.page_booking_checkout
#CancellationPolicyHeader,

body.page_booking_checkout
#CruiseRules > .card-header,

body.page_booking_checkout
[data-ody-id="PassengerDetailsTab"] > .card-header,

body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"] > .card-header {

    background: #0978BD !important;
    background-color: #0978BD !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    padding-top: 1px !important;
    padding-bottom: 1px !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    min-height: 0 !important;
    height: auto !important;
}


/* ---------------------------------------------------------
   TEXT WITHIN THOSE EXACT HEADER BARS ONLY
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="YourItineraryHeader"] *,

body.page_booking_checkout
[data-ody-id="PriceSummarySectionHeader"] *,

body.page_booking_checkout
[data-ody-id="PaymentScheduleTitleCust"] *,

body.page_booking_checkout
#CancellationPolicyHeader *,

body.page_booking_checkout
#CruiseRules > .card-header *,

body.page_booking_checkout
[data-ody-id="PassengerDetailsTab"] > .card-header *,

body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"] > .card-header * {

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   CANCEL THE OLD FIXED 36PX HEADER HEIGHT
   --------------------------------------------------------- */

@media (min-width: 992px) {

    body.page_booking_checkout
    [data-ody-id="YourItineraryHeader"],

    body.page_booking_checkout
    [data-ody-id="PriceSummarySectionHeader"],

    body.page_booking_checkout
    [data-ody-id="PaymentScheduleTitleCust"],

    body.page_booking_checkout
    #CancellationPolicyHeader,

    body.page_booking_checkout
    #CruiseRules > .card-header,

    body.page_booking_checkout
    [data-ody-id="PassengerDetailsTab"] > .card-header,

    body.page_booking_checkout
    [data-ody-id="AdditionalServiceTab"] > .card-header {

        height: auto !important;
        min-height: 0 !important;

        padding-top: 1px !important;
        padding-bottom: 1px !important;

        line-height: 18px !important;
    }
}


/* ---------------------------------------------------------
   ORANGE CRUISE-TITLE BARS ONLY
   KEEP EXISTING COLOUR AND TITLE TREATMENT
   --------------------------------------------------------- */

body.page_booking_checkout
#CheckoutSummary
[data-ody-id="AirTripDetails"],

body.page_booking_checkout
[data-ody-id="StickyPageTitle"] {

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 1px !important;
    padding-bottom: 1px !important;

    min-height: 0 !important;
    height: auto !important;
}
/* =========================================================
   JC CHECKOUT — COMPACT TOP SUMMARY ROW
   31 AUG 2026 — 10:28 AM BALI TIME
   EXACT INSPECTED ELEMENTS ONLY
   ========================================================= */


/* ORANGE CRUISE TITLE */

body.page_booking_checkout
#CheckoutSummary
[data-ody-id="AirTripDetails"] {

    margin: 0 !important;

    padding-top: 1px !important;
    padding-bottom: 1px !important;

    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 400 !important;

    min-height: 0 !important;
    height: auto !important;
}


/* BLUE TOTAL BOX */

body.page_booking_checkout
#CheckoutSummary
[data-ody-id="TripSummeryLink"] {

    margin: 0 !important;

    padding-top: 1px !important;
    padding-bottom: 1px !important;

    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 400 !important;

    min-height: 0 !important;
    height: auto !important;
}


/* TEXT INSIDE BLUE TOTAL BOX */

body.page_booking_checkout
#CheckoutSummary
[data-ody-id="TripSummeryLink"] * {

    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
}


/* WHITE TIMER BOX */

body.page_booking_checkout
#CheckoutSummary
h4.booking-timer.timerSPC {

    margin: 0 !important;

    padding-top: 1px !important;
    padding-bottom: 1px !important;

    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 400 !important;

    min-height: 0 !important;
    height: auto !important;
}
/* =========================================================
   JC CHECKOUT — FINAL UNIFORM BLUE TITLE BARS
   31 AUG 2026 — 11:06 AM BALI TIME
   EXACT INSPECTED SELECTORS ONLY
   ========================================================= */


/* ---------------------------------------------------------
   1. ALL CONFIRMED BLUE TITLE BARS
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="YourItineraryHeader"],

body.page_booking_checkout
[data-ody-id="PriceSummarySectionHeader"],

body.page_booking_checkout
[data-ody-id="PaymentsScheduleTitleCust"],

body.page_booking_checkout
#CancellationPolicyHeader,

body.page_booking_checkout
#CruiseTRules > .card-header,

body.page_booking_checkout
a[data-ody-id="PassengerDetailsTab"].card-header,

body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"] > a.card-header {

    background: #0978BD !important;
    background-color: #0978BD !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    padding-top: 1px !important;
    padding-right: 8px !important;
    padding-bottom: 1px !important;
    padding-left: 8px !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    min-height: 0 !important;
    height: auto !important;

    box-sizing: border-box !important;
    align-items: center !important;
}


/* ---------------------------------------------------------
   2. EXACT TITLE TEXT
   14PX / WHITE / WEIGHT 400
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="YourItineraryHeader"],

body.page_booking_checkout
[data-ody-id="PriceSummaryTitle"],

body.page_booking_checkout
[data-ody-id="PaymentsScheduleTitleCust"] .pay-head,

body.page_booking_checkout
#CancellationPolicyHeader strong,

body.page_booking_checkout
#CruiseTRules > .card-header span,

body.page_booking_checkout
[data-ody-id="passengerDetailsTitle"],

body.page_booking_checkout
[data-ody-id="AdditionalServicesTitle"] {

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   3. PAYMENT SCHEDULE
   REMOVE THE 8PX VERTICAL CELL PADDING
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="PaymentsScheduleTitleCust"] .pay-head {

    padding-top: 0 !important;
    padding-bottom: 0 !important;

    min-height: 0 !important;
    height: auto !important;
}


/* ALIGN PAYMENT SCHEDULE TITLE WITH OTHER LEFT-ALIGNED TITLES */

body.page_booking_checkout
[data-ody-id="FirstColPSCustomer"] {

    padding-left: 0 !important;
}


/* ---------------------------------------------------------
   4. BONUS OFFERS
   REMOVE SHIP ICON AND (-)
   --------------------------------------------------------- */

body.page_booking_checkout
[data-ody-id="BonusOffersTitleIcon"] {

    display: none !important;
}


body.page_booking_checkout
[data-ody-id="select-bonus-offer-sub-title-next"] {

    display: none !important;
}


/* KEEP BONUS OFFERS TEXT TIGHT AFTER REMOVING ICON */

body.page_booking_checkout
#CruiseTRules > .card-header span {

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* ---------------------------------------------------------
   5. CANCEL ANY OLD DESKTOP FIXED HEADER HEIGHTS
   --------------------------------------------------------- */

@media (min-width: 992px) {

    body.page_booking_checkout
    [data-ody-id="YourItineraryHeader"],

    body.page_booking_checkout
    [data-ody-id="PriceSummarySectionHeader"],

    body.page_booking_checkout
    [data-ody-id="PaymentsScheduleTitleCust"],

    body.page_booking_checkout
    #CancellationPolicyHeader,

    body.page_booking_checkout
    #CruiseTRules > .card-header,

    body.page_booking_checkout
    a[data-ody-id="PassengerDetailsTab"].card-header,

    body.page_booking_checkout
    [data-ody-id="AdditionalServiceTab"] > a.card-header {

        height: auto !important;
        min-height: 0 !important;

        padding-top: 1px !important;
        padding-bottom: 1px !important;

        font-size: 14px !important;
        line-height: 18px !important;
        font-weight: 400 !important;
    }
}
/* =========================================================
   3:22 PM BALI — CHECKOUT SPACE-SAVING CLEANUP
   ========================================================= */

/* Hide the passenger NOTE box only */
body.page_booking_checkout #passangerDetails > .alert.alert-primary {
    display: none !important;
}

/* Hide only the “Additional Details” heading */
body.page_booking_checkout #CruiseTRules .bonus-offer-header {
    display: none !important;
}
/* =========================================================
   3:24 PM BALI — GLOBAL CRUISE TITLE BAR
   ========================================================= */

/* Change the orange cruise-title section to CHOOSE-button green */
body .section-trip-title {
    background-color: #66971E !important;
}

/* Cruise title text */
body .section-trip-title [data-ody-id="AirTripDetails"] {
    background-color: #66971E !important;
    color: #FFFFFF !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
}

/* Preserve the blue Total box */
body .section-trip-title [data-ody-id="TripSummeryLink"] {
    background-color: #0978BD !important;
    color: #FFFFFF !important;
}

/* Preserve the white timer box */
body .section-trip-title .booking-timer.timerSPC {
    background-color: #FFFFFF !important;
    color: #00234B !important;
}
/* =========================================================
   3:26 PM BALI — PASSENGER / CABIN SUMMARY STRIP
   ========================================================= */

/* Increase the compact summary strip from 12px to 14px */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"],
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] * {

    color: #00234B !important;
    font-size: 14px !important;
    line-height: 16px !important;
}

/* Keep labels visually distinct */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] strong,
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] b {

    font-weight: 600 !important;
}

/* Preserve the existing compact spacing */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"] {

    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}
/* =========================================================
   JC GLOBAL CRUISE TITLE BARS — DEVTOOLS TESTED
   1 SEP 2026 — 8:03 AM BALI TIME
   ========================================================= */


/* CATEGORY + CABIN — GREEN BAR */

[data-ody-id="StickyPageTitle"] {
    background: #66971E !important;
}


/* CATEGORY — WHITE TITLE TEXT */

body.page_cruise_category
[data-ody-id="StickyPageTitle"]
.page-title.cruise-details-title {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 400 !important;
}


/* CABIN — WHITE TITLE TEXT */

body.page_cruise_cabin
[data-ody-id="StickyPageTitle"]
.page-title.cruise-details-title {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 400 !important;
}


/* CHECKOUT — GREEN BAR + WHITE TITLE TEXT */

body.page_booking_checkout
#CheckoutSummary
[data-ody-id="AirTripDetails"] {
    background: #66971E !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 400 !important;
}
/* =========================================================
   JC CRUISE RESULTS — GREEN VIEW PRICES & DETAILS BUTTON
   DEVTOOLS TESTED — 1 SEP 2026, 8:22 AM BALI TIME
   ========================================================= */

body.results-page
.cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
button[data-ody-id="CruiseResultsBookButton"] {
    background: #66971E !important;
    background-color: #66971E !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
/* =========================================================
   JC CHECKOUT — CRUISE AND CABIN DETAILS TITLE
   DEVTOOLS TESTED — 1 SEP 2026, 8:27 AM BALI TIME
   ========================================================= */

body.page_booking_checkout
.mProItinerary > .card-header,
body.page_booking_checkout
[data-ody-id="CruiseItineraryExpand"] > .card-header {
    font-size: 14px !important;
    line-height: 18px !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    font-weight: 400 !important;
}
body.page_booking_checkout
[data-ody-id="PriceSummarySectionHeader"]
[data-ody-id="PriceSummaryTitle"] {
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
}
/* =========================================================
   JC CHECKOUT — PAYMENT SCHEDULE HEADER
   DEVTOOLS TESTED — 1 SEP 2026, 8:53 AM BALI TIME
   ========================================================= */

body.page_booking_checkout
[data-ody-id="PaymentScheduleCustomerWrapper"]
[data-ody-id="PaymentsScheduleTitleCust"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
}

body.page_booking_checkout
[data-ody-id="PaymentScheduleCustomerWrapper"]
[data-ody-id="PaymentsScheduleTitleCust"]
.pay-head {
    padding: 1px 8px !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
}
/* =========================================================
   JC CHECKOUT — BONUS OFFERS
   DEVTOOLS TESTED — 1 SEP 2026, 9:29 AM BALI TIME
   ========================================================= */

/* Remove ship icon */
body.page_booking_checkout
[data-ody-id="TopRulesRPTBonusOffers"]
[data-ody-id="BonusOffersTitleIcon"] {
    display: none !important;
}

/* Tighten the Bonus Offers body */
body.page_booking_checkout
[data-ody-id="TopRulesRPTBonusOffers"]
.card-body.bonus-offer-top-header {
    padding: 4px 8px !important;
}

/* Remove excess space beneath the fare */
body.page_booking_checkout
[data-ody-id="TopRulesRPTBonusOffers"]
[data-ody-id="RulesValuedAddPromotion"] {
    padding-bottom: 0 !important;
}

/* Tighten the JC Special Fare row */
body.page_booking_checkout
[data-ody-id="TopRulesRPTBonusOffers"]
.offer-group.list-group-item {
    padding: 1px 8px !important;
}
/* =========================================================
   JC CHECKOUT — GUEST DETAILS TITLE
   DEVTOOLS TESTED — 1 SEP 2026, 10:25 AM BALI TIME
   ========================================================= */

body.page_booking_checkout
[data-ody-id="PassengerDetailsTab"]
[data-ody-id="passengerDetailsTitle"] {
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
}
/* =========================================================
   JC CHECKOUT — DINING, BEDDING & CELEBRATIONS TITLE
   DEVTOOLS TESTED — 1 SEP 2026, 10:36 AM BALI TIME
   ========================================================= */

body.page_booking_checkout
[data-ody-id="AdditionalServiceTab"]
[data-ody-id="AdditionalServicesTitle"] {
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
}

/* =========================================================
   JC CRUISE RESULTS — TIGHTER OUTER RESULT BOX
   ========================================================= */

body.results-page
[data-ody-id="CruiseInfoCardWrapper"].cruise-item-card {
    margin: 0 0 6px 0 !important;
    padding: 4px 6px !important;
}
/* =========================================================
   JC CRUISE RESULTS — TIGHTER SORT BAR
   ADDED — 2 SEP 2026, 6:50 AM BALI TIME
   ========================================================= */

body.results-page
[data-ody-id="SortSelector"].sort-by-section {
    margin-bottom: 6px !important;
    padding: 6px 8px !important;
}
/* =========================================================
   JC CRUISE RESULTS — TIGHTER GAP BETWEEN CRUISES
   ADDED — 2 SEP 2026, 7:16 AM BALI TIME
   ========================================================= */

[data-ody-id="CruiseItemComponentContainers"]
> cruise-item-component.cruise-item {
    margin-bottom: 6px !important;
}
/* =========================================================
   JC CRUISE RESULTS — SMALLER ITINERARY IMAGE
   ADDED — 2 SEP 2026, 7:22 AM BALI TIME
   ========================================================= */

@media (min-width: 992px) {
    body.results-page
    .cruise-item-card
    .card-image img {
        width: 150px !important;
        max-width: 150px !important;
        height: auto !important;
    }
}
/* =========================================================
   JC CRUISE DETAILS — SEARCH BUTTONS
   ADDED — 2 SEP 2026, 7:37 AM BALI TIME
   ========================================================= */

/* Hide Start a New Search */
[data-ody-id="StartNewSearchButton"] {
    display: none !important;
}

/* Back to Search — JC navy */
[data-ody-id="BackToSearch"] {
    color: #ffffff !important;
    background-color: #00234B !important;
    border-color: #00234B !important;
}

/* Back to Search — hover/focus */
[data-ody-id="BackToSearch"]:hover,
[data-ody-id="BackToSearch"]:focus {
    color: #ffffff !important;
    background-color: #083e72 !important;
    border-color: #083e72 !important;
}
/* =========================================================
   JC CRUISE DETAILS — COMPACT PRICE SUMMARY
   ADDED — 2 SEP 2026, 7:43 AM BALI TIME
   ========================================================= */

[data-ody-id="PackagePrices"] {
    background: #00234B !important;
    padding: 5px 8px !important;
    margin: 0 !important;
}

/* Keep all fare columns vertically centred */
[data-ody-id="PackagePrices"] > .d-flex {
    align-items: center !important;
}

/* Interior / Outside / Balcony / Suite */
[data-ody-id="PackagePrices"] .sailing-category-label {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Prices and Sold Out */
[data-ody-id="PackagePrices"] .sailing-category-price {
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
}

/* Includes taxes and fees */
[data-ody-id="PackagePrices"] > :not(.d-flex) {
    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 14px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CRUISE RESULTS — COMPACT FARE TABLE
   ADDED — 2 SEP 2026, 7:52 AM BALI TIME
   ========================================================= */

/* Remove space beneath the table */
body.results-page
.cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] table {
    margin-bottom: 0 !important;
}

/* Compact header row — cabin-name font size unchanged */
body.results-page
.cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] th {
    height: 28px !important;
    padding: 2px 5px !important;
}

/* Compact price row */
body.results-page
.cruise-item-card
[data-ody-id="CruiseSailingDatesSection"] td {
    height: 32px !important;
    padding: 2px 4px !important;
}

/* Enlarge only the actual fares and Sold Out text */
body.results-page
.cruise-item-card
[data-ody-id="CruiseSailingDatesSection"]
tbody td.text-center > span {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 18px !important;
}
/* =========================================================
   JC CRUISE DETAILS — PRICE DISCLAIMER
   ADDED — 2 SEP 2026, 8:30 AM BALI TIME
   ========================================================= */

[data-ody-id="PackagePrices"]
[data-ody-id="CruiseInclusiveExclusiveMessage"]
.cruise-tax-inclusive {
    font-size: 0 !important;
    font-weight: 400 !important;
    line-height: 13px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.78) !important;
}

[data-ody-id="PackagePrices"]
[data-ody-id="CruiseInclusiveExclusiveMessage"]
.cruise-tax-inclusive::after {
    content: "FROM prices per person twin share. Click for live prices & cabins.";
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 13px !important;
    color: rgba(255, 255, 255, 0.78) !important;
}
/* =========================================================
   JC CRUISE RESULTS — FULL COMPACT CARD ALIGNMENT
   ADDED — 2 SEP 2026, 8:48 AM BALI TIME
   ========================================================= */

@media (min-width: 992px) {

    /* Overall card */
    body.results-page .cruise-item-card {
        height: 160px !important;
        min-height: 160px !important;
        max-height: 160px !important;
        padding: 4px 6px !important;
    }

    /* Compact title row */
    body.results-page .cruise-item-card .cruise-title {
        margin: 0 0 4px !important;
        line-height: 22px !important;
    }

    /* Remove oversized map surround */
    body.results-page .cruise-item-card .card-image-wrapper {
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        flex: 0 0 150px !important;
        margin: 0 8px 0 0 !important;
        padding: 0 !important;
    }

    body.results-page .cruise-item-card .card-image.cruise-img,
    body.results-page .cruise-item-card
    .card-image.cruise-img .embed-responsive {
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Compact middle information column */
    body.results-page .cruise-item-card .cruise-info-details {
        align-self: flex-start !important;
        margin: 0 !important;
        padding: 0 6px !important;
    }

    /* Smaller cruise-line logo */
    body.results-page .cruise-item-card .cruise-logo {
        margin: 0 0 2px !important;
        padding: 0 !important;
    }

    body.results-page .cruise-item-card .cruise-logo img {
        width: auto !important;
        max-width: 120px !important;
        height: auto !important;
        max-height: 24px !important;
    }

    /* Smaller ship name */
    body.results-page .cruise-item-card .cruise-name,
    body.results-page .cruise-item-card .cruise-name a {
        font-size: 13px !important;
        line-height: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Tighten route and duration rows */
    body.results-page .cruise-item-card
    .cruise-info-details .cruise-info-detail-item {
        min-height: 0 !important;
        margin: 0 0 3px !important;
        padding: 0 !important;
        font-size: 13px !important;
        line-height: 16px !important;
    }

    body.results-page .cruise-item-card
    .cruise-info-details .cruise-info-detail-item * {
        line-height: 16px !important;
    }

    /* Smaller ship/location/duration icons */
    body.results-page .cruise-item-card
    .cruise-info-details .odi,

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

    /* Move fare table to the top of the content area */
    body.results-page .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"] {
        top: 34px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Button immediately beneath fare table */
    body.results-page .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"]
    button[data-ody-id="CruiseResultsBookButton"] {
        top: 64px !important;
        margin: 0 !important;
    }

    /* Disclaimer immediately beneath button */
    body.results-page .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"]::after {
        top: 94px !important;
        margin: 0 !important;
        padding: 0 4px !important;
    }
}
/* =========================================================
   JC CRUISE DETAILS — HIDE IMAGE GALLERY SLIDER
   ADDED — 2 SEP 2026, 8:53 AM BALI TIME
   ========================================================= */

/* Hide the gallery and its modal */
[data-ody-id="PackageDetailsWrapper"]
package-details-gallery {
    display: none !important;
}

/* Remove the empty padded wrapper left behind */
[data-ody-id="PackageDetailsWrapper"]
.pb-3:has(> package-details-gallery) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CRUISE RESULTS — FINAL INFO + PRICE ALIGNMENT
   ADDED — 2 SEP 2026, 9:23 AM BALI TIME
   ========================================================= */

@media (min-width: 992px) {

    /* Keep the complete middle information area evenly spaced */
    body.results-page
    .cruise-item-card
    .cruise-info-details {
        margin: 0 !important;
        padding-top: 0 !important;
    }

    /* Ship name, route and duration — matching typography */
    body.results-page
    .cruise-item-card
    .cruise-info-details
    .cruise-info-detail-item,

    body.results-page
    .cruise-item-card
    .cruise-info-details
    .cruise-name,

    body.results-page
    .cruise-item-card
    [data-ody-id="CruiseDepartureAndArrival"] {
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 400 !important;
    }

    /* Give every information row identical spacing */
    body.results-page
    .cruise-item-card
    .width-cruise-info-details
    > .cruise-info-detail-item {
        min-height: 18px !important;
        height: 18px !important;
        margin: 0 0 2px !important;
        padding: 0 !important;
        align-items: center !important;
    }

    /* Align Brisbane → Sydney as one clean row */
    body.results-page
    .cruise-item-card
    [data-ody-id="CruiseDepartureAndArrival"] {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        gap: 5px !important;
        height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Consistent icon column and icon sizing */
    body.results-page
    .cruise-item-card
    .cruise-info-details i.odi {
        display: inline-flex !important;
        width: 20px !important;
        min-width: 20px !important;
        height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 17px !important;
        line-height: 18px !important;
    }

    /* Route arrow requires less width than the main icon column */
    body.results-page
    .cruise-item-card
    [data-ody-id="CruiseDepartureAndArrival"]
    i.odi-trending-flat {
        width: 18px !important;
        min-width: 18px !important;
    }

    /* Fare date and prices — same size */
    body.results-page
    .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"]
    tbody td,

    body.results-page
    .cruise-item-card
    [data-ody-id="CruiseSailingDatesSection"]
    tbody td * {
        font-size: 14px !important;
        line-height: 18px !important;
    }
}
/* =========================================================
   JC RESULTS — ROUTE TEXT LEFT ALIGNMENT
   ADDED — 2 SEP 2026, 10:12 AM BALI TIME
   ========================================================= */

@media (min-width: 992px) {

    body.results-page
    .cruise-item-card
    [data-ody-id="CruiseDepartureAndArrival"]
    i.odi-location-on {
        width: 16px !important;
        min-width: 16px !important;
    }
}
/* =========================================================
   JC CHECKOUT — CRUISE AND CABIN DETAILS FINAL OVERRIDE
   DEVTOOLS CONFIRMED — 2 SEP 2026, 11:42 AM BALI TIME
   ========================================================= */

body.page_booking_checkout
.mProItinerary
> [data-ody-id="YourItineraryHeader"].card-header {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1px 8px !important;
    line-height: 18px !important;
}

body.page_booking_checkout
.mProItinerary
> [data-ody-id="YourItineraryHeader"].card-header
> h5 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
/* =========================================================
   JC CHECKOUT — CRUISE SUMMARY ROW
   COMPACT ALIGNMENT + 14PX DATE
   2 SEP 2026 — 11:51 AM BALI TIME
   ========================================================= */

body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"] {
    display: flex !important;
    align-items: center !important;
    column-gap: 12px !important;

    width: 100% !important;
    height: auto !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 4px 10px !important;

    background: #F3F3F3 !important;
    border-radius: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
}

/* Standardise all text within this row */
body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"] * {
    font-size: 14px !important;
    line-height: 18px !important;
}

/* Keep the cruise-line logo compact */
body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"] img {
    width: auto !important;
    max-width: 42px !important;
    height: auto !important;
    max-height: 28px !important;
    margin: 0 !important;
}

/* Cruise name and cruise line */
body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"] strong {
    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 600 !important;
}

/* Departure date, return date and availability */
body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"]
.mProItiDate {
    flex: 1 1 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 600 !important;
}

/* Keep the expand arrow at the far right */
body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"]
button,
body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"]
.odi-chevron-down,
body.page_booking_checkout
[data-ody-id="PackageItineraryNodeHeader"]
.odi-chevron-up {
    margin-left: auto !important;
}
/* =========================================================
   JC CHECKOUT — PASSENGER / CATEGORY / CABIN / DECK
   FULL-WIDTH SUMMARY + 14PX TEXT
   2 SEP 2026 — 11:54 AM BALI TIME
   ========================================================= */

body.page_booking_checkout
[data-ody-id="SailingItineraryNodeDescription"]
.itinerary-node-info-group {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #FFFFFF !important;
    box-sizing: border-box !important;
}

/* Four evenly spaced information sections */
body.page_booking_checkout
[data-ody-id="SailingItineraryNodeDescription"]
.itinerary-node-info-group
> .itinerary-node-info-item {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 25% !important;

    min-width: 0 !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 4px 10px !important;

    background: #FFFFFF !important;
    box-sizing: border-box !important;

    font-size: 14px !important;
    line-height: 18px !important;
}

/* Labels: Passengers, Category, Cabin and Deck */
body.page_booking_checkout
[data-ody-id="SailingItineraryNodeDescription"]
.itinerary-node-info-group
label {
    margin: 0 5px 0 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 600 !important;

    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
}

/* Values displayed beside each label */
body.page_booking_checkout
[data-ody-id="SailingItineraryNodeDescription"]
.itinerary-node-info-group
span {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
}

/* Prevent the surrounding section showing grey beneath the row */
body.page_booking_checkout
[data-ody-id="SailingItineraryNodeDescription"] {
    width: 100% !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #FFFFFF !important;
}
/* =========================================================
   JC CHECKOUT — PAYMENT SCHEDULE CORRECTED
   ACTUAL LOWERCASE WRAPPER ID
   2 SEP 2026 — 11:56 AM BALI TIME
   ========================================================= */

/* Remove pale-blue background from the complete section */
body.page_booking_checkout
[data-ody-id="paymentScheduleCustomerWrapper"],
body.page_booking_checkout
[data-ody-id="Customer_PaymentScheduleContainer"] {
    background: #FFFFFF !important;
}

/* Compact blue column-heading bar */
body.page_booking_checkout
[data-ody-id="paymentScheduleCustomerWrapper"]
[data-ody-id="PaymentsScheduleTitleCust"] {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;
    min-height: 22px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #0978BD !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

/* All Payment Schedule headings */
body.page_booking_checkout
[data-ody-id="paymentScheduleCustomerWrapper"]
[data-ody-id="PaymentsScheduleTitleCust"]
.pay-head {
    display: flex !important;
    align-items: center !important;

    height: auto !important;
    min-height: 22px !important;

    margin: 0 !important;
    padding: 1px 8px !important;

    background: transparent !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    box-sizing: border-box !important;
}

/* Remove excess padding immediately around the schedule */
body.page_booking_checkout
[data-ody-id="paymentScheduleCustomerWrapper"]
.card-body {
    margin: 0 !important;
    padding: 0 !important;
    background: #FFFFFF !important;
}
/* =========================================================
   JC CHECKOUT — FARE TYPE HEADER FINAL OVERRIDE
   14PX TEXT + REMOVE SHIP ICON AND (-)
   2 SEP 2026 — 11:58 AM BALI TIME
   ========================================================= */

/* Compact the complete Fare Type heading */
body.page_booking_checkout
#TRules
#CruiseTRules
> .card-header {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;
    min-height: 22px !important;

    margin: 0 !important;
    padding: 1px 8px !important;

    background: #0978BD !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
}

/* Fare Type text */
body.page_booking_checkout
#TRules
#CruiseTRules
> .card-header
> span:not([data-ody-id="select-bonus-offer-sub-title-next"]) {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* Remove the ship icon and all of its occupied space */
body.page_booking_checkout
#TRules
#CruiseTRules
[data-ody-id="BonusOffersTitleIcon"] {
    display: none !important;

    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Remove the separate (-) text */
body.page_booking_checkout
#TRules
#CruiseTRules
[data-ody-id="select-bonus-offer-sub-title-next"] {
    display: none !important;

    width: 0 !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CHECKOUT — GUEST DETAILS HEADER
   EXACT TITLE ELEMENT — 14PX COMPACT BAR
   2 SEP 2026 — 12:00 PM BALI TIME
   ========================================================= */

/* Complete Guest Details blue bar */
body.page_booking_checkout
a[data-ody-id="PassengerDetailsTab"].card-header {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;
    min-height: 22px !important;

    margin: 0 !important;
    padding: 1px 8px !important;

    background: #0978BD !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
}

/* Exact Guest Details title */
body.page_booking_checkout
a[data-ody-id="PassengerDetailsTab"]
[data-ody-id="passengerDetailsTitle"] {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* Prevent other accordion-span rules restoring 16px */
body.page_booking_checkout
.section-passenger-details
a[data-ody-id="PassengerDetailsTab"].card-header
> span {
    font-size: 14px !important;
    line-height: 18px !important;
}

/* Keep the right-side control compact and centred */
body.page_booking_checkout
a[data-ody-id="PassengerDetailsTab"]
> span.d-inline-flex {
    align-items: center !important;

    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    min-height: 0 !important;
}
/* =========================================================
   JC CHECKOUT — CHOOSE DINING, BEDDING & CELEBRATIONS
   ALL ADDITIONAL-SERVICE HEADERS — 14PX
   2 SEP 2026 — 12:01 PM BALI TIME
   ========================================================= */

/* Compact the Additional Services blue bars */
body.page_booking_checkout
[data-ody-id$="AdditionalServiceTab"]
> a.card-header {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;
    min-height: 22px !important;

    margin: 0 !important;
    padding: 1px 8px !important;

    background: #0978BD !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
}

/* Exact Choose Dining, Bedding & Celebrations title */
body.page_booking_checkout
[data-ody-id$="AdditionalServiceTab"]
[data-ody-id="AdditionalServicesTitle"] {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
    font-weight: 400 !important;

    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* Prevent the broad 16px accordion rule taking priority */
body.page_booking_checkout
.checkout-stepper-accordion
[data-ody-id$="AdditionalServiceTab"]
> a.card-header
> span {
    font-size: 14px !important;
    line-height: 18px !important;
}

/* Keep the right-side control compact */
body.page_booking_checkout
[data-ody-id$="AdditionalServiceTab"]
> a.card-header
> span.d-inline-flex {
    align-items: center !important;

    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

    min-height: 0 !important;
}
/* =========================================================
   JC CHECKOUT — REMOVE FARE TYPE SHIP ICON
   EXACT LIVE DOM POSITION
   2 SEP 2026 — 1:30 PM BALI TIME
   ========================================================= */

body.page_booking_checkout
#TRules
#CruiseTRules
> .card-header
> em.odi.odi-cruise {
    display: none !important;
    visibility: hidden !important;

    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;

    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;
}

/* Remove the separate (-) beside Fare Type */
body.page_booking_checkout
#TRules
#CruiseTRules
> .card-header
> span[data-ody-id="select-bonus-offer-sub-title-next"] {
    display: none !important;
    visibility: hidden !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Keep Fare Type aligned after removing the icon */
body.page_booking_checkout
#TRules
#CruiseTRules
> .card-header
> span:first-of-type {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 18px !important;
}
/* =========================================================
   JC CHECKOUT — CONDITIONAL RATE-INCLUSIONS ROW
   COLLAPSE WHEN EMPTY; DISPLAY WHEN CONTENT EXISTS
   2 SEP 2026 — 1:35 PM BALI TIME
   ========================================================= */

/* Empty inclusions container must occupy no space */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"]:empty {
    display: none !important;

    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* When inclusions exist, allow the row to size naturally */
body.page_booking_checkout
[data-ody-id="ShowRateCodeIconSection"]:not(:empty) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 6px 0 0 !important;
    padding: 0 !important;
}
/* =========================================================
   JC CHECKOUT — PAYMENT SCHEDULE DESKTOP HEADER HEIGHT
   EXACT HTML ID — COMPACT 22PX BAR
   2 SEP 2026 — 1:38 PM BALI TIME
   ========================================================= */

@media (min-width: 768px) {

    body.page_booking_checkout
    #PaymentsScheduleSectionDIV {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #0978BD !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.page_booking_checkout
    #PaymentsScheduleSectionDIV
    > .pay-head {
        display: flex !important;
        align-items: center !important;

        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;

        margin: 0 !important;
        padding: 0 8px !important;

        background: transparent !important;

        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;

        font-size: 14px !important;
        line-height: 18px !important;
        font-weight: 400 !important;

        box-sizing: border-box !important;
    }
}
/* =========================================================
   JC CHECKOUT — PAYMENT SCHEDULE BACKGROUND CLEAN-UP
   REMOVE PALE BLUE FROM SURROUNDING CONTAINERS
   2 SEP 2026 — 1:39 PM BALI TIME
   ========================================================= */

body.page_booking_checkout
[data-ody-id="PaymentScheduleCustomerWrapper"],
body.page_booking_checkout
[data-ody-id="Customer_PaymentScheduleContainer"],
body.page_booking_checkout
.payment-schedule-customer {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
}

/* Remove pale-blue edge/background around the heading */
body.page_booking_checkout
#PaymentsScheduleSectionDIV {
    background: #0978BD !important;
    background-color: #0978BD !important;

    border: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
}

/* Ensure no individual heading column retains pale blue */
body.page_booking_checkout
#PaymentsScheduleSectionDIV
> .pay-head {
    background: transparent !important;
    background-color: transparent !important;

    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* Keep the schedule content itself white */
body.page_booking_checkout
[data-ody-id="Customer_PaymentScheduleContainer"]
.card-body,
body.page_booking_checkout
.payment-schedule-customer
.card-body {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
}
/* =========================================================
   JC CRUISE DETAILS — HIDE INCLUDES TAXES AND FEES
   EXACT LIVE ELEMENT
   2 SEP 2026 — 1:41 PM BALI TIME
   ========================================================= */

[data-ody-id="PackagePrices"]
[data-ody-id="cruiseInclusiveExclusiveMessage"],
[data-ody-id="PackagePrices"]
.cruise-tax-inclusive {
    display: none !important;
    visibility: hidden !important;

    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
/* =========================================================
   JC BOOKING CONFIRMED — LEFT SIDEBAR DETAILS FIX
   REMOVE WHITE PANEL + RESTORE VISIBLE WHITE DETAILS
   3 SEP 2026 — 9:15 AM BALI TIME
   ========================================================= */

@media (min-width: 992px) {

    /* Remove the white background behind the cruise details */
    .section-sidebar
    #packageDetails
    .cruise-details.general-details,
    
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],
    
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"] {
        background: transparent !important;
        background-color: transparent !important;

        border: 0 !important;
        box-shadow: none !important;
    }

    /* Restore visible white text throughout the details block */
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"],
    
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"] * {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
    }

    /* Keep the individual detail rows compact */
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"]
    > div {
        margin: 0 0 6px !important;
        padding: 0 !important;

        font-size: 14px !important;
        line-height: 18px !important;
    }

    /* White icons inside the navy panel */
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"]
    .odi,
    
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"]
    .odi-icon {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
    }
}
/* =========================================================
   JC BOOKING CONFIRMED — LEFT SIDEBAR NAVY CARD
   EXACT LIVE CONTAINER
   3 SEP 2026 — 9:45 AM BALI TIME
   ========================================================= */

/* Complete image and cruise-details card */
@media (min-width: 992px) {

    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseBookingDetails"] {
        background: #00234B !important;
        background-color: #00234B !important;

        border: 0 !important;
        box-shadow: none !important;
    }

    /* Remove the white background behind the image */
    .section-sidebar
    #packageDetails
    #CruiseNavigationTabsInfo {
        background: #00234B !important;
        background-color: #00234B !important;
    }

    /* Navy background beneath the Australia strip */
    .section-sidebar
    #packageDetails
    .cruise-details.general-details,
    
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapperWithlogo"],
    
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"] {
        background: #00234B !important;
        background-color: #00234B !important;

        border: 0 !important;
        box-shadow: none !important;
    }

    /* All cruise details and icons remain visible */
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"],
    
    .section-sidebar
    #packageDetails
    [data-ody-id="CruiseGeneralDetailsWrapper"] * {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
    }
}

/* CABIN PAGE LH – Special Offers names in JC navy */
@media (min-width: 992px) {
    body.page_cruise_cabin #packageDetails #divDynamicRules span.rules-name-for-list-view {
        color: #00234B !important;
        -webkit-text-fill-color: #00234B !important;
    }
}
/* =========================================================
   JC BOOKING CONFIRMED — REMOVE SPACE UNDER SHIP IMAGE
   COLLAPSE FORCED 4:3 IMAGE CONTAINER
   3 SEP 6 — 9:47 AM BALI TIME
   ========================================================= */

@media (min-width: 992px) {

    .section-sidebar
    #packageDetails
    #CruiseNavigationTabsInfo.embed-responsive {
        position: relative !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #00234B !important;
        overflow: hidden !important;
    }

    /* Remove Bootstrap’s reserved 4:3 space */
    .section-sidebar
    #packageDetails
    #CruiseNavigationTabsInfo.embed-responsive-4by3::before {
        display: none !important;
        content: none !important;
        padding-top: 0 !important;
    }

    /* Let the actual image determine the container height */
    .section-sidebar
    #packageDetails
    #CruiseNavigationTabsInfo
    img.embed-responsive-item {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;
        max-height: 180px !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: cover !important;
    }
}
/* BOOKING CONFIRMATION – remove empty white strip beneath LH cruise details */
@media (min-width: 992px) {
  .section-sidebar #packageDetails > hr.ody-custom-hide-horizontal-line {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
}
/* CABIN PAGE – Special Offers popup text in JC navy */
@media (min-width: 992px) {
  body.page_cruise_cabin
  #packageDetails
  .dynamic-rules
  .modal.modal-container
  .modal-body,
  
  body.page_cruise_cabin
  #packageDetails
  .dynamic-rules
  .modal.modal-container
  .modal-body * {
    color: #00234B !important;
    -webkit-text-fill-color: #00234B !important;
  }
}
/* =========================================================
   JC CRUISE RESULTS — RESTORE TILE / GRID VIEW
   ADDED — 6 SEP 2026, 7:29 AM
   LIST VIEW REMAINS UNCHANGED
   ========================================================= */

@media (min-width: 992px) {

    /* Remove the fixed list-card height and clipping */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card {
        height: auto !important;
        min-height: 420px !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 8px !important;
    }

    /* Restore the image across the tile */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card .card-image-wrapper,
    
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card .card-image,
    
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card .card-image.cruise-img,
    
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card .card-image.cruise-img .embed-responsive {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        flex: none !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
    }

    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card .card-image img {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
    }

    /* Restore cruise title and information */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card .cruise-title,
    
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-card .cruise-info-details {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Restore the tile price area */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    [data-ody-id="PackagePriceSection"],
    
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-item-min-price,
    
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    .cruise-min-price-section {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 6px 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Remove list-view fare-table positioning */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    [data-ody-id="CruiseSailingDatesSection"],
    
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    [data-ody-id="sailingDateSection"] {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 6px 0 0 !important;
        padding: 0 !important;
        transform: none !important;
        overflow: visible !important;
    }

    /* Restore the tile button to normal document flow */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    button[data-ody-id="CruiseResultsBookButton"] {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 8px auto 0 !important;
    }

    /* Remove the list-only artificial disclaimer */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    [data-ody-id="CruiseSailingDatesSection"]::after {
        display: none !important;
        content: none !important;
    }

    /* Restore the promotion intended specifically for grid view */
    body.results-page
    [data-ody-id="SailingsContainer"].grid-view
    cruise-promotions-component.cruise-promotions-for-grid {
        display: block !important;
        height: auto !important;
        margin: 4px 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }
}
/* =========================================================
   JC RESULTS — GRID VIEW EMERGENCY RESTORE
   CORRECTED — 6 SEP 2026, 8:47 AM
   ========================================================= */

@media (min-width: 992px) {

    body .grid-view .cruise-item-card {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: 500px !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 8px !important;
    }

    body .grid-view .cruise-item-card cruise-info-component {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body .grid-view .cruise-item-card .cruise-title,
    body .grid-view .cruise-item-card .cruise-info-details {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body .grid-view .cruise-item-card .card-image-wrapper,
    body .grid-view .cruise-item-card .card-image,
    body .grid-view .cruise-item-card .card-image.cruise-img {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        flex: none !important;
        margin: 0 0 8px !important;
    }

    body .grid-view .cruise-item-card .card-image img {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
    }

    body .grid-view .cruise-item-card
    [data-ody-id="PackagePriceSection"],

    body .grid-view .cruise-item-card
    [data-ody-id="sailingDateSection"] {
        display: block !important;
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 6px 0 0 !important;
        padding: 0 !important;
        transform: none !important;
        overflow: visible !important;
    }
}
/* =========================================================
   JC RESULTS — REMOVE TILE / GRID VIEW OPTION
   ADDED — 6 SEP 2026, 9:27 AM
   ========================================================= */

body.results-page
.cruise-list-view
button:has(> em[data-ody-id="ModularViewButton"]) {
    display: none !important;
}
/* =========================================================
   CATEGORY PAGE — RESTORE TOP ACTION ROW
   9 SEP 2026
   ========================================================= */

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;
}
/* =========================================================
   JC BOOKING FLOW — RESTORE PROGRESS BAR
   9 SEP 2026
   ========================================================= */

/* Restore the ODS progress-bar container */
[data-ody-id="StepperBarWithStepsCount"] {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    min-height: initial !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

/* Restore its outer wrapper */
body.page_cruise_category .breadcrumb-bottom-0,
body.page_cruise_cabin .breadcrumb-bottom-0,
body.page_checkout .breadcrumb-bottom-0,
body.page_booking_checkout .breadcrumb-bottom-0 {
    height: auto !important;
    min-height: initial !important;
    max-height: none !important;

    margin: 0 0 4px 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

/* Restore the visible four-step bar */
body.page_cruise_category
.breadcrumb-bottom-0 > .nav.nav-stepper,

body.page_cruise_cabin
.breadcrumb-bottom-0 > .nav.nav-stepper,

body.page_checkout
.breadcrumb-bottom-0 > .nav.nav-stepper,

body.page_booking_checkout
.breadcrumb-bottom-0 > .nav.nav-stepper {
    display: flex !important;

    width: 100% !important;
    height: auto !important;
    min-height: initial !important;
    max-height: none !important;

    visibility: visible !important;
    opacity: 1 !important;

    overflow: visible !important;
}

/* =========================================================
   JC CATEGORY PAGE — FARE ROW COMPACT ALIGNMENT V2
   15 SEP 2026 — 4:12 PM BRISBANE

   PP PRICE / TOTAL / FARE / BENEFITS / CHOOSE ON ONE LINE
   CATEGORY PAGE — DESKTOP ONLY
   ========================================================= */

@media (min-width: 992px) {

    /* Reduce each live-fare row by approximately 40%. */
    body.page_cruise_category .category-price-table > .row,
    body.page_cruise_category .category-price-table-row {
        display: flex !important;
        align-items: center !important;

        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;

        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;

        overflow: visible !important;
        box-sizing: border-box !important;
    }

    /* Every column uses the same centre line. */
    body.page_cruise_category .category-price-table-cell {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;

        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;

        margin: 0 !important;
        padding: 2px 6px !important;

        overflow: visible !important;
        box-sizing: border-box !important;
    }

    /* Remove ODS inner heights and vertical spacing. */
    body.page_cruise_category .category-price-table-cell-body,
    body.page_cruise_category .category-price-table-cell > div {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 48px !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 18px !important;
        box-sizing: border-box !important;
    }

    body.page_cruise_category .category-price-table-cell p,
    body.page_cruise_category .category-price-table-cell span,
    body.page_cruise_category .category-price-table-cell strong,
    body.page_cruise_category .category-price-table-cell b {
        align-self: center !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 18px !important;
        white-space: nowrap !important;
    }

    /* Benefit/special icons sit side-by-side, never in a tall stack. */
    body.page_cruise_category .category-price-table-cell:has(img)
    .category-price-table-cell-body,
    body.page_cruise_category .category-price-table-cell:has(i)
    .category-price-table-cell-body,
    body.page_cruise_category .category-price-table-cell:has(em)
    .category-price-table-cell-body,
    body.page_cruise_category .category-price-table-cell:has(svg)
    .category-price-table-cell-body,
    body.page_cruise_category .category-price-table-cell:has(img) > div,
    body.page_cruise_category .category-price-table-cell:has(i) > div,
    body.page_cruise_category .category-price-table-cell:has(em) > div,
    body.page_cruise_category .category-price-table-cell:has(svg) > div {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
    }

    body.page_cruise_category .category-price-table-cell img,
    body.page_cruise_category .category-price-table-cell i,
    body.page_cruise_category .category-price-table-cell em,
    body.page_cruise_category .category-price-table-cell svg {
        display: inline-block !important;
        align-self: center !important;

        max-height: 25px !important;

        margin: 0 2px !important;
        padding: 0 !important;
        vertical-align: middle !important;
    }

    /* Compact CHOOSE button centred on that same line. */
    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: 135px !important;
        min-width: 135px !important;
        max-width: 135px !important;

        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;

        margin: 0 auto !important;
        padding: 0 12px !important;

        line-height: 32px !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   END — CATEGORY FARE ROW COMPACT ALIGNMENT V2
   ========================================================= */
