.cb--results-page.booking .personal-details {
    flex: 0.73;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0 0;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border-style: solid;
    border-width: 1px;
    border-color: var(--cb-color-2-lighter);
    border-radius: var(--cb-border-radius-large);
    background-color: var(--cb-white);
    color: var(--cb-color-3);
}

.cb--results-page.booking .summary {
    position: relative;
    flex: 0.29;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 15px 0;
    color: var(--cb-color-3);
}

@container cb--results (max-width: 1150px) {
    .cb--results-page.booking .personal-details {
        flex: 1;
    }
    .cb--results-page.booking .summary {
        flex: 0 0 327px;
    }
}
@container cb--results (max-width: 800px) {
    .cb--results-page.booking .personal-details {
        flex: 1;
    }
    .cb--results-page.booking .summary {
        flex: 1;
    }
}


/* ------------------------------- */
/* ----------- fields ------------ */
/* ------------------------------- */

.cb--results-page.booking .personal-details h3 {
    margin: 35px 0 0;
}
.cb--results-page.booking .personal-details h4 {
    margin: 20px 0 3px;
}
.cb--results-page.booking .personal-details label + h4 {
    margin: 40px 0 3px;
}
.cb--results-page.booking .personal-details p {
    width: 450px;
    max-width: 100%;
    margin: 0 0 0;
    font-size: var(--font-size-small);
    line-height: 1.4rem;
}

.cb--results-page.booking .personal-details .cb--checkbox {
    margin: 10px 0 0;
}

.cb--results-page.booking .email-address {
    width: calc(100% - 60px);
    margin: 30px 30px 0;
    padding: 0 30px 30px;
    box-sizing: border-box;
    border-radius: var(--cb-border-radius-large);
    background-color: var(--cb-color-2-lightest);
}
.cb--results-page.booking .personal-details input {
    width: 450px;
    max-width: 100%;
    margin: 10px 0 0;
    padding: 10px 15px;
    box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: var(--cb-color-2-lighter);
    border-radius: var(--cb-border-radius-small);
    outline: none;
}
.cb--results-page.booking .personal-details input.error {
    border-color: var(--cb-error-color);
}
.cb--results-page.booking .personal-details h4 + input {
    margin: 3px 0 0;
}

.cb--results-page.booking .main-driver,
.cb--results-page.booking .additional-drivers,
.cb--results-page.booking .contact-information,
.cb--results-page.booking .flight-information,
.cb--results-page.booking .terms-approval {
    margin: 0 30px 10px;
    padding: 0 0 30px;
    border-style: solid;
    border-width:  0 0 1px;
    border-color: var(--cb-color-2-lighter);
}
.cb--results-page.booking .terms-approval {
    padding: 0 0 15px;
    border-width:  0 0 0;
}

.cb--results-page.booking .full-name-input,
.cb--results-page.booking .address-information,
.cb--results-page.booking .flight-data {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 10px;
    margin: 0 0 0;
}
.cb--results-page.booking .additional-driver {
    display: flex;
    flex-direction: column;
    gap: 0 10px;
    margin: 0 0 20px;
}
.cb--results-page.booking .full-name-input .field,
.cb--results-page.booking .additional-driver .field,
.cb--results-page.booking .address-information .field {
    display: flex;
    flex-direction: column;
}
.cb--results-page.booking .full-name-input .field:nth-of-type(1),
.cb--results-page.booking .full-name-input .field:nth-of-type(2),
.cb--results-page.booking .additional-driver .field:nth-of-type(1),
.cb--results-page.booking .additional-driver .field:nth-of-type(2),
.cb--results-page.booking .address-information .field:nth-of-type(1),
.cb--results-page.booking .address-information .field:nth-of-type(2),
.cb--results-page.booking .flight-data .field:nth-of-type(1),
.cb--results-page.booking .flight-data .field:nth-of-type(2) {
    width: calc(50% - 5px);
    max-width: 220px;
}
.cb--results-page.booking .flight-data .field:nth-of-type(1) {
    width: calc(35% - 5px);
    max-width: 130px;
}
.cb--results-page.booking .flight-data .field:nth-of-type(2) {
    width: calc(65% - 5px);
    max-width: 220px;
}
.cb--results-page.booking .additional-driver .field:nth-of-type(3) {
    width: 100%;
}
.cb--results-page.booking .additional-driver .field input {
    margin: 0;
}

.cb--results-page.booking .additional-driver-holder {
    position: relative;
}
.cb--results-page.booking .additional-driver-holder .remove {
    position: absolute;
    right: 0;
    cursor: pointer;
}
.cb--results-page.booking .additional-driver-holder .remove svg {
    width: 20px;
    fill: var(--cb-color-3);
}
.cb--results-page.booking .additional-driver-holder .remove:hover svg {
    fill: var(--cb-color-3-light);
}

