.rcd-category-mosaic{
    max-width:1240px;
    margin:auto;
    padding:54px 24px 68px;
}

.rcd-category-mosaic__heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:26px;
}

.rcd-category-mosaic__heading h2{
    margin:0 0 6px;
    color:var(--ink);
    font-size:clamp(28px,4vw,42px);
    line-height:1.2;
}

.rcd-category-mosaic__heading p{
    max-width:720px;
    margin:0;
    color:var(--muted);
    font-size:16px;
}

.rcd-category-mosaic__grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-rows:156px;
    gap:16px;
}

.rcd-category-card{
    --rcd-a:#0d6b43;
    --rcd-b:#173a2b;

    position:relative;
    display:flex;
    align-items:flex-end;
    min-height:100%;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.06);
    border-radius:24px;
    background:
        radial-gradient(
            circle at 76% 18%,
            rgba(255,255,255,.18),
            transparent 28%
        ),
        radial-gradient(
            circle at 20% 100%,
            rgba(255,255,255,.10),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            var(--rcd-a),
            var(--rcd-b)
        );
    color:#fff;
    box-shadow:
        0 18px 40px rgba(15,45,31,.10);
    isolation:isolate;
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.rcd-category-card:hover,
.rcd-category-card:focus-visible{
    transform:translateY(-4px);
    box-shadow:
        0 24px 52px rgba(15,45,31,.18);
    outline:none;
}

.rcd-category-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            transparent 28%,
            rgba(4,18,11,.08) 48%,
            rgba(4,18,11,.68) 100%
        );
}


/* RCD_HOME_CATEGORY_IMAGES_CMS_V1 */
.rcd-category-card__image{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    pointer-events:none;
}

.rcd-category-card__image[hidden]{
    display:none!important;
}

.rcd-category-card.has-category-image
.rcd-category-card__visual{
    display:none;
}

.rcd-category-card__visual{
    position:absolute;
    z-index:1;
    inset-inline-end:-18px;
    top:50%;
    width:min(68%,370px);
    height:min(74%,180px);
    transform:translateY(-54%) rotate(-2deg);
    color:rgba(255,255,255,.16);
    pointer-events:none;
}

[dir="ltr"] .rcd-category-card__visual{
    transform:translateY(-54%) rotate(2deg);
}

.rcd-category-card__visual svg{
    width:100%;
    height:100%;
    filter:
        drop-shadow(
            0 18px 12px
            rgba(0,0,0,.13)
        );
}

.rcd-category-card__content{
    position:relative;
    z-index:2;
    width:100%;
    padding:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.rcd-category-card__content strong{
    font-size:clamp(19px,2.1vw,27px);
    line-height:1.25;
    font-weight:900;
}

.rcd-category-card__arrow{
    flex:0 0 auto;
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    background:rgba(255,255,255,.13);
    backdrop-filter:blur(8px);
}

.rcd-category-card__arrow svg{
    width:18px;
    height:18px;
}

[dir="ltr"] .rcd-category-card__arrow{
    transform:scaleX(-1);
}

.rcd-category-card--economy{
    grid-column:span 5;
    grid-row:span 2;
    --rcd-a:#167354;
    --rcd-b:#0b3d2d;
}

.rcd-category-card--sedan{
    grid-column:span 7;
    grid-row:span 2;
    --rcd-a:#315b67;
    --rcd-b:#18333d;
}

.rcd-category-card--suv{
    grid-column:span 7;
    grid-row:span 2;
    --rcd-a:#6b5940;
    --rcd-b:#302b22;
}

.rcd-category-card--family{
    grid-column:span 5;
    grid-row:span 2;
    --rcd-a:#4f7259;
    --rcd-b:#294332;
}

.rcd-category-card--luxury{
    grid-column:span 6;
    grid-row:span 2;
    --rcd-a:#4b4433;
    --rcd-b:#1e1b16;
}

.rcd-category-card--sports{
    grid-column:span 6;
    grid-row:span 2;
    --rcd-a:#6c403d;
    --rcd-b:#341d1b;
}

.rcd-category-card--coupe{
    grid-column:span 6;
    grid-row:span 2;
    --rcd-a:#334f6a;
    --rcd-b:#1c2e40;
}

.rcd-category-card--electric{
    grid-column:span 6;
    grid-row:span 2;
    --rcd-a:#28766d;
    --rcd-b:#123d39;
}

@media(max-width:900px){
    .rcd-category-mosaic__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-auto-rows:190px;
    }

    .rcd-category-card{
        grid-column:span 1!important;
        grid-row:span 1!important;
    }

    .rcd-category-card--suv,
    .rcd-category-card--luxury{
        grid-column:span 2!important;
    }
}

