/*
Theme Name: SAE Granby
Theme URI:
Author: Maxime Bélisle
Author URI:
Description: Thème bloc moderne pour SAE Granby.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.1
Version: 0.1.0
License: GPL-2.0-or-later
Text Domain: saegranby
Tags: full-site-editing, block-patterns, custom-colors, editor-style
*/

:root {
	--sae-content: 1440px;
	--sae-wide: 1440px;
	--sae-page-gutter: clamp(20px, 3vw, 40px);
	--sae-layout-gap: 4rem;
	--sae-section-space: 4rem;
	--sae-section-space-sm: 3rem;
	--sae-breakpoint-layout: 1000px;

	/* --sae-sidebar-ratio: 0.95fr;
	--sae-main-ratio: 2.05fr;

	--sae-archive-sidebar-ratio: 0.85fr;
	--sae-archive-main-ratio: 2.15fr; */

	--sae-sidebar-ratio: 0.95fr;
	--sae-main-ratio: 2.05fr;

	--sae-archive-sidebar-ratio: 1fr;
	--sae-archive-main-ratio: 2.15fr;


	--sae-card-radius: 20px;
	--sae-card-padding: 1.5rem;
	--sae-border-color: var(--wp--preset--color--sae-border);
	--sae-surface: var(--wp--preset--color--sae-white);
}

html {
	scroll-behavior: smooth;
}

.wp-site-blocks {
	min-height: 100vh;
}

.site-header-shadow {
	box-shadow: 0 1px 0 rgba(18, 33, 58, 0.08);
}

.sae-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* .is-style-sae-button-outline .wp-element-button,
.is-style-sae-button-outline.wp-block-button .wp-element-button {
	background: transparent;
	color: var(--wp--preset--color--sae-navy);
	border: 1px solid currentColor;
}

.is-style-sae-button-outline .wp-element-button:hover,
.is-style-sae-button-outline.wp-block-button .wp-element-button:hover {
	background: var(--wp--preset--color--sae-light);
}
 */








/* Layout helpers */


main {
	padding-top: 0;
	margin-top: 0;
	margin: 0 1rem !important;
}


.sae-shell {
	width: min(100%, var(--sae-content));
	margin-inline: auto;

	/* background-color: #f9f9ff;
	padding: 2rem;
	border: 1px solid #e3e3e3;
	border-radius: 1rem; */

}

.sae-shell--wide {
	width: min(100%, var(--sae-wide));
	margin-inline: auto;
	padding-top: 5rem;
	margin-top: 0;
}

.sae-layout--sidebar,
.sae-layout--archive,
.sae-single-calendrier__layout,
.sae-single-formation__layout {
	display: grid;
	gap: var(--sae-layout-gap);
	align-items: start;
}

.sae-layout--sidebar {
	grid-template-columns: minmax(0, var(--sae-sidebar-ratio)) minmax(0, var(--sae-main-ratio));
}

.sae-layout--archive {
	grid-template-columns: minmax(0, var(--sae-archive-sidebar-ratio)) minmax(0, var(--sae-archive-main-ratio));
}

.sae-single-calendrier__layout {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 2.1fr);
}

.sae-single-formation__layout {
	/* grid-template-columns: minmax(0, 2.15fr) minmax(320px, 1fr); */
	/* grid-template-columns: minmax(0, 1.65fr) minmax(320px, 1fr); */
	grid-template-columns: minmax(0, 1.65fr) minmax(0px, 1fr);
}















.sae-prose {
	max-width: 70ch;
}






.relative-parent {
    position: relative !important;
}

.absolute-child {
    position: absolute !important;
    /* top: 2rem;   
    right: 2rem;  */
    z-index: 10;
}




.sae-single__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	/* height: clamp(320px, 38vw, 620px); */
	pointer-events: none;
	opacity: 0.7;
	z-index: 0;
}

.sae-single__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0.18) 0%,
		rgba(255, 255, 255, 0.28) 24%,
		rgba(255, 255, 255, 0.52) 48%,
		rgba(255, 255, 255, 0.82) 72%,
		rgba(255, 255, 255, 1) 100%
	);
}

.sae-single__bg-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top left;
	opacity: 0.42;
}




.sae-calendrier-content__section.inscription-rac {
	margin-top:6rem;
}




/* Typography */

.wp-block-post-content ul,
.wp-block-post-content ol,
.sae-rich-content ul,
.sae-rich-content ol,
.sae-calendrier-content__section ul,
.sae-calendrier-content__section ol {
	padding-left: 1rem;
	margin-left: 0;
	list-style-position: outside;
}

.wp-block-post-content ul li::marker,
.wp-block-post-content ol li::marker,
.sae-rich-content ul li::marker,
.sae-rich-content ol li::marker,
.sae-calendrier-content__section ul li::marker,
.sae-calendrier-content__section ol li::marker {
	color: var(--wp--preset--color--sae-gold);
}




.sae-single-calendrier__title,
.sae-single-formation__title {
	font-size: clamp(2rem, 4vw, 4rem);
	border-bottom: 1px solid var(--wp--preset--color--sae-blue);
}


/* Removes the .wp-block-post-content restriction */
:root h1, 
:root .wp-block-heading:is(h1) {
  font-size: clamp(2rem, 4vw, 4rem) !important;
  line-height: 1.1 !important;
  /* margin-top: 3rem !important; */
  margin-bottom: 1rem !important;
}



.encadre-description {
	border:1px solid var(--wp--preset--color--sae-border);
	padding:1rem;
	border-radius: 1rem;
}




/* Default content links with baseline fill animation */
.wp-block-post-content a,
.sae-rich-content a,
.sae-prose a,
.sections-principales a,
.sae-archive-page a {
	color: var(--wp--preset--color--sae-link);
	text-decoration: none;
	font-weight: 600;
	background-image: linear-gradient(
		to top,
		var(--wp--preset--color--sae-blue-pale) 0%,
		var(--wp--preset--color--sae-blue-pale) 100%
	);
	background-repeat: no-repeat;
	background-size: 100% 0.12em;
	background-position: 0 100%;
	transition:
		color 180ms ease,
		background-size 220ms cubic-bezier(.2, .8, .2, 1);
}

.wp-block-post-content a:hover,
.wp-block-post-content a:focus-visible,
.sae-rich-content a:hover,
.sae-rich-content a:focus-visible,
.sae-prose a:hover,
.sae-prose a:focus-visible,
.sections-principales a:hover,
.sections-principales a:focus-visible,
.sae-archive-page a:hover,
.sae-archive-page a:focus-visible {
	color: var(--wp--preset--color--sae-navy);
	background-size: 100% 100%;
}



/* Dark content links with baseline fill animation */
.dark-links a {
	color: var(--wp--preset--color--sae-link);
	text-decoration: none;
	background-image: linear-gradient(
		to top,
		var(--wp--preset--color--sae-link) 0%,
		var(--wp--preset--color--sae-link) 100%
	);
	background-repeat: no-repeat;
	background-size: 100% 0.12em;
	background-position: 0 100%;
	transition:
		color 180ms ease,
		background-size 220ms cubic-bezier(.2, .8, .2, 1);
}

