/**********fonts**********/
    /********adobe caslon pro*******/
    @font-face {
        font-family:ACaslonPro-Bold ;
        src: url(../fonts/adobe-caslon-pro/ACaslonPro-Bold.otf);
    }
    @font-face {
        font-family:ACaslonPro-BoldItalic;
        src: url(../fonts/adobe-caslon-pro/ACaslonPro-BoldItalic.otf);
    }
    @font-face {
        font-family:ACaslonPro-Italic;
        src: url(../fonts/adobe-caslon-pro/ACaslonPro-Italic.otf);
    }
    @font-face {
        font-family:ACaslonPro-Regular;
        src: url(../fonts/adobe-caslon-pro/ACaslonPro-Regular.otf);
    }
    @font-face {
        font-family:ACaslonPro-Semibold;
        src: url(../fonts/adobe-caslon-pro/ACaslonPro-Semibold.otf);
    }
    @font-face {
        font-family:ACaslonPro-SemiboldItalic;
        src: url(../fonts/adobe-caslon-pro/ACaslonPro-SemiboldItalic.otf);
    }
    /********source sanas pro*******/
    @font-face {
        font-family:SourceSansPro-Black;
        src: url(../fonts/source-sans-pro/SourceSansPro-Black.otf);
    }
    @font-face {
        font-family:SourceSansPro-BlackIt;
        src: url(../fonts/source-sans-pro/SourceSansPro-BlackIt.otf);
    }
    @font-face {
        font-family:SourceSansPro-Bold;
        src: url(../fonts/source-sans-pro/SourceSansPro-Bold.otf);
    }
    @font-face {
        font-family:SourceSansPro-BoldIt;
        src: url(../fonts/source-sans-pro/SourceSansPro-BoldIt.otf);
    }
    @font-face {
        font-family:SourceSansPro-ExtraLight;
        src: url(../fonts/source-sans-pro/SourceSansPro-ExtraLight.otf);
    }
    @font-face {
        font-family:SourceSansPro-ExtraLightIt;
        src: url(../fonts/source-sans-pro/SourceSansPro-ExtraLightIt.otf);
    }
    @font-face {
        font-family:SourceSansPro-It;
        src: url(../fonts/source-sans-pro/SourceSansPro-It.otf);
    }
    @font-face {
        font-family:SourceSansPro-Light;
        src: url(../fonts/source-sans-pro/SourceSansPro-Light.otf);
    }
    @font-face {
        font-family:SourceSansPro-LightIt;
        src: url(../fonts/source-sans-pro/SourceSansPro-LightIt.otf);
    }
    @font-face {
        font-family:SourceSansPro-Regular;
        src: url(../fonts/source-sans-pro/SourceSansPro-Regular.otf);
    }
    @font-face {
        font-family:SourceSansPro-Semibold;
        src: url(../fonts/source-sans-pro/SourceSansPro-Semibold.otf);
    }
    @font-face {
        font-family:SourceSansPro-SemiboldIt;
        src: url(../fonts/source-sans-pro/SourceSansPro-SemiboldIt.otf);
    }
/*******burger-menu******/
.nav-list {
	position: absolute;
	background-color: #fff;
	top: 0;
	right: 170%;
	height: 100vh;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .5s all;
	-webkit-transition: .5s all;
	-moz-transition: .5s all;
	-ms-transition: .5s all;
	-o-transition: .5s all;
}

.projet_show {
    cursor: pointer;
}

.toggle-menu {
	width: 40px;
	height: 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
    padding: 2px 2px 2px 3px;
	cursor: pointer;
    float: right;
    z-index: 2;
    position: relative;
    transition: .5s all;
}
.line {
	width: 100%;
	height: 3px;
	border-radius: 5px;
	background-color: #000;
	transition: transform 0.2s ease-out;
	-webkit-transition: transform 0.2s ease-out;
	-moz-transition: transform 0.2s ease-out;
	-ms-transition: transform 0.2s ease-out;
	-o-transition: transform 0.2s ease-out;
}
.toggle .line1 {
	background-color: #000000;
	transform: scale(0.9) rotateZ(-45deg) translate(-6px, 4px);
}
.toggle .line2 {
	display: none;
}
.toggle .line3 {
	background-color: #000000;
	transform: scale(0.9) rotateZ(45deg) translate(-6px, -4px);
}
.nav-list {
	list-style: none;
}

.nav-list-item {
	text-align: center;
	padding: 10px 0;
}

.nav-link {
	color: #000;
	font-size: 22px;
	text-decoration: none;
	position: relative;
	padding-bottom: 0px;
    transition: .5s all;
}
.nav-list .nav-link {
	color: #000;
}

.nav-link::before {
	position: absolute;
	content: '';
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 3px;
	background-color: #ed4509;
	transform: scaleX(0);
	transition: transform 0.4s ease-in-out;
	transform-origin: left;
	-webkit-transition: transform 0.4s ease-in-out;
	-moz-transition: transform 0.4s ease-in-out;
	-ms-transition: transform 0.4s ease-in-out;
	-o-transition: transform 0.4s ease-in-out;
}

