/*
Theme Name: FCPE 78
Theme URI: https://www.fcpe78.fr
Author: FCPE 78 – CDPE des Yvelines
Description: Thème du site de la FCPE 78 (CDPE des Yvelines) : couleurs de la charte, police Poppins hébergée sur le site, compositions de blocs pour l'accueil, les actualités, les formations et l'espace des conseils locaux. Toute la mise en page se modifie dans l'éditeur de WordPress, sans code.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.1.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fcpe78
Tags: block-patterns, full-site-editing, accessibility-ready
*/

/* Les styles du thème sont définis dans theme.json. Ce fichier ne contient que quelques compléments. */

/* Lien d'évitement visible au clavier */
.skip-link.screen-reader-text:focus {
	background: #ffffff;
	color: #1D2140;
}

/* Bouton « vert » (Adhérer) au survol : reste lisible */
.wp-block-button.is-style-vert .wp-block-button__link:hover {
	background-color: #1D2140;
	color: #ffffff;
}

/* Bouton contour au survol */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: #343A9A;
	color: #ffffff;
}

/* Barre de navigation principale sur fond bleu */
.fcpe78-barre-menu .wp-block-navigation a,
.fcpe78-barre-menu .wp-block-navigation .wp-block-navigation__responsive-container-open {
	color: #ffffff;
}
.fcpe78-barre-menu .wp-block-navigation .wp-block-navigation__submenu-container a {
	color: #1D2140;
}
.fcpe78-barre-menu .wp-block-navigation-item.current-menu-item > a {
	box-shadow: inset 0 -4px 0 #B3E09E;
}
.fcpe78-barre-menu .wp-block-navigation__responsive-container.is-menu-open a {
	color: #1D2140;
}

/* Cartes de liste (articles, formations) : hauteur homogène */
.wp-block-post-template.is-layout-grid > li {
	display: flex;
	flex-direction: column;
}

/* Images toujours contenues */
img {
	max-width: 100%;
	height: auto;
}

/* Réduction des animations si l'utilisateur le demande */
@media (prefers-reduced-motion: reduce) {
	* {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

/* ---------------------------------------------------------------
   Version 1.0.2 : en-tête comme la maquette
   --------------------------------------------------------------- */
.fcpe78-reseaux .wp-block-button.is-style-whatsapp .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	border: 0;
	background: #E6F4EA;
	color: #14532D;
	font-size: 14px;
	font-weight: 600;
}
.wp-block-button.is-style-whatsapp .wp-block-button__link::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5l1.4-4.2A8.5 8.5 0 1 1 8 19.3z'/%3E%3Cpath d='M9 9.5c0 3 2.5 5.5 5.5 5.5l1-1.5-2-1-1 .8a3.5 3.5 0 0 1-1.8-1.8l.8-1-1-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5l1.4-4.2A8.5 8.5 0 1 1 8 19.3z'/%3E%3Cpath d='M9 9.5c0 3 2.5 5.5 5.5 5.5l1-1.5-2-1-1 .8a3.5 3.5 0 0 1-1.8-1.8l.8-1-1-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-button.is-style-whatsapp .wp-block-button__link:hover {
	background: #14532D;
	color: #ffffff;
}
.fcpe78-icones.wp-block-social-links .wp-social-link {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #EEF0FA !important;
	color: #343A9A !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.fcpe78-icones.wp-block-social-links .wp-social-link a {
	padding: 0;
	color: #343A9A !important;
}
.fcpe78-icones.wp-block-social-links .wp-social-link svg {
	width: 20px;
	height: 20px;
}
.fcpe78-icones.wp-block-social-links .wp-social-link:hover {
	background: #343A9A !important;
	transform: none;
}
.fcpe78-icones.wp-block-social-links .wp-social-link:hover a {
	color: #ffffff !important;
}
.fcpe78-boutons-entete .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	font-size: 15px;
	font-weight: 600;
}
.fcpe78-boutons-entete .is-style-outline .wp-block-button__link {
	border-width: 2px;
}
.wp-block-button.fcpe78-cadenas .wp-block-button__link::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.fcpe78-recherche .wp-block-search__button {
	min-height: 44px;
	min-width: 44px;
	border-radius: 999px;
}

