:root {
	--lab-primary: #e79D2E;
	--lab-gradient-orange: linear-gradient(-90deg, #E99F13, #F1DC1C);
	--lab-gradient-green: linear-gradient(-90deg, #93BF20, #B8E73E);
}

/* ---------------------- Utility classes ---------------------------*/

.tiny {max-width: min(100% - 4rem, 600px) !important; margin-inline: auto;}
.narrow {max-width: min(100% - 4rem, 800px) !important; margin-inline: auto;}
.medium {max-width: min(100% - 4rem, 1000px) !important; margin-inline: auto;}
.wide {max-width: min(100% - 4rem, 1300px) !important; margin-inline: auto;}
.ultrawide {max-width: min(100% - 4rem, 1600px) !important; margin-inline: auto;}

.size-medium { max-width: min(100% - 32px, 900px); margin-inline: auto; }

.margarine { font-family: Margarine, sans-serif;}
.fake-h2 {font-size: 30px; font-family: Margarine, sans-serif; color: var(--primary-color)}

.overflow-y-hidden {
	overflow-y: hidden;
}

/* ---------------------- Général ---------------------- */

h1 {
	font-size: clamp(3.5rem, 6vw, 4.8rem) !important;
} 

a {
	--bs-link-color: #e79D2E;
	--bs-link-hover-color: #e79D2E;
}

.entry-content {
	font-size: 2.1rem;
}

@media screen and (max-width: 700px) {
	.entry-content {
		font-size: 1.6rem;
	}
}

.entry-content cite {
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif !important;
	color:#555;
}

@media screen and (max-width: 700px) {
	cite {
		font-size: 1.5rem !important;
	}
}

@media (min-width: 700px) {
	.entry-content .wp-block-columns h1 {
		margin: 0 0 2rem
	}
}

/* --------------------- Composants -------------------------------- */

.btn-gradient {
    display: block;
    border-radius: 100px;
    padding: 0.8em 2em;
    text-align: center;
    max-width: fit-content;
    margin-inline: auto;

    background-color: white;
    font-weight: bold;
    font-size: 1em;
	text-decoration: none;
}
    
.btn-gradient > .btn-gradient__txt {
	position: relative;
	background-image: var(--lab-gradient-orange);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.btn-gradient > .btn-gradient__txt::before {
	content: "";
	position: absolute;
	inset: 100% 0 auto 0;
	height: 2px;
	background-image: var(--lab-gradient-orange);
}

.btn-gradient--primary > .btn-gradient__txt {
	background-image: var(--lab-gradient-orange);
}

.btn-gradient::before {
	background-image: var(--lab-gradient-orange);
}

.btn-gradient--secondary > .btn-gradient__txt {
	background-image: var(--lab-gradient-green);
}

.btn-gradient::before {
	background-image: var(--lab-gradient-green);
}

/* --------------------- Bannière de don --------------------------- */

.banner {
    --btn-size: 1em;

    text-align: center;    
    color: white;
    font-size: clamp(1.6rem, 3vw, 2.2rem);

    background-color: var(--lab-primary);
    padding-block: 10px;

}

.banner > .banner__inner {
	position: relative;

	max-width: calc(100% - 32px);
	margin-inline: auto;
}

.banner > .banner__inner > p {
	margin-inline: calc(var(--btn-size) + 15px);
}

.banner > .banner__inner > button {
	position: absolute;
	inset: 50% 0 auto auto;
	translate: 0% -50%;

	width: var(--btn-size);
	height: var(--btn-size);

	padding: 0;
}

/* Start - NAVIGATION */

#site-header {
    position: sticky;
    z-index: 1000;
    /* Modifié via l'attribut HTML "style" en JS */
    top: var(--header-offset, 0px);
    transition: top 250ms ease-in-out;

    background-color: white;
    box-shadow: 0 2px 3px rgb(230, 230, 230);
}

.primary-navigation {
    display: flex;
    justify-content: space-between;
    gap: 1rem;

    max-width: min(100% - 1rem, 1600px);
    margin-inline: auto;

    padding: 0.5rem;
}

.primary-navigation .logo {
    align-self: end;

    max-width: clamp(200px, 60vw, 100%);
    height: 100%;
}

.primary-navigation .nav-items {
	flex-grow: 1;
    
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 1rem;
	
    padding: 0;
    margin: 0;

    list-style-type: none;
}

.primary-navigation .menu-toggle {
    display: none;

    background-color: transparent;
    border: none;
	
	padding: 0;
}

.primary-navigation .nav-link.mobile-only {
	display: none;
}

@media screen and (max-width: 900px) {
    .primary-navigation .menu-toggle {
        align-self: flex-end;
        display: block;
    }
    
    .primary-navigation .nav-items {		
        position: absolute;
        inset: 100% 0 auto 0;

        display: none;

        background: white;
        box-shadow: 0 3px 3px rgb(230, 230, 230);
    }
	
	.primary-navigation .nav-link.mobile-only {
		align-self: end;
		
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
		
		font-size: clamp(1.1rem, 3vw, 1.3rem);
		line-height: 1;
	}
	
	.primary-navigation .nav-link.mobile-only i {
		font-size: 1.5em;
	}
	
	.primary-navigation .nav-item.desktop-only {
		display: none;
	}
	
	.primary-navigation > div:last-of-type {
		justify-content: flex-end;
	}
	
	.primary-navigation > div:last-of-type > .nav-items {
		align-items: center;
	}

    .primary-navigation .nav-items.open {
        display: flex;
        align-items: flex-start;
        flex-direction: column;

        padding: 1rem;
    }

}

.primary-navigation .nav-item {
    padding: 0;
    margin: 0;
}

.primary-navigation .nav-link {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.6rem;
	color: #555;
	text-decoration: none;
}

.primary-navigation .nav-link:hover {
	color: var(--primary-color);
}

/* --- Barre de navigation inférieure --- */

.header-navigation-wrapper {
	display: flex !important;
}

.primary-menu-wrapper {
	display: block !important;
}

.header-inner {
	display: flex;
	column-gap: 2rem;
	justify-content: space-between;
}

.header-titles-wrapper {
    padding: 0;
    gap: 2rem;
}

.header-titles {
	flex-grow: 1;
	margin: 0;
}

.header-titles .site-logo {
    margin: 0;
}

.custom-logo {
    max-width: 100%;
    height: auto;
}

ul.primary-menu {
	margin: 0;
}

.primary-menu > li {
	margin: 0 2rem 0 0;
}

.menu-item-has-children a {
	display: inline;
}

.primary-menu > li.menu-item-has-children > a {
	margin: 0 1rem 0 0;
	padding: 0;
}

.menu-item-has-children .icon {
	position: relative;
	display: inline-block;
	transform: translateY(-50%) rotate(-45deg);
}


.menu-item a > i {
	font-size: 1.75em;
}

div.header-inner {
	padding: 1rem 1rem;
}

@media screen and (max-width: 750px) {
	.menu-item .sub-menu {
		width: clamp(11.5rem, 33vw, 22rem) !important;
	}
	
	.header-navigation-wrapper {
		flex-grow: 1;
	}
	
	.primary-menu-wrapper {
		flex-grow: 1;
	}
	
	.header-titles-wrapper {
		display: none;
	}
	
	ul.primary-menu {
		padding-left: 0;
		flex-wrap: nowrap;
		justify-content: space-around;
		gap: 0.8rem !important;
	}
	
	/* Comment this block */
	.menu-item {
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.menu-item a {
		/* Comment this block */
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
		
		text-align: center;
		font-size: clamp(1.1rem, 3vw, 1.6rem);
		
		margin: 0 !important;
		padding: 0 !important;
	}
	
	#menu-item-1132 a {
		padding-block: 0.5rem !important;
	}
}

@media screen and (min-width: 750px) {
	.menu-item a > i {
		display: none;
	}
}


@media screen and (max-width: 750px) {
	.menu-item-has-children .icon {
		display: none;
	}
}

#menu-item-1033,
#menu-item-1132 {
	margin-right: 0;
}

.nav-toggle {
    position: relative;
    inset: 5px 0 0 0;
}

.header-inner .toggle {
	display: none !important;
}

.toggle-inner {
	height: auto;
	flex-direction: column;
	align-items: center;
}

.nav-toggle {
    width: auto;
}

.nav-toggle .toggle-inner {
	padding: 0;
}

.toggle-text {
    line-height: 1;
}

.toggle-inner .toggle-text {
	position: static;
}

.toggle-icon {
    margin-bottom: 1rem;
}

/* --- Menu dépliant (desktop) */

.primary-menu ul a {
	color:#e79D2E;
}

/* --- Menu hamburger (mobile) --- */

button.close-nav-toggle {
	padding-block: 1rem;
}

.modal-menu > li > .ancestor-wrapper > a {
	padding: 1.5rem 0;
}

.header-inner {
	padding: 0 2rem;
    width: auto;
}

.menu-modal {
	padding-top: 1.5rem;
}








ul.sub-menu {
	display: flex;
	flex-direction: column;
	row-gap: 1.5rem;
	padding: 2rem;
}

#site-header {
	padding-block: 0;
}