@media(max-width:760px){
    .rcd-category-mosaic{
        padding:38px 16px 52px;
    }

    .rcd-category-mosaic__heading{
        display:grid;
        align-items:start;
        gap:16px;
    }

    .rcd-category-mosaic__heading .button{
        width:max-content;
    }

    .rcd-category-mosaic__grid{
        gap:12px;
        grid-auto-rows:154px;
    }

    .rcd-category-card{
        border-radius:19px;
    }

    .rcd-category-card__content{
        padding:17px;
    }

    .rcd-category-card__content strong{
        font-size:18px;
    }

    .rcd-category-card__arrow{
        width:34px;
        height:34px;
    }
}

@media(max-width:520px){
    .rcd-category-mosaic__grid{
        grid-template-columns:1fr;
        grid-auto-rows:170px;
    }

    .rcd-category-card,
    .rcd-category-card--suv,
    .rcd-category-card--luxury{
        grid-column:span 1!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .rcd-category-card{
        transition:none;
    }
}

.rcd-popular-destinations{
    padding-top:14px;
}

.rcd-popular-destinations__head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
}

.rcd-popular-destinations__head h2{
    margin:0 0 7px;
    color:#0a3429;
    font-size:clamp(28px,3vw,42px);
    line-height:1.2;
}

.rcd-popular-destinations__head p{
    margin:0;
    color:#76847f;
    font-size:15px;
}

.rcd-popular-destinations__grid{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:18px;
}

.rcd-destination-card{
    position:relative;
    min-height:250px;
    overflow:hidden;
    border-radius:24px;
    isolation:isolate;
    text-decoration:none;
    box-shadow:
        0 20px 44px rgba(11,53,42,.12);
    background:
        linear-gradient(
            135deg,
            #17684c,
            #082e25
        );
}

.rcd-destination-card__image{
    position:absolute;
    inset:0;
    z-index:-2;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.rcd-destination-card__fallback{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(98,212,158,.30),
            transparent 36%
        ),
        linear-gradient(
            135deg,
            #1b7052,
            #082f25
        );
}

.rcd-destination-card.has-image
.rcd-destination-card__fallback{
    display:none;
}

.rcd-destination-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(
            180deg,
            rgba(3,30,23,.04) 20%,
            rgba(3,30,23,.86) 100%
        );
}

.rcd-destination-card__content{
    position:absolute;
    inset-inline:24px;
    bottom:22px;
    display:grid;
    gap:6px;
}

.rcd-destination-card__country{
    display:inline-flex;
    width:max-content;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    color:#0b553d;
    font-size:12px;
    font-weight:800;
}

.rcd-destination-card strong{
    color:#fff;
    font-size:28px;
    line-height:1.2;
}

.rcd-destination-card small{
    color:rgba(255,255,255,.80);
    font-size:14px;
}

.rcd-destination-card:hover
.rcd-destination-card__image{
    transform:scale(1.04);
}

@media(max-width:760px){
    .rcd-popular-destinations__grid{
        grid-template-columns:1fr;
    }

    .rcd-destination-card{
        min-height:220px;
    }
}

#crs-booking-confidence
.crs-booking-confidence__features{
    grid-template-columns:
        repeat(2,minmax(0,1fr));
}

#crs-booking-confidence
.crs-booking-confidence__booking{
    min-width:0;
}

#crs-booking-confidence
.crs-booking-confidence__steps{
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        30px
        minmax(0,1fr)
        30px
        minmax(0,1fr)
        30px
        minmax(0,1fr);
    align-items:start;
    gap:4px;
}

