/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.2.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/

a {
    background-color: transparent;
    color: var(--e-global-color-secondary);
    text-decoration: none
}
a:active,a:hover {
    color: var(--e-global-color-primary)
}

/* Badge de statut rendu par [acf field="projet_statut"]. */
.projet_statut {
	padding: 3px 6px;
	border-radius: 3px;
}

.projet_statut.en_cours {
	background-color: var(--e-global-color-primary);
}

.projet_statut.termine {
	background-color: var(--e-global-color-c_orange);
}

/* ============================================================
   Cartes « Ressource » (CPT ressource) dans une grille Elementor
   ------------------------------------------------------------
   3 designs-types appliqués selon la POSITION de la carte dans la
   grille (et non selon le type de ressource), par cycle de 3 :

   1. Recherche / institutionnel — fond vert, texte clair  → positions 1, 4, 7…
   2. Synthèse / plaidoyer — fond clair + filet d'accent    → positions 2, 5, 8…
   3. Pratique / pédagogique — fond crème                   → positions 3, 6, 9…

   Pour changer la répartition, ajuster le cycle (3n+1 / 3n+2 / 3n).
   ============================================================ */

/* --- Base commune à toutes les cartes ressource ------------- */
.e-loop-item.ressource {
	border-radius: 8px;
	overflow: hidden;
}

/* Conteneur interne transparent par défaut : la couleur posée par
   les règles de position reste visible. */
.alternate-style .e-loop-item.ressource > article {
	background-color: transparent;
	height: 100%;
}

.alternate-style .e-loop-item.ressource .type-ressource .elementor-heading-title {
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 700;
	font-size: .78rem;
}

.alternate-style .e-loop-item.ressource .metas-ressource .elementor-heading-title {
	font-size: .85rem;
}

/* --- Design 1 : Recherche / institutionnel (positions 1, 4, 7…) --- */
.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+1) > * {
	background-color: var(--e-global-color-c_green_mid) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+1) .type-ressource .elementor-heading-title {
	color: var(--e-global-color-c_cream) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+1) .titre-ressource .elementor-heading-title {
	color: #ffffff !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+1) .metas-ressource .elementor-heading-title {
	color: var(--e-global-color-c_green_pale) !important;
}

/* --- Design 2 : Synthèse / plaidoyer (positions 2, 5, 8…) --------- */
.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+2) > * {
	background-color: var(--e-global-color-c_paper) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+2) .type-ressource .elementor-heading-title {
	color: var(--e-global-color-primary) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+2) .titre-ressource .elementor-heading-title {
	color: var(--e-global-color-text) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+2) .metas-ressource .elementor-heading-title {
	color: var(--e-global-color-c_muted) !important;
}

/* --- Design 3 : Pratique / pédagogique (positions 3, 6, 9…) ------- */
.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+3) > * {
	background-color: var(--e-global-color-c_cream_light) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+3) .type-ressource .elementor-heading-title {
	color: var(--e-global-color-c_orange) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+3) .titre-ressource .elementor-heading-title {
	color: var(--e-global-color-text) !important;
}

.alternate-style .elementor-grid .e-loop-item.ressource:nth-child(3n+3) .metas-ressource .elementor-heading-title {
	color: var(--e-global-color-muted) !important;
}

/* ============================================================
   Facette FacetWP « type_de_ressource » (type radio) rendue
   sous forme de pastilles (pills) : options en contour, option
   active (« Tous ») en orange plein. Pensée pour une section au
   fond vert foncé.
   ============================================================ */

.facetwp-facet {
	margin-bottom: 0 !important;
}
.facetwp-input-wrap{
	width:100%;
}
.facetwp-type-sort *{
	border:none;
}