.dark-links a:hover,
.dark-links a:focus-visible {
	color: var(--wp--preset--color--sae-white);
	background-size: 100% 100%;
}



/* Light content links with baseline fill animation */
.light-links a {
	color: var(--wp--preset--color--sae-blue-pale);
	text-decoration: none;
	background-image: linear-gradient(
		to top,
		var(--wp--preset--color--sae-light) 0%,
		var(--wp--preset--color--sae-light) 100%
	);
	background-repeat: no-repeat;
	background-size: 100% 0.12em;
	background-position: 0 100%;
	transition:
		color 180ms ease,
		background-size 220ms cubic-bezier(.2, .8, .2, 1);
}

.light-links a:hover,
.light-links a:focus-visible {
	color: var(--wp--preset--color--sae-link);
	background-size: 100% 100%;
}

/* .sections-principales a {
	color:var(--wp--preset--color--sae-blue);
} */

/* .sections-principales a:hover {
	color:var(--wp--preset--color--sae-blue);
} */


.sections-principales .dark-section a {
	color:yellow;
}



.footer_address,
.footer_address a {
	color:var(--wp--preset--color--sae-white);
	font-size: 0.9rem;
}


.footer_address a:hover {
	color:var(--wp--preset--color--sae-blue) !important;
}




.wp-block-buttons .wp-block-button__link  {
	background-image: none !important;
	color:var(--wp--preset--color--sae-text)
}
.wp-block-buttons .wp-block-button__link:hover,
.wp-block-buttons .wp-block-button__link:focus  {
	background-image: none !important;
	color:var(--wp--preset--color--sae-white)
}

.wp-block-buttons .is-style-outline .wp-block-button__link  {
	background-image: none !important;
	color:var(--wp--preset--color--sae-text)
}
.wp-block-buttons .is-style-outline .wp-block-button__link:hover,
.wp-block-buttons .is-style-outline .wp-block-button__link:focus  {
	background-image: none !important;
	color:var(--wp--preset--color--sae-blue)
}




/* Shared non-core button base */
.sae-button,
.gform_wrapper .gform_button,
.sae-related-session__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.35rem;
	border-radius: 999px;
	border: 0;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.1;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Primary */
.sae-button--primary,
.gform_wrapper .gform_button {
	background: var(--wp--preset--color--sae-gold);
	color: var(--wp--preset--color--sae-navy);
	background-image: none !important;
}

.sae-button--primary:hover,
.sae-button--primary:focus,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus {
	background: #fed87f;
	color: var(--wp--preset--color--sae-white);
}

/* Outline variant for non-block buttons */
.sae-button--outline {
	background: transparent;
	color: var(--wp--preset--color--sae-navy);
	border: 1px solid currentColor;
	background-image: none !important;
}

.sae-button--outline:hover,
.sae-button--outline:focus {
	background: var(--wp--preset--color--sae-light);
	color: var(--wp--preset--color--sae-navy);
}

/* Gutenberg outline style variation */
.is-style-sae-button-outline .wp-element-button,
.is-style-sae-button-outline.wp-block-button .wp-element-button {
	background: transparent;
	color: var(--wp--preset--color--sae-navy);
	border: 1px solid currentColor;
	background-image: none !important;

}

.is-style-sae-button-outline .wp-element-button:hover,
.is-style-sae-button-outline .wp-element-button:focus,
.is-style-sae-button-outline.wp-block-button .wp-element-button:hover,
.is-style-sae-button-outline.wp-block-button .wp-element-button:focus {
	background: var(--wp--preset--color--sae-light);
	color: var(--wp--preset--color--sae-navy);
	background-image: none !important;

}

/* Gold CTA variant */
.sae-button--gold,
.sae-related-session__button {
	background: var(--wp--preset--color--sae-gold);
	color: #111;
	background-image: none !important;

}

.sae-button--gold:hover,
.sae-button--gold:focus,
.sae-related-session__button:hover,
.sae-related-session__button:focus {
	background: var(--wp--preset--color--sae-gold-pale);
	color: #111;
	background-image: none !important;

}

/* Optional full-width helper */
.sae-button--block {
	display: flex;
	width: 100%;
	background-image: none !important;

}





/* Images */

.logo-partenaire {
	width: 100%;
}


.logo-partenaire img {
	max-width: 80%;
	height: auto;
	display: block;
  	margin-bottom: 2rem;
}





/* Gravity Forms Orbital - global theme overrides */
body:has(#gravity_forms_theme_framework-css) .gform-theme--framework.gform-theme--orbital {
	--gf-color-primary: var(--wp--preset--color--sae-blue);

	--gf-ctrl-label-color-primary: var(--wp--preset--color--sae-navy);
	--gf-ctrl-desc-color: var(--wp--preset--color--sae-muted);

	--gf-ctrl-bg-color: var(--wp--preset--color--sae-white);
	--gf-ctrl-border-color: var(--wp--preset--color--sae-border);
	--gf-ctrl-color: var(--wp--preset--color--sae-text);
	--gf-ctrl-radius: 20px;

	--gf-ctrl-btn-bg-color-primary: var(--wp--preset--color--sae-gold);
	--gf-ctrl-btn-color-primary: var(--wp--preset--color--sae-navy);
	--gf-ctrl-btn-bg-color-hover-primary: var(--wp--preset--color--sae-gold-pale);
	--gf-ctrl-btn-color-hover-primary: var(--wp--preset--color--sae-navy);
	--gf-ctrl-btn-radius: 999px;

	--gf-form-gap-y: 1rem;
}

/* Optional: make submit buttons feel closer to your WP buttons */
body:has(#gravity_forms_theme_framework-css) .gform-theme--framework.gform-theme--orbital .gform_button,
body:has(#gravity_forms_theme_framework-css) .gform-theme--framework.gform-theme--orbital button[type="submit"] {
	font-weight: 700;
	box-shadow: none;
}

/* Optional: stronger focus state for accessibility */
body:has(#gravity_forms_theme_framework-css) .gform-theme--framework.gform-theme--orbital :is(input, select, textarea):focus {
	outline: none;
	border-color: var(--wp--preset--color--sae-blue);
	box-shadow: 0 0 0 3px rgba(0, 176, 220, 0.18);
}






/* Generic cards */

.sae-card {
	border: 1px solid var(--sae-border-color);
	border-radius: var(--sae-card-radius);
	padding: var(--sae-card-padding);
	background: var(--sae-surface);
	width:100%;
}

.sae-card.joindre-conseiller {
	border: 1px solid var(--sae-border-color);
	border-radius: var(--sae-card-radius);
	padding: var(--sae-card-padding);
	background: var(--wp--preset--color--sae-blue-pale);
	width:100%;
}

.sae-card-title {
	font-size: 1.25rem;
	margin: 0 0 1rem;
}

.sae-card-actions {
	margin-top: 1.25rem;
}

.sae-muted {
	color: var(--wp--preset--color--sae-muted);
}



/* Pagination */

.sae-archive-pagination {
	margin-top: 3rem;
}

.sae-archive-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.sae-archive-pagination .page-numbers a,
.sae-archive-pagination .page-numbers span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--sae-border-color);
	background: var(--sae-surface);
	color: var(--wp--preset--color--sae-navy);
	text-decoration: none;
	line-height: 1;
}

