/*!
Theme Name: TRL39
Theme URI: https://them.es/starter
Author: Valentin Laubacher
Author URI: https://www.studiovitamine.com
Description: TRL39
Version: 3.6.1
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Tags: custom-background, custom-colors, featured-images, flexible-header, microformats, post-formats, rtl-language-support, theme-options, translation-ready, accessibility-ready
Text Domain: trl39
*/

/* ============================================
   IMPORTS
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap');

/* ============================================
   VARIABLES
   ============================================ */

:root {
	/* Couleurs */
	--color-bleu: #000334;
	--color-cyan: #00A388;
	--color-gray: #6C757D;
	--color-dark: #17181C;
	--color-white: #FFFFFF;
	--color-black: #000000;
	--color-light-bg: #EAEDE2;
	--grey-light: #D8D8D8;
	--dark-grey: #393939;

	/* Typographie */
	--font-family: 'Lato', sans-serif;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-bold: 700;

	/* Tailles de texte */
	--font-size-h1: 50px;
	--font-size-h2: 40px;
	--font-size-h3: 18px;
	--font-size-body: 16px;
}

/* ============================================
   BASE & RESET
   ============================================ */

html body {
	font-family: var(--font-family);
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-regular);
	line-height: 1.6;
	color: var(--color-black);
}

/* ============================================
   UTILITAIRES - PADDING
   ============================================ */

/* Padding Top */
.pt-15 {
	padding-top: 15px;
}

.pt-30 {
	padding-top: 30px;
}

.pt-50 {
	padding-top: 50px;
}

.pt-60 {
	padding-top: 60px;
}

.pt-100 {
	padding-top: 100px;
}

/* Padding Bottom */
.pb-15 {
	padding-bottom: 15px;
}

.pb-30 {
	padding-bottom: 30px;
}

.pb-50 {
	padding-bottom: 50px;
}

.pb-60 {
	padding-bottom: 60px;
}

.pb-100 {
	padding-bottom: 100px;
}

/* ============================================
   UTILITAIRES - MARGIN
   ============================================ */

/* Margin Top */
.mt-15 {
	margin-top: 15px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-50 {
	margin-top: 50px;
}

.mt-60 {
	margin-top: 60px;
}

.mt-100 {
	margin-top: 100px;
}

/* Margin Bottom */
.mb-15 {
	margin-bottom: 15px;
}

.mb-30 {
	margin-bottom: 30px;
}

.mb-50 {
	margin-bottom: 50px;
}

.mb-60 {
	margin-bottom: 60px;
}

.mb-100 {
	margin-bottom: 100px;
}

/* ============================================
   TYPOGRAPHIE
   ============================================ */

/* H1 */
body h1,
body .h1 {
	font-size: var(--font-size-h1);
	font-weight: var(--font-weight-regular);
	line-height: 160%;
}

/* H2 */
body h2,
body .h2 {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-cyan);
}

/* H3 */
body h3,
body .h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	color: #000334;
	text-transform: uppercase;
	position: relative;
	margin-bottom: 0;
}

body h3::after,
body .h3::after {
	content: '';
	display: block;
	width: 100px;
	height: 1px;
	background-color: var(--color-cyan);
	margin-top: 5px;
  margin-bottom: 20px;
}

/* Texte courant */
p,
.text {
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-regular);
	line-height: 160%;
	margin-bottom: 25px;
}
/* ========================================
   VISUAL COMPOSER FIXES
   ======================================== */
   body .vc_row {
	margin-left: -15px;
	margin-right: -15px;
}
 .content .wpb-content-wrapper .vc_row{
	   margin-bottom: 90px;
   }
/* ============================================
   HEADER
   ============================================ */
   .p-30{
	padding: 30px;
}
.hero-home{

}
.hero-home .vc_row-has-fill > .vc_column_container > .vc_column-inner{

	padding: 50px;
	padding-left: 40%;
}
.hero-home .bp-bouton-wrapper,
.hero-home .wpb_text_column,
.hero-home .bp-titre-picto-wrapper
{
position: relative;
	z-index: 400;
}
.hero-home:after{
content: "";
	background: url("/wp-content/uploads/2026/01/img-slider.png") top left no-repeat;

	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: block !important;

}
.hero-home p{
color:#fff;
}
.mousesvg {
	animation: scrollHint 2s ease-in-out infinite;
}

