/*
Theme Name: Soka template
Theme URI: http://www.quentinrenaux.com/web
Description: Template WordPress modulaire pour e-commerce et site éditorial, par Avion Studio.
Version: 1.0
Author: Quentin Renaux / Avion Studio
*/

/* Welcome here, 
 * you can say hello 
 * or see other projects like this 
 * at quentinrenaux.com
 * and we can speak at    
 * twitter : @quentinrenaux 
 * insta : @quentinrenaux
 */

 @import url('https://fonts.googleapis.com/css2?family=Alata&display=swap');

 /* Cormorant Gramond, chartes graphique Jess */
 @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

html,
body {
    margin: 0 !important;
    padding: 0 !important;
}
 
/* ---------------- BASIC CODE ---------------- */
*, div, p, img {  
     padding: 0;
     margin: 0;
     box-sizing: border-box;
     -moz-box-sizing: border-box;
     -webkit-box-sizing: border-box;
 }

img {
    max-width: 100%;
    height: auto;
    display: block;
}



/* ---------------- Root ---------------- */
 :root {
    --couleur-background: #f3f3f2;
    --couleur-strong: #252626;
    --couleur-light: #adadad;
    --couleur-border:  #252626;

    --size-bordergrid: 1px;
    --size-hauteurheader: 60px;

    --size-regular: 18px;
    --size-regular-plus: 20px;
    --size-big: 30px;
 }


