:root {
  --primary-h: 211; /* hue */
  --primary-s: 76%; /* saturation */
  --primary-l: 26%; /* lightness */

  --accent-h: 202; /* hue */
  --accent-s: 95%; /* saturation */
  --accent-l: 39%; /* lightness */

  --text-h: 0; /* hue */
  --text-s: 0%; /* saturation */
  --text-l: 12%; /* lightness */

  --background-h: 0; /* hue */
  --background-s: 0%; /* saturation */
  --background-l: 98%; /* lightness */

  --color-btn:hsla(0, 0%, 12%, 1);
  
  --color-little-text:hsla(221, 13%, 46%, 1);
  --overley: hsla(0, 0%, 0%, 0.7);
  --primary-font: "Inter", sans-serif;
  --secondary-font: "Plus Jakarta Sans", sans-serif;
  --h1-font-size: 3rem;
  --h2-font-size: 2rem;
  --h3-font-size: 1.5rem;
  --headings-line-height: 1.333333;
  --title-color:hsla(0, 0%, 12%, 1);
  --link-color: var(--primary-color-40);
  --grey-color:hsla(0, 0%, 96%, 1);
  --border-radius: 0.5rem;
  --radius-img: 0.75rem;
  --padding-section: 7.5rem 0;
  --color-resta: hsla(0, 0%, 24%, 1);
  --transition: 0.35s ease-in-out;

  /*====== font size ========= */
  /* ========================= */

  --font-weight-light: 300;
  --font-weight-Regular: 400;
  --font-weight-medium: 500;
  --font-weight-semi-bold: 600;
  --font-weight-bold: 700;
  --font-extra-bold: 800;

  --display2xl: 61px;
  --displayxl: 49px;
  --displaylg: 40px;
  --displaymd: 32px;
  --displaysm: 24px;
  --displayxs: 20px;

  --textlg: 18px;
  --textmd: 16px;
  --textsm: 13px;
  --textxs: 10px;

  --h1-font-size: var(--displaylg);
  --h2-font-size: var(--displaylg);
  --h3-font-size: var(--displaymd);

  --h1-font-size-s: var(--displaysm);
  --h2-font-size-s: var(--displayxs);
  --h3-font-size-s: var(--textlg);
}
/*========= GENERAL ============== */
/* =============================== */
.timeline h3 {
  color: white;
  font-size: 27px;
}
.card {
  position: relative;
  display: block;
}
.card a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: block;
  z-index: 4;
}
a {
  transition: var(--transition);
}
.sc-content .clear_both {
  margin-bottom: 60px;
}
a,
p {
  line-height: 26px;
}
h1,
h2,
h3,
h4,
h5,
h6,
.card-title,
[class*="title"] {
  font-family: var(--secondary-font);
  font-weight: var(--font-weight-semi-bold);
  color:var(--title-color);
}
h1.h1-geoloc span,
.title-1.h1-geoloc span {
  margin-top: 8px;
}

h1.h1-geoloc span::before,
.title-1.h1-geoloc span::before {
  display: none;

}
/*=========== BOUTONS=========*/
/* ============================*/
[class*="btn"] .accent.btn {
  color: var(--background-color);
}

[class*="btn"] a.btn svg {
  margin-left: .5rem;
}
[class*="btn"] a.btn:not(.accent),
.index-page [id*="formulaire"] .btn.primary {
  color: var(--accent-color);
  background: #fff;
  border: 1px solid var(--accent-color);
}
[class*="btn"] a.btn:not(.accent):hover{
  background: var(--accent-color);
  color: #fff;
}
a.btn:has(.content) {
  display: inline-block;
  overflow: hidden;
  position: relative;
  text-align: center;
  transition:0.3ms;
  height: 51px;
  border: none;
  padding: 0;
}
a.btn .content {
  position: relative;
  bottom: 0%;
  transition:var(--transition);
  height: 100%;
  padding: .85rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
[class*="btn"] .accent.btn {
  border-color: var(--accent-color);
}
[class*="btn"] a.btn:hover {
  transition: var(--transition);
  background: var(--accent-color);
}
[class*="btn"] .accent.btn {
  border-color: var(--accent-color);
}
.btn-contact a:hover svg path {
  stroke: #fff;
}
.detail-btn a.btn.accent {
  padding: 11px 11px;
}
.detail-btn a.btn.accent:hover {
  opacity: 0.7;
}
[class*="btn"] a.btn:hover {
  transition: var(--transition);
  background: var(--accent-color);
}
.btn-devis a.btn .content {
  color:var(--color-btn);
}
a.btn.accent svg,
a.btn.primary svg {
  margin-left: 8px;
}
.contact-page [id*="formulaire"] .btn.primary {
  border-color: var(--accent-color);
  background-color: var(--accent-color);
  border: 2px solid var(--accent-color);
}
.contact-page [id*="formulaire"] .btn.primary:hover {
  background-color: var(--accent-color-30);
}
a.btn.primary {
  color: var(--accent-color);
  background: #fff;
  border: 1px solid var(--accent-color);
}
a.btn.accent {
  background: var(--accent-color);
  border: 1px solid var(--accent-color);
  color: #fff;
  font-weight: var(--font-weight-semi-bold);
}
a.btn.outlined svg {
  margin-left: 8px;
}
@media screen and (min-width: 601px) {
  .actualites-listing .recherche_actu #recherche_actu_submit {
    margin-left: 0;
  }
  .btn:not(.fluid) {
    width: auto;
  }
  a.btn,
  .btn.primary {
    width: auto;
  }
}
/* ==============BRAND==============*/
/* ================================ */
.brand img,
.brand svg {
  position: relative;
  transition: 0.3s;
}
.brand a {
  display: block;
}
.brand a {
  display: inline-block;
  transition: opacity 0.3s;
}
.brand a:hover {
  opacity: 0.75;
}
header .brand img.footer-only,
footer .brand img.header-only,
.rappel_telephonique .brand img.footer-only {
  display: none;
}
/* ==============fIN BRAND==============*/
/* ================================ */
/*============= HEADER ==================*/
/*=======================================*/
.fold {
  padding: 20px 0px;
}
header a.tel.gtm-global-tel {
  display: block;
}
.fold address {
  margin-bottom: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}