@keyframes scrollHint {
	0%, 100% {
		transform: translateY(0);
		opacity: 1;
	}
	50% {
		transform: translateY(8px);
		opacity: 0.7;
	}
}
.hero-home strong{
	color: #00A388;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 160%;
	text-transform: uppercase;
}
.hero-home .wpb_button,.hero-home .wpb_content_element,.hero-home ul.wpb_thumbnails-fluid > li {
	margin-bottom: 0px;
}
.home .content > .wpb-content-wrapper > .vc_row{
	margin-bottom: 60px;
}
@media screen and (max-width: 992px) {
	.hero-home:after{

		display: none !important;

	}
	.hero-home .vc_row-has-fill > .vc_column_container > .vc_column-inner{

		padding: 50px;
		padding-left: 50px;
	} 
}
.header-sticky.navbar {
	--bs-navbar-padding-x: 0 !important;
	--bs-navbar-padding-y: 0 !important;
	background-image: none !important;
	padding: 32px 0 !important;
	position: sticky !important;
	top: 0;
	z-index: 1000;
	background-color: var(--color-bleu);
	border-bottom: 1px solid var(--color-cyan);
	flex-wrap: nowrap;
}

/* Bordure dashed en mobile (quand le burger est visible) */
@media screen and (max-width: 991px) {
	.header-sticky.navbar {
		border-bottom: 1px dashed var(--color-cyan);
		position: relative !important; /* Pour que le menu absolute soit positionné par rapport au header */
	}
	
	/* Calculer la hauteur exacte du header (padding + contenu + padding) */
	.header-sticky.navbar {
		--header-height: calc(32px + 77px + 32px + 1px); /* padding-top + logo + padding-bottom + border */
	}
}

.header-sticky .navbar-brand img,
.header-logo {
	height: 77px !important;
	width: auto;
}

.header-sticky .navbar-nav {
	align-items: center;
}

.header-sticky .navbar-nav > .nav-item {
	margin-right: 10px;
}

.header-sticky .navbar-nav > .nav-item:last-child {
	margin-right: 0;
}

.header-sticky.navbar-expand-lg .navbar-nav .nav-link {
	color: var(--color-white);
	font-family: var(--font-family);
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
	padding: 4px 17px !important;
	padding-left: 17px !important;
	padding-right: 17px !important;
	transition: background-color 0.3s ease, border-radius 0.3s ease;
	border-radius: 200px;
	text-transform: uppercase;
}

.header-sticky .navbar-nav > .nav-item:hover > .nav-link,
.header-sticky .navbar-nav > .nav-item > .nav-link:hover,
.header-sticky .navbar-nav > .nav-item > .nav-link:focus,
.header-sticky .navbar-nav > .nav-item > .nav-link.active {
	background-color: var(--color-cyan);
	border-radius: 200px;
}

.header-sticky .navbar-nav .nav-item.dropdown {
	position: relative;
	padding-top: 26px;
	padding-bottom: 26px;
}

.header-sticky .navbar-nav .nav-item.dropdown:hover .dropdown-menu {
	display: block;
}

.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu {
	--bs-dropdown-zindex: 1000 !important;
	--bs-dropdown-min-width: auto !important;
	--bs-dropdown-padding-x: 0 !important;
	--bs-dropdown-padding-y: 0 !important;
	--bs-dropdown-font-size: 18px !important;
	--bs-dropdown-color: var(--color-bleu) !important;
	--bs-dropdown-bg: var(--color-light-bg) !important;
	--bs-dropdown-border-color: var(--color-cyan) !important;
	--bs-dropdown-border-radius: 18px !important;
	--bs-dropdown-border-width: 1px !important;
	--bs-dropdown-box-shadow: none !important;
	background-clip: padding-box !important;
	background-color: var(--color-light-bg) !important;
	border: 1px dashed var(--color-cyan) !important;
	border-radius: 18px !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	color: var(--color-bleu) !important;
	display: none;
	font-size: 18px !important;
	list-style: none !important;
	margin: 0 !important;
	min-width: auto !important;
	padding: 20px !important;
	position: absolute !important;
	text-align: left !important;
	z-index: 1000 !important;
	bottom: 0;
	left: 17px;
	transform: translateY(100%);
}