#crs-booking-confidence
.crs-booking-confidence__step{
    min-width:0;
}

#crs-booking-confidence
.crs-booking-confidence__step-copy strong,
#crs-booking-confidence
.crs-booking-confidence__step-copy small{
    overflow-wrap:anywhere;
}

#crs-booking-confidence
.crs-booking-confidence__connector{
    align-self:start;
    display:flex;
    align-items:center;
    justify-content:center;
    padding-top:28px;
}

@media(max-width:1100px){

    #crs-booking-confidence
    .crs-booking-confidence__steps{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
        gap:22px;
    }

    #crs-booking-confidence
    .crs-booking-confidence__connector{
        display:none;
    }
}

@media(max-width:760px){

    #crs-booking-confidence
    .crs-booking-confidence__features,
    #crs-booking-confidence
    .crs-booking-confidence__steps{
        grid-template-columns:1fr;
    }
}

.rcd-home-faq{
    padding-block:34px 78px;
}

.rcd-home-faq__layout{
    display:grid;
    grid-template-columns:
        minmax(260px,.72fr)
        minmax(0,1.28fr);
    gap:52px;
    align-items:start;
    padding:38px;
    border:1px solid rgba(19,55,42,.08);
    border-radius:28px;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fbfcfb 100%
        );
    box-shadow:
        0 18px 46px
        rgba(12,49,36,.055);
}

.rcd-home-faq__intro{
    position:sticky;
    top:110px;
}

.rcd-home-faq__eyebrow{
    display:inline-flex;
    align-items:center;
    margin-bottom:14px;
    padding:7px 12px;
    border-radius:999px;
    background:#edf6f1;
    color:#187957;
    font-size:13px;
    font-weight:800;
}

.rcd-home-faq__intro h2{
    margin:0 0 14px;
    color:#102f24;
    font-size:clamp(30px,3vw,44px);
    line-height:1.15;
}

.rcd-home-faq__intro p{
    max-width:440px;
    margin:0;
    color:#77847f;
    font-size:15px;
    line-height:1.9;
}

.rcd-home-faq__list{
    display:grid;
    gap:12px;
}

.rcd-home-faq__item{
    overflow:hidden;
    border:1px solid rgba(19,55,42,.09);
    border-radius:18px;
    background:#fff;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.rcd-home-faq__item:hover{
    border-color:rgba(24,121,87,.23);
}

.rcd-home-faq__item[open]{
    border-color:rgba(24,121,87,.24);
    box-shadow:
        0 12px 28px
        rgba(14,63,45,.07);
}

.rcd-home-faq__item summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:68px;
    padding:17px 20px;
    color:#163b2e;
    font-size:16px;
    font-weight:800;
    line-height:1.55;
    cursor:pointer;
    list-style:none;
}

.rcd-home-faq__item summary::-webkit-details-marker{
    display:none;
}

.rcd-home-faq__toggle{
    display:grid;
    flex:0 0 34px;
    width:34px;
    height:34px;
    place-items:center;
    border-radius:50%;
    background:#edf6f1;
    color:#187957;
    font-size:22px;
    font-weight:500;
    line-height:1;
    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease;
}

.rcd-home-faq__item[open]
.rcd-home-faq__toggle{
    transform:rotate(45deg);
    background:#187957;
    color:#fff;
}

.rcd-home-faq__answer{
    padding:
        0 20px 20px;
}

.rcd-home-faq__answer p{
    margin:0;
    padding-top:15px;
    border-top:
        1px solid
        rgba(19,55,42,.07);
    color:#6f7d78;
    font-size:14px;
    line-height:1.9;
}

@media(max-width:900px){

    .rcd-home-faq__layout{
        grid-template-columns:1fr;
        gap:28px;
        padding:28px;
    }

    .rcd-home-faq__intro{
        position:static;
    }
}

@media(max-width:600px){

    .rcd-home-faq{
        padding-block:24px 54px;
    }

    .rcd-home-faq__layout{
        padding:20px;
        border-radius:22px;
    }

    .rcd-home-faq__item summary{
        min-height:62px;
        padding:15px 16px;
        font-size:15px;
    }

    .rcd-home-faq__answer{
        padding:
            0 16px 17px;
    }
}

