/*
Theme Name: Genesis Sample
Theme URI: https://demo.studiopress.com/
Description: This is the sample theme created for the Genesis Framework.
Author: StudioPress
Author URI: https://www.studiopress.com/

Version: 3.4.3

Tags: accessibility-ready, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, left-sidebar, one-column, right-sidebar, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, two-columns, wide-blocks

Template: genesis

License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Text Domain: genesis-sample
Requires at least: 5.4
Requires PHP: 5.6
*/

/* Table of Contents
- HTML5 Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Defaults
	- Typographical Elements
	- Headings
	- Objects
	- Gallery
	- Forms
	- Tables
	- Screen Reader Text
- Structure and Layout
	- Site Container
	- Site Inner
- Common Classes
	- Avatar
	- Genesis
	- Search Form
	- Titles
	- WordPress
- Widgets
	- Featured Content
- Plugins
	- Genesis eNews Extended
	- Genesis Simple FAQ
	- WPForms
- Skip Links
- Site Header
	- Title Area
- Site Navigation
	- Responsive Menu
	- Header Menu
	- Footer Menu
- Content Area
	- Entry Content
	- Entry Meta
	- Pagination
	- Entry Comments
- Sidebar
- Footer Widgets
- Site Footer
- Media Queries
	- Min-width: 960px
		- Site Header
		- Genesis Menu
		- Responsive Menu
		- Header Menu
		- Site Inner
		- Content
		- Sidebar
		- Author Box
		- After Entry
		- Column Classes
		- Entry Misc.
		- Footer Widgets
- Print Styles
*/

@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

@font-face {
    font-family: "Glacial Indifference";
    src: url("fonts/GlacialIndifference-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Glacial Indifference";
    src: url("fonts/GlacialIndifference-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}



/* HTML5 Reset
---------------------------------------------------------------------------- */

/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
---------------------------------------------------------------------------- */
/* stylelint-disable */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
/* stylelint-enable */

/* Box Sizing
--------------------------------------------- */

html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Float Clearing
--------------------------------------------- */

.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}


/* Defaults
---------------------------------------------------------------------------- */

/* Typographical Elements
--------------------------------------------- */

html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: #fff;
	color: #333;
	font-family: "Glacial Indifference";
	font-size: 18px;
	font-weight: 400;
	line-height: 1.625;
	margin: 0;
	overflow-x: hidden;
}

button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	transition: all 0.2s ease-in-out;
}

a {
	color: #0073e5;
	text-decoration: underline;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

a:focus,
a:hover {
	color: #333;
	text-decoration: none;
}

p {
	margin: 0 0 28px;
	padding: 0;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-bottom: 1px solid currentColor;
	clear: both;
	color: #eee;
	margin: 1.65em auto;
}

b,
strong {
	font-weight: 700;
}

blockquote,
cite,
em,
i {
	font-style: italic;
}

mark {
	background: #ddd;
	color: #333;
}

blockquote {
	margin: 30px;
}

/* Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Source Sans Pro", sans-serif;
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 20px;
}

h1 {
	font-size: 30px;
}

h2 {
	font-size: 27px;
}

h3 {
	font-size: 24px;
}

h4 {
	font-size: 20px;
}

.entry-content h3,
.entry-content h4 {
	font-weight: 600;
}

.entry-content h4 {
	margin-top: 40px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: top;
}

figure {
	margin: 0;
}

/* Gallery
--------------------------------------------- */

.gallery {
	overflow: hidden;
}

.gallery img {
	border: 1px solid #eee;
	height: auto;
	padding: 4px;
}

.gallery img:focus,
.gallery img:hover {
	border: 1px solid #999;
	outline: none;
}

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

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

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

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

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

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

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

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

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

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}

.gallery-item {
	float: left;
	margin: 0 0 30px;
	text-align: center;
}

/* Forms
--------------------------------------------- */

input,
select,
textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	color: #333;
	font-size: 18px;
	font-weight: 400;
	padding: 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

:-ms-input-placeholder {
	color: #333;
	opacity: 1;
}

::placeholder {
	color: #333;
	opacity: 1;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
.button {
	background-color: #333;
	border: 0;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	padding: 15px 30px;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	width: auto;
}

button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.button:focus,
.button:hover {
	background-color: #0073e5;
	border-width: 0;
	color: #fff;
}

.entry-content .button:focus,
.entry-content .button:hover {
	color: #fff;
}

.button {
	display: inline-block;
}

.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #eee;
	border-width: 0;
	color: #777;
	cursor: not-allowed;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 40px;
	width: 100%;
	word-break: break-all;
}

tbody {
	border-bottom: 1px solid #eee;
}

td,
th {
	line-height: 2;
	text-align: left;
	vertical-align: top;
}

td {
	padding: 0.5em;
}

tr {
	border-top: 1px solid #eee;
}

th {
	font-weight: 600;
	padding: 0.5em;
}

/* Screen Reader Text
--------------------------------------------- */

.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.widget_search input[type="submit"]:focus {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #333;
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.more-link {
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}


/* Structure and Layout
---------------------------------------------------------------------------- */

/* Site Container
--------------------------------------------- */

.site-container {
	animation: fadein 1s;
	word-wrap: break-word;
}

@keyframes fadein {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}

}

/* Site Inner
--------------------------------------------- */

.site-inner {
	clear: both;
	margin: 0 auto;
	padding: 60px 30px 0;
}


/* Common Classes
---------------------------------------------------------------------------- */

/* Avatar
--------------------------------------------- */

.avatar {
	border-radius: 50%;
	float: left;
}

.author-box .avatar,
.alignleft .avatar {
	margin-right: 20px;
}

.alignright .avatar {
	margin-left: 20px;
}

.comment .avatar {
	margin: 0 15px 20px 0;
}

/* Genesis
--------------------------------------------- */

.after-entry,
.archive-description,
.author-box {
	margin-bottom: 40px;
}

.after-entry {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
	padding: 20px 30px;
}

.after-entry .widget:last-of-type {
	margin-bottom: 0;
}

.breadcrumb {
	border-bottom: 1px solid #eee;
	font-size: 16px;
	margin-bottom: 40px;
	padding-bottom: 10px;
}

.genesis-title-hidden .breadcrumb {
	margin-top: 40px;
}

.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}

/* Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
}

.entry-content .search-form {
	margin-bottom: 40px;
	width: 50%;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}

.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Titles
--------------------------------------------- */

.archive-description .entry-title,
.archive-title,
.author-box-title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 10px;
}

.entry-title {
	font-size: 30px;
	margin-bottom: 10px;
}

.entry-title a,
.sidebar .widget-title a {
	color: #333;
	text-decoration: none;
}

.entry-title a:focus,
.entry-title a:hover {
	color: #0073e5;
}

.widget-title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
}

.genesis-title-hidden .site-inner {
	padding-top: 0;
}

/* WordPress
--------------------------------------------- */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter,
.singular-image {
	display: block;
	margin: 0 auto 30px;
}

img.alignnone,
.alignnone {
	margin-bottom: 15px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 20px 20px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 20px 20px;
}

figcaption,
.gallery-caption,
.wp-caption-text {
	font-size: 14px;
	font-weight: 600;
	margin-top: 0.5em;
	margin-bottom: 1em;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 30px;
}

/* Widgets
---------------------------------------------------------------------------- */

.widget {
	margin-bottom: 40px;
}

.widget p:last-child,
.widget ul > li:last-of-type {
	margin-bottom: 0;
}

.widget ul > li {
	margin-bottom: 10px;
}

.widget ul > li:last-of-type {
	padding-bottom: 0;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: 0;
	margin: 0 0 0 30px;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}

/* Featured Content
--------------------------------------------- */

.featured-content .entry {
	border-bottom: 1px solid #eee;
	margin-bottom: 20px;
}

.featured-content .entry:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}

.featured-content .entry-title {
	font-size: 16px;
	margin-bottom: 5px;
	margin-top: 10px;
}


/* Plugins
---------------------------------------------------------------------------- */

/* Genesis eNews Extended
--------------------------------------------- */

.after-entry .enews {
	text-align: center;
	padding: 10px;
}

.sidebar .enews {
	background-color: #f5f5f5;
	padding: 30px;
}

.enews-widget input {
	font-size: 16px;
	margin-bottom: 10px;
}

.after-entry .enews-widget input {
	text-align: center;
}

.enews-widget input[type="submit"] {
	margin: 0;
	width: 100%;
}

.enews form + p {
	margin-top: 20px;
}

/* Genesis Simple FAQ
--------------------------------------------- */

.gs-faq__question {
	background: transparent;
	border-bottom: 1px solid #eee;
	color: #333;
	padding-left: 0;
	padding-right: 0;
}

.gs-faq__question:focus,
.gs-faq__question:hover {
	background: transparent;
	color: #0073e5;
}

.gs-faq__question::after {
	content: "\f132";
	font-family: dashicons; /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
	float: right;
}

.gs-faq__question.gs-faq--expanded::after {
	content: "\f460";
}

/* WP Forms
--------------------------------------------- */

.entry-content .wpforms-container {
	margin-bottom: 40px;
}

.entry-content .wpforms-form .wpforms-field {
	clear: both;
	margin: 20px 0;
	overflow: hidden;
}

.site-container .wpforms-container .wpforms-form .wpforms-field input {
	border-radius: 0;
	height: auto;
	padding: 15px;
}

.site-container .entry-content .wpforms-form .wpforms-field-label {
	font-weight: 600;
}

.site-container .entry-content .wpforms-form .wpforms-field-sublabel {
	font-size: 14px;
	font-weight: 300;
}

.entry-content .wpforms-form .wpforms-field-hp {
	display: none !important;
	left: -9000px !important;
	position: absolute !important;
}

.site-container .entry-content .wpforms-form textarea {
	padding: 15px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-small {
	height: 120px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-medium {
	height: 200px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-large {
	height: 300px;
}


/* Skip Links
---------------------------------------------------------------------------- */

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link .skip-link-hidden {
	display: none;
	visibility: hidden;
}

.genesis-skip-link li {
	height: 0;
	list-style: none;
	width: 0;
}

/* Display outline on focus */
:focus {
	color: #333;
	outline: #ccc solid 1px;
}


/* Site Header
---------------------------------------------------------------------------- */

.site-header {
	background-color: transparent !important;
	padding: 0 30px;
}

/* Title Area
--------------------------------------------- */

.title-area {
	float: left;
	padding-bottom: 25px;
	padding-top: 25px;
}

.wp-custom-logo .title-area {
	max-width: 350px;
	padding-bottom: 5px;
	padding-top: 5px;
	width: 100%;
}

.wp-custom-logo .custom-logo-link {
	display: block;
}

.wp-custom-logo .title-area img {
	width: 170px;
    margin-top: 3px;
    margin-bottom: 30px;
    margin-left: 70px;
}

.site-title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0;
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: #333;
	text-decoration: none;
}

.site-description,
.wp-custom-logo .site-title {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}


/* Site Navigation
---------------------------------------------------------------------------- */

.genesis-nav-menu {
	clear: both;
	line-height: 1;
	width: 100%;
}

.genesis-nav-menu .menu-item {
	display: block;
	float: none;
	position: relative;
}

.genesis-nav-menu a {
	color: #333;
	display: block;
	font-size: 15px;
	font-weight: 400;
	outline-offset: -1px;
	padding-bottom: 12px;
	padding-top: 12px;
	text-decoration: none;
}

.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: #0073e5;
	text-decoration: none;
}

.genesis-nav-menu .sub-menu,
.genesis-nav-menu .sub-menu a {
	width: 100%;
}

.genesis-nav-menu .sub-menu {
	clear: both;
	display: none;
	left: -9999px;
	margin: 0;
	opacity: 1;
	padding-left: 15px;
	position: static;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: rgba(255, 255, 255, 0.5);
	font-size: 14px;
	position: relative;
	word-wrap: break-word;
}

.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
	position: relative;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	display: block;
	left: auto;
	opacity: 1;
}

/* Responsive Menu
--------------------------------------------- */

.menu .menu-item:focus {
	position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
	opacity: 1;
}

.js .nav-primary {
	display: none;
	position: relative;
}

.genesis-responsive-menu .genesis-nav-menu .menu-item:hover > .sub-menu {
	display: none;
}

.menu-toggle,
.sub-menu-toggle {
	background-color: transparent;
	border-width: 0;
	color: #333;
	display: block;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
	visibility: visible;
}

.menu-toggle:focus,
.menu-toggle:hover,
.sub-menu-toggle:focus,
.sub-menu-toggle:hover {
	background-color: transparent;
	border-width: 0;
	color: #0073e5;
}

.menu-toggle {
	float: right;
	line-height: 20px;
	margin-bottom: 10px;
	margin-top: 10px;
	padding: 15px 0;
	position: relative;
	z-index: 1000;
}

