.srp-vehicles--wrap {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1.3rem;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (min-width: 400px) {
    .srp-vehicles--wrap {
        grid-gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    }
}

.carbox-wrap {
    position: relative;
    border: 1px solid #ccc;
    background: #fefefe;
    color: #0a0a0a;
    -webkit-transition: box-shadow 0.2s, border 0.2s, -webkit-transform 0.1s;
    -moz-transition: -moz-box-shadow 0.2s, border 0.2s, -moz-transform 0.1s;
    transition: box-shadow 0.2s, border 0.2s, transform 0.1s;
    z-index: 0;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-box-shadow: 0 4px 5px -5px #0a0a0a;
    box-shadow: 0 4px 5px -5px #0a0a0a;
    border: 1px solid #dddada !important;
    -moz-border-radius: 16px;
    border-radius: 0.25rem;
    padding: 0;
    overflow: hidden;
}

.carbox-img-wrap {
    padding: 0.5rem;
}

.carbox-image,
.carbox-slider-slide {
    aspect-ratio: 4/3;
}

.carbox-slider-slide img,
.carbox-image:not(.carbox-no-thumb) img {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0 auto;
    aspect-ratio: 4/3;
    object-fit: contain;
}

.carbox-image.carbox-no-thumb {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.carbox-image.carbox-no-thumb img {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
}

.carbox-no-thumb__label {
    text-decoration: none;
    color: initial;
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
    font-size: 1rem;
}

.carbox-thumb__anchor {
    text-decoration: none;
}

.carbox-swiper-img-wrap {
    padding: 0.25rem;
}

.carbox-slider {
    position: relative;
    aspect-ratio: 4 / 3;
}

.carbox-slider .carbox-slider-wrapper,
.carbox-slider .swiper-wrapper,
.carbox-slider .carbox-slider-slide,
.carbox-slider .swiper-slide {
    height: 100%;
}

/*
 * Cards are viewport-gated (assets/js/global/slider-init.js observeCarboxSwipers())
 * instead of initialized eagerly, so a card below the fold can sit in this
 * pre-init state for a while. .carbox-slider's own aspect-ratio (above) already
 * keeps the box dimensionally identical before/after init — nothing needed there
 * — but the base Swiper CSS sets `overflow: hidden` on .swiper regardless of JS
 * state, so a swipe attempted before init would otherwise hit nothing. This gives
 * native scroll-snap instead: real, momentum-correct swiping with zero JS, which
 * stops applying the instant Swiper adds `swiper-initialized` and takes over.
 */
.carbox-slider:not(.swiper-initialized) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    scrollbar-width: none;
}

.carbox-slider:not(.swiper-initialized)::-webkit-scrollbar {
    display: none;
}

.carbox-slider:not(.swiper-initialized) .swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.carbox-slider:not(.swiper-initialized) .swiper-slide {
    scroll-snap-align: start;
}

/*
 * Pagination dots and nav arrows render in the markup unconditionally (no inline
 * display:none like the SRP hero banner uses for the same purpose) but do nothing
 * until Swiper populates/binds them — hide them until init so a not-yet-visible
 * card never shows a nav control that looks live but isn't.
 */
.carbox-slider:not(.swiper-initialized) .swiper-pagination,
.carbox-slider:not(.swiper-initialized) .swiper-button-prev,
.carbox-slider:not(.swiper-initialized) .swiper-button-next {
    display: none;
}

.carbox-slider-slide {
    padding: 0.25rem;
}

.carbox-slider-skeleton {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    background: linear-gradient(90deg,
            #f0f0f0 25%,
            #e0e0e0 37%,
            #f0f0f0 63%);
    background-size: 400% 100%;
    animation: skeleton-shimmer 1.4s ease-in-out infinite !important;
    z-index: 1;
}

@keyframes skeleton-shimmer {
    0% {
        background-position: -400px 0;
    }

    100% {
        background-position: 400px 0;
    }
}

.carbox-thumb-wrap .swiper-pagination-bullet {
    --swiper-pagination-bullet-inactive-color: var(--carbox-slider-dot-nav-color);
    --swiper-pagination-color: var(--carbox-slider-active-dot-nav-color);
}

.carbox-thumb-wrap .swiper-button-next,
.carbox-thumb-wrap .swiper-button-prev {
    --swiper-navigation-size: 1.5rem;
    --swiper-navigation-color: var(--carbox-slider-arrow-nav-color);
}

.carbox-thumb-wrap .swiper-button-next,
.carbox-thumb-wrap .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carbox-thumb-wrap .swiper-button-prev {
    left: 10px;
}

.carbox-thumb-wrap .swiper-button-next {
    right: 10px;
}

.carbox-thumb-wrap .swiper-button-next::after,
.carbox-thumb-wrap .swiper-button-prev::after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    line-height: 1;
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
}

.carbox-thumb-wrap .swiper-button-prev::after {
    content: 'prev';
}

.carbox-thumb-wrap .swiper-button-next::after {
    content: 'next';
}

.carbox-vehicle-id-wrap {
    font-size: 0.625rem;
    line-height: 1.2;
    padding: 0.5rem;
    padding-top: 0;
    display: flex;
}

.carbox-vehicle-id-item {
    min-width: 0;
}

.carbox-vehicle-id-inline-wrap {
    flex-direction: row;
    justify-content: space-between;
}

.carbox-vehicle-id-stack-wrap {
    flex-direction: column;
}

.srp-vehicle-title {
    font-size: 1rem;
    line-height: 1.2;
    margin: 0;
}

.srp-vehicle-subtitle {
    font-size: 0.75rem;
    line-height: 1.25;
    margin-top: 0.125rem;
}

.srp-vehicle-subtitle.srp-vehicle-mileage {
    padding: 0 0.5rem 0.25rem 0.5rem;
}

.carbox-vehicle-title-wrap {
    padding: 0 0.5rem;
}

@media screen and (min-width: 400px) {
    .srp-vehicles--wrap .carbox-vehicle-id-inline-wrap {
        align-items: center;
        box-sizing: border-box;
        gap: 0.5rem;
        height: 1.25rem;
        overflow: hidden;
    }

    .srp-vehicles--wrap .carbox-vehicle-id-inline-wrap .carbox-vehicle-id-item {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .srp-vehicles--wrap .carbox-vehicle-id-inline-wrap .carbox-vehicle-stock-item {
        flex: 0 0 auto;
    }

    .srp-vehicles--wrap .carbox-vehicle-id-inline-wrap .carbox-vehicle-vin-item {
        flex: 0 1 auto;
        text-align: right;
    }

    .srp-vehicles--wrap .carbox-vehicle-title-wrap {
        box-sizing: border-box;
        height: 5rem;
        overflow: hidden;
    }

    .srp-vehicles--wrap .srp-vehicle-title,
    .srp-vehicles--wrap .srp-vehicle-subtitle {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
    }

    .srp-vehicles--wrap .srp-vehicle-title {
        -webkit-line-clamp: 2;
    }

    .srp-vehicles--wrap .srp-vehicle-subtitle {
        -webkit-line-clamp: 2;
    }
}

.carbox-color-spec-wrap {
    padding: 0.5rem 1rem;
    padding-top: 0;
    margin-bottom: 0.5rem;
    min-height: 75px;
    font-size: 0.9rem;
}

.carbox-color-spec-wrap:not(:empty) {
    border-bottom: 1px solid #ededed;
}

.carbox-color-wrap {
    display: flex;
    align-items: flex-start;
}

.carbox-color-wrap+.carbox-color-wrap {
    margin-top: 0.25rem;
}

.carbox-color-swatch {
    border: 1px solid #ededed;
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border-radius: 10rem;
}

.carbox-color-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.carbox-color-name {
    display: inline-block;
    margin-left: 0.25rem;
}

@media screen and (max-width:399px) {
    .carbox.shared-width-image-carbox {
        display: flex;
    }

    .carbox.shared-width-image-carbox .carbox-img-wrap {
        flex: 0 0 35%;
        width: 35%;
    }

    .carbox.shared-width-image-carbox .carbox-content {
        flex: 1 1 60%;
    }
}

.carbox-installed-features-wrap {
    padding: 0.5rem;
    padding-top: 0;
    border-bottom: 1px solid #ededed;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.carbox-installed-feature-lists {
    display: flex;
    justify-content: space-around;
}

.carbox-installed-feature-title {
    margin-bottom: 0.25rem;
    text-align: center;
}

.carbox-installed-feature-list img {
    width: 2rem;
    height: 2rem;
    object-fit: contain;
    object-position: center;
    display: block;
}

.srp-specials-ribbon__wrapper.ribbon__top-left {
    position: absolute;
    width: 20rem;
    left: -5rem;
    top: 4rem;
    z-index: 2;
    transform: rotate(-40deg);
}

.srp-specials-ribbon__wrapper.ribbon__top-right {
    position: absolute;
    width: 20rem;
    right: -5rem;
    top: 4rem;
    z-index: 2;
    transform: rotate(40deg);
}

.srp-specials-ribbon__wrapper.ribbon__above {
    margin: 0.5rem;
    margin-bottom: 0;
}

.srp-specials-ribbon__wrapper.ribbon__below {
    margin: 0.5rem;
    margin-top: 0;
}

.srp-specials-ribbon {
    text-align: center;
    padding: 0.25rem;
    line-height: 1;
    font-size: 0.9rem;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.9);
}

@media screen and (min-width: 880px) {
    .srp-specials-ribbon__wrapper.ribbon__top-left {
        width: 12rem;
        left: -2rem;
        top: 2rem;
    }

    .srp-specials-ribbon__wrapper.ribbon__top-right {
        width: 12rem;
        right: -2rem;
        top: 2rem;
    }
}

.carbox-badge-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    min-height: calc(60px + 1rem);
}