button#menu-burger,
button#menu-back {
  color: var(--accent-color-40);
  border: 2px solid var(--accent-color-40);
}
.menu-mobile {
  height: 6.5rem;
  background: white;
}
.header-content .nav > ul > .sous_menu.opened > a,
.header-content .nav .dropdown > .sous_menu.opened > a {
  color: var(--text-color);
}
.header-content .nav .sous_menu .btnMenuLevel2,
.header-content .nav .sous_menu .btnMenuLevel3 {
  color: var(--accent-color);
}
.menu_opened .menu-mobile {
  height: 3.5rem;
}
.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transition:var(--transition);
  z-index: 100;
}
.sticky-header .sticky.scroll_down {
  transform: translateY(-100%);
}
.contact-page .fold {
  display: none;
}
.header-content .nav ul li a.selected {
  background-color: transparent;
  color: var(--accent-color);
}
.header-content .nav ul li:hover > a {
  color: inherit;
}
.header-content .tel-menu .nav#topbar-nav > ul > li > a:before {
  background-color: var(--accent-color);
}

.page-interne .sc-content #relance {
  margin-top: 6rem;
}
@media screen and (min-width: 993px) {

  #bloc-01 h1 {
    font-size: var(--display2xl);
    line-height: 100%;
}
  .recherche_actu #recherche_actu_submit{
          width: 3.5rem;
      }
      #bloc-07, #bloc-05 {
       padding-top: 0;
    }
  .encart-avis{padding: 0;}
  .top-bar {
    padding: 1.5rem 0;
  }
  nav#main-nav li.firstLi.sous_menu ul.dropdown {
    background: var(--accent-color);
  }
  header.sticky-active .header-content {
    background: #fff;
  }
  header .btn-contact {
    margin-top: 0px;
}
  .header-content {
    background: #fff;
  }
  .header-content .nav#topbar-nav > ul > li > a {
    position: relative;
    transition:var(--transition);
  }
  .fold {
    display: none;
  }
  .main-header-content {
    background: var(--accent-color);
  }
  .header-content .nav ul li a.selected:before,
  .header-content .nav ul li a:hover:before {
    width: 73% !important;
  }

  .header-content .nav#topbar-nav ul li a.selected:before {
    width: 73% !important;
  }
  .header-content .nav#topbar-nav > ul > li > a:before, .header-content .nav#main-nav > ul > li > a:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 5px;
    translate: -50% 50%;
    height: 2px;
    width: 0%;
    background-color: var(--secondary-color);
    transition: var(--transition);
  }
  .header-content .nav#topbar-nav > ul > li > a:before {
    bottom: 5px;
    background-color: var(--secondary-color);
  }
  .header-content .nav#main-nav > ul > li > a:before {
    bottom: 1px;
    background: #fff;
  }
  .header-content .nav ul li a:hover:before {
    width: 83% !important;
  }
  .header-content .nav#main-nav > ul > li > a {
    position: relative;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 12px;
    padding-bottom: 12px;
    color:var(--color-btn);
  }
  .main-header-content div#nav-container {
    margin: 0;
  }

  .top-bar a.lien-maps {
    font-weight: var(--font-weight-semi-bold);
  }

  .top-bar a.lien-maps:hover {
    opacity: 0.7;
  }
  header a.tel.gtm-global-tel {
    display: block;
    margin-bottom: 0px;
    font-weight: var(--font-weight-semi-bold);
    font-size: 1rem;
    font-family: var(--primary-font);
  }
  header .btn-contact {
    margin-top: 0px;
  }
  table.horaires tr td + td {
    display: block;
    margin-left: 10px;
  }
  .header-content .nav ul li.sous_menu ul.dropdown > li a {
    font-size: 13px;

  }
  .header-content .nav ul li.sous_menu ul.dropdown > li a:hover, .header-content .nav ul li.sous_menu ul.dropdown > li a.selected, 
  .header-content .nav#main-nav > ul > li > a.selected {
    color:#fff;
  }

  .header-content .nav#topbar-nav ul li.sous_menu ul.dropdown > li a:hover,   .header-content .nav#topbar-nav ul li.sous_menu ul.dropdown > li a.selected{
    color:var(--accent-color);
  }
  li.firstLi.no-desk {
    display: none;
  }
  a.btn:has(.content):hover .content {
    bottom: 101%;
}                                                                                           
}
/*=============FIN HEADER ==================*/
/*=======================================*/

