/*
Theme Name: Dsbd
Author: David DI SAN BONIFACIO
Author URI: https://dsbd.fr
Description: Thème créé par l'agence Dsbd
Requires at least: WordPress 5.0
Version 1.0
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. 	Document Setup
	2. 	Element Base
	3.	Site Header
    4.  Site Footer		
	7. 	Page Home
	8.	Page Archives Woocommerce
	9.	Page Single Product Woocommerce
	14.	Cart
	15.	Cart checkout
	17.	Search template
	18. Error 404
	19. Site Footer
	20. Responsivity / Media Queries

----------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- */

/*	0. CSS Reset
/* -------------------------------------------------------------------------- */

/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
  box-sizing: border-box;
}
/*
  2. Remove default margin
*/
* {
  margin: 0;
}
/*
  Typographic tweaks!
  3. Add accessible line-height
  4. Improve text rendering
*/
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
/*
  5. Improve media defaults
*/
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  width: 100%;
}
/*
  6. Remove built-in form typography styles
*/
input, button, textarea, select {
  font: inherit;
}
/*
  7. Avoid text overflows
*/
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
/*
  8. Create a root stacking context
*/
#root, #__next {
  isolation: isolate;
}


/*------------------------------------------------------------------
# Font face
-------------------------------------------------------------------**/

/*------------------------------------------------------------------
# Variables
-------------------------------------------------------------------**/

/* Variables pour les couleurs */
:root {
  --clr-primary: rgb(25, 25, 25);
  --clr-secondary: white;
  --clr-secondary-50: rgb(190, 217, 224, 0.5);
  --clr-black: #0e1614;
  --radius-button : 0;
  --radius-border: 0;
}

/* Variables pour les polices */
:root {
  --font-primary : 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
  --font-secondary : 'Avenir LTStd Roman', sans-serif;
}

/* Swiper variables */
:root{
  --swiper-theme-color: white !important;
  --swiper-navigation-size: 30px !important;
}

/*------------------------------------------------------------------
# Typography
-------------------------------------------------------------------**/

h1 {
  font-size: 6rem;
  line-height: 120%;
  font-weight: 200;
  font-family: var(--font-primary);
  text-shadow: 0em 0em 0.3em rgba(0,0,0,1);
  max-width: 750px;
}

h2 {
  font-size: 2.5rem;
  line-height: 120%;
  font-weight: 300;
  font-family: var(--font-primary);
}

h3 {
  font-size: 2.5rem;
  line-height: 120%;
  font-weight: 300;
  font-family: var(--font-primary);
}

h4 {
  font-size: 1.5rem;
  line-height: 110%;
  font-weight: 300;
  font-family: var(--font-primary);
}

h5 {
  font-size: 1.2rem;
  line-height: 140%;
  font-weight: 300;
}

h6 {
  font-size: 0.8rem;
  line-height: 150%;
  font-weight: 300;
}

p {
  font-size: 0.875rem;
  line-height: 170%;
  margin-bottom: 1rem;
  max-width: 600px;
}


@media screen and (max-width: 770px) {
h1 {
  font-size: 3.2rem;
  line-height: 120%;
}

h2 {
    font-size: 2.25rem;
    line-height: 120%;
    font-weight: bold;
}

h3 {
    font-size: 2rem;
    line-height: 120%;
    font-weight: bold;
}

h4 {
    font-size: 1.5rem;
    line-height: 120%;
    font-weight: bold;
}

h5 {
    font-size: 1.25rem;
    line-height: 140%;
    font-weight: bold;
}

h6 {
    font-size: 1.125rem;
    line-height: 140%;
    font-weight: bold;
}

p {
  font-size: 1rem;
  line-height: 140%;
}

}

a{
  color: inherit;
  text-decoration: none;
}

a:hover{
  color: inherit;
}

img{
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  font-style: italic;
  background-repeat: no-repeat;
  background-size: cover;
  shape-margin: 0.75rem;
  border-radius: var(--radius-border);
}

section{
position: relative;
}

/*------------------------------------------------------------------
# Google fonts
-------------------------------------------------------------------**/

.material-symbols-outlined {
font-variation-settings:
'FILL' 0,
'wght' 400,
'GRAD' 0,
'opsz' 24
}

/*------------------------------------------------------------------
# Bootstrap rest
-------------------------------------------------------------------**/

.rounded{
  border-radius: var(--radius-border) !important;
}

.mb-6{
  margin-bottom: 6rem;
}

/*------------------------------------------------------------------
# Info banner
-------------------------------------------------------------------**/

