/* ===================================================================== */
/*                                GENERAL                                */
/* ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


body {
  font-family: 'Montserrat', sans-serif;
  background: #fff;
  color: #000;
}


/* COULEURS */
.bleu {
  color: #809489;
}
.beige {
  color: #efe9ce;
}

.sticky_menu,
.bandeautop,
[class*="listing"] .not-sticking .site-pusher,
[class*="listing-"] .not-sticking .site-pusher,
.btncookie:hover,
.btncookie,
.sticking .site-pusher,
.bg_1,
.bg_2,
.bg_3,
.bg_4,
.swiper-slide .b_exclu,
.swiper-slide .b_ccoeur,
.swiper-slide .b_offre_en_cours,
.swiper-slide .b_prestige,
.swiper-slide .b_investisseur,
.swiper-slide .b_souscompromis,
.swiper-slide .b_sousoffre,
.swiper-slide .b_vendu,
.swiper-slide .b_loue,
.swiper-slide .b_loc,
footer,
aside.aside_contact, .bg_alertemail, .bg_agence {
  background: #809489;
}

.index .not-sticking .bandeautop,.index .not-sticking .site-pusher,
.index .not-sticking.sticky_menu {
  background: transparent
}
.index .not-sticking .bandeautop {
  border-bottom: 1px solid #efe9ce;
}
.index .not-sticking .infobandeau,

.index .not-sticking .infobandeau a {
  color: #fff;
}
.infobandeau {
  margin-left: 0;
}
.index .not-sticking  .infobandeau i,
.index .not-sticking  .infobandeau .reseaux-sociaux i {
  color: #efe9ce;
}
.index .infobandeau i {
  margin: 0 6px;
}

.intro p.text1,
.intro p.text2,
.content_page, .content_page a, .agence p {
  color: #fff;
}
.bg_blanc {
  background: #efe9ce;
}
.intro p.text1 span,
.estimation .listing-header-titre,
.estimation .page-heading,
.estimation .bootstrap-select.btn-group .dropdown-menu li a::before,
.estimation .dropdown-toggle::after,
.detail_header strong, .detail_header .crit span:nth-child(1), .detail .h3, .detail .liste2 ul li i, 
 .alerte-email .page-heading,
.alerte-email .dropdown-toggle::after,
.agence .listing-header-titre,
.agence .page-heading,
.contact .listing-header-titre,
.contact .page-heading,
.mentions-legales .listing-header-titre,
.listing-header-titre, .mentions-legales .page-heading {
  color: #809489!important;
}
.contact .listing-header-titre,.alerte-email .listing-header-titre {
  color: #fff!important;
  text-shadow: #000000c7 0.1em 0.1em 0.2em;
}
.index .not-sticking .site-pusher {
  box-shadow: rgb(0 0 0 / 0%) 0px 1px 2px;
}
 
.etiquette {
  text-align: center;
}

.btn {
  border-radius: 0;
}
.btn-info, .btn-primary,
.btn-search,
.btn-secondary,
.listing-vente .btn-search,
.detail .btn-primary,
.lafficheur li,
.estimation .btn-info {
  color: #fff!important;
  background-color: #809489!important;
  border-color: #809489!important;
}
.btn-info:hover, .btn-primary:hover, .btn-secondary:hover, .listing-vente .btn-search:hover, .detail .btn-primary:hover, .lafficheur li:hover, .estimation .btn-info:hover, .btn-search:hover {
  color: #809489!important;
  background-color: #fff!important;
  border-color: #809489!important;
}

label {
  padding-left: 0;
}

.alert {
  background-color: #809489;
  padding: 2rem 1.25rem;
  width: 60%;
  margin: 5% auto;
  color: #fff;
  border-color: #809489;
}

/* ===================================================================== */
/*                                  INDEX                                */
/* ===================================================================== */

