/*
Theme Name: Ergopix
Theme URI: https://www.ergopix.com
Update URI: https://www.ergopix.com
Author: ergopix sàrl
Version: 1.2
*/

:root {
	overscroll-behavior: none;
	--white-background: #FFFFF0;
	--sub-menu-padding-top: 120px;
	--wrapper-max-width: 1920px;
	--wrapper-home-max-width: 1720px;
	--wrapper-padding: 5.125rem;
	--normal-padding: 4rem;
	--big-padding: 6rem;
	--small-padding: 2rem;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: var(--white-background);
	font-size: 1.55rem;
}


/* -------------------------------- */ 
/* -------- STYLES GLOBAUX -------- */
/* -------------------------------- */ 


.wrapper-inside {
	max-width: var(--wrapper-max-width);
	margin-inline: auto;
	padding-inline: var(--wrapper-padding);
}

.container-page {
	padding-top: 165px;
}

.sticky {
	position: sticky;
	top: 140px;
}

ul.index-page {
	list-style-type: none;
	padding-left: 0;
	line-height: 160%;
}

ul.index-page li a {
	font-family: area-normal, sans-serif;
	font-size: 1.111rem;
}

.sidebar {
	font-family: area-normal, sans-serif;
	font-weight: 600;
	font-size: 1.11rem;
}

.sidebar .title {
	text-decoration: underline;
	text-underline-offset: 0.5em;
	text-decoration-thickness: 3px;
	margin-bottom: 1.5rem;
	line-height: 2rem;
}

.sidebar a {
	text-decoration: none;
}

