/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
:root {
	--oera-arrow-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='9' viewBox='0 0 15 9' fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 4.5h14M10.5 1l3.5 3.5-3.5 3.5'/%3E%3C/svg%3E");
	
	/* La couleur du trait n'a pas d'importance : c'est un masque */
	--oera-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='13' viewBox='0 0 34 13' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M0 6.5h33M27 1l6 5.5-6 5.5'/%3E%3C/svg%3E");
	
		--oera-header-h: 70px;
}

body, #content, footer {
	overflow-x: hidden;
}

header {
	overflow-x: clip;
}

a, button {
	outline: none !important;
}

.wpforms-label-hide {
	display: none !important;
}

/* *
 * STYLE MENU
 * */
header#masthead {
	background: #fff;
	border-bottom: 1px solid #12F484;
}
@media (min-width: 922px) { /* breakpoint desktop d'Astra */

	#ast-desktop-header {

		/* ---------- Barre ---------- */
		& .main-header-bar {
			padding: 0;
			min-height: 79px;
			background: #fff;
			overflow-x: clip; /* coupe l'extension verte au bord de l'écran */
		}

		& .site-primary-header-wrap,
		& .ast-builder-grid-row {
			min-height: 79px;
			align-content: stretch;
			max-width: none;
            padding: 0;
		}

		/* Toute la chaîne du menu en pleine hauteur */
		& .site-header-primary-section-right,
		& .ast-builder-menu-1,
		& .ast-main-header-bar-alignment,
		& .main-header-bar-navigation,
		& .site-navigation,
		& .main-navigation {
			height: 100%;
			align-items: stretch;
		}

		/* ---------- Liens ---------- */
		& #ast-hf-menu-1 {
			display: flex;
			align-items: stretch;
			gap: 64px;
			height: 100%;
			margin: 0;

			& > .menu-item {
				display: flex;
				align-items: stretch;
				line-height: 1;

				& > .menu-link {
					display: flex;
					align-items: center;
					height: 100%;
					padding: 0;

					font-family: 'Plus Jakarta Sans', sans-serif;
					font-size: 13px;
					font-weight: 600;
					line-height: 1;
					letter-spacing: 0.06em;
					text-transform: uppercase;
					color: #01271a;
					transition: color .2s ease;
				}

				& > .menu-link:hover,
				&.current-menu-item > .menu-link {
					color: #0cdc75;
				}

				& .ast-icon {
					display: none;
				}
			}

			/* ---------- Bouton Contact ---------- */
			& > #menu-item-701 {
				margin-left: -11px; /* 53px au lieu de 64px avant le bouton */

				& > .menu-link {
					position: relative;
					padding: 0 60px 0 20px; /* 5px de gap + flèche 34px */
					background: #12F484 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='13' viewBox='0 0 34 13' fill='none' stroke='%2301271A' stroke-width='1.2'%3E%3Cpath d='M0 6.5h33M27 1l6 5.5-6 5.5'/%3E%3C/svg%3E") no-repeat right 15px center / 34px 13px;
					color: #01271a;
					letter-spacing: 0.01em;
					transition: background-color .2s ease;

					/* Extension verte jusqu'au bord droit de l'écran */
					/* &::after {
						content: '';
						position: absolute;
						top: 0;
						bottom: 0;
						left: 100%;
						width: 100vw;
						background: inherit;
						background-image: none;
						pointer-events: none;
					} */

					&:hover {
						background-color: #0cdc75;
						color: #01271a;
					}
				}

				&.current-menu-item > .menu-link {
					color: #01271a;
				}
			}
		}
	}
}


/* *
 * FIN MENU
 * */



/* *
 * AJOUT FLECHE BOUTON
 * */

 .uagb-buttons-repeater {
	display: inline-flex;
	align-items: center;
	gap: 15px;

	/* On masque l'icône Spectra si elle a été ajoutée sur certains boutons */
	& .uagb-button__icon {
		display: none !important;
	}

	&::after {
		content: '';
		flex: none;
		width: 34px;
		height: 13px;
		background-color: currentColor; /* = couleur du texte du bouton */
		-webkit-mask: var(--oera-arrow) no-repeat center / contain;
		mask: var(--oera-arrow) no-repeat center / contain;
		transition: transform .2s ease;
	}

	&:hover::after {
		transform: translateX(4px);
	}
}

/* Flèche "retour" : à gauche du texte et pointée vers la gauche.
   - automatique si l'icône Spectra du bouton est réglée sur "Avant"
   - ou en ajoutant la classe "arrow-back" dans Avancé → Classe(s) CSS */