.sae-archive-pagination .page-numbers .current {
	background: var(--wp--preset--color--sae-navy);
	border-color: var(--wp--preset--color--sae-navy);
	color: var(--wp--preset--color--sae-white);
}


/* Facts / session lists */

.sae-facts-list,
.sae-session-list {
	margin: 0;
	padding: 0;
}

.sae-session-list {
	list-style: none;
}

.sae-session-list .sae-session-item {
	display: grid;
  grid-template-columns: 2fr 1fr 1fr;
}

.sae-session-list .sae-session-item > * {
    display: flex;
    flex-direction: column;   /* Keeps the content stacking normally if there are multiple elements */
    justify-content: center;  /* Centers the content vertically inside the column item */
}


.sae-fact-row {
	display: grid;
	grid-template-columns: minmax(120px, 140px) 1fr;
	gap: 0.75rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--sae-border-color);
}

.sae-fact-row:last-child,
.sae-session-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.sae-fact-label {
	margin: 0;
	font-weight: 700;
	color: var(--wp--preset--color--sae-navy);
}

.sae-fact-value {
	margin: 0;
	color: var(--wp--preset--color--sae-text);
}

.sae-session-item {
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--sae-border-color);
}

.sae-session-item:first-child {
	padding-top: 0;
}

.sae-session-link {
	font-weight: 600;
	color: var(--wp--preset--color--sae-navy);
	text-decoration: none;
}

.sae-session-link:hover {
	color: var(--wp--preset--color--sae-blue);
}

.sae-session-meta {
	margin-top: 0.35rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--sae-muted);
}









.sae-related-sessions-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

.sae-related-session {
	display: grid;
	/* grid-template-columns: 36px minmax(0, 1fr) auto; */
	grid-template-columns: 36px 1fr 130px;
	align-items: center;
	column-gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--sae-border-color);
}

.sae-related-session:first-child {
	padding-top: 0;
}

.sae-related-session:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.sae-related-session__icon {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	color: var(--wp--preset--color--sae-navy);
	font-size: 1.4rem;
	line-height: 1;
}

.sae-related-session__icon .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
}

.sae-related-session__content {
	min-width: 0;
}

.sae-related-session__line {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
	color: var(--wp--preset--color--sae-text);
}

.sae-related-session__line + .sae-related-session__line {
	margin-top: 0.2rem;
}

.sae-related-session__label {
	font-weight: 700;
	color: var(--wp--preset--color--sae-navy);
	margin-right: 0.25rem;
}

.sae-related-session__value {
	color: var(--wp--preset--color--sae-text);
}

.sae-related-session__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}


/* .sae-related-session__button {
	min-width: 220px;
	white-space: nowrap;
	padding: 0.95rem 1.75rem !important;
	background: var(--wp--preset--color--sae-gold);
	color: #111;
	border: 0;
	text-decoration: none;
	font-weight: 600;
}

.sae-related-session__button:hover,
.sae-related-session__button:focus {
	background: var(--wp--preset--color--sae-yellow, var(--wp--preset--color--sae-gold));
	color: #111;
} */

@media (max-width: 900px) {
	.sae-related-session {
		grid-template-columns: 36px minmax(0, 1fr);
		row-gap: 0.9rem;
		align-items: start;
	}

	.sae-related-session__actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
		padding-left: calc(36px + 1rem);
	}

	/* .sae-related-session__button {
		min-width: 0;
		width: 100%;
		max-width: 320px;
	} */
}

@media (max-width: 640px) {
	.sae-related-session {
		grid-template-columns: 1fr;
	}

	.sae-related-session__icon {
		justify-content: flex-start;
	}

	.sae-related-session__actions {
		grid-column: auto;
		padding-left: 0;
	}
}











/**
*
* Single page 
*
*/

.sae-formation-sidebar,
.sae-formation-sidebar__panel,
.sae-formation-sidebar__details,
.sae-formation-sidebar__list,
.sae-formation-sidebar__row,
.sae-formation-sidebar__row dd {
	min-width: 0;
}


.main-page-w-sidebar {
	position: relative;
	padding-block: 5rem 4rem;
	background: var(--wp--preset--color--sae-white);
	overflow: hidden;
}

.main-page-w-sidebar > .sae-shell,
.main-page-w-sidebar > .wp-block-group:not(.sae-single__bg) {
	position: relative;
	z-index: 1;
}

.sae-layout--sidebar-page {
	display: grid;
	/* grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); */
	grid-template-columns: 1.65fr 1fr;
	/* gap: 4.6rem; */
	gap: var(--sae-layout-gap);
}


.sae-layout--sidebar-page {
	display: grid;
	/* grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); */
	grid-template-columns: 1.65fr 1fr;
	/* gap: 4.6rem; */
	gap: var(--sae-layout-gap);
}



@media (max-width: 1024px) {

	.sae-page-template {
		padding-block: 2rem 3rem;
	}

	.sae-layout--sidebar,
	.sae-layout--sidebar-page {
		grid-template-columns: 1fr;
	}


}




/**
*
* Single formation 
*
*/

.sae-single-formation {
	padding-block: 5rem 4rem;
}

.sae-single-formation {
	position: relative;
	padding-block: 5rem 4rem;
	background: #fff;
	overflow: hidden;
}

.sae-single-formation > .sae-shell,
.sae-single-formation > .wp-block-group:not(.sae-single-formation__bg) {
	position: relative;
	z-index: 1;
}

.sae-single-formation__main,
.sae-single-formation__sidebar {
	min-width: 0;
}

.sae-single-formation__main .wp-block-post-title {
	margin: 0 0 1rem;
}

.sae-single-formation__terms {
	margin-bottom: 2rem;
	gap: 0.5rem 1rem;
	align-items: center;
}

.sae-single-formation__terms .wp-block-post-terms {
	margin: 0;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sae-single-formation__main > *:first-child,
.sae-single-formation__sidebar > *:first-child {
	margin-top: 0;
}

.sae-single-formation__sidebar {
	display: grid;
	align-content: start;
}

.sae-single-formation__sidebar .wp-block-post-featured-image {
	margin: 0 0 1.5rem;
}

.sae-single-formation__sidebar .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: auto;
}




.sae-formation-sidebar__panel {
	border: 1px solid var(--sae-border-color);
	background: var(--sae-surface);
	border-radius: var(--sae-card-radius);
}

.sae-formation-sidebar__details {
	padding: 1.5rem;
}

.sae-formation-sidebar__heading {
	margin: 0 0 1.25rem;
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	line-height: 1.15;
}

.sae-formation-sidebar__list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}

.sae-formation-sidebar__row {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 16px;
	margin-bottom: 0;
}

.sae-formation-sidebar__row dt {
	margin: 0;
	padding: 3px 0;
	font-weight: 700;
	color: var(--wp--preset--color--sae-navy);
	border-right: 1px dotted var(--wp--preset--color--sae-blue);
}

.sae-formation-sidebar__row dd {
	margin: 0;
	padding: 3px 0;
	color: var(--wp--preset--color--sae-text);
}