.infos_banner{
  color: white;
  background-color: var(--clr-primary);
  text-align: center;
  padding: 0.5rem 0;
}

.infos_banner p{
  margin: 0;
  font-size: 12px;
}

.infos_banner a{
  text-decoration : underline;
}

/*------------------------------------------------------------------
# Header
-------------------------------------------------------------------**/

#wpadminbar{
  background: orange !important;
}

header{
  position: sticky;
  top: 0;
  z-index: 99;
  background-color: #ffffff;
}

header.transparent{
  position: absolute;
  width: 100%;
  background-color: transparent;
  z-index: 9999999;
  color: white;
  top: 0px;
}

header.transparent.banner-active{
  top: 80px;
}

header.transparent .sub-menu{
  color: black;
}

header.sticky{
  background-color: white;
  z-index: 99;
  position: sticky;
  color: black;
  top: 0 !important;
}

header.sticky .header-menu{
  padding: 0 !important;
}

@media screen and (max-width: 770px){
  header.sticky .header-menu{
    padding: 1rem !important;
  }
  header.transparent.banner-active{
    top: 32px;
  }
  header.transparent.sticky .logo-mobile{
    width: 32px !important;
    filter: invert();
  }
  header.transparent.sticky .mobile-menu{
    top: 54px;
    padding: 1rem !important;
  }
  header.sticky .mobile-menu-toggle .close-icon{
    filter: none;
  }
  header.transparent .logo-mobile{
    width: 64px !important;
  }
}

/*------------------------------------------------------------------
# Menu
-------------------------------------------------------------------**/

.header-menu{
  height: 100%;
  padding-top: 5px;
}

.header-menu .menu{
  display: flex;
  width: 100%;
  gap: 3rem;
  padding: 0;
  margin-bottom: 0;
}

/**** Desktop ****/

.desktop-menu .sub-menu{
display: none;
position: absolute;
background: rgba(255, 255, 255, 1);
width: 100vw;
left: 0;
top: 70px;
opacity: 0;
transition: all 0.2s ease-in;
z-index: 9;
}

.admin-bar .desktop-menu .sub-menu{
top: calc(70px);
}

.admin-bar.home .desktop-menu .sub-menu{
top: calc(60px);
border-radius: var(--radius-border);
}

.header-menu.desktop-menu .header-menu{
display: flex;
list-style: none;
justify-content: center;
align-items: center;
font-size: 1rem;
margin: 0;
width: max-content;
}

.header-menu.desktop-menu  #menu-header{
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 0;
}

.header-menu.desktop-menu ul li{
font-size: 0.8rem;
padding: 0;
list-style: none;
padding: 0;
text-align: left;
display: flex;
align-items: center;
position: relative;
padding: 1.2rem 0;
}

.header-menu.desktop-menu a{
  font-size: 0.8rem;
}

.current_page_item{
 text-decoration: underline;
 text-underline-offset: 6px;
}

header .header-menu.desktop-menu .menu-logo{
  background-color: white;
  padding: 1.1rem 2rem;
  border-radius: 50%;
  margin-bottom: -40px;
  height: max-content;
  margin-left: -3rem;
}

.header-menu.desktop-menu.highlight-background {
background-color: white;
color: black;
}

.header-menu.desktop-menu .menu-item-has-children::after{
content: '';
border: solid black;
border-width: 0 2px 2px 0;
padding: 2px;
display: inline;
margin-left: 0.5rem;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform-origin: center;
transition: transform 0.2s ease-in-out;
}

.header-menu.desktop-menu ul .menu-item-has-children:hover::after{
transform: rotate(135deg);
-webkit-transform: rotate(-135deg);
transition: transform 0.2s ease-in-out;
}

header.transparent .header-menu.desktop-menu .menu-item-has-children::after{
content: '';
border: solid white;
border-width: 0 2px 2px 0;
padding: 2px;
}

header.transparent.sticky .header-menu.desktop-menu .menu-item-has-children::after,
header.transparent .header-menu.desktop-menu.highlight-background .menu-item-has-children::after{
content: '';
border: solid black;
border-width: 0 2px 2px 0;
padding: 2px;
}


.header-menu.desktop-menu ul .menu-item-has-children:hover .sub-menu{
  display: flex;
  flex-direction: column;
  padding: 1rem 1rem;
  z-index: 9999;
  opacity: 1;
  transition: all 0.2s ease-in-out;
  position: absolute;
  width: max-content;
  gap: 0.8rem;
}

.header-menu.desktop-menu ul .menu-item-has-children:hover .sub-menu li{
height: 100%;
margin: 0;
}

