/*
 * École — feuille de style unique du squelette SPIP.
 * Les styles propres aux plugins restent injectés par #INSERT_HEAD_CSS.
 */


/* ==========================================================================
   Réinitialisation
   ========================================================================== */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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 {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* Les éléments de structure HTML5 sont des blocs. */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* end */


/* ==========================================================================
   Typographie et polices
   ========================================================================== */

/* -------------------------------------------------------------- typo.css Base typographique Cf.:http://contrib.spip.net/3820-------------------------------------------------------------- */

html { font-size: 100.01% }

/* pour IE < 6 */

/* Cf.:http://www.pompage.net/pompe/definir-des-tailles-de-polices-en-CSS/ et http://forum.alsacreations.com/topic-4-54377-1.html */

body {
    background: #FFFFFF;
    font: 1em/1.5em Ubuntu,sans-serif;
    color: #333; }

/* Titraille / Intertitres */

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 100%;
    font-weight: normal; }

/*hr {
    height: 1px;
    margin: 3.4% 0 1.6% 0;
    border: 0;
    background: #EFEFEF;
    color: #EFEFEF;
    display: block; }*/

hr {
    display: block;
    clear: both;
    height: 1px;
    margin: 3.4% 0 1.6%;
    border: 0;
    background: radial-gradient(circle at center, #244b46 0, #fff 100%);
}

hr.une {
    height: 1px;
    margin: 2% 0 1% 0;
    border: 0;
    background: #EFEFEF;
    color: #EFEFEF;
    display: block; }

hr.vertical_sep {
    height: 1.7em;
    margin: 0;
    border: 0;
    background: none;
    display: block; }

hr.vertical_sep2 {
    height: 1em;
    margin: 0;
    border: 0;
    background: none;
    display: block;
}

hr.sep2 {
    height: 1px;
    margin: 4px 0;
    border: 0;
    background: #EFEFEF;
    color: #EFEFEF;
    display: block; }

h1,
.h1,
.une,
.nom_site {
    font-size: 1.9em;
    line-height: 1.3;
    margin-bottom: 3.4%;
    font-family: comfortaa,Ubuntu, OpenSansBold;
color: #404040;
font-weight: 700;}

h1.nom_site {
    margin: 0;
    color: #FFF; }

h1,
.une { margin-bottom: 2% }

h2,
.h2 {
    font-size: 1.3em;
    line-height: 1.4;
    margin-bottom: 2%;
    font-family: Ubuntu, OpenSansBold; }

h3.spip,
.h3 {
    font-size: 1.5em;
    line-height: 1.4;
    margin: 5% 0 2% 0;
    font-family: Ubuntu, OpenSansBold; }

h3,
.h3_2 {
    font-size: 1.25em;
    line-height: 1.4;
    margin: 0 0 2% 0;
    font-family: Ubuntu, OpensansRegular; }

h4,
.h4 {
    font-size: 1.2em;
    line-height: 1.4;
    margin-bottom: 6%;
    padding-bottom: 2%;
    font-family: Ubuntu, OpenSansRegular;
    border-bottom: solid 1px #DCDCDC;
    font-weight: bold; }

h4,
.h4_2 {
    font-size: 1.2em;
    line-height: 1.4;
    margin-bottom: 2%;
    padding-bottom: 2%;
    font-family: Comfortaa,Ubuntu, OpenSansRegular;
    font-weight: 700;
    width: 75%; }

h5,
.h5 {
    font-size: 1.15em;
    line-height: 1.4;
    margin-bottom: 1%;
    font-family: Comfortaa,Ubuntu, OpenSansBold;
    font-weight: 700; }

h6,
.h6 {
    font-size: 1em;
    font-weight: 700; }

/* Enrichissements typographiques */

strong,
b { font-weight: bold }

em,
i { font-style: italic }

small,
.small { font-size: 90% }

big,
.big { font-size: 130% }

abbr[title],
acronym[title] {
    border-bottom: .1em dotted;
    cursor: help;
    color: #999; }



dfn {
    font-weight: bold;
    font-style: italic; }

del,
.del {
    background-color: #FFDDDD;
    border-color: #CC0000;
    color: #CC0000;
    text-decoration: line-through; }

ins,
.ins {
    background-color: #DDFFDD;
    border-color: #00AA00;
    color: #00AA00;
    text-decoration: none; }

sup,
sub {
    font-size: .8em;
    font-variant: normal;
    line-height: 0; }

sup { vertical-align: super }

sub { vertical-align: sub }

.caps { font-variant: small-caps }

.intert { font-variant-caps: small-caps }

/* Listes */

ul,
ol,
li,
dl,
dt,
li.li2 { margin-bottom: 0.8em }

ul ul,
ol ol,
ul ol,
ol ul {
    margin-top: 0;
    margin-bottom: 0; }

dl dt { font-weight: bold }

caption { background: #EEE }

th { font-weight: bold }

thead th { background: #DDD }

th,
td,
caption { padding: 0.75em .5em }

tbody tr:nth-child(even) th,
tbody tr:nth-child(even) td,
tbody tr.even th,
tbody tr.even td { background: #EEE }

tfoot { font-style: italic }

/* Citations,code et poesie */

q { font-style: italic }

blockquote { padding: 0 50px }

cite { font-style: italic }

address { font-style: italic }

pre,
code,
kbd,
samp,
var,
tt {
    font-family: 'Courier New',Courier,monospace;
    font-size: 1em; }

pre {
    margin: 1.5em 0;
    /* Cf.: http://perishablepress.com/press/2010/06/01/wrapping-content/ */;
    white-space: pre;
    /* CSS 2.0 */
    white-space: pre-wrap;
    /* CSS 2.1 */
    white-space: pre-line;
    /* HP Printers */
    word-wrap: break-word;
    /* IE 5+*/ }

kbd {
    background-color: #222222;
    color: #FFFFFF; }

samp { font-weight: bold }

var { font-style: italic }

/* Paragraphes */

p,
.p,
dl,
dd,
blockquote,
address,
pre,
table,
fieldset { margin-bottom: 2.8% }

/* Liens */

a[hreflang]:after { content: "\0000a0(" attr(hreflang) ")" }



.on {
    font-weight: bold;
    background: #244b46; }

.on2 { font-weight: bold; color:#FFF }

/*** Print styles from HTML5 Boilerplate* Inlined to avoid required HTTP connection:www.phpied.com/delay-loading-your-print-css/
*/



/*** Base typo sur petits ecrans* Cf.:http://www.alsacreations.com/astuce/lire/1177*/



@font-face {
    font-family: 'OpenSansRegular';
    src: url('fonts/OpenSans-Regular-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal; }

/* ubuntu-regular - latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  src: local('Ubuntu Regular'), local('Ubuntu-Regular'),
       url('fonts/ubuntu-v11-latin-regular.woff2') format('woff2');
}

/* ubuntu-italic - latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 400;
  src: local('Ubuntu Italic'), local('Ubuntu-Italic'),
       url('fonts/ubuntu-v11-latin-italic.woff2') format('woff2');
}

@font-face {
    font-family: 'spip-icons';
    src: url('fonts/spip-icons.ttf') format('truetype');
    font-weight: normal;
    font-style: normal; }
    
@font-face {
  font-family: "Comfortaa";
  src: url("fonts/Comfortaa-Regular.woff2") format('woff2');
  font-weight:normal;
  font-style:normal;
}

/* ATTENTION L'usage de proprietes -webkit-* sans leurs contreparties (-o-*,-moz-*,etc.) est fortement deconseille ! cf. http://www.webstandards.org/2012/02/09/call-for-action-on-vendor-prefixes/
Prenez le temps de corriger s'il vous plait:les proprietes CSS prefixees ne sont en theorie destinees qu'a des fins de test.*/

/* end */


/* ==========================================================================
   Formulaires
   ========================================================================== */

/* --------------------------------------------------------------

   form.css
   Base pour formulaires
   Cf.: http://contrib.spip.net/3820

-------------------------------------------------------------- */

input,textarea,select,button { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; }

legend { font-weight: bold; }

/* Hand cursor on clickable input elements */
 

input[type="submit"],input.submit { color: #FFF; margin: 0 0 5% 0; padding: 1.4%; border: solid 1px #dbdbdb; border-radius: 4px; background: #244b46; }
input[type="button"],input.button,
input[type="image"],input.image,
button { cursor: pointer; }

textarea { overflow: auto; } /* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */

/* Success, info, notice and error/alert boxes (from BluePrint) */

.reponse,
.error,
.alert, 
.notice,
.success, 
.info     { padding: .8em; margin-bottom: 1.5em; border: 2px solid #ddd; }

.error,
.alert      { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; }
.notice     { background: #fff6bf; color: #514721; border-color: #ffd324; }
.success    { background: #e6efc2; color: #264409; border-color: #c6d880; }
.info     { background: #d5edf8; color: #205791; border-color: #92cae4; }

.error a,
.alert a      { color: #8a1f11; }
.notice a   { color: #514721; }
.success a    { color: #264409; }
.info a     { color: #205791; }

/* Print */


/* end */


/* ==========================================================================
   Utilitaires de mise en page
   ========================================================================== */

/* --------------------------------------------------------------

   clear.css
   Classes pour faciliter la composition
   Cf.: http://contrib.spip.net/3820

-------------------------------------------------------------- */

/* Blocs */
.bloc { display: block; margin-bottom: 1.5em; }
.box { display: block; margin-bottom: 1.5em; padding: 1.5em; background: #EEE; }

/* Listes, tableaux et mosaiques */
.first { margin-left: 0; padding-left: 0; }
.last { margin-right: 0; padding-right: 0; }
.top { margin-top: 0; padding-top: 0; }
.bottom { margin-bottom: 0; padding-bottom: 0; }
.odd {margin-bottom:2em}
.even {margin-bottom:2em}
.left { float: left; }
.right { float: right; }
.center { text-align: center; margin-right: auto; margin-left: auto; }

/* Espaceur de blocs */
.clear { clear: both; }
br.clear, .nettoyeur { clear: both; margin: 0; padding: 0; border: 0; height: 0; line-height: 1px; font-size: 1px; }
hr.clear { visibility: hidden; }

/* Clearfix moderne pour les contenus SPIP flottants. */
.clearfix::after {
    display: table;
    clear: both;
    content: "";
}

/* Non visible a l'ecran */
.offscreen, .invisible { position: absolute; left: -999em; }
.none { display: none; }

/* debug */
.todo { opacity: 0.5; }
.todo:hover { opacity: 1; }
/* end */


/* ==========================================================================
   Structure commune
   ========================================================================== */

body {
    margin: 0;
    background: #fff;
    font-family: Ubuntu, Arial, sans-serif;
}

.page {
    position: relative;
    min-height: 100vh;
    margin: 0 auto;
    padding: 0;
    text-align: left;
}

.main,
.wrapper,
.content,
.aside {
    min-width: 0;
}

.ajustable {
    max-width: 100%;
    height: auto;
    border: 0;
}

.image_opacity {
    opacity: .7;
}

.image_opacity:hover {
    opacity: 1;
}

.spip-icons {
    color: #244b46;
    font-family: "spip-icons";
    font-size: 1.2em;
    vertical-align: middle;
}

.cadre {
    width: min(100%, 68.5%);
    margin: 1.2em 3em 1.2em 1em;
    padding: 1em 1em 1em 2em;
    border: 1px solid #dbdbdb;
    text-align: left;
}

/* Éléments ajoutés par les plugins. */
.fc-event,
.fc-event-dot {
    border: 1px solid #244b46;
    background: #244b46;
}

.fc-event:hover,
.fc-event-dot:hover {
    background: #1d3d39;
}

.fc-day-grid-event .fc-time,
.fc-title {
    color: #fff;
}

.spip-admin-bloc,
.spip-admin-float {
    display:none !important;
}


/* ==========================================================================
   Contenus générés par SPIP
   ========================================================================== */

/* --------------------------------------------------------------

   Styles associes au code genere par SPIP

-------------------------------------------------------------- */

/* Listes SPIP */
ul.spip,
ol.spip { margin-left: 20px; }
ul.spip { list-style-image: url("/IMG/png/puce.png"); }
ul.spip2 { list-style-type: square; margin: 0 0 7% 6%; }
li ul.spip { list-style-type: disc; }
li li ul.spip { list-style-type: circle; }
ol.spip { list-style-type: decimal; }

dl.spip dt,
dl.spip dd { padding-left: 50px; }
dl.spip dt { clear: both; }
table.spip { width: 100%;border: 1px solid #3950A4; }
table.spip tr.row_first th {border-top: 0;background-color: #eee;border-bottom: 1px solid gray;}
table.spip tr.odd td {background-color: #e8f3ff}
table.spip tr.even td {background-color: #fff}

/* Citations, code et poesie */
blockquote.spip { min-height: 40px; background: url(img/quote.png) no-repeat; }
.spip_poesie { border-left: 1px solid; }
.spip_poesie div { margin-left: 50px; text-indent: -50px; }
.spip_code,
.spip_cadre { font-family: 'Courier New', Courier, monospace; font-size: 1em; }

/* Enluminures typo V3 / Cf.: http://contrib.spip.net/3118 */
sc, .sc { font-variant: small-caps; }
.caractencadre-spip { /*background-color: #FFFFCC; */ color: purple; }
.caractencadre2-spip { /*background-color: #FFFFCC;*/ color: orange; }
.texteencadre-spip { display: block; margin: 1.5em 50px; padding: 1.5em; background: #EEE; }

/* Logos, documents et images */
.spip_logos { float: left; margin: 0 2.6% 0 0; padding: 0; border: solid 4px #FFF;}
.bloc_portfolio .spip_logos {float: left;margin: 10px 2.6% 0 0;padding: 0;border: solid 4px #FFF;border: solid 4px #2944A2;border-radius: 5px;}

.spip_logos_responsive { float: left; margin: 0 3% 2.2% 0; padding: 0; border: solid 4px #FFF; width: 14%; height: auto;}

.spip_logos_right { float: right; margin: 0 0px 10px 24px; padding: 0; border: solid 4px #FFF; width: 100px; height: auto; ; }
 
.spip_logos_right2 {margin: 50px 20px ; padding: 0; width: 100px; height: auto; float: right; }
 
 
.spip_documents { margin-bottom: 1.5em; padding: 0; background: none; }
.spip_documents,
.spip_documents_center,
.spip_doc_titre,
.spip_doc_descriptif { margin-right: auto; margin-left: auto; text-align: center;/*width: 250px*/ }
.spip_documents_center { clear: both; display: block; width: 100%; }
.spip_documents_left { float: left; margin-right: 1.5em;clear: both; }
.spip_documents_right { float: right; margin-left: 1.5em;clear: both; }
.spip_doc_titre {width: 250px;}
.spip_doc_descriptif { clear: both; }

/* Modeles par defaut */
.spip_modele { float: right; display: block; width: 25%; margin: 0 0 1.5em 1.5em; padding: 1.5em; background-color: #EEE; }

/* Formulaires */
.formulaire_spip li { clear: both; margin-bottom: 0.75em; }
.formulaire_spip .boutons { clear: both; margin: 0; padding: 0; text-align: right; }
.formulaire_spip .boutons input,
.formulaire_spip .boutons button {
	padding: .5em 1em;
	color: #FFF;
	border-radius: 3px;
	text-align: center;
	font-weight: 700;
	background-color: #244b46;
	border: none;
}


/* Barre typo */
.markItUp .markItUpHeader ul .markItUpSeparator { display: none; }

/* Previsu */
.previsu { margin-bottom: 1.5em; padding: 0.75em; border: 2px dashed #008000; background: #F9FFF9;max-width: 95%;margin-top: 4em; }
fieldset.previsu legend { color: #F57900; }

/* Reponses */
.reponse_formulaire { margin-bottom: 1.5em; padding: 0.75em; border: 2px solid #ddd; }
.reponse_formulaire_ok { background: #e6efc2; color: #264409; border-color: #c6d880;margin-top: 4em; }
.reponse_formulaire_erreur { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; }
.reponse_formulaire_ok a { color: #264409; }
.reponse_formulaire_erreur a { color: #8a1f11; }

.erreur_message { color: red; }

li.erreur input[type="text"], li.erreur input.text,
li.erreur input[type="password"], li.erreur input.password,
li.erreur textarea { background-color: #fbe3e4; border-color: #fbc2c4; }

.spip_surligne { background-color: yellow; }

/* Formulaire de recherche */
.formulaire_recherche * { display: inline; }

/* Paragraphes */
div.spip, ul.spip, ol.spip, .spip_poesie, .spip_cadre, div.spip_code, .spip_documents.spip_documents_center { margin-bottom: 0; }

/* Pagination */
.pagination { clear: both; text-align: center;margin-top: 2em;display:flex }
.pagination-items.pagination_page {margin: auto;}


/* Liens de SPIP */
a.spip_note { font-weight: bold; } /* liens vers notes de bas de page */


/* Boutons d'admin */


/* end */


/* ==========================================================================
   Habillage commun
   ========================================================================== */

/* --------------------------------------------------------------

	 Theme pour la dist de SPIP 3

-------------------------------------------------------------- */

:focus-visible {
	outline: 2px solid #244b46;
	outline-offset: 3px;
}

input.text:active, input.text:focus, textarea:focus, textarea:active {
	border-bottom: 3px solid #aeaeae;
}



/* ------------------------------------------
/* Habillage des elements du contenu
/* ------------------------------------------ */

.arbo {
	clear: both;
	font-size: .9em;
	color: #DDC;
	color: #FFF;
	font-family: OpenSansRegular;
	padding: 1em 0 0 0;
	display: block;
}

.cartouche {
	margin-bottom: 1.5em;
}

.cartouche h1 {
	margin-bottom: 0;
	color: #244b46;
}

.cartouche p {
	margin-bottom: 0;
}

abbr.published {
	border: 0;
}



.info-publi {
	margin: 3% 0 0 0;
	font-family: OpenSansRegular;
	text-transform: uppercase;
	color: #999;
}

.traductions {
	font-size: .9em;
}

.traductions a[hreflang]:after {
	content: '';
}

.chapo {
	font-weight: bold;
}

.hyperlien {
	display: block;
	padding: 1.5em 50px;
	background: #FFF url(img/def.png) no-repeat 25px 1.9em;
	font-weight: bold;
}

.ps,
.notes {
	margin-bottom: 1.5em;
}

.notes {
	clear: both;
	font-size: .9em;
}


/* Listes et tableaux */

dl.spip dt {
	background: url(img/def.png) no-repeat 25px .5em;
}

table.spip caption {
	background: none;
	border-bottom: 1px solid;
	text-align: left;
	font-weight: bold;
}

table.spip thead th {
	background: none;
	border: 0px solid;
	border-width: 1px 0;
}

table.spip tbody tr th,
table.spip tr td {
	background: none;
}

table.spip tbody tr.odd th,
table.spip tfoot {
	border-top: 1px solid;
}


/* Formulaires : variantes et cas particuliers
----------------------------------------------- */

.formulaire_spip {
	margin-bottom: .5em;
}

.aside .formulaire_spip {
	padding-top: 0;
}

fieldset {
	width: 100%;
	margin: 0;
}

legend {
	/*display: none;*/
}

label {
	display: block;
	margin-top: 15px;
	margin-left: .5em;
}

.erreur_message {
	display: block;
}

input.text,
textarea {
	width: 100%;
	box-sizing: border-box;
	background-color: #F4F4F4;
	border: none;
	border-bottom: 3px solid #D2D2D2;
	border-radius: 5px;
	padding: 10px;
	color: #626262;
}

.content input.text {
	/*width: 66%;*/
	background-color: white;
}

textarea {
	width: 100%;
	margin-bottom: 1em;
}


/* Selection des langues */

.formulaire_menu_lang {
	margin: 0;
	padding: 0;
	background: none;
}


/* Formulaires de recherche (site / petitions) */

.formulaire_recherche input.text {
	width: 84%;
	padding: 1.3% 2%;
	background: #FFF;
	border: solid 4px #EFEFEF;
	border-radius: 4px;
	margin-right: 4px;
}

.formulaire_recherche input.text:hover {
	width: 84%;
	padding: 1.3% 2%;
	background: #EFEFEF;
	border: solid 4px #CCC;
	border-radius: 4px;
	margin-right: 4px;
}

.formulaire_recherche input.submit {
	width: 14%;
	padding: 2%;
	border: solid 1px #dbdbdb;
	border-radius: 4px;
	color: #FFF;
	background: #244b46;
}

.formulaire_recherche input.submit:hover {
	width: 14%;
	padding: 2%;
	border: solid 1px #5072e2;
	border-radius: 4px;
	color: #FFF;
	background: #5072e2;
}


/* Choix des mots-clefs */

ul.choix_mots {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.choix_mots li {
	clear: none;
	float: left;
	display: block;
	width: 30%;
	padding: 1%;
}

ul.choix_mots li label {
	display: inline;
	font-weight: normal;
}

.formulaire_spip .bugajaxie {
	display: none;
}


/*IE/Win*/


/* Formulaire de login dans une page */

.formulaire_login ul li {
	clear: left;
}

.formulaire_login .editer_password .details {
	display: block;
}

.formulaire_login #spip_logo_auteur {
	float: right;
}


/* Fomulaire de contact */

.formulaire_ecrire_auteur .saisie_sujet_message_auteur input.text {
	width: 100%;
}


/* Habillage des forums
---------------------------------------------- */


/* Habillage des forums */

.comments-items .comments-items {
	margin-left: 25px;
}

.comment-meta {
	margin: 0 0 1.4% 0;
	font-weight: bold;
	border-bottom: solid 1px #CCC;
	padding: 1% 0;
	font-family: OpenSansRegular;
	font-size: small;
}

.comment-meta small {
	font-size: 100%;
}

.comment-meta abbr {
	border: 0;
}

.comment-meta a {
	color: #222;
}

.comment-meta a:focus,
.comment-meta a:hover,
.comment-meta a:active {
	color: #fff;
}

.comment-content .hyperlien {
	padding: 0;
	background: transparent;
	font-weight: normal;
}


/* Formulaire de forum */

.formulaire_forum legend {
	display: none;
}

.formulaire_forum .saisie_titre input.text {
	width: 100%
}

.formulaire_forum .session_qui {
	display: none;
}

.formulaire_forum .saisie_texte .explication {
	font-size: .9em;
	font-style: italic;
}


/* Habillage des petitions
---------------------------------------------- */

#signatures td.signature-date small {
	white-space: nowrap;
}

#signatures .formulaire_recherche {
	margin: 1.5em auto;
	text-align: center;
}


/* Formulaire de signature */

/* ------------------------------------------
/* Sous-navigation et autres menus
/* ------------------------------------------ */


/* Habillage general des menus de nav */

.menu {
	clear: both;
	/*margin-bottom: 1.5em;*/
	text-align: left;
}

.menu2 {
	clear: both;
	/*margin-bottom: 1.5em;*/
	text-align: left;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	grid-column-gap: 10px;
}

.menu ul {
	margin-bottom: 1.5em;
}

.menu ul li ul {
	margin-left: 1.5em;
	list-style: circle;
}

.menu.menu_rubriques {
	margin-top: 2em;
	padding-top: 2em;
}


/* Pagination */

.pagination a,
.pagination .on {
	padding: 0.7em 0.5em;
	margin: 0 0.15em;
	border-radius: 3px;
	border-bottom: solid 1px #C0C0C0;
	font-family: OpenSansRegular;
}

.pagination a {
	background: #ECECEC;
	text-decoration: none;
}

.pagination .on {
	font-weight: bold;
	background: #244b46;
	color: #fff;
}

.pagination .sep {
	display: none;
}

.pagination a:hover {
	background: #5678f3;
	color: #FFF;
	border-bottom: solid 1px #468C00;
}

.pagination2 li {
	list-style-type: none;
	margin-left: auto;
	margin-right: auto;
}

.pagination2 a,
.pagination2 .on {
	font-family: 'spip-icons';
	letter-spacing: 0.4em;
}

.pagination2 a {
	background: 0;
	text-decoration: none;
}

.pagination2 .on {
	background: 0;
	color: #244b46;
}

.pagination2 .sep {
	display: none;
}

.pagination2 a:hover,
.pagination2 a:active {
	color: #244b46;
	text-decoration: none;
}


/* Listes d'articles et extraits introductifs */

.menu_articles li {
	clear: both;
	margin: 0 0 3% 0;
	padding: 3%;
	background: #FFF;
	border: solid 1px transparent;
	border-radius: 4px;
}

.menu_articles2 li {
	/*clear: both;
	margin: 0 0 1% 0;
	padding: 0;*/
}

.menu_articles li h3,
.menu_articles li h2 {
	margin-bottom: 0.6em;
}

.menu_articles li p {
	margin: 0;
}

.menu_articles li small {
	font-style: normal;
}

.menu_articles li .enclosures {
	float: right;
	text-align: right;
	max-width: 60%;
	margin: 0;
}

.menu_breves li h3 {
	margin: 0;
}


/* Hyperliens
---------------------------------------------- */

a {
	color: #244b46;
	text-decoration: none;
}

a:focus,
a:active {
	color: #244b46;
	text-decoration: none;
}

a:hover {
	color: #244b46;
	text-decoration: none;
	transition: color 0.2s ease-out 0s, background 0.2s ease-in 0s;
}

a.blanc {
	color: #FFF;
	text-decoration: none;
}

a.blanc:focus,
a.blanc:hover,
a.blanc:active {
	background-color: transparent;
	color: #FFF;
	text-decoration: none;
}

a.vert {
	color: #244b46;
	text-decoration: none;
	font-weight: bold
}

a.vert:focus,
a.vert:hover,
a.vert:active {
	background-color: #244b46;
	color: #FFFFFF;
	text-decoration: none;
	transition: color 0.3s ease-out 0s, background 0.3s ease-in 0s;
}

a.cpl,
a.cpl:focus,
a.cpl:hover,
a.cpl:active {
	font-size: 0.75em;
	text-decoration: none
}

.lnksrc,
a.lnksrc {
	text-decoration: none;
	border: 1px solid #dbdbdb;
	border-radius: 3px;
	background: #fff none repeat scroll 0% 0%;
	padding: 0px 0.3em;
	color: #BD6F09;
	font-size: 0.8em;
	vertical-align: top;
}

a.lnksrc:focus,
a.lnksrc:active {
	color: #BD6F09;
	text-decoration: none;
}

a.lnksrc:hover {
	color: #eeeeee;
	text-decoration: none;
	transition: color 0.2s ease-out 0s, background 0.3s ease-in 0s;
	background: #7e7e7e none repeat scroll 0% 0%;
	border: 1px solid transparent;
}

.lnkrouge,
a.mediabox {
	text-decoration: none;
	border: none;
	border-radius: 3px;
	background: #fff none repeat scroll 0% 0%;
	color: #244b46
}

a.mediabox:focus,
a.mediabox:active {
	color: #244b46;
	text-decoration: none;
}

a.mediabox:hover {
	color: #244b46;
	text-decoration: none;
	transition: color 0.2s ease-out 0s, background 0.2s ease-in 0s;
}

a.lnknorm {
	text-decoration: none;
	border: 1px solid #dbdbdb;
	border-radius: 3px;
	background: #fff none repeat scroll 0% 0%;
	padding: 0px 0.3em;
	color: #BD6F09;
	font-size: 0.8em;
	vertical-align: top;
}

a.lnknorm:focus,
a.lnknorm:active {
	color: #BD6F09;
	text-decoration: none;
}

a.lnknorm:hover {
	color: #eeeeee;
	text-decoration: none;
	transition: color 0.2s ease-out 0s, background 0.3s ease-in 0s;
	background: #BD6F09 none repeat scroll 0% 0%;
	border: 1px solid #7e7e7e;
}

.lnkhist,
a.lnkhist {
	text-decoration: none;
	border: 1px solid #dbdbdb;
	border-radius: 3px;
	background: #fff none repeat scroll 0% 0%;
	padding: 0px 0.3em;
	color: #8D8D8D;
	font-size: 0.8em;
	vertical-align: top;
}

a.lnkhist:focus,
a.lnkhist:active {
	color: #8D8D8D;
	text-decoration: none;
}

a.lnkhist:hover {
	color: #eeeeee;
	text-decoration: none;
	transition: color 0.2s ease-out 0s, background 0.3s ease-in 0s;
	background: #8D8D8D none repeat scroll 0% 0%;
	border: 1px solid #7e7e7e;
}

a.medianorm {
	border: none;
}

a.medianorm:focus,
a.medianorm:active,
a.medianorm:hover {
	background: transparent;
	border: none
}

.infolien {
	display: inline-block;
	vertical-align: bottom;
	margin: 1em 0 0 0;
	float: right;
}

a.aidelien {
	border: none;
	font-size: 0.63em;
	color: #7E7E7E;
	float: left;
}

a.aidelien:focus,
a.aidelien:active,
a.aidelien:hover {
	border: none;
	color: #8D8D8D;
	background: #ffffff;
	text-decoration: none;
}

.faq {
	border: 1px solid #dbdbdb;
	border-radius: 3px;
	padding: 1em;
	margin: 0 0 1em 0;
}

.faq2 {
	padding: 1em;
	margin: 0 0 1em 0;
}

.faq3 {
	padding: 1em;
	margin: 0 0 1em 0;
	border: 2px solid #ECECEC;
	border-radius: 5px;
}

.faq2 a,
.faq a {
	color: #244b46;
	/*font-weight: bold;*/
}

.faq a:focus,
.faq a:active,
.faq a:hover {
	background-color: transparent;
}

.hidden {
	display: none;
}

.unhidden {
	display: block;
	margin: 1em;
}

.liennorm {
	color: #244b46;
	font-weight: normal;
}

#twtr-widget-1 .twtr-avatar {
	display: inherit;
}

.avert {
	border: 1px solid #244b46;
	border-radius: 3px;
	padding: 20px;
	margin: 0 100px 15px 0;
}

a.ext {
	color: #244b46;
	background: transparent url("/IMG/nav/lien_out.gif") right center no-repeat;
	padding-right: 14px;
}

/* ------------------------------------------
/* Autres medias
/* ------------------------------------------ */




/* end */

.actualite {
	border: 1px solid #990000;
	border-radius: 7px;
	padding: 1em;
	margin: 0 0 1em 0;
}

figcaption {
	font-size: .9em;
	color: #4D4D4D;
	font-style: italic;
	text-align: center;
	margin-top: .5em;
}

.exergue {
	border-left: 2px solid #dbdbdb;
	margin-bottom: 1.5em;
	padding-left: 1em;
}

.notetxt span {
	font-weight: 700;
}

.notetxt {
	color: #6c6c6c;
	font-style: italic;
}

.legendecent {
	margin-top: .5em;
	font-size: .75em;
	font-style: italic;
	margin-bottom: .5em;
}

.vid {
	text-align: center;
	border: 1px solid #dbdbdb;
	border-radius: 7px;
	padding: 1em;
	margin: 0 0 1em 0;
}

.lienh5:hover {
	background-color: transparent;
	color: #244b46;
	text-decoration: underline;
}

#documents_joints {
	/*border-top: 2px solid #244b46;*/
	padding: 20px 10px;
	/* border-radius: 5px;*/
}

#documents_portfolio>h2,
#documents_joints>h2 {
	color: #244b46
}

.caractencadre2-spip {
	color: #32ce37;
}

.slick-prev::before,
.slick-next::before {
	font-size: 40px;
	line-height: 1;
}

.slick-slide img {
	margin: 0 auto;
}

.slick-next {
	right: 30px;
}

.slick-dots li.slick-active button::before {
	opacity: .95;
}

.slick-titre,
.slick-descriptif {
	background: #244b46;
	padding-left: 4.5em;
}

.zoom,
.zoom img {
	/*transform: scale(1);
	transition: all .5s ease-out;*/
	height: 200px;
}

.zoom:hover {
	transform: rotateY(-30deg) translateX(10px) scale(1.2);
	transition: all .5s ease-in-out;
	z-index: 1000;
}

.zoom2,
.zoom2 img {
	transform: scale(1);
	transition: all .25s ease-out;
}

.zoom2:hover {
	transform: scale(1.05);
	transition: all .25s ease-in-out;
	z-index: 1000;
}

.aside>.login_modal {
	background-color: #244b46;
	padding: .5em 1em;
	color: white;
	border-radius: 3px;
	min-width: 90%;
	display: block;
	text-align: center;
	font-weight: bold;
}

.aside>.login_modal:hover {
	background-color: #5A79D5;
	color: #FFF;
}

.flexitem:hover,
.flexitem1:hover {
	transform: scale(1.05);
	transition: all .2s ease-in-out;
}

#pass_securise {
	display: none;
}

.formulaire_login .editer_password .details {
	text-align: left;
	margin: 0;
}

#spip_pass {
	color: #EA7A7A;
	text-decoration: underline;
	display: block;
	/* background-color:#EA7A7A;*/
	max-width: 33%;
	min-width: 33%;
	margin-top: 1em;
	/*padding: .2em 2.5em .2em 1.8em;*/
	border-radius: 3px;
	text-align: center;
}

div.choix {
	/*display: none;*/
}

input[type="submit"],
input.submit {
	cursor: pointer;
}

.tab {
	position: absolute;
	left: 150px;
}

.bttn2 {
	min-width: 30px;
	border: 0px solid #E6E6E6;
	background: transparent;
	border-radius: 25px;
	cursor: pointer;
	vertical-align: middle;
}

.bttn2:hover {
	border: 0px solid #244b46;
	border-radius: 25px;
	background: #ECECEC;
}

.bttn2:active, .bttn2:focus {
	transform: translateY(2px) translateX(1px);
}

.on {
	background: #323232;
}

.pages>.on {
	background: #244b46;
}

.attention {
	font-weight: bold;
	color: #ff6c00;
	text-align: center;
	margin: 0 auto;
	margin-bottom: 0px;
	border: 2px solid #FF6C00;
	padding: 1em;
}

.cnx {
	padding: 3em 3em 0;
	background-color: #ECECEC61;
	text-align: center;
}


.pdf {
	vertical-align: middle;
}

.spip-admin-boutons {
	border-radius: .3em .3em 0 0;
	background: #244b46;
}

.inf1,
.inf2 {
	/*background-image: linear-gradient(to right, #4b6cb7 0%, #244b46	51%, #4b6cb7	100%)}*/
	hyphens: auto;
	transition: all .5s ease-in-out;
}

.btn-grad {
	text-align: center;
	transition: 0.5s;
	color: white;
	border-radius: 7px;
	display: block;
}

.inf1:hover,
.inf2:hover {
	background-position: left center;
	/* change the direction of the change here */
	color: #244b46;
	text-decoration: none;
}

#inf3 {
	background: url(/IMG/nav/flex6.png) no-repeat;
}


/*#inf1:hover {
	transform: rotateY(20deg) translateX(-3px) scale(1.05);
}
#inf2:hover {
	transform: rotateY(-20deg) translateX(3px) scale(1.05);
}*/

.texteencadre-spip {
	background: #E8F3FF;
}

.unlink {
	display: inline;
	text-align: right;
	/*width: 45px;*/
}

span .infobulle {
	/*width: 300px;*/
	font-size: 1em;
	font-weight: normal;
	opacity: 0;
	position: absolute;
	margin-left: -100px;
	color: #DCDCDC;
	background: #5F5E5E;
	background: rgba(102, 104, 102, .96);
	padding: 9px 15px;
	border-radius: 3px;
	transform: scale(0);
	transition: all .45s;
}

span:hover .infobulle,
span:focus .infobulle {
	opacity: 1;
	transform: scale(1) rotate(0);
}

.infobulle img {
	max-width: 450px;
	max-height: 400px;
}

.infotext {
	display: inline-block;
	width: 17px;
	text-align: center;
	/*background-color: #878787;*/
	cursor: pointer;
	color: #fff;
	border-radius: 10px;
	font-weight: bold;
}

.entet {
	padding-bottom: .5em;
	display: inline-block;
	color: #fff;
}

.infot {
	background-image: url(/IMG/info.svg);
	background-repeat: no-repeat;
	background-position: top;
	min-width: 24px;
	min-height: 24px;
	vertical-align: top;
	margin-left: .3em;
}

.carre {
	float: left;
	display: block;
	border: 1px solid #E4E4E4;
	position: relative;
	/*margin-right: 1em;*/
	padding: .7em;
	margin-bottom: 1em;
	border-radius: 8px;
	hyphens: auto;
	transition: all .5s ease-in-out;
}

.carre:hover {
	/*transform: scale(1.02);
	background: linear-gradient(270deg, rgb(115, 131, 189) 0%, rgb(255, 255, 255) 7%);
	/*transition: all .5s ease-in-out;*/
	border: 1px solid #244b46;
}

.info-publi2 {
	text-align: right;
	float: right;
	font-size: .8em;
	position: absolute;
	bottom: 1%;
	min-height: 12px;
	right: 5%;
	color: #a8a7a7;
}

.info-publi3 {
	float: left;
	bottom: -3px;
	position: absolute;
	font-size: .8em;
	color: #244b46;
}

.info-publi4 {
	color: #7E7E7E;
}

.spacer {
	line-height: 1em;
	margin-top: 1em;
}

.btninf {
	text-align: center;
	color: #244b46;
	font-size: 1.3em;
	padding: 1em;
	font-family: Comfortaa;
	font-weight: 700;
}

.btninf a {
	text-align: center;
	color: #244b46;
}

#logo5bis {
	border: 0;
	width: 120px;
	height: 150px;
}

#logodinan {
	border: 0;
	width: 130px;
	height: 120px;
}
.logoville {
	text-align: center;
	margin-left: 80px;
}
.dl{
	background-image: url(/IMG/nav/dl2.png);
	background-repeat:no-repeat;
	border-radius:8px;
}
.faq.dl2 {
	border-radius: 8px;
	padding: 2em;
}
.faq.dl2:hover {
  transition: .5s ease-in-out;
}
.message{
	background-image: url(/IMG/nav/imprtt2.png);
	background-repeat:no-repeat;
	border-radius:8px;
	font-family: Comfortaa;
	font-weight: 700;
}
.imprtt{
	font-variant: small-caps;
	color: red;
	font-weight: bold;
	font-size: 1.4em;
	display: inline-block;
	margin: -.2em 0 .8em 3em;
}
.separation {
	min-height: 1px;
	background: red;
	max-width: 50%;
	margin-bottom: 1em;
}
#minipres .formulaire_spip fieldset {
	background: rgba(0, 0, 0, 0);
}
div.videowrap {
	display: flex;
	flex-wrap: nowrap;
	max-width: 100%;
}
/*	SPIP 4 PAGINATION cf aussi ligne 483
ajouter une div class = pagin autour du p class="nav" */
.pagination-item.on.active {
	display: block;
	max-width: 25px;
	float: left;
	background: #B3B3B7;
	padding: .5em;
	border-radius: 3px;
}
.pagination-item {
	display: block;
	max-width: 25px;
	float: left;
	background: #244b46;
	padding: .5em;
	border-radius: 3px;
	margin: 0 auto;
	margin-left: .5em;
}
.pagination-item-label.lien_pagination {
	color: #FFF;
}
.pagination-item-label {
	color: #FFF;
}
.pagin {
	text-align: center;
	display: flex;
	margin-top: 2em;
	/*margin-left: 25%;*/
}
.menu_articles2 li {
	padding: 0;
}
.spip_logo {
	float: left;
	margin: 0 2.6% 0 0;
	padding: 0;
	border: solid 4px #FFF;
}
/*		FIN SPIP4	*/
.slick-next .slick-next-icon::before {
	content: "→";
	color:#244b46;
	}
.slick-next .slick-next-icon::before,
.slick-next .slick-prev-icon::before,
.slick-prev .slick-next-icon::before,
.slick-prev .slick-prev-icon::before {
	font-family: slick;
	font-size: 20px;
	line-height: 1;
	color: #244b46;
	opacity: 1;
}
.audio-wrapper {
	margin:auto;
}
#champ_destinataires_1 {
	margin: .2em 0 0 0;
	border: none;
	border-bottom-color: currentcolor;
	border-bottom-style: none;
	border-bottom-width: medium;
	padding: 15px;
	width: 100%;
	border-bottom: 3px solid #D2D2D2;
	border-radius: 5px;
	background-color: #F4F4F4;
	color: #7A7A7A;
}
#explication_explication_1_texte {
	font-style: italic;
}

/*#champ_checkbox_1_40650f1478d55ac86235449e384c1321,
#champ_checkbox_1_3534ec79059c17592b834dcf64dd688a,
#champ_checkbox_1_fb0e4c9fbc0a1acacd3b6237bd725bec,
#champ_checkbox_1_53d608ef5ec96a89083cd18a6f138622,
#champ_checkbox_1_53c5e08eb1a55c2dd19207d78fa3f556 {
	float: left; 
	margin-top: .3em;
	margin-right: 1em;
}*/
.checkbox_checkbox_1 {
	float: left;
	margin-top: .3em;
	margin-right: 1em;
}
.editer.editer_checkbox_1.obligatoire.listecases.saisie_checkbox.editer_odd {
	margin: 1em 0;
	border: 4px solid #ECECEC;
	padding: 2em;
	max-width: 91%;
	border-radius: 3px;
}
.editer.editer_case_1.pleine_largeur.saisie_case.editer_odd {
	margin: 1em 0;
	border: 4px solid #ECECEC;
	padding: .5em 1em;
	max-width: 95%;
}
#champ_case_1 {
	float: left;
	margin-top: .3em;
	margin-right: 1em;
}
.editer.editer_fichiers_1.saisie_fichiers.editer_even,
.editer.editer_fichiers_1.saisie_fichiers.editer_odd {
	border: 4px solid #ececec;
	padding: .5em 1em;
	width: 95%;
	margin-bottom: 1em;
}
.faq.dl:hover {
	transition: .5s ease-in-out;
}
.lity-image-caption {
	background: rgba(0,0,0,0.65);
}
.formulaire_crayon .crayon-active {
	font-family: ubuntu;
	font-weight: 400;
}
.lity-image-caption-text {
	color:#D0D0D0;
	}
.btn__label {
	color: #FFF;
}
#map1 {
	border-radius: 5px;
	border: 1px solid #7A7A7A;
}
.leaflet-popup-content > .title {
	color: #244b46;
}
input[type="file"]::file-selector-button {
	border: 0px solid #f2f2f2;
	border-bottom: 3px solid #D2D2D2;
	border-radius: .4em;
	background-color: #f2f2f2;
	padding: 15px;
	margin-right: 1em;
	color: #666;
	cursor:pointer;
	transition: 1s;
}
input[type=file]::file-selector-button:hover {
	background-color: #D2D2D2;
	border: 0px solid #f2f2f2;
	border-bottom: 3px solid #aeaeae;
}
.formulaire_spip .saisie_fichiers input[type="file"] {
	width: 100%;
}
.label {
	padding: 0 .5em;
		font-weight:bold;
	}
.editer.obligatoire label{
		/*font-weight:bold;*/
		}
.spip_doc:hover {
	text-decoration: underline;
}
.lity-loading .box-loading:after {
	content: " ";
	display: block;
	width: 4em;
	height: 4em;
	margin: 0.5em;
	border-radius: 50%;
	border: 0.375em solid #000;
	border-color: transparent #244b46 transparent #244b46;
	opacity: 0.5;
	animation: lds-dual-ring 1.2s linear infinite;
}
.markItUp .markItUpHeader ul .markItUpDropMenu ul a {
	background-color: var(--spip-color-theme-lightest, hsla(0, 20%, 96.1%, 0.05));
}
#Calque_4 {
	height: 16px;
	width: 16px;
	fill: #f56a6a;
	vertical-align: middle;
	padding-bottom: .2em;
}
.rub .boutonstexte {
	display: none;
}
.contactlist {
	  line-height: 2em;
}
.ressource {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1em;
  width: 100%;
}

.ressource > .flexitem3 {
  margin: 0;
  min-width: 0;
}

/* ==========================================================================
   Barre de chargement
   ========================================================================== */

.pace {
	-webkit-pointer-events: none;
	pointer-events: none;

	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.pace-inactive {
	display: none;
}

.pace .pace-progress {
	background: #29d;
	position: fixed;
	z-index: 2000;
	top: 0;
	right: 100%;
	width: 100%;
	height: 2px;
}


/* ==========================================================================
   Entête, navigation et pied de page
   ========================================================================== */

:root {
    --chrome-ink: #27343a;
    --chrome-deep: #244b46;
    --chrome-deep-hover: #1d3d39;
    --chrome-line: #ded8cc;
    --chrome-paper: #f8f4ec;
    --chrome-surface: #fff;
}

/* Entête */
.site-header-refonte {
    width: 100%;
    margin: 0;
    border-bottom: 1px solid var(--chrome-line);
    background: var(--chrome-paper);
}

.site-header-refonte__inner {
    display: flex;
    align-items: center;
    gap: 28px;
    width: min(1240px, calc(100% - 48px));
    min-height: 82px;
    margin: 0 auto;
}

.site-header-refonte__home {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 13px;
    color: var(--chrome-deep);
    text-decoration: none;
}

.site-header-refonte__logo {
    width: auto;
    max-width: 74px;
    max-height: 54px;
}

.site-header-refonte__name {
    max-width: 230px;
    font-size: 1.03rem;
    font-weight: 800;
    line-height: 1.15;
}

/* Navigation */
.site-nav {
    flex: 1 1 auto;
    width: auto;
    margin: 0;
}

.site-nav__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nav__item,
.site-nav__subitem {
    position: relative;
    margin: 0;
    padding: 0;
}

.site-nav__link,
.site-nav__sublink {
    display: block;
    border-radius: 10px;
    background: transparent;
    color: var(--chrome-ink);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.site-nav__link {
    padding: 10px 13px;
    font-size: .92rem;
}

.site-nav__sublink {
    padding: 9px 11px;
    font-size: .9rem;
}

.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__sublink:hover,
.site-nav__sublink:focus-visible {
    background: #ebe4d8;
    color: var(--chrome-deep);
}

.site-nav__link.on {
    background: var(--chrome-deep);
    color: #fff;
}

.site-nav__submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 20;
    display: none;
    min-width: 230px;
    margin: 0;
    padding: 7px;
    border: 1px solid var(--chrome-line);
    border-radius: 14px;
    background: var(--chrome-surface);
    list-style: none;
}

.site-nav__item:hover > .site-nav__submenu,
.site-nav__item:focus-within > .site-nav__submenu,
.site-nav__subitem:hover > .site-nav__submenu,
.site-nav__subitem:focus-within > .site-nav__submenu {
    display: block;
}

.site-nav__subitem > .site-nav__submenu {
    top: 0;
    left: 100%;
}

.site-header-refonte__select {
    display: none;
    padding: 10px 38px 10px 14px;
    border: 1px solid var(--chrome-deep-hover);
    border-radius: 10px;
    background: var(--chrome-deep);
    color: #fff;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.site-header-refonte__select option {
    background: var(--chrome-surface);
    color: var(--chrome-ink);
}

/* Pied de page */
.site-footer {
    position: relative;
    margin-top: 56px;
    border-top: 1px solid var(--chrome-line);
    background: #eee8de;
    color: var(--chrome-ink);
}

.site-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: min(100% - 48px, 1180px);
    margin: 0 auto;
    padding: 26px 0;
}

.site-footer__identity {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    font-size: .88rem;
}

.site-footer__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 18px;
}

.site-footer__links a {
    color: var(--chrome-ink);
    font-size: .86rem;
    font-weight: 650;
    text-decoration: none;
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible {
    color: var(--chrome-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-footer__top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 30;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--chrome-deep);
    border-radius: 50%;
    background: var(--chrome-deep);
    color: #fff;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.site-footer__top[hidden] {
    display: none;
}

.site-footer__top:hover,
.site-footer__top:focus-visible {
    background: var(--chrome-paper);
    color: var(--chrome-deep);
    transform: translateY(-2px);
}

.site-footer__top:active {
    transform: translateY(0);
}

.site-footer__top svg {
    display: block;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==========================================================================
   Pages article
   ========================================================================== */

:root {
    --article-ink: #27343a;
    --article-muted: #6f797d;
    --article-paper: #f5f1e9;
    --article-surface: #ffffff;
    --article-deep: #244b46;
    --article-coral: #d97a63;
    --article-gold: #d5a64b;
    --article-line: rgba(39, 52, 58, 0.13);
    --article-radius: 22px;
}

body.refonte-article {
    margin: 0;
    background: var(--article-paper);
    color: var(--article-ink);
}

.refonte-article .page {
    width: 100%;
    max-width: none;
    margin: 0;
    background: transparent;
}

/* Cadre général */
.refonte-article .corps1,
.refonte-article .corps2 {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
}


.refonte-article .main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    width: auto;
    max-width: 1180px;
    margin: 0 auto;
    padding: 28px 28px 72px;
}

.refonte-article .wrapper,
.refonte-article .content {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    background: transparent;
}

.refonte-article .aside {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

/* Article principal */
.refonte-article .bloc_contenu {
    margin: 0 0 24px;
    padding: 38px 44px;
    border: 1px solid var(--article-line);
    border-radius: var(--article-radius);
    background: var(--article-surface);
}

.refonte-article .cartouche {
    margin: 0 0 28px;
    padding: 0 0 24px;
    border-bottom: 1px solid var(--article-line);
}

.refonte-article .cartouche h1,
.refonte-article h1.h1 {
    display: flex;
    position: relative;
    align-items: flex-start;
    gap: 16px;
    margin: 5px 0 14px;
    color: var(--article-ink);
    font-size: clamp(2rem, 4vw, 3.7rem);
    line-height: 1.04;
    letter-spacing: -0.035em;
}

/* L’icône injectée par Crayons reste cliquable sans modifier le flux du titre. */
.refonte-article h1.crayon {
    position: relative;
}

.refonte-article h1.crayon > span:nth-child(1) {
    position: absolute !important;
    top: -1.7rem !important;
    right: 0 !important;
    left: auto !important;
    width: 1.5rem !important;
    margin: 0 !important;
    flex: none !important;
}

.refonte-article .cartouche h1 img {
    flex: 0 0 auto;
    border-radius: 14px;
}

.refonte-article .surtitre {
    margin: 0 0 8px;
    color: var(--article-coral);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.refonte-article .soustitre {
    margin: 0;
    color: var(--article-muted);
    font-size: 1.12rem;
}

.refonte-article .info-publi {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 18px 0 0;
    color: var(--article-muted);
    font-size: 0.88rem;
}

.refonte-article .info-publi .spip-icons {
    color: var(--article-coral);
}

.refonte-article .sep2 {
    display: none;
}

.refonte-article .chapo {
    margin: 0 0 28px;
    padding: 20px 22px;
    border-left: 5px solid var(--article-coral);
    border-radius: 0 14px 14px 0;
    background: #fbf2ee;
    color: #3d4b50;
    font-size: 1.12rem;
    line-height: 1.65;
}

.refonte-article .texte,
.refonte-article .ps,
.refonte-article .notes {
    color: var(--article-ink);
    font-size: 1.02rem;
    line-height: 1.72;
}

.refonte-article .texte h2,
.refonte-article .texte h3,
.refonte-article .texte h4 {
    color: var(--article-deep);
    line-height: 1.2;
}

.refonte-article .texte h2 {
    margin-top: 2.1em;
    font-size: 1.65rem;
}

.refonte-article .texte h3 {
    margin-top: 1.8em;
    font-size: 1.3rem;
}

.refonte-article .texte a,
.refonte-article .hyperlien a,
.refonte-article .notes a,
.refonte-article a.vert {
    color: var(--article-deep);
    text-decoration-color: rgba(36, 75, 70, 0.35);
    text-underline-offset: 3px;
}

.refonte-article .texte a:hover,
.refonte-article .hyperlien a:hover,
.refonte-article .notes a:hover,
.refonte-article a.vert:hover {
    color: var(--article-coral);
}

.refonte-article .texte img,
.refonte-article .spip_documents img,
.refonte-article .spip_logos_responsive {
    max-width: 100%;
    height: auto;
}

.refonte-article .texte blockquote {
    margin: 1.6em 0;
    padding: 18px 22px;
    border: 0;
    border-left: 5px solid var(--article-gold);
    border-radius: 0 12px 12px 0;
    background: #faf5e8;
}

.refonte-article .texte table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 12px;
}

.refonte-article .texte th {
    color: #fff;
    background: var(--article-deep);
}

.refonte-article .texte th,
.refonte-article .texte td {
    padding: 10px 12px;
    border: 1px solid var(--article-line);
}

.refonte-article .rub {
    padding: 26px 30px;
}

.refonte-article .rub h4 {
    margin: 0 0 15px;
    color: var(--article-deep);
    font-size: 1.15rem;
}

/* Colonne latérale */
.refonte-article .aside {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.refonte-article .aside > .aside-card {
    margin: 0;
    padding: 20px 21px;
    border: 1px solid var(--article-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
}

.refonte-article .aside-card h4 {
    margin: 0 0 13px;
    color: var(--article-deep);
    font-size: 1.05rem;
    line-height: 1.25;
}

.refonte-article .aside-card p,
.refonte-article .aside-card ul {
    margin-top: 0;
    margin-bottom: 0;
}

.refonte-article .aside-card ul {
    padding-left: 0;
    list-style: none;
}

.refonte-article .aside-card li + li {
    margin-top: 7px;
}

.refonte-article .aside-card a {
    color: var(--article-deep);
    text-decoration: none;
}

.refonte-article .aside-card a:hover,
.refonte-article .aside-card a:focus {
    color: var(--article-coral);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.refonte-article .aside-card--update .modif {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--article-muted);
    font-size: 0.92rem;
}

.refonte-article .aside-card--update .spip-icons {
    color: var(--article-coral);
}

.refonte-article .account-action {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--article-line);
    border-radius: 11px;
    font-weight: 750;
    text-transform: none;
}

.refonte-article .aside-card--account .somaside {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--article-line);
}

.refonte-article .aside-card--account .somaside:empty,
.refonte-article .aside-card--account .somaside:not(:has(> li)) {
    display: none;
}

.refonte-article .aside-card--search form,
.refonte-article .aside-card--search .formulaire_spip {
    margin: 0;
}

.refonte-article .aside-card--search input[type="search"],
.refonte-article .aside-card--search input[type="text"] {
    width: 100%;
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid var(--article-line);
    border-radius: 10px;
    background: #fff;
    color: var(--article-ink);
}

.refonte-article .aside-card--search input[type="submit"],
.refonte-article .aside-card--search button {
    width: auto;
    min-width: 52px;
    margin: 8px 0 0;
    padding: 9px 16px;
    border: 0;
    border-radius: 10px;
    background: var(--article-deep);
    color: #fff;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
}

.refonte-article .aside-card--search input[type="submit"]:hover,
.refonte-article .aside-card--search button:hover {
    background: var(--article-coral);
}

.refonte-article .aside-card--stats:has(> h4:only-child) {
    display: none;
}

/* Écrasement des reliquats bleus les plus fréquents */
.refonte-article .bleu,
.refonte-article .bleu a,
.refonte-article .fond_bleu,
.refonte-article .titre_bleu,
.refonte-article .pagination a,
.refonte-article .pagination .on {
    color: var(--article-deep);
    border-color: var(--article-line);
    background-color: transparent;
}

.refonte-article .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 22px;
}

.refonte-article .pagination a,
.refonte-article .pagination .on {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 9px;
    border: 1px solid var(--article-line);
    border-radius: 999px;
    background: var(--article-surface);
}

.refonte-article .pagination .on {
    color: #fff;
    background: var(--article-deep);
}


/* ==========================================================================
   Pages d’erreur
   ========================================================================== */

body.refonte-404 {
    background: var(--article-paper);
}

.refonte-404 .error-main {
    display: grid;
    place-items: center;
    min-height: calc(100vh - 220px);
    width: min(100% - 40px, 920px);
    margin: 0 auto;
    padding: 56px 0 72px;
}

.refonte-404 .error-card {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 62px 64px;
    border: 1px solid var(--article-line);
    border-radius: 28px;
    background: var(--article-surface);
}

.refonte-404 .error-code {
    position: absolute;
    top: -30px;
    right: 20px;
    color: rgba(36, 75, 70, 0.07);
    font-size: clamp(9rem, 24vw, 18rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.08em;
    pointer-events: none;
}

.refonte-404 .error-kicker {
    position: relative;
    display: inline-block;
    color: var(--article-coral);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.refonte-404 .error-card h1 {
    position: relative;
    max-width: 690px;
    margin: 12px 0 18px;
    color: var(--article-deep);
    font-size: clamp(2.4rem, 6vw, 5.2rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.refonte-404 .error-lead {
    position: relative;
    max-width: 610px;
    margin: 0;
    color: var(--article-muted);
    font-size: 1.08rem;
    line-height: 1.65;
}

.refonte-404 .error-actions {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 30px;
}

.refonte-404 .error-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border: 1px solid var(--article-line);
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
}

.refonte-404 .error-button--primary {
    border-color: var(--article-deep);
    background: var(--article-deep);
    color: #fff;
}

.refonte-404 .error-button--primary:hover,
.refonte-404 .error-button--primary:focus-visible {
    border-color: var(--article-coral);
    background: var(--article-coral);
    color: #fff;
}

.refonte-404 .error-button--secondary {
    background: transparent;
    color: var(--article-deep);
}

.refonte-404 .error-button--secondary:hover,
.refonte-404 .error-button--secondary:focus-visible {
    border-color: var(--article-coral);
    color: var(--article-coral);
}

.refonte-404 .error-search {
    position: relative;
    max-width: 620px;
    margin-top: 44px;
    padding-top: 30px;
    border-top: 1px solid var(--article-line);
}

.refonte-404 .error-search h2 {
    margin: 0 0 14px;
    color: var(--article-ink);
    font-size: 1.2rem;
}

.refonte-404 .error-search form,
.refonte-404 .error-search .formulaire_spip {
    display: flex;
    gap: 10px;
    margin: 0;
}

.refonte-404 .error-search input[type="search"],
.refonte-404 .error-search input[type="text"] {
    flex: 1;
    min-width: 0;
    min-height: 48px;
    padding: 0 15px;
    border: 1px solid var(--article-line);
    border-radius: 12px;
    background: #faf8f3;
    color: var(--article-ink);
}

.refonte-404 .error-search input[type="submit"],
.refonte-404 .error-search input.submit,
.refonte-404 .error-search button {
    flex: 0 0 auto;
    min-width: 92px;
    min-height: 48px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: 12px;
    background: var(--article-coral);
    color: #fff;
    font-weight: 850;
    cursor: pointer;
}

.refonte-404 .error-search input[type="submit"]:hover,
.refonte-404 .error-search input.submit:hover,
.refonte-404 .error-search button:hover,
.refonte-404 .error-search input[type="submit"]:focus-visible,
.refonte-404 .error-search input.submit:focus-visible,
.refonte-404 .error-search button:focus-visible {
    background: var(--article-deep);
}



.refonte-404 .error-card--401 .error-code { color: rgba(36, 75, 70, 0.12); }
.refonte-404 .error-login { max-width: 520px; margin: 28px auto 0; text-align: left; }
.refonte-404 .error-login .formulaire_login { margin: 0; padding: 24px; border: 1px solid rgba(39,52,58,.13); border-radius: 16px; background: #fff; }
.refonte-404 .error-login input[type="text"], .refonte-404 .error-login input[type="password"] { width: 100%; }

/* Page 401 : connexion explicite */
.page_401 .error-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.page_401 .error-login {
  max-width: 560px;
  margin: 30px auto 0;
  padding: 24px;
  border: 1px solid rgba(39, 52, 58, .14);
  border-radius: 16px;
  background: #fff;
  text-align: left;
}
.page_401 .error-login h2 {
  margin: 0 0 18px;
  color: #244b46;
  font-size: 1.35rem;
}
.page_401 .error-login .formulaire_spip,
.page_401 .error-login form { margin: 0; }


/* ==========================================================================
   Pages auteur
   ========================================================================== */

.refonte-auteur .auteur-main {
    width: 100%;
}

.refonte-auteur .auteur-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    width: min(1180px, calc(100% - 56px));
    margin: 0 auto;
    padding: 28px 0 72px;
}

.refonte-auteur .auteur-content {
    min-width: 0;
}

.refonte-auteur .auteur-profile,
.refonte-auteur .auteur-section {
    margin: 0 0 24px;
    padding: 38px 44px;
    border: 1px solid var(--article-line);
    border-radius: var(--article-radius);
    background: var(--article-surface);
}

.refonte-auteur .auteur-profile__header {
    display: flex;
    align-items: center;
    gap: 24px;
}

.refonte-auteur .auteur-profile__logo {
    flex: 0 0 auto;
}

.refonte-auteur .auteur-profile__logo img {
    display: block;
    width: 132px;
    height: 132px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid var(--article-line);
}

.refonte-auteur .auteur-profile__identity {
    min-width: 0;
}

.refonte-auteur .auteur-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--article-coral);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.refonte-auteur .auteur-profile h1 {
    margin: 0;
    color: var(--article-ink);
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    line-height: 1.04;
    letter-spacing: -0.035em;
}

.refonte-auteur .auteur-profile__site {
    margin: 12px 0 0;
}

.refonte-auteur .auteur-profile__site a {
    color: var(--article-deep);
    font-weight: 700;
    text-underline-offset: 3px;
}

.refonte-auteur .auteur-bio {
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid var(--article-line);
    color: var(--article-ink);
    font-size: 1.03rem;
    line-height: 1.72;
}

.refonte-auteur .auteur-section__heading {
    margin-bottom: 22px;
}

.refonte-auteur .auteur-section__heading h2 {
    margin: 0;
    color: var(--article-deep);
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.15;
}

.refonte-auteur .auteur-article-list {
    display: grid;
    gap: 14px;
}

.refonte-auteur .auteur-article-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--article-line);
    border-radius: 16px;
    background: #fff;
}

.refonte-auteur .auteur-article-card__image {
    min-height: 150px;
    background: #eee8de;
}

.refonte-auteur .auteur-article-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.refonte-auteur .auteur-article-card__body {
    padding: 20px 22px;
}

.refonte-auteur .auteur-article-card__meta {
    margin: 0 0 6px;
    color: var(--article-coral);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.refonte-auteur .auteur-article-card h3 {
    margin: 0;
    font-size: 1.18rem;
    line-height: 1.25;
}

.refonte-auteur .auteur-article-card h3 a {
    color: var(--article-deep);
    text-decoration: none;
}

.refonte-auteur .auteur-article-card h3 a:hover,
.refonte-auteur .auteur-article-card h3 a:focus-visible {
    color: var(--article-coral);
}

.refonte-auteur .auteur-article-card__intro {
    margin: 9px 0 0;
    color: var(--article-muted);
    line-height: 1.55;
}

.refonte-auteur .auteur-article-card__more {
    display: inline-flex;
    gap: 7px;
    margin-top: 13px;
    color: var(--article-deep);
    font-weight: 800;
    text-decoration: none;
}

.refonte-auteur .auteur-article-card__more:hover,
.refonte-auteur .auteur-article-card__more:focus-visible {
    color: var(--article-coral);
}

.refonte-auteur .auteur-pagination {
    margin-top: 22px;
}

.refonte-auteur .auteur-contact__form .formulaire_spip {
    margin: 0;
}

.refonte-auteur .auteur-contact__form input[type="text"],
.refonte-auteur .auteur-contact__form input[type="email"],
.refonte-auteur .auteur-contact__form textarea {
    width: 100%;
    border: 1px solid var(--article-line);
    border-radius: 11px;
    background: #fff;
}

.refonte-auteur .auteur-contact__form input[type="submit"],
.refonte-auteur .auteur-contact__form button {
    border: 0;
    border-radius: 10px;
    background: var(--article-deep);
    color: #fff;
    font-weight: 800;
}

.refonte-auteur .auteur-contact__form input[type="submit"]:hover,
.refonte-auteur .auteur-contact__form button:hover {
    background: var(--article-coral);
}

.refonte-auteur .auteur-notes {
    margin-top: 20px;
    color: var(--article-muted);
}


/* ==========================================================================
   Pages de recherche
   ========================================================================== */

:root {
  --search-ink: #27343a;
  --search-muted: #6f797d;
  --search-deep: #244b46;
  --search-coral: #d97a63;
  --search-cream: #f4f0e8;
  --search-line: rgba(39, 52, 58, .14);
}

.page_recherche .search-page {
  width: 100%;
  background: var(--search-cream);
}

.page_recherche .search-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 28px;
  width: min(1180px, calc(100% - 56px));
  margin: 0 auto;
  padding: 30px 0 72px;
}

.page_recherche .search-page__content { min-width: 0; }

.page_recherche .search-hero,
.page_recherche .search-section,
.page_recherche .search-empty {
  margin: 0 0 24px;
  padding: 38px 42px;
  border: 1px solid var(--search-line);
  border-radius: 22px;
  background: #fff;
}

.page_recherche .search-hero {
  background: #eef2ed;
  border-color: rgba(36, 75, 70, .18);
}

.page_recherche .search-hero__kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--search-coral);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.page_recherche .search-hero h1 {
  margin: 0;
  color: var(--search-deep);
  font-size: clamp(2.25rem, 5vw, 4.2rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.page_recherche .search-hero__query {
  margin: 15px 0 0;
  color: var(--search-muted);
  font-size: 1.05rem;
}

.page_recherche .search-hero__form { margin-top: 24px; }

.page_recherche .search-hero__form .formulaire_spip,
.page_recherche .search-hero__form form { margin: 0; }

.page_recherche .search-hero__form form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.page_recherche .search-hero__form input.search,
.page_recherche .search-hero__form input[type="search"],
.page_recherche .search-hero__form input[type="text"] {
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0 15px;
  border: 1px solid rgba(39, 52, 58, .2);
  border-radius: 11px;
  background: #fff;
  color: var(--search-ink);
  line-height: 48px;
}

.page_recherche .search-hero__form input.submit,
.page_recherche .search-hero__form input[type="submit"] {
  box-sizing: border-box;
  width: auto;
  min-width: 76px;
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  background: var(--search-deep);
  color: #fff;
  font-weight: 850;
  line-height: 48px;
  cursor: pointer;
}

.page_recherche .search-section__header {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--search-line);
}

.page_recherche .search-section__header h2 {
  margin: 0;
  color: var(--search-deep);
  font-size: 1.7rem;
}

.page_recherche .search-results {
  display: grid;
  gap: 13px;
}

.page_recherche .search-result {
  padding: 21px 23px;
  border: 1px solid var(--search-line);
  border-radius: 15px;
  background: #fff;
}

.page_recherche .search-result__date {
  margin: 0 0 6px;
  color: var(--search-coral);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.page_recherche .search-result h3 {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.25;
}

.page_recherche .search-result h3 a {
  color: var(--search-deep);
  text-decoration: none;
}

.page_recherche .search-result__intro {
  margin-top: 10px;
  color: var(--search-muted);
  line-height: 1.55;
}

.page_recherche .search-result__more {
  display: inline-flex;
  gap: 7px;
  margin-top: 13px;
  color: var(--search-coral);
  font-weight: 800;
  text-decoration: none;
}

.page_recherche .search-links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page_recherche .search-links li + li { border-top: 1px solid var(--search-line); }

.page_recherche .search-links a {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  color: var(--search-deep);
  font-weight: 750;
  text-decoration: none;
}

.page_recherche .search-pagination { margin-top: 22px; }

.page_recherche .search-empty h2 {
  margin: 0 0 8px;
  color: var(--search-deep);
}

.page_recherche .search-empty p {
  margin: 0;
  color: var(--search-muted);
}


/* ==========================================================================
   Pages rubrique
   ========================================================================== */

body.refonte-rubrique {
    background: var(--article-paper);
}

.refonte-rubrique .rubrique-main {
    width: min(100% - 56px, 1180px);
    margin: 0 auto;
    padding: 34px 0 72px;
}

.refonte-rubrique .rubrique-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    align-items: start;
}

.refonte-rubrique .rubrique-content {
    min-width: 0;
}

.refonte-rubrique .rubrique-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: center;
    min-height: 250px;
    padding: 42px 46px;
    overflow: hidden;
    border: 1px solid var(--article-line);
    border-radius: 26px;
    background: var(--article-deep);
    color: #fff;
}

.refonte-rubrique .rubrique-hero::after {
    content: "";
    position: absolute;
    right: -95px;
    bottom: -125px;
    width: 290px;
    height: 290px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.055);
}

.refonte-rubrique .rubrique-hero__text,
.refonte-rubrique .rubrique-hero__logo {
    position: relative;
    z-index: 1;
}

.refonte-rubrique .rubrique-kicker {
    display: inline-block;
    color: var(--article-coral);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.refonte-rubrique .rubrique-hero h1 {
    margin: 10px 0 14px;
    color: var(--home-paper);
    font-size: clamp(2.35rem, 5vw, 4.6rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.refonte-rubrique .rubrique-description,
.refonte-rubrique .rubrique-introduction {
    max-width: 720px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 1.05rem;
    line-height: 1.65;
}

.refonte-rubrique .rubrique-description p,
.refonte-rubrique .rubrique-introduction p {
    margin: 0.5em 0 0;
}

.refonte-rubrique .rubrique-hero__logo img {
    display: block;
    max-width: 210px;
    max-height: 180px;
    border-radius: 18px;
}

.refonte-rubrique .rubrique-section {
    margin-top: 34px;
    padding: 34px 38px;
    border: 1px solid var(--article-line);
    border-radius: 22px;
    background: var(--article-surface);
}

.refonte-rubrique .rubrique-section__heading {
    margin-bottom: 22px;
}

.refonte-rubrique .rubrique-section__heading h2 {
    margin: 5px 0 0;
    color: var(--article-ink);
    font-size: clamp(1.7rem, 3vw, 2.55rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.refonte-rubrique .rubrique-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.refonte-rubrique .rubrique-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--article-line);
    border-radius: 17px;
    background: #faf8f3;
    color: inherit;
    text-decoration: none;
}

.refonte-rubrique .rubrique-card__image {
    flex: 0 0 118px;
    min-height: 145px;
    overflow: hidden;
}

.refonte-rubrique .rubrique-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.refonte-rubrique .rubrique-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 19px;
}

.refonte-rubrique .rubrique-card h3 {
    margin: 0;
    color: var(--article-deep);
    font-size: 1.12rem;
    line-height: 1.2;
}

.refonte-rubrique .rubrique-card p {
    margin: 8px 0 14px;
    color: var(--article-muted);
    font-size: 0.91rem;
    line-height: 1.45;
}

.refonte-rubrique .rubrique-card__body > span {
    margin-top: auto;
    color: var(--article-coral);
    font-size: 0.86rem;
    font-weight: 800;
}

.refonte-rubrique .rubrique-card:hover,
.refonte-rubrique .rubrique-card:focus-visible {
    border-color: rgba(217, 122, 99, 0.55);
    background: #fff;
}

.refonte-rubrique .rubrique-article-list {
    display: grid;
    gap: 14px;
}

.refonte-rubrique .rubrique-article-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--article-line);
    border-radius: 17px;
    background: #fff;
}

.refonte-rubrique .rubrique-article-card__image {
    min-height: 175px;
    overflow: hidden;
    background: #eee9df;
}

.refonte-rubrique .rubrique-article-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.refonte-rubrique .rubrique-article-card__content {
    padding: 22px 24px;
}

.refonte-rubrique .rubrique-article-card__meta {
    margin: 0 0 6px;
    color: var(--article-coral);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.refonte-rubrique .rubrique-article-card h3 {
    margin: 0;
    font-size: 1.28rem;
    line-height: 1.2;
}

.refonte-rubrique .rubrique-article-card h3 a {
    color: var(--article-deep);
    text-decoration: none;
}

.refonte-rubrique .rubrique-article-card h3 a:hover,
.refonte-rubrique .rubrique-article-card h3 a:focus-visible {
    color: var(--article-coral);
}

.refonte-rubrique .rubrique-article-card__intro {
    margin: 9px 0 13px;
    color: var(--article-muted);
    line-height: 1.55;
}

.refonte-rubrique .rubrique-article-card__more {
    color: var(--article-deep);
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
}

.refonte-rubrique .rubrique-article-card__more span {
    color: var(--article-coral);
}

.refonte-rubrique .rubrique-pagination {
    margin: 24px 0 0;
}

.refonte-rubrique .rubrique-pagination .pagination-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.refonte-rubrique .rubrique-pagination .pagination-item,
.refonte-rubrique .rubrique-pagination .pagination-item.on.active {
    display: block;
    float: none;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    list-style: none;
}

.refonte-rubrique .rubrique-pagination .pagination-item-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid var(--article-line);
    border-radius: 999px;
    background: #fff;
    color: var(--article-deep);
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.refonte-rubrique .rubrique-pagination a.pagination-item-label:hover,
.refonte-rubrique .rubrique-pagination a.pagination-item-label:focus-visible {
    border-color: var(--article-deep);
    background: var(--article-paper);
}

.refonte-rubrique .rubrique-pagination .pagination-item.active > .pagination-item-label,
.refonte-rubrique .rubrique-pagination .pagination-item.on > .pagination-item-label {
    border-color: var(--article-deep);
    background: var(--article-deep);
    color: #fff;
}

.refonte-rubrique .rubrique-documents ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.refonte-rubrique .rubrique-documents li {
    padding: 15px 17px;
    border: 1px solid var(--article-line);
    border-radius: 13px;
    background: #faf8f3;
}

.refonte-rubrique .rubrique-documents a {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: var(--article-deep);
    text-decoration: none;
}

.refonte-rubrique .rubrique-documents small {
    flex: 0 0 auto;
    color: var(--article-muted);
}

.refonte-rubrique .rubrique-documents .descriptif {
    margin-top: 7px;
    color: var(--article-muted);
}

.refonte-rubrique .rubrique-notes {
    margin-top: 28px;
    padding: 24px 28px;
    border: 1px solid var(--article-line);
    border-radius: 18px;
    background: #fff;
}


/* ==========================================================================
   Page d’accueil
   ========================================================================== */

:root {
    --home-ink: #24333a;
    --home-muted: #69777d;
    --home-paper: #f6f3ed;
    --home-deep: #193f47;
    --home-green: #5b8f7b;
    --home-coral: #d97862;
    --home-gold: #d7a746;
    --home-blue: #557f9b;
    --home-line: rgba(36, 51, 58, 0.12);
    --home-radius: 24px;
}

body.refonte-sommaire {
    background: var(--home-paper);
    color: var(--home-ink);
}

.refonte-sommaire .page {
    width: 100%;
    max-width: none;
    margin: 0;
    background: transparent;
}

.home-main {
    display: block;
    max-width: 1240px;
    margin: 0 auto;
    padding: 28px 28px 80px;
}

.home-main a {
    color: inherit;
}

.home-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    min-height: 430px;
    border-radius: 32px;
    overflow: hidden;
    background: var(--home-deep);
}

.home-hero::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -120px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
}

.home-hero__content {
    position: relative;
    z-index: 2;
    align-self: center;
    padding: 62px 30px 62px 64px;
    color: #fff;
}

.home-hero__eyebrow,
.home-kicker {
    display: inline-block;
    color: var(--home-coral);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.home-hero h1 {
    max-width: 760px;
    margin: 12px 0 16px;
    color: #fff;
    font-size: clamp(2.5rem, 5vw, 5.1rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.home-hero__lead {
    margin: 0 0 10px;
    color: #e7f0ed;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    font-weight: 700;
}

.home-hero__description {
    max-width: 660px;
    margin: 0;
    color: rgba(255, 255, 255, 0.74);
    font-size: 1.02rem;
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.18s ease;
}

.home-button:hover {
    transform: translateY(-2px);
}

.home-button--primary {
    background: var(--home-coral);
    color: #fff;
}

.home-button--ghost {
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.home-hero__visual {
    position: relative;
    min-height: 430px;
}

.home-hero__logo {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    width: 240px;
    height: 240px;
    padding: 28px;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%);
}

.home-logo {
    max-width: 100%;
    max-height: 100%;
}

.home-shape {
    position: absolute;
    border-radius: 50%;
}

.home-shape--one {
    top: 44px;
    right: 42px;
    width: 130px;
    height: 130px;
    background: var(--home-coral);
}

.home-shape--two {
    bottom: 38px;
    left: 18px;
    width: 170px;
    height: 170px;
    background: var(--home-gold);
}

.home-shape--three {
    right: 18px;
    bottom: 88px;
    width: 92px;
    height: 92px;
    background: var(--home-green);
}

.home-quick,
.home-news,
.home-sections,
.home-practical {
    margin-top: 72px;
}

.home-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 25px;
}

.home-section-heading h2,
.practical-card h2 {
    margin: 5px 0 0;
    color: var(--home-ink);
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 1.06;
    letter-spacing: -0.035em;
}

.home-section-heading > p {
    max-width: 470px;
    margin: 0;
    color: var(--home-muted);
}

.home-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.quick-card {
    position: relative;
    min-height: 220px;
    padding: 26px;
    border-radius: var(--home-radius);
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.quick-card::after {
    content: "→";
    position: absolute;
    right: 22px;
    bottom: 18px;
    font-size: 1.5rem;
    opacity: 0.78;
}

.quick-card:hover {
    transform: translateY(-5px);
}

.quick-card--coral { background: var(--home-coral); }
.quick-card--green { background: var(--home-green); }
.quick-card--gold { background: var(--home-gold); }
.quick-card--blue { background: var(--home-blue); }

.quick-card__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 28px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 1.35rem;
    font-weight: 900;
}

.quick-card__title {
    display: block;
    margin-bottom: 8px;
    font-size: 1.28rem;
    font-weight: 850;
}

.quick-card__text {
    display: block;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.45;
}

.home-news {
    padding: 46px;
    border-radius: 30px;
    background: #ebe6dc;
}

.home-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 28px;
}

.featured-news {
    border-radius: var(--home-radius);
    overflow: hidden;
    background: #fff;
}

.featured-news__media img {
    display: block;
    width: 100%;
    height: 330px;
    object-fit: cover;
}

.featured-news__body {
    padding: 28px;
}

.featured-news__label {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--home-coral);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.featured-news h3,
.news-item h3,
.section-card h3 {
    margin: 0;
    color: var(--home-ink);
    line-height: 1.18;
}

.featured-news h3 {
    font-size: clamp(1.45rem, 2.4vw, 2.35rem);
}

.featured-news h3 a,
.news-item h3 a {
    text-decoration: none;
}

.featured-news__intro {
    margin-top: 14px;
    color: var(--home-muted);
}

.home-text-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin-top: 18px;
    color: var(--home-deep);
    font-weight: 850;
    text-decoration: none;
}

.news-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.news-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 17px;
    padding: 20px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    transition: background 0.18s ease, transform 0.18s ease;
}

.news-item:hover {
    background: #fff;
    transform: translateX(3px);
}

.news-item__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 15px;
    background: var(--home-deep);
    color: #fff;
}

.news-item__date span {
    font-size: 1.28rem;
    font-weight: 900;
    line-height: 1;
    color: #fff;
}

.news-item__date small {
    margin-top: 3px;
    font-size: 0.67rem;
    text-transform: uppercase;
    color: #fff;
}

.news-item__category {
    display: block;
    margin-bottom: 5px;
    color: var(--home-coral);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.news-item h3 {
    font-size: 1.02rem;
}

.news-item p {
    margin: 7px 0 0;
    color: var(--home-muted);
    font-size: 0.9rem;
}

.section-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.section-card {
    display: flex;
    flex-direction: column;
    min-height: 290px;
    border: 1px solid var(--home-line);
    border-radius: var(--home-radius);
    overflow: hidden;
    background: #fff;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.section-card:hover {
    transform: translateY(-5px);
}

.section-card__image img {
    display: block;
    width: 100%;
    height: 165px;
    object-fit: cover;
}

.section-card__body {
    position: relative;
    flex: 1;
    padding: 24px;
}

.section-card__number {
    position: absolute;
    top: 20px;
    right: 22px;
    color: rgba(36, 51, 58, 0.16);
    font-size: 2rem;
    font-weight: 900;
}

.section-card h3 {
    max-width: calc(100% - 45px);
    font-size: 1.35rem;
}

.section-card p {
    margin: 10px 0 18px;
    color: var(--home-muted);
}

.section-card__arrow {
    color: var(--home-deep);
    font-weight: 850;
}

.home-practical {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 18px;
}

.practical-card {
    padding: 34px;
    border-radius: var(--home-radius);
}

.practical-card--search {
    background: #fff;
}

.practical-card--status {
    background: var(--home-deep);
    color: #fff;
}

.practical-card--status h2,
.practical-card--status .home-kicker {
    color: #fff;
}

.practical-card p {
    color: var(--home-muted);
}

.practical-card--status p {
    color: rgba(255, 255, 255, 0.72);
}

.practical-card form {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.practical-card input[type="search"],
.practical-card input[type="text"] {
    flex: 1;
    min-width: 0;
    min-height: 48px;
    padding: 0 15px;
    border: 1px solid var(--home-line);
    border-radius: 12px;
    background: #faf9f6;
}

.practical-card input[type="submit"],
.practical-card button {
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    background: var(--home-coral);
    color: #fff;
    font-weight: 850;
}

.practical-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.practical-links a {
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
}





/* Texte blanc uniquement sur les éléments à fond sombre */
.refonte-sommaire .home-hero__content,
.refonte-sommaire .home-hero__content h1,
.refonte-sommaire .home-button--primary,
.refonte-sommaire .home-button--ghost,
.refonte-sommaire .quick-card,
.refonte-sommaire .quick-card__title,
.refonte-sommaire .quick-card__icon,
.refonte-sommaire .practical-card--status,
.refonte-sommaire .practical-card--status h2,
.refonte-sommaire .practical-card--status .home-kicker,
.refonte-sommaire .practical-links a,
.refonte-sommaire .news-item__date,
.refonte-sommaire .news-item__date span,
.refonte-sommaire .news-item__date small,
.refonte-sommaire .site-nav__link.on {
    color: #fff;
}

/* Bouton du formulaire de recherche du sommaire */
.refonte-sommaire .practical-card--search .formulaire_recherche input.submit,
.refonte-sommaire .practical-card--search input[type="submit"] {
    flex: 0 0 auto;
    width: auto;
    min-width: 92px;
    min-height: 48px;
    margin: 0;
    padding: 0 22px;
    border: 0;
    border-radius: 12px;
    background: var(--home-coral);
    color: #ffffff;
    font-weight: 850;
    cursor: pointer;
}

.refonte-sommaire .practical-card--search .formulaire_recherche input.submit:hover,
.refonte-sommaire .practical-card--search .formulaire_recherche input.submit:focus-visible,
.refonte-sommaire .practical-card--search input[type="submit"]:hover,
.refonte-sommaire .practical-card--search input[type="submit"]:focus-visible {
    background: var(--home-deep);
    color: #ffffff;
}



/* Recherche du sommaire : champ et bouton sur une seule ligne */
.refonte-sommaire .practical-card--search .formulaire_recherche form {
    display: block;
    margin-top: 20px;
}

.refonte-sommaire .practical-card--search .formulaire_recherche form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.refonte-sommaire .practical-card--search .formulaire_recherche input[type="search"],
.refonte-sommaire .practical-card--search .formulaire_recherche input[type="text"] {
    width: 100%;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 0 15px;
    line-height: normal;
}

.refonte-sommaire .practical-card--search .formulaire_recherche input.submit,
.refonte-sommaire .practical-card--search .formulaire_recherche input[type="submit"] {
    width: auto;
    min-width: 72px;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 0 18px;
    align-self: center;
}


/* ==========================================================================
   Pages utilitaires
   ========================================================================== */

:root {
    --utility-surface: #fff;
    --utility-muted: #6f797d;
    --utility-deep: #244b46;
    --utility-coral: #d97a63;
    --utility-line: rgba(39, 52, 58, 0.13);
}

.refonte-utilitaire .utility-main { width: 100%; }
.refonte-utilitaire .utility-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    width: min(1180px, calc(100% - 56px));
    margin: 0 auto;
    padding: 28px 0 72px;
}
.refonte-utilitaire .utility-content { min-width: 0; }
.refonte-utilitaire .utility-hero,
.refonte-utilitaire .utility-section {
    margin: 0 0 24px;
    padding: 38px 44px;
    border: 1px solid var(--utility-line);
    border-radius: 22px;
    background: var(--utility-surface);
}
.refonte-utilitaire .utility-hero {
    background: #eef2ed;
    border-color: rgba(36, 75, 70, 0.16);
}
.refonte-utilitaire .utility-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--utility-coral);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.refonte-utilitaire .utility-hero h1 {
    margin: 0;
    color: var(--utility-deep);
    font-size: clamp(2.2rem, 5vw, 4.2rem);
    line-height: 1.02;
    letter-spacing: -.04em;
}
.refonte-utilitaire .utility-hero p {
    max-width: 700px;
    margin: 16px 0 0;
    color: var(--utility-muted);
    font-size: 1.08rem;
    line-height: 1.6;
}
.refonte-utilitaire .utility-search { margin-top: 24px; }
.refonte-utilitaire .utility-search form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}
.refonte-utilitaire .utility-search input[type="search"],
.refonte-utilitaire .utility-search input[type="text"] {
    width: 100%; height: 48px; min-height: 48px; margin: 0; padding: 0 15px;
}
.refonte-utilitaire .utility-search input[type="submit"] {
    width: auto; min-width: 72px; height: 48px; margin: 0; padding: 0 18px;
    border: 0; border-radius: 10px; background: var(--utility-deep); color: #fff; font-weight: 800;
}
.refonte-utilitaire .utility-section__heading {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--utility-line);
}
.refonte-utilitaire .utility-section__heading h2 { margin: 0; color: var(--utility-deep); font-size: 1.65rem; }
.refonte-utilitaire .utility-section__heading span {
    display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 10px;
    border-radius: 999px; background: var(--utility-coral); color: #fff; font-weight: 900;
}
.refonte-utilitaire .result-list { display: grid; gap: 12px; }
.refonte-utilitaire .result-card { padding: 20px 22px; border: 1px solid var(--utility-line); border-radius: 15px; background: #fff; }
.refonte-utilitaire .result-card__meta { margin: 0 0 5px; color: var(--utility-coral); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.refonte-utilitaire .result-card h3 { margin: 0; font-size: 1.18rem; }
.refonte-utilitaire .result-card h3 a { color: var(--utility-deep); text-decoration: none; }
.refonte-utilitaire .result-card p:last-child { margin: 9px 0 0; color: var(--utility-muted); }
.refonte-utilitaire .link-list { list-style: none; margin: 0; padding: 0; }
.refonte-utilitaire .link-list li + li { border-top: 1px solid var(--utility-line); }
.refonte-utilitaire .link-list a { display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; color: var(--utility-deep); font-weight: 750; text-decoration: none; }
.refonte-utilitaire .utility-pagination { margin-top: 22px; }

.refonte-archives .archive-year { margin-top: 30px; }
.refonte-archives .archive-year:first-child { margin-top: 0; }
.refonte-archives .archive-year > h2 { margin: 0 0 18px; color: var(--utility-deep); font-size: 2rem; }
.refonte-archives .archive-month { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 22px 0; border-top: 1px solid var(--utility-line); }
.refonte-archives .archive-month h3 { margin: 0; color: var(--utility-coral); font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.refonte-archives .archive-month ul { list-style: none; margin: 0; padding: 0; }
.refonte-archives .archive-month li { display: grid; grid-template-columns: 135px minmax(0,1fr); gap: 16px; padding: 8px 0; }
.refonte-archives .archive-month time { color: var(--utility-muted); font-size: .88rem; }
.refonte-archives .archive-month a { color: var(--utility-deep); font-weight: 700; text-decoration: none; }

.refonte-contact .contact-form .formulaire_spip { margin: 0; }
.refonte-contact .contact-form input[type="text"],
.refonte-contact .contact-form input[type="email"],
.refonte-contact .contact-form textarea { width: 100%; border: 1px solid var(--utility-line); border-radius: 11px; background: #fff; }
.refonte-contact .contact-form textarea { min-height: 180px; }
.refonte-contact .contact-form input[type="submit"],
.refonte-contact .contact-form button { border: 0; border-radius: 10px; background: var(--utility-deep); color: #fff; font-weight: 800; }


/* ==========================================================================
   Adaptations responsives et impression
   ========================================================================== */

@media (max-width: 1000px) {
.home-hero {
        grid-template-columns: 1fr 320px;
    }

    .home-hero__content {
        padding-left: 42px;
    }

    .home-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-news-layout {
        grid-template-columns: 1fr;
    }

    .section-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 940px) {
.site-header-refonte__inner {
        width: min(100% - 32px, 1240px);
        min-height: 72px;
    }

    .site-nav {
        display: none;
    }

    .site-header-refonte__select {
        display: block;
        width: min(270px, 48vw);
        margin-left: auto;
    }

.refonte-article .main {
        grid-template-columns: 1fr;
    }

    .refonte-article .aside {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
        width: 100%;
        max-width: none;
        margin: 0;
        min-width: 0;
        justify-self: stretch;
    }

    .refonte-article .aside > .aside-card {
        margin: 0;
    }

.refonte-auteur .auteur-layout {
        grid-template-columns: 1fr;
    }

.page_recherche .search-page__layout { grid-template-columns: 1fr; }

.refonte-rubrique .rubrique-layout {
        grid-template-columns: 1fr;
    }

    .refonte-rubrique .aside {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.refonte-utilitaire .utility-layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
/* fixer une largeur maximale de 100 % aux elements potentiellement problematiques */

    img,
    table,
    td,
    blockquote,
    code,
    pre,
    textarea,
    input,
    iframe,
    object,
    embed,
    video { max-width: 98% }

    /* conserver le ratio des images,necessaire car attribut height existant */

    img { height: auto }

    /* gestion des mots longs */

    textarea,
    table,
    td,
    th,
    code,
    pre,
    samp {
        word-wrap: break-word;
        /* cesure forcee */ }

    code,
    pre,
    samp {
        white-space: pre-line;
        /* passage a la ligne specifique pour les elements a chasse fixe */ }

.ajustable,
    img,
    video,
    iframe,
    object,
    embed {
        max-width: 100%;
        height: auto;
    }

    .cadre {
        width: auto;
        margin-inline: 0;
    }

.site-footer__inner {
        align-items: flex-start;
        flex-direction: column;
        width: min(100% - 32px, 1180px);
    }

    .site-footer__links {
        justify-content: flex-start;
    }

.refonte-article .main {
        padding: 20px 18px 52px;
    }

    .refonte-article .bloc_contenu {
        padding: 28px 24px;
        border-radius: 18px;
    }

    .refonte-article .cartouche h1,
    .refonte-article h1.h1 {
        display: block;
    }

    .refonte-article .aside {
        grid-template-columns: 1fr;
    }

.refonte-404 .error-main {
        min-height: auto;
        padding: 28px 0 52px;
    }

    .refonte-404 .error-card {
        padding: 42px 26px;
        border-radius: 22px;
    }

    .refonte-404 .error-code {
        top: -5px;
        right: 8px;
        font-size: 9rem;
    }

    .refonte-404 .error-search form,
    .refonte-404 .error-search .formulaire_spip {
        flex-direction: column;
    }

    .refonte-404 .error-search input[type="submit"],
    .refonte-404 .error-search input.submit,
    .refonte-404 .error-search button {
        width: 100%;
    }

.refonte-auteur .auteur-layout {
        width: min(100% - 36px, 1180px);
        padding-top: 20px;
    }

    .refonte-auteur .auteur-profile,
    .refonte-auteur .auteur-section {
        padding: 28px 24px;
        border-radius: 18px;
    }

    .refonte-auteur .auteur-profile__header {
        align-items: flex-start;
    }

    .refonte-auteur .auteur-profile__logo img {
        width: 96px;
        height: 96px;
    }

    .refonte-auteur .auteur-article-card {
        grid-template-columns: 1fr;
    }

    .refonte-auteur .auteur-article-card__image {
        min-height: 190px;
    }

.page_recherche .search-page__layout {
    width: min(100% - 36px, 1180px);
    padding-top: 20px;
  }
  .page_recherche .search-hero,
  .page_recherche .search-section,
  .page_recherche .search-empty {
    padding: 28px 24px;
    border-radius: 18px;
  }

.refonte-rubrique .rubrique-main {
        width: min(100% - 32px, 1180px);
        padding-top: 20px;
    }

    .refonte-rubrique .rubrique-hero {
        grid-template-columns: 1fr;
        padding: 34px 28px;
    }

    .refonte-rubrique .rubrique-hero__logo {
        display: none;
    }

    .refonte-rubrique .rubrique-section {
        padding: 27px 22px;
    }

    .refonte-rubrique .rubrique-grid {
        grid-template-columns: 1fr;
    }

    .refonte-rubrique .rubrique-article-card {
        grid-template-columns: 1fr;
    }

    .refonte-rubrique .rubrique-article-card__image {
        min-height: 190px;
    }

    .refonte-rubrique .aside {
        grid-template-columns: 1fr;
    }

.home-main {
        padding: 18px 16px 60px;
    }

    .home-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 24px;
    }

    .home-hero__content {
        padding: 42px 24px 28px;
    }

    .home-hero__visual {
        min-height: 250px;
    }

    .home-hero__logo {
        width: 170px;
        height: 170px;
    }

    .home-shape--one {
        top: 25px;
        right: 30px;
        width: 92px;
        height: 92px;
    }

    .home-shape--two {
        width: 120px;
        height: 120px;
    }

    .home-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .home-quick,
    .home-news,
    .home-sections,
    .home-practical {
        margin-top: 50px;
    }

    .home-quick-grid,
    .section-grid,
    .home-practical {
        grid-template-columns: 1fr;
    }

    .home-news {
        padding: 24px 16px;
        border-radius: 24px;
    }

    .featured-news__media img {
        height: 230px;
    }

    .news-item {
        grid-template-columns: 50px 1fr;
        padding: 15px;
    }

    .news-item__date {
        width: 50px;
        height: 50px;
    }

.refonte-utilitaire .utility-layout { width: min(100% - 36px, 1180px); padding-top: 20px; }
    .refonte-utilitaire .utility-hero, .refonte-utilitaire .utility-section { padding: 28px 24px; border-radius: 18px; }
    .refonte-archives .archive-month { grid-template-columns: 1fr; gap: 8px; }
    .refonte-archives .archive-month li { grid-template-columns: 110px minmax(0,1fr); }
}

@media (max-width: 480px) {
.site-header-refonte__name {
        display: none;
    }

    .site-header-refonte__select {
        width: calc(100% - 92px);
    }

.refonte-article .main {
        padding-inline: 12px;
    }

    .refonte-article .bloc_contenu {
        padding: 24px 18px;
    }

    .refonte-article .info-publi {
        display: block;
        line-height: 1.8;
    }

.refonte-auteur .auteur-layout {
        width: min(100% - 24px, 1180px);
    }

    .refonte-auteur .auteur-profile__header {
        display: block;
    }

    .refonte-auteur .auteur-profile__logo {
        margin-bottom: 18px;
    }

.page_recherche .search-page__layout { width: min(100% - 24px, 1180px); }
  .page_recherche .search-hero__form form > div { gap: 8px; }
  .page_recherche .search-hero__form input.submit,
  .page_recherche .search-hero__form input[type="submit"] {
    min-width: 64px;
    padding: 0 13px;
  }

.refonte-sommaire .practical-card--search .formulaire_recherche form > div {
        gap: 8px;
    }

    .refonte-sommaire .practical-card--search .formulaire_recherche input.submit,
    .refonte-sommaire .practical-card--search .formulaire_recherche input[type="submit"] {
        min-width: 62px;
        padding: 0 14px;
    }

.refonte-utilitaire .utility-layout { width: min(100% - 24px, 1180px); }
    .refonte-archives .archive-month li { grid-template-columns: 1fr; gap: 2px; }
}

@media print {
abbr[title]:after { content: " (" attr(title) ")" }

a,
    a:visited {
        color: #222222;
        text-decoration: underline; }
    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after { content: "" }

    /* Don't show links for images,or javascript/internal links */

pre,
    blockquote { page-break-inside: avoid }
    thead { display: table-header-group }
	
    /* css-discuss.incutio.com/wiki/Printing_Tables */
    tr,
    img { page-break-inside: avoid }

form { display: none; }

.page,
    .wrapper,
    .content {
        width: auto;
    }

    .aside,
    #spip-admin {
        display: none;
    }

.formulaire_spip { display: none; }

.pagination { display: none; }

a.spip_out:after,
	a.spip_url:after { content: " (" attr(href) ")"; }

.spip-admin,
	#spip-admin { display: none; }

abbr[title].published:after {
		content: "";
	}
	abbr[title].dtreviewed:after {
		content: "";
	}

/*	Ne pas imprimer */
	.spip-admin,
	.spip-admin-float,
	.spip-previsu {
		display: none;
	}
	.repondre,
	.formulaire_spip {
		display: none;
	}
	/* Souligner et expliciter les liens */
	a {
		color: #600;
		text-decoration: underline;
	}
	a.spip_out:after,
	a.spip_glossaire:after,
	a.spip_mail:after {
		display: inline;
		content: " [" attr(href) "]";
	}

.site-header-refonte,
    .aside,
    .site-footer {
        display: none;
    }
}

/*=============================================
                     CAPTCHA
===============================================*/

/* Cadre du captcha du formulaire de contact */
.captcha-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .7rem 1rem;
  /*width: fit-content;*/
  max-width: 100%;
  margin: .8rem auto 0;
  padding: .8rem 1rem;
  box-sizing: border-box;
  border: 1px solid #fff !important;
  box-shadow: none !important;
  border-radius: 3px;
  background: #ffffff;
}

/* Suppression des marges parasites sur les images */
.captcha-card img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0;
}

/* Image contenant l'addition */
.captcha-card img:nth-of-type(2) {
  max-height: 3.2rem;
}

/* Champ de réponse */
.captcha-card input[type="text"],
.captcha-card input[type="number"] {
min-width: 8rem;
  margin: 0;
  padding: .45rem .6rem;
  text-align: center;
  font-size: 1rem;
  background: #fff center bottom !important;
  border: 1px solid #D2D2D2 !important;
  border-radius: 3px !important;
  width: 100% !important;
  border-bottom: 4px solid #D2D2D2 !important;
  min-height: 54px !important;
  min-width: 156px;
}
.visually-hidden {
  display: none;
}
.captcha-card img:first-of-type {
  max-width: 8rem;
}
.saisie_captcha .captcha-center .captcha-vignette {
  border-radius: 3px !imporstant;
}
.saisie_captcha .captcha-center .captcha-vignette {
  padding: 6px 12px !important;
  border-radius: 3px !important;
  background: #fff !important;
  border: 0px solid #d2d2d2a3 !important;
}
.captcha-logo img {
	  display:none !important;
}
.saisie_captcha .captcha-logo {
  display: none !important;
}
input:focus::placeholder,
textarea:focus::placeholder {
  opacity: 0;
}
#formidable_contact_fichiers_1_0 {
  color: #2e3842;
}
.editer.saisie_captcha .captcha-card, .saisie_captcha .captcha-card {
  display: flex !important;
  gap: 10px 14px !important;
  padding: 14px !important;
  background: #fdfeff !important;
  flex-wrap: wrap !important;
  border: none !important;
  box-shadow: none !important;
  border-radius : 0 !important;  
}