.carbox-badge-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0.5rem;
}

.carbox-badge-item img {
    width: 100%;
    max-width: 100%; 
    height: 60px;
    object-fit: contain;
}

.carbox-badge-placeholder-item {
    display: none;
}

.carbox-badge-item img,
.carbox-badge-item a,
.carbox-badge-item .tooltip-trigger {
    display: block;
}

.carbox-toyota-care-badge-item {
    align-content: center;
}

.carbox-overlay-btn-wrap {
    text-align: center;
    padding: 0.5rem;
}

.carbox-overlay-btn {
    display: block;
    text-align: center;
    width: 100%;
    text-decoration: none;
    user-select: none;
    font-size: 100%;
    font-family: inherit;
    line-height: 1.5;
    white-space: normal;
    padding: 0.375rem 1rem;
    font-weight: 600;
    transition: opacity 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    color: var(--carbox-qv-cta-text-color);
    background-color: var(--carbox-qv-cta-bg-color);
    border: var(--carbox-qv-cta-border-width, 1px) solid var(--carbox-qv-cta-border-color);
    border-radius: var(--carbox-qv-cta-border-radius);
    cursor: pointer;
}

.carbox-overlay-btn:hover {
    opacity: 0.8;
}

.carbox-no-overlay-cta,
.carbox-wrap[data-toggle] {
    cursor: pointer;
}