.sae-formation-sidebar {
	display: grid;
	gap: 1.25rem;
}

.sae-formation-sidebar__image-wrap {
	margin: 0;
	min-width: 0;
}

.sae-formation-sidebar__image-wrap img,
.sae-single-formation__image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}




@media (min-width: 1001px) {
	.sae-formation-sidebar__panel {
		position: sticky;
		top: 2rem;
	}
}




@media (max-width: 1000px) {
	.sae-single-formation__layout,
	.sae-single-calendrier__layout {
		grid-template-columns: 1fr;
	}

	.sae-single-formation {
		padding-block: 2rem 3rem;
	}

	.sae-single-formation__terms {
		margin-bottom: 1.5rem;
	}


	.sae-formation-sidebar__details {
		padding: 1rem;
	}

	.sae-formation-sidebar__row {
		grid-template-columns: 1fr;
		gap: 0.15rem;
		margin-bottom: 0.9rem;
	}

	.sae-formation-sidebar__row dt {
		border-right: 0;
		padding-bottom: 0;
	}

	.sae-formation-sidebar__row dd {
		padding-top: 0;
	}

}





/**
*
* Archive formation 
*
*/

.sae-formation-card-meta {
	margin-top: 1rem;
	display: grid;
	gap: 0.75rem;
}

.sae-formation-card-row {
	display: grid;
	gap: 0.25rem;
}

.sae-formation-card-label {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sae-formation-card-dates {
	margin: 0;
	padding-left: 1.25rem;
}

.sae-formation-card-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	padding: 0.35rem 0.6rem;
	border-radius: 999px;
	font-weight: 700;
	background: #f3c544;
	color: #111;
}




/**
*
* Archive formations rows
*
*/

.sae-formation-archive-table {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--sae-border-color);
	width:100%;
}

.sae-formation-archive-table .center-text {
	text-align:inherit;
}

.sae-formation-archive-table__head,
.sae-formation-row {
	display: grid;
	/* grid-template-columns: 76px minmax(0, 1.8fr) minmax(110px, 0.5fr) minmax(220px, 0.9fr); */
	grid-template-columns: 76px 1fr 60px 190px;
	column-gap: 1.25rem;
	align-items: center;
}

.sae-formation-archive-table__head {
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--sae-border-color);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--sae-navy);
}

.sae-formation-row {
	padding: 1rem 0;
	border-bottom: 1px solid var(--sae-border-color);
}

.sae-formation-row__thumb {
	width: 76px;
}

.sae-formation-row__thumb a {
	display: block;
}

.sae-formation-row__image {
	display: block;
	width: 76px;
	height: 76px;
	object-fit: cover;
}

.sae-formation-row__title-text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.2;
}

/* .sae-formation-row__title-text a {
	color: var(--wp--preset--color--sae-navy);
	text-decoration: none;
}

.sae-formation-row__title-text a:hover {
	color: var(--wp--preset--color--sae-blue);
} */

.sae-formation-row__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.3rem 0.6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--sae-gold);
	color: #111;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.sae-formation-row__duration,
.sae-formation-row__dates {
	font-size: 0.95rem;
}

.sae-formation-row__value {
	display: inline-block;
}

.sae-formation-row__date-list {
	margin: 0;
	/* padding-left: 1rem; */
	display: grid;
	gap: 0.2rem;
}

.sae-formation-row__date-item a {
	text-decoration: none;
}

.sae-formation-row__more {
	display: inline-block;
	margin-top: 0.45rem;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}

.sae-archive-empty {
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--sae-border-color);
	background: var(--sae-surface);
}

.sae-archive-empty > *:first-child {
	margin-top: 0;
}

.sae-archive-empty > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 1000px) {
	.sae-formation-archive-table__head {
		display: none;
	}

	.sae-formation-row {
		grid-template-columns: 76px minmax(0, 1fr);
		row-gap: 0.65rem;
		align-items: start;
	}

	.sae-formation-row__thumb {
		grid-row: span 3;
	}

	.sae-formation-row__title,
	.sae-formation-row__duration,
	.sae-formation-row__dates {
		grid-column: 2;
	}

	.sae-formation-row__duration::before {
		content: "Durée : ";
		font-weight: 700;
		color: var(--wp--preset--color--sae-navy);
	}

	.sae-formation-row__dates::before {
		content: "Calendrier";
		display: block;
		margin-bottom: 0.35rem;
		font-weight: 700;
		color: var(--wp--preset--color--sae-navy);
	}
}












/**
*
* Single calendrier 
*
*/

.sae-single-calendrier {
	position: relative;
	padding-block: 5rem 4rem;
	background: var(--wp--preset--color--sae-white);
	overflow: hidden;
}

.sae-single-calendrier > .sae-shell,
.sae-single-calendrier > .wp-block-group:not(.sae-single__bg) {
	position: relative;
	z-index: 1;
}

.sae-single-calendrier__layout {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 2.1fr);
}

.sae-single-calendrier__main,
.sae-single-calendrier__sidebar-col {
	min-width: 0;
}

.sae-single-calendrier__sidebar-col {
	position: relative;
}

.sae-single-calendrier__hero {
	margin-bottom: 1rem;
}

.sae-single-calendrier__title,
.sae-single-calendrier__main .wp-block-post-title {
	margin: 0;
}

.sae-single-calendrier__main > *:first-child,
.sae-single-calendrier__sidebar-col > *:first-child {
	margin-top: 0;
}

.sae-calendrier-sidebar {
	display: grid;
	gap: 1.25rem;
}

.sae-calendrier-sidebar__image-wrap,
.sae-calendrier-sidebar .wp-block-post-featured-image {
	margin: 0;
}

.sae-calendrier-sidebar__image-wrap img,
.sae-calendrier-sidebar .wp-block-post-featured-image img,
.sae-single-calendrier__image {
	display: block;
	width: 100%;
	height: auto;
}

.sae-calendrier-sidebar__panel {
	border: 1px solid var(--sae-border-color);
	background: var(--sae-surface);
}

.sae-calendrier-sidebar__panel .sae-button--primary {
	width:100%;
}

.compte-corpo {
	margin-top:2rem;
}

.sae-calendrier-sidebar__cta {
	margin: 0;
	padding: 1.5rem;
	border-bottom: 1px solid var(--sae-border-color);
}

.sae-calendrier-sidebar__cta--secondary {
	border-top: 1px solid var(--sae-border-color);
	border-bottom: 0;
}

/* .sae-button {
	display: block;
	padding-right:0 !important;
	padding-left:0 !important;
	width: 100%;
	text-align: center;
	text-decoration: none;
	border-radius: 9999px;
  box-shadow: none;
}


.sae-related-session__actions .sae-button {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
  width: 100%;
  text-align: center;
  text-decoration: none;
  border-radius: 9999px;
  box-shadow: none;
  display: block;
  min-width: none;
  font-size: 0.9rem;
}

.sae-button--secondary {
	background: transparent;
	border: 1px solid currentColor;
} */


/* sae-calendrier-sidebar__panel */

.sae-calendrier-sidebar__details {
	padding: 1.5rem;
}