.bgAccueil {
  background: url(../images/bgimg.jpg) no-repeat center center;
}
.intro h1,
.intro h2 {
  font-size: 2em;
  color: #fff;
  font-weight: 600;
  margin-top: 145px;
}
.moteur {
  top: 95px;
}
.intro h2 {
  margin-top: 5%;
}
.index .search_form {
  background-color: rgba(255, 255, 255, 0.6);
  border: 3px solid #809489;
}
.search__form-item:nth-child(2), .search__form-item:nth-child(3), .form-style {
  border-radius: 0 !important;
}
.intro .radio_trans {
  display: none;
}
.intro .btn-search,
.intro .btn-estime {
  background-color: #efe9ce;
}
.intro .btn-estime {
  color: #000;
}
.fleche2 {
  left: -440px;
  padding-top: 40px;
}
.intro .btn-estime {
  margin-top: 40px;
  font-size: 1rem!important;
}
.moteur {
  top: 65px;
}
.index .bootstrap-select.btn-group .dropdown-menu {
  max-width: 115%;
}
.index .moteur .bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
  font-size: 15px;
}
.form-style {
  border: 0;
}
.bootstrap-select.btn-group .dropdown-toggle .filter-option,
.input-group-addon,
.moteur input::placeholder,
.container_search input::placeholder {
  font-weight: 500!important;
}

.index .c_prixmax .input-group-addon{
  top: 20px!important;
}
.dropdown-menu.open.show {
  transform: translate3d(-9px, 55px, 0px) !important;
}
.index .bootstrap-select.btn-group .dropdown-menu li a::before {
  color: #809489;
}

.home_cont_selection {
  padding-top: 0px;
  padding-bottom: 0px;
  background: #fff;
}
.home_cont_selection .home_heading {
  color: #809489;
  padding-top: 60px;
  margin-bottom: 40px;
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 2em;
}
.home_cont_selection .swiper-slide article {
  border: 3px solid #809489;
  color: #000;
}
.swiper-slide .info_type,
.swiper-slide .info_prix{
  font-weight: 300;
}
.swiper-slide .info_ville {
  color: #809489;
  font-size: 22px;
}
.swiper-slide .bulle {
  background: transparent;
  border-radius: 0;
  color: #809489;
  font-weight: 300;
}
.swiper-slide .fa-xl {
  font-size: 1.5em;
  margin-right: 5px;
  color: #809489;
}
.swiper-slide .card_list span {
  color: #809489;
  font-weight: 600;
}
.swiper-slide .info_ville {
  font-weight: 400;
}
.swiper-slide .block_info {
  min-height: 128px;
}

.circles li {
  position: absolute;
  display: block;
  list-style: none;
  width: 20px;
  height: 20px;
  background: rgba(102, 146, 152, 0.2);
  animation: animate 25s linear infinite;
  bottom: -150px;
}
/* PRESENTATION */
.home_cont_prestation {
  background: #809489;
  padding: 100px 0;
  color: #fff;
}
.home_cont_prestation h2 {
  font-size: 4em;
  color: #efe9ce;  
  font-weight: 300;
}
.home_cont_prestation .imgpres {
  background: none;
  border: 0px solid #ffffff;
}

/*  CATEGORIES */
.services .container-fluid .card .face {
  border: 5px solid #809489;
}
.services .container-fluid .card .face.face1.color1,
.services .container-fluid .card .face.face1.color2,
.services .container-fluid .card .face.face1.color3,
.services .container-fluid .card .face.face1.color4 {
  background: #809489;
}
.services .container-fluid .card i {
  font-size: 3em;
  color: #efe9ce;
}
.services .container-fluid .card .face.face2 .content a {
  color: #809489;
  border: 1px solid #809489;
}
.services .container-fluid .card .face.face2 .content a:hover {
  background: #809489;
  color: #ffffff;
}
.services .container-fluid .card {
  opacity: 1;
}
.services .container-fluid .card p {
  color: #809489;
}
/* ===================================================================== */
/*                                  FOOTER                               */
/* ===================================================================== */
.top_link {
  background: #809489;
}
.infofooter p {
  color: #ffffff;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 1px;
  margin-top: 0px;
  font-weight: 300;
  transition: all 0.5s ease;
}

