
.map-builder-home{
    width:min(1510px,calc(100% - 24px));
    margin:14px auto 30px;
    color:#081a3a;
}

.map-builder-top{
    display:grid;
    grid-template-columns:380px minmax(0,1fr);
    gap:9px;
    align-items:stretch;
}

.map-builder-filter,
.map-builder-hero{
    height:250px;
    min-height:250px;
    max-height:250px;
}

.map-builder-filter{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:7px 9px 7px;
    border-radius:12px;
    background:linear-gradient(180deg,#0d4fa3 0%,#082b63 100%);
}

.map-builder-filter>h2{
    margin:0 0 5px;
    color:#ef2028;
    font-size:15px;
    line-height:1.1;
    font-weight:900;
}

.map-builder-filter-body{
    min-height:0;
    flex:0 0 auto;
}

.map-builder-filter-body .map-v7-filter,
.map-builder-filter-body .map-search-engine,
.map-builder-filter-body .map-search-orange{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.map-builder-filter-body .map-search-orange>h2,
.map-builder-filter-body [data-status],
.map-builder-filter-body p{
    display:none!important;
}

.map-builder-filter-body .map-v7-fields{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;
}

.map-builder-filter-body .map-v7-fields select{
    width:100%!important;
    height:33px!important;
    min-height:33px!important;
    padding:0 30px 0 10px!important;
    border:0!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#192335!important;
    font-size:10px!important;
    font-weight:700!important;
}

.map-builder-filter-body .map-v7-fields select:disabled{
    background:#d5dbea!important;
    color:#687386!important;
}

.map-builder-filter-body .map-search-submit{
    display:none!important;
}

.map-builder-search-button{
    width:100%;
    height:35px;
    min-height:35px;
    margin:4px 0 0;
    border:0;
    border-radius:8px;
    background:#d71920;
    color:#fff;
    opacity:1;
    font-size:10px;
    font-weight:900;
    cursor:pointer;
}

.map-builder-search-button:disabled{
    cursor:not-allowed;
}

.map-builder-search-button span{
    margin-right:6px;
    font-size:18px;
    line-height:0;
}

.map-builder-ai{
    height:38px;
    min-height:38px;
    margin-top:4px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid rgba(98,228,255,.55);
    border-radius:9px;
    background:rgba(0,84,180,.18);
    text-decoration:none;
}

.map-builder-ai-logo{
    width:26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #62e4ff;
    border-radius:50%;
    background:#0766c6;
    color:#fff;
    font-size:9px;
    font-weight:900;
    box-shadow:0 0 11px rgba(98,228,255,.65);
}

.map-builder-ai strong{
    color:#ffd52b;
    font-size:11px;
    font-weight:900;
}

.map-builder-hero{
    position:relative;
    overflow:hidden;
    border-radius:12px;
    background:#fff;
}

.map-builder-slide{
    position:absolute;
    inset:0;
    opacity:0;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    transition:opacity .65s ease;
}

.map-builder-slide.is-active{
    opacity:1;
}

.map-builder-ad{
    position:absolute;
    left:18px;
    top:50%;
    z-index:3;
    width:min(310px,35%);
    color:#fff;
    transform:translateY(-50%);
    text-shadow:0 2px 10px rgba(0,0,0,.9);
}

.map-builder-ad>span{
    display:block;
    margin-bottom:5px;
    color:#ffd52b;
    font-size:9px;
    font-weight:900;
    letter-spacing:.7px;
}

.map-builder-ad h2{
    margin:0 0 7px;
    color:#fff;
    font-size:27px;
    line-height:1.04;
    font-weight:900;
}

.map-builder-ad p{
    margin:0 0 12px;
    color:#fff;
    font-size:10.5px;
    line-height:1.35;
    font-weight:800;
}

.map-builder-ad a{
    min-height:35px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:#d71920;
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
    text-shadow:none;
}

.map-builder-brands{
    margin-top:6px;
    padding:5px 12px 7px;
    overflow:hidden;
    border:1px solid #e1e6ee;
    border-radius:11px;
    background:#fff;
}

.map-builder-brand-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:3px;
}

.map-builder-brand-head h2,
.map-builder-brand-head span{
    margin:0;
    color:#d71920;
    font-weight:900;
}

.map-builder-brand-head h2{font-size:14px}
.map-builder-brand-head span{font-size:9px}

.map-builder-brand-viewport{
    overflow:hidden;
}

.map-builder-brand-track{
    display:flex;
    width:max-content;
    gap:34px;
    animation:map-builder-brand-scroll 38s linear infinite;
}

.map-builder-brand{
    width:108px;
    flex:0 0 108px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
}

.map-builder-brand img{
    width:92px;
    height:44px;
    object-fit:contain;
}

.map-builder-brand strong{
    color:#111827;
    font-size:8px;
    font-weight:800;
}

@keyframes map-builder-brand-scroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

.map-builder-products{
    margin-top:6px;
}

.map-builder-warning{
    padding:14px;
    border:1px solid #f2c4c4;
    border-radius:8px;
    background:#fff4f4;
    color:#9b1c1c;
    font-weight:800;
}

@media(max-width:1050px){
    .map-builder-top{
        grid-template-columns:340px minmax(0,1fr);
    }

    .map-builder-filter,
    .map-builder-hero{
        height:245px;
        min-height:245px;
        max-height:245px;
    }
}

@media(max-width:760px){
    .map-builder-home{
        width:calc(100% - 12px);
    }

    .map-builder-top{
        display:flex;
        flex-direction:column;
    }

    .map-builder-filter{
        height:auto;
        min-height:0;
        max-height:none;
    }

    .map-builder-hero{
        height:215px;
        min-height:215px;
        max-height:215px;
    }

    .map-builder-ad{
        width:56%;
    }

    .map-builder-ad h2{
        font-size:22px;
    }

    .map-builder-ad p{
        font-size:9px;
    }
}


/* v4.1.0 — compact filter, white heading, clean text-free slider */

/* Heading requested in white. */
.map-builder-filter>h2{
    color:#fff!important;
}

/* Bring the filter fields closer so the search button and AI box remain visible. */
.map-builder-filter{
    padding:6px 8px 6px!important;
}

.map-builder-filter>h2{
    margin-bottom:4px!important;
    font-size:14px!important;
    line-height:1.05!important;
}

.map-builder-filter-body .map-v7-fields{
    gap:3px!important;
}

.map-builder-filter-body .map-v7-fields select{
    height:30px!important;
    min-height:30px!important;
    padding:0 26px 0 9px!important;
    font-size:9.5px!important;
    line-height:30px!important;
}

.map-builder-search-button{
    height:33px!important;
    min-height:33px!important;
    margin-top:3px!important;
    font-size:10px!important;
}

.map-builder-ai{
    height:36px!important;
    min-height:36px!important;
    margin-top:3px!important;
}

/* Remove every slider text layer. */
.map-builder-ad{
    display:none!important;
}

/* Show each complete image clearly inside the slider. */
.map-builder-slide{
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
}

/* Keep the approved equal height. */
.map-builder-filter,
.map-builder-hero{
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
}

@media(max-width:1050px){
    .map-builder-filter,
    .map-builder-hero{
        height:245px!important;
        min-height:245px!important;
        max-height:245px!important;
    }
}

@media(max-width:760px){
    .map-builder-filter{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
    }

    .map-builder-hero{
        height:215px!important;
        min-height:215px!important;
        max-height:215px!important;
    }
}


/* v4.2.0 — close filter rows, larger dropdown text, clean slides */

/* Keep the dropdown height; only close the rows vertically. */
.map-builder-filter-body .map-v7-fields{
    row-gap:2px!important;
    column-gap:7px!important;
}

/* Move Year/Category and Sub-category/Part Name upward by reducing margins. */
.map-builder-filter-body .map-v7-fields select{
    margin:0!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 32px 0 12px!important;
    font-size:14px!important;
    line-height:42px!important;
    font-weight:700!important;
}

/* Keep selected vehicle details clearly readable. */
.map-builder-filter-body .map-v7-fields select option{
    font-size:14px!important;
}

/* Slightly tighten the title and panel spacing without shrinking controls. */
.map-builder-filter{
    padding:6px 9px 7px!important;
}

.map-builder-filter>h2{
    margin:0 0 4px!important;
    color:#fff!important;
    font-size:15px!important;
    line-height:1.05!important;
}

/* Pull the red search button and AI Assistant upward. */
.map-builder-search-button{
    margin-top:3px!important;
    height:36px!important;
    min-height:36px!important;
}

.map-builder-ai{
    margin-top:3px!important;
    height:38px!important;
    min-height:38px!important;
}

/* Filter and slider remain equal in height. */
.map-builder-filter,
.map-builder-hero{
    height:286px!important;
    min-height:286px!important;
    max-height:286px!important;
}

/* Remove all slider text layers. */
.map-builder-ad{
    display:none!important;
}

/* Show the full clean image clearly. */
.map-builder-slide{
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
}

/* Add a little separation before Shop by Brand. */
.map-builder-brands{
    margin-top:8px!important;
}

@media(max-width:1050px){
    .map-builder-filter,
    .map-builder-hero{
        height:280px!important;
        min-height:280px!important;
        max-height:280px!important;
    }
}

@media(max-width:760px){
    .map-builder-filter{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
    }

    .map-builder-hero{
        height:220px!important;
        min-height:220px!important;
        max-height:220px!important;
    }

    .map-builder-filter-body .map-v7-fields select{
        height:40px!important;
        min-height:40px!important;
        font-size:13px!important;
        line-height:40px!important;
    }
}


/* v4.3.0 — five final clean text-free slides */

/* Keep the corrected filter exactly as approved. */

/* Ensure every slide displays as a plain image only. */
.map-builder-ad{
    display:none!important;
}

.map-builder-slide{
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
}

/* Remove any theme or legacy overlays on the hero. */
.map-builder-hero:before,
.map-builder-hero:after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
}