.nav-link:hover::before {
	transform: scaleX(1);
    color: #ed4509;
}
.nav-link.comp:hover {
    color: #ed4509;
}
.header-fixed.sticky nav.header__nav.nav-bar.toggle .nav-list{
    position: absolute;
    background-color: #fff;
    top: 60px;
    right: 0;
    height: 100vh;
    width: 100%;
    z-index: 1;
    transition: .5s all;
    display: flex;
    flex-direction: column;
}
.header-fixed.sticky .nav-list{
    top: 60px;
}
.header-fixed nav.header__nav.nav-bar.toggle .nav-list{
    position: absolute;
    background-color: #fff;
    top: 105px;
    right: 0;
    height: 100vh;
    width: 100%;
    z-index: 1;
    transition: .5s all;
    display: flex;
    flex-direction: column;
}
.header-fixed .nav-list{
    top: 105px;
}
.list-social{
    list-style: none;
    padding: 0;
    display: flex;
    margin-top: 40%;
}
.links-social:first-child{
    padding-right: 30px;
}
.links-social a{
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
}
/*******style general****/    
body{
    font-family: 'Work Sans', sans-serif;
    font-weight: 400;
}
.home-page h2{
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 30px !important; 
    color: #000000;
}
h1{
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 30px !important; 
    color: #000000;
}
h2{
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 28px !important; 
    color: #000000;
}
h3{
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    font-size: 14px !important;
    color: #000000;
    letter-spacing: 3px;
    margin-bottom: 0;
}
p{
    font-family: 'Work Sans', sans-serif;
    font-weight: 300;
    font-size: 16px !important; 
    color: #000000;

}
ul li{
    font-family: 'Work Sans', sans-serif;
    font-weight: 300;
    font-size: 16px !important; 
    color: #000000;

}
.block-1 p{
    padding-top: 30px;
}
p i{
    font-family: 'Work Sans', sans-serif;
    font-weight: 300;
    font-style: italic;
}
footer{
    margin-top: 0px;
    padding: 40px 0 10px 0;
}
footer .credit{
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 17px !important; 
    color: #000000;
}
footer .credit a{
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 17px !important; 
    color: #000000;
}
/**********new footer styles**********/
.footer-single-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    flex-wrap: wrap;
    gap: 10px;
}
.footer-left,
.footer-right {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}
.footer-sep {
    margin: 0 8px;
    color: #ED4509;
    font-family: 'Work Sans', sans-serif;
    font-size: 13px;
}
.footer-link-social {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: #ED4509;
    text-decoration: none;
    transition: 0.3s all;
}
.footer-link-social:hover {
    text-decoration: underline;
    color: #ED4509;
}
.footer-link {
    font-size: 13px;
    background-color: inherit;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 0;
    transition: 0.3s;
    font-family: 'Work Sans', sans-serif;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.footer-link:hover {
    opacity: 0.7;
    color: #000000;
}
.img-80{
    width: 80%;
    transition: .5s;
}
.small-pic{
    height : 385px;
}
.large-pic{
    height: 385px;
}

/* CSS Grid layout — espacements horizontaux et verticaux identiques */
.gallery-produits-1-grid {
    display: grid;
    gap: 10px;
}
.gallery-produits-2-grid {
    display: grid;
    gap: 10px;
}
/* .gallery-produits-2-grid .gallery-cell:first-child{
    padding-right: 5px;
}
.gallery-produits-2-grid .gallery-cell:last-child{
    padding-left: 5px;
} */

.gallery-produits-2-grid {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 385px 385px;
}
.gallery-produits-1-grid {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 385px 385px;
}
/* .gallery-produits-1-grid .gallery-cell{
    padding-right: 4px;
}
.gallery-produits-1-grid .gallery-cell.gallery-cell-lg{
    padding-left: 4px;
    padding-right: 0;
} */

.gallery-produits-2-grid .gallery-cell-lg {
    grid-row: 1 / 3;
}
.gallery-produits-1-grid .gallery-cell-lg {
    grid-column: 2;
    grid-row: 1 / 3;
}
.gallery-produits-2-grid .gallery-cell,
.gallery-produits-2-grid .gallery-cell-lg,
.gallery-produits-1-grid .gallery-cell,
.gallery-produits-1-grid .gallery-cell-lg {
    overflow: hidden;
}
.gallery-produits-2-grid .gallery-cell > a,
.gallery-produits-2-grid .gallery-cell-lg > a,
.gallery-produits-1-grid .gallery-cell > a,
.gallery-produits-1-grid .gallery-cell-lg > a {
    display: block;
    height: 100%;
}
.gallery-produits-2-grid .gallery-cell > a > div,
.gallery-produits-2-grid .gallery-cell-lg > a > div,
.gallery-produits-1-grid .gallery-cell > a > div,
.gallery-produits-1-grid .gallery-cell-lg > a > div {
    height: 100%;
}
.header-fixed{
    width: 100%;
    transition: 1s;
    z-index: 10000;
  }
  .header-fixed .top-menu{
    display: flex;
    transition: 1s;
  }
  .header-fixed.sticky .red-ligne{
    width: 100%;
    transition: 1s;
    height: 10px;
    margin-bottom: 5px;
  }
  .header-fixed.sticky .top-menu{
    display: none;
    transition: 1s;
  }
  .header-fixed .nav-scroll{
    display: none;
    transition: 1s;
  }
  .header-fixed.sticky .nav-scroll{
    display: flex;
    transition: 1s;
  }
  .header-fixed.sticky {
    position: fixed;
    background: #fff;
    transition: 1s;
    height: 60px;
  }
  .header-fixed.sticky .nav-link.contact-fixed{
    position: relative;
    width: 95px;
    transition: 1s;
  }
  /* .header-fixed.sticky .container{
    margin-right: 0 !important;
    padding-right: 0 !important;
    margin-left: auto;
    max-width: 93%;
  } */
  header .header-fixed.sticky .img-80 {
    width: 40%;
}
.header-fixed.sticky  .nav-link{
    font-size: 14px !important;
}
.header-fixed.sticky .nav-link.contact-fixed{
    font-size: 18px !important;
}
/**********desktop hamburger menu**********/
.hamburger-desktop {
    width: 60px;
    height: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    position: relative;
    margin-left: 30px;
}
.hamburger-line {
    width: 100%;
    height: 3px;
    background-color: #ED4509;
    transition: all 0.3s ease;
}
.desktop-menu-items {
    display: none;
    align-items: center;
    gap: 30px;
    margin-right: 20px;
}
.desktop-menu-items.active {
    display: flex;
    animation: slideInFromRight 0.4s ease-in-out;
}
@keyframes slideInFromRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.desktop-menu-link {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: color 0.3s ease;
    position: relative;
    padding-bottom: 5px;
}
.desktop-menu-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #ED4509;
    transition: width 0.3s ease;
}
.desktop-menu-link:hover,
.desktop-menu-link.active {
    color: #ED4509;
}
.desktop-menu-link:hover::after,
.desktop-menu-link.active::after {
    width: 100%;
}
/****style home page*******/

