/* *** Le lien qui ramène à l'accueil *** */
.accueil a { display: block; margin: auto; width: 175px; }

/* *** La navigation principale *** */
/* Le bouton */
#navprincipale button.burger { position: fixed; z-index: 1111; top: 0.5rem;  right: 0.5rem; display: flex; justify-content: center; align-items: center;
	padding: 0; border: 0; color: var(--coul-fond); background: var(--coul-texte); text-decoration: none; cursor: pointer;
	transition: color var(--duree-transition); }
/* Hover */
#navprincipale button.burger:hover, #navprincipale button.burger[aria-expanded="true"]:hover  { color: var(--coul-emphase); }
/* Active */
#navprincipale button.burger:active { color: var(--coul-emphase); }
/* Ouvert */
#navprincipale button.burger[aria-expanded="true"] { background: transparent; color: var(--coul-fond); }
/* transformer ☰ en × */
#navprincipale button.burger[aria-expanded="true"] path:nth-child(1) { d: path("M4 20L20 4");}
#navprincipale button.burger[aria-expanded="true"] path:nth-child(2) { display: none; }
#navprincipale button.burger[aria-expanded="true"] path:nth-child(3) { d: path("M4 4L20 20");}
/* Menu principal */
#menuprincipal a { border-bottom: 2px solid transparent;
	transition: border-color var(--duree-transition); }
#menuprincipal .on a, #menuprincipal a:hover, #menuprincipal a:focus, #menuprincipal a:active { border-color: var(--coul-fond); }
/* La navigation principale, le fil d'Ariane et les menus/listes */
.fildariane { position: relative; z-index: 10; margin: 1rem 0; font-size: 0.875rem;}
#fildariane:has(+ #main > .container > .fond-image) ul { padding-left: var(--marge-l); color: var(--coul-fond);} /* Fil d'Ariane qui précède un bandeau image */
ul.menu-items, ul.liste-items, ul.breadcrumb-items, ul.grille-items { margin-bottom: 0; list-style: none;}
ul.menu-items li.item { padding:0.2em; }
ul.menu-items > li.item, ul.breadcrumb-items > li.item { display:inline-block; }
ul.liste-items a:link, ul.menu-items a:link, ul.breadcrumb-items a:link, ul.grille-items a:link { text-decoration:none; }
ul.liste-items a:link, ul.menu-items a:link, ul.grille-items a:link { display:block; }

/* *** LA PAGINATION *** */
.pagination { margin-top: var(--marge);}
.pagination .pagination-items { list-style: none; display: flex; flex-direction: row; justify-content: center; font-size: .875rem; }
.pagination .pagination-item { margin: 0em; flex-basis: 4.5%; display: flex; align-items: center; color: var(--coul-emphase); }
.pagination .pagination_precedent_suivant .pagination-item { flex-basis: auto; }
.pagination .pagination-item + .pagination-item { margin-left: .5em }
.pagination .pagination-item-label { display:block; flex-basis: 100%; text-decoration: none; padding: .2rem .5rem; text-align: center; }
.pagination li .pagination-item-label {  background: transparent; color: var(--coul-emphase); border: 1px solid var(--coul-emphase);
	transition: background var(--duree-transition); }
