.cb--results .results-list .vehicles {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
}


/* ------------------------------- */
/* --------- main element -------- */
/* ------------------------------- */

.cb--results .cb--vehicle {
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    border-style: solid;
    border-width: .5px;
    border-color: var(--cb-color-2-lighter);
    border-radius: var(--cb-border-radius-large);
    background-color: var(--cb-white);
}
.cb--results .cb--vehicle .row {
    display: flex;
    flex-direction: row;
}
.cb--results .cb--vehicle .banner,
.cb--results .cb--vehicle .configurator {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 20px;
}

@container cb--results (max-width: 1200px) {
    .cb--results .cb--vehicle .banner {
        flex: 0 0 calc(100% - 400px);
    }
    .cb--results .cb--vehicle .configurator {
        flex: 0 0 400px;
    }
}
@container cb--results (max-width: 1050px) {
    .cb--results .cb--vehicle .banner,
    .cb--results .cb--vehicle .configurator {
        flex: 0 0 100%;
    }
}
@container cb--results (max-width: 900px) {
    .cb--results .cb--vehicle .banner {
        flex: 0 0 calc(100% - 420px);
    }
    .cb--results .cb--vehicle .configurator {
        flex: 0 0 420px;
    }
}
@container cb--results (max-width: 700px) {
    .cb--results .cb--vehicle .banner,
    .cb--results .cb--vehicle .configurator {
        flex: 0 0 100%;
    }
    .cb--results .cb--vehicle .banner {
        padding: 15px 15px 15px;
    }
    .cb--results .cb--vehicle .configurator {
        padding: 15px 15px 15px;
    }
}


/* ------------------------------- */
/* ------- agency & vehicle ------ */
/* ------------------------------- */

.cb--results .cb--vehicle .brand {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 5px;
}
.cb--results .cb--vehicle h2 {
    display: flex;
    align-items: center;
    margin: 0 0 2.5px;
    font-size: var(--font-size-larger);
    font-weight: bold;
    text-align: left;
}
.cb--results .cb--vehicle .banner h2 {
    z-index: 1;
    color: var(--cb-color-2-dark);
}

.cb--results .cb--vehicle .brand img {
    z-index: 0;
    position: absolute;
    right: 0;
    max-width: 75px;
}

.cb--results .cb--vehicle .rating {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
}

.cb--results .cb--vehicle .vehicle-info {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cb--results .cb--vehicle .vehicle-info .image {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 150px;
    width: 100%;
    max-width: 200px;
}
.cb--results .cb--vehicle .vehicle-info .image img {
    width: 100%;
}

.cb--results .cb--vehicle .vehicle-data {
    display: flex;
    flex-direction: column;
    gap: 10px 0;
}
.cb--results .cb--vehicle .capacity {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0 6px;
    color: var(--cb-color-3);
    font-size: var(--font-size-smaller);
    font-weight: bold;
}
.cb--results .cb--vehicle .capacity > * {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 3px 5px;
}
.cb--results .cb--vehicle .capacity svg {
    margin-right: 5px;
    width: 14px;
    fill: var(--cb-color-3);
}

.cb--results .cb--vehicle .specs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    color: var(--cb-color-3);
    font-size: var(--font-size-smallest);
    font-weight: bold;
}
.cb--results .cb--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 .cb--vehicle .spec.ac::before {
    content: "";
    position: absolute;
    width: 25px;
    height: 2px;
    background: red;
    top: 50%;
    left: 2px;
    transform: rotate(-45deg);
}
.cb--results .cb--vehicle .spec.ac:has(.ac)::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
}
.cb--results .cb--vehicle .spec svg {
    width: 15px;
    margin-right: 5px;
    fill: var(--cb-color-3);
}

.cb--results .cb--vehicle .compare {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    margin: 15px 0 0;
    padding: 15px 0 0;
    border-style: solid;
    border-color: var(--cb-color-2-lighter);
    border-width: 1px 0 0;
}

