.lsm-progressive-booking {
    --lsm-progressive-gold: #91672c;
    --lsm-progressive-gold-soft: #b98a45;
    --lsm-progressive-ink: #191919;
    --lsm-progressive-muted: #6d6d6d;
    --lsm-progressive-line: #e5e2dc;
    --lsm-progressive-surface: #ffffff;
    --lsm-progressive-soft: #f7f5f1;
}

/* First-paint mobile surface tokens on the server-rendered body scope.
   The dark booking block re-declares them once the progressive JS adds
   the lsm-progressive-booking-page class, so each phase keeps its values. */
body.page.page {
    --lsm-booking-mobile-shell-bg: var(--lsm-booking-shell-bg);
    --lsm-booking-mobile-panel-bg: transparent;
    --lsm-booking-mobile-field-bg: var(--lsm-booking-field-bg);
    --lsm-booking-mobile-field-border: var(--lsm-booking-field-border);
    --lsm-booking-mobile-accent: #a7772e;
    --lsm-booking-mobile-accent-strong: #91672c;
    --lsm-booking-mobile-copy: #ffffff;
    --lsm-booking-mobile-copy-soft: rgba(255, 255, 255, 0.72);
}

/* Layout containers are structural only; visible content groups own one surface. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-layout-50x50,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-layout-100,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-layout-column-left,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .ui-tabs-panel {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field input,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field textarea,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field select,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .ui-selectmenu-button {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .theme-page-content,
body.page.page.lsm-progressive-booking-page .theme-page-content .theme-main,
body.page.page.lsm-progressive-booking-page .lsm-site-content,
body.page.page.lsm-progressive-booking-page .lsm-site-main {
    background: #f5f3ef !important;
}

body.page.page.lsm-progressive-booking-page .theme-page-content::before,
body.page.page.lsm-progressive-booking-page .lsm-site-content::before {
    display: none !important;
    content: none !important;
}

body.page-booking .lsm-progressive-booking,
body.page .lsm-progressive-booking {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 1040px !important;
    margin: 42px auto 80px !important;
}

body.page-booking .lsm-progressive-booking .chbs-main-navigation-default,
body.page-booking .lsm-progressive-booking .chbs-main-navigation-responsive,
body.page .lsm-progressive-booking .chbs-main-navigation-default,
body.page .lsm-progressive-booking .chbs-main-navigation-responsive {
    display: none !important;
}

.lsm-progressive-booking__intro {
    max-width: 880px;
    margin: 0 auto 30px;
    padding: 0 20px;
    text-align: center;
}

.lsm-progressive-booking__eyebrow {
    margin: 0 0 8px !important;
    color: var(--lsm-progressive-gold) !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: 0.18em !important;
}

.lsm-progressive-booking__intro h1 {
    margin: 0 !important;
    font-size: clamp(32px, 5vw, 50px) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
}

.lsm-progressive-booking__lead {
    max-width: 640px;
    margin: 14px auto 30px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.lsm-progressive-booking__progress {
    display: none !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 720px;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
}

.lsm-progressive-booking__progress > li {
    position: relative;
    min-width: 0;
}

.lsm-progressive-booking__progress > li::before,
.lsm-progressive-booking__progress > li::after {
    content: "";
    position: absolute;
    top: 17px;
    height: 2px;
    background: var(--lsm-progressive-line);
}

.lsm-progressive-booking__progress > li::before {
    left: 0;
    right: 50%;
}

.lsm-progressive-booking__progress > li::after {
    left: 50%;
    right: 0;
}

.lsm-progressive-booking__progress > li:first-child::before,
.lsm-progressive-booking__progress > li:last-child::after {
    display: none;
}

.lsm-progressive-booking__progress > li[data-lsm-state="complete"]::before,
.lsm-progressive-booking__progress > li[data-lsm-state="complete"]::after,
.lsm-progressive-booking__progress > li[data-lsm-state="active"]::before {
    background: var(--lsm-progressive-gold);
}

.lsm-progressive-booking__progress button {
    position: relative;
    z-index: 1;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: #999;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: default;
}

.lsm-progressive-booking__progress > li[data-lsm-state="complete"] button {
    color: var(--lsm-progressive-gold);
    cursor: pointer;
}

.lsm-progressive-booking__progress > li[data-lsm-state="active"] button {
    color: var(--lsm-progressive-ink);
}

.lsm-progressive-booking__progress-dot {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 2px solid var(--lsm-progressive-line);
    border-radius: 50%;
    background: var(--lsm-progressive-surface);
    color: #999;
    font-size: 12px;
    line-height: 1;
    box-sizing: border-box;
}

[data-lsm-state="active"] > button .lsm-progressive-booking__progress-dot,
[data-lsm-state="complete"] > button .lsm-progressive-booking__progress-dot {
    border-color: var(--lsm-progressive-gold);
    background: var(--lsm-progressive-gold);
    color: #fff;
}

.lsm-progressive-booking .chbs-main-content {
    display: grid !important;
    gap: 16px !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.lsm-progressive-booking .lsm-progressive-section {
    scroll-margin-top: 92px;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--lsm-progressive-line) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.lsm-progressive-booking .lsm-progressive-section[data-lsm-state="locked"] {
}

.lsm-progressive-section__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 92px;
    padding: 20px 24px;
    box-sizing: border-box;
}

.lsm-progressive-section[data-lsm-state="active"] > .lsm-progressive-section__header {
    border-bottom: 1px solid var(--lsm-progressive-line);
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 > .lsm-progressive-section__header {
    grid-template-columns: minmax(0, 1fr) auto;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 > .lsm-progressive-section__header .lsm-progressive-section__number {
    display: none !important;
}

.lsm-progressive-section__number {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--lsm-progressive-line);
    border-radius: 50%;
    background: var(--lsm-progressive-soft);
    color: #8b8b8b;
    font-size: 13px;
    font-weight: 800;
}

[data-lsm-state="active"] > .lsm-progressive-section__header .lsm-progressive-section__number {
    border-color: var(--lsm-progressive-gold);
    background: var(--lsm-progressive-gold);
    color: #fff;
}

[data-lsm-state="complete"] > .lsm-progressive-section__header .lsm-progressive-section__number {
    border-color: rgba(145, 103, 44, 0.3);
    background: rgba(145, 103, 44, 0.10);
    color: var(--lsm-progressive-gold);
}

[data-lsm-state="complete"] > .lsm-progressive-section__header .lsm-progressive-section__number {
    font-size: 0;
}

[data-lsm-state="complete"] > .lsm-progressive-section__header .lsm-progressive-section__number::after {
    content: "✓";
    font-size: 15px;
}

.lsm-progressive-section__title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.lsm-progressive-section__heading h2 {
    margin: 0 !important;
    color: var(--lsm-progressive-ink) !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em !important;
}

.lsm-progressive-section__heading p {
    margin: 4px 0 0 !important;
    color: var(--lsm-progressive-muted) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.lsm-progressive-section__status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--lsm-progressive-soft);
    color: #858585;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

[data-lsm-state="active"] > .lsm-progressive-section__header .lsm-progressive-section__status {
    background: rgba(145, 103, 44, 0.11);
    color: var(--lsm-progressive-gold);
}

[data-lsm-state="complete"] > .lsm-progressive-section__header .lsm-progressive-section__status {
    background: #edf6ef;
    color: #347247;
}

.lsm-progressive-section__edit {
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: var(--lsm-progressive-gold);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.lsm-progressive-section__edit[hidden] {
    display: none !important;
}

.lsm-progressive-section[data-lsm-state="locked"] > :not(.lsm-progressive-section__header),
.lsm-progressive-section[data-lsm-state="complete"] > :not(.lsm-progressive-section__header):not(.lsm-progressive-section__summary) {
    display: none !important;
}

.lsm-progressive-section[data-lsm-state="active"] > .lsm-progressive-section__summary {
    display: none !important;
}

.lsm-progressive-section__summary {
    padding: 0 24px 24px;
}

/* Step 2 follows the completed trip summary directly. Its native vehicle
   list, price card and navigation remain mounted so CHBS keeps ownership of
   selection, pricing and validation; only the duplicate title card is hidden. */
.lsm-progressive-booking .chbs-main-content-step-2[data-lsm-state="active"] > .lsm-progressive-section__header[hidden] {
    display: none;
}