.infofooter img {
  width: 250px;
}
.infofooter i,
.footer a, 
footer .fa.fa-phone {
  color: #efe9ce;
}
.infofooter .num-footer {
  margin: 10px 0;
}
.infofooter .num-footer i {
  font-size: 15px;
  margin: 0 6px;
}
/* Boite à outils */
#bloc_fixed {
  bottom: 38%;
}
#bloc_fixed ul li > i {
  font-size: 2rem;
  top: 2px;
  left: 2px;
  color: #000;
}
#bloc_fixed ul li > .ion-ios-heart-outline {
  left: 1px;
}
#bloc_fixed ul li > .ion-social-youtube-outline {
  font-size: 1.8rem;
  top: 4px;
  left: 1px;
}
#bloc_fixed .bloc {
  width: 50px;
  min-height: 50px;
  margin: 15px 0;
  position: relative;
  right: 7px;
  cursor: pointer;
  padding-left: 10px;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
  background: rgba(255, 255, 255, 0.6);
  border:2px solid #809489;
}
#bloc_fixed .bloc:hover {
  right: 12px;
  border:2px solid #809489;
  background: rgba(255, 255, 255, 1);
}
#bloc_fixed .surcharge_favoris {
  left: 16px;
  top: 19px;
}
.badge-pill {
  padding-right: 0.4em;
  padding-left: .4em;
  border-radius: 10rem;
}
.badge {
  font-size: 66%;
}

/* ASIDE */
aside .contact_img img {
  width: 100px;
  margin-bottom: 20px;
}
aside .btn-primary,
aside .btn-info {
  border-color: #fff;
}

/* ===================================================================== */
/*                                  LISTING                              */
/* ===================================================================== */
body[class*="listing-"] .sticky_menu,
body[class*="listing"] .sticky_menu {
  background: #fff;
}
[class*="listing-"] .search__form-item:nth-child(2),
[class*="listing-"] .search__form-item:nth-child(3),
[class*="listing-"] .form-style ,
[class*="listing"] .search__form-item:nth-child(2),
[class*="listing"] .search__form-item:nth-child(3),
[class*="listing"] .form-style {
  border-radius: 0 !important;
  border: 1px solid #ddd;
}
.listing-vente .menuvente a, .estimation .menuestimation a, .alerte-email .menualertemail a, .agence .menueagence a, .contact .menucontact a {
  color: #fff!important;
  font-weight: 800 !important;
}
body[class*="listing-"] .val,
body[class*="listing"] .val {
  font-weight: 400;
  font-size: 14px;
}
body[class*="listing-"] .header-item ul li i,
body[class*="listing"] .header-item ul li i,
body[class*="listing-"] .prod_listing.damier .info_prix,
body[class*="listing"] .prod_listing.damier .info_prix {
  color: #809489;
}
body[class*="listing-"] .prod_listing.damier .info_prix,
body[class*="listing"] .prod_listing.damier .info_prix {
  font-size: 17px;
    font-weight: 500;
}
body[class*="listing"] .prod_listing .info_titre, body[class*="listing"] .prod_listing.damier .info_titre {
  font-weight: 500;
}
.page-item.active .page-link,
.listing-vente .b_exclu, .listing-vente .b_ccoeur, .listing-vente .b_offre_en_cours, .listing-vente .b_prestige, .listing-vente .b_investisseur, .listing-vente .b_souscompromis, .listing-location .b_vendu, .listing-.listing-vente .b_loue, .listing-vente .b_loc {
  color: #fff;
  background-color: #809489;
}
.listing-vente .dropdown-toggle::after, .listing-vente .bootstrap-select.btn-group .dropdown-menu li a::before {
  color: #809489;
}
.page-laulau a,
.page-item a {
  color: #000!important;
}
body[class*="listing"] .listing_article .block_img img {
  transform: translate3d(0px, 8px, 0px) scale(1);
}
body[class*="listing"] .prod_listing.damier .info_ville {
  color: #809489;
  font-size: 16px;
  font-weight: 500;
}
body[class*="listing"] .prod_listing.damier .info_ville .ion-ios-location-outline {
  display: none;
}
.prod_listing .info_titre {
  white-space: break-spaces;
  width: 100%;
}
/* DETAILS */