.header-menu.desktop-menu .sub-menu a{
display: flex;
transition: all 0.2s ease-in;
height: 100%;
}

.header-menu .sub-menu a .menu-content{
display: flex;
flex-direction: column;
justify-content: center;
margin-left: 1rem;
font-weight: 700;
flex-basis: 120%;
}

.header-menu.desktop-menu .sub-menu li a .menu-thumbnail{
flex-basis: 80%;
}

.header-menu.desktop-menu .sub-menu li a .menu-thumbnail img{
aspect-ratio: 16/9;
object-fit: cover;
border-radius: var(--radius-border);
height: 100%;
}

.header-menu.desktop-menu .sub-menu a .menu-content .menu-excerpt{
margin-top: 0.2rem;
font-size: 0.8rem;
font-weight: 500;
}

.header-menu.desktop-menu .logo{
  width: 30px;
}

/**** Mobile *****/

.mobile-menu-nav{
  display: none !important;
}

.mobile-menu-nav.active{
  background-color: white;
}

.logo-mobile{
  display: none;
}

/**** Sticky ****/

header.sticky .header-menu.desktop-menu .sub-menu{
top: 60px;
}

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

.header-menu.mobile-menu li{
  padding: 0;
  list-style: none;
  text-align: center;
  color: black;
}

.menu-item-has-children::after{
  
}

.header-menu.mobile-menu ul{
  padding: 0;
}

.header-menu.mobile-menu ul li{
  height: auto;
}

.header-menu.mobile-menu .sub-menu {
  display: none;
}

}

/**** Mobile ****/

/* Styles pour l'icône burger et la croix */
.burger-icon,
.close-icon {
  cursor: pointer;
}

.close-icon {
  display: none;
  position: absolute;
  z-index: 9;
  right: 1rem;
  top: 30px;
}

.mobile-menu{
    display: none;
    position: absolute;
    left: 0;
    max-height: 100vh;
    overflow-y: auto;
    width: 100vw;
    list-style: none;
    background: white;
    z-index: 99;
    top: auto;
    padding-left: 1rem;
    height: 100vh;
}

.mobile-menu.active{
    display: flex;
}

.mobile-menu.active + .mobile-menu-toggle .burger-icon {
  display: none; /* Masquer l'icône burger lorsque le menu est ouvert */
}

.mobile-menu.active + .mobile-menu-toggle .close-icon {
  display: block; /* Afficher la croix lorsque le menu est ouvert */
}

/* Styles pour les trois barres de l'icône burger */
.burger-icon .bar,
.close-icon .bar {
  width: 30px;
  height: 3px;
  background-color: #333;
  margin: 5px 0;
  transition: transform 0.3s; /* Animation de rotation pour la croix */
}
.close-icon .bar:nth-child(1) {
  transform: rotate(45deg);
}
.close-icon .bar:nth-child(2) {
  transform: rotate(-45deg);
}

/* -------------------------------------------------------------------------- */

/*	Infos banner
/* -------------------------------------------------------------------------- */

.infos-banner{
width: 100%;
position: relative;
color: white;
text-align: center;
}

/* -------------------------------------------------------------------------- */

/*	Components
/* -------------------------------------------------------------------------- */

.button{
padding: 0.5rem 1.5rem;
cursor: pointer;
overflow: hidden;
position: relative;
text-decoration: none;
transition: 0.2s all ease-in-out;
width: max-content;
font-weight: 400;
font-size: 0.8rem;
height: max-content;
border-radius: var(--radius-button);
}

.button.line{
border: 1px solid white;
color: white;
}

.button.line:hover{
border: 1px solid white;
color: var(--clr-primary);
}

.button.full{
background-color: var(--clr-primary);
border: 1px solid var(--clr-primary);
transition: 0.2s all ease-in-out;
color: white;
}

.button.full.white{
  background-color: white;
  border: 1px solid white;
  color: var(--clr-primary);
}

.button.empty{
background: white;
backdrop-filter: blur(1px);
transition: 0.2s all ease-in-out;
border: 1px solid transparent;
color: var(--clr-primary);
}

.button.link{
border-radius: var(--radius-border);
padding: 0;
color: inherit;
padding-right: 50px !important;
padding-left: 0 !important;
}

.button.link::after{
  content: url('/wp-content/uploads/2024/10/icon-chevron-right.svg');
  padding-left: 5px;
  color: inherit;
  transition: all 0.2s ease-in-out;
  position: absolute;
  top: calc(50% + 2px);
  transform: translateY(-50%);
  width: 16px;
  right: 36px;
  filter: brightness(0);
}

