/* ============================== */
/* MODE DAMIER (4 colonnes)       */
/* ============================== */
.article_content.damier {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    gap: 10px !important;
}
.article_content.damier > div {
    flex: 0 0 calc(25% - 8px) !important;
    max-width: calc(25% - 8px) !important;
    width: calc(25% - 8px) !important;
    padding: 0 !important;
    margin: 0 !important;
}
.article_content.damier article.item-listing {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    border: 1px solid #000;
    margin: 0 !important;
}
.article_content.damier .block_img, 
.article_content.damier .block_info {
    width: 100% !important;
    float: none !important;
}
.article_content.damier .infos-flex, 
.article_content.damier .description,
.article_content.damier .box {
    display: none !important;
}
.article_content.damier .block_info {
    padding: 0 !important;
    margin: 0 !important;
}
.article_content.damier .header-item {
    background: #000 !important;
    padding: 0 8px 5px 8px !important;
}
.article_content.damier .info_type, 
.article_content.damier .info_titre, 
.article_content.damier .info_ville {
    color: #fff !important;
}
.article_content.damier .info_titre {
    display: none !important;
}
.article_content.damier .info_type {
    font-size: 13px !important;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
}
.article_content.damier .info_ville {
    font-size: 15px !important;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
}
.article_content.damier .info_prix {
    font-size: 18px !important;
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    padding: 5px 8px !important;
}
.article_content.damier .card_list {
    padding: 0 8px !important;
    margin-bottom: 5px !important;
}
.article_content.damier .card_list li {
    font-size: 11px !important;
    margin-bottom: 2px !important;
}
.article_content.damier .card_foot {
    padding: 2px 8px !important;
    margin-bottom: 0 !important;
}
.article_content.damier .spin5 {
    font-size: 10px !important;
}
.article_content.damier .card-fav-absolute {
    top: 5px !important;
    right: 8px !important;
}
.article_content.damier .card-fav-absolute i {
    font-size: 20px !important;
}
.article_content.damier .block_img img {
    height: 194px !important;
    width: 100% !important;
    object-fit: cover !important;
}

/* ============================== */
/* MODE LISTING (pleine largeur)  */
/* ============================== */
.article_content:not(.damier) {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}
.article_content:not(.damier) .block_img {
    width: 551px !important;
    max-width: 551px !important;
    float: left !important;
}
.article_content:not(.damier) .block_img img {
    height: 414.17px !important;
    width: 551px !important;
    max-width: 551px !important;
    object-fit: cover !important;
}

/* ============================================ */
/* MODE CARTE : biens à gauche, carte à droite  */
/* ============================================ */
.listing_article.vue-carte {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
}
.listing_article.vue-carte > .article_content {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
}
.listing_article.vue-carte > .module_recherche_carte {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    display: block !important;
    position: sticky !important;
    top: 80px !important;
    height: 85vh !important;
    z-index: 5;
}
.listing_article.vue-carte > .module_recherche_carte #mapliste {
    height: calc(100% - 40px) !important;
    width: 100% !important;
}
.listing_article.vue-carte > .module_recherche_carte #maplisting {
    height: 100% !important;
}
.listing_article.vue-carte .infos-flex,
.listing_article.vue-carte .description,
.listing_article.vue-carte .box,
.listing_article.vue-carte .card_foot {
    display: none !important;
}
.listing_article.vue-carte .item-listing {
    margin-bottom: 8px !important;
}
.listing_article.vue-carte .article_content > div {
    padding: 0 5px 5px 5px !important;
    margin-bottom: 0 !important;
}
.listing_article.vue-carte .block_img img {
    height: 200px !important;
    width: 100% !important;
    object-fit: cover !important;
}
.listing_article.vue-carte .header-item {
    padding: 6px 10px !important;
}
.listing_article.vue-carte .info_prix {
    padding: 4px 10px !important;
    font-size: 18px !important;
}
.listing_article.vue-carte .card_list {
    padding: 2px 10px !important;
    margin-bottom: 0 !important;
}

/* Scrollbar */
.listing_article.vue-carte > .article_content {
    scrollbar-width: thin;
    scrollbar-color: rgba(47, 74, 139, 0.3) transparent;
}
.listing_article.vue-carte > .article_content::-webkit-scrollbar {
    width: 4px;
}
.listing_article.vue-carte > .article_content::-webkit-scrollbar-track {
    background: transparent;
}
.listing_article.vue-carte > .article_content::-webkit-scrollbar-thumb {
    background-color: rgba(47, 74, 139, 0.3);
    border-radius: 4px;
}
.listing_article.vue-carte > .article_content::-webkit-scrollbar-thumb:hover {
    background-color: rgba(47, 74, 139, 0.6);
}

/* Responsive mobile */
@media (max-width: 768px) {
    .listing_article.vue-carte {
        flex-direction: column !important;
    }
    .listing_article.vue-carte > .article_content,
    .listing_article.vue-carte > .module_recherche_carte {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        height: auto !important;
        position: relative !important;
    }
    .listing_article.vue-carte > .module_recherche_carte #mapliste {
        height: 400px !important;
    }
}