.detail_header .titre {
  font-size: 2em !important;
  text-shadow: 0 0 black;
}
.bg_contact {
  background-color: #809489;
}
.detail .info_numero, .detail .info_prix-hai, #formcontactdetail a {
  color: #000;
}
.detail .attribut_label0, .detail .bloc-champ, .detail .attribut_label0 p, .detail .label, #formcontactdetail label {
  background: #fff;
  font-weight: 400!important;
}
.detail #vvirtuelle iframe {
  height: 250px!important;
}
.detail .groupe-btn .list-inline-item i {
  color: #809489;
  font-size: 30px;
}
.detail .groupe-btn .list-inline-item {
  margin: 10px auto;
}
#formcontactdetail .form-style {
  border: 1px solid #ddd;
}
.detail .detail_slide_thumbs > li {
  height: 85px;
  width: 95px;
}
.detail_slide_thumbs {
  flex-wrap: wrap;
} 
.detail .interlocuteur {
  border: 0;
  padding: 10px;
  border-radius: 5px;
  background: transparent;
  color: #000;
}
.detail .interlocuteur div:nth-child(1) {
  margin-bottom: 0;
}
.detail .interlocuteur a {
  padding: 0.5rem 0;
  color: #000;
}
.detail .bloc-detail {
  margin: 0;
}
.detail .interlocuteur img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100px;
  height: 100px;
  border-radius: 50%;
}
.detail .interlocuteur-coord {
  padding-left: 0;
}
.detail .interlocuteur [type=button] {
  text-align: left!important;
}
/* ===================================================================== */
/*                                AUTRES PAGES                           */
/* ===================================================================== */

.bg_estimation {
  background: #809489;
}
.bgAccueil-page, .top_page {
  height: 56vh!important;
}
.estimation .bgAccueil-page {
  background: url(../images/bgimg-estimation.jpg) no-repeat center center;
}
.mentions-legales .bgAccueil-page {
  background: url(../images/bgimg-mentions.jpg) no-repeat center center;
}
.comparateur .top_page {
  background-image: url(../images/bgimg-comparateur.jpg);
}
.estimation label, .alerte-email label, .contact label {
  color: #000;
  font-weight: 500!important;
}
.estimation .form-style,
.alerte-email .form-style,
.contact .form-style,
.estimation .form-group .bootstrap-select.btn-group,
.contact .form-group .bootstrap-select.btn-group,
.alerte-email .form-group .bootstrap-select.btn-group{
  border: 1px solid #ddd!important;
  border-radius: 0!important;
}
.estimation .dropdown-menu.open.show,
.alerte-email .dropdown-menu.open.show {
  transform: translate3d(0px, 0px, 0px) !important;
}
.alerte-email .bgAccueil-page {
  background: url(../images/bgimg-alerte-email.jpg) no-repeat center center;
}
.agence .d-lg-flex p , .contact_formulaire a, .contact .d-flex p, .mentions-legales p, .list_mentions, .content_page {
  color: #000;
  font-weight: 400!important;
}
.list_mentions b {
  color: #809489;
  font-weight: 500;
}
.text-justify {
  padding: 0;
}
.agence .content_page {
  margin: 0;
}

/* === Page agence : section équipe portraits ronds === */
.agence .container.mb-5 p,
.agence .container.mb-5 a {
  color: #333 !important;
}
.agence .page-heading {
  margin-top: 4rem!important;
}
.card0 {
  background: url(../images/team/equipe01.jpg) center center no-repeat;
  border-radius: 0;
}
.card0:hover {
  background: url(../images/team/equipe01.jpg) left center no-repeat;
}
.card1 {
  background: url(../images/team/equipe02.jpg) center center no-repeat;
  border-radius: 0;
}
.card1:hover {
  background: url(../images/team/equipe02.jpg) left center no-repeat;
}
.card2 {
  background: url(../images/team/equipe03.jpg) center center no-repeat;
  border-radius: 0;
}

.card2:hover {
  background: url(../images/team/equipe03.jpg) left center no-repeat;
}
.card3 {
  background: url(../images/team/equipe04.jpg) center center no-repeat;
  border-radius: 0;
}
.card3:hover {
  background: url(../images/team/equipe04.jpg) left center no-repeat;
}

.card0 p,
.card1 p,
.card2 p,
.card3 p,
.card4 p {
  opacity: 0;
}
.card0:hover p,
.card1:hover p,
.card2:hover p,
.card3:hover p,
.card4:hover p {
  opacity: 1;
  text-align: center;
  color: #fff;
  transition: all 0.8s ease;
}
.cardteam h2, .card0 p, .card1 p, .card2 p, .card3 p, .card4 p {
  text-shadow: #000000c7 0.1em 0.1em 0.2em;
}
.cardteam h2 {
  padding-top: 290px !important;
}
.cardteam .icons {
  top: 12px;
}
.card0:hover .fab,
.card1:hover .fab,
.card2:hover .fab,
.card3:hover .fab,
.card4:hover .fab {
  opacity: 1;
  color: #fff;
}
.borderteam {
  border-radius: 0;
}