/* ---------- font ---------- */
/* Helvetica NeueETPro */
@font-face {
  font-family: 'HelveticaNeueETPro';
  src: url('font-avion/HelveticaNeueETPro46LightIt.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'HelveticaNeueETPro';
  src: url('font-avion/HelveticaNeueETPro55Roman.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'HelveticaNeueETPro';
  src: url('font-avion/HelveticaNeueETPro56RomIt.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'HelveticaNeueETPro';
  src: url('font-avion/HelveticaNeueETPro65Med.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'HelveticaNeueETPro';
  src: url('font-avion/HelveticaNeueETPro66MedIt.otf') format('opentype');
  font-weight: 500;
  font-style: italic;
}

@font-face {
  font-family: 'HelveticaNeueETPro';
  src: url('font-avion/HelveticaNeueETPro75Bd.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'HelveticaNeueETPro';
  src: url('font-avion/HelveticaNeueETPro75BdIt.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
}

/* Merriweather */
@font-face {
  font-family: 'Merriweather';
  src: url('font-avion/Merriweather-LightItalic.otf') format('opentype');
  font-weight: 300;
  font-style: italic;
}





 /* BASIC CODE  
  * ------------------ */
 *, div, p, img {  
     padding: 0;
     margin: 0;
     box-sizing: border-box;
     -moz-box-sizing: border-box;
     -webkit-box-sizing: border-box;
 }
 
 body {
   width:100%; 
   min-height:100vh;
   color: #000;
   background: #eee;
   font-family: 'Merriweather', Helvetica, Arial, sans-serif;
   font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;

   font-size: 14px;  
   letter-spacing: -0.6px;
   font-weight: 400;
 }
 
h1, h2, h3 {
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
}

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

 a:hover {
   color: #666;
   text-decoration: none;
 }


img {
  max-width: 100%;
}


/* ----- edit button ----- */
.edit-button a {
  display: block;
  position: absolute;
  top: 5px;
  right: 10px;
  padding: 5px 11px;
  margin: 10px;
  border: 1px solid black;
  border-radius: 50px;
  font-size: 12px;
  letter-spacing: -0.5px;
  opacity: 0.1;
}

.edit-button a:hover {
  opacity: 1;
}



/*  ----------- navigation menu ----------- */
.avion-menu {
  position: fixed;
  z-index: 1001;

  width: 100%;
  padding: 10px 30px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  background: #ffffff3a;
  /*background-color: transparent;*/
  border-bottom: 1px solid black;
  
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -1px;
  font-weight: 100;
  font-size: 15px;

  color: #fff;
  background: rgb(0 0 0 / 3%);
  backdrop-filter: blur(5px);
}

/*  ----------- nav: logo ----------- */
.avion-menu .logo {
  display: block;
  width: 110px;
}


/*  ----------- nav: menu principal ------------ */
.menu-principal {
  position: relative;
}

.menu-principal ul {
	padding: 0;
  margin: 0;
	list-style: none;
	position: relative;
	}
	
  .menu-principal ul li {
	display:inline-block;
	}

.menu-principal a {
	display:block;
}

.menu-principal a:hover { 
	background-color: transparent; 
  /*background-color: yellow;*/
}

/* Hide Dropdowns by Default */
.menu-principal ul ul {
  display: none;
  position: absolute;
  top: 35px; /* hauteur du menu */
  background: transparent;
  /*background-color: blue;*/
}
	
/* Display Dropdowns on Hover */
.menu-principal ul li:hover > ul {
	display:inherit;
}
	
/* Fisrt Tier Dropdown */
.menu-principal ul ul li {
	width:170px;
	float:none;
	display:list-item;
	position: relative;
  background: transparent;
  background-color: #ddd;
  border-bottom: 1px solid black;
  
}

/*.menu-principal ul ul li:first-child {
  padding: 20px 10px 0px;
  border-bottom: 1px solid red;
}*/

/* Second, Third and more Tiers	*/
.menu-principal ul ul ul li {
  position: relative;
  top: -35px;
  left: 82px;
}

/* ---- styles pour la flèche ---- */
.menu-principal li > a:after { 
  content:  ' +'; 
  content: '\25BC';
  top: -1px;
    right: -3px;
    font-size: 10px;
    position: relative;
}
.menu-principal li > a:only-child:after { 
  content: ''; 
}

/* langue separateur in menu principal */
.menu-principal .lang-item{
  position: relative;
  margin: 0 -3px;}

.menu-principal .lang-item-fr::after {
  position: absolute;
  top: 10px;
  right: -2px;
  content: "/";
}


/* panier cart number */
.cart-number {
  position: absolute;
  top: 17px;
  right: 25px;
}

.cart-number a {
  background: grey;
  color: white;
  padding: 0 10px 0 9px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  height: 20px;
  width: 20px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-number a:hover {
  background: black;
  color: #ddd;
}







/*  ----------- nav: menu suite ----------- */
.avion-menu nav ul {
  /*display: flex;*/
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.avion-menu nav ul li {
  margin: 0 10px;
}

.avion-menu nav ul li a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 10px;
}

.avion-menu nav a:hover {
  color: #000;
  text-decoration: none;
}

/* ---------- menu mobile ---------- */
@media (max-width: 767px) {
  .avion-menu {
    display: none;
  }
}

.mobile-menu {
  display: none;
}

@media (max-width: 767px) {
  .mobile-menu {
    display: flex;
  }
}

.mobile-menu {
  position: fixed;
  z-index: 1001;
  width: 100%;
  padding: 10px 30px;
  align-items: center;
  justify-content: space-between;
  background: #ffffff3a;
  /* background-color: transparent; */
  border-bottom: 1px solid black;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -1px;
  font-weight: 100;
  font-size: 15px;
  color: #fff;
  background: rgb(0 0 0 / 3%);
  backdrop-filter: blur(5px);
}

.mobile-menu .logo {
  max-width: 40px;
  filter: none;
}

.mobile-menu .navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.5s ease;

  width: 100%;
}

.navbar__menu {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}


@media screen and (max-width: 1024px) {
  .navbar__menu {
    position: absolute;
    top: 100%;
    right: -100%;
    width: 280px;
    min-height: calc(100vh - 78px);
    background-color: #ddd;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2rem;
    padding: 2rem 1rem;
    transition: all 0.5s ease;
  }

  .navbar__menu.right-open {
    right: 0;
  }
}

.navbar__list {
  display: flex;
  justify-content: center;
  flex-grow: 1;
  gap: 2rem;
}

/*
@media screen and (max-width: 1024px) {
  .navbar__list {
    flex-direction: column;
    flex-grow: 0;
  }
}

.navbar__list li a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  transition: all 0.5s ease;
  color: #aaa;
}

.navbar__list li a:hover {
  color: #000;
}

.navbar__list li .arrow {
  transition: 0.3s ease;
}

.navbar__list li .arrow.up {
  transform: rotate(180deg);
}

.navbar__list-drop {
  display: inline-block;
  position: relative;
}

.navbar__list-drop-menu {
  display: none;
  position: absolute;
  margin-top: 1rem;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  background-color: #ddd;
  border-radius: 1rem;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.122);
  z-index: 999;
}

@media screen and (max-width: 1024px) {
  .navbar__list-drop-menu {
    position: inherit;
    background-color: transparent;
    box-shadow: none;
    padding: 0.5rem 1rem;
  }
}

.navbar__list-drop-menu.open {
  display: flex;
}

.navbar__list-drop-menu.features {
  right: 0;
}

.navbar__list-drop-menu.company {
  left: 0;
  width: max-content;
}

.navbar__buttons {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

@media screen and (max-width: 1024px) {
  .navbar__buttons {
    width: 100%;
    flex-direction: column;
  }
}

.navbar__buttons a {
  color: #aaa;
  font-weight: 500;
  transition: 0.3s ease;
}

.navbar__buttons a:hover {
  color: #000;
}

.navbar__buttons-register {
  width: 100%;
  font-weight: 500;
  color: #aaa;
  padding: 0.8rem 1.5rem;
  background-color: #ddd;
  border: 2px solid #aaa;
  border-radius: 1rem;
  transition: 0.3s ease;
}

.navbar__buttons-register:hover {
  border: 2px solid #000;
  color: #000;
}*/

.navbar .menu {
  display: none;
  float: left;
  transition: all 275ms ease;
  cursor: pointer;
}

@media screen and (max-width: 1024px) {
  .navbar .menu {
    display: block;
  }
}

.navbar .menu span {
  display: block;
  width: 22px;
  height: 4px;
  background: #000000;
  margin-bottom: 2px;
  border-radius: 1px;
  transition: all 275ms ease;
}

.navbar .menu.active {
  transform: rotate(-45deg);
}

.navbar .menu.active .bar1 {
  transform: rotate(0deg) translateY(6px);
}

.navbar .menu.active .bar2 {
  opacity: 0;
}

.navbar .menu.active .bar3 {
  transform: rotate(-90deg) translateX(5px);
}


/* new menu mobile */

.navbar__menu {
  border: 1px solid black;
  font-weight: 500;
}

.navbar__menu ul {
  display: flex !important;
  flex-direction: column;
  font-size: 20px;
}

.navbar__menu li {
  display: flex;
  padding: 10px;
}

.navbar__menu .menu-principal .lang-item {
  position: relative;
  margin: 0 0px;
}

.navbar__menu .menu-principal .lang-item-fr::after {
  position: absolute;
  top: 32px;
  right: 91px;
  content: "/";
  color: black;
  display: none;
}

.navbar__menu .cart-number {
  position: fixed;
  top: 18px;
  right: 10px;
}

@media screen and (max-width: 1024px) {
  .navbar__menu .cart-number {
    position: fixed;
    top: 12px;
    right: 7px;
  }
}


/* ---------- layout ---------- */
section {
  /*display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100vh;
  border: 6px solid black;
  padding: 10px;
  justify-content: center;*/
}

section h1 {
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
}


/* ------------- cover: principal ------------- */
.cover-principal {

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100vh;

  background-image: url("https://seyvaa.com/wp-content/uploads/2023/06/Seyvaa-Seyvaa-Plus-reading-lamp.png");
  background-size: cover;
  background-position: center;
}

.cover-principal h1 {
  /*border: 1px solid black;*/
  text-align: left;
  margin-left: 5%;
  width: 45%;
  padding: 10px;
  
  font-size: calc(3vw + 10px);

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -2px;
  font-weight: 300;
  transform: scaleY(1.02);
}

.cover-principal h1 span.bold {
  font-weight: 500;
}

.cover-principal h1 span.fine {
  font-family: 'Merriweather', Georgia, serif;
  font-weight: 100;
  font-style: italic;
}

@media screen and (max-width: 768px) {
  .cover-principal {
    height: 46vh;
    justify-content: flex-end;
    padding-bottom: 20px;
    background-image: url("https://seyvaa.com/wp-content/uploads/2023/07/Seyvaa-Seyvaa-Plus-reading-lamp_carre-02.png");
  }
  .cover-principal h1 {
    width: 60%;  }
}

/* ----- page pro cover ----- */
.cover-pro-additionalcss  {
  justify-content: center;
}

.cover-pro-additionalcss h1 {
  color: #fff;
  width: 55%;
}


/* ------------- section: second ------------- */
.section-bigwho {
  
  background-color: rgb(224, 225, 227);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 22px;
  letter-spacing: -1px;
  font-weight: 300;
  transform: scaleY(1.02);
  padding: 10% 10px;
}

.section-bigwho_text {
  border: 0px solid blue;
  width: 50%;
  margin-left: 5%;
  padding: 10px
}

.section-bigwho_button {
  border: 0px solid blue;
  width: 50%;
  margin-left: 5%;
  padding: 20px 10px 10px 10px;
  font-weight: 100;
  font-style: italic;
  position: relative;
}

.section-bigwho_button a {
  border: 0px solid blue;
  position: relative;
}

.section-bigwho_button svg {
    width: 60px;
    position: absolute;
    right: -76px;
    top: 9px;
}

.fleche-svg{
  fill:none;
  stroke:#000000;
  stroke-width:3;
  stroke-miterlimit:10;
}

@media screen and (max-width: 768px) {
  .section-bigwho {
    font-size: 20px;
}

  .section-bigwho_text {
    width: 100%;
    margin-left: 0%; 
    padding: 15px;  }
}

/* ------------- section: error ------------- */
.section-error {
  background-color: rgb(224, 225, 227);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 15px;
  letter-spacing: -1px;
  font-weight: 300;
  padding: 10% 10px;
  position: relative;
  border: 2px dotted black;
  border-radius: 20px;
}




/* ------------- section: huge ------------- */
.section-huge {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  
  background-color:   rgb(215, 215, 215);

  width: 100%;
  height: 100vh;

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;
  /*transform: scaleY(1.02);*/
}

/* ------------- section: articles ------------- */
.section-articles-v1-2 {
  display: block;
  
  background-color: rgb(224, 225, 227);
  width: 100%;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;
}

.container-masonry article {
  border: 1px solid black;
    padding: 0px;
    width: 50%;
    /*width: 300px;*/
    /*min-height: 40px;*/
}

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

  .container-masonry article {
      padding: 0px;
      width: 100%;
      /*width: 300px;*/
      /*min-height: 40px;*/
  }
}

@media screen and (min-width: 1300px) {
  .container-masonry article {
      padding: 0px;
      width: 33.33%;
      /*width: 300px;*/
      /*min-height: 40px;*/
  }
}

.container-masonry img {
  display: block;
}

.container-masonry .cover {
  background-size: cover;
  background-position: center;
  height: 650px;
  /*height: auto;*/
  width: 100%;
  overflow: hidden;
}

.container-masonry .cover-event {
  height: 558px; /* 650 - 92px du titre */
}

.articles-post_titre {
  border-top: 1px solid black;
  padding: 30px;
  position: relative;
  height: 92px;
}

.articles-post_titre a {
  border: 0px solid blue;
  position: relative;
}

.articles-post_titre h3 {
  position: relative;
  display: inline-block;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
    font-size: 26px;
    letter-spacing: -1px;
    font-weight: 300;
}

.articles-post_titre svg {
    width: 60px;
    position: absolute;
    right: -76px;
    top: 9px;
    transition: all 0.4s ease-out;
}

.container-masonry article:hover {
  background-color: rgb(220, 220, 220);
  transition: all 0.3s ease-out;
}

.container-masonry article a:hover {
  color: #000;
}

.container-masonry article:hover svg{
  right: -96px;
  transition: all 0.3s ease-out;
}



/* ------------- section: typologie ------------- */
.section-typologie {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  
  background-color: rgb(224, 225, 227);
  width: 100%;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;
  flex-wrap: wrap;
  padding: 5% 10px 10%;
}

.section-typologie img {
  display: block;
}

.section-typologie h3 {
    display: block;
    padding: 10px;
    width: 100%;
    
    letter-spacing: -2px;
    font-weight: 400;
    transform: scaleY(1.02);
    font-size: 50px;
}

.typologie-categories-selection {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
  /* align-items: flex-start; */
  flex-wrap: nowrap;
}

.typologie-categories-one {
  padding: 20px;
}

.typologie-categories-one img {
  border: 1px solid black;
}

.typologie-categories-selection_titre {
  padding-top: 5px;
  font-size: 20px;
}

@media screen and (max-width: 768px) {
  .typologie-categories-selection {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 10px;
  }

  .typologie-categories-one {
    width: 50%;
    padding: 10px;
  }
}

/* ------------- section: typologie ------------- */
.accordion-title-wrap {
  border: solid 1px #000; 
  /* color: #007198; */
  /* padding-right: 20px; */
  /* background-color: #fff; */
  height: 60px;
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  padding: 10px 20px; 
  text-align: left;
  letter-spacing: 2px;
  /* margin: 5px;*/
  cursor: pointer;

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;   
   letter-spacing: 0px;
  font-weight: 500;

}


.arrow-green {
  color: #409bac;
  padding-top: 3px !important;
}

.accordion-drop-content {
  padding: 15px;
  margin-left: 30px;

  text-align: left;
  color: #4a4a4a;
  max-width: 830px;
}

/*USE ONLY FOR MOBILE*/
/*.accordian-height-mobile {
  height: 84px;
}*/







/* ------------- section: newsletter ------------- */
.section-newsletter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background-color: rgb(224, 225, 227);
  width: 100%;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;
  flex-wrap: wrap; 
  border-top: 1px solid black;
  padding: 3% 10px 10%;
  align-content: center;
}

.section-newsletter_phrase {
  display: flex;
  width: 80%;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
  margin-top: -20px;
  flex-direction: row;
  flex-wrap: wrap;
}

.section-newsletter_phrase p {
  font-size: 30px;
  font-weight: 400;
}

.newsletter-button {
  position: relative;
}

.newsletter-button a {
  border: 1px solid black;
  padding: 10px;
  font-size: 20px;
  font-weight: 200;
  text-transform: uppercase;
}

.newsletter-button a:hover {
  border: 1px solid black;
  background: #e6e6e6;
}

@media screen and (max-width: 768px) {
  .section-newsletter {
    padding: 3% 10px 20%;
  }
  .section-newsletter_phrase {
    width: 90%;
    flex-wrap: wrap;
  }
  .section-newsletter_phrase p {
    margin: 10px 0 20px;
  }
}

/* ----- boutton bouton button ----- */
.button-marguerrite {
  position: relative;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -0.2px;
  font-weight: 300;
}

.marguerrite_size-pagepro {
  margin-left: 5%;
  padding: 0 10px;
}

.button-marguerrite a {
  border: 1px solid #fff;
  padding: 10px;
  font-size: 20px;
  font-weight: 200;
  text-transform: uppercase;
  color: #fff;
}

.marguerrite_size-pagepro .button-marguerrite a {
  border: 2px solid #fff;
}

.button-marguerrite a:hover {
  background: #ffffff59;
  color: #fff;
}




/* ---------------- footer : voir footer.css (chargé par admin-footer.php) ---------------- */



/* ---------------------- pages: .single -------------------------- */
.single-menu-space {  
  background-color: transparent;
  background-color: rgb(224, 225, 227);
  height: 57px;
}

/* ------------- section: container single ------------- */
.container-single {
  display: flex;
  flex-direction: column;
  background-color: transparent;
  background-color: rgb(224, 225, 227);
  padding: 20px calc(10px + 5%) 80px;
}

@media screen and (max-width: 768px) {
  .container-single {
    padding: 20px;
  }
}
/* ------------- section: titre ------------- */
.section-titre {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  
  background-color: transparent;
  background-color: rgb(224, 225, 227);


  width: 100%;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;
  flex-wrap: wrap;
  padding: 10px 10px;
}

.section-titre h1, .section-titre h2, .section-titre h3 {
    display: block;
    padding: 10px;
    width: 100%;
    
    letter-spacing: -2px;
    font-weight: 400;
    font-size: 50px;
}

.section-titre i {
  font-weight: 100;
}

@media (max-width: 767px) {
  .section-titre h1, .section-titre h2, .section-titre h3 {
    margin: 0px;
    font-size: 30px;
}
}

/* ------------- section: content ------------- */
.section-single {
  
  background-color: transparent;
  background-color: rgb(224, 225, 227);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;

  padding: 10px 10px;
}

.section-single_text {
  border: 0px solid blue;
  width: 50%;
  padding: 10px
}

.section-single_button {
  border: 0px solid blue;
  width: 50%;
  padding: 20px 10px 10px 10px;
  font-weight: 100;
  font-style: italic;
  position: relative;
}

.section-single_button a {
  border: 0px solid blue;
  position: relative;
}

.section-single_button svg {
    width: 60px;
    position: absolute;
    right: -76px;
    top: 9px;
}



/* ------------- section: page content ------------- */
.section-page {
  
  background-color: transparent;
  background-color: rgb(224, 225, 227);

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;

  padding: 10px 10px;
}

.section-page_content {
  width: 100%;
  padding: 10px;
  max-width: 1400px;

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 16px;
  letter-spacing: -0.3px;
  font-weight: 300;
}

.section-page_content p {
  padding: 5px;
}

.section-page_content ul {
  padding: 5px 0;
}

.section-page_content li {
  padding: 5px;
}

.section-page_content figure {
  margin: 0px;
}

h4.wp-block-heading, h3.wp-block-heading, h2.wp-block-heading, h1.wp-block-heading {
  display: block;
  padding: 10px 0;
  width: 100%;
  letter-spacing: -2px;
  font-weight: 400;
}

h1.wp-block-heading {
  font-size: 60px;
}

h2.wp-block-heading {
  font-size: 50px;
}

h3.wp-block-heading {
  font-size: 45px;
}

h4.wp-block-heading {
  font-size: 40px;
}


.section-page_content .wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}


/* ----------- container product ---------- */
/* ------------- section: container product ------------- */
.container-product {
  display: flex;
  flex-direction: column;
  background-color: transparent;
  background-color: rgb(224, 225, 227);
}

.and-decallage {
  padding: 20px calc(10px + 5%) 20px;
}

/* ------------- section: content-product page produit ------------- */
.section-product {
  background-color: transparent;
  background-color: rgb(224, 225, 227);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  /* Taille pilotée depuis Apparence → section "Fiche produit".
     Le 22px est la valeur de repli si aucun réglage n'est enregistré. */
  font-size: var(--avion-product-fs, 22px);
  letter-spacing: -1px;
  font-weight: 300;
  /* padding: 10px 10px; */

}

.section-product_images {
  display: flex;
  flex-direction: column;
  /* justify-content: flex-start; */
  align-items: flex-start;
  width: 35%;
  border: 1px solid black;
}

.section-product_texts {
  border: 1px solid black;
  width: 65%;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
}

#show-text {
  position: absolute;
  top: 5px;
  left: 5px;
}

.section-single_text-maindescription {
  position: relative;
  display: flex;
  padding: 20px 34% 20px 20px;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  flex-grow: 1;
  border-bottom: 1px solid black;
}

.section-single_text-maindescription p {
  position: relative;
  padding: 5px;
}

/*
.section-single_text-maindescription > *:first-child::before {
  content: "+";
  position: absolute;
  left: -19px;
  width: 20px;
  font-weight: 500;
}*/

.section-product_button {
  border: 0px solid blue;
  width: 50%;
  padding: 20px 10px 10px 10px;
  font-weight: 100;
  font-style: italic;
  position: relative;
}

.section-product_button a {
  border: 0px solid blue;
  position: relative;
}

.section-product_button svg {
    width: 60px;
    position: absolute;
    right: -76px;
    top: 9px;
}

.section-single_select-proddd {
  position: relative;
  display: flex;
  padding: 20px;
  flex-direction: row;
  justify-content: space-between;
  border-bottom: 1px solid black;

  min-height: 70px;
}

.section-single_select-proddd_titre{
  position: relative;

}

.section-single_select-proddd_info{
  position: relative;
}

@media screen and (max-width: 768px) {
  .section-product_images {
    width: 100%;
  }
  .section-product_texts {
    width: 100%;
  }
  .section-single_text-maindescription {
    padding: 30px;
  }
}


/* fleche droite sur ordinateur version mobile*/
@media screen and (max-width: 768px) {
  .slick-arrow.slick-next {
    right: 0 !important;
    height: 100%;
    display: flex;
    padding: 6px 9px;
    width: 100% !important;
    background: transparent;
    border: 0;
    opacity: 1!important;
    justify-content: flex-end;
    align-items: flex-end;
}
}





/* ------- les textes editable general css (content) -------*/
b, strong {
  font-weight: 500;
}


/* ---------- selecion produit 2eme partie --------- */
.section-single_produit-under-container {
  display: flex;
  width: 100%;
}

.section-single_produit-under-sidebar {
  width: 35%;
  border-right: 1px solid #000;
}

.section-single_produit-under-list {
  list-style-type: none;
  padding: 0;
}

.section-single_produit-under-item {
  border-bottom: 1px solid #000;
  padding: 22px;
  cursor: pointer;
}

.section-single_produit-under-item-pro {
  border-bottom: 1px solid #000;
  padding: 22px;
  min-height: 400px;

  font-weight: 500;
  font-style: italic;
}


.section-single_produit-under-item.active {
  background-color: #f0f0f0;
}

.section-single_produit-under-content_box {
  width: 65%;
  padding: 22px;
  border-bottom: 1px solid black;

  /* Taille pilotée depuis Apparence → section "Fiche produit". */
  font-size: var(--avion-product-tabs-fs, 16px);
  letter-spacing: -0.2px;
}

.section-single_produit-under-content_box a {
  text-decoration: underline;
}

.section-single_produit-under-content {
  display: none;
  max-width: 500px;
}

.section-single_produit-under-content.active {
  display: block;
}

@media screen and (max-width: 768px) {
  .section-single_produit-under-sidebar {
    width: 100%;
    border-right: 1px  #000;
  }
  .section-single_produit-under-container {
    display: flex;
    width: 100%;
    flex-direction: column-reverse;
  }
}



/* --------------- section single-product bouton d'achat --------------- */

.hidden-ancien-prod {
  display: none;
}

.new-prodddd-pad {
  padding: 0;
}

.the-buy-bloc {
  /*border: 1px solid red;*/
  width: 100%;
}

.the-buy-bloc .variations {
  /*border: 1px solid green;*/
  padding: 20px;
  width: 100%;
  border-bottom: 1px solid black;
}

.the-buy-bloc .variations tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.the-buy-bloc .reset_variations {
  display: none;
}

/* titre finition*/
.the-buy-bloc .variations label {
    font-weight: 300;
    /*border: 1px solid purple;*/
  }

/* selecteur */
.the-buy-bloc .variations .value select {
  background-color: transparent;
  border: none;
  /*width: 200px;*/
  color: #000;
}

/* quantité et ajout au panier */
.the-buy-bloc .single_variation_wrap {
  /*border: 1px solid blue;*/
  padding: 20px;
  background: #b9b9b9;
}

.the-buy-bloc .woocommerce-variation-add-to-cart {
  display: flex;
  /*border: 1px solid red;*/
  justify-content: space-between;
}

/* quantité */
/* version 2 quantity pour + et - */
/* Pour page produit et aussi pour Panier  */
.quantity {
  display: inline-block;
  position: relative;
  white-space: nowrap;
  vertical-align: top;
}

.quantity input.qty {
  width: 35px;
  height: 39px;
  padding: 0 5px;
  text-align: center;
  background-color: transparent;
  border: 0px solid #efefef;
  box-shadow: none;
}

/* Style des boutons +/- (optionnel, pour une amélioration visuelle) */
.quantity input[type="button"] {
  display: inline-block;
  padding: 7px 10px 8px;
  height: 41px;
  background-color: transparent;
  border: 0px solid #efefef;
  cursor: pointer;
}

.quantity input.plus {
  border-left: 0;
}

.quantity input.minus {
  border-right: 0;
}

.quantity input[type="button"]:hover {
  background: #eeeeee;
}

.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
}

.quantity input:focus {
  outline: none;
}

/* fin quantité */





/* if rupture de stock */
.the-buy-bloc p.out-of-stock {
  padding: 20px;
}

/* ------ version sans variant ------- */
.the-buy-bloc .novarianttt .cart {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*border: 1px solid yellow;*/
  padding: 20px;
  background: #b9b9b9;
}

/* panier */
.the-buy-bloc .button {
  padding: 2px 2px;
  border-bottom: 1px solid #000;
  border-right: 0;
  border-top: 0;
  border-left: 0;
  background: transparent;
}

.the-buy-bloc .button:hover {
  background: #eee;
}

.the-buy-bloc .variations .value select option {
  background-color: #fff;
  color: #000;
  font-size: 14px;
  border-bottom: 1px solid #000;
}

/* --------------- button --------------- */
.button-avion {
  position: relative;
  font-weight: 400;
  font-style: normal;
}

.space-around-button-normal {
  margin: 10px;
}

.button-avion a {
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid black;
  font-size: 20px;
}



/* --------------- produit lié / upsell ------------ */
/* produit suggéré */
/* ses produits pourraient vous plaire*/

.section-single_produit-upsell {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 20px;
  border: 1px solid black;
}

.section-single_produit-upsell_liste {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}

.section-single_produit-upsell_produit {
  position: relative;
  width: 33%;

  padding: 20px 20px 40px;
}

.section-single_produit-upsell_produit h3 {
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;
}
.section-single_produit-upsell_produit img {
  border: 1px solid black;
}

.section-single_produit-upsell_produit .prixlie {
  position: absolute;
    bottom: 40px;
    right: 20px;
}

.noproduitsugere {
  padding: 20px;
}

@media screen and (max-width: 768px) {
  .section-single_produit-upsell {
    padding: 10px;
    border: 0px solid black;
  }

  .section-single_produit-upsell h2.bigtitre {
    padding: 10px;
    font-size: 30px;
  }

  .section-single_produit-upsell_produit {
    width: 100%;
  }
}

/* ---------------- contenu des block texte --------------- */

.alignnone {
  display: inline-block;
}



/* --------------- big titre --------------- */
.bigtitre_bloc {
  padding: 90px 10px 10px;
  margin: 0;
  /*border: 1px solid red;*/
  width: 100%;
}

.bigtitre_bloc-taille1 {
  padding: 0px 10px 0px;
  margin: 0;
  /*border: 1px solid red;*/
  width: 100%;
}

.bigtitre_bloc-taille2 {
  padding: 40px 10px 0px;
  margin: 0;
  /*border: 1px solid red;*/
  width: 100%;
}

h3.bigtitre, h2.bigtitre, h1.bigtitre {
  display: block;
  padding: 10px;
  margin: 0;
  width: 100%;
  letter-spacing: -2px;
  font-weight: 400;
  transform: scaleY(1.02);
  font-size: 50px;
}

h3.bigtitre i, h2.bigtitre i, h1.bigtitre i {
  font-weight: 100;
}

.bigtitre_bloc-taille2 h3.bigtitre, .bigtitre_bloc-taille2 h2.bigtitre, .bigtitre_bloc-taille2 h1.bigtitre {
  padding: 10px 10px 0;
  margin: 0;
}

/* ------------- section: woocommerce product archive-product (boutique collection) ------------ */

/* cacher le breadcrumb */
.woocommerce-breadcrumb {
  display: none;
}

/* nombre de resultat*/
.woocommerce-result-count {
  display: none;
}

/*proposition d'ordre (a ajouter au liste ?*/
.woocommerce-ordering {
  display: none;
}


/* -- category deroulante OU filtres -- */
/* Styles pour le menu déroulant */
.product-categories {
  border-top: 1px solid black;
  border-bottom: 1px solid black;

  margin: 0px 0 50px;
  padding: 0 20px;
	background-color: #eee;

  position: relative;
  z-index: 1;

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 300;
}

.product-categories ul {
	padding: 0;
  margin: 0;
	list-style: none;
	position: relative;
	}
	
  .product-categories ul li {
	display:inline-block;
	background-color: #eee;
	}

  .product-categories a {
	display:block;
	padding:0 10px;	
	color:#000;
	line-height: 60px;
	text-decoration:none;
}

.product-categories a:hover { 
	background-color: #ddd; 
}

/* Hide Dropdowns by Default */
.product-categories ul ul {
	display: none;
	position: absolute; 
	top: 60px; /* the height of the main nav */
}
	
/* Display Dropdowns on Hover */
.product-categories ul li:hover > ul {
	display:inherit;
}
	
/* Fisrt Tier Dropdown */
.product-categories ul ul li {
	min-width:170px;
	float:none;
	display:list-item;
	position: relative;

  border-bottom: 1px solid black;
  border-left: 1px solid black;
  border-right: 1px solid black;
}

/* Second, Third and more Tiers	*/
.product-categories ul ul ul li {
	position: relative;
	top:-60px; 
	left:170px;
}

	
/* Change this in order to change the Dropdown symbol */
.product-categories li > a:after { content:  ' +'; }
.product-categories li > a:only-child:after { content: ''; }

/* Catégorie en cours de filtre sur une page marque : le visiteur doit voir
   où il se trouve, sinon deux vues différentes semblent identiques. */
.product-categories li.is-active > a {
  background-color: #ddd;
  font-weight: 500;
}

/* Sortie de filtre — discrète, elle ne doit pas concurrencer les catégories. */
.product-categories li.is-reset > a {
  font-style: italic;
  opacity: 0.6;
}
.product-categories li.is-reset > a:after { content: ''; }





/* lire la suite (qui se met sous les produit en rupture de stock je crois bien) */
.woocommerce-archive-page-okok .product_type_simple {
  display: none;
}

/* les produits */
.woocommerce-archive-page-okok {
  position: relative;
}

.woocommerce-archive-page-okok {
  /*border: 1px solid red;*/
}

/* ==========================================================
   PRODUCT GRID — MOBILE FIRST
   2 columns mobile / 2 tablet / 4 desktop
   ========================================================== */

.woocommerce-archive-page-okok ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 12px;
  row-gap: 28px;
  margin: 0;
  padding: 8px;
  list-style: none;
}