.sidebar a.active {
	font-weight: 900;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .title-font, .subtitle-hero {
	font-family: area-normal, sans-serif;
	font-weight: 900;
	line-height: 1.2;
	text-wrap: balance;
}

.table td {
	background: var(--white-background);
	font-size: 1.33rem;
}

.subtitle-hero {
	max-width: 800px;
}

h1, .h1 {
	font-size: 5rem;
	font-weight: 900;
}

.hero-footer p {
	font-size: 1.25rem;
}

body.home h1{
	font-size: 3rem;
}

h2, .h2 {
	font-size: 3rem;
}

h3, .h3 {
	font-size: 1.555rem;
}

.h3-big {
	font-size: 2rem;
}

h2, h3, h4, h5, h6 {
	color: rgb(var(--page-color));
}

.color-50 h2 {
	color: var(--white-background);
}

main .st0,
main .cls-1 {
	fill: rgba(var(--page-color), 1)!important;
}

.hero.hero-home .cls-1 {
	fill: var(--bs-body-color);
}

main .cls-70,
main .cls-75 {
	fill: rgba(var(--page-color), 0.7)!important;
	stroke: rgba(var(--page-color), 0.7)!important;
}

main .cls-50 {
	fill: rgba(var(--page-color), 0.5)!important;
	stroke: rgba(var(--page-color), 0.5)!important;
}

main .cls-25 {
	fill: rgba(var(--page-color), 0.25)!important;
	stroke: rgba(var(--page-color), 0.25)!important;
}


main .color-50 .st0,
main .color-50 .cls-1 {
	fill: rgb(var(--page-color-50))!important;
}

main .st1 {
	fill:#FFFFF0!important;
}

.main-content {
	display: grid;
	grid-template-columns: 320px auto;
}

p {
	margin-bottom: 0;
}

p:not(:last-child),
ul:not(:last-child)  {
	margin-bottom: 1.5rem;
}

p,
.main-content li {
	font-size: 1.33rem;
	line-height: normal;
}

.big-font p {
	font-size: 1.55rem;
	line-height: normal;
}

strong,
p strong {
	font-weight: 700;
	line-height: normal;
}

.list-links {
	font-size: 1.33rem;
	padding: 1.5rem 5rem 1.5rem 1.5rem;
	border: solid 3px rgb(var(--page-color));
	border-radius: 46px;
	color: var(--white-background);
	background-color: rgba(var(--page-color));
}

.list-links h3 {
	color: var(--white-background);
}

.list-links li {
	line-height: normal;
}

.list-links a {
	color: var(--white-background);
}

.link-arrow-diag {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	t-index: 1;
	transition: all 0.25s ease-in-out;
	opacity: 0.5;
	font-size: 2rem;
	transform: scale(0.9);
}

.list-links li:hover ~ div.link-arrow-diag {
	transform: translate(8px, -8px) scale(1);
	opacity: 1;
}

.content-sections section {
	position: relative;
}

.btn-arrow {
	padding-right: 54px!important;
}

.btn-arrow > span {
	position: relative;
}

.btn-arrow > span::after {
	position: absolute;
	top: 2px;
	margin-left: .5rem !important;
	font-family: "Font Awesome 7 Pro";
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
	  font-feature-settings: normal;
	  font-style: normal;
	  font-synthesis: none;
	  font-variant: normal;
	  font-weight: 400;
	  line-height: 1;
	  text-align: center;
	  text-rendering: auto;
	  content: "\f061";
	  transition: transform 0.15s ease-in-out;
	  right: -30px;
}

.btn-arrow:hover > span::after {
	transform: translateX(10px);
}


.space-bottom {
	padding-bottom: var(--normal-padding);
}
.space-bottom-big {
	padding-bottom: var(--big-padding);
}
.space-bottom-small {
	padding-bottom: var(--small-padding);
}

.space-top {
	padding-top: var(--normal-padding);
}
.space-top-big {
	padding-top: var(--big-padding);
}
.space-top-small {
	padding-top: var(--small-padding);
}

.content-sections section {
	scroll-margin-top: 50px;
}

/* ---------------------------------- */ 
/* -------- GESTION COULEUR -------- */
/* --------------------------------- */ 

.inside-svg {
	max-width: 400px;
}

.single-produit {
	--page-color: var(--color-produits);
	--page-color-50: var(--color-produits-50);
	--color-rgb: var(--color-produits);
}

.single-thematique {
	--page-color: var(--color-thematiques);
	--page-color-50: var(--color-thematiques-50);
	--color-rgb: var(--color-thematiques);
}

.single-ressource {
	--page-color: var(--color-ressource);
	--page-color-50: var(--color-ressource-50);
	--color-rgb: var(--color-ressource);
}

.single-ressource {
	--page-color: var(--color-ressource);
	--page-color-50: var(--color-ressource-50);
	--color-rgb: var(--color-ressource);
}

.page-template-default {
	--page-color: var(--color-apropos);
	--page-color-50: var(--color-apropos-50);
	--color-rgb: var(--color-apropos);
}

.color-0 {
	--background-color: rgba(var(--color-rgb), 0);
}

.color-25 {
	--background-color: rgba(var(--color-rgb), .25);
}

.color-50 {
	--background-color: rgba(var(--color-rgb), .5);
}

.color-100 {
	--background-color: rgba(var(--color-rgb), 1);
}

.color-25::after, 
.color-50::after, 
.color-100::after {
	content:"";
	background-color: var(--background-color);
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	right: calc(-0.5*(100vw - var(--wrapper-max-width)) - var(--wrapper-padding));
	z-index: -1;
}

.color-whitish {
	color: var(--white-background);
}

/* -------------------------------- */ 
/* -------- HEADER ET MENU -------- */
/* -------------------------------- */ 

header {
	position: fixed;
	z-index: 3;
	top: 0;
	left: 0;
	right: 0;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10);
	font-size: 1.11rem;
	font-weight: 400;
	background-color: var(--white-background);
	font-family: area-normal, sans-serif;

} 

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
  display: flex;
  align-items: center;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-item {
	width: 100%;
}

header ul.main-menu {
	gap: 3rem;
}

header .main-menu a:hover,
header .main-menu a.current-menu-item {
	font-weight: 900;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
	text-underline-position: from-font;
}

.col-lang > ul {
	width: 200px;
}

.close-btn {
	position: absolute;
	top: var(--sub-menu-padding-top);
	right: 1.5rem;
	font-size: 2rem;
	color: var(--white-background);
}


body.sub-menu-open #sub-menu {
	transform: translateY(0)!important;
}

#sub-menu {
	z-index:2;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	transition: transform 0.5s ease;
	overflow: hidden;
	transform: translateZ(0);
	will-change: transform;
	font-family: area-normal, sans-serif;
}

.sub-menu-wrapper .tab-pane {
	padding-top: var(--sub-menu-padding-top);
	padding-bottom: 5rem;
}

.tab-pane {
	background-color: var(--white-background);
	background-image: linear-gradient(rgba(var(--color-rgb), 0.5), rgba(var(--color-rgb), 0.5));
	background-clip: padding-box;
	border-bottom: 2px solid transparent;
}

.text-menu {
	font-size: 1.33rem;
	font-weight: 900;
	color: #FFFFF0;
	max-width: 430px;
}

#sub-menu-product.tab-pane {
	--color-rgb: var(--color-produits);
}

#sub-menu-thematics.tab-pane {
	--color-rgb: var(--color-thematiques);
}

