/* Grid System — breakpoints = --bp-sm (640) --bp-md (768) --bp-lg (1024) --bp-xl (1280) --bp-xxl (1536) */
:root { --bs-gutter-x: 30px; }

.container { width: 100%; padding-right: calc(var(--bs-gutter-x) / 2); padding-left: calc(var(--bs-gutter-x) / 2); margin-right: auto; margin-left: auto; }
@media (min-width: 640px) { .container { max-width: var(--container-sm); } }
@media (min-width: 768px) { .container { max-width: var(--container-md); } }
@media (min-width: 1024px) { .container { max-width: var(--container-lg); } }
@media (min-width: 1280px) { .container { max-width: var(--container-xl); } }
@media (min-width: 1536px) { .container { max-width: var(--container-xxl); } }
.container-fluid {width: 100%;padding-right: calc(var(--bs-gutter-x) *2);padding-left: calc(var(--bs-gutter-x) *2);margin-right: auto;margin-left: auto;}
@media (max-width: 767px) { .container-fluid { padding-right: calc(var(--bs-gutter-x) *1);padding-left: calc(var(--bs-gutter-x) *1);} }


.row { display: flex; flex-wrap: wrap; margin-right: calc(var(--bs-gutter-x) / -2); margin-left: calc(var(--bs-gutter-x) / -2); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) / 2); padding-left: calc(var(--bs-gutter-x) / 2); }

/* === FLEXBOX UTILITIES === */
/* Align Items */
.align-items-start { align-items: flex-start !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-center { align-items: center !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch { align-items: stretch !important; }

/* Justify Content */
.justify-content-start { justify-content: flex-start !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.justify-content-evenly { justify-content: space-evenly !important; }

/* Flex Direction */
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-column-reverse { flex-direction: column-reverse !important; }

/* Flex Wrap */
.flex-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-wrap-reverse { flex-wrap: wrap-reverse !important; }

.col { flex: 1 0 0%; }
.col-auto { flex: 0 0 auto; width: auto; }
.col-1 { flex: 0 0 auto; width: 8.333333%; }
.col-2 { flex: 0 0 auto; width: 16.666667%; }
.col-3 { flex: 0 0 auto; width: 25%; }
.col-4 { flex: 0 0 auto; width: 33.333333%; }
.col-5 { flex: 0 0 auto; width: 41.666667%; }
.col-6 { flex: 0 0 auto; width: 50%; }
.col-7 { flex: 0 0 auto; width: 58.333333%; }
.col-8 { flex: 0 0 auto; width: 66.666667%; }
.col-9 { flex: 0 0 auto; width: 75%; }
.col-10 { flex: 0 0 auto; width: 83.333333%; }
.col-11 { flex: 0 0 auto; width: 91.666667%; }
.col-12 { flex: 0 0 auto; width: 100%; }

.offset-0 { margin-left: 0; }
.offset-1 { margin-left: 8.333333%; }
.offset-2 { margin-left: 16.666667%; }
.offset-3 { margin-left: 25%; }
.offset-4 { margin-left: 33.333333%; }
.offset-5 { margin-left: 41.666667%; }
.offset-6 { margin-left: 50%; }
.offset-7 { margin-left: 58.333333%; }
.offset-8 { margin-left: 66.666667%; }
.offset-9 { margin-left: 75%; }
.offset-10 { margin-left: 83.333333%; }
.offset-11 { margin-left: 91.666667%; }

@media (min-width: 640px) {
	.col-sm { flex: 1 0 0%; }
	.col-sm-auto { flex: 0 0 auto; width: auto; }
	.col-sm-1 { flex: 0 0 auto; width: 8.333333%; }
	.col-sm-2 { flex: 0 0 auto; width: 16.666667%; }
	.col-sm-3 { flex: 0 0 auto; width: 25%; }
	.col-sm-4 { flex: 0 0 auto; width: 33.333333%; }
	.col-sm-5 { flex: 0 0 auto; width: 41.666667%; }
	.col-sm-6 { flex: 0 0 auto; width: 50%; }
	.col-sm-7 { flex: 0 0 auto; width: 58.333333%; }
	.col-sm-8 { flex: 0 0 auto; width: 66.666667%; }
	.col-sm-9 { flex: 0 0 auto; width: 75%; }
	.col-sm-10 { flex: 0 0 auto; width: 83.333333%; }
	.col-sm-11 { flex: 0 0 auto; width: 91.666667%; }
	.col-sm-12 { flex: 0 0 auto; width: 100%; }
	.offset-sm-0 { margin-left: 0; }
	.offset-sm-1 { margin-left: 8.333333%; }
	.offset-sm-2 { margin-left: 16.666667%; }
	.offset-sm-3 { margin-left: 25%; }
	.offset-sm-4 { margin-left: 33.333333%; }
	.offset-sm-5 { margin-left: 41.666667%; }
	.offset-sm-6 { margin-left: 50%; }
	.offset-sm-7 { margin-left: 58.333333%; }
	.offset-sm-8 { margin-left: 66.666667%; }
	.offset-sm-9 { margin-left: 75%; }
	.offset-sm-10 { margin-left: 83.333333%; }
	.offset-sm-11 { margin-left: 91.666667%; }
}

@media (min-width: 768px) {
	.col-md { flex: 1 0 0%; }
	.col-md-auto { flex: 0 0 auto; width: auto; }
	.col-md-1 { flex: 0 0 auto; width: 8.333333%; }
	.col-md-2 { flex: 0 0 auto; width: 16.666667%; }
	.col-md-3 { flex: 0 0 auto; width: 25%; }
	.col-md-4 { flex: 0 0 auto; width: 33.333333%; }
	.col-md-5 { flex: 0 0 auto; width: 41.666667%; }
	.col-md-6 { flex: 0 0 auto; width: 50%; }
	.col-md-7 { flex: 0 0 auto; width: 58.333333%; }
	.col-md-8 { flex: 0 0 auto; width: 66.666667%; }
	.col-md-9 { flex: 0 0 auto; width: 75%; }
	.col-md-10 { flex: 0 0 auto; width: 83.333333%; }
	.col-md-11 { flex: 0 0 auto; width: 91.666667%; }
	.col-md-12 { flex: 0 0 auto; width: 100%; }
	.offset-md-0 { margin-left: 0; }
	.offset-md-1 { margin-left: 8.333333%; }
	.offset-md-2 { margin-left: 16.666667%; }
	.offset-md-3 { margin-left: 25%; }
	.offset-md-4 { margin-left: 33.333333%; }
	.offset-md-5 { margin-left: 41.666667%; }
	.offset-md-6 { margin-left: 50%; }
	.offset-md-7 { margin-left: 58.333333%; }
	.offset-md-8 { margin-left: 66.666667%; }
	.offset-md-9 { margin-left: 75%; }
	.offset-md-10 { margin-left: 83.333333%; }
	.offset-md-11 { margin-left: 91.666667%; }
}

@media (min-width: 1024px) {
	.col-lg { flex: 1 0 0%; }
	.col-lg-auto { flex: 0 0 auto; width: auto; }
	.col-lg-1 { flex: 0 0 auto; width: 8.333333%; }
	.col-lg-2 { flex: 0 0 auto; width: 16.666667%; }
	.col-lg-3 { flex: 0 0 auto; width: 25%; }
	.col-lg-4 { flex: 0 0 auto; width: 33.333333%; }
	.col-lg-5 { flex: 0 0 auto; width: 41.666667%; }
	.col-lg-6 { flex: 0 0 auto; width: 50%; }
	.col-lg-7 { flex: 0 0 auto; width: 58.333333%; }
	.col-lg-8 { flex: 0 0 auto; width: 66.666667%; }
	.col-lg-9 { flex: 0 0 auto; width: 75%; }
	.col-lg-10 { flex: 0 0 auto; width: 83.333333%; }
	.col-lg-11 { flex: 0 0 auto; width: 91.666667%; }
	.col-lg-12 { flex: 0 0 auto; width: 100%; }
	.offset-lg-0 { margin-left: 0; }
	.offset-lg-1 { margin-left: 8.333333%; }
	.offset-lg-2 { margin-left: 16.666667%; }
	.offset-lg-3 { margin-left: 25%; }
	.offset-lg-4 { margin-left: 33.333333%; }
	.offset-lg-5 { margin-left: 41.666667%; }
	.offset-lg-6 { margin-left: 50%; }
	.offset-lg-7 { margin-left: 58.333333%; }
	.offset-lg-8 { margin-left: 66.666667%; }
	.offset-lg-9 { margin-left: 75%; }
	.offset-lg-10 { margin-left: 83.333333%; }
	.offset-lg-11 { margin-left: 91.666667%; }
}

@media (min-width: 1280px) {
	.col-xl { flex: 1 0 0%; }
	.col-xl-auto { flex: 0 0 auto; width: auto; }
	.col-xl-1 { flex: 0 0 auto; width: 8.333333%; }
	.col-xl-2 { flex: 0 0 auto; width: 16.666667%; }
	.col-xl-3 { flex: 0 0 auto; width: 25%; }
	.col-xl-4 { flex: 0 0 auto; width: 33.333333%; }
	.col-xl-5 { flex: 0 0 auto; width: 41.666667%; }
	.col-xl-6 { flex: 0 0 auto; width: 50%; }
	.col-xl-7 { flex: 0 0 auto; width: 58.333333%; }
	.col-xl-8 { flex: 0 0 auto; width: 66.666667%; }
	.col-xl-9 { flex: 0 0 auto; width: 75%; }
	.col-xl-10 { flex: 0 0 auto; width: 83.333333%; }
	.col-xl-11 { flex: 0 0 auto; width: 91.666667%; }
	.col-xl-12 { flex: 0 0 auto; width: 100%; }
	.offset-xl-0 { margin-left: 0; }
	.offset-xl-1 { margin-left: 8.333333%; }
	.offset-xl-2 { margin-left: 16.666667%; }
	.offset-xl-3 { margin-left: 25%; }
	.offset-xl-4 { margin-left: 33.333333%; }
	.offset-xl-5 { margin-left: 41.666667%; }
	.offset-xl-6 { margin-left: 50%; }
	.offset-xl-7 { margin-left: 58.333333%; }
	.offset-xl-8 { margin-left: 66.666667%; }
	.offset-xl-9 { margin-left: 75%; }
	.offset-xl-10 { margin-left: 83.333333%; }
	.offset-xl-11 { margin-left: 91.666667%; }
}

@media (min-width: 1536px) {
	.col-xxl { flex: 1 0 0%; }
	.col-xxl-auto { flex: 0 0 auto; width: auto; }
	.col-xxl-1 { flex: 0 0 auto; width: 8.333333%; }
	.col-xxl-2 { flex: 0 0 auto; width: 16.666667%; }
	.col-xxl-3 { flex: 0 0 auto; width: 25%; }
	.col-xxl-4 { flex: 0 0 auto; width: 33.333333%; }
	.col-xxl-5 { flex: 0 0 auto; width: 41.666667%; }
	.col-xxl-6 { flex: 0 0 auto; width: 50%; }
	.col-xxl-7 { flex: 0 0 auto; width: 58.333333%; }
	.col-xxl-8 { flex: 0 0 auto; width: 66.666667%; }
	.col-xxl-9 { flex: 0 0 auto; width: 75%; }
	.col-xxl-10 { flex: 0 0 auto; width: 83.333333%; }
	.col-xxl-11 { flex: 0 0 auto; width: 91.666667%; }
	.col-xxl-12 { flex: 0 0 auto; width: 100%; }
	.offset-xxl-0 { margin-left: 0; }
	.offset-xxl-1 { margin-left: 8.333333%; }
	.offset-xxl-2 { margin-left: 16.666667%; }
	.offset-xxl-3 { margin-left: 25%; }
	.offset-xxl-4 { margin-left: 33.333333%; }
	.offset-xxl-5 { margin-left: 41.666667%; }
	.offset-xxl-6 { margin-left: 50%; }
	.offset-xxl-7 { margin-left: 58.333333%; }
	.offset-xxl-8 { margin-left: 66.666667%; }
	.offset-xxl-9 { margin-left: 75%; }
	.offset-xxl-10 { margin-left: 83.333333%; }
	.offset-xxl-11 { margin-left: 91.666667%; }
}
/* Spacing (gap = 30px) */

/* Padding all */
.p-1 { padding: var(--gap); }
.p-2 { padding: calc(var(--gap) * 2); }
.p-3 { padding: calc(var(--gap) * 3); }
.p-4 { padding: calc(var(--gap) * 4); }
.p-5 { padding: calc(var(--gap) * 5); }

/* Padding top */
.pt-1 { padding-top: var(--gap); }
.pt-2 { padding-top: calc(var(--gap) * 2); }
.pt-3 { padding-top: calc(var(--gap) * 3); }
.pt-4 { padding-top: calc(var(--gap) * 4); }
.pt-5 { padding-top: calc(var(--gap) * 5); }

/* Padding bottom */
.pb-1 { padding-bottom: var(--gap); }
.pb-2 { padding-bottom: calc(var(--gap) * 2); }
.pb-3 { padding-bottom: calc(var(--gap) * 3); }
.pb-4 { padding-bottom: calc(var(--gap) * 4); }
.pb-5 { padding-bottom: calc(var(--gap) * 5); }

/* Padding Y (top + bottom) */
.py-1 { padding-top: var(--gap); padding-bottom: var(--gap); }
.py-2 { padding-top: calc(var(--gap) * 2); padding-bottom: calc(var(--gap) * 2); }
.py-3 { padding-top: calc(var(--gap) * 3); padding-bottom: calc(var(--gap) * 3); }
.py-4 { padding-top: calc(var(--gap) * 4); padding-bottom: calc(var(--gap) * 4); }
.py-5 { padding-top: calc(var(--gap) * 5); padding-bottom: calc(var(--gap) * 5); }

/* Padding X (left + right) */
.px-1 { padding-left: var(--gap); padding-right: var(--gap); }
.px-2 { padding-left: calc(var(--gap) * 2); padding-right: calc(var(--gap) * 2); }
.px-3 { padding-left: calc(var(--gap) * 3); padding-right: calc(var(--gap) * 3); }
.px-4 { padding-left: calc(var(--gap) * 4); padding-right: calc(var(--gap) * 4); }
.px-5 { padding-left: calc(var(--gap) * 5); padding-right: calc(var(--gap) * 5); }

/* Margin all */
.m-1 { margin: var(--gap); }
.m-2 { margin: calc(var(--gap) * 2); }
.m-3 { margin: calc(var(--gap) * 3); }
.m-4 { margin: calc(var(--gap) * 4); }
.m-5 { margin: calc(var(--gap) * 5); }

/* Margin top */
.mt-1 { margin-top: var(--gap); }
.mt-2 { margin-top: calc(var(--gap) * 2); }
.mt-3 { margin-top: calc(var(--gap) * 3); }
.mt-4 { margin-top: calc(var(--gap) * 4); }
.mt-5 { margin-top: calc(var(--gap) * 5); }

/* Margin bottom */
.mb-1\/2 { margin-bottom: calc(var(--gap) / 2); }
.mb-1 { margin-bottom: var(--gap); }
.mb-2 { margin-bottom: calc(var(--gap) * 2); }
.mb-3 { margin-bottom: calc(var(--gap) * 3); }
.mb-4 { margin-bottom: calc(var(--gap) * 4); }
.mb-5 { margin-bottom: calc(var(--gap) * 5); }
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
	/* Breakpoints (en @media utiliser la valeur en px : 640, 768, 1024, 1280, 1536) */
	--bp-xs:   375px;
	--bp-sm:   640px;
	--bp-md:   768px;
	--bp-lg:  1024px;
	--bp-xl:  1280px;
	--bp-xxl: 1536px;
	/* Container max-width par breakpoint (utilisÃƒÂ©s par grid.css) */
	--container-sm:  600px;
	--container-md:  720px;
	--container-lg:  960px;
	--container-xl:  1200px;
	--container-xxl: 1320px;
	--bs-gutter-x:30px;
	--gap:calc(var(--bs-gutter-x)/2);
	--section-padding:60px;
	--c-dark:#111;
	--c-white:#fff;
	--c-light:#fef9fa;
	--c-grey-soft:#e0e0e0;
	--c-gold-review: #F5B800;
	--c-grey:#666;
	--c-accent:#000;

	--c-fresh: linear-gradient(270deg, #3CB4E5, #60269E);
	--c-fresh-2:#5a1eff;
	--c-green-success:#03B38C;
	--c-soft-purple:#B2B2F9;
	--shadow-1:0 4px 12px rgba(0,0,0,0.1);
	--shadow-section:0 -8px 24px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.06);
	--grad-light:linear-gradient(to bottom,#F0F0F0,#FFF);
	--header-height:80px; /* SurchargÃ© par header-height.js avec la hauteur rÃ©elle */
	--main-top-gap: 0; /* Contenu pile sous le spacer, pas de padding-top */
	--aside-width: 200px;
	--border-light:1px solid var(--c-grey-soft);
}

/* Gradient radial partant du haut à droite – utilise --gradient-color ou --box-color */
.gradient-tr {
	background-color: var(--gradient-color, var(--box-color, var(--c-grey-soft)));
	background-image: radial-gradient(ellipse 120% 100% at 100% 0%, color-mix(in srgb, var(--gradient-color, var(--box-color, var(--c-grey-soft))) 40%, white), var(--gradient-color, var(--box-color, var(--c-grey-soft))) 70%);
}
@media (min-width: 640px)  { :root { --aside-width: 210px; } }
@media (min-width: 768px)  { :root { --aside-width: 220px; } }
@media (min-width: 1024px) { :root { --aside-width: 230px; } }
@media (min-width: 1280px) { :root { --aside-width: 240px; } }
@media (min-width: 1536px) { :root { --aside-width: 250px; } }
html{
	scroll-behavior:smooth;
	background-color:var(--c-light);
	/* Décalage ancres : hauteur header (+ alerte si présente) pour éviter masquage sous header fixe */
	scroll-padding-top:var(--scroll-offset-top,var(--header-height,80px));
}
body{min-height:100vh;display:flex;flex-direction:column;position:relative;}
/* Ancres : marge au scroll (header fixe, sidebar) */
.main [id]{scroll-margin-top:var(--scroll-offset-top,var(--header-height,80px));}
img{max-width:100%;height:auto;display:block;}
.section{padding:var(--section-padding) 0;}
/* Navigation principale en absolute : dÃƒÂ©file avec la page, harmonisÃƒÂ© partout via .nav-spacer */
.header{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:1000;
	background:var(--c-white);
	padding: calc(var(--gap)*1) 0;
	transition:box-shadow .3s ease;
}
.header.scrolled{box-shadow:var(--shadow-1);}
.header-inner{display:flex;flex-direction:row;align-items:stretch;gap:var(--gap);}
.header-left{display:flex;align-items:center;flex-shrink:0;padding-right:1.5rem;}
.header-right{flex:1;display:flex;flex-direction:column;justify-content:center;}
/* Desktop : menu-option au-dessus du menu principal — grand écart entre les deux */
.nav-dropdown{display:flex;flex-direction:column;align-items:flex-end;gap:0.15rem;}
@media (min-width:768px){
	.nav-dropdown{gap: 1rem;}
}
.nav-dropdown .nav-option-menu{
	order:-1;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items:center;
	gap:0;
	list-style:none;
	margin:0;
	padding:0;
	--nav-opt-icon-size:16px;
	--nav-opt-icon-gap:0.5rem;
	--nav-opt-sep:color-mix(in srgb, var(--c-grey-soft) 45%, transparent);
}
.nav-dropdown .nav-option-menu > li{
	margin:0;
	padding:0;
	display:inline-flex;
	align-items:center;
	min-height:1.25rem;
}
.nav-dropdown .nav-option-menu > li + li{
	border-left:1px solid var(--nav-opt-sep);
	padding-left:0.75rem;
	margin-left:0.75rem;
}
.nav-dropdown .nav-option-menu a{font-size:0.75rem;text-decoration:none;color:var(--c-grey);opacity:1;transition:color .2s ease;line-height:1.25;}
.nav-dropdown .nav-option-menu a:hover{color:var(--c-fresh);opacity:1;}
.nav-dropdown .nav-option-menu .current-menu-item > a,.nav-dropdown .nav-option-menu .current_page_item > a{color:var(--c-dark);font-weight:600;}
/* Menu option : liens avec icône (compte, contact) — même taille + espacement */
.nav-option-menu li.my-account > a,
.nav-option-menu li.contact > a,
.nav-option-menu li.menu-item-contact > a,
.nav-menu li.my-account > a,
.nav-menu li.contact > a,
.nav-menu li.menu-item-contact > a{display:inline-flex;align-items:center;gap:var(--nav-opt-icon-gap,0.5rem);}
.nav-option-menu li.my-account > a::before,
.nav-menu li.my-account > a::before,
.nav-option-menu li.contact > a::before,
.nav-option-menu li.menu-item-contact > a::before,
.nav-menu li.contact > a::before,
.nav-menu li.menu-item-contact > a::before{
	content:'';
	display:block;
	width:var(--nav-opt-icon-size,16px);
	height:var(--nav-opt-icon-size,16px);
	flex-shrink:0;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}
.nav-option-menu li.my-account > a::before,
.nav-menu li.my-account > a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.nav-option-menu li.contact > a::before,
.nav-option-menu li.menu-item-contact > a::before,
.nav-menu li.contact > a::before,
.nav-menu li.menu-item-contact > a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E");
}
.nav-option-menu li.my-account > a:hover::before,
.nav-menu li.my-account > a:hover::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a1eff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.nav-option-menu li.contact > a:hover::before,
.nav-option-menu li.menu-item-contact > a:hover::before,
.nav-menu li.contact > a:hover::before,
.nav-menu li.menu-item-contact > a:hover::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a1eff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E");
}
.nav-option-menu li.my-account.current-menu-item > a::before,
.nav-option-menu li.my-account.current_page_item > a::before,
.nav-menu li.my-account.current-menu-item > a::before,
.nav-menu li.my-account.current_page_item > a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.nav-option-menu li.contact.current-menu-item > a::before,
.nav-option-menu li.contact.current_page_item > a::before,
.nav-option-menu li.menu-item-contact.current-menu-item > a::before,
.nav-option-menu li.menu-item-contact.current_page_item > a::before,
.nav-menu li.contact.current-menu-item > a::before,
.nav-menu li.contact.current_page_item > a::before,
.nav-menu li.menu-item-contact.current-menu-item > a::before,
.nav-menu li.menu-item-contact.current_page_item > a::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E");
}
.nav-dropdown .nav-menu > li.my-account.current-menu-item > a:hover::before,
.nav-dropdown .nav-menu > li.my-account.current_page_item > a:hover::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a1eff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.nav-dropdown .nav-menu > li.contact.current-menu-item > a:hover::before,
.nav-dropdown .nav-menu > li.contact.current_page_item > a:hover::before,
.nav-dropdown .nav-menu > li.menu-item-contact.current-menu-item > a:hover::before,
.nav-dropdown .nav-menu > li.menu-item-contact.current_page_item > a:hover::before{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a1eff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3C/svg%3E");
}
.nav-dropdown .nav-menu{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;}
.nav-menu li{margin:0;padding:0;}
.nav-menu > li{position:relative;}
.nav-menu > li > a{display:inline-flex;align-items:center;padding:0.25rem 0;font-size:0.8rem;text-decoration:none;color:inherit;transition:color .2s ease;}
.nav-menu > li > a:hover{color:var(--c-fresh);}
/* Spacer = hauteur de la nav pour que le contenu dÃƒÂ©marre en dessous (toutes les pages) */
.nav-spacer{height:var(--header-height);flex-shrink:0;}
.main{flex:1;padding-top:var(--main-top-gap);}
.navbar{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;column-gap:1.5rem;}
.navbar-brand{display:inline-flex;align-items:center;font-weight:bold;font-size:1.125rem;line-height:1.2;white-space:nowrap;}
/* Logo header : icon + titre du site */
.header-brand-wrap{display:flex;align-items:center;gap:0.75rem;text-decoration:none;color:inherit;}
.header-brand-wrap .logo-oodq-icon{flex-shrink:0;display:block;width:82px;height:82px;object-fit:contain;}
.header-brand-wrap .header-site-title{font-weight:600;font-size:1rem;line-height:1.2;max-width:8em;}
.sfooter .navbar-brand.logo-fresh{max-width:280px;height:auto;display:block;}
.header-left .navbar-brand.logo-fresh .logo-svg,
.sfooter .navbar-brand.logo-fresh .logo-svg{width:100%;height:auto;display:block;}
.header-left .navbar-brand.logo-fresh .logo-svg,
.header-left .navbar-brand.logo-fresh .logo-svg path,
.sfooter .navbar-brand.logo-fresh .logo-svg,
.sfooter .navbar-brand.logo-fresh .logo-svg path{fill:var(--c-fresh);}
.header-left .navbar-brand.logo-fresh .logo-svg path,
.sfooter .navbar-brand.logo-fresh .logo-svg path{stroke:none;}