.page-iow{
    /* background-color: #F0EFE7; */
    position: relative;
}
.red-ligne{
    height: 26px;
    background-color: #ED4509;
    margin-bottom: 15px;
    transition: 1s;
}
.nav-link.contact-fixed{
    position: absolute;
    right: 0;
    font-size: 18px !important;
    background-color: #ed4509;
    color: #fff !important;
    padding: 2px 20px 0 20px !important;
    height: 26px;
    z-index: 999;
}
.nav-link.comp{
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 3px;
    padding: 0;
    margin: 8px 16px;
}
.nav-link.comp.active{
    color: #ED4509 !important;
    position: relative;
}
.nav-link.comp.active::after{
    content: "";
    height: 3px;
    width: 100%;
    background-color: #ED4509;
    position: absolute;
    left: 0;
    bottom: -3px;
}
.nav-link{
    font-size: 16px !important;
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    transition: 1s;
}
.nav-link.social-media{
    font-size: 16px !important;
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    color: #ED451A !important;
    transition: 1s;
    line-height: 16px;
    padding:0;
    margin: 8px 16px;
}

.img-hover-1 , .img-hover-2 , .img-hover-3{
    position: relative;
    transition: .4s all;
}
.hover-block{
    background: #fff;
    padding: 10px 10px 30px 10px;
    position: absolute;
    opacity: 0;
    transition: .4s all;
    width: 70%;
    cursor: pointer;
}
.img-hover-1:hover .hover-block{
    opacity: 1;
}
.img-hover-2:hover .hover-block{
    opacity: 1;
}
.img-hover-3:hover .hover-block{
    opacity: 1;
}
.img-hover-1 .hover-block{
    bottom: 20px;
    left: -30px;
}
.img-hover-2 .hover-block{
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 0%);
}
.img-hover-3 .hover-block{
    bottom: 20px;
    right: -30px;
}
.hover-block p{
    font-family: 'Playfair Display', serif;
    font-weight: 300;
    font-style: italic;
    font-size: 14px;
    margin-bottom: 0;
}
/**********page de garde : légende photo projet**********/
main.home-page .hover-block{
    background: rgba(255, 255, 255, 0.6);
    padding: 10px 10px 20px 10px;
    width: 65%;
}
/* Grande image : s'adapte au contenu pour ne pas être trop large */
main.home-page .gallery-cell-lg .hover-block,
main.home-page .col-md-4 .hover-block {
    /* width: fit-content; */
    max-width: 50%;
}
main.home-page .hover-block h3{
    color: #000000;
}
main.home-page .hover-block p{
    font-size: 90%;
    color: #000000;
}
main.home-page .img-hover-1 .hover-block{
    left: 0;
}
main.home-page .img-hover-3 .hover-block{
    right: 0;
}
/**********page-details***********/
main.page-details{
    padding-top: 40px;
}
main.page-details h1{
    font-family: 'Work Sans', sans-serif;
    text-transform: uppercase !important;
    color: black !important;
    text-decoration: none !important;
    font-size: 18px !important;
    letter-spacing: 0px !important;
    font-weight: 600;
}
/**********tabs***************/

