:root {
  --primary-h: 60; /* hue */
  --primary-s: 3%; /* saturation */
  --primary-l: 11%; /* lightness */

  --secondary-h: 60; /* hue */
  --secondary-s: 5%; /* saturation */
  --secondary-l: 94%; /* lightness */

  --accent-h: 49; /* hue */
  --accent-s: 98%; /* saturation */
  --accent-l: 51%; /* lightness */

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

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

  --primary-font: "Lato", sans-serif;
  --secondary-font: "Lato", sans-serif;

  --h1-font-size: 3rem;
  --h2-font-size: 2rem;
  --h3-font-size: 1.5rem;
  --headings-line-height: 1.333333;

  --link-color: var(--primary-color-40);

  --border-radius: 4px;
  --button-border-radius: 4px;
}


/* BRAND */
/* ===== */

.brand a {
  display: inline-block;
  transition: opacity .3s;
}
.brand a:hover {
  opacity: .75;
}
header .brand img.footer-only,
footer .brand img.header-only,
.rappel_telephonique .brand img.footer-only {
  display: none;
}

/*GLOBAL */
img{
  border-radius: var(--border-radius);
}

.btn:not(#recherche_actu_submit) {
  padding: 12px 24px;
}
.btn-devis .btn{
  color: var(--text-color);
}
.btn.outlined{
  padding: 12px 24px;
  color: white;
  font-weight: 700;
  border: solid 2px var(--accent-color);
}
.btn.outlined:hover {
  background-color:var(--accent-color);
  border: solid 2px var(--accent-color);
  color: var(--text-color);
}
.btn.accent:hover {
  background-color:var(--text-color);
  color: var(--accent-color);
}

h1.h1-geoloc span::before {
  display: none;
}

.title-2{
  position: relative;
  margin-bottom: 60px;
}

.title-2::before{
  position: absolute;
  content: "";
  bottom: -16px;
  left: 0;
  height: 4px;
  width: 88px;
  background-color: var(--accent-color);
}

.title-1,
.title-2,
.title-3,
.title-4,
h1, 
h2,
h3,
h4 {
  margin-top: 0;
}


/* MENU */

.menu-mobile .brand a img {
  height: 50px;
  width: auto;
}

.menu-mobile {
  background-color: var(--background-color);
}

.menu-mobile .btn-menu {
  background-color: var(--secondary-color);
  color: var(--text-color);
}
.menu-title,
.header-content .nav > ul > .sous_menu.opened > a {
  color: var(--text-color);
}
.header-content .nav > ul > .sous_menu.opened > a {
  background-color: transparent;
}
.header-content .nav{
  font-family: var(--secondary-font);
}

.main-header-content .col.desktop-only:has(.btn-devis){
  padding-right: 0;
}
.tel {
  white-space: nowrap;
  font-weight: 800;
}

.card-title.actualites-card-title.actualites-encart-card-title.line-clamp-2.title-3.bold {
  height: auto;
  margin-top: 1rem;
}
.contact-page .section.primary-40.white-text {
  background-color: var(--primary-color);
}

.categorie.catalogue-categorie.catalogue-detail-categorie {
  font-weight: 800;
  margin-bottom: 17px;
  font-size: 20px;
  color: var(--accent-color);
}

div#btn-detail a {
  margin: 11px 0px;
}
div#btn-detail a {
  display: inline-block;
}

a#gtm-detail-catalogue-retour {
  width: auto;
  background: transparent;
  border-color: #000;
}

.btn {
  border: 2px solid var(--accent-color);
}
div#btn-detail a {
  width: 100%;
}


div#encart-contact {
  position: relative;
}

div#encart-contact:before {
  content: "";
  position: absolute;
  left: -5000px;
  width: 10000px;
  top: 0px;
  height: 100%;
  background-color: var(--primary-color);
  z-index: -1;
}

.card.contact-card.contact-encart-card {
  background: #fff;
  padding: 50px;
  min-height: 214px;
  margin: 20px auto;
}

div#encart-contact {
  padding: 64px 0px;
}
a.btn.outlined.gtm-global-rappel {
  color: #000;
}

.card-title.contact-card-title.contact-encart-card-title {
  margin-bottom: 10px;
}


.listing-autres-actus-categorie a {
  text-decoration: none;
}

.listing-autres-actus-categorie a:hover {
  opacity: 0.7;
}