.button.link:hover{
border: none;
transform: scale(1);
text-decoration: underline;
}

.button.link:hover::after{
transition: all 0.2s ease-in-out;
right: 33px;
text-decoration: none;
}

.card.box-shadow-light{
box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.2);
}

.card.box-shadow-spread{
box-shadow: 0 0 50px 0px rgba(0, 0, 0, 0.1);
}

.text-white{
color: white;
}

.bg-cover{
background-size: cover;
}

.bg-center{
background-position: center;
}

.fit-cover{
object-fit: cover;
}

.overlay{
content: '';
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
opacity: 0.3;
transition: 0.2s all ease-in-out;
border-radius: var(--radius-border);
}

.z-index-9{
z-index: 9;
}

.arrow {
border: solid black;
border-width: 0 3px 3px 0;
display: inline-block;
padding: 3px;
}

.arrow .right {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}

.arrow .left {
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}

.arrow .up {
transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
}

.arrow .down {
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}

.sticky-100{
position: sticky;
height: max-content;
top: 100px;
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
clr-secondary-50: transparent;
border-bottom: 1px solid #333;  
border-radius: var(--radius-border);
color: #333;
}

.tag{
background: #f1f1f1;
padding: 0.4rem 0.8rem;
border-radius: var(--radius-border);
font-size: 0.7rem;
margin-right: 0.5rem;
margin-bottom: 0.5rem;
display: block;
width: max-content;
height: max-content;
flex: none;
}

.date{
font-size: 0.8rem;
}

.separator:last-child{
display: none;
}

.btn-rounded{
width: max-content; 
border : 1px solid black;
border-radius: var(--radius-border);
clr-secondary-50: transparent;
transition: all 200ms ease-in-out;
}

.btn-rounded:hover{
width: max-content; 
border : 1px solid black;
clr-secondary-50: black;
border-radius: var(--radius-border);
color: white;
transition: all 200ms ease-in-out;
}

.btn-rounded.active{
clr-secondary-50: black;
color: white;
}


/* -------------------------------------------------------------------------- */

/*	Swiper reset
/* -------------------------------------------------------------------------- */

.swiper-wrapper{
box-sizing: inherit;
}

.swiper-slide.col-10{
width: 80%;
}

.swiper-arrows{
  gap: 2rem;
}

.swiper-pagination-bullet-active{
  background: var(--clr-primary);
}

.swiper-button-next, .swiper-button-prev{
color: black;
position: relative;
}

.swiper-button-next::after, .swiper-button-prev::after{
font-size: 1.2rem;
}

@media screen and (min-width: 768px){
.swiper-slide.col-md-3{
  width: 30%;
}
}

.fancybox__container{
  z-index: 999999;
}

.swiper .nav-container{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(50%) translateX(-50%);
  z-index: 9;
}

.swiper-navigation.rounded-nav{
  gap: 30px;
  background: var(--clr-primary);
  height: 80px;
  width: 80px;
  border-radius: var(--radius-border);
  color: white;
}

.swiper-navigation.rounded-nav .swiper-button-next, .swiper-navigation.rounded-nav .swiper-button-prev{
color: black;
position: relative;
top: 9px;
color: white;
}

/* -------------------------------------------------------------------------- */

/*	Hero
/* -------------------------------------------------------------------------- */

.hero{
width: 100%;
}

.hero .container{
  width: 90% !important;
  max-width: none !important;
  height: calc(100vh - 140px) !important;
}

.admin-bar .hero .container{
  height: calc(100vh - 140px - 32px) !important;
}

.hero .slide{
  padding: 0 5rem !important;
}

.hero .subtitle{
  font-size: 1.5rem;
  font-weight: 200;
  text-shadow: 0em 0em 0.3em rgba(0,0,0,1);
}

.hero img{
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: var(--radius-border);
  }

.hero .slide{
  color: white;
}
  
.hero .overlay{
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgb(47, 40, 34), transparent);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}


/* -------------------------------------------------------------------------- */

/*	Top banner
/* -------------------------------------------------------------------------- */

.top-banner .container{
  width: 90% !important;
  max-width: none !important;
  height: calc(100vh - 140px);
}

.admin-bar .top-banner .container{
  height: calc(100vh - 140px - 32px);
}

.top-banner img{
height: 100%;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
border-radius: var(--radius-border);
}

.top-banner .content{
color: white;
}

.top-banner .overlay{
width: 100%;
height: 100%;
background: radial-gradient(rgb(47, 40, 34), transparent);
opacity: 0.2;
position: absolute;
top: 0;
left: 0;
}