/* Style the buttons inside the tab */

  .tab button {
    font-size: 20px;
    background-color: inherit;
    border: none;
    outline: none;
    cursor: pointer;
    margin: 14px 50px 14px 0px;
    padding: 0;
    transition: 0.3s all;
    text-align: center;
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    color: #000;
    position: relative;
  }
  .tab button:last-child::after{
    width: 0;
    height: 0;
  }
  .tab button::after{
    content: '';
    width: 8px;
    height: 8px;
    background-color: #ED4509;
    border-radius: 30px;
    position: absolute;
    top: 10px;
    right: -30px;
  }
  .tab a {
    font-size: 14px;
    background-color: inherit;
    border: none;
    outline: none;
    cursor: pointer;
    margin: 14px 50px 14px 0px;
    padding: 0;
    transition: 0.3s;
    text-align: center;
    font-family: 'Work Sans', sans-serif;
    font-weight: 500;
    color: #000;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 3px;
  }
  .tab a:last-child::after{
    width: 0;
    height: 0;
  }
  /* .tab a::after{
    content: '';
    width: 8px;
    height: 8px;
    background-color: #ED4509;
    border-radius: 30px;
    position: absolute;
    top: 7px;
    right: -30px;
  } */
  .tab.sticky{
    position: fixed;
    top: 60px;
    z-index: 99999999;
    background-color: #fff;
    transition: 1s;
    left: 90px;
    padding: 0 10px 10px;
  }
  .tab.sticky button{
    margin: 10px 30px;
    font-size: 16px;
    padding: 0;
  } 
  button.tablinks.active::before{
    content: "";
    width: 100%;
    height: 3px;
    background-color: #ED4509;
    position: absolute;
    bottom: -2px;
    transform: scaleX(1);
  }
  /* a.tablinks.active::before{
    content: "";
    width: 100%;
    height: 3px;
    background-color: #ED4509;
    position: absolute;
    bottom: -3px;
    transform: scaleX(1);
  } */
  .tab.sticky button::after{
    top: 10px;
    right: -32px;
  }

  button.tablinks.active{
    color: #ED4509;
  }
  a.tablinks.active{
    color: #ED4509;
    text-decoration: none;
  }
  a.tablinks:hover{
    color: #ED4509;
  }
  /* a.tablinks:hover::before {
    transform: scaleX(1);
    color: #ed4509;
    }
  a.tablinks::before {
    position: absolute;
    content: '';
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 3px;
    background-color: #ed4509;
    color: #ed4509;
    transition: transform 0.4s ease-in-out;
    transform-origin: left;
    transform: scaleX(0);
    -webkit-transition: transform 0.4s ease-in-out;
    -moz-transition: transform 0.4s ease-in-out;
    -ms-transition: transform 0.4s ease-in-out;
    -o-transition: transform 0.4s ease-in-out;
    } */
    .tab.sticky a.tablinks:last-child{
        margin-right: 0;
    }


/* Style the tab content */
  .tabcontent {
    display: none;
    padding-top: 20px;
    border-top: none;
    transition: 0.3s;
  }