/* Neutralise les ::before / ::after WooCommerce.
   Sinon l'ancien clearfix peut créer des cellules vides dans CSS Grid. */
.woocommerce-archive-page-okok ul.products::before,
.woocommerce-archive-page-okok ul.products::after {
  content: none;
  display: none;
}

/* tablet */
@media screen and (min-width: 769px) {
  .woocommerce-archive-page-okok ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    padding: 20px;
  }
}

/* desktop */
@media screen and (min-width: 1300px) {
  .woocommerce-archive-page-okok ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* un produit */
.woocommerce-archive-page-okok ul.products li.product {
  padding: 0;
  margin: 0;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  /*border: 1px solid blue;*/
}

.woocommerce-archive-page-okok a {
  position: relative;
  display: block;
}




.woocommerce-archive-page-okok ul.products li.product img{
  border: 1px solid black; /* pas pris en compte */
  margin: 0 !important;
}

.woocommerce-archive-page-okok h2.woocommerce-loop-product__title {
  /*border: 1px solid red;*/

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px !important;
  letter-spacing: -1px !important;
  font-weight: 300 !important;

  padding: 10px 0 0 !important;
}

.woocommerce-archive-page-okok .price {
  position: absolute;
  right: 0; 
  bottom: 0;
  /*border: 1px solid green;*/

  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px;
  letter-spacing: -1px;
  font-weight: 500;
}



/*
@media screen and (max-width: 768px) {
 .woocommerce-archive-page-okok .price {
right: initial;
bottom: initial;
}
}*/

/* ajouter au panier */
.woocommerce-archive-page-okok .add_to_cart_button {
  display: none !important;

  border: 2px solid orange !important;
}

.woocommerce-archive-page-okok .product_type_simple {
  display: none !important;

  border: 2px solid purple !important;
}


.woocommerce-archive-page-okok .product_type_external{
  display: none !important;

  border: 2px solid pink !important;
}

/* pagination */
.woocommerce-pagination {
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 40px;
  letter-spacing: -1px;
  font-weight: 200;
  padding: 0 30px 30px;
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-numbers li {
  list-style: none;
}

.page-numbers li a {
  display: block;
  padding: 10px;
}

.page-numbers li span.current {
  display: block;
  padding: 10px;
  color: #979797;
}



/* ------------- image miror product ------------ */

.image-container-miror {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid black;
  box-sizing: border-box;
}

.image-container-miror img {
  display: block;
  width: 100%;
  height: auto;
  border: 0px solid black !important;
}

.image-container-miror:hover img {
  transform: scaleX(-1);
}


/* ------------- sous-catégories dans le grid catalogue ------------- */
/* tuile sous-catégorie (ex: SOKA HOTEL dans SOKA ARCHITECTURE)
   stylée pour ressembler à une fiche produit */

.woocommerce-archive-page-okok ul.products li.product-category img {
  border: 1px solid black;
  margin: 0 !important;
}

.woocommerce-archive-page-okok h2.woocommerce-loop-category__title {
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 26px !important;
  letter-spacing: -1px !important;
  font-weight: 300 !important;
  padding: 10px 0 0 !important;
}

.woocommerce-archive-page-okok .woocommerce-loop-category__title .count {
  display: none;
}

.woocommerce-archive-page-okok ul.products li.product-category {
  overflow: hidden;
}

.woocommerce-archive-page-okok ul.products li.product-category:hover img {
  transform: scaleX(-1);
}


/* ==========================================================
   MOBILE CATALOGUE — LARGER PRODUCT IMAGE BLOCKS
   Keeps two products per row while using almost all screen width.
   ========================================================== */
@media screen and (max-width: 768px) {

  /* Product/category cards fill their grid columns */
  .woocommerce-archive-page-okok ul.products li.product,
  .woocommerce-archive-page-okok ul.products li.product-category {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    box-sizing: border-box;
  }

  /* Main product link fills the complete column */
  .woocommerce-archive-page-okok ul.products li.product > a,
  .woocommerce-archive-page-okok ul.products li.product-category > a {
    display: block;
    width: 100%;
  }

  /* Product image frame becomes a large square */
  .woocommerce-archive-page-okok .image-container-miror {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    box-sizing: border-box;
  }

  /* Image fills the frame without distortion */
  .woocommerce-archive-page-okok .image-container-miror img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    margin: 0 !important;
  }

  /* Category tiles use the same square proportions */
  .woocommerce-archive-page-okok ul.products li.product-category img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    margin: 0 !important;
    box-sizing: border-box;
  }

  /* Compact labels so two-column layout remains clean */
  .woocommerce-archive-page-okok h2.woocommerce-loop-product__title,
  .woocommerce-archive-page-okok h2.woocommerce-loop-category__title {
    font-size: 16px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.4px !important;
    padding: 7px 0 0 !important;
    margin: 0 !important;
    overflow-wrap: anywhere;
  }

  /* Avoid oversized prices in the narrower cards */
  .woocommerce-archive-page-okok .price {
    font-size: 16px;
  }
}