.arrow-back .uagb-buttons-repeater,
.uagb-buttons-repeater.arrow-back,
.uagb-buttons-repeater:has(.uagb-button__icon-position-before) {
	&::after {
		order: -1;               /* passe la flèche avant le texte */
		transform: scaleX(-1);   /* retourne la flèche */
	}

	&:hover::after {
		transform: scaleX(-1) translateX(4px); /* glisse vers la gauche */
	}
}

/* Pour retirer la flèche sur un bouton précis :
   ajoute la classe "no-arrow" dans Avancé → Classe(s) CSS du bouton */
.no-arrow .uagb-buttons-repeater::after,
.uagb-buttons-repeater.no-arrow::after {
	display: none;
}
/* *
 * FIN FLECHE BOUTON
 * */

body:is(.page-id-14, .page-id-592) footer .wp-block-uagb-container.uagb-block-e39494e7::before {
    content: '';
    background: #fff;
    border-bottom: 1px solid #0CDC75;
    width: 100vw;
    height: 300px;
    position: absolute;
    right: 100%;
    bottom: 100%;
    z-index: 9999;
}
body:not(.page-id-14, .page-id-592) footer .wp-block-uagb-container.uagb-block-e39494e7::before {
    content: '';
    background: #12f484;
    width: 100vw;
    height: 1px;
    right: 100%;
    position: absolute;
    bottom: 100%;
}

footer .dark-bg-footer::after {
	content: '';
	background: #0D1626;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0%;
	left: 100%;	
}

.vertical-text {
	overflow: hidden !important;	
}

.vertical-text > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container::before {
    content: '';
    background: #fff;
    height: 100%;
    width: 100vw;
    top: 0;
    right: calc(100% + 1px);
    position: absolute;
    z-index: 0;
}
.vertical-text > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container::after {
	content: 'Partenaires';
    color: #0CDC7517;
    position: absolute;
    right: 100%;
    bottom: -2%;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: calc(var(--h, 500px) / 4.7);
    rotate: 180deg;
    line-height: 0.65;
    overflow: hidden;
	z-index: 99999;
}


/* *
 * TEXT MARQUEE
 * */
.text-marquee {
    overflow: hidden;
    width: 100%;
    position: relative;
}
.text-marquee-track {
    display: flex;
    width: max-content;
    animation: marqueeScroll 40s linear infinite;
}
.text-item {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
	line-height: 1.3;
}
.text-item span {
	color: #12F484;
	font-family: "Plus Jakarta Sans";
	font-size: 19px;
    font-weight: 500;
	letter-spacing: 1.5px;
    white-space: nowrap;
	text-transform: uppercase;
    position: relative;
}
.text-item span::before {
    content: "—";
    position: relative;
    display: inline-block;
    margin-inline: 5px;
}
@keyframes marqueeScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
@media screen and (max-width: 767px) {
    .text-marquee-track {
        animation-duration: 40s;
    }

    .text-item span {
        font-size: 14px;
    }
}


.fullwidth-img-section img {
	max-height: 600px;
	object-fit: cover;
}
.pr-column {
  padding-right: max(0px, calc((100vw - 1200px) / 2));
}