main.page-details h2{
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 14px !important; 
    color: #000000;
    letter-spacing: 3px;
    margin-bottom: .05rem;
    transition: 0.3s;
    font-family: 'Work Sans', sans-serif;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 15px;
}
main.page-details h2 a{
    text-transform: capitalize !important;
}
.text-fixed{
    position: sticky;
    top: 40px;
    align-self: flex-start;
    width: 100%;
}
.header-article p{
    font-family: 'Playfair Display', serif;
    font-size: 18px !important;
    font-weight: 300;
    font-style: italic;
}
.header-article-show p{
    margin-top: 16px;
    margin-bottom: 35px;
}
.content-article h2{
    padding-bottom: 20px;
}
.img-full{
   width: 100%; 
   object-fit: contain;
   padding-bottom: 15px;
}
.page-details .carousel-control-next,.page-details .carousel-control-prev{
    position: relative !important;
    font-size: 18px;
    color: #000 !important;
    font-family: 'Work Sans', sans-serif;
    font-weight: 400 !important;
    opacity: 1;
    width: auto;
}
.page-details .carousel-control-next:hover ,.page-details .carousel-control-prev:hover{
    color: #000 !important;
}
.btn-carrousel-custom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 40px;
}
.project-page .content-article {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    white-space: normal;
    margin: 0;
    overflow-wrap: break-word;
}
.flex-end {
    justify-content: flex-end !important;
}
.page-details .carousel-control-next:focus, .page-details .carousel-control-next:hover, .page-details .carousel-control-prev:focus, .page-details .carousel-control-prev:hover{
    color: #000 !important;
}
.carousel-control-next-icon, .carousel-control-prev-icon{
    display: none !important;
}
span.carousel-control-text {
    display: flex;
    align-items: center;
    gap: 5px;
}
span.carousel-control-text i{
    padding-left: 10px;
    padding-right: 10px;
    font-size: 21px;
}
span.carousel-control-text svg{
    width: 22px;
    height: 22px;
}
/**********page-competence**********/
body.page-competence{
    background-color: #F0EFE7;
}
.page-competence h1{
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 20px !important; 
    color: #000000;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding-bottom: 30px;
    line-height: 40px;
}
.page-competence h2:first-child{
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 20px !important; 
    color: #000000;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding-bottom: 30px;
    line-height: 30px;
}
.white-section {
    background-color: #fff;
    margin-top: 170px;
}
.page-competence .inter-section{
    transform: translate(0px, 0px);
}
.inter-section{
    transform: translate(0px, -125px);
}
.details-author {
    padding-top: 30px;
}
body.page-competence footer{
    margin-top: 0;
    background-color: #fff;
}
/********responsive*********/
@media screen and (min-width: 768px) and (max-width: 991.5px) {
    /* .img-80 {
        width: 50%;
    } */
    .text-fixed{
        position: relative;
        width: auto;
    }
    header .header-fixed.sticky .img-80{
        width: 80%;
    }
    .header-fixed.sticky .container{
        margin-right: auto !important;
    }
    ul.nav.justify-content-end.align-items-baseline {
        display: grid;
        text-align: end;
    }
    .nav-link.comp{
        font-size: 30px !important;
        padding: 5px;
    }
    .nav-link{
        font-size: 30px !important;
        padding: 5px !important;
    }
    .nav-link.contact-fixed{
        font-size: 30px !important;
        position: relative;
        height: 40px;
    }
    .header-fixed.sticky .nav-link.contact-fixed{
        font-size: 30px !important;
        width: auto;
    }
    .page-competence h1 {
        font-family: 'Playfair Display', serif;
        font-weight: 700;
        font-size: 16px !important;
        color: #000000;
        letter-spacing: 3px;
        text-transform: uppercase;
        padding-bottom: 0px;
        line-height: 30px;
    }
    h2 {
        font-family: 'Playfair Display', serif;
        font-weight: 700;
        font-size: 22px !important;
        color: #000000;
    }
    p {
        font-family: 'Work Sans', sans-serif;
        font-weight: 300;
        font-size: 14px !important;
        color: #000000;
    }
    footer .credit {
        font-family: 'Work Sans', sans-serif;
        font-weight: 600;
        font-size: 14px !important;
        color: #000000;
    }
    footer .credit a {
        font-family: 'Work Sans', sans-serif;
        font-weight: 600;
        font-size: 14px !important;
        color: #000000;
    }
    .white-section {
        background-color: #fff;
        margin-top: 160px;
    }
    h1 {
        font-family: 'Playfair Display', serif;
        font-weight: 700;
        font-size: 20px !important;
        color: #000000;
    }
    .small-pic{
        height: 260px;
    }
    .hover-block{
        opacity: 1;
        width: auto;
    }
    .img-hover-1 .hover-block{
        bottom: 20px;
        left: inherit;
        right: 0;
    }
    .img-hover-2 .hover-block{
        bottom: 20px;
        left: inherit;
        transform: inherit;
        right: 0;
    }
    .img-hover-3 .hover-block{
        bottom: 20px;
        right: 0;
    }
    .header-article{
        padding-top: 20px;
        padding-bottom: 15px;
    }
    main.page-details {
        padding-top: 25px;
    }
    .block-details {
        padding-left: 20px;
        padding-right: 20px;
    }
    .gallery-produits .small-pic , .gallery-produits-2 .small-pic{
        height: 130px;
    }
    .gallery-produits-2-grid,
    .gallery-produits-1-grid {
        grid-template-rows: 130px 130px;
        gap: 8px;
    }
    .header-fixed .nav-scroll , .nav-scroll , .top-menu{
        display: none !important;
    }
    .header-fixed.sticky  .nav-link{
        font-size: 30px !important;
    }
    .tab{
        display: flex;
        overflow-y: auto;
        position: inherit !important;
        background-color: #ffffff00;
    }
    .tab.sticky{
        background-color: #ffffff00; 
    }
    .footer-content {
        flex-direction: column;
        gap: 10px;
    }
    .footer-block {
        width: 100%;
    }
    .tab a{
        margin: 14px 14px 14px 0px;
        font-size: 14px;
    }
}
@media screen and (min-width: 200px) and (max-width: 767px) {
    .tab a{
        margin: 14px 14px 14px 0px;
        font-size: 14px;
    }
    .img-80 {
        width: 50%;
    }
    .text-fixed{
        position: relative;
        width: auto;
    }
    header .header-fixed.sticky .img-80{
        width: 30%;
    }
    .header-fixed.sticky .container{
        margin-right: auto !important;
    }
    ul.nav.justify-content-end.align-items-baseline {
        display: grid;
        text-align: end;
    }
    .nav-link.comp{
        font-size: 30px !important;
        padding: 5px;
    }
    .nav-link{
        font-size: 30px !important;
        padding: 5px !important;
    }
    .nav-link.contact-fixed{
        font-size: 30px !important;
        position: relative;
        height: 40px;
    }
    .header-fixed.sticky .nav-link.contact-fixed{
        font-size: 30px !important;
        width: auto;
    }
    .page-competence h1 {
        font-family: 'Playfair Display', serif;
        font-weight: 700;
        font-size: 16px !important;
        color: #000000;
        letter-spacing: 3px;
        text-transform: uppercase;
        padding-bottom: 0px;
        line-height: 30px;
    }
    h2 {
        font-family: 'Playfair Display', serif;
        font-weight: 700;
        font-size: 22px !important;
        color: #000000;
    }
    p {
        font-family: 'Work Sans', sans-serif;
        font-weight: 300;
        font-size: 14px !important;
        color: #000000;
    }
    footer .credit {
        font-family: 'Work Sans', sans-serif;
        font-weight: 600;
        font-size: 14px !important;
        color: #000000;
    }
    footer .credit a {
        font-family: 'Work Sans', sans-serif;
        font-weight: 600;
        font-size: 14px !important;
        color: #000000;
    }
    .white-section {
        background-color: #fff;
        margin-top: 160px;
    }
    h1 {
        font-family: 'Playfair Display', serif;
        font-weight: 700;
        font-size: 20px !important;
        color: #000000;
    }
    .small-pic, .large-pic {
        height: 260px;
        margin-top: 12px;
    }
    .gallery-produits-2-grid,
    .gallery-produits-1-grid {
        grid-template-columns: 1fr;
        grid-template-rows: 260px 260px 260px;
        height: auto;
    }
    .gallery-produits-2-grid .gallery-cell-lg,
    .gallery-produits-1-grid .gallery-cell-lg {
        grid-column: auto;
        grid-row: auto;
    }
    .hover-block{
        opacity: 1;
        width: auto;
    }
    main.home-page .p-0 {
        padding: 12px !important;
        margin-top: 0 !important;
    }
    .img-hover-1 .hover-block{
        bottom: 20px;
        left: inherit;
        right: 0;
    }
    .img-hover-2 .hover-block{
        bottom: 20px;
        left: inherit;
        transform: inherit;
        right: 0;
    }
    .img-hover-3 .hover-block{
        bottom: 20px;
        right: 0;
    }
    main.home-page .ps-0 {
        padding-left: 12px !important;
    }
    .header-article{
        padding-top: 20px;
        padding-bottom: 15px;
    }
    main.page-details {
        padding-top: 25px;
    }
    .block-details {
        padding-left: 20px;
        padding-right: 20px;
    }
    .page-details .carousel-control-next{
        right: -25px !important;
    }
    .page-details .carousel-control-prev{
        left: -25px !important;
    }
    .gallery-produits-2 {
        margin-top: 0 !important;
    }
    .col-md-4.col-lg-4.col-md-12{
        margin: 0 !important;
        padding: 0 12px !important;
    }
    .col-md-12.col-lg-12.col-md-12 {
        margin-top: 0 !important;
    }
    .header-fixed .nav-scroll , .nav-scroll , .top-menu{
        display: none !important;
    }
    .header-fixed.sticky  .nav-link{
        font-size: 30px !important;
    }
    .header-fixed.sticky .nav-list{
        right: 220%;
    }
    .tab{
        display: flex;
        overflow-y: auto;
        position: inherit !important;
        background-color: #ffffff00;
    }
    .tab.sticky{
        background-color: #ffffff00; 
    }
    .footer-content {
        flex-direction: column;
        gap: 10px;
    }
    .footer-block {
        width: 100%;
    }
    .footer-link, .footer-link-social {
        font-size: 14px;
    }
    .popin-cookies .offcanvas.offcanvas-bottom{
        height: auto !important;
    }
}
@media screen and (max-width: 520.5px){
    .popin-cookies .offcanvas.offcanvas-bottom {
        height: auto !important;
    }
}
@media screen and (min-width: 1500px) and (max-width: 2000px) {
    header .header-fixed.sticky .img-80 {
        width: 30%;
    }
}