.sae-calendrier-sidebar__heading {
	margin: 0 0 1.25rem;
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	line-height: 1.15;
}

.sae-calendrier-sidebar__list {
	margin: 0;
	margin-bottom: 30px;
	padding: 0;
	display: grid;
	gap: 0rem;
}


.sae-calendrier-sidebar__row {
	/* display: flex;
    align-items: baseline; 
    gap: 15px;              */
	display: grid;
	grid-template-columns: 80px 1fr; /* Fixes the term column at 150px, description takes the rest */
    gap: 20px;                         /* Controls space between columns */
    margin-bottom: 0px;	

}

.sae-calendrier-sidebar__row dt {
	margin-bottom: 0rem;
	font-weight: 700;
	color: var(--wp--preset--color--sae-navy);
	border-right:1px dotted var(--wp--preset--color--sae-blue);
	padding: 3px 0;
}

.sae-calendrier-sidebar__row dd {
	margin: 0;
	color: var(--wp--preset--color--sae-text);
	padding: 3px 0;
}

.sae-calendrier-sidebar__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.5rem;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--sae-gold);
	color: #111;
	font-size: 0.875rem;
	font-weight: 700;
	vertical-align: middle;
}

.sae-calendrier-content {
	display: grid;
	gap: 2.5rem;
	margin-block-start: 0rem;
}

.sae-calendrier-content__eyebrow {
	margin: 0 0 3rem;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sae-blue);
}




.sae-calendrier-content__heading {
	/* margin: 0 0 1rem;
	font-size: clamp(1.8rem, 2.5vw, 2.8rem);
	line-height: 1.1; */
	text-transform: uppercase;
}

.sae-calendrier-content__body > *:first-child,
.sae-rich-content > *:first-child {
	margin-top: 0;
}

.sae-calendrier-content__body > *:last-child,
.sae-rich-content > *:last-child {
	margin-bottom: 0;
}

.sae-rich-section {
	margin-bottom: 2.5rem;
}

.sae-rich-section:last-child {
	margin-bottom: 0;
}

.sae-section-title {
	margin-bottom: 0.9rem;
	font-size: clamp(1.5rem, 3vw, 2rem);
}

@media (min-width: 1001px) {
	.sae-calendrier-sidebar__panel {
		position: sticky;
		top: 2rem;
	}

	.mobile_title__block {
		display: none;
		visibility: hidden;
	}

}

@media (max-width: 1000px) {
	.sae-single-calendrier {
		padding-block: 2rem 3rem;
	}

	.sae-single-calendrier__layout {
		grid-template-columns: 1fr;
	}

	.sae-calendrier-sidebar__cta,
	.sae-calendrier-sidebar__details {
		padding: 1rem;
	}

	.mobile_title__block {
		margin-top: 3rem !important;
		margin-bottom: 3rem;
	}

	.mobile_title__block .sae-single-calendrier__title_mobile{
		border-bottom: 1px solid var(--wp--preset--color--sae-blue);
		padding-bottom: 0.5rem;
		margin-bottom:0 !important;
	}

	.mobile_title__block p {
		color: var(--wp--preset--color--sae-blue);
		margin-top: 0 !important;
	}


	.sae-single-calendrier__hero,
	p.sae-calendrier-content__eyebrow,
	.sae-calendrier__bg {
		display: none;
		visibility: hidden;
	}
	

}


/**
*
* Archive calendrier page
*
*/

.sae-archive-page {
	position: relative;
	padding-block: 5rem 4rem;
	background: var(--wp--preset--color--sae-white);
	overflow: hidden;
}

.sae-archive-page > .sae-shell,
.sae-archive-page > .wp-block-group:not(.sae-single__bg) {
	position: relative;
	z-index: 1;
}


.sae-calendrier__bg {
	position: absolute;
	width: 260px;
	opacity: 0.15;
	top: 0;
	right: 0;
}

.sae-calendrier__bg-image {
	width:100%
}

.sae-archive {
	display: grid;
	gap: 4rem;
}

/* .sae-archive__hero {
	display: grid;
	gap: 1rem;
	margin-bottom: 0.5rem;
} */

.sae-calendrier-archive__section {
	padding-top: 0 !important;
	margin-block-start: 0 !important;
}

.sae-archive__title {
	margin: 0;
	margin-top:20px;
}

.sae-archive__intro,filtres
.sae-archive__lead {
	margin: 0;
	max-width: 70ch;
}

 .sae-archive__filters {
	margin-block-start: 10px !important;
	/* padding: 1.25rem 1.5rem;
	border: 1px solid var(--sae-border-color);
	border-radius: 20px;
	background: var(--sae-surface); */
} 

.sae-archive__filters .search-filter-input-text.search-filter-input-text.search-filter-field__input {
	width:100%;
}

.sae-archive__filters p, 
.sae-archive__filters .search-filter-label{
	font-size: 18px;
	font-weight: bold;
	margin-top:40px;
}


.sae-archive__filters .types-formations-catalogue {
	margin-top:0;
}

.sae-archive__top_filters {
    display: flex;
    flex-direction: row;       
    flex-wrap: wrap;           
    align-items: center;     
    gap: 1.5rem;          
	margin-bottom: 30px;    
}

/* Optional but recommended: Adjust headings so they don't force a line break */
.sae-archive__top_filters h3 {
    margin: 0;                 
    font-size: 1.1rem;        
    white-space: nowrap;     
}

/* Optional: If Search & Filter wrapper divs have bottom margins, reset them */
.sae-archive__top_filters .searchandfilter {
    margin: 0;
}


.sae-archive__top_filters .search-filter-field {
	width:150px;
}


.sae-archive__filters > *:first-child {
	margin-top: 0;
}

.sae-archive__filters > *:last-child {
	margin-bottom: 0;
}


@media (max-width: 1000px) {
	.sae-archive-page {
		padding-block: 2rem 3rem;
	}
}

.sae-calendrier-archive__grid--2-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
	align-items: start;
}






.sae-calendrier-card {
	display: grid;
	gap: 1rem;
	border: 1px solid var(--sae-border-color);
	/* border-radius: var(--sae-card-radius);
	padding: var(--sae-card-padding);
	background: var(--sae-surface); */
	
	
}

.sae-calendrier-card__media {
	position: relative;
	overflow: hidden;
}

.sae-calendrier-card__image {
	display: block;
	width: 100%;
	height: auto;
}

.sae-calendrier-card__overlay {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 2;
	padding: 0.35rem 0.65rem;
	background: rgba(0, 0, 0, 0.7);
	color: #fff;
	font-size: 0.875rem;
	line-height: 1;
}


.sae-calendrier-card__media .sae-calendrier-sidebar__badge {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
}





.sae-calendrier-card__body{
	padding:0 1rem 1rem 1rem;
}

.sae-calendrier-card__title__box {
	height: 80px;
	display: flex;         /* Activates Flexbox */
    flex-direction: column; /* Keeps standard vertical document flow */
    justify-content: center; /* Centers content vertically */
}


.sae-calendrier-card__title {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.2;
}

.sae-calendrier-card__title a {
	color: var(--wp--preset--color--sae-navy);
	text-decoration: none;
}

