/*
Theme Name: Avant de craquer
Theme URI: http://wordpress.org/
Description:
Author: Dix-Onze inc.
Version: 3.0

strppd.css by Iain MacDonald(http://iainspad.com/strppd-css/)

Based on the Meyer Reset by MeyerWeb (http://meyerweb.com/eric/tools/css/reset/)
This is a modified version with additional resetting such as setting certain elements to certain properties, as they should.
This also carries some resets for HTML5 elements i.e. the ':required' pseudo-selector, as well as resetting for mobile browsers.
Also included is some typographical styling, just to set them to their respective type styles.
Finally, there's also form and interactive element styling so forms and navigation elements look clickable.

Be sure to contribute any improvements and changes to this reset as you see fit. Have fun!

v. 1.0
License: Public Domain
*/
/*
ORGANISATION
01. POLICES ET VARIABLES
02. RÉINITIALISATION ET ÉLÉMENTS HTML
03. STRUCTURE HISTORIQUE ET COMPOSANTS GÉNÉRAUX
04. FENÊTRES MODALES, FORMULAIRES ET MÉDIAS
05. CARTES VIDÉOS
06. VERSION 2 — BASE ET TYPOGRAPHIE
07. VERSION 2 — ENTÊTE ET MENU
08. FIL D’ARIANE ET BANDEAUX
09. HERO DU PORTAIL ET ANIMATIONS
10. ACCUEIL VERSION 2
11. ACTIVITÉS, PARTENAIRES ET MOSAÏQUES
12. CARTES DOCUMENTS
13. EN-TÊTES DE SECTION
14. FAQ ET ACCORDÉONS
15. CARTES DE CONTENU ET TÉMOIGNAGES
16. CONTENUS COMPLÉMENTAIRES ET UTILITAIRES
17. COLONNE LATÉRALE
18. BALADOS ET RECHERCHE
19. PIED DE PAGE VERSION 3
20. UTILITAIRES ET AJUSTEMENTS GÉNÉRAUX
21. RESPONSIVE GÉNÉRAL — ORDRE DE PRIORITÉ CONSERVÉ
22. LISTES MOSAÏQUES
23. APPEL À L’ACTION — ACTIVITÉS
24. ÉTIQUETTES SÉLECTIONNÉES
25. MENU VERSION 3 — RECHERCHE ET COMPLÉMENTS
26. MENU VERSION 3 — STRUCTURE ET SOUS-MENUS
27. MENU VERSION 3 — RESPONSIVE
28. ACCUEIL — ORIENTATION ET SÉLECTEURS
29. ACCUEIL — INITIATIVES
30. ACCUEIL — PAGES EN VEDETTE
31. ACCUEIL — ASSOCIATIONS RÉGIONALES
32. ACCUEIL — ACTUALITÉS ET CARROUSEL

Les adaptations responsive restent à proximité de leur composant.
Les blocs globaux conservent leur ordre pour respecter la cascade existante.
Ne pas trier les media queries par largeur sans vérifier leurs priorités.
Les chemins des images et polices restent relatifs à l’emplacement du CSS.
*/


/* ========================================================================
   01. POLICES ET VARIABLES
   ======================================================================== */

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Wix+Madefor+Text:ital,wght@0,400..800;1,400..800&display=swap");

@font-face {
	font-family: "Recoleta";
	src: url("fonts/recoleta/Recoleta-Bold.woff2") format("woff2"), url("fonts/recoleta/Recoleta-Bold.woff") format("woff");
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Recoleta";
	src: url("fonts/recoleta/Recoleta-Light.woff2") format("woff2"), url("fonts/recoleta/Recoleta-Light.woff") format("woff");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Recoleta";
	src: url("fonts/recoleta/Recoleta-Medium.woff2") format("woff2"), url("fonts/recoleta/Recoleta-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Recoleta";
	src: url("fonts/recoleta/Recoleta-Regular.woff2") format("woff2"), url("fonts/recoleta/Recoleta-Regular.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Recoleta";
	src: url("fonts/recoleta/Recoleta-SemiBold.woff2") format("woff2"), url("fonts/recoleta/Recoleta-SemiBold.woff") format("woff");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Recoleta";
	src: url("fonts/recoleta/Recoleta-Thin.woff2") format("woff2"), url("fonts/recoleta/Recoleta-Thin.woff") format("woff");
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Recoleta";
	src: url("fonts/recoleta/Recoleta-Black.woff2") format("woff2"), url("fonts/recoleta/Recoleta-Black.woff") format("woff");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--font-primary: "DM Sans", Arial, Helvetica, sans-serif;
	--font-heading: "Recoleta", serif;

	/* ======================================================
	   NOIR / BLANC
	   ====================================================== */

	--cap-noir: #000000;
	--cap-blanc: #FFFFFF;
    --cap-transparent: transparent;


	/* ======================================================
	   BRIQUE
	   ====================================================== */

	--cap-brique-tres-fonce: #5B2222;
	--cap-brique-fonce: #964545;
	--cap-brique-principal: #BA585C;
	--cap-brique-clair: #DA8386;
	--cap-brique-tres-clair: #F4CFD0;


	/* ======================================================
	   CORAIL
	   ====================================================== */

	--cap-corail-tres-fonce: #A73323;
	--cap-corail-fonce: #D43C28;
	--cap-corail-principal: #E35947;
	--cap-corail-clair: #F78771;
	--cap-corail-tres-clair: #F8CCC3;
	--cap-corail-tres-clair-bulle: #FEBD91;


	/* ======================================================
	   ORANGE
	   ====================================================== */

	--cap-orange-tres-fonce: #B83600;
	--cap-orange-fonce: #E84E0E;
	--cap-orange-principal: #F86515;
	--cap-orange-clair: #FF8A48;
	--cap-orange-tres-clair: #FFE2D1;


	/* ======================================================
	   JAUNE
	   ====================================================== */

	--cap-jaune-tres-fonce: #794F02;
	--cap-jaune-fonce: #D8940E;
	--cap-jaune-principal: #F9C61E;
	--cap-jaune-clair: #FED349;
	--cap-jaune-tres-clair: #FFECB0;


	/* ======================================================
	   OLIVE
	   ====================================================== */

	--cap-olive-tres-fonce: #32372D;
	--cap-olive-fonce: #515B47;
	--cap-olive-principal: #889080;
	--cap-olive-clair: #BEC4B8;
	--cap-olive-tres-clair: #DDE1DA;


	/* ======================================================
	   VERT
	   ====================================================== */

	--cap-vert-tres-fonce: #21544B;
	--cap-vert-fonce: #307A6D;
	--cap-vert-principal: #61AE90;
	--cap-vert-clair: #A3D9C4;
	--cap-vert-tres-clair: #D5F3E7;


	/* ======================================================
	   BLEU
	   ====================================================== */

	--cap-bleu-tres-fonce: #0A496F;
	--cap-bleu-fonce: #427BAC;
	--cap-bleu-principal: #2AADE5;
	--cap-bleu-clair: #8DC2EA;
	--cap-bleu-tres-clair: #CFE8FB;


	/* ======================================================
	   MARINE
	   ====================================================== */

	--cap-marine-tres-fonce: #222D68;
	--cap-marine-fonce: #2E3C87;
	--cap-marine-principal: #45539F;
	--cap-marine-clair: #8A93C3;
	--cap-marine-tres-clair: #E3E5F1;


	/* ======================================================
	   MAUVE
	   ====================================================== */

	--cap-mauve-tres-fonce: #4A4070;
	--cap-mauve-fonce: #6B56AC;
	--cap-mauve-principal: #8570D0;
	--cap-mauve-clair: #B0A6E0;
	--cap-mauve-tres-clair: #EFEEF9;


	/* ======================================================
	   GRIS
	   ====================================================== */

	--cap-gris-tres-fonce: #353741;
	--cap-gris-fonce: #646779;
	--cap-gris-principal: #C2C4D1;
	--cap-gris-clair: #EAEBF0;
	--cap-gris-tres-clair: #F2F2F3;


	/* ======================================================
	   SABLE
	   ====================================================== */

	--cap-sable-tres-fonce: #E8AB66;
	--cap-sable-fonce: #F7D9B1;
	--cap-sable-principal: #F7E2C0;
	--cap-sable-clair: #FBF1DA;
	--cap-sable-tres-clair: #FDF8EC;


	/* ======================================================
	   COULEURS SÉMANTIQUES
	   ====================================================== */

	--cap-primaire: var(--cap-orange-fonce);
	--cap-primaire-survol: var(--cap-orange-tres-fonce);

	--cap-secondaire: var(--cap-marine-principal);
	--cap-secondaire-survol: var(--cap-marine-fonce);

	--cap-accent-orange: var(--cap-orange-clair);
	--cap-accent-jaune: var(--cap-jaune-clair);

	--cap-texte: var(--cap-noir);
	--cap-texte-secondaire: var(--cap-gris-tres-fonce);

	--cap-fond-creme: var(--cap-sable-tres-clair);
	--cap-fond-neutre: var(--cap-gris-tres-clair);

	--cap-bordure: var(--cap-gris-clair);

	/* ======================================================
	   TRANSPARENCES
	   ====================================================== */

	--cap-noir-90: rgb(0 0 0 / 90%);
	--cap-noir-85: rgb(0 0 0 / 85%);
	--cap-noir-80: rgb(0 0 0 / 80%);
	--cap-noir-60: rgb(0 0 0 / 60%);
	--cap-noir-50: rgb(0 0 0 / 50%);
	--cap-noir-40: rgb(0 0 0 / 40%);
	--cap-noir-38: rgb(0 0 0 / 38%);
	--cap-noir-20: rgb(0 0 0 / 20%);
	--cap-noir-15: rgb(0 0 0 / 15%);
	--cap-noir-14: rgb(0 0 0 / 14%);
	--cap-noir-12: rgb(0 0 0 / 12%);
	--cap-noir-08: rgb(0 0 0 / 8%);
	--cap-noir-04: rgb(0 0 0 / 4%);

	--cap-blanc-97: rgb(255 255 255 / 97%);
	--cap-blanc-76: rgb(255 255 255 / 76%);
	--cap-blanc-40: rgb(255 255 255 / 40%);
	--cap-blanc-15: rgb(255 255 255 / 15%);
	--cap-blanc-07: rgb(255 255 255 / 7%);
	--cap-blanc-04: rgb(255 255 255 / 3.5%);
	--cap-blanc-00: rgb(255 255 255 / 0%);

	--cap-sable-20: rgb(248 238 204 / 20%);
	--cap-orange-tres-clair-65: rgb(255 226 209 / 65%);
	--cap-orange-tres-fonce-58: rgb(184 54 0 / 58%);
	--cap-orange-tres-fonce-42: rgb(184 54 0 / 42%);
	--cap-orange-tres-fonce-32: rgb(184 54 0 / 32%);
	--cap-orange-tres-fonce-06: rgb(184 54 0 / 5.5%);
	--cap-corail-fonce-60: rgb(212 60 40 / 60%);
	--cap-gris-tres-clair-97: rgb(242 242 243 / 97%);
	--cap-marine-tres-fonce-15: rgb(34 45 104 / 15%);
	--cap-marine-principal-78: rgb(69 83 159 / 78%);
}

/* ========================================================================
   02. RÉINITIALISATION ET ÉLÉMENTS HTML
   ======================================================================== */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, main {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary, main {
	display: block;
}

/* ---Universal Selector to add additional resets, such as text-size adjust and tap highlighting--- */

* {
	-webkit-tap-highlight-color: var(--cap-transparent);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
}

a {
	text-decoration: none;
}

body {
	line-height: 1;
}

ol, ul {
	list-style-type: none;
}

table {
	border-collapse: collapse;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
}

/* ---Removes Webkit form styling on Mobiles--- */

/* ---Additional Form resets--- */

button, input[type="button"] {
	background: none;
}

:required {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
	-ms-box-shadow: none;
	box-shadow: none;
}

/* ---Typographic Styling--- */

em, i {
	font-style: italic;
}

strong, b {
	font-weight: bold;
}

u {
	text-decoration: underline;
}

pre, code {
	font-family: Monaco, Courier, monospace;
}

pre {
	white-space: pre;
	white-space: pre-wrap;
	white-space: pre-line;
	word-wrap: break-word;
}

blockquote, q {
	quotes: "" "";
}

/* ---Interactive Element Settings--- */

a, input[type="submit"], input[type="button"], button, label[for] {
	cursor: pointer;
}

/* ---Misc. Element Styling--- */

img {
	-ms-interpolation-mode: bicubic;
}

/* End strppd.css */

/* Custom fonts */

/* ========================================================================
   03. STRUCTURE HISTORIQUE ET COMPOSANTS GÉNÉRAUX
   ======================================================================== */

a {
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
	text-decoration: underline;
}

a:hover {
	color: var(--cap-orange-principal);
}

button {
	cursor: pointer;
}

caption, th, td {
	vertical-align: middle;
}

hr {
	border: 0;
	border-bottom: 1px var(--cap-orange-principal) solid;
}

p, li {
	color: var(--cap-noir);
}

p, ul {
	margin: 0 0 1em 0;
}

.la-date {
	font-size: 16px;
	font-size: clamp(14px, 1.1111vw, 16px);
}

table {
	border: 0;
	border-spacing: 0;
	empty-cells: show;
}

textarea {
	resize: none;
}

ul, ol {
	margin-left: 36px;
}

ul {
	list-style: disc;
}

ol[type="a"] {
	list-style: lower-alpha;
}

#contenu-principal h3 {
    font-weight: bold;
}

/* Custom styles */

#entete-principale {
	width: 100%;
	position: relative;
	z-index: 50;
}

#entete-principale a {
	text-decoration: none;
}

#sous-entete {
	height: 47px;
	background: url(images/bg-menu.gif) repeat-x center center;
}

#sous-entete.extranet {
	background: var(--cap-bleu-tres-fonce);
}

#premier-menu {
	width: 100%;
	height: 100px;
	background: var(--cap-blanc);
}

#premier-menu .wrapper {
	height: 50px;
}

#bg-bandeau-principal {
	width: 100%;
	height: 214px;
	border-bottom: 3px solid var(--cap-blanc);
	background: url(images/entete-v6.jpg) no-repeat center top;
	background-size: cover;
	position: relative;
}

#bg-bandeau-principal.extranet {
	height: 314px;
	background: var(--cap-blanc) url(images/extranet/extranet-version-2023.png) no-repeat center top;
	background-size: auto;
}

#bg-bandeau-principal .wrapper {
	height: 214px;
}

#menu-sup {
	float: none;
	display: inline-block;
}

#menu-sup ul {
	margin: 0;
	list-style: none;
}

#menu-sup li {
	font-weight: bold;
	display: inline-block;
}

#menu-sup li a {
	height: 19px;
	font-size: 13px;
	color: var(--cap-noir);
	display: table-cell;
	vertical-align: bottom;
}

#menu-sup > ul > li:hover > a {
	color: var(--cap-orange-principal);
}

#menu-sup > ul > li > a:after {
	content: "|";
	display: inline-block;
	padding: 0 8px;
	color: var(--cap-noir) !important;
}

#menu-sup > ul > li:last-child > a:after {
	content: "";
	padding: 0;
}

#menu-sup ul ul {
	padding-top: 12px;
}

#menu-sup li li {
	display: block;
	background: var(--cap-noir-85);
	float: none;
	padding: 8px 12px;
}

#menu-sup li li a {
	color: var(--cap-blanc);
}

#menu-sup li li:hover > a {
	color: var(--cap-jaune-clair);
}

#menu-haut {
	position: absolute;
	right: 0;
	top: 15px;
}

#menu-haut ul {
	margin: 0;
	list-style: none;
}

#menu-haut li {
	font-weight: bold;
	display: inline-block;
}

#menu-haut li a {
	height: 19px;
	font-size: 13px;
	color: var(--cap-noir);
	display: table-cell;
	vertical-align: bottom;
}

#menu-haut > ul > li:hover > a {
	color: var(--cap-orange-principal);
}

#menu-haut > ul > li > a:after {
	content: "|";
	display: inline-block;
	padding: 0 8px;
	color: var(--cap-noir) !important;
}

#menu-haut > ul > li:last-child > a:after {
	content: "";
	padding: 0;
}

#menu-haut ul ul {
	padding-top: 12px;
}

#menu-haut li li {
	display: block;
	background: var(--cap-noir-90);
	float: none;
	padding: 8px 12px;
}

#menu-haut li li a {
	color: var(--cap-blanc);
}

#menu-haut li li:hover > a {
	color: var(--cap-jaune-clair);
}

#logo-entete-principal {
	position: absolute;
	left: 0;
	top: -22px;
}

#slogan {
	width: 324px;
	padding: 30px 0;
	background: var(--cap-noir-60);
	font-size: 16px;
	font-weight: bold;
	color: var(--cap-blanc);
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	border-bottom-right-radius: 12px;
	border-bottom-left-radius: 12px;
}

#entete-telephone {
	position: absolute;
	right: 0;
	bottom: 32px;
}

#entete-telephone a {
	font-size: 24px;
	font-weight: bold;
	color: var(--cap-blanc);
	text-decoration: none;
}

#cest-urgent {
	width: 132px;
	height: 76px;
	margin-top: 75px;
	padding: 14px 14px 0 14px;
	background: var(--cap-orange-principal);
	font: bold 37px/30px var(--font-primary);
	color: var(--cap-corail-clair);
	display: block;
	text-decoration: none;
}

#cest-urgent.active, #cest-urgent:hover {
	color: var(--cap-blanc);
}

#menu-mobile {
	position: absolute;
	right: 24px;
	top: 5px;
	color: var(--cap-blanc);
	font-size: 36px;
	display: none;
}

#menu-principal {
	display: block;
}

#menu-principal.extranet {
	text-align: center;
}

#menu-principal ul {
	width: 100%;
	margin: 0;
	list-style: none;
}

#menu-principal.extranet ul {
	width: auto;
	display: inline-block;
}

#menu-principal li {
	width: 33%;
	padding: 0;
	margin: 0;
	float: left;
}

#menu-principal.extranet li {
	width: auto;
}

#menu-principal li a {
	padding: 0 18px;
	margin: 0;
	font-size: 13px;
	font-weight: bold;
	line-height: 47px;
	color: var(--cap-blanc);
	display: block;
	text-transform: uppercase;
	text-align: center;
}

#menu-principal.extranet li a {
	padding: 0 25px;
}

#menu-principal li.deux-lignes a {
	font-size: 12px;
	padding: 10px 32px 9px 32px;
	line-height: 14px;
}

#menu-principal li.deux-lignes li a {
	padding: 7px 0;
}

#menu-principal li:hover > a, #menu-principal li.current-menu-item, #menu-principal li.current_page_parent {
	background: var(--cap-sable-20);
}

#menu-principal li a:hover {
	color: var(--cap-blanc);
}

#menu-principal li ul {
	width: 100%;
	margin: 0;
	padding: 0;
}

#menu-principal li li {
	width: 100%;
	background: var(--cap-jaune-clair);
	text-align: left;
}

#menu-principal li.current-menu-item li {
	background: var(--cap-orange-clair);
}

#menu-principal li li a {
	background: none;
	color: var(--cap-noir);
	font: 12px/24px var(--font-primary);
	padding: 8px 0;
	border-bottom: 1px var(--cap-blanc) solid;
}

#menu-principal li li:first-child a {
	border-top: 1px var(--cap-blanc) solid;
}

#menu-principal li li.current-menu-item {
	background: var(--cap-orange-clair);
}

#menu-principal li li a:hover {
	background: var(--cap-noir-40);
}

#menu-secondaire {
	margin-top: 0;
}

#menu-secondaire a {
	text-decoration: none;
}

#menu-secondaire ul {
	margin: 0;
	list-style: none;
}

#menu-secondaire li {
	background-color: var(--cap-bleu-fonce);
}

#menu-secondaire li a {
	width: 132px;
	min-height: 48px;
	padding: 14px;
	font: bold 17px/19px var(--font-primary);
	border-top: 1px solid var(--cap-blanc);
	color: var(--cap-blanc);
	display: block;
}

#menu-secondaire li a:hover, #menu-secondaire li.current-menu-item a {
	background: var(--cap-noir-20);
}

#menu-secondaire li.current-menu-item a {
	background: var(--cap-vert-tres-fonce);
}

#pied-page-pre {
	margin-top: 54px;
	width: 100%;
}

#pied-page-pre ul {
	width: 100%;
}

#pied-page-principal {
	width: 100%;
	padding: 40px 0;
	background: var(--cap-bleu-fonce);
}

#partenaire {
	min-height: 70px;
	font: 13px/70px var(--font-primary);
	color: var(--cap-noir);
	overflow: hidden;
}

#partenaire ul {
	margin: 0 0 24px 0;
	list-style: none;
}

#partenaire li {
	padding: 0 12px;
	display: inline-block;
	vertical-align: bottom;
}

#partenaire.p-declaration li {
	padding: 24px;
}

#partenaire li:first-child {
	padding-left: 0;
}

#organismes-aide ul {
	margin-left: 0;
}

#organismes-aide li {
	list-style: none;
}

#organismes-aide li, #organismes-aide li a {
	color: var(--cap-gris-fonce);
}

#organismes-aide li.active, #organismes-aide li.active > a, #organismes-aide li a:hover {
	color: var(--cap-orange-principal);
}

#organismes-aide li.active {
	padding-top: 2px;
}

#organismes-aide li.active > a {
	font-weight: bold;
	text-decoration: none;
}

#organismes-aide li:before {
	content: "> ";
}

#organismes-aide ul.enfants {
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 15px;
}

#organismes-aide ul.enfants li:before {
	content: "- ";
}

#organismes-aide .fiche-org {
	padding: 20px 30px;
	background: var(--cap-gris-tres-clair);
	margin-bottom: 8px;
}