.rcd-home-seo{
    padding-block:0 76px;
}

.rcd-home-seo__shell{
    padding:38px;
    border-radius:28px;
    background:
        linear-gradient(
            145deg,
            #f7faf8 0%,
            #eef5f1 100%
        );
    border:
        1px solid
        rgba(18,62,45,.07);
}

.rcd-home-seo__header{
    max-width:820px;
    margin-bottom:28px;
}

.rcd-home-seo__eyebrow{
    display:inline-flex;
    margin-bottom:13px;
    padding:7px 12px;
    border-radius:999px;
    background:#ffffff;
    color:#177a57;
    font-size:13px;
    font-weight:800;
    box-shadow:
        0 5px 16px
        rgba(18,62,45,.045);
}

.rcd-home-seo__header h2{
    margin:0 0 13px;
    color:#102f24;
    font-size:clamp(29px,3vw,42px);
    line-height:1.2;
}

.rcd-home-seo__header p{
    margin:0;
    color:#6f7f79;
    font-size:15px;
    line-height:1.95;
}

.rcd-home-seo__grid{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:16px;
}

.rcd-home-seo__card{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:24px;
    border-radius:21px;
    background:#fff;
    border:
        1px solid
        rgba(18,62,45,.07);
    box-shadow:
        0 12px 28px
        rgba(18,62,45,.045);
}

.rcd-home-seo__card--gcc{
    background:
        linear-gradient(
            145deg,
            #123b2e 0%,
            #0d2f24 100%
        );
}

.rcd-home-seo__market{
    align-self:flex-start;
    margin-bottom:13px;
    padding:6px 10px;
    border-radius:999px;
    background:#edf6f1;
    color:#187957;
    font-size:12px;
    font-weight:800;
}

.rcd-home-seo__card--gcc
.rcd-home-seo__market{
    background:
        rgba(255,255,255,.12);
    color:#dcece5;
}

.rcd-home-seo__card h3{
    margin:0 0 11px;
    color:#14382c;
    font-size:20px;
    line-height:1.4;
}

.rcd-home-seo__card p{
    flex:1;
    margin:0;
    color:#70807a;
    font-size:14px;
    line-height:1.9;
}

.rcd-home-seo__card--gcc h3{
    color:#fff;
}

.rcd-home-seo__card--gcc p{
    color:rgba(255,255,255,.76);
}

.rcd-home-seo__link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    align-self:flex-start;
    margin-top:19px;
    color:#177a57;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

html[dir="ltr"]
.rcd-home-seo__link
span:last-child{
    transform:rotate(180deg);
}

.rcd-home-seo__coming-soon{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:19px;
}

.rcd-home-seo__coming-soon span{
    padding:6px 9px;
    border-radius:999px;
    background:
        rgba(255,255,255,.10);
    color:#d8e9e2;
    font-size:12px;
    font-weight:700;
}

@media(max-width:950px){

    .rcd-home-seo__grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){

    .rcd-home-seo{
        padding-block:0 54px;
    }

    .rcd-home-seo__shell{
        padding:21px;
        border-radius:22px;
    }

    .rcd-home-seo__card{
        padding:20px;
    }
}

.crs-duration-pricing-note {
    grid-column: 1 / -1;
    margin: .2rem 0 0;
    color: #66756d;
    font-size: .78rem;
    line-height: 1.6;
}
html[lang="ar"] .crs-duration-note-en {
    display: none !important;
}
html[lang="en"] .crs-duration-note-ar {
    display: none !important;
}
[data-auto-duration-legacy],
[data-auto-duration-hidden] {
    display: none !important;
}

.search-card {
    grid-template-columns:
        minmax(150px, .9fr)
        minmax(180px, 1.2fr)
        minmax(175px, 1fr)
        minmax(175px, 1fr)
        auto;
}

.rcd-country-explore {
    overflow: clip;
}