.home-blog-posts article.uagb-post__inner-wrap {
	gap: 25px;
	border-bottom: 1px solid #0CDC75;
	padding: 0 0 20px !important;
	
	&:last-of-type {
		border: none;
	}

	& .uagb-post__image {
		aspect-ratio: 270 / 150;
		height: auto;
		max-height: none;
		width: 270px;
	}

	& h3.uagb-post__title.uagb-post__text {
		order: 1;
	}
	
	& .uagb-post__image img {
		object-fit: cover;
	}
	
	& div.uagb-post__text.uagb-post-grid-byline {
		order: 0;
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: flex-end;
		
		& .uagb-post__taxonomy a {
			color: #0CDC75;
			font-family: 'Plus Jakarta Sans';
			font-size: 14px;
			font-weight: 400;
			line-height: 1.5;
			border: 1px solid #0CDC75;
			padding: 4px;
			height: auto;
			display: block;
		}
		
		& time::after {
			display: none;
		}
	}
	& div.uagb-post__text.wp-block-button {
		order: 3;

		& a.wp-block-button__link.uagb-text-link {
			font-size: 0;

			&::before {
				content: '';
				background: no-repeat center url('data:image/svg+xml,<svg width="15" height="9" viewBox="0 0 15 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.5488 4.08984L14.1953 4.44336L10.8125 7.8252L10.459 8.17871L9.40234 7.12207L11.6875 4.83691H0V3.34277H11.6875L9.75586 1.41016L9.40234 1.05664L10.459 0L14.5488 4.08984Z" fill="white"/></svg>');
				background-size: contain;
				width: 15px;
				height: 8px;
				display: inline-block;
				position: relative;
				top: 5px;
			}
		}
	}
	
	@media (max-width: 767px) {
		& .uagb-post__image {
			width: 100%;
		}
	}
}
.home-highlighted-post article.uagb-post__inner-wrap {
	display: grid;
	
	& .uagb-post__image {
		order: 0;
	}
	& .uagb-post__text.uagb-post-grid-byline {
		order: 1;
		
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: flex-end;
		
		& .uagb-post__taxonomy a {
			color: #12F484;
			font-family: 'Plus Jakarta Sans';
			font-size: 14px;
			font-weight: 400;
			line-height: 1.5;
			border: 1px solid #12F484;
			padding: 4px;
			height: auto;
			display: block;
		}
		
		& time::after {
			display: none;
		}
	}
	& .uagb-post__title.uagb-post__text {
		order: 2;
	}
	& .uagb-post__text.wp-block-button {
		order: 3;
	}
	
	& a.wp-block-button__link.uagb-text-link {
		font-size: 0;
		display: block;
		width: fit-content;
		height: fit-content;

		&::before {
			content: '';
			background: no-repeat center url('data:image/svg+xml,<svg width="15" height="9" viewBox="0 0 15 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.5488 4.08984L14.1953 4.44336L10.8125 7.8252L10.459 8.17871L9.40234 7.12207L11.6875 4.83691H0V3.34277H11.6875L9.75586 1.41016L9.40234 1.05664L10.459 0L14.5488 4.08984Z" fill="white"/></svg>');
			background-size: contain;
			width: 15px;
			height: 8px;
			display: inline-block;
			position: relative;
			top: 1px;
		}
	}
}
.uagb-post-grid {

	/* ---------- Bouton flèche ---------- */
	& .uagb-post__cta a.uagb-text-link {
		display: flex !important;
		align-items: center;
		justify-content: center;
		flex: none;
		width: 28px !important;
		height: 28px !important;
		padding: 0 !important;
		border: none !important;
		font-size: 0 !important;

		/* Fond de base + remplissage vert (ancré à droite au repos) */
		background-color: #014F53 !important;
		background-image: linear-gradient(#12F484, #12F484) !important;
		background-repeat: no-repeat !important;
		background-position: right center !important;
		background-size: 0% 100% !important;

		color: #fff !important; /* = couleur de la flèche */
		transition: background-size .3s ease, color .3s ease; /* pas de transition sur background-position */

		&::before {
			content: '' !important;
			position: static !important;
			width: 15px !important;
			height: 9px !important;
			background: currentColor !important;
			-webkit-mask: var(--oera-arrow-sm) no-repeat center / contain;
			mask: var(--oera-arrow-sm) no-repeat center / contain;
		}

		&:focus-visible {
			outline: 2px solid #01271a;
			outline-offset: 2px;
		}
	}

	/* ---------- Survol de la carte : entre par la gauche, sort par la droite ---------- */
	& .uagb-post__inner-wrap:hover .uagb-post__cta a.uagb-text-link,
	& .uagb-post__cta a.uagb-text-link:focus-visible {
		background-position: left center !important;
		background-size: 100% 100% !important;
		color: #01271A !important;
	}

	/* ---------- Titre souligné au survol ---------- */
	& .uagb-post__title a {
		text-decoration: underline;
		text-decoration-color: transparent;
		text-underline-offset: 3px;
		transition: text-decoration-color .25s ease;
	}

	& .uagb-post__inner-wrap:hover .uagb-post__title a {
		text-decoration-color: currentColor;
	}
}
@media (max-width: 980px) {
	.home-blog-posts article.uagb-post__inner-wrap {
		& div.uagb-post__text.uagb-post-grid-byline {
			margin-top: 15px;
		}
	}
}




.hero-section {
	position: relative;
	
	&:first-of-type::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: calc(100% - var(--pl));;
		width: var(--pl, 0px);
		aspect-ratio: 1;
		max-height: 200px;
		background: #12F484;
	}
	
	& .wp-block-uagb-image,
	& .wp-block-uagb-image__figure,
	& img {
		width: 100%;
		max-height: 600px;
		object-fit: cover;
		object-position: 50% 35%;
	}
	
	& h3.uagb-ifb-title {
		max-width: 28ch;
	}
}
body.page-id-256 .hero-section {
	&:first-of-type::after {
		display: none;
	}
	
	&:nth-child(2)::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: calc(100% - var(--pl));;
		width: var(--pl, 0px);
		aspect-ratio: 1;
		max-height: 200px;
		background: #12F484;
	}
}