/* ------------- page panier / cart ------------ */

/* enlever les message woocommerce par default d'ajout au panier */
/* ou les mettre en beaucoup plus petit */

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  padding: 8px 9px 10px 34px;
  margin: 0 0 0px;
  position: relative;
  background-color: transparent;
  color: black;
  font-size: 20px;
  /* border-top: 1px solid black; */
  border: 1px solid black;
  list-style: none outside;
  width: auto;
  word-wrap: break-word;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 20px;
  letter-spacing: -1px;
  font-weight: 500;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.woocommerce-message {
  border-top-color: black;
}

.woocommerce-message::before {
  content: "\e015";
  content: "+";
  color: black;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
  font-family: WooCommerce;
  content: "\e028";
  content: "+";
  /* display: inline-block; */
  position: absolute;
  top: -4px;
  left: 12px;
  /* border: 1px solid red; */
  height: 100%;
  display: flex;
  /* padding-bottom: 7px; */
  align-items: center;
}

/* le corps */
.woocommerce table.shop_table {
  border: 1px solid black;
  margin: 0 -1px 24px 0;
  text-align: left;
  width: 100%;
  border-collapse: separate;
  border-radius: 0px;
  border-radius: 3px !important;
}
.woocommerce table.shop_table th {
  font-weight: 700;
  padding: 10px 0;
  line-height: 1em;
}
.woocommerce table.shop_table td {
  border-top: 1px solid black;
  padding: 0 10px;  
  vertical-align: middle;
  line-height: 1em;
}
/*les produits*/
.product-thumbnail {width: 25%;
  padding: 0!important;}
.woocommerce-cart-form__cart-item {
  position: relative;
}


/* thumbnail */
@media only screen and (max-width: 768px) {
  .woocommerce #content table.cart .product-thumbnail,
  .woocommerce table.cart .product-thumbnail,
  .woocommerce-page #content table.cart .product-thumbnail,
  .woocommerce-page table.cart .product-thumbnail {
      display: block;
  }
}

/* remove cross */
.woocommerce-cart-form__cart-item .product-remove {
  position: absolute;
  border: 1px solid black;
  left: -1px;
}
.woocommerce a.remove {
  display: block;
  font-size: 1.5em;
  height: 1em;
  width: 1em;
  text-align: center;
  border-radius: 100%;
  line-height: 1;
  color: red!important;
  text-decoration: none;
  font-weight: 300;
  border: 0;
  color: black!important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2px 6px 0;
}
.woocommerce a.remove:hover {
  color: #fff!important;
  background: black;
  border-radius: 0;
}



/* reduction */
#coupon_code {
  background: transparent;
  border: 1px solid black;
  padding: 8px;
  width: 30%;}

  .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {
    font-size: 100%;
    margin: 0;
    line-height: 1;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    overflow: visible;
    padding: 0.618em 1em;
    font-weight: 700;
    border-radius: 3px;
    left: auto;
    color: #515151;
    background-color: #ebe9eb;
    border: 0;
    display: inline-block;
    background-image: none;
    box-shadow: none;
    text-shadow: none;

    font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;

}

.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th {
  font-weight: 700;
  border-top: 1px solid black;
}

.woocommerce .cart_totals table.shop_table td {
  padding: 10px;
}

/* bouton valider */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt {
  background-color: #000;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  border-radius: 0px;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:hover {
  background-color: #424242;
  color: #fff;
}



@media screen and (max-width: 768px) {
  .product-thumbnail {
    width: 100%;
    padding: 0!important;
}
}




/* ------------- page panier ------------ */
.start-cart {
  position: relative;
  border: 1px solid black;
}

.table_marin-cart {
  padding: 0px
}


.woocommerce-cart-form p {
  padding: 0;
}

/* titre tableau */
.cart-englobe-marin {
  border: 2px solid yellow;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}