/* Menu principal : sous-menus lisibles */
.fcpe78-barre-menu .wp-block-navigation .wp-block-navigation__submenu-container {
	border: 1px solid #DADDEE;
	border-radius: 10px;
	padding: 6px 0;
	min-width: 16rem;
	box-shadow: 0 8px 24px rgba(29, 33, 64, .12);
}
.fcpe78-barre-menu .wp-block-navigation .wp-block-navigation__submenu-container a {
	padding: 8px 16px;
}

/* Portraits de l'équipe : tous au même format */
.fcpe78-portrait img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 16px;
}
.fcpe78-portrait {
	margin-bottom: 8px;
}
.fcpe78-equipe .wp-block-column p {
	margin: 0;
	text-align: center;
}

/* Tuiles illustrées et logos des partenaires */
.fcpe78-tuile {
	border: 1px solid #DADDEE;
	border-radius: 16px;
	padding: 20px;
	background: #ffffff;
}
.fcpe78-tuile img {
	width: 100%;
	max-width: 220px;
	aspect-ratio: 1;
	object-fit: contain;
}
.fcpe78-partenaires {
	flex-wrap: wrap !important;
}
.fcpe78-partenaire {
	border: 1px solid #DADDEE;
	border-radius: 16px;
	padding: 16px;
	background: #ffffff;
	flex: 1 1 160px !important;
}
.fcpe78-partenaire img {
	width: 100%;
	max-height: 96px;
	object-fit: contain;
}

/* Liste compacte des actualités sur l'accueil */
.fcpe78-actus-liste .wp-block-post-template {
	display: grid;
	gap: 16px;
	list-style: none;
	padding: 0;
}
.fcpe78-actu .wp-block-post-featured-image img {
	border-radius: 10px;
}
.fcpe78-actu .wp-block-post-title a {
	text-decoration: none;
	color: #1D2140;
}

/* Calendrier des formations (The Events Calendar) aux couleurs du site */
.tribe-common {
	--tec-font-family-sans-serif: "Poppins", system-ui, sans-serif;
	--tec-font-family-base: "Poppins", system-ui, sans-serif;
	--tec-color-accent-primary: #343A9A;
	--tec-color-accent-primary-hover: #1D2140;
	--tec-color-button-primary: #343A9A;
	--tec-color-link-accent: #343A9A;
	--tec-color-text-primary: #1D2140;
	--tec-color-text-secondary: #3A3F5C;
	--tec-color-border-default: #DADDEE;
}
.tribe-events .tribe-events-calendar-list__event-row {
	border: 1px solid #DADDEE;
	border-radius: 16px;
	padding: 20px;
	margin-bottom: 20px;
}
.tribe-events-single .tribe-events-single-event-title {
	color: #1D2140;
}

/* ---------------------------------------------------------------
   Version 1.0.4 : en-tête identique à la maquette
   --------------------------------------------------------------- */