.home-page .block-1 p {
	padding-top: 0px;
}
.a-no-style {
  color: black !important;
  text-decoration: none !important;
  font-size: 18px;
  letter-spacing: 0px !important;
  font-weight: 600;
}
.orange {
    color: rgb(233 96 15) !important;
    text-decoration: none;
}
.montion-legal h2{
    font-size: 30px;
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    /*letter-spacing: 3px;*/
}
.popin-cookies {
    display: none;
}
.popin-cookies .offcanvas.offcanvas-bottom{
    transform: translateY(0%) !important;
    height: auto;
    visibility: visible !important;
    border-top: none;
    background-color: #000 !important;
    color: #fff !important;
}

/* Titre en blanc, plus petit */
.popin-cookies .offcanvas-title {
    color: #fff !important;
    font-size: 16px !important; /* au lieu de 30px */
    font-weight: 600;
    line-height: 1.2;
  }
  
  .popin-cookies .offcanvas-body p, .popin-cookies .accordion-item-content p {
    color: #fff !important;
    font-size: 13px !important; /* ou 12px si tu veux encore plus petit */
    line-height: 1.45;
  }
  .popin-cookies .offcanvas-body p {
    font-size: 11px !important;
    line-height: 1.25;
    margin-bottom: 6px;
  }
  /* Liens cliquables en orange (même esprit que le bandeau) */
  .popin-cookies .footer-links a,
  .popin-cookies .offcanvas-body a {
    color: #ED4509 !important;
    text-decoration: none;
    /* font-size: 13px !important; */
  }
  .popin-cookies .footer-links a,
  .popin-cookies .footer-links .btn {
    font-size: 11px !important;
    line-height: 1.2;
 }
  /* Hover liens */
  .popin-cookies .footer-links a:hover,
  .popin-cookies .offcanvas-body a:hover {
    color: #ff6a33 !important;
  }
  /* Optionnel : texte des boutons plus petit */
  .popin-cookies .footer-links .btn {
    font-size: 11px !important;
  }
