/* RCD_GLOBAL_PUBLIC_SHELL_V1 */

.top,
.platform-bar {
    background: #0b2f22 !important;
    color: #fff;
}

.brand-logo-approved {
    image-rendering: auto;
    transform: translateZ(0);
}

.rcd-site-footer-final {
    margin-top: 0;
    padding: 0 !important;
    background: #0b2f22;
    color: #fff;
}

.rcd-site-footer-final .crs-site-footer__inner {
    display: grid;
    grid-template-columns:
        minmax(230px, 1.4fr)
        repeat(4, minmax(135px, 1fr));
    gap: 34px;

    width: min(1240px, calc(100% - 40px));
    margin-inline: auto;
    padding: 58px 0 44px;
}

.rcd-site-footer-final .crs-site-footer__brand {
    min-width: 0;
}

.rcd-site-footer-final .crs-site-footer__brand img,
.rcd-site-footer-final .rcd-footer-logo {
    display: block;

    width: 220px;
    max-width: 100%;
    height: auto;

    margin: 0 0 20px;

    object-fit: contain;

    /*
     * Dedicated white vector asset.
     * Do not rasterize/filter the master SVG in-browser.
     */
    filter: none !important;

    image-rendering: auto;
}

html[dir="ltr"]
.rcd-site-footer-final
.crs-site-footer__brand img {
    object-position: left center;
}

html[dir="rtl"]
.rcd-site-footer-final
.crs-site-footer__brand img {
    object-position: right center;
}

.rcd-site-footer-final .crs-site-footer__brand p {
    max-width: 360px;
    margin: 0;

    color: rgba(255, 255, 255, .68);

    font-size: 13px;
    line-height: 1.9;
    border: 0;
    outline: 0;
}

.rcd-footer-live-markets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 20px;
}

.rcd-footer-live-markets span {
    padding: 6px 10px;

    border: 1px solid rgba(91, 218, 158, .22);
    border-radius: 999px;

    background: rgba(91, 218, 158, .09);
    color: #a9e7c8;

    font-size: 11px;
    font-weight: 800;
}

.rcd-site-footer-final .crs-site-footer__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 11px;
}

.rcd-site-footer-final .crs-site-footer__column strong {
    margin-bottom: 5px;

    color: #fff;

    font-size: 14px;
    font-weight: 850;
}

.rcd-site-footer-final .crs-site-footer__column > a {
    color: rgba(255, 255, 255, .68);

    font-size: 13px;
    line-height: 1.5;

    text-decoration: none;

    transition: color .15s ease;
}

.rcd-site-footer-final .crs-site-footer__column > a:hover,
.rcd-site-footer-final .crs-site-footer__column > a:focus-visible {
    color: #fff;
    outline: none;
}

.rcd-footer-markets {
    gap: 8px !important;
}

.rcd-footer-market {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    width: 100%;
    max-width: 190px;
    min-height: 31px;

    color: rgba(255, 255, 255, .72);
}

.rcd-footer-market small {
    margin-inline-start: auto;
    padding: 4px 7px;

    border-radius: 999px;

    background: rgba(255, 255, 255, .07);
    color: rgba(255, 255, 255, .48);

    font-size: 9px;
    font-weight: 800;
}

.rcd-footer-market .rcd-footer-market__live {
    background: rgba(91, 218, 158, .11);
    color: #9ae2bd;
}

.rcd-footer-market--soon {
    opacity: .66;
    cursor: default;
}

.rcd-site-footer-final .crs-site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    width: min(1240px, calc(100% - 40px));
    margin-inline: auto;
    padding: 19px 0 24px;

    border-top: 1px solid rgba(255, 255, 255, .09);

    color: rgba(255, 255, 255, .52);

    font-size: 11px;
}


/* =========================================================
   PUBLIC ICON QUALITY
   ========================================================= */

.crs-icon {
    shape-rendering: geometricPrecision;
}

.crs-home-shell .crs-booking-confidence__feature-icon,
.crs-home-shell .crs-booking-confidence__step-icon,
.crs-home-shell .crs-featured-showcase__benefit-icon,
.crs-home-shell .crs-featured-showcase__reason-icon {
    border: 1px solid #dcece4;

    background: #f0faf5;

    box-shadow: none;
}

.crs-home-shell .crs-booking-confidence__feature-icon .crs-icon,
.crs-home-shell .crs-booking-confidence__step-icon .crs-icon,
.crs-home-shell .crs-featured-showcase__benefit-icon .crs-icon,
.crs-home-shell .crs-featured-showcase__reason-icon .crs-icon {
    color: #087846;
}