.above-footer::before {
	content: '';
    background: #fff;
    width: var(--pl, 0px);
    height: 250px;
    position: absolute;
    bottom: 0;
    left: 0;
/* 	border-bottom: 1px solid #0CDC75; */
}

footer .uagb-ifb-desc a {
	color: #fff !important;
	text-decoration: none !important;
	padding-bottom: 2px;
	background: linear-gradient(to right, #fff);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: 0% 1px;
	transition: background-size 500ms;
	
	&:hover {
		background-position: bottom left;
		background-size: 100% 1px;
	}
}

.custom-border::before {
	content: '';
	background: #12F484;
	width: 100vw;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}





.theme-card-container .wp-block-uagb-info-box {
	position: absolute !important;
    bottom: 15px;
    left: 15px;
    width: 45ch !important;
    max-width: calc(100% - calc(15px * 2));

	& p.uagb-ifb-desc {
		display: inline;
        background: #fff;
        padding-block: 6px;
	}
}
@media (max-width: 767px) {
	.theme-card-container img {
		aspect-ratio: 355/223;
	}
}






#wpforms-597.wpforms-container {
	/* On écrase les variables WPForms (sélecteur plus fort que leur <style> inline) */
	--wpforms-field-border-color: #0cdc75;
	--wpforms-field-text-color: #01271a;
	--wpforms-label-color: #01271a;
	--wpforms-field-size-input-height: 46px;
	--wpforms-field-size-font-size: 13px;
	--wpforms-field-size-padding-h: 15px;
	--wpforms-field-size-checkbox-size: 13px;
	--wpforms-button-background-color: #12F484;
	margin: 0;
}

