/******************** Reset ********************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

*, ::after, ::before {
	box-sizing: border-box;
}

/******************** Typography ********************/
body{
	font-size: 16px;
	line-height: 1.6;
}

p { margin-bottom: 1rem; }

h1, h2, h3, h4, h5, h6 {
	line-height: 1.2;
	margin-bottom: 0.6em;
	font-weight: 400;
	font-style: normal;
}

h1 { font-size: clamp(2rem, 4vw + 1rem, 3rem); }
h2 { font-size: clamp(1.75rem, 3vw + 0.5rem, 2.5rem); }
h3 { font-size: clamp(1.5rem, 2.5vw + 0.25rem, 2rem); }
h4 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
h5 { font-size: clamp(1.125rem, 1.5vw, 1.25rem); }
h6 { font-size: 1rem; }

/******************** Form ********************/

/******************** Buttons ********************/

/******************** Template ********************/

/******************** Grid ********************/
/* === CONTAINERS === */

.container {
	width: 100%;
	margin: 0 auto;
	padding: 0 16px;
}

.container-fluid {
	width: 100%;
	margin: 0 auto;
	padding: 0 16px;
}

.row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}

.row > * {
	padding: 0 15px;
}

.col { flex: 1 0 0%; }
.col-auto { flex: 0 0 auto; width: auto; }

.col-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-3 { flex: 0 0 25%; max-width: 25%; }
.col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
.col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }

.justify-content-start { justify-content: flex-start; }
.justify-content-end { justify-content: flex-end; }
.justify-content-center { justify-content: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-around { justify-content: space-around; }
.justify-content-evenly { justify-content: space-evenly; }

@media (min-width: 576px) {
	.container { max-width: 540px; padding: 0 20px; }
	.container-fluid { padding: 0 20px; }
	.col-sm { flex: 1 0 0%; }
	.col-sm-auto { flex: 0 0 auto; width: auto; }
	.col-sm-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.col-sm-3 { flex: 0 0 25%; max-width: 25%; }
	.col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.col-sm-6 { flex: 0 0 50%; max-width: 50%; }
	.col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.col-sm-9 { flex: 0 0 75%; max-width: 75%; }
	.col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 768px) {
	.container { max-width: 720px; padding: 0 24px; }
	.container-fluid { padding: 0 24px; }
	.col-md { flex: 1 0 0%; }
	.col-md-auto { flex: 0 0 auto; width: auto; }
	.col-md-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.col-md-3 { flex: 0 0 25%; max-width: 25%; }
	.col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.col-md-6 { flex: 0 0 50%; max-width: 50%; }
	.col-md-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.col-md-9 { flex: 0 0 75%; max-width: 75%; }
	.col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.col-md-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 992px) {
	.container { max-width: 960px; padding: 0 32px; }
	.container-fluid { padding: 0 32px; }
	.col-lg { flex: 1 0 0%; }
	.col-lg-auto { flex: 0 0 auto; width: auto; }
	.col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.col-lg-3 { flex: 0 0 25%; max-width: 25%; }
	.col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.col-lg-6 { flex: 0 0 50%; max-width: 50%; }
	.col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.col-lg-9 { flex: 0 0 75%; max-width: 75%; }
	.col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 1200px) {
	.container { max-width: 1140px; padding: 0 40px; }
	.container-fluid { padding: 0 40px; }
	.col-xl { flex: 1 0 0%; }
	.col-xl-auto { flex: 0 0 auto; width: auto; }
	.col-xl-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.col-xl-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.col-xl-3 { flex: 0 0 25%; max-width: 25%; }
	.col-xl-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.col-xl-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.col-xl-6 { flex: 0 0 50%; max-width: 50%; }
	.col-xl-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.col-xl-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.col-xl-9 { flex: 0 0 75%; max-width: 75%; }
	.col-xl-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.col-xl-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.col-xl-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 1400px) {
	.container { max-width: 1320px; padding: 0 48px; }
	.container-fluid { padding: 0 48px; }
	.col-xxl { flex: 1 0 0%; }
	.col-xxl-auto { flex: 0 0 auto; width: auto; }
	.col-xxl-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.col-xxl-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.col-xxl-3 { flex: 0 0 25%; max-width: 25%; }
	.col-xxl-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.col-xxl-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.col-xxl-6 { flex: 0 0 50%; max-width: 50%; }
	.col-xxl-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.col-xxl-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.col-xxl-9 { flex: 0 0 75%; max-width: 75%; }
	.col-xxl-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.col-xxl-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.col-xxl-12 { flex: 0 0 100%; max-width: 100%; }
}


/* =============================================================
   INTERLANGUES – Design System
   Swiss Design: Épuré, Moderne, Fonctionnel
   Palette: #e8422b / #111111 / #ffffff
   Typo: Raleway (titres) / Nunito (corps)
   ============================================================= */

/* ===== DESIGN TOKENS ===== */
:root {
	--primary:        #e8422b;
	--primary-dark:   #c4301a;
	--primary-alpha:  rgba(232, 66, 43, 0.08);
	--black:          #111111;
	--black-soft:     #1e1e1e;
	--white:          #ffffff;
	--gray-lightest:  #f8f8f8;
	--gray-light:     #f2f2f2;
	--gray-mid:       #e0e0e0;
	--gray:           #888888;
	--gray-dark:      #555555;

	--font-heading:  'Raleway', sans-serif;
	--font-body:     'Nunito', sans-serif;

	--nav-h:         72px;
	--radius:        3px;
	--radius-md:     6px;

	--ease:          cubic-bezier(0.4, 0, 0.2, 1);
	--transition:    0.28s var(--ease);
	--transition-lg: 0.5s var(--ease);

	--shadow-sm:  0 2px 8px rgba(0,0,0,0.06);
	--shadow:     0 4px 20px rgba(0,0,0,0.08);
	--shadow-lg:  0 12px 48px rgba(0,0,0,0.12);
	--shadow-xl:  0 24px 80px rgba(0,0,0,0.18);
}

/* ===== BASE ===== */
html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: var(--font-body);
	font-weight: 400;
	color: var(--black);
	background-color: var(--white);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 800;
	letter-spacing: -0.02em;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--transition);
}

img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ===== BUTTONS ===== */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 28px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.82rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	border: 2px solid transparent;
	border-radius: var(--radius);
	cursor: pointer;
	transition: background var(--transition),
				border-color var(--transition),
				color var(--transition),
				transform var(--transition),
				box-shadow var(--transition);
	text-decoration: none;
	white-space: nowrap;
	line-height: 1;
}

.btn i { font-size: 1rem; transition: transform var(--transition); }
.btn:hover i { transform: translateX(3px); }

.btn--primary {
	background: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}
.btn--primary:hover {
	background: var(--primary-dark);
	border-color: var(--primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(232,66,43,0.28);
}

.btn--outline {
	background: transparent;
	color: var(--primary);
	border-color: var(--primary);
}
.btn--outline:hover {
	background: var(--primary);
	color: var(--white);
	transform: translateY(-2px);
}

.btn--outline-white {
	background: transparent;
	color: var(--white);
	border-color: rgba(255,255,255,0.7);
}
.btn--outline-white:hover {
	background: var(--white);
	color: var(--black);
	border-color: var(--white);
	transform: translateY(-2px);
}

.btn--lg { padding: 15px 30px; font-size: 0.9rem; }
.btn--full { width: 100%; justify-content: center; }


/* ===== NAVBAR ===== */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	transition: var(--transition);
}

.navbar {
	background: var(--white);
	border-bottom: 1px solid transparent;
	transition: border-color var(--transition), box-shadow var(--transition);
}

.site-header.scrolled .navbar {
	border-bottom-color: var(--gray-mid);
	box-shadow: 0 2px 20px rgba(0,0,0,0.07);
}

.navbar__inner {
	display: flex;
	align-items: center;
	height: var(--nav-h);
	gap: 0;
}

.navbar__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin-right: auto;
	text-decoration: none;
}
.navbar__logo .logo-svg {
	height: 40px;
	width: auto;
	display: block;
}

.navbar__links {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2px;
}

.navbar__links a {
	display: flex;
	align-items: center;
	height: var(--nav-h);
	padding: 0 14px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--black);
	text-decoration: none;
	position: relative;
	transition: color var(--transition);
}

.navbar__links a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 14px;
	right: 14px;
	height: 2px;
	background: var(--primary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--transition);
}

.navbar__links a:hover,
.navbar__links a.active {
	color: var(--primary);
}
.navbar__links a:hover::after,
.navbar__links a.active::after {
	transform: scaleX(1);
}

.navbar__cta {
	margin-left: 20px;
	flex-shrink: 0;
	padding: 10px 20px;
	font-size: 0.78rem;
}

.navbar__burger {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	margin-left: 16px;
}
.navbar__burger span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--black);
	border-radius: 2px;
	transition: transform var(--transition), opacity var(--transition);
}
.navbar__burger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.navbar__burger.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.navbar__burger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }


/* Items visibles seulement en mobile, cachés en desktop */
.navbar__links-cta  { display: none; }
.navbar__links-phones { display: none; }


/* ===== MOBILE MENU (état ouvert via .open sur navbar__links) ===== */
@media (max-width: 992px) {
	.navbar__links {
		/* Panel mobile : caché par défaut */
		position: fixed;
		top: var(--nav-h);
		left: 0;
		right: 0;
		background: var(--white);
		flex-direction: column;
		gap: 2px;
		padding: 16px 16px 28px;
		box-shadow: var(--shadow-xl);
		border-top: 2px solid var(--primary);
		transform: translateY(-8px);
		opacity: 0;
		pointer-events: none;
		transition: transform var(--transition), opacity var(--transition);
		z-index: 998;
	}

	.navbar__links.open {
		transform: translateY(0);
		opacity: 1;
		pointer-events: all;
	}

	.navbar__links a.nav-link {
		display: flex;
		align-items: center;
		height: auto;
		padding: 13px 16px;
		font-size: 0.85rem;
		border-left: 3px solid transparent;
		border-radius: var(--radius);
	}
	.navbar__links a.nav-link::after { display: none; }
	.navbar__links a.nav-link:hover {
		background: var(--primary-alpha);
		border-left-color: var(--primary);
		color: var(--primary);
	}

	.navbar__links-cta {
		display: block;
		margin-top: 8px;
	}
	.navbar__links-cta .btn {
		width: 100%;
		justify-content: center;
	}

	.navbar__links-phones {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 20px 16px 0;
		border-top: 1px solid var(--gray-mid);
		margin-top: 12px;
	}
	.navbar__links-phones a {
		display: flex;
		align-items: center;
		gap: 8px;
		font-family: var(--font-heading);
		font-size: 0.82rem;
		font-weight: 600;
		color: var(--gray-dark);
		text-decoration: none;
	}
	.navbar__links-phones a:hover { color: var(--primary); }
	.navbar__links-phones a i { color: var(--primary); }
}

/* ===== MAIN ===== */

main{
	margin-top: 73px;
}


/* ===== SECTION BASE ===== */
.section {
	padding: 96px 0;
}
.section--white   { background: var(--white); }
.section--light   { background: var(--gray-light); }
.section--dark    { background: var(--black); color: var(--white); }
.section--contact { background: var(--black-soft); color: var(--white); }

.section__header {
	max-width: 600px;
	margin: 0 auto 64px;
	text-align: center;
}

.section__label {
	display: inline-block;
	font-family: var(--font-heading);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--primary);
	margin-bottom: 14px;
}

.section__title {
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: clamp(2rem, 3.5vw + 0.5rem, 3rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
	margin-bottom: 18px;
	color: var(--black);
}
.section__title--light { color: var(--white); }

.section__desc {
	font-size: 1.05rem;
	color: var(--gray);
	line-height: 1.75;
	margin: 0;
}


/* ===== HERO ===== */
.hero {
	position: relative;
	min-height: 70vh;
	max-height: 70vh;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		110deg,
		rgba(10,10,10,0.88) 0%,
		rgba(10,10,10,0.65) 55%,
		rgba(232,66,43,0.15) 100%
	);
}

.hero__content {
	position: relative;
	z-index: 1;
	padding-top: calc(var(--nav-h) + 32px);
	padding-bottom: 48px;
}

.hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--primary);
	color: var(--white);
	font-family: var(--font-heading);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 2px;
	margin-bottom: 22px;
}

.hero__title {
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: clamp(2.4rem, 5vw + 0.5rem, 3rem);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--white);
	margin-bottom: 22px;
	max-width: 720px;
}
.hero__title em {
	font-style: normal;
	color: var(--primary);
}

.hero__subtitle {
	font-size: 1.1rem;
	color: rgba(255,255,255,0.75);
	max-width: 520px;
	line-height: 1.72;
	margin-bottom: 12px;
}

.hero__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

.hero__phones {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}
.hero__phones-sep { color: rgba(255,255,255,0.25); font-size: 0.9rem; }
.hero__phones a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: rgba(255,255,255,0.62);
	font-family: var(--font-heading);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
}
.hero__phones a:hover { color: rgba(255,255,255,0.95); }

.hero__scroll {
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	color: rgba(255,255,255,0.45);
	font-size: 1.4rem;
	text-decoration: none;
	animation: scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse {
	0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.45; }
	50%       { transform: translateX(-50%) translateY(7px); opacity: 0.85; }
}