.sae-calendrier-card__title a:hover {
	color: var(--wp--preset--color--sae-blue);
}

.sae-calendrier-card__meta {
	margin: 0;
	font-size: 0.95rem;
}

.sae-calendrier-card__actions {
	margin-top: 1rem;
}








/**
 *
 * Single prograc
 *
 */

 .sae-single-prograc {
	position: relative;
	padding-block: 7rem 4rem;
	background: var(--wp--preset--color--sae-white);
	/* overflow: hidden; */
}

.sae-single-prograc > .sae-shell,
.sae-single-prograc > .wp-block-group:not(.sae-single__bg):not(.sae-singlebg) {
	position: relative;
	z-index: 1;
}

.sae-single-prograc__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
	gap: var(--sae-layout-gap);
	align-items: start;
}

.sae-single-prograc__main,
.sae-single-prograc__sidebar {
	min-width: 0;
}

.sae-single-prograc__main > *:first-child,
.sae-single-prograc__sidebar > *:first-child {
	margin-top: 0;
}

.sae-single-prograc__title,
.sae-single-prograc__main .wp-block-post-title {
	margin: 0 0 1rem;
	font-size: clamp(2rem, 4vw, 3.25rem);
	border-bottom: 1px solid var(--wp--preset--color--sae-blue);
}

.sae-single-prograc__eyebrow {
	margin: 0 0 2rem;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sae-blue);
}

.sae-single-prograc__eyebrow .prograc-url-button {
	font-size: 9px;
	color: #5B6472;
	padding: 0.5rem 1rem;
	line-height: 1.1;
	top: -3px;
	position: relative;
	margin-left: 10px;
	background-image: none !important;

}


.sae-prograc-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin: 0 0 2rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--sae-text);
}

.sae-prograc-meta__item {
	margin: 0;
}

.sae-prograc-content {
	display: grid;
	gap: 2.5rem;
}

.sae-prograc-content .sae-rich-section {
	margin-bottom: 0;
}

.sae-prograc-content .sae-section-title {
	margin-bottom: 0.9rem;
	font-size: clamp(1.5rem, 3vw, 2rem);
	/* text-transform: uppercase; */
}

.sae-prograc-content .sae-rich-content > *:first-child {
	margin-top: 0;
}

.sae-prograc-content .sae-rich-content > *:last-child {
	margin-bottom: 0;
}

.sae-single-prograc__sidebar {
	display: grid;
	align-content: start;
	gap: 1.25rem;
}

.sae-single-prograc__sidebar .wp-block-post-featured-image,
.sae-prograc-sidebar__image-wrap {
	margin: 0;
}

.sae-single-prograc__sidebar .wp-block-post-featured-image img,
.sae-prograc-sidebar__image,
.sae-prograc-sidebar__image-wrap img {
	display: block;
	width: 100%;
	height: auto;
}

.sae-prograc-sidebar {
	display: grid;
	gap: 1.25rem;
}

.sae-prograc-sidebar,
.sae-prograc-sidebar__panel,
.sae-prograc-sidebar__details,
.sae-prograc-sidebar__list,
.sae-prograc-sidebar__row,
.sae-prograc-sidebar__row dd {
	min-width: 0;
}

.sae-prograc-sidebar__panel {
	border: 1px solid var(--sae-border-color);
	border-radius: var(--sae-card-radius);
	background: var(--sae-surface);
}

.sae-prograc-sidebar__details {
	margin-bottom: 4rem;
}

.sae-prograc-sidebar__heading {
	margin: 0 0 1.25rem;
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	line-height: 1.15;
}

.sae-prograc-sidebar__list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	grid-template-columns: 1fr 1fr;
}

/* .sae-prograc-sidebar__list .sae-fact-row,
.sae-prograc-sidebar__row {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: 16px;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--sae-border-color);
} */

.sae-prograc-sidebar__list .sae-fact-row,
.sae-prograc-sidebar__row {
	display: flex;
	gap: 16px;
	padding: 0;
	border-bottom: none;
}

.sae-prograc-sidebar__list .sae-fact-row:last-child,
.sae-prograc-sidebar__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.sae-prograc-sidebar__list .sae-fact-label,
.sae-prograc-sidebar__row dt {
	margin: 0;
	padding: 3px 0;
	font-weight: 700;
	color: var(--wp--preset--color--sae-navy);
	/* border-right: 1px dotted var(--wp--preset--color--sae-blue); */
	border-right: none;
}

.sae-prograc-sidebar__list .sae-fact-value,
.sae-prograc-sidebar__row dd {
	margin: 0;
	padding: 3px 0;
	color: var(--wp--preset--color--sae-text);
}

@media (min-width: 1001px) {
	.sae-prograc-sidebar__panel {
		position: sticky;
		top: 2rem;
	}
}

@media (max-width: 1000px) {
	.sae-single-prograc {
		padding-block: 2rem 3rem;
	}

	.sae-single-prograc__layout {
		grid-template-columns: 1fr;
		padding-top: 4rem;
	}

	.sae-single-prograc__eyebrow {
		margin-bottom: 1.5rem;
	}

	.sae-prograc-meta {
		margin-bottom: 1.5rem;
	}

	.sae-prograc-sidebar__details {
		padding: 0;
	}

	.sae-prograc-sidebar__list {
		grid-template-columns: 1fr;
    }

    .sae-prograc-sidebar__list .sae-fact-row,
	.sae-prograc-sidebar__row {
		grid-template-columns: 1fr;
		gap: 0.15rem;
		margin-bottom: 0.3rem;
	}

	.sae-prograc-sidebar__list .sae-fact-label,
	.sae-prograc-sidebar__row dt {
		border-right: 0;
		padding-bottom: 0;
		padding-top:0;
	}

	.sae-prograc-sidebar__list .sae-fact-value,
	.sae-prograc-sidebar__row dd {
		padding-top: 0;
	}

	.sae-single-prograc__eyebrow .prograc-url-button {
		margin-top:20px;
		margin-left: 0;
	}

}





.racc-image-container {
	position: absolute;
	top:0;
	width:100%;
}

.racc-image-container img {
	position: absolute;
	top:0;
	left:-1rem;
	width:100%;
}


.racc-zone-container {
    max-width: 1440px;
    margin: 0 auto;
    /* background-color: red; */
    padding: 0 auto;
    position: relative;
    height: 100px;    


}

.racc-zone-container .section_title {
	color:#fff;
	display: block;
	position: absolute;
	padding-left: 5020px;
	padding-top: 8px;
	left: -5000px;
	z-index: 1;
	padding-right: 20px;
	
  }    



  .racc-zone-container .section_title::before {
	content: "";
	position: absolute;
	left: 0; 
	top:0;
	width: 100%;
	height: 50px;
	background: rgba(173, 216, 230, 1);
	background: var(--wp--preset--color--sae-blue);
	transform: skewX(-35deg);
	transform-origin: left bottom;
	z-index: -1;
}







/* Rich content sections */

.sae-rich-section {
	margin-bottom: 2.5rem;
}

.sae-section-title {
	margin-bottom: 0.9rem;
	font-size: clamp(1.5rem, 3vw, 2rem);
}