.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-item {
	--bs-dropdown-item-border-radius: 0 !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	color: var(--color-bleu);
	font-family: var(--font-family);
	font-size: 18px;
	font-weight: 400;
	line-height: 180%;
	padding: 0;
}

.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-item:hover {
	border-radius: 0 !important;
	color: var(--color-cyan) !important;
}

/* Puce uniquement pour les éléments de niveau 3 (dans un sous-menu à l'intérieur du dropdown-menu) */
.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-menu .dropdown-item::before {
	content: "•";
	margin-right: 8px;
}

/* Le niveau 3 (sous-sous-menu) ne doit pas avoir le padding et le fond du niveau 2 */
.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-menu {
	padding: 0 !important;
	background-color: transparent !important;
	border: none !important;
	position: static !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.header-sticky .navbar-nav .nav-item.dropdown .submenu-indicator {
	position: absolute;
	left: 17px;
	bottom: 0;
	pointer-events: none;
}

/* ============================================
   PAGE HEADER BANNER
   ============================================ */

.page-header-banner {
	background-color: #040951;
	padding-top: 35px;
	padding-bottom: 35px;
}

.page-header-banner .breadcrumb-nav {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 0;
	color:#fff;
}

.page-header-banner .breadcrumb-nav a {
	color: var(--color-white);
	text-decoration: none;
}

.page-header-banner .breadcrumb-nav a:hover {
	color: var(--color-cyan);
}

.page-header-banner h1.page-title {
	color: var(--color-white);
	margin: 0;
	text-transform: uppercase;
}
body #main {
	margin-top: 0rem;
}

body #main img,
body #main picture img {
	border-radius: 30px;
}

#main a:not(.bp-bouton) {
	color: #00A388;
}

#main a:not(.bp-bouton):hover {
	color: #000334;
}



/* ============================================
   CONTACT FORM 7
   ============================================ */