/* ===== COURS SECTION ===== */
.cours-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-bottom: 48px;
}

.cours-card {
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius-md);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.cours-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-lg);
	border-color: var(--primary);
}

.cours-card__img {
	height: 210px;
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
}
.cours-card__img img {
	transition: transform var(--transition-lg);
}
.cours-card:hover .cours-card__img img {
	transform: scale(1.05);
}

.cours-card__tag {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--primary);
	color: var(--white);
	font-family: var(--font-heading);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 4px 11px;
	border-radius: 2px;
}

.cours-card__body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.cours-card__icon {
	font-size: 1.6rem;
	color: var(--primary);
	margin-bottom: 10px;
	display: block;
}

.cours-card__body h3 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.15rem;
	letter-spacing: -0.02em;
	margin-bottom: 10px;
}

.cours-card__body p {
	font-size: 0.9rem;
	color: var(--gray);
	line-height: 1.7;
	flex: 1;
	margin: 0;
}

.cours-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 18px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--primary);
	transition: gap var(--transition);
}
.cours-card__link:hover { gap: 10px; }

/* Langues bar */
.langues-bar {
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 24px 32px;
	background: var(--gray-light);
	border-radius: var(--radius-md);
	border-left: 4px solid var(--primary);
	flex-wrap: wrap;
}

.langues-bar__label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--black);
	white-space: nowrap;
}
.langues-bar__label i { color: var(--primary); font-size: 1.1rem; }

.langues-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.langues-list li {
	background: var(--white);
	border: 1px solid var(--gray-mid);
	padding: 6px 16px;
	border-radius: 100px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.78rem;
	letter-spacing: 0.03em;
	color: var(--black);
	transition: border-color var(--transition), color var(--transition);
}
.langues-list li:hover {
	border-color: var(--primary);
	color: var(--primary);
}


/* ===== TEST FIDE ===== */
.fide-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.fide-content .section__title { margin-bottom: 16px; }

.fide-content > p {
	color: rgba(255,255,255,0.72);
	font-size: 1rem;
	line-height: 1.78;
	margin-bottom: 32px;
}

.fide-features {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.fide-features li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: 0.95rem;
	color: rgba(255,255,255,0.8);
	line-height: 1.5;
}
.fide-features li i {
	font-size: 1.25rem;
	color: var(--primary);
	flex-shrink: 0;
	margin-top: 1px;
}

.fide-visual {
	position: relative;
	border-radius: var(--radius-md);
	overflow: visible;
}
.fide-visual img {
	height: 460px;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-xl);
}
.fide-badge {
	position: absolute;
	bottom: -20px;
	right: -20px;
	background: var(--primary);
	color: var(--white);
	padding: 20px 24px;
	border-radius: var(--radius-md);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	box-shadow: var(--shadow-lg);
}
.fide-badge i { font-size: 2rem; margin-bottom: 6px; }
.fide-badge strong {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	display: block;
}
.fide-badge span { font-size: 0.72rem; opacity: 0.82; }


/* ===== SOUTIEN SCOLAIRE ===== */
.soutien-grid {
	display: grid;
	grid-template-columns: 1fr 1.35fr;
	gap: 80px;
	align-items: start;
}

.soutien-visual {
	position: sticky;
	top: calc(var(--nav-h) + 24px);
	border-radius: var(--radius-md);
	overflow: hidden;
}
.soutien-visual img {
	height: 520px;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
}
.soutien-visual__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%);
	padding: 28px 24px 22px;
}
.soutien-visual__overlay strong {
	display: block;
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 1.3rem;
	color: var(--white);
	margin-bottom: 4px;
}
.soutien-visual__overlay span {
	font-size: 0.8rem;
	color: rgba(255,255,255,0.75);
	font-family: var(--font-heading);
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.soutien-content .section__label { margin-bottom: 10px; }
.soutien-content .section__title { margin-bottom: 14px; color: var(--black); }
.soutien-intro {
	font-size: 1rem;
	color: var(--gray);
	line-height: 1.75;
	margin-bottom: 36px;
}

.matieres-list {
	list-style: none;
	margin: 0 0 36px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.matiere-item {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px 16px;
	border-radius: var(--radius);
	border-left: 3px solid transparent;
	transition: background var(--transition), border-color var(--transition);
}
.matiere-item:hover {
	background: var(--white);
	border-left-color: var(--primary);
}

.matiere-icon {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--white);
	border: 1.5px solid var(--gray-mid);
	border-radius: var(--radius);
	font-size: 1.15rem;
	color: var(--primary);
	flex-shrink: 0;
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.matiere-item:hover .matiere-icon {
	background: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}

.matiere-info strong {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.9rem;
	margin-bottom: 2px;
}
.matiere-info p {
	font-size: 0.8rem;
	color: var(--gray);
	margin: 0;
	line-height: 1.4;
}

.matiere-item--special {
	background: var(--primary-alpha);
	border-left-color: var(--primary) !important;
}
.matiere-item--special:hover { background: rgba(232,66,43,0.12); }


/* ===== JEUNES AU PAIR ===== */
.aupair-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.aupair-content .section__label { margin-bottom: 10px; }
.aupair-content .section__title { margin-bottom: 16px; }
.aupair-content > p {
	font-size: 1rem;
	color: var(--gray);
	line-height: 1.78;
	margin-bottom: 32px;
}

.aupair-features {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.aupair-features li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.aupair-feature-icon {
	width: 44px;
	height: 44px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	color: var(--primary);
	flex-shrink: 0;
}
.aupair-features li strong {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.9rem;
	margin-bottom: 3px;
}
.aupair-features li p {
	font-size: 0.82rem;
	color: var(--gray);
	margin: 0;
	line-height: 1.5;
}

.aupair-visual {
	position: relative;
	border-radius: var(--radius-md);
}
.aupair-visual img {
	height: 520px;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-xl);
}

.aupair-stat {
	position: absolute;
	bottom: -24px;
	right: -24px;
	background: var(--primary);
	color: var(--white);
	padding: 22px 26px;
	border-radius: var(--radius-md);
	text-align: center;
	box-shadow: var(--shadow-lg);
}
.aupair-stat strong {
	display: block;
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 2rem;
	line-height: 1;
	margin-bottom: 6px;
}
.aupair-stat span {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.88;
}


/* ===== NOS ÉCOLES ===== */
.ecoles-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.ecole-card {
	background: var(--white);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: transform var(--transition), box-shadow var(--transition);
}
.ecole-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-xl);
}

.ecole-card__img {
	height: 280px;
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
}
.ecole-card__img img {
	transition: transform var(--transition-lg);
}
.ecole-card:hover .ecole-card__img img {
	transform: scale(1.05);
}

.ecole-card__city {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 36px 24px 18px;
	background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	color: var(--white);
}

.ecole-card__body {
	padding: 28px;
}
.ecole-card__body h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.05rem;
	margin-bottom: 16px;
}
.ecole-card__body address {
	font-style: normal;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 24px;
}
.ecole-card__body address p,
.ecole-card__body address a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9rem;
	color: var(--gray);
	text-decoration: none;
}
.ecole-card__body address a:hover { color: var(--primary); }
.ecole-card__body address i { color: var(--primary); flex-shrink: 0; }


/* ===== CONTACT ===== */
.contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.6fr;
	gap: 80px;
	align-items: start;
}

.contact-info .section__label { margin-bottom: 10px; }
.contact-info .section__title {
	font-size: clamp(2rem, 3.5vw, 3rem);
	margin-bottom: 18px;
	line-height: 1.1;
}
.contact-info > p {
	color: rgba(255,255,255,0.65);
	font-size: 1rem;
	line-height: 1.78;
	margin-bottom: 36px;
}

.contact-details {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.contact-details li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.contact-detail-icon {
	width: 40px;
	height: 40px;
	background: rgba(232,66,43,0.15);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	color: var(--primary);
	flex-shrink: 0;
}
.contact-details li div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.contact-details li strong {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.9);
}
.contact-details li a {
	font-size: 0.95rem;
	color: rgba(255,255,255,0.6);
	text-decoration: none;
}
.contact-details li a:hover { color: var(--primary); }

.contact-certif {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--radius);
	background: rgba(255,255,255,0.03);
	max-width: 280px;
}
.contact-certif__logo {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: 0.55;
}
.contact-certif span {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.4);
	line-height: 1.5;
}
.contact-certif strong { color: rgba(255,255,255,0.75); }

/* Form */
.contact-form {
	background: var(--white);
	padding: 40px;
	border-radius: var(--radius-md);
	box-shadow: 0 24px 64px rgba(0,0,0,0.25);
}

.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.form-group {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-bottom: 18px;
}
.form-group:last-child { margin-bottom: 0; }

.form-group label {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--black);
}
.form-group label span { color: var(--primary); }

.form-group input,
.form-group select,
.form-group textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1.5px solid var(--gray-mid);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 0.92rem;
	color: var(--black);
	background: var(--white);
	transition: border-color var(--transition), box-shadow var(--transition);
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color: #c0c0c0; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(232,66,43,0.1);
}
.form-group select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
	cursor: pointer;
}
.form-group textarea {
	resize: vertical;
	min-height: 110px;
}

.form-feedback {
	margin-bottom: 16px;
	font-size: 0.85rem;
	font-family: var(--font-heading);
	font-weight: 600;
	min-height: 0;
	transition: all var(--transition);
}
.form-feedback.success { color: #2d9f5a; }
.form-feedback.error   { color: var(--primary); }

.form-note {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font-size: 0.75rem;
	color: var(--gray);
	text-align: center;
	justify-content: center;
}
.form-note i { color: var(--gray); }


/* ===== FOOTER ===== */
.site-footer {
	background: #0a0a0a;
	color: rgba(255,255,255,0.55);
	padding: 64px 0 0;
}

.footer-inner {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 48px;
	margin-bottom: 48px;
}

.footer-logo {
	display: inline-block;
	margin-bottom: 14px;
	text-decoration: none;
}
.footer-logo .logo-svg {
	height: 38px;
	width: auto;
	display: block;
}

.footer-brand p {
	font-size: 0.88rem;
	line-height: 1.72;
	margin-bottom: 22px;
	max-width: 340px;
}

.footer-phones {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 28px;
}
.footer-phones a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: 0.82rem;
	font-weight: 600;
	color: rgba(255,255,255,0.5);
	text-decoration: none;
}
.footer-phones a:hover { color: var(--primary); }
.footer-phones a i { color: var(--primary); }

/* eduQua */
.footer-certif {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--radius);
	background: rgba(255,255,255,0.03);
	max-width: 280px;
}
.footer-certif__logo {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	object-fit: contain;
	/* monochrome blanc */
	filter: brightness(0) invert(1);
	opacity: 0.55;
}
.footer-certif span {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.4);
	line-height: 1.5;
}
.footer-certif strong { color: rgba(255,255,255,0.75); }

/* Nav */
.footer-nav__title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.3);
	margin-bottom: 20px;
}

.footer-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.footer-nav a {
	font-family: var(--font-heading);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
	text-decoration: none;
}
.footer-nav a:hover { color: var(--primary); }

/* Social */
.footer-social__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.footer-social__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 14px;
	border-radius: var(--radius);
	border: 1px solid rgba(255,255,255,0.07);
	color: rgba(255,255,255,0.5);
	text-decoration: none;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: color var(--transition), border-color var(--transition), background var(--transition);
}
.footer-social__link i {
	font-size: 1.15rem;
	color: rgba(255,255,255,0.35);
	transition: color var(--transition);
}
.footer-social__link:hover {
	color: var(--white);
	border-color: rgba(232,66,43,0.4);
	background: rgba(232,66,43,0.08);
}
.footer-social__link:hover i { color: var(--primary); }

.footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.06);
	padding: 24px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-size: 0.75rem;
	color: rgba(255,255,255,0.3);
	flex-wrap: wrap;
}
.footer-bottom a {
	color: rgba(255,255,255,0.5);
	text-decoration: none;
}
.footer-bottom a:hover { color: var(--primary); }


/* ===== SCROLL REVEAL ===== */
.reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.55s var(--ease), transform 0.55s var(--ease);
}
.reveal.visible {
	opacity: 1;
	transform: translateY(0);
}


/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
	.fide-inner  { gap: 56px; }
	.soutien-grid { gap: 56px; }
	.aupair-inner { gap: 56px; }
	.contact-inner { gap: 56px; }
}