#wpforms-form-597 {
	/* Le form devient la grille : les champs + le bouton partagent les mêmes colonnes */
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 60px;
	font-family: 'Plus Jakarta Sans', sans-serif;

	/* Messages d'erreur globaux, noscript, etc. → pleine largeur */
	& > *:not(.wpforms-field-container):not(.wpforms-submit-container) {
		grid-column: 1 / -1;
	}

	& .wpforms-field-container {
		display: contents;
	}

	& .wpforms-field {
		padding: 0 !important;
		margin: 0;
	}

	/* ---------- Labels ---------- */
	& .wpforms-field-label,
	& .wpforms-field-label-inline {
		font-family: 'Plus Jakarta Sans', sans-serif;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.45;
		letter-spacing: -0.01em;
		color: #01271a;
	}

	& .wpforms-field-label {
		margin: 0 0 15px;
	}

	& .wpforms-required-label {
		color: #0cdc75;
		font-weight: 400;
	}

	/* ---------- Inputs ---------- */
	& input[type="text"],
	& input[type="email"],
	& input[type="tel"],
	& textarea {
		width: 100%;
		max-width: 100%;
		height: 46px;
		padding: 0 15px;
		background: transparent;
		border: 1px solid #0cdc75;
		border-radius: 0;
		box-shadow: none;

		font-family: 'Plus Jakarta Sans', sans-serif;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.45;
		letter-spacing: -0.01em;
		color: #01271a;
		transition: border-color .2s ease, box-shadow .2s ease;

		&::placeholder {
			color: rgba(1, 39, 26, 0.5);
			opacity: 1;
		}

		&:focus {
			border-color: #01271a;
			box-shadow: 0 0 0 1px #01271a;
			outline: none;
		}
	}

	& #wpforms-597-field_3-container {
		grid-column: 1 / -1;

		& textarea {
			height: 134px;
			padding: 13px 15px;
			resize: none;
		}
	}

	/* ---------- RGPD ---------- */
	& .wpforms-field-gdpr-checkbox {
		grid-column: 1;
		align-self: center;

		& ul {
			margin: 0;
			padding: 0;
		}

		& li {
			display: flex;
			align-items: flex-start;
			gap: 10px;
			margin: 0;
			padding: 0;
		}

		& input[type="checkbox"] {
			flex-shrink: 0;
			width: 13px;
			height: 13px;
			margin: 3px 0 0; /* aligne la case sur la 1re ligne de texte */

			&::before {
				border: 1px solid #6e737d !important;
				border-radius: 0 !important;
				background: transparent;
			}

			&:checked::before {
				border-color: #12F484 !important;
				background: #12F484;
			}

			&:checked::after {
				border-color: #01271a !important;
			}

			&:focus::before {
				box-shadow: 0 0 0 1px #01271a;
			}
		}

		& .wpforms-field-label-inline {
			margin: 0;
			padding: 0;

			& .wpforms-required-label {
				display: none;
			}
		}
	}

	/* ---------- Bouton ---------- */
	& .wpforms-submit-container {
		grid-column: 2;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 10px;
		margin: 0;
		padding: 0 !important;
	}

	& #wpforms-submit-597 {
		box-shadow: none !important;
		outline: none !important;
		border: none;
		border-radius: 0;
		margin: 0;
		height: auto;
		padding: 20px 69px 20px 20px; /* 20 + flèche 34 + gap 15 */

		background: #12F484 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='13' viewBox='0 0 34 13' fill='none' stroke='%2301271A' stroke-width='1.2'%3E%3Cpath d='M0 6.5h33M27 1l6 5.5-6 5.5'/%3E%3C/svg%3E") no-repeat right 20px center / 34px 13px;

		color: #01271A;
		font-family: 'Plus Jakarta Sans', sans-serif;
		font-size: 13px;
		font-weight: 600;
		line-height: 1.2;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		cursor: pointer;
		transition: background-color .2s ease;

		&::after {
			display: none !important;
		}

		&:hover {
			background-color: #0cdc75;
		}

		&:focus-visible {
			outline: 2px solid #01271a !important;
			outline-offset: 2px;
		}
	}

	/* ---------- Erreurs ---------- */
	& em.wpforms-error,
	& label.wpforms-error {
		display: block;
		margin-top: 6px;
		font-family: 'Plus Jakarta Sans', sans-serif;
		font-size: 12px;
		line-height: 1.4;
		color: #d63637;
	}

	& input.wpforms-error,
	& textarea.wpforms-error {
		border-color: #d63637;
	}

	/* ---------- Mobile ---------- */
	@media (max-width: 767px) {
		grid-template-columns: 1fr;
		gap: 20px;

		& .wpforms-field-gdpr-checkbox,
		& .wpforms-submit-container {
			grid-column: 1;
		}

		& .wpforms-submit-container {
			justify-content: flex-start;
		}

		& .wpforms-field-gdpr-checkbox li {
			padding: 0 2px;
		}
	}
}
#wpforms-597 #wpforms-confirmation-597,
#wpforms-confirmation-597.wpforms-confirmation-container-full {
	/* Reset du style WPForms (fond vert + bordure) */
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;

	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: 0;
	color: #01271a;

	& p {
		margin: 0 0 15px;
		font: inherit;
		color: inherit;

		&:first-child {
			font-weight: 600;
		}

		&:last-child {
			margin-bottom: 0;
		}
	}

	& a {
		color: #01271a;
		text-decoration: underline;
		text-decoration-color: #12F484;
		text-underline-offset: 3px;
	}
}
@media screen and (width <= 921px) { /* = tout ce qui n'est pas le header desktop d'Astra */

	/* ---------- Barre ---------- */
	#ast-mobile-header > .ast-main-header-wrap {
		background: #fff;
		border-bottom: 1px solid #0cdc75;

		& > .ast-primary-header-bar {
			min-height: var(--oera-header-h);
			padding: 0;
			background: transparent !important;
			border: none;
		}

		/* Burger / croix */
		& .menu-toggle {
			position: relative;
			width: 20px;
			height: 18px;
			padding: 25px;
			margin: 0;
			background: transparent !important;
			border: none;
			outline: none;
			box-shadow: none;

			&::before {
				content: '';
				position: absolute;
				top: 50%;
				left: 50%;
				width: 20px;
				height: 18px;
				transform: translate(-50%, -50%);
				background: center / contain no-repeat url('data:image/svg+xml,<svg width="20" height="18" viewBox="0 0 20 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 9H20" stroke="%2301271A" stroke-width="2"/><path d="M0 1H20" stroke="%2301271A" stroke-width="2"/><path d="M0 17H13" stroke="%2301271A" stroke-width="2"/></svg>');
			}

			&.toggled::before {
				width: 17px;
				background-image: url('data:image/svg+xml,<svg width="17" height="18" viewBox="0 0 17 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.729492 0.683929L15.7295 16.6839" stroke="%2301271A" stroke-width="2"/><path d="M0.729492 16.6839L15.7295 0.683929" stroke="%2301271A" stroke-width="2"/></svg>');
			}

			&:focus-visible {
				outline: 2px solid #0cdc75;
				outline-offset: -2px;
			}

			& > * {
				display: none;
			}
		}
	}

	/* ---------- Menu ouvert ---------- */
	body.ast-main-header-nav-open {
		height: 100dvh;
		overflow: hidden;

		& #ast-mobile-header > .ast-mobile-header-content {
			display: block;
		}
	}

	#ast-mobile-header > .ast-mobile-header-content {
		height: calc(100dvh - var(--oera-header-h));
		max-height: none;
		padding: 50px 24px 15vh;
		overflow-y: auto;
		background: url(https://gdr-oera.fr/wp-content/uploads/2026/10/Frame-125.png), #fff;
    	background-size: 100%;
    	background-repeat: no-repeat;
    	background-position: bottom -25% center;
		border: none;
		box-shadow: none;

		& #ast-hf-mobile-menu,
		& #ast-hf-mobile-menu > li,
		& #ast-hf-mobile-menu > li > a {
			background: transparent !important;
			border: none !important;
		}

		& #ast-hf-mobile-menu {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 30px;
			padding: 0;
			margin: 0;
		}

		& #ast-hf-mobile-menu > li {
			display: flex;
			justify-content: center;
			width: 100%;
			text-align: center;

			& > a {
				width: fit-content;
				padding: 0;

				font-family: 'Plus Jakarta Sans', sans-serif;
				font-size: 22px;
				font-weight: 600;
				line-height: 1.2;
				letter-spacing: 0.06em;
				text-transform: uppercase;
				color: #01271a;
				transition: color .2s ease;
			}

			& > a:hover,
			&.current-menu-item > a {
				color: #0cdc75;
			}

			& .ast-icon,
			& .ast-menu-toggle {
				display: none;
			}

			/* Contact = bouton vert, comme sur desktop */
			&:last-child {
				margin-top: 20px;

				& > a {
					padding: 20px 69px 20px 20px !important;
					background: #12F484 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='13' viewBox='0 0 34 13' fill='none' stroke='%2301271A' stroke-width='1.2'%3E%3Cpath d='M0 6.5h33M27 1l6 5.5-6 5.5'/%3E%3C/svg%3E") no-repeat right 20px center / 34px 13px !important;
					font-size: 13px;
					letter-spacing: 0.03em;
					color: #01271a;
				}

				&.current-menu-item > a {
					color: #01271a;
				}
			}
		}
	}
}