#site-header .header-inner {
	max-width: 168rem;
}

#site-header .header-inner, .header-navigation-wrapper, #site-header .primary-menu {
	align-items: stretch;
}

.header-navigation-wrapper {
	align-items: stretch;
}

#site-header .primary-menu {
	min-height: 100%;
}

#site-header .primary-menu {
	align-items: center;
	gap: 0;
}

#site-header .primary-menu .menu-item-object-custom, #site-header .primary-menu > .menu-item:first-child {
	margin-right: 2rem;
}

#site-header .primary-menu #menu-item-1033, #site-header .primary-menu #menu-item-1132 {
	align-self: stretch;
	display: flex;
	align-items: center;
	border-radius: 0;
}

#site-header .header-titles {
	padding-block: 0.5rem;
}

.header-inner .primary-menu .menu-item-1257, 
.header-inner .primary-menu .menu-item-1033 {
	padding: 0;
}

.header-inner .primary-menu :not(.menu-item-has-children) a {
	height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding-inline: 1rem;
}

/* --------------------- Pied de page ------------------------*/

#site-footer .section-inner > * {
	word-break: keep-all;
	white-space: nowrap;
}

#site-footer .section-inner {
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
}

#site-footer .footer-credits {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 1.5rem;
}

/* ----------------- Navigation (new) ------------------ */