#sub-menu-ressources.tab-pane {
	--color-rgb: var(--color-ressource);	
}

#sub-menu-news.tab-pane {
	--color-rgb: var(--color-news);	
}

#sub-menu-apropos.tab-pane {
	--color-rgb: var(--color-apropos);	
}

.icon-product {
	width: 60px;
}

.icon-product > svg {
	max-height: 50px;
	margin:2px;
}

.smaller-svg {
	max-height: 500px;
}

main .st0.stroke-line {
	fill: none;
	stroke-miterlimit: 10;
	stroke-width: 3.57px;
	stroke: rgba(var(--color-rgb), 1);
}


.icon-product .st0 {
  fill: rgba(var(--color-rgb), 1);
  transition: fill 0.15s ease-in-out;
}

.icon-product .st1 {
	transition: fill 0.15s ease-in-out;
}

.btn:hover .icon-product .st0,
.btn.current-active .icon-product .st0 {
	fill: var(--white-background)!important;
}

.btn:hover .icon-product .st1,
.btn.current-active .icon-product .st1 {
	fill: rgba(var(--color-rgb), 1)!important;
}

.btn-produit {
	--color-rgb: var(--color-produits);
}

.btn-thematique {
	--color-rgb: var(--color-thematiques);
}

.btn-default {
	--color-rgb: var(--bs-body-color-rgb);
}

.btn {	
	font-size: 1.125rem;
	font-weight: 900;
	font-family: area-normal, sans-serif;
	box-shadow: rgba(var(--color-rgb), 1) 3px 3px 0px;
	
	display: inline-flex;
	align-items: center;
	line-height: 1;
	padding-top: 18px;
	padding-bottom: 20px;
	--bs-btn-border-radius: 25px;
	padding-left: 23px;
	padding-right: 22px;
	
	--bs-btn-bg: var(--white-background);
	--bs-btn-hover-bg: rgba(var(--color-rgb), 1);
	
	--bs-btn-color: rgba(var(--color-rgb), 1);
	--bs-btn-hover-color: var(--white-background);
	
	--bs-border-width: 3px;
	--bs-btn-border-color: rgba(var(--color-rgb), 1);
	--bs-btn-hover-border-color: var(--white-background);
	
	transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out, transform 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	
}

.btn.btn-big {
	font-size: 1.33rem;
}

.btn.current-active {
	--bs-btn-bg: rgba(var(--color-rgb), 1);
	--bs-btn-color: var(--white-background);
	--bs-btn-border-color: var(--white-background);
}

.btn-check:checked + .btn, 
.btn.active, 
.btn.show, 
.btn:first-child:active,
 :not(.btn-check) + .btn:active {
  color: var(--white-background);
  border-color: var(--white-background);
}

.btn-with-icon.btn {
	padding-top: 6px;
	padding-bottom: 7px;
	padding-left: 20px;
	height: 67px;
	text-align: start;
	line-height: 1.2;
}

.btn:hover, .btn.current-active {
	box-shadow: none;
	transform: translate(2px, 2px);
	box-shadow: rgba(var(--color-rgb), 1) 0px 0px 0px;
}

.arrow-icon {
	font-size: 1.33rem;
	transition: transform 0.15s ease-in-out;
}

.btn:hover .arrow-icon {
	transform: translateX(10px);
}

.hamburger {
	display: block;
	width: 42px;
	overflow: hidden;
	float: right;
}

.hamburger span {
	background: #333;
	display: block;
	height: 2px;
	margin: 9px 0;
	position: relative;
	transform: rotate(0);
	top: 0;
	left: 0;
	opacity: 1;
	transition: none .5s ease;
	transition-property: transform, top, left, opacity;
}

body .gform_wrapper.gravity-theme .gfield_label {
  font-size: 20px;
  font-weight: 700;
}

body .gform_wrapper.gravity-theme .gfield_header_item, 
body .gform_wrapper.gravity-theme .gform_fileupload_rules, 
body .gform_wrapper.gravity-theme .ginput_complex label {
  font-size: 20px;
  padding-top: 5px;
}

body.mm-wrapper--opened .hamburger span.top-bar {
	transform: rotate(45deg);
	top: 12px;
}

body.mm-wrapper--opened .hamburger span.middle-bar {
	opacity: 0;
}

body.mm-wrapper--opened .hamburger span.bottom-bar {
	transform: rotate(-45deg);
	top: -10px;
}

body.mm-wrapper--opened .hamburger span.middle-bar {
	left: -40px;
}