.header-content .nav ul li.sous_menu ul.dropdown > li a {
  padding: .75rem;
  margin: 0;
  font-size: 0.8rem;
}
.card-title.prestations-card-title.prestations-encart-card-title.title-3.bold {
  margin-top: 20px;
}
nav#fil_ariane, nav.fil-ariane.gtm-fil-ariane, div#fil_ariane {
  font-size: 14px;
  margin-bottom: 20px;
}

section.ac-doubleColonne.ac-hero .btn-devis {
  margin-top: 20px;
}


@media screen and (min-width: 993px) {
  .sc-content .ac-doubleColonne.ac-hero .ac-colonne.ac-colonne_2 > * {
    max-width: 890px !important;
}

  .header-content .nav > ul > li:hover,
  .header-content .nav ul li a.selected {
  text-decoration: underline;
  text-decoration-color: var(--accent-color);
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
  }
  .header-content .nav ul li a.selected::after{
    text-decoration: none;
  }
  header .reseaux-sociaux {
    margin-left: 24px;
  }
  .top-bar{
    padding-top: 12px;
  }
  header .brand{
    margin-top: -32px;
    margin-bottom: 12px;
  }
}

@media screen and (min-width: 993px) and (max-width: 1400px){
  .main-header-content .row.l-middle.l-end:has(nav){
  flex-direction: column;
  align-items: flex-end;
  padding-bottom: 12px;
  }

}
@media screen and (min-width: 993px) and (max-width: 1200px){
  header .brand{
    width: 120px;
  }


}


/* SLIDER */
/* ====== */

.slider-slick {
  width: 100%;
  height: 100%;
  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: left;
}
.slide-img.slide-01 {
  /* background-image: url('../assets/gifs/slider/slide-01.jpg');  */
  background: linear-gradient(0deg, rgba(51, 42, 1, 0.50) 0%, rgba(51, 42, 1, 0.50) 100%), url('../assets/gifs/slider/slide-01.jpg') lightgray -19.503px -572.409px / 130.861% 279.205% no-repeat;

  position: relative;
}
.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: 100%;
}
/* @media screen and (max-width: 600px) {
  .slider-slick {
    display: none;
  }
} */

.fold .no-desktop > .row {
  padding: 12px 0;
}

@media screen and (max-width: 600px){
  .fold .no-desktop > .row {
    padding: 12px 0;
    justify-content: center;
    flex-direction: column;
  }
}
  

/* BLOCS */

#bloc-01 .col:has(h1){
  padding: 40px;
  position: relative;
  color: white;

  
}
#bloc-01 .col:has(h1) >*{
  position: relative;
 
}
#bloc-01 .col:has(h1)::before{
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 50vw;
  height: 100%;

  border-radius: 4px 0px 0px 4px;
  background: rgba(30, 30, 28, 0.20);
  backdrop-filter: blur(12px);
}
@media screen and (max-width: 992px){
  #bloc-01 .col:has(h1)::before{
    width: 100%;
  }
}

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

  div#btn-detail a {
    width: auto;
}
div#btn-detail {
  display: flex;
  gap: 25px;
  justify-content: end;
}
}

@media screen and (min-width: 993px){
  .categorie.catalogue-categorie.catalogue-detail-categorie {
    text-align: right;
}



  .contact-page p.intro {
    margin-bottom: 0px;
}

  #bloc-01{
    padding: 90px 0;
  }
  [id^="bloc-"]:not(#bloc-01, #bloc-08) {
  padding: 188px 0 128px;
  }
  #bloc-08{
    padding-bottom: 128px;
  }
  [id^="encart-"], 
  .encart-avis , 
  #section-points-forts, 
  #section-fournisseurs {
   position: relative;
   padding: 64px 0 128px;
   
  }
  #bloc-06{
    position: relative;
    color: white;
  }
  [id^="encart-"] .container, 
  .encart-avis .container,
  #section-points-forts .container, 
  #bloc-06 .container,  
  #section-fournisseurs .container{
    position: relative;
    z-index: 1;
  }
  #encart-actualites::before, 
  #encart-catalogue::before, 
  .encart-avis::before,
  #bloc-06::before {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    height: 120%;
    clip-path: polygon(0 8%, 100% 0%, 100% 95%, 0% 100%);
    background-color: var(--primary-color);
  }
  #section-points-forts::before,
  #section-fournisseurs::before
  {
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    height: 120%;
    clip-path: polygon(0 0, 100% 7%, 100% 100%, 0% 100%);
    background-color: var(--secondary-color);
  }
}