/* -------------------------------------------------------------------------- */

/*	Template one
/* -------------------------------------------------------------------------- */

.template-one .row-one img{
  max-width: 800px;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin: auto;
  z-index: 2;
  position: relative;
}

.template-one .row-one .shape{
  width: 300px;
  height: 320px;
  position: absolute;
  top: -50px;
  right: 100px;
  z-index: 1;
}

.template-one .row-two .edito{
  margin-top: -200px;
  padding: 350px 100px 350px 100px;
  background-color: #FFE8DF;
}

.template-one .row-two .imgs .img-one{
  object-fit: cover;
  aspect-ratio: 6 / 8;
}

.template-one .row-three{
  margin-top: -150px;
}

.template-one .row-three .img{
  margin-top: -50px;
}

.template-one .row-three .img img{
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.template-one .row-three .edito{
  padding-top: 12rem;
}

@media screen and (max-width: 771px){
  .template-one .row-two .edito{
    padding: 250px 20px 50px 20px;
    margin-bottom: 5rem;
  }
  .template-one .row-two{
    margin-bottom: 5rem;
  }
  .template-one .row-two .imgs .img-one{
    margin-bottom: 1rem;
    aspect-ratio: 16 / 9;
  }
  .template-one .row-three{
    margin-top: 0;
  }
  .template-one .row-three .img{
    margin-top: 0;
  }
  .template-one .row-three .edito{
    padding-top: 0;
  }
  
}
/* -------------------------------------------------------------------------- */

/*	Text
/* -------------------------------------------------------------------------- */

.text .left{
  margin-right: auto;
}

.text .left p{
  text-align: left !important;
}

.text .center{
  margin: auto;
}

.text .center h2, .text .center h3, .text .center h4, .text .center h5, .text .center h6, .text .center p{
  text-align: center;
  margin: auto;
}

.text .right{
  margin-left: auto;
}

.text .right p{
  text-align: right;
}

/* -------------------------------------------------------------------------- */

/*	Team
/* -------------------------------------------------------------------------- */

.team .shape{
  background: #fff6eb;
  width: 80%;
  position: absolute;
  top: -50px;
  right: 0;
  height: 80%;
}

.team .container{
  padding-left: 10%;
}

/* -------------------------------------------------------------------------- */

/*	Text | Img
/* -------------------------------------------------------------------------- */

.text-img img{
  aspect-ratio: 16 /10;
}

.text-img .square{
  content: '';
  height: 20rem;
  width: 20rem;
  position: absolute;
  top: -6rem;
  right: -20%;
  background-color: antiquewhite;
}

.text-img .img{
  margin-top: 20%;
}

/* -------------------------------------------------------------------------- */

/*	Text | Img (x2)
/* -------------------------------------------------------------------------- */

.text-imgs-two img{
  aspect-ratio: 16 /10;
}

.text-imgs-two .square{
  content: '';
  height: 12rem;
  width: 6rem;
  position: absolute;
  left: -5rem;
  top: 60%;
  transform: translateY(-50%);
  background-color: antiquewhite;
}

.text-imgs-two .img-two{
  position: relative;
  z-index: 1;
}

.text-imgs-two .img-two .content{
  width: 500px;
  z-index: 1;
    right: 0;
    transform: translateX(-40%);
    margin-left: auto;
    margin-top: -4rem;
}

/* -------------------------------------------------------------------------- */

/*	Img | Text
/* -------------------------------------------------------------------------- */

.img-text img{
  aspect-ratio: 16 /10;
}

.img-text .square{
  content: '';
  height: 6rem;
  width: 8rem;
  position: absolute;
  bottom: -6rem;
  left: 0;
  background-color: antiquewhite;
}

.img-text{
  margin-bottom: calc(8rem + 100px);
}

/* -------------------------------------------------------------------------- */

/*	Scrolling banner
/* -------------------------------------------------------------------------- */

.scroller__inner {
padding-block: 1rem;
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
list-style: none;
}

/* -------------------------------------------------------------------------- */

/*	Scrolling banner texts imgs
/* -------------------------------------------------------------------------- */

.scrolling-banner-texts-imgs{
  position: relative;
  background-color: rgba(58, 85, 78, 0.9);
}
.scrolling-banner-texts-imgs::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    background: url(/wp-content/uploads/2024/05/sand-texture.jpg);
    z-index: -1;
}

.scrolling-banner-texts-imgs{
  color: white;
}

/* -------------------------------------------------------------------------- */

/*	Collection slider
/* -------------------------------------------------------------------------- */