@media (max-width: 992px) {
	.section { padding: 72px 0; }

	.navbar__cta   { display: none; }
	.navbar__burger { display: flex; }

	.cours-grid    { grid-template-columns: 1fr; }
	.fide-inner    { grid-template-columns: 1fr; gap: 48px; }
	.soutien-grid  { grid-template-columns: 1fr; gap: 48px; }
	.soutien-visual { position: static; }
	.aupair-inner  { grid-template-columns: 1fr; gap: 64px; }
	.aupair-stat   { right: 0; }
	.ecoles-grid   { grid-template-columns: 1fr; }
	.contact-inner { grid-template-columns: 1fr; gap: 48px; }
	.footer-inner  { grid-template-columns: 1fr 1fr 1fr; gap: 40px; }
	.footer-brand  { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
	.section { padding: 56px 0; }

	.hero { min-height: 70vh; max-height: none; }
	.hero__title { font-size: clamp(2rem, 7vw, 3rem); }
	.hero__actions { flex-direction: column; align-items: flex-start; }
	.hero__phones { flex-direction: column; gap: 10px; }
	.hero__phones-sep { display: none; }

	.cours-grid { grid-template-columns: 1fr; gap: 18px; }
	.cours-card__img { height: 180px; }

	.form-row { grid-template-columns: 1fr; }
	.contact-form { padding: 28px 20px; }

	.section__header { margin-bottom: 40px; }
	.footer-bottom { flex-direction: column; text-align: center; gap: 8px; }
	.footer-inner  { grid-template-columns: 1fr; }
	.footer-brand  { grid-column: auto; }
}

@media (max-width: 576px) {
	.section { padding: 48px 0; }
	.hero__content { padding-top: calc(var(--nav-h) + 20px); padding-bottom: 36px; }
	.fide-visual img { height: 280px; }
	.soutien-visual img { height: 260px; }
	.aupair-visual img { height: 320px; }
	.aupair-stat { bottom: 12px; right: 12px; }
	.ecole-card__img { height: 220px; }
	.langues-bar { flex-direction: column; align-items: flex-start; gap: 16px; }
}

.form-feedback {
	font-size: .875rem;
	padding: .75rem 1rem;
	border-radius: .5rem;
	margin-bottom: 1rem;
	display: none;
}
.form-feedback:not(:empty)    { display: block; }
.form-feedback--success       { background: #d1fae5; color: #065f46; }
.form-feedback--error         { background: #fee2e2; color: #991b1b; }

/* ===== PAGE SETUP ===== */
.legal-page {
	background: var(--gray-lightest);
}

/* Navbar forcée en état scrollé sur cette page */
.legal-page .site-header {
	position: sticky;
	top: 0;
}
.legal-page .navbar {
	border-bottom-color: var(--gray-mid);
	box-shadow: 0 2px 20px rgba(0,0,0,0.07);
}

.navbar__back {
	margin-left: auto;
	padding: 9px 18px;
	font-size: 0.75rem;
}

/* ===== HERO ===== */
.legal-hero {
	background: var(--black);
	padding: 64px 0 56px;
	border-bottom: 3px solid var(--primary);
	margin-top: 73px;
}

.legal-hero .section__label {
	display: block;
	margin-bottom: 12px;
}

.legal-hero__title {
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--white);
	letter-spacing: -0.03em;
	margin-bottom: 10px;
}

.legal-hero__date {
	font-size: 0.82rem;
	color: rgba(255,255,255,0.4);
	font-family: var(--font-heading);
	font-weight: 500;
	margin: 0;
}

/* ===== LAYOUT ===== */
.legal-content {
	padding: 64px 0 96px;
}

.legal-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 56px;
	align-items: start;
}

/* ===== TABLE OF CONTENTS ===== */
.legal-toc {
	position: sticky;
	top: calc(var(--nav-h) + 24px);
}

.legal-toc__inner {
	background: var(--white);
	border-radius: var(--radius-md);
	padding: 24px;
	border: 1px solid var(--gray-mid);
	border-left: 3px solid var(--primary);
}

.legal-toc__title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gray);
	margin-bottom: 16px;
}

.legal-toc nav ol {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: toc;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.legal-toc nav a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--gray-dark);
	text-decoration: none;
	border-radius: var(--radius);
	border-left: 2px solid transparent;
	transition: color var(--transition), background var(--transition), border-color var(--transition);
	counter-increment: toc;
}
.legal-toc nav a::before {
	content: counter(toc, decimal-leading-zero);
	font-size: 0.65rem;
	color: var(--primary);
	font-weight: 700;
	flex-shrink: 0;
	width: 20px;
}
.legal-toc nav a:hover {
	color: var(--primary);
	background: var(--primary-alpha);
	border-left-color: var(--primary);
}

/* ===== ARTICLE BODY ===== */
.legal-body {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* ===== SECTION ===== */
.legal-section {
	background: var(--white);
	border-radius: var(--radius-md);
	padding: 40px 48px;
	margin-bottom: 20px;
	border: 1px solid var(--gray-mid);
	scroll-margin-top: calc(var(--nav-h) + 24px);
}

.legal-section:first-child { border-radius: var(--radius-md) var(--radius-md) 0 0; }
.legal-section:last-child  { border-radius: 0 0 var(--radius-md) var(--radius-md); margin-bottom: 0; }

.legal-section h2 {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.2rem;
	letter-spacing: -0.02em;
	color: var(--black);
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--gray-mid);
}

.legal-section__num {
	font-size: 0.65rem;
	font-weight: 700;
	color: var(--primary);
	letter-spacing: 0.1em;
	background: var(--primary-alpha);
	padding: 4px 8px;
	border-radius: 2px;
	flex-shrink: 0;
}

.legal-section h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.88rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--black);
	margin: 28px 0 10px;
}

.legal-section p {
	font-size: 0.92rem;
	color: var(--gray-dark);
	line-height: 1.8;
	margin-bottom: 14px;
}
.legal-section p:last-child { margin-bottom: 0; }

.legal-section a:hover { color: var(--primary-dark); }

/* ===== INFO CARD ===== */
.legal-card {
	background: var(--gray-lightest);
	border-radius: var(--radius);
	border: 1px solid var(--gray-mid);
	overflow: hidden;
}

.legal-card__row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--gray-mid);
}
.legal-card__row:last-child { border-bottom: none; }

.legal-card__row i {
	font-size: 1.1rem;
	color: var(--primary);
	flex-shrink: 0;
	margin-top: 2px;
}

.legal-card__row strong {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray);
	margin-bottom: 3px;
}
.legal-card__row p {
	font-size: 0.9rem;
	color: var(--black);
	margin: 0;
	line-height: 1.6;
}
.legal-card__row a {
	color: var(--primary);
}

/* ===== LIST ===== */
.legal-list {
	list-style: none;
	margin: 12px 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.legal-list li {
	display: flex;
	align-items: baseline;
	gap: 10px;
	font-size: 0.9rem;
	color: var(--gray-dark);
	line-height: 1.6;
}

.legal-list li i {
	color: var(--primary);
	font-size: 0.85rem;
	flex-shrink: 0;
	margin-top: 2px;
}

/* ===== TABLE ===== */
.legal-table-wrap {
	overflow-x: auto;
	margin: 16px 0;
	border-radius: var(--radius);
	border: 1px solid var(--gray-mid);
}

.legal-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.85rem;
}

.legal-table thead th {
	background: var(--black);
	color: var(--white);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 12px 16px;
	text-align: left;
}

.legal-table tbody td {
	padding: 12px 16px;
	color: var(--gray-dark);
	border-bottom: 1px solid var(--gray-mid);
	vertical-align: top;
	line-height: 1.6;
}
.legal-table tbody tr:last-child td { border-bottom: none; }
.legal-table tbody tr:nth-child(even) td { background: var(--gray-lightest); }

/* ===== CONTACT CTA ===== */
.legal-contact-cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 8px;
}

/* ===== FOOTER (stripped-down on legal page) ===== */
.legal-page .site-footer {
	padding: 0;
}
.legal-page .footer-bottom {
	padding: 24px 0;
}


/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
	.legal-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.legal-toc {
		position: static;
	}
	.legal-section {
		padding: 28px 28px;
	}
	.navbar__back span { display: none; }
}

@media (max-width: 576px) {
	.legal-hero { padding: 40px 0 36px; }
	.legal-section { padding: 24px 18px; }
	.legal-contact-cta { flex-direction: column; }
}
/* =============================================================
   LANGUES — Page /langues et composants associés
   ============================================================= */

/******************** Breadcrumb ********************/
.breadcrumb {
	background: #f7f7f5;
	border-bottom: 1px solid #e8e8e8;
	padding: 10px 0;
}

.breadcrumb__list {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.8rem;
	color: #888;
}

.breadcrumb__list a {
	color: #888;
	text-decoration: none;
	transition: color 0.15s;
}