.pagination ul:not(.pagination_precedent_suivant) li.prev .pagination-item-label,
.pagination ul:not(.pagination_precedent_suivant) li.next .pagination-item-label { color: inherit; background: inherit; border: inherit; }
.pagination span.pagination-item-label.on,
.pagination a.pagination-item-label:hover,
.pagination a.pagination-item-label:focus,
.pagination a.pagination-item-label:active { color: #fff; background: var(--coul-emphase); text-decoration: none; }
.pagination .disabled.tbc  { visibility: inherit; }
.pagination .disabled span.pagination-item-label { background: transparent; border: 0;}

/* *** LES FORMULAIRES *** */
.formulaire_spip legend {font-size:1.2em;}
.formulaire_spip .editer label em, .formulaire_spip .editer label strong,
.formulaire_spip .editer span.obligatoire { font-family:inherit; font-weight:normal; font-style:italic; font-size:0.8em; }
.formulaire_spip input:not(.submit):not(.crayon-active),
#formulaire_recherche,
.formulaire_spip textarea:not(.crayon-active) { padding:0.25em 0.5em; background:transparent;
	border : 1px solid var(--coul-gris); border-radius: var(--border-radius); font-family:inherit; font-size:inherit;
	transition: border-color 0.25s ease; }
.formulaire_spip input:focus:not(.submit), .formulaire_spip textarea:not(.crayon-active):focus { border-color: var(--coul-fushia); }
.formulaire_spip input.submit { cursor:pointer; padding:0.5em 1em; height:100%; border : 0;
	border-radius: var(--border-radius); background-color: var(--coul-gris); color: var(--coul-fond);
	transition: background-color 0.2s ease,color 0.2s ease;}
.formulaire_spip input.submit:hover, .formulaire_spip input.submit:active, .formulaire_spip input.submit:focus,
#formulaire_recherche input.submit:hover, #formulaire_recherche input.submit:active, #formulaire_recherche input.submit:focus { background-color: var(--coul-emphase); }

/* *** LES FILTRES / MOTS CLEFS *** */
.filtres { line-height: 1.2em; }
.mot { position: relative; padding: .2em .75em; font-size: 1rem; line-height: 1.2em; color: var(--coul-fond); }
.mot svg.forme { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; fill: var(--coul-mauve); }
.filtres li:not(:nth-of-type(1)) .mot { color: var(--coul-mauve); }
.filtres li:not(:nth-of-type(1)) svg.forme { fill: var(--coul-fond); }
.filtres .groupe-mots { display: flex; gap: var(--marge-s); padding-bottom: var(--marge-s); margin-bottom: var(--marge-s);
	font-size: .875rem; white-space: nowrap; border-bottom: 1px solid; align-items: center; }
.filtres ul { overflow: auto; }
.filtres a { background: var(--coul-gris-clair); font-size: .875rem; }

/* *** LES BOUTONS *** */
.boutons { margin: 0; }
.btn { position: relative; display: inline-flex; font-weight: 500; font-size: 1rem; line-height: 1.2em;
	text-decoration: none; border: 1px solid transparent; border-radius: var(--border-radius);
	transition: color var(--duree-transition), background-color var(--duree-transition), border-color var(--duree-transition); }
.filtres a.on, a.btn:hover, a.btn:active , a.btn:focus,
a.btn.principal:hover, a.btn.principal:active , a.btn.principal:focus,
#actions a:hover .btn,#actions a:focus .btn, #actions a:active .btn { color: var(--coul-fond); background: var(--coul-emphase); border-color: var(--coul-emphase); text-decoration: none;}
.btn span.texte { padding: .25em .7em; }
/* Avec picto */
.btn.picto { justify-content: space-between; align-items: stretch; }
.btn span.texte { padding-top: .15em; padding-bottom: .15em; line-height: 1.4375rem;}
.btn.picto span.svg { display: flex; justify-content: center; align-items: center; padding-right: 10px; border-radius: var(--border-radius); }
.btn.picto span.svg.fond, .btn.picto span.svg.telechargement {  margin-right: -1px; padding: 0; width: 40px;}
.btn.picto span.svg.fond { background-color: var(--coul-gris);
	transition: background-color var(--duree-transition);}
.btn.picto span.svg.telechargement { color: var(--coul-mauve); border: 1px solid var(--coul-texte); }
.btn.picto span.svg.fond svg { fill: var(--coul-fond);}
.btn.picto span.svg.coeur { position: absolute; right: 0; top: 50%; padding: 0;
	transform: translate3d(5px,-50%, 0); }
a.btn:hover svg, a.btn:active svg, a.btn:focus svg,
#actions a:hover svg,#actions a:focus svg, #actions a:active svg { fill: var(--coul-fond); }
/* Principal */
.btn.principal {border-color: inherit; font-size: 0.875rem;}
/* Inverse */
.btn.inverse { background: var(--coul-fond); color: var(--coul-texte); border: 0;}
.btn.inverse span.svg.fond { background-color: var(--coul-mauve);}
/* 2 lignes */
.btn.doubleligne span.texte { padding-left: 1em; line-height: 1.2em; }
.btn.doubleligne span.infossuppl { display: block; font-size: .75em;}

/* recherche */
#formulaire_recherche { margin:0 auto; height:100%; max-width: 500px; padding: 0;}
#formulaire_recherche .editer-groupe { display:flex; justify-content:center; }
#formulaire_recherche label { padding-left: 0.5em; }
#formulaire_recherche input.text { padding-left: 0.5em; border: 0; border-bottom-right-radius:0; border-top-right-radius:0 ;}
#footer #formulaire_recherche input.text { color: var(--coul-fond); }
#formulaire_recherche input.submit { padding-top: 0.25em; padding-bottom: 0.25em ; color: transparent; background: url("../images/picto-rechercher.svg") var(--coul-gris) center center no-repeat;
	background-size: 35%; border: 0; }
