.maison-carousel-wrapper {
    position: relative;
  }
  
  .maison-carousel {
    display: flex;
    gap: 15px;
    padding-right: 15px;
    scroll-behavior: smooth;
    overflow-x: auto;
    scrollbar-width: none; /* Firefox */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  
  .maison-carousel::-webkit-scrollbar {
      display: none; /* Chrome, Safari */
  }
  
  .maison-carousel.dragging {
    cursor: grabbing;
    scroll-behavior: auto;
  }
  
  
  
  a.maison-item-link {
      width: 100%;
      max-width: 400px;
      padding: 15px;
      position: relative;
      overflow: hidden;
      border-radius: 10px;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      flex-shrink: 0;
      scroll-snap-align: start;
  }
  
  .maison-carousel-wrapper.-full_centered a.maison-item-link {
    max-width: 32.9%;
  }

  .-full_centered .maison-carousel-wrapper a.maison-item-link {
    max-width: 32.9%;
  }
  
  .maison-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 400px;
    overflow: hidden;
  }
  
  
  .maison-item::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition: all .3s ease-in-out;
  }
  
  
  .maison-item:hover::after {
    opacity: 1;
  }
  
  .maison-item img {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .maison-info {
    padding: 9px 10px;
    z-index: 2;
    position: relative;
    background: #fff;
    border-radius: 8px;
    display: flex;
    align-items: flex-end;
  }
  
  a.maison-item-link .maison-info {
    transform: translateY(0px);
    transition: all .3s ease-in-out;
  }
  
  a.maison-item-link:hover .maison-info {
    transform: translateY(-5px);
  }
  
  .maison-info-title {
    display: flex;
    flex-direction: column;
    width: 50%;
    height: 100%;
    text-align: left;
    padding-right: 15px;
    border-right: 1px solid #e8e8e8;
  }
  
  
  p.maison-ville {
    padding-bottom: 0;
    margin-top: auto;
    font-size: 20px;
    letter-spacing: 0.3px;
    font-family: 'HostGrotesk-Bold', Helvetica, Arial, Lucida, sans-serif;
  }
  
  p.maison-quartier {
      font-size: 14px;
  }
  
  .maison-info-price {
    width: 50%;
    text-align: right;
    padding-left: 15px;
  }
  
  p.maison-prix {
    font-size: 14px;
  }
  
  
  span.maison-prix-apd {
    display: block;
    color: #BEBEBE;
  }
  
  p.maison-prix .price {
    font-size: 22px;
    font-family: 'HostGrotesk-ExtraBold', Helvetica, Arial, Lucida, sans-serif;
    margin-right: 2px;
  }
  
  
  
  
  
  /* - - - - - - - - - - - - - - Carousel */
  
  .maison-carousel-prev,
  .maison-carousel-next {
      position: absolute;
      top: 100%;
      transform: translateY(30px);
      background: transparent;
      border: none;
      cursor: pointer;
      z-index: 2;
      font-family: ETmodules !important;
      font-weight: 400 !important;
      color: #BEBEBE;
      font-size: 40px;
  }
  
  .maison-carousel-prev:hover,
  .maison-carousel-next:hover {
    color: #000;
  }
  
  .maison-carousel-wrapper.-dark_bg .maison-carousel-prev:hover,
  .maison-carousel-wrapper.-dark_bg .maison-carousel-next:hover {
    color: #fff;
  }
  
  .maison-carousel-prev { left: 138px; }
  .maison-carousel-next { left: 210px; }
  
  .maison-carousel-wrapper.-full_centered .maison-carousel-prev { left: 50%; margin-left: -80px; }
  .maison-carousel-wrapper.-full_centered .maison-carousel-next { left: 50%; margin-left: 10px; }

/* Pending css to test full centerd class on code module  */

  .-full_centered .maison-carousel-wrapper .maison-carousel-prev { left: 50%; margin-left: -80px; }
  .-full_centered .maison-carousel-wrapper .maison-carousel-next { left: 50%; margin-left: 10px; }
  