.bg_collapse .btn-content .btn-circle {
  padding: 11px 0 0 2px;
}

.contact .menucontact a {
  color: #fff!important;
}
.mentions-legales h2, .mentions-legales ul li b, .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
  color: #809489;
}

.cardteam {
  height: 380px;
  width: 300px;
  margin: 20px auto;
}


.borderteam {
  height: 370px;
  width: 290px;
  border: 2px solid #efe9ce;
}
.borderteam:hover {
  border: 2px solid #809489;
  transition: all 1s ease;
}
.bloc-bureau p,
.bloc-bureau a {
  color: #000;
  text-align: center;
  font-weight: 400;
  margin-bottom: 0;
}
.bloc-bureau a:hover {
  color: #809489;
}
.bloc-bureau i {
  color: #809489;
  font-size: 22px;
    top: 2px;
}
.cardteam h2 {
  padding-top: 295px !important;
  font-size: 1.5rem;
}





/* ===================================================================== */
/*                                RESPONSIVE                             */
/* ===================================================================== */
@media (min-width: 992px) {
  .header__logo, .sticking .header__logo {
    padding: 10px 0 10px 20px;
    width: auto;
}
  .index .not-sticking .header__logo img,
  .not-sticking .header__logo img,
  .index .sticking .header__logo img,
  .sticking .header__logo img {
      width: 330px;
  }  
  .sticking .site-pusher {
    padding: 0 20px;
}
  .not-sticking .site-pusher {
    background-color: #809489;
  }
  .menu ul > li > a {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
  }
  .index .not-sticking .menu ul > li > a {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
  }
  .index .not-sticking .menu ul > li > a:hover {
    color: #efe9ce;
  }
  .cl-effect-13 a:hover::before,
  .cl-effect-13 a:focus::before {
    color: #efe9ce;
    text-shadow: 10px 0 #efe9ce, -10px 0 #efe9ce;
  }
  .index .not-sticking .cl-effect-13 a:hover::before,
  .index .not-sticking .cl-effect-13 a:focus::before {
    color: #efe9ce;
    text-shadow: 10px 0 #efe9ce, -10px 0 #efe9ce;
  }
  .cl-effect-13 a:hover, .cl-effect-13 a:focus {
    color: #fff;
  }
  .swiper-slide .info_type,
  .swiper-slide .info_prix {
    font-size: 14px;
  }
  .swiper-slide .info_ville {
    font-size: 16px;
  }
  .home_cont_prestation h2 {
    font-size: 3em;
    font-weight: 300;
  }
}
@media (min-width: 1281px) {
  .swiper-slide .info_type,
  .swiper-slide .info_prix {
    font-size: 20px;
  }
  .swiper-slide .info_ville {
    font-size: 22px;
  }
  .home_cont_prestation h2 {
    font-size: 4em;
    font-weight: 300;
  }
}
@media (max-width: 991px) {
  .header__logo img {
      width: 80px;
      margin-right: 50px;
  }  
  .home_cont_categories {
    min-height: 750px;
  } 
  .close {
    float: right;
    font-size: 1.5rem;
    line-height: 1;
    color: #fff;
    text-shadow: none;
    opacity: 1;
  }
  .listing .bloc.bloc4, [class*="listing-"] .bloc.bloc4 {
    display: block;
    position: absolute;
    right: -3px;
    top: 30px;
    font-size: 20px;
    background: #fff;
    padding: 3px 12px;
    border-radius: 5px;
  }
  .bloc4 .ion-ios-search-strong {
    color: #809489;
  }
  .search__form-item:nth-child(n+2) {
    height: 52px!important;
  }
  .modal-content {
    padding: 15px 0;
    background: #809489;
  }
  .bgAccueil-page, .top_page {
    height: 26vh!important;
    margin-top: 95px;
    background-size: cover!important;
  }
  .alerte-email .groupe_champs > .form-group {
    width: 45%;
  }
  .cardteam, .borderteam {
    height: 279px;
    width: 200px;
    background-size: cover!important;
  }
  .cardteam h2 {
    padding-top: 245px !important;
    font-size: 1.5rem;
  }
}