#organismes-aide .fiche-org p {
	margin-bottom: 0;
}

#pied-page-rappel {
	height: 200px;
	color: var(--cap-blanc);
	position: relative;
	clear: both;
}

#pied-page-rappel p {
	font: 17px var(--font-primary);
	color: var(--cap-blanc);
}

#pied-page-rappel .colonne-73p {
	margin-top: 30px;
}

#pied-page-rappel .colonne-73p span {
	font-size: 32px;
}

#pied-page-principal, #pied-page-principal p {
	color: var(--cap-gris-principal);
}

#pied-page-principal.extranet {
	background: var(--cap-bleu-tres-fonce);
}

#pied-page-principal ul {
	margin-left: 18px;
}

#pied-page-principal .logo-footer {
	margin: 8px 0 24px 0;
}

#pied-page-principal li {
	padding-bottom: 2px;
}

#pied-page-principal li, #pied-page-principal li a {
	color: var(--cap-blanc);
	text-decoration: none;
}

#pied-page-principal li a:hover {
	text-decoration: underline;
}

#pied-page-principal .liens-rapides li {
	font-style: italic;
}

#pied-page-principal .sans-puce li {
	list-style: none;
}

#logo-ffapamm {
	position: absolute;
	right: 86px;
	top: 24px;
}

#logo-adc {
	position: absolute;
	left: 0;
	top: 0;
}

#sidebar-principal.padding-video {
	padding-top: 45px;
}

#sidebar-principal.padding-video h2 {
	margin-top: 0;
}

#sidebar-principal a {
	text-decoration: none;
}

#sidebar-principal .sb-recherche {
	margin-bottom: 24px;
	height: 27px;
}

#sidebar-principal .sb-recherche form {
	height: 27px;
	overflow: hidden;
}

#sidebar-principal .sb-recherche input.champ-recherche {
	width: 130px;
	border: 1px var(--cap-gris-fonce) solid;
	border-right: 0;
	height: 21px;
	padding: 0 10px;
	color: var(--cap-gris-fonce);
	float: left;
}

#sidebar-principal .sb-recherche input.envoyer {
	background: url(images/bt-envoyer-v2.gif) no-repeat left top;
	width: 23px;
	height: 23px;
	cursor: pointer;
	border: 0;
	float: left;
}

#sidebar-principal .sb-recherche input.envoyer:hover {
	background-position: left -23px;
}

#sidebar-principal .sb-recherche .impression {
	float: left;
	margin-right: 5px;
}

#sidebar-principal .sb-maladie {
	margin-bottom: 12px;
}

#sidebar-principal .sb-bloc-nouvelles {
	background: var(--cap-jaune-tres-clair);
}

#sidebar-principal .sb-nouvelles {
	margin-top: 12px;
	color: var(--cap-noir);
}

#sidebar-principal .sb-nouvelles h2, #sidebar-principal .sb-nouvelles h3 {
	color: var(--cap-orange-principal);
}

#sidebar-principal .sb-nouvelles h2 {
	padding: 10px;
	margin: 0;
	font: bold 17px/18px var(--font-heading);
}

#sidebar-principal .sb-nouvelles article {
	padding: 6px 12px;
}

#sidebar-principal .sb-nouvelles h3 a {
	font-size: 13px;
	color: var(--cap-orange-principal);
	text-decoration: underline;
	font-weight: bold;
}

#sidebar-principal .sb-nouvelles h3 a:hover {
	color: var(--cap-noir);
}

#sidebar-principal .sb-nouvelles p {
	font-size: 13px;
	margin: 0;
}

#sidebar-principal .sb-capsule {
	padding: 7px;
	text-shadow: 0px 0px 4px var(--cap-noir);
	position: relative;
}

#sidebar-principal .sb-capsule a {
	font: 13px/13px var(--font-primary);
	color: var(--cap-blanc);
}

#sidebar-principal .sb-capsule span.texte {
	position: absolute;
	left: 12px;
	top: 12px;
}

#sidebar-principal .sb-capsule span.jouer {
	position: absolute;
	margin-top: -18px;
	margin-left: -20px;
	left: 50%;
	top: 50%;
	opacity: 0.85;
	filter: alpha(opacity=85);
	/* For IE8 and earlier */
}

#sidebar-principal .sb-capsule a:hover span.jouer {
	opacity: 1;
	filter: alpha(opacity=100);
	/* For IE8 and earlier */
}

#sidebar-principal .sb-archives {
	padding: 0 12px 12px 12px;
}

#sidebar-principal .sb-archives a {
	font: bold 17px/18px var(--font-primary);
	color: var(--cap-orange-principal);
}

#sidebar-principal .sb-archives a:hover {
	color: var(--cap-noir);
}

#sidebar-principal .sb-revue {
	margin-top: 10px;
}

#sidebar-principal .sb-infolettre {
	margin-top: 10px;
}

#sidebar-principal .sb-facebook {
	margin-top: 10px;
}

#menu_haut {
	height: 47px;
}

.texte-ffapamm {
	margin-top: 56px;
	font: 11px var(--font-primary);
}

.colonne-73p {
	width: 71%;
	margin-right: 2%;
	float: left;
}

.colonne-27p {
	width: 27%;
	float: left;
}

.colonne-25p {
	width: 25%;
	float: left;
}

.colonne-33p {
	width: 33%;
	float: left;
}

.colonne-34p {
	width: 34%;
	float: left;
}

#bonnes-pratiques h2 {
	margin-top: 0;
}

#bonnes-pratiques article {
	background: var(--cap-gris-tres-clair);
	border: 1px solid var(--cap-bleu-fonce);
	padding: 12px;
	margin-bottom: 18px;
}

#organismes-aide .un-endroit li:before {
	content: "";
}

.un-endroit {
	background: var(--cap-gris-tres-clair);
	border: 1px solid var(--cap-bleu-fonce);
	padding: 12px;
	margin-bottom: 18px;
}

.un-endroit h3 {
	color: var(--cap-noir);
	margin-bottom: 12px;
}

.un-endroit time {
	margin: 0 0 12px 0;
	font-size: 14px;
	line-height: 20px;
	background: var(--cap-gris-clair);
	color: var(--cap-gris-tres-fonce);
	padding: 4px 8px;
	display: inline-block;
}

.un-endroit ul {
	margin-left: 20px !important;
	margin-bottom: 0;
}

.un-endroit li {
	color: var(--cap-bleu-fonce) !important;
	font-weight: bold;
	list-style: square !important;
}

.un-endroit p {
	margin-top: 12px;
	margin-bottom: 0;
}

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

.gform_wrapper {
	background: var(--cap-gris-tres-clair);
	border: 1px solid var(--cap-bleu-fonce);
	padding: 12px;
}

#label_1_6_1 {
	font-size: 12px;
}

#bonnes-pratiques p:last-child {
	margin-bottom: 0;
}

.clear {
	clear: both;
}

/* NAVIGATION */

/* ========================================================================
   04. FENÊTRES MODALES, FORMULAIRES ET MÉDIAS
   ======================================================================== */

#closebox {
	display: none !important;
}

#darkbackground {
	background: var(--cap-blanc-76) !important;
}

.boite-pp-1, .boite-pp-2 {
	width: 422px;
	padding-top: 52px;
	height: 198px;
	font: 22px/24px var(--font-primary) !important;
	text-align: center;
	background: var(--cap-orange-principal);
	float: left;
}

.boite-pp-1-5 {
	width: 16px;
	height: 250px;
	float: left;
}

.boite-pp-1 a, .boite-pp-2 a {
	font: bold 33px/35px var(--font-primary) !important;
	color: var(--cap-blanc) !important;
}

#a8e296a067a37563370ded05f5a3bf3ec-po {
	background: none !important;
}

.bloc-declaration {
	display: block;
	color: var(--cap-blanc);
	text-align: left;
	position: relative;
}

.bloc-declaration span {
	font-size: 14px;
	display: block;
	padding: 6px 0;
	position: absolute;
	left: 12px;
	bottom: 10px;
}

.bloc-declaration:hover span {
	color: var(--cap-orange-principal);
}

.gform_wrapper div.validation_error {
	background: var(--cap-orange-principal);
	border: 0 !important;
	color: var(--cap-blanc) !important;
	font-weight: normal !important;
}

body .gform_wrapper ul li.gfield, .gform_wrapper .gform_footer {
	margin-top: 0 !important;
}

.gform_wrapper {
	margin-bottom: 0 !important;
}

.btn-std {
	display: inline-block;
	padding: 6px 12px;
	background: var(--cap-vert-tres-fonce);
	font-size: 16px;
	text-decoration: none;
	color: var(--cap-blanc);
}

.btn-std:hover {
	background: var(--cap-jaune-clair);
	color: var(--cap-noir);
}

.btn-accueil {
	margin: 36px auto 0 auto;
}

.article-accueil.premier {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 4px solid var(--cap-gris-tres-clair);
}

.article-accueil {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 4px solid var(--cap-gris-tres-clair);
}

.article-accueil h2 {
	margin-bottom: 0;
}

.article-accueil h2 a {
	text-decoration: none;
}

.article-accueil time {
	font-size: 14px;
	display: block;
	margin-bottom: 12px;
}

.article-accueil figure {
	width: 150px;
	box-sizing: border-box;
	padding-right: 30px;
	float: left;
}

.article-accueil .aa-content {
	width: calc(100% - 150px);
	float: left;
	line-height: 1.3;
}

.nouvelles-v2 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 10px 40px;
	position: relative;
}

.nouvelles-v2 .article-accueil.premier {
	margin-top: 0;
	padding-top: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.nouvelles-v2 .article-accueil {
	border: none;
}

.nouvelles-v2 .article-accueil a {
	text-decoration: none;
}

.nouvelles-v2 .article-accueil h3 {
	font-size: 1.3rem !important;
	margin-bottom: 10px;
}

.nouvelles-v2 .article-accueil a:hover h3 {
	text-decoration: underline;
}

.nouvelles-v2 .article-accueil a time {
	color: var(--cap-noir) !important;
}

.nouvelles-v2 .article-accueil a:hover time {
	color: var(--cap-noir);
}

.nouvelles-v2 .article-accueil figure {
	width: 100%;
	padding-top: 99%;
	display: flex;
	float: none;
	position: relative;
}

.nouvelles-v2 .article-accueil figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	position: absolute;
	left: 0;
	top: 0;
}

.alignleft {
	float: left;
	margin-right: 20px;
}

img.size-full {
	max-width: 100%;
}

.wp-pagenavi {
	padding-top: 12px;
	float: left;
	text-align: center;
    padding-bottom: 40px;
}

.wp-pagenavi .pages {
	display: none !important;
}

.wp-pagenavi a, .wp-pagenavi span {
	border: none !important;
	height: 30px;
	min-width: 30px;
	padding: 0 !important;
	line-height: 30px !important;
	text-align: center;
	display: inline-block;
}

.wp-pagenavi a {
	color: var(--cap-noir);
	background-color: var(--cap-blanc);
}

.wp-pagenavi span.current {
	color: var(--cap-blanc);
	background-color: var(--cap-noir);
}

.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	/* Ratio 16:9 */
	padding-top: 25px;
	height: 0;
	width: 100%;
	/* Largeur à 100% */
	overflow: hidden;
}

.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	/* Largeur à 100% */
	height: 100%;
	/* Hauteur à 100% */
}

.une-video-click {
	display: block;
	text-align: center;
	text-decoration: none;
}

/* ========================================================================
   05. CARTES VIDÉOS
   ======================================================================== */

.grid-multimedias.cartes-videos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

/* Carte */

.grid-multimedias.cartes-videos .une-video {
	width: 100%;
	padding: 0;
	margin: 0;
	background: var(--cap-secondaire-survol);
	border: 1px solid var(--cap-blanc-15);
	border-radius: 24px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-decoration: none;
	float: none;
}

.grid-multimedias.cartes-videos .une-video a {
	text-decoration: none;
}

.media-description p {
	margin: 0;
}

.media-lire-suite {
	display: inline-block;
	margin-top: 10px;
	padding: 0;
	border: 0;
	background: var(--cap-transparent);
	color: var(--cap-blanc);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.media-lire-suite:hover, .media-lire-suite:focus-visible {
	text-decoration-thickness: 2px;
}

.media-lire-suite:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

/* Zone média */

.cartes-videos .media-image {
	width: 100%;
	overflow: hidden;
}

.cartes-videos .media-image-container {
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: 0 !important;
	background: var(--cap-gris-clair);
	position: relative;
	overflow: hidden;
}

.cartes-videos .media-image-container img {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	object-fit: cover;
	object-position: center center;
	opacity: 1;
	filter: brightness(45%);
	transition: filter 0.3s ease;
}

.cartes-videos .une-video:hover .media-image-container img {
	filter: brightness(100%);
}

/* Durée */

.cartes-videos .video-duree {
	padding: 5px 10px;
	background: var(--cap-noir-50);
	border-radius: 20px;
	color: var(--cap-blanc);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	left: 13px;
	top: 13px;
	z-index: 2;
}

/* PLAY */

.cartes-videos .video-play {
	width: 58px;
	height: 58px;
	background: var(--cap-blanc-40);
	border-radius: 50%;
	color: var(--cap-primaire);
	box-shadow: 0 8px 18px var(--cap-noir-12);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	transition: transform 0.25s ease, background-color 0.25s ease;
}

.cartes-videos .video-play i {
	margin-left: 3px;
	font-size: 17px !important;
}

/* Contenu */

.cartes-videos .media-contenu {
	flex: 1;
	padding: 18px 20px 22px;
}

.cartes-videos .media-contenu h3 {
	margin: 0 0 8px;
	color: var(--cap-blanc);
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.15;
}

.cartes-videos .media-contenu p {
	margin: 0;
	color: var(--cap-gris-tres-clair);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

/* Hover */

.cartes-videos .une-video:hover .video-play {
	background: var(--cap-primaire);
	color: var(--cap-blanc);
	transform: translate(-50%, -50%) scale(1.08);
}

.cartes-videos .une-video:hover .media-contenu h3 {
	color: var(--cap-blanc);
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	.grid-multimedias.cartes-videos {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Responsive : screen and (max-width: 600px) */

@media screen and (max-width: 600px) {
	.grid-multimedias.cartes-videos {
		grid-template-columns: 100%;
	}

	.cartes-videos .media-image-container {
		height: 180px;
	}
}

.grid-multimedias .un-balado {
	width: calc(25% - 4px);
	padding: 0;
	box-sizing: border-box;
	display: inline-grid;
	float: none;
	grid-template-columns: 90px calc(100% - 90px);
	grid-template-rows: auto auto;
	gap: 0px 0px;
	grid-auto-flow: row;
	grid-template-areas: "media-image media-image" "media-tag media-titre";
	text-decoration: none;
	margin-bottom: 8px;
}

.grid-multimedias .un-balado .media-image {
	grid-area: media-image;
	overflow: hidden;
}

.grid-multimedias .un-balado .media-image .media-image-container {
	padding: 35%;
	position: relative;
}

.grid-multimedias .un-balado .media-image img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.grid-multimedias .un-balado .media-tag {
	grid-area: media-tag;
}

.grid-multimedias .un-balado .media-tag span {
	background: -webkit-linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	background: -o-linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	background: linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	color: var(--cap-blanc);
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	display: inline-block;
	padding: 6px 12px;
	margin-top: 8px;
}

.grid-multimedias .un-balado:hover .media-tag span {
	background: -webkit-linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
	background: -o-linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
	background: linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
}

.grid-multimedias .un-balado .media-titre {
	grid-area: media-titre;
}

.grid-multimedias .un-balado .media-titre h3 {
	font-family: var(--font-primary);
	font-size: 16px;
	margin-top: 8px;
}

.video_wrapper {
	position: relative;
	padding-bottom: 56.25%;
	margin: 60px 0;
}

.video_wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.widget-area > li {
	list-style: none;
}

.sidebar-categories ul {
	margin-bottom: 0;
}

.sidebar-categories li {
	padding: 4px 0;
}

.sidebar-categories ul li:first-child {
	padding-top: 8px;
}

.sidebar-categories ul li:last-child {
	padding-bottom: 0;
}

/* ========================================================================
   06. VERSION 2 — BASE ET TYPOGRAPHIE
   ======================================================================== */

body {
	font-family: var(--font-primary);
	font-size: 18px;
	line-height: 1.2;
	margin: 0;
}

.wrapper {
	width: 1440px;
	margin: 0 auto;
	position: relative;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	color: var(--cap-noir);
	font-weight: normal;
	margin-bottom: 24px;
}

h1 {
	font-size: 46px;
}

h2 {
	font-size: 30px;
}

li, p {
	font-size: 18px;
	font-weight: normal;
	line-height: 1.4;
}

ul, ol {
	margin-bottom: 24px;
}

p {
	margin-bottom: 24px;
}

a {
	color: var(--cap-noir);
}

figure {
	display: block;
	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0;
	margin-inline-end: 0;
}

/* GENERAL */

#pre-menu {
	background: var(--cap-blanc);
	position: relative;
	z-index: 550;
}

#pre-menu ul {
	list-style: none;
	margin: 0;
	text-align: right;
}

#pre-menu ul li {
	font-size: 0.9rem;
	padding: 6px 10px;
	display: inline-block;
}

#entete-principale.v2 #pre-menu ul#menu-sup > li {
	padding: 12px 0 6px 0;
	font-weight: normal;
}

#entete-principale.v2 #pre-menu ul#menu-sup > li > a {
	display: block;
	padding: 0 10px;
	border-left: 1px solid var(--cap-gris-principal);
	border-right: 1px solid var(--cap-gris-clair);
}

#entete-principale.v2 #pre-menu ul#menu-sup > li.btn-menu > a, #entete-principale.v2 #pre-menu ul#menu-sup > li:first-child > a {
	border-left: none;
}

#entete-principale.v2 #pre-menu ul#menu-sup > li.dernier > a, #entete-principale.v2 #pre-menu ul#menu-sup > li.btn-menu > a, #entete-principale.v2 #pre-menu ul#menu-sup > li:last-child > a {
	border-right: none;
}

#entete-principale.v2 #pre-menu ul#menu-sup > li.btn-menu {
	padding: 4px 0 2px 10px;
}

#entete-principale.v2 #pre-menu ul#menu-sup > li.btn-menu > a {
	padding: 6px 10px 4px 10px;
	color: var(--cap-blanc);
	background: var(--cap-orange-principal);
	border-radius: 6px;
}

#entete-principale.v2 #pre-menu ul#menu-sup > li.btn-menu > a:hover {
	background: var(--cap-noir);
}

#pre-menu ul li:last-child {
	padding-right: 0;
}

#pre-menu ul li li {
	display: block;
}

#pre-menu ul li li:last-child {
	padding-right: 10px;
}

#contenu-principal {
	position: relative;
	padding: 0;
	clear: both;
}

#contenu-principal.v2 .colonne-73p {
	width: 65%;
	padding-right: 3%;
	box-sizing: border-box;
	margin: 0;
}

#contenu-principal.v2 .colonne-27p {
	width: 35%;
	box-sizing: border-box;
	margin: 0;
}

.bg-degrade-principal {
	background: -webkit-linear-gradient(var(--cap-jaune-principal), var(--cap-corail-fonce));
	background: -o-linear-gradient(var(--cap-jaune-principal), var(--cap-corail-fonce));
	background: linear-gradient(var(--cap-jaune-principal), var(--cap-corail-fonce));
}

.boite-v2 {
	padding: 50px 0;
}

.boite-v2.sans-marge-top {
	padding: 0 0 50px 0;
}

.boite-v2.extra-padding {
	padding-bottom: 90px;
}

.boite-v2 .wrapper > *:last-child {
	margin-bottom: 0;
}

/* ========================================================================
   07. VERSION 2 — ENTÊTE ET MENU
   ======================================================================== */

#logo {
	width: 330px;
	position: absolute;
	left: 1%;
	top: 15px;
	display: grid;
	grid-template-columns: 56% 44%;
	gap: 0px 20px;
	grid-template-areas: "logo-image logo-titre";
	z-index: 500;
}

#logo .logo-image {
	grid-area: logo-image;
}

#logo .logo-titre {
	grid-area: logo-titre;
	padding-top: 10px;
	color: var(--cap-vert-tres-fonce);
	font-size: 18px;
	display: none !important;
}

#logo .logo-titre .encadre {
	color: var(--cap-orange-principal);
	font-size: 12px;
	border: 1px solid var(--cap-orange-principal);
	border-radius: 3px;
	padding: 6px;
	text-align: center;
}

/* MENU */

#menu-haut {
	width: calc(100% - 240px);
	max-width: 500px;
	height: 100px;
	margin-left: auto;
	position: relative;
	right: auto;
	top: auto;
}

#entete-principale.v2 #menu-haut {
	max-width: 700px;
	text-align: right;
}

#entete-principale.v2 #menu-haut .menu-sub {
	text-align: left;
}

.menu-principal {
	height: 100px;
	display: grid;
	grid-template-columns: 31% 31% 31% 7%;
	grid-template-rows: auto;
	gap: 0px 0px;
	grid-auto-flow: row;
	justify-items: end;
	align-items: center;
	grid-template-areas: "menu-element-1 menu-element-2 menu-element-3 menu-recherche";
	position: relative;
}

.menu-principal .menu-element-1 {
	grid-area: menu-element-1;
}

.menu-principal .menu-element-2 {
	grid-area: menu-element-2;
}

.menu-principal .menu-element-3 {
	grid-area: menu-element-3;
}

.menu-principal .menu-element-4 {
	grid-area: menu-element-4;
}

.menu-principal .menu-element-5 {
	grid-area: menu-element-5;
}

#entete-principale.v2 .menu-principal {
	display: block;
}