/* produit */
.woocommerce-cart-form__cart-item {
  display: flex;
  align-items: stretch;
  padding: 20px;
  background: #eeeeee;
}

.woocommerce-cart-form__cart-item .product-remove,
.woocommerce-cart-form__cart-item .product-thumbnail,
.woocommerce-cart-form__cart-item .product-name,
.woocommerce-cart-form__cart-item .product-price,
.woocommerce-cart-form__cart-item .product-quantity,
.woocommerce-cart-form__cart-item .product-subtotal {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  padding: 10px;

  /*border: 1px solid blue;*/
}

.woocommerce-cart-form__cart-item .product-remove {
  padding: 0;
    margin-left: 21px;
}

.woocommerce-cart-form__cart-item .product-thumbnail {
  border: 1px solid black;
  flex: 1.4;
}

.woocommerce-cart-form__cart-item .product-name {
  font-size: 1.6em;
  flex: 1.4;
}

.woocommerce-cart-form__cart-item .product-price {
  /*  pour le bloc "product-price" */
  display: none;
}

.woocommerce-cart-form__cart-item .product-quantity {
  /* pour le bloc "product-quantity" */
  margin-top: -7px;
  flex: 0.1;
}

.woocommerce-cart-form__cart-item .product-quantity .quantity input[type="button"] {
  border: 1px solid #efefef;
  display: none;
}

.woocommerce-cart-form__cart-item .product-quantity .quantity::before {
  content: "x";
}

.woocommerce-cart-form__cart-item .product-quantity .quantity .qty {
  width: 20px;
  margin-right: 10px;
}

.woocommerce-cart-form__cart-item .product-subtotal {
  flex: 0;
  font-size: 1.1em;
  font-weight: 500;
}

/* reduction code */
.panier-marin-reduction {
  padding: 10px 20px;
  border-top: 1px solid black;
}

/* mettre à jour panier */
.panier-marin-mettreajourpanier {
  padding: 10px 20px;
  border-top: 1px solid black;
}


/* ----- cart total ----- */
.cart_totals{
  border: 1px solid black;
  padding: 20px 20px;
  background: #eeeeee;
  position: sticky;
    top: 55px;
}

.cart_totals h2 {
  padding: 10px;
}

.cart_totals .shop_table {
  /*border: 1px solid green;*/
  padding: 18px 10px;
}

.cart-collaterals .cart-subtotal {
  padding: 10px 0px 5px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid black;
}

.cart-collaterals .woocommerce-shipping-methods {
  padding: 5px 0px;
  list-style: none;
}

.cart-collaterals li {
  padding: 5px 0;
  /*border: 1px solid purple;*/
}

.cart-collaterals .woocommerce-shipping-destination {
  padding: 5px 0px;
}

.cart-collaterals .woocommerce-shipping-calculator {
  padding: 5px 0px;
}

.cart-collaterals .order-total {
  padding: 20px 0px;
  font-size: 1.2em;
  font-weight: 500;
  border-top: 1px solid black;
  margin-top: 18px;
}

.cart-collaterals .wc-proceed-to-checkout {
  padding: 10px 0;

  position: relative;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -0.2px;
  font-weight: 300;
}

.cart-collaterals .wc-proceed-to-checkout a {
  border: 1px solid black;
  padding: 10px;
  font-size: 20px;
  font-weight: 200;
  text-transform: uppercase;
  color: black;
}

.cart-collaterals .wc-proceed-to-checkout a:hover {
  background: #ffffff59;
  color: black;
}

@media (max-width: 767px) {

  .woocommerce-cart-form__cart-item .product-remove {
      margin-left: 11px;
  }

  .woocommerce-cart-form__cart-item .product-quantity  input.qty {
    height: auto;
  }

  #coupon_code {
    width: 100%;
    margin-bottom: 10px;
  }
  .cart-collaterals .wc-proceed-to-checkout a {
    font-size: 1em;
  }
}

/* --------------- page checkout panier (suite si suite) ---------------- */
.woocommerce-checkout {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  background: #f6f6f6;
  border-radius: 4px;
}

.woocommerce-checkout input{
  /*border: 1px solid black;*/
    padding: 10px;
}
.woocommerce-checkout textarea{
  border: 1px solid black;
    padding: 10px;
}

.woocommerce-checkout .col2-set {
  padding: 20px 10px;
}

#order_review_heading {
  padding: 50px 20px 0;
  margin-top: 37px;
  border-top: 1px solid black;
}
.woocommerce-checkout-review-order {
  padding: 20px;
}


@media (max-width: 767px) {

    .woocommerce-checkout {
      width: calc(100% + 40px);
  
      padding: 10px;
      border-radius: 4px;
      margin: 0px 0px 20px -20px;
  }

  .woocommerce-cart-form__cart-item {
    display: flex;
    align-items: flex-start;
    padding: 10px;
    flex-direction: column;
  }

  .panier-marin-reduction {
    padding: 10px 19px;
}

.cart_totals {
  border: 1px solid black;
  padding: 20px;
}
}

/* --------------- page checkout panier (suite si suite) ---------------- */
/* checkout: expedier a une differente adresse */
.woocommerce-shipping-fields {
  font-weight: 300;
  background: #d9d9d9;
  padding: 10px;
  border-radius: 2px;
  margin-top: 35px;
}
#ship-to-different-address {
  font-weight: 300;
}

/* note de commande */
.woocommerce-additional-fields {
  font-weight: 300;
  background: #d9d9d9;
  padding: 10px;
  border-radius: 2px;
  margin-top: 10px;
}


.woocommerce-additional-fields textarea {
  min-height: 200px;
}


  /* votre commande rappel */
  .woocommerce table.shop_table {
    border-radius: 3px !important;
    border-spacing: 0px;
    width: calc(100% + 40px);
    margin-left: -20px;
  }

  /* votre commande: produit titre et liste */
  .woocommerce table.shop_table th, .woocommerce table.shop_table td {
    line-height: 1em;
  }

  /* votre commande: produit titre  */
  .woocommerce table.shop_table th.product-name , .woocommerce table.shop_table th.product-total {
    /*font-weight: 600;*/
    /*background-color: #9aac40;*/
    padding: 10px;
  }

  /* votre commande:  liste */
  .woocommerce table.shop_table td.product-name , .woocommerce table.shop_table td.product-total {
    background-color: #ffffff;
    /*background-color: #34391b;*/
    padding: 10px;
  }

  /* sous total prix */
  .woocommerce table.shop_table .cart-subtotal th, .woocommerce table.shop_table .cart-subtotal td{
    /*background-color: #47ac40;*/
    padding: 10px;
  }

  /* expedition */
  .woocommerce table.shop_table tbody .shipping th, .woocommerce table.shop_table tfoot .shipping td, .woocommerce table.shop_table tfoot .shipping th {
    padding: 10px;
    background-color: #ffffff;
    font-weight: 300;
    font-size: 0.8em;
  }
  /* bug decalage prix forfait */
  .woocommerce ul#shipping_method li {
   margin: 0 0 0em; 
   padding: 0;
  }

  /* total */
  .woocommerce table.shop_table .order-total th, .woocommerce table.shop_table .order-total td {
    font-weight: 600;
    padding: 10px;
  }

  /* saut ligne taxes */
  .woocommerce table.shop_table .order-total td .includes_tax {
    display: block;
 }

  /* systeme de paiement : all */
  .woocommerce-checkout-payment {
    /*border: 1px solid red;*/
    width: calc(100% + 40px);
    margin-left: -20px;
  }

  /* systeme de paiement : payer avec votre carte box  */
  #add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
  }

  #add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
    padding: 10px;
  }

  #add_payment_method #payment div.payment_box .form-row, .woocommerce-cart #payment div.payment_box .form-row, .woocommerce-checkout #payment div.payment_box .form-row {
    margin: 0 0 1em;
    padding: 4px;
  }




@media only screen and (max-width: 768px) {
/* checkout: expedier a une differente adresse */
.woocommerce-shipping-fields {
  font-weight: 300;
  background: #d9d9d9;
  padding: 10px;
  border-radius: 2px;
  margin-top: 35px;
}
#ship-to-different-address {
  font-weight: 300;
}

/* note de commande */
.woocommerce-additional-fields {
  font-weight: 300;
  background: #d9d9d9;
  padding: 10px;
  border-radius: 2px;
  margin-top: 10px;
}


.woocommerce-additional-fields textarea {
  min-height: 200px;
}


  /* votre commande rappel */
  .woocommerce table.shop_table {
    border-radius: 3px !important;
    border-spacing: 0px;
    width: calc(100% + 40px);
    margin-left: -20px;
  }

  /* votre commande: produit titre et liste */
  .woocommerce table.shop_table th, .woocommerce table.shop_table td {
    line-height: 1em;
  }

  /* votre commande: produit titre  */
  .woocommerce table.shop_table th.product-name , .woocommerce table.shop_table th.product-total {
    /*font-weight: 600;*/
    /*background-color: #9aac40;*/
    padding: 10px;
  }

  /* votre commande:  liste */
  .woocommerce table.shop_table td.product-name , .woocommerce table.shop_table td.product-total {
    background-color: #ffffff;
    /*background-color: #34391b;*/
    padding: 10px;
  }

  /* sous total prix */
  .woocommerce table.shop_table .cart-subtotal th, .woocommerce table.shop_table .cart-subtotal td{
    /*background-color: #47ac40;*/
    padding: 10px;
  }

  /* expedition */
  .woocommerce table.shop_table tbody .shipping th, .woocommerce table.shop_table tfoot .shipping td, .woocommerce table.shop_table tfoot .shipping th {
    padding: 10px;
    background-color: #ffffff;
    font-weight: 300;
    font-size: 0.8em;
  }
  /* bug decalage prix forfait */
  .woocommerce ul#shipping_method li {
   margin: 0 0 0em; 
   padding: 0;
  }

  /* total */
  .woocommerce table.shop_table .order-total th, .woocommerce table.shop_table .order-total td {
    font-weight: 600;
    padding: 10px;
  }

  /* saut ligne taxes */
  .woocommerce table.shop_table .order-total td .includes_tax {
    display: block;
 }

  /* systeme de paiement : all */
  .woocommerce-checkout-payment {
    /*border: 1px solid red;*/
    width: calc(100% + 40px);
    margin-left: -20px;
  }

  /* systeme de paiement : payer avec votre carte box  */
  #add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
  }

  #add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
    padding: 10px;
  }

  #add_payment_method #payment div.payment_box .form-row, .woocommerce-cart #payment div.payment_box .form-row, .woocommerce-checkout #payment div.payment_box .form-row {
    margin: 0 0 1em;
    padding: 4px;
  }
}




/* ------------- page search recherche ------------ */

.searchform {
  position: relative;
}

.searchform input {
  border: 1px solid black;
  padding: 10px;
  background-color: transparent;
}

.searchform input:focus {
  outline: 1px solid #444;
  background-color: #e6e6e6;
}