/* =============================== */
/*           ENCART POINT FORTS      */
/* =============================== */
#encart-points-forts{
  background-color: var(--primary-color);
  color: #fff;
}
.section-p {
padding: 0;
}
.points-forts-card {
  padding: 2.25rem;
}
.points-forts-img img {
  max-width: max-content;
  margin: 0;
}
.points-forts-title {
  color: #fff;
}
.card-title, .card-title a {
  font-size: var(--displaysm);
  line-height: 30px;
}
.points-forts-card p{margin: 0;}
@media screen and (min-width: 993px) {
.points-forts-title{
  margin-bottom: 0;
  min-height: 109px;
}


  .card-b:after {
    content: "";
    background: rgba(209, 209, 209, 1);
    width: 1px;
    height: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
  }

}
/*============ENCART CONTACT===================*/

#col-info {
  display: flex;
  flex-direction: column;
}


.col-form .title-2{margin-top: 0;}
.info-top {
  flex: 1; 
  display: flex;
  flex-direction: column;
}
.bloc-contact {
  flex: 1;
  display: flex;
  flex-direction: column;
}

#encart-contact, .hero-bg, #encart-formulaire, .encart-avis {
  position: relative;
}

#encart-contact::before,
#encart-contact::after,
.hero-bg::before,
.hero-bg::after,
#encart-formulaire::after, .encart-avis::after {
  position: absolute;
  content: "";
  width: 100vw;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
  background-size: cover;
}

.formhome{
  box-shadow: 0px 4px 24px 0px hsla(0, 0%, 0%, 0.1);
  background: #fff;
}
#encart-formulaire::after{
  background: var(--grey-color);
}
.encart-avis::after { background: var(--primary-color);}
.hero-bg::before  {
  background-image: url(../assets/gifs/bg-contact.jpg);
}
#encart-contact::before {
  background-image: url(../assets/gifs/bg-contact.jpg);
}
#encart-contact::after, .hero-bg::after {
  background:var(--overley);
}

.page-interne [id^="encart-"] .container, .page-interne .encart-avis .container {
  width: 100%;
}
.clock{margin:1.875rem 0;}
span.txt-contact {
  display: block;
}
#encart-contact address {
  margin: 0;
}
.right-info .title{
  margin-bottom: 0.75rem;
}
#encart-contact h2, #encart-contact p {
  color:var(--col-link-btn);
}

#encart-contact .btn-contact a.btn.accent {
  border: 2px solid #fff;
}
#encart-contact svg path {
  fill:#fff;
}
.boxinfo .btn-devis{
  margin:1.5rem 0 0 0;
}
address span{
  display: block;
}
.right-info{padding: 1.5rem;}
.catalogue-card-image img{border-radius: var(--radius-img);}
#catalogue_contenu {
  margin-top: 2rem;
}
@media screen and (max-width: 992px){
  .custom-slider-nav {
    display: none;
}
  .points-forts-title {
    margin: 1.25rem 0 2rem 0;
  }
  .info{
    padding: 2rem 2rem;
  }
  .col-form {
    padding: 1.5rem;
  }
  
  .box-btn {
    margin: 1.5rem 0;
    display: flex;
    gap: 24px;
}
  .slick-initialized .slick-slide {
    margin-top: 1.5rem;
}
#encart-catalogue .title-2{padding: 0 13px;}
 #encart-prestations, .prestations-card {padding:20px;}

  .boxinfo h2{ font-size: var(--displaymd);}

  .right-info{margin-top:1.5rem;}
}
@media screen and (min-width: 993px) {
  .cp_ville {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .slick-points-fort{
    border-left:1px solid rgba(209, 209, 209, 1); 
    border-right:1px solid rgba(209, 209, 209, 1);
    }
  #encart-catalogue .slick-slide:nth-of-type(even) {
    margin-top: 6.75rem;
  }
  .slick-catalogue{margin-top: 4rem;}
  .info{
    padding: 5rem 2.813rem;
  }
  .col-form {
    padding: 3rem;
  }
  h2, .title-2 {
    font-size: var(--h2-font-size);
    line-height: var(--h2-font-size);
}
.boxinfo h2{
  margin-top:0;
  padding-top: 0;
  margin-bottom:1.5rem;
}
}
@media (min-width: 993px) and (max-width: 1350px) {
  h2, .title-2 {
    font-size: var(--h3-font-size);
    line-height: var(--h3-font-size);
}
  .right-info {
      padding: 1.5rem 0.8rem;
      font-size: 0.938rem;
  }
      .boxinfo h2 {
          font-size: 1.875rem;
      }
    
  }
  @media screen and (min-width: 1500px) {
    .slick-points-fort{
      border-left:1px solid rgba(209, 209, 209, 1); 
      border-right:1px solid rgba(209, 209, 209, 1);
      }
    }