#entete-principale.v2 .menu-principal .menu-element-1, #entete-principale.v2 .menu-principal .menu-element-2, #entete-principale.v2 .menu-principal .menu-element-3, #entete-principale.v2 .menu-principal .menu-element-4, #entete-principale.v2 .menu-principal .menu-element-5, #entete-principale.v2 .menu-principal .menu-recherche {
	display: inline-block;
}

.menu-principal .menu-recherche {
	grid-area: menu-recherche;
	font-size: 26px;
	cursor: pointer;
}

.menu-principal .menu-element .menu-action, .menu-principal .menu-element .menu-action-lien {
	width: 100%;
	display: grid;
	grid-template-columns: 40px calc(100% - 40px);
	grid-template-rows: auto;
	gap: 0px 0px;
	justify-items: start;
	align-items: center;
	cursor: pointer;
}

#entete-principale.v2 .menu-principal .menu-element .menu-action, #entete-principale.v2 .menu-principal .menu-element .menu-action-lien {
	width: calc(100% - 20px);
	display: block;
	grid-template-columns: 100%;
	border-left: 1px solid var(--cap-gris-principal);
	padding-left: 10px;
	margin-left: 10px;
}

#entete-principale.v2 .menu-principal .menu-element:first-child .menu-action {
	border-left: none;
}

#entete-principale.v2 .menu-principal .menu-recherche {
	padding-left: 20px;
}

.menu-principal .menu-fleche {
	width: 22px;
	height: 22px;
	line-height: 22px;
	color: var(--cap-blanc);
	background: var(--cap-vert-tres-fonce);
	border-radius: 50%;
	text-align: center;
}

.menu-principal .menu-fleche .fa {
	line-height: 22px;
}

.menu-element.actif .menu-fleche {
	background: var(--cap-primaire);
}

.menu-element.actif .menu-texte {
	color: var(--cap-primaire);
}

.menu-principal .menu-texte {
	font-size: 14px;
}

#entete-principale.v2 .menu-principal .menu-texte {
	font-size: 16px;
}

.menu-principal .menu-element:hover .menu-fleche {
	background: var(--cap-primaire);
}

.menu-principal .menu-element:hover .menu-texte {
	color: var(--cap-primaire);
}

.menu-principal .menu-sub {
	width: 100%;
	box-sizing: border-box;
	padding: 30px;
	background: -webkit-linear-gradient(var(--cap-blanc), var(--cap-gris-tres-clair));
	background: -o-linear-gradient(var(--cap-blanc), var(--cap-gris-tres-clair));
	background: linear-gradient(var(--cap-gris-tres-clair), var(--cap-blanc));
	border: 1px solid var(--cap-gris-principal);
	display: none;
	position: absolute;
	left: 0;
	top: 100px;
	z-index: 100;
}

.menu-principal .menu-sub .grid-menu-sub {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 10px;
	position: relative;
}

.menu-principal .menu-sub .grid-menu-sub.une-ligne .menu-sub-element, .menu-principal .menu-sub .grid-menu-sub.une-ligne {
	grid-template-columns: 100% !important;
}

.menu-principal .menu-sub .grid-menu-sub.une-ligne .show-mobile {
	display: inline-block !important;
}

.menu-principal .menu-sub .grid-menu-sub.une-ligne span {
	display: inline-block;
}

.menu-principal .menu-sub .grid-menu-sub.une-ligne br {
	display: none !important;
}

.menu-principal .menu-sub .menu-sub-element {
	display: grid;
	grid-template-columns: 90px calc(100% - 90px);
	grid-template-rows: auto;
	gap: 0px 0px;
	justify-items: start;
	align-items: center;
}

.menu-principal .menu-sub .menu-sub-icone img {
	width: 80%;
}

#entete-principale.v2 .menu-principal .menu-sub h4 {
	margin: 5px 0;
	color: var(--cap-gris-fonce);
}

#menu-haut .menu-mobile {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 30px;
	display: none;
}

/* ========================================================================
   08. FIL D’ARIANE ET BANDEAUX
   ======================================================================== */

#fil_ariane {
	color: var(--cap-noir);
}
#fil_ariane strong {
    font-weight: 600;
}

#fil_ariane a {
	font-size: 16px;
	color: var(--cap-noir);
	text-decoration: underline;
}

#fil_ariane a:hover {
	color: var(--cap-noir);
}

/* BANDEAU */

#bandeau-principal-v2 {
	height: 470px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 470px 470px;
	gap: 0px 0px;
	grid-auto-flow: row;
	grid-template-areas: "bandeau-texte bandeau-image";
}

#bandeau-principal-v2 .bandeau-texte {
	grid-area: bandeau-texte;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
}

#bandeau-principal-v2.portail .bandeau-texte {
	align-items: end;
}

#bandeau-principal-v2 .bandeau-texte .bandeau-texte-contenu {
	width: 720px;
}

#bandeau-principal-v2 .bandeau-texte .bandeau-texte-contenu h1 span {
	font-size: 22px;
	font-family: var(--font-primary);
	display: block;
}

#bandeau-principal-v2 .bandeau-image {
	grid-area: bandeau-image;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
}

#bandeau-principal-v2 .bandeau-image.besoin {
	justify-content: center;
	align-items: end;
}

#bandeau-principal-v2 .bandeau-image img {
	width: 100%;
	max-width: 990px;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

#bandeau-principal-v2 .bandeau-image.besoin img, #bandeau-principal-v2 .bandeau-image.activite img {
	width: auto;
	height: 100%;
}

#bandeau-principal-v2 .bandeau-texte h1 {
	font-size: 42px;
	line-height: 1.1;
	color: var(--cap-gris-tres-clair);
	margin-bottom: 36px;
}

#bandeau-principal-v2.portail .bandeau-texte h1 {
	font-size: 72px;
	line-height: 1.1;
}

#bandeau-principal-v2 .bandeau-texte p {
	font-size: 26px;
	line-height: 1.4;
	color: var(--cap-gris-tres-clair);
	margin-bottom: 36px;
}

#bandeau-principal-v2 .bandeau-texte a {
	color: var(--cap-gris-tres-clair);
	font-size: 26px;
	text-decoration: underline;
}

#bandeau-principal-v2 .bandeau-texte a:hover {
	color: var(--cap-blanc);
}

#bandeau-principal-v2 .bandeau-image .boite-informative {
	width: 320px;
	max-width: 90%;
	padding: 25px 24px 25px 36px;
	border-bottom-left-radius: 10px;
	border-top-left-radius: 10px;
	background: var(--cap-blanc-97);
	position: absolute;
}

#bandeau-principal-v2 .bandeau-image .boite-informative h2 {
	font-size: 30px;
	color: var(--cap-noir);
	margin-bottom: 24px;
	margin-top: 0;
}

#bandeau-principal-v2 .bandeau-image .boite-informative p {
	font-size: 16px;
	line-height: 1.2;
	color: var(--cap-noir);
}

#bandeau-principal-v2 .bandeau-image .boite-informative p.tel, #bandeau-principal-v2 .bandeau-image .boite-informative p.reseau {
	font-size: 13px;
	font-weight: bold;
}

#bandeau-principal-v2 .bandeau-image .boite-informative p.tel {
	margin-bottom: 8px;
}

#bandeau-principal-v2 .bandeau-image .boite-informative a {
	color: var(--cap-orange-principal);
	text-decoration: underline;
}

#bandeau-principal-v2 .bandeau-image .boite-informative a:hover {
	color: var(--cap-noir);
}

#bandeau-principal-v2 .bandeau-image .boite-informative *:last-child {
	margin-bottom: 0;
}

#bandeau-secondaire-v2 {
	padding: 30px 0;
}

#bandeau-principal-v2-1 {
	width: 100%;
	display: grid;
	grid-template-columns: 73% 27%;
	grid-template-rows: 206px 410px;
	gap: 0px 0px;
	grid-auto-flow: row;
	grid-template-areas: "bandeau-diapo bandeau-bloc-1" "bandeau-diapo bandeau-bloc-2";
}

#bandeau-diapo-principal {
	background: var(--cap-marine-tres-fonce);
	grid-area: bandeau-diapo;
}

#bandeau-bloc-1 {
	background: var(--cap-orange-principal);
	grid-area: bandeau-bloc-1;
	display: flex;
	align-items: center;
	justify-content: center;
}

#bandeau-bloc-1 p {
	color: var(--cap-blanc);
	margin-bottom: 0;
}

#bandeau-bloc-1 p .plus-important {
	font-size: 2rem;
}

#bandeau-bloc-1 a {
	color: var(--cap-blanc);
}

#bandeau-bloc-2 {
	background: var(--cap-secondaire);
	grid-area: bandeau-bloc-2;
}

#bandeau-bloc-2 div {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 20px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#bandeau-bloc-2 img {
	width: 100%;
	height: auto;
	display: block;
}

/* ========================================================================
   09. HERO DU PORTAIL ET ANIMATIONS
   ======================================================================== */

#bandeau-principal-v2.hero-portail {
	width: 100%;
	min-height: 485px;
	padding: 0;
	background: var(--cap-transparent);
	grid-template-columns: 55% 45%;
	grid-template-rows: auto;
	align-items: center;
}

#bandeau-principal-v2.hero-portail {
	position: relative;
	overflow: hidden;
	background: var(--cap-fond-creme);
}

#bandeau-principal-v2.hero-portail > .bandeau-image {
	position: relative;
	z-index: 2;
}

#bandeau-principal-v2.hero-portail > .bandeau-texte {
	z-index: 3;
}

/* L'illustration est décorative : elle ne doit pas intercepter les clics. */
#bandeau-principal-v2.hero-portail > .bandeau-image {
	pointer-events: none;
}

.hero-portail-decor {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 0;
}

.hero-portail-decor .bulle {
	display: block;
	border-radius: 50%;
	position: absolute;
	will-change: transform;
}

/* Pêche */

.bulle-peche {
	width: 340px;
	height: 340px;
	right: 13%;
	top: -170px;
	background: var(--cap-corail-tres-clair-bulle);
	opacity: 0.65;
	filter: blur(8px);
	animation: flotte-peche 15s ease-in-out infinite alternate;
	transform-origin: center;
}

/* Verte */

.bulle-verte {
	width: 440px;
	height: 440px;
	left: -220px;
	bottom: -220px;
	background: var(--cap-vert-tres-clair);
	animation: flotte-verte 7.5s ease-in-out infinite alternate;
}

/* Jaune */

.bulle-jaune {
	width: 18px;
	height: 18px;
	left: 43%;
	top: 15%;
	background: var(--cap-jaune-principal);
	animation: flotte-jaune 10s ease-in-out infinite alternate;
}

/* Bleue */

.bulle-bleue {
	width: 12px;
	height: 12px;
	left: 56%;
	bottom: 15%;
	background: var(--cap-bleu-principal);
	animation: flotte-bleue 8.5s ease-in-out infinite alternate;
	transform-origin: center;
}

@keyframes flotte-peche {
	0% {
		transform: scale(0.95);
	}

	25% {
		transform: scale(1.1);
	}

	70% {
		transform: scale(0.95);
	}

	100% {
		transform: scale(1.05);
	}
}

@keyframes flotte-verte {
	0% {
		transform: translate3d(0, 0, 0);
	}

	30% {
		transform: translate3d(18px, -10px, 0);
	}

	65% {
		transform: translate3d(8px, -24px, 0);
	}

	100% {
		transform: translate3d(28px, -15px, 0);
	}
}

@keyframes flotte-jaune {
	0% {
		transform: translate3d(0, 0, 0);
	}

	40% {
		transform: translate3d(8px, -10px, 0);
	}

	75% {
		transform: translate3d(-5px, 6px, 0);
	}

	100% {
		transform: translate3d(6px, 12px, 0);
	}
}

@keyframes flotte-bleue {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
	}

	25% {
		transform: translate3d(-8px, 7px, 0) scale(1.3);
	}

	60% {
		transform: translate3d(5px, -11px, 0) scale(1);
	}

	100% {
		transform: translate3d(-4px, -5px, 0) scale(1.1);
	}
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : (prefers-reduced-motion: reduce) */

@media (prefers-reduced-motion: reduce) {
	.hero-portail-decor .bulle {
		animation: none;
	}
}

/* Colonne texte */

#bandeau-principal-v2.hero-portail .bandeau-texte {
	height: 100%;
	padding-left: max(4%, calc((100vw - 1440px) / 2));
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

#bandeau-principal-v2.hero-portail .bandeau-texte .bandeau-texte-contenu {
	width: 100%;
	max-width: 610px;
}

/* Petit tag */

.hero-portail-tag {
	width: fit-content;
	margin-bottom: 18px;
	padding: 7px 14px;
	background: var(--cap-orange-tres-clair);
	border-radius: 30px;
	color: var(--cap-orange-fonce);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.hero-portail-tag span {
	width: 7px;
	height: 7px;
	margin-right: 6px;
	background: var(--cap-primaire);
	border-radius: 50%;
	display: inline-block;
	vertical-align: 1px;
}

/* Titre */

#bandeau-principal-v2.hero-portail .bandeau-texte h1 {
	max-width: 560px;
	margin: 0 0 20px;
	color: var(--cap-noir);
	font-size: 62px;
	font-weight: 600;
	line-height: 0.98;
}

/* Texte */

#bandeau-principal-v2.hero-portail .bandeau-texte p {
	max-width: 560px;
	margin: 0 0 26px;
	color: var(--cap-noir);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.5;
}

/* Boutons */

.hero-portail-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

#bandeau-principal-v2.hero-portail .hero-portail-btn {
	min-height: 52px;
	padding: 0 28px;
	box-sizing: border-box;
	border: 1px solid var(--cap-gris-tres-fonce);
	border-radius: 30px;
	color: var(--cap-noir);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

#bandeau-principal-v2.hero-portail .hero-portail-btn--principal {
	background: var(--cap-primaire);
	border-color: var(--cap-primaire);
	color: var(--cap-blanc);
}

#bandeau-principal-v2.hero-portail .hero-portail-btn--secondaire {
	background: var(--cap-transparent);
}

#bandeau-principal-v2.hero-portail .hero-portail-btn:hover {
	color: inherit;
	transform: translateY(-3px);
    box-shadow: 0 6px 14px var(--cap-noir-12);
}

#bandeau-principal-v2.hero-portail .hero-portail-btn--principal:hover {
	color: var(--cap-blanc);
}

#bandeau-principal-v2.hero-portail .hero-portail-btn i {
	font-size: 15px;
}

/* Colonne image */

#bandeau-principal-v2.hero-portail .bandeau-image {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-portail-image {
	width: min(320px, 75%);
	aspect-ratio: 1;
	padding: 16px;
	box-sizing: border-box;
	background: var(--cap-orange-tres-clair-65);
	border-radius: 50%;
}

#bandeau-principal-v2.hero-portail .bandeau-image .hero-portail-image img {
	width: 100%;
	height: 100%;
	max-width: none;
	border-radius: 50%;
	display: block;
	object-fit: cover;
	object-position: center;
}

/* ========================================================================
   10. ACCUEIL VERSION 2
   ======================================================================== */

.accueil-desc {
	background: linear-gradient(var(--cap-blanc), var(--cap-gris-clair)) !important;
}

#contenu-principal.v2 .accueil-desc {
	background: none !important;
}

.accueil-desc p {
	font-size: 18px;
}

.accueil-desc a {
	color: var(--cap-orange-principal);
}

.accueil-desc a:hover {
	color: var(--cap-noir);
}

.grid-besoins {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 10px;
}

#contenu-principal.v2 .grid-besoins {
	grid-gap: 0;
}

.grid-generations {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 10px;
}

.grid-relations {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-gap: 10px;
}

.grid-activites {
	width: 100%;
    padding: 60px 0;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	grid-gap: 10px;
}

body.home .grid-activites {
    padding: 0;
}

.grid-besoins .lien-portail, .grid-generations .lien-portail, .grid-relations .lien-portail, .grid-activites .lien-portail {
	position: relative;
}

.grid-besoins img, .grid-generations img, .grid-relations img {
	width: 100%;
	height: auto;
	display: block;
}

.lien-portail.un-besoin.v2 {
	position: relative;
	margin-top: 60px;
}

#contenu-principal.v2 .grid-besoins img {
	width: auto;
	height: 135px;
	position: absolute;
	right: 10px;
	top: -54px;
}

.grid-besoins h3, .grid-generations h3, .grid-relations h3 {
	color: var(--cap-blanc);
	margin-bottom: 0;
}

.grid-besoins h3 {
	font-size: 25px;
	line-height: 1.4;
}

.grid-generations h3 {
	font-size: 27px;
}

.grid-relations h3 {
	font-size: 26px;
	line-height: 1.2;
	text-align: center;
}

#contenu-principal.v2 .grid-besoins h3 {
	margin-top: 0;
	font-size: 22px;
}

.grid-besoins h3 span, .grid-generations h3 span, .grid-relations h3 span {
	font-size: 19px;
	font-family: var(--font-primary);
	display: block;
}

.grid-besoins a, .grid-generations a, .grid-relations a {
	text-decoration: none;
	display: block;
}

.grid-activites a {
	text-decoration: none;
}

.grid-besoins .titre, .grid-generations .titre {
	width: 100%;
	display: flex;
	align-items: center;
}

.grid-besoins .titre {
	padding: 25px 20px;
	box-sizing: border-box;
}

.grid-generations .titre {
	padding: 15px 20px;
	box-sizing: border-box;
}

.grid-relations .mask {
	width: 100%;
	padding-top: 100%;
	position: relative;
}

.grid-relations .mask .over {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 20;
}

.grid-relations .mask img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 10;
}

.grid-relations .titre {
	width: 100%;
	height: 100%;
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 30;
	justify-content: center;
	align-items: center;
}

#contenu-principal.v2 .grid-relations .titre h3 {
	margin: 0;
}

.grid-besoins a:hover .titre, .grid-generations a:hover .titre {
	background: -webkit-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: -o-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
}

.grid-relations a:hover .mask .over {
	background: -webkit-linear-gradient(var(--cap-noir-60), var(--cap-noir-40)) !important;
	background: -o-linear-gradient(var(--cap-noir-60), var(--cap-noir-40)) !important;
	background: linear-gradient(var(--cap-noir-60), var(--cap-noir-40)) !important;
}

#contenu-principal.v2 .grid-relations a:hover .mask .over {
	background: linear-gradient(var(--cap-gris-fonce), var(--cap-noir)) !important;
}

.grid-activites .mask {
	position: absolute;
	right: 0;
	bottom: 0;
}

.grid-activites .mask img {
	width: auto;
	height: 340px;
	display: block;
}

.grid-activites .titre {
	width: 900px;
	max-width: 90%;
	margin: 0 auto;
}

.grid-activites h3 {
	margin: 0 auto;
	color: var(--cap-blanc);
	font-size: 47px;
}

.grid-activites a:hover h3 {
	color: var(--cap-gris-tres-clair);
}

.grid-activites h3 i {
	font-size: 34px;
}

/* ========================================================================
   11. ACTIVITÉS, PARTENAIRES ET MOSAÏQUES
   ======================================================================== */

.grid-btn-activite {
	display: grid;
	grid-template-columns: 60% 40%;
	grid-template-rows: auto;
	gap: 0px 0px;
	grid-template-areas: "btn-activite-image btn-activite-texte";
	align-items: center;
}

.grid-btn-activite:hover {
	background: -webkit-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: -o-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
}

.btn-activite-image {
	background: url("images/bg-campagne.jpg") no-repeat center center / cover;
	grid-area: btn-activite-image;
	display: grid;
	justify-items: end;
}

.btn-activite-image img {
	width: auto;
	height: 516px;
	height: clamp(200px, 35.83vw, 516px);
}

.btn-activite-texte {
	padding: 10%;
	box-sizing: border-box;
	grid-area: btn-activite-texte;
}

.grid-activites-p {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	gap: 0px 0px;
	grid-auto-flow: row;
	grid-template-areas: "activite-image activite-liste";
}

.activite-image {
	grid-area: activite-image;
	display: grid;
	justify-items: center;
	align-items: end;
	margin: -50px 0;
}

.activite-liste {
	grid-area: activite-liste;
}

/* Partenaires */

.grid-partenaires, .grid-donateurs {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	grid-gap: 20px 10px;
	position: relative;
	align-items: center;
	justify-items: center;
	margin-bottom: 24px;
}

.grid-partenaires.prioritaire {
	grid-template-columns: repeat(5, 1fr);
}

.grid-donateurs {
	grid-template-columns: repeat(12, 1fr);
}

.grid-partenaires .un-partenaire, .grid-donateurs .un-donateur {
	width: 70%;
	margin: 0 auto;
}

.grid-partenaires .un-partenaire:first-child, .grid-donateurs .un-donateur:first-child {
	width: 100%;
	margin: 0 auto;
}

.grid-partenaires .un-partenaire a, .grid-donateurs .un-donateur a {
	display: block;
	text-align: center;
}

.grid-partenaires .un-partenaire img, .grid-donateurs .un-donateur img {
	max-width: 100%;
	height: auto;
}

/* MOSAIQUES */

.grid-mosaiques {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 10px;
	position: relative;
}

.grid-mosaiques .une-mosaique {
	box-sizing: border-box;
	padding: 40px;
	aspect-ratio: 1;
	display: block;
	text-decoration: none;
}

.grid-mosaiques .une-mosaique.sans-padding {
	padding: 0;
}

.grid-mosaiques .une-mosaique img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
}

.grid-mosaiques a.une-mosaique:hover {
	background: -webkit-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: -o-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
}

.grid-mosaiques .une-mosaique div.chiffre {
	font-family: var(--font-heading);
	font-size: 94px;
	color: var(--cap-blanc);
	margin-bottom: 12px;
}