/* v4.5.0 — final clean photo slider */
.map-builder-slide{
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
    transform:none!important;
}

.map-builder-hero:before,
.map-builder-hero:after,
.map-builder-ad{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
}


/* v4.6.0 — five genuinely different hero slides */
.map-builder-slide{
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
    transform:none!important;
}

.map-builder-ad,
.map-builder-hero:before,
.map-builder-hero:after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
}


/* v4.7.0 — final five clean independent slides */
.map-builder-slide{
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
    transform:none!important;
}

.map-builder-ad,
.map-builder-hero:before,
.map-builder-hero:after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
}


/* v4.8.0 — five separate clean row slides */
.map-builder-slide{
    background-size:contain!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
    transform:none!important;
}

.map-builder-ad,
.map-builder-hero:before,
.map-builder-hero:after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
}


/* v4.9.0 — individual full-size hero banners */
.map-builder-slide{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#fff!important;
    filter:none!important;
    transform:none!important;
}

.map-builder-ad,
.map-builder-hero:before,
.map-builder-hero:after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
}


/* v5.0.0 — exact five-image slider package */
.map-builder-slide{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#07101d!important;
    filter:none!important;
    transform:none!important;
}

.map-builder-ad,
.map-builder-hero:before,
.map-builder-hero:after{
    display:none!important;
    content:none!important;
    background:none!important;
    opacity:0!important;
}


/* v5.0.1 — unbroken full-image slides */
.map-builder-slide{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#07101d!important;
    filter:none!important;
    transform:none!important;
}