.cb--results-page.booking .dob-picker {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 5px;
    width: 450px;
    max-width: 100%;
}
.cb--results-page.booking .dob-picker > div {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    box-sizing: border-box;
    padding: 0;
    border-style: solid;
    border-width: 1px;
    border-color: var(--cb-color-2-lighter);
    border-radius: var(--cb-border-radius-small);
    outline: none;
}
.cb--results-page.booking .dob-picker > div:has(.error) {
    border-color: var(--cb-error-color);
}
.cb--results-page.booking .dob-picker .day {
    flex: .25;
}
.cb--results-page.booking .dob-picker .month {
    flex: .45;
}
.cb--results-page.booking .dob-picker .year {
    flex: .3;
}
.cb--results-page.booking .dob-picker .dropdown-available {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    overflow: hidden;
    width: 100%;
    padding: 10.5px 15px;
    font-size: var(--font-size-small);
    cursor: pointer;
    transition: background-color .2s ease;
}
.cb--results-page.booking .dob-picker .dropdown-available:hover {
    background-color: var(--cb-color-2-lightest);
}
.cb--results-page.booking .dob-picker .cb--dropdown {
    top: 40px;
    width: 100%;
    align-self: flex-end;
}

.cb--results-page.booking .phone-number,
.cb--results-page.booking .country-residence {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    box-sizing: border-box;
    width: 450px;
    max-width: 100%;
    margin: 10px 0 0;
    padding: 0;
    border-style: solid;
    border-width: 1px;
    border-color: var(--cb-color-2-lighter);
    border-radius: var(--cb-border-radius-small);
    outline: none;
}
.cb--results-page.booking .phone-number.error {
    border-color: var(--cb-error-color);
}
.cb--results-page.booking .phone-number.error ~ .cb--highlight-error {
    display: flex;
}
.cb--results-page.booking .phone-number .country {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0 5px;
    padding: 5px 10px;
    border-style: solid;
    border-width: 0 1px 0 0;
    border-color: var(--cb-color-2-lighter);
    cursor: pointer;
}
.cb--results-page.booking .phone-number .country img {
    width: 20px;
}
.cb--results-page.booking .phone-number .country span {
    font-size: var(--font-size-smaller);
}
.cb--results-page.booking .phone-number .country:hover span {
    font-weight: bold;
}
.cb--results-page.booking .phone-number .cb--dropdown {
    top: 40px;
    width: 100%;
    max-width: 350px;
    align-self: flex-start;
}
.cb--results-page.booking .phone-number .cb--dropdown .number {
    width: 45px;
}
.cb--results-page.booking .phone-number input {
    flex: 1;
    width: auto;
    margin: 0;
    padding: 10px 15px;
    border: none;
    outline: none;
}
.cb--results-page.booking .phone-number + p {
    margin: 0 0 0;
    font-size: var(--font-size-smaller);
}

.cb--results-page.booking .country-residence .dropdown-available {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    overflow: hidden;
    width: 100%;
    padding: 10.5px 15px;
    font-size: var(--font-size-small);
    cursor: pointer;
    transition: background-color .2s ease;
}
.cb--results-page.booking .country-residence .dropdown-available:hover {
    background-color: var(--cb-color-2-lightest);
}
.cb--results-page.booking .country-residence .cb--dropdown {
    top: 40px;
    width: 100%;
    max-width: 350px;
    align-self: flex-end;
}

.cb--results-page.booking .terms-approval .cb--checkbox {
    align-items: flex-start;
}
.cb--results-page.booking .terms-approval .cb--checkbox > span {
    margin-top: 2px;
}
.cb--results-page.booking .terms-approval .cb--checkbox.error > span {
    border-color: var(--cb-error-color);
}
.cb--results-page.booking .terms-approval .cb--checkbox > div {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3px;
}
.cb--results-page.booking .link {
    font-size: var(--font-size-small);
}

@container cb--results (max-width: 575px) {
    .cb--results-page.booking .email-address {
        width: calc(100% - 30px);
        margin: 30px 15px 0;
        padding: 0 15px 30px;
    }
}


/* ------------------------------- */
/* ------ price & cta button ----- */
/* ------------------------------- */

