@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4TC0C4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4bC1C4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4W61C4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4TC1C4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4QK1C4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4e6yC4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4deyC4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4bCyC4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/outfit/v15/QGYyz_MVcBeNP4NjuGObqx1XmO1I4ZmyC4E.ttf) format('truetype');
}
@font-face {
  font-family: 'Bad Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/badscript/v18/6NUT8F6PJgbFWQn47_x7lOw.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq6R8aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jqyR9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq_p9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq6R9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq5Z9aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq3p6aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jq0N6aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jqyR6aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUFjIg1_i6t8kCHKm459Wx7xQYXK0vOoz6jqw16aX8.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Uw-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCs16Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtZ6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCu170w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvr70w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvC70w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiAyp8kv8JHgFVrJJLmE3tF.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmv1plEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm21llEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLedw.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmg1hlEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmr19lEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15lEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm111lEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm81xlEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrLPTedw.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLFj_V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrFJA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDD4V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLBT5V1s.ttf) format('truetype');
}
/*--------------------------------------------------------------
01. WP Admin Bar & Main
--------------------------------------------------------------*/
body.logged-in #wpadminbar {
  top: -32px;
}
main {
  position: relative;
  z-index: 2;
}
/*--------------------------------------------------------------
02. Light Mode - Header
--------------------------------------------------------------*/
body.light .header__area {
  position: relative !important;
  border-bottom: 1px solid #DDD;
  background-color: #FFF !important;
  z-index: 9;
}
body.light .header__area .main-menu ul.dp-menu {
  border: 1px solid #DDD;
  background: #FFF;
}
/*--------------------------------------------------------------
03. Home - Header Gradient
--------------------------------------------------------------*/
.home header {
  background: #134485;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(19, 68, 133, 0) 100%);
}
/*--------------------------------------------------------------
04. Language Switcher
--------------------------------------------------------------*/
.custom-lang-switcher {
  display: inline;
  position: relative;
  top: 2px;
}
/* Conteneur principal */
.lang-dropdown {
  position: relative;
  display: inline-block;
}
/* Bouton principal (langue active) */
.lang-dropbtn {
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
}
.lang-dropbtn img {
  width: 24px;
  border-radius: 3px;
}
body.home .lang-dropbtn .arrow {
  color: white;
}
.lang-dropbtn .arrow {
  color: var(--primary);
  font-size: 12px;
}
/* Fenêtre déroulante */
.lang-dropdown-content {
  display: none;
  position: absolute;
  right: 0px;
  background-color: #FFF;
  min-width: 160px;
  border-radius: 0.25rem;
  overflow: hidden;
  z-index: 999;
  border: 1px solid #EEE;
}
/* Liens à l'intérieur */
.lang-dropdown-content a {
  color: #a2a3b7;
  /* Texte gris clair */
  padding: 12px 16px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: sans-serif;
  font-size: 14px;
  transition: background 0.2s;
}
.lang-dropdown-content a img {
  width: 18px;
  border-radius: 3px;
}
/* Hover : changement de couleur */
.lang-dropdown-content a:hover {
  background-color: var(--primary);
  color: #FFF;
}
/* Affichage au survol du conteneur */
.lang-dropdown:hover .lang-dropdown-content {
  display: block;
}
/*--------------------------------------------------------------
05. Offcanvas Overrides
--------------------------------------------------------------*/
@media screen and (min-width: 1200px) {
  .open-offcanvas {
    display: none;
  }
}
.offcanvas-3__menu-wrapper {
  margin-top: 50px;
}
.close-offcanvas {
  position: absolute;
  top: 15px;
  right: 15px;
}
@media screen and (max-width: 991px) {
  .offcanvas-3__area {
    padding-bottom: 30px;
  }
  .offcanvas-3__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
  }
  .offcanvas-3__menu {
    height: auto;
    overflow-y: visible;
    overflow-x: visible;
  }
  .offcanvas-3__menu-wrapper {
    flex-shrink: 0;
  }
  .offcanvas-3__meta {
    margin-top: auto;
  }
}
.offcanvas-3__meta {
  opacity: 1;
  visibility: visible;
  top: 0px;
  margin-top: 100px;
  background: rgba(255, 255, 255, 0.075);
  padding: 30px;
  border-radius: 0.5rem;
  position: relative;
  margin-bottom: 0;
}
.offcanvas-3__meta a {
  color: #FFF;
  line-height: 24px;
}
.offcanvas-3__meta img {
  position: absolute;
  width: 80px;
  top: -25px;
  right: 30px;
}
.offcanvas-3__meta ul li:first-child {
  font-weight: bold;
  font-size: 18px;
}
.offcanvas-3__meta ul li:first-child a {
  text-decoration: none;
}
.offcanvas-3__meta ul li {
  font-size: 14px;
}
.offcanvas-3__meta ul li br {
  display: block;
}
/*--------------------------------------------------------------
01. Footer Logo
--------------------------------------------------------------*/
.footer-logo {
  position: relative;
  top: 0;
  left: 0;
  font-size: 4em;
  font-family: inherit;
  font-weight: 400;
  color: #FFF;
  background: #0c2444;
  text-align: center;
  line-height: 1em;
  z-index: 2;
  padding-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .footer-logo {
    text-align: left;
    padding-bottom: 25px;
  }
}
.footer-logo img {
  width: 260px;
}
@media screen and (max-width: 768px) {
  .footer-logo img {
    width: 180px;
  }
}
.bloop {
  display: inline-block;
  width: 50px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0 8px;
  border-radius: 3px;
  margin-left: 5px;
  margin-top: 0;
}
.bloop img {
  filter: brightness(1) invert(1);
}
.bloop:hover {
  background: rgba(255, 255, 255, 0.1);
}
.grecaptcha-badge {
  display: none!important;
}
/*--------------------------------------------------------------
01. CTA Block
--------------------------------------------------------------*/
.cta-block_item {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  display: flex;
  min-height: 400px;
  align-items: flex-end;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .cta-block_item {
    margin-bottom: 30px;
    min-height: 280px;
  }
  .cta-block_item h2 {
    font-size: 26px;
  }
  .cta-block_item p {
    font-size: 14px;
    line-height: 24px;
  }
}
.cta-block_item .cta-block_item-overlay {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: var(--primary);
  opacity: 0.5;
  transition: 0.5s;
}
.cta-block_item:hover .cta-block_item-overlay {
  opacity: 0.8;
}
.cta-block_item .cta-block_item-content {
  padding: 50px;
  position: relative;
  z-index: 3;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .cta-block_item .cta-block_item-content {
    padding: 1.5rem;
    min-height: 340px;
  }
}
.cta-block_item .cta-block_item-content h2,
.cta-block_item .cta-block_item-content h3,
.cta-block_item .cta-block_item-content p {
  color: #FFF;
}
.cta-block_item .cta-block_item-content .cta-block_item-title {
  font-family: var(--font_primary);
}
.cta-block_item .wc-btn-primary {
  margin-top: 30px;
}
/*--------------------------------------------------------------
02. Page Title Area
--------------------------------------------------------------*/
.fe-page-title__area #breadcrumbs {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-left: -10px;
  padding: 0;
  display: inline-block;
  margin-bottom: 30px;
  border-radius: 5px;
}
.fe-page-title__area #breadcrumbs a {
  color: #C3EEFA !important;
  border-bottom: 1px solid;
}
.fe-page-title__area #breadcrumbs span span {
  margin: 0 10px;
}
.fe-page-title__area #breadcrumbs span span.breadcrumbs_last {
  opacity: 0.5;
}
/*--------------------------------------------------------------
03. Page Title (Small)
--------------------------------------------------------------*/
.fe-page-title__small-area {
  margin: 80px 0;
}
@media screen and (max-width: 768px) {
  .fe-page-title__small-area {
    margin: 40px 0;
  }
}
.fe-page-title__small-area .fe-page-title__inner {
  display: block;
}
@media screen and (min-width: 768px) {
  .fe-page-title__small-area:after {
    content: "";
    background-image: url(https://frais-embal.fr/img/bg/wave-gradient_blue.png);
    background-repeat: no-repeat;
    background-position: top left;
    left: 0;
    top: 0;
    width: 60%;
    height: 300px;
    background-size: cover;
    position: absolute;
  }
}
.fe-page-title__small-area #breadcrumbs {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-left: -10px;
  padding: 0;
  display: inline-block;
  margin-bottom: 30px;
  border-radius: 5px;
}
.fe-page-title__small-area #breadcrumbs a {
  color: var(--primary);
  border-bottom: 1px solid;
}
.fe-page-title__small-area #breadcrumbs span {
  color: var(--primary);
}
.fe-page-title__small-area #breadcrumbs span span {
  margin: 0 10px;
  color: var(--primary);
}
.fe-page-title__small-area #breadcrumbs span span.breadcrumbs_last {
  opacity: 0.5;
}
.fe-page-title__small-area .fe-page-title__inner {
  position: relative;
  z-index: 9;
}
.fe-page-title__small-area h1 {
  color: var(--primarydark) !important;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 42px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .fe-page-title__small-area h1 {
    font-size: 30px;
  }
}
.fe-page-title__small-area p {
  color: var(--primarydark) !important;
  max-width: 690px;
}
/*--------------------------------------------------------------
04. Category Item
--------------------------------------------------------------*/
.category-item:hover:after {
  transition: 0.2s;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}