.fcpe78-entete {
	font-family: "Poppins", system-ui, sans-serif;
	color: #1D2140;
	background: #FFFFFF;
	width: 100%;
}
.fcpe78-entete a { text-decoration: none; }
.fcpe78-entete__reseaux {
	max-width: 1200px;
	margin: 0 auto;
	padding: 10px 24px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
}
.fcpe78-entete__principal {
	max-width: 1200px;
	margin: 0 auto;
	padding: 16px 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
}
.fcpe78-pastille {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	box-sizing: border-box;
	line-height: 1.2;
}
.fcpe78-pastille--whatsapp { background: #E6F4EA; color: #14532D; font-size: 14px; }
.fcpe78-pastille--whatsapp:hover { background: #14532D; color: #FFFFFF; }
.fcpe78-pastille--contour { border: 2px solid #343A9A; color: #343A9A; }
.fcpe78-pastille--contour:hover { background: #343A9A; color: #FFFFFF; }
.fcpe78-pastille--vert { background: #B3E09E; color: #1D2140; padding: 0 20px; }
.fcpe78-pastille--vert:hover { background: #1D2140; color: #FFFFFF; }
.fcpe78-rond {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #EEF0FA;
	color: #343A9A;
	cursor: pointer;
	box-sizing: border-box;
}
.fcpe78-rond:hover { background: #343A9A; color: #FFFFFF; }
.fcpe78-marque {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #1D2140;
	min-width: 0;
}
.fcpe78-marque img { height: 72px; width: auto; display: block; }
.fcpe78-marque__textes { display: flex; flex-direction: column; line-height: 1.25; }
.fcpe78-marque__nom { font-size: 20px; font-weight: 700; color: #343A9A; }
.fcpe78-marque__sous-titre { font-size: 13px; color: #3A3F5C; }
.fcpe78-entete__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.fcpe78-recherche-ouvrante { position: relative; }
.fcpe78-recherche-ouvrante summary { list-style: none; }
.fcpe78-recherche-ouvrante summary::-webkit-details-marker { display: none; }
.fcpe78-recherche-ouvrante__form {
	position: absolute;
	right: 0;
	top: 52px;
	z-index: 100;
	display: flex;
	gap: 8px;
	padding: 12px;
	background: #FFFFFF;
	border: 1px solid #DADDEE;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(29, 33, 64, .12);
	width: min(22rem, 85vw);
	box-sizing: border-box;
}
.fcpe78-recherche-ouvrante__form input {
	flex: 1;
	min-width: 0;
	font: inherit;
	padding: 10px 12px;
	border: 1px solid #DADDEE;
	border-radius: 999px;
}
.fcpe78-recherche-ouvrante__form button {
	font: inherit;
	font-weight: 600;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: #343A9A;
	color: #FFFFFF;
	cursor: pointer;
}
.fcpe78-entete__menu { background: #343A9A; }
.fcpe78-entete__menu-interieur { max-width: 1200px; margin: 0 auto; padding: 0 12px; box-sizing: border-box; }
.fcpe78-nav.wp-block-navigation { color: #FFFFFF; }
.fcpe78-nav .wp-block-navigation__container { gap: 4px; }
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 14px;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 500;
	border-bottom: 4px solid transparent;
	box-sizing: border-box;
	text-decoration: none;
}
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content.fcpe78-ici,
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	border-bottom-color: #B3E09E;
}
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content.fcpe78-ici { font-weight: 700; }
.fcpe78-nav .wp-block-navigation__submenu-icon { color: #FFFFFF; margin-left: -8px; margin-right: 6px; }
.fcpe78-nav .wp-block-navigation__submenu-container {
	background: #FFFFFF !important;
	color: #1D2140 !important;
	border: 1px solid #DADDEE !important;
	border-radius: 12px;
	padding: 6px 0;
	min-width: 17rem !important;
	box-shadow: 0 8px 24px rgba(29, 33, 64, .12);
}
.fcpe78-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #1D2140;
	padding: 9px 16px;
	font-size: 15px;
	text-decoration: none;
}
.fcpe78-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.fcpe78-nav .wp-block-navigation__submenu-container .fcpe78-ici { background: #EEF0FA; color: #343A9A; }
.fcpe78-nav .wp-block-navigation__responsive-container-open { color: #FFFFFF; min-height: 48px; }
.fcpe78-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #1D2140 !important; border: 0 !important; min-height: 0 !important; }
@media (max-width: 600px) {
	.fcpe78-entete__reseaux, .fcpe78-entete__principal { padding-left: 16px; padding-right: 16px; }
	.fcpe78-marque img { height: 56px; }
	.fcpe78-marque__sous-titre { font-size: 12px; }
	.fcpe78-entete__reseaux { flex-wrap: nowrap; gap: 6px; }
	.fcpe78-pastille--whatsapp { font-size: 13px; padding: 0 12px; gap: 6px; }
}

/* Version 1.0.5 : colonne de côté de l'accueil (encart cliquable et chaîne WhatsApp) */
.fcpe78-colonne-cote > * + * { margin-top: 24px; }
.fcpe78-encart img { width: 100%; border-radius: 16px; box-shadow: 0 6px 20px rgba(29, 33, 64, .12); }
.fcpe78-encart a:hover img { box-shadow: 0 10px 28px rgba(29, 33, 64, .2); }
.fcpe78-carte-whatsapp { border: 1px solid #DADDEE; border-radius: 16px; padding: 16px; background: #FFFFFF; }
.fcpe78-carte-whatsapp img { width: 100%; border-radius: 12px; }
.fcpe78-carte-whatsapp p { font-size: 15px; line-height: 1.5; }
.wp-block-button.is-style-whatsapp .wp-block-button__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 0; background: #E6F4EA; color: #14532D; font-size: 14px; font-weight: 600; }

/* ---------------------------------------------------------------
   Version 1.0.6 : logo et nom plus grands, barre verte continue sous le menu
   --------------------------------------------------------------- */
.fcpe78-marque { gap: 20px; }
.fcpe78-marque img { height: 120px; }
.fcpe78-marque__nom { font-size: 38px; line-height: 1.1; }
.fcpe78-marque__sous-titre { font-size: 16px; margin-top: 4px; }
.fcpe78-entete__principal { padding-top: 8px; padding-bottom: 20px; }
.fcpe78-entete__actions { margin-left: auto; justify-content: flex-end; }
.fcpe78-entete__menu { border-bottom: 5px solid #B3E09E; }
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content.fcpe78-ici,
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	border-bottom: 0;
	min-height: 52px;
}
.fcpe78-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 782px) {
	.fcpe78-marque img { height: 76px; }
	.fcpe78-marque__nom { font-size: 26px; }
	.fcpe78-marque__sous-titre { font-size: 13px; }
	.fcpe78-entete__actions { margin-left: 0; }
}

/* Tuiles : dessins à la même échelle (même hauteur de dessin) */
.fcpe78-tuile .wp-block-image { height: 230px; display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.fcpe78-tuile .wp-block-image a { display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; }
.fcpe78-tuile img { height: 100% !important; width: 100% !important; max-width: none; aspect-ratio: auto !important; object-fit: contain !important; }

/* ---------------------------------------------------------------
   Version 1.0.8 : textes homogènes (sans toucher aux blocs mis en forme à la main)
   --------------------------------------------------------------- */
.wp-block-post-content { font-size: 17px; line-height: 1.7; }
.wp-block-post-content :is(p, li):not([class*="-font-size"]):not([style*="font-size"]) { font-size: 17px; line-height: 1.7; }
.wp-block-post-content :is(h1, h2, h3, h4, h5, h6) { line-height: 1.3; }
.wp-block-post-content h2:not([class*="-font-size"]):not([style*="font-size"]) { font-size: 28px; }
.wp-block-post-content h3:not([class*="-font-size"]):not([style*="font-size"]) { font-size: 22px; }
.wp-block-post-content h4:not([class*="-font-size"]):not([style*="font-size"]) { font-size: 19px; }
.wp-block-post-content :is(h5, h6):not([class*="-font-size"]):not([style*="font-size"]) { font-size: 17px; font-weight: 600; }
.wp-block-post-content .wp-block-column :is(h2, h3):not([class*="-font-size"]):not([style*="font-size"]) { font-size: 21px; }
.wp-block-post-content .wp-block-column :is(p, li):not([class*="-font-size"]):not([style*="font-size"]) { font-size: 16px; }
/* Titres sur fond coloré : la couleur du fond décide (texte blanc sur bleu). */
.has-bleu-background-color :is(h1, h2, h3, h4, p):not(.has-text-color),
.has-nuit-background-color :is(h1, h2, h3, h4, p):not(.has-text-color) { color: #FFFFFF; }
/* Images : jamais démesurées */
.wp-block-post-content .wp-block-image img { max-height: 520px; width: auto; max-width: 100%; object-fit: contain; border-radius: 12px; }
.wp-block-post-content > .wp-block-image.alignwide img,
.wp-block-post-content > .wp-block-image.alignfull img { width: 100%; max-height: 300px; object-fit: cover; border-radius: 20px; }
/* Image en tête de page : visible en entier, sans être démesurée (1.1.2) */
.wp-block-post-content > .wp-block-image:first-child { text-align: center; }
.wp-block-post-content > .wp-block-image:first-child img { width: auto; max-width: 100%; max-height: 440px; height: auto; object-fit: contain; border-radius: 20px; }
.wp-block-post-content .wp-block-column .wp-block-image img { max-height: 200px; }
.wp-block-post-content .fcpe78-portrait img,
.wp-block-post-content .fcpe78-tuile img { max-height: none; }
/* Colonne de côté de l'accueil : l'encart et le visuel WhatsApp gardent toute la largeur. */
.wp-block-post-content .fcpe78-colonne-cote .wp-block-image img { width: 100%; max-height: none; height: auto; object-fit: initial; }
/* Équipe : cartes de même largeur, centrées */
.fcpe78-equipe { justify-content: center; }
.fcpe78-equipe > .wp-block-column { flex: 0 1 250px !important; }
/* Pied de page : liens sans soulignement */
.fcpe78-pied a { text-decoration: none !important; }
.fcpe78-pied a:hover, .fcpe78-pied a:focus { text-decoration: underline !important; text-underline-offset: 4px; }
/* Tuiles « S'engager » */
.fcpe78-tuile p { font-size: 15px; }

/* ---------------------------------------------------------------
   Version 1.0.9 : grand logo centré dans la zone blanche,
   réseaux sociaux et boutons regroupés à droite
   --------------------------------------------------------------- */
.fcpe78-entete__principal { padding: 22px 24px; align-items: center; flex-wrap: nowrap; }
.fcpe78-marque img { height: 160px; }
.fcpe78-marque__nom { font-size: 44px; }
.fcpe78-marque__sous-titre { font-size: 17px; }
.fcpe78-entete__droite { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; margin-left: auto; }
.fcpe78-entete__droite .fcpe78-entete__reseaux { max-width: none; margin: 0; padding: 0; gap: 8px; }
.fcpe78-entete__droite .fcpe78-entete__actions { margin: 0; gap: 8px; }
@media (max-width: 1000px) {
	.fcpe78-entete__principal { flex-wrap: wrap; }
	.fcpe78-marque img { height: 110px; }
	.fcpe78-marque__nom { font-size: 32px; }
	.fcpe78-entete__droite { margin-left: 0; align-items: flex-start; width: 100%; }
	.fcpe78-entete__droite .fcpe78-entete__reseaux, .fcpe78-entete__droite .fcpe78-entete__actions { justify-content: flex-start; flex-wrap: wrap; }
}
@media (max-width: 600px) {
	.fcpe78-marque img { height: 84px; }
	.fcpe78-marque__nom { font-size: 26px; }
	.fcpe78-marque__sous-titre { font-size: 13px; }
	.fcpe78-entete__droite .fcpe78-entete__reseaux { flex-wrap: wrap; }
}

/* Partenaires : seuls les logos ; une carte sans logo n'apparaît pas sur le site */
body:not(.editor-styles-wrapper) .fcpe78-partenaire:not(:has(img[src])) { display: none; }
.fcpe78-partenaire { display: flex; align-items: center; justify-content: center; min-height: 120px; }
.fcpe78-partenaire .wp-block-image { margin: 0; width: 100%; }

/* ---------------------------------------------------------------
   Version 1.1.0 : accessibilité et confort de lecture
   --------------------------------------------------------------- */
.wp-site-blocks { zoom: var(--fcpe78-zoom, 1); }
.fcpe78-entete__menu-interieur { display: flex; align-items: center; gap: 12px; }
.fcpe78-entete__menu-interieur > .fcpe78-nav { flex: 1 1 auto; min-width: 0; }
.fcpe78-taille { display: inline-flex; gap: 4px; flex: none; }
.fcpe78-taille__bouton {
	min-width: 40px; min-height: 40px; padding: 0 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.6);
	background: transparent; color: #FFFFFF; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; line-height: 1;
}
.fcpe78-taille__bouton--grand { font-size: 17px; }
.fcpe78-taille__bouton:hover { background: #FFFFFF; color: #343A9A; }
/* Repère de focus toujours visible au clavier */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid #1D2140; outline-offset: 2px; border-radius: 4px; }
.fcpe78-entete__menu :focus-visible, .has-bleu-background-color :focus-visible, .fcpe78-pied :focus-visible { outline-color: #FFFFFF; }
.skip-link.screen-reader-text:focus { position: fixed; left: 12px; top: 12px; z-index: 100000; padding: 12px 18px; border-radius: 10px; background: #FFFFFF; color: #1D2140; font-weight: 700; clip: auto; clip-path: none; width: auto; height: auto; }
/* Liens du texte toujours reconnaissables */
.wp-block-post-content p a, .wp-block-post-content li a { text-decoration: underline; text-underline-offset: 3px; }
/* Photos et légendes centrées dans les colonnes (équipe, présidents d'honneur…) */
.wp-block-post-content .wp-block-column > .wp-block-image { display: flex; flex-direction: column; align-items: center; }
.wp-block-post-content .wp-block-column:has(> .wp-block-image) > :is(p, h3, h4, h5, h6) { text-align: center; }
@media (max-width: 782px) { .fcpe78-taille { display: none; } }

/* ---------------------------------------------------------------
   Version 1.1.1 : logos des partenaires sans cadre, centrés ;
   présidents d'honneur centrés sous leur photo
   --------------------------------------------------------------- */
.fcpe78-logos { gap: 32px 48px !important; align-items: center; justify-content: center !important; }
.fcpe78-logos > .wp-block-image,
.fcpe78-logos > figure { margin: 0 !important; flex: 0 0 auto; width: 180px; max-width: 42vw; border: 0; background: none; padding: 0; }
.fcpe78-logos img { display: block; width: 100%; height: 90px !important; object-fit: contain; aspect-ratio: auto !important; }
.fcpe78-logos figcaption { display: none; }
body:not(.editor-styles-wrapper) .fcpe78-logos > figure:not(:has(img[src])) { display: none; }
.editor-styles-wrapper .fcpe78-logos > figure:not(:has(img[src])) { min-height: 90px; outline: 1px dashed #B9BDD9; }
.fcpe78-equipe .wp-block-column { text-align: center; }
.fcpe78-equipe .wp-block-image { margin-left: auto; margin-right: auto; }

/* ---------------------------------------------------------------
   Version 1.1.2
   --------------------------------------------------------------- */
/* Accueil : le visuel du bandeau prend toute sa colonne */
.wp-block-post-content .alignfull.has-lavande-background-color > .wp-block-columns .wp-block-image img,
.fcpe78-bandeau-accueil .wp-block-image img { width: 100%; max-height: none; height: auto; object-fit: cover; border-radius: 20px; box-shadow: 0 10px 30px rgba(29, 33, 64, .12); }
.wp-block-post-content .alignfull.has-lavande-background-color > .wp-block-columns .wp-block-image { margin: 0; }

/* Image mise en avant des pages : entière, jamais recadrée en bandeau */
main > .wp-block-post-featured-image { aspect-ratio: auto !important; height: auto !important; text-align: center; }
main > .wp-block-post-featured-image img { width: auto !important; max-width: 100%; height: auto !important; max-height: 440px; object-fit: contain !important; display: inline-block; }


/* ---------------------------------------------------------------
   Version 1.1.3
   --------------------------------------------------------------- */
/* Accueil : vignettes des actualités toutes de la même taille */
.fcpe78-actu .wp-block-post-featured-image { flex: 0 0 168px; width: 168px !important; height: 112px !important; margin: 0; overflow: hidden; border-radius: 10px; }
.fcpe78-actu .wp-block-post-featured-image a { display: block; width: 100%; height: 100%; }
.fcpe78-actu .wp-block-post-featured-image img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover !important; border-radius: 10px; }
@media (max-width: 600px) { .fcpe78-actu .wp-block-post-featured-image { flex-basis: 112px; width: 112px !important; height: 80px !important; } }

/* Pages de lecture : colonne centrée, aérée, agréable à lire */
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content { max-width: 1040px; margin-left: auto !important; margin-right: auto !important; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content > * { max-width: 780px; margin-left: auto !important; margin-right: auto !important; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content :is(p, li) { font-size: 18px !important; line-height: 1.75; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content :is(h2, h3) { margin-top: 2.2em; margin-bottom: .6em; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content :is(ul, ol) { padding-left: 1.4em; margin: 0 0 1.6em; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content li { margin-bottom: .7em; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content li > p { display: inline; margin: 0; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content > .wp-block-image { max-width: 1040px; margin: 2em auto !important; text-align: center; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content > .wp-block-columns { max-width: 1040px; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content .wp-block-image img { width: 100% !important; max-width: 1040px; max-height: none !important; height: auto; object-fit: contain !important; border-radius: 16px; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) .wp-block-post-content .wp-block-columns { gap: 40px; margin-top: 2em; }
:is(.fcpe78-page-sengager-dans-son-etablissement, .fcpe78-page-comment-creer-un-conseil-local-fcpe-2) h1.wp-block-post-title { max-width: 780px; margin-left: auto !important; margin-right: auto !important; }