.grid-mosaiques .une-mosaique div.titre {
	font-size: 24px;
	color: var(--cap-blanc);
}

/* ========================================================================
   12. CARTES DOCUMENTS
   ======================================================================== */

.grid-outils.cartes-documents {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.grid-outils.cartes-documents .un-outil {
	width: 100%;
	max-width: none;
	min-height: 265px;
	margin: 0;
	padding: 24px;
	box-sizing: border-box;
	background: var(--cap-blanc);
	border: 1px solid var(--cap-gris-clair);
	border-radius: 24px;
	display: flex;
	flex-direction: column;
}
.grid-outils .outil-image img {
    max-width: 100%;
}

/* Entête */

.cartes-documents .outil-entete {
	min-height: 38px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 10px;
}

/* Catégorie */

.cartes-documents .outil-cat {
	display: inline-block;
	width: auto;
	padding: 5px 12px;
	margin: 5px 0 0;
	background: var(--cap-mauve-tres-clair);
	border-radius: 50px;
	color: var(--cap-mauve-tres-fonce);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.cartes-documents a.outil-cat:hover {
	background: var(--cap-mauve-tres-fonce);
	color: var(--cap-blanc);
}

/* Variantes de catégories */

.cartes-documents .outil-cat--histoires {
	background: var(--cap-mauve-tres-clair);
	color: var(--cap-mauve-tres-fonce);
}

.cartes-documents .outil-cat--sentiments {
	background: var(--cap-corail-tres-clair);
	color: var(--cap-corail-tres-fonce);
}

/* Icône fichier */

.cartes-documents .outil-icone {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--cap-fond-creme);
	color: var(--cap-gris-fonce);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.cartes-documents .outil-icone i {
	font-size: 15px;
}

.cartes-documents .outil-icone:hover {
	background: var(--cap-orange-fonce);
	color: var(--cap-blanc);
}

/* Titre */

.grid-outils.cartes-documents .un-outil .outil-titre {
	display: block;
	margin: 0 0 12px;
	padding: 0;
	color: var(--cap-noir);
	font-family: var(--font-heading);
	font-size: 23px;
	font-weight: 500;
	line-height: 1.2;
}

/* Résumé */

.grid-outils.cartes-documents .un-outil .outil-resume {
	margin: 0 0 18px;
	color: var(--cap-secondaire);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
}

/* Téléchargement */

.cartes-documents .outil-telecharger {
	margin-top: auto;
	color: var(--cap-primaire);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.cartes-documents .outil-telecharger span {
	margin-left: 5px;
	font-size: 14px;
}

.cartes-documents .outil-telecharger:hover {
	color: var(--cap-noir);
	text-decoration: underline;
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	.grid-outils.cartes-documents {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Responsive : screen and (max-width: 600px) */

@media screen and (max-width: 600px) {
	.grid-outils.cartes-documents {
		grid-template-columns: 100%;
	}

	.grid-outils.cartes-documents .un-outil {
		min-height: 0;
		padding: 22px;
		border-radius: 20px;
	}

	.grid-outils.cartes-documents .un-outil .outil-titre {
		font-size: 21px;
	}
}

/* ========================================================================
   13. EN-TÊTES DE SECTION
   ======================================================================== */

.entete-section {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 36px;
}

.entete-section.au-centre {
    justify-content: center;
    text-align: center;
}

.entete-section__surtitre {
	margin-bottom: 8px;
	color: var(--cap-primaire);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.inverse .entete-section__surtitre {
	color: var(--cap-jaune-clair);
}

.entete-section__titre {
	margin: 0;
	font-size: 38px;
	line-height: 1.04;
	letter-spacing: -0.02em;
	font-weight: 600;
}

.inverse .entete-section__titre {
	color: var(--cap-blanc);
}

.entete-section__lien {
	margin-bottom: 4px;
	color: var(--cap-orange-tres-fonce);
	font-size: 17px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
	white-space: nowrap;
}

.entete-section__lien:hover {
	color: var(--cap-noir);
}

.entete-section__lien span {
	margin-left: 4px;
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 860px) */

@media screen and (max-width: 860px) {
	.entete-section {
		align-items: flex-start;
		margin-bottom: 25px;
	}

	.entete-section__titre {
		font-size: clamp(34px, 7vw, 46px);
	}
}

/* Responsive : screen and (max-width: 600px) */

@media screen and (max-width: 600px) {
	.entete-section {
		display: block;
	}

	.entete-section__lien {
		display: inline-block;
		margin-top: 18px;
	}
}

/* ========================================================================
   14. FAQ ET ACCORDÉONS
   ======================================================================== */

.bloc-faq {
	padding: 50px 0;
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

/* Accordéon */

.grid-faqs {
	display: grid;
	gap: 14px;
}

.une-faq {
	overflow: hidden;
	background: var(--cap-fond-creme);
	border: 1px solid var(--cap-gris-clair);
	border-radius: 24px;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.une-faq:hover {
	background: var(--cap-blanc);
}

.une-faq.ouvert {
	background: var(--cap-blanc);
	box-shadow: 0 8px 30px var(--cap-noir-04);
}

/* Question */

.une-faq .faq-question {
	width: 100%;
	padding: 26px 82px 26px 30px;
	box-sizing: border-box;
	margin: 0;
	background: none !important;
	border: 0;
	color: var(--cap-noir);
	display: block;
	position: relative;
	text-align: left;
	cursor: pointer;
}

.une-faq .faq-question:hover {
	background: none !important;
}

.une-faq .faq-question h3 {
	margin: 0;
	color: var(--cap-noir);
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

/* Bouton + / - */

.une-faq .faq-question::after {
	content: "+";
	width: 40px;
	height: 40px;
	background: var(--cap-orange-tres-clair);
	border-radius: 50%;
	color: var(--cap-orange-fonce);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 26px;
	font-weight: 300;
	line-height: 38px;
	text-align: center;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}

.une-faq.ouvert .faq-question::after {
	content: "−";
	background: var(--cap-orange-fonce);
	color: var(--cap-blanc);
}

/* Réponse */

.une-faq .faq-reponse {
	display: none;
	padding: 0 82px 26px 30px;
}

.une-faq .faq-reponse p {
	margin-bottom: 18px;
	color: var(--cap-noir);
	font-size: 18px;
	line-height: 1.65;
}

.une-faq .faq-reponse p:last-child {
	margin-bottom: 0;
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 860px) */

@media screen and (max-width: 860px) {
	.bloc-faq {
		padding: 35px 0;
	}

	.une-faq {
		border-radius: 18px;
	}

	.une-faq .faq-question {
		padding: 22px 70px 22px 20px;
	}

	.une-faq .faq-question h3 {
		font-size: 18px;
	}

	.une-faq .faq-question::after {
		width: 38px;
		height: 38px;
		right: 18px;
		line-height: 36px;
	}

	.une-faq .faq-reponse {
		padding: 0 20px 22px;
	}
}

/* Responsive : screen and (max-width: 600px) */

@media screen and (max-width: 600px) {
	.une-faq .faq-question h3 {
		font-size: 17px;
		line-height: 1.35;
	}

	.une-faq .faq-reponse p {
		font-size: 16px;
		line-height: 1.5;
	}
}

/* ========================================================================
   15. CARTES DE CONTENU ET TÉMOIGNAGES
   ======================================================================== */

.un-contenu .cartes-contenus {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

/* Carte */

.cartes-contenus .ccelement {
	min-width: 0;
	padding: 0;
	background: var(--cap-blanc);
	border: 1px solid var(--cap-marine-tres-clair);
	border-radius: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	overflow: hidden;
}

/* Image */

.cartes-contenus .ccelement-image {
	width: 100%;
	height: 165px;
	margin: 0;
	background: var(--cap-vert-tres-clair);
	display: block;
	overflow: hidden;
}

.cartes-contenus .ccelement-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
	transition: transform 0.35s ease;
}

.cartes-contenus .ccelement:hover .ccelement-image img {
	transform: scale(1.04);
}

/* Contenu */

.cartes-contenus .ccelement-contenu {
	flex: 1;
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
}

.cartes-contenus .ccelement-titre {
	margin: 0 0 16px;
	color: var(--cap-noir);
	font-family: "Recoleta", serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.15;
}

/* Lien */

.cartes-contenus .ccelement-lien {
	margin-top: auto;
	color: var(--cap-primaire);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.cartes-contenus .ccelement-lien span {
	margin-left: 6px;
	display: inline-block;
	transition: transform 0.25s ease;
}

.cartes-contenus .ccelement-lien:hover {
	color: var(--cap-noir);
}

.cartes-contenus .ccelement-lien:hover span {
	transform: translateX(4px);
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	.un-contenu .cartes-contenus {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Responsive : screen and (max-width: 600px) */

@media screen and (max-width: 600px) {
	.un-contenu .cartes-contenus {
		grid-template-columns: 100%;
	}

	.cartes-contenus .ccelement {
		border-radius: 20px;
	}

	.cartes-contenus .ccelement-image {
		height: 200px;
	}

	.cartes-contenus .ccelement-titre {
		font-size: 20px;
	}
}

/* TEMOIGNAGES */

.over-temoignages {
	width: 100%;
	height: 100%;
	opacity: 90%;
	left: 0;
	top: 0;
	position: absolute;
}

.les-temoignages {
	box-sizing: border-box;
	background: url("images/bg-temoignages-v2.jpg") no-repeat center bottom;
	background-size: cover;
	position: relative;
	text-align: center;
	padding: 100px 0;
}

.les-temoignages .un-temoignage {
	max-width: 800px;
	margin: 0 auto 50px auto;
}

.les-temoignages h2 {
	color: var(--cap-blanc);
}

.les-temoignages .un-temoignage p {
	font-size: 25px;
	color: var(--cap-blanc);
	margin-bottom: 0;
}

/* ========================================================================
   16. CONTENUS COMPLÉMENTAIRES ET UTILITAIRES
   ======================================================================== */

.grid-contenus-comp {
	display: grid;
	grid-template-columns: 100%;
	grid-gap: 40px 0;
	position: relative;
}

.ccelement {
	display: grid;
	box-sizing: border-box;
	padding: 10px 0;
	grid-template-columns: 105px calc(100% - 105px);
	grid-template-rows: auto;
	gap: 0px 0px;
	grid-auto-flow: row;
	justify-items: start;
	align-items: center;
	grid-template-areas: "ccelement-image ccelement-titre";
}

.ccelement a {
	font-size: 24px;
	color: var(--cap-corail-fonce);
}

.ccelement a:hover {
	color: var(--cap-noir);
}

.ccelement-image {
	width: 95px;
	height: 75px;
	background: var(--cap-gris-clair);
	grid-area: ccelement-image;
	margin: 0;
}

.ccelement-image img {
	width: 100%;
	height: 75px;
	display: block;
	object-fit: cover;
	object-position: center center;
}

.ccelement-titre {
	grid-area: ccelement-titre;
}

.widget .menu {
	padding-left: 0;
}

.les-tags {
	list-style: none;
	margin: 0;
}

.les-tags li {
	display: inline-block;
}

#menu-footer-tags-anglais li, #menu-footer-tags li {
	display: inline;
}

#menu-footer-tags-anglais a, #menu-footer-tags a, a.btn-orange {
	background: -webkit-linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	background: -o-linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	background: linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	color: var(--cap-blanc);
	text-decoration: none;
	font-size: 18px;
	font-weight: 500;
	display: inline-block;
	padding: 6px 12px;
	margin: 2px;
	border-radius: 4px;
}

#menu-footer-tags-anglais a:hover, #menu-footer-tags a:hover, a.btn-orange:hover {
	background: -webkit-linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
	background: -o-linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
	background: linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
}

a.btn-orange.minimal {
	font-size: 10px;
	text-transform: uppercase;
	padding: 3px 6px;
}

a.btn-plus {
	margin-top: 12px;
	display: inline-block;
	color: var(--cap-marine-tres-fonce);
	font-size: 17px;
	text-decoration: underline;
	padding: 10px 20px;
	border: 1px solid var(--cap-marine-tres-fonce);
	border-radius: 6px;
}

a.btn-plus:hover {
	color: var(--cap-blanc);
	background: var(--cap-gris-tres-fonce);
}

a.btn-activite {
	width: 100%;
	font-size: 36px;
	margin-bottom: 10px;
	color: var(--cap-blanc);
	text-decoration: none;
	box-sizing: border-box;
	display: block;
	padding: 40px;
	font-family: var(--font-heading);
}

a.btn-activite span {
	font-size: 26px;
	margin-bottom: 6px;
	display: block;
	font-family: var(--font-primary);
}

a.btn-activite:hover {
	background: -webkit-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: -o-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
	background: linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce)) !important;
}

/* COULEURS */

.txt-noir {
	color: var(--cap-noir);
}

/* BACKGROUND */

.bg-motifs {
	background: url("images/memphis-mini.png") repeat center center;
}

.bg-deg-gris {
	background: -webkit-linear-gradient(var(--cap-gris-clair), var(--cap-blanc));
	background: -o-linear-gradient(var(--cap-gris-clair), var(--cap-blanc));
	background: linear-gradient(var(--cap-gris-clair), var(--cap-blanc));
}

.bg-deg-gris.avec-espace-bg {
	background: linear-gradient(to bottom, var(--cap-blanc) 0px, var(--cap-blanc) 310px, var(--cap-gris-clair) 310px, var(--cap-blanc) 100%);
}

.bg-gris {
	background: var(--cap-gris-principal);
}

.bg-gris-fonce {
	background: var(--cap-gris-tres-fonce);
}

.bg-blanc {
	background: var(--cap-blanc);
}

.bg-peche {
	background: var(--cap-fond-creme);
}

.bg-bleu {
	background: var(--cap-marine-tres-fonce);
}

.centre {
	text-align: center;
}

/* ========================================================================
   17. COLONNE LATÉRALE
   ======================================================================== */

#sidebar-principal h2 {
	color: var(--cap-vert-tres-fonce);
	font-size: 28px;
}

#sidebar-principal h2 span {
	display: block;
	font-size: 24px;
	font-family: var(--font-primary);
}

#sidebar-principal .sidebar-element {
	margin-bottom: 40px;
}

#sidebar-principal .boite-porte-parole {
	display: block;
	text-align: right;
	position: relative;
}

#sidebar-principal .boite-porte-parole .boite-porte-parole-under {
	width: 100%;
	height: 90%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: -webkit-linear-gradient(var(--cap-jaune-principal), var(--cap-olive-principal));
	background: -o-linear-gradient(var(--cap-jaune-principal), var(--cap-olive-principal));
	background: linear-gradient(var(--cap-jaune-principal), var(--cap-olive-principal));
	z-index: 10;
}

#sidebar-principal .boite-porte-parole:hover .boite-porte-parole-under {
	background: -webkit-linear-gradient(var(--cap-olive-principal), var(--cap-olive-principal));
	background: -o-linear-gradient(var(--cap-olive-principal), var(--cap-olive-principal));
	background: linear-gradient(var(--cap-olive-principal), var(--cap-olive-principal));
}

#sidebar-principal .boite-porte-parole .boite-porte-parole-image {
	position: relative;
	z-index: 20;
}

#sidebar-principal .boite-porte-parole .boite-porte-parole-image img {
	width: 100%;
	height: auto;
}

#sidebar-principal .boite-porte-parole .boite-porte-parole-texte {
	width: 100%;
	padding: 50px 20px 15px 20px;
	box-sizing: border-box;
	text-align: left;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(var(--cap-blanc-00), var(--cap-jaune-tres-fonce));
	z-index: 30;
}

#sidebar-principal .boite-porte-parole h2 {
	font-size: 30px;
	margin: 0;
	line-height: 1;
	color: var(--cap-blanc);
}

#sidebar-principal .boite-porte-parole h2 span:not(.petit) {
	font-size: 14px;
	margin-top: 10px;
}

#sidebar-principal .boite-porte-parole h2 span.petit {
	margin-top: 10px;
	font-size: 13px;
}

#sidebar-principal .boite-declaration {
	display: block;
}

#sidebar-principal .boite-declaration h2 {
	width: 100%;
	margin: 0;
	padding: 15px 20px;
	box-sizing: border-box;
	font-size: 38px;
	line-height: 1;
	background: -webkit-linear-gradient(var(--cap-primaire), var(--cap-orange-principal));
	background: -o-linear-gradient(var(--cap-primaire), var(--cap-orange-principal));
	background: linear-gradient(var(--cap-primaire), var(--cap-orange-principal));
	color: var(--cap-blanc);
}

#sidebar-principal .boite-declaration:hover h2 {
	background: -webkit-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce));
	background: -o-linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce));
	background: linear-gradient(var(--cap-gris-tres-fonce), var(--cap-gris-tres-fonce));
}

#sidebar-principal .boite-declaration h2 span {
	margin-bottom: 10px;
}

#sidebar-principal .widget-area, #sidebar-principal .widget-area .menu {
	margin: 0;
	list-style: none;
}

#sidebar-principal .widget-area .menu li {
	line-height: 1.2;
	padding-bottom: 20px;
}

#sidebar-principal .widget-area .menu li:last-child {
	padding-bottom: 0;
}

#sidebar-principal .widget-area .menu li a {
	font-size: 24px;
	color: var(--cap-corail-fonce);
	text-decoration: underline;
}

#sidebar-principal .widget-area .menu li a:hover {
	color: var(--cap-noir);
}

/* ========================================================================
   18. BALADOS ET RECHERCHE
   ======================================================================== */

.un-episode {
	width: 100%;
	margin: 5px auto 5px auto;
	display: block;
	background: var(--cap-gris-clair);
	box-sizing: border-box;
	padding: 25px 35px 15px 35px;
}

.un-episode h2 {
	margin-top: 0;
	font-size: 22px;
}

.un-episode p.resume {
	font-size: 14px;
}

.un-episode img {
	width: 100%;
	max-width: 200px;
	margin-bottom: 12px;
	height: auto;
}

.un-episode time {
	display: block;
	padding-bottom: 4px;
}

.un-episode.video time {
	font-size: 12px;
	font-weight: bold;
	padding-bottom: 10px;
}

.un-episode.video h2 {
	font-size: 20px;
}

.balado-gauche, .balado-droite {
	box-sizing: border-box;
	position: relative;
	float: left;
}

.balado-gauche {
	width: 30%;
	padding-right: 3%;
}

.balado-droite {
	width: 70%;
	padding-left: 2%;
}

/* RECHERCHE */

.une-recherche {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 4px solid var(--cap-gris-tres-clair);
	position: relative;
}

.une-recherche.premier {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 4px solid var(--cap-gris-tres-clair);
}

.une-recherche h2 {
	padding-right: 100px;
}

.une-recherche h2 a {
	text-decoration: none;
}

.une-recherche .le-type {
	width: 80px;
	padding: 6px 0 4px 0;
	border-radius: 4px;
	line-height: 1;
	text-align: center;
	font-size: 0.7rem;
	text-transform: uppercase;
	color: var(--cap-blanc);
	display: inline-block;
	position: absolute;
	right: 0;
	top: 4px;
}

.une-recherche.premier .le-type {
	top: 46px;
}

.menu-principal .menu-outil-recherche {
	width: 93%;
	height: 100%;
	background: var(--cap-gris-tres-clair-97);
	position: absolute;
	left: 0;
	top: 0;
	display: none;
}

#entete-principale.v2 .menu-principal .menu-outil-recherche {
	width: 95%;
}

.menu-principal .searchform {
	width: 100%;
	height: 100%;
	display: grid;
	align-items: center;
	justify-items: center;
	user-select: none;
}

.menu-principal .searchform input[type="text"] {
	padding: 6px 12px;
	border-radius: 8px;
	border: 2px solid var(--cap-gris-fonce);
}

.menu-principal .searchform input[type="submit"] {
	border: none;
	background: -webkit-linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	background: -o-linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	background: linear-gradient(var(--cap-orange-principal), var(--cap-primaire));
	color: var(--cap-blanc);
	text-decoration: none;
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	display: inline-block;
	padding: 8px 12px;
	margin: 2px;
	border-radius: 4px;
}

.menu-principal .searchform input[type="submit"]:hover {
	background: -webkit-linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
	background: -o-linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
	background: linear-gradient(var(--cap-orange-tres-fonce), var(--cap-orange-tres-fonce));
}

.menu-principal .searchform ::placeholder {
	color: var(--cap-gris-fonce);
	font-style: italic;
}

.show-mobile, .menu-principal .menu-sub-texte .show-mobile, .grid-relations h3 span.show-mobile {
	display: none !important;
}

/* CONTENU */

.page-contenu .padding-contenu {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 4px solid var(--cap-gris-tres-clair);
}

.page-contenu .grid-multimedias .un-balado {
	width: calc(33.3333% - 4px);
}

/* ========================================================================
   19. PIED DE PAGE VERSION 3
   ======================================================================== */

#piedpage.footer-v3 {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
	background: radial-gradient(
            circle at 15% 20%,
            var(--cap-blanc-04) 0,
            var(--cap-transparent) 30%
        ), radial-gradient(
            circle at 75% 60%,
            var(--cap-orange-tres-fonce-06) 0,
            var(--cap-transparent) 34%
        ), var(--cap-primaire);
	color: var(--cap-blanc);
	overflow: hidden;
}

#piedpage.footer-v3 * {
	box-sizing: border-box;
}

/* WRAPPER */

#piedpage.footer-v3 .footer-v3__wrapper {
	margin: 0 auto;
	padding: 65px 0 38px;
}

/* LOGO */

.footer-v3__logo {
	margin: 0 0 60px;
	text-align: center;
    display: flex;
    justify-content: center;
}

.footer-v3__logo .custom-logo-link {
	display: inline-block;
}