.carbox-inside-image-overlay-wrap .carbox-image {
    position: relative;
}

.carbox-inside-image-overlay-wrap:not(.carbox-has-img-slider) .carbox-overlay-btn-wrap {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.5rem;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s ease;
}

.carbox-inside-image-overlay-wrap:not(.carbox-has-img-slider):hover .carbox-overlay-btn-wrap {
    opacity: 1;
    pointer-events: auto;
}

.carbox-inside-image-overlay-wrap:not(.carbox-has-img-slider) .carbox-overlay-btn {
    width: auto;
}

.carbox-inside-image-overlay-wrap.carbox-has-img-slider .carbox-img-wrap {
    position: relative;
}

.carbox-inside-image-overlay-wrap.carbox-has-img-slider .carbox-overlay-btn-wrap {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.5rem;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s ease;
    z-index: 5;
}

.carbox-inside-image-overlay-wrap.carbox-has-img-slider:hover .carbox-overlay-btn-wrap {
    opacity: 1;
    pointer-events: auto;
}

.carbox-inside-image-overlay-wrap.carbox-has-img-slider .carbox-overlay-btn {
    width: auto;
}

.srp-vehicle__lease-finance-wrap.paymentOffers{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0;
}
.srp-vehicle__lease-finance-wrap.paymentOffers .paymentsOffer{
    flex: 1 1 0;
    margin-bottom: 1rem;
}

.unlock-price--wrap.carbox-lead-form {
    margin: 0;
    padding: 10px;
    border-top: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
    background: #f7f7f7;
}

.carbox-lead-form--pending.carbox-lead-form--open {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 12.5rem;
}

.carbox-lead-form__loading {
    border: 0;
    border-radius: 0;
    background: var(--brand-primary);
    color: #fff;
    cursor: pointer;
    font: inherit;
    padding: 0.75rem 1.5rem;
    text-align: center;
}

.carbox-lead-form,
.carbox-lead-form * {
    box-sizing: border-box;
}

.carbox-lead-form .unlock-price--header {
    margin-bottom: 0.75rem;
    font-weight: 700;
    position: relative;
}

.carbox-lead-form .unlock-price--header h3{
    margin: 0;
}