.breadcrumb__list a:hover { color: var(--color-accent, #e8422b); }
.breadcrumb__list [aria-current="page"] { color: #333; font-weight: 500; }

/******************** Hero inner ********************/
.hero--inner { min-height: 52vh; }

/******************** Intro ********************/
.section--intro {
	padding-top: 40px;
	padding-bottom: 40px;
}

.intro-text {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
}

.intro-text__lead {
	font-size: 1.05rem;
	line-height: 1.8;
	color: #444;
	margin-bottom: 24px;
}

.intro-text__badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.intro-text__badges li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	background: #f7f7f5;
	border: 1px solid #e8e8e8;
	border-radius: 30px;
	font-size: 0.82rem;
	color: #444;
}

.intro-text__badges li i { color: var(--color-accent, #e8422b); font-size: 1rem; }

/******************** Langues Grid — fond sombre ********************/
.section--langues {
	background: #111111;
}

.section--langues .section__label { color: #e8422b; }

.section--langues .section__title {
	color: #ffffff;
}

.section--langues .section__desc {
	color: rgba(255,255,255,0.45);
}

.langues-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px;
	margin-top: 40px;
}

/******************** Langue card ********************/
.langue-card {
	background: #ffffff;
	border-radius: 14px;
	overflow: hidden;
	border: 1.5px solid rgba(255,255,255,0.06);
	transition: transform 0.18s, box-shadow 0.18s;
}

.langue-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(0,0,0,0.35);
}

.langue-card__inner {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.langue-card__top {
	padding: 22px 20px 16px;
	flex: 1;
}

/******************** Bulle ********************/
.langue-card__bubble {
	display: inline-block;
	background: #e8422b;
	border-radius: 10px 10px 10px 2px;
	padding: 7px 14px;
	position: relative;
	margin-bottom: 14px;
}

.langue-card__bubble::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 10px;
	border-left: 8px solid transparent;
	border-top: 8px solid #e8422b;
}

.langue-card__bubble span {
	font-family: 'Raleway', sans-serif;
	font-size: 13px;
	font-weight: 800;
	color: #ffffff;
	white-space: nowrap;
	letter-spacing: 0.01em;
	display: block;
}

.langue-card__name {
	font-family: 'Raleway', sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: #111111;
	margin: 0 0 3px;
	line-height: 1.2;
}

.langue-card__desc {
	font-size: 0.75rem;
	color: #aaaaaa;
	margin: 0;
}

/******************** Card bottom ********************/
.langue-card__bot {
	padding: 12px 20px;
	background: #f7f7f5;
	border-top: 1px solid #eeeeee;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.langue-card__levels {
	font-family: 'Raleway', sans-serif;
	font-size: 12px;
	font-weight: 700;
	color: #e8422b;
	letter-spacing: 0.04em;
	margin: 0 0 6px;
}

.langue-card__formats {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.langue-card__formats li {
	font-size: 10px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 20px;
	background: #111111;
	color: #ffffff;
	display: flex;
	align-items: center;
	gap: 3px;
}

.langue-card__arrow {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #111111;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	flex-shrink: 0;
	transition: background 0.15s, transform 0.15s;
	font-size: 0.85rem;
}

.langue-card:hover .langue-card__arrow {
	background: #e8422b;
	transform: translateX(2px);
}

/******************** Card "Autre langue" ********************/
.langue-card--other {
	background: #1a1a1a;
	border: 1.5px dashed rgba(255,255,255,0.12);
}

.langue-card--other .langue-card__top { background: #1a1a1a; }
.langue-card--other .langue-card__name { color: #ffffff; }
.langue-card--other .langue-card__desc { color: rgba(255,255,255,0.3); }

.langue-card--other .langue-card__bubble {
	background: rgba(255,255,255,0.07);
}

.langue-card--other .langue-card__bubble::after {
	border-top-color: rgba(255,255,255,0.07);
}

.langue-card--other .langue-card__bubble span {
	color: rgba(255,255,255,0.3);
	letter-spacing: 0.2em;
}

.langue-card--other .langue-card__bot {
	background: #222222;
	border-top-color: rgba(255,255,255,0.07);
}

.langue-card--other .langue-card__levels { color: rgba(255,255,255,0.35); }

.langue-card--other .langue-card__formats li {
	background: rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.5);
}

.langue-card--other .langue-card__arrow {
	background: rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.4);
}

/******************** Niveaux CECR ********************/
.niveaux-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 48px;
}

.niveau-card {
	border-radius: 10px;
	padding: 20px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	border: 1px solid transparent;
}

.niveau-card--a { background: #fff8f7; border-color: #fde8e5; }
.niveau-card--b { background: #fffbeb; border-color: #fde68a; }
.niveau-card--c { background: #f0faf4; border-color: #bbf7d0; }

.niveau-card__badge {
	font-family: 'Raleway', sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	padding: 5px 10px;
	border-radius: 6px;
	flex-shrink: 0;
}

.niveau-card--a .niveau-card__badge { background: #e8422b; color: #fff; }
.niveau-card--b .niveau-card__badge { background: #d97706; color: #fff; }
.niveau-card--c .niveau-card__badge { background: #059669; color: #fff; }

.niveau-card__body h3 {
	font-family: 'Raleway', sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	margin: 0 0 4px;
	color: #111;
}

.niveau-card__body p { font-size: 0.8rem; color: #666; line-height: 1.55; margin: 0; }

.niveaux-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 36px;
	padding-top: 32px;
	border-top: 1px solid #e8e8e8;
}

.niveaux-cta p { font-size: 0.95rem; color: #666; margin: 0; }

/******************** Formats ********************/
.formats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 48px;
}

.format-card {
	text-align: center;
	padding: 32px 24px;
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.format-card:hover {
	border-color: #e8422b;
	box-shadow: 0 4px 20px rgba(232, 66, 43, 0.06);
}

.format-card__icon { font-size: 2rem; color: #e8422b; margin-bottom: 16px; display: block; }

.format-card h3 {
	font-family: 'Raleway', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 10px;
	color: #111;
}

.format-card p { font-size: 0.875rem; color: #666; line-height: 1.65; margin: 0; }

/******************** FAQ ********************/
.faq-list { max-width: 780px; margin: 48px auto 0; }
.faq-item { border-bottom: 1px solid #e8e8e8; }

.faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 18px 0;
	background: none;
	border: none;
	font-family: 'Raleway', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: #111;
	text-align: left;
	cursor: pointer;
	transition: color 0.15s;
}

.faq-question:hover { color: #e8422b; }
.faq-icon { font-size: 1.1rem; color: #e8422b; flex-shrink: 0; }
.faq-answer { padding-bottom: 20px; }
.faq-answer p { font-size: 0.9rem; color: #555; line-height: 1.7; margin: 0; }

/******************** CTA simple ********************/
.cta-simple { text-align: center; max-width: 600px; margin: 0 auto; padding: 20px 0; }
.cta-simple p { color: rgba(255,255,255,0.75); margin-bottom: 32px; font-size: 1rem; line-height: 1.7; }
.cta-simple .hero__actions { justify-content: center; }
.section__desc--light { color: rgba(255,255,255,0.7); }

/******************** Responsive ********************/
@media (max-width: 992px) {
	.formats-grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
}

@media (max-width: 768px) {
	.langues-grid { grid-template-columns: 1fr; }
	.niveaux-grid { grid-template-columns: repeat(2, 1fr); }
	.niveaux-cta { flex-direction: column; text-align: center; gap: 12px; }
}

@media (max-width: 480px) {
	.niveaux-grid { grid-template-columns: 1fr; }
	.breadcrumb__list { font-size: 0.72rem; }
}

/* =============================================================
   LANGUES — Vue show (/langues/francais)
   ============================================================= */

/******************** Hero SM ********************/
.hero--sm { min-height: 42vh; }

.langue-bubble-hero {
	display: inline-block;
	background: var(--primary);
	border-radius: 8px 8px 8px 2px;
	padding: 4px 11px;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: 0.01em;
	margin-right: 6px;
	vertical-align: middle;
}

/******************** Link rouge ********************/
.link--red {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.link--red:hover { color: var(--primary-dark); }

/******************** Niveau block ********************/
.niveau-block {
	margin-bottom: 48px;
	padding-bottom: 48px;
	border-bottom: 1px solid #e0e0e0;
}

.niveau-block:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.niveau-block__title {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
}

.niveau-pills-group {
	display: flex;
	gap: 6px;
	flex-shrink: 0;
}

.niveau-pill {
	font-family: var(--font-heading);
	font-size: 0.88rem;
	font-weight: 800;
	padding: 7px 13px;
	border-radius: 7px;
	flex-shrink: 0;
	letter-spacing: 0.02em;

}

.niveau-pills-group .niveau-pill--a { background: var(--primary); color: #fff; border: none; }
.niveau-pills-group .niveau-pill--b { background: #d97706; color: #fff; border: none;}
.niveau-pills-group .niveau-pill--c { background: #059669; color: #fff; border: none;}

.niveau-block__title strong {
	display: block;
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	margin-bottom: 2px;
}

.niveau-block__title div span {
	font-size: 0.85rem;
	color: #888;
}

/******************** Sessions list ********************/
.sessions-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/******************** Session card ********************/
.session-card {
	background: #fff;
	border: 1.5px solid #e8e8e8;
	border-radius: 12px;
	display: flex;
	align-items: stretch;
	transition: border-color 0.2s, box-shadow 0.2s;
	overflow: hidden;
}

.session-card:hover {
	border-color: var(--primary);
	box-shadow: 0 4px 20px rgba(232, 66, 43, 0.07);
}

.session-card--private {
	border-style: dashed;
	background: #fafaf9;
}

/* Left — contenu principal */
.session-card__left {
	flex: 1;
	padding: 22px 24px;
	min-width: 0;
}

/* Right — prix + CTA */
.session-card__right {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 22px 24px;
	border-left: 1px solid #eeeeee;
	background: #f9f9f7;
	min-width: 180px;
	text-align: center;
	flex-shrink: 0;
}

/******************** Badges session ********************/
.session-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 12px;
}

.session-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	border: 1px solid transparent;
}

.session-badge--presentiel {
	background: #f3f4f6;
	color: #374151;
	border-color: #e5e7eb;
}

.session-badge--online {
	background: #eff6ff;
	color: #1d4ed8;
	border-color: #bfdbfe;
}

.session-badge--garanti {
	background: #f0fdf4;
	color: #15803d;
	border-color: #bbf7d0;
}

.session-badge--subv {
	background: #fff7ed;
	color: #c2410c;
	border-color: #fed7aa;
}

.session-badge--private {
	background: #faf5ff;
	color: #7e22ce;
	border-color: #e9d5ff;
}

/******************** Contenu session ********************/
.session-card__title {
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	margin: 0 0 8px;
	line-height: 1.3;
}

.session-card__desc {
	font-size: 0.855rem;
	color: #555;
	line-height: 1.65;
	margin: 0 0 14px;
}

/******************** Details DL ********************/
.session-card__details {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0;
}

.session-detail {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.session-detail dt {
	color: var(--primary);
	font-size: 0.9rem;
	flex-shrink: 0;
	width: 16px;
}

.session-detail dd {
	font-size: 0.82rem;
	color: #555;
	line-height: 1.5;
	margin: 0;
}

/******************** Prix ********************/
.session-card__price {
	text-align: center;
}

.session-price__label {
	display: block;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #999;
	margin-bottom: 3px;
}

.session-price__value {
	display: block;
	font-family: var(--font-heading);
	font-size: 1.2rem;
	font-weight: 800;
	color: #111;
	line-height: 1;
	margin-bottom: 3px;
}

.session-price__note {
	display: block;
	font-size: 10px;
	color: #aaa;
	line-height: 1.4;
}

.session-card__more {
	font-size: 0.78rem;
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--transition);
}

.session-card__more:hover { color: var(--primary-dark); }

/******************** Subventions ********************/
.subventions-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 48px;
}

.subvention-card {
	background: #f7f7f5;
	border: 1px solid #e8e8e8;
	border-radius: 10px;
	padding: 24px 20px;
	text-align: center;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.subvention-card:hover {
	border-color: var(--primary);
	box-shadow: 0 4px 16px rgba(232, 66, 43, 0.06);
}

.subvention-card__icon {
	font-size: 1.8rem;
	color: var(--primary);
	margin-bottom: 12px;
}

.subvention-card h3 {
	font-family: var(--font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	color: #111;
	margin: 0 0 8px;
}

.subvention-card p {
	font-size: 0.8rem;
	color: #666;
	line-height: 1.55;
	margin: 0;
}

.subventions-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 24px;
	padding: 16px 20px;
	background: #fff8f7;
	border: 1px solid #fde8e5;
	border-radius: 8px;
	font-size: 0.85rem;
	color: #555;
}

.subventions-note i {
	color: var(--primary);
	font-size: 1.1rem;
	flex-shrink: 0;
	margin-top: 1px;
}

.subventions-note p { margin: 0; line-height: 1.6; }

/******************** Responsive ********************/
@media (max-width: 992px) {
	.subventions-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {

	.session-card {
		flex-direction: column;
	}

	.session-card__right {
		border-left: none;
		border-top: 1px solid #eeeeee;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding: 16px 22px;
		min-width: unset;
	}

	.session-card__more { display: none; }

	.niveau-block__title { flex-wrap: wrap; gap: 10px; }

	.subventions-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
	.subventions-grid { grid-template-columns: 1fr; }
	.session-card__right { flex-direction: column; align-items: flex-start; }
	.session-card__right .btn { width: 100%; justify-content: center; }
}

/* =============================================================
   LANGUES — Vue level (/langues/francais/a1)
   ============================================================= */

/******************** Layout ********************/
.level-layout {
	background: #f7f7f5;
	padding: 40px 0 80px;
}

.level-grid {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 24px;
	align-items: start;
}

.level-main {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 0;
}

/******************** Block — unité de base ********************/
.level-block {
	background: #fff;
	border: 1.5px solid #e8e8e8;
	border-radius: 14px;
	padding: 28px 32px;
}

.level-block--dark {
	background: #111111;
	border-color: #111111;
}

.level-block__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	margin: 0 0 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid #f0f0f0;
	letter-spacing: -0.01em;
}

.level-block__title i {
	color: var(--primary);
	font-size: 1.1rem;
	flex-shrink: 0;
}

.level-block__title--light {
	color: #fff;
	border-bottom-color: rgba(255,255,255,0.1);
}

.level-block__title--light i { color: rgba(255,255,255,0.6); }

.level-block__intro {
	font-size: 0.875rem;
	color: #666;
	line-height: 1.7;
	margin: 0 0 16px;
}

/******************** Header block ********************/
.level-header__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.level-nav-pills {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.level-nav-pill {
	font-family: var(--font-heading);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 5px 11px;
	border-radius: 20px;
	border: 1.5px solid #e0e0e0;
	color: #888;
	text-decoration: none;
	transition: all 0.15s;
}

.level-nav-pill:hover { border-color: var(--primary); color: var(--primary); }

.level-nav-pill--active {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
}

.level-header__title {
	font-family: var(--font-heading);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 800;
	color: #111;
	letter-spacing: -0.02em;
	margin: 0 0 14px;
	line-height: 1.15;
}

.level-header__title em { color: var(--primary); font-style: normal; }

.level-header__intro {
	font-size: 0.95rem;
	color: #555;
	line-height: 1.75;
	margin: 0 0 18px;
}

.level-header__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/******************** Prose ********************/
.level-prose p {
	font-size: 0.9rem;
	color: #555;
	line-height: 1.75;
	margin: 0 0 12px;
}

.level-prose p:last-child { margin: 0; }

/******************** Checklists ********************/
.level-checklist {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.level-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.875rem;
	color: #444;
	line-height: 1.6;
}

.level-checklist li i {
	color: var(--primary);
	font-size: 0.95rem;
	flex-shrink: 0;
	margin-top: 2px;
}

.level-checklist--green li i { color: #059669; }

/******************** Note ********************/
.level-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 16px;
	padding: 12px 16px;
	background: #f9f9f7;
	border-radius: 8px;
	border: 1px solid #eee;
	font-size: 0.82rem;
	color: #777;
}

.level-note i { color: var(--primary); font-size: 0.9rem; flex-shrink: 0; margin-top: 1px; }
.level-note p { margin: 0; line-height: 1.55; }

/******************** Méthodologie ********************/
.level-methodo-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.level-methodo-item {
	background: #f9f9f7;
	border: 1px solid #eee;
	border-radius: 10px;
	padding: 16px 18px;
}

.level-methodo-item strong {
	display: block;
	font-family: var(--font-heading);
	font-size: 0.85rem;
	font-weight: 700;
	color: #111;
	margin-bottom: 5px;
}

.level-methodo-item p {
	font-size: 0.8rem;
	color: #666;
	line-height: 1.55;
	margin: 0;
}

/******************** Prérequis ********************/
.level-prereq {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.level-prereq__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 18px;
	background: #f9f9f7;
	border: 1px solid #eee;
	border-radius: 10px;
}

.level-prereq__item--ok {
	background: #f0fdf4;
	border-color: #bbf7d0;
}

.level-prereq__item i {
	font-size: 1.3rem;
	flex-shrink: 0;
	margin-top: 1px;
	color: #888;
}

.level-prereq__item--ok i { color: #059669; }

.level-prereq__item strong {
	display: block;
	font-family: var(--font-heading);
	font-size: 0.9rem;
	font-weight: 700;
	color: #111;
	margin-bottom: 5px;
}

.level-prereq__item--ok strong { color: #166534; }

.level-prereq__item p {
	font-size: 0.82rem;
	color: #666;
	line-height: 1.65;
	margin: 0;
}

.level-prereq__item--ok p { color: #166534; opacity: 0.85; }

/******************** Attestation ********************/
.level-attestation {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 20px;
	background: #fff8f7;
	border: 1.5px solid #fde8e5;
	border-radius: 10px;
}

.level-attestation__icon {
	font-size: 2.2rem;
	color: var(--primary);
	flex-shrink: 0;
	line-height: 1;
}

.level-attestation__text strong {
	font-family: var(--font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	color: #111;
	margin-bottom: 8px;
}

.level-attestation__text p {
	font-size: 0.85rem;
	color: #555;
	line-height: 1.7;
	margin: 0 0 10px;
}

.level-attestation__note {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 0.95rem;
	color: #888;
	background: rgba(232,66,43,0.04);
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid rgba(232,66,43,0.12);
	margin: 0 !important;
}

.level-attestation__note i {color: var(--primary);flex-shrink: 0;margin-top: 6px;}

/******************** Étapes suivantes ********************/
.level-suite__intro {
	font-size: 0.875rem;
	color: rgba(255,255,255,0.6);
	margin: 0 0 16px;
}

.level-suite-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.level-suite-card {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 10px;
}

.level-suite-card .niveau-pill { flex-shrink: 0; }

.level-suite-card strong {
	display: block;
	font-family: var(--font-heading);
	font-size: 0.9rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 5px;
}

.level-suite-card p {
	font-size: 0.8rem;
	color: rgba(255,255,255,0.55);
	line-height: 1.55;
	margin: 0 0 12px;
}

/******************** Sidebar ********************/
.level-sidebar {}

.level-sidebar__sticky {
	position: sticky;
	top: calc(var(--nav-h) + 16px);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sidebar-block {
	background: #fff;
	border: 1.5px solid #e8e8e8;
	border-radius: 14px;
	padding: 20px 22px;
}

.sidebar-block__title {
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	color: #111;
	margin: 0 0 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.sidebar-block__text {
	font-size: 0.82rem;
	color: #666;
	line-height: 1.65;
	margin: 0 0 14px;
}

.sidebar-block--subv { background: #fff8f7; border-color: #fde8e5; }
.sidebar-block--subv .sidebar-block__title { color: var(--primary); }
.sidebar-block--subv p { font-size: 0.82rem; color: #555; line-height: 1.65; margin: 0 0 10px; }
.sidebar-block__icon { font-size: 1.5rem; color: var(--primary); margin-bottom: 8px; }

/******************** Sidebar summary ********************/
.sidebar-summary {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
	display: flex;
	flex-direction: column;
}

.sidebar-summary li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px solid #f3f4f6;
}

.sidebar-summary li:last-child { border-bottom: none; }

.sidebar-summary li > i {
	color: var(--primary);
	font-size: 0.95rem;
	flex-shrink: 0;
	width: 16px;
	text-align: center;
}

.sb-label {
	display: block;
	font-size: 9.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #aaa;
	margin-bottom: 1px;
}

.sb-value {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	color: #111;
	line-height: 1.3;
}

/******************** Sidebar contacts ********************/
.sidebar-contacts { display: flex; flex-direction: column; gap: 8px; }

.sidebar-contact {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: #f7f7f5;
	border-radius: 8px;
	border: 1px solid #eee;
	text-decoration: none;
	transition: border-color 0.15s, background 0.15s;
}

.sidebar-contact:hover { border-color: var(--primary); background: #fff8f7; }
.sidebar-contact i { color: var(--primary); font-size: 1.1rem; flex-shrink: 0; }
.sidebar-contact span { display: block; font-size: 9.5px; color: #aaa; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
.sidebar-contact strong { display: block; font-family: var(--font-heading); font-size: 0.8rem; font-weight: 700; color: #111; }

/******************** Responsive ********************/
@media (max-width: 1024px) {
	.level-grid { grid-template-columns: 1fr 260px; }
}

@media (max-width: 768px) {
	.level-grid { grid-template-columns: 1fr; }
	.level-sidebar { order: -1; }
	.level-sidebar__sticky { position: static; }
	.level-block { padding: 22px 18px; }
	.level-methodo-grid { grid-template-columns: 1fr; }
	.level-suite-cards { grid-template-columns: 1fr; }
	.level-header__top { flex-direction: column; align-items: flex-start; }
	.level-attestation { flex-direction: column; gap: 12px; }
}

/* =============================================================
   INTERLANGUES – aupair.css
   Session-cards, breadcrumb, niveau-blocks, FAQ, programme
   Réutilisable pour toutes les pages de cours
   ============================================================= */

/* ===== BREADCRUMB ===== */
.breadcrumb {
	background: var(--gray-light);
	border-bottom: 1px solid var(--gray-mid);
	padding: 12px 0;
}
.breadcrumb__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--font-heading);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}
.breadcrumb__list a {
	color: var(--gray);
	text-decoration: none;
	transition: color var(--transition);
}
.breadcrumb__list a:hover { color: var(--primary); }
.breadcrumb__list i { color: var(--gray-mid); font-size: 0.7rem; }
.breadcrumb__list [aria-current="page"] { color: var(--black); }

/* ===== HERO INNER (pages internes) ===== */
.hero--inner {
	min-height: 52vh;
	max-height: 52vh;
}

/* ===== INTRO TEXT ===== */
.intro-text {
	max-width: 860px;
	margin: 0 auto 56px;
	text-align: center;
}
.intro-text__lead {
	font-size: 1.12rem;
	color: var(--gray-dark);
	line-height: 1.82;
	margin-bottom: 28px;
}
.intro-text__badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.intro-text__badges li {
	display: flex;
	align-items: center;
	gap: 7px;
	background: var(--white);
	border: 1.5px solid var(--gray-mid);
	padding: 8px 16px;
	border-radius: 100px;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--black);
	transition: border-color var(--transition), color var(--transition);
}
.intro-text__badges li:hover { border-color: var(--primary); color: var(--primary); }
.intro-text__badges li i { color: var(--primary); font-size: 0.95rem; }

/* ===== INTRO TEXT BODY — contenu riche SEO (H2/H3/listes), même pattern que .location-intro__text ===== */
.intro-text__body {
	text-align: left;
	font-size: 1.05rem;
	color: var(--gray-dark);
	line-height: 1.82;
	margin-bottom: 28px;
}
.intro-text__body h2 { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 700; margin: 1.5em 0 0.5em; }
.intro-text__body h3 { font-family: var(--font-heading); font-size: 1.1rem; font-weight: 700; margin: 1.3em 0 0.4em; }
.intro-text__body p  { margin-bottom: 0.9em; }
.intro-text__body ul,
.intro-text__body ol  { padding-left: 1.5em; margin-bottom: 0.9em; text-align: left; }
.intro-text__body li  { margin-bottom: 0.25em; }
.intro-text__body strong { color: var(--black); font-weight: 700; }
.intro-text__body a   { color: var(--primary); text-decoration: underline; }
.intro-text__body blockquote {
	border-left: 3px solid var(--primary);
	padding: 0.5em 1em;
	margin: 1em 0;
	background: var(--gray-light);
	border-radius: 0 var(--radius) var(--radius) 0;
	font-style: italic;
	color: var(--gray);
}

/* ===== AVANTAGES ===== */
.ap-avantages {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.ap-avantage {
	padding: 24px 20px;
	background: var(--black-soft);
	border-radius: var(--radius-md);
	border-top: 3px solid transparent;
	transition: border-color var(--transition), transform var(--transition);
}
.ap-avantage:hover {
	border-top-color: var(--primary);
	transform: translateY(-3px);
}
.ap-avantage__icon {
	width: 44px;
	height: 44px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	color: var(--primary);
	margin-bottom: 14px;
}
.ap-avantage h3 {
	color: white;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.9rem;
	margin-bottom: 8px;
}
.ap-avantage p {
	font-size: 0.82rem;
	color: var(--gray);
	line-height: 1.65;
	margin: 0;
}

/* ===== NIVEAU BLOCK ===== */
.niveau-block {
	margin-bottom: 48px;
}
.niveau-block:last-child { margin-bottom: 0; }

.niveau-block__title {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--gray-mid);
}
.niveau-pills-group {
	display: flex;
	gap: 6px;
	flex-shrink: 0;
}
.niveau-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--radius);
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
}
.niveau-pill--a {
	background: #e8f4e8;
	color: #2a7a2a;
	border: 2px solid #b8dcb8;
}
.niveau-pill--b {
	background: #e8eef8;
	color: #2a4a9a;
	border: 2px solid #b8c8e8;
}
.niveau-pill--c {
	background: #f8e8e8;
	color: #9a2a2a;
	border: 2px solid #e8b8b8;
}

.niveau-block__title > div:last-child {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.niveau-block__title strong {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1rem;
}
.niveau-block__title span {
	font-size: 0.82rem;
	color: var(--gray);
}

/* ===== SESSIONS LIST ===== */
.sessions-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* ===== SESSION CARD ===== */
.session-card {
	display: grid;
	grid-template-columns: 1fr 240px;
	gap: 0;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: box-shadow var(--transition), border-color var(--transition);
}
.session-card:hover {
	box-shadow: var(--shadow-lg);
	border-color: var(--primary);
}

/* Left */
.session-card__left {
	padding: 28px 32px;
	border-right: 1px solid var(--gray-mid);
}

.session-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.session-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 12px;
	border-radius: 100px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.session-badge--presentiel {
	background: #e8f0f8;
	color: #2a5a9a;
}
.session-badge--online {
	background: #e8f4f0;
	color: #1a7a5a;
}
.session-badge--garanti {
	background: #e8f4e8;
	color: #2a7a2a;
}
.session-badge--subv {
	background: #fff4e0;
	color: #8a5a00;
}
.session-badge--delf {
	background: rgba(232,66,43,0.08);
	color: var(--primary);
}
.session-badge--private {
	background: #f4e8f8;
	color: #7a2a9a;
}

.session-card__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.05rem;
	letter-spacing: -0.02em;
	margin-bottom: 10px;
}

.session-card__desc {
	font-size: 0.88rem;
	color: var(--gray-dark);
	line-height: 1.72;
	margin-bottom: 20px;
}

/* Details DL */
.session-card__details {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.session-detail {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.session-detail dt {
	font-size: 1rem;
	color: var(--primary);
	flex-shrink: 0;
	margin-top: 1px;
	width: 18px;
}
.session-detail dd {
	font-size: 0.84rem;
	color: var(--gray-dark);
	line-height: 1.5;
}

/* Right */
.session-card__right {
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	background: var(--gray-lightest);
}

.session-card__price {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--gray-mid);
}
.session-price__label {
	font-family: var(--font-heading);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray);
}
.session-price__value {
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 1.7rem;
	letter-spacing: -0.03em;
	color: var(--black);
	line-height: 1;
}
.session-price__unit {
	font-size: 0.72rem;
	color: var(--gray);
	font-family: var(--font-heading);
	font-weight: 600;
}

.session-card__price-details {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-bottom: 4px;
}
.session-card__price-details p {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 0.75rem;
	color: var(--gray-dark);
	margin: 0;
	line-height: 1.4;
}
.session-card__price-details i {
	color: var(--primary);
	font-size: 0.8rem;
	flex-shrink: 0;
}
.session-card__price-details em {
	color: var(--gray);
	font-style: italic;
}

.session-card__more {
	display: block;
	text-align: center;
	font-family: var(--font-heading);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--gray);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--transition);
}
.session-card__more:hover { color: var(--primary); }

/* Link inline red */
.link--red {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 600;
}
.link--red:hover { color: var(--primary-dark); }

/* ===== PROGRAMME ===== */
.programme-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.programme-content .section__label { margin-bottom: 10px; }
.programme-content .section__title { margin-bottom: 18px; }
.programme-content > p {
	font-size: 1rem;
	color: var(--gray);
	line-height: 1.78;
	margin-bottom: 32px;
}

.programme-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 28px;
}
.programme-item {
	padding: 20px 18px;
	background: var(--gray-light);
	border-radius: var(--radius);
	border-left: 3px solid transparent;
	transition: border-color var(--transition);
}
.programme-item:hover { border-left-color: var(--primary); }
.programme-item i {
	font-size: 1.3rem;
	color: var(--primary);
	display: block;
	margin-bottom: 8px;
}
.programme-item h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.85rem;
	margin-bottom: 5px;
}
.programme-item p {
	font-size: 0.78rem;
	color: var(--gray);
	line-height: 1.55;
	margin: 0;
}

.programme-certif {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border: 1.5px solid var(--gray-mid);
	border-radius: var(--radius);
	background: var(--white);
}
.programme-certif__icon {
	width: 40px;
	height: 40px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	color: var(--primary);
	flex-shrink: 0;
}
.programme-certif strong {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.82rem;
	margin-bottom: 4px;
}
.programme-certif p {
	font-size: 0.78rem;
	color: var(--gray);
	margin: 0;
	line-height: 1.55;
}

.programme-visuel {
	position: relative;
	border-radius: var(--radius-md);
}
.programme-visuel img {
	height: 520px;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-xl);
}
.programme-visuel__badge {
	position: absolute;
	bottom: -20px;
	right: -20px;
	background: var(--primary);
	color: var(--white);
	padding: 20px 24px;
	border-radius: var(--radius-md);
	text-align: center;
	box-shadow: var(--shadow-lg);
}
.programme-visuel__badge strong {
	display: block;
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 1rem;
	margin-bottom: 4px;
}
.programme-visuel__badge span {
	font-size: 0.75rem;
	opacity: 0.88;
	font-family: var(--font-heading);
	font-weight: 600;
}

/* ===== FAQ ===== */
.faq-list {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.faq-item {
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius);
	overflow: hidden;
	transition: border-color var(--transition);
}
.faq-item:has([aria-expanded="true"]) {
	border-color: var(--primary);
}
.faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 20px 24px;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--black);
	text-align: left;
	transition: color var(--transition);
}
.faq-question:hover { color: var(--primary); }
.faq-icon {
	font-size: 1rem;
	color: var(--primary);
	flex-shrink: 0;
	transition: transform var(--transition);
}
.faq-question[aria-expanded="true"] .faq-icon {
	transform: rotate(45deg);
}
.faq-answer {
	padding: 0 24px 20px;
}
.faq-answer p {
	font-size: 0.88rem;
	color: var(--gray-dark);
	line-height: 1.78;
	margin: 0;
}
.faq-answer strong { color: var(--black); }

/* ===== CTA SIMPLE ===== */
.cta-simple {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}
.cta-simple .section__label { margin-bottom: 10px; }
.cta-simple .section__title { margin-bottom: 18px; }
.cta-simple > p {
	color: rgba(255,255,255,0.7);
	font-size: 1rem;
	line-height: 1.78;
	margin-bottom: 36px;
}
.cta-simple .hero__actions {
	justify-content: center;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
	.ap-avantages { grid-template-columns: repeat(2, 1fr); }
	.programme-layout { gap: 56px; }
}

@media (max-width: 992px) {
	.hero--inner { min-height: 45vh; max-height: none; }
	.session-card { grid-template-columns: 1fr; }
	.session-card__left { border-right: none; border-bottom: 1px solid var(--gray-mid); }
	.session-card__right { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; }
	.session-card__price { padding-bottom: 0; border-bottom: none; flex-direction: row; align-items: baseline; gap: 8px; }
	.session-card__price-details { width: 100%; }
	.programme-layout { grid-template-columns: 1fr; gap: 48px; }
	.programme-visuel { display: none; }
}

@media (max-width: 768px) {
	.ap-avantages { grid-template-columns: 1fr; }
	.programme-grid { grid-template-columns: 1fr; }
	.session-card__right { flex-direction: column; }
	.session-card__price { flex-direction: column; }
	.intro-text__badges { justify-content: flex-start; }
}

/* =============================================================
   INTERLANGUES – about.css
   ============================================================= */

/* ===== STATS ===== */
.about-stats {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.about-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 1;
	min-width: 120px;
	padding: 28px 20px;
	background: var(--gray-light);
	border-radius: var(--radius-md);
	border-top: 3px solid transparent;
	text-align: center;
	transition: border-color var(--transition), transform var(--transition);
}
.about-stat:hover { border-top-color: var(--primary); transform: translateY(-3px); }
.about-stat--accent { background: var(--black); border-top-color: var(--primary); }
.about-stat--accent .about-stat__value,
.about-stat--accent .about-stat__label { color: var(--white); }
.about-stat__value {
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 2.2rem;
	letter-spacing: -0.03em;
	color: var(--black);
	line-height: 1;
}
.about-stat__label {
	font-family: var(--font-heading);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray);
}

/* ===== SPLIT ===== */
.about-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}
.about-split__content .section__label { margin-bottom: 10px; }
.about-split__content .section__title { margin-bottom: 20px; }
.about-split__content p { font-size: 1rem; color: var(--gray-dark); line-height: 1.82; margin-bottom: 16px; }
.about-split__content p:last-of-type { margin-bottom: 0; }
.about-split__content strong { color: var(--black); }
.about-split__visual { position: relative; border-radius: var(--radius-md); }
.about-split__visual img { height: 460px; border-radius: var(--radius-md); box-shadow: var(--shadow-xl); }
.about-split__year {
	position: absolute;
	bottom: -20px;
	right: -20px;
	background: var(--primary);
	color: var(--white);
	padding: 22px 28px;
	border-radius: var(--radius-md);
	text-align: center;
	box-shadow: var(--shadow-lg);
}
.about-split__year strong {
	display: block;
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 2rem;
	line-height: 1;
	margin-bottom: 6px;
}
.about-split__year span {
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.88;
	font-family: var(--font-heading);
	font-weight: 600;
}

/* ===== VALEURS ===== */
.about-values {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.about-value {
	padding: 28px 24px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius-md);
	transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.about-value:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--primary); }
.about-value__icon {
	width: 48px;
	height: 48px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	color: var(--primary);
	margin-bottom: 16px;
}
.about-value h3 { font-family: var(--font-heading); font-weight: 700; font-size: 0.95rem; margin-bottom: 10px; }
.about-value p { font-size: 0.85rem; color: var(--gray); line-height: 1.7; margin: 0; }

/* ===== CERTIFICATIONS ===== */
.about-certifs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.about-certif {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 28px;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--radius-md);
	transition: border-color var(--transition), background var(--transition);
}
.about-certif:hover { border-color: rgba(232,66,43,0.35); background: rgba(232,66,43,0.06); }
.about-certif__logo {
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.06);
	border-radius: var(--radius);
	border: 1px solid rgba(255,255,255,0.1);
}
.about-certif__logo img { width: 40px; height: 40px; object-fit: contain; filter: brightness(0) invert(1); opacity: 0.8; }
.about-certif__logo--text { font-family: var(--font-heading); font-weight: 900; font-size: 1rem; color: var(--primary); letter-spacing: 0.04em; }
.about-certif__body strong { display: block; font-family: var(--font-heading); font-weight: 700; font-size: 0.88rem; color: var(--white); margin-bottom: 8px; }
.about-certif__body p { font-size: 0.82rem; color: rgba(255,255,255,0.55); line-height: 1.7; margin: 0; }

/* ===== SUBVENTIONS ===== */
.about-subv { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-subv__content .section__label { margin-bottom: 10px; }
.about-subv__content .section__title { margin-bottom: 18px; }
.about-subv__content > p { font-size: 1rem; color: var(--gray-dark); line-height: 1.78; margin-bottom: 24px; }
.about-subv__list { list-style: none; margin: 0 0 32px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.about-subv__list li { display: flex; align-items: center; gap: 14px; font-size: 0.92rem; color: var(--gray-dark); }
.about-subv__list i { font-size: 1.2rem; color: var(--primary); flex-shrink: 0; width: 20px; }
.about-subv__list strong { color: var(--black); }
.about-subv__visual img { height: 420px; border-radius: var(--radius-md); box-shadow: var(--shadow-xl); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
	.about-values  { grid-template-columns: repeat(2, 1fr); }
	.about-certifs { grid-template-columns: 1fr; }
	.about-split   { gap: 56px; }
	.about-subv    { gap: 56px; }
}
@media (max-width: 992px) {
	.about-split  { grid-template-columns: 1fr; }
	.about-subv   { grid-template-columns: 1fr; }
	.about-split__visual { display: none; }
	.about-subv__visual  { display: none; }
	.about-stats  { justify-content: center; }
	.about-stat   { min-width: 140px; flex: 0 1 140px; }
}
@media (max-width: 768px) {
	.about-values { grid-template-columns: 1fr; }
	.about-stat   { min-width: 120px; flex: 1 1 120px; }
}

/* =============================================================
   INTERLANGUES – location.css
   Styles spécifiques aux pages publiques /neuchatel etc.
   ============================================================= */

/* ===== INTRO + HIGHLIGHTS ===== */
.location-intro {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 56px;
	align-items: start;
}

.location-intro__text {
	font-size: 1.05rem;
	color: var(--gray-dark);
	line-height: 1.82;
}
.location-intro__text .section__label { margin-bottom: 10px; }

/* Contenu HTML de l'éditeur */
.location-intro__text h2 { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 700; margin: 1.5em 0 0.5em; }
.location-intro__text h3 { font-family: var(--font-heading); font-size: 1.1rem; font-weight: 700; margin: 1.3em 0 0.4em; }
.location-intro__text p  { margin-bottom: 0.9em; }
.location-intro__text ul,
.location-intro__text ol  { padding-left: 1.5em; margin-bottom: 0.9em; }
.location-intro__text li  { margin-bottom: 0.25em; }
.location-intro__text strong { color: var(--black); font-weight: 700; }
.location-intro__text a   { color: var(--primary); text-decoration: underline; }
.location-intro__text blockquote {
	border-left: 3px solid var(--primary);
	padding: 0.5em 1em;
	margin: 1em 0;
	background: var(--gray-light);
	border-radius: 0 var(--radius) var(--radius) 0;
	font-style: italic;
	color: var(--gray);
}

.location-highlights {
	display: flex;
	flex-direction: column;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 220px;
}

.location-highlight {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-left: 3px solid var(--primary);
	border-radius: var(--radius);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--black);
	transition: transform var(--transition), box-shadow var(--transition);
}
.location-highlight:hover {
	transform: translateX(4px);
	box-shadow: var(--shadow-sm);
}

/* ===== AMENITÉS ===== */
.location-amenities {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.location-amenity {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius-md);
	transition: border-color var(--transition), transform var(--transition);
}
.location-amenity:hover {
	border-color: var(--primary);
	transform: translateY(-2px);
}

.location-amenity__icon {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	color: var(--primary);
}

.location-amenity span {
	font-size: 0.88rem;
	color: var(--gray-dark);
	line-height: 1.4;
	font-weight: 500;
}

/* ===== INFOS PRATIQUES ===== */
.location-infos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.location-info-card {
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius-md);
	padding: 28px;
}

.location-info-card__icon {
	width: 44px;
	height: 44px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	color: var(--primary);
	margin-bottom: 16px;
}

.location-info-card h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--black);
	margin-bottom: 14px;
}

.location-info-card address {
	font-style: normal;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.location-info-card address p {
	font-size: 0.9rem;
	color: var(--gray-dark);
	margin: 0;
	line-height: 1.6;
}
.location-info-card address a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9rem;
	color: var(--gray-dark);
	text-decoration: none;
	transition: color var(--transition);
}
.location-info-card address a:hover { color: var(--primary); }
.location-info-card address i { color: var(--primary); flex-shrink: 0; }

/* Horaires */
.location-hours {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.location-hours li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.88rem;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--gray-mid);
}
.location-hours li:last-child { border-bottom: none; padding-bottom: 0; }
.location-hours__day {
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--black);
	text-transform: capitalize;
}
.location-hours__time { color: var(--gray); }

/* Carte */
.location-map {
	margin-bottom: 12px;
	border-radius: 8px;
	overflow: hidden;
}
.location-map__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--primary);
	text-decoration: none;
	transition: gap var(--transition);
}
.location-map__link:hover { gap: 9px; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
	.location-intro { gap: 40px; }
}

@media (max-width: 992px) {
	.location-intro {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.location-highlights {
		flex-direction: row;
		flex-wrap: wrap;
		min-width: auto;
	}
	.location-highlight { flex: 1 1 auto; }

	.location-infos {
		grid-template-columns: 1fr 1fr;
	}
	.location-info-card--map { grid-column: span 2; }

	.location-amenities {
		grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	}
}

@media (max-width: 576px) {
	.location-infos { grid-template-columns: 1fr; }
	.location-info-card--map { grid-column: span 1; }
	.location-highlight { flex: 1 1 100%; }
	.location-amenities { grid-template-columns: 1fr 1fr; }
}
/* =============================================================
   INTERLANGUES – additions.css
   Styles complémentaires à style.css
   À importer après style.css dans le layout default

   Contenu :
   1. Section "Une équipe qui vous comprend" (location-welcome)
   2. Réassurance sous les sessions
   3. Sidebar bloc équipe (sidebar-block--team)
   4. Level prose vert (level-prose--green)
   5. Page session publique (session-hero, session-cta-card…)
   ============================================================= */

/* =============================================================
   1. ACCUEIL MULTILINGUE + TEST DE POSITIONNEMENT
   ============================================================= */

.location-welcome {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

.location-welcome__content .section__label { margin-bottom: 10px; }

.location-welcome__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--black);
	margin-bottom: 14px;
}

.location-welcome__content > p {
	font-size: 1rem;
	color: var(--gray-dark);
	line-height: 1.78;
	margin-bottom: 24px;
}

.location-welcome__languages {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.location-welcome__languages span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: 100px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.8rem;
	color: var(--black);
	letter-spacing: 0.02em;
	transition: border-color var(--transition), color var(--transition);
}
.location-welcome__languages span:hover {
	border-color: var(--primary);
	color: var(--primary);
}

.location-welcome__test {
	background: var(--black);
	padding: 40px;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
}

.location-welcome__test-icon {
	width: 48px;
	height: 48px;
	background: var(--primary);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	color: var(--white);
	margin-bottom: 18px;
}

.location-welcome__test h3 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.2rem;
	letter-spacing: -0.02em;
	color: var(--white);
	margin-bottom: 10px;
	line-height: 1.2;
}

.location-welcome__test > p {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.62);
	line-height: 1.75;
	margin-bottom: 24px;
}

.location-welcome__test .btn--primary {
	width: 100%;
	justify-content: center;
	margin-bottom: 16px;
}

.location-welcome__contacts {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.location-welcome__contact {
	display: flex;
	align-items: center;
	gap: 12px;
	color: rgba(255, 255, 255, 0.62);
	text-decoration: none;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.88rem;
	transition: color var(--transition);
}
.location-welcome__contact:hover { color: var(--white); }

.location-welcome__contact i {
	width: 32px;
	height: 32px;
	background: rgba(232, 66, 43, 0.15);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--primary);
	font-size: 1rem;
	flex-shrink: 0;
	transition: background var(--transition);
}
.location-welcome__contact:hover i { background: rgba(232, 66, 43, 0.28); }

/* =============================================================
   2. RÉASSURANCE SOUS LES SESSIONS
   ============================================================= */

.sessions-reassurance {
	display: flex;
	margin-top: 20px;
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--white);
}

.sessions-reassurance__item {
	flex: 1;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	border-right: 1px solid var(--gray-mid);
}
.sessions-reassurance__item:last-child { border-right: none; }

.sessions-reassurance__item i {
	font-size: 1.1rem;
	color: var(--primary);
	flex-shrink: 0;
	margin-top: 2px;
}

.sessions-reassurance__item p {
	font-size: 0.82rem;
	color: var(--gray-dark);
	line-height: 1.55;
	margin: 0;
}
.sessions-reassurance__item strong { color: var(--black); }
.sessions-reassurance__item a {
	color: var(--primary);
	font-weight: 600;
	text-decoration: none;
}
.sessions-reassurance__item a:hover { text-decoration: underline; }

/* =============================================================
   3. SIDEBAR BLOC ÉQUIPE
   ============================================================= */

.sidebar-block--team {
	background: var(--gray-lightest);
	border-color: var(--gray-mid);
}
.sidebar-block--team .sidebar-block__title { color: var(--black); }

/* =============================================================
   4. LEVEL PROSE VERT (objectifs CECR)
   ============================================================= */

.level-prose--green {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: var(--radius-md);
	padding: 16px 20px;
}
.level-prose--green p {
	color: #166534;
	font-size: 0.875rem;
	line-height: 1.75;
	margin-bottom: 8px;
}
.level-prose--green p:last-child { margin-bottom: 0; }

/* =============================================================
   5. PAGE SESSION PUBLIQUE
   ============================================================= */

.session-hero {
	background: var(--black);
	padding: 48px 0 56px;
	border-bottom: 3px solid var(--primary);
	margin-top: var(--nav-h);
}

.session-hero__inner {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 48px;
	align-items: start;
}

.session-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.session-badge--level {
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.session-hero__title {
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	letter-spacing: -0.03em;
	color: var(--white);
	line-height: 1.1;
	margin-bottom: 16px;
}

.session-hero__desc {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.75;
	margin-bottom: 24px;
}

.session-hero__details {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

.session-hero__detail {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.session-hero__detail dt {
	color: var(--primary);
	font-size: 1rem;
	flex-shrink: 0;
	margin-top: 1px;
	width: 18px;
}
.session-hero__detail dd {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.5;
}

/* ── Card CTA prix ── */
.session-cta-card {
	background: var(--white);
	border-radius: var(--radius-md);
	padding: 28px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
	position: sticky;
	top: calc(var(--nav-h) + 16px);
}

.session-cta-card__price {
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--gray-mid);
}

.session-cta-card__price-label {
	display: block;
	font-family: var(--font-heading);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray);
	margin-bottom: 6px;
}

.session-cta-card__price-value {
	display: block;
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 2.2rem;
	letter-spacing: -0.03em;
	color: var(--black);
	line-height: 1;
	margin-bottom: 4px;
}

.session-cta-card__price-unit {
	display: block;
	font-size: 0.75rem;
	color: var(--gray);
	font-family: var(--font-heading);
	font-weight: 600;
}

.session-cta-card__material {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 0.78rem;
	color: var(--gray-dark);
	background: var(--gray-lightest);
	border-radius: var(--radius);
	padding: 8px 12px;
	margin-bottom: 14px;
}
.session-cta-card__material i { color: var(--primary); }

.session-cta-card__seats {
	display: flex;
	align-items: center;
	gap: 7px;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--gray-dark);
	margin-bottom: 14px;
}
.session-cta-card__seats i { color: var(--primary); }
.session-cta-card__seats--urgent { color: var(--primary); }

.session-cta-card .btn--primary {
	width: 100%;
	justify-content: center;
	margin-bottom: 10px;
}

.session-cta-card__secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--gray);
	text-decoration: none;
	margin-bottom: 20px;
	transition: color var(--transition);
}
.session-cta-card__secondary:hover { color: var(--primary); }