.mm-listview {
	margin-top: calc((var(--mm-listitem-size) - var(--mm-lineheight))/ 2);
}

.mm-listitem::after {
	display: none;
}

.mm-navbar__title img {
	padding: 15px 0;
}

body #wpml-ls-submenu-click-default {
  background-color: var(--white-background);
  margin-top: 12px;
	padding-bottom: 12px;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .wpml-ls-legacy-dropdown-click a:focus, .wpml-ls-legacy-dropdown-click a:hover {
  color: #000;
  background-color: var(--white-background);

}

.wpml-ls-legacy-dropdown-click a {
  display: block;
  text-decoration: none;
  color: #444;
  border: 0;
  background-color: var(--white-background);
  padding: 8px 10px;
	padding-right: 10px;
  line-height: 1;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
  border-top: 0;
}

.wpml-ls-legacy-dropdown-click {
  width: auto;
  max-width: 100%;
}

/* Icône "langue" devant la langue courante uniquement (pas dans le dropdown) */
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::before {
  font-family: "Font Awesome 7 Pro";
  font-weight: 300;
  content: "\f1ab";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: normal;
  font-style: normal;
  font-synthesis: none;
  font-variant: normal;
  line-height: 1;
  text-align: center;
  text-rendering: auto;
  font-size: 1.15em;
  margin-right: .4rem;
}

.chart-svg.small-chart {
	width: 300px;
	margin-bottom: 1rem;
	margin-top: 1rem;
	margin-right: 1rem;
}

/* Langues du dropdown alignées à droite sur le texte de la langue courante :
   on reprend simplement le padding-right du toggle, sous lequel WPML place
   sa flèche en absolu. */
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a {
  text-align: right;
  padding-right: calc(10px + 1.4em);
}

/* Le dropdown s'ancre sur le bord droit du toggle et non sur son bord gauche,
   pour que les bords droits coïncident même si un nom de langue est plus long */
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
  left: auto;
  right: 0;
}

/* ---------------------- */
/* -------- HERO -------- */
/* ---------------------- */ 

.subtitle-hero {
	font-size: 2rem;
}

.hero {
	padding-bottom: 80px;
}



/* ----------------------- */ 
/* -------- HOME -------- */
/* ---------------------- */ 

body.home .container-page {
  padding-top: 75px;
}

body.home .container-page .wrapper-inside {
	max-width: var(--wrapper-home-max-width);
}

.hero-home {
	background-color: #ededdf;
	padding-top: 90px;
	padding-bottom: 100px;
}

.hero-home .hero-subtitle {
	margin-top: 3.625rem;
	margin-bottom: 3.125rem;
	font-family: area-normal, sans-serif;
	font-size: 2.25rem;
	font-weight: 900;
	line-height: 1.2;
}
.hero-home .hero-content {
	font-family: "Afacad";
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 2.5rem;
}

.section-home {
	margin-top: 150px;
}

.section-home.section-ressources {
	--page-color: var(--color-ressource);
	--page-color-50: var(--color-ressource-50);
	--color-rgb: var(--color-ressource);
}

.section-home.section-produits {
	--page-color: var(--color-produits);
	--page-color-50: var(--color-produits-50);
	--color-rgb: var(--color-produits);
}

.section-home.section-thematiques {
	--page-color: var(--color-thematiques);
	--page-color-50: var(--color-thematiques-50);
	--color-rgb: var(--color-thematiques);
}

.section-home.section-end {
  --page-color: var(--bs-body-color-rgb);
  --page-color-50: var(--color-ressource-50);
  --color-rgb: var(--bs-body-color-rgb);
}

/* --color-rgb reste hérité : le fond de .color-wrapper n'est pas modifié */
.section-home.section-newsletter {
	--page-color: var(--color-apropos);
}

.section-home.section-end .color-wrapper {
  padding-top: 1rem;
  background-color: #ededdf;
}

.color-wrapper {
	padding-top: 1rem;
	background-color: rgba(var(--color-rgb), .25);
	padding-bottom: 4rem;
}

.title-section-home {
	margin-bottom: 1.66rem;
}

.section-home .list-encart h3 {
	font-size: 2rem;
	margin-bottom: 1rem;
}

.section-home .list-encart p {
	color: rgb(var(--page-color));
	font-family: area-normal, sans-serif;
	font-size: 1.25rem;
	line-height: 1.4;
	font-weight: 900;
}

.hero .picto-home .st0 {
	fill: rgb(var(--bs-body-color-rgb));
}

section:not(.hero) .picto-home .st0 {
	fill: rgb(var(--page-color));
}