.lab-navbar {
  padding-block: 16px;
  color: #555;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(1.2rem, 3vw, 1.6rem);
  box-shadow: 0px 2px 3px rgb(230, 230, 230);
}
.lab-navbar li {
	margin: 0;
	padding: 0;
}
.lab-navbar a {
	color: #555;
	text-decoration: none;
}
.lab-navbar a:hover {
	color: #E99F13;
}
.lab-navbar ul {
	list-style-type: none;
}
.lab-navbar .submenu {
	margin: 0;
	padding: 0.8rem 0 0.8rem 1.6rem;
	
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.lab-navbar
.lab-navbar a:hover {
	color: #555;
	text-decoration: none;
}
.lab-navbar__nav {
  margin-inline: auto;
  max-width: min(100% - 32px, 1200px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  white-space: nowrap;
}
.lab-navbar__logo-link {
  order: 1;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 150px;
  max-width: 250px;
}
.lab-navbar__logo-link[data-module-title] {
  position: relative;
  color: #E99F13;
  font-family: Margarine, sans-serif;
}
.lab-navbar__logo-link[data-module-title]::after {
  content: attr(data-module-title);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0%;
}
.lab-navbar__logo {
  max-width: 100%;
}
.lab-navbar__member {
  order: 3;
  flex-grow: 0;
  flex-shrink: 0;
}
.lab-navbar__items {
  order: 2;
  flex-grow: 1;
  flex-shrink: 1;
  display: flex;
  align-items: center;
  justify-content: end;
  column-gap: 32px;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.lab-navbar__item {
  margin: 0;
}
.lab-navbar__icon {
  display: none;
  font-size: 1.35em;
}
.lab-navbar__dropdown-menu {
  width: 250px;
  font-size: 1.6rem !important;
}
.lab-navbar__dropdown-menu > li:not(:last-child) {
  margin-bottom: 8px;
}
.lab-navbar__dropdown-toggle {
  background: transparent;
  border: none;
  color: #555;
  font-size: inherit;
  font-family: inherit;
  font-weight: normal;
  padding: 0;
}
@media screen and (max-width: 992px) {
  .lab-navbar__member {
    order: 2;
  }
  .lab-navbar__item > .dropdown > .dropdown-toggle, .lab-navbar__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 8px;
  }
  .lab-navbar__icon {
    display: inline;
  }
  .lab-navbar__items {
    order: 3;
    flex-basis: 100%;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    align-items: start;
    justify-items: center;
    column-gap: 16px;
  }
}