.carbox-lead-form .unlock-price__reveal-button {
    display: block;
    width: 100%;
    min-height: 2.15rem;
    border: var(--carbox-form-cta-border-width, 1px) solid var(--carbox-form-cta-border-color);
    border-radius: var(--carbox-qv-cta-border-radius);
    background: var(--carbox-form-cta-bg-color);
    color: var(--carbox-form-cta-text-color);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: 0.45rem 0.75rem;
    text-align: center;
    transition: opacity 0.15s ease-in-out;
}

.carbox-lead-form .unlock-price__reveal-button:hover,
.carbox-lead-form .unlock-price__reveal-button:focus {
    opacity: 0.8;
}

.carbox-lead-form.is-collapsed .unlock-price--form {
    display: none;
}

.carbox-lead-form .unlock-price--form,
.carbox-lead-form .unlock-price__form-wrapper,
.carbox-lead-form .gform_wrapper,
.carbox-lead-form .gform_body,
.carbox-lead-form form {
    width: 100%;
    margin: 0;
}

.carbox-lead-form--closed .unlock-price--form {
    margin-top: 0.5rem;
}

.carbox-lead-form .gform_anchor,
.carbox-lead-form .radio-group {
    display: none;
}

.carbox-lead-form .gform_fields,
.carbox-lead-form .gform_wrapper ul.gform_fields {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.carbox-lead-form .gfield,
.carbox-lead-form .gform_wrapper ul.gform_fields li.gfield {
    min-width: 0;
    margin: 0;
    padding: 0;
}

.carbox-lead-form .gfield:not(.srp-carbox-contact-field),
.carbox-lead-form .gform_validation_container {
    display: none;
}

.carbox-lead-form .srp-carbox-contact-field {
    flex: 1 1 calc(50% - 0.25rem);
    list-style: none;
}

.carbox-lead-form .gfield--type-name,
.carbox-lead-form .srp-carbox-contact-field--name {
    flex-basis: 100%;
}

.carbox-lead-form .leadForm--f_email,
.carbox-lead-form .leadForm--f_tel,
.carbox-lead-form .leadForm--f_comments,
.carbox-lead-form .srp-carbox-contact-field--email,
.carbox-lead-form .srp-carbox-contact-field--phone,
.carbox-lead-form .srp-carbox-contact-field--comment {
    flex-basis: 100%;
}

.carbox-lead-form .ginput_complex,
.carbox-lead-form .ginput_container_name,
.carbox-lead-form .gform_wrapper .ginput_complex.ginput_container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem;
    width: 100%;
    margin: 0;
}

.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_1,
.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_2,
.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_3,
.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_4,
.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_5 {
    width: 100%;
}

