/*** Programmes ***/
/* Section Home */
#programmes {
  height: 100vh;
  position: relative;
  background: #d9e8eb;
  padding: 0;
}
#programmes > .elementor-container {
  display: block;
  width: 100%;
  height: 100%;
}
#programmes > .elementor-container > .elementor-row {
  display: block;
  width: 100%;
  height: 100%;
}

#programmes .title h2 {
  text-transform: uppercase;
  color: #0a5c84;
  margin-bottom: 50px;
  letter-spacing: 2px;
  position: relative;
  display: inline-block;
}
#programmes .title h2:after {
  content: '';
  width: 70%;
  border-bottom: 2px solid #0a5c84;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}

#programmes .programmes-content {
  width: 100%;
}
#programmes .programmes-content .listing-feed .container-fluid {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
#programmes .programmes-content .listing-feed .container-fluid .row {
  gap: 0 !important;
}
#programmes .programmes-content .grid-item {
  width: 33.333%;
  height: 44.5vh;
  padding-left: 1px;
  padding-right: 1px;
  margin-bottom: 2px !important;
  position: static !important;
}

/* Masquer le dernier élément */
#programmes .programmes-content .grid-item:last-child {
  display: none !important;
}
#programmes .programme-link::after {
  content: '';
  position: absolute;
  bottom: 10.7vh;
  right: 0;
  width: calc(33.3333% - 5px);
  height: 44.6vh;
  z-index: 1;
}
#programmes .programme-link {
  position: absolute;
  bottom: 10.7vh;
  right: 0;
  width: calc(33.3333% - 5px);
  height: 44.6vh;
  z-index: 2;
  display: block;
  text-decoration: none;
  cursor: pointer;
}
#programmes .programme-link .elementor-widget-html .elementor-widget-container {
  height: 100%;
}
/* Structure Elementor */
#programmes .programme-link .elementor-widget-html,
#programmes .programme-link .elementor-widget-wrap {
  display: block;
  width: 100%;
  height: 100%;
}
/* Style du lien */
#programmes .all-programs .lf-item {
  width: 100%;
  height: 100%;
  position: relative;
}
/* Background avec filtre */
#programmes .all-programs .lf-background {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('/wp-content/themes/b2b-immo/img/back-prog.jpg');
  background-position: top right;
  background-repeat: no-repeat;
  background-size: cover;
  filter: grayscale(50%);
}
#programmes .all-programs .lf-item:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 92, 132, 0.8);
  transition: all 0.2s ease-in;
}
#programmes .all-programs .lf-item:hover:after {
  background: rgba(10, 92, 132, 0.95);
}
/* Overlay avec transition */
#programmes .all-programs .overlay {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 92, 132, 0.8);
  transition: all 0.2s ease-in;
}
/* Style du texte */
#programmes .all-programs .lf-contact span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.8em;
  color: #fff;
  text-transform: uppercase;
  z-index: 3;
  width: auto;
  text-align: center;
  font-weight: 400;
  white-space: nowrap;
}
/* Traits décoratifs */
#programmes .all-programs .lf-contact span:before,
#programmes .all-programs .lf-contact span:after {
  content: '';
  width: 25%;
  height: 1px;
  border-bottom: 1px solid #fff;
  position: absolute;
  bottom: 49%;
  transition: all 0.2s ease-in;
  transform: scale(0);
}
#programmes .all-programs .lf-contact span:before {
  left: -27%;
}
#programmes .all-programs .lf-contact span:after {
  right: -27%;
}
/* Effets hover */
#programmes .all-programs:hover .overlay {
  background: rgba(10, 92, 132, 0.95);
}
#programmes .all-programs:hover .lf-contact span:before,
#programmes .all-programs:hover .lf-contact span:after {
  transform: scale(1);
}

#programmes .listing-feed .lf-item-container {
  border-radius: 0;
  border: none;
  box-shadow: none;
}
#programmes .listing-feed .lf-item {
  height: 44.5vh;
  overflow: hidden;
}
#programmes .listing-feed .lf-item .overlay {
  background: #0097c2 !important;
  opacity: 0.2 !important;
}
#programmes .listing-feed .lf-item .lf-background {
  filter: grayscale(20%);
}
#programmes .listing-feed .grid-item {
  margin-bottom: 20px;
}
#programmes .listing-feed .lf-item .lf-item-info {
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(10, 92, 132, 0.8);
  padding: 10px;
  height: 80px;
  transition: all 0.2s ease-in;
}
#programmes .listing-feed .lf-item .lf-item-info h4 {
  display: none;
}
#programmes .listing-feed .lf-item .lf-item-info .lf-contact li {
  display: inline-block;
  text-align: center;
}
#programmes .listing-feed .lf-item .lf-item-info .lf-contact li:nth-child(2) {
  font-size: 1.6em;
  font-weight: 600;
  text-transform: uppercase;
  width: 100%;
  transition: all 0.2s ease-in;
}
#programmes .listing-feed .lf-item .lf-item-info .lf-contact li:first-child {
  font-size: 1.2em;
  font-weight: 400;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
#programmes
  .listing-feed
  .lf-item
  .lf-item-info
  .lf-contact
  li:first-child:before,