/* A completed trip is one compact, clickable information card. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 > .lsm-progressive-section__summary {
    margin: 0;
}

.lsm-progressive-booking .chbs-main-content-step-1[data-lsm-state="complete"] > .lsm-progressive-section__summary {
    padding: 8px 12px 10px;
}

.lsm-progressive-summary__trip-card {
    display: block;
    width: 100%;
    padding: 16px 18px;
    border: 0;
    border-radius: 16px;
    background: var(--lsm-booking-field-bg, #2b2d30);
    color: var(--lsm-progressive-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
}

.lsm-progressive-summary__trip-card:hover,
.lsm-progressive-summary__trip-card:focus-visible {
    background: #383b3f;
}

.lsm-progressive-summary__trip-card:focus-visible {
    outline: 2px solid var(--lsm-progressive-gold);
    outline-offset: 3px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-progressive-summary__vehicle-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-radius: 16px;
    background: var(--lsm-booking-field-bg, #2b2d30);
    color: #ffffff;
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
}

.lsm-progressive-summary__vehicle-card:hover,
.lsm-progressive-summary__vehicle-card:focus-visible {
    background: #383b3f;
}

.lsm-progressive-summary__vehicle-card:focus-visible {
    outline: 2px solid var(--lsm-progressive-gold);
    outline-offset: 3px;
}

/* Completed contact and review steps use the same editable-card interaction
   as the trip and vehicle summaries. */
.lsm-progressive-summary__contact-card,
.lsm-progressive-summary__review-card {
    display: block;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-radius: 16px;
    background: var(--lsm-booking-field-bg, #2b2d30);
    color: #ffffff;
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
}

.lsm-progressive-summary__contact-card:hover,
.lsm-progressive-summary__contact-card:focus-visible,
.lsm-progressive-summary__review-card:hover,
.lsm-progressive-summary__review-card:focus-visible {
    background: #383b3f;
}

.lsm-progressive-summary__contact-card:focus-visible,
.lsm-progressive-summary__review-card:focus-visible {
    outline: 2px solid var(--lsm-progressive-gold);
    outline-offset: 3px;
}

.lsm-progressive-summary__contact-card .lsm-progressive-summary__grid {
    margin-top: 0;
}

.lsm-progressive-summary__vehicle-image {
    display: grid;
    width: 112px;
    height: 68px;
    place-items: center;
    overflow: hidden;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
}

.lsm-progressive-summary__vehicle-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lsm-progressive-summary__vehicle-details,
.lsm-progressive-summary__vehicle-price {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.lsm-progressive-summary__vehicle-details > strong,
.lsm-progressive-summary__vehicle-price > strong {
    color: #ffffff;
    font-size: 15px;
    line-height: 1.35;
}

.lsm-progressive-summary__vehicle-details > span,
.lsm-progressive-summary__vehicle-price > span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    line-height: 1.35;
}

.lsm-progressive-summary__vehicle-price {
    min-width: 110px;
    text-align: right;
}

.lsm-progressive-summary__vehicle-price > strong {
    color: var(--lsm-progressive-gold-soft);
    font-size: 20px;
}

/* Once a vehicle is chosen, the summary card is the only visible Step 2
   content. The completed section header is replaced by the card itself. */
.lsm-progressive-booking .chbs-main-content-step-2[data-lsm-state="complete"] > .lsm-progressive-section__header {
    display: none;
}

.lsm-progressive-booking .chbs-main-content-step-2[data-lsm-state="complete"] > .lsm-progressive-section__summary {
    padding: 8px 12px 10px;
}

.lsm-progressive-summary__route {
    display: flex;
    align-items: stretch;
    gap: 12px;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.lsm-progressive-summary__route-markers {
    display: flex;
    flex: 0 0 10px;
    flex-direction: column;
    align-items: center;
    padding: 4px 0;
}

.lsm-progressive-summary__route-dot {
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border: 2px solid var(--lsm-progressive-gold);
    border-radius: 50%;
    background: #fff;
    box-sizing: border-box;
}

.lsm-progressive-summary__route-dot--end {
    background: var(--lsm-progressive-gold);
}

.lsm-progressive-summary__route-line {
    flex: 1 1 auto;
    width: 1px;
    min-height: 10px;
    background: rgba(145, 103, 44, 0.45);
}

.lsm-progressive-summary__route-locations {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
}

.lsm-progressive-summary__route strong {
    color: var(--lsm-progressive-ink);
    font-size: 14px;
    line-height: 1.4;
}

.lsm-progressive-summary__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.lsm-progressive-summary__item {
    min-width: 0;
}

.lsm-progressive-summary__label {
    display: block;
    margin-bottom: 3px;
    color: #8b8b8b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.lsm-progressive-summary__item strong {
    display: block;
    overflow: hidden;
    color: var(--lsm-progressive-ink);
    font-size: 13px;
    line-height: 1.4;
    text-overflow: ellipsis;
}

.lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-50x50,
.lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-100,
.lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-25x75,
.lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-33x33x33 {
    width: auto !important;
    margin: 0 !important;
    padding: 26px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-sizing: border-box !important;
}

.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-50x50 {
    display: block !important;
}

.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-50x50 > .chbs-layout-column-left,
.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-100 > .chbs-layout-column-left {
    float: none !important;
    width: 100% !important;
}

.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-50x50 > .chbs-layout-column-right,
.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-100 > .chbs-layout-column-right {
    display: none !important;
    float: none !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
}

.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-50x50.lsm-route-map-open > .chbs-layout-column-right,
.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-100.lsm-route-map-open > .chbs-layout-column-right {
    display: block !important;
}

.lsm-route-map-toggle {
    display: flex !important;
    align-items: center;
    gap: 11px;
    width: 100%;
    margin: 16px 0 0;
    padding: 13px 15px;
    border: 1px solid var(--lsm-progressive-line);
    border-radius: 12px;
    background: var(--lsm-progressive-soft);
    color: var(--lsm-progressive-ink);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
}

.lsm-route-map-toggle[hidden],
.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-50x50 > .chbs-layout-column-right[hidden],
.lsm-progressive-booking .chbs-main-content-step-1 > .chbs-layout-100 > .chbs-layout-column-right[hidden] {
    display: none !important;
}

.lsm-route-map-toggle:hover,
.lsm-route-map-toggle:focus-visible {
    border-color: rgba(145, 103, 44, 0.55);
    outline: none;
}

.lsm-route-map-toggle__icon {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background:
        linear-gradient(135deg, transparent 43%, rgba(145, 103, 44, 0.55) 44%, rgba(145, 103, 44, 0.55) 53%, transparent 54%),
        #ece7de;
}

.lsm-route-map-toggle__icon::before,
.lsm-route-map-toggle__icon::after {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border: 2px solid var(--lsm-progressive-gold);
    border-radius: 50%;
    background: #fff;
}

.lsm-route-map-toggle__icon::before {
    top: 3px;
    left: 3px;
}

.lsm-route-map-toggle__icon::after {
    right: 3px;
    bottom: 3px;
    background: var(--lsm-progressive-gold);
}

.lsm-route-map-toggle__label {
    flex: 1;
}

.lsm-route-map-toggle__chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--lsm-progressive-gold);
    border-bottom: 2px solid var(--lsm-progressive-gold);
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.18s ease;
}

.lsm-route-map-toggle[aria-expanded="true"] .lsm-route-map-toggle__chevron {
    transform: rotate(225deg) translate(-1px, -1px);
}

.lsm-progressive-booking .lsm-route-map-open .chbs-google-map {
    height: min(460px, 58vh) !important;
    min-height: 320px !important;
    border: 1px solid var(--lsm-progressive-line) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

.lsm-progressive-booking .lsm-route-map-open #chbs_google_map {
    height: 100% !important;
    min-height: 320px !important;
    /* Do not filter the full Google Map canvas: CHBS draws the route as a
       blue polyline, and a grayscale filter makes it blend into the roads. */
    filter: none !important;
}