/*============finT CONTACT===================*/
/* ***************************************ENCART CONTACT HOME*********************************** */

/* ***************************************ACTUALITES*********************************** */
.slick-actualites{display: block;}
.actualites-card{
  position: relative;
  display: block;
  width: 100%;
}
.actualites-card-content {
  padding: 1.5rem;
  transition: .6s;
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  right: 0.75rem;
  background:linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(0deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));
  border: 1px solid;
  border-image-source: linear-gradient(110.9deg, #FFFFFF -16.08%, rgba(255, 255, 255, 0) 100%);
  color: #fff;
  z-index: 5;
  border-radius: var(--border-radius);
  backdrop-filter: blur(10px);
}

.actualites-card-image {
  height: 400px;
  overflow: hidden;
  border-radius: var(--border-radius);
}

.actualites-card:hover img {
  transform: scale(1.1);
}

.card-image a::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  transition: .6s;
}

.actualites-card:hover .card-image a::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}

.card-image img {
  height: 100%;
  width: 100%;
  display: block;
  object-fit: cover;
  transition: .6s;
  margin-bottom: 1.25rem;
}
.actualites-card-title a {
  text-decoration: none;
  font-size: var(--displaysm);
  line-height: 100%;
   margin: 0px;
  font-weight: var(--font-weight-medium);

}

.actualites-card .card-text {
  margin: .5rem 0;
}

.actualites-encart-btn {
  margin-top: 3.75rem;
}

.actualites-card .card-link {
  font-weight: 700;
  line-height: 1.5rem;
}

#listing-autres-actus-categorie ul a {
  font-size: 0.938rem;
  text-decoration: none;
  color: #000;
}

#listing-autres-actus-categorie ul a:hover {
  text-decoration: underline;
}

#listing-autres-actus-categorie {
  color: #000;
}

.actualites-detail .detail-btn {
  text-align: center;
}

.actualites-detail .detail-actu-reseaux-sociaux {
  align-items: flex-start;
}

.detail-actu-reseaux-sociaux>div {
  display: flex;
}

.detail-actu-image img {
  border-radius: var(--border-radius);
}

.actualites-listing #fil_ariane {
  margin: 2rem 0rem;
}
a.lire-plus{color: #fff;text-decoration: none;}

.paginationControl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 30px auto;
  flex-wrap: wrap;
}

.paginationControl a,
.paginationControl span {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #ccc;
  color: var(--accent-color);
  text-decoration: none;
  font-size: 16px;
  border-radius: 4px;
  transition: var(--transition);
}

/* Dégradé sur le bouton sélectionné */
.paginationControl .selected {
  font-weight: bold;
  border: 2px solid transparent;
  border-image: var(--primary-color);
  border-image-slice: 1;
  background: var(--primary-color);
  color: #fff;
}

/* Liens au hover */
.paginationControl a:hover {
  background: var(--primary-color);
  color: #fff;
  border-color: var(--primary-color);
}

/* Bouton désactivé */
.paginationControl .disabled {
  color: #999;
  border: 1px solid #ddd;
  cursor: not-allowed;
}
@media screen and (min-width: 993px) {
#encart-actualites .title-2 {
  margin: 0;
}
#encart-actualites .title-2 span {
display: block;
}
}

@media screen and (max-width: 1400px) and (min-width: 993px) {
  #listing-autres-actus-categorie a.btn {
      padding: 0.75rem;
      font-size: 0.75rem;
  }
}

.actualites-detail #listing-autres-actus-categorie {
  background-color: var(--text-color-90);
  padding: 1rem;
  border-radius: var(--border-radius);
}
/* ***************************************ENCART CATALOGUE*********************************** */
.toptext{color:var(--color-little-text);}
.catalogue-detail-categorie  {
  margin-top: 35px;
  margin-bottom: 20px;
}
span.num-cat {
  color:var(--color-btn);
}
.catalogue-card-number{
  display: flex;
  gap: 20px;
}

.catalogue-card .catalogue-card-content{text-align:left}

.encart-nav {
  margin-bottom: 1.5rem;
  position: relative;
}
.prix{color:#fff;}
#encart-catalogue .encart-nav a:hover,
.btn-cat a:hover {
  background:var(--accent-color);
  color: #000;
}
.catalogue-card-title a{
  text-decoration: none;
}
.box_cat {
  display: inline-flex;
}

#encart-catalogue {background:var(--grey-color);}
@media screen and (min-width: 993px) {
    .slick-catalogue {
        width: 150%;
        position: relative;
        margin-right: -50%;

    }
  .right-box-cat{position: relative;}
  #encart-catalogue .title-2{
    padding: 0 0;
    margin: 0;
  }
  .custom-slider-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 4.5rem;
}
  .custom-slider-nav-wrapper button {
    background: none;
    border: none;
    cursor: pointer;
  }
  
  .right-box-cat .btn-devis {
    text-align: center;
    margin-top: 20px;
    display: flex;
    justify-content: end;

  }
  .custom-slider-nav button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
  }
}