/* =========================================================
   RESPONSIVE FOOTER
   ========================================================= */

@media (max-width: 1120px) {

    .rcd-site-footer-final .crs-site-footer__inner {
        grid-template-columns:
            minmax(240px, 1.3fr)
            repeat(2, minmax(150px, 1fr));
    }
}

@media (max-width: 760px) {

    .rcd-site-footer-final .crs-site-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 34px 26px;

        width: min(100% - 32px, 1240px);
        padding: 44px 0 34px;
    }

    .rcd-site-footer-final .crs-site-footer__brand {
        grid-column: 1 / -1;
    }

    .rcd-site-footer-final .crs-site-footer__brand img {
        width: 190px;
    }

    .rcd-site-footer-final .crs-site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;

        width: min(100% - 32px, 1240px);
        padding-bottom: 26px;
    }
}

@media (max-width: 520px) {

    .rcd-site-footer-final .crs-site-footer__inner {
        grid-template-columns: 1fr;
    }

    .rcd-site-footer-final .crs-site-footer__brand {
        grid-column: auto;
    }

    .rcd-footer-market {
        max-width: 220px;
    }
}

/* RCD_GLOBAL_PUBLIC_SHELL_BLOCK_END */

/* =========================================================
   RCD_HOME_SEARCH_MOBILE_PANEL_V2
   Give the homepage booking search the same contained-card feel
   as the Customer mobile app without changing search behaviour.
   ========================================================= */

.crs-home-shell .search-shell {
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
    margin: 8px auto 58px !important;
    padding: 14px !important;

    border: 1px solid rgba(0, 108, 53, .12);
    border-radius: 32px;

    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(216, 167, 47, .10),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #eef8f3 0%,
            #f8fbf9 58%,
            #f4f8f5 100%
        );

    box-shadow:
        0 24px 60px rgba(10, 45, 28, .10),
        0 3px 10px rgba(10, 45, 28, .035);
}

.crs-home-shell .search-card {
    width: 100% !important;
    margin: 0 !important;
    padding: 18px !important;

    border: 1px solid rgba(0, 108, 53, .10) !important;
    border-radius: 24px !important;

    background: rgba(255, 255, 255, .68) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    box-shadow:
        0 12px 34px rgba(10, 45, 28, .065) !important;
}

.crs-home-shell .search-card .field {
    background: #fff !important;
    border-color: #dce8e2 !important;
}

.crs-home-shell .search-card .field:focus-within {
    border-color: rgba(0, 122, 61, .52) !important;
    box-shadow: 0 0 0 3px rgba(0, 122, 61, .08) !important;
}

.crs-home-shell .rcd-pricing-policy-row {
    margin-top: 2px;
    padding-top: 4px !important;
}

@media (max-width: 760px) {
    .crs-home-shell .search-shell {
        width: min(100% - 24px, 620px) !important;
        margin-top: 12px !important;
        margin-bottom: 40px !important;
        padding: 10px !important;
        border-radius: 28px !important;
    }

    .crs-home-shell .search-card {
        padding: 12px !important;
        border-radius: 21px !important;
    }
}

@media (max-width: 390px) {
    .crs-home-shell .search-shell {
        width: calc(100% - 18px) !important;
        padding: 8px !important;
        border-radius: 24px !important;
    }

    .crs-home-shell .search-card {
        padding: 10px !important;
        border-radius: 18px !important;
    }
}

/* RCD_HOME_SEARCH_MOBILE_PANEL_V2_END */

/* =========================================================
   RCD_HOME_SEARCH_BACKGROUND_V5
   Approved artwork is the background of the search container.
   No separate image strip/card.
   ========================================================= */

.crs-home-shell .search-shell {
    position: relative !important;
    overflow: hidden !important;

    padding:
        32px
        14px !important;

    background:
        url('/images/rcd-search-box-bg.png?v=20260904v3')
        center center /
        100% 100%
        no-repeat !important;

    background-color: #fbf8f3 !important;
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    border: 0;
    outline: 0;
    box-shadow: 0 18px 36px rgba(16, 42, 31, .06);
    padding-top: 42px;
    padding-bottom: 42px;
    min-height: 270px;
}

.crs-home-shell .search-card {
    position: relative;
    z-index: 2;
}

.crs-home-shell .rcd-search-box-art {
    display: none !important;
}

@media (max-width: 760px) {
    .crs-home-shell .search-shell {
        padding:
            24px
            10px !important;
    }
}

@media (max-width: 390px) {
    .crs-home-shell .search-shell {
        padding:
            18px
            8px !important;
    }
}

/* RCD_HOME_SEARCH_BACKGROUND_V5_END */