.actu-intro {
	position: relative;
	/* Marge entre le bord de l'écran et la zone de 1200px */
	--actu-gutter: max(0px, (100% - 1200px) / 2);

	&::before {
		content: 'Actualités';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 2;

		/* De la gauche de l'écran jusqu'à 47px dans le contenu */
		width: calc(var(--actu-gutter) + 47px);
		box-sizing: border-box;
		/* Garde le texte calé sur le bord droit (bas des lettres coupé de ~50px) */
		padding-right: max(0px, var(--actu-gutter) - 61px);
		overflow: hidden;

		background: #014F53;
		color: #12F484;
		font-family: 'Plus Jakarta Sans', sans-serif;
		font-size: 125px;
		font-weight: 500;
		line-height: normal;
		letter-spacing: -0.02em;
		white-space: nowrap;

		writing-mode: vertical-rl;
		transform: rotate(180deg);
		pointer-events: none;
	}
}

/* Contenu décalé pour ne pas passer sous le rectangle (cf. maquette : titre à +104px) */
.actu-intro .uagb-container-inner-blocks-wrap > * {
	padding-left: 104px;
}

@media (width <= 1280px) {
	.actu-intro::before {
		display: none;
	}

	.actu-intro .uagb-container-inner-blocks-wrap > * {
		padding-left: 0;
	}
}


body.single-post #content .ast-container {
	padding: 0 !important;
	max-width: none;
}

/* *
 * ENTRY CONTENT
 *  */

.entry-content.wp-block-post-content {
	/* Couleurs */
	--ec-text: #0f1a17;          /* texte principal */
	--ec-title: #01271a;         /* titres, liens */
	--ec-accent: #0cdc75;        /* vert — H3, hover */
	--ec-accent-light: #12f484;  /* vert clair — citation */
	--ec-dark: #014f53;          /* fond citation */
	--ec-muted: #6e737d;         /* légendes */
 
	/* Espacements verticaux (maquette desktop) */
	--ec-space-p: 27px;          /* entre paragraphes / listes */
	--ec-space-h2: 60px;         /* avant un H2 (nouvelle section) */
	--ec-space-after-h2: 25px;
	--ec-space-h3: 35px;         /* avant un H3 */
	--ec-space-after-h3: 20px;
	--ec-space-media: 35px;      /* autour des images / citations */
	--ec-space-lead: 60px;       /* après le chapô */
 
	max-width: 800px;
	margin-inline: auto;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 27px;
	color: var(--ec-text);
}
 