.searchform input:hover {
  background-color: #eee;
}

/* ------------- page espace pro ------------ */

.section_bloc-espace-pro {
  display: flex;
}

.item_bloc-espace-pro {
  display: block;
  width: 50%;
  aspect-ratio: 1 / 1;

  font-size: calc(3vw + 10px);
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -2px;
  font-weight: 300;

}

.item_bloc-espace-pro a {
  display: block;
  position: relative;
  border: 1px solid black;
  padding: 10px 10px 10px 47px;
    width: 100%;
  height: 100%;
}

.item_bloc-espace-pro a::before {
  content: "+";
  position: absolute;

  left: 26px;
  top: 43px;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: transform 0.3s ease-in-out;
}

.item_bloc-espace-pro a:hover::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

@media only screen and (max-width: 768px) {
  .section_bloc-espace-pro {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
  }
  .item_bloc-espace-pro {
    width: 100%;
  }
  .item_bloc-espace-pro a {
    padding: 32px 10px 10px 47px;
  }
}

/* ====================================================================
   Page maintenance : environnement de dev / build du thème Avion Template
   ==================================================================== */

.avion-maintenance-page {
  margin: 0;
  padding: 0;
  background: #2a00ff;
  color: #fff;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -0.5px;
  min-height: 100vh;
  /* Texture grain + dégradé subtil pour signer le côté "dev" */
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(180deg, #2a00ff 0%, #1a00bb 100%);
  background-size: 4px 4px, 100% 100%;
  background-attachment: fixed;
}

.avion-maintenance {
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* Hero : section principale, min 100vh, contenu strictement centré */
.avion-maintenance__hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 32px 20px;
}

/* Badge BUILD MODE en haut */
.avion-maintenance__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
}

.avion-maintenance__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff6b6b;
  box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.7);
  animation: avion-pulse 2s infinite;
}

@keyframes avion-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.6); }
  70%  { box-shadow: 0 0 0 8px rgba(255, 107, 107, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 107, 107, 0); }
}

.avion-maintenance__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  max-width: 640px;
  width: 100%;
}

.avion-maintenance__logo img {
  width: 96px;
  height: auto;
  display: block;
}

@keyframes rotate {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#rotating-image {
  animation: rotate 8s infinite linear;
}

.avion-maintenance__title {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 300;
  letter-spacing: -1.4px;
  margin: 0;
  line-height: 1.15;
}

.avion-maintenance__title span {
  display: block;
  font-size: 0.55em;
  opacity: 0.6;
  font-style: italic;
  font-weight: 300;
  margin-top: 8px;
  letter-spacing: -0.6px;
}

.avion-maintenance__lead {
  font-size: clamp(15px, 1.5vw, 17px);
  font-weight: 300;
  margin: 0;
  max-width: 540px;
  line-height: 1.55;
  opacity: 0.92;
}

.avion-maintenance__lead strong {
  font-weight: 500;
  letter-spacing: 0;
}

.avion-maintenance__cta {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
  margin-top: 4px;
}

.avion-maintenance__btn,
.avion-maintenance__btn:link,
.avion-maintenance__btn:visited {
  display: inline-block;
  padding: 14px 32px;
  background: #fff;
  color: #2a00ff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.3px;
  border-radius: 999px;
  transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
}

.avion-maintenance__btn span {
  opacity: 0.5;
  font-weight: 400;
  margin-left: 4px;
}

.avion-maintenance__btn:hover,
.avion-maintenance__btn:focus-visible {
  background: #000;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.2);
  outline: none;
}

.avion-maintenance__mail,
.avion-maintenance__mail:link,
.avion-maintenance__mail:visited {
  color: #fff;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: -0.3px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  padding-bottom: 1px;
  transition: border-color 0.15s ease, opacity 0.15s ease;
  opacity: 0.85;
}

.avion-maintenance__mail:hover,
.avion-maintenance__mail:focus-visible {
  border-color: #fff;
  opacity: 1;
  outline: none;
}

/* Hint "comment désactiver" */
.avion-maintenance__hint {
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: 11.5px;
  line-height: 1.55;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.65);
  background: rgba(0, 0, 0, 0.18);
  padding: 12px 18px;
  border-radius: 6px;
  margin: 12px 0 0;
  max-width: 540px;
  border: 1px dashed rgba(255, 255, 255, 0.2);
}

.avion-maintenance__hint em {
  color: #fff;
  font-style: normal;
  font-weight: 500;
  background: rgba(255, 255, 255, 0.1);
  padding: 1px 6px;
  border-radius: 3px;
}

/* Footer copyright : pastille monospace discrète, sous le hero */
.avion-maintenance__footer {
  display: flex;
  justify-content: center;
  padding: 28px 20px 40px;
}

.avion-maintenance__credit,
.avion-maintenance__credit:link,
.avion-maintenance__credit:visited {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: 11px;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.avion-maintenance__credit:hover,
.avion-maintenance__credit:focus-visible {
  color: rgba(255, 255, 255, 0.95);
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
  outline: none;
}

.avion-maintenance__credit-prefix {
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: -0.2px;
  opacity: 0.75;
}

.avion-maintenance__credit-name {
  font-weight: 500;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  position: relative;
}

.avion-maintenance__credit-name::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.avion-maintenance__credit:hover .avion-maintenance__credit-name::after,
.avion-maintenance__credit:focus-visible .avion-maintenance__credit-name::after {
  transform: scaleX(1);
}

.avion-maintenance__credit-arrow {
  display: inline-block;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  font-weight: 300;
  font-size: 13px;
  line-height: 1;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.avion-maintenance__credit:hover .avion-maintenance__credit-arrow,
.avion-maintenance__credit:focus-visible .avion-maintenance__credit-arrow {
  transform: translate(3px, -3px);
}

.avion-maintenance__credit-sep {
  opacity: 0.45;
}

.avion-maintenance__credit-year {
  letter-spacing: 0.6px;
  opacity: 0.7;
}

@media (prefers-reduced-motion: reduce) {
  #rotating-image,
  .avion-maintenance__dot {
    animation: none;
  }
}

@media (max-width: 540px) {
  .avion-maintenance__hint {
    font-size: 11px;
    padding: 10px 14px;
  }
  .avion-maintenance__badge {
    font-size: 10px;
    letter-spacing: 1px;
  }
}




/* ------------------------ animations effets --------------------------- */
/* non utile */
.effetbox {  
  margin: 50px;
  background: #ddd;
  padding: 30px; 
  border-radius: 30px;
}

.effetrelative {
  position: relative;
}

/* Add the pink line animation for all elements with .pink-line class */
.pink-line {
  display: block;
  position: absolute;
  /* z-index: -1; */
  top: 0;
  left: 0;
  /* width: 0; */
  right: 0;
  bottom: 0;
  /* height: 100%; */
  background: pink;
  animation: pinkLineAnimation 1s ease;
}

.grey-line {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ddd;
  animation: pinkLineAnimation 1s ease;
}

/* Define the pink line animation */
@keyframes pinkLineAnimation {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

/* Styles for the container element */
.effet1-container {
  position: relative;
}


/* premiere effet: fade in */
.effet1 {
  opacity: 0;
  transform: translateX(0px);
  transition: opacity 1s ease, transform 1s ease;
}

/* Add styles for effet6 */
.effet7 {
  opacity: 0;
  transform: translateX(0px);
  transition: opacity 1s ease, transform 1s ease;
}


/* premiere effet: fade in + right slide */
.effet2 {
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 1s ease, transform 1s ease;
}

/* Add styles for effet4 */
.effet4 {
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 1s ease, transform 1s ease;
  /* Additional styling as desired */
}

/* Add styles for effet8 */
.effet8 {
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 1s ease, transform 1s ease;
}


/* Add styles for effet3 */
.effet3 {
  opacity: 0;
  transform: rotate(0.5turn);
  transition: opacity 1s ease, transform 1s ease;
  /* Additional styling as desired */
}



/* Add styles for effet5 */
.effet5 {
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 1s ease, transform 1s ease;
  /* Additional styling as desired */
}

/* Add styles for effet6 */
.effet6 {
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 1s ease, transform 1s ease;
  /* Additional styling as desired */
}



/* Add styles for effet9 */
.effet9 {
  opacity: 0;
  transform: translateY(50%) translateX(-50%);
  transition: opacity 1s ease, transform 1s ease;
  /* Additional styling as desired */
}

/* Add styles for effet10 */
.effet10 {
  opacity: 0;
  animation: bounceIn 1s ease;
  /* Additional styling as desired */
}

@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    transform: translateY(0);
  }
  40%, 60% {
    transform: translateY(-30px);
  }
  20%, 80% {
    transform: translateY(-15px);
  }
}

/* premiere effet: demarre apres 1 seconde */
.timer1 {
  transition: 1s opacity 1s ease, 1s transform 1s ease;
}

.timer2 {
  transition: 4s opacity 1s ease, 4s transform 1s ease;
}


/* ====================================================================
   Setup Guide : page d'accueil de configuration affichée tant que le
   thème n'est pas configuré. Préfixe .avion-setup pour isoler.
   ==================================================================== */

.avion-setup-page {
  background: #f3f3f2;
  color: #252626;
  font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
  letter-spacing: -0.3px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  min-height: 100vh;
}

.avion-setup {
  max-width: 880px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}

/* En-tête */
.avion-setup__header {
  text-align: center;
  padding-bottom: 40px;
  border-bottom: 1px solid #252626;
  margin-bottom: 40px;
}

.avion-setup__logo {
  margin-bottom: 24px;
}

.avion-setup__logo img,
.avion-setup__logo .custom-logo {
  max-height: 80px;
  width: auto;
  margin: 0 auto;
  display: block;
}

.avion-setup__title {
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 500;
  margin: 0 0 16px;
  letter-spacing: -1px;
}

.avion-setup__intro {
  max-width: 620px;
  margin: 0 auto 24px;
  font-size: 16px;
  color: #555;
}

.avion-setup__intro code,
.avion-setup p code,
.avion-setup li code {
  background: #e8e8e7;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 0.9em;
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
}

.avion-setup__notice {
  display: inline-flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  background: #fff;
  border: 1px solid #252626;
  padding: 20px 28px;
  border-radius: 6px;
  margin-top: 16px;
}

/* Barre de progression */
.avion-setup__progress {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 28px;
  margin: 24px auto 0;
  background: #fff;
  border: 1px solid #252626;
  border-radius: 14px;
  overflow: hidden;
}

.avion-setup__progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  background: #252626;
  transition: width 0.4s ease;
}

.avion-setup__progress-label {
  position: relative;
  display: block;
  text-align: center;
  line-height: 28px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  mix-blend-mode: difference;
}

/* Sections */
.avion-setup__section {
  margin-bottom: 56px;
}

.avion-setup__section h2 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.5px;
  margin: 0 0 24px;
  padding-bottom: 8px;
  border-bottom: 1px solid #d6d6d5;
}

