 /* Style général */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family:  GT Walsheim BAnQ, Arial, Helvetica, sans-serif;    
}

/* En-tête */
header {
	width: 100%;
	background-color: black;
	color: white;
	padding: 0;
}
#backBAnQ a {
	display: flex;
	align-items: stretch;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
#backBAnQ span.enteteText {
	text-transform: uppercase;
	white-space:  nowrap;
	color: white;
	font-size: 13px;
	letter-spacing: 1px;
	text-decoration: none;
}
#backBAnQ span.enteteLogo{
	font-size: 0;
}
#backBAnQ a:hover {
	opacity: .8;
}
#backBAnQ a:focus {
	border: 2px solid yellow;
}
.wrapperHeaderAppli {
	background-color: #36418D; /* Adapter la couleur de fond */
}
.headerAppli {
	max-width: 1342px;
	margin: 0 auto;
	padding: 24px 20px;
	color:#fff;
}
.titreAppli {
	font-size:54px;
	line-height:68px;
	font-weight:500;
}
.sousTitreAppli {
	font-size:24px;
	line-height:32px;
	font-weight:400;
} 

/* Main centré */
main {
	max-width: 1342px;
	min-height: 600px;
	margin: 0 auto;
	padding: 52px 20px;
}
main h1 {
	font-weight: 700;
	font-size: 42px;
	line-height: 48px;
	margin-bottom: 24px;
}
main h2 {
	font-weight: 700;
	font-size: 32px;
	line-height: 36px;
	margin-bottom: 18px;
}
main h3 {
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	margin: 16px 0;
}
main ul, 
main ol {
	margin: 12px 0;
	padding-left: 40px;
}
main p,
main li {
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	margin: 8px 0;
}
main p.chapo {
	font-weight: 600;
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 16px;
}
main ul li {
	list-style-type: square;
	margin: 4px 0 8px;
}
main a:link {
	color: #36418D;
	text-decoration: underline;
}
main a:visited {
	color: background: #6F14A0;
}
main a:hover {
	color: #36418D;
	text-decoration: none;
}

/* Lien Contenu principal - Lecteurs d'écran */
.sr-focusable {
	font-size:0;
	position: absolute;
}
.sr-focusable:focus {
	position: relative;
	font-size: 1rem;				
	display:inline-block;
	background-color: #fff; 
	padding: 10px 20px;
	border: 2px solid blue;
}

/* Icone Externe */
a.external::after {
	content: "";
	width: 13px;
	height: 13px;
	margin-left: 4px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='black' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	color: #000;
}
footer a.external::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
	color: #fff;
}
.header-section {
	padding: 20px;
	background-color: #f0f2fb;
	border-radius: 8px;
}
.header-section p {
	font-size: 18px;
	line-height: 24px;
}
details {
	border:1px solid #FFF;
	margin:12px 0; 
	border-radius: 8px;
}
details:open {
	border: 1px solid #f0f2fb;
}
details summary {
	font-size: 20px; 
	padding: 10px; 
	cursor: pointer;
}
details:open summary {
	background-color: #f0f2fb;
}
.text-section {
	margin: 12px 0;
	padding: 10px;
}

/* Footer collé au bas de la fenêtre */
footer {
	width: 100%;
	background-color: black;
	color: white;
	text-align: center;
	padding: 10px 0;
	margin-top: auto;
	font-size:.92rem;
}
.footer1,
.footer2,
.footer3 {
	max-width: 1342px;
	margin: 0 auto;
	padding: 12px 20px;
}
.footer1 {
	border-bottom: 1px solid #555556
}
.footer1 ul,
.footer2 ul { 
	list-style-type: none; 
	display:flex; 
	flex-wrap: wrap;
}
.footer1 ul {
	padding:20px 0;
	justify-content: flex-start;
	align-content: flex-start;
}
.footer2 ul {
	padding:8px 0 20px 0;
	justify-content: flex-end;
}
.footer1 li {
	display:block;
	width:20%;
	padding: 8px 4px 0;
	margin:10px 0 2px;
	text-align:left;
}
.footer2 li {
	display:block;
	padding: 4px;
}
.footer1 a:link, .footer1 a:visited,
.footer2 a:link, .footer2 a:visited {
	display:block;
	margin: 0 8px; 
	color: #fff; 
	text-decoration:none; 
}
.footer1 a:hover, .footer1 a:focus,
.footer2 a:hover, .footer2 a:focus {
	color: #fff; 
	text-decoration:underline;
}
.footer3 {
	display:flex; 
	align-items: flex-end;
	justify-content: space-between;
}
.footer3 svg {
	margin-left:12px;
	margin-right:12px;
}
/* Media-Queries */
@media (max-width: 768px) { 
	#backBAnQ span.enteteText {
		font-size:12px;
	}
	.footer1 li {
		width:32%; 
	}
	.footer2 ul {
		justify-content: center;
	}
	.footer3 {
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}
	.footerLogo {
		width:100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.footer3 p {
		margin: 24px 8px 24px 12px;
		text-align:left;
	}
}
@media (max-width: 576px) { 
	#backBAnQ a {
		gap: 8px;
	}
	#backBAnQ span.enteteText {
		font-size:11px;
	}
	.titreAppli {
		font-size:44px;
		line-height:56px;
	}
	.sousTitreAppli {
		font-size:18px;
		line-height:24px;
		font-weight:400;
	}
	.footer1 li,
	.footer2 li {
		width:100%; 
		text-align:left;
		margin: 4px 0;
	}
}
@media (max-width: 375px) { 
	#backBAnQ a {
		gap: 4px;
	}
	#backBAnQ span.enteteText {
		font-size:10px;
	}
}
/* Formulaire */
.wrapperBoite {
	padding: 20px 40px;
	border-radius: 8px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.wrapperBoite label {
	display: block;
	margin: 10px 0 5px 0;
	font-weight: 600;
}
.wrapperBoite input {
	width: 100%;
	padding: 8px;
	margin-bottom: 15px;
	border: 2px solid #A9B3DD;
	border-radius: 8px;
}
.flexBtn {
	margin-top:12px;
	display:flex;
	justify-content: space-between;
}
button.btn {
	padding: 10px 15px;
	border: 2px solid #36418D;
	border-radius: 8px;
	cursor: pointer;
	font-size: 16px;
}
button.btnPrimary {
	background: #36418D;
	color: #FFF;
}
button.btnSecondary {
	background: #FFF;
	color: #36418D;
}
button.btn:hover {
	border: 2px solid #A9B3DD;
	transition: color .3s ease-out;
}
button.btnPrimary:hover {
	background: #FFF;
	color: #36418D;
}
button.btnSecondary:hover {
	background: #36418D;
	color: #FFF;
}