.session-cta-card__reassurance {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 16px;
	border-top: 1px solid var(--gray-mid);
}
.session-cta-card__reassurance li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.78rem;
	color: var(--gray-dark);
}
.session-cta-card__reassurance i { color: var(--primary); font-size: 0.9rem; }

/* ── Rappel niveau ── */
.session-level-recap {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 32px;
	align-items: start;
	padding: 32px;
	background: var(--gray-lightest);
	border: 1px solid var(--gray-mid);
	border-left: 4px solid var(--primary);
	border-radius: var(--radius-md);
}

.session-level-recap__badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.session-level-recap__badge strong {
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--black);
	text-align: center;
}

.session-level-recap__content h2 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.15rem;
	letter-spacing: -0.02em;
	color: var(--black);
	margin-bottom: 10px;
}

.session-level-recap__content p {
	font-size: 0.9rem;
	color: var(--gray-dark);
	line-height: 1.75;
	margin-bottom: 12px;
}

.session-level-recap__objectives {
	font-size: 0.85rem;
	color: var(--gray-dark);
	line-height: 1.7;
	margin-bottom: 14px;
	padding: 14px 16px;
	background: var(--white);
	border-radius: var(--radius);
	border: 1px solid var(--gray-mid);
}

/* =============================================================
   RESPONSIVE
   ============================================================= */