/* Conteneur : pastilles en ligne, qui passent à la ligne. */
.facetwp-facet-type_de_ressource {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

/* Chaque option = pastille verte en contour. On neutralise la puce
   radio par défaut de FacetWP (image de fond / pseudo-élément + retrait
   à gauche), d'où les !important pour passer devant le CSS du plugin. */
.facetwp-facet-type_de_ressource .facetwp-radio {
	display: inline-flex !important;
	align-items: center;
	margin: 0 !important;
	padding: 7px 18px !important;
	border: 1.5px solid #2e9e5e !important;
	border-radius: 999px !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--e-global-color-c_green_pale) !important;
	font-size: var(--e-global-typography-t_caption-font-size);
	font-weight: var(--e-global-typography-t_caption-font-weight);
	line-height: var(--e-global-typography-t_caption-line-height);
	font-family: var(--e-global-typography-t_caption-font-family), Sans-serif;
	letter-spacing: var(--e-global-typography-t_caption-letter-spacing);
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

/* Retire un éventuel marqueur radio rendu en pseudo-élément. */
.facetwp-facet-type_de_ressource .facetwp-radio::before,
.facetwp-facet-type_de_ressource .facetwp-radio::after {
	content: none !important;
	display: none !important;
}

.facetwp-facet-type_de_ressource .facetwp-radio:hover {
	background-color: rgba(46, 158, 94, .12) !important;
}

/* Option active (« Tous ») : pastille orange pleine, texte blanc. */
.facetwp-facet-type_de_ressource .facetwp-radio.checked {
	background-color: #e8802b !important;
	border-color: #e8802b !important;
	color: #ffffff !important;
}

/* Compteurs masqués pour ne garder que le libellé. */
.facetwp-facet-type_de_ressource .facetwp-counter {
	display: none !important;
}

/* ============================================================
   Facette FacetWP « categorie » (type radio) rendue sous forme
   de liste d'étiquettes (pills) claires : chaque option est une
   pastille blanche à contour léger, l'option active en vert foncé
   plein (texte clair). Les compteurs restent affichés. Pensée
   pour une section au fond crème.
   ============================================================ */

/* Conteneur : pastilles en ligne, qui passent à la ligne. */
.facetwp-facet-categorie {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

/* Chaque option = pastille blanche à contour léger. On neutralise
   la puce radio par défaut de FacetWP (image de fond / pseudo-élément
   + retrait à gauche), d'où les !important pour passer devant le CSS
   du plugin. */
.facetwp-facet-categorie .facetwp-radio {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	margin: 0 !important;
	padding: 8px 18px !important;
	border: 1px solid var(--e-global-color-c_line, #e6e6e6) !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	background-image: none !important;
	color: var(--e-global-color-c_green_deep, #1f6e42) !important;
	font-family: var(--e-global-typography-t_body_sm-font-family), Sans-serif;
	font-size: var(--e-global-typography-t_body_sm-font-size);
	font-weight: var(--e-global-typography-t_body_sm-font-weight);
	line-height: var(--e-global-typography-t_body_sm-line-height);
	letter-spacing: var(--e-global-typography-t_body_sm-letter-spacing);
	word-spacing: var(--e-global-typography-t_body_sm-word-spacing);
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

/* Retire un éventuel marqueur radio rendu en pseudo-élément. */
.facetwp-facet-categorie .facetwp-radio::before,
.facetwp-facet-categorie .facetwp-radio::after {
	content: none !important;
	display: none !important;
}

.facetwp-facet-categorie .facetwp-radio:hover {
	background-color: var(--e-global-color-c_cream_light) !important;
}

/* Option active (« Toutes ») : pastille vert foncé pleine, texte clair. */
.facetwp-facet-categorie .facetwp-radio.checked {
	background-color: var(--e-global-color-c_green_deep, #1f6e42) !important;
	border-color: var(--e-global-color-c_green_deep, #1f6e42) !important;
	color: var(--e-global-color-c_paper, #ffffff) !important;
}

/* Compteurs : conservés, légèrement atténués, à la suite du libellé. */
.facetwp-facet-categorie .facetwp-counter {
	color: inherit;
	opacity: .75;
}

/* Sélections de l'utilisateur */
.facetwp-selections .facetwp-selection-value{
	background-color: var(--e-global-color-c_cream_light);
	font-family: var(--e-global-typography-t_caption-font-family), Sans-serif;
	font-size: var(--e-global-typography-t_caption-font-size);
	font-weight: var(--e-global-typography-t_caption-font-weight);
	line-height: var(--e-global-typography-t_caption-line-height);
	letter-spacing: var(--e-global-typography-t_caption-letter-spacing);
	word-spacing: var(--e-global-typography-t_caption-word-spacing);
	fill: var(--e-global-color-c_green_deep);
	color: var(--e-global-color-c_green_deep);
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: var(--e-global-color-c_cream);
	border-radius: 999px 999px 999px 999px;
	padding: 6px 10px 6px 12px;
	margin-right:5px !important;
	margin-bottom:5px;
	padding-right: 24px !important;
	background-position: calc(100% - 8px) center !important;
}
.facetwp-selections ul{padding-left:0 !important;}

/* ============================================================
   Étiquettes « bigtag » : termes rendus par [terms] sous forme
   de pastilles, dans un conteneur portant la classe .bigtag.
   ============================================================ */
.smalltag span{
	margin: 0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;
	padding: 4px 10px 4px 10px;
	background-color: var(--e-global-color-c_cream_light);
	border-style: solid;
	border-width: 1px 1px 1px 1px;
	border-color: var(--e-global-color-c_line);
	border-radius: 999px 999px 999px 999px;
}
.bigtag span {
	padding: 8px 14px;
	border-radius: 6px;
	display:inline-flex;
	margin-bottom:6px;
	margin-right:6px;
	font-family: var(--e-global-typography-t_overline-font-family), Sans-serif;
	font-size: var(--e-global-typography-t_overline-font-size);
	font-weight: var(--e-global-typography-t_overline-font-weight);
	line-height: var(--e-global-typography-t_overline-line-height);
	letter-spacing: var(--e-global-typography-t_overline-letter-spacing);
	word-spacing: var(--e-global-typography-t_overline-word-spacing);
	color: var(--e-global-color-c_paper);
	text-transform:uppercase;
}

.bigtag .zone {
	border-style: solid;
	border-width: 1px;
	border-color: var(--e-global-color-c_green_mid);
}

.bigtag .type_ressource {
	background-color: var(--e-global-color-c_green);
}

.bigtag .thematique {
	background-color: var(--e-global-color-c_orange);
}

/* ============================================================
   Facettes FacetWP de type « cases à cocher » (checkboxes) :
   chaque case est rendue comme un carré vert (contour seul si
   non cochée, plein avec une coche blanche si cochée). On
   neutralise l'icône par défaut du plugin (image de fond) au
   profit d'un carré dessiné en pseudo-éléments. S'applique à
   toutes les facettes checkboxes via `.facetwp-type-checkboxes`.
   ============================================================ */

.facetwp-type-checkboxes .facetwp-checkbox {
	position: relative;
	display: block;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px !important;
	padding: 0 0 0 28px !important;
	background: none !important; /* retire l'icône par défaut de FacetWP */
	cursor: pointer;
	color: var(--e-global-color-text);
}

/* Le carré : état non coché (contour vert seul). */
.facetwp-type-checkboxes .facetwp-checkbox::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	border: 2px solid var(--e-global-color-c_green, #2e9e5e);
	border-radius: 3px;
	background-color: transparent;
	transition: background-color .15s ease, border-color .15s ease;
}

/* État coché : carré vert plein. */
.facetwp-type-checkboxes .facetwp-checkbox.checked::before {
	background-color: var(--e-global-color-c_green, #2e9e5e);
	border-color: var(--e-global-color-c_green, #2e9e5e);
}

/* Coche blanche dessinée par-dessus le carré plein. */
.facetwp-type-checkboxes .facetwp-checkbox.checked::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	box-sizing: border-box;
	width: 6px;
	height: 10px;
	border: solid #ffffff;
	border-width: 0 2px 2px 0;
	transform: translateY(-60%) rotate(45deg);
}

.facetwp-type-checkboxes .facetwp-checkbox:hover::before {
	border-color: var(--e-global-color-c_green_deep, #1f6e42);
}

/* Termes enfants (hiérarchie) : léger retrait sous le parent. */
.facetwp-type-checkboxes .facetwp-depth {
	margin-left: 22px;
}

/* Compteurs : discrets, à la suite du libellé. */
.facetwp-type-checkboxes .facetwp-counter {
	color: var(--e-global-color-c_muted, #888);
}

/* Bouton d'expansion « [+] » : conservé, simplement aligné. */
.facetwp-type-checkboxes .facetwp-expand {
	margin-left: auto;
	cursor: pointer;
}

/* ============================================================
   Facette FacetWP « pagination » (type pager) : chaque page est
   un bouton carré arrondi, blanc en contour léger ; la page
   active est en vert plein (texte clair). Les « … » restent
   affichés comme un bouton mais sans interaction.
   ============================================================ */

.facetwp-type-pager .facetwp-pager {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}

.facetwp-type-pager .facetwp-page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	padding: 9px 12px;
	border: 1px solid var(--e-global-color-c_line, #e6e6e6);
	border-radius: 10px;
	background-color: #ffffff;
	color: var(--e-global-color-text);
	fill: var(--e-global-color-text);
	font-family: var(--e-global-typography-t_body_sm-font-family), Sans-serif;
	font-size: var(--e-global-typography-t_body_sm-font-size);
	font-weight: var(--e-global-typography-t_body_sm-font-weight);
	line-height: var(--e-global-typography-t_body_sm-line-height);
	letter-spacing: var(--e-global-typography-t_body_sm-letter-spacing);
	word-spacing: var(--e-global-typography-t_body_sm-word-spacing);
	text-align: center;
	text-decoration: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.facetwp-type-pager .facetwp-page:hover {
	background-color: var(--e-global-color-c_cream_light);
}

/* Page active : vert plein, texte clair. */
.facetwp-type-pager .facetwp-page.active {
	background-color: var(--e-global-color-c_green_deep);
	border-color: var(--e-global-color-c_green_deep);
	color: var(--e-global-color-c_paper);
	fill: var(--e-global-color-c_paper);
}

/* Points de suspension « … » : aspect bouton, mais non cliquables. */
.facetwp-type-pager .facetwp-page.dots {
	cursor: default;
	pointer-events: none;
}

.facetwp-type-pager .facetwp-page.dots:hover {
	background-color: #ffffff;
}

/* ============================================================
   « Pays concernés » : termes de taxonomie rendus par un widget
   Elementor « Info de publication » (Post Info) et affichés sous
   forme de cartes — pastille verte + libellé. Le widget porte la
   classe .pays-concernes.

   Les termes sont des <span> séparés par des virgules (de simples
   nœuds texte) : le conteneur passe en flex-wrap avec font-size:0
   pour masquer ces virgules ; chaque terme retrouve sa taille. Les
   !important passent devant les règles « inline items » du widget
   Elementor (spécificité plus forte) — sans quoi les items
   restent en display:inline et la pastille (::before) est ignorée.
   ============================================================ */

/* Conteneurs Elementor remis en bloc pleine largeur. */
.pays-concernes .elementor-post-info,
.pays-concernes .elementor-post-info__item,
.pays-concernes .elementor-icon-list-item,
.pays-concernes .elementor-icon-list-text {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

.pays-concernes .elementor-post-info {
	list-style: none;
}

/* Grille fluide de cartes ; font-size:0 masque les virgules
   (nœuds texte) entre les <span>. */
.pays-concernes .elementor-post-info__terms-list {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	font-size: 0;
}

/* Chaque pays = une carte, toujours sur une seule ligne. */
.pays-concernes .elementor-post-info__terms-list-item {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 12px 12px 0;
	padding: 13px 18px;
	border: 1px solid var(--e-global-color-c_line, #e6e6e6);
	border-radius: 10px;
	background: var(--e-global-color-c_paper, #ffffff);
	color: var(--e-global-color-c_green_deep, #1f6e42);
	font-family: var(--e-global-typography-t_body_sm-font-family), Sans-serif;
	font-size: var(--e-global-typography-t_body_sm-font-size);
	font-weight: var(--e-global-typography-t_body_sm-font-weight);
	line-height: 1.2;
	letter-spacing: var(--e-global-typography-t_body_sm-letter-spacing);
	white-space: nowrap !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}

/* Pastille verte à gauche du libellé. */
.pays-concernes .elementor-post-info__terms-list-item::before {
	content: "";
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--e-global-color-c_green, #2e9e5e);
}

/* ============================================================
   Fil d'Ariane (« breadcrumbs ») : liens en blanc, pour un fil
   d'Ariane posé sur un fond sombre / coloré. Rendu par le
   shortcode [breadcrumbs] dans <nav class="rescar-breadcrumbs">.
   ============================================================ */
.rescar-breadcrumbs a {
	color: #fff;
}

/* ============================================================
   Répéteurs ACF du CPT « projet » (Single Projet) : cartes
   rendues par les shortcodes [projet_resultats],
   [projet_groupes_cibles], [projet_objectifs] et [projet_axes]
   (voir repeaters.php).
   ============================================================ */

/* --- Base commune : cartes blanches arrondies ---------------- */
.rescar-resultat,
.rescar-cible,
.rescar-objectif,
.rescar-axe {
	box-sizing: border-box;
	padding: 24px 28px;
	border: 1px solid var(--e-global-color-c_line, #e6e6e6);
	border-radius: 14px;
	background: var(--e-global-color-c_paper, #ffffff);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
	color: var(--e-global-color-text);
}

/* Grilles : résultats empilés pleine largeur ; cibles, objectifs
   et axes sur 2 colonnes (1 colonne sous 768px). */
.rescar-resultats {
	display: grid;
	gap: 18px;
}

.rescar-cibles,
.rescar-objectifs,
.rescar-axes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

/* Paragraphes internes sans marges parasites. */
.rescar-resultat__texte p,
.rescar-cible__description p,
.rescar-objectif__texte p,
.rescar-axe__description p {
	margin: 0;
}

/* Listes internes (besoins / activités) : puces personnalisées. */
.rescar-cible__besoins ul,
.rescar-cible__besoins ol,
.rescar-axe__activites ul,
.rescar-axe__activites ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rescar-cible__besoins li,
.rescar-axe__activites li {
	position: relative;
	margin-bottom: 9px;
	padding-left: 20px;
}

.rescar-cible__besoins li:last-child,
.rescar-axe__activites li:last-child {
	margin-bottom: 0;
}

/* --- [projet_resultats] : badge vert foncé + description ----- */
.rescar-resultat {
	display: flex;
	align-items: center;
	gap: 26px;
}

.rescar-resultat__badge {
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--e-global-color-c_green_deep, #1f6e42);
	text-align: center;
}

.rescar-resultat__badge-label {
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--e-global-color-c_green_pale, #cdead9);
}

.rescar-resultat__badge-numero {
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1.15;
	color: #ffffff;
}

.rescar-resultat__texte {
	flex: 1 1 auto;
}

.rescar-resultat__texte strong {
	color: var(--e-global-color-c_green_deep, #1f6e42);
}

/* --- [projet_groupes_cibles] : numéro, titre, besoins --------- */
.rescar-cible__numero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 9px;
	border-radius: 8px;
	background: var(--e-global-color-c_cream_light, #f6efe3);
	font-style: italic;
	font-weight: 600;
}

.rescar-cible__titre {
	margin: 16px 0 10px;
	color: var(--e-global-color-c_green, #2e9e5e);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
}

.rescar-cible__besoins {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px dashed var(--e-global-color-c_line, #e6e6e6);
}

.rescar-cible__besoins-titre {
	margin: 0 0 12px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--e-global-color-c_muted, #888888);
}

/* Puce ronde verte devant chaque besoin. */
.rescar-cible__besoins li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .52em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--e-global-color-c_green, #2e9e5e);
}

/* --- [projet_objectifs] : badge d'axe + texte ----------------- */
.rescar-objectif__badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 8px;
	background: var(--e-global-color-c_cream_light, #f6efe3);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rescar-objectif__texte {
	margin-top: 12px;
}

.rescar-objectif__texte strong {
	color: var(--e-global-color-c_green_deep, #1f6e42);
}

/* --- [projet_axes] : numéro orange, titre, activités ---------- */
.rescar-axe {
	border-color: var(--e-global-color-c_green_mid, #57a773);
}

.rescar-axe__entete {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.rescar-axe__numero {
	color: var(--e-global-color-c_orange, #e8802b);
	font-size: 1.35rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
}

.rescar-axe__etiquette {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--e-global-color-c_muted, #888888);
}

.rescar-axe__titre {
	margin: 14px 0 10px;
	color: var(--e-global-color-c_green_deep, #1f6e42);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.35;
}

.rescar-axe__activites {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px dashed var(--e-global-color-c_line, #e6e6e6);
}

/* Chevron orange devant chaque activité. */
.rescar-axe__activites li::before {
	content: "›";
	position: absolute;
	left: 2px;
	top: 0;
	color: var(--e-global-color-c_orange, #e8802b);
	font-weight: 700;
}

/* --- Responsive ----------------------------------------------- */
@media (max-width: 767px) {
	.rescar-cibles,
	.rescar-objectifs,
	.rescar-axes {
		grid-template-columns: 1fr;
	}

	.rescar-resultat {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
}

/* ==============================================================
   Carte des zones d'intervention ([carte_zones], carte-zones.php)
   ============================================================== */

.carte-zones {
	position: relative;
}

.carte-zones .carte-zones__svg {
	display: block;
	width: 100%;
	height: auto;
}

/* Pays non couverts : orange du logo, contour papier. */
.carte-zones .carte-zones__pays {
	fill: var(--e-global-color-c_orange, #e8802b);
	stroke: var(--e-global-color-c_paper, #ffffff);
	stroke-width: 0.7;
	transition: fill 0.15s ease;
}

/* Pays couverts par le réseau : vert de charte. */
.carte-zones .carte-zones__pays.couvert {
	fill: var(--e-global-color-c_green, #2e9e5e);
	cursor: pointer;
}

.carte-zones .carte-zones__pays.couvert:hover {
	fill: var(--e-global-color-c_green_deep, #1f6e42);
}

/* Infobulle du survol (créée par assets/carte-zones.js). */
.carte-zones .carte-zones-tooltip {
	position: absolute;
	z-index: 10;
	padding: 6px 12px;
	border-radius: 6px;
	background-color: var(--e-global-color-c_green_deep, #1f6e42);
	color: var(--e-global-color-c_paper, #ffffff);
	font-family: var(--e-global-typography-t_body_sm-font-family), Sans-serif;
	font-size: var(--e-global-typography-t_body_sm-font-size);
	font-weight: var(--e-global-typography-t_body_sm-font-weight);
	line-height: var(--e-global-typography-t_body_sm-line-height);
	letter-spacing: var(--e-global-typography-t_body_sm-letter-spacing);
	word-spacing: var(--e-global-typography-t_body_sm-word-spacing);
	white-space: nowrap;
	pointer-events: none;
	transform: translate(-50%, calc(-100% - 10px));
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	opacity: 0;
	transition: opacity 0.15s ease;
}

.carte-zones .carte-zones-tooltip.visible {
	opacity: 1;
}

/* Liste des pays couverts réservée aux lecteurs d'écran. */
.carte-zones .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	border: 0;
	padding: 0;
}

/* ==============================================================
   Classe utilitaire « mobile-only »
   ============================================================== */

/* Réservée aux entrées de menu (champ « Classes CSS » de Apparence >
   Menus) qui ne doivent apparaître que dans le menu hamburger, en
   dessous de 1024 px — typiquement une entrée doublant un bouton
   d'en-tête masqué sur ces mêmes écrans (voir issue #92).

   Le widget « Menu » d'Elementor rend les mêmes <li> dans le menu
   principal et dans le menu déroulant : la règle masque donc l'entrée
   partout à partir de 1024 px. En dessous, aucune règle d'affichage
   n'est forcée, pour laisser Elementor gérer l'ouverture/fermeture du
   menu déroulant.

   `!important` est nécessaire pour passer devant le CSS d'Elementor. */
@media (min-width: 1024px) {
	.mobile-only {
		display: none !important;
	}
}
