.idm-wrapper{

    display:flex;

    flex-direction:row-reverse;

    gap:60px;

    align-items:flex-start;

}


.idm-map{

    width:42%;

}

.idm-map svg{

    width:100%;

    max-width:520px;

}

.idm-sidebar{

    width:50%;

}
.idm-map a{
    cursor: default;
}

.idm-map a path{
    transition: .25s;
}

.idm-map a.has-dealer{
    cursor:pointer;
}

.idm-map a.has-dealer:hover path{
    fill:#ef2d2d !important;
}


.idm-header{

    margin-bottom:45px;

}

.idm-subtitle{

    display:block;

    color:#666;

    font-size:18px;

    margin-bottom:18px;

    font-weight:500;

}

.idm-title{

    margin:0;

    font-size:30px;

    font-weight:800;

    color:#333;

    line-height:1.4;

}

.idm-title span{

    color:#ef3b3b;

    position:relative;

}

.idm-title span::after{

    content:"";

    position:absolute;

    width:120px;

    height:4px;

    background:#ef3b3b;

    right:0;

    bottom:-8px;

    border-radius:20px;

}

.idm-toolbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:45px;
 flex-wrap:nowrap;
}

.idm-province{

    display:flex;
    align-items:center;
     gap:10px;
    flex-wrap:nowrap;
    white-space:nowrap;
    font-size:20px;
    font-weight:700;
    color:#333;

}

.idm-province strong{

    color:#ef3b3b;

}

.idm-count{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;

    background:#ef2d2d;
    color:#fff;

    padding:10px 22px;

    border-radius:50px;

    white-space:nowrap;

    flex-wrap:nowrap;
}

.idm-count span{

    display:inline-block;

    font-size:20px;

    font-weight:700;

    line-height:1;
}
#idm-province-title{
    font-size:25px;
    font-weight:800;
    text-align:right;
}

.idm-card{

    background:#fff;
    border:1px solid #ececec;
    border-radius:18px;

    padding:16px 22px;

    margin-bottom:14px;

    box-shadow:0 2px 12px rgba(0,0,0,.05);

    transition:.25s;

    min-height:120px;

}

.idm-card:hover{

    box-shadow:0 8px 18px rgba(0,0,0,.08);
    transform:translateY(-2px);

}
.idm-card-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:10px;

}
.idm-card h3{

    margin:0;

    font-size:20px;

    font-weight:700;

    color:#222;

    line-height:1.6;

}

.idm-stars{

    margin:8px 0;

    color:#FDBA12;

    font-size:18px;

    letter-spacing:1px;

}
.idm-manager{

    margin:0;

    color:#777;

    font-size:16px;

    font-weight:500;

}
.idm-dealers{
    position: relative;
    min-height: 180px;
}

.idm-dealers.loading{
    opacity: .45;
    pointer-events: none;
}

.idm-dealers.loading::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    margin-left: -21px;
    border: 4px solid #e5e5e5;
    border-top-color: #ef2d2d;
    border-radius: 50%;
    animation: idmSpin .8s linear infinite;
    z-index: 999;
}

@keyframes idmSpin{
    to{
        transform: rotate(360deg);
    }
}
/*=========================
=        Tablet
=========================*/

@media (max-width:1024px){

    .idm-wrapper{

        gap:35px;

    }

    .idm-map{

        width:40%;

    }

    .idm-sidebar{

        width:60%;

    }

    .idm-title{

        font-size:26px;

    }

    .idm-subtitle{

        font-size:16px;

    }

    .idm-province{

        font-size:17px;

    }

    #idm-province-title{

        font-size:21px;

    }

    .idm-count span{

        font-size:17px;

    }

}
/*=========================
=        Mobile
=========================*/

@media (max-width:768px){

    .idm-wrapper{

        flex-direction:column;

        gap:40px;

    }

    .idm-map{

        width:100%;

        order:2;

        text-align:center;

    }

    .idm-map svg{

        width:100%;

        max-width:320px;

        margin:auto;

        display:block;

    }

    .idm-sidebar{

        width:100%;

        order:1;

    }

}
@media (max-width:768px){

    .idm-header{

        margin-bottom:25px;

        text-align:center;

    }

    .idm-title{

        font-size:26px;

    }

    .idm-subtitle{

        font-size:15px;

    }

    .idm-title span::after{

        width:80px;

        right:50%;

        transform:translateX(50%);

    }

}
@media (max-width:768px){

    .idm-toolbar{

        flex-direction:column;

        gap:18px;

        margin-top:25px;

    }

    .idm-province{

        justify-content:center;

        font-size:17px;

    }

    #idm-province-title{

        font-size:20px;

    }

    .idm-count{

        padding:8px 20px;

    }

    .idm-count span{

        font-size:16px;

    }

}
@media (max-width:768px){

    .idm-card{

        padding:14px 16px;

        border-radius:14px;

        min-height:auto;

    }

    .idm-card-top{

        flex-direction:column;

        align-items:flex-start;

        gap:8px;

    }

    .idm-card h3{

        font-size:18px;

    }

    .idm-stars{

        font-size:17px;

    }

    .idm-manager{

        font-size:14px;

    }

}
@media (max-width:768px){

    .idm-map svg{

        max-height:430px;

    }

}
.idm-map a:not(.has-dealer){
    pointer-events: none;
    cursor: default;
}