/* RCD_SEARCH_EMPTY_STATUS_COLLAPSE_V8
   Keep the search status functional, but do not reserve
   vertical space while it contains no message.
*/
.crs-home-shell #marketplaceSearchStatus:empty {
    display: none !important;
}

/* RCD_SEARCH_EMPTY_STATUS_COLLAPSE_V8_END */

/* =========================================================
   RCD_FINAL_SEARCH_ARTWORK_V14

   Final borderless wide artwork.
   Search card vertically centered in the artwork container.
   ========================================================= */

.crs-home-shell .search-shell {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;

    min-height: 320px !important;

    border: 0 !important;
    outline: 0 !important;

    background-position:
        center center !important;

    background-size:
        cover !important;

    background-repeat:
        no-repeat !important;

    box-shadow:
        0 18px 38px
        rgba(16, 42, 31, .07) !important;
}

.crs-home-shell .search-card {
    flex: 0 0 auto;

    width: 100% !important;
    margin-block:
        auto !important;
}

@media (max-width: 760px) {
    .crs-home-shell .search-shell {
        min-height: 260px !important;
    }
}

@media (max-width: 390px) {
    .crs-home-shell .search-shell {
        min-height: 230px !important;
    }
}

/* RCD_FINAL_SEARCH_ARTWORK_V14_END */

/* =========================================================
   RCD_SEARCH_BOX_ALL_SIDES_SHADOW_V15
   Soft equal shadow around all four sides of search artwork.
   ========================================================= */
.crs-home-shell .search-shell {
    box-shadow:
        0 0 28px rgba(16, 42, 31, .11) !important;
}
/* RCD_SEARCH_BOX_ALL_SIDES_SHADOW_V15_END */

/* =========================================================
   RCD_HOME_DYNAMIC_BRAND_MARQUEE_V16
   Admin-managed VehicleMake logos.
   ========================================================= */

.crs-home-shell .search-shell {
    margin-bottom: 14px !important;
}

.crs-home-shell .rcd-brand-marquee {
    position: relative;

    width: min(1180px, calc(100% - 40px));
    margin: 0 auto 48px;

    overflow: hidden;
}

.crs-home-shell .rcd-brand-marquee__viewport {
    position: relative;

    overflow: hidden;

    padding: 13px 0;

    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 7%,
            #000 93%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 7%,
            #000 93%,
            transparent 100%
        );
}

.crs-home-shell .rcd-brand-marquee__track {
    display: flex;
    align-items: center;

    direction: ltr;

    width: max-content;

    will-change: transform;

    animation:
        rcdBrandMarqueeMove
        30s
        linear
        infinite;
}

.crs-home-shell .rcd-brand-marquee__group {
    display: flex;
    align-items: center;

    flex: none;

    gap: 62px;
    padding-inline-end: 62px;
}