.swiper-collection .swiper-wrapper{
  display: flex;
  align-items: stretch;
}

.swiper-collection .swiper-slide{
  background-color: var(--clr-secondary);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  height: auto;
}

.swiper-collection .swiper-slide .thumbnail{
  background-color: #f6f6f6;
}

.swiper-collection .swiper-slide img{
  aspect-ratio: 7 / 6;
  object-fit: contain;
  border-radius:  var(--radius-border) 0;
  mix-blend-mode: multiply;
  padding: 1rem;
}

@media screen and (max-width: 770px){
.swiper-collection .heading{
  display: block !important;
}
.swiper-collection .button{
  position: relative !important;
  right: 0 !important;
}
}


/* -------------------------------------------------------------------------- */

/*	News slider
/* -------------------------------------------------------------------------- */

.swiper-news .card{
  min-height: 500px;
  display: flex;
  align-items: flex-end;
  color: white;
  overflow: hidden;
}

.swiper-news .card .content{
  position: relative;
  z-index: 2;
}

.swiper-news .card .thumbnail{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 400ms ease-in-out;
}

.swiper-news .card .content .hidden{
  display: none;
}

.swiper-news .card:hover .thumbnail{
  scale: 1.1;
  transition: all 400ms ease-in-out;
}

.swiper-news .card:hover .content .hidden{
  display: block;
}

.swiper-news .overlay-gradient{
  content: '';
  height: 100%;
  width: 100%;
  position: absolute;
  background: linear-gradient(0deg, black, transparent);
  opacity: 0.8;
  top: 0;
  left: 0;
  z-index: 1;

}


/* -------------------------------------------------------------------------- */

/*	CTA
/* -------------------------------------------------------------------------- */

.cta .container{
z-index: 9;
}

.brachiosaure{
mix-blend-mode: multiply;
bottom: -60px;
height: calc(100% + 20vw);
max-height: calc(100% + 10rem);
width: auto;
left: -150px;
opacity: 0.1;
}

/* -------------------------------------------------------------------------- */

/*	Carousel
/* -------------------------------------------------------------------------- */

.carousel .swiper-slide{
aspect-ratio: 16/9;
object-fit: cover;
width: 60%;
}
.carousel .swiper-slide.full{
width: 100%;
}

.carousel .swiper-slide img{
aspect-ratio: 16/9;
object-fit: cover;
}

.carousel .swiper-pagination{
  width: max-content;
}

/* -------------------------------------------------------------------------- */

/*	Long text
/* -------------------------------------------------------------------------- */

.long-text .sticky-100{
position: sticky;
top: 100px;
height: max-content;
}

.long-text .amonite{
position: absolute;
bottom: -200px;
width: 250px;
mix-blend-mode: multiply;
opacity: 0.2;
}

/* -------------------------------------------------------------------------- */

/*	FAQ
/* -------------------------------------------------------------------------- */

.accordion-button:not(.collapsed){
  color: white;
  background-color: var(--clr-primary);
  box-shadow: none;
}

.accordion-button:focus{
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 .25rem rgba(58,85,78,.25);
}

.accordion-button:not(.collapsed)::after{
  filter: grayscale(1) invert(1) brightness(100);
}

/* -------------------------------------------------------------------------- */

/*	Grid
/* -------------------------------------------------------------------------- */

.grid .grid-template{
  display: grid;
  grid-template-columns: 33% 22% 11% 33%;
  gap: 24px;
}

.grid .grid-template img{
  width: 100%;
}

.grid .cell-one{
  grid-column: 1;
  grid-row-start: 1;
}

.grid .cell-two{
  grid-column: 2 / 4;
  grid-row-start: 1;
}

.grid .cell-three{
  grid-column: 4;
  grid-row-start: 1;
  background-color: var(--clr-secondary);
  padding: 2rem;
}

.grid .cell-four{
  grid-column: 1 / 3;
  grid-row-start: 2;
}

.grid .cell-five{
  grid-column: 3 / 5;
  grid-row-start: 2;
}