.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) .ginput_container,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_1,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_2,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_3,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_4,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_5,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_1,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_2,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_3,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_4,
.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_5 {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.carbox-lead-form .ginput_complex span,
.carbox-lead-form .ginput_container_name span,
.carbox-lead-form .gform_wrapper .ginput_complex span {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.carbox-lead-form .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container span,
.carbox-lead-form div.ginput_complex.ginput_container.gf_name_has_1 span,
.carbox-lead-form div.ginput_complex.ginput_container.gf_name_has_2 span,
.carbox-lead-form div.ginput_complex.ginput_container.gf_name_has_3 span,
.carbox-lead-form div.ginput_complex.ginput_container.gf_name_has_4 span,
.carbox-lead-form div.ginput_complex.ginput_container.gf_name_has_5 span {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
}

.carbox-lead-form .ginput_container,
.carbox-lead-form .gform_wrapper .ginput_container,
body .carbox-lead-form .gform_wrapper .top_label div.ginput_container {
    width: 100%;
    margin: 0;
}

.carbox-lead-form .gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container input[type="text"],
.carbox-lead-form .gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container select {
    margin-bottom: 0;
}

.carbox-lead-form label,
.carbox-lead-form legend,
.carbox-lead-form .gfield_label,
.carbox-lead-form .gform-field-label,
.carbox-lead-form .ginput_complex label {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.carbox-lead-form input[type="text"],
.carbox-lead-form input[type="email"],
.carbox-lead-form input[type="tel"],
.carbox-lead-form .gform_wrapper input.medium,
.carbox-lead-form textarea,
.carbox-lead-form .gform_wrapper textarea {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 2rem;
    margin: 0;
    border: 1px solid #cfd3d7;
    border-radius: 0.2rem;
    background: #fff;
    color: #111;
    font: inherit;
    padding: 0.3rem 0.45rem;
    box-shadow: none;
}

.carbox-lead-form .gform_wrapper .top_label .leadForm--f_email input.medium,
.carbox-lead-form .gform_wrapper .top_label .leadForm--f_tel input.medium,
.carbox-lead-form .gform_wrapper .top_label .leadForm--f_comments textarea.medium,
.carbox-lead-form .gform_wrapper .top_label .srp-carbox-contact-field--email input.medium,
.carbox-lead-form .gform_wrapper .top_label .srp-carbox-contact-field--phone input.medium,
.carbox-lead-form .gform_wrapper .top_label .srp-carbox-contact-field--comment textarea.medium {
    width: 100%;
}

.carbox-lead-form textarea,
.carbox-lead-form .gform_wrapper textarea {
    min-height: 4.5rem;
    resize: vertical;
}

.carbox-lead-form input::placeholder {
    color: #6f7479;
    opacity: 1;
}

.carbox-lead-form textarea::placeholder {
    color: #6f7479;
    opacity: 1;
}

.carbox-lead-form input[type="text"]:focus,
.carbox-lead-form input[type="email"]:focus,
.carbox-lead-form input[type="tel"]:focus,
.carbox-lead-form textarea:focus {
    border-color: var(--carbox-form-cta-bg-color);
    outline: 2px solid rgba(0, 0, 0, 0.12);
    outline-offset: 1px;
}

.carbox-lead-form .gform_footer,
.carbox-lead-form .gform_page_footer {
    display: block;
    width: 100%;
    margin: 0.25rem 0 0;
    padding: 0;
}

body .carbox-lead-form .gform_wrapper .gform_footer {
    margin: 0.25rem 0 0;
    padding: 0;
}

.carbox-lead-form .gform_button[type="submit"],
.carbox-lead-form input[type="submit"],
.carbox-lead-form .gform_wrapper .gform_footer input[type="submit"].gform_button {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 2.15rem;
    margin: 0;
    border: var(--carbox-form-cta-border-width, 1px) solid var(--carbox-form-cta-border-color);
    border-radius: var(--carbox-qv-cta-border-radius);
    background: var(--carbox-form-cta-bg-color);
    color: var(--carbox-form-cta-text-color);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: 0.45rem 0.75rem;
    text-align: center;
    transition: opacity 0.15s ease-in-out;
}

.carbox-lead-form .gform_button[type="submit"]:hover,
.carbox-lead-form input[type="submit"]:hover {
    opacity: 0.8;
}

.carbox-lead-form .gform_validation_errors {
    margin: 0 0 0.45rem;
    padding: 0.5rem;
    border: 1px solid #e5b5b5;
    border-radius: 0.2rem;
    background: #fff6f6;
    font-size: 0.8rem;
}

.carbox-lead-form .validation_message {
    margin-top: 0.25rem;
    color: #b3261e;
    font-size: 0.72rem;
}

.carbox-lead-form .gform_confirmation_wrapper {
    margin: 0;
}

.carbox-lead-form .gform_confirmation_message {
    padding: 0.65rem;
    border: 1px solid #cfe7d3;
    border-radius: 0.2rem;
    background: #f3fbf5;
    color: #24532c;
    font-size: 0.85rem;
    line-height: 1.35;
    text-align: center;
}

.unlock-price--wrap.carbox-lead-form .unlock-price__reveal-button,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_1,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_2,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_3,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_4,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label div.ginput_complex.ginput_container.gf_name_has_5,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label .srp-carbox-contact-field--email .ginput_container,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label .srp-carbox-contact-field--phone .ginput_container,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .top_label .srp-carbox-contact-field--comment .ginput_container,
.unlock-price--wrap.carbox-lead-form .gform_wrapper .gform_footer input[type="submit"].gform_button {
    font-size: 0.8rem !important;
}

@media screen and (max-width: 399px) {
    .carbox-lead-form .srp-carbox-contact-field {
        flex-basis: 100%;
    }

    .carbox-lead-form .ginput_complex,
    .carbox-lead-form .ginput_container_name {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 400px) {
    .srp .carbox-wrap {
        display: flex;
        flex-direction: column;
    }

    /*
     * .carbox-vehicle-title-wrap has a fixed height (see line ~248), so .carbox
     * is already a fixed height. Growing it to absorb the grid row's stretched
     * height (from taller sibling cards) pushed the price box down whenever an
     * optional block above (e.g. the lease/finance box) was missing.
     */
    .srp .carbox-wrap > .carbox {
        flex: 0 0 auto;
    }
}