.crs-home-shell .rcd-brand-marquee__item {
    display: grid;
    place-items: center;

    flex: 0 0 auto;

    width: 108px;
    height: 58px;

    opacity: .48;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.crs-home-shell .rcd-brand-marquee__item img {
    display: block;

    width: auto;
    height: auto;

    max-width: 100px;
    max-height: 48px;

    object-fit: contain;

    filter:
        grayscale(1)
        saturate(0);

    transition:
        filter .2s ease,
        opacity .2s ease;
}

.crs-home-shell .rcd-brand-marquee__item:hover {
    opacity: 1;
    transform: scale(1.07);
}

.crs-home-shell
.rcd-brand-marquee__item:hover img {
    filter: none;
}

@keyframes rcdBrandMarqueeMove {
    from {
        transform:
            translate3d(0, 0, 0);
    }

    to {
        transform:
            translate3d(-50%, 0, 0);
    }
}

@media (max-width: 760px) {

    .crs-home-shell .search-shell {
        margin-bottom: 8px !important;
    }

    .crs-home-shell .rcd-brand-marquee {
        width: calc(100% - 24px);
        margin-bottom: 34px;
    }

    .crs-home-shell
    .rcd-brand-marquee__viewport {
        padding: 9px 0;
    }

    .crs-home-shell
    .rcd-brand-marquee__track {
        animation-duration: 24s;
    }

    .crs-home-shell
    .rcd-brand-marquee__group {
        gap: 42px;
        padding-inline-end: 42px;
    }

    .crs-home-shell
    .rcd-brand-marquee__item {
        width: 82px;
        height: 48px;
    }

    .crs-home-shell
    .rcd-brand-marquee__item img {
        max-width: 76px;
        max-height: 38px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .crs-home-shell
    .rcd-brand-marquee__track {
        animation: none;
    }

    .crs-home-shell
    .rcd-brand-marquee__group[aria-hidden="true"] {
        display: none;
    }
}

/* RCD_HOME_DYNAMIC_BRAND_MARQUEE_V16_END */


/* =========================================================
   RCD_BRAND_SYSTEM_V18
   Clickable continuous marquee + brand SEO pages + footer.
   ========================================================= */

/*
 * Tight continuous logo spacing.
 */
.crs-home-shell
.rcd-brand-marquee__group {
    gap: 18px !important;
    padding-inline-end: 18px !important;
}

.crs-home-shell
.rcd-brand-marquee__item {
    width: 78px !important;
    min-width: 78px !important;
    height: 48px !important;

    border-radius: 12px;

    cursor: pointer;

    transition:
        opacity .18s ease,
        transform .18s ease,
        background-color .18s ease;
}

.crs-home-shell
.rcd-brand-marquee__item img {
    max-width: 72px !important;
    max-height: 40px !important;
}

/*
 * Pause the whole belt when the mouse is over any logo.
 */
.crs-home-shell
.rcd-brand-marquee:hover
.rcd-brand-marquee__track,
.crs-home-shell
.rcd-brand-marquee:focus-within
.rcd-brand-marquee__track {
    animation-play-state:
        paused !important;
}

.crs-home-shell
.rcd-brand-marquee__item:hover,
.crs-home-shell
.rcd-brand-marquee__item:focus-visible {
    opacity: 1 !important;

    transform:
        scale(1.06);

    background:
        rgba(255, 255, 255, .56);

    outline: none;
}


/* =========================================================
   BRAND LANDING PAGE
   ========================================================= */

.rcd-brand-page-heading {
    display: grid;
    justify-items: start;
    gap: 12px;
}

.rcd-brand-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    color: #718079;

    font-size: 12px;
}

.rcd-brand-breadcrumb a:hover {
    color: #087846;
}

.rcd-brand-page-logo {
    display: grid;
    place-items: center;

    min-width: 116px;
    min-height: 76px;

    padding: 12px 18px;

    border:
        1px solid #dfeae4;

    border-radius:
        18px;

    background:
        #fff;

    box-shadow:
        0 12px 28px
        rgba(16, 42, 31, .06);
}

.rcd-brand-page-logo img {
    display: block;

    width: auto;
    max-width: 132px;

    height: auto;
    max-height: 56px;

    object-fit: contain;
}

.rcd-brand-locked-filter {
    width: 100%;

    padding: 13px;

    border:
        1px solid #dce8e2;

    border-radius:
        11px;

    background:
        #f7faf8;

    color:
        #183529;

    font-weight:
        800;
}


/* =========================================================
   FOOTER BRAND DIRECTORY
   ========================================================= */

.rcd-footer-brand-directory {
    width:
        min(
            1240px,
            calc(100% - 40px)
        );

    margin-inline:
        auto;

    padding:
        30px 0 32px;

    border-top:
        1px solid
        rgba(255, 255, 255, .09);
}

.rcd-footer-brand-directory__head {
    display: flex;
    align-items: end;
    justify-content: space-between;

    gap: 20px;

    margin-bottom:
        20px;
}

.rcd-footer-brand-directory__head strong {
    color: #fff;

    font-size: 15px;
    font-weight: 850;
}

.rcd-footer-brand-directory__head span {
    color:
        rgba(255, 255, 255, .52);

    font-size: 11px;
}

.rcd-footer-brand-directory__grid {
    display: grid;

    grid-template-columns:
        repeat(
            7,
            minmax(0, 1fr)
        );

    gap:
        10px 22px;
}

.rcd-footer-brand-directory__grid a {
    overflow: hidden;

    color:
        rgba(255, 255, 255, .68);

    font-size: 12px;
    line-height: 1.5;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;

    transition:
        color .15s ease,
        transform .15s ease;
}

.rcd-footer-brand-directory__grid a:hover,
.rcd-footer-brand-directory__grid a:focus-visible {
    color: #fff;

    transform:
        translateY(-1px);

    outline: none;
}


@media (max-width: 980px) {

    .rcd-footer-brand-directory__grid {
        grid-template-columns:
            repeat(
                5,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 760px) {

    .crs-home-shell
    .rcd-brand-marquee__group {
        gap: 14px !important;
        padding-inline-end:
            14px !important;
    }

    .crs-home-shell
    .rcd-brand-marquee__item {
        width: 66px !important;
        min-width: 66px !important;
        height: 42px !important;
    }

    .crs-home-shell
    .rcd-brand-marquee__item img {
        max-width: 61px !important;
        max-height: 34px !important;
    }

    .rcd-footer-brand-directory {
        width:
            min(
                100% - 32px,
                1240px
            );
    }

    .rcd-footer-brand-directory__head {
        flex-direction: column;
        align-items: flex-start;

        gap: 6px;
    }

    .rcd-footer-brand-directory__grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 430px) {

    .rcd-footer-brand-directory__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            10px 18px;
    }

}

/* RCD_BRAND_SYSTEM_V18_END */

/* =========================================================
   RCD_TRUE_CONTINUOUS_BRAND_MARQUEE_V19
   All Admin brand logos load before they enter the moving viewport.
   Tight spacing + softer edge fade.
   ========================================================= */

.crs-home-shell
.rcd-brand-marquee__viewport {
    -webkit-mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 2%,
            #000 98%,
            transparent 100%
        ) !important;

    mask-image:
        linear-gradient(
            90deg,
            transparent 0%,
            #000 2%,
            #000 98%,
            transparent 100%
        ) !important;
}

.crs-home-shell
.rcd-brand-marquee__track {
    animation-duration:
        34s !important;

    animation-timing-function:
        linear !important;

    animation-iteration-count:
        infinite !important;
}

.crs-home-shell
.rcd-brand-marquee__group {
    gap:
        10px !important;

    padding-inline-end:
        10px !important;
}

.crs-home-shell
.rcd-brand-marquee__item {
    width:
        74px !important;

    min-width:
        74px !important;

    height:
        48px !important;
}

.crs-home-shell
.rcd-brand-marquee__item img {
    max-width:
        68px !important;

    max-height:
        39px !important;
}

/*
 * Hover anywhere over the moving brand belt pauses it.
 */
.crs-home-shell
.rcd-brand-marquee:hover
.rcd-brand-marquee__track,
.crs-home-shell
.rcd-brand-marquee:focus-within
.rcd-brand-marquee__track {
    animation-play-state:
        paused !important;
}

@media (max-width: 760px) {

    .crs-home-shell
    .rcd-brand-marquee__track {
        animation-duration:
            30s !important;
    }

    .crs-home-shell
    .rcd-brand-marquee__group {
        gap:
            8px !important;

        padding-inline-end:
            8px !important;
    }

    .crs-home-shell
    .rcd-brand-marquee__item {
        width:
            62px !important;

        min-width:
            62px !important;

        height:
            42px !important;
    }

    .crs-home-shell
    .rcd-brand-marquee__item img {
        max-width:
            58px !important;

        max-height:
            34px !important;
    }
}

/* RCD_TRUE_CONTINUOUS_BRAND_MARQUEE_V19_END */

/* =========================================================
   RCD_TRUE_SEAMLESS_MARQUEE_ALIGNMENT_V20

   The public homepage is RTL.

   The marquee track is wider than its viewport. In an RTL
   containing block, an oversized shrink-to-content child can
   anchor from the right edge, causing the visible logos to
   drain left without the remaining logos entering from right.

   The moving belt itself must always use an LTR coordinate
   system regardless of the page language.
   ========================================================= */

.crs-home-shell
.rcd-brand-marquee,
.crs-home-shell
.rcd-brand-marquee__viewport {
    direction: ltr !important;
}

.crs-home-shell
.rcd-brand-marquee__viewport {
    text-align: left !important;
}

.crs-home-shell
.rcd-brand-marquee__track {
    direction: ltr !important;

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

    width: max-content !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    transform-origin:
        left center !important;

    animation:
        rcdBrandMarqueeSeamlessV20
        34s
        linear
        infinite !important;
}

.crs-home-shell
.rcd-brand-marquee__group {
    direction: ltr !important;

    flex:
        0 0 auto !important;

    flex-shrink:
        0 !important;
}

/*
 * Two identical groups:
 *
 * GROUP A | GROUP B
 *
 * Moving exactly half of the complete track replaces A with B
 * at the same visual coordinate, then the animation restarts
 * invisibly.
 */
@keyframes rcdBrandMarqueeSeamlessV20 {

    from {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    to {
        transform:
            translate3d(
                -50%,
                0,
                0
            );
    }

}

.crs-home-shell
.rcd-brand-marquee:hover
.rcd-brand-marquee__track,
.crs-home-shell
.rcd-brand-marquee:focus-within
.rcd-brand-marquee__track {
    animation-play-state:
        paused !important;
}

@media (max-width: 760px) {

    .crs-home-shell
    .rcd-brand-marquee__track {
        animation-duration:
            30s !important;
    }

}

/* RCD_TRUE_SEAMLESS_MARQUEE_ALIGNMENT_V20_END */