.offcanvas-title{
    font-size: 30px !important;
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    color: #000000;
}
.offcanvas-body p{
    font-size: 16px !important;
}
.footer-links a{
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    color: #0077FF;
    font-size: 16px !important;
}
.footer-links .btn{
    border-radius: 0px !important;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 16px !important;
    color: #fff !important;
}
.footer-links button.btn.btn-secondary{
    background-color: #606060 !important;
}
.footer-links button.btn.btn-warning{
    background-color: #ED4509 !important;
}
.mail-iow{
    font-size: 20px;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    text-decoration: none;
    color: #000;
    display: block;
    padding-top: 20px;
}
.mail-iow:hover{
    color: #000;
}
.offcanvas-header , .offcanvas-body{
    padding-left: 12px;
}
.offcanvas-body {
    padding-top : 5px !important;
}
.popin-cookies.part-2{
    display: none ;
}
/* .popin-cookies.part-2 .offcanvas.offcanvas-bottom{
height: 500px !important;
overflow: auto;
} */
.cook_div .accordion-item-header {
    border-radius : 0px !important
}
.cook_div .accordion-item {
    background-color: #fff !important;
}
.offcanvas-header {
    padding-bottom: 0px !important;
};
.offcanvas-body {
    margin-top: -10px !important;
}
accordion-item-header expanded {
    padding-bottom: 0px !important;
}
accordion-item-header expanded {
    padding-bottom: 0px !important;
}
accordion-item-header expanded {
    padding-bottom: 0px !important;
}

  /* Style for accordion */
  .accordion {
    margin-bottom: 15px;
  }

  .accordion-item {
    border: none;
    margin-bottom: 5px;
    background-color: #000000;
  }

  .accordion-item-header {
    background-color: #f4f4f4;
    padding: 10px;
    cursor: pointer;
    direction: rtl;
    display: flex;
    justify-content: space-between;
    border-radius: 6px;
    position: relative;
  }
  
  .accordion-item-header::before {
    content: "\25BA"; /* Unicode for right-pointing arrow */
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
  }
  
  .accordion-item-header.expanded::before {
    transform: translateY(-50%) rotate(90deg);
  }

  .accordion-item-header span{
    padding-left: 20px;
    font-size: 13px !important;
  }

  .accordion-item-content {
    padding: 10px;
    display: none;
  }

/**********contact page layout**********/
.contact-page {
    padding: 4rem 0 5rem;
}
/* .contact-page .container {
    max-width: 1140px;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
} */
.contact-page__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
    max-width: 100%;
    margin: 0 auto;
    text-align: left;
}
.contact-page__intro {
    padding-top: 0;
    text-align: left;
}
.contact-page__title, .contact-page__intro h1 {
    /*font-family: 'Playfair Display', serif;
    font-size: 60px !important;
    color: #000;
    margin-bottom: 40px;
    line-height: 60px;
    text-transform: uppercase;
    text-align: center;
    font-weight: 400 !important;*/
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 30px !important;
    color: #000000;
}