.menu-toggle.activated::before {
	content: "\f335";
}

.site-header .dashicons-before::before {
	transition: none;
}

.site-header .menu-toggle::before {
	float: left;
	margin-right: 5px;
	position: relative;
	text-rendering: auto;
	top: 1px;
}

.sub-menu-toggle {
	float: right;
	padding: 9px 10px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}

.sub-menu .sub-menu-toggle {
	padding: 12px 10px;
}

.sub-menu-toggle::before {
	display: inline-block;
	text-rendering: auto;
	transform: rotate(0);
	transition: transform 0.25s ease-in-out;
}

.sub-menu-toggle.activated::before {
	transform: rotate(180deg);
}

/* Header Menu
--------------------------------------------- */

.nav-primary {
	clear: left;
	padding-bottom: 15px;
	padding-top: 15px;
	width: 100%;
}

/* Footer Menu
--------------------------------------------- */

.nav-secondary {
	margin-top: 10px;
}

.nav-secondary .genesis-nav-menu {
	line-height: 1.5;
}

.nav-secondary .menu-item {
	display: inline-block;
}

.nav-secondary a {
	margin-left: 10px;
	margin-right: 10px;
	padding: 0;
}


/* Content Area
---------------------------------------------------------------------------- */

/* Entry Content
--------------------------------------------- */

.entry {
	margin-bottom: 40px;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 30px;
	padding-left: 40px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

.entry-content ol ul > li,
.entry-content ul ul > li {
	list-style-type: circle;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content code {
	background-color: #f5f5f5;
}

.content .sticky {
	background-color: #f5f5f5;
	padding: 30px;
}

/* Entry Meta
--------------------------------------------- */

p.entry-meta {
	font-size: 16px;
	margin-bottom: 0;
}

.entry-header .entry-meta {
	margin-bottom: 20px;
}

.entry-footer .entry-meta {
	border-top: 1px solid #eee;
	padding-top: 20px;
}

.entry-categories,
.entry-tags {
	display: block;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

/* Pagination
--------------------------------------------- */

.pagination {
	clear: both;
	margin: 60px 0;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination li a {
	background-color: #f5f5f5;
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 4px;
	padding: 8px 12px;
	text-decoration: none;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
	background-color: #333;
	color: #fff;
}

/* Entry Comments
--------------------------------------------- */

.comment-respond,
.entry-comments,
.entry-pings {
	margin-bottom: 40px;
}

.comment-list li {
	padding: 40px 0 0 30px;
}

.comment-list .depth-1 {
	padding-left: 0;
}

.comment-header {
	margin-bottom: 30px;
}

.comment-content {
	clear: both;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.comment-header p {
	margin-bottom: 0;
}

.entry-pings .reply {
	display: none;
}

.comment-form-cookies-consent label {
	display: inline;
	padding-left: 10px;
}

/* Sidebar
---------------------------------------------------------------------------- */

.sidebar {
	font-size: 16px;
	line-height: 1.5;
}

.sidebar .widget {
	margin-bottom: 40px;
}

.sidebar p {
	margin-bottom: 20px;
}

/* Footer Widgets
---------------------------------------------------------------------------- */

.footer-widgets {
	border-top: 1px solid #eee;
	background-color: #fff;
	clear: both;
	padding: 60px 0;
}

.footer-widgets .wrap {
	margin-left: auto;
	margin-right: auto;
}

.footer-widget-area {
	margin-bottom: 40px;
	padding-left: 30px;
	padding-right: 30px;
}

.footer-widget-area:last-child,
.footer-widgets .widget:last-child {
	margin-bottom: 0;
}


/* Site Footer
---------------------------------------------------------------------------- */

.site-footer {
	background-color: #fff;
	border-top: 1px solid #eee;
	font-size: 15px;
	line-height: 1.5;
	padding: 30px;
	text-align: center;
}

.site-footer p {
	margin-bottom: 0;
}


/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (min-width: 480px) {

	table {
		table-layout: auto;
		word-break: normal;
	}

}

@media only screen and (min-width: 960px) {

	/* Genesis Menu
	--------------------------------------------- */

	.genesis-nav-menu .menu-item {
		display: inline-block;
	}

	.genesis-nav-menu .menu-item:focus,
	.genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.genesis-nav-menu > .menu-bold > a {
		font-weight: 700;
	}

	.genesis-nav-menu > .menu-highlight > a {
		background-color: #333;
		border-radius: 3px;
		color: #fff;
		font-weight: 600;
		margin-left: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.genesis-nav-menu > .menu-highlight > a:focus,
	.genesis-nav-menu > .menu-highlight > a:hover {
		background-color: #0073e5;
	}

	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu .sub-menu a {
		width: 180px;
	}

	.genesis-nav-menu .sub-menu {
		border-top: 1px solid #eee;
		opacity: 0;
		padding-left: 0;
		position: absolute;
		transition: opacity 0.4s ease-in-out;
	}

	.genesis-nav-menu .sub-menu a {
		border: none
		border-top: 0;
		padding-bottom: 15px;
		padding-top: 15px;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		margin: -46px 0 0 179px;
	}

	/* Responsive Menu
	--------------------------------------------- */

	.js .nav-primary {
		display: block;
		padding-top: 15px;
	}

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}

	/* Header Menu
	--------------------------------------------- */

	.nav-primary {
		clear: none;
		float: right;
		width: auto;
	}

	.nav-primary .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
	}

	/* Site-Inner
	--------------------------------------------- */

	.site-inner {
		max-width: 1140px;
	}

	/* Content
	--------------------------------------------- */

	.content {
		float: left;
		width: 65%;
	}

	.sidebar-content .content {
		float: right;
	}

	.full-width-content .content {
		float: none;
		margin-left: auto;
		margin-right: auto;
	}

	/* Sidebar
	--------------------------------------------- */

	.sidebar {
		float: right;
		width: 30%;
	}

	.sidebar-content .sidebar {
		float: left;
	}

	/* Author Box
	--------------------------------------------- */

	.author-box {
		background-color: #f5f5f5;
		padding: 30px;
	}

	/* After Entry
	--------------------------------------------- */

	.after-entry {
		padding: 40px 60px;
	}

	.after-entry .enews {
		padding-left: 30px;
		padding-right: 30px;
	}

	/* Column Classes
	--------------------------------------------- */

	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		float: left;
		margin-left: 2.564102564102564%;
	}

	.one-half,
	.three-sixths,
	.two-fourths {
		width: 48.717948717948715%;
	}

	.one-third,
	.two-sixths {
		width: 31.623931623931625%;
	}

	.four-sixths,
	.two-thirds {
		width: 65.81196581196582%;
	}

	.one-fourth {
		width: 23.076923076923077%;
	}

	.three-fourths {
		width: 74.35897435897436%;
	}

	.one-sixth {
		width: 14.52991452991453%;
	}

	.five-sixths {
		width: 82.90598290598291%;
	}

	.first {
		clear: both;
		margin-left: 0;
	}

	/* Entry Misc.
	--------------------------------------------- */

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry,
	.entry-comments,
	.entry-pings {
		margin-bottom: 60px;
	}

	/* Footer Widgets
	--------------------------------------------- */

	.footer-widgets .wrap {
		max-width: 1140px;
	}

	.footer-widget-area {
		float: left;
		margin-bottom: 0;
		width: calc(100% / 3);
	}

}

/* Print Styles
---------------------------------------------------------------------------- */

@media print {

	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: #333 !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	a[href^="javascript:"]::after,
	a[href^="#"]::after,
	.site-title > a::after {
		content: "";
	}

	thead {
		display: table-header-group;
	}

	img,
	tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 2cm 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	blockquote,
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	.content,
	.content-sidebar {
		width: 100%;
	}

	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}

	.title-area {
		text-align: center;
		width: 100%;
	}

	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}

	.site-inner {
		padding-top: 0;
		position: relative;
	}

	.author-box {
		margin-bottom: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}


	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}

	dl,
	ol,
	ul {
		page-break-before: avoid;
	}

}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CSS Perso
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.site-header {
    position: relative;
    background: #fff;
}