/* -------------------------- */ 
/* -------- LAYOUTS -------- */
/* -------------------------- */ 

.picto-produit > svg {
	max-height: 400px;
}

/* .legal-picto {
	margin-top: -50px; 
	margin-bottom: -50px;
} */

.bref-picto {
	margin-top: -100px; 
	margin-bottom: -50px;
}

.encart {
	padding: 1.5rem 2.25rem;
	background-color: var(--white-background);
	border: solid 3px rgba(var(--page-color), 1);
	border-radius: 46px;
}

.enjeux p {
	font-size: 1.33rem;
}

.list-encart,
.encart {
	margin-top: 1rem;
	padding: 1.5rem 2.25rem;
	background-color: var(--white-background);
	border: solid 3px rgba(var(--page-color), 1);
	border-radius: 46px;
}

.list-encart ol {
	list-style: none;
	color: rgba(var(--page-color), 1);
	padding-left: 0;
}

.list-encart li {
	display: flex;
	font-size: 1.33rem;
	font-weight: 900;
	font-family: area-normal, sans-serif;
	line-height: 1.2;
}

.list-encart .number,
.encart .number  {
	width: 80px;
	font-size: 55px;
	flex-shrink: 0;
	line-height: 1;
}

.encart .number {
	color: rgba(var(--page-color), 1);
}

.list-encart li:not(:last-child) {
	border-bottom: solid 2px rgba(var(--page-color), 1);
	padding-bottom: 1.5rem;
}

.list-encart li:not(:first-child) {
	padding-top : 1.25rem;
}

.contenu_simple_une_colonne h2 {
	margin-bottom: 3rem;
}

.btn-search {
	font-size: 1.500rem;
	cursor: pointer;
}

.the-content ul {}

.the-content ol {}

.the-content ul li, .the-content ol li {}

.the-content *:last-child {
	margin-bottom: 0;
}

.list-inline li {
	display: inline-block;
}

.list-inline li:not(:last-child) {
	margin-right: .5rem;
}

.main-menu li a {
	display: inline-block;
	text-decoration: none;
}

.accordion-body .the-content p:last-child, .content-with-bg p:last-child {
	margin-bottom: 0;
}

body .gform_confirmation_wrapper {
	border-radius: 0;
	border: 1px solid var(--bs-success-border-subtle);
	box-shadow: none;
	padding: 16px;
	position: relative;
	background-color: var(--bs-success-bg-subtle);
	width: 100%;
	color: var(--bs-success-text-emphasis);
	text-align: center;
}

.global-carousel .slick-track {
	display: flex !important;
}

.global-carousel .slick-slide {
	height: inherit !important;
	margin-left: .75rem;
	margin-right: .75rem;
}

.slick-dots {
	list-style-type: none;
	padding: 0;
	margin: 54px 0 0px 0;
	line-height: 0;
	text-align: center;
	height: max-content;
}

.slick-dots li {
	display: inline-block;
	margin-right: 12px;
}

.slick-dots li:last-child {
	margin-right: 0;
}

.slick-dots button {
	font-size: 0;
	padding: 0;
	width: 10px;
	height: 10px;
	line-height: 0;
	border-radius: 9999px;
	border: 1px solid var(--bs-primary);
	background-color: transparent;
	transition: all ease 0.4s;
	position: relative;
}

.slick-dots .slick-active button {
	background-color: var(--bs-primary);
}

.slick-arrow {
	--pos-x: -30px;
	display: inline-block;
	padding: 0;
	background-color: var(--bs-primary);
	color: var(--bs-white);
	position: absolute;
	top: 247px;
	border: none;
	border-radius: 50%;
	right: var(--pos-x, 58px);
	width: var(--icon-size, 80px);
	height: var(--icon-size, 80px);
	line-height: var(--icon-size, 80px);
	font-size: var(--icon-font-size, 18px);
	margin-top: calc(var(--icon-size, 80px) / -1);
	z-index: 2;
	opacity: 1;
	transition: .5s;
}

.slick-arrow.default {
	position: relative;
	--pos-x: 0;
	margin-top: 0;
}

.slick-arrow.slick-prev {
	right: auto;
	left: var(--pos-x, 58px);
}

.slick-arrow:hover {
	opacity: 1;
	background-color: var(--bs-btn-hover-border-color);
	color: var(--bs-btn-hover-color);
}

.arrow-margin .slick-arrow {
	top: calc(50% - 30px);
}

.logo-grid .logo-item {
	aspect-ratio: 2/1;
	background: #FFF;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	border: 1px solid #e9ecef;
	position: relative;
	top: 0;
}