.category-item:hover .category-item-content img {
  max-width: 300px;
  transition: 0.2s;
}
.category-item .category-item-content {
  padding: 75px 50px;
  position: relative;
  z-index: 3;
  min-height: 530px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  border-radius: 0.75rem;
  background: var(--primarydark);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .category-item .category-item-content {
    min-height: 340px;
    margin-bottom: 30px;
  }
}
.category-item .category-item-content img {
  max-width: 290px;
  margin-bottom: 50px;
  position: absolute;
  right: -50px;
  top: -50px;
  z-index: 9;
  transition: 0.2s;
}
@media screen and (max-width: 768px) {
  .category-item .category-item-content img {
    max-width: 190px;
  }
}
.category-item .category-item-img {
  position: relative;
}
.category-item .category-item-title {
  font-size: 42px;
  color: #FFF !important;
  margin-bottom: 15px;
  position: relative;
  font-weight: 300;
  line-height: 48px;
}
@media screen and (max-width: 768px) {
  .category-item .category-item-title {
    font-size: 32px;
    line-height: 38px;
  }
  .category-item .category-item-title span {
    font-size: 16px;
  }
}
.category-item .category-item-title span {
  font-weight: bold;
  display: block;
  font-size: 22px;
}
.category-item .category-item-link {
  color: #FFF;
  border-bottom: 1px solid;
  opacity: 0.75;
  z-index: 9;
}
/*--------------------------------------------------------------
05. Main Content
--------------------------------------------------------------*/
.fe-main-content .fe-main-content_content {
  position: relative;
  border-radius: var(--bs-border-radius) !important;
}
@media screen and (min-width: 768px) {
  .fe-main-content .fe-main-content_content {
    margin-top: -50px !important;
  }
}
@media screen and (max-width: 768px) {
  .fe-main-content .fe-main-content_content {
    margin: 0 -15px;
    padding: 3rem 1.5rem !important;
    border-radius: 0;
  }
}
/*--------------------------------------------------------------
06. Pagination
--------------------------------------------------------------*/
.wp-pagenavi {
  text-align: center;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #DDD;
}
.wp-pagenavi span.pages {
  border: none;
  color: #888;
  padding: 10px 30px 10px 0;
  margin-right: 30px;
  border-right: 1px solid #DDD;
}
.wp-pagenavi span.current {
  width: 40px;
  display: inline-block;
  height: 40px;
  border-radius: 50px;
  text-align: center;
  line-height: 30px;
  background: var(--primarydark);
  border-color: var(--primarydark);
  color: #FFF;
}
.wp-pagenavi a.page,
.wp-pagenavi a.nextpostslink {
  width: 40px;
  display: inline-block;
  height: 40px;
  border-radius: 50px;
  text-align: center;
  line-height: 30px;
  background: transparent;
  border-color: var(--primarydark);
  color: var(--primarydark);
}
/*--------------------------------------------------------------
07. Search Form
--------------------------------------------------------------*/
form[role="search"] {
  display: flex;
  align-items: center;
  background: #FFF;
  border-radius: 0.75rem;
  margin-bottom: 30px;
}
form[role="search"] input[type="search"] {
  flex: 1;
  min-width: 0;
  border: none;
  padding: 25px;
}
@media screen and (max-width: 768px) {
  button[type="submit"].info-search__area-btn {
    position: relative;
    right: 30px;
  }
}
/*--------------------------------------------------------------
08. Contact Block
--------------------------------------------------------------*/
.contact-block {
  background: #FFF;
  border-radius: 0.5rem;
  color: var(--primary) !important;
  position: relative;
  min-height: 320px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .contact-block {
    min-height: 200px;
    padding: 20px;
  }
}
.contact-block > span {
  flex-direction: column;
  justify-content: flex-end;
  display: flex;
  justify-content: space-between;
  min-height: 260px;
}
.contact-block .contact-block_title {
  font-weight: 600;
  font-size: 22px;
  margin-bottom: 15px;
}
.contact-block .contact-block_value {
  font-weight: 600;
  margin-top: 20px;
  font-size: 16px;
  color: #5aa0cd;
}
.contact-block .contact-block_value i {
  font-size: 20px;
  top: 2px;
  position: relative;
  margin-left: 10px;
  transition: 0.2s;
}
.contact-block p {
  font-size: 14px;
}
.contact-block i {
  font-size: 42px;
  color: #5aa0cd;
}
@media screen and (max-width: 768px) {
  .contact-block i {
    font-size: 32px;
  }
}
.contact-block:hover .contact-block_value i {
  margin-left: 15px;
  transition: 0.2s;
}
/*--------------------------------------------------------------
09. Image Container
--------------------------------------------------------------*/
.image-container {
  position: relative;
  overflow: hidden;
  background-size: cover;
  /* L'image couvre toute la div */
  background-position: center;
  /* Centre l'image */
  background-repeat: no-repeat;
}
.image-container-right {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}
/*--------------------------------------------------------------
10. Page Sidebar Second
--------------------------------------------------------------*/
.page-sidebar_second .fe-main-content_sidebar {
  margin-top: 0!important;
}
.page-sidebar_second .fe-main-content_sidebar .sidebar-widget_contact {
  margin-top: 0!important;
}
.fe-main-content_content.page-content_second {
  margin-top: 0!important;
}
/*--------------------------------------------------------------
11. Page Pretitle
--------------------------------------------------------------*/
.fe-page-pretitle {
  color: #5aa0cd;
  font-size: 22px;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .fe-page-pretitle {
    font-size: 18px;
  }
}
/*--------------------------------------------------------------
12. Magnific Popup - Lightbox
--------------------------------------------------------------*/
/* Fond de la lightbox */
.mfp-bg {
  background: rgba(0, 0, 0, 0.92) !important;
  opacity: 1 !important;
}
/* Container principal */
.mfp-wrap {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.mfp-container {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mfp-content {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 80vw !important;
  max-height: 80vh !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto !important;
}
/* Figure avec fond blanc */
.mfp-figure {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  padding: 40px !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  max-width: 80vw !important;
  max-height: 80vh !important;
  margin: 0 !important;
}
.mfp-figure:after {
  display: none !important;
}
/* L'image elle-même */
.mfp-img {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  max-width: calc(80vw - 80px) !important;
  max-height: calc(80vh - 80px) !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 0 !important;
  box-sizing: border-box !important;
}
/* Bouton fermer */
.mfp-close {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  color: #fff !important;
  background: rgba(0, 0, 0, 0.5) !important;
  border-radius: 50% !important;
  font-size: 32px !important;
  opacity: 1 !important;
  cursor: pointer !important;
  z-index: 9999 !important;
  transition: all 0.3s ease !important;
}
.mfp-close:hover {
  background: rgba(0, 0, 0, 0.8) !important;
  transform: rotate(90deg) !important;
}
/* Flèches de navigation */
.mfp-arrow {
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 60px !important;
  height: 60px !important;
  opacity: 1 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
}
.mfp-arrow:hover {
  background: rgba(0, 0, 0, 0.8) !important;
}
.mfp-arrow:before {
  display: none !important;
}
.mfp-arrow:after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 12px !important;
  height: 12px !important;
  border-top: 3px solid #fff !important;
  border-right: 3px solid #fff !important;
  border-left: none !important;
  border-bottom: none !important;
}
.mfp-arrow-left {
  left: 30px !important;
}
.mfp-arrow-left:after {
  transform: translate(-25%, -50%) rotate(-135deg) !important;
}
.mfp-arrow-right {
  right: 30px !important;
}
.mfp-arrow-right:after {
  transform: translate(-75%, -50%) rotate(45deg) !important;
}
/* Compteur */
.mfp-counter {
  position: fixed !important;
  top: 20px !important;
  left: 20px !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  z-index: 9999 !important;
}
/* Animation fade */
.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 1;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: all 0.3s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/* Responsive mobile */
@media screen and (max-width: 768px) {
  .mfp-figure {
    padding: 20px !important;
  }
  .mfp-img {
    max-width: calc(80vw - 40px) !important;
    max-height: calc(80vh - 40px) !important;
  }
  .mfp-arrow {
    width: 50px !important;
    height: 50px !important;
  }
  .mfp-arrow-left {
    left: 15px !important;
  }
  .mfp-arrow-right {
    right: 15px !important;
  }
  .mfp-close {
    top: 10px !important;
    right: 10px !important;
  }
  .mfp-counter {
    top: 10px !important;
    left: 10px !important;
    font-size: 14px !important;
  }
}
/*--------------------------------------------------------------
01. Product Single - Background
--------------------------------------------------------------*/
.product-single_bg {
  background-image: url(https://frais-embal.fr/img/bg/sea.jpg);
  height: 300px;
  position: relative;
  background-position: bottom center;
  background-size: cover;
}
/*--------------------------------------------------------------
02. Wave Container
--------------------------------------------------------------*/
.wave-container {
  height: 100%;
  bottom: 0;
  position: absolute;
  z-index: 9;
  width: 100%;
}
.wave-container::before {
  content: "";
  width: 100%;
  height: 95px;
  position: absolute;
  bottom: -0.3%;
  left: 0;
  background-size: auto;
  background-repeat: repeat no-repeat;
  background-position: 20vw bottom;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 1200  80' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 59L50 55C100 51 200 44 300 30C400 15 500 -6 600 1C700 8 800 44 900 59C1000 73 1100 66 1150 62L1200 59V80H1150C1100 80 1000 80 900 80C800 80 700 80 600 80C500 80 400 80 300 80C200 80 100 80 50 80H0V59Z' fill='%23F7F9FB'/></svg>");
}
@media (max-width: 850px) {
  .wave-container::before {
    height: 47.5px;
  }
}
/*--------------------------------------------------------------
03. Product Single - Header & Breadcrumbs
--------------------------------------------------------------*/
.product-single {
  border-bottom: 1px solid #DDD;
}
.product-single h1 {
  font-weight: bold;
  margin-bottom: 15px;
  color: var(--primary) !important;
}
.product-single #breadcrumbs {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-left: -10px;
  padding: 0;
  display: inline-block;
  margin-bottom: 30px;
  border-radius: 5px;
  color: #9cb5d7 !important;
}
.product-single #breadcrumbs a {
  color: var(--primary) !important;
  border-bottom: 1px solid;
}
.product-single #breadcrumbs span span {
  margin: 0 10px;
}
.product-single #breadcrumbs span span.breadcrumbs_last {
  opacity: 0.5;
}
.product-single .product-single_head {
  padding: 80px 0;
  position: relative;
  background-image: url(https://frais-embal.fr/img/bg/wave-gradient_blue.png);
  background-size: auto 260px;
  background-repeat: no-repeat;
  background-position: top left;
  z-index: 999;
}
.product-single .product-single_head .product-heading {
  position: relative;
  z-index: 9;
  text-align: center;
  margin-top: 50px;
  color: var(--primary);
}
.product-single .product-single_head .product-heading h1 {
  color: #324f87 !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 42px;
  margin-top: 30px;
}
.product-single .product-single_head .product-heading img {
  max-width: 800px;
  margin: auto;
  position: relative;
  z-index: 9;
  display: block;
}
.product-single .product-single_head .product-heading p {
  font-size: 16px;
  margin: auto;
  max-width: 960px;
}
.product-single .product-single_head .product-heading .product-heading_img:after {
  content: '';
  width: 1200px;
  height: 1200px;
  background: radial-gradient(circle, #324f87 0%, rgba(50, 79, 135, 0) 50%);
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  margin: auto;
  opacity: 0.2;
  bottom: 0;
}
.product-single .product-single_head .product-heading .product-heading__left {
  padding-bottom: 50px;
}
.product-single .product-single_head .product-heading .product-heading__left p.description {
  color: #FFF;
  font-size: 16px;
  margin-top: 15px;
}
.product-single .product-single_head .product-heading #breadcrumbs a {
  color: var(--primary) !important;
}
.product-single .product-single_content {
  position: relative;
  z-index: 9;
}
.product-single .product-single_content .product-content_box {
  background: #FFF;
  padding: 30px;
}
.product-single .product-single_content .product-content_box h4 {
  font-weight: bold;
  margin-bottom: 15px;
}
.product-single .product-single_content .product-content_box h4 i {
  color: #4085c4;
  margin-right: 10px;
  position: relative;
  top: 2px;
}
.product-single .product-single_content .product-content_box.product-content_buy {
  background: var(--purple-4);
  display: flex;
  align-items: center;
}
.product-single .product-single_content .product-content_box.product-content_buy img {
  max-width: 250px;
}
.product-single .product-single_content .product-content_box.product-content_buy h4,
.product-single .product-single_content .product-content_box.product-content_buy p {
  color: #FFF;
}
.product-single .product-single_content .product-content_box.product-content_buy a {
  margin-top: 15px;
  background: #4085c4;
}
.product-single .product-single_content .product-content__left .title {
  color: var(--primary) !important;
  font-family: "Bad Script", cursive;
  font-weight: 800;
  font-style: normal;
  font-size: 32px;
  margin-bottom: 30px;
}
.product-single .product-single_content .product-single__main-content {
  background: #FFF;
  padding: 100px 50px 100px 0;
  margin-top: -50px;
  position: relative;
  z-index: 9;
}
@media screen and (max-width: 768px) {
  .product-single .product-single_content .product-single__main-content {
    padding: 40px 15px;
    margin-top: 0;
  }
}
.product-single .product-single_content .product-single__main-content:before {
  content: '';
  position: absolute;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #FFF;
  z-index: 9;
  top: 0;
}
.product-single .product-single_labels {
  margin-left: -15px;
}
.product-single .product-single_labels li {
  width: calc(33% - 15px);
  display: inline-block;
  border: 1px solid #DDD;
  margin-left: 15px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .product-single .product-single_labels li {
    width: calc(50% - 15px);
  }
}
.product-single .product-single_labels li img {
  width: 100%;
  max-width: 130px;
  margin: auto;
  display: block;
}
.product-single .product-single_labels li p {
  font-size: 13px;
  border-top: 1px solid #DDD;
  padding: 10px;
  text-align: center;
}
/*--------------------------------------------------------------
04. Product Single - Description & Attributes
--------------------------------------------------------------*/
.product-single_description {
  font-size: 14px !important;
  padding-right: 50px;
  border-right: 1px solid #DDD;
  margin-right: 50px;
  height: 100%;
}
.label-btn {
  display: inline-block;
}
.product-single_contact {
  font-size: 14px;
  color: var(--primarydark) !important;
}
.product-single_contact span {
  color: var(--primary);
  border-bottom: 1px solid;
}
.table-valeurs td {
  padding: 10px 0 !important;
  font-weight: 300;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/*--------------------------------------------------------------
05. Product Single - Swiper & Thumbnails
--------------------------------------------------------------*/
.swiper-slide img {
  border-radius: 6px;
}
.swiper-thumbnail {
  width: 135px;
  height: 135px;
  background-size: cover;
  background-position: center;
  filter: brightness(0.98);
  margin-top: 10px;
  border-radius: 6px;
}
.swiper-thumbnail:hover {
  cursor: pointer;
}
.product-back {
  position: absolute;
  z-index: 9;
  top: 30px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
  padding: 7px 15px;
  border-radius: 4px;
  font-size: 14px;
}
/*--------------------------------------------------------------
06. Body Tax Gammes
--------------------------------------------------------------*/
body.tax-gammes main:after {
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
  content: '';
  position: absolute;
  right: -50px;
  top: -50px;
  width: 390px;
  height: 390px;
  z-index: -1;
}
/*--------------------------------------------------------------
07. Single Product - Head
--------------------------------------------------------------*/
.single-product .single-product_head {
  padding: 10rem 0 13rem;
  background: var(--primary);
  background: url(https://frais-embal.fr/img/bg/wave-gradient.png), var(--primary);
  background-repeat: no-repeat;
  background-position: top left;
  background-size: auto 300px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head {
    padding: 5rem 0 8rem;
    background: var(--primary);
    padding-bottom: 260px;
  }
}
.single-product .single-product_head .single-product_head-img {
  position: absolute;
  width: 600px;
  right: -100px;
  top: -100px;
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head .single-product_head-img {
    position: absolute;
    width: 100%;
    right: -110px;
    top: -220px;
  }
}
.single-product .single-product_head h1 {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 52px;
  color: #FFF;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head h1 {
    font-size: 32px;
    margin-top: 150px;
  }
}
.single-product .single-product_head h1 span {
  font-size: 32px;
  display: block;
  color: #5aa0cd;
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head h1 span {
    font-size: 22px;
  }
}
.single-product .single-product_head #breadcrumbs {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-left: -10px;
  padding: 0;
  display: inline-block;
  margin-bottom: 30px;
  border-radius: 5px;
}
.single-product .single-product_head #breadcrumbs span {
  color: #FFF;
}
.single-product .single-product_head #breadcrumbs a {
  color: #C3EEFA !important;
  border-bottom: 1px solid;
}
.single-product .single-product_head #breadcrumbs span span {
  margin: 0 10px;
}
.single-product .single-product_head #breadcrumbs span span.breadcrumbs_last {
  opacity: 0.5;
}
.single-product .single-product_head p {
  color: #FFF;
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head p {
    font-size: 14px;
    line-height: 24px;
  }
}
.single-product .single-product_head .single-product_bg {
  overflow: hidden;
  width: 410px;
  height: 410px;
  position: absolute;
  top: -80px;
  right: -80px;
}
.single-product .single-product_head .single-product_bg .single-product_bg-img {
  height: 100%;
  width: 100%;
  background-position: center center;
  background-size: cover;
  opacity: 0.25;
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head .single-product_bg .single-product_bg-img {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head .single-product_bg {
    width: 200px;
    height: 200px;
    top: -40px;
    right: -40px;
  }
}
.single-product .single-product_head .single-product_thumbnail {
  position: absolute;
  max-width: 400px;
  bottom: -150px;
}
.single-product .single-product_head .single-product_thumbnail:before {
  content: '';
  background: #000000;
  width: 40%;
  height: 10px;
  position: absolute;
  bottom: 100px;
  margin: auto;
  left: 0;
  right: 0;
  filter: blur(24px);
}
.single-product .single-product_head .single-product_thumbnail img {
  position: relative;
}
@media screen and (max-width: 768px) {
  .single-product .single-product_head .single-product_thumbnail {
    position: absolute;
    bottom: -110px;
    z-index: 999;
    left: 0;
    max-width: 300px;
    margin: auto;
    right: 0;
  }
}
/*--------------------------------------------------------------
08. Single Product - Description
--------------------------------------------------------------*/
.single-product_description {
  font-size: 14px !important;
  margin-right: 50px;
  position: relative;
  z-index: 99;
  margin-top: -50px;
  padding: 3rem 3rem 3rem 0;
}
.single-product_description h2 {
  font-size: 28px;
  margin-bottom: 15px;
  line-height: 34px;
  font-weight: 600;
  color: #132c5b !important;
}
@media screen and (min-width: 768px) {
  .single-product_description h2 {
    padding-right: 50px;
  }
}
.single-product_description h2:not(:first-child) {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #EEE;
}
@media screen and (max-width: 768px) {
  .single-product_description {
    margin-right: 0;
    padding: 6.5rem 0 1.5rem;
    margin-top: 0;
  }
}
.single-product_description .single-product_description-left:after {
  content: '';
  position: absolute;
  left: -200%;
  top: 0;
  width: 300%;
  height: 100%;
  background: #FFF;
  z-index: -1;
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}
.single-product_description p {
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 24px;
}
@media screen and (max-width: 768px) {
  .single-product_description p {
    line-height: 22px;
  }
}
.single-product_description ul:not(.product-single_attributs) {
  list-style: none;
  padding-left: 20px;
  margin-bottom: 30px;
}
.single-product_description ul:not(.product-single_attributs) li {
  margin-bottom: 0rem;
  line-height: 24px;
}
.single-product_description ul:not(.product-single_attributs) li::before {
  content: "\2022";
  color: #5e91c6;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}
/*--------------------------------------------------------------
09. Product Single - Attributs
--------------------------------------------------------------*/
.product-single_attributs {
  list-style: none;
  margin-bottom: 30px;
}
.product-single_attributs li {
  display: inline-block;
  background: #f2f6fc;
  padding: 2px 15px;
  border-radius: 5px;
  font-size: 13px;
  height: 35px;
  line-height: 30px;
  margin-right: 10px;
  margin-bottom: 15px;
}
.product-single_attributs li img {
  width: 30px;
}
/*--------------------------------------------------------------
10. Single Product - Images Grid / Gallery Swiper
--------------------------------------------------------------*/
.single-product_imgs .swiper-slide {
  width: auto;
  height: auto;
  aspect-ratio: 1;
  background: #FFF;
  text-align: center;
  padding: 10px;
  border-radius: calc(0.375rem - 1px);
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
.single-product_imgs .swiper-slide img {
  max-width: 100%;
  max-height: 100%;
}
.single-product_gallery {
  background: #FFF;
  border-radius: var(--bs-border-radius) !important;
  margin-top: 30px;
  position: relative;
}
.single-product_gallery .single-product_gallery-content {
  padding: 30px;
}
.product-gallery-main {
  overflow: hidden;
  border-radius: calc(0.375rem - 1px);
  position: relative;
}
.product-gallery-main::after {
  content: "\e310";
  font-family: "Phosphor-Light";
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size: 18px;
  color: rgba(0, 0, 0, 0.35);
  background: rgba(0, 0, 0, 0.05);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  transition: color 0.3s, background 0.3s;
}
.product-gallery-main:hover::after {
  color: rgba(0, 0, 0, 0.55);
  background: rgba(0, 0, 0, 0.08);
}
.product-gallery-main .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.product-gallery-main .swiper-slide img {
  height: 230px;
  object-fit: contain;
  max-width: 100%;
}
.product-gallery-thumbs {
  overflow: hidden;
  position: relative;
  border-top: 1px solid #DDD;
  padding-top: 30px;
  margin-top: 30px;
}
.product-gallery-thumbs .swiper-slide {
  opacity: 0.5;
  cursor: pointer;
  transition: opacity 0.3s;
}
.product-gallery-thumbs .swiper-slide-thumb-active {
  opacity: 1;
}
@media (max-width: 767px) {
  .product-gallery-thumbs::before,
  .product-gallery-thumbs::after {
    width: 30px;
  }
}
.product-gallery-progress {
  width: 100%;
  height: 3px;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 3px;
  overflow: hidden;
  margin-top: 10px;
}
.product-gallery-progress__bar {
  height: 100%;
  width: 0%;
  background: var(--primary);
  border-radius: 3px;
}
.product-swiper-link {
  cursor: pointer;
  text-align: center;
  display: block;
}
.product-swiper-link span {
  border-bottom: 1px solid #CCC;
  color: #333;
  font-size: 12px;
}
.product-gallery-prev,
.product-gallery-next {
  display: flex;
  background: #FFF !important;
  z-index: 3;
  width: 35px;
  height: 35px;
  margin-top: 0;
  transform: translateY(-50%);
  border: 1px solid #DDD;
  color: var(--primary);
  border-radius: 50%;
  top: initial;
  bottom: 65px;
}
.product-gallery-prev::after,
.product-gallery-next::after {
  font-size: 14px;
}
.product-gallery-prev {
  left: -5px;
}
.product-gallery-next {
  right: -5px;
}
.product-gallery-prev.swiper-button-disabled,
.product-gallery-next.swiper-button-disabled {
  opacity: 0.3;
}
/*--------------------------------------------------------------
10b. Related Products Swiper
--------------------------------------------------------------*/
@media (min-width: 992px) {
  .related-products-swiper {
    overflow: visible;
  }
  .related-products-swiper .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    transform: none !important;
  }
  .related-products-swiper .swiper-slide {
    width: 100% !important;
  }
}
@media (max-width: 991px) {
  .related-products-swiper {
    overflow: hidden;
    padding-bottom: 40px;
  }
  .related-products-swiper .swiper-wrapper {
    display: flex !important;
  }
}
.related-products-scrollbar {
  display: none;
}
@media (max-width: 991px) {
  .related-products-scrollbar {
    display: block;
    margin-top: 20px;
    height: 3px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    position: relative !important;
  }
  .related-products-scrollbar .swiper-scrollbar-drag {
    background: var(--primary);
    border-radius: 3px;
    cursor: grab;
  }
  .related-products-scrollbar .swiper-scrollbar-drag:active {
    cursor: grabbing;
  }
}
/*--------------------------------------------------------------
11. Swiper Instagram Gammes
--------------------------------------------------------------*/
/* --- SWIPER INSTAGRAM STYLE --- */
#swiper-instagram-gammes {
  padding: 10px 0;
  overflow: hidden !important;
}
#swiper-instagram-gammes:after,
#swiper-instagram-gammes:before {
  content: '';
  position: absolute;
  top: 0;
  width: 60px;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
}
#swiper-instagram-gammes:before {
  background: linear-gradient(to left, #f7f9fb, transparent);
  right: 0;
}
#swiper-instagram-gammes:after {
  background: linear-gradient(to right, #f7f9fb, transparent);
  left: 0;
}
#swiper-instagram-gammes .swiper-wrapper {
  transition-timing-function: linear !important;
}
#swiper-instagram-gammes .swiper-slide {
  width: auto !important;
  display: flex;
  justify-content: center;
}
.insta-gamme {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none !important;
  width: 105px;
}
.insta-gamme__image-wrapper {
  width: 95px;
  height: 95px;
  border-radius: 50%;
  position: relative;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transform: translateZ(0);
  background: white;
}
.insta-gamme__image-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  padding: 3px;
  background: var(--primary);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: 2;
  pointer-events: none;
}
.insta-gamme__image-wrapper img {
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border-radius: 50%;
  object-fit: cover;
  z-index: 1;
  border: 2px solid #fff;
  transition: transform 0.4s ease-in-out;
  display: block;
}
.insta-gamme__title {
  font-size: 13px;
  color: #4a5a6f;
  font-weight: 400;
  text-align: center;
  display: block;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.insta-gamme:hover img {
  transform: scale(1.15);
}
/*--------------------------------------------------------------
12. Swiper Container Relative
--------------------------------------------------------------*/
.swiper-container-relative {
  position: relative;
}
.swiper-container-relative .fe-swiper-nav {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 10px;
  height: 30px;
  position: relative;
}
.swiper-container-relative .fe-swiper-nav .fe-swiper-next,
.swiper-container-relative .fe-swiper-nav .fe-swiper-prev {
  position: relative !important;
  color: #134485 !important;
  transform: scale(0.5);
  margin: 0;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.swiper-container-relative .fe-swiper-nav .fe-swiper-next::after,
.swiper-container-relative .fe-swiper-nav .fe-swiper-prev::after {
  font-size: 25px;
}
.swiper-container-relative .fe-swiper-nav .swiper-button-disabled {
  opacity: 0.3;
  cursor: auto;
}
@media (max-width: 768px) {
  .swiper-container-relative .fe-swiper-nav {
    display: none;
  }
}
/*--------------------------------------------------------------
13. Gallery Container
--------------------------------------------------------------*/
.gallery-container {
  display: flex;
  flex-direction: row;
  height: 600px;
  gap: 15px;
  /* --- RESPONSIVE MOBILE --- */
}
.gallery-container .gammes-card {
  position: relative;
  flex: 1;
  border-radius: 15px;
  overflow: hidden;
  cursor: pointer;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 75px 50px;
  background: #0c2444;
}
.gallery-container .gammes-card .gammes-card__link {
  position: absolute;
  inset: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .gallery-container .gammes-card.active {
    overflow: visible;
  }
  .gallery-container .gammes-card.active .btn-lire-suite {
    display: inline-block;
    margin-top: 30px!important;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    width: 100%;
  }
}
.gallery-container .gammes-card .card-img {
  max-width: 290px;
  margin-bottom: 50px;
  position: absolute;
  right: -50px;
  top: -50px;
  z-index: 9;
  transition: 0.4s ease-in-out;
}
.gallery-container .gammes-card .card-content {
  position: relative;
  z-index: 2;
  color: white;
  pointer-events: none;
  white-space: nowrap;
}
.gallery-container .gammes-card .card-content .link-fe {
  display: inline-block;
}
.gallery-container .gammes-card .card-content .gamme-label {
  font-weight: bold;
  display: block;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  .gallery-container .gammes-card .card-content .gamme-label {
    font-size: 14px;
  }
}
.gallery-container .gammes-card .card-content h2 {
  font-size: 42px;
  color: #FFF !important;
  margin-bottom: 15px;
  position: relative;
  font-weight: 200;
  line-height: 48px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .gallery-container .gammes-card .card-content h2 {
    font-size: 32px;
    margin-bottom: 0;
  }
}
.gallery-container .gammes-card .card-content .btn-lire-suite {
  display: none;
  font-size: 13px;
  color: #FFF;
  opacity: 0.7;
  cursor: pointer;
  pointer-events: auto;
  margin-top: 15px;
}
.gallery-container .gammes-card .card-content .btn-lire-suite i {
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  .gallery-container .gammes-card .card-content .btn-lire-suite {
    display: inline-block;
  }
}
.gallery-container .gammes-card .card-content .description-wrapper {
  height: 0;
  overflow: hidden;
  opacity: 0;
  white-space: normal;
}
.gallery-container .gammes-card .card-content .description-wrapper p {
  padding-top: 15px;
  line-height: 1.5;
  color: #FFF !important;
  font-size: 14px;
}
.gallery-container .gammes-card:hover .card-img {
  opacity: 0;
}
.gallery-container .gammes-card[data-open="true"] .btn-lire-suite i {
  transform: rotate(180deg);
}
@media (max-width: 768px) {
  .gallery-container {
    flex-direction: column;
    height: auto;
    min-height: 85vh;
  }
  .gallery-container .gammes-card {
    flex: 1;
    padding: 40px 30px;
  }
  .gallery-container .gammes-card h2 {
    font-size: 32px;
    line-height: 38px;
  }
  .gallery-container .gammes-card .card-img {
    max-width: 125px;
    right: -20px;
    top: -20px;
  }
}
/*--------------------------------------------------------------
14. Nutriscore
--------------------------------------------------------------*/
.nutriscore {
  display: inline-flex;
  align-items: center;
  font-family: Arial, sans-serif;
  font-weight: bold;
}
.nutriscore .nutriscore-letter {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 14px;
  color: #fff;
  text-transform: uppercase;
  transition: all 0.2s ease;
  padding: 5px 0;
  opacity: 0.8;
}
.nutriscore .nutriscore-letter.nutriscore-a {
  background-color: #038141;
  border-top-left-radius: 7px;
  border-bottom-left-radius: 7px;
}
.nutriscore .nutriscore-letter.nutriscore-b {
  background-color: #85bb2f;
}
.nutriscore .nutriscore-letter.nutriscore-c {
  background-color: #fecb02;
  color: #333;
}
.nutriscore .nutriscore-letter.nutriscore-d {
  background-color: #ee8100;
}
.nutriscore .nutriscore-letter.nutriscore-e {
  background-color: #e63e11;
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
}
.nutriscore .nutriscore-letter.active {
  width: 38px;
  height: 38px;
  font-size: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  padding: 5px 0px;
  border-radius: 6px;
  opacity: 1;
}
.nutriscore .nutriscore-letter.active span {
  opacity: 1;
}
.nutriscore .nutriscore-letter span {
  opacity: 0.4;
}
/*--------------------------------------------------------------
15. Single Product - Recettes Cards
--------------------------------------------------------------*/
.recettes-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.recipe-card {
  background: #FFF;
  border-radius: var(--bs-border-radius) !important;
  overflow: hidden;
}
.recipe-content {
  padding: 30px;
}
.recipe-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.recipe-category {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #5aa0cd;
}
.recipe-badges {
  display: flex;
  gap: 6px;
}
.recipe-badge {
  background: rgba(255, 255, 255, 0.9);
  color: var(--primarydark);
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #DDD;
}
.recipe-badge i {
  font-size: 13px;
}
.recipe-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--primarydark);
  line-height: 1.3;
  margin: 20px 0 0;
}
.recipe-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
}
/*--------------------------------------------------------------
16. Product Card - Variante Élaborée
--------------------------------------------------------------*/
.fe-product__item--elaboree {
  background: var(--primary);
}
.fe-product__item--elaboree .fe-product__label {
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.75);
}
.fe-product__item--elaboree .fe-product__label span {
  background-color: rgba(255, 255, 255, 0.5) !important;
}
.fe-product__item--elaboree .fe-product__title {
  color: #FFF !important;
}
.fe-product__item--elaboree .fe-product__content p {
  color: rgba(255, 255, 255, 0.75) !important;
}
/*--------------------------------------------------------------
01. Button Medium
--------------------------------------------------------------*/
.btn-md {
  font-size: 18px;
  padding: 18px 30px;
}
/*--------------------------------------------------------------
02. Button FE (Primary)
--------------------------------------------------------------*/
.btn-fe,
.wp-element-button {
  padding: 22px 40px;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  background-color: var(--primary);
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  z-index: 1;
  border-radius: 0.25rem;
  gap: 10px;
  color: #FFF;
  border: 2px solid var(--primary);
}
@media screen and (max-width: 768px) {
  .btn-fe,
  .wp-element-button {
    padding: 15px 25px;
    font-size: 14px;
  }
}
.btn-fe:hover,
.wp-element-button:hover {
  background: transparent;
  color: var(--primary);
}
.btn-fe.btn-fe--white,
.wp-element-button.btn-fe--white {
  background: #FFF;
  border: 2px solid #FFF;
  color: var(--primary);
}
.btn-fe.btn-fe--white:hover,
.wp-element-button.btn-fe--white:hover {
  background: transparent;
  color: #FFF;
}
.btn-fe.btn-fe--outline,
.wp-element-button.btn-fe--outline {
  background: #FFF;
  border: 2px solid var(--primary);
  color: var(--primary);
}
.btn-fe.btn-fe--outline:hover,
.wp-element-button.btn-fe--outline:hover {
  background: var(--primary);
  color: #FFF;
}
.btn-fe.btn-fe--sm,
.wp-element-button.btn-fe--sm {
  padding: 15px 20px;
  font-size: 14px;
}
/*--------------------------------------------------------------
03. Link FE
--------------------------------------------------------------*/
.link-fe {
  font-weight: 500;
  margin-top: 20px;
  font-size: 16px;
  color: #5aa0cd;
}
.link-fe i {
  font-size: 20px;
  top: 2px;
  position: relative;
  margin-left: 10px;
  transition: 0.2s;
}
.link-fe:hover {
  color: #5aa0cd;
}
.link-fe:hover i {
  margin-left: 20px;
  transition: 0.2s;
}
.link-fe.link-fe--sm {
  font-size: 14px;
}
.link-fe.link-fe--sm i {
  font-size: 16px;
}
/*--------------------------------------------------------------
01. Home - Intro
--------------------------------------------------------------*/
.home-intro {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.home-intro .home-intro_video-content .home-intro_video--trigger {
  position: absolute;
  bottom: 70px;
  right: 0;
  left: 0;
  text-align: center;
  color: #FFF;
  z-index: 99;
}
.home-intro .home-intro_video-content .home-intro_video {
  width: 100%;
  display: block;
  height: 100vh;
  object-fit: cover;
  object-position: center;
  transition: 0.2s;
}
.home-intro .home-intro_video-content .home-intro_video.main-video--scrolled {
  padding: 1.5rem;
  border-radius: 75px;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .home-intro.home-intro--scrolled .home-intro_content-2 {
    margin: 1.5rem;
    width: calc(100% - 3rem);
    height: calc(100% - 3rem);
    border-radius: 1.5rem;
  }
}
.home-intro .home-intro_content-2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 8em;
  font-family: inherit;
  font-weight: 400;
  color: white;
  background: #134485;
  mix-blend-mode: overlay;
  text-align: center;
  line-height: 1em;
  z-index: 2;
  padding-bottom: 92px;
}
.home-intro .home-intro_content-2 b {
  font-weight: bold;
}
.home-intro .home-intro_content-2 span {
  position: relative;
}
.home-intro .home-intro_content-2 span:after {
  content: '';
}
.home-intro .home-intro_content-2 small {
  display: block;
  position: absolute;
  font-size: 22px;
  margin: auto;
  left: 0;
  right: 0;
  font-family: 'euclid_Circular_B';
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 5px;
  line-height: 70px;
}
.home-intro .home-intro_content-2 img {
  position: absolute;
  z-index: 9;
  margin: auto;
  left: 0;
  right: -30px;
  top: -35%;
  width: 140px;
}
@media screen and (max-width: 768px) {
  .home-intro .home-intro_content-2 {
    font-size: 5em;
  }
  .home-intro .home-intro_content-2 small {
    font-size: 24px;
    line-height: 40px;
    font-weight: 600;
    margin-top: 30px;
    letter-spacing: 0;
    max-width: 350px;
  }
  .home-intro .home-intro_content-2 img {
    width: 150px;
  }
}
.home-intro .home-intro_content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 10em;
  font-family: inherit;
  font-weight: 400;
  color: #FFF;
  background: #134485;
  mix-blend-mode: overlay;
  text-align: center;
  line-height: 1em;
  z-index: 2;
  padding-bottom: 92px;
}
.home-intro .home-intro_content b {
  font-weight: bold;
}
.home-intro .home-intro_content span {
  position: relative;
}
.home-intro .home-intro_content span:after {
  content: '';
}
.home-intro .home-intro_content small {
  display: block;
  position: absolute;
  font-size: 28px;
  margin: auto;
  left: 0;
  right: 0;
  font-weight: bold;
  text-transform: uppercase;
}
.home-intro .home-intro_content img {
  z-index: 9;
  margin: auto;
  left: 0;
  right: -30px;
  top: -35%;
  width: 440px;
}
@media screen and (max-width: 768px) {
  .home-intro .home-intro_content {
    font-size: 5em;
    padding-bottom: 60px;
  }
  .home-intro .home-intro_content small {
    font-size: 18px;
  }
  .home-intro .home-intro_content img {
    width: 120px;
  }
}
.home-intro .home-intro_overlay {
  position: absolute;
  left: 0;
  background: #134485;
  opacity: 0.4;
  width: 100%;
  height: 100%;
  content: '';
  bottom: 0;
  z-index: 1;
  opacity: 0 !important;
}
@media screen and (max-width: 768px) {
  .home-intro .home-intro_overlay {
    height: 80%;
  }
}
.home-intro.home-intro--scrolled .home-intro_content {
  opacity: 0 !important;
}
@media screen and (min-width: 768px) {
  .home-intro.home-intro--scrolled .home-intro_video {
    padding: 1.5rem;
    border-radius: 45px;
    transition: 0.2s;
  }
}
@media screen and (min-width: 768px) {
  .home-intro.home-intro--scrolled .home-intro_overlay {
    position: absolute;
    left: 0;
    background: #134485;
    opacity: 0.4;
    height: calc(100% - 60px);
    content: '';
    bottom: 0;
    z-index: 1;
    width: calc(100% - 60px);
    left: 30px;
    bottom: 30px;
    border-radius: var(--bs-border-radius) !important;
  }
}
/*--------------------------------------------------------------
02. Home - Products Swiper
--------------------------------------------------------------*/
@media (min-width: 992px) {
  .products-swiper {
    overflow: visible;
  }
  .products-swiper .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    transform: none !important;
  }
  .products-swiper .swiper-slide {
    width: 100% !important;
  }
  .products-pagination {
    display: none;
  }
}
/* Mobile : slider */
@media (max-width: 991px) {
  .products-swiper {
    overflow: hidden;
    padding-bottom: 40px;
  }
  .products-swiper .swiper-wrapper {
    display: flex !important;
  }
}
/* Scrollbar mobile */
.products-scrollbar {
  display: none;
}
@media (max-width: 991px) {
  .products-scrollbar {
    display: block;
    margin-top: 20px;
    height: 3px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    position: relative!important;
  }
  .products-scrollbar .swiper-scrollbar-drag {
    background: var(--primary);
    border-radius: 3px;
    cursor: grab;
  }
  .products-scrollbar .swiper-scrollbar-drag:active {
    cursor: grabbing;
  }
}
/*--------------------------------------------------------------
03. Home - Labels
--------------------------------------------------------------*/
.labels-item {
  border-top: 1px solid #EEE;
  padding-top: 40px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .labels-item {
    padding-top: 20px;
  }
  .labels-item img {
    background: #f5f5f5;
    margin-bottom: 30px;
    padding: 40px;
  }
}
/*--------------------------------------------------------------
04. Home - Modern Timeline
--------------------------------------------------------------*/
/* Container Principal */
.fe-modern-timeline {
  position: relative;
  color: #f9fafb;
  padding: 100px 20px;
  overflow: hidden;
  font-family: 'Outfit', sans-serif;
}
/* Blobs de lumière en arrière-plan */
.fe-blob {
  position: absolute;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.08) 0%, rgba(0, 0, 0, 0) 70%);
  top: 10%;
  left: -10%;
  filter: blur(80px);
  pointer-events: none;
}
.fe-blob-2 {
  top: 60%;
  left: 60%;
  background: radial-gradient(circle, rgba(0, 102, 255, 0.05) 0%, rgba(0, 0, 0, 0) 70%);
}
/* Structure des étapes */
.fe-step {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 60px;
}
/* Année géante en arrière-plan */
.fe-year-bg {
  position: absolute;
  font-size: clamp(10rem, 25vw, 12rem);
  font-weight: 900;
  color: rgba(59, 130, 246, 0.05);
  z-index: 1;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
}
/* Alternance */
.fe-step:nth-child(odd) .fe-year-bg {
  right: -5%;
}
.fe-step:nth-child(even) .fe-year-bg {
  left: -5%;
}
.fe-content-wrapper {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.fe-step:nth-child(even) .fe-content-wrapper {
  direction: rtl;
}
.fe-step:nth-child(even) .fe-text-side {
  direction: ltr;
}
/* Image Side */
.fe-image-side {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
}
.fe-image-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
  /* Prêt pour la parallaxe JS */
}
/* Text Side */
.fe-text-side {
  padding: 40px;
}
.fe-tag {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(59, 130, 246, 0.15);
  color: #3b82f6;
  border-radius: 100px;
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.fe-text-side h2 {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  margin: 0 0 15px 0;
  font-weight: 800;
  color: #111;
}
.fe-text-side p {
  font-size: 1.15rem;
  color: #9ca3af;
  line-height: 1.7;
  max-width: 480px;
}
/* Responsive */
@media (max-width: 900px) {
  .fe-content-wrapper {
    grid-template-columns: 1fr;
    direction: ltr !important;
  }
  .fe-image-side {
    aspect-ratio: 16/9;
  }
  .fe-year-bg {
    opacity: 0.1;
    font-size: 12rem;
    top: -5%;
  }
  .fe-step {
    min-height: auto;
    margin-bottom: 100px;
  }
}
/*--------------------------------------------------------------
05. Home - Horizontal Scroll
--------------------------------------------------------------*/
#horizontal-section {
  width: 100%;
  overflow: hidden;
  margin: 50px 0;
}
.horizontal-scoll-wrapper {
  overflow: hidden;
  height: 500px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .horizontal-scoll-wrapper {
    height: auto;
  }
}
.horizontal-content {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  margin: 0 -5px;
  height: 100%;
}
.horizontal-content .horizontal-item {
  display: flex !important;
  flex-shrink: 0;
  width: 540px;
  height: 100%;
  margin: 0 5px;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  border: none !important;
  align-items: flex-end;
  text-decoration: none;
  background-color: #222;
}
@media screen and (max-width: 768px) {
  .horizontal-content .horizontal-item {
    width: 85vw;
    margin-bottom: 20px;
    height: 400px;
  }
}
.horizontal-content .horizontal-item .card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.horizontal-content .horizontal-item .card-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.horizontal-content .horizontal-item .card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(12, 36, 68, 0) 20%, rgba(12, 36, 68, 0.8) 100%);
  transition: background 0.3s ease;
}
.horizontal-content .horizontal-item .card-body {
  position: relative;
  z-index: 3;
  padding: 40px;
  width: 100%;
  pointer-events: none;
}
.horizontal-content .horizontal-item .card-body .timeline-years {
  color: #FFFFFF;
  font-size: 52px !important;
  font-weight: 600;
  margin-bottom: 10px;
  line-height: 1;
}
.horizontal-content .horizontal-item .card-body .timeline-desc {
  color: #FFFFFF;
  font-size: 18px !important;
  margin-bottom: 0;
  line-height: 1.4;
}
.horizontal-content .horizontal-item .card-body i {
  font-size: 36px;
  color: #FFFFFF;
  display: block;
  margin-top: 20px;
}
.horizontal-content .horizontal-item.card-link:hover .card-bg img {
  transform: scale(1.05);
}
.horizontal-content .horizontal-item.card-link:hover .card-overlay {
  background: linear-gradient(to bottom, rgba(156, 42, 54, 0.4) 0%, rgba(156, 42, 54, 0.9) 100%);
}
/*--------------------------------------------------------------
06. Contact - Map
--------------------------------------------------------------*/
.map-container {
  position: relative;
}
.contact-map-section {
  position: relative;
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 768px) {
  .contact-map-section {
    height: 350px;
  }
}
#map {
  width: 100%;
  height: 500px;
  position: relative;
  overflow: hidden;
  border-radius: var(--bs-border-radius) !important;
}
@media screen and (max-width: 768px) {
  #map {
    height: 350px;
  }
}
.mapboxgl-marker {
  z-index: 9999 !important;
  position: absolute;
  top: 0;
}
/* Le style de ton marqueur personnalisé */
.custom-marker {
  width: 25px;
  height: 25px;
  background-color: #E74C3C;
  border: 3px solid white;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  cursor: pointer;
}
.contact-info-card {
  position: absolute;
  bottom: 50px;
  left: 50px;
  z-index: 1;
  background: var(--primary);
  padding: 30px;
  border-radius: var(--bs-border-radius) !important;
  max-width: 300px;
}
@media screen and (max-width: 768px) {
  .contact-info-card {
    position: relative;
    bottom: auto;
    left: auto;
    max-width: 100%;
    margin: -30px 15px 0;
    z-index: 2;
  }
}
.contact-info-card .contact-info-card_title {
  font-weight: 600;
  font-size: 22px;
  margin-bottom: 15px;
  color: #FFF;
}
.contact-info-card .contact-info-card_socials {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 15px;
  padding-top: 15px;
}
.contact-info-card .contact-info-card_socials i {
  font-size: 20px;
  color: #FFF;
  margin-right: 15px;
}
.contact-info-card p {
  font-size: 14px;
  color: #FFF !important;
  margin-bottom: 0;
  line-height: 20px;
}
.contact-info-card img.floating-form {
  position: absolute;
  top: -60px;
  right: -30px;
  width: 150px;
}
@media screen and (max-width: 768px) {
  .contact-info-card img.floating-form {
    width: 100px;
    top: -40px;
    right: -10px;
  }
}
/*--------------------------------------------------------------
07. Contact - Form Area
--------------------------------------------------------------*/
/* Section Contact */
.fe-contact__area {
  overflow-x: hidden;
}
.fe-contact__area .col-form-bg {
  position: relative;
  z-index: 1;
}
.fe-contact__area .col-form-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 2000px;
  background-color: var(--primary);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .fe-contact__area .col-form-bg::after {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
  }
}
.fe-contact__area .col-form-bg .wpcf7 {
  padding: 3rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .fe-contact__area .col-form-bg .wpcf7 {
    padding: 50px 0 50px 50px;
  }
}
.fe-contact__area .col-form-bg .wpcf7 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin-bottom: 15px;
}
.fe-contact__area .col-form-bg .wpcf7 input:not([type="submit"]),
.fe-contact__area .col-form-bg .wpcf7 select,
.fe-contact__area .col-form-bg .wpcf7 textarea {
  width: 100%;
  padding: 15px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 6px;
  color: #FFFFFF;
  font-size: 16px;
  transition: all 0.2s ease-in-out;
}
.fe-contact__area .col-form-bg .wpcf7 input:not([type="submit"]):focus,
.fe-contact__area .col-form-bg .wpcf7 select:focus,
.fe-contact__area .col-form-bg .wpcf7 textarea:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.3);
  border-color: #FFFFFF;
  box-shadow: none;
}
.fe-contact__area .col-form-bg .wpcf7 input:not([type="submit"])::placeholder,
.fe-contact__area .col-form-bg .wpcf7 select::placeholder,
.fe-contact__area .col-form-bg .wpcf7 textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
.fe-contact__area .col-form-bg .wpcf7 input:not([type="submit"])::-webkit-input-placeholder,
.fe-contact__area .col-form-bg .wpcf7 select::-webkit-input-placeholder,
.fe-contact__area .col-form-bg .wpcf7 textarea::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.fe-contact__area .col-form-bg .wpcf7 input:not([type="submit"])::-moz-placeholder,
.fe-contact__area .col-form-bg .wpcf7 select::-moz-placeholder,
.fe-contact__area .col-form-bg .wpcf7 textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.fe-contact__area .col-form-bg .wpcf7 select.wpcf7-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 15px center !important;
  background-size: 20px !important;
  padding-right: 40px !important;
}
.fe-contact__area .col-form-bg .wpcf7 select.wpcf7-select option {
  background-color: #1a1a1a;
  color: #FFFFFF;
}
.fe-contact__area .col-form-bg .wpcf7 .form-legal {
  color: #FFF;
  opacity: 0.5;
  font-size: 12px;
}
.fe-contact__area .col-form-bg .wpcf7 .wpcf7-radio {
  position: relative;
  top: -12px;
}
.fe-contact__area .col-form-bg .wpcf7 .wpcf7-list-item {
  display: flex;
  align-items: center;
  margin: 0;
}
.fe-contact__area .col-form-bg .wpcf7 .wpcf7-list-item span {
  color: #FFF;
}
.fe-contact__area .col-form-bg .wpcf7 .wpcf7-list-item label {
  display: flex;
  align-items: center;
  color: #FFFFFF;
  margin-bottom: 0;
  cursor: pointer;
}
.fe-contact__area .col-form-bg .wpcf7 .wpcf7-list-item input[type="checkbox"],
.fe-contact__area .col-form-bg .wpcf7 .wpcf7-list-item input[type="radio"] {
  width: 18px;
  height: 18px;
  margin-right: 12px;
  flex-shrink: 0;
  accent-color: #FFFFFF;
}
.fe-contact__area .col-form-bg .wpcf7 .form-label {
  display: block;
  color: #FFFFFF;
  margin-top: 15px;
  margin-bottom: 5px;
}
.fe-contact__area .col-form-bg .form-header p.form-header-title {
  color: #FFF;
  font-size: 32px;
  font-weight: 600;
}
.fe-contact__area .col-form-bg .form-header p.form-header-desc {
  font-size: 16px;
  color: #FFF;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0;
  border: none;
  padding: 1em;
  font-size: 14px;
  border-radius: 5px;
}
.wpcf7 form.sent .wpcf7-response-output {
  background: #1f9f19;
  color: #d3f2c4;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  background: #9f1919;
  color: #f2c4c4;
}
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: #9f8419;
  color: #f2ddc4;
}
.wpcf7 form .wpcf7-not-valid-tip {
  font-size: 12px;
  position: relative;
  top: 7px;
}
/*--------------------------------------------------------------
08. Contact - Job Block
--------------------------------------------------------------*/
.contact-job {
  margin-bottom: 30px;
  background: #FFF;
  margin-top: 100px;
  border-radius: var(--bs-border-radius) !important;
}
@media screen and (min-width: 768px) {
  .contact-job {
    margin-right: 30px;
    margin-bottom: 0;
    margin-top: 0;
  }
}
.contact-job h3 {
  font-weight: 600;
  margin-bottom: 15px;
}
.contact-job .contact-job_first {
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .contact-job .contact-job_first {
    padding: 30px;
  }
}
@media screen and (min-width: 768px) {
  .fe-contact-list {
    margin-right: 30px;
    margin-bottom: 0;
  }
}
.fe-contact-list .accordion-item {
  background-color: #FFF;
  border: none !important;
  margin-bottom: 10px;
  border-radius: 8px !important;
  overflow: hidden;
}
.fe-contact-list .accordion-button {
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  padding: 18px 20px;
  box-shadow: none;
}
.fe-contact-list .accordion-button:focus {
  box-shadow: none;
}
.fe-contact-list .accordion-button::after {
  background-image: none;
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  font-size: 16px;
  color: var(--fe-primary, #2563eb);
}
.fe-contact-list .accordion-button:not(.collapsed)::after {
  content: "\f077";
  transform: none;
}
.fe-contact-list .accordion-body {
  display: block;
  padding: 0 20px 20px;
}
.fe-contact-list .accordion-body p {
  font-size: 14px;
  line-height: 22px;
  color: #555;
  margin-bottom: 8px;
}
.fe-contact-list .accordion-body p:last-child {
  margin-bottom: 0;
}
/*--------------------------------------------------------------
01. Content CMS - Headings
--------------------------------------------------------------*/
.content-cms h1 {
  font-size: 34px;
  margin-bottom: 15px;
  line-height: 34px;
  font-weight: 600;
  color: #132c5b !important;
}
@media screen and (max-width: 768px) {
  .content-cms h1 {
    font-size: 26px;
    line-height: 30px;
  }
}
.content-cms h1 strong {
  font-weight: 600;
}
.content-cms h2,
.content-cms h3,
.content-cms h4,
.content-cms h5,
.content-cms h6 {
  color: var(--primarydark) !important;
  margin-bottom: 15px;
}
.content-cms h3 {
  margin-bottom: 15px;
  display: inline-block;
  border-bottom: 1px solid;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .content-cms h3 {
    font-size: 20px;
    line-height: 32px;
    color: #222;
    margin-bottom: 15px;
    text-decoration: underline;
    margin-top: 15px;
    border: none;
  }
}
.content-cms h2 {
  font-size: 28px;
  margin-bottom: 15px;
  line-height: 34px;
  font-weight: 600;
  color: #132c5b !important;
}
@media screen and (max-width: 768px) {
  .content-cms h2 {
    font-size: 22px;
    line-height: 28px;
  }
}
.content-cms h2 strong {
  font-weight: 600;
}
.content-cms h2:not(:first-child) {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #EEE;
}
.content-cms h3 {
  font-size: 24px;
}
.content-cms h4 {
  font-size: 20px;
}
.content-cms h5 {
  font-size: 16px;
}
.content-cms h6 {
  font-size: 14px;
}
.content-cms p {
  font-size: 16px;
  line-height: 26px;
}
.content-cms .wp-block-image:not(.img-verticale).size-large {
  margin: 3em -3em;
  max-width: calc(100% + 6em);
}
.content-cms .wp-block-gallery {
  margin: 3em 0;
}
/*--------------------------------------------------------------
02. Section Content CMS
--------------------------------------------------------------*/
@media screen and (min-width: 992px) {
  .section-content-cms,
  .content-cms {
    padding-left: 50px;
  }
}
.section-content-cms h3,
.content-cms h3 {
  font-size: 20px;
  line-height: 34px;
  color: #222;
  margin-bottom: 15px;
}
.section-content-cms h3.has-background,
.content-cms h3.has-background {
  padding: 0px 10px;
  display: inline-block;
}
.section-content-cms figure a,
.content-cms figure a {
  border: none !important;
}
.section-content-cms p,
.content-cms p,
.section-content-cms ul,
.content-cms ul,
.section-content-cms li,
.content-cms li {
  color: #132c5b !important;
  font-size: 16px;
  margin-bottom: 1rem;
  line-height: 30px;
  font-weight: 400;
}
.section-content-cms ul,
.content-cms ul {
  list-style: none;
  padding-left: 20px;
  margin-bottom: 30px;
}
.section-content-cms ul li,
.content-cms ul li {
  margin-bottom: 0rem;
}
.section-content-cms ul li::before,
.content-cms ul li::before {
  content: "\2022";
  color: #5e91c6;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}
/*--------------------------------------------------------------
03. Blockquote
--------------------------------------------------------------*/
.wp-block-quote {
  border-radius: 20px;
  padding: 45px;
  background-color: red;
  color: #FFF;
  margin: 50px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .wp-block-quote {
    padding: 25px;
  }
}
.wp-block-quote p {
  background: url(../img/template/icons/left-quote.svg) no-repeat top center;
  padding: 75px 0 0;
  font-size: 28px;
  line-height: 38px;
  font-weight: 400;
  color: #FFF;
  text-align: center;
}
.wp-block-quote cite {
  text-align: center;
  position: relative;
  margin: 35px 0 20px;
  font-family: red;
  font-weight: bold;
  font-size: 22px;
  line-height: 24px;
  color: #FFF;
}
.has-inline-color {
  padding: 0 5px;
  color: #FFF;
}
.wp-block-image.is-style-circle-mask img,
.wp-block-image.is-style-rounded img,
.wp-block-image .is-style-rounded img {
  border-radius: 25px;
}
/*--------------------------------------------------------------
04. Video
--------------------------------------------------------------*/
.is-type-video {
  background: red;
  padding: 5rem 2rem;
  text-align: center;
  border-radius: 25px;
  margin: 2rem 0;
}
.is-type-video iframe {
  border-radius: 5px;
  height: auto;
}
.is-type-video figcaption {
  font-size: 12px;
  margin-bottom: 0;
  text-shadow: none;
  text-align: center !important;
  opacity: 0.5;
}
/*--------------------------------------------------------------
05. Galerie
--------------------------------------------------------------*/
.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
  max-width: 480px;
}
.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) img {
  border-radius: 0.75rem;
}
/*--------------------------------------------------------------
06. Button
--------------------------------------------------------------*/
.wp-element-button {
  font-family: "Poppins", sans-serif;
  padding: 15px 20px;
  font-size: 14px;
}
/*--------------------------------------------------------------
07. Caption
--------------------------------------------------------------*/
.wp-element-caption {
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
  text-align: right !important;
  display: inline-block;
  float: right;
  background: rgba(0, 0, 0, 0.2);
  padding: 0 5px;
  border-radius: 3px;
  font-size: 12px;
  color: #FFF;
  margin-top: -30px;
  z-index: 99;
  position: relative;
  right: 15px;
  bottom: 15px;
}
@media screen and (max-width: 768px) {
  .wp-element-caption {
    float: none;
    display: block;
    text-align: center !important;
    margin-top: -25px;
    right: 0;
    bottom: 10px;
  }
}
/*--------------------------------------------------------------
08. Responsive
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .wp-block-columns .wp-block-column div:last-child {
    margin-bottom: 0;
  }
}
/*--------------------------------------------------------------
09. Separator
--------------------------------------------------------------*/
.wp-block-separator {
  margin: 40px 0;
  border: none;
  border-top: 1px solid #EEE;
  opacity: 1;
  background: transparent;
}
/*--------------------------------------------------------------
10. Block Image
--------------------------------------------------------------*/
.wp-block-image img {
  border-radius: 0.75rem;
}
.content-cms:has(> :last-child.wp-block-image) {
  padding-bottom: 0 !important;
}
/*--------------------------------------------------------------
01. Main Content Sidebar
--------------------------------------------------------------*/
.fe-main-content_sidebar {
  position: relative;
  z-index: 1000 !important;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fe-main-content_sidebar {
    margin-top: 30px !important;
  }
}
/* La row doit rester en flex pour l'alignement */
#pin-container {
  display: flex !important;
  align-items: flex-start !important;
  overflow: visible !important;
}
/* On s'assure que les colonnes ne cachent rien */
.col-md-3,
.col-md-9 {
  overflow: visible !important;
}
/*--------------------------------------------------------------
02. Sidebar Widget - Base
--------------------------------------------------------------*/
.sidebar-widget {
  /* Sidebar Title */
  /* Navigation Widget */
  /* Contact Widget */
  /* Filter Widget */
}
.sidebar-widget .sidebar-title {
  font-weight: bold;
  color: var(--primarydark);
  font-size: 18px;
  margin-bottom: 15px;
}
.sidebar-widget.sidebar-widget_nav {
  background: #FFF;
  padding: 30px;
  border-radius: var(--bs-border-radius) !important;
}
@media screen and (max-width: 768px) {
  .sidebar-widget.sidebar-widget_nav {
    padding: 20px;
  }
}
.sidebar-widget.sidebar-widget_nav a {
  color: var(--primarydark);
}
.sidebar-widget.sidebar-widget_nav a svg g {
  fill: #DDD;
}
.sidebar-widget.sidebar-widget_nav a:hover svg g {
  fill: var(--primary) !important;
}
.sidebar-widget.sidebar-widget_nav a:hover span {
  border-bottom: 1px solid;
  color: var(--primary) !important;
}
.sidebar-widget.sidebar-widget_contact {
  background: url('https://frais-embal.fr/img/bg/bg-contact-1.png') var(--primary) !important;
  padding: 30px;
  border-radius: var(--bs-border-radius) !important;
}
@media screen and (max-width: 768px) {
  .sidebar-widget.sidebar-widget_contact {
    padding: 30px;
  }
}
@media screen and (max-width: 768px) {
  .sidebar-widget.sidebar-widget_contact {
    margin: 0 0 30px 0;
  }
}
@media screen and (min-width: 768px) {
  .sidebar-widget.sidebar-widget_contact {
    margin-top: 30px;
  }
}
.sidebar-widget.sidebar-widget_contact .sidebar-widget_contact-title {
  color: #FFF;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 15px;
}
.sidebar-widget.sidebar-widget_contact .sidebar-widget_contact-txt {
  color: #FFF;
  opacity: 0.8;
}
.sidebar-widget.sidebar-widget_contact .wc-btn-primary {
  border: 1px solid #FFF;
}
.sidebar-widget.sidebar-widget_filter {
  background: #FFF;
  padding: 30px;
  border-radius: 0.75rem;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .sidebar-widget.sidebar-widget_filter {
    padding: 20px;
  }
}
.sidebar-widget.sidebar-widget_filter .filter-link {
  display: block;
  padding: 2px 12px 2px 30px;
  text-decoration: none;
  color: #495057;
  border-radius: 6px;
  transition: all 0.2s ease;
  border: 2px solid transparent;
  position: relative;
}
.sidebar-widget.sidebar-widget_filter .filter-link::before {
  content: "";
  margin-right: 10px;
  font-size: 18px;
  color: #6c757d;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 7px;
  border: 1px solid #AAA;
  border-radius: 50%;
}
.sidebar-widget.sidebar-widget_filter .filter-link:hover::after {
  content: "";
  margin-right: 10px;
  font-size: 18px;
  color: #6c757d;
  width: 10px;
  height: 10px;
  position: absolute;
  left: 3px;
  top: 10px;
  border: 1px solid #AAA;
  background: #5ab647;
  border-radius: 50%;
}
.sidebar-widget.sidebar-widget_filter .sidebar-title {
  color: var(--primarydark);
  font-size: 18px;
  margin-bottom: 15px;
}
.sidebar-widget.sidebar-widget_filter .filter-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar-widget.sidebar-widget_filter .checkbox-container {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: background-color 0.2s ease;
}
.sidebar-widget.sidebar-widget_filter .checkbox-container.checked .filter-label {
  color: #007cba;
  font-weight: 600;
}
.sidebar-widget.sidebar-widget_filter .filter-checkbox {
  width: 18px;
  height: 18px;
  margin-right: 10px;
  cursor: pointer;
  accent-color: #388022;
}
.sidebar-widget.sidebar-widget_filter .filter-label {
  font-size: 14px;
  color: #495057;
  cursor: pointer;
  user-select: none;
}
/*--------------------------------------------------------------
03. Widget Nav
--------------------------------------------------------------*/
.widget-nav {
  background: #FFF;
  padding: 0;
  overflow: hidden;
  border-radius: 0.75rem;
}
@media screen and (max-width: 768px) {
  .widget-nav {
    display: none;
  }
}
.widget-nav h3 {
  padding: 30px 30px 0 30px;
  font-size: 18px;
  margin-bottom: 30px;
  margin-top: 0;
  color: var(--primary) !important;
  font-weight: bold;
}
.widget-nav h3 a {
  color: var(--primary) !important;
  opacity: 0.75;
}
.widget-nav h3 a:hover {
  opacity: 1;
}
.widget-nav h3 i {
  border: 1px solid #DDD;
  float: right;
  border-radius: 50%;
  position: relative;
  padding: 2px;
}
.widget-nav ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
.widget-nav ul li {
  width: 100%;
  -webkit-box-pack: start;
  justify-content: flex-start;
  font-size: 16px;
  text-align: left;
  -webkit-transition: font-weight 0.3s;
  transition: font-weight 0.3s;
}
.widget-nav ul li a {
  width: 100%;
  flex: 1 auto;
  padding: 15px 30px;
  -webkit-box-pack: start;
  justify-content: flex-start;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-height: 18px;
  color: #222;
  border-right: 5px solid #FFF;
  overflow: hidden;
  text-overflow: ellipsis;
  border-top: 1px solid #F4F4F4;
}
.widget-nav ul li a span {
  display: block;
  font-family: 'Sen', sans-serif;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.widget-nav ul li a:hover {
  border-right: 5px solid #5e91c6;
  opacity: 1;
}
.widget-nav ul .nav-prev a {
  border-right: 5px solid #FFF;
  color: rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 768px) {
  .widget-nav ul .nav-prev a {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .widget-nav ul .nav-active a {
    font-weight: bold;
  }
}
.cmplz-placeholder-1 {
  height: 100% !important;
  overflow: hidden;
  max-width: calc(100% - 30px);
  margin-left: 15px;
  box-shadow: none;
}
.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice,
.cmplz-optout .cmplz-blocked-content-container .cmplz-blocked-content-notice,
.cmplz-optin .cmplz-wp-video .cmplz-blocked-content-notice,
.cmplz-optout .cmplz-wp-video .cmplz-blocked-content-notice {
  background: var(--primary) !important;
  border: 1px solid var(--primary) !important;
  border-radius: 5px;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 22px;
  padding: 10px 15px;
  max-width: 410px;
}
.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice:hover,
.cmplz-optout .cmplz-blocked-content-container .cmplz-blocked-content-notice:hover,
.cmplz-optin .cmplz-wp-video .cmplz-blocked-content-notice:hover,
.cmplz-optout .cmplz-wp-video .cmplz-blocked-content-notice:hover {
  border: 1px solid var(--primary) !important;
  box-shadow: 0 0 30px -15px rgba(0, 0, 0, 0.2);
}
.cmplz-message p {
  font-size: 12px;
  line-height: 19px;
  color: #FFF;
  margin-bottom: 0;
}
.cmplz-cookiebanner {
  padding: 20px 30px 30px!important;
}
@media screen and (max-width: 768px) {
  .cmplz-cookiebanner {
    padding: 25px!important;
    bottom: 0;
    top: initial!important;
    transform: initial!important;
    left: 0!important;
  }
}
.cmplz-cookiebanner .cmplz-title {
  display: none;
}
.cmplz-cookiebanner .cmplz-close {
  border: 1px solid rgba(255, 255, 255, 0.25);
  padding: 15px;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  right: 12px;
}
.cmplz-cookiebanner .cmplz-close svg {
  width: 12px!important;
  height: 12px!important;
  position: absolute;
  top: 9px;
  opacity: 0.5;
  right: 9px;
}
.cmplz-cookiebanner .cmplz-close svg path {
  fill: white;
}
.cmplz-cookiebanner .cmplz-icon svg {
  position: relative;
  top: -5px;
  line-height: 0;
}
.cmplz-cookiebanner .cmplz-logo {
  display: none;
}
.cmplz-cookiebanner .cmplz-categories {
  margin-top: 10px!important;
}
.cmplz-documents.cmplz-links {
  display: none!important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  border-radius: 0.25rem !important;
  height: 40px!important;
  font-size: 13px!important;
}
.cmplz-btn.cmplz-view-preferences,
.cmplz-btn.cmplz-save-preferences {
  background: transparent!important;
  border: none!important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 11px !important;
}
.cmplz-btn.cmplz-deny {
  background: transparent!important;
  color: rgba(255, 255, 255, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
}
.cmplz-cookiebanner {
  background: #0c244442 !important;
  /* opacité plus forte en fallback */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.cmplz-category-header {
  background: rgba(255, 255, 255, 0.15) !important;
}
.cmplz-category-header .cmplz-category-title {
  font-size: 12px!important;
  color: white!important;
}
.cmplz-category-header .cmplz-icon svg {
  height: 10px!important;
  top: -7px !important;
}
.cmplz-category-header .cmplz-icon svg path {
  fill: white;
}
.cmplz-description-functional {
  color: #FFF !important;
}
/*# sourceMappingURL=theme.css.map */