.contact-page__title, .contact-page__intro h2 {
    font-family: 'Playfair Display', serif;
    font-weight: 500;
    font-size: 22px !important;
    color: #000000;
}
.contact-page__text, .contact-page__intro p {
    /*font-family: 'Work Sans', sans-serif;
    font-size: 30px !important;
    color: #000;
    margin-bottom: 0;
    line-height: 35px !important;
    text-align: center;*/
    font-family: 'Work Sans', sans-serif;
    font-weight: 300;
    font-size: 16px !important;
    color: #000000;
    margin-top: 0;
    margin-bottom: 0px;
    padding-top: 0px;
    text-align: center;
}
.contact-page__form-wrap {
    max-width: 100%;
    width: 100%;
    min-width: 0;
}
.contact-field.name-field{
    display: flex;
    flex-direction: column; 
    gap: 50px;
}
.contact-field.email-field{
    display: flex;
    flex-direction: column; 
    gap: 30px;
}
.contact-field.name-field label{
    margin-bottom: 0;
}
.contact-field.email-field label{
    margin-bottom: 0;
}
.message-field label{
    margin-bottom: 45px;
}
@media (max-width: 768px) {
    .contact-page__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/**********contact form**********/
.contact-form {
    width: 100%;
    max-width: 100%;
}
.contact-form .contact-field {
    margin-bottom: 32px;
}
.contact-form .contact-field label {
    /*display: block;
    font-family: 'Work Sans', sans-serif;
    font-weight: bold;
    font-size:24px;
    text-transform: uppercase;
    color: #000;
    line-height: 24px;*/
    font-size: 14px;
    background-color: inherit;
    border: none;
    outline: none;
    cursor: pointer;
    margin: 14px 50px 14px 0px;
    padding: 0;
    transition: 0.3s;
    text-align: center;
    font-family: 'Work Sans', sans-serif;
    font-weight: 500;
    color: #000;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 3px;
}
.contact-form .contact-input,
.contact-form input.contact-input {
    display: block;
    width: 100%;
    max-width: 100%;
    border: none;
    border-bottom: 1px solid #ED4509;
    background: transparent !important;
    padding: 0.5rem 0;
    font-size: 1rem;
    outline: none;
    box-shadow: none;
    border-radius: 0;
    box-sizing: border-box;
}
.contact-form .contact-input:focus,
.contact-form input.contact-input:focus {
    border-bottom-color: #c73a08;
}
.contact-form .contact-textarea,
.contact-form textarea.contact-textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 120px;
    border: 1px solid #ED4509;
    background: #fff !important;
    font-size: 14px !important;
    outline: none;
    resize: vertical;
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
}
.contact-form .contact-textarea:focus,
.contact-form textarea.contact-textarea:focus {
    border-color: #c73a08;
}
.contact-form .contact-submit,
.contact-form button.contact-submit {
    display: block;
    margin-top: 1rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0.65rem 2rem;
    background: #ED4509;
    color: #fff;
    border: none;
    font-weight: 600;
    font-size: 20px;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 0;
}
.contact-form .contact-submit:hover,
.contact-form button.contact-submit:hover {
    background: #c73a08;
}
.contact-form .form-error {
    color: #c73a08;
    font-size: 0.85rem;
    margin-top: 0.25rem;
}
.contact-field__row {
    display: flex;
    align-items: flex-end;
    gap: 50px;
    width: 100%;
}
.contact-field.name-field .contact-field__row label,
.contact-field.email-field .contact-field__row label {
    flex: 0 0 80px;
    text-align: left;
}
.contact-field__row .contact-input {
    flex: 1;
}

.contact-field.email-field .invalid-feedback.d-block {
    margin-top: -12px;
}
.contact-field.name-field .invalid-feedback.d-block {
    margin-top: -30px;
}

.style_divers{
    margin-bottom: 50px !important;
    margin-top: 3px;
}


.accordion-item-header {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .accordion-item-header .divers-pending {
    margin-left: auto;
    font-size: 13px;
  }

/* Harmonisation politique cookies */
.banner-categories .accordion-item {
    border: 1px solid #d9d9d9;
    margin-bottom: 10px;
    background: #fff;
}

.banner-categories .accordion-item-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background-color: #f7f7f7;
    cursor: pointer;
    position: relative;
}

.banner-categories .accordion-item-header::before {
    content: "\25B2";
    position: absolute;
    right: 10px;
    font-size: 11px;
    transition: transform 0.2s ease;
}

.banner-categories .accordion-item-header.expanded::before {
    transform: rotate(180deg);
}

.banner-categories .accordion-item-header > span {
    font-size: 14px;
}

.banner-categories .status-right {
    margin-left: auto;
    margin-right: 20px;
    font-size: 12px;
    color: #555;
    white-space: nowrap;
}

.banner-categories .accordion-item-content {
    display: none;
    padding: 12px;
    background: #fff;
    border-top: 1px solid #e5e5e5;
}

.banner-categories .accordion-item-content p {
    font-size: 13px;
    margin-bottom: 8px;
}

.banner-categories .accordion-item-content table {
    width: 100%;
    margin-top: 10px;
    border-collapse: collapse;
}

.banner-categories .accordion-item-content table th,
.banner-categories .accordion-item-content table td {
    border: 1px solid #d9d9d9;
    padding: 8px;
    font-size: 12px;
    vertical-align: top;
}  

/* Fix accordéon section 7.1 */
#banner-manage-consent-container .accordion-item-header {
    direction: ltr !important;          /* annule le rtl qui casse l'ordre */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 12px 16px;
    position: relative;
    background: #f7f7f7;
    border: 1px solid #d9d9d9;
    cursor: pointer;
  }
  
  #banner-manage-consent-container .accordion-item-header span {
    font-size: 26px;
    line-height: 1.2;
    padding-left: 0 !important;
  }
  
  /* checkbox */
  #banner-manage-consent-container .accordion-item-header input[type="checkbox"] {
    margin: 0;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
  }
  
  /* flèche à droite, propre */
  #banner-manage-consent-container .accordion-item-header::before {
    content: "\25BE";                   /* ▼ */
    position: absolute;
    right: 12px;
    left: auto !important;
    top: 50%;
    transform: translateY(-50%);
    font-size: 25px;
  }
  
  #banner-manage-consent-container .accordion-item-header.expanded::before {
    transform: translateY(-50%) rotate(180deg); /* ▲ */
  }
  
  /* contenu */
  #banner-manage-consent-container .accordion-item-content {
    border: 1px solid #d9d9d9;
    border-top: 0;
    padding: 10px 16px;
    background: #fff;
  }

.cook_div .accordion-item-content p {
    font-weight: 500;
}

pre {
    overflow: visible;
    white-space: pre-wrap;
    word-wrap: break-word;
}