/* Responsive */

@media (min-width: 1001px) {
	.sae-calendrier-sidebar__panel {
		position: sticky;
		top: 2rem;
	}
}

@media (max-width: 1000px) {
	.sae-layout--sidebar,
	.sae-layout--archive,
	.sae-single-calendrier__layout,
	.sae-calendrier-archive__grid--2-cols {
		grid-template-columns: 1fr;
	}

	.sae-fact-row {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.sae-calendrier-sidebar__cta,
	.sae-calendrier-sidebar__details {
		padding: 1rem;
	}
}













/* =========================================
   SAE header navigation
   Final cleaned version
   - compact desktop sizing
   - CSS-only desktop hover/focus submenus
   - WordPress mobile responsive nav unchanged
   ========================================= */

   :root {
	--sae-nav-text: #021627;
	--sae-nav-muted: #545b6a;
	--sae-nav-accent: #00a9ce;
	--sae-nav-highlight: #fdc913;
	--sae-nav-divider: #e9eaed;
	--sae-nav-bg-soft: #f7f7f9;
	--sae-nav-shadow: 0 16px 40px rgba(2, 22, 39, 0.08);
	--sae-nav-ease: cubic-bezier(.75, 0, .125, 1);
}

/* -----------------------------------------
   Layout wrappers
   ----------------------------------------- */

.sae-header-navs {
	display: flex;
	flex-grow: 1;
	justify-content: flex-end;
	gap:0.5rem;
}

.sae-header-navs > .wp-block-group:first-child {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 1rem;
	width: 100%;
}

#sae-header-nav-meta,
#sae-header-nav-main {
	margin: 0 !important;
	padding: 0 !important;
	width: auto;
}

#sae-header-nav-meta .wp-block-navigation,
#sae-header-nav-main .wp-block-navigation {
	width: auto;
	margin: 0;
}

@media (min-width: 64em) {
	.sae-header-navs {
		flex-direction: column;
		align-items: flex-end;
	}

	.sae-header-navs > .wp-block-group:first-child {
		gap: 0.75rem;
	}
}

/* -----------------------------------------
   Shared navigation styles
   ----------------------------------------- */

#sae-header-nav-meta .wp-block-navigation__container,
#sae-header-nav-main .wp-block-navigation__container {
	gap: 0;
}

#sae-header-nav-meta .wp-block-navigation-item,
#sae-header-nav-main .wp-block-navigation-item {
	position: relative;
}

#sae-header-nav-meta .wp-block-navigation-item__content,
#sae-header-nav-main .wp-block-navigation-item__content {
	position: relative;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	background: transparent;
	border: 0;
	box-shadow: none;
	transition:
		color 200ms var(--sae-nav-ease),
		background-color 200ms var(--sae-nav-ease);
}

#sae-header-nav-meta .wp-block-navigation-item__content::after,
#sae-header-nav-main .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	top: calc(100%);
	left: 0;
	width: 100%;
	height: 0;
	display: block;
	transition:
		height 200ms var(--sae-nav-ease),
		background-color 200ms var(--sae-nav-ease);
}

#sae-header-nav-meta .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
#sae-header-nav-meta .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
#sae-header-nav-meta .wp-block-navigation-item.current-menu-parent > .wp-block-navigation-item__content,
#sae-header-nav-meta .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content,
#sae-header-nav-main .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
#sae-header-nav-main .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
#sae-header-nav-main .wp-block-navigation-item.current-menu-parent > .wp-block-navigation-item__content,
#sae-header-nav-main .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content {
	color: var(--sae-nav-text);
}

#sae-header-nav-meta .wp-block-navigation-item__content:focus-visible,
#sae-header-nav-main .wp-block-navigation-item__content:focus-visible {
	outline: none;
	color: var(--sae-nav-accent);
}

#sae-header-nav-meta .wp-block-navigation-item__content:focus-visible::after,
#sae-header-nav-main .wp-block-navigation-item__content:focus-visible::after {
	height: 2px;
	background-color: var(--sae-nav-accent);
}

/* -----------------------------------------
   Meta navigation
   ----------------------------------------- */

#sae-header-nav-meta {
	display: none;
}

#sae-header-nav-meta .wp-block-navigation__responsive-container-open {
	display: inline-flex;
}

#sae-header-nav-meta .wp-block-navigation-item {
	margin-inline: 8px;
}

#sae-header-nav-meta .wp-block-navigation-item:first-child {
	margin-left: 0;
}

#sae-header-nav-meta .wp-block-navigation-item:last-child {
	margin-right: 0;
}

#sae-header-nav-meta .wp-block-navigation-item__content {
	color: var(--sae-nav-muted);
	font-size: 1rem;
	line-height: 1.1;
	font-weight: 500;
	padding-block: 0.1rem;
}

#sae-header-nav-meta .wp-block-navigation-item__content::after {
	background-color: var(--sae-nav-text);
}

#sae-header-nav-meta .wp-block-navigation-item__content:hover {
	color: var(--sae-nav-text);
	text-decoration: none;
}

#sae-header-nav-meta .wp-block-navigation-item__content:hover::after,
#sae-header-nav-meta .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after,
#sae-header-nav-meta .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content::after,
#sae-header-nav-meta .wp-block-navigation-item.current-menu-parent > .wp-block-navigation-item__content::after,
#sae-header-nav-meta .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content::after {
	height: 2px;
}

@media (min-width: 64em) {
	#sae-header-nav-meta {
		display: block;
	}

	#sae-header-nav-meta .wp-block-navigation__responsive-container-open {
		display: none;
	}

	#sae-header-nav-meta .wp-block-navigation__container {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
}

@media (min-width: 64em) and (max-width: 90em) {
	#sae-header-nav-meta .wp-block-navigation-item__content {
		font-size: 0.95rem;
	}
}

/* -----------------------------------------
   Main navigation
   ----------------------------------------- */

#sae-header-nav-main {
	display: block;
	width: 100%;
}

#sae-header-nav-main .wp-block-navigation-item {
	margin-inline: 7px;
	flex: 0 0 auto;
}

#sae-header-nav-main .wp-block-navigation-item:first-child {
	margin-left: 0;
}

#sae-header-nav-main .wp-block-navigation-item:last-child {
	margin-right: 0;
}

#sae-header-nav-main .wp-block-navigation-item__content {
	color: var(--sae-nav-text);
	font-size: 0.96rem;
	line-height: 1.1;
	font-weight: 600;
	padding-block: 0.1rem;
	padding-bottom:6px;
	white-space: nowrap;
}

#sae-header-nav-main .wp-block-navigation-item__content::after {
	background-color: var(--sae-nav-highlight);
}

#sae-header-nav-main .wp-block-navigation-item__content:hover,
#sae-header-nav-main .wp-block-navigation-item__content:focus-visible {
	text-decoration: none;
}

#sae-header-nav-main .wp-block-navigation-item__content:hover::after,
#sae-header-nav-main .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after,
#sae-header-nav-main .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content::after,
#sae-header-nav-main .wp-block-navigation-item.current-menu-parent > .wp-block-navigation-item__content::after,
#sae-header-nav-main .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content::after {
	height: 2px;
}