@media only screen and (max-device-width: 667px) and (min-device-width: 375px) and (orientation: portrait) {
  .bgAccueil {
      background-size: 667px 375px !important;
      background: linear-gradient( rgba(0,0,0, 0), rgba(0,0,0, 0) ),url(../images/bgimg-mobile.jpg) no-repeat center right !important;
  }  
  .contact .bgAccueil-page {
    background-size: 667px 375px !important;
    background: linear-gradient( rgba(0,0,0, 0), rgba(0,0,0, 0) ),url(../images/bgimg-contact.jpg) center top!important;
    background-size: cover!important;
    height: 20vh!important;
    margin-top: 75px;
}
}

@media (max-width: 650px) {
  .header__logo img {
      width: 60px;
      margin-right: 30px;
  }  
  .intro h1, .intro h2 {
    font-size: 1.2em;
  }
  .moteur {
    top: 20px;
  }
  .intro .search__form-item:nth-child(n+2) {
    margin-bottom: 5px;
  }
  .index #prixmax {
    margin-top: 0;
  }
  .detail .detail_slide_thumbs > li > img {
    height: 80px;
    width: 80px;
  }
  .detail .liste2 {
    font-size: 14px;
  }
  .bgAccueil-page, .top_page {
    height: 20vh!important;
    margin-top: 75px;
    background-size: cover!important;
  }
  .alerte-email .groupe_champs > .form-group {
    width: 100%;
  }
  .cardteam, .borderteam {
    margin: 20px auto;
  }
  #content {
    margin-top: 20%;
}
}


/* === Forest Hill Custom === */

/* Hide back-to-top */
.top_link { display: none !important; }

/* Hide the 3 fixed action blocs (email, bell, heart) */
#bloc_fixed_right, #bloc_fixed_bottom,
.bloc.bloc1, .bloc.bloc2, .bloc.bloc3 {
  display: none !important;
}

/* Listing: full card clickable */
article.item-listing { cursor: pointer; }

/* Listing overlay: ville + prix centred and bold */
[class*="listing"] .photobox_type16 .block_info ul li,
[class*="listing"] .photobox_type16 .block_info_mobile ul li {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  float: none !important;
}
[class*="listing"] .photobox_type16 .block_info ul li a,
[class*="listing"] .photobox_type16 .block_info_mobile ul li a {
  display: block; width: 100%; text-align: center;
  color: inherit; text-decoration: none;
}
[class*="listing"] .photobox_type16 .spin3.info_ville,
[class*="listing"] .photobox_type16 .spin4.info_prix,
[class*="listing"] .block_info_mobile .spin3.info_ville,
[class*="listing"] .block_info_mobile .spin4.info_prix {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.spin2.info_titre { display: none !important; }

/* Footer full width */
footer {
  width: 100%;
  display: block;
  background-color: #809489 !important;
  padding: 30px 10px;
  box-sizing: border-box;
}

/* Print: make white logo visible */
@media print {
  img[src*="logo"], .logo-footer, .logo-not-sticking, .logo-sticking {
    filter: invert(1) !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

/* === Thumbnails: rectangular not round === */
.thumbdetail img,
.thumbdetail img.rounded,
.detail_slide_thumbs img {
  border-radius: 0 !important;
}

/* === Photo grid: 10 per row === */
@media (min-width: 992px) {
  .col-lg-photo5 {
    flex: 0 0 10%;
    max-width: 10%;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .col-lg-photo5 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}
.photo-grid-container {
  margin-top: 10px;
}
.photo-grid-thumb {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 0;
  cursor: pointer;
  transition: opacity 0.2s ease;
  display: block;
}
.photo-grid-thumb:hover {
  opacity: 0.85;
}

/* === Listing vente: réduction des espaces entre lignes === */
body.listing-vente .prod_listing .block_info {
  min-height: auto;
}

/* === Listing vente: photos format original, sans recadrage === */
#listing-vente article {
  overflow: visible !important;
}
#listing-vente .block_img,
#listing-vente .photobox__previewbox {
  overflow: hidden !important;
  height: 260px !important;
}
#listing-vente .block_img img {
  -webkit-transform: none !important;
  transform: none !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center 70% !important;
}

/* === Listing vente: nom de ville sur une seule ligne === */
#listing-vente .info_ville {
  font-size: 13px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* === Listing vente: pagination native masquée (remplacée par fh-pagination) === */
body.listing-vente .listing_pagination {
  display: none !important;
}

/* === Listing vente: pagination Forest Hill === */
#fh-pagination {
  text-align: center;
  padding: 24px 0 16px;
}
#fh-pagination .fh-pages {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}
#fh-pagination .fh-pages li a {
  display: inline-block;
  padding: 7px 14px;
  border: 1px solid #809489;
  color: #809489;
  text-decoration: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
  transition: background .15s, color .15s;
}
#fh-pagination .fh-pages li a:hover,
#fh-pagination .fh-pages li a.active {
  background-color: #809489;
  color: #fff;
}