.wpcf7 input.wpcf7-form-control:not([type="submit"]) {
	width: 75%;
	margin-bottom: 30px;
	border: 1px solid var(--grey-light, #D8D8D8);
	color: var(--dark-grey, #393939);
	font-family: var(--font-family);
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	padding: 15px 25px;
}

.wpcf7 textarea.wpcf7-form-control {
	width: 100%;
	margin-bottom: 30px;
	border: 1px solid var(--grey-light, #D8D8D8);
	color: var(--dark-grey, #393939);
	font-family: var(--font-family);
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 160%;
	padding: 15px 25px;
}

.wpcf7 hr.green {
	background: #00A388;
	border: none;
	height: 1px;
	margin-top: 30px;
	margin-bottom: 30px;
	opacity: 1;
}

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
	width: auto;
	margin-top: 30px;
	font-family: var(--font-family);
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
	padding: 4px 17px;
	border-radius: 200px;
	text-transform: uppercase;
	transition: background-color 0.3s ease, border-radius 0.3s ease;
	background-color: var(--color-cyan);
	color: var(--color-white);
	border: none;
	cursor: pointer;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
	background-color: var(--color-bleu);
}

/* ============================================
   ACF CONTENT SECTION
   ============================================ */

.acf-content-section {
	padding: 50px 0;
	background-image: url('./assets/img/Mask.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position-x: right;
	background-position-y: -200px;
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	box-sizing: border-box;
	padding-bottom:110px;
}

.acf-content-section .row {
	min-height: 100%;
}

.acf-content-left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.acf-titre {
	font-size: 40px;
	line-height: 1.2;
	color: #000334;
	margin-bottom: 0;
}

.acf-titre,
.acf-titre p,
.acf-titre * {
	font-family: var(--font-family);
	font-size: 40px;
	line-height: 1.2;
	color: #000334;
	margin-bottom: 0;
}

.acf-separator {
	height: 8px;
	background-color: var(--color-cyan);
	margin-top: 20px;
	margin-bottom: 20px;
}

.acf-sous-titre {
	font-family: var(--font-family);
	font-size: 18px;
	line-height: 1.6;
	color: var(--color-bleu);
}

.acf-chapo {
	margin-top: auto;
	font-family: var(--font-family);
}

.acf-chapo p,
.acf-chapo * {
	margin-bottom: 0;
	font-family: var(--font-family);
}

.acf-content-right {
	display: flex;
	align-items: stretch;
}

.acf-visuel {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: stretch;
}

.acf-visuel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* ============================================
   HAMBURGER MENU
   ============================================ */

.hamburger {
	padding: 15px 15px;
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none !important;
	box-shadow: none !important;
}

/* Cacher le hamburger au-dessus de 992px */
@media screen and (min-width: 992px) {
	.hamburger {
		display: none !important;
	}
}

.hamburger:focus,
.hamburger:focus-visible,
.hamburger:active {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

.hamburger:hover {
	opacity: 0.7;
}

.hamburger-box {
	width: 30px;
	height:16px;
	display: inline-block;
	position: relative;
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	width: 30px;
	height: 2px;
	background-color: var(--color-white);
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
	content: '';
	display: block;
}

.hamburger-inner::before {
	top: -8px;
}

.hamburger-inner::after {
	bottom: -8px;
}

/* Spring animation */
.hamburger--spring .hamburger-inner {
	top: 0;
	transition: background-color 0s 0.13s linear;
}

.hamburger--spring .hamburger-inner::before {
	top: 10px;
	transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring .hamburger-inner::after {
	top: 20px;
	transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring.is-active .hamburger-inner {
	transition-delay: 0.22s;
	background-color: transparent;
}

.hamburger--spring.is-active .hamburger-inner::before {
	top: 8px;
	transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
	transform: translate3d(0, 0, 0) rotate(45deg);
}

.hamburger--spring.is-active .hamburger-inner::after {
	top: 8px;
	transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
	transform: translate3d(0, 0, 0) rotate(-45deg);
}

/* ============================================
   FOOTER
   ============================================ */

#footer {
	background-color: var(--color-bleu) !important;
	padding-top: 35px;
	color: var(--color-white);
}

#footer > .container {
	border-bottom: 1px solid #50516A;
	padding-bottom: 35px;
}

#footer .footer-col-left,
#footer .footer-col-middle,
#footer .footer-col-right {
	color: var(--color-white);
}

#footer .footer-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 35px;
}

#footer .footer-social-links .footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Shortcode [reseaux_sociaux] */
.reseaux-sociaux.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.reseaux-sociaux.social-links .social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #000334;
}

.reseaux-sociaux.social-links .social-link:hover {
	color: #00A388;
}

/* Priorité quand le shortcode est dans #main */
#main .reseaux-sociaux.social-links .social-link {
	color: #000334;
}

#main .reseaux-sociaux.social-links .social-link:hover {
	color: #00A388;
}

#footer h3,
#footer .h3 {
	color: #00A388 !important;
}

#footer h3::after,
#footer .h3::after {
	background-color: #50516A;
}

#footer a {
	color: var(--color-white) !important;
}

#footer a:hover,
#footer a:focus {
	color: var(--color-cyan) !important;
}

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

/* ============================================
   FOOTER COPYRIGHT
   ============================================ */

.footer-copyright {
	background-color: var(--color-bleu) !important;
	padding: 15px 0;
	color: var(--color-white);
	font-size: 14px;
	border-bottom: none !important;
}

.footer-copyright .row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
}

/* Surcharger les styles Bootstrap de main.css pour le footer copyright */
.footer-copyright .row > * {
	flex-shrink: 1 !important;
	width: auto !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 0 !important;
}

.footer-copyright-left {
	text-align: left;
	white-space: nowrap;
}

.footer-copyright-right {
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	white-space: nowrap;
	margin-left: auto;
}