.double-cta {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  justify-content: end;
}


/* ***************************************FIN ENCART CATALOGUE*********************************** */
/* *******************************************FIN ACTUS************************************************* */

/* ===================DEBUT ENCART AVIS================ */

.encart-avis .avis-card.js-more .avis-card-text::after {
  display: none;
}
.slick-dots li button {
  height: 2rem;
  width: 1rem;
}
.encart-avis .slick-prev .slick-prev-icon:before, .encart-avis .slick-prev .slick-next-icon:before, .encart-avis .slick-next .slick-prev-icon:before,
.encart-avis .slick-next .slick-next-icon:before, .encart-avis .title-2 {
  color: #fff;
}
.slick-dots li.slick-active button .slick-dot-icon {
  color: var(--accent-color); }
.encart-avis .btn:hover, .encart-avis .btn:focus {
color: var(--primary-color);
}

@media screen and (min-width: 993px) {
  #encart-actualites p, #encart-prestations .encart-text{
    max-width: 40.5rem;
        margin: 1.5rem auto;
        display: block;
  }
  .avis-card{padding:1rem;}
  .encart-avis .container{
    position: relative; 
    padding: var(--padding-section);
  }

.encart-avis .container{border-left:1px solid #fff;border-right:1px solid #fff;}
.encart-avis .container::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%; 
  height: 100%;
  width: 1px;
  background-color:#fff;
  transform: translateX(-50%);
  z-index: 1;
}

.encart-avis .container::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 75%;
  height: 100%;
  width: 1px;
  background-color:#fff;
  transform: translateX(-50%);
  z-index: 1;
}
.encart-avis .container::before {
  left: 33.33%;
}
.encart-avis .container::after {
  left: 66.66%;
}
.encart-avis .avis-card.js-more .avis-card-text::after {
  display: none;
}
.avis-card .avis-card-text{
    margin-left: 20%;
}

[id^="bloc-"]{
  padding: var(--padding-section);
  background: #fff;
}
[id^="bloc-"] h2 span{
  display:block;
  }
}


/* ===================FIN ENCART AVIS================ */

/* ===================DEBUT TOP PRESTATION================ */
#top-pretation {
  background: #fff;
}
.top-presta-gallery {
  display: flex;
  gap: 0;
  justify-content: center;

}

.top-presta-card {
  position: relative;
  overflow: hidden;
  width: 194px;
  height: 480px;
  transition: var(--transition);
  cursor: pointer;
  margin-top: 0;
  transition: margin-top 1s ease; /* transition fluide du margin */
}

.top-presta-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition:var(--transition);
}

/* Hover title */
.top-presta-title, .catalogue-card-content {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 90%;
  bottom: 12px;
  border-radius: var(--border-radius);
  background: hsla(0, 0%, 0%, 0.2);
  border: 1px solid transparent;
  border-image: linear-gradient(110.9deg, #FFFFFF -16.08%, rgba(255, 255, 255, 0) 77.64%);
  border-image-slice: 1;
  backdrop-filter: blur(20px);
  padding: 1rem 0.7rem;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  z-index: 2;
  text-decoration: none;
  font-weight: var(--font-weight-medium);
  overflow: hidden;
}

[id^="bloc-"], #top-pretation{
  background: #fff;
}
/* Effet de slide-up au hover */
.top-presta-card:hover .top-presta-title, .catalogue-card:hover .card-content  {
  opacity: 1;
  transform: translateY(0);
}

.top-presta-card {
  width: 100%;
  max-width: 194px; /* Desktop: largeur fixe */
  flex: 1 1 calc(50% - 1rem); /* Mobile/tablette : 2 par ligne */
  box-sizing: border-box;
  transition: margin-top 1s ease;
}