/* autres */
#formulaire_contact, .formulaire_newsletter { margin:auto;max-width:500px;}
#formulaire_login .details a { opacity: 0.6;}
#formulaire_login { padding:0.5em; }
#formulaire_login legend { text-align:center; width: 100%;}
#formulaire_login label {font-weight:normal;font-size:0.85em;}
#formulaire_login input.text {padding:0.5em;font-size:1em;}
#formulaire_login .details a { font-size:0.8em; text-decoration:none; }
#formulaire_contact .choix label { display:flex; line-height:1em; font-size: 1rem; }
#formulaire_contact .choix input { width: 1rem;  }
#formulaire_contact .choix label p { margin-bottom:0; }

/* RWD slide */
.wrapper-rwdslide { overflow-x: auto ; width: 100%; }
.wrapper-rwdslide ul.grille-items { display: flex; justify-content: flex-start; width: calc( var(--largeur) - 1rem ); }
.wrapper-rwdslide li.item { max-width: 80vw; }
.wrapper-rwdslide.nb4 li.item { width: 25%; }
.wrapper-rwdslide.nb5 li.item { width: 20%; }

/* *** Blocs dépliables *** */
.blocdepliable { clear: both; margin-bottom: 1.5em; }
a.deplier-header { display: flex; justify-content: space-between; align-items: center;  }
.texte a.deplier-header { margin-bottom: .5em; text-decoration: none;}
a.deplier-header:hover, a.deplier-header:focus, a.deplier-header:active { color: var(--coul-emphase); }
.deplier-header > * { margin: 0; }
.blocdepliable.skel h2 { margin: 0; font-size: 2.375rem; }
.deplier-header span { height: 28px; width: 28px; transform: rotate3d(0,0,1,90deg);
	transition: transform var(--duree-transition);}
.deplier-header.deplie span { transform: rotate3d(0,0,1,-90deg);}
.deplier-texte { overflow: hidden;}
.blocdepliable.skel .deplier-texte { margin-top: var(--marge); }
.texte .deplier-texte { margin-bottom: 1.5em; }
.deplier-texte p:last-child { margin-bottom: 0; }

/* DIVERS */
.aucun-resultat { padding: var(--marge-l); text-align: center; font-size: 1.25rem; font-family: var(--font-titre); }
.centrer { text-align: center; }
.bordure-basse  { position: relative; margin: 0; }
.bordure-basse::after { position: absolute; bottom: 0; display: block; content: ''; width: calc( 100% - var(--marge-l) * 2); height: 1px; border-bottom: 1px solid; }
.document-infos { font-size: 0.875rem;}