@media (min-width: 64em) {
	#sae-header-nav-main {
		margin-top: 8px !important;
		margin-left: 0 !important;
		width: auto;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-open {
		display: none;
	}

	#sae-header-nav-main .wp-block-navigation__container {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		gap: 0;
	}
}

@media (min-width: 64em) and (max-width: 90em) {
	#sae-header-nav-main .wp-block-navigation-item {
		margin-inline: 6px;
	}

	#sae-header-nav-main .wp-block-navigation-item__content {
		font-size: 0.92rem;
	}
}

/* -----------------------------------------
   Submenu toggles
   ----------------------------------------- */

#sae-header-nav-meta .wp-block-navigation__submenu-icon,
#sae-header-nav-main .wp-block-navigation__submenu-icon {
	margin-left: 0.2rem;
	padding: 0;
	min-width: auto;
	width: auto;
	height: auto;
	background: transparent;
	border: 0;
	box-shadow: none;
}

#sae-header-nav-meta .wp-block-navigation__submenu-icon svg,
#sae-header-nav-main .wp-block-navigation__submenu-icon svg {
	display: block;
}

#sae-header-nav-meta .wp-block-navigation__submenu-icon svg path,
#sae-header-nav-main .wp-block-navigation__submenu-icon svg path {
	stroke: currentColor;
}

#sae-header-nav-main .wp-block-navigation__submenu-icon {
	transform: scale(0.72);
	transform-origin: center;
}

/* -----------------------------------------
   Desktop dropdowns
   ----------------------------------------- */
/* 
@media (min-width: 64em) {
	#sae-header-nav-meta .wp-block-navigation-item.has-child,
	#sae-header-nav-main .wp-block-navigation-item.has-child {
		position: relative;
	}

	#sae-header-nav-meta .wp-block-navigation__submenu-icon,
	#sae-header-nav-main .wp-block-navigation__submenu-icon {
		pointer-events: none;
	}

	#sae-header-nav-meta .wp-block-navigation__submenu-container,
	#sae-header-nav-main .wp-block-navigation__submenu-container {
		position: absolute;
		top: calc(100% + 0px);
		left: 0;
		min-width: 250px;
		padding: 20px 10px;
		border-top:2px solid var(--sae-nav-highlight);
		background: #fff;
		box-shadow: var(--sae-nav-shadow);
		z-index: 30;
		opacity: 0;
		gap:0.5rem;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(6px);
		transition:
			opacity 180ms var(--sae-nav-ease),
			transform 180ms var(--sae-nav-ease),
			visibility 0s linear 180ms;
		
	}

	#sae-header-nav-meta .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
	#sae-header-nav-meta .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container,
	#sae-header-nav-main .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
	#sae-header-nav-main .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
		transition-delay: 0s;
	}

	#sae-header-nav-meta .wp-block-navigation__submenu-container .wp-block-navigation-item,
	#sae-header-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item {
		margin: 0;
		display: block;
	}

	#sae-header-nav-meta .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	#sae-header-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block;
		padding: 6px 18px;
		font-size: 0.95rem;
		line-height: 1.2;
		font-weight: 400;
		color: var(--sae-nav-text);
		white-space: nowrap;
	}

	#sae-header-nav-meta .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after,
	#sae-header-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
		display: none;
	}

	#sae-header-nav-meta .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	#sae-header-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	#sae-header-nav-meta .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible,
	#sae-header-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background: var(--sae-nav-bg-soft);
		color: var(--sae-nav-text);
	}
}

 */

 

 .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container{
	height: auto;
	min-width: 200px;
	opacity: 1;
	overflow: visible;
	visibility: visible;
	width: auto;
	padding: 1rem;
	border-top: 2px solid var(--wp--preset--color--sae-gold);
 }


 #sae-header-nav-main .wp-block-navigation__submenu-container .wp-block-navigation-item {
	margin-inline: 0px;
	flex: 0 0 auto;
	margin-bottom:1rem;
  }

  #sae-header-nav-main .wp-block-navigation-item__content {
	position: relative;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	background: transparent;
	border: 0;
	box-shadow: none;
	transition: color 200ms var(--sae-nav-ease), background-color 200ms var(--sae-nav-ease);
	padding-left:0;
  }































/* -----------------------------------------
   Mobile / overlay menu
   ----------------------------------------- */
/* 
@media (max-width: 63.9375em) {
	#sae-header-nav-meta {
		display: none !important;
	}

	#sae-header-nav-main {
		width: 100%;
		margin: 0 !important;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-open {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		color: var(--sae-nav-text);
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container {
		padding: 2rem 1.5rem;
		background: #fff;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-dialog {
		padding-top: 1rem;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-close {
		color: var(--sae-nav-text);
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		display: block;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		margin: 0;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		display: block;
		font-size: 1.8rem;
		line-height: 1.3;
		font-weight: 700;
		padding: 0.9rem 0;
		color: var(--sae-nav-text);
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content::after {
		display: none;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		margin-left: auto;
		transform: none;
		pointer-events: auto;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
		position: static;
		min-width: 0;
		padding: 0.2rem 0 1rem 1.2rem;
		background: transparent;
		box-shadow: none;
		border: 0;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		transition: none;
	}

	#sae-header-nav-main .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: 1.4rem;
		line-height: 1.35;
		font-weight: 400;
		padding: 0.45rem 0;
	}
} */





/* -----------------------------------------
   Barre de recherche
   ----------------------------------------- */

.sae-header-navs .wp-block-search {
	margin: 0;
}

.sae-header-navs .wp-block-search__inside-wrapper {
	min-height: 28px;
	border: 1px solid var(--sae-nav-divider);
	background: var(--sae-nav-divider);
	box-shadow: none;
	padding-left: 10px;
}

.sae-header-navs .wp-block-search__input {
	min-width: 100px;
	width: 100%;
	font-size: 0.8rem;
	color: var(--sae-nav-text);
	background: var(--sae-nav-divider);
	border: 0;
	box-shadow: none;
}

.sae-header-navs .wp-block-search__input::placeholder {
	color: var(--sae-nav-muted);
	opacity: 1;
}

.sae-header-navs .wp-block-search__button {
	padding-inline: 0.7rem;
	color: var(--sae-nav-text);
	background: transparent;
	border: 0;
	box-shadow: none;
	padding:0;
	background-image: none !important;

}

.sae-header-navs .wp-block-search__button:hover {
	color: var(--sae-nav-accent);
}

.sae-header-navs .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--sae-nav-accent);
	box-shadow: 0 0 0 1px var(--sae-nav-accent);
}

@media (min-width: 64em) and (max-width: 90em) {
	.sae-header-navs .wp-block-search__input {
		font-size: 0.95rem;
	}
}

@media (max-width: 63.9375em) {
	.sae-header-navs > .wp-block-group:first-child {
		width: 100%;
		justify-content: space-between;
		gap: 1rem;
	}

	.sae-header-navs .wp-block-search {
		flex: 1 1 auto;
		max-width: 320px;
	}

	.sae-header-navs .wp-block-search__input {
		min-width: 0;
	}
}