@media (max-width: 992px) {
	.location-welcome {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.session-hero__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.session-cta-card { position: static; }
}

@media (max-width: 768px) {
	.sessions-reassurance {
		flex-direction: column;
	}
	.sessions-reassurance__item {
		border-right: none;
		border-bottom: 1px solid var(--gray-mid);
	}
	.sessions-reassurance__item:last-child { border-bottom: none; }

	.session-hero { padding: 36px 0 40px; }

	.session-level-recap {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.session-level-recap__badge {
		flex-direction: row;
		align-items: center;
	}
}

/* =============================================================
   6. PAGE JEUNES AU PAIR — CALENDRIER & ACTIVITÉS
   ============================================================= */

/* ── Calendrier ── */
.ap-calendar {
	max-width: 680px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ap-calendar__semestre {
	margin: 8px 0 4px;
}

.ap-calendar__semestre-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
	background: var(--black);
	border-radius: var(--radius);
	gap: 16px;
}

.ap-calendar__semestre-label {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--primary);
}

.ap-calendar__semestre-dates {
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 600;
	color: rgba(255,255,255,0.6);
}

.ap-calendar__row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius);
	border-left: 4px solid transparent;
	transition: border-color var(--transition), transform var(--transition);
}
.ap-calendar__row:hover { transform: translateX(4px); }