/* === Listing vente: prix sur une seule ligne === */
#listing-vente .info_prix {
  white-space: nowrap !important;
}

/* === Listing vente: 3 cartes par ligne (desktop) === */
#listing-vente article {
  flex: 0 0 32.3% !important;
  width: 32.3% !important;
  max-width: 32.3% !important;
  margin: 0 0.5% 1% !important;
}

/* === Listing vente: 2 cartes par ligne (tablette) === */
@media (max-width: 767px) {
  #listing-vente article {
    flex: 0 0 49% !important;
    width: 49% !important;
    max-width: 49% !important;
    margin: 0 0.5% 1% !important;
  }
}

/* === Listing vente: 1 carte par ligne (mobile) === */
@media (max-width: 480px) {
  #listing-vente article {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 1% !important;
  }
  #listing-vente .info_ville {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
}

/* === Fiches bien : PARTAGER à gauche, CONTACTEZ-NOUS à droite === */
#anchor_contact > .row {
  flex-direction: row-reverse !important;
}

/* === Fiches bien : suppression des formes géométriques animées === */
ul.circles {
  display: none !important;
}

/* === Icônes propriété SVG === */
.fh-icon {
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  flex-shrink: 0;
}

/* === Impression fiches bien : header print-only caché à l'écran === */
.print-only-header {
  display: none;
}

/* ===================================================================== */
/*                           IMPRESSION (PRINT)                          */
/* ===================================================================== */
@page { margin: 6mm 10mm; }

@media print {

  /* --- Masquer les éléments inutiles --- */
  .header, footer,
  .site-container,
  .bloc.bloc4,
  .sticky_moteur,
  .detail_annexe,
  ul.circles,
  #anchor_contact,
  .cc-window,
  .modal, .modal-backdrop,
  aside,
  button[onclick*="printFiche"],
  button[data-target="#DPEModal"] { display: none !important; }

  /* --- Liens sans soulignement --- */
  a { text-decoration: none !important; color: #000 !important; }

  /* --- Layout général --- */
  body { font-size: 11px !important; color: #000 !important; background: #fff !important; margin: 0 !important; }
  .container { max-width: 100% !important; padding: 0 20px !important; }
  .container_page, .detail .container_page { max-width: 100% !important; margin-top: 0 !important; padding-top: 0 !important; }

  /* --- En-tête impression : logo Forest Hill sur fond vert --- */
  .print-only-header {
    display: block !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* --- Titres --- */
  h1, h2, .info_titre { font-size: 18px !important; }
  .spin4.info_prix { font-size: 20px !important; }

  /* --- Grille de photos : 4 par ligne (~8 par page), éviter les coupures --- */
  .photo-grid-container > .row { display: flex !important; flex-wrap: wrap !important; }
  .photo-grid-container [class*="col-"] {
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    padding: 3px !important;
    box-sizing: border-box !important;
  }
  .photo-grid-container [class*="col-"] img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  .photo-grid-container [class*="col-"] { page-break-inside: avoid !important; }

  /* --- Section diagnostics : colonne DPE masquée, détails pleine largeur --- */
  .dets .col-12.col-md-4 { display: none !important; }
  .dets .col-12.col-md-8 { flex: 0 0 100% !important; max-width: 100% !important; }

  /* --- Détails du bien : style tableau --- */
  #detailinfosdetail ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
  #detailinfosdetail li {
    display: flex !important;
    align-items: baseline !important;
    padding: 4px 0 !important;
  }
  #detailinfosdetail .attribut_label0 {
    white-space: nowrap !important;
    color: #555 !important;
    font-size: 11px !important;
  }
  #detailinfosdetail .champ {
    flex: 1 !important;
    text-align: right !important;
    font-weight: 600 !important;
    color: #222 !important;
    font-size: 11px !important;
    border-bottom: 1px solid #bbb !important;
    padding-bottom: 2px !important;
    margin-left: 8px !important;
  }
}

