/* ================================
	 Thème clair corporate 99Global
================================ */
:root {
	--bg: #ffffff;					/* fond principal */
	--surface: #ffffff;		 /* cartes / panneaux */
	--surface-2: #f8f9fa;	 /* header / footer */
	--text: #1f2937;				/* gris anthracite */
	--muted: #6b7280;			 /* texte secondaire */
	--link: #0b5cab;				/* bleu corporate */
	--border: #e5e7eb;			/* gris clair */
	--accent: #111827;			/* titres */
	--focus: #2563eb;			 /* focus bleu visible */

	--maxw: 78ch;
	--radius: 10px;
	--shadow: 0 4px 12px rgba(0,0,0,.05);
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
							 Arial, "Noto Sans", sans-serif;
	color: var(--text);
	background: var(--bg);
	line-height: 1.6;
}

/* ===== Layout ===== */
header[role="banner"],
main[role="main"],
footer[role="contentinfo"] {
	width: min(100%, calc(var(--maxw) + 2rem));
	margin: 0 auto;
	padding: 1rem;
}

header[role="banner"] {
	padding-top: 2rem;
	padding-bottom: 1rem;
	background: var(--surface-2);
	border-bottom: 1px solid var(--border);
	border-radius: 0 0 12px 12px;
}

main[role="main"] { padding-top: .75rem; padding-bottom: 2rem; }

footer[role="contentinfo"] {
	margin-top: 2rem;
	border-top: 1px solid var(--border);
	background: var(--surface-2);
	border-radius: 12px;
	padding: 1.25rem 1rem 2rem;
	color: var(--muted);
}

/* ===== Titres & texte ===== */
h1, h2 {
	line-height: 1.2;
	margin: 0 0 .5rem 0;
	letter-spacing: -0.015em;
}

h1 {
	font-size: clamp(1.8rem, 2.2vw + 1rem, 2.3rem);
	font-weight: 800;
	color: var(--accent);
	margin-bottom: .25rem;
}

h2 {
	font-size: clamp(1.2rem, 1.1vw + .95rem, 1.45rem);
	font-weight: 700;
	margin-top: 1.25rem;
}

p { margin: 0 0 1rem 0; }
strong { font-weight: 700; }

/* ===== Header & nav ===== */
header[role="banner"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

header[role="banner"] h1 {
	font-size: 1.55rem;
	margin: 0;
}

header nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.25rem;
}

header nav a {
	text-decoration: none;
	font-weight: 600;
	color: var(--text);
	padding: .4rem .6rem;
	border-radius: 6px;
	transition: background .2s ease;
}

header nav a:hover {
	background: var(--border);
}

header nav a:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}

header nav a[aria-current="page"] {
	color: var(--link);
	text-decoration: underline;
}

@media (max-width: 600px) {
	header[role="banner"] { flex-direction: column; align-items: flex-start; }
	header nav ul { flex-direction: column; gap: .5rem; }
	header nav a { display: block; }
}

/* ===== Sections en cartes ===== */
main section {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1rem 1.25rem;
	margin: 1rem 0;
	box-shadow: var(--shadow);
}

main section > h2 { margin-top: 0; }

ul { margin: .35rem 0 1rem 1.25rem; padding: 0; }
li { margin: .25rem 0; }

/* ===== Liens ===== */
a {
	color: var(--link);
	text-underline-offset: 2px;
	text-decoration-thickness: 1.5px;
}
a:hover { text-decoration-thickness: 2px; }

/* ===== Focus ===== */
:focus { outline: none; }
:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 3px;
	border-radius: 6px;
}

/* ===== Footer nav ===== */
footer nav {
	display: inline-flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin-bottom: .5rem;
}
footer nav a {
	color: inherit;
	text-decoration: underline;
}
footer nav a[aria-current="page"] {
	font-weight: 700;
	text-decoration-thickness: 2px;
}
footer nav a + a::before {
	content: "·";
	margin: 0 .5rem 0 .25rem;
	color: var(--muted);
}
