main {
	min-height: calc(100vh - 240px);
}

/* --- Mise en page globale --- */
#generalConditions {
	max-width: 1000px;
	margin: 2rem auto;
	padding: 2rem;
	line-height: 1.6;
	font-size: 1rem;
	font-family: "Segoe UI", Roboto, sans-serif;
	color: #333;
	background: #fff;
}

/* --- Titres --- */
#generalConditions h1 {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	text-align: center;
	color: #222;
}

#generalConditions h2 {
	font-size: 1.4rem;
	margin-top: 2rem;
	margin-bottom: 1rem;
	color: #004080;
	border-left: 4px solid #004080;
	padding-left: 0.6rem;
}

#generalConditions h3 {
	font-size: 1.2rem;
	margin-top: 1.5rem;
	margin-bottom: 0.8rem;
	color: #0055a5;
}

#generalConditions h4 {
	font-size: 1.05rem;
	margin-top: 1rem;
	margin-bottom: 0.6rem;
	font-weight: 600;
	color: #333;
}

/* --- Paragraphes & listes --- */
#generalConditions p {
	margin-bottom: 1rem;
	text-align: justify;
}

#generalConditions ul {
	margin: 0.5rem 0 1rem 1.5rem;
	padding-left: 1rem;
	list-style: disc;
}

#generalConditions ol {
	margin: 0.5rem 0 1rem 1.5rem;
	padding-left: 1.2rem;
}

/* --- Sommaire --- */
#sommaire {
	background: #fefefe;
	border: 1px solid #dce6f5;
	padding: 2rem;
	margin: 2rem 0;
	border-radius: 10px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

/* Titre du sommaire */
#sommaire h2 {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 700;
	color: #003366;
	text-align: center;
	border-bottom: 2px solid #e6effc;
	padding-bottom: 0.5rem;
}

/* Liste numérotée personnalisée */
#sommaire ol {
	position: relative;
	height: 100%;
	list-style: none; /* supprime la numérotation par défaut */
	padding-left: 0;
	margin: 0;
	counter-reset: section; /* compteur personnalisé */
}

#sommaire li {
	position: relative;
	margin: 0.4rem 0;
	padding-left: 2.2rem; /* espace pour le numéro */
	height: 1.6rem;
	line-height: 1.6rem;

}

#sommaire li::before {
	counter-increment: section;
	content: counter(section) ".";
	position: absolute;
	top: 4px;
	left: 15px;
	font-weight: 600;
	color: #004080;
	font-size: 0.95rem;
}

/* Liens */
#sommaire a {
	display: inline-block;
	width: 100%;
	text-decoration: none;
	color: #004080;
	padding: 0.3rem 0.4rem;
	border-radius: 5px;
	transition: all 0.2s ease;
}

#sommaire a:hover {
	background: #f0f6ff;
	color: #0077cc;
	padding-left: 0.6rem;
	text-decoration: underline;
}

/* --- Accessibilité : lien retour haut de page --- */
.back-to-top {
	display: inline-block;
	margin-top: 1.5rem;
	font-size: 0.9rem;
	text-decoration: none;
	color: #004080;
}

.back-to-top:hover {
	text-decoration: underline;
	color: #0077cc;
}