/* --------------------------------------------------------------------------
   Rythme vertical — on neutralise les marges d'Astra / WP et on gère
   l'espacement uniquement entre blocs frères.
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content > * {
	margin-top: 0;
	margin-bottom: 0;
}
 
.entry-content.wp-block-post-content > * + * {
	margin-top: var(--ec-space-p);
}
 
/* --------------------------------------------------------------------------
   Chapô — 1er paragraphe de l'article (ou classe « chapo » ajoutée
   dans Bloc > Avancé > Classes CSS additionnelles)
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content > p:first-child,
.entry-content.wp-block-post-content > p.chapo {
	font-size: 20px;
	font-weight: 500;
	line-height: 32px;
}
 
.entry-content.wp-block-post-content > p:first-child + *,
.entry-content.wp-block-post-content > p.chapo + * {
	margin-top: var(--ec-space-lead);
}
 
/* --------------------------------------------------------------------------
   Titres
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content h2,
.entry-content.wp-block-post-content h3,
.entry-content.wp-block-post-content h4,
.entry-content.wp-block-post-content h5,
.entry-content.wp-block-post-content h6 {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 500;
	color: var(--ec-title);
	text-transform: none;
}
 
.entry-content.wp-block-post-content h2 {
	font-size: 40px;
	line-height: 48px;
	letter-spacing: -0.8px;
}
 
.entry-content.wp-block-post-content h3 {
	font-size: 24px;
	line-height: 32px;
	letter-spacing: -0.48px;
	color: var(--ec-accent);
}
 
.entry-content.wp-block-post-content h4 {
	font-size: 24px;
	line-height: 32px;
	letter-spacing: -0.48px;
}
 
.entry-content.wp-block-post-content h5,
.entry-content.wp-block-post-content h6 {
	font-size: 18px;
	line-height: 27px;
}
 
.entry-content.wp-block-post-content > * + h2 { margin-top: var(--ec-space-h2); }
.entry-content.wp-block-post-content > h2 + * { margin-top: var(--ec-space-after-h2); }
 
.entry-content.wp-block-post-content > * + h3,
.entry-content.wp-block-post-content > * + h4 { margin-top: var(--ec-space-h3); }
.entry-content.wp-block-post-content > h3 + *,
.entry-content.wp-block-post-content > h4 + * { margin-top: var(--ec-space-after-h3); }
 
.entry-content.wp-block-post-content > h2 + h3,
.entry-content.wp-block-post-content > h2 + h4 { margin-top: var(--ec-space-after-h2); }
 
/* --------------------------------------------------------------------------
   Texte courant
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content p {
	margin-bottom: 0; /* écrase le 1.6em d'Astra */
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
 
.entry-content.wp-block-post-content strong,
.entry-content.wp-block-post-content b {
	font-weight: 600;
}
 
.entry-content.wp-block-post-content a {
	color: var(--ec-title);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-position: from-font;
	transition: color 0.2s;
}
 
.entry-content.wp-block-post-content a:hover,
.entry-content.wp-block-post-content a:focus-visible {
	color: var(--ec-accent);
}
 
/* --------------------------------------------------------------------------
   Listes
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content ul,
.entry-content.wp-block-post-content ol {
	margin-left: 0;
	padding-left: 24px;
}
 
.entry-content.wp-block-post-content ul { list-style: disc; }
.entry-content.wp-block-post-content ol { list-style: decimal; }
 
.entry-content.wp-block-post-content li {
	margin: 0;
	line-height: 27px;
}
 
.entry-content.wp-block-post-content li > ul,
.entry-content.wp-block-post-content li > ol {
	margin: 0;
}
 
/* --------------------------------------------------------------------------
   Images + légendes
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content > figure,
.entry-content.wp-block-post-content > .wp-block-image,
.entry-content.wp-block-post-content > .wp-block-gallery,
.entry-content.wp-block-post-content > .wp-block-embed,
.entry-content.wp-block-post-content > .wp-block-video {
	margin-top: var(--ec-space-media);
}
 
.entry-content.wp-block-post-content > figure + *,
.entry-content.wp-block-post-content > .wp-block-image + *,
.entry-content.wp-block-post-content > .wp-block-gallery + *,
.entry-content.wp-block-post-content > .wp-block-embed + *,
.entry-content.wp-block-post-content > .wp-block-video + * {
	margin-top: var(--ec-space-media);
}
 
.entry-content.wp-block-post-content .wp-block-image img,
.entry-content.wp-block-post-content figure > img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 9px;
}
 
.entry-content.wp-block-post-content figcaption,
.entry-content.wp-block-post-content .wp-element-caption {
	margin: 14px 0 0;
	font-size: 13px;
	line-height: 27px;
	color: var(--ec-muted);
	text-align: left;
}
 
/* --------------------------------------------------------------------------
   Citation (bloc Citation + bloc Exergue)
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content .wp-block-pullquote {
	padding: 0;
	border: 0;
	text-align: left;
}
 
.entry-content.wp-block-post-content blockquote,
.entry-content.wp-block-post-content .wp-block-quote,
/* sélecteur renforcé pour écraser la bordure gauche ajoutée par WordPress */
.entry-content.wp-block-post-content .wp-block-quote:not(.has-text-align-right):not(.has-text-align-center) {
	display: flex;
	flex-direction: column;
	gap: 28px;
	margin: 0;
	padding: 26px;
	border: 0;
	border-radius: 0;
	background: var(--ec-dark);
	font-style: normal;
	text-align: left;
}
 