@media screen and (max-width: 992px) {

  .top-presta-title {
    font-size: 1.375rem;
  }

  .brand img {
    max-width: 6.25rem;
}
  .top-presta-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem; /* un peu d'espacement entre les cartes */
  }
  .top-presta-card {
    max-width: 100%; /* pour désactiver la largeur fixe de 194px */
  }
}
@media screen and (min-width: 601px){
  .top-presta-title {
    font-size: 1.125rem;
  }
  #top-pretation .title-1{
    font-size:var(--displaymd);
  }
}
@media screen and (min-width: 993px) {

  .top-presta-title {
    font-size: 1.125rem;
  }
  /* Appliquer ce décalage via une classe déclenchée après délai */
.top-presta-gallery.scrolled .top-presta-card:nth-child(1) {
  margin-top: 9.063rem;
}
.top-presta-gallery.scrolled .top-presta-card:nth-child(2) {
  margin-top: 4.438rem;
}
.top-presta-gallery.scrolled .top-presta-card:nth-child(3) {
  margin-top: 11.938rem;
}
.top-presta-gallery.scrolled .top-presta-card:nth-child(4) {
  margin-top: 7.75rem;
}
  [id^="bloc-"]{
    background: #fff;
     padding: var(--padding-section);
  }
  
#top-pretation {
  
    padding: 4.438rem 0;
}
  #top-pretation .title-1{
    font-size:var(--displaylg);
  }
  [id^="encart-"]:not(#encart-points-forts):not(#encart-prestations) {
    margin:0;
    padding: var(--padding-section);
  }

}
@media screen and (min-width: 1350px) {
  .top-presta-title {
    font-size: 1.3rem;
  }
  #top-pretation .title-1{
    font-size:var(--display2xl);
  }
}
/* ===================FIN TOP PRESTATION================ */
/* =============================== */
/*           FOOTER    */
/* =============================== */
footer svg path {
  fill: black;
}
body :where(address) {
  margin: 0;
}
footer {
  padding-bottom: 24px;
  background-color:var(--grey-color);
}
footer .section.section-1 {
  padding-top: 40px;
}
footer a {
  color: var(--text-color);
}
footer .section-3 {
  color: var(--title-color);
}
footer .section .materiel-icons {
  font-size: 20px;
}
footer .section {
  padding: 24px 0;
}
footer .title {
  margin-bottom: 12px;
  font-weight: 600;
  font-family: var(--primary-font);
  color: var(--accent-color);
}
footer ul a {
  color: var(--title-color);
}
.footer-coordonnee {
  display: flex;
  gap: 8px;
}
.nav-footer ul.row a {
  text-decoration: none;
}
footer .section-3 a,
.siret {
  font-weight: 600;
  color: var(--title-color);
  font-family: var(--tertiary-font);
}
 a.lien-maps:hover,
footer .section-3 a:hover {
  text-decoration: underline;
  color: var(--link-color);
}
.index-page footer {
  position: relative;
}
footer ul.dropdown {
  position: absolute;
  left: 0;
  display: none;
  flex-direction: column;
  align-items: stretch;
  width: max-content;
  min-width: 100%;
  max-width: 4rem;
  margin: 0;
  padding: 0;
  font-weight: normal;
  background-color: var(--background-color);
  border: solid 1px rgba(0, 0, 0, 0.1);
  color: var(--text-color);
  z-index: 1;
  bottom: 100%;
  list-style: none;
}
  footer ul.dropdown a {
    font-size: 13px;
    text-transform: none;
  }
footer ul li.sous_menu > a::after {
  content: '\e5cf';
  position: static;
  display: inline-block;
  vertical-align: middle;
  margin: -.125em 0 0 .25em;
  font-family: 'Material Icons';
}
footer ul.dropdown li {
  padding: 0.75rem;
}
footer ul li.sous_menu ul.dropdown > li:not(:last-child) {
  border-bottom: 1px solid #e0e0e0;
}
footer ul li.sous_menu {
  position: relative;
}
footer ul li.sous_menu:hover ul.dropdown {
  display: block;
}
footer .nav ul li.sous_menu ul.dropdown > li a {
  padding: 0.5rem 0.75rem;
}
footer ul.dropdown li {
  margin: 0;
}
footer .nav ul li.sous_menu ul.dropdown > li a {
  padding: 0.5rem;
  margin: 0;
  font-size: 13px;
  display: block;
}
.nav-footer ul {
  margin: 0;
}
.footer-coordonnee-2 {
  margin-top: 16px;
}
footer .section-1 .lien-maps span {
  display: block;
}
@media screen and (max-width: 992px) { 
  .reseaux-sociaux ul.row {
    justify-content: center;
  }
  .section.section-2.nav-footer {
    padding: 24px 0 0;
    max-width: 400px;
    margin: 0 auto;
  }
  footer {
    text-align: center;
  }
  footer .title {
    margin-top: 30px;
  }
  .section.section-1 {
    padding-bottom: 0;
  }
  footer .section li {
    margin: 15px 0;
  }
  .footer-coordonnee {
    flex-direction: column;
    margin: 0 0 25px;
    gap: 6px;
    justify-content: center;
  }
  .horaire-footer > div {
    margin-bottom: 20px;
    flex-direction: column;
    gap: 6px;
  }
  footer .brand {
    margin-bottom: 20px;
  }
  footer {
    text-align: center;
  }
  footer .brand .row {
    justify-content: center;
  }
  
}
@media screen and (max-width: 600px) {
  .box-btn {
    display: block;

}
.box-btn .btn{
  margin-bottom: 1rem;

}
}
@media screen and (min-width: 993px) {
  .box-btn {
    display: flex;
    gap: 10px;
    margin-top: 2rem;
}
  .footer-brand p {
    margin: 12px 0 0;
  }
  .nav-footer ul {
    display: flex;
    justify-content: center;
  }
  footer  ul.dropdown, footer  ul.ssdropdown {
    max-width: none;
  }
  footer .row {
    flex-wrap: nowrap;
  }
  .nav-footer a::before {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    height: 2px;
    background-color: var(--accent-color);
    width: 0;
    transition: var(--transition);
  }
.nav-footer a {
    position: relative;
    padding: 4px;
}
.nav-footer a::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  height: 2px;
  background-color: var(--accent-color);
  width: 0;
  transition: var(--transition);
}