.footer-copyright .copyright-text {
	margin: 0;
	color: var(--color-white);
	font-size: 14px;
}

.footer-copyright .copyright-links {
	display: flex;
	align-items: center;
	gap: 24px;
}

.footer-copyright .copyright-links a {
	color: var(--color-white) !important;
	text-decoration: none;
	font-size: 14px;
}

.footer-copyright .copyright-links a:hover {
	color: var(--color-cyan) !important;
}

.footer-copyright .made-with {
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--color-white);
	font-size: 14px;
}

.footer-copyright .made-with a {
	font-size: 14px;
}

.footer-copyright .made-with svg {
	flex-shrink: 0;
	animation: heartbeat 2s ease-in-out infinite;
}

@keyframes heartbeat {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}

.footer-copyright .made-with a {
	color: var(--color-white) !important;
	text-decoration: none;
}

.footer-copyright .made-with a:hover {
	color: var(--color-cyan) !important;
}

/* ============================================
   STYLES DES SECTIONS/PAGES
   ============================================ */

/* Styles WordPress par défaut - From http://codex.wordpress.org/CSS */

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	width: 50%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}

.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}

.gallery-caption {
	display: block;
	text-align: left;
	padding: 0 10px 0 0;
	margin-bottom: 0;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.bypostauthor {
	font-weight: bold;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* ============================================
   MEDIA QUERIES
   ============================================ */

/* Desktop Large (1920px et plus) */
@media screen and (min-width: 1920px) {
	/* Styles pour très grands écrans */
}

/* Desktop (1440px et plus) */
@media screen and (min-width: 1440px) {
	/* Styles pour grands écrans desktop */
}

/* Desktop Medium (1200px et plus) */
@media screen and (min-width: 1200px) {
	/* Styles pour écrans desktop moyens */
}

/* Tablet Landscape (992px et plus) */
@media screen and (min-width: 992px) {
	/* Styles pour tablettes en mode paysage */
}

/* Footer Mobile (768px et en dessous) */
@media screen and (max-width: 768px) {
	.acf-visuel {
		margin-top: 30px;
	}

	/* Padding sur le container du footer */
	#footer > .container {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
		border-bottom: none !important;
		position: relative;
	}

	/* Bordure bottom à 90% de la largeur */
	#footer > .container::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 5%;
		width: 90%;
		height: 1px;
		background-color: #50516A;
	}

	/* Padding sur le footer copyright */
	.footer-copyright {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	/* Centrage des colonnes du footer */
	#footer .row {
		gap: 20px;
	}

	#footer .footer-col-left,
	#footer .footer-col-middle,
	#footer .footer-col-right {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	/* Margin-bottom: 0 sur les h3::after du footer */
	body #footer h3::after,
	body #footer .h3::after {
		margin-bottom: 0 !important;
	}

	/* Footer Copyright Mobile */
	.footer-copyright .row {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 20px;
	}

	.footer-copyright-left {
		text-align: center;
		width: 100%;
		order: 3; /* Copyright en dernier */
	}

	.footer-copyright-right {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin-left: 0;
		width: 100%;
		gap: 20px;
		order: 1; /* Liens et Made with en premier */
	}

	.footer-copyright .copyright-links {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 10px;
	}
}

/* Tablet Portrait (768px et plus) */
@media screen and (min-width: 768px) {
	/* Styles pour tablettes en mode portrait */
	.header-sticky.navbar-expand-lg .navbar-nav > .nav-item.dropdown > .dropdown-menu {
		position: absolute !important;
	}
	/* Le niveau 3 ne doit pas être en absolute */
	.header-sticky.navbar-expand-lg .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-menu {
		position: static !important;
	}
}