/* Parent avec enfants : chevron */
.nav-menu > li.menu-item-has-children > a::after{content:'';display:inline-block;width:0.35em;height:0.35em;margin-left:0.35em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);vertical-align:middle;transition:transform .25s ease;}
.nav-menu > li.menu-item-has-children:hover > a::after,.nav-menu > li.menu-item-has-children:focus-within > a::after{transform:rotate(-135deg);}
/* Sous-menu desktop : dropdown */
.nav-menu .sub-menu{position:absolute;top:100%;left:0;min-width:200px;margin:4px 0 0 0;padding:.5rem 0;list-style:none;background:var(--c-white);box-shadow:var(--shadow-1);border-radius:8px;border:1px solid var(--c-grey-soft);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;}
.nav-menu > li:hover .sub-menu,.nav-menu > li:focus-within .sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-menu .sub-menu li{padding:0;}
.nav-menu .sub-menu a{display:block;padding:.5rem 1rem;font-size:0.9375rem;text-decoration:none;color:var(--c-grey);white-space:nowrap;transition:background .15s ease,color .15s ease;}
.nav-menu .sub-menu a:hover{background:var(--c-light);color:var(--c-dark);}
.nav-menu .sub-menu .current-menu-item > a,.nav-menu .sub-menu .current_page_item > a{color:var(--c-fresh);font-weight:600;}
.nav-sub-toggle{display:none;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;width:32px;height:24px;position:relative;}
.nav-toggle span{position:absolute;left:0;width:100%;height:2px;background:var(--c-dark);border-radius:2px;transition:all .4s cubic-bezier(.4,0,.2,1);}
.nav-toggle span:nth-child(1){top:0;}
.nav-toggle span:nth-child(2){top:50%;transform:translateY(-50%);}
.nav-toggle span:nth-child(3){bottom:0;}
.nav-toggle.active span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg);}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
/* Zone sticky au scroll : reste Ã  100px du haut */
.scroll-static{position:sticky;top:150px;align-self:flex-start;}
@media (max-width: 767px){
	.header-inner{flex-direction:row;align-items:center;gap:var(--gap);}
	.header-left{padding-right:0;flex-shrink:0;}
	.header-right{flex:1;justify-content:flex-end;}
	.navbar{justify-content:flex-end;}
	.nav-toggle{display:block;}
	.nav-dropdown{position:absolute;top:100%;left:0;width:100vw;margin-left:calc(-50vw + 50%);flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;background:var(--c-white);transition:max-height .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease,padding .4s ease;}
	.nav-dropdown.active{max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-1);padding:1rem 0;}
	.nav-dropdown .nav-menu,.nav-dropdown .nav-option-menu{flex-direction:column;align-items:stretch;gap:0;list-style:none;margin:0;padding:0;}
	.nav-dropdown .nav-option-menu{order:0;}
	.nav-dropdown .nav-option-menu > li + li{
		border-left:none;
		border-top:1px solid var(--nav-opt-sep);
		padding-left:0;
		margin-left:0;
		padding-top:0.5rem;
		margin-top:0.5rem;
	}
	.nav-dropdown .nav-menu > li,.nav-dropdown .nav-option-menu li{padding:0;display:flex;flex-wrap:wrap;}
	.nav-dropdown .nav-menu > li > a,.nav-dropdown .nav-option-menu a{flex:1;padding:.6rem 1.5rem;min-width:0;text-decoration:none;color:inherit;transition:color .2s ease;}
	.nav-dropdown .nav-menu > li > a:hover,.nav-dropdown .nav-option-menu a:hover{color:var(--c-fresh);}
	.nav-dropdown .nav-menu .current-menu-item > a,.nav-dropdown .nav-menu .current_page_item > a,.nav-dropdown .nav-option-menu .current-menu-item > a,.nav-dropdown .nav-option-menu .current_page_item > a{color:var(--c-fresh);font-weight:600;}
	.nav-menu > li.menu-item-has-children > a::after{display:none;}
	.nav-sub-toggle{display:flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;color:inherit;}
	.nav-sub-toggle span{display:block;width:0.4em;height:0.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s ease;}
	.nav-menu > li.menu-item-has-children.is-open .nav-sub-toggle span{transform:rotate(-135deg);}
	.nav-menu .sub-menu{position:static;min-width:auto;width:100%;box-shadow:none;border:none;border-radius:0;border-left:3px solid var(--c-grey-soft);margin:0 0 0 1rem;padding:0 0 .25rem 0;opacity:1;visibility:visible;transform:none;max-height:0;overflow:hidden;transition:max-height .3s ease;}
	.nav-menu > li.menu-item-has-children.is-open .sub-menu{max-height:500px;}
	.nav-menu .sub-menu a{padding:.4rem 1.5rem;white-space:normal;}
	.nav-menu li{padding:0;}
	.section{padding:calc(var(--section-padding)/2) 0;}
}

/* Accordéon Gutenberg — 10px vertical, 30px horizontal (une seule couche) */
.wp-block-accordion-heading {
	padding: 0 !important;
	margin: 0;
}
.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:focus-visible {
	padding: 10px 30px !important;
	box-sizing: border-box;
}
.wp-block-accordion-panel {
	padding: 10px 30px !important;
	box-sizing: border-box;
}

/* Transitions fluides sur tous les hovers */
a, button, .filter-cat, .filter-group-label, .filter-all-btn, .taxonomy-link, .hero-btn, .nav-menu a, .nav-side-menu a, .search-all-item a, .search-all-close, .filter-accordion-toggle {
  transition: color .25s ease, background-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease, border-color .25s ease, opacity .25s ease, text-decoration-color .25s ease;
}

li.btn a,
a.btn,
button.btn {
  position: relative;
  background: var(--c-fresh);
  /* Une seule couche dâ€™ombre pour une transition plus fluide */
  box-shadow: 0 4px 14px rgba(30,95,168,.25);
  transition: all .25s ease-out, box-shadow .5s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  border: 0;
  padding: calc(var(--gap)/2) calc(var(--gap)*1);
  border-radius: 50px;
  font-weight: 600;
  text-align: center;
  color: var(--c-white) !important;
  text-decoration: none;
  font-size: var(--t6);
  margin-top: calc(var(--gap)*1);
  display: inline-block;
}
li.btn:hover a,
a.btn:hover,
button.btn:hover {
  box-shadow: 0 8px 24px rgba(30,95,168,.4);
  transform: translateY(-1px);
  color: var(--c-white);
  text-decoration: none;
}

li.btn a{
  font-size:var(--t8);
}
li.btn {
  display:block;
  margin-top:-20px
}

.cta-btn,
.btn-cta {
  padding: calc(var(--gap)*0.8) calc(var(--gap)*1.5) !important;
  font-size: var(--t5) !important;
  margin-bottom: calc(var(--gap)*0.5);
}

.cta-btn,
.btn-cta:hover {
   padding: calc(var(--gap)*0.8) calc(var(--gap)*5) !important;
}


.cta-btn-2 {
  padding: calc(var(--gap)/2) calc(var(--gap)*1) !important;
  margin-bottom: calc(var(--gap)*1);
}

.cta-btn-2:hover {
   padding: calc(var(--gap)/2) calc(var(--gap)*1.5) !important;
}

/* Jinius : primaire, couleur de la taxonomie */
#tings-container .ting-jinius-btn,
.ting-sidebar-meta .ting-jinius-btn {
  background: var(--ting-taxo-color, var(--c-fresh)) !important;
}
#tings-container .ting-jinius-btn:hover,
.ting-sidebar-meta .ting-jinius-btn:hover {
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ting-taxo-color, var(--c-fresh)) 40%, transparent) !important;
}