/* Liste checklist */
.avion-setup__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px;
}

.avion-setup__item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 16px;
  background: #fff;
  border: 1px solid #d6d6d5;
  border-radius: 8px;
  padding: 20px 24px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.avion-setup__item.is-done {
  border-color: #b6d8b8;
  background: #f4faf4;
}

.avion-setup__item.is-todo {
  border-color: #252626;
  box-shadow: 0 2px 0 #252626;
}

.avion-setup__item-status {
  font-size: 26px;
  line-height: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 4px;
  font-weight: 700;
}

.avion-setup__item.is-done .avion-setup__item-status {
  color: #2c8a3e;
}

.avion-setup__item.is-todo .avion-setup__item-status {
  color: #252626;
}

.avion-setup__item-body h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.4px;
}

.avion-setup__item-body p,
.avion-setup__item-body ol {
  margin: 0 0 10px;
  font-size: 15px;
}

.avion-setup__why,
.avion-setup__how {
  color: #444;
}

.avion-setup__why strong,
.avion-setup__how strong {
  color: #252626;
}

.avion-setup__sublist {
  padding-left: 22px;
  margin: 8px 0 12px;
}

.avion-setup__sublist li {
  margin-bottom: 6px;
}

/* Boutons */
.avion-setup__btn,
.avion-setup__btn:link,
.avion-setup__btn:visited {
  display: inline-block;
  background: #252626;
  color: #fff;
  text-decoration: none;
  padding: 10px 18px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 8px;
  margin-right: 8px;
  border: 1px solid #252626;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.avion-setup__btn:hover,
.avion-setup__btn:focus-visible {
  background: #000;
  color: #fff;
  outline: none;
}

.avion-setup__btn--ghost {
  background: transparent;
  color: #252626;
}

.avion-setup__btn--ghost:hover,
.avion-setup__btn--ghost:focus-visible {
  background: #252626;
  color: #fff;
}

.avion-setup__btn--small {
  padding: 6px 12px;
  font-size: 13px;
  margin-top: 0;
}

.avion-setup__btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

/* Cartes pages essentielles */
.avion-setup__pages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.avion-setup__page-card {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid #d6d6d5;
  border-radius: 6px;
  background: #fafafa;
}

.avion-setup__page-card.is-done {
  background: #f4faf4;
  border-color: #b6d8b8;
}

.avion-setup__page-status {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

.avion-setup__page-card.is-done .avion-setup__page-status {
  color: #2c8a3e;
}

.avion-setup__page-card.is-todo .avion-setup__page-status {
  color: #adadad;
}

.avion-setup__page-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
  min-width: 0;
}

.avion-setup__page-meta strong {
  font-weight: 500;
  letter-spacing: -0.3px;
}

.avion-setup__page-meta code {
  font-size: 11px;
  color: #555;
  background: transparent;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Listes pages publiées / articles */
.avion-setup__pages-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: grid;
  gap: 6px;
}

.avion-setup__pages-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #d6d6d5;
  border-radius: 4px;
}

.avion-setup__pages-list a {
  color: #252626;
  text-decoration: none;
  font-weight: 500;
}

.avion-setup__pages-list a:hover {
  text-decoration: underline;
}

.avion-setup__pages-list code {
  font-size: 12px;
  color: #777;
  background: #f3f3f2;
  padding: 2px 6px;
  border-radius: 3px;
}

.avion-setup__date {
  color: #888;
  font-size: 13px;
}

.avion-setup__edit-link {
  margin-left: auto;
  color: #555 !important;
  font-size: 13px;
  font-weight: 400 !important;
}

.avion-setup__edit-link:hover {
  color: #000 !important;
}

/* Tips */
.avion-setup__tips {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

.avion-setup__tips li {
  background: #fff;
  border-left: 3px solid #252626;
  padding: 12px 16px;
  border-radius: 0 4px 4px 0;
  font-size: 14px;
}

/* Footer */
.avion-setup__footer {
  text-align: center;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid #d6d6d5;
  font-size: 13px;
  padding: 20px;
  border-radius: 10px;
  color: #777;
}

.avion-setup__credit {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 11px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #999;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.avion-setup__credit:hover {
  opacity: 1;
}

.avion-setup__credit a,
.avion-setup__credit a:link,
.avion-setup__credit a:visited {
  color: #555;
  text-decoration: none;
  border-bottom: 1px dotted #aaa;
  padding-bottom: 1px;
}

.avion-setup__credit a:hover,
.avion-setup__credit a:focus-visible {
  color: #000;
  border-bottom-style: solid;
  outline: none;
}

@media (max-width: 600px) {
  .avion-setup {
    padding: 32px 16px 60px;
  }
  .avion-setup__item {
    grid-template-columns: 36px 1fr;
    padding: 16px 18px;
  }
  .avion-setup__item-status {
    font-size: 22px;
  }
}


/* ------------- accessibilité : texte caché visuellement mais lu par les lecteurs d'écran ------------- */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}


/* ==========================================================
   SOKA ARCHITECTURAL + HOTELLERIE — INTRO TILES
   Non-clickable only on unfiltered main catalogue pages
   ========================================================== */

/* Disable links for the two introductory products */
body:not(.tax-product_cat)
.woocommerce-archive-page-okok
ul.products > li.product:is(.post-1287, .post-1481) a {
    pointer-events: none !important;
    cursor: default !important;
}