/* Mobile Menu (jusqu'à 991px) */
@media screen and (max-width: 991px) {
	/* Empêcher le scroll du body quand le menu est ouvert */
	body.menu-open {
		overflow: hidden !important;
		position: fixed !important;
		width: 100% !important;
	}

	/* Le container ne doit pas limiter le menu */
	.header-sticky .container {
		position: relative;
		overflow: visible !important;
	}

	/* Menu mobile - positionné SOUS le header (padding compris) */
	.header-sticky .navbar-collapse {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		background-color: var(--color-bleu) !important;
		z-index: 999 !important; /* Sous le header (z-index 1000) mais au-dessus du contenu */
		margin: 0 !important;
		padding: 0 !important;
		overflow-y: auto;
		max-width: none !important;
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	/* Menu ouvert quand body.menu-open */
	body.menu-open .header-sticky .navbar-collapse {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
	}

	.header-sticky .navbar-nav {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		padding-top: 50px;
		padding-left: 15px;
		padding-right: 15px;
		padding-bottom: 50px;
		margin: 0;
	}

	.header-sticky .navbar-nav > .nav-item {
		margin-right: 0;
		margin-bottom: 0;
		width: 100%;
		text-align: center;
	}

	/* Items niveau 1 : 20px, uppercase */
	.header-sticky .navbar-nav > .nav-item {
		background-color: transparent !important;
		background-image: none !important;
	}

	.header-sticky .navbar-nav > .nav-item > .nav-link {
		padding: 15px !important;
		width: 100%;
		text-align: center;
		color: var(--color-white) !important;
		font-size: 20px !important;
		text-transform: uppercase !important;
		display: inline-block;
		position: relative;
		background-color: transparent !important;
		background-image: none !important;
		display: inline-block;
	}

	/* Chevron pour les items avec sous-menu - positionné juste après le texte en inline */
	.header-sticky .navbar-nav > .nav-item.dropdown > .nav-link::after {
		content: '';
		display: inline-block;
		width: 17px;
		height: 9px;
		margin-left: 8px;
		vertical-align: middle;
		background-image: url("data:image/svg+xml,%3Csvg width='17' height='9' viewBox='0 0 17 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.750002 0.749999L8.25 8.25L15.75 0.75' stroke='%23FFFFFF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: center;
		transition: transform 0.3s ease;
		top: 50%;
        transform: translateY(-50%);
		position: absolute;
	}

	.header-sticky .navbar-nav > .nav-item.dropdown.open > .nav-link::after {
		transform: rotate(180deg);
	}

	/* Afficher les sous-menus quand ouverts */
	.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu {
		display: none !important;
		position: static !important;
		background-color: transparent !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
		box-shadow: none !important;
		width: 100%;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		bottom: auto !important;
		transform: none !important;
	}
/* Pas de padding top/bottom pour les dropdowns de premier niveau */
.header-sticky .navbar-nav > .nav-item.dropdown {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
	.header-sticky .navbar-nav > .nav-item.dropdown.open > .dropdown-menu {
		display: block !important;
		position: static !important;
	}
	.header-sticky .navbar-nav > .nav-item.dropdown.open > .dropdown-menu{
    margin-bottom: 20px !important;
    margin-top: -15px !important;
}
	/* Pas de background sur les éléments du menu mobile */
	.header-sticky .navbar-nav > .nav-item > .nav-link,
	.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-item {
		background-color: transparent !important;
		background-image: none !important;
		-webkit-background-image: none !important;
	}

	/* Items sous-menu : 16px */
	.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-item {
		padding: 6px 15px !important;
		text-align: center;
		color: var(--color-white) !important;
		font-size: 16px !important;
		text-transform: none !important;
		display: block;
	}

	/* Hover et active : seulement changer la couleur en cyan */
	.header-sticky .navbar-nav > .nav-item > .nav-link:hover,
	.header-sticky .navbar-nav > .nav-item > .nav-link.active,
	.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-item:hover,
	.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-item.active,
	.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-item:active {
		color: var(--color-cyan) !important;
		background-color: transparent !important;
		background-image: none !important;
		-webkit-background-image: none !important;
	}

	/* Cacher les sous-sous-menus (niveau 3) en mobile */
	.header-sticky .navbar-nav > .nav-item.dropdown > .dropdown-menu .dropdown-menu {
		display: none !important;
	}

	.header-sticky .navbar-nav .submenu-indicator {
		display: none;
	}
}

/* Mobile Large (576px et plus) */
@media screen and (min-width: 576px) {
	/* Styles pour grands mobiles */
}