*:focus,
*:focus-visible {
    outline: none !important;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DÉCORATION HEADER - FORME ROSE
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.site-header {
    position: relative;
    z-index: 1000;
    isolation: isolate;
    overflow: visible;
}

.site-inner {
    position: relative;
    z-index: 1;
}

/* Le menu principal reste au-dessus du contenu */

.site-header .wrap {
    position: relative;
    z-index: 2;
}

.nav-primary {
    position: relative;
    z-index: 10;
}

.genesis-nav-menu .sub-menu {
    z-index: 100;
}

/*.site-header::before {
    content: "";
    position: absolute;
    top: -25px;
    left: 150px;
    width: 320px;
    height: 325px;
    background-image: url('/wp-content/uploads/artefacts-01-2.svg');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: contain;
    pointer-events: none;
    z-index: -1;
}*/

.site-header .title-area {
    position: relative;
    z-index: 1;
}

.site-header .title-area::before {
	content: "";
	position: absolute;
	top: -245px;
	left: -307px;
	width: 540px;
	height: 450px;
	background-image: url(/wp-content/uploads/visuel-rose-logo-3.svg);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: contain;
	pointer-events: none;
	z-index: -1;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DÉCORATION PRÉSENTATION - FORME VERTE
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.accueil-presentation-visuel {
    position: relative;
    isolation: isolate;
}

.accueil-presentation-visuel::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 98%;
    top: 0%;
    right: -47%;
    background-image: url('/wp-content/uploads/artefacts-02-2.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: -1;
}

.accueil-presentation-visuel img {
    position: relative;
    z-index: 1;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DÉCORATION DOMAINES DE FORMATION
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.accueil-domaines-bloc {
    position: relative;
    isolation: isolate;
}

/* MOTIF DE POINTS */

.accueil-domaines-bloc::before {
    content: "";
    position: absolute;
    width: 230px;
    height: 230px;
    bottom: 35px;
    left: -35px;
    background-image: url('/wp-content/uploads/artefacts-04.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: -1;
}

/* FORME ROSE */

.accueil-domaines-bloc::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 175px;
    bottom: 0;
    left: 0;
    background-image: url('/wp-content/uploads/artefacts-03.svg');
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: contain;
    pointer-events: none;
    z-index: -1;
}

.site-header .wrap {
    position: relative;
}

/* Logo */
.title-area {
    width: 240px;
    flex: 0 0 240px;
}

/* Menu violet */
.top-header-menu {
    position: absolute;
    top: 0;
    right: 0;
    background: #352f87;
    border-radius: 0 0 12px 12px;
}

.top-header-menu ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.top-header-menu a {
    display: block;
    padding: 10px 28px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    line-height: 16px;
}

/* Menu principal */
.nav-primary {
    flex: 1;
    margin-top: 55px;
    background: transparent;
}

.nav-primary .genesis-nav-menu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 40px;
}

.nav-primary .genesis-nav-menu a {
    color: #352f87;
    text-decoration: none;
    padding: 15px 0;
    font-size: 17px;
}

.site-header .wrap,
.site-inner,
.footer-widgets .wrap,
.site-footer .wrap {
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

.wp-custom-logo .site-container .custom-logo-link{
	aspect-ratio: auto !important;
}

ul.top-menu li{
    display: flex;
    align-items: center;
    text-align: center;
    max-width: 190px
}

/* =====================================================
   FAIRE & SAVOIR - PAGE D'ACCUEIL
===================================================== */

/* STRUCTURE GENESIS */

.faire-savoir-accueil .site-inner {
    max-width: none;
    padding: 0;
}

.faire-savoir-accueil .content-sidebar-wrap {
    max-width: none;
}

.faire-savoir-accueil .content {
    float: none;
    width: 100%;
}

.faire-savoir-accueil .entry {
    margin: 0;
    padding: 0;
}

.faire-savoir-accueil .entry-content {
    margin: 0;
}

/* CONTENEUR PRINCIPAL */

.accueil-container {
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
}

/* =====================================================
   SECTION 1 - PRÉSENTATION
===================================================== */

.accueil-presentation {
    padding: 0px 0 80px;
    overflow-x: clip;
}

.accueil-presentation-grid {
    display: grid;
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
    align-items: center;
    gap: 40px;
}

.accueil-presentation-texte h1 {
    color: #343478;
    font-size: 42px;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 25px;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 600;
}

.accueil-presentation-texte h1 span {
    color: #e449b9;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 600;
}

.accueil-separateur {
    width: 90px;
    height: 5px;
    background: #4e813d;
    margin-bottom: 35px;
}

.accueil-presentation-texte p {
    font-size: 17px;
    line-height: 1.4;
    margin-bottom: 20px;
}

.accueil-presentation-visuel img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 35% 25% 45% 30%;
}

/* =====================================================
   SECTION 2 - FORMATIONS PAR PROFIL
===================================================== */

.accueil-profils {
    padding: 30px 0 80px;
}

.accueil-titre-section {
    text-align: center;
    text-transform: uppercase;
    font-size: 25px;
    color: #343478;
    margin-bottom: 40px;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 600;
}

.accueil-titre-section span {
    color: #e449b9;
}

.accueil-profils-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 35px;
}

.accueil-profil {
    position: relative;
    padding-bottom: 35px;
}

.accueil-profil-carte {
    position: relative;
    min-height: 310px;
    border-radius: 25px;
    overflow: hidden;
}

.accueil-profil-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accueil-profil-overlay {
    position: absolute;
    inset: 0;
    background: rgba(52, 52, 120, 0.85);
}

.accueil-profil-contenu {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 310px;
    padding: 20px;
    color: #fff;
}

.accueil-profil-icone {
    font-size: 45px;
    margin-bottom: 15px;
}

.accueil-profil h3 {
    color: #fff;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 15px;
}

.accueil-profil-separateur {
    width: 45px;
    height: 1px;
    background: #d4d45c;
    margin-bottom: 15px;
}

.accueil-profil p {
    color: #fff;
    font-size: 16px;
    line-height: 1.3;
    margin: 0;
}

.accueil-profil-bouton {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: #fff;
    color: #343478;
    font-size: 40px;
    text-decoration: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.accueil-profil-bouton:hover, .accueil-profil:hover .accueil-profil-bouton {
    background: #343478;
    color: #fff;
}

a.vignette-profil{
	text-decoration: none;
}

/* =====================================================
   SECTION 3 - DOMAINES DE FORMATION
===================================================== */

.accueil-domaines {
    padding-bottom: 60px;
}

.accueil-domaines-bloc {
    background: #fbedff;
    border-radius: 35px;
    padding: 50px 70px;
}

.accueil-domaines-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 45px;
    align-items: start;
}

.accueil-domaines-intro h2 {
    color: #343478;
    font-size: 28px;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 20px;
	font-family: 'Source Sans 3', sans-serif;
	font-weight: 600;
}

.accueil-domaines-intro h2 span {
    color: #4e813d;
}

.accueil-domaines-intro p {
    font-size: 16px;
    line-height: 1.4;
}

.accueil-domaine {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #222;
}

.accueil-domaine-visuel {
    position: relative;
    margin-top: 25px;
}

.accueil-domaine-visuel img {
    display: block;
    width: 100%;
    aspect-ratio: 1.4;
    object-fit: cover;
    border-radius: 15px;
    opacity: 0.9;
}

.accueil-domaine:hover .accueil-domaine-visuel img {
    opacity: 1;
}
.accueil-domaine:hover .accueil-domaine h3{
	color : #000;
}


.accueil-domaine-icone {
    position: absolute;
    top: -25px;
    left: -25px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    color: #fff;
    font-size: 35px;
}

.accueil-domaine h3 {
    font-size: 16px;
    font-weight: 400;
    margin-top: 12px;
}

/* COULEURS DES ICÔNES */

.icone-vert { background: #4e813d; }
.icone-bleu { background: #4d7bc2; }
.icone-violet { background: #b929d7; }
.icone-rose { background: #e449b9; }
.icone-jaune { background: #ffbe00; }
.icone-orange { background: #e67e35; }

/* =====================================================
   RESPONSIVE TABLETTE
===================================================== */

@media (max-width: 1024px) {

    .accueil-presentation-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 30px;
    }

    .accueil-presentation-texte h1 {
        font-size: 32px;
    }

    .accueil-profils-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px;
    }

    .accueil-domaines-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .accueil-domaines-bloc {
        padding: 40px;
    }

}

/* =====================================================
   RESPONSIVE MOBILE
===================================================== */

@media (max-width: 767px) {

    .accueil-container {
        width: 90%;
    }

    .accueil-presentation {
        padding: 40px 0;
    }

    .accueil-presentation-grid {
        grid-template-columns: 1fr;
    }

    .accueil-presentation-texte h1 {
        font-size: 30px;
    }

    .accueil-presentation-texte p {
        font-size: 16px;
    }

    .accueil-profils-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .accueil-titre-section {
        font-size: 22px;
    }

    .accueil-domaines-bloc {
        padding: 30px 20px;
    }

    .accueil-domaines-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px;
    }

    .accueil-domaines-intro {
        grid-column: 1 / -1;
    }

    .accueil-domaine-icone {
        width: 45px;
        height: 45px;
        font-size: 25px;
        top: -15px;
        left: -10px;
    }

    .accueil-domaine h3 {
        font-size: 14px;
    }

}

.accueil-profil .accueil-profil-icone img{
	width: 75px;
}

.accueil-domaine-icone img{
	width: 80px;
	object-fit: none;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FOOTER FAIRE & SAVOIR
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/* STRUCTURE GENESIS */

.site-footer {
    background: #fff;
    border: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.site-footer .wrap {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* CONTENU PRINCIPAL */

.footer-principal {
    background: #fff;
}

.footer-container {
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 65px 0 45px;
    border-top: 1px solid #343478;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.15fr 1.25fr;
    gap: 40px;
    align-items: start;
}

/* LOGO ET RÉSEAUX SOCIAUX */

.footer-identite {
    display: flex;
    align-items: center;
    gap: 70px;
}

.footer-logo {
    flex: 0 0 145px;
}

.footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.footer-reseaux h3 {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    color: #343478;
    margin: 0 0 15px;
    white-space: nowrap;
}

.footer-reseaux-liens {
    display: flex;
    gap: 10px;
}

.footer-social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.footer-social img {
    display: block;
    width: 35px;
    height: 35px;
}

.footer-social:hover {
    transform: translateY(-3px);
}

/* COLONNES DE LIENS */

.footer-liens ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-liens li {
    margin-bottom: 25px;
    padding: 0;
    list-style: none;
}

.footer-liens a {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #343478;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-liens a:hover {
    color: #e449b9;
}

/* CERTIFICATION QUALIOPI */

.footer-certification {
    text-align: left;
    margin-top: -18px;
}

.footer-certification img {
    display: block;
    width: 100%;
    max-width: 280px;
    height: auto;
}

.footer-certification p {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
    color: #111;
    margin: 0;
}

/* BANDEAU INFÉRIEUR */

.footer-bottom {
    background: #343478;
    color: #fff;
    padding: 28px 20px;
    text-align: center;
}

.footer-bottom-container {
    max-width: 1200px;
    margin: 0 auto;
}

.footer-bottom p {
    font-family: 'Glacial Indifference', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: #fff;
    margin: 0 0 8px;
}

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

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
RESPONSIVE TABLETTE
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

@media (max-width: 1100px) {

    .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }

    .footer-identite {
        justify-content: flex-start;
    }

    .footer-certification img {
        max-width: 250px;
    }

}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
RESPONSIVE MOBILE
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

@media (max-width: 767px) {

    .footer-container {
        width: 90%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 35px 20px;
        padding: 40px 0;
    }

    .footer-identite {
        grid-column: 1 / -1;
        flex-wrap: wrap;
        gap: 25px;
    }

    .footer-logo {
        flex: 0 0 130px;
    }

    .footer-reseaux h3 {
        font-size: 14px;
    }

    .footer-liens li {
        margin-bottom: 18px;
    }

    .footer-liens a {
        font-size: 14px;
    }

    .footer-certification {
        grid-column: 1 / -1;
    }

    .footer-certification img {
        max-width: 230px;
    }

    .footer-bottom {
        padding: 25px 15px;
    }

    .footer-bottom p {
        font-size: 11px;
        line-height: 1.5;
    }

}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
RESPONSIVE - ÉLÉMENTS DÉCORATIFS
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

@media (max-width: 1024px) {
    .accueil-presentation-visuel::before {
        width: 90%;
        height: 105%;
        right: -5%;
    }

}

@media (max-width: 767px) {

    .accueil-presentation-visuel::before {
        width: 85%;
        height: 105%;
        top: 5%;
        right: -5%;
    }

    .accueil-domaines-bloc::before {
        width: 140px;
        height: 140px;
        left: -15px;
        bottom: 20px;
    }

    .accueil-domaines-bloc::after {
        width: 110px;
        height: 110px;
        bottom: 0;
        left: 0;
    }

}

/* HEADER AU-DESSUS DE LA PAGE D'ACCUEIL */

.site-container {
    position: relative;
}

.site-header {
    position: relative !important;
    z-index: 9999 !important;
    overflow: visible !important;
}

.site-header .wrap {
    overflow: visible !important;
}

.site-inner {
    position: relative;
    z-index: 0 !important;
}

/* MENU DÉROULANT */

.nav-primary {
    position: relative;
    z-index: 100;
}

.nav-primary .genesis-nav-menu .sub-menu {
    position: absolute;
    z-index: 9999 !important;
    background-color: rgba(255,255,255,0.7);
    opacity: 1;
}

.nav-primary .genesis-nav-menu a span{
	margin-left: 3px;
}

/*++++++++++++++++++++++++++++++
CSS Barre de recherche
+++++++++++++++++++++++++++++++*/

.header-search {
    position: absolute;
	top: 6px;
	right: 585px;
	width: 285px;
}

.faire-savoir-search-form {
    position: relative;
    width: 100%;
}

.faire-savoir-search-form .search-field {
    width: 100%;
    height: 42px;
    padding: 0 45px 0 52px;

    border: 2px solid #aaa6d6;
    border-radius: 25px;

    background: #fff;
    color: #33298d;

    font-size: 16px;
    outline: none;

    transition: border-color .2s ease,
                box-shadow .2s ease;
}

.faire-savoir-search-form .search-field:focus {
    border-color: #33298d;
    box-shadow: 0 0 0 2px rgba(51, 41, 141, .08);
}

.faire-savoir-search-form .search-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    width: 14px;
    height: 14px;
    border: 2px solid #8d88c7;
    border-radius: 50%;
    transform: translateY(-60%);
    pointer-events: none;
}

.faire-savoir-search-form .search-icon::after {
    content: "";
    position: absolute;
    width: 3px;
    height: 9px;
    background: #8d88c7;
    right: -4px;
    bottom: -7px;
    transform: rotate(-45deg);
    transform-origin: left center;
}

/* =========================================================
   HEADER STICKY
   ========================================================= */

@media only screen and (min-width: 960px) {

	.site-header.is-sticky {
		position: fixed !important;
		top: 0 !important;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 99999;
		background: rgba(255, 255, 255, 0.95) !important;
		box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
		height: 120px;
	}

	.admin-bar .site-header.is-sticky {
		top: 32px !important;
	}
}

.site-header.is-sticky .title-area::before, .site-header.is-sticky .header-search,.site-header.is-sticky .top-header-menu{
	display: none;
}


.site-header.is-sticky img.custom-logo{
	width: 120px;
}

.site-header.is-sticky .nav-primary{
	margin-top: 25px;
}

/* Apparition du header sticky en descendant */
@keyframes apparition-header-sticky {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media only screen and (min-width: 960px) {
    .site-header.is-sticky {
        animation: apparition-header-sticky 0.4s ease-out;
    }
}

/* Respect de la préférence de réduction des animations */
@media (prefers-reduced-motion: reduce) {
    .site-header.is-sticky {
        animation: none;
    }
}

/* =====================================================
   FAIRE & SAVOIR — PAGE IAE / ESS
   Visuels à placer dans /wp-content/uploads/.
===================================================== */
.faire-savoir-iae-ess .site-inner { max-width: none; padding: 0; top: -20px;}
.faire-savoir-iae-ess .content-sidebar-wrap { max-width: none; }
.faire-savoir-iae-ess .content { float: none; width: 100%; }
.faire-savoir-iae-ess .entry { margin: 0; padding: 0; background: transparent; }
.faire-savoir-iae-ess .entry-content { margin: 0; }
.iae-ess { color: #352f87; overflow: hidden; }
.iae-ess-container { width: 88%; max-width: 1400px; margin: 0 auto; }
.iae-ess-intro { position: relative; padding: 125px 0 35px; isolation: isolate; }
.iae-ess-intro::before { content: ""; position: absolute; z-index: -1; width: 540px; height: 500px; right: -10px; top: 0; background: url('/wp-content/uploads/bulle-verte.svg') no-repeat top right / contain; }
.iae-ess-intro::after { content: ""; position: absolute; z-index: -1; width: 225px; height: 225px; right: 20%; top: 40px; background: url('/wp-content/uploads/carre-vert-dot.svg') no-repeat center / contain; transform: rotate(-32deg); }
.iae-ess-intro h2 { position: relative; max-width: 850px; margin: 0; font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif; font-size: 24px; font-weight: 500; line-height: 1.3; text-transform: uppercase; }
.iae-ess-intro h2 span { color: #b72bdc; }
.iae-ess-banniere { position: relative; height: 290px; overflow: hidden; background: #c4bbb8; isolation: isolate; }
.iae-ess-photo { position: absolute; width: 48%; height: 100%; left: 26%; object-fit: cover; object-position: center; }
.iae-ess-voile { position: absolute; inset: 0;     background: rgba(53, 47, 135, 0.2) ; pointer-events: none; }
.iae-ess-identite { position: absolute; top: 0; left: 0; width: 26%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; }
.iae-ess-identite > img { width: 110px; height: 100px; object-fit: contain; }
.iae-ess-identite h1 { margin: 22px 0 24px; font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif; font-size: 40px; font-weight: 400; color: #fff; line-height: 1; text-align: center; }
.iae-ess-trait-jaune { display: block; width: 74px; height: 3px; background: #edc01b; }
.iae-ess-points { position: absolute; width: 170px; height: 170px; object-fit: contain; top: 60px; right: 6%; }
.iae-ess-description { padding: 26px 0 38px; }
.iae-ess-description p { max-width: 870px; margin: 0 0 30px; font-size: 18px; line-height: 1.25; }
.iae-ess-trait-violet { display: block; width: 125px; height: 6px; background: #b72bdc; }
.iae-ess-domaines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 45px; padding: 68px 8% 30px; margin-bottom: 40px; background: #f8eafa; border-radius: 32px; }
.iae-ess-domaine { display: flex; flex-direction: column; align-items: center; color: #222; text-decoration: none; text-align: center; }
.iae-ess-domaine-visuel { position: relative; width: 190px; max-width: 100%; height: 142px; border-radius: 14px; background: #d6cadb; }
.iae-ess-domaine-photo { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.iae-ess-domaine-icone { position: absolute; top: -26px; left: -22px; display: grid; place-items: center; width: 67px; height: 67px; border-radius: 50%; background: #b72bdc; }
.iae-ess-domaine-icone img { width: 46px; height: 46px; object-fit: contain; }
.iae-ess-domaine h2, .iae-ess-domaine p { margin: 12px 0 0; font-family: 'Glacial Indifference', sans-serif; font-size: 16px; line-height: 1.3; font-weight: 400; color: inherit; }
.iae-ess-domaine-attente .iae-ess-domaine-icone { background: #807c7c; }
a.iae-ess-domaine:hover { color: #352f87; }
a.iae-ess-domaine:focus-visible { outline: 3px solid #352f87; outline-offset: 8px; border-radius: 8px; }
.iae-ess-contenu-editorial:empty { display: none; }
@media (max-width: 1024px) {
    .iae-ess-intro { padding-top: 85px; }
    .iae-ess-intro h2 { max-width: 75%; font-size: 22px; }
    .iae-ess-domaines { gap: 30px; padding-left: 5%; padding-right: 5%; }
    .iae-ess-domaine-visuel { width: 165px; }
    .iae-ess-points { width: 120px; right: 4%; }
}
@media (max-width: 767px) {
    .iae-ess-container { width: 90%; }
    .iae-ess-intro { padding: 45px 0 30px; }
    .iae-ess-intro h2 { max-width: 100%; font-size: 20px; }
    .iae-ess-intro h2 br { display: none; }
    .iae-ess-intro::before { width: 260px; height: 240px; opacity: .45; }
    .iae-ess-intro::after { display: none; }
    .iae-ess-banniere { height: 250px; }
    .iae-ess-photo { left: 38%; width: 62%; }
    .iae-ess-identite { width: 38%; }
    .iae-ess-identite > img { width: 76px; height: 76px; }
    .iae-ess-identite h1 { font-size: 30px; }
    .iae-ess-points { display: none; }
    .iae-ess-description p { font-size: 17px; line-height: 1.45; }
    .iae-ess-domaines { grid-template-columns: 1fr; gap: 58px; padding: 58px 30px 30px; border-radius: 24px; }
    .iae-ess-domaine-visuel { width: 220px; height: 165px; }
}

/* Bandeau IAE/ESS — écrans à partir de 1024 px */
@media (min-width: 1024px) {
    .iae-ess-banniere {
        height: auto;
        aspect-ratio: 1368 / 288;
    }

    .iae-ess-photo {
        inset: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: center;
    }

    .iae-ess-voile {
        inset: 0;
        background: rgba(53, 47, 135, 0.3);
    }

    .iae-ess-identite {
        left: 0;
        width: 26.2%;
        height: 100%;
    }

    .iae-ess-points {
        top: 50%;
        right: 6%;
        width: 12.4%;
        height: auto;
        transform: translateY(-50%);
    }
}

.iae-ess-intro h2 span.rose{
	color: #fd5de6;
}

.iae-ess-trait-rose{
    display: block;
    width: 125px;
    height: 6px;
    background: #fd5de6;
}

.iae-ess-intro h2 span.orange{
	color: #ea7c30;
}

.iae-ess-trait-orange{
    display: block;
    width: 125px;
    height: 6px;
    background: #ea7c30;
}

.iae-ess-intro h2 span.vert{
	color: #5a8439;
}

.iae-ess-trait-vert{
    display: block;
    width: 125px;
    height: 6px;
    background: #5a8439;
}

/*+++++++++++++++++++++++++++++++++
Page Modalité Accès aux Formations
++++++++++++++++++++++++++++++++++*/

.faq-accueil .modalites-faq { width: 88%; max-width: 1400px; margin: 0 auto; padding: 30px 0; }
.modalites-faq .modalites-faq-item { margin: 0 0 26px; border: 0; }
.modalites-faq .modalites-faq-item:last-child { margin-bottom: 0; }
.modalites-faq summary {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    cursor: pointer;
    color: #352f87;
    text-decoration: none;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
}
.modalites-faq summary span {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.modalites-faq summary::-webkit-details-marker { display: none; }
.modalites-faq summary::before {
    content: "";
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
}
.modalites-faq details[open] > summary::before {
    content: "";
    transform: rotate(45deg);
}
.modalites-faq summary:focus-visible { outline: 2px solid #352f87; outline-offset: 5px; }
.modalites-faq .modalites-faq-reponse { margin-top: 12px; padding: 14px 16px; background: #d8d5e6; color: #111; font-size: 20px; line-height: 1.3; border-radius: 12px;}
.modalites-faq .modalites-faq-reponse p { margin: 0 0 24px; }
.modalites-faq .modalites-faq-reponse p:last-child { margin-bottom: 0; }
.modalites-faq .modalites-faq-reponse ul { margin: 0; padding-left: 16px; list-style: disc; }
.modalites-faq .modalites-faq-reponse li { margin: 0; }
.modalites-faq .modalites-faq-reponse a { color: #ef48ea; text-decoration: underline; }
@media (max-width: 767px) {
    .faq-accueil .modalites-faq { width: 90%; }
    .modalites-faq summary, .modalites-faq .modalites-faq-reponse { font-size: 17px; }
}


/*+++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++
CSS Responsive perso
+++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++*/
@media (max-width: 1240px) {
    .site-header .title-area::before{
    	display: none;
    }
    .wp-custom-logo .title-area img{
    	margin-left: 0px;
    	width: 140px;
    }
    .wp-custom-logo .title-area{
    	max-width: auto;
    	width: auto;
    }
    .nav-primary .genesis-nav-menu{
    	gap: 30px;
    }

}


/* FAIRE & SAVOIR — QUI SOMMES-NOUS */
.faire-savoir-presentation .site-inner { max-width: none; width: 100%; padding: 0; }
.faire-savoir-presentation .content-sidebar-wrap { max-width: none; }
.faire-savoir-presentation .content { width: 100%; float: none; }
.faire-savoir-presentation .entry { padding: 0; margin: 0; background: transparent; }
.faire-savoir-presentation .entry-content { margin: 0; }
.presentation-page { font-family: "Glacial Indifference", sans-serif; color: #222; }
.presentation-container { width: 90%; max-width: 1400px; margin: 0 auto; padding: 35px 0 60px; }
.presentation-ligne { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 65px; align-items: center; margin-bottom: 65px; }
.presentation-texte { min-width: 0; }
.presentation-titre { position: relative; color: #352f87; font-family: 'Source Sans 3', sans-serif; font-size: 36px; line-height: 1.2; font-weight: 500; text-transform: uppercase; margin: 0 0 45px; padding-bottom: 12px; }
.presentation-titre::after { content: ""; position: absolute; left: 0; bottom: 0; width: 120px; height: 5px; background: #b72bdc; }
.presentation-texte p { font-size: 20px; line-height: 1.35; margin: 0; }
.presentation-visuel { position: relative; display: grid; place-items: center; isolation: isolate; aspect-ratio: 1.1; }
.presentation-page img { display: block; max-width: 100%; height: auto; }
.presentation-bulle { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: contain; z-index: -1; }
.presentation-photo { width: 94%; object-fit: contain; }
.presentation-ligne-inversee .presentation-photo { align-self: end; margin-bottom: 4%; }
.presentation-chiffres .presentation-ligne { margin-bottom: 0; }
.presentation-sous-titre { color: #352f87; font-family: inherit; font-weight: 400; text-transform: uppercase; font-size: 27px; line-height: 1.35; margin: 0 0 20px; }
.presentation-sous-titre span { color: #fa40e8; }
.presentation-chiffres .presentation-texte p { font-size: 16px; max-width: 340px; }
.presentation-statistiques { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 22px; padding: 30px 40px; background: #fff; border-radius: 24px; box-shadow: 0 0 9px #0003; margin: 25px 0 95px; }
.presentation-stat { display: flex; flex-direction: column; align-items: center; text-align: center; }
.presentation-stat-icone { width: 110px; margin-bottom: 15px; }
.presentation-stat strong { color: #352f87; font-size: 44px; line-height: 1.15; }
.presentation-stat span { font-size: 15px; line-height: 1.15; max-width: 170px; }
.presentation-temoignages { margin-bottom: 90px; }
.presentation-temoignages .presentation-sous-titre { font-size: 24px; margin-bottom: 45px; }
.presentation-temoignages-grille { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 65px; padding: 45px 9%; background: #f8eafa; border-radius: 28px; }
.presentation-temoignage { margin: 0; padding: 25px; background: white; }
.presentation-quote { width: 40px; margin-bottom: 22px; }
.presentation-temoignage blockquote { margin: 0; padding: 0; border: 0; font-style: normal; }
.presentation-temoignage blockquote::before { content: none; }
.presentation-temoignage p { font-size: 16px; line-height: 1.3; margin: 0 0 35px; }
.presentation-temoignage figcaption { font-size: 14px; line-height: 1.3; }
.presentation-partenariats { grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 55px; margin-bottom: 0; }
.presentation-partenariats-visuel { position: relative; aspect-ratio: 1.24; }
.presentation-partenariats-bulle { width: 100%; height: 100% !important; object-fit: contain; }
.presentation-partenariats-dots { position: absolute; left: 0; top: 8%; width: 45%; }
.presentation-editorial:empty { display: none; }
@media (max-width: 1023px) {
 .presentation-ligne { gap: 30px; margin-bottom: 45px; }
 .presentation-titre { font-size: 28px; margin-bottom: 28px; }
 .presentation-texte p { font-size: 17px; }
 .presentation-statistiques { gap: 12px; padding: 25px 18px; margin-top: 0; }
 .presentation-stat strong { font-size: 32px; }
 .presentation-stat span { font-size: 13px; }
 .presentation-temoignages-grille { gap: 22px; padding: 30px; }
 .presentation-temoignage { padding: 18px; }
}
@media (max-width: 767px) {
 .presentation-container { padding-top: 20px; }
 .presentation-ligne, .presentation-partenariats { grid-template-columns: minmax(0,1fr); gap: 30px; }
 .presentation-ligne-inversee .presentation-texte { grid-row: 1; }
 .presentation-visuel { width: 100%; max-width: 480px; margin: auto; }
 .presentation-statistiques { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 18px; margin-bottom: 55px; }
 .presentation-stat:last-child { grid-column: 1 / -1; }
 .presentation-stat-icone { width: 85px; }
 .presentation-temoignages-grille { grid-template-columns: minmax(0,1fr); }
 .presentation-temoignages { margin-bottom: 55px; }
 .presentation-partenariats-visuel { width: 100%; max-width: 360px; margin: auto; }
}

/* FAIRE & SAVOIR — PAGE CONTACT */
.faire-savoir-contact .site-inner { max-width: none; width: 100%; padding: 0; }
.faire-savoir-contact .content-sidebar-wrap { max-width: none; }
.faire-savoir-contact .content { width: 100%; float: none; }
.faire-savoir-contact .entry { padding: 0; margin: 0; background: transparent; }
.faire-savoir-contact .entry-content { margin: 0; }
.contact-page { font-family: "Glacial Indifference", sans-serif; color: #111; }
.contact-container { width: 90%; max-width: 1200px; margin: 0 auto; padding: 45px 0 80px; }
.contact-grille { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,1fr); gap: 9%; align-items: start; }
.contact-coordonnees h1, .contact-reseaux h2 { color: #352f87; font-size: 36px; font-weight: 400; line-height: 1.2; text-transform: uppercase; margin: 0 0 25px; font-family: 'Source Sans 3', sans-serif; font-weight: 500; }
.contact-coordonnees h1{
    position: relative;
    padding-bottom: 12px;
}
.contact-coordonnees h1::after{content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 5px;
    background: #b72bdc;}
.contact-info { margin-bottom: 28px; }
.contact-info h2 { color: #352f87; font-family: inherit; font-weight: 400; font-size: 20px; line-height: 1.3; margin: 0; }
.contact-info a { color: #b72bdc; font-size: 20px; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
.contact-info a:hover { text-decoration: underline; }
.contact-carte { aspect-ratio: 690 / 490; background: #f8eafa; }
.contact-carte iframe { display: block; width: 100%; height: 100%; border: 0; }
.contact-carte-attente { display: grid; place-content: center; height: 100%; padding: 25px; margin: 0; color: #352f87; text-align: center; }
.contact-adresse { font-size: 16px; margin: 12px 0 0; }
.contact-formulaire .wpcf7 form { margin: 0; }
.contact-formulaire .contact-champ { margin-bottom: 0px; }
.contact-formulaire .contact-champ p{margin-bottom: 0px !important;}
.contact-formulaire label { display: block; font-size: 18px; font-weight: 400; line-height: 1.3; }
.contact-formulaire .wpcf7-form-control-wrap { display: block; margin-top: 4px; }
.contact-formulaire input[type="text"], .contact-formulaire input[type="email"], .contact-formulaire textarea { display: block; width: 100%; max-width: 100%; border: 0; border-radius: 8px; background: #d8d5e6; color: #111; font: inherit; padding: 12px 16px; box-sizing: border-box; font-size: 16px;}
.contact-formulaire input[type="text"], .contact-formulaire input[type="email"] { min-height: 56px; }
.contact-formulaire textarea { height: 380px; min-height: 180px; resize: vertical; }
.contact-formulaire .wpcf7-submit { border: 0; border-radius: 4px; background: #352f87; color: #fff; padding: 12px 30px; font: inherit; cursor: pointer; }
.contact-formulaire .wpcf7-submit:hover { background: #b72bdc; }
.contact-formulaire .contact-confidentialite { font-size: 14px; line-height: 1.4; margin: 12px 0 20px; display: none;}
.contact-formulaire .wpcf7-not-valid-tip { font-size: 15px; }
.contact-formulaire .wpcf7-response-output { margin: 20px 0; font-size: 16px; }
.contact-reseaux { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; margin-top: 80px; }
.contact-reseaux h2 { margin: 0; font-size: 25px; }
.contact-reseaux-liens { display: flex; gap: 15px; }
.contact-reseaux img { display: block; width: 38px; height: 38px; object-fit: contain; }
.contact-editorial:empty { display: none; }
@media (max-width: 1023px) {
 .contact-grille { gap: 5%; }
 .contact-info a, .contact-info h2, .contact-formulaire label { font-size: 20px; }
 .contact-reseaux { gap: 25px; }
 .contact-reseaux h2 { font-size: 28px; }
}
@media (max-width: 767px) {
 .contact-container { padding: 25px 0 50px; }
 .contact-grille { grid-template-columns: minmax(0,1fr); gap: 40px; }
 .contact-formulaire textarea { height: 240px; }
 .contact-coordonnees h1 { font-size: 30px; }
}

/* Items principaux du menu uniquement */
.nav-primary .genesis-nav-menu > .menu-item > a {
    position: relative;
}

/* Trait masqué au repos */
.nav-primary .genesis-nav-menu > .menu-item > a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #b72bdc;

    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s ease;
    pointer-events: none;
}

/* Apparition au survol et à la navigation clavier */
.nav-primary .genesis-nav-menu > .menu-item > a:hover::after,
.nav-primary .genesis-nav-menu > .menu-item > a:focus-visible::after {
    transform: scaleX(1);
}

/*******************
Items secondaires
********************/

/* Conteneur du sous-menu */
.nav-primary .genesis-nav-menu .sub-menu {
    background: #fff;
    border: 0;
    border-radius: 0 0 8px 8px;
    padding: 10px 0;
    box-shadow: 0 8px 20px rgba(53, 47, 135, 0.12);
}

/* Liens secondaires */
.nav-primary .genesis-nav-menu .sub-menu a {
    display: block;
    width: 100%;
    padding: 12px 20px;
    border: 0;
    background: transparent;
    color: #352f87;
    font-size: 16px;
    line-height: 1.4;
    text-align: left;
    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        padding-left 0.25s ease;
}

/* Survol et navigation clavier */
.nav-primary .genesis-nav-menu .sub-menu a:hover,
.nav-primary .genesis-nav-menu .sub-menu a:focus-visible {
    background: #f8eafa;
    color: #b72bdc;
    padding-left: 26px;
}

/* Page actuellement consultée */
.nav-primary .genesis-nav-menu .sub-menu .current-menu-item > a {
    background: #f8eafa;
    color: #b72bdc;
}

/* Supprimer les marges sur les côtés */
.nav-primary .genesis-nav-menu .sub-menu {
    padding-left: 0;
    padding-right: 0;
}

/* Étendre chaque item et son lien à toute la largeur */
.nav-primary .genesis-nav-menu .sub-menu > li,
.nav-primary .genesis-nav-menu .sub-menu > li > a {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

/* Fond rose sur toute la largeur */
.nav-primary .genesis-nav-menu .sub-menu > li > a:hover,
.nav-primary .genesis-nav-menu .sub-menu > li > a:focus-visible {
    background-color: #f8eafa;
}

.nav-primary .genesis-nav-menu .sub-menu a,
.nav-primary .genesis-nav-menu .sub-menu a:hover,
.nav-primary .genesis-nav-menu .sub-menu a:focus-visible {
    padding-left: 20px;
    padding-right: 20px;
}

/* =====================================================
   FAIRE & SAVOIR — ACTUALITÉS ET ARTICLES
===================================================== */
.fs-blog .site-inner { width: 100%; max-width: none; padding: 0; }
.fs-blog .content-sidebar-wrap { max-width: none; }
.fs-blog .content { width: 100%; float: none; }
.fs-blog-container { width: 90%; max-width: 1400px; margin: 0 auto; padding: 45px 0 80px; font-family: "Glacial Indifference", sans-serif; color: #252332; }
.fs-blog-introduction { margin-bottom: 55px; margin-top: 50px;}
.fs-blog-introduction h1 {position: relative;
    color: #352f87;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0 0 45px;
    padding-bottom: 15px;}
.fs-blog-introduction h1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 5px;
    background: #b72bdc;
}
.fs-blog-introduction p { margin: 0 0 25px; font-size: 18px; line-height: 20px; }
.fs-blog-introduction p:last-child { margin-bottom: 0; }
.fs-blog-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.fs-blog .fs-blog-carte { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 12px; border: 1px solid #e7e5ee; border-radius: 12px; background: #fff; box-shadow: none; }
.fs-blog-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: #d8d5e6; }
.fs-blog-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.fs-blog-image:hover img { transform: scale(1.035); }
.fs-blog-image-attente { display: grid; place-items: center; width: 100%; height: 100%; color: #352f87; font-size: 25px; }
.fs-blog-carte-contenu { display: flex; flex-direction: column; flex: 1; padding: 18px 8px 12px; }
.fs-blog-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.fs-blog-meta a.fs-blog-categorie { display: inline-block; padding: 6px 14px; border-radius: 20px; background: #f8eafa; color: #9b17c2; font-size: 13px; line-height: 1.3; text-decoration: none; text-transform: uppercase; }
.fs-blog-meta a.fs-blog-categorie:hover { background: #eed5f5; }
.fs-blog-meta time { margin-left: auto; color: #706b85; font-size: 14px; }
.fs-blog .fs-blog-carte h2 { margin: 0 0 16px; font-family: inherit; font-size: 24px; font-weight: 700; line-height: 1.25; }
.fs-blog-carte h2 a { color: #352f87; text-decoration: none; }
.fs-blog-carte h2 a:hover { color: #b72bdc; }
.fs-blog-extrait { margin: 0 0 25px; font-size: 18px; line-height: 1.4; }
.fs-blog-lire { align-self: flex-start; margin-top: auto; color: #ac19cf; font-size: 18px; text-decoration: none; }
.fs-blog-lire:hover { text-decoration: underline; }
.fs-blog-container a:focus-visible { outline: 2px solid #352f87 !important; outline-offset: 4px; }
.fs-blog-pagination { margin-top: 45px; text-align: center; }
.fs-blog-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.fs-blog-pagination .page-numbers { display: inline-block; padding: 9px 15px; border-radius: 5px; background: #f8eafa; color: #352f87; text-decoration: none; }
.fs-blog-pagination .current, .fs-blog-pagination a:hover { background: #352f87; color: #fff; }
.fs-blog-retour { display: inline-block; margin-bottom: 30px; color: #352f87; text-decoration: none; }
.fs-blog-retour:hover { color: #b72bdc; text-decoration: underline; }
.fs-blog-lecture { max-width: 1000px; }
.fs-blog .fs-blog-article { padding: 0; margin: 0 0 45px; background: transparent; }
.fs-blog-article-entete h1 { margin: 0 0 35px; color: #352f87; font-family: inherit; font-size: 32px; font-weight: 700; line-height: 1.2; }
.fs-blog-article-image { margin: 0 0 40px; }
.fs-blog-article-image img { display: block; width: 100%; height: auto; border-radius: 10px; }
.fs-blog-article-texte { font-size: 20px; line-height: 1.65; overflow-wrap: anywhere; }
.fs-blog-article-texte h2, .fs-blog-article-texte h3 { color: #352f87; font-family: inherit; line-height: 1.3; }
.fs-blog-article-texte h2 { font-size: 30px; margin-top: 35px; }
.fs-blog-article-texte h3 { font-size: 25px; }
.fs-blog-article-texte img { max-width: 100%; height: auto; }
.fs-blog-article-texte a, .fs-blog-etiquettes a { color: #a421c6; }
.fs-blog-etiquettes { margin-top: 30px; font-size: 16px; }
.fs-blog-lecture .post-navigation { border-top: 1px solid #e7e5ee; padding-top: 25px; }
.fs-blog-lecture .post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.fs-blog-lecture .post-navigation .nav-next { grid-column: 2; text-align: right; }
.fs-blog-lecture .post-navigation a { color: #352f87; text-decoration: none; }
.fs-blog-lecture .post-navigation span, .fs-blog-lecture .post-navigation strong { display: block; }
.fs-blog-lecture .post-navigation span { margin-bottom: 8px; font-size: 14px; color: #706b85; }
.fs-blog-lecture .post-navigation strong { font-size: 18px; line-height: 1.3; }
@media (max-width: 1023px) {
    .fs-blog-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 767px) {
    .fs-blog-container { padding-top: 25px; padding-bottom: 50px; }
    .fs-blog-grille { grid-template-columns: minmax(0, 1fr); }
    .fs-blog-introduction { margin-bottom: 30px; }
    .fs-blog-introduction p { font-size: 18px; }
    .fs-blog .fs-blog-carte h2 { font-size: 23px; }
    .fs-blog-article-texte { font-size: 18px; }
    .fs-blog-lecture .post-navigation .nav-links { grid-template-columns: minmax(0, 1fr); }
    .fs-blog-lecture .post-navigation .nav-next { grid-column: auto; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
    .fs-blog-image img { transition: none; }
    .fs-blog-image:hover img { transform: none; }
}






/* CONFORT DE LECTURE */
.fs-confort[hidden], #fs-confort-panneau[hidden] { display: none !important; }
.fs-confort { position: fixed; right: 20px; bottom: 20px; z-index: 100000; font: 16px/1.5 Arial, sans-serif; color: #252332; }
.fs-confort button { min-height: 44px; padding: 10px 16px; border: 1px solid #352f87; border-radius: 6px; background: #352f87; color: white; font: inherit; text-transform: none; cursor: pointer; letter-spacing: normal; }
#fs-confort-panneau { position: absolute; bottom: calc(100% + 12px); right: 0; width: 320px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 100px); overflow-y: auto; padding: 20px; border: 2px solid #352f87; border-radius: 10px; background: white; box-shadow: 0 5px 30px #0003; }
.fs-confort-entete { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 15px; }
.fs-confort h2 { font: bold 19px/1.3 Arial, sans-serif; color: #352f87; margin: 0; }
#fs-confort-fermer { padding: 0; min-width: 44px; font-size: 26px; }
.fs-confort label { font: inherit; color: inherit; }
.fs-confort select { width: 100%; padding: 10px; margin: 8px 0 15px; border: 1px solid #352f87; background: white; color: #252332; font: inherit; }
.fs-confort-option { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.fs-confort input[type="checkbox"] { appearance: auto; width: 20px; height: 20px; margin: 0; flex-shrink: 0; }
.fs-confort p { font: 13px/1.5 Arial, sans-serif; margin: 15px 0 0; }
#fs-confort-reset { margin-top: 15px; }
/* Rétablir le repère clavier malgré les anciennes suppressions globales. */
html body :focus-visible { outline: 3px solid #352f87 !important; outline-offset: 4px !important; }
html.fs-interligne .site-inner :is(p, li, label, summary, blockquote, figcaption) { line-height: 1.8 !important; }
html.fs-texte-agrandi .site-inner :is(p, li, h1, h2, h3, h4, h5, h6, label, summary) { line-height: 1.5 !important; overflow-wrap: anywhere; }
html.fs-texte-agrandi .site-inner :is(input,select,button) { height: auto !important; min-height: 44px; }
html.fs-contraste body, html.fs-contraste .site-container, html.fs-contraste .site-container :where(div,section,article,header,footer,nav,aside,main,ul,ol,li,p,h1,h2,h3,h4,h5,h6,span,strong,small,label,summary,details,figure,figcaption,blockquote,table,td,th) { background-color: #111 !important; background-image: none !important; color: #fff !important; }
html.fs-contraste .site-container a { color: #ffe66d !important; text-decoration: underline !important; }
html.fs-contraste .site-container :is(input,textarea,select,button) { background: #111 !important; color: #fff !important; border: 2px solid #fff !important; }
html.fs-contraste body :focus-visible { outline-color: #ffbf47 !important; }
html.fs-contraste .site-container :is(p,span,h1,h2,h3,h4,h5,h6) { text-shadow: none !important; }
@media (max-width: 767px) {
    .fs-confort { right: 12px; bottom: 12px; }
    #fs-confort-ouvrir { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-container *, .site-container *::before, .site-container *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* FAIRE & SAVOIR — MENTIONS LÉGALES */
.fs-mentions-legales .site-inner { width: 100%; max-width: none; padding: 0; }
.fs-mentions-legales .content-sidebar-wrap { max-width: none; }
.fs-mentions-legales .content { width: 100%; float: none; }
.fs-mentions-legales .entry { padding: 0; margin: 0; background: transparent; }
.fs-legal-page { width: 90%; max-width: 1100px; margin: 0 auto; padding: 45px 0 75px; color: #292536; font-family: "Glacial Indifference", sans-serif; font-size: 17px; line-height: 1.6; }
.fs-legal-surtitre { color: #352f87; font-size: 16px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 12px; }
.fs-legal-entete h1 { position: relative;
    padding-bottom: 18px;
    font-weight: 400;
    line-height: 1.2;
    color: #352f87;
    font-size: 36px;
    text-transform: uppercase;
    margin: 0 0 25px;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 500;}
.fs-legal-entete{
	margin-bottom: 40px;
}
.fs-legal-entete h1::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100px; height: 4px; background: #b72bdc; }
.fs-legal-entete > p:last-child { margin: 0; }
.fs-legal-sommaire { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 20px 24px; margin: 30px 0 40px; border-radius: 12px; background: #f8eafa; }
.fs-legal-page a { color: #752294; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.fs-legal-page a:hover { color: #352f87; }
html body .fs-legal-page a:focus-visible { outline: 3px solid #352f87 !important; outline-offset: 4px; }
.fs-legal-section { margin: 0 0 36px; padding: 0 0 30px; border-bottom: 1px solid #e5deec; scroll-margin-top: 175px; }
.fs-legal-section h2 { margin: 0 0 22px; color: #352f87; font-family: inherit; font-size: 27px; line-height: 1.3; font-weight: 700; }
.fs-legal-section p { margin: 18px 0 0; }
.fs-legal-informations { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0,2fr); gap: 12px 25px; padding: 24px; margin: 0; background: #f6f4f9; border-radius: 12px; }
.fs-legal-informations dt { color: #352f87; font-weight: 700; }
.fs-legal-informations dd { margin: 0; overflow-wrap: anywhere; }
.fs-legal-editorial:empty { display: none; }
@media (max-width: 767px) {
    .fs-legal-page { padding: 25px 0 45px; font-size: 15px; }
    .fs-legal-section h2 { font-size: 24px; }
    .fs-legal-informations { grid-template-columns: minmax(0,1fr); gap: 4px; padding: 20px; }
    .fs-legal-informations dd { margin-bottom: 15px; }
    .fs-legal-informations dd:last-child { margin-bottom: 0; }
    .fs-legal-sommaire { gap: 10px 20px; padding: 18px; }
}


/*++++++++++++++++++++++
Effet smooth au scroll
+++++++++++++++++++++++*/
/* Défilement doux vers les ancres */
html {
    scroll-behavior: smooth;
}

/* Éviter que la cible soit cachée par le header sticky */
[id] {
    scroll-margin-top: 150px;
}

/* Respecter la préférence de réduction des animations */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* FAIRE & SAVOIR — POLITIQUE DE CONFIDENTIALITÉ */
.fs-confidentialite .site-inner { width: 100%; max-width: none; padding: 0; }
.fs-confidentialite .content-sidebar-wrap { max-width: none; }
.fs-confidentialite .content { width: 100%; float: none; }
.fs-confidentialite .entry { padding: 0; margin: 0; background: transparent; }
/*.fs-legal-page { width: 90%; max-width: 1100px; margin: 0 auto; padding: 45px 0 75px; color: #292536; font-family: "Glacial Indifference", sans-serif; font-size: 19px; line-height: 1.6; }
.fs-legal-surtitre { color: #352f87; font-size: 16px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 12px; }
.fs-legal-entete > p:last-child { margin: 0; }
.fs-legal-sommaire { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 20px 24px; margin: 30px 0 40px; border-radius: 12px; background: #f8eafa; }
.fs-legal-page a { color: #752294; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.fs-legal-page a:hover { color: #352f87; }
html body .fs-legal-page a:focus-visible { outline: 3px solid #352f87 !important; outline-offset: 4px; }
.fs-legal-section { margin: 0 0 36px; padding: 0 0 30px; border-bottom: 1px solid #e5deec; scroll-margin-top: 175px; }
.fs-legal-section h2 { margin: 0 0 22px; color: #352f87; font-family: inherit; font-size: 27px; line-height: 1.3; font-weight: 700; }
.fs-legal-section p { margin: 18px 0 0; }
.fs-legal-informations { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0,2fr); gap: 12px 25px; padding: 24px; margin: 0; background: #f6f4f9; border-radius: 12px; }
.fs-legal-informations dt { color: #352f87; font-weight: 700; }
.fs-legal-informations dd { margin: 0; overflow-wrap: anywhere; }
.fs-legal-editorial:empty { display: none; }
@media (max-width: 767px) {
    .fs-legal-page { padding: 25px 0 45px; font-size: 17px; }
    .fs-legal-section h2 { font-size: 24px; }
    .fs-legal-informations { grid-template-columns: minmax(0,1fr); gap: 4px; padding: 20px; }
    .fs-legal-informations dd { margin-bottom: 15px; }
    .fs-legal-informations dd:last-child { margin-bottom: 0; }
    .fs-legal-sommaire { gap: 10px 20px; padding: 18px; }
}*/

/* Masquer l’onglet flottant de gestion du consentement */
#cmplz-manage-consent {
    display: none !important;
}

/* FINANCEMENTS — à ajouter à la fin de style.css */
.fs-financement .site-inner {
    padding-top: 40px;
}

.fs-financement .fs-financement-page {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px 72px;
    color: #352f87;
}

.fs-financement .fs-financement-entete {
    margin-bottom: 40px;
}

.fs-financement .fs-financement-rubrique {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 500;
}

.fs-financement .fs-financement-entete h1 {
    position: relative;
    color: #352f87;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0 0 45px;
    padding-bottom: 12px;
    overflow-wrap: anywhere;
}

.fs-financement .fs-financement-entete h1::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 5px;
    background: #b72bdc;
}

.fs-financement .fs-financement-grille {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    align-items: start;
    gap: 56px;
}

.fs-financement .fs-financement-sidebar {
    min-width: 0;
}

.fs-financement .fs-financement-navigation,
.fs-financement .fs-financement-aide {
    padding: 24px;
    border-radius: 16px;
    background: #fbf0fc;
}

.fs-financement .fs-financement-sidebar h2 {
    margin: 0 0 16px;
    color: #352f87;
    font-size: 19px;
    line-height: 1.35;
}

.fs-financement .fs-financement-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fs-financement .fs-financement-navigation li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fs-financement .fs-financement-navigation a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px;
    border-radius: 6px;
    color: #352f87;
    text-decoration: none;
    line-height: 1.4;
    transition: background-color .2s, color .2s;
    font-size: 17px;
}

.fs-financement .fs-financement-navigation a:hover {
    background: #f1dff6;
}

.fs-financement .fs-financement-navigation a[aria-current="page"] {
    background: #352f87;
    color: #fff;
    font-weight: 600;
}

.fs-financement .fs-financement-aide {
    margin-top: 24px;
    background: #f4f3fa;
}

.fs-financement .fs-financement-aide p {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.65;
}

.fs-financement .fs-financement-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 7px;
    background: #352f87;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
}

.fs-financement .fs-financement-contact:hover {
    background: #292369;
    color: #fff;
}

.fs-financement .fs-financement-contenu {
    min-width: 0;
    font-size: 17px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.fs-financement .fs-financement-contenu h2 {
    margin: 40px 0 18px;
    color: #352f87;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
    font-family: 'Source Sans 3', sans-serif;
}

.fs-financement .fs-financement-contenu > :first-child {
    margin-top: 0;
}

.fs-financement .fs-financement-contenu h3 {
    margin: 28px 0 12px;
    color: #352f87;
    font-size: 21px;
    line-height: 1.4;
}

.fs-financement .fs-financement-contenu a:not(.wp-block-button__link) {
    color: #352f87;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.fs-financement .fs-financement-contenu .wp-block-pullquote,
.fs-financement .fs-financement-contenu blockquote {
    margin: 28px 0;
    padding: 24px;
    border-left: 4px solid #b324ce;
    border-radius: 0 12px 12px 0;
    background: #fbf0fc;
    font-style: normal;
}

.fs-financement .fs-financement-page :focus-visible {
    outline: 3px solid #352f87;
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .fs-financement .fs-financement-grille {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .fs-financement .fs-financement-sidebar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .fs-financement .fs-financement-aide {
        margin-top: 0;
    }
}

@media (max-width: 600px) {
    .fs-financement .fs-financement-page {
        padding: 0 16px 48px;
    }

    .fs-financement .fs-financement-entete {
        margin-bottom: 28px;
    }

    .fs-financement .fs-financement-sidebar {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fs-financement .fs-financement-navigation a {
        transition: none;
    }
}

/* QUALIOPI — complément à ajouter à la fin de style.css */
.fs-qualiopi .fs-qualiopi-page { max-width: 1180px; margin: 0 auto; padding: 40px 24px 72px; color: #352f87; min-width: 0;
    font-size: 17px;
    line-height: 1.75;
    overflow-wrap: anywhere;}
.fs-qualiopi .fs-qualiopi-entete { margin-bottom: 40px; }
.fs-qualiopi .fs-qualiopi-rubrique { margin: 0 0 10px; font-size: 16px; }
.fs-qualiopi .fs-qualiopi-entete h1 {     position: relative;
    color: #352f87;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 500;
    text-transform: uppercase;
    margin: 0 0 45px;
    padding-bottom: 12px;}
.fs-qualiopi .fs-qualiopi-entete h1::after{
	content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 5px;
    background: #b72bdc;	
}
.fs-qualiopi .fs-qualiopi-page h2 {     
	margin: 40px 0 18px;
    color: #352f87;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
    font-family: 'Source Sans 3', sans-serif;}
.fs-qualiopi .fs-qualiopi-presentation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 48px; align-items: center; margin-bottom: 56px; }
.fs-qualiopi .fs-qualiopi-logo { padding: 24px; background: #fff; border: 1px solid #e8e5f2; border-radius: 16px; }
.fs-qualiopi .fs-qualiopi-logo img { display: block; width: 100%; height: auto; object-fit: contain; }
.fs-qualiopi .fs-qualiopi-texte { min-width: 0; }
.fs-qualiopi .fs-qualiopi-texte ul { margin-left: 24px; }
.fs-qualiopi .fs-qualiopi-certificat { padding: 32px; background: #f6f4fa; border-radius: 18px; scroll-margin-top: 150px; }
.fs-qualiopi .fs-qualiopi-certificat-entete { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.fs-qualiopi .fs-qualiopi-certificat-entete h2 { margin: 0; }
.fs-qualiopi .fs-qualiopi-pdf { display: block; width: 100%; height: 850px; height: clamp(480px, 80vh, 1000px); border: 1px solid #dedbe8; background: #fff; }
.fs-qualiopi .fs-qualiopi-apercu { display: block; max-width: 100%; height: auto; margin: auto; }
.fs-qualiopi .fs-qualiopi-lien { color: #352f87; text-decoration: underline; text-underline-offset: 3px; }
.fs-qualiopi .fs-qualiopi-bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 22px; border-radius: 7px; background: #352f87; color: #fff; text-decoration: none; }
.fs-qualiopi .fs-qualiopi-bouton:hover { background: #292369; color: #fff; }
.fs-qualiopi .fs-qualiopi-contact { margin-top: 48px; padding: 32px; border-radius: 18px; background: #fbf0fc; text-align: center; }
.fs-qualiopi .fs-qualiopi-editorial:not(:empty) { margin-top: 32px; }
.fs-qualiopi .fs-qualiopi-page :focus-visible { outline: 3px solid #352f87; outline-offset: 3px; }
@media (max-width: 767px) {
    .fs-qualiopi .fs-qualiopi-page { padding: 28px 16px 48px; }
    .fs-qualiopi .fs-qualiopi-presentation { grid-template-columns: 1fr; gap: 28px; }
    .fs-qualiopi .fs-qualiopi-logo { max-width: 360px; }
    .fs-qualiopi .fs-qualiopi-certificat, .fs-qualiopi .fs-qualiopi-contact { padding: 20px; }
}

/* NOS ENGAGEMENTS QUALITÉ — à ajouter à la fin de style.css */
.fs-engagements .fs-engagements-page {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 24px 72px;
    color: #352f87;
}
.fs-engagements .fs-engagements-entete { margin-bottom: 36px; }
.fs-engagements .fs-engagements-rubrique { margin: 0 0 12px; font-size: 16px; }
.fs-engagements .fs-engagements-entete h1 {
	position: relative;
	color: #352f87;
	font-family: 'Source Sans 3', sans-serif;
	font-size: 36px;
	line-height: 1.2;
	font-weight: 500;
	text-transform: uppercase;
	margin: 0 0 45px;
	padding-bottom: 12px;
}
.fs-engagements .fs-engagements-entete h1::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 5px;
    background: #b72bdc;	
}
.fs-engagements .fs-engagements-contenu { font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.fs-engagements .fs-engagements-intro { max-width: 850px; margin-bottom: 36px; font-size: 18px; line-height: 25px; }
.fs-engagements .fs-engagements-cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; font-size: 17px;
    line-height: 24px;}
.fs-engagements .fs-engagements-carte { padding: 28px; border: 1px solid #e9e5f1; border-radius: 16px; background: #fff; }
.fs-engagements .fs-engagements-carte:nth-child(4n + 1), .fs-engagements .fs-engagements-carte:nth-child(4n) { background: #fbf0fc; border-color: #fbf0fc; }
.fs-engagements .fs-engagements-page h2 {     color: #352f87;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
    font-family: 'Source Sans 3', sans-serif; }
.fs-engagements .fs-engagements-carte h2 { margin: 0 0 16px; }
.fs-engagements .fs-engagements-carte p:last-child { margin-bottom: 0; }
.fs-engagements .fs-engagements-certification { display: flex; justify-content: space-between; align-items: center; gap: 32px; margin-top: 40px; padding: 32px; border-radius: 16px; background: #f4f3fa; font-size: 17px}
.fs-engagements .fs-engagements-certification h2 { margin-top: 0; }
.fs-engagements .fs-engagements-certification p { margin-bottom: 0; }
.fs-engagements .fs-engagements-bouton { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: 12px 22px; border-radius: 7px; background: #352f87; color: #fff; text-decoration: none; }
.fs-engagements .fs-engagements-bouton:hover { background: #292369; color: #fff; }
.fs-engagements .fs-engagements-contact { margin-top: 40px; padding: 32px; border-radius: 16px; background: #fbf0fc; text-align: center; font-size: 17px}
.fs-engagements .fs-engagements-page :focus-visible { outline: 3px solid #352f87; outline-offset: 3px; }
@media (max-width: 767px) {
    .fs-engagements .fs-engagements-page { padding: 28px 16px 48px; }
    .fs-engagements .fs-engagements-cartes { grid-template-columns: 1fr; }
    .fs-engagements .fs-engagements-certification { flex-direction: column; align-items: flex-start; }
    .fs-engagements .fs-engagements-carte, .fs-engagements .fs-engagements-certification, .fs-engagements .fs-engagements-contact { padding: 24px; }
}

/* PAGE FORMATIONS — à ajouter à la fin de style.css */
.fs-formations .fs-formations-page { max-width: 1450px; margin: 0 auto; padding: 40px 24px 72px; color: #352f87; }
.fs-formations .fs-formations-entete { max-width: 850px; margin-bottom: 48px; }
.fs-formations .fs-formations-entete h1 {color: #352f87;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0 0 25px;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 500;
    position: relative;
    padding-bottom: 12px;}
.fs-formations .fs-formations-entete h1::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 5px;
    background: #b72bdc;
}
.fs-formations .fs-formations-entete p { font-size: 20px; line-height: 1.6; }
.fs-formations .fs-formations-profils > h2 { margin: 0 0 40px; color: #352f87; text-align: center; font-size: 24px; line-height: 1.4; }
.fs-formations .fs-formations-profils > h2 span { color: #c326b5; }
.fs-formations .fs-formations-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding-bottom: 36px; }
.fs-formations .fs-formations-carte { position: relative; display: flex; align-items: center; min-width: 0; min-height: 330px; border-radius: 24px; background: #352f87; color: #fff; text-decoration: none; isolation: isolate; }
.fs-formations .fs-formations-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; z-index: -2; }
.fs-formations .fs-formations-carte::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: rgba(53, 47, 135, .82); z-index: -1; transition: background-color .2s; }
.fs-formations .fs-formations-carte:hover::before { background: rgba(53, 47, 135, .94); }
.fs-formations .fs-formations-contenu { width: 100%; padding: 34px 24px 48px; text-align: center; }
.fs-formations .fs-formations-icone { display: block; width: 60px; height: 60px; margin: 0 auto 20px; object-fit: contain; }
.fs-formations .fs-formations-carte h3 { margin: 0; color: #fff; font-size: 23px; line-height: 1.25; }
.fs-formations .fs-formations-separateur { display: block; width: 46px; height: 1px; margin: 16px auto; background: #e6db92; }
.fs-formations .fs-formations-carte p { margin: 0; color: #fff; font-size: 16px; line-height: 1.5; }
.fs-formations .fs-formations-fleche { position: absolute; bottom: -32px; left: 50%; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; transform: translateX(-50%); border-radius: 50%; background: #fff; color: #352f87; box-shadow: 0 3px 8px #0002; font-size: 36px; line-height: 1; transition: background-color .2s; }
.fs-formations .fs-formations-carte:hover .fs-formations-fleche { background: #f8eafa; }
.fs-formations .fs-formations-editorial:not(:empty) { margin-top: 40px; }
.fs-formations .fs-formations-contact { margin-top: 48px; padding: 32px; border-radius: 18px; background: #fbf0fc; text-align: center; }
.fs-formations .fs-formations-contact h2 { color: #352f87; font-size: 28px; line-height: 1.35; }
.fs-formations .fs-formations-bouton { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 22px; border-radius: 7px; background: #352f87; color: #fff; text-decoration: none; }
.fs-formations .fs-formations-bouton:hover { background: #292369; color: #fff; }
.fs-formations .fs-formations-page :focus-visible { outline: 3px solid #352f87; outline-offset: 5px; }
@media (max-width: 1100px) {
    .fs-formations .fs-formations-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 28px; }
}
@media (max-width: 600px) {
    .fs-formations .fs-formations-page { padding: 28px 16px 48px; }
    .fs-formations .fs-formations-grille { grid-template-columns: 1fr; }
    .fs-formations .fs-formations-profils > h2 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .fs-formations .fs-formations-carte::before, .fs-formations .fs-formations-fleche { transition: none; }
}




/* ==========================================================
   HEADER RESPONSIVE — complément final (seuil : 1100 px)
   Nécessite le functions.php fourni avec ce complément.
   ========================================================== */
.site-header { background: #fff !important; padding-inline: 24px; }
.site-header > .wrap { display: grid; grid-template-columns: 310px minmax(210px, 295px) minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 28px; align-items: center; max-width: 1400px; min-height: 180px; }
.site-header > .wrap::before, .site-header > .wrap::after { display: none; }
.site-header .title-area { grid-column: 1; grid-row: 1 / 3; float: none; width: auto; max-width: none; flex: none; padding: 10px 0; }
.site-header .title-area .custom-logo-link { display: inline-block; }
.site-header .title-area img.custom-logo { width: 170px; height: auto; max-height: 150px; object-fit: contain; margin: 0 0 0 40px; }
.site-header .title-area::before {
	top: -252px;
    left: -334px;
}
.fs-header-panel { display: contents; }
.site-header .header-search { grid-column: 2; grid-row: 1; position: relative; top: auto; right: auto; width: 100%; margin: 8px 0 0; }
.site-header .top-header-menu { grid-column: 3; grid-row: 1; position: relative; top: auto; right: auto; align-self: start; width: 85%; margin: 0; justify-self: end;}
.site-header .top-header-menu ul { display: flex; flex-wrap: nowrap; }
.site-header .top-header-menu li { flex: 1 1 0; min-width: 0; max-width: none; justify-content: center; }
.site-header .top-header-menu a { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; padding: 10px 12px; font-size: 14px; line-height: 1.25; }
.site-header .nav-primary { display: block; grid-column: 2 / 4; grid-row: 2; float: none; clear: none; width: 100%; margin: 0; padding: 14px 0 20px; }
.site-header .nav-primary > .wrap { display: block; min-height: 0; width: 100%; }
.site-header .nav-primary .genesis-nav-menu { display: flex; justify-content: flex-end; align-items: center; flex-wrap: nowrap; gap: clamp(18px, 2vw, 40px); }
.site-header .nav-primary .genesis-nav-menu > li { position: relative; min-width: 0; }
.site-header .nav-primary .genesis-nav-menu > li > a { display: block; padding: 14px 0; font-size: 16px; line-height: 1.35; white-space: nowrap; }
.site-header .nav-primary .genesis-nav-menu .sub-menu { display: none; position: absolute; top: 100%; left: 0; width: 220px; max-width: calc(100vw - 32px); margin: 0; opacity: 1; }
.site-header .nav-primary .genesis-nav-menu li:hover > .sub-menu,
.site-header .nav-primary .genesis-nav-menu li:focus-within > .sub-menu { display: block; left: 0; }
.site-header .nav-primary .genesis-nav-menu > li:last-child > .sub-menu { left: auto; right: 0; }
.site-header .nav-primary .genesis-nav-menu .sub-menu .sub-menu { top: 0; left: 100%; margin: 0; }
.site-header .nav-primary .genesis-nav-menu .sub-menu a { width: 100%; font-size: 15px; white-space: normal; }
.site-header .menu-toggle, .site-header .sub-menu-toggle { display: none !important; }
#fs-header-toggle, .fs-header-submenu-toggle { display: none; }
.site-header [hidden] { display: none !important; }
.fs-header-spacer { height: 0; pointer-events: none; }
html body .site-header :focus-visible { outline: 3px solid #b72bdc !important; outline-offset: 3px; }

@media (min-width: 1100px) and (max-width: 1399px) {
    .site-header > .wrap { grid-template-columns: 185px minmax(160px, 220px) minmax(0, 1fr); column-gap: 20px; min-height: 155px; }
    .site-header .title-area::before { display: none; }
    .site-header .title-area img.custom-logo { width: 155px; margin: 0; }
    .site-header .top-header-menu a { padding-inline: 8px; font-size: 13px; }
    .site-header .nav-primary .genesis-nav-menu { gap: 20px; }
    .site-header .nav-primary .genesis-nav-menu > li > a { font-size: 15px; }
}

@media (min-width: 1100px) {
    .site-header.is-sticky { height: auto; min-height: 100px; }
    .site-header.is-sticky > .wrap { min-height: 100px; grid-template-columns: 150px minmax(0, 1fr); grid-template-rows: auto; }
    .site-header.is-sticky .title-area { grid-column: 1; grid-row: 1; }
    .site-header.is-sticky .title-area img.custom-logo { width: 110px; max-height: 85px; margin: 0; }
    .site-header.is-sticky .nav-primary { grid-column: 2; grid-row: 1; margin: 0; padding: 10px 0; }
    .site-header.is-sticky .header-search, .site-header.is-sticky .top-header-menu { display: none; }
}

@media (max-width: 1099px) {
    .site-header, .site-header.is-sticky { position: relative !important; top: auto !important; height: auto; padding-inline: 20px; animation: none !important; }
    .site-header > .wrap { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto; gap: 0 16px; min-height: 100px; padding: 0px 15px;}
    .site-header .title-area { grid-column: 1; grid-row: 1; padding: 12px 0; }
    .site-header .title-area img.custom-logo, .site-header.is-sticky .title-area img.custom-logo { display: block; width: 130px; max-height: 105px; margin: 0; }
    .site-header .title-area::before { display: none; }
    .site-header.fs-header-ready #fs-header-toggle { display: inline-flex; }
    #fs-header-toggle { grid-column: 2; grid-row: 1; align-items: center; justify-content: center; gap: 10px; min-height: 46px; margin: 0; padding: 10px 16px; border: 1px solid #352f87; border-radius: 8px; background: #fff; color: #352f87; font: inherit; font-size: 16px; line-height: 1.3; text-transform: none; cursor: pointer; }
    #fs-header-toggle:hover, #fs-header-toggle[aria-expanded="true"] { background: #352f87; color: #fff; }
    .fs-header-toggle-icon { position: relative; width: 20px; height: 2px; background: currentColor; }
    .fs-header-toggle-icon::before, .fs-header-toggle-icon::after { content: ''; position: absolute; left: 0; width: 20px; height: 2px; background: currentColor; }
    .fs-header-toggle-icon::before { top: -6px; }
    .fs-header-toggle-icon::after { top: 6px; }
    #fs-header-toggle[aria-expanded="true"] .fs-header-toggle-icon { background: transparent; }
    #fs-header-toggle[aria-expanded="true"] .fs-header-toggle-icon::before { top: 0; transform: rotate(45deg); }
    #fs-header-toggle[aria-expanded="true"] .fs-header-toggle-icon::after { top: 0; transform: rotate(-45deg); }
    .site-header .fs-header-panel { display: flex; flex-direction: column; grid-column: 1 / -1; grid-row: 2; gap: 24px; min-width: 0; padding: 20px 0 28px; border-top: 1px solid #e9e5f1; }
    .site-header .header-search { display: block; position: static; width: 100%; max-width: 600px; margin: 0; }
    .site-header .top-header-menu { display: block; position: static; width: 100%; border-radius: 10px; overflow: hidden; }
    .site-header .top-header-menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-header .top-header-menu li { display: block; max-width: none; }
    .site-header .top-header-menu a { min-height: 54px; padding: 12px; font-size: 15px; border: 0.5px solid #8680d9;}
    .site-header .nav-primary { display: block !important; width: 100%; margin: 0; padding: 0; }
    .site-header .nav-primary .genesis-nav-menu { display: block; margin: 0; }
    .site-header .nav-primary .genesis-nav-menu li { display: block; position: relative; width: 100%; margin: 0; border-bottom: 1px solid #fff;}
    .site-header .nav-primary .genesis-nav-menu > li { border-bottom: 1px solid #e9e5f1; }
    .site-header .nav-primary .genesis-nav-menu a,
    .site-header .nav-primary .genesis-nav-menu .sub-menu a,
    .site-header .nav-primary .genesis-nav-menu .sub-menu a:hover { display: block; width: 100%; margin: 0; padding: 14px 12px; white-space: normal; font-size: 16px; line-height: 1.45; }
    .site-header .nav-primary .genesis-nav-menu li.fs-header-has-submenu > a { padding-right: 60px; }
    .site-header .nav-primary .genesis-nav-menu > li > a::after { display: none; }
    .site-header .nav-primary .genesis-nav-menu .sub-menu,
    .site-header .nav-primary .genesis-nav-menu li:hover > .sub-menu,
    .site-header .nav-primary .genesis-nav-menu li:focus-within > .sub-menu { display: none !important; position: static; width: 100%; max-width: none; margin: 0; padding: 0px; border: 0; border-radius: 0; box-shadow: none; opacity: 1; background: #fbf0fc; }
    .site-header .nav-primary .genesis-nav-menu li.fs-header-submenu-open > .sub-menu { display: block !important; }
    .site-header .fs-header-submenu-toggle { position: absolute; top: 4px; right: 0; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 6px; background: #f4f3fa; color: #352f87; font-size: 25px; cursor: pointer; }
    /* Sans JS, conserver tous les liens et sous-menus disponibles. */
    .site-header:not(.fs-header-ready) .top-header-menu,
    .site-header:not(.fs-header-ready) .header-search,
    .site-header:not(.fs-header-ready) .nav-primary { grid-column: 1 / -1; grid-row: auto; margin: 12px 0; }
    .site-header:not(.fs-header-ready) .nav-primary .genesis-nav-menu .sub-menu { display: block !important; }
}
@media (max-width: 479px) {
    .site-header { padding-inline: 16px; }
    .site-header .title-area img.custom-logo { width: 110px; }
    #fs-header-toggle { padding-inline: 12px; font-size: 15px; }
    .site-header .top-header-menu a { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-header.is-sticky { animation: none !important; }
    .site-header .nav-primary a::after { transition: none; }
}


/* ==========================================================
   FOOTER RESPONSIVE ET CONFORT DE LECTURE
   Nécessite le functions.php fourni pour l’ancrage du bouton.
   ========================================================== */
.footer-faire-savoir { width: 100%; }
.footer-faire-savoir .footer-container {
    width: calc(100% - 48px);
    max-width: 1400px;
    grid-template-columns: minmax(260px, 1.35fr) minmax(0, 1fr) minmax(0, 1fr) minmax(190px, 1fr);
    gap: 32px;
    padding: 48px 0 40px;
}
.footer-faire-savoir .footer-container > * { min-width: 0; }
.footer-faire-savoir .footer-identite { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.footer-faire-savoir .footer-logo { flex: 0 0 130px; max-width: 100%; }
.footer-faire-savoir .footer-reseaux h3 { margin-bottom: 8px; font-size: 14px; white-space: normal; }
.footer-faire-savoir .footer-reseaux-liens { gap: 8px; }
.footer-faire-savoir .footer-social { width: 44px; height: 44px; }
.footer-faire-savoir .footer-social img { width: 32px; height: 32px; }
.footer-faire-savoir .footer-liens li { margin-bottom: 8px; }
.footer-faire-savoir .footer-liens a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.footer-faire-savoir .footer-certification { margin-top: 0; }
.footer-faire-savoir .footer-certification img { width: 100%; max-width: 250px; height: auto; margin-top: -10px}
.footer-faire-savoir .footer-bottom { padding: 28px 24px max(16px, env(safe-area-inset-bottom)); }
.footer-faire-savoir .footer-bottom-container { max-width: 1200px; }
.footer-faire-savoir .footer-bottom p { max-width: 1000px; margin: 0 auto 12px; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.footer-faire-savoir .footer-bottom p:last-of-type { margin-bottom: 0; }
#fs-footer-confort { display: flex; justify-content: flex-end; align-items: flex-start; margin-top: -10px; min-height: 56px; text-align: left; }
#fs-footer-confort[hidden] { display: none !important; }

/* Position fixe pendant la navigation, puis dans le footer à son approche. */
.fs-confort {
    position: fixed;
    top: auto;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    left: auto;
    transform: none;
    max-width: calc(100vw - 24px);
}
/*.fs-confort.fs-confort-docked { position: relative; inset: auto; transform: none; }*/
#fs-confort-ouvrir { writing-mode: horizontal-tb; min-height: 44px; padding: 10px 16px; border: 1px solid #fff; border-radius: 8px; background: #352f87; color: #fff; font-size: 14px; line-height: 1.4; box-shadow: 0 2px 12px #0002; white-space: normal; margin-right: 40px;}
#fs-confort-ouvrir:hover { background: #292369; }
/* Le panneau reste dans la fenêtre même lorsque le bouton est ancré au footer. */
#fs-confort-panneau { position: fixed; top: auto; left: auto; right: max(12px, env(safe-area-inset-right)); bottom: max(76px, calc(env(safe-area-inset-bottom) + 64px)); transform: none; width: 320px; max-width: calc(100vw - 24px); max-height: calc(100vh - 112px); max-height: calc(100dvh - 112px); margin: 0; overflow-y: auto; overscroll-behavior: contain; }
html body .footer-faire-savoir :focus-visible,
html body .fs-confort :focus-visible { outline: 3px solid #c326b5 !important; outline-offset: 3px !important; }
html.fs-contraste body .footer-faire-savoir :focus-visible,
html.fs-contraste body .fs-confort :focus-visible { outline-color: #ffbf47 !important; }

@media (max-width: 1100px) {
    .footer-faire-savoir .footer-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 40px; }
    .footer-faire-savoir .footer-identite { grid-column: 1; grid-row: 1; }
    .footer-faire-savoir .footer-certification { grid-column: 2; grid-row: 1; justify-self: end; width: min(100%, 250px); }
    .footer-faire-savoir .footer-liens { grid-row: 2; }
}
@media (max-width: 600px) {

    .footer-faire-savoir .footer-container {
        width: calc(100% - 32px);
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 24px;
        padding: 32px 0;
        text-align: center;
    }
	 .accueil-domaines-grid {
	    grid-template-columns: repeat(1, minmax(0, 1fr));
	    gap: 25px;
	}   	

    .footer-faire-savoir .footer-identite,
    .footer-faire-savoir .footer-certification,
    .footer-faire-savoir .footer-liens {
        grid-column: 1;
        grid-row: auto;
    }

    .footer-faire-savoir .footer-identite {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 24px;
    }

    .footer-faire-savoir .footer-logo {
        flex: 0 0 auto;
        width: 130px;
    }

    .footer-faire-savoir .footer-reseaux-liens {
        justify-content: center;
    }

    .footer-faire-savoir .footer-liens {
        width: 100%;
        text-align: center;
    }

    .footer-faire-savoir .footer-liens a {
        font-size: 16px;
    }

    .footer-faire-savoir .footer-certification {
        justify-self: center;
        width: min(100%, 230px);
        text-align: center;
    }

    .footer-faire-savoir .footer-certification img {
        display: block;
        margin-inline: auto;
    }

    .footer-faire-savoir .footer-bottom {
        padding-inline: 16px;
        text-align: center;
    }

    .footer-faire-savoir .footer-bottom p {
        font-size: 12px;
    }

    #fs-footer-confort {
        justify-content: center;
    }

    #fs-confort-ouvrir {
        font-size: 13px;
        padding: 10px 12px;
    }
}
@media print {
    .fs-confort, #fs-footer-confort { display: none !important; }
}

.entry-content h3:nth-child(n + 2 of h3) {
    margin-top: 30px;
}

/* Page Formations : grille de 2 × 2 cartes. */
.fs-formations .fs-formations-grille {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 64px 36px;
    max-width: 1000px;
    margin-inline: auto;
}

/* Cartes carrées, pouvant grandir si le texte le nécessite. */
.fs-formations .fs-formations-carte {
    aspect-ratio: 1 / 1;
    min-height: 0;
}

.fs-formations .fs-formations-contenu {
    padding: 36px 10px 48px;
}

.fs-formations .fs-formations-carte h3 {
    font-size: 22px;
}

.fs-formations .fs-formations-carte p {
    max-width: 340px;
    margin-inline: auto;
    font-size: 16px;
}

/* Mobile : une seule colonne. */
@media (max-width: 600px) {

    .fs-formations .fs-formations-grille {
        grid-template-columns: 1fr;
        max-width: 440px;
        gap: 60px;
    }

    .fs-formations .fs-formations-contenu {
        padding: 28px 24px 44px;
    }

    .fs-formations .fs-formations-carte p {
        font-size: 16px;
    }
}

.footer-bottom-container a{
	color: #fff;
	text-decoration: none;
}

.archive-description .entry-title, .archive-title, .author-box-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #352f87;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0 0 25px;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 500;
    position: relative;
    padding-bottom: 12px;
}

.archive-description .entry-title::after, .archive-title::after, .author-box-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 120px;
    height: 5px;
    background: #b72bdc;
}

.entry-title, .search-results h2{
    margin: 40px 0 18px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 500;
    font-family: 'Source Sans 3', sans-serif;	
}