.logo-grid img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

.accordion-button:focus {
  box-shadow: none;
}

.accordion-button{
	font-size: 1.25rem;
}

/* -------------------------------------- */
/* -------- ACCORDÉONS (modules) -------- */
/* -------------------------------------- */

/* Portée limitée aux sections "contenu_acc_lien" : la règle .accordion-button
   ci-dessus reste en vigueur pour les autres accordéons du site. */
.contenu_acc_lien .accordion,
.contenu_acc .accordion {
	--bs-accordion-bg: var(--white-background);
	--bs-accordion-border-color: rgba(var(--color-rgb), 1);
	--bs-accordion-border-width: 3px;
	--bs-accordion-border-radius: 25px;
	/* Bootstrap fige cette valeur à la compilation, elle ne suit donc pas les
	   deux variables ci-dessus : on la recalcule pour que les angles des header
	   du premier et du dernier élément ne rognent pas les arrondis. */
	--bs-accordion-inner-border-radius: calc(25px - 3px);
	--bs-accordion-btn-color: rgba(var(--color-rgb), 1);
	--bs-accordion-btn-padding-x: 2rem;
	--bs-accordion-active-color: var(--white-background);
	--bs-accordion-active-bg: rgba(var(--color-rgb), 1);
	/* Chevron redessiné en tracé (Bootstrap le fournit en aplat, sans épaisseur
	   réglable) : c'est le stroke-width ci-dessous qui règle la largeur du trait. */
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5.5 8 11.5 14 5.5'/%3e%3c/svg%3e");
}

.contenu_acc_lien .accordion-button,
.contenu_acc .accordion-button {
	font-size: 1.15rem;
	font-weight: 900;
	line-height: 1.5;
}

/* La flèche est peinte en currentColor via un masque plutôt qu'avec l'image
   figée de Bootstrap : elle s'inverse ainsi avec le texte à l'ouverture. */
