/*
 * Lot 2 : épurer et moderniser le site public, sans refonte (branche front-epure-lot2).
 * Chargée après epure.css. Couleurs reprises de la charte : rouge #e40520, anthracite #323232.
 * Le bleu #4054a0 (catégories, agenda, conseil) garde sa couleur en attendant la décision sur la charte :
 * seules ses formes changent.
 */

/*------------------------------------------------ TITRES DE PAGE */
.content h1{
	font-size:24px;
	line-height:1.25;
	letter-spacing:.01em;
	margin-bottom:32px;
}

/*------------------------------------------------ BOUTONS */
/* Boutons secondaires : filet fin au lieu du cadre noir de 3 px */
.swiper-2 .article .my-content .link,
.home .actu-home .swiper-2 .article .my-content .link,
.listing-actu .listing .article .txt .link-actu,
a.bt-facturation-formulaire{
	height:auto;
	line-height:20px;
	padding:12px 48px 12px 20px;
	border-width:1.5px;
	font-size:12px;
	letter-spacing:.08em;
	transition:background-color .2s, color .2s, border-color .2s;
}
/* Boutons d'action : rouge plein (Envoyer, Télécharger le PDF) */
.form-contact .valid button,
.p-article .left-col .dl,
.page-carte .pres-centre .dl{
	height:auto;
	line-height:20px;
	padding:13px 52px 13px 22px;
	border:1.5px solid #e40520;
	background:#e40520 url(../images/puce-fleche-w.png) 90% center no-repeat;
	color:#fff;
	font-size:12px;
	letter-spacing:.08em;
	transition:background-color .2s, border-color .2s;
}
.form-contact .valid button:hover,
.p-article .left-col .dl:hover,
.page-carte .pres-centre .dl:hover{
	background:#323232 url(../images/puce-fleche-w.png) 90% center no-repeat;
	border-color:#323232;
	color:#fff;
}
/* Agenda « Plus d'infos » : même forme, couleur bleue conservée */
.more{
	padding:11px 20px;
	border-width:1.5px;
	font-size:12px;
	letter-spacing:.08em;
	transition:background-color .2s, color .2s;
}

/*------------------------------------------------ CARTES : filet fin au lieu des cadres rosés de 3 px */
.home .info-home .multiple-info{
	border:1px solid #e7e1df;
}
.swiper-2 .article,
.swiper-2 .swiper-slide-active .article,
.home .actu-home .swiper-slide .article{
	border:1px solid #e7e1df;
}
.contact .map-contact .coord{
	border:1px solid #e7e1df;
}
.page-carte .g-galerie-right,
.bloc-map .left-col{
	border-width:1px;
	border-color:#e7e1df;
}
/* Étiquettes des tuiles de l'accueil : texte en petites capitales au lieu des pavés noirs */
.home .info-home .multiple-info .article .cat,
.home .info-home .bg-color .cat{
	background:none;
	color:#e40520;
	font-size:12px;
	font-weight:600;
	letter-spacing:.12em;
	height:auto;
	line-height:1.2;
	padding:0;
}
.home .info-home .bg-color .cat{
	color:#fff;
	top:53px;
}

