html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	background-color: rgb(248, 248, 248);
	margin: 0px;
	display: flex;
	font-family: "Montserrat", sans-serif;
	scroll-behavior: smooth;
	flex-direction: column;
}

.sub-body {
	width: 100%;
	margin: auto;
	flex: 1;
}

/* Liens balise a - Règles globales */
a {
	text-decoration: none;
	position: relative;
	display: inline-block;
	padding: 0;
	margin: 0;
}
/* Soulignement uniquement pour les liens du footer */
.footer-content a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 8px;
	width: 0;
	height: 2px;
	background-color: antiquewhite;
	transition: width 0.5s ease-in-out;
}

.footer-content a:hover::after {
	width: 100%;
}

/* HEADER */
.topnav {
	background-color: #333;
	overflow: hidden;
}

.topnav a {
	float: left;
	color: rgb(248, 248, 248);
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 17px;
}

/* Applique :hover sur les liens sauf celui qui est actif */
.topnav a:hover:not(.active) {
	background-color: rgb(248, 248, 248);
	color: black;
}

/* Lien actif avec une couleur différente */
.topnav a.active {
	background-color: rgb(248, 248, 248);
	color: black;
}

/* FOOTER */

.footer-content {
	background-color: #333;
	overflow: hidden;
	color: rgb(248, 248, 248);
	text-align: center;
}

.footer-content a {
	padding: 10px;
	text-decoration: none;
	color: rgb(248, 248, 248);
}

/* Title */
.title {
	font-family: "Montserrat";
	color: #333;
	text-align: center;
	transition: all 1s;
}

.title:hover {
	transition: all 0.2s;
	text-shadow: 0px 0px #333333, 2px 2px rgba(51, 51, 51, 0.25);
	font-weight: bolder;
}

/* ScrollBar */
body::-webkit-scrollbar {
	width: 0.6rem; /* width of the entire scrollbar */
}

body::-webkit-scrollbar-track {
	background: none; /* color of the tracking area */
}
body::-webkit-scrollbar-thumb {
	background-color: #555555; /* color of the scroll thumb */
	border-radius: 20px; /* roundness of the scroll thumb */
}
/* RESTE */

.projet {
	background-color: #f8f8f8;
	border-radius: 8px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	padding: 20px;
	text-align: center;
	transition: transform 0.2s ease-in-out;
}

.tilesprojets {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 20px;
	padding-bottom: 20px;
}

details {
	margin: 1em auto;
	width: 80%;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
}
summary {
	text-align: center;
	cursor: pointer;
	font-size: 1.2em;
	padding: 0.8em;
	list-style: none; /* Supprime le triangle par défaut sur certains navigateurs */
	outline: none;
}
summary::-webkit-details-marker {
	display: none;
}

.grid-container {
	display: grid;
	grid-template-columns: 1fr; /* Une seule colonne pour que chaque item occupe toute la ligne */
	gap: 10px; /* Espacement entre les cellules */
}
.section-item,
.result-item {
	display: flex;
	flex-direction: column; /* Les éléments à l'intérieur s'affichent sur des lignes séparées */
	align-items: stretch;
	padding: 10px;
	border-bottom: 1px solid #ccc;
	background-color: #fff;
}

.result-item h3 {
	margin: 0 0 5px;
	font-size: 1.1em;
}

.result-item p {
	margin: 0;
	font-size: 0.95em;
}

footer {
	position: relative !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	background-color: #333 !important;
	color: rgb(248, 248, 248) !important;
	text-align: center !important;
	padding: 10px 0 !important;
	z-index: 100 !important;
}
main.sub-body {
	padding-bottom: 72px; /* ou plus, selon la hauteur de votre footer */
}

.projet {
	perspective: 1000px;
	backface-visibility: hidden;
	background-color: rgb(226, 226, 226);
	transform-style: preserve-3d;
	will-change: transform;
}

.projet:hover {
	z-index: 2;
}

.projet-tilt {
	transition: transform 0.15s ease-out;
}

.details-hidden {
	opacity: 0;
	transition: opacity 0.5s ease;
}

.details-hidden p {
	text-align: justify;
	margin: 0 0 0.5em; /* 0 en haut, 0.5em en bas */
}

.details-hidden ul {
	margin: 0 0 1em; /* 1em d’espace après la liste */
	padding-left: 1.2em; /* indentation cohérente */
}

details {
	transition: all 0.3s ease;
	border: 1px solid #ccc;
	border-radius: 6px;
	background: white;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	overflow: hidden;
	will-change: height;
}

details[open] summary {
	border-bottom: 1px solid #eee;
}

details summary {
	cursor: pointer;
	padding: 1em;
	background: none;
	outline: none;
	list-style: none;
	user-select: none;
	font-weight: 600;
}

details summary::-webkit-details-marker {
	display: none;
}