#section-fournisseurs img{
padding: 24px 24px 24px 0 ;

}

#bloc-03{
  position: relative;
}

#bloc-03::before{
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;  
  background:linear-gradient(90deg,hsla(49, 96%, 10%, 0.7) 0%, hsla(49, 96%, 10%, 0.7) 80%), url(../assets/gifs/encart-bg.jpg);
  background-size: cover; 
  z-index: 0;
}
@media screen and (min-width: 993px){
  .fb-like.fb_iframe_widget {
    position: relative;
    top: 7px !important;
}
  .card.contact-card.contact-encart-card {

    margin: 0px ;
  }
  
  #bloc-03::before{
    clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);
  }
}
#bloc-03::after{
  position: absolute;
  content: "";
  top: -30%;
  right: 10%;
  height: 280px;
  width: 500px;
  z-index: 1;
  background-image: url(../assets/gifs/bloc-03-after.png);
  background-size: contain; 

  transform: rotate(12deg);
  
}
#bloc-03 .container{
  position: relative;
  z-index: 1;
  color: white;
}

@media screen and (min-width: 993px){
  [id^="bloc-"] .col:has(img){
    position: relative;
  }
  [id^="bloc-"] .row .col:has(img)::before{
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    height: 110%;
    width: 95%;
    border: 2px solid var(--accent-color);
    border-radius: var(--border-radius);
    z-index: -1;
  }
  [id^="bloc-"] .row:not(.l-reverse) .col:has(img)::before{
      left: -2%;
  }
  [id^="bloc-"] .row:is(.l-reverse) .col:has(img)::before{
    right: -2%;
}

#bloc-07 img{
  max-height: 600px;
}

}
/* Presta */
.prestations-card a{
  text-decoration: none;
  color: var(--text-color);
}
.prestations-card {
  padding: 40px ;
  transition: all 0.5s ease-in-out;
}
.prestations-card:hover {
  background-color: var(--secondary-color) ;
}

.prestations-card-text {
 height: 180px;
 /* border: solid 1px red; */
}



/* Points forts */
#section-points-forts .no-mobile{
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 600px){
  #section-points-forts .no-mobile{
    display: none;
  }
}

#section-points-forts ul li{
  list-style: none;
  position: relative;
  margin-bottom: 32px ;
}
#section-points-forts ul li::before{
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  left: -32px;
  height: 20px;
  width: 20px;
  background-image: url('data:image/svg+xml,<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 0.5C4.48 0.5 0 4.98 0 10.5C0 16.02 4.48 20.5 10 20.5C15.52 20.5 20 16.02 20 10.5C20 4.98 15.52 0.5 10 0.5ZM8 15.5L3 10.5L4.41 9.09L8 12.67L15.59 5.08L17 6.5L8 15.5Z" fill="%23FDD003"/></svg>');
  background-size: contain;
}

/* CATALOGUE */
.catalogue-nav ul {
  margin-bottom: 40px ;
}
.catalogue-nav ul li a:hover{
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 2px;
}
.catalogue-card, .catalogue-card a{
  position: relative;
  display: block;
}
.catalogue-card a::after{
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: var(--accent-color);
  opacity: 0;
  transition: all 0.5s ease-in-out;
}
.catalogue-card:hover a::after{
  opacity: 0.8;
}

.catalogue-card-image{
  height: 400px;
}