.nav-footer a:hover::before, .nav-footer a.selected::before {
  width: 100%;
  left: 0;
  right: 0;
}
}
/* SLIDER */
/* ====== */
.slider-slick {
  width: 100%;
  height: 500px;
  background-color: var(--background-color);
  position: relative;
  z-index: 0;
}
.slider-slick .slick {
  height: 100%;
}
.slide-img {
  min-height: 500px;
  background-size: cover;
  background-position: center;
}
.slide-img.slide-01 {
  background-image: url('../assets/gifs/slider/slide-01.jpg'); 
}
.slide-img.slide-02 {
  background-image: url('../assets/gifs/slider/slide-02.jpg');
}
.slide-img.slide-03 {
  background-image: url('../assets/gifs/slider/slide-03.jpg');
}
.slide-img .container {
  min-height: 500px;
}
.slide-img .container .bloc {
  height: 500px;
}
@media screen and (max-width: 600px) {
  .slider-slick {
    display: none;
  }
}
@media screen and (max-width: 992px) {
  [id*="bloc"] img,
  :not(#blocHorsLigne) > img,
  :not(#blocHorsLigne) img {
    margin: 2rem auto;
    object-fit: cover;
    width: 100%;
  }
  #blocHorsLigne img{width: auto!important;}
  #bloc-05{margin-bottom: 1.5rem;}
}
/* ******************************************** ENCART PRESTATION ****************************************** */

#encart-prestations .encart-text {
  margin-bottom: 3rem;
}
/* STRUCTURE DE LA CARTE */
.prestations-card {
  padding: 3rem 1.5rem;
  border: 0;
  margin-bottom: -6px;
  height: 100vh;
  border-right: 3px solid;
  transition: background-color 0.5s ease-in-out;
  overflow: hidden;
}
.prestations-card-title {
  margin: 0;
}
/* Dernière colonne sans bordure */
.row .col:last-child .prestations-card {
  border-right: 0;
}
.prestations-card-title a {
  text-decoration: none;
  font-size: 33px;
  line-height: 24.2px;
  text-transform: uppercase;
  transition: .6s;
}
/* Fond sombre en hover */
.prestations-card:hover {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), linear-gradient(0deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));
}
.prestations-card:hover .prestations-card-title a {
  color: white;
}
/* TEXTE */
.prestations-card-text {
  margin-top: .5rem;
  opacity: 0;
  pointer-events: none;
  transition: .6s;
}
.prestations-card:hover .prestations-card-text {
  opacity: 1;
  pointer-events: auto;
}
.prestations-card:hover .card-hover {
  animation: mymove .7s linear;
  margin-bottom: 20px;
}
@keyframes mymove {
  0% {
      transform: translateY(100px);
  }
  80% {
      transform: translateY(-30px);
  }
  100% {
      transform: translateY(0);
  }
}
/* ANIMATION DU BLOC DE CONTENU AU HOVER */
.prestations-card:hover .card-content {
  bottom: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: .6s;
}
.prestations-card:hover .col-img-presta {
  transform: scale(1.1);
}
.link-presta {
  text-decoration: none;
  display: none;
  transition: .6s;
}
.prestations-card:hover .link-presta {
  display: block;
}
/* STRUCTURE */
.row-presta {
  position: relative;
  overflow: hidden;
}
/* IMAGE DE FOND (effet fluide) */
.col-img-presta {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  transform: scale(1);
  transition: transform 1.8s ease;
}

.col-img-presta img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*DEBUT CONTENU HOME*/
.relative {
position: relative;
}
.img-anim-height {
  height: 100vh;
  width: 100%;
  object-fit: cover;
  transition: height 1.2s ease;
  position: absolute;
  top: 0;
  left:0;
  overflow: hidden;
}

.hover-img-1 span{
  margin-bottom:1.5rem;
  font-family: var(--secondary-font);
  font-size: var(--displaysm);
}

.hover-img-1 .img-anim-height.shrink{margin-top: 1rem;}


.img-anim-height.shrink {
  height: 760px;
  position: relative;
}
.img-anim-height.shrink{position: relative;}
.hover-img-2 .img-anim-height.shrink {
  height: 794px;
  margin-top: 1rem;
}
.hover-img-3 .img-anim-height.shrink {
  height: 402px;
  margin-bottom: 2.688rem;
  margin-top: 3rem;
}
#bloc-02{padding: 0;}
.bg-note,
#bloc-04 p:last-of-type, .note p:last-of-type {
  background: var(--primary-color);
  padding: 1rem;
  color: #fff;
  margin-top: 1rem;
}
.encart-content .note-2{margin-bottom: 1.5rem;}
#bloc-04 p:first-of-type{margin-top: 0;}