.ap-calendar__row--start  { border-left-color: #059669; }
.ap-calendar__row--end    { border-left-color: #059669; }
.ap-calendar__row--vacances { border-left-color: var(--primary); }

.ap-calendar__icon {
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	background: var(--gray-lightest);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	color: var(--primary);
}

.ap-calendar__row--start  .ap-calendar__icon,
.ap-calendar__row--end    .ap-calendar__icon { color: #059669; }

.ap-calendar__content {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ap-calendar__content strong {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--black);
}

.ap-calendar__content span {
	font-size: 0.82rem;
	color: var(--gray);
}

/* ── Activités en commun ── */
.ap-activites {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 8px;
}

.ap-activite-card {
	background: var(--white);
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--gray-mid);
	transition: transform var(--transition), box-shadow var(--transition);
}
.ap-activite-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

.ap-activite-card__num {
	background: var(--black);
	padding: 10px 20px;
}
.ap-activite-card__num span {
	font-family: var(--font-heading);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--primary);
}

.ap-activite-card__body {
	padding: 24px;
}

.ap-activite-card__icon {
	width: 44px;
	height: 44px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	color: var(--primary);
	margin-bottom: 14px;
}

.ap-activite-card__body h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	color: var(--black);
	margin-bottom: 8px;
}

.ap-activite-card__body p {
	font-size: 0.875rem;
	color: var(--gray);
	line-height: 1.7;
	margin: 0;
}

@media (max-width: 768px) {
	.ap-activites { grid-template-columns: 1fr; }
	.ap-calendar__semestre-header { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* =============================================================
   7. COOKIE BANNER
   ============================================================= */

#cookie-banner {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(12px);
	z-index: 9000;
	width: calc(100% - 48px);
	max-width: 680px;
	opacity: 0;
	display: none;
	transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
}

.cookie-banner__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: var(--black);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--radius-md);
	padding: 16px 20px;
	box-shadow: 0 8px 40px rgba(0,0,0,0.35);
}

.cookie-banner__text {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
	min-width: 0;
}

.cookie-banner__text i {
	font-size: 1.2rem;
	color: var(--primary);
	flex-shrink: 0;
}

.cookie-banner__text p {
	font-size: 0.82rem;
	color: rgba(255,255,255,0.7);
	line-height: 1.5;
	margin: 0;
}

.cookie-banner__link {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: 600;
	white-space: nowrap;
}
.cookie-banner__link:hover { color: #ff6b57; }

.cookie-banner__actions {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}

.cookie-banner__btn {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: var(--radius);
	cursor: pointer;
	border: 1.5px solid transparent;
	white-space: nowrap;
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.cookie-banner__btn--primary {
	background: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}
.cookie-banner__btn--primary:hover {
	background: var(--primary-dark);
	border-color: var(--primary-dark);
}

.cookie-banner__btn--ghost {
	background: transparent;
	color: rgba(255,255,255,0.5);
	border-color: rgba(255,255,255,0.15);
}
.cookie-banner__btn--ghost:hover {
	color: var(--white);
	border-color: rgba(255,255,255,0.35);
}

@media (max-width: 576px) {
	#cookie-banner {
		bottom: 16px;
		width: calc(100% - 32px);
	}
	.cookie-banner__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.cookie-banner__actions {
		width: 100%;
		justify-content: flex-end;
	}
}

/* =============================================================
   INTERLANGUES – additions.css
   Styles complémentaires à style.css
   À importer après style.css dans le layout default

   Contenu :
   1. Section "Une équipe qui vous comprend" (location-welcome)
   2. Réassurance sous les sessions
   3. Sidebar bloc équipe (sidebar-block--team)
   4. Level prose vert (level-prose--green)
   5. Page session publique (session-hero, session-cta-card…)
   ============================================================= */

/* =============================================================
   1. ACCUEIL MULTILINGUE + TEST DE POSITIONNEMENT
   ============================================================= */

.location-welcome {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

.location-welcome__content .section__label { margin-bottom: 10px; }

.location-welcome__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--black);
	margin-bottom: 14px;
}

.location-welcome__content > p {
	font-size: 1rem;
	color: var(--gray-dark);
	line-height: 1.78;
	margin-bottom: 24px;
}

.location-welcome__languages {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.location-welcome__languages span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: 100px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.8rem;
	color: var(--black);
	letter-spacing: 0.02em;
	transition: border-color var(--transition), color var(--transition);
}
.location-welcome__languages span:hover {
	border-color: var(--primary);
	color: var(--primary);
}

.location-welcome__test {
	background: var(--black);
	padding: 40px;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-lg);
}

.location-welcome__test-icon {
	width: 48px;
	height: 48px;
	background: var(--primary);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	color: var(--white);
	margin-bottom: 18px;
}

.location-welcome__test h3 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.2rem;
	letter-spacing: -0.02em;
	color: var(--white);
	margin-bottom: 10px;
	line-height: 1.2;
}

.location-welcome__test > p {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.62);
	line-height: 1.75;
	margin-bottom: 24px;
}

.location-welcome__test .btn--primary {
	width: 100%;
	justify-content: center;
	margin-bottom: 16px;
}

.location-welcome__contacts {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.location-welcome__contact {
	display: flex;
	align-items: center;
	gap: 12px;
	color: rgba(255, 255, 255, 0.62);
	text-decoration: none;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.88rem;
	transition: color var(--transition);
}
.location-welcome__contact:hover { color: var(--white); }

.location-welcome__contact i {
	width: 32px;
	height: 32px;
	background: rgba(232, 66, 43, 0.15);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--primary);
	font-size: 1rem;
	flex-shrink: 0;
	transition: background var(--transition);
}
.location-welcome__contact:hover i { background: rgba(232, 66, 43, 0.28); }

/* =============================================================
   2. RÉASSURANCE SOUS LES SESSIONS
   ============================================================= */

.sessions-reassurance {
	display: flex;
	margin-top: 20px;
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--white);
}

.sessions-reassurance__item {
	flex: 1;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	border-right: 1px solid var(--gray-mid);
}
.sessions-reassurance__item:last-child { border-right: none; }

.sessions-reassurance__item i {
	font-size: 1.1rem;
	color: var(--primary);
	flex-shrink: 0;
	margin-top: 2px;
}

.sessions-reassurance__item p {
	font-size: 0.82rem;
	color: var(--gray-dark);
	line-height: 1.55;
	margin: 0;
}
.sessions-reassurance__item strong { color: var(--black); }
.sessions-reassurance__item a {
	color: var(--primary);
	font-weight: 600;
	text-decoration: none;
}
.sessions-reassurance__item a:hover { text-decoration: underline; }

/* =============================================================
   3. SIDEBAR BLOC ÉQUIPE
   ============================================================= */

.sidebar-block--team {
	background: var(--gray-lightest);
	border-color: var(--gray-mid);
}
.sidebar-block--team .sidebar-block__title { color: var(--black); }

/* =============================================================
   4. LEVEL PROSE VERT (objectifs CECR)
   ============================================================= */