.cb--results-page.booking .book {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 25px 0 0;
    padding: 30px;
    background-color: var(--cb-color-2-lightest);
    color: var(--cb-color-3);
}
.cb--results-page.booking .book .title,
.cb--results-page.booking .book .price {
    display: flex;
    flex-direction: column;
}
.cb--results-page.booking .book .title {
    flex: 1;
}
.cb--results-page.booking .book .main {
    font-size: var(--font-size-larger);
    font-weight: bold;
}
.cb--results-page.booking .book .cancellation {
    color: var(--cb-cta-btn-color-1);
    font-size: var(--font-size-smaller);
}
.cb--results-page.booking .book .action .sub {
    font-size: var(--font-size-smaller);
    text-align: right;
}
.cb--results-page.booking .book .action {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0 20px;
    max-width: 280px;
}
.cb--results-page.booking .book .action .button {
    max-width: 100px;
    padding: 15px 20px;
    border-width: 0;
    border-radius: var(--cb-border-radius-medium);
    background-color: var(--cb-cta-btn-color-1);
    color: var(--cb-white);
    font-size: var(--font-size-smaller);
    font-weight: bold;
    cursor: pointer;
    transition: background-color .2s ease;
}
.cb--results-page.booking .book .action .button:hover {
    background-color: var(--cb-cta-btn-color-1-dark);
}
.cb--results-page.booking .book .action .button.disabled {
    background-color: var(--cb-color-2-lighter);
}
.cb--results-page.booking .book .action .button.disabled:hover {
    background-color: var(--cb-grey-light);
}
.cb--results-page.booking .book .improve {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px 0;
    margin: 15px 0 0;
    width: 100%;
    font-size: var(--font-size-smaller);
}
.cb--results-page.booking .book .mobile {
    display: none;
}

@container cb--results (max-width: 900px) {
    .cb--results-page.booking .book {
        z-index: 2;
        position: fixed;
        flex-direction: column;
        flex-wrap: unset;
        justify-content: flex-start;
        align-items: center;
        gap: 10px 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        padding: 15px 10px;
    }
    .cb--results-page.booking .book .title {
        display: none;
    }
    .cb--results-page.booking .book .action {
        justify-content: space-between;
        width: 100%;
        max-width: 450px;
    }
    .cb--results-page.booking .book .price {
        flex: .65;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 2px 5px;
    }
    .cb--results-page.booking .book .button {
        flex: .35;
    }
    .cb--results-page.booking .book .price .total {
        width: 100%;
        font-size: var(--font-size-medium-small);
        text-decoration: underline;
    }
    .cb--results-page.booking .book .price .main {
        font-size: var(--font-size-medium-small);
    }
    .cb--results-page.booking .book .price .sub {
        font-size: var(--font-size-smaller);
    }
    .cb--results-page.booking .book .mobile {
        display: flex;
    }
    .cb--results-page.booking .book .cancellation {
        max-width: 420px;
        text-align: center;
    }
}


/* ------------------------------- */
/* ----------- summary ----------- */
/* ------------------------------- */

.cb--results-page.booking .shopping-summary {
    box-sizing: border-box;
    width: 100%;
    padding: 25px 20px;
    border-radius: var(--cb-border-radius-large);
    background-color: var(--cb-white);
}

.cb--results-page.booking .vehicle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0 0;
    margin: 0 0 15px;
}
.cb--results-page.booking .vehicle .agency {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.cb--results-page.booking .vehicle .agency h2 {
    display: flex;
    align-items: center;
    margin: 0 0 2.5px;
    font-size: var(--font-size-larger);
    font-weight: bold;
    text-align: left;
    color: var(--cb-color-2-dark);
}
.cb--results-page.booking .vehicle .agency img {
    position: absolute;
    right: 0;
    max-width: 75px;
}
.cb--results-page.booking .vehicle .cb--rating {
    width: 100%;
}
.cb--results-page.booking .vehicle .model {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}
.cb--results-page.booking .vehicle .model h2 {
    font-size: var(--font-size-larger);
    font-weight: bold;
}
.cb--results-page.booking .vehicle .model h2::first-letter {
    text-transform: uppercase;
}
.cb--results-page.booking .vehicle .model span {
    font-size: var(--font-size-smaller);
}
.cb--results-page.booking .vehicle .vehicle-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
.cb--results-page.booking .vehicle .image {
    width: 70%;
}
.cb--results-page.booking .vehicle .image img {
    width: 100%;
}
.cb--results-page.booking .vehicle .capacity {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0 5px;
    margin: 0 0 10px;
    color: var(--cb-color-3);
    font-size: var(--font-size-smallest);
    font-weight: bold;
}
.cb--results-page.booking .vehicle .capacity > * {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 3px 5px;
}
.cb--results-page.booking .vehicle .capacity svg {
    margin-right: 5px;
    width: 14px;
    fill: var(--cb-color-3);
}
.cb--results-page.booking .vehicle .specs {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0 5px;
    font-size: var(--font-size-smallest);
    font-weight: bold;
}
.cb--results-page.booking .vehicle .spec {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 3px 5px;
    border-radius: var(--cb-border-radius-mini);
    background-color: var(--cb-color-2-lightest);
}
.cb--results-page.booking .vehicle .spec.ac::before {
    content: "";
    position: absolute;
    width: 25px;
    height: 2px;
    background: red;
    top: 50%;
    left: 2px;
    transform: rotate(-45deg);
}
.cb--results-page.booking .vehicle .spec.ac:has(.ac)::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
}
.cb--results-page.booking .vehicle .spec svg {
    width: 18px;
    margin-right: 5px;
    fill: var(--cb-color-3);
}