.footer-v3__logo .custom-logo {
	width: auto;
	max-width: 170px;
	height: auto;
	display: block;
	filter: brightness(0) invert(1);
}

.footer-v3__logo img {
	filter: brightness(0) invert(1);
}

.footer-v3__logo > a:not(.custom-logo-link) {
	color: var(--cap-blanc);
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

/* 4 COLONNES PRINCIPALES */

.footer-v3__menus {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 55px;
	margin: 0 0 65px;
}

.footer-v3__menu {
	min-width: 0;
}

.footer-v3__menu .widget-area {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-v3__menu .widget-area > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Titres */

.footer-v3__menu h2, .footer-v3__menu h3, .footer-v3__menu .widget-title {
	margin: 0 0 17px;
	color: var(--cap-blanc);
	font-family: var(--font-primary);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.05;
}

/* Menus */

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

.footer-v3__menu ul.menu li {
	margin: 0 0 13px;
	padding: 0;
	list-style: none;
	color: var(--cap-blanc);
	font-size: 14px;
	line-height: 1.25;
}

.footer-v3__menu ul.menu li:last-child {
	margin-bottom: 0;
}

.footer-v3__menu ul.menu a {
	color: var(--cap-blanc);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.footer-v3__menu ul.menu a:hover, .footer-v3__menu ul.menu a:focus-visible {
	color: var(--cap-blanc);
	text-decoration-thickness: 2px;
}

/* DESCRIPTION + COORDONNÉES */

.footer-v3__infos {
	display: grid;
	grid-template-columns: minmax(0, 1.85fr) minmax(300px, 1fr);
	gap: 105px;
	align-items: start;
	margin: 0 0 85px;
}

/* Présentation */

.footer-v3__presentation {
	max-width: 620px;
}

.footer-v3__presentation .widget-area, .footer-v3__coordonnees .widget-area {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-v3__presentation .widget-area > li, .footer-v3__coordonnees .widget-area > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-v3__presentation p {
	margin: 0;
	color: var(--cap-blanc);
	font-size: 19px;
	font-weight: 500;
	line-height: 1.35;
}

/* Coordonnées */

.footer-v3__coordonnees p {
	margin: 0 0 14px;
	color: var(--cap-blanc);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
}

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

.footer-v3__coordonnees strong {
	color: var(--cap-blanc);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.05;
}

.footer-v3__presentation a, .footer-v3__coordonnees a {
	color: var(--cap-blanc);
}

.footer-v3__presentation a:hover, .footer-v3__coordonnees a:hover {
	color: var(--cap-blanc);
}

/* RÉSEAUX SOCIAUX */

#piedpage.footer-v3 .reseaux-sociaux {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 28px 0 0;
}

#piedpage.footer-v3 .reseaux-sociaux a {
	width: 34px;
	height: 34px;
	background: var(--cap-orange-tres-fonce-42);
	border-radius: 50%;
	color: var(--cap-blanc);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

#piedpage.footer-v3 .reseaux-sociaux i {
	margin: 0;
	color: var(--cap-blanc);
	font-size: 17px;
}

#piedpage.footer-v3 .reseaux-sociaux a:hover {
	background: var(--cap-orange-tres-fonce-58);
	transform: translateY(-2px);
}

/* BAS DU FOOTER */

.footer-v3__bottom {
	min-height: 55px;
	padding-top: 23px;
	border-top: 1px solid var(--cap-orange-tres-fonce-32);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 30px;
}

.footer-v3__bottom .widget-area {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-v3__bottom .widget-area > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-v3__bottom p {
	margin: 0;
	color: var(--cap-blanc);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

/* Copyright */

.footer-v3__copyright {
	flex: 0 0 auto;
}

/* Menu légal */

.footer-v3__legal {
	flex: 1;
}

.footer-v3__legal ul.menu {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 25px;
	list-style: none;
}

.footer-v3__legal ul.menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-v3__legal ul.menu li::after {
	display: none !important;
}

.footer-v3__legal ul.menu a {
	color: var(--cap-blanc);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.footer-v3__legal ul.menu a:hover {
	color: var(--cap-blanc);
	text-decoration-thickness: 2px;
}

#footer-6-sidebar a {
	font-size: 20px;
	font-weight: 500;
	text-decoration: none;
}

#footer-6-sidebar a:hover {
	text-decoration: underline;
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	#piedpage.footer-v3 .footer-v3__wrapper {
		padding: 55px 0 32px;
	}

	.footer-v3__logo {
		text-align: center;
		margin-bottom: 50px;
	}

	.footer-v3__menus {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 45px 50px;
		margin-bottom: 55px;
	}

	.footer-v3__infos {
		grid-template-columns: 1.4fr 1fr;
		gap: 50px;
		margin-bottom: 60px;
	}
}

/* Responsive : screen and (max-width: 700px) */

@media screen and (max-width: 700px) {
	#piedpage.footer-v3 .footer-v3__wrapper {
		padding: 42px 0 26px;
	}

	.footer-v3__logo {
		margin-bottom: 40px;
	}

	.footer-v3__logo .custom-logo {
		max-width: 145px;
	}

	.footer-v3__menus {
		grid-template-columns: 100%;
		gap: 35px;
		margin-bottom: 48px;
	}

	.footer-v3__menu h2, .footer-v3__menu h3, .footer-v3__menu .widget-title {
		font-size: 19px;
	}

	.footer-v3__menu ul.menu a {
		font-size: 14px;
	}

	.footer-v3__infos {
		grid-template-columns: 100%;
		gap: 40px;
		margin-bottom: 50px;
	}

	.footer-v3__presentation {
		max-width: none;
	}

	.footer-v3__presentation p {
		font-size: 16px;
	}

	.footer-v3__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.footer-v3__legal ul.menu {
		gap: 12px 22px;
	}
    
    #footer-1-sidebar,
    #footer-2-sidebar,
    #footer-3-sidebar,
    #footer-4-sidebar,
    #footer-5-sidebar {
        text-align: center;
    }
    #piedpage.footer-v3 .reseaux-sociaux {
        justify-content: center;
    }
    #piedpage.footer-v3 .footer-v3__coordonnees {
        text-align: center;
    }
    #piedpage.footer-v3 .footer-v3__logo,
    #piedpage.footer-v3 .footer-v3__bottom {
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }
}

/* ========================================================================
   20. UTILITAIRES ET AJUSTEMENTS GÉNÉRAUX
   ======================================================================== */

.bloc-important {
	box-sizing: border-box;
	padding: 20px 30px;
	font-size: clamp(15px,1.25vw,18px);
	font-weight: 400;
	line-height: 1.4;
}

.gauche {
	text-align: left;
}

.droite {
	text-align: right;
}

.menu-langue {
	font-size: 0.7rem;
	font-weight: bold;
	text-transform: uppercase;
	padding: 10px 10px;
	display: inline-block;
	position: absolute;
	left: 10px;
	top: 0;
}

#entete-principale.v2 .menu-langue {
	padding: 14px 10px 8px 10px;
	font-weight: normal;
}

ol {
	list-style: decimal !important;
}

li.niveau-2 {
	margin-left: 20px;
	list-style: circle;
}

#bandeau-congres {
	width: 100%;
	text-align: center;
	background: var(--cap-marine-tres-fonce);
	background: linear-gradient(to right, var(--cap-marine-tres-fonce) 50%, var(--cap-gris-tres-clair) 50%);
}

#bandeau-congres img {
	width: 85%;
	height: auto;
	max-width: 1440px;
	display: block;
	margin: 0 auto;
}

#boite-partenaires.v2 h2 {
	font-weight: bold;
}

#boite-partenaires .slideshow-container {
	display: flex;
	overflow: hidden;
	width: calc(100% - 64px);
	margin: 0 auto;
	align-items: center;
	box-sizing: content-box;
	position: initial;
}

#boite-partenaires .mySlides {
	flex: 0 0 20%;
	display: block;
	transition: transform 0.5s ease-in-out;
}

#boite-partenaires #slider2 .mySlides {
	flex: 0 0 10%;
}

#boite-partenaires .mySlides a {
	width: 75%;
	display: block;
	margin: 0 auto;
}

#boite-partenaires .mySlides img {
	width: 100%;
	height: auto;
}

#boite-partenaires img {
	vertical-align: middle;
}

#boite-partenaires .prev, #boite-partenaires .next {
	cursor: pointer;
	position: absolute;
	top: 50%;
	left: 0;
	width: auto;
	padding: 16px;
	margin-top: 0;
	color: var(--cap-gris-fonce);
	font-weight: bold;
	font-size: 18px;
	transition: 0.6s ease;
	border-radius: 0 3px 3px 0;
	user-select: none;
	text-decoration: none;
	transform: translateY(-50%);
}

#boite-partenaires .next {
	left: auto;
	right: 0;
	border-radius: 3px 0 0 3px;
}

#boite-partenaires .prev:hover, #boite-partenaires .next:hover {
	background-color: var(--cap-noir-80);
}

/* ========================================================================
   21. RESPONSIVE GÉNÉRAL — ORDRE DE PRIORITÉ CONSERVÉ
   ======================================================================== */

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	/* Menu burger */

	#contenu-principal .colonne-73p, #contenu-principal.v2 .colonne-73p, #contenu-principal .colonne-27p, #contenu-principal.v2 .colonne-27p, #pied-page-principal .colonne-25p, #pied-page-principal.v2 .colonne-25p {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		display: block;
		float: none;
		clear: both;
		text-align: center;
		margin-bottom: 12px;
	}

	#contenu-principal .colonne-27p {
		max-width: 327px;
		margin: 0 auto;
	}

	#contenu-principal.v2 .colonne-27p {
		margin-top: 40px;
		padding-top: 40px;
		border-top: 4px solid var(--cap-corail-fonce-60);
		margin-bottom: 40px;
		padding-bottom: 40px;
		border-bottom: 4px solid var(--cap-corail-fonce-60);
	}

	#pied-page-principal .colonne-25p li {
		list-style: none !important;
	}

	#menu-mobile {
		display: block;
	}

	#entete-principale.v2 .menu-principal {
		display: none;
	}

	#entete-principale.v2 .menu-principal .menu-element-1, #entete-principale.v2 .menu-principal .menu-element-2, #entete-principale.v2 .menu-principal .menu-element-3, #entete-principale.v2 .menu-principal .menu-element-4, #entete-principale.v2 .menu-principal .menu-element-5 {
		display: inline-block !important;
		text-align: left;
	}

	#menu-principal {
		display: none;
		width: 300px;
		position: absolute;
		right: 0;
		top: 47px;
		background: var(--cap-jaune-clair);
	}

	#menu-principal li {
		width: 96%;
		clear: both;
		float: none;
		padding: 0 2%;
	}

	#menu-principal li a {
		padding: 8px 0;
		color: var(--cap-orange-clair);
		font-weight: bold !important;
		border: 0;
		line-height: 14px;
		text-align: left !important;
	}

	#menu_haut {
		height: auto;
	}

	#menu_haut.sf-menu ul {
		display: block !important;
		position: relative !important;
		left: auto !important;
		top: auto !important;
	}

	#menu-principal li li {
		padding: 0;
	}

	#menu-principal li li:first-child a {
		border-top: 1px var(--cap-orange-clair) solid;
	}

	#menu-principal li li a {
		padding: 4px 12px;
		font-weight: normal !important;
		line-height: 14px;
		border: 0;
	}

	#menu-principal li li.current-menu-item {
		background: none !important;
		font-weight: bold !important;
	}

	#menu-principal li li.current-menu-item a {
		background: none !important;
	}

	#sidebar-principal.padding-video {
		padding-top: 40px;
	}

	#entete-principale.v2 .menu-principal .menu-texte {
		font-size: 14px;
	}

	#bandeau-principal-v2-1 {
		grid-template-columns: 100%;
		grid-template-rows: 616px 206px 410px;
		grid-template-areas: "bandeau-diapo" "bandeau-bloc-1" "bandeau-bloc-2";
	}

	#bandeau-bloc-2 a img {
		width: auto;
		max-height: 100%;
	}
}

/* Responsive : screen and (max-width: 700px) */

@media screen and (max-width: 700px) {
	/* Mobile */

	#slogan {
		display: none !important;
	}

	.alignleft {
		max-width: 100%;
		height: auto;
		float: none;
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 24px;
	}
}

/* Responsive : screen and (max-width: 1440px) */

@media screen and (max-width: 1440px) {
	/* Site plein */

	#bandeau-principal-v2.portail .bandeau-texte h1 {
		font-size: clamp(38px, 4vw, 72px);
	}

	#bandeau-principal-v2 .bandeau-texte h1 {
		font-size: clamp(35px, 2.92vw, 42px);
	}

	h2 {
		font-size: clamp(24px, 2.08vw, 30px);
	}

	#sidebar-principal h2 {
		font-size: clamp(23px, 1.95vw, 28px);
	}

	#bandeau-principal-v2 .bandeau-texte p, .grid-relations h3 {
		font-size: clamp(20px, 1.81vw, 26px);
	}

	#sidebar-principal .widget-area .menu li a, .ccelement a {
		font-size: clamp(18px, 1.67vw, 24px);
	}

	#menu-footer-tags-anglais a, #menu-footer-tags a, a.btn-orange, .accueil-desc p, #fil_ariane, li, p {
		font-size: clamp(15px, 1.25vw, 18px);
	}

	.les-temoignages .un-temoignage p {
		font-size: clamp(19px, 1.74vw, 25px);
	}

	.grid-activites h3 {
		font-size: clamp(32px, 3.26vw, 47px);
	}

	.wrapper {
		width: 98%;
		padding-left: 1%;
		padding-right: 1%;
	}

	#bandeau-principal-v2 {
		width: 98%;
		padding-left: 2%;
		padding-right: 0;
	}

	#bandeau-principal-v2 .bandeau-texte .bandeau-texte-contenu {
		width: 100%;
	}

	.grid-mosaiques {
		grid-template-columns: repeat(3, 1fr);
	}

	.grid-mosaiques .une-mosaique div.chiffre {
		font-size: clamp(54px, 8.25vw, 94px);
	}

	.grid-mosaiques .une-mosaique div.titre {
		font-size: 18px;
		font-size: clamp(16px, 1.67vw, 24px);
		color: var(--cap-blanc);
	}

	.grid-mosaiques .une-mosaique {
		aspect-ratio: 1;
	}

	.grid-activites .titre {
		width: 90%;
	}

	#bandeau-principal-v2 .bandeau-image.besoin img {
		height: 80%;
	}

	.grid-footer {
		grid-template-columns: 32% 22.67% 22.67% 22.66%;
		grid-template-areas: "footer-col1 footer-tags footer-tags footer-tags" "footer-col1 footer-col2 footer-col3 footer-col4" "footer-col1 footer-col5 footer-col6 footer-col4";
	}

	.grid-footer .footer-col1 {
		text-align: center;
	}

	.grid-besoins {
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 10px;
	}

	#contenu-principal.v2 .grid-besoins {
		grid-template-columns: repeat(5, 1fr);
		grid-gap: 0;
	}

	.grid-besoins img {
		max-width: 280px;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

	.grid-generations {
		grid-template-columns: repeat(2, 1fr);
	}

	.grid-relations {
		grid-template-columns: repeat(3, 1fr);
	}

	#contenu-principal.v2 .grid-relations {
		grid-template-columns: repeat(6, 1fr);
	}
}

/* Responsive : screen and (max-width: 1300px) */

@media screen and (max-width: 1300px) {
	.bg-deg-gris.avec-espace-bg {
		background: linear-gradient(to bottom, var(--cap-blanc) 0px, var(--cap-blanc) 280px, var(--cap-gris-clair) 280px, var(--cap-blanc) 100%);
	}
}

/* Responsive : screen and (max-width: 1200px) */

@media screen and (max-width: 1200px) {
	.grid-multimedias .un-balado {
		width: calc(33.3333% - 4px) !important;
	}

	#contenu-principal.v2 .grid-besoins {
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 0;
	}

	.bg-deg-gris.avec-espace-bg {
		background: linear-gradient(to bottom, var(--cap-blanc) 0px, var(--cap-blanc) 240px, var(--cap-gris-clair) 240px, var(--cap-blanc) 100%);
	}
}

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	#contenu-principal.v2 .grid-relations {
		grid-template-columns: repeat(4, 1fr);
	}

	.bg-deg-gris.avec-espace-bg {
		background: linear-gradient(to bottom, var(--cap-blanc) 0px, var(--cap-blanc) 260px, var(--cap-gris-clair) 260px, var(--cap-blanc) 100%);
	}
}

/* Responsive : screen and (max-width: 870px) */

@media screen and (max-width: 870px) {
	#contenu-principal.v2 .grid-besoins, .grid-besoins, .grid-generations {
		grid-template-columns: 100%;
		grid-gap: 0;
		position: relative;
	}

	.grid-besoins a, .grid-generations a {
		margin-bottom: 10px;
	}

	.grid-besoins .mask, .grid-generations .mask {
		position: absolute;
		left: 10px;
		bottom: 10px;
	}

	.grid-generations .mask {
		left: 0px;
	}

	.grid-besoins img {
		max-width: 100px;
		display: block;
	}

	.grid-generations img {
		width: 160px;
		height: 160px;
		object-fit: cover;
		object-position: center center;
	}

	.grid-besoins .titre, .grid-generations .titre {
		height: 160px;
		padding: 0 20px 0 180px;
	}

	.grid-besoins .titre {
		padding: 0 20px 0 120px;
	}

	#contenu-principal.v2 .grid-besoins .titre {
		height: 60px;
	}

	#contenu-principal.v2 .grid-besoins {
		grid-template-columns: 50% 50%;
		grid-gap: 0;
		position: relative;
	}

	.lien-portail.un-besoin.v2 {
		margin: 30px auto 0 auto;
		width: 100%;
	}

	.grid-relations {
		grid-template-columns: repeat(2, 1fr);
	}

	.grid-multimedias .un-balado {
		width: calc(50% - 4px) !important;
	}

	#contenu-principal.v2 .grid-besoins img {
		width: auto !important;
		max-width: 300px;
		height: 90px;
		top: -30px;
	}

	#contenu-principal.v2 .grid-besoins .titre {
		padding: 0;
	}

	#contenu-principal.v2 .grid-besoins .titre h3 {
		margin: 0 auto;
	}
}

/* Responsive : screen and (min-width: 861px) */

@media screen and (min-width: 861px) {
	#menu-haut .menu-principal {
		display: grid !important;
	}

	#entete-principale.v2 #menu-haut .menu-principal {
		display: flex !important;
		justify-content: flex-end;
	}

	#menu-haut .menu-mobile {
		display: none !important;
	}

	.menu-sub-texte span {
		display: block;
	}

	.show-860, .show-800 {
		display: none !important;
	}
}

/* Responsive : screen and (max-width: 860px) */

@media screen and (max-width: 860px) {
	.grid-mosaiques {
		grid-template-columns: repeat(2, 1fr);
	}

	.grid-footer {
		grid-template-columns: 33.33% 33.34% 33.33%;
		grid-template-areas: "footer-col1 footer-col1 footer-col1" "footer-tags footer-tags footer-tags" "footer-col2 footer-col3 footer-col4" "footer-col5 footer-col6 footer-col4";
	}

	.grid-footer ul {
		text-align: center;
	}

	.grid-btn-activite {
		grid-template-columns: 100% 100%;
		grid-template-areas: "btn-activite-image" "btn-activite-texte";
	}

	.btn-activite-texte {
		padding: 20px;
		text-align: center;
	}

	.grid-partenaires {
		grid-template-columns: repeat(5, 1fr);
		grid-template-rows: max-content;
	}

	.grid-donateurs {
		grid-template-columns: repeat(8, 1fr);
		grid-template-rows: max-content;
	}

	.grid-partenaires.prioritaire {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: max-content;
	}

	#menu-haut {
		max-width: 300px;
	}

	#menu-haut .menu-principal {
		width: 300px;
		height: auto;
		display: none;
		position: absolute;
		right: 0;
		top: 100px;
		z-index: 300;
		background: var(--cap-blanc);
	}

	#menu-haut .menu-principal .menu-action {
		display: none;
	}

	#menu-haut .menu-principal .menu-sub {
		padding: 15px 25px;
		display: block !important;
		position: relative;
		top: auto;
		left: auto;
	}

	#menu-haut .menu-mobile {
		display: block;
	}

	.menu-principal .menu-sub .grid-menu-sub {
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 2px;
	}

	.menu-principal .menu-sub .menu-sub-icone img {
		max-width: 60px;
	}

	.menu-principal .menu-element-1 .menu-sub-icone img {
		max-width: 30px;
	}

	.menu-principal .menu-sub-texte br {
		display: none;
	}

	.menu-principal .menu-sub-texte .show-mobile {
		display: inline-block;
	}

	.menu-principal .menu-sub .menu-sub-element {
		grid-template-columns: 70px calc(100% - 70px);
	}

	.menu-principal .menu-element-1 .menu-sub .menu-sub-element {
		grid-template-columns: 40px calc(100% - 40px);
	}

	.menu-principal .menu-recherche {
		display: none;
	}

	#bandeau-principal-v2 {
		height: auto;
		display: block;
		grid-template-columns: 100%;
		grid-template-rows: auto;
		gap: 0px;
		grid-template-areas: "bandeau-image";
		padding-top: 50px;
	}

	.home #bandeau-principal-v2 .bandeau-texte {
		display: none;
	}

	#bandeau-principal-v2 .bandeau-image .boite-informative {
		width: 100%;
		box-sizing: border-box;
		max-width: 100%;
		padding: 40px 1% 50px 0;
		border-bottom-left-radius: 0;
		border-top-left-radius: 0;
		background: none;
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
	}

	#bandeau-principal-v2 .bandeau-image .boite-informative h2, #bandeau-principal-v2 .bandeau-image .boite-informative a, #bandeau-principal-v2 .bandeau-image .boite-informative p {
		color: var(--cap-blanc) !important;
	}

	#bandeau-principal-v2 .bandeau-image img {
		display: none;
	}

	.hide-860, .hide-800 {
		display: none !important;
	}

	.show-860, .show-800 {
		display: block !important;
	}

	#bandeau-principal-v2 {
		padding-top: 0;
		text-align: center;
	}

	.boite-v2 {
		padding: 25px 0;
	}

	#entete-principale.v2 .menu-principal .menu-recherche, #entete-principale.v2 #menu-haut .menu-action .menu-texte {
		display: none !important;
	}

	.nouvelles-v2 {
		grid-template-columns: repeat(2, 1fr);
	}

	#entete-principale.v2 .menu-principal .menu-element-1, #entete-principale.v2 .menu-principal .menu-element-2, #entete-principale.v2 .menu-principal .menu-element-3, #entete-principale.v2 .menu-principal .menu-element-4, #entete-principale.v2 .menu-principal .menu-element-5 {
		display: block !important;
	}

	#entete-principale.v2 .menu-principal .menu-recherche {
		display: none !important;
	}

	#entete-principale.v2 .menu-principal .menu-element .menu-action, #entete-principale.v2 .menu-principal .menu-element .menu-action-lien {
		border-left: none;
		margin-left: 0;
		padding-left: 0;
	}

	#entete-principale.v2 .menu-principal .menu-element .menu-action-lien {
		box-sizing: border-box;
		padding: 15px 25px;
	}

	#entete-principale.v2 .menu-principal .menu-element.menu-element-4 .menu-action-lien {
		padding-bottom: 0;
	}
}