/* Intra : outline, fond blanc, bordure + typo taxo, plus petit */
#tings-container .ting-intra-btn-outline,
.ting-sidebar-meta .ting-intra-btn-outline {
  background: var(--c-white) !important;
  color: var(--ting-taxo-color, var(--c-fresh)) !important;
  border: 2px solid var(--ting-taxo-color, var(--c-fresh)) !important;
  box-shadow: none !important;
}
#tings-container .ting-intra-btn-outline:hover,
.ting-sidebar-meta .ting-intra-btn-outline:hover {
  background: var(--ting-taxo-color, var(--c-fresh)) !important;
  color: var(--c-white) !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--ting-taxo-color, var(--c-fresh)) 30%, transparent) !important;
}

.ting-jinius-buttons {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: calc(var(--gap) * 0.35);
  margin-bottom: calc(var(--gap) * 1.25);
}

.ting-jinius-buttons .btn {
  display: block;
  margin-top: 0;
  margin-bottom: calc(var(--gap) * 0.5);
  text-align: center;
}

.ting-jinius-buttons .btn:last-child {
  margin-bottom: 0;
}
.section {
	padding-top: calc(var(--gap) * 3);
	padding-bottom: calc(var(--gap) * 3);
}

/* sec-team : padding réduit */
.sec-team,
.sec-team-comites {
	padding-top: calc(var(--gap) * 1);
	padding-bottom: calc(var(--gap) * 1);
}
/* page-team : wrapper — pas de padding double (sous-sections gardent le leur) */
.sec-team-complet {
	padding-top: 0;
	padding-bottom: 0;
}
.sec-team-comite {
	margin-bottom: calc(var(--gap) * 4);
}

/* Titre comitÃ© : row seul avec padding-top */
.sec-team-comite-title-row {
	padding-top: calc(var(--gap) * 4);
}

/* Titres h2 des sections team : plus gros, couleur c-fresh (gradient â†’ background-clip text) */
.sec-team .sec-team-title,
.sec-team-comite .sec-team-comite-title {
	font-size: var(--t2);
	color: transparent;
	background: var(--c-fresh);
	-webkit-background-clip: text;
	background-clip: text;
	padding-top: calc(var(--gap)*4);
}

/* Liste des humains par rÃ´le : mÃªme affichage pour tous (PrÃ©sidence, SecrÃ©taire, Inspecteurs, Membres) */
.sec-team-role-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	align-items: flex-start;
	width: 100%;
	margin-bottom: 1rem;
}
.sec-team-role-list:last-child {
	margin-bottom: 0;
}
.sec-team-comite .sec-team-role-list .ttr-comite-groupe {
	flex-basis: 100%;
	margin-bottom: 0.25rem;
}
.sec-team-comite .sec-team-role-list:first-child .ttr-comite-groupe {
	padding-top: 0;
}
.sec-team-role-list .post.player-xs,
.sec-team-role-list .post.player-sm,
.sec-team-role-list .post.player {
	flex: 0 0 auto;
	max-width: none;
}

/* HR entre sec-team : masqué */
.sec-team-hr {
	display: none;
}

.page-header-titre .row {
	gap: 1rem;
}

.page-header-titre-icon {
	flex-shrink: 0;
}

.page-header-titre-icon img {
	max-height: 240px;
	width: auto;
	object-fit: contain;
	display: block;
}

header.navigation {
	border-bottom: var(--border-light);
}

.sfooter {
	background-color: color-mix(in srgb, var(--c-fresh-2) 8%, var(--c-white));

	& .widget a,
	& .latest-posts a,
	& .sfooter-nav-menu a {
		font-size: var(--t8);
	}

	& .footer-nav .sfooter-nav-menu {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	& .footer-nav .sfooter-nav-menu > li {
		margin: 0;
		padding: 0;
		position: static;
		width: 100%;
	}

	& .footer-nav .sfooter-nav-menu > li > a {
		display: inline-block;
		padding: 0.15rem 0;
		font-size: var(--t8);
		text-decoration: none;
		color: inherit;
	}

	& .footer-nav .sfooter-nav-menu > li > a:hover {
		color: var(--c-fresh-2);
	}

	& .footer-nav .sfooter-nav-menu > li.menu-item-has-children > a::after {
		display: none;
	}

	& .footer-nav .sfooter-nav-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		background: transparent;
		box-shadow: none;
		border: none;
		border-radius: 0;
		margin: 0.15rem 0 0.5rem 0;
		padding: 0 0 0 1.15rem;
		min-width: 0;
		max-height: none;
		overflow: visible;
		list-style: disc;
	}

	& .footer-nav .sfooter-nav-menu .sub-menu li {
		display: list-item;
		margin: 0 0 0.2rem 0;
		padding: 0;
	}

	& .footer-nav .sfooter-nav-menu .sub-menu a {
		display: inline;
		padding: 0;
		font-size: var(--t8);
		color: var(--c-grey);
		white-space: normal;
		background: transparent;
		text-decoration: none;
	}

	& .footer-nav .sfooter-nav-menu .sub-menu a:hover {
		background: transparent;
		color: var(--c-fresh-2);
	}

	& .footer-nav .sfooter-nav-menu .sub-menu .current-menu-item > a,
	& .footer-nav .sfooter-nav-menu .sub-menu .current_page_item > a {
		color: var(--c-fresh-2);
		font-weight: 600;
	}

	& .container {
		/* border-top: var(--border-light); */
	}

	& .sfooter-brand .navbar-brand.logo-fresh {
		margin-bottom: 0.5em;
	}

	& .sfooter-signature {
		opacity: 0.85;
		font-size: 0.9em;
	}

	& .widget strong.widget-ttr {
		padding-bottom: calc(var(--gap)*2);
		display: inline-block;
	}

	& ul.social-links {
		list-style: none;
	}

	& ul:not(.social-links) {
		list-style: disc;
		padding-left: 1.25em;
	}

	& ul:not(.social-links) li::marker {
		color: var(--c-fresh);
	}

	& ul:not(.social-links) li {
		margin-bottom: 0.1em;
	}
}

header.page-header-anchor {
	padding-top: calc(var(--gap) * 2);
	padding-bottom: calc(var(--gap) * 1);
}

section.page-content {
	padding-top: calc(var(--gap) * 0);
	padding-bottom: calc(var(--gap) * 1);
}

section.feed {
	background-color: var(--c-light);
	min-height: 100vh;
	padding-top: calc(var(--gap) * 0);
}

/* Blog : barre catégories sticky sous la nav */
.page-template-page-feed-blog .blog-categories-bar {
	position: sticky;
	top: var(--scroll-offset-top, var(--header-height, 80px));
	z-index: 900;
	padding: calc(var(--gap) * 1) 0;
	background: var(--c-white);
	border-bottom: 1px solid var(--c-grey-soft);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--c-dark) 6%, transparent);
}
.blog-filter-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.65rem;
	align-items: center;
}
.blog-filter-categories .filter-cat {
	border: 1px solid var(--c-grey-soft);
	border-top: 1px solid var(--c-grey-soft);
	border-radius: 999px;
	padding: 0.4rem 1rem;
	font-size: var(--t7);
	font-weight: 600;
	background: var(--c-white);
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.blog-filter-categories .filter-cat:hover {
	color: var(--c-fresh-2);
	border-color: var(--c-fresh-2);
}
.blog-filter-categories .filter-cat.active {
	background: var(--c-fresh);
	color: var(--c-white);
	border-color: transparent;
}
.feed-blog .feed-top {
	padding-top: calc(var(--gap) * 1.5);
}

section.about {
	background-color: var(--c-white);
	box-shadow: var(--shadow-section);
}


section.cta {
	background-color: var(--c-white);
	box-shadow: var(--shadow-section);
	text-align: center;
	color: var(--c-dark);
}

.cta-text-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap);
}

.cta-title {
	margin: 0 0 0.25rem 0;
	color: var(--c-fresh);
}

.cta-content {
	margin: 0;
	font-size: var(--t6);
	color: var(--c-dark);
}

.cta-content p {
	margin: 0 0 0.5rem 0;
}

.cta-content p:last-child {
	margin-bottom: 0;
}

/* Bouton CTA section : fond c-fresh, texte blanc */
section.cta .cta-btn-white {
	background: var(--c-fresh) !important;
	color: var(--c-white) !important;
	margin-bottom: calc(var(--gap)*2);
}

section.cta .cta-btn-white:hover {
	background-color: var(--c-dark) !important;
	color: var(--c-white) !important;
}

.cta-icon-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gap);
}

.cta-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}

.cta-image {
	display: block;
	width: 100%;
	max-width: 420px;
	height: auto;
	margin-top: 0;
	margin-bottom: var(--gap);
}

.cta-icon-wrap .cta-icon {
	width: 144px;
	height: 144px;
	object-fit: contain;
}

.cta-icon-wrap .cta-icon-mask {
	display: inline-block;
	width: 144px;
	height: 144px;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.sec-history .history-list {
	align-items: stretch;
	gap: 0px;
}

.sec-history .history-item {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: start;
	padding: 1rem;
	margin-bottom: 0.75rem;
	background: var(--c-white);
	border-radius: 8px;
	box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 3px;
	border-left: 3px solid var(--c-fresh);
}

.sec-history .history-item:last-child {
	margin-bottom: 0px;
}

.sec-history .history-date-cell {
	grid-area: 1 / 1;
	padding-top: 2px;
	text-align: left;
}

.sec-history .history-marker {
	grid-area: 1 / 2;
	align-self: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 30px;
}

.sec-history .history-content {
	grid-area: 2 / 1 / auto / -1;
	padding-top: 0px;
	border-top: 1px solid var(--c-grey-soft);
}

.sec-history .history-date {
	font-weight: 700;
	font-size: var(--t5);
	color: var(--c-dark);
	letter-spacing: 0.02em;
}

.sec-history .history-circle {
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 2px solid transparent;
	background-clip: padding-box, border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sec-history .history-emoji {
	line-height: 1;
}

.sec-history .history-circle-empty {
	display: block;
	width: 1px;
	height: 1px;
}

.sec-history .history-bar {
	flex: 1 1 0%;
	width: 2px;
	background: var(--c-fresh);
}

.sec-history .history-intitule {
	margin: 0px 0px 0.25em;
	font-size: var(--t6);
	line-height: 1.3;
}

.sec-history .history-precision {
	margin: 0px;
	font-size: var(--t7);
	color: var(--c-grey);
}

.sec-history .history-precision p {
	margin: 0px 0px 0.25em;
}

@media (min-width: 640px) {
	.sec-history .history-item {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		grid-template-columns: unset;
		grid-template-rows: unset;
		gap: unset;
		padding: 0px;
		margin-bottom: 0px;
		background: transparent;
		border-radius: 0px;
		box-shadow: none;
		border-left: none;
	}

	.sec-history .history-date-cell {
		grid-area: unset;
		text-align: right;
	}

	.sec-history .history-marker {
		grid-area: unset;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		align-items: center;
		min-height: 30px;
	}

	.sec-history .history-content {
		grid-area: unset;
		border-top: none;
		padding-top: 0px;
	}

	.sec-history .history-circle {
		width: 30px;
		height: 30px;
		min-width: 30px;
		min-height: 30px;
		border: var(--c-grey) 2px solid;
	}

	.sec-history .history-bar {
		flex: 1 1 auto;
		min-height: 50px;
	}

	.sec-history .history-intitule {
		padding-top: 6px;
		font-weight: 400;
	}
}

.sec-partners {
	margin-bottom: 0px;
	background-color: var(--c-white);
	box-shadow: var(--shadow-section);
	overflow-x: hidden;
}

/* Partenaires : une seule ligne, dÃ©filement animÃ© en boucle (XS Ã  LG+) */
.sec-partners .partners-marquee-wrap {
	overflow: hidden;
	width: 100%;
}
.sec-partners .partners-marquee-track {
	display: flex;
	width: 200%;
	/* Vitesse constante (â‰ˆ25px/s) : durÃ©e proportionnelle Ã  la largeur visible */
	animation: partners-marquee 15s linear infinite;
}
@media (min-width: 640px) {
	.sec-partners .partners-marquee-track { animation-duration: 26s; }
}
@media (min-width: 768px) {
	.sec-partners .partners-marquee-track { animation-duration: 31s; }
}
@media (min-width: 1024px) {
	.sec-partners .partners-marquee-track { animation-duration: 41s; }
}
@media (min-width: 1280px) {
	.sec-partners .partners-marquee-track { animation-duration: 51s; }
}
@media (min-width: 1536px) {
	.sec-partners .partners-marquee-track { animation-duration: 61s; }
}
.sec-partners .partners-row {
	display: flex;
	flex: 0 0 50%;
	align-items: center;
	justify-content: flex-start;
	gap: var(--gap);
	padding: 0 var(--gap);
	min-width: 0;
	overflow: hidden;
	box-sizing: border-box;
}
.sec-partners .partners-item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	flex-grow: 0;
	flex-basis: calc((100% - 1 * var(--gap)) / 2);
	min-width: 0;
	box-sizing: border-box;
}
.sec-partners .partners-item-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.sec-partners .partners-item-img {
	max-width: 100%;
	height: auto;
	max-height: 60px;
	object-fit: contain;
	filter: grayscale(0.7);
	opacity: 0.85;
	transition: filter 0.2s, opacity 0.2s;
}
.sec-partners .partners-item-inner:hover .partners-item-img {
	filter: grayscale(0);
	opacity: 1;
}
@keyframes partners-marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* SM : 3 logos visibles */
@media (min-width: 640px) {
	.sec-partners .partners-item { flex-basis: calc((100% - 2 * var(--gap)) / 3); }
}
/* MD : 4 logos visibles */
@media (min-width: 768px) {
	.sec-partners .partners-item { flex-basis: calc((100% - 3 * var(--gap)) / 4); }
}
/* LG : 6 logos visibles */
@media (min-width: 1024px) {
	.sec-partners .partners-item { flex-basis: calc((100% - 5 * var(--gap)) / 6); }
}
/* XL : 8 logos visibles */
@media (min-width: 1280px) {
	.sec-partners .partners-item { flex-basis: calc((100% - 7 * var(--gap)) / 8); }
}
/* XXL : 10 logos visibles (moins espacÃ©s) */
@media (min-width: 1536px) {
	.sec-partners .partners-item { flex-basis: calc((100% - 9 * var(--gap)) / 10); }
}

/* Section Expertise (icÃ´ne dans la couleur, intitulÃ©, prÃ©cision) */
.sec-expertise {
	margin-bottom: 0;
	background: var(--c-fresh);
	color: var(--c-white);
}

.sec-expertise .section-ttr-block,
.sec-expertise .section-ttr,
.sec-expertise .section-ttr-icon {
	color: var(--c-white);
}

.expertise-grid {
	row-gap: calc(var(--gap) * 2);
	justify-content: center;
	text-align: center;
}

.expertise-item-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	height: 100%;
	text-align: center;
}

.expertise-image-wrap {
	margin-bottom: 0.25rem;
}

.expertise-image-wrap .expertise-image {
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.expertise-icon-wrap {
	--expertise-icon-size: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.expertise-icon-wrap img {
	width: auto;
	height: var(--expertise-icon-size);
	object-fit: contain;
	vertical-align: middle;
}

/* IcÃ´ne SVG teintÃ©e par la couleur ACF (mask + background-color) */
.expertise-icon-wrap .expertise-icon-mask {
	display: inline-block;
	width: var(--expertise-icon-size);
	height: var(--expertise-icon-size);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

/* IcÃ´ne font Dashicons */
.expertise-icon-wrap .expertise-icon-font {
	display: inline-block;
	width: var(--expertise-icon-size);
	height: var(--expertise-icon-size);
	font-size: var(--expertise-icon-size);
	line-height: 1;
	text-align: center;
	vertical-align: middle;
	font-family: dashicons;
	speak: never;
	font-style: normal;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
}

.expertise-icon-wrap svg {
	width: var(--expertise-icon-size);
	height: var(--expertise-icon-size);
	fill: currentColor;
	flex-shrink: 0;
}

.expertise-intitule {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--c-white);
}

.expertise-precision {
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--c-white);
}

.sec-testimonial {
	padding-top: calc(var(--gap) * 3);
	padding-bottom: calc(var(--gap) * 3);
	background-color: var(--c-light);
}

.testimonial-grid {
	row-gap: calc(var(--gap) * 2);
}

.testimonial-col {
	margin-bottom: calc(var(--gap) * 1);
}

.testimonial-card-bubble {
	background: var(--c-white);
	border-radius: 12px;
	box-shadow: rgba(15, 23, 42, 0.06) 0px 4px 16px;
	border: 1px solid var(--c-grey-soft);
	padding: 1.25rem 1.5rem;
	height: 100%;
}

.testimonial-card-inner {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	height: 100%;
}

.testimonial-card-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}