/* Disable mirror animation for introductory images */
body:not(.tax-product_cat)
.woocommerce-archive-page-okok
ul.products > li.product:is(.post-1287, .post-1481)
.image-container-miror img {
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

/* ==========================================================
   MOBILE WIDTH / OVERFLOW / MENU FIX
   ========================================================== */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

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

    /* -------------------------------------------------------
       GLOBAL MOBILE WIDTH
       ------------------------------------------------------- */

    html,
    body,
    main {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    main,
    section {
        box-sizing: border-box;
    }


    /* -------------------------------------------------------
       MOBILE HEADER
       ------------------------------------------------------- */

    .mobile-menu {
        width: 100%;
        max-width: 100%;
        left: 0;
        right: 0;

        padding: 8px 12px;

        box-sizing: border-box;
    }

    .mobile-menu .navbar {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }


    /* -------------------------------------------------------
       MOBILE DROPDOWN MENU
       ------------------------------------------------------- */

    .navbar__menu {
        position: fixed;

        top: 0;
        right: -100%;

        width: 100%;
        max-width: 100%;

        min-height: 100vh;
        height: 100vh;

        padding: 60px 20px 20px;

        box-sizing: border-box;

        overflow-y: auto;
        overflow-x: hidden;

        background-color: #ddd;

        z-index: 1000;

        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;

        transition: right 0.35s ease;
    }

    .navbar__menu.right-open {
        right: 0;
    }


    /* Menu content actually uses whole panel */
    .navbar__menu .menu-principal {
        width: 100%;
    }

    .navbar__menu .menu-principal > ul {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .navbar__menu li {
        width: 100%;
        box-sizing: border-box;
    }

    .navbar__menu li a {
        width: 100%;
        box-sizing: border-box;
    }


    /* -------------------------------------------------------
       HOMEPAGE
       prevent Gutenberg/page content creating overflow
       ------------------------------------------------------- */

    .section-contenu-accueil2026 {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .section-contenu-accueil2026 > * {
        max-width: 100%;
        box-sizing: border-box;
    }

    .section-contenu-accueil2026 img,
    .section-contenu-accueil2026 video,
    .section-contenu-accueil2026 iframe {
        max-width: 100%;
    }
}
/* ==========================================================
   SOKA HOMEPAGE CLICKABLE IMAGE
   DESKTOP + MOBILE
   ========================================================== */

.soka-click-image {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.soka-click-image picture {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.soka-click-image img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}


/* ==========================================================
   ALL CLICKABLE AREAS
   ========================================================== */

.soka-click-image .soka-link {
    position: absolute;
    display: block;
    z-index: 10;
    cursor: pointer;
}


/* ==========================================================
   DESKTOP HOTSPOTS
   Based on horizontal desktop artwork
   ========================================================== */

/* Architectural — upper-right block */
.soka-click-image .soka-link.architectural {
    left: 50%;
    top: 0;
    width: 50%;
    height: 34%;
}


/* Hôtellerie — middle-right block */
.soka-click-image .soka-link.hotellerie {
    left: 50%;
    top: 35%;
    width: 50%;
    height: 31%;
}


/* Office — lower-right block */
.soka-click-image .soka-link.office {
    left: 50%;
    top: 69%;
    width: 50%;
    height: 32%;
}


/* ==========================================================
   MOBILE
   Based on vertical mobile artwork
   ========================================================== */

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

    .soka-click-image {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .soka-click-image picture,
    .soka-click-image img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
    }


    /* Architectural
       Starts around 27% down the vertical artwork */
    .soka-click-image .soka-link.architectural {
        left: 0;
        top: 33%;
        width: 100%;
        height: 23%;
    }


    /* Hôtellerie */
    .soka-click-image .soka-link.hotellerie {
        left: 0;
        top: 56%;
        width: 100%;
        height: 22%;
    }


    /* Office
       Entire lower section */
    .soka-click-image .soka-link.office {
        left: 0;
        top: 79%;
        width: 100%;
        height: 22%;
    }
}


/* ==========================================================
   HOMEPAGE — MENU / HERO CONNECTION
   No gap and hero starts directly below menu
   ========================================================== */

/* Desktop */
.avion-menu {
    position: sticky;
    top: 0;
}


/* Mobile */
@media screen and (max-width: 767px) {

    .mobile-menu {
        position: sticky;
        top: 0;
        left: 0;
        right: 0;
    }

    .section-contenu-accueil2026 {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .section-contenu-accueil2026 > *:first-child,
    .soka-click-image {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}
/* ==========================================================
   HOMEPAGE MOBILE — ALL CARDS IN 2 COLUMNS
   ========================================================== */

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

    .container-masonry {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 0 !important;

        position: relative !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Cancel MagicGrid positioning */
    .container-masonry article {
        position: relative !important;

        top: auto !important;
        left: auto !important;

        transform: none !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        grid-column: auto !important;

        box-sizing: border-box;
    }


    /* Image area */
    .container-masonry article .cover {
        width: 100% !important;

        height: auto !important;
        aspect-ratio: 1 / 1;

        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
    }


    /* Product / card title bar */
    .container-masonry article .articles-post_titre {
        width: 100% !important;

        height: auto !important;
        min-height: 38px;

        padding: 6px 7px !important;

        box-sizing: border-box;
    }


    /* Title */
    .container-masonry article .articles-post_titre h3 {
        font-size: 12px !important;
        line-height: 1.05 !important;
        letter-spacing: -0.3px !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Arrow */
    .container-masonry article .articles-post_titre svg {
        width: 22px !important;
        right: -28px !important;
        top: 2px !important;
    }
}

	/* Remove old header spacer */
.single-menu-space {
    display: none !important;
}



/* Keep archive title spacing compact */
.bigtitre_bloc {
    padding: 10px !important;
    margin: 0 !important;
}
	/* ==========================================================
   NEWSLETTER — DESKTOP + MOBILE
   ========================================================== */

.section-newsletter {
    width: 100%;
    box-sizing: border-box;
}

/* row containing text + button */
.section-newsletter_phrase {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;

    width: 100% !important;
    max-width: none !important;

    padding: 0 30px 40px !important;
    margin: 0 !important;

    box-sizing: border-box;
}

/* newsletter text */
.section-newsletter_phrase p {
    margin: 0 !important;

    font-size: 30px;
    line-height: 1.1;
    font-weight: 400;
}

/* button wrapper */
.newsletter-button {
    display: block !important;
    position: relative;
    margin-left: 30px;
    flex-shrink: 0;
}

/* actual button */
.newsletter-button a {
    display: inline-block !important;

    border: 1px solid #000 !important;
    padding: 12px 16px !important;

    color: #000 !important;
    background: transparent !important;

    font-size: 20px !important;
    font-weight: 300 !important;
    text-transform: uppercase;

    text-decoration: none !important;
}

/* hover */
.newsletter-button a:hover {
    background: #000 !important;
    color: #fff !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

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

    .section-newsletter_phrase {
        flex-direction: column !important;
        align-items: flex-start !important;

        width: 100% !important;

        padding: 0 20px 40px !important;
    }

    .section-newsletter_phrase p {
        margin: 0 0 20px 0 !important;

        font-size: 20px !important;
        line-height: 1.1 !important;
    }

    .newsletter-button {
        display: block !important;
        margin: 0 !important;
    }

    .newsletter-button a {
        display: inline-block !important;
        font-size: 16px !important;
        padding: 10px 12px !important;
    }
}
	/* Keep title/text spacing, but make project imagery full width */
.section-page_content {
    max-width: none !important;
    padding: 0 !important;
}

.section-page_content .wp-block-columns,
.section-page_content .wp-block-gallery,
.section-page_content figure {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* ==========================================
   SOKA - AVION GALLERY FULL BLEED
   Desktop and Mobile
   ========================================== */

/* Keep normal article layout */
body.single-post .section-single_text:has(
    .avion-galerie.fullwidth-gallery
) {
    width: 100% !important;
    max-width: none !important;
}

/* Full viewport gallery */
body.single-post .section-single_text
.avion-galerie.fullwidth-gallery {
    display: block !important;
    position: relative !important;

    width: 100vw !important;
    max-width: none !important;

    /* Offset based on viewport position */
    left: 0 !important;
    right: auto !important;
    transform: none !important;

    margin: 0 !important;
    padding: 0 !important;

    /*
     * Move the gallery left past the
     * article's 20px internal spacing.
     */
    translate: -20px 0 !important;
}

/* Gallery grid */
body.single-post .fullwidth-gallery
.avion-galerie__grid {
    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    width: 100% !important;
    max-width: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Gallery items */
body.single-post .fullwidth-gallery
.avion-galerie__item {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

/* Figure and image */
body.single-post .fullwidth-gallery
.avion-galerie__figure {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}

body.single-post .fullwidth-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Mobile */
@media (max-width: 767px) {
    body.single-post .fullwidth-gallery
    .avion-galerie__grid {
        grid-template-columns: 1fr !important;
    }
}

/* SOKA - AVION GALLERY: VERIFIED ALIGNMENT */

body.single-post .section-single_text > 
.avion-galerie.fullwidth-gallery {
    translate: -20px 0 !important;
}

body.single-post
.section-single_text
.avion-galerie.fullwidth-gallery {
    translate: -20px 0 !important;
}

/* FIRST PRODUCT TILE — SQUARE IMAGE FIX */
/* SOKA Architectural + SOKA Hotellerie */

.woocommerce-archive-page-okok
ul.products > li.product:first-of-type
.image-container-miror {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    overflow: hidden !important;
}

.woocommerce-archive-page-okok
ul.products > li.product:first-of-type
.image-container-miror img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    margin: 0 !important;
}

/* ==========================================================
   SOKA — PRODUCT DESCRIPTIONS ALWAYS BLACK
   Override manually assigned text colours
   ========================================================== */

.single-product .section-single_text-maindescription,
.single-product .section-single_text-maindescription * {
    color: #000000 !important;
}



/* SOKA ARCHITECTURAL & HOTELLERIE
   Hide first product title on PAGE 1 ONLY
   Works in FR and EN */

body.term-soka-architectural:not(.paged)
ul.products li.product:first-child
.woocommerce-loop-product__title,

body.term-soka-hotellerie:not(.paged)
ul.products li.product:first-child
.woocommerce-loop-product__title {
    display: none !important;
}


/* ============================================
   SOKA — PRODUCT PAGE TYPOGRAPHY SYSTEM
   FR + EN | DESKTOP + MOBILE
   ============================================ */

/* General typography */
.single-product .section-product,
.single-product .section-single_produit-under-content_box {
    font-family: 'HelveticaNeueETPro', Helvetica, Arial, sans-serif;
    letter-spacing: -0.2px;
    font-weight: 400;
    line-height: 1.5;
}

/* Main product description */
.single-product .section-single_text-maindescription {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: -0.2px;
}

/* Product title H1 */
.single-product .section-single_text-maindescription h1 {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.6px;
    margin: 0 0 12px;
    padding: 0;
}

/* Section headings H2 / H3 */
.single-product .section-single_text-maindescription h2,
.single-product .section-single_text-maindescription h3,
.single-product .section-single_produit-under-content_box h2,
.single-product .section-single_produit-under-content_box h3 {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.2px;
    margin: 18px 0 6px;
    padding: 0;
}

/* Standard paragraphs */
.single-product .section-single_text-maindescription p,
.single-product .section-single_produit-under-content_box p {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.2px;
    padding: 0;
    margin: 0 0 12px;
}

/* Subtitle beneath product name */
.single-product .section-single_text-maindescription
p.product-subtitle {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 20px;
}

/* Bold text within descriptions */
.single-product .section-single_text-maindescription strong,
.single-product .section-single_produit-under-content_box strong {
    font-weight: 700;
}

/* Lower product description section */
.single-product .section-single_produit-under-content_box {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: -0.2px;
}

/* Consistent paragraph spacing */
.single-product .section-single_text-maindescription p:last-child,
.single-product .section-single_produit-under-content_box p:last-child {
    margin-bottom: 0;
}

/* Mobile */
@media screen and (max-width: 768px) {

    .single-product .section-single_text-maindescription h1 {
        font-size: 22px;
    }

    .single-product .section-single_text-maindescription h2,
    .single-product .section-single_text-maindescription h3,
    .single-product .section-single_produit-under-content_box h2,
    .single-product .section-single_produit-under-content_box h3 {
        font-size: 14px;
    }

    .single-product .section-single_text-maindescription p,
    .single-product .section-single_produit-under-content_box p {
        font-size: 13px;
        line-height: 1.5;
    }
}



/* =========================================
   SOKA CONTACT — FINAL LAYOUT
   ========================================= */

/* Contact page container */
.container-single.soka-contact-page {
    padding: 80px 24px 110px !important;
    min-height: 55vh;
}

/* Hide Contact title */
.soka-contact-page .section-titre {
    display: none !important;
}

/* Center the content region */
.soka-contact-page .section-page {
    width: 100%;
    padding: 0 !important;
    display: flex;
    align-items: center;
}

/* Text column */
.soka-contact-page .section-page_content {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box;
}

/* Contact text */
.soka-contact-page .section-page_content p {
    font-family: 'HelveticaNeueETPro',
                 Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: -0.3px;
    padding: 0 !important;
    margin: 0 0 34px !important;
}

/* Strong labels */
.soka-contact-page .section-page_content strong {
    font-weight: 700;
}

/* Links */
.soka-contact-page .section-page_content a {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Mobile */
@media (max-width: 768px) {
    .container-single.soka-contact-page {
        padding: 48px 20px 70px !important;
        min-height: auto;
    }

    .soka-contact-page .section-page_content p {
        font-size: 16px;
        margin-bottom: 28px !important;
    }
}



/* SOKA - Hide collection title text only */

body.term-soka-architectural h1.bigtitre,
body.term-soka-hotellerie h1.bigtitre {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}


/* =========================================
   SOKA - SEARCH RESULTS
   CLEAN FINAL LAYOUT
   ========================================= */

/* Main search page */
body.search main.soka-search-page {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 60vh;

    background: rgb(224, 225, 227);

    position: relative;
    margin: 0;
    padding: 20px calc(10px + 5%) 80px;
    box-sizing: border-box;
}

/* Search form above products */
body.search .soka-search-top {
    display: block;
    position: static;
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
}

body.search .soka-search-top .searchform {
    position: static;
    width: 100%;
}

body.search .soka-search-top form {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    width: 100%;
    margin: 0;
}

/* Search input */
body.search .soka-search-top input[type="search"] {
    width: 250px;
    max-width: 100%;
    min-width: 0;
}

/* Search button */
body.search .soka-search-top input[type="submit"] {
    width: auto;
    flex-shrink: 0;
    cursor: pointer;
}

/* Four-column desktop grid */
body.search .soka-search-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 26px;
    row-gap: 35px;
    width: 100%;
}

/* Individual product */
body.search .soka-search-product {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}

/* Product links */
body.search .soka-search-product > a {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-decoration: none;
    color: #000;
}

/* Product image */
body.search .soka-search-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid #000;
}

body.search .soka-search-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Product title */
body.search .soka-search-product-title {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.2;
    margin: 8px 0 0;
    padding: 0;
    text-align: left;
}

/* Pagination */
body.search .soka-search-pagination {
    width: 100%;
    margin-top: 40px;
}

/* Tablet - 2 columns */
@media (min-width: 600px) and (max-width: 1023px) {
    body.search .soka-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 16px;
    }
}

/* Mobile - 2 columns */
@media (max-width: 599px) {
    body.search main.soka-search-page {
        padding: 20px 16px 60px;
    }

    body.search .soka-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 12px;
    }

    body.search .soka-search-product-title {
        font-size: 18px;
    }

    body.search .soka-search-top input[type="search"] {
        flex: 1 1 auto;
        width: 100%;
    }
}

/* =========================================
   SOKA - GLOBAL NAVIGATION POSITION
   ALL PAGES - DESKTOP + MOBILE
   ========================================= */

/* Desktop navigation */
@media screen and (min-width: 768px) {

    body header.avion-menu {
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1001 !important;
    }

}

/* Mobile navigation */
@media screen and (max-width: 767px) {

    body header.mobile-menu {
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1001 !important;
    }

}

/* Eliminate obsolete spacer elements */
.single-menu-space {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}