/* Responsive : screen and (max-width: 640px) */

@media screen and (max-width: 640px) {
	#contenu-principal.v2 .grid-relations {
		grid-template-columns: repeat(3, 1fr);
	}

	.nouvelles-v2 {
		grid-template-columns: 100%;
		grid-gap: 0 20px;
	}

	.nouvelles-v2 .article-accueil {
		max-width: 360px;
		margin: 0 auto;
	}
}

/* Responsive : screen and (max-width: 600px) */

@media screen and (max-width: 600px) {
	.grid-mosaiques {
		grid-template-columns: 100%;
	}

	.grid-mosaiques .une-mosaique {
		aspect-ratio: unset;
	}

	.grid-outils {
		grid-template-columns: repeat(2, 1fr);
	}

	.grid-footer {
		grid-template-columns: 100%;
		grid-template-areas: "footer-col1" "footer-tags" "footer-col2" "footer-col3" "footer-col4" "footer-col5" "footer-col6";
		text-align: center;
	}

	.grid-multimedias .un-balado {
		width: 100% !important;
	}

	.grid-partenaires {
		grid-template-columns: repeat(4, 1fr);
	}

	.article-accueil figure {
		display: none;
	}

	.article-accueil .aa-content {
		width: 100%;
		float: none;
	}
}

/* Responsive : screen and (max-width: 540px) */

@media screen and (max-width: 540px) {
	#contenu-principal.v2 .grid-besoins {
		grid-template-columns: 100%;
	}
}

/* Responsive : screen and (max-width: 400px) */

@media screen and (max-width: 400px) {
	.grid-partenaires {
		grid-template-columns: repeat(4, 1fr);
	}

	.grid-donateurs {
		grid-template-columns: repeat(6, 1fr);
	}

	#contenu-principal.v2 .grid-relations {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ========================================================================
   22. LISTES MOSAÏQUES
   ======================================================================== */

.grid-mosaiques.liste-mosaiques {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

/* Carte */

.grid-mosaiques.liste-mosaiques .une-mosaique {
	width: 100%;
	min-height: 80px;
	aspect-ratio: auto;
	padding: 16px 24px 16px 20px;
	box-sizing: border-box;
	background: var(--cap-blanc) !important;
	border: 1px solid var(--cap-marine-tres-clair);
	border-radius: 22px;
	display: grid;
	grid-template-columns: 42px 1fr 16px;
	gap: 16px;
	align-items: center;
	text-decoration: none;
	box-shadow: 0 1px 2px var(--cap-noir-04);
}

/* Numéro */

.grid-mosaiques.liste-mosaiques .une-mosaique .chiffre {
	width: 42px;
	height: 42px;
	margin: 0;
	background: var(--cap-orange-tres-clair);
	border-radius: 50%;
	color: var(--cap-primaire);
	font-family: "Recoleta", serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 42px;
	text-align: center;
}

/* Titre */

.grid-mosaiques.liste-mosaiques .une-mosaique .titre {
	color: var(--cap-noir);
	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

/* Flèche */

.grid-mosaiques.liste-mosaiques .fleche {
	color: var(--cap-gris-fonce);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	text-align: right;
	transition: transform 0.25s ease;
}

/* Hover */

.grid-mosaiques.liste-mosaiques .une-mosaique {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.grid-mosaiques.liste-mosaiques a.une-mosaique:hover {
	background: var(--cap-blanc) !important;
	border-color: var(--cap-marine-tres-clair);
	transform: translateY(-4px);
}

.grid-mosaiques.liste-mosaiques a.une-mosaique:hover .titre {
	color: var(--cap-noir);
}

.grid-mosaiques.liste-mosaiques a.une-mosaique:hover .fleche {
	color: var(--cap-gris-fonce);
	transform: none;
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	.grid-mosaiques.liste-mosaiques {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Responsive : screen and (max-width: 600px) */

@media screen and (max-width: 600px) {
	.grid-mosaiques.liste-mosaiques {
		grid-template-columns: 100%;
		gap: 12px;
	}

	.grid-mosaiques.liste-mosaiques .une-mosaique {
		min-height: 72px;
		padding: 14px 18px;
		grid-template-columns: 40px 1fr 14px;
		gap: 14px;
		border-radius: 18px;
	}

	.grid-mosaiques.liste-mosaiques .une-mosaique .chiffre {
		width: 40px;
		height: 40px;
		font-size: 18px;
		line-height: 40px;
	}

	.grid-mosaiques.liste-mosaiques .une-mosaique .titre {
		font-size: 15px;
	}
}

/* Héros du portail : tablette */
@media screen and (max-width: 960px) {
	#bandeau-principal-v2.hero-portail {
		width: 100%;
		height: auto;
		min-height: 0;
		padding: 48px 5%;
		box-sizing: border-box;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(190px, 0.7fr);
		grid-template-rows: auto;
		grid-template-areas: "bandeau-texte bandeau-image";
		align-items: center;
		gap: 28px;
		text-align: left;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte,
	#bandeau-principal-v2.hero-portail .bandeau-image {
		min-width: 0;
		height: auto;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte {
		grid-area: bandeau-texte;
		padding: 0;
		display: flex;
	}

	#bandeau-principal-v2.hero-portail .bandeau-image {
		grid-area: bandeau-image;
		display: flex;
		justify-content: center;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte h1 {
		font-size: clamp(36px, 4.5vw, 48px);
		line-height: 1.05;
		overflow-wrap: break-word;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte p {
		font-size: 18px;
	}

	#bandeau-principal-v2.hero-portail .bandeau-image .hero-portail-image {
		width: min(280px, 100%);
		margin: 0 auto;
	}

	#bandeau-principal-v2.hero-portail .bandeau-image img {
		display: block;
	}

	#bandeau-principal-v2.hero-portail .hero-portail-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
}

/* Héros du portail : mobile */
@media screen and (max-width: 700px) {
	#bandeau-principal-v2.hero-portail {
		padding: 40px 6% 48px;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto;
		grid-template-areas:
			"bandeau-texte"
			"bandeau-image";
		gap: 32px;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte h1 {
		font-size: clamp(34px, 8vw, 44px);
		line-height: 1.06;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte h1 br {
		display: none;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte p {
		font-size: 17px;
		line-height: 1.45;
	}

	#bandeau-principal-v2.hero-portail .bandeau-image .hero-portail-image {
		width: min(260px, 70vw);
	}

	#bandeau-principal-v2.hero-portail .bulle-jaune {
		top: 45%;
	}
}

/* Héros du portail : petit mobile */
@media screen and (max-width: 480px) {
	#bandeau-principal-v2.hero-portail {
		padding: 36px 20px 42px;
		gap: 28px;
	}

	#bandeau-principal-v2.hero-portail .bandeau-texte h1 {
		font-size: clamp(32px, 9vw, 40px);
	}

	#bandeau-principal-v2.hero-portail .hero-portail-actions {
		flex-direction: column;
		align-items: stretch;
	}

	#bandeau-principal-v2.hero-portail .hero-portail-btn {
		width: 100%;
		min-height: 50px;
		text-align: center;
	}

	#bandeau-principal-v2.hero-portail .bandeau-image .hero-portail-image {
		width: min(230px, 72vw);
	}
}

/* ========================================================================
   23. APPEL À L’ACTION — ACTIVITÉS
   ======================================================================== */

.lien-portail-activite {
	width: 100%;
	box-sizing: border-box;
	padding: 0;
}

.activite-cta {
	min-height: 155px;
	padding: 36px 48px;
	box-sizing: border-box;
	background: var(--cap-secondaire);
	border-radius: 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	position: relative;
	overflow: hidden;
}

/* Cercle décoratif */