.rcd-country-grid {
    display: grid;
    grid-template-columns:
        repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.rcd-country-card {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    border: 0;
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            #0d6940 0%,
            #0b2f22 100%
        );
    color: #fff;
    isolation: isolate;
    box-shadow:
        0 12px 34px rgba(15,49,33,.12);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.rcd-country-card:nth-child(-n+2) {
    grid-column: span 6;
    min-height: 300px;
}

.rcd-country-card:nth-child(n+3) {
    grid-column: span 3;
}

.rcd-country-card__media,
.rcd-country-card__placeholder,
.rcd-country-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.rcd-country-card__placeholder {
    background:
        radial-gradient(
            circle at 76% 20%,
            rgba(216,167,47,.22),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #0d6940 0%,
            #0b2f22 100%
        );
    transition: opacity .25s ease;
}

.rcd-country-card__image {
    object-fit: cover;
    transform: scale(1.001);
    transition:
        transform .45s ease,
        filter .3s ease;
}

.rcd-country-card.has-image
.rcd-country-card__placeholder {
    opacity: 0;
}

.rcd-country-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(9,29,20,.04) 20%,
            rgba(9,29,20,.78) 100%
        );
}

.rcd-country-card__content {
    position: absolute;
    z-index: 2;
    inset-inline: 22px;
    bottom: 20px;
    display: grid;
    justify-items: start;
    gap: 3px;
    text-align: start;
}

.rcd-country-card strong {
    color: #fff;
    font-size:
        clamp(20px, 2vw, 28px);
    line-height: 1.2;
    text-shadow:
        0 2px 14px rgba(0,0,0,.28);
}

.rcd-country-card small {
    color:
        rgba(255,255,255,.86);
    font-size: 13px;
}

.rcd-country-card__currency {
    display: inline-flex;
    margin-top: 7px;
    padding: 4px 9px;
    border-radius: 999px;
    background:
        rgba(255,255,255,.92);
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
}

.rcd-country-card:hover,
.rcd-country-card:focus-visible {
    transform: translateY(-4px);
    box-shadow:
        0 20px 44px rgba(15,49,33,.18);
}

.rcd-country-card:hover
.rcd-country-card__image {
    transform: scale(1.035);
}

.rcd-country-card.is-coming
.rcd-country-card__image {
    filter: saturate(.82);
}

/*
 * If no CMS hero image exists, keep only a
 * neutral background. No white logo and no
 * country-flag artwork is injected by CSS.
 */
.hero-visual-card.is-image-unavailable {
    background:
        linear-gradient(
            145deg,
            #0d6940 0%,
            #0b2f22 100%
        );
}

.hero-visual-card.is-image-unavailable::before,
.hero-visual-card.is-image-unavailable::after {
    content: none;
    display: none;
}

@media (max-width: 1080px) {
    .search-card {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .search-card .button {
        grid-column: 1 / -1;
    }

    .rcd-country-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .rcd-country-card,
    .rcd-country-card:nth-child(-n+2),
    .rcd-country-card:nth-child(n+3) {
        grid-column: span 1;
        min-height: 235px;
    }
}

@media (max-width: 620px) {
    .search-card {
        grid-template-columns: 1fr;
    }

    .search-card .button {
        grid-column: auto;
    }

    .rcd-country-grid {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        padding: 2px 2px 14px;
        scroll-snap-type:
            x mandatory;
        overscroll-behavior-inline:
            contain;
        scrollbar-width: thin;
    }

    .rcd-country-card,
    .rcd-country-card:nth-child(-n+2),
    .rcd-country-card:nth-child(n+3) {
        flex:
            0 0 min(82vw, 360px);
        min-height: 230px;
        scroll-snap-align: start;
    }

    .rcd-country-card__content {
        inset-inline: 18px;
        bottom: 17px;
    }
}

/* RCD_C4_4_F_SEARCH_CONTAINER_MOBILE_PARITY_V1
 * Match the Customer App search-card surface:
 * white background, 18px radius, existing border token,
 * and the app's soft emerald shadow.
 * Visual-only override: layout, fields, RTL and behavior remain unchanged.
 */
#marketplaceSearchForm.search-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 12px 26px rgba(11, 77, 58, .071);
}