#programmes
  .listing-feed
  .lf-item
  .lf-item-info
  .lf-contact
  li:first-child:after {
  content: '';
  width: 30px;
  height: 1px;
  border-bottom: 1px solid #fff;
  position: absolute;
  bottom: 58%;
}
#programmes
  .listing-feed
  .lf-item
  .lf-item-info
  .lf-contact
  li:first-child:before {
  left: -53%;
}
#programmes
  .listing-feed
  .lf-item
  .lf-item-info
  .lf-contact
  li:first-child:after {
  right: -40%;
}
#programmes .listing-feed .lf-item .lf-head {
  background: rgba(10, 92, 132, 0.8);
  top: 0;
  left: 0;
  padding: 10px 80px 10px 10px;
  clip-path: polygon(0 0, 100% 0%, 65% 100%, 0% 100%);
  transition: all 0.2s ease-in;
}
#programmes .listing-feed .lf-item .lf-head-btn {
  border: none;
  display: block;
  height: auto;
}
#programmes .listing-feed .lf-item .lf-head-btn .prefix {
  font-size: 0.8em;
  font-weight: 300;
  text-transform: uppercase;
}
#programmes .listing-feed .lf-item .lf-head-btn .price {
  font-weight: 600;
  font-size: 1.6em;
  margin-top: 5px;
}

#programmes .listing-feed .lf-item:hover .lf-head {
  left: -100%;
}
#programmes .listing-feed .lf-item:hover .lf-item-info {
  height: 100%;
}
#programmes
  .listing-feed
  .lf-item:hover
  .lf-item-info
  .lf-contact
  li:nth-child(2) {
  font-size: 1.8em;
}
#programmes .listing-feed .lf-item:hover .lf-background {
  filter: grayscale(100%);
}
#programmes .programme-link .link:hover span:before,
#programmes .programme-link .link:hover span:after {
  transform: scale(1);
}

/* Page Programmes */
.page-explore .infos-back {
  display: none;
}

body.page-explore {
  /* Layout général */
  #c27-site-wrapper {
    background: url('/wp-content/themes/b2b-immo/img/back-apropos.jpg')
      no-repeat left 120px / cover;
    padding-bottom: 100px;

    .wp-post {
      padding-bottom: 100px;
    }
  }

  /* Header */
  .c27-top-content-margin {
    margin-top: 0 !important;
  }

  /* Titre de section */
  .section-title h2 {
    font-family: 'Montserrat';
    text-transform: uppercase;
    font-size: 3em;
    font-weight: 600 !important;
    letter-spacing: 2px;
    display: inline-block;
    position: relative;
    margin-bottom: 50px;
    color: #0a5c84;
  }

  .section-title h2:after {
      content: '';
      width: 70%;
      border-bottom: 2px solid #0a5c84;
      position: absolute;
      bottom: -10px;
      left: 50%;
      transform: translateX(-50%);
    }
  }

  /* Zone d'exploration */
  #c27-explore-listings {
    .mobile-explore-head-top,
    .fl-head.row {
      display: none;
    }

    .i-section > .container {
      width: 90%;
      margin: 0 auto;
    }
  }

  /* Grille des résultats */
  .results-view.grid {
    .lf-item-container {
      border-radius: 0;
      border: none;
      box-shadow: none;
    }

    .grid-item {
      margin-bottom: 20px;
      position: static !important;
      width: 33.333%;
      float: left;
    }

    .lf-item {
      height: 57.5vh;
      overflow: hidden;

      /* Background et overlay */
      .overlay {
        background: #0097c2 !important;
        opacity: 0.2 !important;
      }

      .lf-background {
        filter: grayscale(20%);
      }

      /* En-tête avec prix */
      .lf-head {
        background: rgba(10, 92, 132, 0.8);
        top: 0;
        left: 0;
        padding: 10px 80px 10px 10px;
        clip-path: polygon(0 0, 100% 0%, 65% 100%, 0% 100%);
        transition: all 0.2s ease-in;
      }

      .lf-head-btn {
        border: none;
        display: block;
        height: auto;

        .prefix {
          font-size: 0.8em;
          font-weight: 300;
          text-transform: uppercase;
        }

        .price {
          font-weight: 600;
          font-size: 1.6em;
          margin-top: 5px;
        }
      }

      /* Informations */
      .lf-item-info {
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(10, 92, 132, 0.8);
        padding: 10px;
        height: 100px;
        transition: all 0.2s ease-in;

        h4 {
          display: none;
        }

        .lf-contact li {
          display: inline-block;
          text-align: center;

          &:first-child {
            font-size: 1.2em;
            font-weight: 400;
            position: relative;
            left: 50%;
            transform: translateX(-50%);

            &:before,
            &:after {
              content: '';
              width: 30px;
              height: 1px;
              border-bottom: 1px solid #fff;
              position: absolute;
              bottom: 58%;
            }

            &:before {
              left: -53%;
            }

            &:after {
              right: -40%;
            }
          }

          &:nth-child(2) {
            font-size: 1.6em;
            font-weight: 600;
            text-transform: uppercase;
            width: 100%;
            transition: all 0.2s ease-in;
          }
        }
      }

      /* Effets au survol */
      &:hover {
        .lf-head {
          left: -100%;
        }

        .lf-item-info {
          height: 100%;

          .lf-contact li:nth-child(2) {
            font-size: 1.8em;
          }
        }

        .lf-background {
          filter: grayscale(100%);
        }
      }
    }

    /* Logo wrapper */
    .log-wrapper {
      width: 33.333%;
      float: left;
      text-align: center;
      position: relative;
      height: 57.5vh;

      #logoexplore {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }
    }
  }
}