.activite-cta::after {
	content: "";
	width: 220px;
	height: 220px;
	background: var(--cap-blanc-07);
	border-radius: 50%;
	position: absolute;
	right: -40px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

/* Texte */

.activite-cta-contenu {
	min-width: 0;
	position: relative;
	z-index: 2;
}

.activite-cta-contenu h3 {
	margin: 0 0 8px;
	color: var(--cap-blanc);
	font-family: "Recoleta", serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.1;
}

.activite-cta-contenu p {
	margin: 0;
	color: var(--cap-blanc);
	font-size: 17px;
	line-height: 1.4;
}

/* Bouton */

.activite-cta-bouton {
	min-width: 305px;
	min-height: 54px;
	padding: 0 28px;
	box-sizing: border-box;
	background: var(--cap-primaire);
	border-radius: 50px;
	color: var(--cap-blanc);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	position: relative;
	z-index: 2;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.activite-cta-bouton span {
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.25s ease;
}

.activite-cta-bouton:hover {
	color: var(--cap-blanc);
	transform: translateY(-3px);
    box-shadow: 0 6px 14px var(--cap-noir-12);
}

.activite-cta-bouton:hover span {
	transform: translateX(3px);
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 860px) */

@media screen and (max-width: 860px) {
	.activite-cta {
		padding: 32px;
		border-radius: 26px;
	}

	.activite-cta-contenu h3 {
		font-size: 28px;
	}

	.activite-cta-bouton {
		min-width: 250px;
	}
}

/* Responsive : screen and (max-width: 700px) */

@media screen and (max-width: 700px) {
	.activite-cta {
		min-height: 0;
		padding: 30px 24px;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.activite-cta::after {
		width: 180px;
		height: 180px;
		right: -70px;
		top: -40px;
		transform: none;
	}

	.activite-cta-contenu h3 {
		font-size: 26px;
	}

	.activite-cta-contenu p {
		font-size: 16px;
	}

	.activite-cta-bouton {
		width: 100%;
		min-width: 0;
	}
}

/* ========================================================================
   24. ÉTIQUETTES SÉLECTIONNÉES
   ======================================================================== */

.boite-tags {
	padding: 40px 0;
	border-bottom: 4px solid var(--cap-fond-creme);
}

.tags-selectionnes {
	display: flex;
	align-items: center;
	gap: 22px;
}

.tags-selectionnes h2 {
	flex: 0 0 auto;
	margin: 0;
	color: var(--cap-noir);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
}

.tags-selectionnes .les-tags {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
}

.tags-selectionnes .les-tags li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tags-selectionnes .tag {
	padding: 9px 16px;
	background: var(--cap-gris-clair);
	border-radius: 30px;
	color: var(--cap-gris-tres-fonce);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	display: inline-block;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tags-selectionnes .tag:hover {
	color: inherit;
	transform: translateY(-2px);
}

.tags-selectionnes .tag-crise {
	background: var(--cap-corail-tres-clair);
	color: var(--cap-corail-fonce);
}

.tags-selectionnes .tag-urgence {
	background: var(--cap-jaune-tres-clair);
	color: var(--cap-jaune-fonce);
}

.tags-selectionnes .tag-accompagnement {
	background: var(--cap-vert-tres-clair);
	color: var(--cap-vert-fonce);
}

.tags-selectionnes .tag-desorganisation {
	background: var(--cap-marine-tres-clair);
	color: var(--cap-secondaire-survol);
}

.tags-selectionnes .tag-aide {
	background: var(--cap-bleu-tres-clair);
	color: var(--cap-bleu-fonce);
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 700px) */

@media screen and (max-width: 700px) {
	.boite-tags {
		padding: 30px 0;
	}

	.tags-selectionnes {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.tags-selectionnes h2 {
		font-size: 18px;
	}

	.tags-selectionnes .tag {
		padding: 8px 14px;
		font-size: 13px;
	}
}

/* ========================================================================
   25. MENU VERSION 3 — RECHERCHE ET COMPLÉMENTS
   ======================================================================== */

/* Logo */

/* Navigation générale */

/* Menu secondaire */

/* Menu principal */

/* Recherche */

.cap-desktop-search {
	position: relative;
}

.cap-desktop-search__form {
	width: 290px;
	padding: 10px;
	box-sizing: border-box;
	background: var(--cap-blanc);
	border-radius: 12px;
	box-shadow: 0 8px 28px var(--cap-noir-14);
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 1200;
}

.cap-desktop-search.is-open .cap-desktop-search__form {
	display: block;
}

.cap-desktop-search__form .searchform, .cap-desktop-search__form .searchform > div {
	width: 100%;
}

.cap-desktop-search__form .searchform > div {
	height: 46px;
	padding: 0 14px;
	box-sizing: border-box;
	background: var(--cap-gris-tres-clair);
	border: 1px solid var(--cap-transparent);
	border-radius: 10px;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.cap-desktop-search__form .searchform > div:focus-within {
	background: var(--cap-blanc);
	border-color: var(--cap-secondaire);
}

.cap-desktop-search__form .envoyer {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	padding: 0;
	background: var(--cap-transparent);
	border: 0;
	color: var(--cap-gris-tres-fonce);
	display: flex;
	align-items: center;
	justify-content: center;
}

.cap-desktop-search__form .envoyer i {
	font-size: 15px;
}

.cap-desktop-search__form .champ-recherche {
	flex: 1;
	min-width: 0;
	height: 44px;
	padding: 0;
	box-sizing: border-box;
	background: var(--cap-transparent);
	border: 0 !important;
	border-radius: 0;
	outline: 0 !important;
	box-shadow: none !important;
	color: var(--cap-gris-tres-fonce);
	font-size: 14px;
}

.cap-desktop-search__form .champ-recherche::placeholder {
	color: var(--cap-gris-fonce);
	font-style: normal;
}

/* Téléphone */

/* SOUS-MENU DESKTOP */

.cap-main-nav .menu-sub {
	width: 275px;
	padding: 18px 20px;
	left: -20px;
	top: calc(100% - 7px);
}

.cap-main-nav .menu-sub__title, .cap-main-nav .menu-sub__back {
	display: none;
}

/* Les liens générés par afficher_lien_menu_v2() */

/* On ne garde pas les anciennes icônes dans cette version */

/* Liens simples */

/* Mobile uniquement */

/* ========================================================================
   26. MENU VERSION 3 — STRUCTURE ET SOUS-MENUS
   ======================================================================== */

.cap-header {
	position: relative;
	z-index: 500;
	background: var(--cap-blanc);
}

.cap-header__wrapper {
	height: 164px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: center;
}

/* Logo */

.cap-header__logo {
	width: 165px;
	display: block;
	text-decoration: none;
}

.cap-header__logo img {
	width: 100%;
	height: auto;
	display: block;
}

/* Navigation générale */

.cap-navigation {
	height: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 210px;
	grid-template-rows: 52px 112px;
	grid-template-areas: "utility utility" "main phone";
	align-items: center;
	position: relative;
}

/* Menu secondaire */

.cap-navigation__utility {
	grid-area: utility;
	align-self: end;
}

.cap-utility-menu {
	margin: 0;
	padding: 0 0 7px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 28px;
	list-style: none;
}

.cap-utility-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cap-utility-menu a {
	color: var(--cap-noir);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
}

.cap-utility-menu li.cap-menu-langue a {
    font-weight: bold;
    color: var(--cap-secondaire);
}

.cap-utility-menu a:hover {
	color: var(--cap-primaire);
}

/* Menu principal */

.cap-main-nav {
	grid-area: main;
	align-self: center;
}

.cap-main-nav .menu-principal {
	height: auto !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(26px, 3vw, 58px);
}

.cap-main-nav .menu-element {
	position: relative;
}

.cap-main-nav .menu-action {
	width: auto !important;
	margin: 0 !important;
	padding: 25px 0 !important;
	background: var(--cap-transparent);
	border: 0 !important;
	display: flex !important;
	align-items: center;
	gap: 10px;
	color: var(--cap-noir);
	cursor: pointer;
}

.cap-main-nav .menu-action .menu-texte {
	color: var(--cap-noir);
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	padding-right: 8px;
}

.cap-main-nav .menu-action > i {
	font-size: 11px;
	transition: transform 0.2s ease;
}

.cap-main-nav .menu-element.is-open .menu-action > i {
	transform: rotate(180deg);
}

/* Recherche */

.cap-search-toggle {
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	background: var(--cap-transparent);
	color: var(--cap-noir);
	font-size: 21px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Téléphone */

.cap-navigation__phone {
	grid-area: phone;
	justify-self: end;
	text-align: right;
	text-decoration: none;
}

.cap-navigation__phone span:not(.txt-noir) {
	margin-bottom: 2px;
	color: var(--cap-secondaire);
	font-size: 14px;
	font-weight: 600;
	display: block;
}

.cap-navigation__phone strong {
	color: var(--cap-primaire);
	font-family: var(--font-heading);
	font-size: 21px;
	font-weight: 600;
}
.cap-navigation__phone strong span.txt-noir {
	color: black;
}

.cap-navigation__phone:hover span, .cap-navigation__phone:hover strong {
	color: var(--cap-noir);
}

/* SOUS-MENU DESKTOP */

.cap-main-nav .menu-sub {
	width: 280px;
	padding: 25px 24px 24px;
	box-sizing: border-box;
	background: var(--cap-blanc);
	border: 0;
	border-radius: 14px;
	box-shadow: 0 8px 28px var(--cap-noir-14);
	display: none;
	position: absolute;
	left: -24px;
	top: 0;
	z-index: 1000;
}

.cap-main-nav .menu-element.is-open > .menu-sub {
	display: block;
}

.cap-main-nav .menu-sub__back {
	display: none;
}

.cap-main-nav .menu-sub__title {
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	background: var(--cap-transparent);
	border: 0;
	color: var(--cap-noir);
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	text-align: left;
	cursor: pointer;
}

.cap-main-nav .menu-sub__title i {
	flex: 0 0 auto;
	font-size: 13px;
	color: var(--cap-noir);
}

/* Les liens générés par afficher_lien_menu_v2() */

.cap-main-nav .menu-sub .grid-menu-sub, .cap-main-nav .menu-sub__content {
	display: block;
}

.cap-main-nav .menu-sub__content > a {
	width: 100%;
	padding: 5px 0;
	/*display: block;*/
	color: var(--cap-noir);
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none;
    
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
}

.cap-main-nav .menu-sub__content > a i,
.cap-main-nav .menu-sub__content > a svg {
    font-size: 8px;
}

.cap-main-nav .menu-sub__content > a.separateur {
	padding-top: 12px;
    margin-top: 8px;
    border-top: 1px solid var(--cap-noir-12);
}
.cap-main-nav .menu-sub__content > a.desactif {
    cursor: not-allowed;
    opacity: 0.5;
}

.cap-main-nav .menu-sub__content > a:hover {
	color: var(--cap-primaire);
}

/* On ne garde pas les anciennes icônes dans cette version */

.cap-main-nav .menu-sub .menu-sub-icone {
	display: none;
}

.cap-main-nav .menu-sub .menu-sub-texte {
	width: 100%;
}

/* Liens simples */

.menu-sub__content--simple a {
	padding: 9px 0;
	color: var(--cap-noir);
	font-size: 14px;
	display: block;
	text-decoration: none;
}

.menu-sub__content--simple a:hover {
	color: var(--cap-primaire);
}

/* Mobile uniquement */

.cap-menu-toggle, .cap-navigation__mobile-header, .cap-mobile-search, .cap-navigation__copyright, .cap-navigation-overlay {
	display: none;
}

/* ========================================================================
   27. MENU VERSION 3 — RESPONSIVE
   ======================================================================== */

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	body.cap-menu-open {
		overflow: hidden;
	}

	.cap-header__wrapper {
		width: 100%;
		height: 100px;
		padding: 0 20px;
		grid-template-columns: 1fr auto;
	}

	.cap-header__logo {
		width: 145px;
	}

	/* Bouton menu */

	.cap-menu-toggle {
		min-width: 0;
		height: 40px;
		padding: 0 15px;
		background: var(--cap-blanc);
		border: 1px solid var(--cap-secondaire);
		border-radius: 999px;
		color: var(--cap-secondaire);
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		font-size: 15px;
		font-weight: 600;
	}

	.cap-menu-toggle .fa-bars, .cap-menu-toggle .cap-menu-toggle__arrow {
		color: var(--cap-secondaire);
		font-size: 13px;
	}

	.cap-menu-toggle .fa-bars {
		font-size: 17px;
	}

	.cap-menu-toggle__arrow {
		font-size: 14px;
	}

	/* Overlay */

	.cap-navigation-overlay {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 0;
		background: var(--cap-noir-38);
		border: 0;
		display: block;
		opacity: 0;
		visibility: hidden;
		position: fixed;
		inset: 0;
		z-index: 1998;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	body.cap-menu-open .cap-navigation-overlay {
		opacity: 1;
		visibility: visible;
	}

	/* Drawer */

	.cap-navigation {
		width: min(390px, 88vw);
		height: 100dvh;
		padding: 20px 24px;
		box-sizing: border-box;
		background: var(--cap-blanc);
		display: flex;
		flex-direction: column;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 1999;
		overflow: hidden;
		transform: translateX(100%);
		transition: transform 0.32s ease;
	}

	body.cap-menu-open .cap-navigation {
		transform: translateX(0);
	}

	/* En-tête drawer */

	.cap-navigation__mobile-header {
		width: 100%;
		min-height: 70px;
		padding-bottom: 17px;
		box-sizing: border-box;
		border-bottom: 1px solid var(--cap-gris-clair);
		display: flex;
		align-items: center;
		justify-content: space-between;
		align-self: stretch;
	}

	.cap-navigation__mobile-logo {
		width: 100px;
		display: block;
	}

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

	.cap-navigation__close {
		width: 42px;
		height: 42px;
		padding: 0;
		background: var(--cap-gris-tres-clair);
		border: 1px solid var(--cap-gris-clair);
		border-radius: 50%;
		color: var(--cap-gris-tres-fonce);
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 17px;
	}

	/* Téléphone */

	.cap-navigation__phone {
		width: 100%;
		margin: 20px 0;
		padding: 18px 15px;
		box-sizing: border-box;
		background: var(--cap-fond-creme);
		border: 1px solid var(--cap-primaire);
		border-radius: 12px;
		text-align: left;
		order: 2;
	}

	.cap-navigation__phone span:not(.txt-noir) {
		color: var(--cap-primaire);
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
	}

	.cap-navigation__phone strong {
		margin-top: 5px;
		color: var(--cap-primaire);
		font-family: var(--font-heading);
		font-size: 19px;
		font-weight: 700;
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.cap-navigation__phone strong i {
		font-size: 15px;
		color: var(--cap-primaire);
	}

	/* Navigation */

	.cap-main-nav {
		width: 100%;
		order: 3;
	}

	.cap-main-nav .menu-principal {
		width: 100% !important;
		height: auto !important;
		margin: 0;
		display: block !important;
	}

	.cap-main-nav .menu-element {
		width: 100%;
		display: block;
		position: static;
	}

	.cap-main-nav .menu-action {
		width: 100% !important;
		min-height: 60px;
		padding: 0 16px !important;
		border: 0 !important;
		border-radius: 10px;
		display: flex !important;
		justify-content: space-between;
	}

	.cap-main-nav .menu-action .menu-texte {
		font-size: 17px !important;
	}

	.cap-main-nav .menu-action > i {
		color: var(--cap-gris-fonce);
		transform: rotate(-90deg);
	}
    
    /*
	.cap-main-nav .menu-element.is-current > .menu-action {
		background: var(--cap-gris-tres-clair);
		color: var(--cap-secondaire);
	}

	.cap-main-nav .menu-element.is-current > .menu-action .menu-texte, .cap-main-nav .menu-element.is-current > .menu-action > i {
		color: var(--cap-secondaire);
	}
    */

	.cap-search-toggle {
		display: none;
	}

	/* Liens secondaires */

	.cap-navigation__utility {
		padding: 22px 0;
		border-top: 1px solid var(--cap-marine-tres-clair);
		order: 4;
	}

	.cap-utility-menu {
		padding: 0;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 8px;
	}

	.cap-utility-menu li {
		padding: 0;
	}

	.cap-utility-menu a {
		padding: 7px 10px;
		background: var(--cap-gris-tres-clair);
		border-radius: 6px;
		font-size: 12px;
		display: block;
	}

	/* Recherche mobile */

	.cap-mobile-search {
		width: 100%;
		display: block;
		order: 5;
	}

	.cap-mobile-search .searchform {
		width: 100%;
	}

	.cap-mobile-search .searchform > div {
		width: 100%;
		height: 44px;
		box-sizing: border-box;
		background: var(--cap-gris-tres-clair);
		border-radius: 8px;
		display: flex;
		align-items: center;
	}

	.cap-mobile-search .searchform .envoyer {
		flex: 0 0 42px;
		width: 42px;
		height: 44px;
		padding: 0;
		background: var(--cap-transparent);
		border: 0;
		color: var(--cap-gris-tres-fonce);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cap-mobile-search .searchform .envoyer i {
		font-size: 16px;
	}

	.cap-mobile-search .searchform .champ-recherche {
		flex: 1;
		min-width: 0;
		height: 44px;
		padding: 0 15px 0 0;
		box-sizing: border-box;
		background: var(--cap-transparent);
		border: 0;
		outline: 0;
		color: var(--cap-gris-tres-fonce);
		font-size: 14px;
	}

	/* Copyright */

	.cap-navigation__copyright {
		margin-top: auto;
		padding-top: 25px;
		color: var(--cap-gris-fonce);
		display: block;
		order: 6;
		font-size: 12px;
	}

	/* SOUS-MENU MOBILE */

	.cap-main-nav .menu-sub {
		width: min(390px, 88vw);
		height: 100dvh;
		padding: 24px;
		box-sizing: border-box;
		background: var(--cap-blanc);
		border: 0;
		border-radius: 28px 0 0 0;
		box-shadow: none;
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: auto;
		z-index: 2100;
		overflow-y: auto;
		transform: translateX(100%);
		transition: transform 0.3s ease;
	}

	.cap-main-nav .menu-element.is-open > .menu-sub {
		display: block;
		transform: translateX(0);
	}

	.cap-main-nav .menu-sub__back {
		margin: 0 0 20px;
		padding: 0;
		background: var(--cap-transparent);
		border: 0;
		color: var(--cap-secondaire);
		display: flex;
		align-items: center;
		gap: 8px;
		font-size: 14px;
		font-weight: 700;
	}

	.cap-main-nav .menu-sub__title {
		width: 100%;
		margin: 0 0 20px;
		padding: 0;
		color: var(--cap-noir);
		font-family: var(--font-heading);
		font-size: 24px;
		font-weight: 600;
		line-height: 1.15;
		display: block;
		text-align: left;
	}

	.cap-main-nav .menu-sub__title i, .cap-main-nav .menu-sub__title svg {
		display: none;
	}

	.cap-main-nav .menu-sub__content > a {
		min-height: 48px;
		padding: 0 12px;
		border-radius: 8px;
		color: var(--cap-noir);
		display: flex;
		align-items: center;
		font-size: 15px;
		text-decoration: none;
	}

	.cap-main-nav .menu-sub .menu-sub-element.is-current {
		background: var(--cap-gris-tres-clair);
		color: var(--cap-secondaire);
		font-weight: 600;
	}
}

/* ========================================================================
   28. ACCUEIL — ORIENTATION ET SÉLECTEURS
   ======================================================================== */

.orientation-hero-wrapper {
	margin: 55px auto 105px;
	position: relative;
}

/* Hero */

.orientation-hero {
	min-height: 810px;
	padding: 130px 70px 170px;
	box-sizing: border-box;
	background: url("images/bg-selecteur.png") center center / cover no-repeat;
	border-radius: 48px;
	display: flex;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.orientation-hero__contenu {
	width: 100%;
	max-width: 1080px;
	text-align: center;
}

/* Titre */

.orientation-hero__titre {
	margin: 0 auto 30px;
	color: var(--cap-blanc);
	font-family: var(--font-heading);
	font-size: clamp(44px, 4vw, 62px);
	font-weight: 600;
	line-height: 0.98;
	letter-spacing: -0.025em;
}

/* Intro */

.orientation-hero__intro {
	margin: 0 auto 50px;
	color: var(--cap-blanc);
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4;
}

/* PHRASE INTERACTIVE */

.orientation-hero__phrase {
	max-width: 900px;
	margin: 0 auto 32px;
	color: var(--cap-blanc);
	font-family: var(--font-heading);
	font-size: clamp(38px, 3.8vw, 55px);
	font-weight: 500;
	line-height: 1.55;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 20px;
}

/* Select */

.orientation-select {
	min-width: 250px;
	box-sizing: border-box;
	background: var(--cap-transparent);
	border: 2px solid var(--cap-blanc);
	border-radius: 10px;
	display: inline-block;
	position: relative;
	vertical-align: middle;
	overflow: visible;
}

.orientation-select__toggle {
	width: 100%;
    max-width: 100%;
	min-height: 66px;
	padding: 5px 48px 5px 15px;
	box-sizing: border-box;
	background: var(--cap-transparent);
	border: 0;
	color: var(--cap-blanc);
	font-family: var(--font-heading);
	font-size: inherit;
	font-weight: 500;
	line-height: 1;
	text-align: left;
	position: relative;
	z-index: 2;
}
.orientation-select.is-open .orientation-select__toggle {
	width: 300px;
    font-size: clamp(22px, 2.2vw, 32px);
    color: var(--cap-noir);
}

.orientation-select.is-open .orientation-select__options button {
    font-size: clamp(22px, 2.2vw, 32px);
}

.orientation-select--peche .orientation-select__toggle {
	color: var(--cap-blanc);
}

.orientation-select.is-open {
	background: var(--cap-marine-tres-clair);
	border-color: var(--cap-gris-fonce);
	border-radius: 10px 10px 0 0;
}

.orientation-select__toggle svg {
	font-size: 26px;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	transform-origin: center;
	transition: transform 0.25s ease, color 0.25s ease;
}

.orientation-select.is-open .orientation-select__toggle svg {
	color: var(--cap-gris-fonce);
	transform: translateY(-50%) rotate(180deg);
}

.orientation-select__options {
	width: calc(100% + 4px);
	padding: 0 15px 12px;
	box-sizing: border-box;
	background: var(--cap-marine-tres-clair);
	border: 2px solid var(--cap-gris-fonce);
	border-top: 0;
	border-radius: 0 0 10px 10px;
	display: none;
	position: absolute;
	left: -2px;
	top: 100%;
	z-index: 100;
}

.orientation-select.is-open .orientation-select__options {
	display: block;
}

.orientation-select__options button {
	width: 100%;
	padding: 0;
	background: var(--cap-transparent);
	border: 0;
	color: var(--cap-gris-fonce);
	font-family: var(--font-heading);
	font-size: inherit;
	font-weight: 500;
	line-height: 1.05;
	text-align: left;
	display: block;
}

.orientation-select__options button:hover {
	color: var(--cap-gris-tres-fonce);
}

.orientation-select select option {
	color: var(--cap-gris-tres-fonce);
	font-family: var(--font-primary);
	font-size: 18px;
}

/* Premier select */

.orientation-select--peche select {
	color: var(--cap-sable-fonce);
}

/* BOUTON */

.orientation-hero__bouton {
	min-height: 54px;
	padding: 0 30px;
	background: var(--cap-blanc);
	border: 0;
	border-radius: 13px;
	color: var(--cap-secondaire);
	font-family: var(--font-primary);
	font-size: 18px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.orientation-hero__bouton:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 25px var(--cap-noir-15);
}

/* AVANTAGES */

.orientation-avantages {
	width: calc(100% - 135px);
	min-height: 164px;
	padding: 35px 46px;
	box-sizing: border-box;
	background: var(--cap-blanc);
	border-radius: 42px;
	box-shadow: 0 22px 45px var(--cap-noir-08);
	display: grid;
	grid-template-columns: 1fr 1fr 1.35fr;
	gap: 40px;
	align-items: center;
	position: absolute;
	left: 50%;
	bottom: -80px;
	z-index: 10;
	transform: translateX(-50%);
}

.orientation-avantage {
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 18px;
}

/* Icônes */

.orientation-avantage__icone {
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.orientation-avantage__icone i {
	font-size: 23px;
}

/* Texte */

.orientation-avantage__texte strong {
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.18;
}

/* Jaune */

.orientation-avantage--jaune .orientation-avantage__icone {
	background: var(--cap-jaune-tres-clair);
	color: var(--cap-jaune-tres-fonce);
}

.orientation-avantage--jaune .orientation-avantage__texte strong {
	color: var(--cap-jaune-tres-fonce);
}

/* Bleu */

.orientation-avantage--bleu .orientation-avantage__icone {
	background: var(--cap-bleu-tres-clair);
	color: var(--cap-bleu-tres-fonce);
}

.orientation-avantage--bleu .orientation-avantage__texte strong {
	color: var(--cap-bleu-tres-fonce);
}

/* Vert */

.orientation-avantage--vert .orientation-avantage__icone {
	background: var(--cap-vert-tres-clair);
	color: var(--cap-vert-tres-fonce);
}

.orientation-avantage--vert .orientation-avantage__texte strong {
	color: var(--cap-vert-tres-fonce);
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 1000px) */

@media screen and (max-width: 1000px) {
	.orientation-hero {
		min-height: 650px;
		padding: 90px 40px 170px;
		border-radius: 36px;
	}

	.orientation-hero__intro br, .orientation-hero__titre br {
		display: none;
	}

	.orientation-avantages {
		width: calc(100% - 50px);
		padding: 28px;
		gap: 25px;
	}

	.orientation-avantage__texte strong {
		font-size: 16px;
	}
}

/* Responsive : screen and (max-width: 700px) */

@media screen and (max-width: 700px) {
	.orientation-hero-wrapper {
		margin-top: 20px;
		margin-bottom: 40px;
	}

	.orientation-hero {
		min-height: 0;
		padding: 55px 22px 45px;
		border-radius: 28px;
	}

	.orientation-hero__titre {
		margin-bottom: 24px;
		font-size: 38px;
		line-height: 1.02;
	}

	.orientation-hero__intro {
		margin-bottom: 35px;
		font-size: 16px;
	}

	.orientation-hero__phrase {
		margin-bottom: 28px;
		font-size: 34px;
		line-height: 1.4;
		gap: 10px;
	}

	.orientation-select {
		/*height: 55px;*/
		padding-right: 48px;
		border-radius: 12px;
	}

	.orientation-select > i {
		right: 17px;
		font-size: 15px;
	}

	.orientation-hero__bouton {
		width: 100%;
	}

	/* Avantages */

	.orientation-avantages {
		width: calc(100% - 30px);
		min-height: 0;
		margin: -18px auto 0;
		padding: 28px 22px;
		border-radius: 26px;
		grid-template-columns: 100%;
		gap: 22px;
		position: relative;
		left: auto;
		bottom: auto;
		transform: none;
	}

	.orientation-avantage {
		gap: 15px;
	}

	.orientation-avantage__icone {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
	}

	.orientation-avantage__texte strong {
		font-size: 16px;
	}
}

/* ========================================================================
   29. ACCUEIL — INITIATIVES
   ======================================================================== */

.initiatives-section {
	width: 100%;
	padding: 80px 0;
	box-sizing: border-box;
	background: var(--cap-blanc);
}

.initiatives-bloc {
	margin: 0 auto;
	padding: 100px 60px 65px;
	box-sizing: border-box;
	background: var(--cap-fond-creme);
	border-radius: 50px;
	position: relative;
	overflow: hidden;
}

/* Forme décorative supérieure */

.initiatives-bloc::before {
	content: "";
	width: 48%;
	height: 95px;
	background: var(--cap-fond-creme);
	border-radius: 48px 0 0 0;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
}

.initiatives-bloc::after {
	content: "";
	width: 100%;
	height: 90px;
	background: var(--cap-blanc);
	border-radius: 0 0 0 50px;
	position: absolute;
	left: 43%;
	top: 0;
	transform: skewX(42deg);
	transform-origin: top right;
	pointer-events: none;
}

/* TITRE */

.initiatives-entete {
	margin-bottom: 45px;
	position: relative;
	z-index: 2;
}

.initiatives-entete .entete-section__surtitre {
	margin-bottom: 10px;
	color: var(--cap-primaire);
}

.initiatives-titre {
	max-width: 600px;
	margin: 0;
	color: var(--cap-marine-tres-fonce);
	font-family: var(--font-heading);
	font-size: 44px;
	font-weight: 600;
	line-height: 1.02;
}

/* GRILLE */

.initiatives-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	position: relative;
	z-index: 2;
}

/* CARTES */

.initiative-carte {
	box-sizing: border-box;
	background: var(--cap-blanc);
	border-radius: 34px;
}

.initiative-carte--principale {
	min-height: 300px;
	padding: 36px 42px 34px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.initiative-carte--compacte {
	min-height: 110px;
	padding: 22px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

/* LOGOS */

.initiative-logo {
	min-height: 46px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-primary);
	font-size: 16px;
	line-height: 1;
}

.initiative-logo i {
	font-size: 34px;
}

.initiative-logo strong {
	font-weight: 700;
}

.initiative-logo small {
	margin-top: 3px;
	display: block;
	font-size: 9px;
}

/* Couleurs CAP */

.initiative-logo--bleu {
	color: var(--cap-secondaire);
}

.initiative-logo--orange {
	color: var(--cap-primaire);
}

.initiative-logo--vert {
	color: var(--cap-vert-fonce);
}

.initiative-logo--jaune {
	color: var(--cap-jaune-fonce);
}

/* TEXTE */

.initiative-carte h3 {
	margin: 0 0 7px;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
}

.initiative-carte p {
	max-width: 520px;
	margin: 0 0 24px;
}

.initiative-carte--compacte h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
}

/* BOUTONS */

.initiative-boutons {
    width: 100%;
    margin-top: auto;

    display: flex;
    align-items: center;
    gap: 10px;
}

.initiative-boutons .initiative-bouton {
    flex: 1 1 0;
    min-width: 0;
    margin-top: 0;
    padding-left: 12px;
    padding-right: 12px;
}

.initiative-bouton {
	min-height: 46px;
	margin-top: auto;
	padding: 0 20px;
	box-sizing: border-box;
	background: var(--cap-primaire);
	border-radius: 10px;
	color: var(--cap-blanc);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.initiative-bouton:hover {
	color: var(--cap-blanc);
	transform: translateY(-3px);
    box-shadow: 0 6px 14px var(--cap-noir-12);
}

.initiative-bouton span {
	transition: transform 0.2s ease;
}

.initiative-bouton:hover span {
	transform: translateX(3px);
}

.initiative-bouton--petit {
	flex: 0 0 auto;
	min-height: 42px;
	margin: 0;
	padding: 0 17px;
	font-size: 12px;
}

.initiative-bouton.inactif {
	background: var(--cap-gris-principal);
	color: var(--cap-gris-fonce);

	cursor: not-allowed;

	opacity: 0.75;

	transform: none;
	box-shadow: none;

	user-select: none;
}

.initiative-bouton.inactif:hover {
	background: var(--cap-gris-principal);
	color: var(--cap-gris-fonce);

	transform: none;
	box-shadow: none;
}

/* LIEN FINAL */

.initiatives-footer {
	padding-top: 65px;
	text-align: center;
	position: relative;
	z-index: 2;
}

.actualites-toutes,
.initiatives-tout {
	font-size: 16px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.actualites-toutes span,
.initiatives-tout span {
	margin-left: 5px;
	display: inline-block;
	transition: transform 0.2s ease;
}

.actualites-toutes:hover,
.initiatives-tout:hover {
	color: var(--cap-primaire);
}

.actualites-toutes:hover span,
.initiatives-tout:hover span {
	transform: translateX(4px);
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : screen and (max-width: 960px) */

@media screen and (max-width: 960px) {
	.initiatives-section {
		padding: 55px 0;
	}

	.initiatives-bloc {
		padding: 80px 45px 55px;
		border-radius: 40px;
	}

	.initiatives-titre {
		font-size: 38px;
	}

	.initiative-carte--principale {
		padding: 30px;
	}

	.initiative-carte h3 {
		font-size: 20px;
	}
}

/* Responsive : screen and (max-width: 700px) */

@media screen and (max-width: 700px) {
	.initiatives-section {
		padding: 35px 0;
	}

	.initiatives-bloc {
		padding: 60px 20px 40px;
		border-radius: 28px;
	}

	.initiatives-bloc::before, .initiatives-bloc::after {
		display: none;
	}

	.initiatives-entete {
		margin-bottom: 30px;
	}

	.initiatives-titre {
		font-size: 34px;
	}

	.initiatives-titre br {
		display: none;
	}

	.initiatives-grid {
		grid-template-columns: 100%;
		gap: 14px;
	}

	.initiative-carte {
		border-radius: 24px;
	}

	.initiative-carte--principale {
		min-height: 0;
		padding: 26px 24px;
	}

	.initiative-carte--compacte {
		min-height: 0;
		padding: 22px 24px;
	}

	.initiative-logo {
		margin-bottom: 18px;
	}

	.initiative-carte--compacte h3 {
		font-size: 17px;
	}

	.initiatives-footer {
		padding-top: 35px;
	}
}

/* ========================================================================
   30. ACCUEIL — PAGES EN VEDETTE
   ======================================================================== */

.cap-vedette {
	padding: 80px 0 100px;
	background: var(--cap-blanc);
}

.cap-vedette__grille {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 60px;
	align-items: start;
	padding: 0 60px;
}

.cap-vedette .cap-vedette__titre {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 38px;
	font-weight: 600;
	line-height: 1.08;
}

.cap-vedette__liste {
	min-width: 0;
}

.cap-vedette__element + .cap-vedette__element {
	border-top: 2px solid var(--cap-noir);
}

.cap-vedette__contenu {
	display: block;
	padding: 36px 0 44px;
	color: var(--cap-noir);
	text-decoration: none;
}

.cap-vedette__element:first-child .cap-vedette__contenu {
	padding-top: 0;
}

.cap-vedette__element:last-child .cap-vedette__contenu {
	padding-bottom: 0;
}

.cap-vedette .cap-vedette__sous-titre {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 3px;
	color: inherit;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.cap-vedette__icone {
	flex: 0 0 auto;
	font-size: 0.85em;
	line-height: 1;
}

.cap-vedette .cap-vedette__description {
	margin: 0;
}

.cap-vedette a.cap-vedette__contenu {
	transition: color 180ms ease;
}

.cap-vedette a.cap-vedette__contenu:hover {
	color: var(--cap-marine-tres-fonce);
	text-decoration: none;
}

.cap-vedette a.cap-vedette__contenu:hover .cap-vedette__sous-titre {
	text-decoration: none;
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.cap-vedette a.cap-vedette__contenu:focus-visible {
	outline: 3px solid var(--cap-marine-tres-fonce);
	outline-offset: 8px;
	border-radius: 2px;
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : (max-width: 1024px) */

@media (max-width: 1024px) {
	.cap-vedette__grille {
		grid-template-columns: minmax(0, 0.65fr) minmax(0, 1.35fr);
		gap: 40px;
	}
}

/* Responsive : (max-width: 767px) */

@media (max-width: 767px) {
	.cap-vedette {
		padding: 45px 0 60px;
	}

	.cap-vedette__grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.cap-vedette__titre br {
		display: none;
	}

	.cap-vedette__titre br::after {
		content: "";
	}

	.cap-vedette__contenu {
		padding: 25px 0;
	}

	.cap-vedette .cap-vedette__sous-titre {
		font-size: 24px;
	}
}

/* Responsive : (prefers-reduced-motion: reduce) */

@media (prefers-reduced-motion: reduce) {
	.cap-vedette a.cap-vedette__contenu {
		transition: none;
	}
}

/* ========================================================================
   31. ACCUEIL — ASSOCIATIONS RÉGIONALES
   ======================================================================== */

.cap-associations {
	padding: 60px 0;
	background: var(--cap-blanc);
}

.cap-associations__entete {
	margin-bottom: 50px;
	padding: 0;
}

.cap-associations .cap-associations__titre {
	margin: 0 0 20px;
	font-family: var(--font-heading);
	font-size: 38px;
	font-weight: 600;
	line-height: 1.08;
}

.cap-associations .cap-associations__intro {
	max-width: 900px;
	margin: 0;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
}

.cap-associations__carte {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	border-radius: 50px;
	background-color: var(--cap-gris-tres-clair);
	background-image: url("images/96dcd95a0e8ec0cb913686bd543ed71cd48a63f9.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.cap-associations__reperes {
	position: relative;
	min-height: 460px;
}

.cap-associations__repere {
	position: absolute;
	width: 44px;
	height: 44px;
	border-radius: 50% 50% 50% 0;
	background: var(--cap-primaire);
	box-shadow: 0 5px 15px var(--cap-marine-tres-fonce-15);
	transform: translate(-50%, -100%) rotate(-45deg);
}

.cap-associations__repere::after {
	content: "";
	position: absolute;
	inset: 14px;
	border-radius: 50%;
	background: var(--cap-blanc);
}

.cap-associations__repere:nth-child(1) {
	top: 48%;
	left: 28%;
}

.cap-associations__repere:nth-child(2) {
	top: 59%;
	left: 65%;
}

.cap-associations__repere:nth-child(3) {
	top: 78%;
	left: 44%;
}

.cap-associations__repere:nth-child(4) {
	top: 71%;
	left: 75%;
}

.cap-associations__panneau {
	display: flex;
	align-items: center;
	padding: 60px;
	border-radius: 50px;
	background: var(--cap-marine-principal-78);
}

.cap-associations__recherche {
	width: 100%;
	min-width: 0;
}

.cap-associations__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.cap-associations .cap-associations__champ {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: auto;
	min-height: 90px;
	margin: 0;
	padding: 24px 28px;
	border: 2px solid var(--cap-transparent);
	border-radius: 32px;
	background: var(--cap-blanc);
	box-shadow: none;
	color: var(--cap-noir);
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
}

.cap-associations .cap-associations__champ::placeholder {
	color: var(--cap-gris-tres-fonce);
	opacity: 1;
}

.cap-associations .cap-associations__champ:focus-visible {
	border-color: var(--cap-marine-tres-fonce);
	outline: 3px solid var(--cap-jaune-clair);
	outline-offset: 4px;
}

.cap-associations .cap-associations__separateur {
	margin: 20px 0;
	color: var(--cap-blanc);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.cap-associations__select {
	position: relative;
}

.cap-associations__select .cap-associations__champ {
	appearance: none;
	padding-right: 62px;
	cursor: pointer;
}

.cap-associations__select::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	width: 12px;
	height: 12px;
	border-right: 2px solid var(--cap-marine-tres-fonce);
	border-bottom: 2px solid var(--cap-marine-tres-fonce);
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}

.cap-associations__actions {
	margin-top: 35px;
	text-align: center;
}

.cap-associations .cap-associations__bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	margin: 0;
	padding: 16px 24px;
	border: 0;
	border-radius: 14px;
	background: var(--cap-primaire);
	box-shadow: none;
	color: var(--cap-blanc);
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cap-associations .cap-associations__bouton:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.cap-associations .cap-associations__bouton:not(:disabled):hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 14px var(--cap-noir-12);
}

.cap-associations .cap-associations__bouton:focus-visible {
	outline: 3px solid var(--cap-blanc);
	outline-offset: 5px;
}

/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : (max-width: 1100px) */

@media (max-width: 1100px) {
	.cap-associations__entete {
		padding: 0 30px;
	}

	.cap-associations__carte {
		grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	}

	.cap-associations__panneau {
		padding: 40px 30px;
	}
}

/* Responsive : (max-width: 767px) */

@media (max-width: 767px) {
	.cap-associations {
		padding: 45px 0 60px;
	}

	.cap-associations__entete {
		margin-bottom: 30px;
		padding: 0;
	}

	.cap-associations .cap-associations__intro {
		font-size: 20px;
	}

	.cap-associations__carte {
		grid-template-columns: minmax(0, 1fr);
		border-radius: 30px;
	}

	.cap-associations__reperes {
		min-height: 220px;
	}

	.cap-associations__repere {
		width: 34px;
		height: 34px;
	}

	.cap-associations__repere::after {
		inset: 11px;
	}

	.cap-associations__panneau {
		padding: 30px 20px;
		border-radius: 30px 30px 0 0;
	}

	.cap-associations .cap-associations__champ {
		min-height: 74px;
		padding: 20px 18px;
		border-radius: 22px;
		font-size: 16px;
	}

	.cap-associations__select .cap-associations__champ {
		padding-right: 44px;
	}

	.cap-associations__select::after {
		right: 20px;
		width: 10px;
		height: 10px;
	}

	.cap-associations .cap-associations__bouton {
		font-size: 18px;
	}
}

/* ========================================================================
   32. ACCUEIL — ACTUALITÉS ET CARROUSEL
   ======================================================================== */

.cap-actualites {
	padding: 60px 0;
	background: var(--cap-blanc);
}

.cap-actualites .cap-actualites__titre {
	margin: 0 0 60px;
	font-family: var(--font-heading);
	font-size: 38px;
	font-weight: 600;
	line-height: 1.08;
	text-align: center;
}

.cap-actualites__carrousel {
	position: relative;
}

/* Voile sur la carte partiellement visible. */

.cap-actualites__carrousel::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	width: 90px;
	background: linear-gradient(to right, var(--cap-transparent), var(--cap-blanc));
	pointer-events: none;
}

.cap-actualites__carrousel.is-end::after {
	opacity: 0;
}

.cap-actualites__piste {
	display: flex;
	align-items: stretch;
	gap: 32px;
	overflow-x: auto;
	padding: 8px 0 16px;
	scrollbar-width: thin;
	scrollbar-color: var(--cap-marine-tres-fonce) var(--cap-gris-tres-clair);
}

/* La barre native reste disponible si JavaScript est absent. */

.cap-actualites__carrousel.is-ready .cap-actualites__piste {
	scrollbar-width: none;
}

.cap-actualites__carrousel.is-ready .cap-actualites__piste::-webkit-scrollbar {
	display: none;
}

.cap-actualites__carte {
	display: flex;
	flex: 0 0 29%;
	flex-direction: column;
	align-items: flex-start;
	box-sizing: border-box;
	min-width: 0;
	padding: 36px 28px 30px;
	border-radius: 45px;
	background: var(--cap-gris-tres-clair);
}

.cap-actualites__categorie {
	display: inline-block;
	max-width: 100%;
	box-sizing: border-box;
	margin-bottom: 24px;
	padding: 10px 14px;
	border-radius: 5px;
	background: var(--cap-blanc);
	color: var(--cap-marine-tres-fonce);
	font-family: var(--font-primary);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.cap-actualites .cap-actualites__carte-titre {
	margin: 0 0 8px;
	font-family: var(--font-primary);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.cap-actualites .cap-actualites__extrait {
	margin: 0 0 28px;
	font-size: 18px;
	line-height: 1.4;
}

.cap-actualites .cap-actualites__lien {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: 13px 18px;
	border-radius: 12px;
	background: var(--cap-marine-tres-fonce);
	color: var(--cap-blanc);
	font-family: var(--font-primary);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 180ms ease;
}

.cap-actualites .cap-actualites__lien:hover {
	background: var(--cap-secondaire-survol);
	color: var(--cap-blanc);
}

.cap-actualites .cap-actualites__fleche {
	position: absolute;
	z-index: 2;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--cap-marine-tres-fonce);
	box-shadow: 0 4px 16px var(--cap-noir-12);
	color: var(--cap-blanc);
	font-family: Arial, sans-serif;
	font-size: 44px;
	font-weight: 400;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
}

.cap-actualites__fleche--precedente {
	left: 8px;
}

.cap-actualites__fleche--suivante {
	right: 8px;
}

.cap-actualites .cap-actualites__fleche[hidden] {
	display: none;
}

.cap-actualites .cap-actualites__fleche:disabled {
	opacity: 0;
	pointer-events: none;
}

.cap-actualites .cap-actualites__fleche:not(:disabled):hover {
	background: var(--cap-secondaire-survol);
}

.cap-actualites__piste:focus-visible {
	outline: 3px solid var(--cap-marine-tres-fonce);
	outline-offset: 4px;
}

.cap-actualites__lien:focus-visible, .cap-actualites__fleche:focus-visible {
	outline: 3px solid var(--cap-primaire);
	outline-offset: 4px;
}

.cap-actualites__date {
	display: block;
	margin: 2px 0 12px;
	color: var(--cap-gris-fonce);
	font-size: 14px;
	line-height: 1.4;
}

.cap-actualites .cap-actualites__lien {
	padding: 10px 15px;
	border-radius: 10px;
	background: var(--cap-primaire);
	color: var(--cap-blanc);
	font-size: 16px;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.cap-actualites .cap-actualites__lien:hover {
	background: var(--cap-primaire);
	color: var(--cap-blanc);
	transform: translateY(-3px);
	box-shadow: 0 6px 14px var(--cap-noir-12);
}

.cap-actualites-toutes__div {
    margin-top: 30px;
    text-align: center;
}



/* Adaptations responsive — ordre de priorité conservé. */

/* Responsive : (max-width: 1100px) */

@media (max-width: 1100px) {
	.cap-actualites__carte {
		flex-basis: 43%;
	}
}

/* Responsive : (max-width: 767px) */

@media (max-width: 767px) {
	.cap-actualites {
		padding: 45px 0 60px;
	}

	.cap-actualites .cap-actualites__titre {
		margin-bottom: 32px;
	}

	.cap-actualites__piste {
		gap: 20px;
	}

	.cap-actualites__carte {
		flex-basis: 86%;
		padding: 30px 24px;
		border-radius: 30px;
	}

	.cap-actualites__carrousel::after {
		width: 35px;
	}

	.cap-actualites .cap-actualites__fleche {
		width: 46px;
		height: 46px;
		font-size: 36px;
	}
}

/* Responsive : (prefers-reduced-motion: reduce) */

@media (prefers-reduced-motion: reduce) {
	.cap-actualites .cap-actualites__lien {
		transition: none;
	}

	.cap-actualites .cap-actualites__lien:hover {
		transform: none;
	}
}


/* ==========================================================
   RECHERCHE PAR CONTEXTE - ENTÊTE
   ========================================================== */

.recherche-contexte-entete {
	padding: 45px 0 75px 0;
}

.recherche-contexte-hero {
	padding-bottom: 0;
	background: var(--cap-sable-clair);
}

/* Retour */

.recherche-contexte-retour {
	width: fit-content;
	padding: 8px 14px;

	background: var(--cap-marine-tres-clair);
	border-radius: 10px;

	color: var(--cap-marine-fonce);

	font-size: 13px;
	font-weight: 400;
	line-height: 1;

	display: inline-flex;
	align-items: center;
	gap: 7px;

	text-decoration: underline;
	text-underline-offset: 2px;
}

.recherche-contexte-retour:hover {
	background: var(--cap-marine-tres-clair);
	color: var(--cap-marine-tres-fonce);
}


/* Titre */

.recherche-contexte-titre {
	margin: 18px 0 65px;

	color: var(--cap-noir);

	font-family: var(--font-heading);
	font-size: 44px;
	font-weight: 600;
	line-height: 1;
}


/* Carte de résumé */

.recherche-contexte-resume {
	width: 590px;
	max-width: 100%;

	min-height: 128px;

	padding: 28px 24px 20px;
	box-sizing: border-box;

	background: var(--cap-blanc);

	border-radius: 18px;

	box-shadow: 0 10px 24px var(--cap-noir-08);

	position: absolute;
	z-index: 2;
    bottom: -64px;
    left: 0;
}

.recherche-contexte-resume p {
	max-width: 470px;

	margin: 0 0 18px;

	color: var(--cap-noir);

	font-size: 19px;
	font-weight: 400;
	line-height: 1.3;
}

.recherche-contexte-resume p strong {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}


/* Modifier */

.recherche-contexte-modifier {
	color: var(--cap-marine-fonce);

	font-size: 13px;
	font-weight: 400;

	display: block;

	text-align: right;

	text-decoration: underline;
	text-underline-offset: 2px;
}

.recherche-contexte-modifier:hover {
	color: var(--cap-primaire);
}


/* Responsive */

@media screen and (max-width: 700px) {

	.recherche-contexte-entete {
		padding-top: 30px;
	}

	.recherche-contexte-titre {
		margin-bottom: 40px;
		font-size: 36px;
	}

	.recherche-contexte-resume {
		padding: 24px 20px;
	}

	.recherche-contexte-resume p {
		font-size: 17px;
	}

}

/* ==========================================================
   INITIATIVES - GRILLE
   ========================================================== */

.bloc-initiatives {
    padding: 140px 0 0 0;
}

.bloc-initiatives__titre {
	margin: 0 0 30px;

	color: var(--cap-noir);

	font-family: var(--font-heading);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.1;
}


/* Grille */

.grid-initiatives {
	width: 100%;

	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}


/* Carte */

.initiative-item {
	min-width: 0;
	min-height: 295px;

	padding: 20px;
	box-sizing: border-box;

	border-radius: 18px;

	color: var(--cap-noir);

	display: flex;
	flex-direction: column;

	position: relative;

	text-decoration: none;

	overflow: hidden;
    
    border: 1px solid var(--cap-noir-20);
    
    justify-content: flex-start;
    
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.initiative-item:hover {
	color: var(--cap-noir);
	transform: translateY(-4px);
	box-shadow: 0 10px 24px var(--cap-noir-08);
}


/* Couleurs */

.initiative-item--orange {
	background: var(--cap-orange-clair);
}

.initiative-item--vert {
	background: var(--cap-vert-principal);
}

.initiative-item--bleu {
	background: var(--cap-bleu-clair);
}

.initiative-item--jaune {
	background: var(--cap-jaune-clair);
}


/* Icône lien externe */

.initiative-item__externe {
	width: 30px;
	height: 30px;

	color: var(--cap-noir);

	display: flex;
	align-items: center;
	justify-content: center;

	position: absolute;
	right: 15px;
	top: 15px;
}

.initiative-item__externe i {
	font-size: 20px;
}


/* Contenu */

.initiative-item__contenu {
}

.initiative-item__image {
    width: 100%;
    height: 150px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;    
}
.initiative-item__image img {
    width: auto;
    max-width: 100%;
    height: 100%;
}

/* Icône / logo */

.initiative-item__icone {
	height: 42px;
	margin-bottom: 5px;

	color: var(--cap-blanc);

	display: flex;
	align-items: center;
}

.initiative-item__icone i {
	font-size: 38px;
}


/* Titre */

.initiative-item h3 {
	margin: 0 0 10px;

	color: var(--cap-noir);

	font-family: var(--font-heading);
	font-size: 27px;
	font-weight: 600;
	line-height: 1.05;
}


/* Description */

.initiative-item p {
	margin: 0;

	color: var(--cap-noir);

	font-size: 17px;
	font-weight: 400;
	line-height: 1.3;
}


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

@media screen and (max-width: 1100px) {

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

}


@media screen and (max-width: 600px) {

	.grid-initiatives {
		grid-template-columns: 100%;
		gap: 16px;
	}

	.initiative-item {
		min-height: 250px;
	}

}

/* ==========================================================
   PORTAILS THÉMATIQUES
   ========================================================== */

.bloc-portails-thematiques__titre {
	margin: 0 0 28px;

	color: var(--cap-noir);

	font-family: var(--font-heading);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.1;
}


/* Grille */

.grid-portails-thematiques {
	width: 100%;

	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}


/* Carte */

.portail-thematique {
	position: relative;
	isolation: isolate;
	overflow: hidden;

	aspect-ratio: 1;
	padding: 18px;
	box-sizing: border-box;

	display: flex;
	align-items: flex-end;

	background-color: var(--cap-marine-tres-clair);
	border-radius: 22px;

	color: var(--cap-noir);
	text-decoration: none;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

/* Image */

.portail-thematique__image {
	position: absolute;
	inset: 0;
	z-index: 0;

	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;

	opacity: 1;

	transition: transform 0.45s ease;
}

/* Voile plus opaque derrière le texte */

.portail-thematique::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;

	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.25) 65%,
		rgba(255, 255, 255, 0.75) 80%,
		rgba(255, 255, 255, 0.75) 100%
	);
}

/* Texte */

.portail-thematique span {
	position: relative;
	z-index: 2;

	color: var(--cap-noir);
	font-family: var(--font-primary);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

/* Survol avec une souris */

@media (hover: hover) and (pointer: fine) {
	.portail-thematique:hover {
		/*transform: translateY(-3px);*/
		box-shadow: 0 10px 24px var(--cap-noir-08);
	}

	.portail-thematique:hover .portail-thematique__image {
		transform: scale(1.06);
	}
}

/* Navigation au clavier */

.portail-thematique:focus-visible {
	outline: 3px solid var(--cap-noir);
	outline-offset: 4px;
}

.portail-thematique:focus-visible .portail-thematique__image {
	transform: scale(1.06);
}

/* Réduction des animations selon les préférences du visiteur */

@media (prefers-reduced-motion: reduce) {
	.portail-thematique,
	.portail-thematique__image {
		transition: none;
	}

	.portail-thematique:hover,
	.portail-thematique:hover .portail-thematique__image,
	.portail-thematique:focus-visible .portail-thematique__image {
		transform: none;
	}
}

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

@media screen and (max-width: 1200px) {

	.grid-portails-thematiques {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

}


@media screen and (max-width: 700px) {

	.grid-portails-thematiques {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.portail-thematique {
		padding: 16px;
		border-radius: 18px;
	}

	.portail-thematique span {
		font-size: 15px;
	}

}


@media screen and (max-width: 400px) {

	.grid-portails-thematiques {
		grid-template-columns: 100%;
	}

}

/* ==========================================================
   TOUS LES RÉSULTATS
   ========================================================== */

.bloc-resultats {
    padding-top: 0;
}

.bloc-resultats__separateur {
	width: 100%;
	height: 2px;
	margin: 0 0 30px 0;
	padding: 0;
	border: 0;

	background: linear-gradient(
		to left,
		var(--cap-orange-clair) 0%,
		var(--cap-corail-clair) 50%,
		var(--cap-marine-principal) 100%
	);
}

.bloc-resultats__titre {
	margin: 0 0 30px 0;

	color: var(--cap-noir);

	font-family: var(--font-heading);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.1;
}


/* Liste */

.liste-resultats {
	display: grid;
	grid-template-columns: 100%;
	gap: 16px;
}


/* Carte */

.resultat-item {
	width: 100%;

	padding: 30px 30px;
	box-sizing: border-box;

	background: var(--cap-fond-creme);

	border-radius: 18px;
}


/* Type */

.resultat-item__type {
	margin-bottom: 8px;

	color: var(--cap-secondaire);

	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}


/* Titre */

.resultat-item__titre {
	margin: 0 0 8px;

	font-family: var(--font-heading);
	font-size: 29px;
	font-weight: 600;
	line-height: 1.1;
}

.resultat-item__titre a {
	color: var(--cap-noir);
	text-decoration: none;
}

.resultat-item__titre a:hover {
	color: var(--cap-primaire);
}


/* Résumé */

.resultat-item__resume {
	max-width: 760px;

	margin: 0;

	color: var(--cap-noir);

	font-size: 17px;
	font-weight: 400;
	line-height: 1.4;
}

.resultat-item__resume strong {
	font-weight: 700;
}


/* Mobile */

@media screen and (max-width: 700px) {

	.resultat-item {
		padding: 32px 22px 25px;
		border-radius: 15px;
	}

	.resultat-item__titre {
		font-size: 24px;
	}

	.resultat-item__resume {
		font-size: 16px;
	}

}

.post-type-archive-faq .une-faq {
    margin-bottom: 10px;
}