.cb--results .cb--vehicle .offices {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    color: var(--cb-color-3);
}
.cb--results .cb--vehicle .office {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 0 8px;
}
.cb--results .cb--vehicle .office svg {
    width: 30px;
    fill: var(--cb-color-3);
}
.cb--results .cb--vehicle .office div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px 0;
}
.cb--results .cb--vehicle .office span {
    color: var(--cb-color-3);
    font-size: var(--font-size-smaller);
    font-weight: bold;
}
.cb--results .cb--vehicle .office span:nth-of-type(2) {
    font-weight: normal;
}

@container cb--results (max-width: 1050px) {
    .cb--results .cb--vehicle .agency {
        order: 1;
    }
    .cb--results .cb--vehicle .compare {
        order: 2;
    }
    .cb--results .cb--vehicle .vehicle-info {
        order: 3;
        flex-direction: row;
    }
    .cb--results .cb--vehicle .vehicle-info .image {
        width: 100%;
        max-width: 150px;
    }
    .cb--results .cb--vehicle .vehicle-data {
        flex: 1;
        margin-left: 8%;
    }
    .cb--results .cb--vehicle .capacity {
        justify-content: flex-start;
    }
    .cb--results .cb--vehicle .specs {
        justify-content: flex-start;
    }
    .cb--results .cb--vehicle .compare {
        margin: 0 0 0;
        padding: 10px 0 0;
    }
}
@container cb--results (max-width: 900px) {
    .cb--results .cb--vehicle .agency {
        order: 1;
    }
    .cb--results .cb--vehicle .compare {
        order: 3;
    }
    .cb--results .cb--vehicle .vehicle-info {
        order: 2;
        flex-direction: column;
    }
    .cb--results .cb--vehicle .vehicle-info .image {
        width: 100%;
        max-width: 200px;
    }
    .cb--results .cb--vehicle .vehicle-data {
        flex: unset;
        margin-left: unset;
    }
    .cb--results .cb--vehicle .capacity {
        justify-content: center;
    }
    .cb--results .cb--vehicle .specs {
        justify-content: center;
    }
    .cb--results .cb--vehicle .compare {
        margin: 10px 0 0;
        padding: 10px 0 0;
    }
}
@container cb--results (max-width: 700px) {
    .cb--results .cb--vehicle .vehicle-info {
        flex-direction: row;
    }
    .cb--results .cb--vehicle .vehicle-info .image {
        width: 100%;
        max-width: 150px;
    }
    .cb--results .cb--vehicle .vehicle-data {
        flex: 1;
        margin-left: 8%;
    }
    .cb--results .cb--vehicle .capacity {
        justify-content: flex-start;
    }
    .cb--results .cb--vehicle .specs {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
    }
    .cb--results .cb--vehicle .compare {
        margin: 10px 0 0;
        padding: 10px 0 0;
    }
}
@container cb--results (max-width: 575px) {
    .cb--results .cb--vehicle .specs {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
}

/* ------------------------------- */
/* ----------- pricing ----------- */
/* ------------------------------- */

.cb--results .cb--vehicle .configurator {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: var(--cb-color-2-lightest);
}
.cb--results .cb--vehicle .main-info {
    display: flex;
    flex-direction: column;
    gap: 20px 0;
}

.cb--results .cb--vehicle .heading {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    color: var(--cb-color-3);
}
.cb--results .cb--vehicle .heading .model {
    font-size: var(--font-size-smaller);
}
.cb--results .cb--vehicle .heading .price {
    flex: 0 0 auto;
    white-space: nowrap;
    text-align: right;
}
.cb--results .cb--vehicle .heading .price .total {
    white-space: nowrap;
    font-size: var(--font-size-larger);
    font-weight: bold;
}
.cb--results .cb--vehicle .heading .price .daily {
    white-space: nowrap;
    font-size: var(--font-size-smaller);
}

.cb--results .cb--vehicle .usps,
.cb--results .cb--vehicle .warning-usps {
    display: flex;
    flex-direction: column;
    gap: 4px 0;
}
.cb--results .cb--vehicle .usps .title,
.cb--results .cb--vehicle .warning-usps .title {
    color: var(--cb-color-3);
    font-size: var(--font-size-small);
    font-weight: bold;
}
.cb--results .cb--vehicle .usp {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.cb--results .cb--vehicle .usp .left,
.cb--results .cb--vehicle .usp .right {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.cb--results .cb--vehicle .usp .bullet {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 24px;
    width: 24px;
    margin-right: 7.5px;
    font-weight: bold;
}
.cb--results .cb--vehicle .usp .bullet svg {
    width: 100%;
    color: var(--cb-color-3-light);
}
.cb--results .cb--vehicle .warning-usps .bullet svg {
    fill: var(--cb-error-color-lighter);
}
.cb--results .cb--vehicle .usp.good .bullet .check-filled svg {
    color: var(--cb-cta-btn-color-1);
}
.cb--results .cb--vehicle .usp.full-insurance.included .bullet .badge-filled svg {
    color: var(--cb-cta-btn-color-1);
}
.cb--results .cb--vehicle .usp .bullet > div {
    display: none;
}
.cb--results .cb--vehicle .usp.standard .bullet .check,
.cb--results .cb--vehicle .usp.good .bullet .check-filled,
.cb--results .cb--vehicle .usp.purchase .bullet .plus,
.cb--results .cb--vehicle .usp.basic-insurance .bullet .badge,
.cb--results .cb--vehicle .usp.full-insurance.included .bullet .badge-filled,
.cb--results .cb--vehicle .usp.full-insurance.upgradeable .bullet .plus,
.cb--results .cb--vehicle .warning-usps .bullet .warning {
    display: flex;
}
.cb--results .cb--vehicle .usp .item {
    color: var(--cb-color-3);
    font-size: var(--font-size-small);
}
.cb--results .cb--vehicle .usp .upgrade,
.cb--results .cb--vehicle .usp .included {
    display: none;
    font-size: var(--font-size-smallest);
    font-weight: bold;
}
.cb--results .cb--vehicle .usp .price {
    display: none;
}
.cb--results .cb--vehicle .usp.upgradeable .upgrade {
    display: flex;
    color: var(--cb-color-3);
}
.cb--results .cb--vehicle .usp.included .included {
    display: flex;
    color: var(--cb-cta-btn-color-1);
}
.cb--results .cb--vehicle .usp.full-insurance.upgradeable .price,
.cb--results .cb--vehicle .warning-usps .price {
    display: flex;
    flex-direction: row;
    gap: 0 2px;
    color: var(--cb-color-3);
    font-size: var(--font-size-small);
}
.cb--results .cb--vehicle .usp .price .free-upgrade {
    padding: 2px 8px;
    border-radius: var(--cb-border-radius-medium);
    background-color: var(--cb-color-gold);
    color: var(--cb-color-3);
    font-size: var(--font-size-smallest);
    font-weight: bold;
}

.cb--results .cb--vehicle .insurances {
    display: flex;
    flex-direction: column;
    gap: 5px 0;
    margin-bottom: 25px;
}
.cb--results .cb--vehicle .insurances .title {
    color: var(--cb-color-3);
    font-size: var(--font-size-small);
    font-weight: bold;
}

.cb--results .cb--vehicle .compare {
    display: flex;
    flex-direction: row;
    align-items: center;
    color: var(--cb-color-3);
    font-size: var(--font-size-small);
}

.cb--results .cb--vehicle .book {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 0 15px;
}
.cb--results .cb--vehicle .book .cta {
    color: var(--cb-cta-btn-color-1);
    font-size: var(--font-size-smaller);
}
.cb--results .cb--vehicle .book .submit {
    min-width: 90px;
    padding: 12.5px 10px;
    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;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .2s ease;
}
.cb--results .cb--vehicle .book .submit:hover {
    background-color: var(--cb-cta-btn-color-1-dark);
}

@container cb--results (max-width: 1050px) {
    .cb--results .cb--vehicle .book {
        justify-content: space-between;
    }
}
@container cb--results (max-width: 900px) {
    .cb--results .cb--vehicle .book {
        justify-content: center;
    }
}
@container cb--results (max-width: 700px) {
    .cb--results .cb--vehicle .book {
        justify-content: space-between;
    }
}

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

.cb--results .vehicles-loader {
    position: fixed;
}