#bloc-04 p:last-of-type {
  margin-top: 2.625rem;
  margin-bottom:2.625rem;
}
@media screen and (min-width: 993px) {
  .title-large h2{max-width:54.563rem;}
  .hover-img-11 p, .hover-img-12 img{margin-bottom:2rem;}
  #bloc-03 h2{margin-top: 0;}
  .hover-img-4, .hover-img-11{padding-right: 4rem;}
  .hover-img-5, .hover-img-12{padding-left: 3rem;}

  .hover-img-4 .img-anim-height.shrink{
    height: 400px;
    margin-top: 1rem;
  }
 .hover-img-13 .img-anim-height.shrink{
    height: 455px;
    margin-top: 1rem;
  }
  .hover-img-14 .img-anim-height.shrink{
    height: 790px;

  }
  .hover-img-15 .img-anim-height.shrink{
    height: 487px;

  }
  .hover-img-15 p{margin:3rem 0;}
  .hover-img-8 p{
    margin:3rem 0;
  }
  .hover-img-5 .img-anim-height.shrink{
    height: 700px;
    margin-bottom: 1.375rem;
  }
  .hover-img-11 .img-anim-height.shrink, .hover-img-12 .img-anim-height.shrink{
    height: 400px;

  }
  .hover-img-11 h2{margin:0;}
.hover-img-6 p{margin-top:0;}
.hover-img-8 img, .hover-img-8 p{margin:0 0 3rem 0;}


  .hover-img-6 .img-anim-height.shrink{
    height: 540px;
    margin-top: 1rem;
  }
  .hover-img-7 .img-anim-height.shrink{
    height: 100%;

  }
  .hover-img-8 .img-anim-height.shrink{
    height: 439px;
  
  }
  #bloc-01 h1 span{display: block;margin:0;}
}

/*FIN  CONTENU HOME*/

/* CONTENU DE LA CARTE */
.prestations-card-content {
  position: absolute;
  padding: 0 1.5rem;
  bottom: -13%;
  min-height: 200px;
  transition: .6s;
}
#encart-prestations .slick-slider {
  margin-bottom: 0;
}

/* MEDIA QUERIES */

@media screen and (min-width: 993px) {
  .row-presta img {
      position: relative;
  }
  .slick-prestations {
      display: flex;
      flex-direction: column;
      row-gap: 24px;
  }
  .row.row-presta img {
      height: 100%;
      object-fit: cover;
      width: 100%;
      transition: .6s;
  }
}

@media screen and (max-width: 992px) {
  .page-interne .desktop-only{display:none;}
  .prestations-card {
      margin-top: 20px;
      height: 100vh;
  }
  #encart-prestations {
      margin-top: 4rem;
  }
  .prestations-card-title a {
      font-size: 28px;
  }
}
/**CONTENU ET PAGES INTERNES*/
.page-interne .sc-content .ac-doubleColonne.middle-content { align-items :center}


.hero-bg [class*="title"], .hero-bg h1{
    color: #fff;
    margin-bottom: 0;
}
/* Cache les débordements */
.page-interne .encart-content,
.page-interne .encart-content-2,
.page-interne .right-content {
  overflow: hidden;
}
/* Style du span dans encart-content */
.page-interne .encart-content span {
  padding-bottom: 1.5rem;
  display: block;
  font-weight: bold;
  font-size: 1.5rem;
}

/* Images en object-fit: cover et 100% de hauteur */
.page-interne .encart-content img,
.page-interne .encart-content-2 img,
.page-interne .right-content .ac-colonne_1 img,
.page-interne .sc-content .bloc-contact img {
  object-fit: cover;
  height: 100%;
}

/* Images avec class .last-img ou dans .ac-colonne_3 : hauteur auto */
.page-interne .encart-content img.last-img,
.page-interne .encart-content-2 .ac-colonne_3 img {
  height: auto;
}

/* Marge inférieure pour .topimg et .last-img */
.page-interne .encart-content-2 .ac-colonne_3 .topimg,
.page-interne .encart-content img.last-img,
.page-interne{
  margin-bottom: 1.5rem;
}
.page-interne .encart-content .ac-colonne_3 p{margin-top:0;}
.sc-content .ac-doubleColonne .ac-colonne img.last-img  {
    margin: 2rem 0 2rem 0;

}
@media screen and (min-width: 993px) {

  .two-col .ac-colonne {
    padding: 20px;
    border: 2px solid;
    border-image: linear-gradient(90deg,
        hsla(202, 95%, 39%, 1) 0%,
        hsla(202, 95%, 39%, 1) 35%,
        hsla(211, 76%, 40%, 1) 65%,
        hsla(211, 76%, 45%, 1) 100%) 1;
    border-radius: 10px;
}


  .page-interne .right-content h2{margin-top:0;}
  body.actualites-listing,
  body.actualites-detail,
  body.catalogue-detail,
  body.catalogue-listing,
  body.page-interne,
  body.contact-page,
  body.devis-page {
    padding-top: 160px!important;
  }
  .contact-page .hero-bg h1 {
    margin: 1rem 0;
    font-size: 2rem;
  }
.hero-bg {
  height: 26.563rem;
  padding: 6rem 0;
  margin-bottom: 2rem;
}}


#blocHorsLigne {
  z-index: 999999!important;
}