/*------------------------------------------------ COMMUNIQUÉS : liste compacte */
.listing-actu .listing{
	max-width:1000px;
}
.listing-actu .listing .year{
	font-size:20px;
	line-height:1.3;
	font-weight:600;
	color:#323232;
	margin:36px 0 0;
	padding-bottom:10px;
	border-bottom:1px solid #e7e1df;
}
.listing-actu .listing .article,
.listing-actu .listing .article.nofigure,
.listing-actu .listing .article.nofigure-left,
.listing-actu .listing .article.nofigure-right{
	display:grid;
	grid-template-columns:200px 1fr;
	gap:0 28px;
	align-items:start;
	float:none;
	clear:both;
	width:auto;
	max-width:none;
	min-height:0;
	margin:0;
	padding:20px 0;
	border:none;
	border-bottom:1px solid #e7e1df;
}
.listing-actu .listing .article.clearfix:after{
	display:none;
}
.listing-actu .listing .article .figure,
.listing-actu .listing .article.nofigure:before{
	grid-column:1;
	grid-row:1;
	aspect-ratio:2 / 1;
	overflow:hidden;
	background:#fff;
	outline:1px solid #efeae8;
	outline-offset:-1px;
}
.listing-actu .listing .article .figure{
	float:none;
	width:auto;
}
.listing-actu .listing .article.nofigure:before{
	content:"";
	background:#f3efee url(../images/logo-m.png) center / 34px auto no-repeat;
}
/* Image entière (pas de recadrage) : les visuels qui ne sont pas au format 2:1 gardent leur texte */
.listing-actu .listing .article .figure img{
	width:100%;
	height:100%;
	object-fit:contain;
	transition:transform .4s ease;
}
.listing-actu .listing .article:hover .figure img{
	transform:scale(1.04);
}
.listing-actu .listing .article .txt,
.listing-actu .listing .article.nofigure .txt{
	grid-column:2;
	float:none;
	width:auto;
	padding:0;
}
.listing-actu .listing .article .txt .date{
	display:inline-block;
	margin:0 10px 0 0;
	font-size:13px;
	line-height:22px;
	color:#828282;
	vertical-align:middle;
}
.listing-actu .listing .article .txt .my-cat{
	display:inline-flex;
	flex-wrap:wrap;
	gap:6px;
	margin:0;
	vertical-align:middle;
}
.listing-actu .listing .article .txt .my-cat a{
	float:none;
	height:auto;
	line-height:18px;
	margin:0;
	padding:1px 8px;
	border-width:1px;
	font-size:10px;
	letter-spacing:.04em;
}
.listing-actu .listing .article .txt .my-txt{
	margin-top:6px;
}
.listing-actu .listing .article .txt .my-txt h3,
.listing-actu .listing .article .txt .my-txt h3 a{
	font-size:17px;
	line-height:1.35;
	font-weight:500;
	color:#323232;
	text-transform:none;
	margin-bottom:6px;
	transition:color .2s;
}
.listing-actu .listing .article:hover .txt .my-txt h3 a{
	color:#e40520;
}
.listing-actu .listing .article .txt .my-txt p{
	font-size:14px;
	line-height:1.55;
	color:#6b6b6b;
}
/* Listes de documents (présentations, informations réglementées, assemblées) : pas de vignette,
   une petite icône de document à la place du pavé gris */
.listing-actu:not(.liste-communiques) .listing .article,
.listing-actu:not(.liste-communiques) .listing .article.nofigure,
.listing-actu:not(.liste-communiques) .listing .article.nofigure-left,
.listing-actu:not(.liste-communiques) .listing .article.nofigure-right{
	grid-template-columns:40px 1fr;
	gap:0 18px;
}
.listing-actu:not(.liste-communiques) .listing .article.nofigure:before{
	aspect-ratio:auto;
	width:40px;
	height:40px;
	outline:none;
	border-radius:4px;
	background:#fbf1f2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e40520' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 13h6M9 17h4'/%3E%3C/svg%3E") center / 20px auto no-repeat;
}
.listing-actu:not(.liste-communiques) .listing .article .txt .my-txt .link-release{
	font-size:13px;
	line-height:1.5;
	color:#6b6b6b;
}

/* Le titre et l'image mènent déjà au communiqué : plus de gros bouton dans chaque ligne */
.listing-actu .listing .article .txt .link-actu{
	display:none;
}
.listing-actu .voir-plus{
	text-align:center;
	margin-top:36px;
}
.listing-actu .voir-plus button{
	font-family:'Poppins', arial, sans-serif;
	font-size:12px;
	font-weight:bold;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#323232;
	background:#fff;
	border:1.5px solid #323232;
	padding:12px 28px;
	cursor:pointer;
	transition:background-color .2s, color .2s;
}
.listing-actu .voir-plus button:hover{
	background:#323232;
	color:#fff;
}
.listing-actu .voir-plus[hidden]{
	display:none;
}