@media screen and (max-width: 770px){
  .grid .grid-template{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .grid .cell-one{
    order: 2;
  }

  .grid .cell-two{
    order: 1;
  }

  .grid .cell-three{
    order: 3;
  }

  .grid .cell-four{
    order: 4;
  }

  .grid .cell-five{
    order: 7;
  }

  .grid .cell-six{
    order: 6;
    height: 220px;
    width: 100%;
  }

  .grid .cell-seven{
    order: 5;
    height: 220px;
    width: 100%;
  }
}



/* -------------------------------------------------------------------------- */

/*	Illustration
/* -------------------------------------------------------------------------- */

.illustration{
width: 100%;
opacity: 0.2;
}

.illustration img{
width: 400px;
mix-blend-mode: multiply;
opacity: 0.6;
}

.illustration.left img{
margin-right: auto;
}

.illustration.center img{
margin-left: auto;
margin-right: auto;
}

.illustration.right img{
margin-left: auto;
}

@media screen and (max-width: 770px){
.illustration img{
  width: 200px;
}
}



.products-archive .post{
  background-color: #f6f6f6;
}

.products-archive .post .content{
  border-radius: 0 var(--radius-border);
  flex-grow: 2;
}

.products-archive .post .thumbnail img{
  aspect-ratio: 16/ 12;
  object-fit: cover;
}

.products-archive .post .category{
  font-size: 12px;
  line-height: 20px;
  font-size: 0.7rem;
  line-height: 20px;
  width: max-content;
  border-radius: var(--radius-border);
  color: black;
}

.products-archive .post .excerpt p{
  line-height: 24.3px;
}  

.products-archive .post .title{
  font-weight: 400;
}

/* -------------------------------------------------------------------------- */

/* Products single
/* -------------------------------------------------------------------------- */

.single-produits .related-posts .thumbnail img{
  aspect-ratio: 15 / 10;
  object-fit: cover;
}

.single-produit .title{
  text-shadow: none;
  font-size: 3rem;
}

.single-produit .price{
  font-size: 1rem;
}

.single-produits .related-posts .content{
  background-color: #f1f1f1;
}

.single-produits .related-posts .content .title{
  font-weight: 400;
}

.back-arrow{
  width: 32px;
  height: 32px;
  border: 1px solid black;
}

#breadcrumbs{
  margin-bottom: 0;
}

@media screen and (max-width: 770px){
  .single-produits .inner-container{
    width: 100%;
  }
  .single-produits .px-5{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .single-produits .related-posts{
    overflow: auto;
    flex-wrap: nowrap;
    gap: 20px;
  }
  .single-produits .related-posts .post-col{
    width: 85%;
    flex-shrink: 0;
  }
}

/* -------------------------------------------------------------------------- */

/*	Blog single page
/* -------------------------------------------------------------------------- */


.single-post .inner-container  {
  max-width: 900px;
  width: 90%;
  margin: auto;
  padding: 2rem;
}

.single-post .excerpt p{
  margin-bottom: 2rem;
}

.single-post > .thumbnail img{
  max-height: 1200px;
  height: 60vh;
  object-fit: contain;
}

.single-post .header #breadcrumbs{
  font-family: var(--font-primary);
  font-size: 16px;
  line-height: 21.6px;
}

.single-post .header #breadcrumbs > span{
  display: flex;
  gap: 5px;;
}

.single-post .header .breadcrumb_last{
  text-transform: lowercase;
  display: block;
  color: var(--clr-primary);
}

.single-post .header .breadcrumb_last::first-letter{
  text-transform: uppercase;
}

.single-post .header .categories span{
  font-family: var(--font-primary);
  font-size: 24px;
  line-height: 32.4px;
  letter-spacing: 0.1em;
  text-align: center;
}

.single-post .related-posts .thumbnail img{
  aspect-ratio: 16/ 12;
  object-fit: cover;
  border-radius: var(--radius-border) 0;
}

.single-post .related-posts .content{
  background-color: #f6f6f6;
  border-radius: 0 var(--radius-border);
}

.single-post .related-posts .category{
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  width: max-content;
  background-color: var(--clr-primary);
  color: white;
  padding: 0.2rem 0.5rem;
  border-radius: var(--radius-border);
}

.single-post .related-posts .title{
  font-family: var(--font-primary);
  color: black;
}