.contenu_acc_lien .accordion-button::after,
.contenu_acc_lien .accordion-button:not(.collapsed)::after,
.contenu_acc .accordion-button::after,
.contenu_acc .accordion-button:not(.collapsed)::after {
	background-image: none;
	background-color: currentColor;
	-webkit-mask-image: var(--bs-accordion-btn-icon);
	mask-image: var(--bs-accordion-btn-icon);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* --------------------------------- */ 
/* -------- Animation (AOS) -------- */
/* --------------------------------- */ 


[data-aos=fade-up] { 
  transform: translate3d(0,50px,0); // or another value you need
}

.banner-lang {
	background-color: #b47958;
	color: var(--white-background);
	line-height: 1.4;
}

.banner-lang.header {
	padding-top: 75px;
}


footer {
	font-size: 1.33rem;
	line-height: normal;
	font-family: "Afacad";
	background-color: #4A4A49;
	color: var(--white-background);
}

footer h4,
footer h5  {
	color: var(--white-background);
}

footer form .inf-rgpd,
.section-newsletter form .inf-rgpd {
	font-size: 1.2rem;
}

/* ---- Formulaire newsletter (footer + accueil) ---- */

/* Champ e-mail et bouton accolés sur une même ligne. Les autres enfants de
   .inf-content (mention RGPD, altcha) sont renvoyés sur leur propre ligne ;
   les <script> étant en display:none, ils ne deviennent pas des éléments flex. */
footer .inf-content,
.section-newsletter .inf-content {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

footer .inf-content > *:not(.inf-input):not(.inf-submit),
.section-newsletter .inf-content > *:not(.inf-input):not(.inf-submit) {
	flex: 0 0 100%;
}

/* flex-basis à 0 et non auto : le passage à la ligne d'un conteneur flex se
   décide sur les tailles de base, avant compression. Avec "auto", la largeur
   intrinsèque du champ (size=20) suffit à faire basculer le bouton en dessous
   sous ~1670px, sans que flex-shrink puisse intervenir. */
footer .inf-input,
.section-newsletter .inf-input {
	display: flex;
	flex: 1 1 0;
	min-width: 0;
}

footer .inf-input,
.section-newsletter .inf-input {
	max-width: 400px;
}

footer .inf-input input[type="email"],
.section-newsletter .inf-input input[type="email"] {
	width: 100%;
	min-width: 0; /* autorise le champ à se réduire dans son conteneur */
	margin-bottom: 0 !important; /* .mb-3 de Bootstrap est déclaré en !important */
	background-color: var(--white-background);
	border: 0;
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
}

footer .inf-submit,
.section-newsletter .inf-submit {
	position: relative; /* ancre la flèche ci-dessous */
	flex: 0 0 auto;
}



footer .inf-submit input[type="submit"],
.section-newsletter .inf-submit input[type="submit"] {
	margin-top: 0 !important; /* neutralise le style inline des templates */
	font-size: 0;             /* masque la valeur "Envoyer" */
	/* angles carrés côté champ, pour que les deux blocs se joignent */
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border: 0;
	height: 100%;
	border-top-right-radius: 16px;
	border-bottom-right-radius: 16px;
	box-shadow: none; /* annule l'ombre portée de .btn */
}

/* La flèche est portée par le conteneur : un <input> n'accepte pas de
   pseudo-élément. Le clic doit donc la traverser pour atteindre le bouton. */
footer .inf-submit::after,
.section-newsletter .inf-submit::after {
	content: "\f061"; /* fa-arrow-right */
	font-family: "Font Awesome 7 Sharp", "Font Awesome 7 Pro";
	font-weight: 400;  /* fa-regular */
	font-size: 1.125rem;
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	transition: color 0.15s ease-in-out;
}

/* .btn:hover décale le bouton de 2px : on le fige, la flèche ne bouge donc plus */
footer .inf-submit input[type="submit"]:hover,
.section-newsletter .inf-submit input[type="submit"]:hover {
	transform: none;
	box-shadow: none;
}

/* Footer : bouton gris, flèche claire ; les deux s'inversent au survol */
footer .inf-submit input[type="submit"] {
	--bs-btn-bg: #777773;
	--bs-btn-hover-bg: var(--white-background);
}

footer .inf-submit::after {
	color: var(--white-background);
}

footer .inf-submit:hover::after {
	color: #4A4A49;
}

/* Accueil : bouton à la couleur de la page, flèche claire ; inversion au survol */
.section-newsletter .inf-submit input[type="submit"] {
	--bs-btn-bg: rgb(var(--page-color));
	--bs-btn-hover-bg: var(--white-background);
}

.section-newsletter .inf-submit::after {
	color: var(--white-background);
}

.section-newsletter .inf-submit:hover::after {
	color: rgb(var(--page-color));
}

.section-newsletter form .inf-rgpd {
	color: rgb(var(--page-color));
}

/* Mention RGPD affichée uniquement pendant la saisie de l'e-mail */
footer form .inf-rgpd,
.section-newsletter form .inf-rgpd {
	display: none;
}

footer form .inf-input:focus-within ~ .inf-rgpd,
.section-newsletter form .inf-input:focus-within ~ .inf-rgpd {
	display: block;
	margin-top: .75rem;
}

footer a {
	color: var(--white-background);
	text-decoration: underline;
}

footer .footer-bottom {
	font-size: 1.11rem;
}

@media (max-width: 1920px) {
	.slick-arrow {
		--pos-x: 42px;
	}
	
	.color-25::after, 
	.color-50::after, 
	.color-100::after {
		content:"";
		background-color: var(--background-color);
		position: absolute;
		width: 100vw;
		height: 100%;
		top: 0;
		right: calc(-1*var(--wrapper-padding));
		z-index: -1;
	}
}


@media (max-width: 1600px) {
	.main-content {
		display: grid;
		grid-template-columns: 240px auto;
	}
	
	body.home .container-page {
	  padding-top: 67px;
	}
	
	header ul.main-menu {
		gap: 2rem;
	}
	
	header .logo > img {
		max-width: 160px;
	}
	
	:root {
		--wrapper-padding: 4.125rem;
		--sub-menu-padding-top: 110px;
	}
	
	header {
		font-size: 1rem;
	}
	
	.col-lang > ul {
		width: 160px;
	}
	
	.container-page {
	  padding-top: 135px;
	}
	
	.hero {
	  padding-bottom: 60px;
	}
	
	.text-menu {
	  font-size: 1.25rem;
	}
	
	.icon-product {
	  width: 52px;
	}
	
	.icon-product > svg {
	  max-height: 40px;
	}
	
	.btn-with-icon.btn {
	  height: 60px;
	}
	
	.btn {
	  padding-top: 13px;
	  padding-bottom: 15px;
	}
	
	.btn.btn-big {
		font-size: 1.125rem;
	}
	
}


@media (max-width: 1200px) {
	.slick-arrow {
		--pos-x: 42px;
	}
}

@media (max-width: 1199px) {
	
	:root {
		--normal-padding: 2rem;
		--big-padding: 4rem;
	}
		
	.slick-arrow {
		--icon-size: 60px;
		--pos-x: -20px;
		top: 176px;
	}
	
	
	
	.sidebar.space-top,
	.section-introduction.space-top  {
		padding-top: 1.5rem;
	}
	
	.picto-produit {
		margin-top: -60px;
		margin-bottom: -10px;
		max-width: 300px;
	}
	
	.legal-picto {
		margin-top: 10x; 
		margin-bottom: 20px;
		max-width: 300px!important;
	}
	
	.bref-picto {
		margin-top: -50px; 
		margin-bottom: -50px;
		max-width: 300px!important;
	}
	
	.parler-picto {
		max-width: 300px!important;
	}
	
	h1, .h1 {
	  font-size: 4rem;
	}
	
	h2, .h2 {
	  font-size: 2.33rem;
	}
	.subtitle-hero {
	  font-size: 2rem;
	}
}

@media (max-width: 991px) {
	.slick-dots {
		margin: 1.5rem 0 0 0;
	}
	
	.icon-box .slick-arrow {
		margin-right: 0;
	}
	
	.space {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	
	:root {
		--wrapper-padding: 2.5rem;
	}
	
	h1, .h1 {
	  font-size: 3.33rem;
	}
	
	.subtitle-hero {
	  font-size: 1.66rem;
	}
}

@media (max-width: 767.98px) {
	.col-lang > ul {
		width: auto;
	}
	:root {
		--wrapper-padding: 1rem;
	}
	
	.main-content {
		grid-template-columns: auto;
	}
	
	.sidebar {
		display: none;
	}
}

@media (max-width: 575.98px) {
	
	:root {
		--normal-padding: 1rem;
		--wrapper-padding: 0.75rem;
		--big-padding: 2rem;
		--small-padding: 1rem;
		
	}
	
	.contenu_acc_lien .accordion, .contenu_acc .accordion {
	  --bs-accordion-btn-padding-x: 1rem;
	}
	
	.contenu_acc_lien .accordion-button, .contenu_acc .accordion-button {
	  font-size: 1rem;
	  font-weight: 600;
	  line-height: 1.5;
	}
	
	h3, .h3 {
	  font-size: 1.33rem;
	}
	
	ol, ul {
	  padding-left: 1.25rem;
	}
	
	.list-links {
	  padding: 1.5rem 4rem 1.5rem 1.5rem;
	}
	
	p, .main-content li {
	  font-size: 1.25rem;
	  line-height: normal;
	}
	
	.enjeux p {
	  font-size: 1.25rem;
	}
	
	.list-encart .number, .encart .number {
	  width: 45px;
	  font-size: 35px;
	  flex-shrink: 0;
	  line-height: 1;
	}
	
	.list-encart li {
	  font-size: 1rem;
	}
	
	.hero-home {
	  padding-top: 20px;
	  padding-bottom: 40px;
	}
	
	.picto-produit > svg {
	  max-height: 150px;
	}
	
	.smaller-svg {
	  max-height: 200px;
	}
	
	.container-page {
		padding-top: 107px;
	}
	
	h1, .h1, body.home h1  {
		font-size: 2.33rem;
	}

	h2, .h2 {
		font-size: 1.75rem;
	}
	
	.section-home .list-encart h3 {
	  font-size: 1.5rem;
	}
	
	.inside-svg {
	  max-width: 200px;
	}
	
	.sidebar.space-top, .section-introduction.space-top {
		padding-top: 1rem;
	}
	
	.postid-952 #section-1 .inside-svg {
		margin-top: -50px;
		margin-bottom: -50px;
	}
	
	.hero {
		padding-bottom: 20px;
	}
	
	.big-font p {
	  font-size: 1.25rem;
	  line-height: normal;
	}
	
	.space {
		padding-top: 1rem;
		padding-bottom:1rem;
	  }
	
	.picto-produit {
		margin-top: 10px!important;
		margin-bottom: 20px!important;
		padding-inline: 0px!important;
		max-width: 200px!important;
	  }
	
	.section-home .list-encart p {
	  font-size: 1.15rem;
	}
	
	.list-encart, .encart {
	  padding: 1.25rem 1.5rem;
	}
	
	.section-home {
	  margin-top: 55px;
	}
	
	.hero-home .hero-subtitle {
	  margin-top: 2rem;
	  margin-bottom: 1.75rem;
	  font-size: 1.75rem;
	}
	
	.hero-home .hero-content {
	  font-size: 1.33rem;
	  margin-bottom: 1.75rem;
	}
}