.catalogue-card-image img{
  height: 100%;
  object-fit: cover;
}
.catalogue-card-content{
  color: var(--text-color);
  font-weight: 700;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  z-index: 2;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

.catalogue-card:hover .catalogue-card-content{
  opacity: 0.8;
}

.catalogue-card-more{
  position: relative;
}
.catalogue-card-more::before{
  position: absolute;
  content: "";
  bottom: -2px;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: var(--text-color);
  z-index: 1;
}

/* ACTUS */
.actualites-card a{
  text-decoration: none ;
}
.actualites-card-image{
  height: 200px;
  border-radius: var(--border-radius);
  overflow: hidden;
 
}

.actualites-card-image img{
  width: 100%;
  object-fit: cover;
  object-position: center; 
  transition: all 0.5s ease-in-out;
}

.actualites-card:hover .actualites-card-image img{
  transform: scale(1.1);
}
.actualites-card:hover .actualites-card-content{
  color: var(--accent-color-80) ;
}
.actualites-card-more, .prestations-card-more{
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--accent-color);
}
.actualites-encart-btn{
  margin-top: 80px;
}
.actualites-listing-card{
  background-color: var(--primary-color);
  padding: 24px;
  border-radius: var(--border-radius);
}
a .actualites-listing-card-content {
  color: white;
}
.actualites-card:hover a .actualites-listing-card-content {
  color: var(--accent-color-80) ;
}
.actualites-card-date{
  margin-top: 12px;
}
/* AVIS */
@media screen and (min-width: 993px) {
  .encart-avis {
    padding: 80px 0;
  }
}
.avis-card {
  border: solid 2px var(--accent-color);
  background-color:var(--primary-color);
  padding: 8px 16px;
  border-radius: var(--border-radius);
  margin: 8px 0;
  color: white;
}
.avis-card-text,
.avis-card-content .show-more {
  padding-left: 80px;
}
.avis-card .avis-card-text{
  height: 3.2rem !important;
}

.avis-card.js-more .avis-card-text::after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), var(--primary-color)) !important;
}

@media screen and (max-width: 600px) {
  .avis-card-text,
  .avis-card-content .show-more {
    padding-left: 0px;
  }
}

/* footer */
footer {
  background-color: var(--primary-color);

}
footer .second {
  padding-top: 0;
}
footer .second .container {
  padding-top: 40px;
  border-top: 1px solid var(--accent-color);
}
footer .reseaux-sociaux {
  padding-top: 24px;
}
footer .row:has(span) {
  padding: 8px;
}

@media screen and (max-width: 992px) {
  footer .section .row .col:has(.brand) {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  footer .reseaux-sociaux {
    padding-bottom: 24px;
  }
  footer .section .row:has(.brand),
  footer .section .row:has(nav) {
    flex-direction: column;
  }
  footer .section .row:has(span) {
    justify-content: center;
  }
  footer .section nav ul li,
  footer .section .siret {
    padding: 8px 0;
  }

  footer .section .siret {
    text-align: center;
  }
}
/* footer .section .col:has(.reseaux-sociaux) {
  padding-top: 24px;
} */
footer :where(address) {
  margin-top: 0;
  margin-bottom: 0;
}

/* RESEAUX SOCIAUX */

header .reseaux-sociaux svg path{
  fill: black;
}
footer .reseaux-sociaux svg path{
  fill: white;
}

/* pages internes  */
.ac-hero .ac-colonne:has(img) {
  position: relative;
}
.ac-hero .ac-colonne:has(img)::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: var(--background-color);
  opacity: 0.8;
}
body.page-interne p.encart, div.encart{
  background-color:var(--secondary-color-80);

  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.10);
  padding: 12px;
  border-radius: 12px;
}
div.encart{
  margin-bottom: 24px;
}

body.page-interne .ac-hero h1{
  margin-bottom: 0;
}

/* PAGE ACTU DETAIL */
body.actualites-detail .listing-autres-actus-categorie {
  height: max-content;
  color: white;
  padding: 24px ;
  margin-bottom: 24px;
  background-color:var(--primary-color);
  border-radius: var(--border-radius);
}

body.actualites-detail .listing-autres-actus-categorie .detail-btn{
 text-align: center;
}

#listing-autres-actus-categorie ul li ul li{
  list-style: none !important;
 
}
#listing-autres-actus-categorie ul li ul li a{
   color: white;
}

.btn.outlined#gtm-detail-catalogue-retour,
.btn.outlined.gtm-global-contact {
  color: var(--text-color) !important;
}

/* CONTACT */
body.contact-page .lien-maps span{
  display: none;
}

/* fleches slider */
.slick-prev, .slick-next{
  background: var(--accent-color);
  height: 180px;
}
.slick-prev .slick-prev-icon:before, .slick-prev .slick-next-icon:before, .slick-next .slick-prev-icon:before, .slick-next .slick-next-icon:before{
  opacity: 1;
}
@media only screen and (min-width: 1600px){
  .slick-next {
    right: -10%;
  }
  .slick-prev {
    left: -10%;
  }
}

@media only screen and (min-width: 1900px){
  .slick-next {
  right: -20%;
}
.slick-prev {
  left: -20%;
}
}
/* 
@media only screen and (min-width: 1201px) {
  .slick-next {
      right: -3rem;
  }
} */