.lsm-progressive-booking .lsm-route-map-open .chbs-ride-info {
    margin-top: 10px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.lsm-progressive-estimate {
    flex-wrap: wrap;
    border: 1px solid rgba(145, 103, 44, 0.25);
}

.lsm-progressive-estimate > span {
    color: var(--lsm-progressive-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lsm-progressive-estimate > div {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.lsm-progressive-estimate strong {
    font-size: 22px;
}

.lsm-progressive-estimate small {
}

.lsm-progressive-estimate p {
    flex-basis: 100%;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.lsm-progressive-booking .chbs-main-content-navigation-button {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 26px 26px !important;
}

.lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button {
    min-height: 50px !important;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
}

.lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button-step-prev {
    background: transparent !important;
    border: 1px solid rgba(145, 103, 44, 0.45) !important;
}

.lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button-step-next {
    min-width: 210px;
    color: #fff !important;
    border: 1px solid var(--lsm-progressive-gold) !important;
}

.lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button-step-next:hover,
.lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button-step-next:focus {
    background: #242424 !important;
    border-color: #242424 !important;
}

.lsm-progressive-booking .chbs-main-content-step-2 > .chbs-layout-25x75 > .chbs-layout-column-left,
.lsm-progressive-booking .chbs-main-content-step-3 > .chbs-layout-25x75 > .chbs-layout-column-left {
    display: none !important;
}

.lsm-progressive-booking .chbs-main-content-step-4 .chbs-google-map-summary {
    display: none !important;
}

.lsm-progressive-booking .chbs-main-content-step-2 > .chbs-layout-25x75 > .chbs-layout-column-right,
.lsm-progressive-booking .chbs-main-content-step-3 > .chbs-layout-25x75 > .chbs-layout-column-right {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    body.lsm-progressive-booking-page {
        overflow-x: hidden !important;
    }

    /* Step 2 only needs the forward action on mobile. */
    .lsm-progressive-booking .chbs-main-content-step-2 .chbs-main-content-navigation-button .chbs-button-step-prev {
        display: none !important;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking #panel-1 > .chbs-form-label-group,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking #panel-2 > .chbs-form-label-group {
        color: var(--lsm-progressive-muted) !important;
        -webkit-text-fill-color: var(--lsm-progressive-muted) !important;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field input::placeholder,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field textarea::placeholder {
        color: #99958e !important;
        -webkit-text-fill-color: #99958e !important;
    }

    body.page-booking .lsm-progressive-booking,
    body.page .lsm-progressive-booking {
        margin: 24px auto 48px !important;
    }

    .lsm-progressive-booking__intro {
        margin-bottom: 22px;
        padding: 0 16px;
    }

    .lsm-progressive-booking__intro h1 {
        max-width: 100%;
        font-size: 28px !important;
        overflow-wrap: anywhere;
        text-wrap: balance;
    }

    .lsm-progressive-booking__lead {
        margin: 10px auto 24px !important;
        font-size: 14px !important;
    }

    .lsm-progressive-booking__progress button {
        min-width: 0;
        font-size: 10px;
    }

    .lsm-progressive-booking__progress-dot {
        width: 30px;
        height: 30px;
    }

    .lsm-progressive-booking__progress > li::before,
    .lsm-progressive-booking__progress > li::after {
        top: 15px;
    }

    .lsm-progressive-booking .chbs-main-content {
        gap: 12px !important;
        padding: 0 10px !important;
    }

    .lsm-progressive-booking .lsm-progressive-section {
        border-radius: 18px !important;
    }

    .lsm-progressive-summary__trip-card {
        border-radius: 18px;
    }

    .lsm-progressive-section__header {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 11px;
        min-height: 78px;
        padding: 16px;
    }

    .lsm-progressive-section__number {
        width: 32px;
        height: 32px;
    }

    .lsm-progressive-section__heading h2 {
        font-size: 17px !important;
    }

    .lsm-progressive-section__heading p,
    .lsm-progressive-section__status {
        display: none;
    }

    .lsm-progressive-section__edit {
        padding: 7px 0 7px 8px;
    }

    .lsm-progressive-section__summary {
        padding: 0 16px 18px;
    }

    .lsm-progressive-summary__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-50x50,
    .lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-100,
    .lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-25x75,
    .lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-33x33x33 {
        padding: 18px 14px !important;
    }

    .lsm-progressive-estimate {
        margin: 0 14px 18px;
    }

    body.page.page .chbs-main-content-navigation-button {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-top: 16px !important;
        padding: 0 0 20px !important;
    }

    body.page.page .chbs-main-content-step-1 .chbs-main-content-navigation-button {
        justify-content: flex-end !important;
    }

    .lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button {
        width: auto !important;
        min-width: min-content !important;
        margin: 0 !important;
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .lsm-progressive-booking .lsm-route-map-open .chbs-google-map,
    .lsm-progressive-booking .lsm-route-map-open #chbs_google_map {
        min-height: 390px !important;
        height: 56vh !important;
    }
}

.lsm-progressive-booking .lsm-promotion-price-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 8px 0;
    padding: 10px 12px;
    border: 1px solid #b99962;
    border-radius: 8px;
    background: #f7f0e4;
    color: #674c24;
}
.lsm-progressive-booking .lsm-promotion-original-total > span:last-child { text-decoration: line-through; opacity: .68; }
@media (max-width: 480px) { .lsm-progressive-booking .lsm-promotion-price-line { flex-direction: column; } }

/* Extra notes are not a customer-facing selection control; leaving them visible
   created empty white boxes beneath every extra option. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-extra-list .chbs-booking-form-extra-note {
    display: none !important;
}

/* The date/time row and passenger row are two parts of one trip-details card. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking #panel-1 .chbs-form-field-pickup-date-time,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking #panel-2 .chbs-form-field-pickup-date-time {
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-top: 0;
    border-radius: 0 0 16px 16px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger > .chbs-form-field {
    float: none;
    min-height: 76px;
    padding: 0;
    border: 0;
    border-radius: 0;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger .chbs-form-field-label {
    display: block;
    margin: 0;
    padding: 8px 8px 2px;
    background: transparent;
    color: rgba(255, 255, 255, 0.66);
    -webkit-text-fill-color: rgba(255, 255, 255, 0.66);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-align: center;
    text-transform: uppercase;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger input[type="text"],
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger .ui-selectmenu-button {
    flex: 0 0 48px;
    width: 48px;
    min-width: 48px;
    min-height: 32px;
    margin: 0 auto;
    padding: 4px 8px;
    border: 0;
    border-radius: 0;
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger > .chbs-form-field {
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto 2px auto minmax(0, 1fr);
        align-items: center;
        width: 100%;
        height: 76px;
        min-width: 0;
        padding: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.22);
        border-right: 0;
        border-left: 0;
        text-align: center;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger .chbs-form-field-label {
        grid-row: 2;
        padding: 0;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger input[type="text"],
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger .ui-selectmenu-button {
        grid-row: 4;
        align-self: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lsm-progressive-booking *,
    .lsm-progressive-booking *::before,
    .lsm-progressive-booking *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Booking is the expanded state of the homepage estimate: carry the same
   airport hero image and glass language into the complete booking flow. */
body.page.page.lsm-progressive-booking-page {
    --lsm-progressive-ink: #ffffff;
    --lsm-progressive-muted: rgba(255, 255, 255, 0.72);
    --lsm-progressive-line: rgba(255, 255, 255, 0.22);
    --lsm-progressive-surface: var(--lsm-booking-field-bg);
    --lsm-progressive-soft: rgba(255, 255, 255, 0.08);
    --lsm-booking-mobile-shell-bg: var(--lsm-booking-shell-bg);
    --lsm-booking-mobile-panel-bg: transparent;
    --lsm-booking-mobile-field-bg: var(--lsm-booking-field-bg);
    --lsm-booking-mobile-field-border: var(--lsm-booking-field-border);
    --lsm-booking-mobile-accent: #a7772e;
    --lsm-booking-mobile-accent-strong: #a7772e;
    --lsm-booking-mobile-copy: #ffffff;
    --lsm-booking-mobile-copy-soft: rgba(255, 255, 255, 0.72);
    background: #151515 !important;
}

body.page.page.lsm-progressive-booking-page .theme-page-content,
body.page.page.lsm-progressive-booking-page .theme-page-content .theme-main,
body.page.page.lsm-progressive-booking-page .lsm-site-content,
body.page.page.lsm-progressive-booking-page .lsm-site-main {
    min-height: 100vh;
    background-color: #151515 !important;
    background-image: url("https://limostar.com.au/wp-content/uploads/2025/11/Airport-Pickup-Curbside-3.webp") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-attachment: fixed !important;
}

body.page.page.lsm-progressive-booking-page .theme-page-content .theme-main,
body.page.page.lsm-progressive-booking-page .lsm-site-main {
    background: transparent !important;
}

/* The shared theme keeps booking content contained while the visual backdrop
   belongs to the full-width main shell. */
body.page.page.lsm-progressive-booking-page .lsm-site-content {
    background-color: transparent !important;
    background-image: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-site-main {
    background-color: #151515 !important;
    background-image: url("https://limostar.com.au/wp-content/uploads/2025/11/Airport-Pickup-Curbside-3.webp") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-attachment: fixed !important;
}

body.page-booking .lsm-progressive-booking,
body.page .lsm-progressive-booking {
    color: #ffffff !important;
}

.lsm-progressive-booking__intro {
    margin-bottom: 22px;
}

.lsm-progressive-booking__eyebrow {
    display: none !important;
}

.lsm-progressive-booking__intro h1 {
    color: #ffffff !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.34);
}

.lsm-progressive-booking__lead {
    color: rgba(255, 255, 255, 0.78) !important;
}

.lsm-progressive-booking .lsm-progressive-section,
.lsm-progressive-booking .lsm-progressive-section[data-lsm-state="locked"] {
    border-color: rgba(255, 255, 255, 0.26) !important;
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.24) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.15) !important;
    backdrop-filter: blur(22px) saturate(1.15) !important;
}

.lsm-progressive-booking .lsm-progressive-section[data-lsm-state="active"] {
    border-color: rgba(242, 202, 117, 0.52) !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.38) !important;
}

.lsm-progressive-section[data-lsm-state="active"] > .lsm-progressive-section__header,
.lsm-progressive-booking .lsm-route-map-open .chbs-google-map {
    border-color: rgba(255, 255, 255, 0.18) !important;
}

.lsm-progressive-section__heading h2,
.lsm-progressive-summary__route strong,
.lsm-progressive-summary__item strong {
    color: #ffffff !important;
}

.lsm-progressive-section__heading p,
.lsm-progressive-summary__label {
    color: rgba(255, 255, 255, 0.67) !important;
}

.lsm-progressive-section__number {
    border-color: rgba(255, 255, 255, 0.30) !important;
    background: rgba(255, 255, 255, 0.10) !important;
    color: #ffffff !important;
}

.lsm-progressive-booking .lsm-route-map-toggle {
    border-color: rgba(255, 255, 255, 0.16) !important;
    background: rgba(0, 0, 0, 0.20) !important;
    color: #ffffff !important;
}

.lsm-progressive-booking .chbs-form-field input,
.lsm-progressive-booking .chbs-form-field textarea,
.lsm-progressive-booking .chbs-form-field select,
.lsm-progressive-booking .ui-selectmenu-button {
    border-color: rgba(255, 255, 255, 0.24) !important;
    background: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.lsm-progressive-booking .chbs-form-label-group,
.lsm-progressive-booking .chbs-form-field label,
.lsm-progressive-booking .ui-selectmenu-text,
.lsm-progressive-booking .chbs-form-field input::placeholder,
.lsm-progressive-booking .chbs-form-field textarea::placeholder {
    color: rgba(255, 255, 255, 0.68) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
}

.lsm-progressive-estimate {
    display: grid !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 8px 18px;
    margin: 2px 26px 24px;
    padding: 20px 22px;
    border-color: rgba(242, 202, 117, 0.44) !important;
    border-radius: 16px;
    background: rgba(12, 13, 16, 0.48) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
    -webkit-backdrop-filter: blur(16px) saturate(1.12);
    backdrop-filter: blur(16px) saturate(1.12);
}

.lsm-progressive-estimate > span {
    color: #f2ca75 !important;
}

.lsm-progressive-estimate strong {
    color: #ffffff !important;
    font-size: 28px;
}

.lsm-progressive-estimate small,
.lsm-progressive-estimate p {
    color: rgba(255, 255, 255, 0.72) !important;
}

.lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button-step-prev {
    border-color: rgba(255, 255, 255, 0.36) !important;
    color: #ffffff !important;
}

.lsm-progressive-booking .chbs-main-content-navigation-button .chbs-button-step-next {
    background: #a7772e !important;
    border-color: rgba(242, 202, 117, 0.36) !important;
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .theme-page-content,
    body.page.page.lsm-progressive-booking-page .theme-page-content .theme-main,
    body.page.page.lsm-progressive-booking-page .lsm-site-content,
    body.page.page.lsm-progressive-booking-page .lsm-site-main {
        background-position: 58% center !important;
        background-attachment: scroll !important;
    }

    .lsm-progressive-booking .lsm-progressive-section,
    .lsm-progressive-booking .lsm-progressive-section[data-lsm-state="locked"] {
        -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
        backdrop-filter: blur(18px) saturate(1.12) !important;
    }

    .lsm-progressive-estimate {
        grid-template-columns: 1fr;
        margin: 2px 14px 18px;
        padding: 18px;
    }

}

/* Desktop passenger controls retain the same three-column card layout. */
@media (min-width: 769px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger {
        min-height: 0;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger > .chbs-form-field {
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto 2px auto minmax(0, 1fr);
        align-items: center;
        width: 100%;
        height: 76px;
        min-height: 76px;
        padding: 0 18px;
        border: 0;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger > .chbs-form-field + .chbs-form-field {
        border-left: 1px solid rgba(255, 255, 255, 0.17);
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger .chbs-form-field-label {
        display: block;
        grid-row: 2;
        margin: 0;
        padding: 0;
        color: rgba(255, 255, 255, 0.76);
        font-size: 11px;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger .chbs-tooltip {
        display: none;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger input[type="text"],
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger .ui-selectmenu-button {
        grid-row: 4;
        align-self: center;
        width: 48px;
        min-width: 48px;
        min-height: 38px;
        margin: 0 auto;
        padding: 7px 10px;
        text-align: center;
        font-size: 16px;
    }

    .lsm-progressive-booking .lsm-mobile-price-card {
        display: block !important;
        width: auto !important;
        margin: 20px 26px 0 !important;
        padding: 18px !important;
        border: 1px solid rgba(255, 255, 255, 0.26) !important;
        border-radius: 18px !important;
        color: #ffffff !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .lsm-progressive-booking .lsm-mobile-price-card > div {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 18px !important;
        color: #ffffff !important;
    }

    .lsm-progressive-booking .lsm-mobile-price-card > div > span:last-child {
        flex: 0 0 auto !important;
        text-align: right !important;
        font-weight: 700 !important;
    }

    .lsm-progressive-booking .lsm-mobile-price-card > div.chbs-summary-price-element-total {
        margin-top: 14px !important;
        padding-top: 14px !important;
        border-top: 1px solid rgba(242, 202, 117, 0.54) !important;
    }

    .lsm-progressive-booking .lsm-mobile-price-card > div.chbs-summary-price-element-total > span {
        color: #ffffff !important;
        font-size: 22px !important;
        font-weight: 800 !important;
    }
}

/* Vehicle cards: neutral text and an outlined secondary Select action. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content > div.chbs-vehicle-content-header > span,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content > div.chbs-vehicle-content-header > span * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-header > .chbs-button:not(.chbs-state-selected),
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-header > .chbs-button:not(.chbs-state-selected):hover,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-header > .chbs-button:not(.chbs-state-selected):focus {
    background: rgba(16, 18, 21, 0.82) !important;
    border: 1px solid #a7772e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
}

/* Keep the vehicle name above its price while aligning Select with the
   amount. The action gets its own right-side track and a small breathing
   space before the vehicle card boundary. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "vehicle-name vehicle-select"
        "vehicle-price vehicle-select"
        "vehicle-description vehicle-description"
        "vehicle-meta vehicle-meta";
    align-items: center;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-header {
    display: contents;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-header > span {
    grid-area: vehicle-name;
    position: relative;
    top: 12px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-header > .chbs-button {
    grid-area: vehicle-select;
    align-self: end;
    margin-right: 14px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-price {
    grid-area: vehicle-price;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-description {
    grid-area: vehicle-description;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-meta {
    grid-area: vehicle-meta;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle .chbs-vehicle-content-meta > div {
    margin-top: 12px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-vehicle-capacity {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-vehicle-capacity__item {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.74);
    font-size: 12px;
    line-height: 1;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-vehicle-capacity__item strong {
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-mobile-price-card > div.chbs-summary-price-element-total > span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Extra options keep the same high-contrast vehicle treatment. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-extra-header > span:first-child + span,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-form-extra-name {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-form-extra-description {
    color: rgba(255, 255, 255, 0.74) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.74) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-extra-list .chbs-button:not(.chbs-state-selected),
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-extra-list .chbs-button:not(.chbs-state-selected):hover,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-extra-list .chbs-button:not(.chbs-state-selected):focus {
    background: rgba(16, 18, 21, 0.82) !important;
    border: 1px solid #a7772e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
}

/* A vehicle with no available extras must not leave an empty header/icon. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-extra:not(:has(.chbs-booking-extra-list > ul > li:not([hidden]):not(.chbs-hidden):not(.chbs-hidden-by-category):not(.lsm-extra-condition-hidden))) {
    display: none !important;
}

/* Contact Details: remove the native white form shell and use glass fields. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-client-form-sign-up,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-box-shadow,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-clear-fix {
    background: transparent !important;
    box-shadow: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form > .chbs-form-label-group,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-client-form-sign-up > .chbs-form-label-group,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-box-shadow > .chbs-form-label-group,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-clear-fix > .chbs-form-label-group {
    padding: 0 0 14px !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.78) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.78) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-form-field {
    border-color: rgba(255, 255, 255, 0.24) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-form-field-label,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .chbs-form-field label {
    color: rgba(255, 255, 255, 0.72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form input,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form textarea,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .iti {
    background: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form input::placeholder,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form textarea::placeholder,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .iti__selected-dial-code,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-client-form .iti__arrow {
    color: rgba(255, 255, 255, 0.74) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.74) !important;
}

/* Step 3 is a compact contact card rather than another process panel.  The
   fields share one surface and use the same quiet dividers as the trip card. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step {
    padding-top: 20px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-box-shadow {
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 18px !important;
    background: var(--lsm-booking-field-bg) !important;
    overflow: hidden !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix {
    display: flex !important;
    margin: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.20) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix:first-child {
    border-top: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-label-group {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field {
    position: relative !important;
    flex: 1 1 50% !important;
    min-height: 78px !important;
    margin: 0 !important;
    padding: 15px 20px 12px !important;
    border: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, 0.20) !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field > label,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field > .chbs-form-field-label {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 20px;
    width: 18px;
    height: 18px;
    background: #f2ca75;
    transform: translateY(-50%);
    pointer-events: none;
    -webkit-mask: center / contain no-repeat;
    mask: center / contain no-repeat;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-full-name-field::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.04 0-9 2.46-9 5.5V22h18v-2.5C21 16.46 17.04 14 12 14Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.04 0-9 2.46-9 5.5V22h18v-2.5C21 16.46 17.04 14 12 14Z'/%3E%3C/svg%3E");
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-email-field::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 5h20v14H2V5Zm2 2v.45l8 5.33 8-5.33V7l-8 5.33L4 7Zm16 10V9.85l-8 5.33-8-5.33V17h16Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 5h20v14H2V5Zm2 2v.45l8 5.33 8-5.33V7l-8 5.33L4 7Zm16 10V9.85l-8 5.33-8-5.33V17h16Z'/%3E%3C/svg%3E");
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-form-field:has(input[name="chbs_client_contact_detail_phone_number_placeholder"])::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 3v13h10V5H7Zm5 14.2a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 3v13h10V5H7Zm5 14.2a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z'/%3E%3C/svg%3E");
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-form-field:has(textarea[name="chbs_comment"])::before {
    top: 27px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H9l-5 4v-4.35A3 3 0 0 1 1 15V6a3 3 0 0 1 3-3Zm0 2a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h2v1.82L8.3 16H20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H4Zm4 4h2v2H8V9Zm3 0h2v2h-2V9Zm3 0h2v2h-2V9Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H9l-5 4v-4.35A3 3 0 0 1 1 15V6a3 3 0 0 1 3-3Zm0 2a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h2v1.82L8.3 16H20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H4Zm4 4h2v2H8V9Zm3 0h2v2h-2V9Zm3 0h2v2h-2V9Z'/%3E%3C/svg%3E");
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form input,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form textarea {
    padding-left: 32px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field:first-child {
    border-left: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix:first-child .lsm-full-name-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field:has(textarea[name="chbs_comment"]) {
    flex-basis: 100% !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form textarea[name="chbs_comment"] {
    min-height: 104px !important;
}

/* Keep the first two contact rows on the Step 1 rhythm. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix:nth-of-type(-n+2) .chbs-form-field {
    height: 56px !important;
    min-height: 56px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Icons sit on the input baseline and use real transparent silhouettes. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field::before {
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-full-name-field::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.04 0-9 2.46-9 5.5V22h18v-2.5C21 16.46 17.04 14 12 14Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5.04 0-9 2.46-9 5.5V22h18v-2.5C21 16.46 17.04 14 12 14Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-email-field::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 5h20v14H2V5Zm2 2v.45l8 5.33 8-5.33V7l-8 5.33L4 7Zm16 10V9.85l-8 5.33-8-5.33V17h16Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M2 5h20v14H2V5Zm2 2v.45l8 5.33 8-5.33V7l-8 5.33L4 7Zm16 10V9.85l-8 5.33-8-5.33V17h16Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-form-field:has(input[name="chbs_client_contact_detail_phone_number_placeholder"])::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 3v13h10V5H7Zm5 14.2a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 3v13h10V5H7Zm5 14.2a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-form-field:has(textarea[name="chbs_comment"])::before {
    top: 20px;
    bottom: auto;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H9l-5 4v-4.35A3 3 0 0 1 1 15V6a3 3 0 0 1 3-3Zm0 2a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h2v1.82L8.3 16H20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H4Zm4 4h2v2H8V9Zm3 0h2v2h-2V9Zm3 0h2v2h-2V9Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H9l-5 4v-4.35A3 3 0 0 1 1 15V6a3 3 0 0 1 3-3Zm0 2a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h2v1.82L8.3 16H20a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H4Zm4 4h2v2H8V9Zm3 0h2v2h-2V9Zm3 0h2v2h-2V9Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* The international-phone library owns the flag and variable-length dial code.
   Give it a dedicated track so its number input starts after that track. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .iti.iti--allow-dropdown {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 56px !important;
    margin: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .iti--separate-dial-code .iti__flag-container {
    left: 52px !important;
    top: 0 !important;
    height: 56px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .iti__country-list {
    z-index: 1200 !important;
    max-height: 260px !important;
    border-color: rgba(242, 202, 117, 0.48) !important;
    background: #292b2e !important;
    color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .iti__country-name,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .iti__dial-code {
    color: #ffffff !important;
}

/* Single-line controls are genuinely centred within their 56px rows. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix:nth-of-type(-n+2) .chbs-form-field {
    display: flex !important;
    align-items: center !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix:nth-of-type(-n+2) input {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    float: none !important;
    align-self: center !important;
    height: 24px !important;
    margin: 0 !important;
    line-height: 24px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix:nth-of-type(-n+2) > .chbs-form-field > input {
    flex: 1 1 auto !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .iti.iti--allow-dropdown > input {
    align-self: center !important;
    position: static !important;
    float: none !important;
}

/* Use transparent SVG artwork instead of CSS masks. This cannot fall back to
   a solid square and keeps the icon language close to the supplied examples. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field::before {
    top: 50% !important;
    bottom: auto !important;
    width: 22px !important;
    height: 22px !important;
    background-color: transparent !important;
    transform: translateY(-50%) !important;
    -webkit-mask: none !important;
    mask: none !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-full-name-field::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10.25' fill='none' stroke='%23f2ca75' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='8.1' r='3.15' fill='%23f2ca75'/%3E%3Cpath d='M5.9 18.2c.9-3.15 3.1-4.8 6.1-4.8s5.2 1.65 6.1 4.8' fill='%23f2ca75'/%3E%3C/svg%3E") !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-email-field::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.6' y='5.2' width='18.8' height='13.6' rx='1.4' fill='none' stroke='%23f2ca75' stroke-width='1.8'/%3E%3Cpath d='m3.8 6.6 8.2 6.1 8.2-6.1' fill='none' stroke='%23f2ca75' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-form-field:has(input[name="chbs_client_contact_detail_phone_number_placeholder"])::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6.3' y='2.4' width='11.4' height='19.2' rx='1.7' fill='none' stroke='%23f2ca75' stroke-width='1.8'/%3E%3Cpath d='M9.1 5.1h5.8M10.6 18.7h2.8' fill='none' stroke='%23f2ca75' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-form-field:has(textarea[name="chbs_comment"])::before {
    top: 20px !important;
    transform: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.1 4.2h17.8v12.1H10.2L5.1 20v-3.7h-2Z' fill='none' stroke='%23f2ca75' stroke-width='1.8' stroke-linejoin='round'/%3E%3Ccircle cx='8.2' cy='10.2' r='1.1' fill='%23f2ca75'/%3E%3Ccircle cx='12' cy='10.2' r='1.1' fill='%23f2ca75'/%3E%3Ccircle cx='15.8' cy='10.2' r='1.1' fill='%23f2ca75'/%3E%3C/svg%3E") !important;
}

/* Semantic field selectors intentionally come last. CHBS injects inline
   presentation values, so each single-line field owns an explicit flex row. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-full-name-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-email-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-phone-field {
    display: flex !important;
    align-items: center !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-full-name-field > input,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-email-field > input,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-phone-field .iti > input {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    align-self: center !important;
    float: none !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 24px !important;
    box-sizing: border-box !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .lsm-phone-field .iti {
    display: flex !important;
    align-items: center !important;
    align-self: stretch !important;
    height: 56px !important;
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step {
        padding-top: 12px !important;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix {
        display: block !important;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-form-field {
        width: 100% !important;
        height: 56px !important;
        min-height: 56px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.20) !important;
        border-left: 0 !important;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3.lsm-minimal-contact-step .chbs-client-form .chbs-clear-fix:first-child .lsm-full-name-field {
        border-top: 0 !important;
    }
}

/* Never expose the final-step navigation before the Review step is active. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-progressive-section[data-lsm-state="locked"] > .chbs-main-content-navigation-button {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 > .chbs-main-content-navigation-button .chbs-button-step-prev {
    display: none !important;
}

/* Step 3 is a forward-only contact handoff; do not show the vehicle return
   action inside this panel. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 > .chbs-main-content-navigation-button .chbs-button-step-prev,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 .chbs-button-step-prev {
    display: none !important;
}

/* Secondary actions use the LIMOSTAR dark button, not the native white outline. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-button-step-prev,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-button.chbs-button-style-2,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-route-map-toggle {
    border-color: #a7772e !important;
    background: rgba(16, 18, 21, 0.86) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Selection is the positive gold state; unselected choices stay dark outlined. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-button.chbs-state-selected,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-button.chbs-state-selected:hover,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-button.chbs-state-selected:focus {
    border-color: #a7772e !important;
    background: #a7772e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Step-one service selector: one self-contained two-position switch. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav {
    display: flex;
    width: min(100%, 560px);
    margin: 24px auto 28px;
    padding: 1px;
    border: 0;
    border-radius: 999px;
    background: #191919;
    box-shadow: none;
    box-sizing: border-box;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav > li {
    flex: 1 1 50%;
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li > a,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.025em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    transition: background-color 0.2s ease, color 0.2s ease;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li.ui-tabs-active > a,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li.ui-state-active > a,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav > li.ui-tabs-active > a {
    background: #91672c;
    color: #ffffff;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li:not(.ui-tabs-active):not(.ui-state-active) > a:hover,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li:not(.ui-tabs-active):not(.ui-state-active) > a:focus-visible {
    background: rgba(255, 255, 255, 0.12);
}

/* Step-one inputs use the same label-free, compact treatment as the homepage quote form. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .lsm-minimal-trip-field {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 56px;
    height: auto;
    padding: 0;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .lsm-minimal-trip-field input[type="text"],
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .lsm-minimal-trip-field .ui-selectmenu-button {
    width: 100%;
    min-height: 56px;
    height: auto;
    padding: 0 20px 0 48px;
    border: 0;
    background: transparent;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    line-height: 56px;
}

/* Address rows use the same 56px rhythm but remain content-led, not fixed-height. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field-pickup-location.lsm-minimal-trip-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field-dropoff-location.lsm-minimal-trip-field {
    min-height: 56px;
    height: auto;
}

/* A 24px line-height leaves roughly 8px of breathing room between 16px address lines. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field-pickup-location.lsm-minimal-trip-field input[type="text"],
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field-dropoff-location.lsm-minimal-trip-field input[type="text"] {
    padding-top: 16px;
    padding-bottom: 16px;
    line-height: 1.5;
}

/* Reuse the homepage form's pickup, drop-off, calendar and clock icons. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-minimal-trip-field > .chbs-meta-icon-2 {
    display: none;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-pickup-location.lsm-minimal-trip-field::after,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-dropoff-location.lsm-minimal-trip-field::after,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-pickup-date-time > .lsm-minimal-trip-field::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 14px;
    z-index: 2;
    width: 17px;
    height: 17px;
    background: #f2ca75;
    transform: translateY(-50%);
    pointer-events: none;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-pickup-location.lsm-minimal-trip-field::after {
    width: 10px;
    height: 10px;
    margin-left: 3px;
    border: 2px solid #f2ca75;
    border-radius: 50%;
    background: transparent;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-dropoff-location.lsm-minimal-trip-field::after {
    width: 20px;
    height: 20px;
    left: 12px;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f2ca75' fill-rule='evenodd' d='M12 2a6.5 6.5 0 0 0-6.5 6.5c0 4.88 6.5 11.5 6.5 11.5s6.5-6.62 6.5-11.5A6.5 6.5 0 0 0 12 2Zm0 3.1a3.4 3.4 0 1 1 0 6.8 3.4 3.4 0 0 1 0-6.8Z'/%3E%3Cpath fill='none' stroke='%23f2ca75' stroke-linecap='round' stroke-width='1.55' d='M4.2 20.5c1.55-1.38 4.33-2.1 7.8-2.1s6.25.72 7.8 2.1'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-pickup-date-time > .lsm-minimal-trip-field:first-child::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3V2Zm13 8H4v10h16V10ZM4 8h16V6h-3v2h-2V6H9v2H7V6H4v2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v2h6V2h2v2h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h3V2Zm13 8H4v10h16V10ZM4 8h16V6h-3v2h-2V6H9v2H7V6H4v2Z'/%3E%3C/svg%3E");
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-pickup-date-time > .lsm-minimal-trip-field:last-child::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm1 3v4.59l3.2 3.2-1.4 1.42L11 12.41V7h2Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm1 3v4.59l3.2 3.2-1.4 1.42L11 12.41V7h2Z'/%3E%3C/svg%3E");
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .lsm-minimal-trip-field input::placeholder {
    color: rgba(255, 255, 255, 0.72);
}

@media (min-width: 769px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav {
        margin: 24px auto 28px;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav > li {
        display: block;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li > a,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav > li > a {
        box-sizing: border-box;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-panel {
        border-top-width: 0 !important;
    }
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav {
        margin: 18px auto 22px;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul > li > a,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab.ui-tabs .ui-tabs-nav > li > a {
        min-height: 48px;
        padding: 0 14px;
        font-size: 13px;
    }
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab::after,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-tab > ul::after,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .ui-tabs-nav::after {
    display: none !important;
    content: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field {
    border-color: rgba(255, 255, 255, 0.24) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field input,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-1 .chbs-form-field .ui-selectmenu-button {
    border-color: transparent !important;
    background: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-extra-direct-quantity .chbs-quantity-section-button {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-extra-direct-quantity .chbs-quantity-section {
    width: 100% !important;
    padding: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-extra-direct-quantity input[name*="_quantity"] {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 12px !important;
    background: var(--lsm-booking-field-bg) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element-total,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element-total > span {
    border-top-color: rgba(242, 202, 117, 0.82) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__submit-copy {
    font-size: 15px !important;
    line-height: 1.5 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-section__number,
body.page.page.lsm-progressive-booking-page .lsm-progressive-section[data-lsm-state="active"] > .lsm-progressive-section__header .lsm-progressive-section__number,
body.page.page.lsm-progressive-booking-page .lsm-progressive-section[data-lsm-state="complete"] > .lsm-progressive-section__header .lsm-progressive-section__number {
    display: grid !important;
    place-items: center !important;
    border-color: #a7772e !important;
    background: transparent !important;
    color: #f2ca75 !important;
    -webkit-text-fill-color: #f2ca75 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-section[data-lsm-state="complete"] > .lsm-progressive-section__header .lsm-progressive-section__number::after {
    color: #f2ca75 !important;
    -webkit-text-fill-color: #f2ca75 !important;
    line-height: 1 !important;
}

/* Keep the final Review refinements after all shared/mobile CHBS overrides. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle > h3 {
    padding: 18px 20px 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-content {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot {
    padding: 18px 20px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element > div {
    display: block !important;
    margin: 0 !important;
    background: transparent !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element > div {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 2px 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element > div > span:first-child {
    flex: 1 1 auto !important;
    text-align: left !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element > div > span:last-child {
    flex: 0 0 auto !important;
    text-align: right !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element > .chbs-summary-price-element-total {
    margin-top: 12px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(242, 202, 117, 0.72) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element > .chbs-summary-price-element-total > span {
    font-size: 23px !important;
    font-weight: 800 !important;
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle > h3 {
        padding: 16px 16px 0 !important;
    }

}

/* Review uses one full-width reading column on every screen, matching mobile. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-33x33x33 {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-33x33x33 > .chbs-layout-column-left,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-33x33x33 > .chbs-layout-column-center,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-layout-33x33x33 > .chbs-layout-column-right {
    display: contents !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-left > * {
    order: 10 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-center > .chbs-summary {
    order: 20 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-center > .chbs-google-map-summary {
    order: 25 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-right > .chbs-summary:not(.lsm-step-four-payment-card),
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-right > div:first-child:not(.chbs-summary) {
    order: 30 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-right > .chbs-summary-price-element {
    order: 50 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-right > .lsm-step-four-payment-card {
    order: 60 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-left > *,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-center > *,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-layout-column-right > * {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Review cards retain the same transparent glass surface as Trip, Vehicle and Contact. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .lsm-step-four-payment-card {
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 18px !important;
    background: var(--lsm-booking-field-bg) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-header,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-field {
    background: transparent !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-header,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-field {
    border-color: rgba(255, 255, 255, 0.18) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-header h4,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-field-value,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-price-element,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-price-element * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-field-name {
    color: rgba(255, 255, 255, 0.68) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary-header > a {
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 999px !important;
    background: rgba(16, 18, 21, 0.28) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Hide only the native cards shown in the final-review screenshots. Other
   Step 4 content, including price, coupons, agreements and confirmation,
   remains under CHBS control. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .lsm-review-native-card-hidden,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .lsm-review-native-vehicle-photo-hidden,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .lsm-review-native-price-hidden {
    display: none !important;
}

/* Final confirmation mirrors Steps 1–3 and keeps every customer detail editable. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4:has(> .lsm-review-booking) > .chbs-layout-33x33x33 {
    display: none !important;
}

/* Gratuity is collected after confirmation. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-gratuity-section {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking {
    display: grid;
    gap: 16px;
    padding: 26px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__card,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot {
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 18px;
    box-sizing: border-box;
    box-shadow: none;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking h3 {
    margin: 0 0 16px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__ride,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__contact,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle {
    padding: 20px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__ride .lsm-progressive-summary__route {
    margin: 0;
    border: 0;
    background: transparent;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__contact .lsm-progressive-summary__contact-card,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__contact .lsm-progressive-summary__contact-card:hover,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__contact .lsm-progressive-summary__contact-card:focus-visible {
    padding: 0;
    border-radius: 0;
    background: transparent;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__contact .lsm-progressive-summary__contact-card:focus-visible {
    outline-offset: 0;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__ride .lsm-progressive-summary__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__map-toggle {
    width: 100%;
    margin-top: 14px;
    padding: 13px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.18);
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source {
    display: none !important;
    width: 100% !important;
    margin-top: 12px !important;
    float: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking--map-open .lsm-review-map-source {
    display: block !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source #chbs_google_map {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 360px !important;
    height: 48vh !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source #chbs_google_map > div,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .gm-style {
    width: 100% !important;
    height: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* CHBS places Distance and Time below its map in a white native panel. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-ride-info,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map-summary {
    margin-top: 14px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 14px !important;
    background: var(--lsm-booking-field-bg) !important;
    overflow: hidden !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__map-slot > .lsm-review-ride-info-source {
    display: none !important;
    width: 100% !important;
    margin-top: 14px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 14px !important;
    background: var(--lsm-booking-field-bg) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking--map-open .lsm-review-booking__map-slot > .lsm-review-ride-info-source {
    display: block !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-ride-info .chbs-layout-50x50,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map-summary .chbs-layout-50x50 {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__map-slot > .lsm-review-ride-info-source .chbs-layout-50x50 {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-ride-info .chbs-layout-column-left,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-ride-info .chbs-layout-column-right,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map-summary .chbs-layout-column-left,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map-summary .chbs-layout-column-right {
    float: none !important;
    width: 50% !important;
    margin: 0 !important;
    padding: 18px !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__map-slot > .lsm-review-ride-info-source .chbs-layout-column-left,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__map-slot > .lsm-review-ride-info-source .chbs-layout-column-right {
    float: none !important;
    width: 50% !important;
    margin: 0 !important;
    padding: 18px !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-ride-info *,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map-summary * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__map-slot > .lsm-review-ride-info-source * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Match every ordinary review value to the trip-address reading style. Titles,
   labels and the deliberately prominent total remain governed by their own rules. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-progressive-summary__item strong,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-progressive-summary__vehicle-details > strong,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__confirm p,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element > div:not(.chbs-summary-price-element-total) > span,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__map-slot > .lsm-review-ride-info-source > div > span:first-child + span + span {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-ride-info .chbs-ride-info-name,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map-summary .chbs-summary-field-name {
    color: rgba(255, 255, 255, 0.68) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source .chbs-google-map,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking .lsm-review-map-source #chbs_google_map {
        min-height: 320px !important;
        height: 52vh !important;
    }
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-content {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 14px;
    background: rgba(17, 19, 23, 0.26);
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-toggle {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    width: 100% !important;
    min-height: 0;
    margin: 0 !important;
    padding: 14px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    text-align: left !important;
    cursor: pointer;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-change {
    display: grid;
    place-items: center;
    align-self: center;
    margin-right: 18px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 999px;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-options[hidden] {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-options {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-options .chbs-vehicle-list {
    margin: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-options .chbs-booking-extra {
    display: block !important;
    margin: 18px 0 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-confirm-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.18);
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-confirm-row p {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 13px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-confirm {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 10px 18px !important;
    border: 1px solid #a7772e !important;
    border-radius: 999px !important;
    background: #a7772e !important;
    color: #ffffff !important;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-confirm:disabled {
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.45) !important;
    cursor: not-allowed;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot {
    padding: 18px 20px;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot .chbs-summary-price-element {
    margin: 0 !important;
    background: transparent !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__confirm {
    display: grid;
    justify-items: center;
    gap: 16px;
    padding: 28px 20px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 18px;
    background: var(--lsm-booking-field-bg);
    text-align: center;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__confirm-button {
    min-width: 220px;
    min-height: 50px;
    padding: 12px 24px !important;
    border: 1px solid #a7772e !important;
    border-radius: 999px !important;
    background: #a7772e !important;
    color: #ffffff !important;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__confirm p {
    max-width: 620px;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* The one final confirmation card is mounted immediately below Contact Info.
   Step 3 retains native validation internally but has no separate Review action. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-3 > .chbs-main-content-navigation-button {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-confirm-slot {
    margin: 20px 0 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-confirm-slot[hidden] {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-confirm-card {
    margin: 0 0 16px !important;
    padding: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 18px !important;
    background: var(--lsm-booking-field-bg) !important;
    box-sizing: border-box !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-slot .chbs-summary-price-element,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-slot .chbs-summary-price-element > div {
    display: block !important;
    margin: 0 !important;
    background: transparent !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-slot .chbs-summary-price-element > div {
    display: flex !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 2px 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-slot .chbs-summary-price-element > div > span:first-child {
    flex: 1 1 auto !important;
    text-align: left !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-slot .chbs-summary-price-element > div > span:last-child {
    flex: 0 0 auto !important;
    text-align: right !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-slot .chbs-summary-price-element > .chbs-summary-price-element-total {
    margin-top: 12px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(242, 202, 117, 0.72) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-direct-money-slot .chbs-summary-price-element > .chbs-summary-price-element-total > span {
    font-size: 23px !important;
    font-weight: 800 !important;
}

/* Meitour has an older flag sprite than the identical phone-library CSS it
   loads. Use the current LimoStar sprite, whose positions match that CSS.
   Do not set a position here: each country class supplies its own offset. */
body.lsm-meitour-booking-page .lsm-phone-field .iti__flag {
    background-image: url("https://limostar.com.au/wp-content/plugins/chauffeur-booking-system/media/image/public/flags.png") !important;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    body.lsm-meitour-booking-page .lsm-phone-field .iti__flag {
        background-image: url("https://limostar.com.au/wp-content/plugins/chauffeur-booking-system/media/image/public/flags@2x.png") !important;
    }
}

body.lsm-meitour-booking-page .lsm-direct-money-slot .chbs-summary-price-element > .chbs-summary-price-element-total {
    width: 100% !important;
    border-top: 1px solid #f2ca75 !important;
}

body.lsm-meitour-booking-page .lsm-direct-money-slot .chbs-summary-price-element > .chbs-summary-price-element-total > span {
    border-top: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-direct-confirm-card {
    display: grid;
    justify-items: center;
    gap: 16px;
    text-align: center;
}

body.page.page.lsm-progressive-booking-page .lsm-direct-confirm-reassurance {
    max-width: 620px;
    padding: 0 4px;
}

body.page.page.lsm-progressive-booking-page .lsm-direct-confirm-reassurance strong {
    display: block;
    margin-bottom: 6px;
    color: #f2ca75 !important;
    font-size: 17px;
    font-weight: 800;
}

body.page.page.lsm-progressive-booking-page .lsm-direct-confirm-reassurance p {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-direct-confirm-button {
    min-width: 220px;
    min-height: 50px;
    padding: 12px 24px !important;
    border: 1px solid #a7772e !important;
    border-radius: 999px !important;
    background: #a7772e !important;
    color: #ffffff !important;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

body.page.page.lsm-progressive-booking-page .lsm-direct-confirm-card p {
    max-width: 620px;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* Direct confirmation uses CHBS Step 4 only as an internal hand-off to the
   original submit handler. Never expose its booking-summary screen. */
body.page.page.lsm-progressive-booking-page form[name="chbs-form"][data-lsm-direct-confirm-pending="1"] .chbs-main-content-step-4 {
    display: none !important;
}

/* The final CHBS request temporarily renders its native completion screen
   before its configured success redirect starts. Keep that internal markup out
   of sight and give customers a calm, explicit submission state instead. */
body.page.page.lsm-progressive-booking-page form[name="chbs-form"][data-lsm-booking-submitting="1"] .chbs-main-content > div {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-booking-submitting {
    display: grid;
    justify-items: center;
    gap: 12px;
    min-height: 220px;
    margin: 32px 0;
    padding: 48px 28px;
    border: 1px solid rgba(242, 202, 117, 0.38);
    border-radius: 20px;
    background: var(--lsm-booking-shell-bg);
    color: #ffffff;
    text-align: center;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-booking-submitting[hidden] {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-booking-submitting__spinner {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(242, 202, 117, 0.28);
    border-top-color: #f2ca75;
    border-radius: 50%;
    animation: lsm-booking-submitting-spin 0.8s linear infinite;
}

body.page.page.lsm-progressive-booking-page .lsm-booking-submitting strong {
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 800;
}

body.page.page.lsm-progressive-booking-page .lsm-booking-submitting p {
    max-width: 420px;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.76) !important;
    font-size: 15px;
}

@keyframes lsm-booking-submitting-spin {
    to { transform: rotate(360deg); }
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card {
    margin: 0 0 16px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card h3 {
    margin: 0 0 16px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card .chbs-summary-price-element,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card .chbs-summary-price-element *,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card .chbs-summary-price-element-total,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card .chbs-summary-price-element-total * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-money-card[hidden] {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-direct-confirm-button:disabled {
    border-color: rgba(255, 255, 255, 0.20) !important;
    background: rgba(255, 255, 255, 0.14) !important;
    color: rgba(255, 255, 255, 0.52) !important;
    cursor: not-allowed;
}


body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-main-content-navigation-button {
    display: flex !important;
    margin: 0 !important;
    padding: 0 26px 26px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-main-content-navigation-button .chbs-button-step-next {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 220px !important;
    border-color: #a7772e !important;
    background: #a7772e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking {
        gap: 12px;
        padding: 18px 14px;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__ride,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__contact,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle {
        padding: 16px;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__ride .lsm-progressive-summary__grid,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-content,
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-toggle {
        grid-template-columns: 1fr;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-change {
        margin: 0 16px 16px;
        justify-self: start;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__vehicle-confirm-row {
        align-items: stretch;
        flex-direction: column;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-main-content-navigation-button .chbs-button-step-next {
        width: auto !important;
        min-width: min-content !important;
    }

    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4.lsm-progressive-section[data-lsm-state="active"] > .chbs-main-content-navigation-button {
        padding: 0 14px 18px !important;
    }
}

/*
 * Canonical booking surface contract. A group row paints the gray once;
 * nested fields and native controls remain transparent so opacity never stacks.
 */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-pickup-date-time,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-return-date-time,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger {
    background: var(--lsm-booking-field-bg) !important;
    background-color: var(--lsm-booking-field-bg) !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-pickup-date-time > .chbs-form-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-return-date-time > .chbs-form-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field-passenger > .chbs-form-field,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field input,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field textarea,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field select,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-form-field .ui-selectmenu-button {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-mobile-price-card,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-vehicle-list .chbs-vehicle,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-booking-extra-list .chbs-booking-extra,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content-step-4 .chbs-summary,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__card,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-review-booking__money-slot {
    background: var(--lsm-booking-field-bg) !important;
    background-color: var(--lsm-booking-field-bg) !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-progressive-section,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .lsm-progressive-section[data-lsm-state="locked"] {
    background: var(--lsm-booking-shell-bg) !important;
}

body.page.page.lsm-progressive-booking-page .lsm-flight-info-card {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Keep the booking form inside the Step 1 surface while CHBS advances through
 * vehicle selection and contact details. The step elements remain separate
 * in the DOM so native validation and AJAX navigation are untouched; only
 * their outer card chrome is removed. */
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface {
    gap: 0 !important;
    padding: 0 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    border-radius: 22px !important;
    background: var(--lsm-booking-shell-bg, rgba(255, 255, 255, 0.12)) !important;
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.24) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.15) !important;
    backdrop-filter: blur(22px) saturate(1.15) !important;
    overflow: hidden !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .lsm-progressive-section,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .lsm-progressive-section[data-lsm-state="locked"] {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .chbs-main-content-step-2 > .lsm-progressive-section__header,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .chbs-main-content-step-3 > .lsm-progressive-section__header {
    display: none !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .chbs-main-content-step-1 > .lsm-progressive-section__summary,
body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .chbs-main-content-step-2 > .lsm-progressive-section__summary {
    padding: 10px 12px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .chbs-main-content-step-3.lsm-minimal-contact-step {
    padding-top: 0 !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface > .chbs-main-content-step-3[data-lsm-state="active"] > .chbs-layout-25x75 {
    padding: 10px 12px 12px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface .lsm-direct-confirm-slot {
    margin-top: 16px !important;
}

body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface .lsm-direct-money-card {
    margin-bottom: 16px !important;
}

@media (max-width: 768px) {
    body.page.page.lsm-progressive-booking-page .lsm-progressive-booking .chbs-main-content.lsm-unified-form-surface {
        padding: 0 14px !important;
        border-radius: 18px !important;
    }
}