.testimonial-card-header-left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
}

.testimonial-stars {
	display: flex;
	gap: 0.15rem;
	font-size: 0; /* on masque le texte, on affiche uniquement l'icÃ´ne */
	line-height: 1;
	margin-top: 0.15rem;
}

.testimonial-star {
	display: inline-block;
	width: 18px;
	height: 18px;
	background-color: var(--c-grey-soft); /* gris clair par dÃ©faut */
	-webkit-mask-image: url('../media/-icon-social/google-review-star.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: 100% 100%;
	mask-image: url('../media/-icon-social/google-review-star.svg');
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;
}

.testimonial-star.filled {
	background-color: var(--c-gold-review); /* Ã©toile or quand notÃ©e */
}

.testimonial-header-date {
	font-size: var(--t7);
	color: var(--c-grey-soft);
}

.testimonial-source-wrap {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.testimonial-source-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.testimonial-source-link:hover {
	opacity: 0.8;
	transform: translateX(2px);
}

.testimonial-source-arrow {
	width: 16px;
	height: 16px;
	object-fit: contain;
}

.testimonial-source-icon {
	height: 18px;
	width: auto;
	max-width: 80px;
	object-fit: contain;
}

.testimonial-source-label {
	color: var(--c-grey);
}

.testimonial-card-content {
	font-size: var(--t6);
	color: var(--c-grey);
}

.testimonial-card-content-wrapper {
	margin-top: 0.25rem;
}

.testimonial-card-bubble.has-read-more:not(.is-expanded) .testimonial-card-content {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.testimonial-read-more {
	margin-top: 0.25rem;
	background: none;
	border: none;
	padding: 0px;
	font-size: var(--t7);
	color: var(--c-fresh);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.testimonial-card-footer {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding-top: calc(var(--gap) * 1);
}

.testimonial-card-footer-avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--c-grey-soft);
	flex-shrink: 0;
}

.testimonial-card-avatar {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.testimonial-card-footer-info {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.testimonial-card-name {
	font-weight: 600;
	font-size: var(--t7);
	color: var(--c-dark);
}

.testimonial-card-role {
	font-size: var(--t8);
	color: var(--c-grey);
}

.testimonial-card-date {
	font-size: var(--t7);
	color: var(--c-grey-soft, #e0e0e0);
}

/* Section FAQ (accordÃ©on) */
.sec-faq .faq-list {
	row-gap: var(--gap, 1rem);
}

.sec-faq .faq-list > *:last-child {
	margin-bottom: 0;
}

.sec-faq .faq-item {
	display: grid;
	grid-template-rows: auto 0fr;
	transition: grid-template-rows 0.35s ease-out;
	border: 1px solid var(--c-grey-soft, #e8e8e8);
	background-color: var(--c-white);
	border-radius: var(--radius, 0.5rem);
	overflow: hidden;
}

.sec-faq .faq-item.is-open {
	grid-template-rows: auto 1fr;
}

.sec-faq .faq-question-bar {
	background-color: var(--c-white);
}

.sec-faq .faq-item.is-open .faq-question-bar {
	background-color: var(--c-white);
}

.sec-faq .faq-question {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 1rem 1.25rem;
	text-align: left;
	font-size: var(--t5, 1.125rem);
	color: var(--c-dark);
	background: none;
	border: none;
	cursor: pointer;
	gap: 1rem;
}

.sec-faq .faq-icon-left {
	flex-shrink: 0;
	display: inline-flex;
	color: var(--c-grey-light, var(--c-grey-soft, #ccc));
}

.sec-faq .faq-question-text {
	flex: 1;
	min-width: 0;
}

.sec-faq .faq-icon {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--c-grey-light, var(--c-grey-soft, #ccc));
}

.sec-faq .faq-icon img {
	width: 1.25rem;
	height: 1.25rem;
	display: block;
	filter: brightness(0) saturate(100%) invert(0.65);
}

/* IcÃ´nes + et Ã— Ã  droite : rotation au survol */
.sec-faq .faq-icon-trigger {
	transition: transform 0.2s ease;
}

.sec-faq .faq-question:hover .faq-icon-trigger.faq-icon-plus {
	transform: rotate(90deg);
}

.sec-faq .faq-question:hover .faq-icon-trigger.faq-icon-close {
	transform: rotate(90deg);
}

.sec-faq .faq-item .faq-icon-close {
	display: none;
}

.sec-faq .faq-item.is-open .faq-icon-plus {
	display: none;
}

.sec-faq .faq-item.is-open .faq-icon-close {
	display: inline-flex;
}

.sec-faq .faq-item.is-open .faq-icon-close[hidden] {
	display: inline-flex;
}

/* Contenu ouvert en dessous de la question */
.sec-faq .faq-content {
	min-height: 0;
	overflow: hidden;
	background-color: var(--c-white);
	border-top: 1px solid var(--c-grey-soft, #e8e8e8);
	border-radius: 0 0 var(--radius, 0.5rem) var(--radius, 0.5rem);
	transition: box-shadow 0.25s ease;
}

.sec-faq .faq-content-inner {
	padding: 1.25rem 1.5rem;
	color: var(--c-dark);
	font-size: var(--t6, 1rem);
	line-height: 1.5;
}

.sec-faq .faq-content-inner p:first-child {
	margin-top: 0;
}

.sec-faq .faq-content-inner p:last-child {
	margin-bottom: 0;
}

.sec-faq .faq-content-inner ul,
.sec-faq .faq-content-inner ol {
	margin: 0.5em 0;
	padding-left: 1.25em;
}

/* Section Remote â€“ header = --box-color, body = blanc */
.sec-remote .remote-box {
	position: relative;
	margin-bottom: var(--gap, 1rem);
	background-color: var(--c-white);
	border: 1px solid var(--c-grey-soft, #e8e8e8);
	border-radius: calc(var(--gap, 1rem) * 1);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sec-remote .remote-box:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}


/* remote-header : gradient via .gradient-tr, image au-dessus, titre, subtitle, height fixe 20rem */
.sec-remote .remote-header {
	display: flex;
	flex-direction: column;
	min-height: 20rem;
	height: 20rem;
	padding: calc(var(--gap, 1rem) * 2);
	box-sizing: border-box;
}

.sec-remote .remote-figure {
	width: 10rem;
	height: 10rem;
	margin: 0 auto 0.5em auto;
	flex-shrink: 0;
	aspect-ratio: 1;
	overflow: hidden;
	display: block;
}

.sec-remote .remote-row-1 {
	margin-bottom: 0.5em;
}

.sec-remote .remote-title {
	margin: 0;
	font-size: var(--t3, 1.5rem);
	color: var(--c-dark);
	padding-bottom: calc(var(--gap)*1);
}

.sec-remote .remote-subtitle {
	margin: 0;
	font-size: var(--t7, 0.875rem);
	color: var(--c-dark);
}

/* remote-body : section sous le header, fond blanc */
.sec-remote .remote-body {
	padding: calc(var(--gap, 1rem) * 2);
	background-color: var(--c-white);
}



.sec-remote .remote-image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	vertical-align: middle;
}

.sec-remote .remote-content {
	line-height: 1.5;
}

.sec-remote .remote-content p:first-child {
	margin-top: 0;
}

.sec-remote .remote-content p:last-child {
	margin-bottom: 0;
}

.sec-remote .remote-content a {
	color: var(--c-dark);
	text-decoration: none;
	border-bottom: 1px solid var(--box-color, var(--c-dark));
	transition: color 0.2s ease, border-color 0.2s ease, border-bottom-width 0.2s ease;
}

.sec-remote .remote-content a:hover {
	color: var(--c-dark);
	border-bottom-width: 3px;
}

.sec-remote .remote-content ul {
	list-style: none;
	padding-left: 0;
	margin: 0.5em 0;
}

.sec-remote .remote-content ul li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 0.35em;
}

.sec-remote .remote-content ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1em;
	height: 1em;
	background-color: var(--box-color, var(--c-dark));
	-webkit-mask-image: url(../media/-icon/arrow-right.svg);
	mask-image: url(../media/-icon/arrow-right.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

footer.footer {
	background-color: color-mix(in srgb, var(--c-fresh-2) 8%, var(--c-white));
	font-size: var(--t8);
	padding-top: calc(var(--gap)*3);
	padding-bottom: calc(var(--gap)*3);
}
/* === SOCIAL MEDIA ICONS (footer) – survol harmonisé === */
.sfooter ul.social-links,
ul.social-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.sfooter ul.social-links li,
ul.social-links li {
	list-style: none;
	display: inline-block;
	width: 52px;
	height: 52px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.sfooter ul.social-links li a,
ul.social-links li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.sfooter ul.social-links li a:hover,
ul.social-links li a:hover {
	transform: scale(1.15) translateY(-3px);
	background-color: var(--c-white, #fff);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.sfooter ul.social-links img,
ul.social-links img {
	width: 30px;
	height: 30px;
	object-fit: contain;
}
/* === HERO === */
:root {
	--hero-title-size: 2.5rem;
	--hero-subtitle-size: var(--t6);
	--hero-align: left;
	--hero-arrow: 60px;
	--hero-dot: calc(var(--gap)/2);
}

.sec-hero-bg {
	position: relative;
	overflow: hidden;
	padding: 0;
	text-align: var(--hero-align);
}
.sec-hero-bg--center { --hero-align: center; }
.sec-hero-bg--right { --hero-align: right; }

.sec-hero-bg .hero-slide {
	min-height: inherit;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: center bottom/cover;
	position: relative;
}

.sec-hero-bg .hero-slide-bg-picture {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.sec-hero-bg .hero-slide-bg-picture .hero-slide-bg,
.sec-hero-bg .hero-slide-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
	pointer-events: none;
}
.sec-hero-bg .hero-slide-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.25) 0%,
		rgba(0, 0, 0, 0.55) 100%
	);
	opacity: var(--hero-overlay, 0.55);
}
.sec-hero-bg .hero-slide .container {
	position: relative;
	z-index: 2;
	width: 100%;
}

.sec-hero-bg .hero-slide-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.sec-hero-bg-slider .hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.5s;
}
.sec-hero-bg-slider .hero-slide.active {
	position: relative;
	opacity: 1;
}

.sec-hero-bg .hero-title {
	font-size: var(--hero-title-size);
	color: var(--c-white);
	margin: 0 0 calc(var(--gap) * 1);
}
.sec-hero-bg .hero-subtitle {
	font-size: var(--hero-subtitle-size);
	color: var(--c-white);
	margin: 0 0 calc(var(--gap) * 1.25);
}

.sec-hero-bg .hero-slide-content .btn.btn-cta {
	margin-top: 0;
	margin-bottom: 0;
	align-self: flex-start;
}

/* === NAVIGATION ARROWS === */
.sec-hero-bg .hero-nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	padding: 0 var(--gap);
	transform: translateY(-50%);
	z-index: 10;
	pointer-events: none;
}
.sec-hero-bg .hero-prev, .sec-hero-bg .hero-next {
	background: none;
	border: none;
	width: var(--hero-arrow);
	height: var(--hero-arrow);
	cursor: pointer;
	transition: 0.2s;
	font-size: 0; /* Hide HTML content */
	pointer-events: auto;
}
.sec-hero-bg .hero-prev::before, .sec-hero-bg .hero-next::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.6);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: 0.2s;
}
.sec-hero-bg .hero-prev::before {
	-webkit-mask-image: url(../media/-icon/chevron-left.svg);
	mask-image: url(../media/-icon/chevron-left.svg);
}
.sec-hero-bg .hero-next::before {
	-webkit-mask-image: url(../media/-icon/chevron-right.svg);
	mask-image: url(../media/-icon/chevron-right.svg);
}
.sec-hero-bg .hero-prev:hover::before, .sec-hero-bg .hero-next:hover::before {
	background-color: rgba(255,255,255,1);
}

/* === DOTS === */
.sec-hero-bg .hero-dots {
	position: absolute;
	bottom: calc(var(--gap)*2);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 1rem;
	z-index: 10;
}
.sec-hero-bg .hero-dot {
	min-width: 24px;
	min-height: 24px;
	width: max(var(--hero-dot), 24px);
	height: max(var(--hero-dot), 24px);
	border-radius: 50%;
	background: rgba(255,255,255,0.5);
	border: none;
	cursor: pointer;
	transition: 0.2s;
}
.sec-hero-bg .hero-dot.active, .sec-hero-bg .hero-dot:hover {
	background: var(--c-white);
}

/* === SEC-HERO = copie de sec-hero-bg sans background-image, texte plus petit + noir, image <img> sous le texte === */
.sec-hero {
	position: relative;
	overflow: hidden;
	padding-top: 0px;
	padding-bottom: calc(var(--gap)*2);
	background-color: var(--c-white);
	text-align: var(--hero-align);
}
.sec-hero .hero-slide {
	min-height: inherit;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	background: none;
	position: relative;
	/* padding-top: var(--gap); */
	/* padding-bottom: calc(var(--gap)*3); */
}
.sec-hero .hero-slide::before {
	display: none;
}
.sec-hero .hero-slide .container {
	position: relative;
	z-index: 2;
	text-align: center;
}
.sec-hero.sec-hero-slider-active .hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.5s;
}
.sec-hero.sec-hero-slider-active .hero-slide.active {
	position: relative;
	opacity: 1;
}
.sec-hero .hero-title {
	font-size: var(--t2);
	color: var(--c-dark);
	margin-bottom: var(--gap);
}
.sec-hero .hero-subtitle {
	font-size: var(--t5);
	color: var(--c-dark);
	margin-bottom: var(--gap);
}
.sec-hero img,
.sec-hero .hero-slide img {
	display: block;
	max-width: 100%;
	/* max-height: 280px; */
	width: auto;
	height: auto;
	object-fit: contain;
	/* margin-top: var(--gap); */
	margin-bottom: calc(var(--gap) * 2);
	/* margin-left: auto; */
	/* margin-right: auto; */
	text-align: center;
}

/* FlÃƒÂ¨ches toujours au mÃƒÂªme endroit (position absolue par rapport ÃƒÂ  la section) */
.sec-hero .hero-nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	padding: 0 var(--gap);
	transform: translateY(-50%);
	z-index: 10;
	pointer-events: none;
}
.sec-hero .hero-prev, .sec-hero .hero-next {
	background: none;
	border: none;
	width: var(--hero-arrow);
	height: var(--hero-arrow);
	cursor: pointer;
	transition: 0.2s;
	font-size: 0;
	pointer-events: auto;
}
.sec-hero .hero-prev::before, .sec-hero .hero-next::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: 0.2s;
}
.sec-hero .hero-prev::before {
	-webkit-mask-image: url(../media/-icon/chevron-left.svg);
	mask-image: url(../media/-icon/chevron-left.svg);
}
.sec-hero .hero-next::before {
	-webkit-mask-image: url(../media/-icon/chevron-right.svg);
	mask-image: url(../media/-icon/chevron-right.svg);
}
.sec-hero .hero-prev:hover::before, .sec-hero .hero-next:hover::before {
	background-color: var(--c-dark);
}

/* MÃƒÂªmes dots que sec-hero-bg */
.sec-hero .hero-dots {
	position: absolute;
	bottom: calc(var(--gap)*2);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 1rem;
	z-index: 10;
}
.sec-hero .hero-dot {
	min-width: 24px;
	min-height: 24px;
	width: max(var(--hero-dot), 24px);
	height: max(var(--hero-dot), 24px);
	border-radius: 50%;
	background: rgba(0,0,0,0.3);
	border: none;
	cursor: pointer;
	transition: 0.2s;
}
.sec-hero .hero-dot.active, .sec-hero .hero-dot:hover {
	background: var(--c-dark);
}
/* === POST === */
.mario .post-img { background: #fff; }

/* === POST VISIBILITY === */
.post.post-hidden {
	display: none;
}

ul.post-infos {
	list-style: none;
	margin: calc(var(--gap)*1) 0 0 0;
	padding: 0;
	font-size: var(--t8);
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 0.75rem;
	color: var(--c-grey);
}
ul.post-infos li {
	margin: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
}
ul.post-infos li.info-author { display: none; }
ul.post-infos li.info-personne a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	white-space: nowrap;
}
ul.post-infos li .date,
ul.post-infos li .category,
ul.post-infos li .taxonomy { display: inline; }
ul.post-infos li .tag.tag-pills { display: inline-flex; }
ul.post-infos li.info-personne img {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

/* Tags en pills */
.tag.tag-pills { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0; }
.tag-pill { display: inline-block; }
.tag-pill a { display: inline-block; padding: 0.2rem 0.55rem; font-size: var(--t7); border-radius: 999px; background: var(--c-white); border: 1px solid var(--c-light-grey); color: var(--c-grey); text-decoration: none; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.tag-pill a:hover { background: var(--c-light); border-color: var(--c-grey-soft); color: var(--c-dark); }

/* Tags single cpt-ting : style proche des pills sidebar (gris clair, hashtag) */
.tag-pill-feed a {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.15rem 0.25rem 0.15rem 0.4rem;
  font-size: var(--t8);
  background: var(--c-grey-soft);
  border: 1px solid var(--c-grey-soft);
  color: var(--c-dark);
}
.tag-pill-feed a:hover {
  background: #d0d0d0;
  border-color: #d0d0d0;
  color: var(--c-dark);
}
.tag-pill-icon {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  object-fit: contain;
}

.single-cpt-human {
	h1 { font-size: var(--t1); }
}
.single-human-img {
	max-width: 100%;
	height: auto;
	display: block;
}
.single-human-header { margin-bottom: 1rem; }
.single-human-job { font-size: var(--t4); color: var(--c-grey); margin-top: 0.25rem; display: block; }
.single-human-groupe { font-size: var(--t4); color: var(--c-grey); margin-top: 0.25rem; display: block; }
.single-human-groupe a { color: var(--c-fresh); text-decoration: none; }
.single-human-groupe a:hover { text-decoration: underline; }
.single-human-social.single-human-social-naked {
	list-style: none;
	margin: 0.5rem 0 1rem 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.single-human-social.single-human-social-naked li { margin: 0; padding: 0; }
.single-human-social.single-human-social-naked a { display: flex; align-items: center; }
.single-human-social.single-human-social-naked img { width: 32px; height: 32px; object-fit: contain; }
.single-human-description { margin-bottom: 1.5rem; }
.single-human-formations {
	padding-top: calc(var(--gap) * 2);
	margin-bottom: calc(var(--gap) * 1);
}
.single-human-contact {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.25rem 1rem;
	margin-bottom: 1.5rem;
}
.single-human-contact dt { font-weight: 600; display: flex; align-items: center; gap: 0.35rem; }
.single-human-contact dt img { width: 16px; height: 16px; flex-shrink: 0; object-fit: contain; filter: brightness(0) saturate(100%) invert(0.75); }
.single-human-contact dd { margin: 0; }
.single-human-contact a { color: inherit; }
.single-human-label { font-size: var(--t6); margin-bottom: 0.5rem; }
.single-human-comites { margin-bottom: 1.5rem; }
.single-human-comite-list { list-style: none; margin: 0; padding: 0; }
.single-human-comite-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; margin-bottom: 0.35rem; }
.single-human-comite-item a { color: var(--c-fresh); text-decoration: none; }
.single-human-comite-item a:hover { text-decoration: underline; }
.single-human-comite-role { font-size: var(--t6); color: var(--c-grey); }
.single-human-team-list,
.single-human-relation-list {
	list-style: none;
	margin: 0 0 1.5rem 0;
	padding: 0;
}
.single-human-relation-list a,
.single-human-team-list a { color: var(--c-fresh); text-decoration: none; }
.single-human-relation-list a:hover,
.single-human-team-list a:hover { text-decoration: underline; }
@media (max-width: 767px) {
	.single-human-photo { margin-bottom: 1rem; }
}

.post.waluigi {
	border-bottom:1px solid var(--c-grey-soft);
	padding-bottom:calc(var(--gap)*3);
	margin-bottom:calc(var(--gap)*3);

	h2 {
		font-size: var(--t5);
		line-height: 1.35;
		font-weight: 500;
		color: transparent;
		background: var(--c-fresh);
		-webkit-background-clip: text;
		background-clip: text;
	}
	a {
		text-decoration: none;
	}
}

.post.luigi {
	h2 {
		font-size: var(--t5);
		line-height: 1.35;
		font-weight: 500;
	}
}
.luigi-header-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	min-height: 1.5em;
}

.luigi-formation-label,
.ting-nouveau-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: var(--t7);
	line-height: 1.4;
}

.ting-nouveau-badge {
	color: var(--c-green-success, #03B38C);
}

.ting-nouveau-badge .ting-nouveau-icon {
	color: inherit;
}

.luigi-formation-icon,
.ting-nouveau-badge .ting-nouveau-icon {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	object-fit: contain;
}

.luigi-formation-icon {
	opacity: 0.7;
}

.luigi-taxonomy-row { margin-top: 0.25rem; }
.luigi-taxonomy-row-wrap { margin-top: 0.25rem; }
.luigi-human-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.75rem;
	margin-top: 0.5rem;
}
.luigi-human-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}
.luigi-human-row .luigi-avatar-link { display: block; line-height: 0; flex-shrink: 0; }
.luigi-human-row .luigi-avatar {
	width: 32px;
	height: 32px;
	object-fit: cover;
	border-radius: 50%;
}
.luigi-human-info { flex: 1; min-width: 0; }
.luigi-human-name {font-size: var(--t7);font-weight: 600;}
.luigi-human-name a { color: inherit; }
.luigi-human-job {font-size: var(--t7);color: var(--c-grey);margin-top: -3px;padding-bottom: 0px;}
/* Avatar seul Ã  gauche des taxonomy (md+) avec tooltip ; bloc human complet en xs/sm */
/* Luigi rows: 2 titre seul, 3 date seule, 4 photos gauche / btn droite */
.luigi-row-title { margin-top: 0.25rem; }
.post.luigi .luigi-row-title h2 { font-size: var(--t4); font-weight: 700; line-height: 1.2; margin-bottom: 0; padding-bottom: 0; }
.luigi-row-date { margin-top: 0.25rem; }
.luigi-f-horaire-prix { margin-top: 0.25rem; }
.luigi-f-date-line {
	font-size: var(--t7);
	color: var(--c-fresh-2);
	margin: 0;
	line-height: 1.4;
}
.luigi-f-date-line .luigi-f-sep { color: var(--c-grey); }
.luigi-f-date-line .luigi-f-prix-part { color: var(--c-dark); }
.luigi-f-horaire-prix-passee .luigi-f-date-line,
.luigi-f-horaire-prix-passee .luigi-f-date-line .luigi-f-prix-part {
	color: var(--c-grey);
	text-decoration: line-through;
}
.luigi-formation-label .luigi-passee-inline { color: var(--c-grey); font-weight: 600; }
.luigi-formation-label .luigi-label-sep { font-weight: 400; opacity: 0.7; }
.post.luigi.luigi-passee .ting-box {
	background-color: var(--c-grey-soft, #e8e8e8) !important;
	opacity: 0.85;
	filter: grayscale(0.4);
}
.post.luigi.luigi-passee:hover .ting-box {
	transform: none;
	box-shadow: var(--shadow-1);
}
.luigi-row-photos-btn { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 0.75rem; }
.luigi-avatars-col { flex-shrink: 0; }
.luigi-avatars-inline { display: flex; align-items: center; gap: 0.75rem; }
.luigi-avatar-tooltip { display: block; line-height: 0; flex-shrink: 0; position: relative; }
.luigi-avatar-tooltip .luigi-avatar { width: 32px; height: 32px; object-fit: cover; border-radius: 50%; }
.luigi-avatar-tooltip .luigi-avatar.luigi-avatar-150 { width: 48px; height: 48px; }
.luigi-avatar-tooltip-content {
	position: absolute;
	left: 0;
	top: calc(100% + 6px);
	width: max-content;
	max-width: 240px;
	line-height: 1.35;
	font-size: var(--t7);
	font-weight: 500;
	color: #fff;
	background: rgba(0,0,0,.85);
	padding: 0.35rem 0.6rem;
	border-radius: 4px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .15s ease, visibility .15s ease;
	pointer-events: none;
	z-index: 10;
	text-align: left;
	box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.luigi-avatar-tooltip-content .luigi-avatar-tooltip-name { font-weight: 700; }
.luigi-avatar-tooltip-content .luigi-avatar-tooltip-job { font-size: var(--t8); }
.luigi-avatar-tooltip-content::before {
	content: "";
	position: absolute;
	left: 24px;
	top: -5px;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid rgba(0,0,0,.85);
	transform: translateX(-50%);
}
.luigi-avatar-tooltip:hover .luigi-avatar-tooltip-content {
	opacity: 1;
	visibility: visible;
}
@media (min-width: 768px) {
	.luigi-taxonomy-row {
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}
}
.luigi-btn-col { text-align: right; flex: 1; min-width: 0; }
/* Titre luigi : pas de couleur fresh ni soulignement */
.post.luigi .ting-box a,
.post.luigi .ting-box a h2 {
	color: inherit;
	text-decoration: none;
}
.post.luigi .ting-box a h2 {
	font-weight: 600;
}

.post.luigi .ting-box a:hover,
.post.luigi .ting-box a:hover h2 {
	color: inherit;
	text-decoration: none;
}

.ting-box {
	padding: calc(var(--gap)*1) calc(var(--gap)*1.5);
	border-radius: 6px;
	background-color: var(--c-white);
	box-shadow: var(--shadow-1);
	transition: box-shadow .25s, transform .25s;
}
.post.luigi:hover .ting-box {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,.12);
	width:100%;
}
.post.luigi .ting-box .btn {
	transition: box-shadow .25s ease, transform .25s ease, background .25s ease;
}

.partners-item-img {
	max-width:100px;
	text-align:center;

}

/* Player sm (page équipe) : image et texte en colonnes, titre + infos alignés en haut */
.post.player-sm {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.post.player-sm .post-img { float: none; flex-shrink: 0; line-height: 0; width: 96px; }
.post.player-sm .post-img img,
.post.player-sm .post-img .thumb { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; display: block; }
.post.player-sm .post-txt { flex: 1; min-width: 0; padding-top: 0; }
.post.player-sm .post-img img[src*="user-round.svg"],
.post.player-sm .post-img .thumb[src*="user-round.svg"] {
	object-fit: contain;
	padding: 0;
	/* Icône agrandie pour égaler la taille des photos avatar (même conteneur) */
	width: 100%;
	aspect-ratio: 1;
}
.post.player-sm .player-name { display: block; text-decoration: none; color: inherit; font-weight: 600; }
.post.player-sm .player-name:hover { text-decoration: underline; }
.post.player-sm .player-job { font-size: var(--t7); color: var(--c-grey); margin: 0.15rem 0 0 0; }
.post.player-sm .player-social { list-style: none; margin: 0.25rem 0 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.post.player-sm .player-social li { margin: 0; padding: 0; }
.post.player-sm .player-social a { display: flex; align-items: center; }
.post.player-sm .player-social img { width: 18px; height: 18px; object-fit: contain; }
.post.player-sm .player-contact {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: var(--t8);
	margin-top: 0.35rem;
}
.post.player-sm .player-phone,
.post.player-sm .player-email {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}
.post.player-sm .player-phone img,
.post.player-sm .player-email img {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	object-fit: contain;
	filter: brightness(0) saturate(100%) invert(0.75);
}
.post.player-sm .player-contact a {
	color: inherit;
	text-decoration: none;
}
.post.player-sm .player-contact a:hover {
	text-decoration: underline;
}

/* Player xs (encore plus petit) : avatar rond, nom + métier uniquement */
.post.player-xs {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}
.post.player-xs .post-img { float: none; flex-shrink: 0; line-height: 0; }
.post.player-xs .post-img img,
.post.player-xs .post-img .thumb {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
.post.player-xs .post-img img[src*="user-round.svg"],
.post.player-xs .post-img .thumb[src*="user-round.svg"] {
	object-fit: contain;
	background-color: var(--c-white);
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	padding: 12px;
	/* Icône grise (#666) : brightness(0)=noir puis invert(0.6)=gris moyen */
	filter: brightness(0) saturate(100%) invert(0.6);
}
.post.player-xs .post-txt { flex: 1; min-width: 0; padding-top: 0; }
.post.player-xs .player-name { display: block; text-decoration: none; color: inherit; font-weight: 600; font-size: var(--t7); }
.post.player-xs .player-name:hover { text-decoration: underline; }
.post.player-xs .player-job {font-size: var(--t7);color: var(--c-grey);margin: 0;}
.post.player-xs .player-contact {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	font-size: var(--t8);
	margin-top: 0.25rem;
}
.post.player-xs .player-phone,
.post.player-xs .player-email {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}
.post.player-xs .player-phone img,
.post.player-xs .player-email img {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
	object-fit: contain;
	filter: brightness(0) saturate(100%) invert(0.75);
}
.post.player-xs .player-contact a {
	color: inherit;
	text-decoration: none;
}
.post.player-xs .player-contact a:hover {
	text-decoration: underline;
}

/* Player : image et texte en colonnes, titre + infos alignés en haut */
.post.player {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.post.player .post-img { float: none; flex-shrink: 0; line-height: 0; }
.post.player .post-img img,
.post.player .post-img .thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 8px;
	display: block;
}
.post.player .post-txt { flex: 1; min-width: 0; }
/* Avatar par défaut (icône Lucide user-round) : fond gris clair */
img[src*="user-round.svg"] {
	background: var(--c-grey-soft);
	object-fit: contain;
}
.post.player .post-img img[src*="user-round.svg"],
.post.player .post-img .thumb[src*="user-round.svg"] {
	object-fit: contain;
	/* Icône agrandie pour égaler la taille des photos avatar (64×64) */
	width: 64px;
	height: 64px;
	box-sizing: border-box;
	padding: 0;
}
.single-human-img[src*="user-round.svg"] { padding: 2rem; }
.personne-photo[src*="user-round.svg"] { padding: 10px; }
.luigi-avatar[src*="user-round.svg"] { padding: 8px; }

/* Player : prénom nom, métier, téléphone, email */
.post.player .player-contact {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: var(--t8);
	margin-top: 0.35rem;
}
.post.player .player-phone,
.post.player .player-email {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}
.post.player .player-phone img,
.post.player .player-email img {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	object-fit: contain;
	filter: brightness(0) saturate(100%) invert(0.75);
}
.post.player .player-contact a {
	color: inherit;
	text-decoration: none;
}
.post.player .player-contact a:hover {
	text-decoration: underline;
}
.post.player .player-social {
	list-style: none;
	margin: 0.25rem 0 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.post.player .player-social li { margin: 0; padding: 0; }
.post.player .player-social a { display: flex; align-items: center; }
.post.player .player-social img { width: 18px; height: 18px; object-fit: contain; }

/* Personnes associées (single post sidebar) */
.post-humans-intro {
	font-size: var(--t6);
	margin-bottom: 0.75rem;
	margin-top: 0;
}
.post-humans {
	margin-top: calc(var(--gap)*1);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.personne-card {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
}
.personne-photo-link { display: block; line-height: 0; flex-shrink: 0; order: -1; }
.personne-photo {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}
.personne-info {display: flex;flex-direction: column;gap: 2px;}
.personne-name { font-weight: 600; font-size: var(--t6); color: inherit; text-decoration: none; }
.personne-name:hover { text-decoration: underline; }
.personne-job { font-size: var(--t7); color: var(--c-grey); margin: 0; padding: 0; display: block; }
.personne-description {font-size: var(--t8);margin: 0;}
.personne-description p { margin: 0 0 0.5em 0; }
.personne-description p:last-child { margin-bottom: 0; }
.personne-phone,
.personne-email { font-size: var(--t7); margin: 0; display: flex; align-items: center; gap: 0.35rem; }
.personne-phone img,
.personne-email img { width: 16px; height: 16px; flex-shrink: 0; object-fit: contain; }
.personne-phone a,
.personne-email a { color: inherit; text-decoration: none; }
.personne-phone a:hover,
.personne-email a:hover { text-decoration: underline; }
.personne-contact-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin-top: 0.25rem; }
.personne-card-hr {
	margin: 1rem 0;
	border: none;
	border-top: 1px solid var(--c-grey-soft);
	height: 0;
}
.personne-social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center; }
.personne-social li { margin: 0; padding: 0; }
.personne-social a { display: flex; align-items: center; }
.personne-social img { width: 18px; height: 18px; object-fit: contain; }

/* === TAXONOMY IN LUIGI === */
.taxonomy {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.2rem 0;
}

.taxonomy-group {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

.taxonomy-link {
	font-size: var(--t7);
	text-decoration: none;
}
.taxonomy-link:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.taxonomy-child {
	color: var(--c-grey);
	font-weight: 400;
}

.taxonomy-arrow {
	margin-right: 0.15rem;
}

/* === NUMBER (section numbers) === */
.number-item {
	font-weight: 400;
	color: var(--c-grey);
}
.number-item .score {
	font-size: var(--t1);
	font-weight: 600;
	color: var(--c-fresh-2);
}
@supports (background-clip: text) {
	.number-item .score {
		background: var(--c-fresh);
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
	}
}
.number-item .metric {
	font-size: var(--t6);
	color: var(--c-grey);
	display: inline;
	position: absolute;
	margin-top: 50px;
	padding-left: 10px;
	font-weight: 600;
	-webkit-text-fill-color: var(--c-grey);
}
.number-item .intitule {
	font-size: var(--t6);
	font-weight: 400;
	color: var(--c-dark);
}
.number-item .precision {
	font-size: var(--t6);
	color: var(--c-grey);
}

/* === TING FIELDS (single cpt-ting ACF) === */
.ting-fields {
	margin-top: calc(var(--gap) * 2);
	padding-top: calc(var(--gap) * 1);
	border-top: 1px solid var(--c-grey-soft, #eee);
}

.ting-field {
	margin-bottom: calc(var(--gap) /2);
}

.ting-field .ting-label {
	display: inline-block;
	font-size: var(--t7);
	color: var(--c-grey);
}

#tings-container .ting-field h3.ting-label {
	color: var(--ting-taxo-color, var(--c-grey));
}
.ting-field h3.ting-label {
	font-size: var(--t5);
	margin: 2rem 0 0.5rem 0;
}

.ting-field .ting-wysiwyg,
#tings-container .ting-field .ting-wysiwyg {
	font-size: var(--t5);
	line-height: 1.75;
	font-family: var(--font-secondary);
}
#tings-container .ting-field .ting-wysiwyg p,
#tings-container .ting-field .ting-wysiwyg li {
	font-size: var(--t5);
	line-height: 1.75;
	font-family: var(--font-secondary);
}

.ting-field .ting-relation {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ting-field .ting-relation li {
	margin: 0;
	padding: 0;
}

.ting-field .ting-relation a {
	color: var(--c-fresh);
	text-decoration: none;
}

.ting-field .ting-relation a:hover {
	text-decoration: underline;
}

/* Meta formation colonne droite (single cpt-ting) */
.ting-sidebar-meta {
	margin-bottom: calc(var(--gap) * 1);
}

.ting-sidebar-meta .ting-meta-row {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-bottom: 0.5rem;
}

.ting-sidebar-meta .ting-meta-label {
	font-size: var(--t7);
	color: var(--c-grey);
	font-weight: 600;
}

.ting-sidebar-meta .ting-meta-value {
	font-size: var(--t6);
}

.ting-sidebar-meta .ting-meta-value a {
	font-size: var(--t7);
	color: var(--c-fresh);
	text-decoration: none;
}

.ting-sidebar-meta .ting-meta-value a:hover {
	text-decoration: underline;
}

.single-post .main {
	background-color: var(--c-white);
}

.single-cpt-ting .single-ting-label {
	font-size: var(--t7);
	color: var(--c-fresh-2);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.25rem;
}

.single-cpt-ting {
	background-color: var(--c-white);
	.formation-detail {
		color: var(--c-grey-soft);
	}
	h1 {
		margin-top: var(--gap);
	}
}

.ting-nouveau-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--c-green-success, #03B38C);
	font-size: var(--t6);
	line-height: 1.4;
}

.ting-nouveau-badge .ting-nouveau-icon {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	color: inherit;
}

/* Taxonomy single cpt-ting : t6, sur une seule ligne */
.single-cpt-ting .taxonomy {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.single-cpt-ting .taxonomy .taxonomy-link {
	font-size: var(--t6);
}

.single-cpt-ting .taxonomy-group {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.25rem;
}

/* inc-personne single cpt-ting : une ligne, avatar plus petit, float left */
.single-cpt-ting .post-humans {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.single-cpt-ting .ting-accroche {
	font-weight: 400;
	font-size: var(--t4);
	color: var(--c-grey);
	padding-top:var(--gap);

}

.single-cpt-ting h2 {
	margin-top:var(--gap);

}

.single-cpt-ting .personne-card {
	flex-direction: row;
	align-items: flex-start;
	gap: 0.5rem;
}

.single-cpt-ting .personne-photo-link {
	flex-shrink: 0;
}

.single-cpt-ting .personne-photo {
	width: 60px;
	height: 60px;
}

.single-cpt-ting .personne-info {
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.single-cpt-ting .personne-job {
	margin: 0;
}

/* Zone meta sous le titre : bg vert clair success */
.single-ting-meta {
	padding: 1.25rem 1.5rem;
	margin-bottom: 1.5rem;
	background: color-mix(in srgb, var(--c-green-success) 12%, var(--c-white));
	border-radius: 10px;
	border-left: 4px solid var(--c-green-success);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* Sidebar single-cpt-ting : espace entre personne et btn (remplace hr) */
.single-cpt-ting .scroll-static .post-humans {
	margin-bottom: 1.5rem;
}

/* CGV box : options ACF f-cgv, boîte c-fresh (couleur d'avant) */
.single-ting-cgv-box {
	margin-top: 2rem;
	padding: 1.25rem 1.5rem;
	background: color-mix(in srgb, var(--c-fresh-2) 8%, var(--c-white));
	border-radius: 10px;
	border-left: 4px solid var(--c-fresh);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.single-ting-date-limite { color: var(--c-fresh-2); }
.single-ting-date-limite .single-ting-meta-label,
.single-ting-date-limite .single-ting-meta-value { color: inherit; }
.single-ting-date-limite-bottom { margin-bottom: 1rem; }

/* Boîte CGV / date limite : grisée si formation ou inscriptions passées */
.single-ting-cgv-box-passee {
	background: var(--c-grey-soft, #e8e8e8) !important;
	border-left-color: var(--c-grey) !important;
	opacity: 0.9;
	filter: grayscale(0.35);
}
.single-ting-cgv-box-passee .single-ting-date-limite,
.single-ting-cgv-box-passee .single-ting-date-limite .single-ting-meta-label,
.single-ting-cgv-box-passee .single-ting-date-limite .single-ting-meta-value,
.single-ting-cgv-box-passee .single-ting-cgv-inner {
	color: var(--c-grey);
}
.single-ting-date-limite-passee .single-ting-meta-value {
	text-decoration: line-through;
}

/* Single cpt-ting formation passée : même style que luigi */
.single-cpt-ting.single-ting-passee .single-ting-meta {
	background-color: var(--c-grey-soft, #e8e8e8) !important;
	opacity: 0.9;
}
.single-ting-date-passee .single-ting-meta-value { color: var(--c-grey); text-decoration: line-through; }
.single-ting-prix-passee .single-ting-meta-value,
.single-ting-format-passee .single-ting-meta-value { color: var(--c-grey); text-decoration: line-through; }
.single-ting-passee-msg { font-size: var(--t8); color: var(--c-grey); margin: 0 0 0.75rem; font-weight: 600; }
.single-ting-cgv-inner {
	font-size: var(--t7);
	line-height: 1.6;
}
.single-ting-cgv-inner p:first-child { margin-top: 0; }
.single-ting-cgv-inner p:last-child { margin-bottom: 0; }


/* ============================================================
   LAYOUT PRINCIPAL
   ============================================================ */

.site-wrapper {
  display: flex;
  min-height: 100vh;
}

.has-aside-filter .site-wrapper {
  background-color: #ffffff;
}

.main {
  flex: 1;
  /* padding-top harmonisÃ© dans -custom.css via .main + --main-top-gap */
}

/* ============================================================
   SIDEBAR FILTRE
   ============================================================ */

/* CachÃ©e par dÃ©faut sur XS/SM, visible en colonne Ã  partir de MD (768px) quand has-aside-filter */
.aside-filter {
  display: none;
  contain: layout style;
}

/* --bp-md : sidebar visible en colonne, bouton toggle cachÃ© (valeur : 768px dans :root) */
@media (min-width: 768px) { /* --bp-md */
  .has-aside-filter .filter-toggle {
  display: none;
  }
  .has-aside-filter .aside-filter {
  display: block;
  width: var(--aside-width);
  flex-shrink: 0;
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  padding: calc(var(--gap) * 2) var(--gap) var(--gap);
  overflow-y: auto;
  background: var(--c-white);
  border-right: 1px solid #eee;
  z-index: 100;
  }
  .has-aside-filter .site-wrapper .main {
  margin-left: var(--aside-width);
  width: calc(100% - var(--aside-width));
  }
  .has-aside-filter .header { z-index: 1002; }
  /* sfooter et footer en pleine largeur aprÃ¨s la sidebar */
  .has-aside-filter .sfooter,
  .has-aside-filter .footer {
  margin-left: 0;
  width: 100%;
  }
}

/* Page-anchor : header-titre au-dessus de la sidebar, mÃªmes breakpoints/largeurs que portfolio */
.page-anchor-layout .site-wrapper {
  flex-wrap: wrap;
}

.page-anchor-layout .page-anchor {
  background-color: var(--c-white);
}
.page-anchor-layout .page-anchor-header-wrap {
  flex: 0 0 100%;
  width: 100%;
  order: -1;
}
body.has-alert.page-anchor-layout .page-anchor-header-wrap {
  padding-top: var(--main-top-gap);
}
/* Aligner le contenu du header anchor avec la colonne main (Ã©viter le dÃ©calage avec la sidebar) */
@media (min-width: 768px) {
  .page-anchor-layout.has-aside-filter .page-anchor-header-wrap .container-fluid {
    padding-left: calc(var(--aside-width) + var(--gap));
  }
}
/* Sidebar sticky (page-anchor + page-feed-tings) : mÃªme fonctionnement */
@media (min-width: 768px) { /* --bp-md */
  .page-anchor-layout.has-aside-filter .aside-filter,
  .layout-sticky-aside.has-aside-filter .aside-filter {
  position: sticky;
  top: var(--header-height);
  left: auto;
  height: auto;
  max-height: calc(100vh - var(--header-height));
  overflow-y: auto;
  }
  .page-anchor-layout.has-aside-filter .site-wrapper .main,
  .layout-sticky-aside.has-aside-filter .site-wrapper .main {
  margin-left: 0;
  width: auto;
  flex: 1;
  min-width: 0;
  }

  /* Pages sidebar : centrer les colonnes dans chaque row du contenu page-anchor */
  .has-aside-filter .page-anchor .section .container .row {
  justify-content: center;
  }
}

/* h1 page-ordre uniquement : gros, dégradé c-fresh */
.page-template-page-ordre .page-anchor-h1 {
  font-size: var(--t1);
  color: transparent;
  background: var(--c-fresh);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page-template-page-ordre .page-anchor-h1-wrap {
  padding-top: calc(var(--gap) * 4);
  padding-bottom: var(--gap);
}

/* Titres h2 du contenu page-anchor : plus gros, border (hors titres réservés ancres / sidebar) */
.page-anchor-layout .page-anchor h2:not(.visually-hidden) {
  font-size: var(--t1);
  border-bottom: 3px solid var(--page-accent, var(--c-fresh-2));
  padding-top: calc(var(--gap) * 4);
  margin-bottom: calc(var(--gap) * 4);
}

.page-anchor-layout .page-anchor h2:not(.visually-hidden):first-child {
  margin-top: 0;
}

/* page-ordre : sec-team-conseil-dadministration sans padding-top */
.page-template-page-ordre .sec-team-conseil-dadministration {
  padding-top: 0;
}

/* page-ordre : h2 plus petits, noirs */
.page-template-page-ordre .page-anchor h2 {
  font-size: var(--t3);
  color: var(--c-dark);
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

/* page-team + page-comité : h1 en c-fresh */
.page-team-comite-h1-wrap {
  padding-top: calc(var(--gap) * 4);
  padding-bottom: var(--gap);
}
.page-team-comite-h1 {
  font-size: var(--t1);
  color: transparent;
  background: var(--c-fresh);
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
}

/* page-team + page-comité : h2 harmonisés (h2 masqués pour ancres sidebar exclus) */
.page-template-page-team .page-anchor h2,
.page-template-page-comite .page-anchor h2:not(.visually-hidden),
.page-template-page-comite .page-anchor h3.sec-team-comite-title {
  font-size: var(--t3);
  color: var(--c-dark);
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  border-bottom: 3px solid var(--page-accent, var(--c-fresh-2));
  padding-top: 0;
  margin-bottom: calc(var(--gap) * 4);
}

/* Comités : titres parent (gdp) — uniquement ancres + sidebar, jamais à l’écran (écrase toute autre règle h2) */
.page-template-page-comite .sec-team-comites h2.sec-team-comite-groupe-title.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

/* Filtres en colonne dans la sidebar */
.aside-filter .feed-filters {
  display: block;
  width: 100%;
}

/* Switch Formation en ligne / Inter */
.filter-online-wrap {
  margin-bottom: 0.35rem;
  padding-bottom: 0;
}

.filter-inter-wrap {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #eee;
}

.filter-inter-switch {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  user-select: none;
}

.filter-inter-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.filter-inter-switch-track {
  flex-shrink: 0;
  width: 32px;
  height: 18px;
  background: #ddd;
  border-radius: 9px;
  transition: background 0.25s ease;
  position: relative;
}

.filter-inter-switch-track::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  background: var(--c-white);
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: transform 0.25s ease;
}

.filter-inter-switch input:checked + .filter-inter-switch-track {
  background: var(--c-dark);
}

.filter-inter-switch input:checked + .filter-inter-switch-track::after {
  transform: translateX(14px);
}

/* Sidebar : switches plus petits */
.aside-filter .filter-inter-switch-track {
  width: 26px;
  height: 14px;
  border-radius: 7px;
}

.aside-filter .filter-inter-switch-track::after {
  top: 2px;
  left: 2px;
  width: 10px;
  height: 10px;
}

.aside-filter .filter-inter-switch input:checked + .filter-inter-switch-track::after {
  transform: translateX(12px);
}

.filter-inter-switch-label {
  font-size: var(--t7);
  color: var(--c-dark);
}

.filter-inter-switch:hover .filter-inter-switch-track {
  background: #ccc;
}

.filter-inter-switch input:checked:hover + .filter-inter-switch-track {
  background: #333;
}

.filter-inter-switch:focus-within .filter-inter-switch-track {
  outline: 2px solid var(--c-dark);
  outline-offset: 2px;
}

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

.aside-filter,
.aside-filter .filter-cat,
.aside-filter .filter-group-label,
.aside-filter .filter-all-btn,
.aside-filter .anchor-nav a,
.aside-filter .filter-inter-switch-label,
.search-count {
  font-size: var(--t7);
}

/* Titres Lieux, Tags, Public : mÃªme taille que les taxonomies parentes (t7) */
.aside-filter .filter-accordion-tags .filter-accordion-header .filter-group-label,
.aside-filter .filter-accordion-lieu .filter-accordion-header .filter-group-label,
.aside-filter .filter-accordion-cible .filter-accordion-header .filter-group-label {
  font-size: var(--t7);
}

/* Label de groupe en gras */
.aside-filter .filter-group-label {
  font-weight: bold;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

/* Soulignement pour les ÃƒÂ©lÃƒÂ©ments actifs */
.aside-filter .filter-cat.active,
.aside-filter .filter-all-btn.active,
.aside-filter .filter-accordion.has-active .filter-group-label {
  text-decoration: underline;
}

/* ============================================================
   NAVIGATION PAR ANCRES
   ============================================================ */

.aside-filter .anchor-nav ul {
  list-style: disc;
  margin: 0;
  padding-left: 1.5em;
}

.aside-filter .anchor-nav li.anchor-nav-h2 {
  list-style: none;
  margin-left: -1.5em;
  border-top: 1px solid #eee;
  padding: var(--gap) 0 0.5rem 0;
}

.aside-filter .anchor-nav li.anchor-nav-h2 a {
  font-size: var(--t7);
  font-weight: 600;
}

.aside-filter .anchor-nav li.anchor-nav-h3,
.aside-filter .anchor-nav li.anchor-nav-h4 {
  list-style: disc;
}

.aside-filter .anchor-nav li.anchor-nav-h3::marker,
.aside-filter .anchor-nav li.anchor-nav-h4::marker {
  color: var(--page-accent, var(--c-fresh-2));
}

.aside-filter .anchor-nav li.anchor-nav-h3 a,
.aside-filter .anchor-nav li.anchor-nav-h4 a {
  font-size: var(--t8);
}

.aside-filter .anchor-nav li:first-child {
  border-top: none;
}

.aside-filter .anchor-nav a {
  display: block;
  padding: 0.15em 0.25em;
  margin: 0 -0.25em;
  border-radius: 4px;
  color: inherit;
  text-decoration: none;
  transition: none;
}

.aside-filter .anchor-nav a:hover {
  background-color: color-mix(in srgb, var(--page-accent, var(--c-fresh-2)) 35%, transparent);
}

.aside-filter .anchor-nav a.active {
  font-weight: bold;
  background-color: color-mix(in srgb, var(--page-accent, var(--c-fresh-2)) 45%, transparent);
}
.aside-filter .aside-filter-comite-cta {
  margin-top: calc(var(--gap) * 1.5);
  padding-top: calc(var(--gap) * 1);
  border-top: 1px solid color-mix(in srgb, var(--c-dark) 12%, transparent);
}

.aside-filter .aside-filter-comite-btn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  cursor: pointer;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
  padding: 0.45em 0.85em;
  border: 0;
  border-radius: 50px;
  font-size: var(--t7);
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  color: var(--c-white) !important;
  background: var(--page-accent, var(--c-fresh-2));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--page-accent, var(--c-fresh-2)) 35%, transparent);
  transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.aside-filter .aside-filter-comite-btn:hover {
  color: var(--c-white) !important;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 5px 16px color-mix(in srgb, var(--page-accent, var(--c-fresh-2)) 45%, transparent);
}

.aside-filter .anchor-nav a.active:hover {
  background-color: color-mix(in srgb, var(--page-accent, var(--c-fresh-2)) 50%, transparent);
}

/* ============================================================
   ACCORDÃƒâ€°ON DE FILTRES
   ============================================================ */

.aside-filter .filter-accordion-header {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 0.25rem 0;
  border-top: 1px solid #eee;
}
.aside-filter .filter-accordion-header .filter-group-label {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  font-weight: bold;
  text-align: left;
  color: inherit;
}
.aside-filter .filter-accordion-header .filter-group-label:hover {
  text-decoration: underline;
}
.aside-filter .filter-accordion-header .filter-group-label.active {
  text-decoration: underline;
}

.aside-filter .filter-accordion:first-child .filter-accordion-header {
  border-top: none;
}

/* IcÃ´ne accordion (Lieux, Tags) */
.aside-filter .filter-accordion-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  object-fit: contain;
  margin-top: 0.15em;
  filter: grayscale(1);
  opacity: 0.75;
}

/* Pastille colorÃƒÂ©e par catÃƒÂ©gorie */
.aside-filter .filter-group-color {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
  background: var(--c-grey);
  margin-top: 0.25em;
}

/* Bouton toggle (flÃƒÂ¨che) */
.filter-accordion-toggle {
  background: none;
  border: none;
  cursor: pointer;
  width: 24px;
  height: 24px;
  padding: 0;
  position: relative;
}

.filter-accordion-toggle::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid var(--c-grey);
  border-bottom: 1.5px solid var(--c-grey);
  transform: translate(-50%, -70%) rotate(45deg);
}

.filter-accordion.open .filter-accordion-toggle::after {
  transform: translate(-50%, -30%) rotate(-135deg);
}

/* Contenu accordÃƒÂ©on : fermÃƒÂ© par dÃƒÂ©faut, ouvert via .open */
.aside-filter .filter-accordion-content {
  max-height: 0;
  overflow: hidden;
}

.aside-filter .filter-accordion.open .filter-accordion-content {
  max-height: 500px;
}

.aside-filter .filter-accordion-tags.open .filter-accordion-content {
  max-height: 400px;
}

.aside-filter .filter-accordion .filter-accordion-header {
  cursor: pointer;
}

.aside-filter .filter-accordion-tags .filter-accordion-header .filter-group-label,
.aside-filter .filter-accordion-lieu .filter-accordion-header .filter-group-label,
.aside-filter .filter-accordion-cible .filter-accordion-header .filter-group-label {
  font-weight: bold;
}

.aside-filter .filter-accordion-lieu .filter-accordion-content .filter-online-wrap,
.aside-filter .filter-accordion-cible .filter-accordion-content .filter-online-wrap {
  margin-bottom: 0.35rem;
  padding-bottom: 0;
}

/* Switches (Lieux, Public) et liens Tags Ã  l'intÃ©rieur des accordions : plus petits */
.aside-filter .filter-accordion-content .filter-inter-switch-label,
.aside-filter .filter-accordion-content .filter-cat {
  font-size: var(--t8);
}

.aside-filter .filter-accordion-lieu .filter-accordion-content .filter-online-wrap:last-child,
.aside-filter .filter-accordion-cible .filter-accordion-content .filter-online-wrap:last-child {
  margin-bottom: 0;
}

/* ============================================================
   BADGES DE COMPTAGE
   ============================================================ */

/* Comptages en tooltip uniquement (title sur les boutons) */

/* Badge lÃƒÂ©gÃƒÂ¨rement plus sombre ÃƒÂ  l'ÃƒÂ©tat actif */

/* ============================================================
   ITEMS DE FILTRE
   ============================================================ */

.filter-cat {
  font-family: var(--font);
  cursor: pointer;
  display: flex;
  gap: 0.25em;
  align-items: flex-start;
  text-align: left;
  border: none;
  border-top: 1px solid #eee;
  padding: 0.25rem 0 0.25rem 1rem;
  background: none;
  border-radius: 0;
}

.filter-cat:hover {
  color: var(--c-fresh);
}

/* Pas de bordure ÃƒÂ  l'intÃƒÂ©rieur des accordÃƒÂ©ons */
.aside-filter .filter-accordion .filter-cat {
  border: none;
}

.aside-filter .filter-accordion-content .filter-cat {
  padding-left: 1.25rem;
}

.aside-filter .filter-accordion-content .filter-cat:last-child {
  padding-bottom: 0.5rem;
}

/* Pas de pseudo-ÃƒÂ©lÃƒÂ©ment ::before sur ces items */
.aside-filter .filter-accordion-content .filter-cat::before,
.aside-filter .filter-all .filter-cat::before,
.aside-filter .filter-cat-all::before {
  display: none;
}

/* ============================================================
   BOUTON "TOUT" (sÃƒÂ©lection globale)
   ============================================================ */

.aside-filter .filter-all {
  padding: 0;
}

.aside-filter .filter-all-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--font);
  color: inherit;
  text-align: left;
  cursor: pointer;
  border: none;
  border-top: 1px solid #eee;
  padding: 0.25rem 0;
  background: none;
  border-radius: 0;
}


/* ============================================================
   BARRE DE RECHERCHE (feed) + Affichage x/y ÃƒÂ  droite, en dessous en xs
   ============================================================ */

.page-template-page-feed-tings .feed-top {
  padding-top: calc(var(--gap)*1);
}

.feed-top {
  margin-bottom: calc(var(--gap)*2);
}

.feed-top-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  max-width: 48rem;
  flex-wrap: wrap;
}

.search-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 16rem;
}

.search-bar-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='%23111' stroke-width='2'/%3E%3Cline x1='16' y1='16' x2='22' y2='22' stroke='%23111' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.search-bar-pills {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  min-width: 0;
  position: relative;
  z-index: 2;
}

.search-filter-pill-icon {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.search-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.15rem 0.25rem 0.15rem 0.4rem;
  background: var(--c-dark);
  color: var(--c-white);
  font-size: var(--t8);
  border-radius: 999px;
  white-space: nowrap;
}

.search-filter-pill-tag {
  background: var(--c-grey-soft);
  color: var(--c-dark);
  border: 1px solid var(--c-grey-soft);
}

.search-filter-pill-tag .search-filter-pill-icon {
  filter: none;
}

.search-filter-pill-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  min-width: 16px;
  padding: 0;
  border: none;
  background: rgba(255, 255, 255, 0.2);
  color: inherit;
  font-size: 0.9rem;
  line-height: 1;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s, transform 0.25s ease;
  position: relative;
  z-index: 1;
}

.search-filter-pill-remove-icon {
  width: 10px;
  height: 10px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.search-filter-pill-tag .search-filter-pill-remove-icon {
  filter: none;
}

.search-filter-pill-remove:hover {
  background: rgba(255, 255, 255, 0.35);
  transform: rotate(90deg);
}

.search-bar input {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 0;
  border: none;
  border-bottom: 3px solid #ddd;
  font-family: var(--font);
  font-size: var(--t5);
  background: transparent;
}

.search-bar input:focus {
  outline: none;
  border-color: var(--c-dark);
}

.search-bar input::placeholder {
  color: #999;
}

.search-reset {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: none;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--c-grey);
  cursor: pointer;
  border-radius: 4px;
  transition: color 0.2s, background 0.2s;
}

.search-reset:hover {
  color: var(--c-dark);
  background: rgba(0, 0, 0, 0.05);
}

.search-reset {
  display: none;
}

.search-bar.has-input .search-reset {
  display: block;
}

.feed-header {
  flex-shrink: 0;
  margin: 0;
}

.feed-count {
  font-size: var(--t7);
  color: var(--c-grey);
}

@media (max-width: 639px) { /* below --bp-sm */
  .feed-top-inner {
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
  }
  .feed-header {
  text-align: right;
  }
}

.search-count {
  color: var(--c-grey);
  margin-bottom: 0.35rem;
}

.feed #tings-container {
  display: flex;
  flex-wrap: wrap;
}

/* Surlignage des termes recherchÃƒÂ©s dans les posts */
.search-highlight {
  background: lightyellow;
}

/* ============================================================
   BOUTON MOBILE (filtre flottant)
   ============================================================ */

.filter-toggle {
  display: none; /* AffichÃ© XS + SM (< 768px) */
  position: fixed;
  bottom: var(--gap);
  left: var(--gap);
  z-index: 1000;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--c-dark);
  background-color: #111;
  border: 2px solid var(--c-white);
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.filter-toggle:hover {
  background-color: #333;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
  transform: scale(1.05);
}

.filter-toggle:active {
  transform: scale(0.98);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.filter-toggle:focus-visible {
  outline: 3px solid var(--c-fresh);
  outline-offset: 2px;
}

/* Trois lignes hamburger */
.filter-toggle span {
  position: absolute;
  left: 50%;
  width: 20px;
  height: 2px;
  background: var(--c-white);
  transform: translateX(-50%);
  border-radius: 2px;
  pointer-events: none;
}

.filter-toggle span:nth-child(1) { top: 18px; }
.filter-toggle span:nth-child(2) { top: 24px; }
.filter-toggle span:nth-child(3) { top: 30px; }

/* ============================================================
   RESPONSIVE Ã¢â‚¬â€ XS (< 640px = --bp-sm, mÃªme breakpoint que la grid)
   ============================================================ */

@media (max-width: 767px) { /* below --bp-md */

  .site-wrapper {
  flex-direction: column;
  }

  /* Bouton hamburger visible (XS + SM : < 768px) */
  .has-aside-filter .filter-toggle {
  display: block !important;
  }

  /* Sidebar en tiroir latÃƒÂ©ral */
  .has-aside-filter .aside-filter {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 85%;
  max-width: 300px;
  height: 100vh;
  z-index: 1003;
  padding-top: calc(var(--gap) * 2);
  }

  .has-aside-filter .aside-filter.open {
  display: block;
  }

  /* Overlay sombre derriÃƒÂ¨re la sidebar */
  .filter-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1002;
  }

  .filter-overlay.open {
  display: block;
  }

  /* Pas de dÃ©calage sur XS/SM */
  .site-wrapper .main,
  .has-aside-filter .site-wrapper .main {
  margin-left: 0;
  }

  .has-aside-filter .sfooter,
  .has-aside-filter .footer {
  margin-left: 0;
  width: 100%;
  }

}
/* === NAV SIDE === */
/* Sidebar menu WordPress - Style similaire à filter */

.nav-side {
	width: 250px;
	flex-shrink: 0;
	position: sticky;
	top: var(--header-height);
	align-self: flex-start;
	margin-right: calc(var(--gap) * 3);
	padding-top: calc(var(--gap) * 2);
}

.nav-side-title {
	font-size: var(--t5);
	font-weight: 600;
	margin-bottom: var(--gap);
	padding-bottom: calc(var(--gap) / 2);
	border-bottom: 2px solid var(--c-dark);
}

/* Menu list */
.nav-side-menu {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.nav-side-menu li {
	border-bottom: 1px solid #eee;
}

.nav-side-menu li:last-child {
	border-bottom: none;
}

.nav-side-menu a {
	display: block;
	padding: 0.5rem 0;
	padding-left: calc(var(--gap) * 1);
	font-size: var(--t7);
	color: var(--c-dark);
	text-decoration: none;
	transition: color 0.2s;
}

.nav-side-menu a:hover {
	color: var(--c-fresh);
	text-decoration: none;
}

/* Current page */
.nav-side-menu .current-menu-item > a,
.nav-side-menu .current_page_item > a {
	font-weight: 600;
}

/* Sub-menu (niveau 2) */
.nav-side-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav-side-menu .sub-menu li {
	border-bottom: none;
}

.nav-side-menu .sub-menu a {
	padding-left: calc(var(--gap) * 2);
	font-size: var(--t7);
	color: var(--c-grey);
}

.nav-side-menu .sub-menu a:hover {
	color: var(--c-fresh);
}

.nav-side-menu .sub-menu .current-menu-item > a,
.nav-side-menu .sub-menu .current_page_item > a {
	color: var(--c-dark);
	font-weight: 600;
}

/* === XS (même breakpoint que la grid : < 640px) === */
@media (max-width: 639px) {
	.nav-side {
		width: 100%;
		position: relative;
		top: 0;
		margin-right: 0;
		margin-bottom: var(--gap);
	}

	.nav-side-menu {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.nav-side-menu li {
		border-bottom: none;
	}

	.nav-side-menu a {
		padding: 0.25rem 0.75rem;
		border: 1px solid #eee;
		border-radius: 2rem;
	}

	.nav-side-menu .current-menu-item > a,
	.nav-side-menu .current_page_item > a {
		background: var(--c-dark);
		color: var(--c-white);
		border-color: var(--c-dark);
	}

	.nav-side-menu .sub-menu {
		display: none;
	}
}
/* === SEARCH ALL OVERLAY === */

/* Lien loupe — icône + libellé (comme compte / contact) */
.nav-menu a[href="#search-all"],
.nav-option-menu a[href="#search-all"] {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: inherit;
	line-height: 1.25;
	width: auto;
	min-width: 0;
	min-height: 1.25rem;
	height: auto;
	padding: 0;
	overflow: visible;
	vertical-align: middle;
	position: relative;
	top: 0;
	background: none;
	text-decoration: none;
	color: inherit;
	transition: color 0.2s ease;
}
.nav-option-menu a[href="#search-all"] {
	font-size: 0.75rem;
	color: var(--c-grey, #666);
}
.nav-menu a[href="#search-all"] {
	font-size: 0.8rem;
}
.nav-menu a[href="#search-all"]::before,
.nav-option-menu a[href="#search-all"]::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	align-self: center;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nav-option-menu a[href="#search-all"]::before {
	transform: translateY(-1px);
}
.nav-menu a[href="#search-all"]:hover,
.nav-option-menu a[href="#search-all"]:hover {
	text-decoration: none;
	color: var(--c-fresh-2, #5a1eff);
}
.nav-menu a[href="#search-all"]:hover::before,
.nav-option-menu a[href="#search-all"]:hover::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a1eff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
	transform: translateY(-1px);
}
.nav-dropdown .nav-option-menu a[href="#search-all"]:hover {
	color: var(--c-fresh-2, #5a1eff);
	opacity: 1;
}

/* Overlay (popin) */
.search-all-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: rgba(255, 255, 255, 0.95);
	display: none;
	flex-direction: column;
	align-items: center;
	padding: calc(var(--gap) * 4) var(--gap);
}

.search-all-overlay.active {
	display: flex;
}

/* Bouton fermer (X) */
.search-all-close {
	position: absolute;
	top: calc(var(--gap) * 2);
	right: calc(var(--gap) * 2);
	background: none;
	border: none;
	cursor: pointer;
	width: 32px;
	height: 32px;
	padding: 0;
	transition: transform 0.3s ease;
}

.search-all-close:hover {
	transform: rotate(90deg);
}

.search-all-close span {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 2px;
	background: var(--c-dark);
	border-radius: 2px;
}

.search-all-close span:first-child {
	transform: translateY(-50%) rotate(45deg);
}

.search-all-close span:last-child {
	transform: translateY(-50%) rotate(-45deg);
}

.search-all-close:hover span {
	background: var(--c-fresh);
}

/* Container central */
.search-all-container {
	width: 100%;
	max-width: 800px;
	margin-top: calc(var(--gap) * 2);
}

/* Input géant */
.search-all-input-wrap {
	margin-bottom: calc(var(--gap) * 2);
}

.search-all-input {
	width: 100%;
	padding: 1rem 0;
	border: none;
	border-bottom: 2px solid var(--c-dark);
	font-size: var(--t2);
	font-family: var(--font);
	background: transparent;
	outline: none;
}

.search-all-input::placeholder {
	color: var(--c-grey);
}

.search-all-input:focus {
	border-color: var(--c-fresh);
}

/* Zone résultats */
.search-all-results {
	max-height: calc(100vh - 250px);
	overflow-y: auto;
}

.search-all-hint {
	color: var(--c-grey);
	font-size: var(--t5);
}

.search-all-no-results {
	color: var(--c-grey);
	font-size: var(--t5);
}

/* Liste des résultats */
.search-all-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Item résultat */
.search-all-item {
	border-bottom: 1px solid #eee;
}

.search-all-item a {
	display: flex;
	align-items: center;
	gap: var(--gap);
	padding: var(--gap) 0;
	text-decoration: none;
}

.search-all-item a:hover {
	text-decoration: none;
}

.search-all-item a:hover .search-all-item-title {
	color: var(--c-fresh);
}

/* Thumbnail */
.search-all-item-thumb {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	background: #f5f5f5;
	border-radius: 4px;
	overflow: hidden;
}

.search-all-item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Contenu */
.search-all-item-content {
	flex: 1;
	min-width: 0;
}

.search-all-item-type {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--c-grey);
	margin-bottom: 0.25rem;
}

.search-all-item-title {
	font-size: var(--t5);
	font-weight: 500;
	color: var(--c-dark);
	margin-bottom: 0.25rem;
}

.search-all-item-excerpt {
	font-size: var(--t6);
	color: var(--c-grey);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Highlight terme recherché */
.search-all-highlight {
	background: rgba(90, 30, 255, 0.15);
	padding: 0 2px;
	border-radius: 2px;
}

/* === XS (< 640px) === */
@media (max-width: 639px) {
	.search-all-overlay {
		padding: calc(var(--gap) * 3) var(--gap);
	}

	.search-all-close {
		top: var(--gap);
		right: var(--gap);
	}

	.search-all-input {
		font-size: var(--t3);
	}

	.search-all-item-thumb {
		width: 50px;
		height: 50px;
	}
}

/* Body lock quand overlay ouvert */
body.search-all-open {
	overflow: hidden;
}
/* Typo */
:root {
	--font: 'Poppins', sans-serif;
	--font-secondary: 'Playfair Display', Georgia, serif;
	--t1: 4rem; --t2: 3rem; --t3: 2rem; --t4: 1.5rem; --t5: 1.2rem; --t6: 1rem; --t7: 0.875rem; --t8: 0.75rem;
	--lh-tight: 1; --lh-normal: 1.6; --lh-loose: 1.8;
	--txt-mb: 1rem; --heading-mb: 0.75em; --heading-mt: 1.5em;
}
body {
	font-family: var(--font);
	font-size: var(--t6);
	line-height: var(--lh-normal);
}
/* Contenu des articles sur pages singles : t5 + interligne Ã©lÃ©gant + serif */
body.singular .main article p,
body.singular .main article li,
body.singular .main article [class*="wp-block-"] p,
body.singular .main article [class*="wp-block-"] li,
body.singular .main .ting-field .ting-wysiwyg p,
body.singular .main .ting-field .ting-wysiwyg li {
	font-size: var(--t5) !important;
	line-height: 1.75 !important;
	font-family: var(--font-secondary);
}
body.singular .main .ting-field .ting-wysiwyg {
	font-size: var(--t5) !important;
	line-height: 1.75 !important;
	font-family: var(--font-secondary);
}
body.singular .main article .scroll-static p,
body.singular .main article .scroll-static li {
	font-size: var(--t6) !important;
	line-height: var(--lh-normal) !important;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 600;
	line-height: var(--lh-tight);
}

h2, h3, h4, h5, h6 {
	padding-bottom: var(--heading-mb);
}

h1 { font-size: var(--t2); }
h2 { font-size: var(--t3); }
h3 { font-size: var(--t4); }
h4 { font-size: var(--t5); }
h5 { font-size: var(--t6); }
h6 { font-size: var(--t7); color: var(--c-grey); }

* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
	margin-top: var(--heading-mt);
}
p {
	margin-bottom: var(--txt-mb);
}
p:last-child {
	margin-bottom: 0;
}
/* Titre de section pilotÃ© depuis ACF options (numbers, testimonials, expertise) */
.section-ttr-block {
	text-align: center;
	margin-bottom: var(--gap);
	padding-bottom: calc(var(--gap, 1rem) * 2);
}

.section-ttr-icon {
	display: inline-block;
	width: 40px;
	height: 40px;
	margin-bottom: 0.5rem;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	background-color: currentColor;
}

.section-ttr {
	font-size: var(--t6);
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 0.12em;
	color: var(--c-grey);
	margin-bottom: calc(var(--gap) * 1);
	text-align: center;
}

.lead, .intro {
	font-size: var(--t5);
	line-height: var(--lh-loose);
	color: var(--c-grey);
}
small, .small, .caption {
	font-size: var(--t8);
}
.caption {
	color: var(--c-grey);
}
ul, ol {
	margin-bottom: 0;
	padding-left: 1.5em;
}
ul ul, ol ol, ul ol, ol ul {
	margin-bottom: 0;
	margin-top: 0.5em;
}

li { line-height: var(--lh-normal); }
li:last-child {
	margin-bottom: 0;
}
.list-none {
	list-style: none;
	padding-left: 0;
}
.list-inline {
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.list-inline li {
	margin-bottom: 0;
}
blockquote {
	margin: var(--txt-mb) 0;
	padding: 1rem 1.5rem;
	border-left: 3px solid var(--c-dark);
	font-style: italic;
	font-size: var(--t5);
	color: var(--c-grey);
}
.page-anchor-layout blockquote {
	border-left-color: var(--page-accent, var(--c-dark));
}
blockquote p:last-child {
	margin-bottom: 0;
}
blockquote cite {
	display: block;
	margin-top: 0.75rem;
	font-size: var(--t7);
	font-style: normal;
	color: var(--c-grey);
}
blockquote cite::before {
	content: "Ã¢â‚¬â€ ";
}
.txt a, article a {
	color: var(--c-fresh);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.txt a:hover, article a:hover {
	color: var(--c-dark);
}
hr {
	border: none;
	border-top: 1px solid var(--c-grey-soft);
	margin: calc(var(--txt-mb) * 2) 0;
}
code {
	font-family: 'SF Mono', 'Consolas', monospace;
	font-size: 0.9em;
	background: var(--c-grey-soft);
	padding: 0.15em 0.4em;
	border-radius: 3px;
}
pre {
	margin-bottom: var(--txt-mb);
	padding: 1rem;
	background: var(--c-dark);
	color: var(--c-white);
	border-radius: 4px;
	overflow-x: auto;
}
pre code {
	background: none;
	padding: 0;
	color: inherit;
}
strong, b { font-weight: 600; }
em, i { font-style: italic; }
mark {
	background: rgba(90, 30, 255, 0.15);
	padding: 0.1em 0.2em;
}
del { opacity: 0.6; }
.t1 { font-size: var(--t1); line-height: var(--lh-tight); }
.t2 { font-size: var(--t2); line-height: var(--lh-tight); }
.t3 { font-size: var(--t3); line-height: var(--lh-tight); }
.t4 { font-size: var(--t4); }
.t5 { font-size: var(--t5); }
.t6 { font-size: var(--t6); }
.t7 { font-size: var(--t7); }
.t8 { font-size: var(--t8); }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.text-light { color: var(--c-white); }
.text-dark { color: var(--c-dark); }
.text-grey { color: var(--c-grey); }
.gray { color: var(--c-grey); }
.text-fresh { color: var(--c-fresh); }

.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-bold { font-weight: 600; }

.uppercase { text-transform: uppercase; letter-spacing: 0.05em; }
.lowercase { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }

/* Titre de groupe comité (Présidence, Secrétaire, Inspecteurs, Membres) */
.ttr-comite-groupe {
	font-size: var(--t6);
	font-weight: 400;
	color: color-mix(in srgb, var(--c-grey-soft) 65%, var(--c-grey));
	text-transform: uppercase;
	letter-spacing: 2px;
	padding-top: calc(var(--gap) * 2);
}
.txt {
	max-width: 65ch;
}
.txt-wide {
	max-width: 80ch;
}
.txt-center {
	max-width: 65ch;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 639px) {
	:root {
		--t1: 2.5rem;
		--t2: 1.8rem;
		--t3: 1.4rem;
		--t4: 1.2rem;
		--t5: 1rem;
	}

	blockquote {
		padding: 0.75rem 1rem;
	}
}
/* Bandeau alerte fixe au-dessus de la navigation */
:root { --alert-height: 48px; }
.alert-message {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: var(--c-fresh);
	color: var(--c-white);
	overflow: hidden;
	height: var(--alert-height);
	transition: transform 0.4s ease, opacity 0.35s ease, visibility 0.35s ease;
	text-align: center;
}
.alert-message.is-closed {
	transform: translateY(-100%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
/* Quand l’alerte est visible : header absolute sous l’alerte, spacer agrandi */
body.has-alert .header {
	top: var(--alert-height);
	transition: top 0.4s ease;
}
body.has-alert .nav-spacer {
	height: calc(var(--header-height) + var(--alert-height));
	transition: height 0.4s ease;
}
body.has-alert .has-aside-filter .aside-filter {
	padding-top: calc(var(--alert-height) + var(--main-top-gap));
}
.alert-message-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	height: 100%;
	padding: 0 1rem;
	box-sizing: border-box;
}
.alert-message-text {
	margin: 0;
  font-size: var(--t7);
	line-height: 1.4;
	flex: 1;
}
.alert-message-text a {
	color: inherit;
	text-decoration: underline;
}
.alert-message-text a:hover {
	opacity: 0.9;
}
/* Croix identique au popin search (deux barres en X) */
.alert-message-close {
	position: relative;
	width: 15px;
	height: 15px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
	transition: transform 0.3s ease;
}
.alert-message-close:hover {
	transform: rotate(90deg);
}
.alert-message-close span {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 2px;
	background: var(--c-white);
	border-radius: 2px;
}
.alert-message-close span:first-child {
	transform: translateY(-50%) rotate(45deg);
}
.alert-message-close span:last-child {
	transform: translateY(-50%) rotate(-45deg);
}
.alert-message-close:hover span {
	opacity: 0.9;
}
/* === INTRAPOPIN === */

.intra-popin-overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.5);
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--gap);
}

.intra-popin-overlay.active {
	display: flex;
}

.intra-popin-box {
	position: relative;
	background: var(--c-white);
	border-radius: 12px;
	padding: calc(var(--gap) * 3);
	max-width: 640px;
	width: 100%;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
	text-align: center;
}

.intra-popin-icon {
	display: block;
	margin: 0 auto calc(var(--gap) * 1.5);
	width: 48px;
	height: 48px;
}

.intra-popin-formation {
	display: none;
	font-size: var(--t6, 0.95rem);
	font-weight: 600;
	color: var(--c-fresh);
	margin: 0 0 calc(var(--gap) * 1);
}

.intra-popin-close {
	position: absolute;
	top: calc(var(--gap));
	right: calc(var(--gap));
	background: none;
	border: none;
	cursor: pointer;
	width: 32px;
	height: 32px;
	padding: 0;
	transition: transform 0.3s ease;
}

.intra-popin-close:hover {
	transform: rotate(90deg);
}

.intra-popin-close span {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 2px;
	background: var(--c-dark);
	border-radius: 2px;
}

.intra-popin-close span:first-child {
	transform: translateY(-50%) rotate(45deg);
}

.intra-popin-close span:last-child {
	transform: translateY(-50%) rotate(-45deg);
}

.intra-popin-close:hover span {
	background: var(--c-fresh);
}

.intra-popin-title {
	font-size: var(--t4, 1.25rem);
	font-weight: 600;
	color: var(--c-dark);
	margin: 0 0 calc(var(--gap) * 1);
	line-height: 1.35;
}

.intra-popin-subtitle {
	font-size: var(--t6, 0.95rem);
	color: var(--c-dark);
	margin: 0 0 calc(var(--gap) * 2);
}

.intra-popin-btns {
	display: flex;
	flex-wrap: wrap;
	gap: calc(var(--gap) * 1);
	justify-content: center;
}

.intra-popin-btn {
	display: inline-block;
	padding: calc(var(--gap) * 1) calc(var(--gap) * 2);
	border-radius: 50px;
	font-weight: 600;
	color: var(--c-white) !important;
	text-decoration: none;
	border: 0;
	white-space: nowrap;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.intra-popin-btn:hover {
	color: var(--c-white);
	text-decoration: none;
	transform: translateY(-1px);
}

.intra-popin-btn-tel {
	background: linear-gradient(to bottom, #e84a5f, #c41e3a);
	box-shadow: 0 4px 14px rgba(237, 24, 70, 0.35);
}

.intra-popin-btn-tel:hover {
	box-shadow: 0 8px 24px rgba(237, 24, 70, 0.45);
}

.intra-popin-btn-mail {
	background: linear-gradient(to bottom, #4a6fa5, #2c4a73);
	box-shadow: 0 4px 14px rgba(44, 74, 115, 0.35);
}

.intra-popin-btn-mail:hover {
	box-shadow: 0 8px 24px rgba(44, 74, 115, 0.45);
}

/* Popin comité — formulaire Ninja Forms */
.comite-popin-box {
	max-width: 520px;
	max-height: min(90vh, 720px);
	overflow-y: auto;
	text-align: left;
	padding: calc(var(--gap) * 2.5) calc(var(--gap) * 2);
}

.comite-popin-title {
	font-size: var(--t5, 1.2rem);
	font-weight: 600;
	color: var(--c-dark);
	margin: 0 0 calc(var(--gap) * 1.25);
	line-height: 1.35;
	text-align: center;
}

.comite-popin-form {
	text-align: left;
}

.comite-popin-form .nf-form-wrap,
.comite-popin-form .nf-form-content {
	max-width: 100%;
}

.page-template-page-comite .comite-popin-form input.nf-element[type="submit"],
.page-template-page-comite .comite-popin-form .nf-field-submit input[type="submit"],
.page-template-page-comite .comite-popin-form .nf-field-submit button {
	background: var(--page-accent, var(--c-fresh-2));
}

/* Accordéon Gutenberg — 10px vertical, 30px horizontal */
.wp-block-accordion-heading {
	padding: 0 !important;
	margin: 0;
}
.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:focus-visible {
	padding: 10px 30px !important;
	box-sizing: border-box;
}
.wp-block-accordion-panel {
	padding: 10px 30px !important;
	box-sizing: border-box;
}