.single-post .related-posts .excerpt{
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.single-post .related-posts .read-more a{
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.single-post .related-posts-section{
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  background-color: white;
}

@media screen and (max-width: 770px){
  .single-post .inner-container{
    width: 100%;
  }
  .single-post .px-5{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .single-post .related-posts{
    overflow: auto;
    flex-wrap: nowrap;
    gap: 20px;
  }
  .single-post .related-posts .post-col{
    width: 85%;
    flex-shrink: 0;
  }
}


/* -------------------------------------------------------------------------- */

/*	Presses Archive page
/* -------------------------------------------------------------------------- */

.press-archive .post{
  background-color: #f6f6f6;
}

.press-archive .post .content{
  border-radius: 0 var(--radius-border);
  flex-grow: 2;
}

.press-archive .post .thumbnail img{
  aspect-ratio: 16/ 12;
  object-fit: contain;
  border-radius: var(--radius-border) 0;
}

.press-archive .post .category{
  font-size: 12px;
  line-height: 20px;
  font-size: 14px;
  line-height: 20px;
  padding: 0.2rem 0.8rem;
  width: max-content;
  border-radius: var(--radius-border);
  background: var(--clr-primary);
  color: white;
}

.press-archive .post .excerpt p{
  line-height: 24.3px;
}  

.press-archive .press-kit{
  order: 1;
}

.press-archive .press-release{
  order: 2;
}


/* -------------------------------------------------------------------------- */

/*	Newsletter
/* -------------------------------------------------------------------------- */

.newsletter .mc4wp-form-fields .form{
  width: 100%;
  max-width: 600px;
}

.newsletter .mc4wp-form-fields{
  display: flex;
  align-items: center;
  gap: 20px;
}

.newsletter .mc4wp-form-fields{
  width: 80%;
}

.newsletter .mc4wp-form-fields input{
  width: 70%;
  padding: 0.4rem 1rem;
  border: none;
  border-radius: var(--radius-border);
}

.newsletter .mc4wp-form-fields input[type="submit"]{
  width: max-content;
  padding: 0.4rem 1rem;
}


.newsletter .sib_loader{
  width: 20px;
}

@media screen and (max-width: 500px) {
  .newsletter .mc4wp-form-fields .form{
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .newsletter .mc4wp-form-fields .form .sib-email-area{
    width: 100%;
  }
  .newsletter .mc4wp-form-fields input[type="submit"]{
    max-width: 100%;
    padding: 0.2rem 0.5rem;
  }
}


/* -------------------------------------------------------------------------- */

/*	Footer
/* -------------------------------------------------------------------------- */

footer ul{
list-style: none;
padding: 0;
}

footer .infos p{
  font-size: 0.8rem;
  line-height: 110%;
}

footer #menu-copyright-footer{
display: flex;
}


footer #menu-copyright-footer li{
margin: 0 0.5rem;
}

footer .email{
flex-grow: 1;
margin-right: 1rem;
}

footer ul li{
padding-bottom: 0.5rem;
font-size: 0.8rem;
}

footer .optin{
font-size: 12px;
line-height: 150%;
}

footer .divider{
border-top: 1px solid black;
}

footer .copyright{
font-size: 0.9rem;
}

footer .copyright a{
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media screen and (max-width:770px) {
footer #menu-copyright-footer{
  flex-direction: column;
}
footer .copyright{
  flex-direction: column;
}
footer .copyright p{
  order: 2;
}
footer .footer-partners{
  flex-wrap: wrap;
  justify-content: flex-start !important;
  align-items: center;
  width: 100% !important;
}
footer .footer-partners img{
  width: 50px;
}
}

/* -------------------------------------------------------------------------- */

/*	Responsivity
/* -------------------------------------------------------------------------- */

/* Tablets landscape */

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

/* Tablets portrait */

@media screen and (max-width: 1020px) {
  .desktop-menu{
      display: none;
  }

  .mobile-menu-nav{
    display: flex !important;
    width: 90%;
    margin: auto;
    padding: 1rem 0 !important;
  }

  .mobile-menu-toggle{
      display: block;
  }

  .logo-mobile{
    display: block;
  }

  .header-menu .menu{
    gap: 0;
  }

  .header-menu ul{
      flex-direction: column;
  }

  .header-menu ul li{
      margin: 20px 0;
      position: relative;
      width: max-content;
      font-size: 1.2rem;
  }

  .menu-logo{
    display: none;
  }

  .header.sticky .logo-mobile{
    filter: invert(1);
  }

  .header-menu ul li > a{
    display: flex;
  }

  .header-menu ul li.menu-item-has-children > a{
    position: relative;
    font-size: 1.2rem;
  }

  .header-menu ul li.menu-item-has-children.active > a::after{
    transform: rotate(-135deg);
    top: 12px;
  }

  .header-menu ul li.menu-item-has-children > a::after{
      content: '';
      box-sizing: border-box;
      display: block;
      height: 8px;
      width: 8px;
      border-style: solid;
      border-color: black;
      border-width: 0px 1px 1px 0px;
      transform: rotate(45deg);
      position: relative;
      right: -20px;
      top: 8px;
  }


  .header-menu.mobile-menu .sub-menu li{
    margin: 10px 0;
    font-size: 1rem;
  }

  .header-menu.mobile-menu .sub-menu.active {
    display: block;
  }
}