html, body{
	padding:0px;
	margin:0px;
	font-family: 'Karla', sans-serif;
	padding-top:10px;
	background-color: #ffffff;
}
body * {
	margin:0;
	padding:0;
}

/* ===== MAIN CONTENT - POSITIONNÉ CORRECTEMENT SOUS LE TOP FIXE ===== */
body > div[style*="display: flex"] {
	margin-top: 110px;
	clear: both;
	position: relative;
	z-index: 1;
}

/* Mobile : améliorer l'affichage du main */
@media (max-width: 768px) {
	body > div[style*="display: flex"] {
		margin-top: 0;
		width: 100%;
	}
}

@media (max-width: 480px) {
	body > div[style*="display: flex"] {
		margin-top: 0;
		width: 100%;
		padding: 0 5px;
		box-sizing: border-box;
	}
}

nav { 
	margin-top: 10px;
	margin-left: 0px;
	display: flex;
	justify-content: center;
	width: 100%;
	position: relative;
	z-index: 10001;
}

nav a {
	background:#6580B6;
	color:#FFF;
	min-width:140px;
	transition: background 0.5s, color 0.5s, transform 0.5s;
	margin:0px 4px 4px 0px;
	padding:12px 20px;
	box-sizing:border-box;
	border-radius:3px;
	box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
	position:relative;
	text-decoration: none;
}

nav a:hover:before {
	content: '';
	top:0;left:0;
	position:absolute;
	background:rgba(0, 0, 0, 0.2);
	width:100%;
	height:100%;
}

/* Hamburger Menu Button */
.hamburger {
	display: flex;
	flex-direction: column;
	cursor: pointer;
	gap: 5px;
	padding: 8px;
	background: #6580B6;
	border-radius: 3px;
	border: none;
	width: fit-content;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 12px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10000;
}

.hamburger span {
	width: 25px;
	height: 3px;
	background-color: #FFF;
	border-radius: 3px;
	transition: 0.3s;
}

.hamburger.active span:nth-child(1) {
	transform: rotate(45deg) translate(8px, 8px);
}

.hamburger.active span:nth-child(2) {
	opacity: 0;
}

.hamburger.active span:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -7px);
}

/* Responsive menu */
@media (max-width: 768px) {
	.hamburger {
		position: static;
		transform: none;
		display: flex;
		margin: 0 auto;
	}

	nav {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	nav > menu {
		position: fixed;
		flex-direction: column;
		background: #6580B6;
		top: 150px;
		left: 50%;
		transform: translateX(-50%);
		width: 70%;
		max-width: 280px;
		display: none;
		z-index: 1000;
		border-radius: 8px;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
		overflow: hidden;
	}

	nav > menu.active {
		display: flex;
	}

	nav > menu > menuitem {
		width: 100%;
	}

	nav > menu > menuitem > a {
		margin: 0;
		border-radius: 0;
		box-shadow: none;
		border-bottom: 1px solid rgba(255,255,255,0.1);
		white-space: nowrap;
		display: block;
	}

	nav > menu > menuitem:first-child > a {
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
	}

	nav > menu > menuitem:last-child > a {
		border-bottom: none;
		border-bottom-left-radius: 8px;
		border-bottom-right-radius: 8px;
	}

	nav > menu > menuitem > menu {
		position: static;
		display: none;
		flex-direction: column;
		background: #5169A0;
		width: 100%;
	}

	nav > menu > menuitem:hover > menu {
		display: flex;
	}
}

/* Tablette */
@media (min-width: 769px) and (max-width: 1023px) {
	.hamburger {
		position: static !important;
		transform: none !important;
		left: auto !important;
		top: auto !important;
		margin: 0 auto !important;
	}
}

/* Mobile petit écran */
@media (max-width: 480px) {
	html, body {
		padding-top: 10px;
	}

	.hamburger {
		top: 8px;
		padding: 6px;
	}

	.hamburger span {
		width: 20px;
		height: 2px;
	}

	nav > menu {
		top: 110px;
		width: 90vw;
	}

	nav > menu > menuitem > a {
		padding: 10px 15px;
		min-width: 120px;
		font-size: 0.9rem;
	}
}

/* Desktop grand écran */
@media (min-width: 1024px) {
	html, body {
		padding-top: 20px;
	}

	nav a {
		min-width: 150px;
		padding: 14px 24px;
		font-size: 1.05rem;
	}

	nav > menu {
		top: 80px;
	}
}