.cb--results-page.booking .shopping-list {
    margin: 25px 0;
    color: var(--cb-color-3);
}
.cb--results-page.booking .shopping-list .list-specifics,
.cb--results-page.booking .shopping-list .list-items,
.cb--results-page.booking .shopping-list .list-total {
    display: flex;
    flex-direction: column;
    gap: 0 0;
    margin: 0 0;
    padding: 5px 0;
}
.cb--results-page.booking .shopping-list .list-items {
    border-style: solid;
    border-color: var(--cb-color-3-lighter);
    border-width: 0 0 1px;
}
.cb--results-page.booking .shopping-list .list-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 10px 0 0;
    font-size: var(--font-size-small);
}
.cb--results-page.booking .shopping-list .list-item div::first-letter {
    text-transform: capitalize;
}
.cb--results-page.booking .shopping-list .list-item.payment-total {
    font-weight: bold;
}
.cb--results-page.booking .shopping-list .list-item.payment-online,
.cb--results-page.booking .shopping-list .list-item.payment-local {
    margin: 4px 0 0;
    font-size: var(--font-size-smaller);
}
.cb--results-page.booking .shopping-list .list-specifics .list-item {
    flex-direction: column;
}
.cb--results-page.booking .shopping-list .list-specifics .list-item > div:nth-of-type(1) {
    margin-bottom: 2px;
    font-weight: bold;
}
.cb--results-page.booking .shopping-list .list-item .office {
    display: flex;
    flex-direction: column;
}

.cb--results-page.booking .shopping-summary .actions {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center;
}
.cb--results-page.booking .shopping-summary .actions p {
    margin: 0 0 5px;
    color: var(--cb-cta-btn-color-1);
    font-size: var(--font-size-smaller);
}
.cb--results-page.booking .shopping-summary .actions .btn {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 0 5px;
    padding: 12px 0;
    border-style: solid;
    border-width: 1px;
    border-radius: var(--cb-border-radius-small);
    border-color: var(--cb-cta-btn-color-1);
    background-color: var(--cb-white);
    color: var(--cb-cta-btn-color-1);
    font-size: var(--font-size-smaller);
    font-weight: bold;
    cursor: pointer;
    user-select: none;
    transition: border-color .2s linear, background-color .2s linear, color .2s linear;
}
.cb--results-page.booking .shopping-summary .actions .btn.main {
    padding: 11px 0;
    border-color: var(--cb-cta-btn-color-1);
    background-color: var(--cb-cta-btn-color-1);
    color: var(--cb-white);
    font-size: var(--font-size-small);
}
.cb--results-page.booking .shopping-summary .actions .btn:not(.main):hover {
    border-color: var(--cb-cta-btn-color-1-dark);
    color: var(--cb-cta-btn-color-1-dark);
}
.cb--results-page.booking .shopping-summary .actions .btn.main:hover {
    border-color: var(--cb-cta-btn-color-1-dark);
    background-color: var(--cb-cta-btn-color-1-dark);
}

@container cb--results (max-width: 800px) {
    .cb--results-page.booking .summary {
        width: 100%;
        max-width: 400px;
        margin: 0 0 80px;
    }
    .cb--results-page.booking .vehicle .vehicle-info {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .cb--results-page.booking .vehicle .vehicle-info .image {
        width: 100%;
        max-width: 150px;
    }
    .cb--results-page.booking .vehicle .vehicle-data {
        flex: 1;
        margin-left: 8%;
    }
    .cb--results-page.booking .vehicle .capacity {
        justify-content: flex-start;
    }
    .cb--results-page.booking .vehicle .specs {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 5px 0;
    }
}

/* ------------------------------- */
/* ------- loading element ------- */
/* ------------------------------- */

.cb--results .booking-loader {
    position: relative;
    align-self: center;
    margin: 100px 0;
}