/*------------------------------------------------ COMMUNIQUÉ : texte et articles associés */
.article-page .entete p,
.article-page .entete ul li{
	font-size:15px;
	line-height:1.65;
}
.article-page .entete .parag-strong{
	font-size:18px;
	line-height:1.5;
}
.p-article .right-col .article-asso ul li a{
	border:1px solid #e7e1df;
	background:#fff;
	transition:box-shadow .2s, border-color .2s;
}
.p-article .right-col .article-asso ul li a:hover{
	border-color:#d6cbc8;
	box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.p-article .right-col .article-asso ul li a img{
	aspect-ratio:2 / 1;
	object-fit:cover;
}
.p-article .right-col .article-asso ul li a .txt{
	position:static;
	width:auto;
	background:none;
	color:#323232;
	padding:14px 18px 16px;
}
.p-article .right-col .article-asso ul li a .txt .date{
	font-size:12px;
	color:#828282;
}
.p-article .right-col .article-asso ul li a .txt .ctnt{
	font-size:15px;
	line-height:1.4;
	font-weight:500;
}

/*------------------------------------------------ PAGES DE CONTENU */
/* Liens saisis dans le BO avec le bleu par défaut de l'éditeur (#0000ff) : rouge de la charte */
section.content a[style*="#0000ff"],
section.content a[style*="rgb(0, 0, 255)"],
section.content [style*="color: #0000ff"]{
	color:#e40520 !important;
	text-underline-offset:3px;
}
section.content a[style*="#0000ff"]:hover,
section.content a[style*="rgb(0, 0, 255)"]:hover{
	color:#323232 !important;
}
/* Bandeau vidéo (page Identité) : même largeur que les bandeaux photo du lot 1 */
.marque .banner:not(.banner-photo){
	max-width:1200px;
	margin:0 auto;
}
@media only screen and (max-width: 1200px){
	.marque .banner:not(.banner-photo){
		width:94%;
	}
}

/*------------------------------------------------ AGENDA FINANCIER */
.agenda .result-agenda{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;
}
.agenda .result-agenda.clearfix:after{
	display:none;
}
.agenda .result-agenda{
	margin-bottom:28px;
}
.agenda .result-agenda .article{
	float:none;
	width:auto;
	height:auto;
	min-height:280px;
	margin:0;
	padding:28px 28px 26px;
	border:1px solid #e7e1df;
	text-align:left;
	display:flex;
	flex-direction:column;
	transition:box-shadow .2s, border-color .2s;
}
.agenda .result-agenda .article.past{
	display:none;
}
.agenda .result-agenda .article:hover{
	border-color:#d6cbc8;
	box-shadow:0 6px 18px rgba(0,0,0,.07);
}
/* La date en avant : petite pastille rouge en haut de la carte */
.agenda .result-agenda .article .date{
	align-self:flex-start;
	font-size:14px;
	line-height:1;
	color:#fff;
	background:#e40520;
	padding:8px 12px;
	margin-bottom:18px;
}
.agenda .result-agenda .article h2{
	height:auto;
	font-size:20px;
	line-height:1.3;
	color:#323232;
	margin-bottom:10px;
}
.agenda .result-agenda .article p.embargo{
	margin:0 0 16px;
	color:#828282;
}
.agenda .result-agenda .article .more{
	margin-top:auto;
	align-self:flex-start;
}

/*------------------------------------------------ CONSEIL D'ADMINISTRATION ET COMITÉS */
.comite .list-comite .perso .txt{
	background:#fff;
	border:1px solid #e7e1df;
	min-height:118px;
	padding:22px 56px 22px 24px;
	transition:box-shadow .2s, border-color .2s;
}
.comite .list-comite .perso:hover .txt{
	border-color:#d6cbc8;
	box-shadow:0 6px 18px rgba(0,0,0,.07);
}
.comite .list-comite .perso .txt .nom{
	font-size:15px;
	letter-spacing:.02em;
}
.comite .list-comite .perso .txt .poste{
	margin-top:4px;
	color:#6b6b6b;
}
/* Bouton « + » : petit rond discret (couleur bleue conservée) */
.comite .list-comite .perso .plus{
	width:32px;
	height:32px;
	right:12px;
	bottom:12px;
	border-radius:50%;
	background-position:center;
	background-size:14px auto;
}

/*------------------------------------------------ MOBILE */
@media only screen and (max-width: 820px){
	.agenda .result-agenda{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	.home .actu-home .swiper-slide .article .my-content{
		border:none;
		border-top:1px solid #e7e1df;
	}
}
@media only screen and (max-width: 640px){
	.content h1{
		font-size:18px;
		margin-bottom:22px;
	}
	.listing-actu .listing .article,
	.listing-actu .listing .article.nofigure,
	.listing-actu .listing .article.nofigure-left,
	.listing-actu .listing .article.nofigure-right{
		grid-template-columns:112px 1fr;
		gap:0 14px;
		padding:16px 0;
	}
	.listing-actu .listing .article .txt .my-txt h3,
	.listing-actu .listing .article .txt .my-txt h3 a{
		font-size:15px;
	}
	.listing-actu .listing .article .txt .my-txt p{
		display:none;
	}
	.agenda .result-agenda{
		grid-template-columns:1fr;
		gap:16px;
	}
	.agenda .result-agenda .article{
		min-height:0;
	}
}