.level-prose--green {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: var(--radius-md);
	padding: 16px 20px;
}
.level-prose--green p {
	color: #166534;
	font-size: 0.875rem;
	line-height: 1.75;
	margin-bottom: 8px;
}
.level-prose--green p:last-child { margin-bottom: 0; }

/* =============================================================
   5. PAGE SESSION PUBLIQUE
   ============================================================= */

.session-hero {
	background: var(--black);
	padding: 48px 0 56px;
	border-bottom: 3px solid var(--primary);
	margin-top: var(--nav-h);
}

.session-hero__inner {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 48px;
	align-items: start;
}

.session-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.session-badge--level {
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(255, 255, 255, 0.15);
}

.session-hero__title {
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	letter-spacing: -0.03em;
	color: var(--white);
	line-height: 1.1;
	margin-bottom: 16px;
}

.session-hero__desc {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.75;
	margin-bottom: 24px;
}

.session-hero__details {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

.session-hero__detail {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.session-hero__detail dt {
	color: var(--primary);
	font-size: 1rem;
	flex-shrink: 0;
	margin-top: 1px;
	width: 18px;
}
.session-hero__detail dd {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.5;
}

/* ── Card CTA prix ── */
.session-cta-card {
	background: var(--white);
	border-radius: var(--radius-md);
	padding: 28px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
	position: sticky;
	top: calc(var(--nav-h) + 16px);
}

.session-cta-card__price {
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--gray-mid);
}

.session-cta-card__price-label {
	display: block;
	font-family: var(--font-heading);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray);
	margin-bottom: 6px;
}

.session-cta-card__price-value {
	display: block;
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 2.2rem;
	letter-spacing: -0.03em;
	color: var(--black);
	line-height: 1;
	margin-bottom: 4px;
}

.session-cta-card__price-unit {
	display: block;
	font-size: 0.75rem;
	color: var(--gray);
	font-family: var(--font-heading);
	font-weight: 600;
}

.session-cta-card__material {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 0.78rem;
	color: var(--gray-dark);
	background: var(--gray-lightest);
	border-radius: var(--radius);
	padding: 8px 12px;
	margin-bottom: 14px;
}
.session-cta-card__material i { color: var(--primary); }

.session-cta-card__seats {
	display: flex;
	align-items: center;
	gap: 7px;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--gray-dark);
	margin-bottom: 14px;
}
.session-cta-card__seats i { color: var(--primary); }
.session-cta-card__seats--urgent { color: var(--primary); }

.session-cta-card .btn--primary {
	width: 100%;
	justify-content: center;
	margin-bottom: 10px;
}

.session-cta-card__secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--gray);
	text-decoration: none;
	margin-bottom: 20px;
	transition: color var(--transition);
}
.session-cta-card__secondary:hover { color: var(--primary); }

.session-cta-card__reassurance {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: 16px;
	border-top: 1px solid var(--gray-mid);
}
.session-cta-card__reassurance li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.78rem;
	color: var(--gray-dark);
}
.session-cta-card__reassurance i { color: var(--primary); font-size: 0.9rem; }

/* ── Rappel niveau ── */
.session-level-recap {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 32px;
	align-items: start;
	padding: 32px;
	background: var(--gray-lightest);
	border: 1px solid var(--gray-mid);
	border-left: 4px solid var(--primary);
	border-radius: var(--radius-md);
}

.session-level-recap__badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.session-level-recap__badge strong {
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--black);
	text-align: center;
}

.session-level-recap__content h2 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 1.15rem;
	letter-spacing: -0.02em;
	color: var(--black);
	margin-bottom: 10px;
}

.session-level-recap__content p {
	font-size: 0.9rem;
	color: var(--gray-dark);
	line-height: 1.75;
	margin-bottom: 12px;
}

.session-level-recap__objectives {
	font-size: 0.85rem;
	color: var(--gray-dark);
	line-height: 1.7;
	margin-bottom: 14px;
	padding: 14px 16px;
	background: var(--white);
	border-radius: var(--radius);
	border: 1px solid var(--gray-mid);
}

/* =============================================================
   RESPONSIVE
   ============================================================= */

@media (max-width: 992px) {
	.location-welcome {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.session-hero__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.session-cta-card { position: static; }
}

@media (max-width: 768px) {
	.sessions-reassurance {
		flex-direction: column;
	}
	.sessions-reassurance__item {
		border-right: none;
		border-bottom: 1px solid var(--gray-mid);
	}
	.sessions-reassurance__item:last-child { border-bottom: none; }

	.session-hero { padding: 36px 0 40px; }

	.session-level-recap {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.session-level-recap__badge {
		flex-direction: row;
		align-items: center;
	}
}

/* =============================================================
   6. PAGE JEUNES AU PAIR — CALENDRIER & ACTIVITÉS
   ============================================================= */

/* ── Calendrier ── */
.ap-calendar {
	max-width: 680px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ap-calendar__semestre {
	margin: 8px 0 4px;
}

.ap-calendar__semestre-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
	background: var(--black);
	border-radius: var(--radius);
	gap: 16px;
}

.ap-calendar__semestre-label {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--primary);
}

.ap-calendar__semestre-dates {
	font-family: var(--font-heading);
	font-size: 0.75rem;
	font-weight: 600;
	color: rgba(255,255,255,0.6);
}

.ap-calendar__row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-radius: var(--radius);
	border-left: 4px solid transparent;
	transition: border-color var(--transition), transform var(--transition);
}
.ap-calendar__row:hover { transform: translateX(4px); }

.ap-calendar__row--start  { border-left-color: #059669; }
.ap-calendar__row--end    { border-left-color: #059669; }
.ap-calendar__row--vacances { border-left-color: var(--primary); }

.ap-calendar__icon {
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	background: var(--gray-lightest);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	color: var(--primary);
}

.ap-calendar__row--start  .ap-calendar__icon,
.ap-calendar__row--end    .ap-calendar__icon { color: #059669; }

.ap-calendar__content {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ap-calendar__content strong {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--black);
}

.ap-calendar__content span {
	font-size: 0.82rem;
	color: var(--gray);
}

/* ── Activités en commun ── */
.ap-activites {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 8px;
}

.ap-activite-card {
	background: var(--white);
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--gray-mid);
	transition: transform var(--transition), box-shadow var(--transition);
}
.ap-activite-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg);
}

.ap-activite-card__num {
	background: var(--black);
	padding: 10px 20px;
}
.ap-activite-card__num span {
	font-family: var(--font-heading);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--primary);
}

.ap-activite-card__body {
	padding: 24px;
}

.ap-activite-card__icon {
	width: 44px;
	height: 44px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	color: var(--primary);
	margin-bottom: 14px;
}

.ap-activite-card__body h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	color: var(--black);
	margin-bottom: 8px;
}

.ap-activite-card__body p {
	font-size: 0.875rem;
	color: var(--gray);
	line-height: 1.7;
	margin: 0;
}

@media (max-width: 768px) {
	.ap-activites { grid-template-columns: 1fr; }
	.ap-calendar__semestre-header { flex-direction: column; align-items: flex-start; gap: 4px; }
}

/* =============================================================
   7. COOKIE BANNER
   ============================================================= */

#cookie-banner {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(12px);
	z-index: 9000;
	width: calc(100% - 48px);
	max-width: 680px;
	opacity: 0;
	display: none;
	transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
}

.cookie-banner__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: var(--black);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--radius-md);
	padding: 16px 20px;
	box-shadow: 0 8px 40px rgba(0,0,0,0.35);
}

.cookie-banner__text {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
	min-width: 0;
}

.cookie-banner__text i {
	font-size: 1.2rem;
	color: var(--primary);
	flex-shrink: 0;
}

.cookie-banner__text p {
	font-size: 0.82rem;
	color: rgba(255,255,255,0.7);
	line-height: 1.5;
	margin: 0;
}

.cookie-banner__link {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: 600;
	white-space: nowrap;
}
.cookie-banner__link:hover { color: #ff6b57; }

.cookie-banner__actions {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}

.cookie-banner__btn {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: var(--radius);
	cursor: pointer;
	border: 1.5px solid transparent;
	white-space: nowrap;
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.cookie-banner__btn--primary {
	background: var(--primary);
	color: var(--white);
	border-color: var(--primary);
}
.cookie-banner__btn--primary:hover {
	background: var(--primary-dark);
	border-color: var(--primary-dark);
}

.cookie-banner__btn--ghost {
	background: transparent;
	color: rgba(255,255,255,0.5);
	border-color: rgba(255,255,255,0.15);
}
.cookie-banner__btn--ghost:hover {
	color: var(--white);
	border-color: rgba(255,255,255,0.35);
}

@media (max-width: 576px) {
	#cookie-banner {
		bottom: 16px;
		width: calc(100% - 32px);
	}
	.cookie-banner__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.cookie-banner__actions {
		width: 100%;
		justify-content: flex-end;
	}
}

/* =============================================================
   8. PAGE FORMATIONS EN ENTREPRISE
   ============================================================= */
#pourquoi-heading{
	color: #fff;
}


.entreprise-formules {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.entreprise-formule {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	background: var(--white);
	border: 1.5px solid var(--gray-mid);
	border-radius: var(--radius-md);
	padding: 24px;
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.entreprise-formule:hover {
	border-color: var(--primary);
	box-shadow: 0 4px 24px rgba(232,66,43,.08);
	transform: translateY(-2px);
}

.entreprise-formule--featured {
	border-color: var(--primary);
	background: linear-gradient(135deg, rgba(232,66,43,.04) 0%, var(--white) 100%);
	grid-column: 1 / -1;
}

.entreprise-formule__icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	color: var(--primary);
}

.entreprise-formule__body h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1rem;
	color: var(--black);
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.entreprise-formule__body p {
	font-size: .875rem;
	color: var(--gray-dark);
	line-height: 1.7;
	margin-bottom: 14px;
}

.entreprise-formule__tags {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.entreprise-formule__tags li {
	font-family: var(--font-heading);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--primary);
	background: var(--primary-alpha);
	padding: 4px 10px;
	border-radius: 100px;
}

@media (max-width: 768px) {
	.entreprise-formule--featured { grid-column: auto; }
}

@media (max-width: 768px) {
	.entreprise-formules {
		grid-template-columns: 1fr;
	}
}

.fide-sessions-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}
@media (max-width: 768px) {
	.fide-sessions-grid { grid-template-columns: 1fr; }
}

.fide-pricing { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 18px; }
.fide-price { flex: 1 1 140px; }
.fide-price__value {
	display: block; font-family: var(--font-heading); font-weight: 900;
	font-size: 1.6rem; letter-spacing: -0.02em; color: var(--primary);
	line-height: 1; margin-bottom: 6px;
}
.fide-price__label { font-size: 0.85rem; color: var(--gray-dark); }
.fide-pricing__note { width: 100%; font-size: 0.78rem; color: var(--gray); margin-top: 4px; }

/* Grille de dates compacte, par centre */
.fide-date-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin-top: 4px;
}
.fide-date-chip {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: var(--white);
	border: 1px solid var(--gray-mid);
	border-left: 4px solid var(--primary);
	border-radius: var(--radius);
	transition: transform var(--transition), border-color var(--transition);
}
.fide-date-chip:hover { transform: translateX(4px); }
.fide-date-chip--next { border-left-color: #059669; }
.fide-date-chip__icon {
	width: 32px; height: 32px; flex-shrink: 0;
	background: var(--gray-lightest);
	border-radius: var(--radius);
	display: flex; align-items: center; justify-content: center;
	font-size: 1rem; color: var(--primary);
}
.fide-date-chip--next .fide-date-chip__icon { color: #059669; }
.fide-date-chip__content { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.fide-date-chip__content strong { font-family: var(--font-heading); font-weight: 700; font-size: 0.8rem; color: var(--black); }
.fide-date-chip__content span { font-size: 0.76rem; color: var(--gray); white-space: nowrap; }

@media (max-width: 480px) {
	.fide-date-grid { grid-template-columns: 1fr; }
}

/* Cartes tarifs (remplace l'ancien .fide-pricing en flex) */
.fide-pricing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.fide-price {
	background: var(--white);
	border: 1.5px solid #e8e8e8;
	border-radius: var(--radius-md);
	padding: 24px 20px;
	text-align: center;
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}
.fide-price:hover {
	border-color: var(--primary);
	box-shadow: 0 4px 24px rgba(232,66,43,.08);
	transform: translateY(-2px);
}
.fide-price__icon {
	width: 44px; height: 44px;
	margin: 0 auto 14px;
	background: var(--primary-alpha);
	border-radius: var(--radius);
	display: flex; align-items: center; justify-content: center;
	font-size: 1.25rem; color: var(--primary);
}
.fide-price__value {
	display: block;
	font-family: var(--font-heading);
	font-weight: 900;
	font-size: 1.9rem;
	letter-spacing: -0.02em;
	color: var(--black);
	line-height: 1;
	margin-bottom: 8px;
}
.fide-price__label { font-size: 0.85rem; color: var(--gray-dark); }
.fide-pricing__note { margin-top: 20px; font-size: 0.78rem; color: var(--gray); text-align: center; }

@media (max-width: 640px) {
	.fide-pricing { grid-template-columns: 1fr; }
}