.entry-content.wp-block-post-content > blockquote,
.entry-content.wp-block-post-content > .wp-block-quote,
.entry-content.wp-block-post-content > .wp-block-pullquote {
	margin-top: var(--ec-space-media);
}
 
.entry-content.wp-block-post-content > blockquote + *,
.entry-content.wp-block-post-content > .wp-block-quote + *,
.entry-content.wp-block-post-content > .wp-block-pullquote + * {
	margin-top: 29px;
}
 
.entry-content.wp-block-post-content blockquote p {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	font-style: normal;
	line-height: 27px;
	color: var(--ec-accent-light);
}
 
.entry-content.wp-block-post-content blockquote p + p {
	margin-top: 27px;
}
 
.entry-content.wp-block-post-content blockquote cite,
.entry-content.wp-block-post-content blockquote footer {
	display: block;
	margin: 0;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 27px;
	color: #fff;
	text-transform: none;
}
 
.entry-content.wp-block-post-content blockquote cite::before {
	content: "- ";
}
 
.entry-content.wp-block-post-content blockquote a {
	color: inherit;
}
 
/* --------------------------------------------------------------------------
   Éléments secondaires (séparateur, tableau, code)
   -------------------------------------------------------------------------- */
.entry-content.wp-block-post-content hr,
.entry-content.wp-block-post-content .wp-block-separator {
	height: 0;
	margin-top: var(--ec-space-media);
	margin-bottom: 0;
	border: 0;
	border-top: 1px solid var(--ec-accent);
	opacity: 1;
}
 
.entry-content.wp-block-post-content .wp-block-separator + * {
	margin-top: var(--ec-space-media);
}
 
.entry-content.wp-block-post-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 22px;
}
 
.entry-content.wp-block-post-content th,
.entry-content.wp-block-post-content td {
	padding: 10px 12px;
	border: 1px solid #dfe3e1;
	text-align: left;
}
 
.entry-content.wp-block-post-content th {
	font-weight: 600;
	color: var(--ec-title);
}
 
.entry-content.wp-block-post-content code {
	padding: 2px 6px;
	background: #f1f5f3;
	font-size: 0.875em;
}
 
/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 921px) {
	.entry-content.wp-block-post-content {
		--ec-space-h2: 48px;
		--ec-space-lead: 48px;
	}
 
	.entry-content.wp-block-post-content h2 {
		font-size: 32px;
		line-height: 40px;
		letter-spacing: -0.64px;
	}
}
 
@media (max-width: 544px) {
	.entry-content.wp-block-post-content {
		--ec-space-h2: 40px;
		--ec-space-after-h2: 20px;
		--ec-space-h3: 30px;
		--ec-space-media: 28px;
		--ec-space-lead: 40px;
	}
 
	.entry-content.wp-block-post-content > p:first-child,
	.entry-content.wp-block-post-content > p.chapo {
		font-size: 18px;
		line-height: 28px;
	}
 
	.entry-content.wp-block-post-content h2 {
		font-size: 28px;
		line-height: 34px;
		letter-spacing: -0.56px;
	}
 
	.entry-content.wp-block-post-content h3,
	.entry-content.wp-block-post-content h4 {
		font-size: 20px;
		line-height: 28px;
		letter-spacing: -0.4px;
	}
 
	.entry-content.wp-block-post-content blockquote,
	.entry-content.wp-block-post-content .wp-block-quote {
		gap: 20px;
		padding: 20px;
	}
 
	.entry-content.wp-block-post-content blockquote p {
		font-size: 17px;
		line-height: 26px;
	}
}


/* ---------- Tags article (maquette GDR OERA) ---------- */
.wp-block-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding-top: 60px;
  margin: 0;
}

.wp-block-tag-cloud a.tag-cloud-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px 8px;
  border: 1px solid #01271A;
  border-radius: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 14px !important; /* écrase le style="font-size: 8pt" de WordPress */
  line-height: 22px;
  color: #01271A;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
}

.wp-block-tag-cloud a.tag-cloud-link:hover,
.wp-block-tag-cloud a.tag-cloud-link:focus-visible {
  background-color: #01271A;
  color: #fff;
}
