/* ==========================================================================
   ESR 2026 — charte graphique
   Bleu nuit #141C36 · Magenta #B01A47 · Corail #E68A7A
   Titres : Abril Fatface · Texte : Jost
   ========================================================================== */

@font-face { font-family: 'Abril Fatface'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/abril-fatface-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Abril Fatface'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/abril-fatface-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 600; font-display: swap; src: url('../fonts/jost-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 600; font-display: swap; src: url('../fonts/jost-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--esr-navy: #141C36;
	--esr-navy-2: #1E2744;
	--esr-mag: #B01A47;
	--esr-coral: #E68A7A;
	--esr-ink: #3A3F4E;
	--esr-muted: #5F6377;
	--esr-pale: #C9CCD6;
	--esr-soft: #F5F5F7;
	--esr-line: rgba(20, 28, 54, .12);
	--esr-line-2: rgba(20, 28, 54, .2);
	--esr-display: 'Abril Fatface', Georgia, serif;
	--esr-sans: 'Jost', system-ui, -apple-system, sans-serif;
	--esr-wrap: 1320px;
	--esr-gutter: 24px;
	--esr-radius: 2px;
}

@keyframes esrUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes esrMarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Base ---------- */
body.esr-2026 {
	background: #fff;
	color: var(--esr-navy);
	font-family: var(--esr-sans);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
body.esr-2026 #page-container { padding-top: 0 !important; margin-top: 0 !important; overflow: clip; }
body.esr-2026 a { color: var(--esr-mag); text-decoration: none; transition: color .2s, background-color .2s, border-color .2s; }
body.esr-2026 a:hover { color: var(--esr-navy); }
.esr-2026 .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.esr-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--esr-navy); color: #fff !important; padding: 10px 16px; }
.esr-skip:focus { left: 8px; }

.esr-wrap { max-width: var(--esr-wrap); margin: 0 auto; padding-left: var(--esr-gutter); padding-right: var(--esr-gutter); box-sizing: border-box; }
.esr-2026 *, .esr-2026 *::before, .esr-2026 *::after { box-sizing: border-box; }

/* ---------- Palette & bandeau ---------- */
.esr-palette { display: flex; height: 6px; }
.esr-palette span { flex: 1; }
.esr-announce {
	background: var(--esr-navy); color: #fff; font-size: 13px; letter-spacing: .04em;
	padding: 10px var(--esr-gutter); display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; text-align: center;
}
body.esr-2026 .esr-announce a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
body.esr-2026 .esr-announce a:hover { color: var(--esr-coral); }

/* ---------- Header ---------- */
.esr-header {
	position: sticky; top: 0; z-index: 99;
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--esr-line);
}
body.admin-bar .esr-header { top: 32px; }
.esr-header__inner {
	max-width: var(--esr-wrap); margin: 0 auto; padding: 14px var(--esr-gutter);
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
body.esr-2026 .esr-logo { display: flex; align-items: center; gap: 14px; color: var(--esr-navy); flex-shrink: 0; }
.esr-logo__mark { width: 42px; height: 42px; display: block; }
.esr-logo__city { font-size: 12px; font-weight: 500; letter-spacing: .42em; text-transform: uppercase; }
body.esr-2026 .esr-logo--light { color: #fff; }
.esr-logo--light .esr-logo__mark { width: 56px; height: 56px; }

.esr-nav { display: flex; align-items: center; gap: 8px; }
.esr-menu, .esr-menu ul { list-style: none; margin: 0; padding: 0; }
.esr-menu { display: flex; align-items: center; gap: 2px; }
.esr-menu > li { position: relative; }
body.esr-2026 .esr-menu > li > a {
	display: block; padding: 9px 11px; border-radius: var(--esr-radius);
	font-size: 12.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--esr-navy); white-space: nowrap;
}
body.esr-2026 .esr-menu > li > a:hover,
body.esr-2026:not(.home) .esr-menu > li.current-menu-item > a,
body.esr-2026:not(.home) .esr-menu > li.current-menu-ancestor > a { background: rgba(20, 28, 54, .06); color: var(--esr-navy); }
.esr-menu > li.menu-item-has-children > a::after {
	content: ''; display: inline-block; width: 5px; height: 5px; margin-left: 7px; vertical-align: 3px;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg);
}
.esr-menu .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 280px; padding: 10px;
	background: #fff; border: 1px solid var(--esr-line); border-radius: var(--esr-radius);
	box-shadow: 0 20px 50px rgba(20, 28, 54, .14);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s;
}
.esr-menu .sub-menu .sub-menu { position: static; box-shadow: none; border: 0; padding: 0 0 6px 12px; min-width: 0; opacity: 1; visibility: inherit; transform: none; }
html:not(.esr-js) .esr-menu li:hover > .sub-menu, .esr-menu li:has(:focus-visible) > .sub-menu, .esr-menu li.is-hover > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.esr-menu > li > .sub-menu { transition: opacity .15s, transform .15s, visibility 0s linear .15s; }
.esr-menu > li.is-hover > .sub-menu, .esr-menu > li:has(:focus-visible) > .sub-menu { transition: opacity .15s, transform .15s, visibility 0s; }
body.esr-2026 .esr-menu .sub-menu a { display: block; padding: 8px 12px; font-size: 14.5px; line-height: 1.35; color: var(--esr-navy); border-radius: var(--esr-radius); }
body.esr-2026 .esr-menu .sub-menu a:hover { background: var(--esr-soft); color: var(--esr-mag); }
body.esr-2026 .esr-menu .sub-menu > li.menu-item-has-children > a { font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-mag); }

.esr-nav__tools { display: flex; align-items: center; gap: 4px; margin-left: 6px; }
body.esr-2026 .esr-iconlink { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; color: var(--esr-navy); border-radius: var(--esr-radius); position: relative; }
body.esr-2026 .esr-iconlink:hover { background: rgba(20, 28, 54, .06); color: var(--esr-navy); }
.esr-cart__count { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--esr-mag); color: #fff; font-size: 10.5px; line-height: 17px; text-align: center; }
.esr-nav__cta { margin-left: 6px; }

.esr-burger { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; padding: 11px 9px; flex-direction: column; justify-content: space-between; }
.esr-burger span:not(.screen-reader-text) { display: block; height: 1.5px; background: var(--esr-navy); transition: transform .25s, opacity .25s; }
.esr-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(9.5px) rotate(45deg); }
.esr-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.esr-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-9.5px) rotate(-45deg); }

@media (max-width: 1180px) {
	.esr-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: #fff; }
	.esr-announce { font-size: 12px; padding: 8px 16px; }
	.esr-burger { display: flex; }
	.esr-nav {
		position: fixed; inset: 0; top: var(--esr-header-h, 71px); z-index: 98; background: #fff;
		flex-direction: column; align-items: stretch; gap: 0; padding: 12px var(--esr-gutter) 40px; overflow-y: auto;
		opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s, transform .25s, visibility .25s;
	}
	.esr-nav.is-open { opacity: 1; visibility: visible; transform: none; }
	.esr-menu { flex-direction: column; align-items: stretch; }
	.esr-menu > li { border-bottom: 1px solid var(--esr-line); }
	body.esr-2026 .esr-menu > li > a { padding: 16px 0; font-size: 14px; }
	.esr-menu > li.menu-item-has-children > a::after { float: right; margin-top: 6px; }
	.esr-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 12px; display: none; min-width: 0; }
	.esr-menu li.is-open > .sub-menu, .esr-menu .sub-menu .sub-menu { display: block; }
	body.esr-2026 .esr-menu .sub-menu a { padding: 9px 0 9px 12px; }
	.esr-nav__tools { margin: 20px 0 0; gap: 8px; }
	.esr-nav__cta { margin-left: auto; }
	body.esr-nav-open { overflow: hidden; }
}

/* ---------- Boutons ---------- */
body.esr-2026 .esr-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 15px 26px; border-radius: var(--esr-radius); border: 1px solid transparent;
	font-family: var(--esr-sans); font-size: 15px; font-weight: 500; line-height: 1.2; letter-spacing: .01em; cursor: pointer; white-space: nowrap;
}
body.esr-2026 .esr-nav__cta { padding: 11px 18px; font-size: 14px; }
body.esr-2026 .esr-btn--mag { background: var(--esr-mag); color: #fff; }
body.esr-2026 .esr-btn--mag:hover { background: var(--esr-navy); color: #fff; }
body.esr-2026 .esr-btn--navy { background: var(--esr-navy); color: #fff; }
body.esr-2026 .esr-btn--navy:hover { background: var(--esr-mag); color: #fff; }
body.esr-2026 .esr-btn--outline { border-color: var(--esr-navy); color: var(--esr-navy); }
body.esr-2026 .esr-btn--outline:hover { background: var(--esr-navy); color: #fff; }
body.esr-2026 .esr-btn--white { background: #fff; color: var(--esr-navy); }
body.esr-2026 .esr-btn--white:hover { background: var(--esr-coral); color: var(--esr-navy); }
body.esr-2026 .esr-btn--light { background: var(--esr-soft); color: var(--esr-mag); }
body.esr-2026 .esr-btn--light:hover { background: var(--esr-navy); color: #fff; }
body.esr-2026 .esr-btn--ghost-light { border-color: #fff; color: #fff; }
body.esr-2026 .esr-btn--ghost-light:hover { background: var(--esr-soft); color: var(--esr-mag); }
.esr-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* ---------- Typo utilitaires ---------- */
.esr-kicker { font-size: 12px; font-weight: 500; letter-spacing: .34em; text-transform: uppercase; color: var(--esr-mag); margin-bottom: 26px; }
.esr-kicker--coral { color: var(--esr-coral); }
body.esr-2026 .esr-display, body.esr-2026 .esr-h2, body.esr-2026 .esr-band__title { border: 0 !important; }
body.esr-2026 .esr-display {
	font-family: var(--esr-display); font-weight: 400; font-size: clamp(46px, 6.6vw, 100px); line-height: 1.02; letter-spacing: 0;
	margin: 0; padding: 0; color: var(--esr-navy); text-wrap: balance;
}
.esr-display em, .esr-h2 em { font-style: normal; color: var(--esr-mag); }
body.esr-2026 .esr-h2 {
	font-family: var(--esr-display); font-weight: 400; font-size: clamp(36px, 4.8vw, 68px); line-height: 1.03; letter-spacing: 0;
	margin: 0; padding: 0; color: inherit; text-wrap: balance;
}
.esr-lead { font-size: 19px; line-height: 1.6; max-width: 540px; color: var(--esr-ink); margin: 30px 0 34px; padding: 0; text-wrap: pretty; }
.esr-muted { color: var(--esr-muted); }
.esr-num { font-family: var(--esr-display); font-size: 22px; color: var(--esr-mag); line-height: 1; }
.esr-tag { font-weight: 500; letter-spacing: .06em; }

.esr-section { padding-top: 110px; padding-bottom: 40px; }
.esr-section--tight { padding-top: 60px; }
.esr-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 48px; flex-wrap: wrap; margin-bottom: 48px; }
body.esr-2026 .esr-head .esr-h2 { max-width: 760px; }
.esr-head p { max-width: 400px; color: var(--esr-muted); line-height: 1.6; margin: 0; padding: 0; }
.esr-note { margin: 28px 0 0; color: var(--esr-muted); font-size: 15px; }

/* ---------- Hero ---------- */
.esr-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 40px; }
.esr-reveal { animation: esrUp .8s ease both; }
.esr-reveal--late { animation-delay: .15s; }
.esr-hero__media { position: relative; }
.esr-hero__media video, .esr-hero__media img { width: 100%; aspect-ratio: 4 / 5; max-height: 78vh; object-fit: cover; border-radius: var(--esr-radius); display: block; background: #EEEEF1; }
.esr-hero__card { position: absolute; left: -20px; bottom: 32px; background: var(--esr-soft); padding: 20px 24px; border-radius: var(--esr-radius); box-shadow: 0 20px 50px rgba(20, 28, 54, .15); max-width: 250px; }
.esr-hero__num { font-family: var(--esr-display); font-size: 46px; line-height: 1; }
.esr-hero__cap { font-size: 13px; color: var(--esr-muted); margin-top: 6px; line-height: 1.4; }
@media (max-width: 700px) {
	.esr-hero { padding-top: 40px; gap: 40px; }
	.esr-hero__card { left: 12px; bottom: 12px; }
	.esr-hero__media video, .esr-hero__media img { aspect-ratio: 4 / 4.4; }
}

/* ---------- Marquee ---------- */
.esr-marquee { overflow: hidden; border-top: 1px solid var(--esr-line); border-bottom: 1px solid var(--esr-line); padding: 22px 0; margin-top: 40px; }
.esr-marquee__track { display: flex; width: max-content; animation: esrMarq 45s linear infinite; }
.esr-marquee__item { font-family: var(--esr-display); font-size: clamp(24px, 2.4vw, 32px); padding: 0 28px; white-space: nowrap; display: flex; align-items: center; gap: 56px; }
.esr-marquee__item i { width: 8px; height: 8px; border-radius: 50%; background: var(--esr-mag); display: inline-block; }
@media (prefers-reduced-motion: reduce) { .esr-marquee__track, .esr-reveal { animation: none; } }

/* ---------- Cartes formations ---------- */
.esr-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
body.esr-2026 .esr-card { display: flex; flex-direction: column; background: var(--esr-soft); border-radius: var(--esr-radius); overflow: hidden; color: var(--esr-navy); transition: transform .3s; }
body.esr-2026 .esr-card:hover { transform: translateY(-4px); color: var(--esr-navy); }
.esr-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; background: #EEEEF1; }
.esr-card__body { padding: 26px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.esr-card__meta { display: flex; justify-content: space-between; gap: 10px; font-size: 11.5px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-mag); }
body.esr-2026 .esr-card__title { font-family: var(--esr-display); font-weight: 400; font-size: 36px; line-height: 1; margin: 0; padding: 0; color: var(--esr-navy); }
.esr-card__body p { color: var(--esr-muted); line-height: 1.55; margin: 0; padding: 0; flex: 1; font-size: 16px; }
.esr-card__foot { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--esr-line); padding-top: 16px; font-weight: 500; }

/* ---------- Bénéfices ---------- */
.esr-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1px; background: var(--esr-line); border: 1px solid var(--esr-line); }
.esr-benefit { background: #fff; padding: 36px 28px; display: flex; flex-direction: column; gap: 12px; }
body.esr-2026 .esr-benefit h4 { font-family: var(--esr-sans); font-size: 20px; font-weight: 500; margin: 0; padding: 0; color: var(--esr-navy); line-height: 1.25; }
.esr-benefit p { margin: 0; padding: 0; color: var(--esr-muted); line-height: 1.55; font-size: 16px; }

/* ---------- Section sombre ---------- */
.esr-dark { background: var(--esr-navy); color: #fff; margin-top: 90px; }
.esr-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 56px; align-items: center; padding-top: 110px; padding-bottom: 110px; }
.esr-split img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--esr-radius); display: block; background: var(--esr-navy-2); }
.esr-quote { font-family: var(--esr-display); font-size: clamp(32px, 3.8vw, 54px); line-height: 1.07; margin: 0 0 28px; padding: 0; border: 0; color: #fff; text-wrap: balance; }
.esr-dark p { color: var(--esr-pale); line-height: 1.65; max-width: 540px; margin: 0 0 28px; padding: 0; }
.esr-pillars { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 34px; }
.esr-pillars span { border: 1px solid rgba(255, 255, 255, .3); padding: 8px 14px; font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; border-radius: var(--esr-radius); }

/* ---------- Liste numérotée ---------- */
.esr-list { border-top: 1px solid var(--esr-line-2); }
body.esr-2026 .esr-list__row {
	display: grid; grid-template-columns: 48px 1fr auto 150px; gap: 20px; align-items: baseline;
	padding: 22px 0; border-bottom: 1px solid var(--esr-line-2); color: var(--esr-navy);
}
body.esr-2026 .esr-list__row:hover { color: var(--esr-mag); }
.esr-list__title { font-family: var(--esr-display); font-size: clamp(22px, 2.2vw, 30px); line-height: 1.1; }
.esr-list__meta { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); }
.esr-list__price { text-align: right; font-weight: 500; }
@media (max-width: 760px) {
	body.esr-2026 .esr-list__row { grid-template-columns: 36px 1fr; gap: 6px 14px; }
	.esr-list__meta, .esr-list__price { grid-column: 2; text-align: left; }
}

/* ---------- Modules à la carte (EventON) ---------- */
.esr-soft { background: var(--esr-soft); margin-top: 90px; padding-bottom: 90px; }
.esr-events { background: #fff; border-radius: var(--esr-radius); padding: 0 28px; }
body.esr-2026 .esr-event { display: grid; grid-template-columns: 110px 1fr auto; gap: 24px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--esr-line); color: var(--esr-navy); }
body.esr-2026 .esr-event:last-child { border-bottom: 0; }
body.esr-2026 .esr-event:hover { color: var(--esr-mag); }
.esr-event__date b { display: block; font-family: var(--esr-display); font-weight: 400; font-size: 34px; line-height: 1; color: var(--esr-mag); }
.esr-event__date small { display: block; margin-top: 4px; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); }
.esr-event__title { font-family: var(--esr-display); font-size: clamp(20px, 2vw, 26px); line-height: 1.15; }
.esr-event__sub { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); text-align: right; }
@media (max-width: 700px) { .esr-events { padding: 0 18px; } body.esr-2026 .esr-event { grid-template-columns: 70px 1fr; gap: 6px 16px; } .esr-event__sub { grid-column: 2; text-align: left; } }

/* ---------- Monde ---------- */
.esr-world { display: grid; grid-template-columns: auto 1fr; gap: 20px 56px; align-items: start; }
.esr-world__big { font-family: var(--esr-display); font-size: clamp(120px, 16vw, 240px); line-height: .85; color: var(--esr-mag); }
body.esr-2026 .esr-world .esr-h2 { max-width: 760px; margin-bottom: 22px; }
.esr-world .esr-muted { max-width: 680px; line-height: 1.65; margin: 0 0 28px; padding: 0; }
.esr-chips { display: flex; flex-wrap: wrap; gap: 8px; }
body.esr-2026 .esr-chips a { border: 1px solid var(--esr-line-2); padding: 9px 16px; border-radius: 40px; font-size: 14px; font-weight: 500; color: var(--esr-navy); }
body.esr-2026 .esr-chips a:hover { background: var(--esr-navy); color: #fff; border-color: var(--esr-navy); }
@media (max-width: 700px) { .esr-world { grid-template-columns: 1fr; } }

/* ---------- Texte école (SEO) ---------- */
body.esr-2026 .esr-prose-cols .esr-h2 { font-size: clamp(30px, 3.4vw, 46px); max-width: 820px; margin-bottom: 32px; }
.esr-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 32px 48px; }
.esr-cols p { margin: 0; padding: 0; color: var(--esr-ink); line-height: 1.7; font-size: 16px; }

/* ---------- FAQ ---------- */
.esr-faq { max-width: 1100px; }
body.esr-2026 .esr-faq .esr-h2 { margin-bottom: 48px; }
.esr-faq__list { border-top: 1px solid var(--esr-line-2); }
.esr-faq__item { border-bottom: 1px solid var(--esr-line-2); }
.esr-faq__item summary { list-style: none; cursor: pointer; padding: 26px 0; display: flex; justify-content: space-between; align-items: center; gap: 24px; font-family: var(--esr-display); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.15; }
.esr-faq__item summary::-webkit-details-marker { display: none; }
.esr-faq__item summary i { position: relative; width: 22px; height: 22px; flex-shrink: 0; }
.esr-faq__item summary i::before, .esr-faq__item summary i::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: var(--esr-mag); transition: transform .25s; }
.esr-faq__item summary i::after { transform: rotate(90deg); }
.esr-faq__item[open] summary i::after { transform: rotate(0); }
.esr-faq__item p { margin: 0 0 28px; padding: 0; max-width: 780px; color: var(--esr-ink); line-height: 1.7; font-size: 17px; }

/* ---------- Blog (accueil) ---------- */
.esr-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 32px; }
body.esr-2026 .esr-post { display: flex; flex-direction: column; gap: 14px; color: var(--esr-navy); }
.esr-post img, .esr-post__ph { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; border-radius: var(--esr-radius); background: #EEEEF1; }
body.esr-2026 .esr-post h3 { font-family: var(--esr-display); font-weight: 400; font-size: 27px; line-height: 1.1; margin: 0; padding: 0; color: var(--esr-navy); transition: color .2s; }
body.esr-2026 .esr-post:hover h3 { color: var(--esr-mag); }
.esr-post p { margin: 0; padding: 0; color: var(--esr-muted); line-height: 1.55; font-size: 15.5px; }

/* ---------- Bande CTA ---------- */
.esr-band { background: var(--esr-mag); color: #fff; margin-top: 110px; }
.esr-band__inner { padding-top: 90px; padding-bottom: 90px; display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
body.esr-2026 .esr-band__title { font-family: var(--esr-display); font-weight: 400; font-size: clamp(40px, 5.8vw, 86px); line-height: 1.02; letter-spacing: 0; margin: 0; padding: 0; max-width: 840px; color: #fff; }

/* ---------- Footer ---------- */
.esr-footer { background: var(--esr-navy); color: var(--esr-pale); font-size: 15.5px; }
.esr-footer__grid { padding-top: 72px; padding-bottom: 36px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 40px; }
.esr-footer__brand { grid-column: 1 / -1; }
.esr-footer__brand p { max-width: 420px; line-height: 1.6; margin: 18px 0 0; padding: 0; color: var(--esr-pale); }
.esr-footer__h { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: #fff; margin-bottom: 16px; }
.esr-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.esr-footer li { padding: 0; }
body.esr-2026 .esr-footer a { color: var(--esr-pale); }
body.esr-2026 .esr-footer a:hover { color: #fff; }
body.esr-2026 .esr-footer .esr-logo { color: #fff; }
.esr-footer__bottom { padding-top: 24px; padding-bottom: 24px; border-top: 1px solid rgba(255, 255, 255, .12); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.esr-footer__legal { display: flex; gap: 20px; flex-wrap: wrap; }

/* ==========================================================================
   Pages formation (gabarit « Formation ESR »)
   ========================================================================== */
.esr-course-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 48px; }
body.esr-2026 .esr-display--course { font-size: clamp(44px, 6vw, 92px); }
.esr-course-hero__tagline { font-weight: 300; font-size: clamp(22px, 2.2vw, 28px); color: var(--esr-mag); margin: 18px 0 0; padding: 0; }
.esr-course-hero .esr-lead { margin-top: 20px; }
.esr-course-hero__media { position: relative; }
.esr-course-hero__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--esr-radius); display: block; background: #EEEEF1; }
body.esr-2026 .esr-textlink { display: inline-block; margin-top: 22px; font-weight: 500; color: var(--esr-navy); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
body.esr-2026 .esr-textlink:hover { color: var(--esr-mag); }

.esr-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); background: var(--esr-navy); color: #fff; border-radius: var(--esr-radius); }
.esr-stat { padding: 26px 28px; border-right: 1px solid rgba(255, 255, 255, .12); }
.esr-stat:last-child { border-right: 0; }
.esr-stat__k { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--esr-pale); }
.esr-stat__v { font-family: var(--esr-display); font-size: clamp(28px, 3vw, 40px); line-height: 1.1; margin-top: 8px; }
.esr-subnav { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
body.esr-2026 .esr-subnav a { padding: 8px 14px; border: 1px solid var(--esr-line-2); border-radius: 40px; font-size: 13.5px; font-weight: 500; color: var(--esr-navy); }
body.esr-2026 .esr-subnav a:hover { background: var(--esr-navy); border-color: var(--esr-navy); color: #fff; }
.esr-course [id] { scroll-margin-top: 110px; }

.esr-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 32px 64px; }
.esr-overview__body { grid-column: span 2; max-width: 780px; }
@media (max-width: 760px) { .esr-overview__body { grid-column: auto; } }
.esr-overview__body p { font-size: 18px; line-height: 1.7; color: var(--esr-ink); margin: 0 0 18px; padding: 0; }
.esr-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.esr-tags span { background: var(--esr-soft); padding: 9px 14px; border-radius: var(--esr-radius); font-size: 14px; font-weight: 500; }

.esr-duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 56px; align-items: start; }
body.esr-2026 .esr-h2--sm { font-size: clamp(32px, 3.6vw, 52px); margin-bottom: 28px; }
.esr-outcomes, .esr-why { border-top: 1px solid var(--esr-line-2); }
.esr-why { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); column-gap: 48px; border-top: 0; }
.esr-outcome { display: flex; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--esr-line-2); line-height: 1.55; font-size: 17px; }
.esr-why .esr-outcome { border-top: 1px solid var(--esr-line-2); border-bottom: 0; }
.esr-outcome .esr-num { min-width: 30px; font-size: 20px; }
.esr-duo__side { display: flex; flex-direction: column; gap: 20px; }
.esr-box { background: var(--esr-soft); border-radius: var(--esr-radius); padding: 36px; }
body.esr-2026 .esr-box__title { font-family: var(--esr-display); font-weight: 400; font-size: 34px; line-height: 1.05; margin: 0 0 16px; padding: 0; color: inherit; }
.esr-box p { margin: 0; padding: 0; line-height: 1.7; color: var(--esr-ink); }
.esr-box__k { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 12px; color: var(--esr-mag); }
.esr-box--mag { background: var(--esr-mag); color: #fff; display: flex; flex-direction: column; gap: 18px; }
.esr-box--mag .esr-box__k { color: #fff; margin: 0; }
.esr-box__price { font-family: var(--esr-display); font-size: clamp(48px, 5.4vw, 72px); line-height: 1; }
.esr-box--navy { background: var(--esr-navy); color: #fff; }
.esr-box--navy p { color: var(--esr-pale); }
.esr-box--navy .esr-box__k { color: var(--esr-coral); }

.esr-organisation { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.esr-org { border-top: 2px solid var(--esr-navy); padding-top: 22px; }
.esr-org__n { font-family: var(--esr-display); font-size: clamp(64px, 7vw, 96px); line-height: .95; color: var(--esr-mag); }
.esr-org__l { font-size: 19px; font-weight: 500; margin: 12px 0 8px; }
.esr-org p { margin: 0; padding: 0; color: var(--esr-muted); line-height: 1.55; }

.esr-modules { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.esr-module { background: var(--esr-soft); border-radius: var(--esr-radius); padding: 26px; display: flex; flex-direction: column; gap: 12px; min-height: 230px; }
.esr-module__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.esr-module__tag { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 5px 10px; border-radius: var(--esr-radius); background: #fff; color: var(--esr-mag); }
body.esr-2026 .esr-module h3 { font-family: var(--esr-display); font-weight: 400; font-size: 26px; line-height: 1.08; margin: 0; padding: 0; color: var(--esr-navy); }
.esr-module p { margin: 0; padding: 0; color: var(--esr-muted); line-height: 1.55; font-size: 15px; flex: 1; }
.esr-module__fmt { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--esr-navy); border-top: 1px solid var(--esr-line); padding-top: 12px; }

.esr-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.esr-checks li { position: relative; padding: 0 0 0 28px; color: #fff; line-height: 1.5; }
.esr-checks li::before { content: ''; position: absolute; left: 0; top: .6em; width: 14px; height: 2px; background: var(--esr-coral); }
.esr-course .esr-split img { aspect-ratio: 4 / 3; object-fit: cover; }

.esr-materials { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 20px; }
.esr-material { margin: 0; }
.esr-material img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--esr-radius); display: block; background: #EEEEF1; }
.esr-material figcaption { padding-top: 14px; display: flex; flex-direction: column; gap: 4px; }
.esr-material strong { font-family: var(--esr-display); font-weight: 400; font-size: 22px; line-height: 1.1; }
.esr-material span { color: var(--esr-muted); font-size: 15px; line-height: 1.5; }

.esr-course .esr-soft { margin-top: 110px; padding-bottom: 20px; }
.esr-validation { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 56px; align-items: start; padding-top: 90px; }
.esr-validation__intro { font-size: 17px; line-height: 1.7; color: var(--esr-ink); margin: 0 0 28px; padding: 0; }
.esr-blocks { background: #fff; border-radius: var(--esr-radius); }
.esr-block { display: flex; gap: 18px; align-items: baseline; padding: 18px 24px; border-bottom: 1px solid var(--esr-line); line-height: 1.45; }
.esr-block:last-child { border-bottom: 0; }
.esr-block span { font-family: var(--esr-display); color: var(--esr-mag); font-size: 22px; min-width: 36px; }
.esr-validation__side { display: flex; flex-direction: column; gap: 20px; }
.esr-result { display: flex; align-items: center; gap: 24px; border-bottom: 1px solid var(--esr-line-2); padding-bottom: 20px; }
.esr-result__n { font-family: var(--esr-display); font-size: clamp(64px, 7vw, 96px); line-height: .9; color: var(--esr-mag); min-width: 170px; }
.esr-result__l { font-size: 17px; line-height: 1.45; }
.esr-updated { font-size: 12.5px; color: var(--esr-muted); margin-top: -8px; }

.esr-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; }
.esr-quote-card { margin: 0; background: var(--esr-soft); border-radius: var(--esr-radius); padding: 30px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
body.esr-2026 .esr-quote-card blockquote { margin: 0; padding: 0; border: 0; font-family: var(--esr-sans); font-size: 18px; line-height: 1.6; color: var(--esr-ink); }
.esr-quote-card::before { content: '“'; font-family: var(--esr-display); font-size: 72px; line-height: .6; color: var(--esr-mag); }
.esr-quote-card figcaption { font-weight: 500; display: flex; flex-direction: column; gap: 2px; }
.esr-quote-card figcaption span { font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--esr-mag); }

.esr-practical { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 56px; align-items: start; }
@media (max-width: 900px) { .esr-practical { grid-template-columns: 1fr; } }
.esr-faq__item--sm summary { font-size: clamp(20px, 2vw, 26px); padding: 22px 0; }
.esr-cta-card { position: sticky; top: 110px; border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.esr-cta-card__title { font-family: var(--esr-display); font-size: 36px; line-height: 1.05; }
.esr-cta-card p { margin: 0 0 8px; padding: 0; color: var(--esr-ink); line-height: 1.6; }
.esr-cta-card .esr-btn { width: 100%; }
.esr-cta-card .esr-textlink { margin-top: 8px; align-self: flex-start; }

.esr-related { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
body.esr-2026 .esr-related a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 30px; border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); color: var(--esr-navy); font-weight: 500; }
body.esr-2026 .esr-related a span:last-child { white-space: nowrap; }
body.esr-2026 .esr-related a span:first-child { font-family: var(--esr-display); font-weight: 400; font-size: 32px; line-height: 1; }
body.esr-2026 .esr-related a:hover { background: var(--esr-navy); color: #fff; }

/* Formation : blocs complémentaires */
.esr-box__note { color: rgba(255, 255, 255, .85) !important; font-size: 15px; }
.esr-validation__note { margin: 18px 0 0; padding: 0; font-size: 14.5px; color: var(--esr-muted); line-height: 1.6; }
.esr-sequences { display: grid; gap: 0; border-top: 1px solid var(--esr-line-2); }
.esr-sequence { display: grid; grid-template-columns: 90px 1fr; gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--esr-line-2); }
.esr-sequence__n { font-family: var(--esr-display); font-size: 72px; line-height: .9; color: var(--esr-mag); }
.esr-sequence__meta { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--esr-mag); margin-bottom: 6px; }
body.esr-2026 .esr-sequence h3 { font-family: var(--esr-display); font-weight: 400; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.1; margin: 0 0 10px; padding: 0; color: var(--esr-navy); }
.esr-sequence p { margin: 0; padding: 0; color: var(--esr-ink); line-height: 1.65; max-width: 860px; }
@media (max-width: 600px) { .esr-sequence { grid-template-columns: 52px 1fr; gap: 14px; } .esr-sequence__n { font-size: 48px; } }
.esr-sessions { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.esr-session { border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.esr-session__date { font-family: var(--esr-display); font-size: 28px; line-height: 1.05; color: var(--esr-mag); }
.esr-session__title { font-weight: 500; font-size: 17px; line-height: 1.35; }
.esr-session__meta { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--esr-muted); }

/* Formules / offres */
.esr-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px; align-items: stretch; }
.esr-offer { border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); padding: 32px; display: flex; flex-direction: column; gap: 10px; }
.esr-offer__t { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--esr-mag); font-weight: 500; }
.esr-offer__price { font-family: var(--esr-display); font-size: clamp(44px, 4.4vw, 60px); line-height: 1; }
.esr-offer__sub { color: var(--esr-muted); font-size: 14.5px; }
.esr-offer__items { list-style: none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--esr-line); display: grid; gap: 9px; flex: 1; }
.esr-offer__items li { position: relative; padding-left: 24px; line-height: 1.45; font-size: 15.5px; }
.esr-offer__items li::before { content: ''; position: absolute; left: 0; top: .62em; width: 12px; height: 2px; background: var(--esr-mag); }
.esr-offer__note { margin: 0; padding: 0; font-size: 13.5px; color: var(--esr-muted); }
.esr-offer .esr-btn { margin-top: 14px; align-self: flex-start; }
.esr-offer--featured { background: var(--esr-mag); border-color: var(--esr-mag); color: #fff; }
.esr-offer--featured .esr-offer__t, .esr-offer--featured .esr-offer__sub, .esr-offer--featured .esr-offer__note { color: rgba(255, 255, 255, .85); }
.esr-offer--featured .esr-offer__items { border-color: rgba(255, 255, 255, .25); }
.esr-offer--featured .esr-offer__items li::before { background: #fff; }
body.esr-2026 .esr-box__buy { color: #fff; font-weight: 500; font-size: 14.5px; text-decoration: underline; text-underline-offset: 3px; }
body.esr-2026 .esr-box__buy:hover { color: var(--esr-coral); }

/* Page « Spécialisations » */
.esr-spec-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px; }

/* Page « Choisir sa formation » */
.esr-undecided { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; flex-wrap: wrap; padding: 48px; }
.esr-undecided p { max-width: 560px; }
.esr-compare-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--esr-line); border-radius: var(--esr-radius); }
.esr-compare { width: 100%; min-width: 860px; border-collapse: collapse; font-size: 15px; }
.esr-compare th, .esr-compare td { padding: 14px 16px; border-bottom: 1px solid var(--esr-line); text-align: center; vertical-align: middle; line-height: 1.35; }
.esr-compare tbody th { text-align: left; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--esr-muted); background: var(--esr-soft); width: 210px; position: sticky; left: 0; }
.esr-compare thead th { background: var(--esr-navy); color: #fff; padding: 22px 16px; vertical-align: bottom; }
.esr-compare thead th:first-child { background: #fff; }
body.esr-2026 .esr-compare thead a { color: #fff; display: block; }
.esr-compare__name { display: block; font-family: var(--esr-display); font-weight: 400; font-size: 24px; line-height: 1.05; }
.esr-compare__fmt { display: block; margin-top: 6px; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-coral); }
.esr-compare tbody tr:hover td { background: #FBFBFC; }
.esr-yes, .esr-no { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.esr-yes::before, .esr-no::before { content: ''; width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0; background-repeat: no-repeat; background-position: center; }
.esr-yes::before { background-color: var(--esr-mag); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); background-size: 12px; }
.esr-no::before { background-color: #E4E5EA; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F6377' stroke-width='3'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E"); background-size: 10px; }
.esr-no { color: var(--esr-muted); font-weight: 400; }
.esr-compare__price td { font-family: var(--esr-display); font-size: 20px; }
.esr-compare__cta td { border-bottom: 0; padding: 20px 12px; }
.esr-compare__cta .esr-btn { padding: 11px 16px; font-size: 14px; }
.esr-legend { display: flex; gap: 20px; flex-wrap: wrap; margin: 16px 0 0; font-size: 14px; color: var(--esr-muted); }
.esr-profiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
body.esr-2026 .esr-profile { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-radius: var(--esr-radius); background: var(--esr-soft); color: var(--esr-navy); transition: transform .3s; }
body.esr-2026 .esr-profile:hover { transform: translateY(-4px); color: var(--esr-navy); }
.esr-profile__q { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-mag); }
.esr-profile__t { font-family: var(--esr-display); font-size: 26px; line-height: 1.1; }
.esr-profile p { margin: 0; padding: 0; color: var(--esr-muted); line-height: 1.55; font-size: 15.5px; flex: 1; }
.esr-profile__go { font-weight: 500; border-top: 1px solid var(--esr-line); padding-top: 14px; }

/* ==========================================================================
   Couleur phare « pop » des spécialisations
   --acc : couleur vive (fonds, aplats, filets) — texte bleu nuit dessus
   --acc-ink : version soutenue pour le texte sur fond blanc
   Les boutons d'action restent magenta sur tout le site.
   ========================================================================== */
.esr-course--accent { --acc-soft: color-mix(in srgb, var(--acc) 16%, #fff); --acc-pale: color-mix(in srgb, var(--acc) 8%, #fff); }

/* Textes */
.esr-course--accent .esr-kicker,
.esr-course--accent .esr-card__meta,
.esr-course--accent .esr-sequence__meta,
.esr-course--accent .esr-offer__t,
.esr-course--accent .esr-box__k,
.esr-course--accent .esr-course-hero__tagline,
.esr-course--accent .esr-quote-card figcaption span { color: var(--acc-ink); }
body.esr-2026 .esr-course--accent .esr-display em,
body.esr-2026 .esr-course--accent .esr-h2 em,
.esr-course--accent .esr-num,
.esr-course--accent .esr-org__n,
.esr-course--accent .esr-sequence__n,
.esr-course--accent .esr-result__n,
.esr-course--accent .esr-block span,
.esr-course--accent .esr-session__date { color: var(--acc-ink); }

/* Hero : aplat de couleur décalé derrière la photo */
.esr-course--accent .esr-course-hero__media { isolation: isolate; }
.esr-course--accent .esr-course-hero__media::before { content: ''; position: absolute; z-index: -1; inset: 22px -18px -18px 22px; background: var(--acc); border-radius: var(--esr-radius); }
.esr-course--accent .esr-hero__card { border-top: 5px solid var(--acc); }

/* Aplats vifs, texte bleu nuit */
.esr-course--accent .esr-stats { background: var(--acc); color: var(--esr-navy); }
.esr-course--accent .esr-stat { border-right-color: rgba(20, 28, 54, .14); }
.esr-course--accent .esr-stat__k { color: rgba(20, 28, 54, .72); }
.esr-course--accent .esr-box--mag,
.esr-course--accent .esr-offer--featured { background: var(--acc); border-color: var(--acc); color: var(--esr-navy); }
.esr-course--accent .esr-box--mag .esr-box__k,
.esr-course--accent .esr-offer--featured .esr-offer__t,
.esr-course--accent .esr-offer--featured .esr-offer__sub,
.esr-course--accent .esr-offer--featured .esr-offer__note,
.esr-course--accent .esr-box__note { color: rgba(20, 28, 54, .78) !important; }
.esr-course--accent .esr-offer--featured .esr-offer__items { border-color: rgba(20, 28, 54, .18); }
.esr-course--accent .esr-offer--featured .esr-offer__items li::before { background: var(--esr-navy); }
body.esr-2026 .esr-course--accent .esr-box--mag .esr-btn--light,
body.esr-2026 .esr-course--accent .esr-offer--featured .esr-btn--light { background: var(--esr-navy); color: #fff; }
body.esr-2026 .esr-course--accent .esr-box--mag .esr-btn--ghost-light { border-color: var(--esr-navy); color: var(--esr-navy); }
body.esr-2026 .esr-course--accent .esr-box--mag .esr-btn--ghost-light:hover { background: var(--esr-navy); color: #fff; }
body.esr-2026 .esr-course--accent .esr-box__buy { color: var(--esr-navy); }

/* Fonds pastel */
.esr-course--accent .esr-tags span { background: var(--acc-soft); }
.esr-course--accent .esr-module { background: var(--acc-pale); }
.esr-course--accent .esr-module__tag { background: var(--acc); color: var(--esr-navy); }
.esr-course--accent .esr-box:not(.esr-box--mag):not(.esr-box--navy) { background: var(--acc-pale); }
.esr-course--accent .esr-quote-card { background: var(--acc-pale); }

/* Filets et pictos */
.esr-course--accent .esr-org { border-top: 4px solid var(--acc); }
.esr-course--accent .esr-offer__items li::before,
.esr-course--accent .esr-checks li::before { background: var(--acc); }
.esr-course--accent .esr-faq__item summary i::before, .esr-course--accent .esr-faq__item summary i::after { background: var(--acc-ink); }
body.esr-2026 .esr-course--accent .esr-subnav a { border-color: color-mix(in srgb, var(--acc) 55%, #fff); }
body.esr-2026 .esr-course--accent .esr-subnav a:hover { background: var(--acc); border-color: var(--acc); color: var(--esr-navy); }
.esr-course--accent .esr-cta-card { border: 2px solid var(--acc); }

/* Cartes colorées de la page Spécialisations */
.esr-card--accent { border-top: 10px solid var(--acc, var(--esr-mag)); background: color-mix(in srgb, var(--acc, var(--esr-mag)) 12%, #fff) !important; }
.esr-card--accent .esr-card__meta { color: var(--acc-ink, var(--esr-mag)); }
.esr-card--accent .esr-card__foot { border-top-color: color-mix(in srgb, var(--acc, var(--esr-mag)) 45%, #fff); }
body.esr-2026 .esr-card--accent:hover { background: var(--acc, var(--esr-mag)) !important; }
body.esr-2026 .esr-card--accent:hover .esr-card__meta,
body.esr-2026 .esr-card--accent:hover p { color: var(--esr-navy); }

/* Page E-JPO */
.esr-jpo__when { margin: 26px 0 18px; }
.esr-jpo__date { font-family: var(--esr-display); font-size: clamp(26px, 2.6vw, 36px); line-height: 1.1; }
.esr-jpo__meta { margin-top: 6px; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); }
.esr-countdown { display: flex; gap: 10px; margin: 0 0 30px; }
.esr-countdown div { background: var(--acc, var(--esr-mag)); color: var(--esr-navy); border-radius: var(--esr-radius); min-width: 78px; padding: 12px 10px; text-align: center; }
.esr-countdown b { display: block; font-family: var(--esr-display); font-weight: 400; font-size: 36px; line-height: 1; }
.esr-countdown span { display: block; margin-top: 4px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.esr-jpo .esr-course-hero__media video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; border-radius: var(--esr-radius); background: #000; }
.esr-jpo__prog .esr-module { min-height: 0; }
.esr-jpo .esr-hero__card { display: none; }
.esr-jpo__reminder { font-family: var(--esr-display); font-size: 24px; color: #fff !important; margin-top: 26px !important; }
.esr-jpo__form-wrap { align-items: start; }
.esr-form-card { background: #fff; color: var(--esr-navy); border-radius: var(--esr-radius); padding: 34px; }
.esr-form { display: flex; flex-direction: column; gap: 16px; }
.esr-form label { display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; font-weight: 500; color: var(--esr-navy); }
.esr-form input[type=text], .esr-form input[type=email], .esr-form input[type=tel], .esr-form select, .esr-form textarea { font: inherit; font-size: 16px; font-weight: 400; padding: 13px 15px; border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); background: #fff; color: var(--esr-navy); width: 100%; }
.esr-form input:focus, .esr-form select:focus, .esr-form textarea:focus { outline: 2px solid color-mix(in srgb, var(--acc, var(--esr-mag)) 50%, transparent); border-color: var(--esr-navy); }
.esr-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.esr-form__consent { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; font-size: 13px !important; line-height: 1.5; color: var(--esr-ink) !important; }
.esr-form__consent input { margin-top: 3px; width: 16px; height: 16px; flex-shrink: 0; }
.esr-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.esr-form .esr-btn { align-self: flex-start; border: 0; }
.esr-form-msg { border-radius: var(--esr-radius); padding: 16px 18px; margin-bottom: 18px; font-size: 15px; line-height: 1.5; }
.esr-form-msg--err { background: #FDECEF; color: #8C1233; }
.esr-form-msg--ok { background: color-mix(in srgb, var(--acc, var(--esr-mag)) 14%, #fff); padding: 28px; }
.esr-form-msg__t { font-family: var(--esr-display); font-size: 32px; line-height: 1.05; margin-bottom: 10px; }
.esr-form-msg p { color: var(--esr-ink) !important; margin: 0 0 12px !important; }
@media (max-width: 600px) { .esr-countdown div { min-width: 0; flex: 1; } .esr-countdown b { font-size: 28px; } .esr-form-card { padding: 24px; } }

/* ==========================================================================
   Harmonisation des pages Divi existantes
   ========================================================================== */

/* Masque l'ancien en-tête / pied de page Divi s'ils étaient encore injectés */
.esr-2026 #main-header, .esr-2026 #top-header, .esr-2026 #et-top-navigation, .esr-2026 #main-footer:not(.esr-footer),
.esr-2026 .et-l--header, .esr-2026 .et-l--footer { display: none !important; }

/* Texte courant */
.esr-2026 #main-content,
.esr-2026 #main-content p,
.esr-2026 #main-content li,
.esr-2026 #main-content td,
.esr-2026 #main-content th,
.esr-2026 #main-content label,
.esr-2026 #main-content input,
.esr-2026 #main-content select,
.esr-2026 #main-content textarea,
.esr-2026 #main-content .et_pb_text_inner,
.esr-2026 #main-content .et_pb_blurb_description,
.esr-2026 #main-content .et_pb_toggle_content,
.esr-2026 #main-content .et_pb_tab,
.esr-2026 #main-content .et_pb_promo_description,
.esr-2026 #main-content .woocommerce {
	font-family: var(--esr-sans) !important;
}
.esr-2026 #main-content .et_pb_text_inner, .esr-2026 #main-content .et_pb_text_inner p { line-height: 1.7; }

/* Titres */
.esr-2026 #main-content h1,
.esr-2026 #main-content h2,
.esr-2026 #main-content h3,
.esr-2026 #main-content .et_pb_module_header,
.esr-2026 #main-content .entry-title,
.esr-2026 #main-content .et_pb_slide_title,
.esr-2026 #main-content .et_pb_toggle_title,
.esr-2026 #main-content .et_pb_pricing_title,
.esr-2026 #main-content .woocommerce-loop-product__title,
.esr-2026 #main-content .product_title {
	font-family: var(--esr-display) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	line-height: 1.08 !important;
}
.esr-2026 #main-content h4,
.esr-2026 #main-content h5,
.esr-2026 #main-content h6 {
	font-family: var(--esr-sans) !important;
	font-weight: 500 !important;
	letter-spacing: .02em;
}
.esr-2026 #main-content h1 { font-size: clamp(38px, 5vw, 72px); }
.esr-2026 #main-content .et_pb_toggle_title { font-size: 20px !important; line-height: 1.25 !important; }

/* Liens dans les textes */
.esr-2026 #main-content .et_pb_text a:not(.et_pb_button) { color: var(--esr-mag); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Boutons Divi & WooCommerce */
.esr-2026 #main-content .et_pb_button,
.esr-2026 #main-content .et_pb_more_button,
.esr-2026 #main-content .et_pb_promo_button,
.esr-2026 #main-content .et_pb_contact_submit,
.esr-2026 #main-content .et_pb_newsletter_button,
.esr-2026 #main-content .wpcf7-submit,
.esr-2026 #main-content input[type="submit"],
.esr-2026 #main-content button[type="submit"],
.esr-2026 .woocommerce a.button,
.esr-2026 .woocommerce button.button,
.esr-2026 .woocommerce input.button,
.esr-2026 .woocommerce #respond input#submit,
.esr-2026 .woocommerce a.button.alt,
.esr-2026 .woocommerce button.button.alt {
	font-family: var(--esr-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
	line-height: 1.2 !important;
	padding: 15px 26px !important;
	border: 1px solid var(--esr-mag) !important;
	border-radius: var(--esr-radius) !important;
	background: var(--esr-mag) !important;
	color: #fff !important;
	box-shadow: none !important;
	transition: background-color .2s, color .2s, border-color .2s !important;
}
.esr-2026 #main-content .et_pb_button:hover,
.esr-2026 #main-content .et_pb_more_button:hover,
.esr-2026 #main-content .et_pb_promo_button:hover,
.esr-2026 #main-content .et_pb_contact_submit:hover,
.esr-2026 #main-content .et_pb_newsletter_button:hover,
.esr-2026 #main-content input[type="submit"]:hover,
.esr-2026 #main-content button[type="submit"]:hover,
.esr-2026 .woocommerce a.button:hover,
.esr-2026 .woocommerce button.button:hover,
.esr-2026 .woocommerce input.button:hover,
.esr-2026 .woocommerce a.button.alt:hover,
.esr-2026 .woocommerce button.button.alt:hover {
	background: var(--esr-navy) !important;
	border-color: var(--esr-navy) !important;
	color: #fff !important;
	padding: 15px 26px !important;
}
.esr-2026 #main-content .et_pb_button::after,
.esr-2026 #main-content .et_pb_button::before { display: none !important; }
/* Boutons Divi posés sur fond sombre : version claire */
.esr-2026 #main-content .et_pb_bg_layout_dark .et_pb_button { background: #fff !important; border-color: #fff !important; color: var(--esr-navy) !important; }
.esr-2026 #main-content .et_pb_bg_layout_dark .et_pb_button:hover { background: var(--esr-coral) !important; border-color: var(--esr-coral) !important; }

/* Champs de formulaire */
.esr-2026 #main-content input[type="text"],
.esr-2026 #main-content input[type="email"],
.esr-2026 #main-content input[type="tel"],
.esr-2026 #main-content input[type="number"],
.esr-2026 #main-content input[type="date"],
.esr-2026 #main-content input[type="password"],
.esr-2026 #main-content select,
.esr-2026 #main-content textarea,
.esr-2026 #main-content .et_pb_contact_form .input,
.esr-2026 .woocommerce form .form-row input.input-text,
.esr-2026 .woocommerce form .form-row textarea {
	border: 1px solid var(--esr-line-2) !important;
	border-radius: var(--esr-radius) !important;
	background: #fff !important;
	color: var(--esr-navy) !important;
	font-size: 16px !important;
	padding: 13px 15px !important;
	box-shadow: none !important;
}
.esr-2026 #main-content input:focus,
.esr-2026 #main-content select:focus,
.esr-2026 #main-content textarea:focus { border-color: var(--esr-navy) !important; outline: 2px solid rgba(176, 26, 71, .18); outline-offset: 1px; }

/* Accordéons / toggles */
.esr-2026 #main-content .et_pb_toggle { border: 0 !important; border-bottom: 1px solid var(--esr-line-2) !important; background: transparent !important; padding: 22px 0 !important; margin-bottom: 0 !important; }
.esr-2026 #main-content .et_pb_toggle_title::before { color: var(--esr-mag) !important; }

/* Onglets */
.esr-2026 #main-content .et_pb_tabs { border-color: var(--esr-line) !important; }
.esr-2026 #main-content .et_pb_tabs_controls li { background: var(--esr-soft) !important; border-color: var(--esr-line) !important; }
.esr-2026 #main-content .et_pb_tabs_controls li.et_pb_tab_active { background: #fff !important; }

/* Coins plus nets, ombres plus douces */
.esr-2026 #main-content .et_pb_image_wrap,
.esr-2026 #main-content .et_pb_blurb,
.esr-2026 #main-content .et_pb_pricing_table { border-radius: var(--esr-radius); }

/* Blog Divi */
.esr-2026 #main-content .et_pb_post .post-meta,
.esr-2026 #main-content .et_pb_post .post-meta a { color: var(--esr-muted) !important; font-size: 13px; letter-spacing: .06em; }
.esr-2026 #main-content .et_pb_post .entry-title a { color: var(--esr-navy) !important; }
.esr-2026 #main-content .et_pb_post .entry-title a:hover { color: var(--esr-mag) !important; }
.esr-2026 #main-content .et_pb_post { margin-bottom: 56px; }
.esr-2026 #main-content .et_pb_post img { border-radius: var(--esr-radius); }
.esr-2026.single-post #main-content .entry-content { font-size: 18px; line-height: 1.75; }
.esr-2026 #sidebar .widgettitle { font-family: var(--esr-display) !important; font-weight: 400 !important; font-size: 24px; }
.esr-2026 #main-content .container::before { background-color: var(--esr-line) !important; }

/* WooCommerce */
.esr-2026 .woocommerce ul.products li.product .price,
.esr-2026 .woocommerce div.product p.price,
.esr-2026 .woocommerce div.product span.price { color: var(--esr-navy) !important; font-family: var(--esr-sans) !important; font-weight: 500; }
.esr-2026 .woocommerce span.onsale { background: var(--esr-mag) !important; border-radius: var(--esr-radius) !important; font-family: var(--esr-sans) !important; }
.esr-2026 .woocommerce-message, .esr-2026 .woocommerce-info { border-top-color: var(--esr-mag) !important; background: var(--esr-soft) !important; color: var(--esr-navy) !important; }

/* Bannière cookies (Complianz) */
.esr-2026 .cmplz-cookiebanner { font-family: var(--esr-sans) !important; border-radius: var(--esr-radius) !important; }
.esr-2026 .cmplz-cookiebanner .cmplz-btn { border-radius: var(--esr-radius) !important; font-family: var(--esr-sans) !important; }
.esr-2026 .cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--esr-mag) !important; border-color: var(--esr-mag) !important; }

/* ==========================================================================
   Dates & tarifs
   ========================================================================== */
.esr-tarifs__jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
body.esr-2026 .esr-tarifs__jump a { border: 1px solid var(--esr-line-2); padding: 10px 16px; border-radius: 999px; color: var(--esr-navy); font-size: 14.5px; font-weight: 500; }
body.esr-2026 .esr-tarifs__jump a:hover { background: var(--esr-navy); color: #fff; }
.esr-tarifs [id] { scroll-margin-top: 110px; }
.esr-plist { display: grid; gap: 14px; }
.esr-prow { display: grid; grid-template-columns: 150px minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(0, .8fr) auto; gap: 28px; align-items: center; padding: 18px 28px 18px 18px; background: var(--esr-soft); border-radius: var(--esr-radius); }
.esr-prow__img img { width: 150px; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: var(--esr-radius); background: #EEEEF1; }
.esr-prow__t { font-family: var(--esr-display); font-size: clamp(22px, 2vw, 28px); line-height: 1.12; margin: 0; padding: 0; font-weight: 400; }
body.esr-2026 .esr-prow__t a { color: var(--esr-navy); }
body.esr-2026 .esr-prow__t a:hover { color: var(--esr-mag); }
.esr-prow__meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.esr-prow__meta span { font-size: 13px; padding: 5px 10px; background: #fff; border-radius: var(--esr-radius); color: var(--esr-ink); }
.esr-prow__meta .esr-prow__cpf { background: var(--esr-navy); color: #fff; }
.esr-prow__lbl { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--esr-mag); font-weight: 500; }
.esr-prow__date { font-weight: 500; margin-top: 6px; line-height: 1.35; }
.esr-prow__sub { font-size: 13.5px; color: var(--esr-muted); margin-top: 3px; line-height: 1.4; }
.esr-prow__amount { font-family: var(--esr-display); font-size: clamp(30px, 2.8vw, 40px); line-height: 1; white-space: nowrap; }
.esr-prow__cta { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.esr-prow__cta .esr-btn { padding: 12px 22px; }
/* Spécialisations : bande de couleur pop */
.esr-plist--spec { grid-template-columns: 1fr; }
.esr-prow--spec { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(0, .8fr) auto; padding: 22px 28px 22px 34px; position: relative; overflow: hidden; background: color-mix(in srgb, var(--acc, var(--esr-mag)) 9%, #fff); }
.esr-prow--spec::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--acc, var(--esr-mag)); }
.esr-prow--spec .esr-prow__lbl { color: var(--acc-ink, var(--esr-mag)); }
.esr-prow__meta .esr-prow__pill { background: var(--acc, var(--esr-soft)); color: var(--esr-navy); font-weight: 500; }
.esr-prow--spec .esr-prow__amount { font-size: clamp(26px, 2.4vw, 34px); }
.esr-tarifs__note { margin: 22px 0 0; padding: 0; color: var(--esr-muted); font-size: 14.5px; max-width: 820px; }
/* Financement */
.esr-fund { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1px; background: rgba(255, 255, 255, .14); margin: 44px 0 40px; border: 1px solid rgba(255, 255, 255, .14); }
.esr-fund__item { background: var(--esr-navy); padding: 30px 28px; }
.esr-fund__t { font-family: var(--esr-display); font-size: 26px; color: #fff; }
.esr-fund__item p { color: var(--esr-pale); margin: 12px 0 0; padding: 0; line-height: 1.55; font-size: 15.5px; }
@media (max-width: 1100px) {
	.esr-prow { grid-template-columns: 120px minmax(0, 1fr) auto; grid-template-areas: "img main price" "img next cta"; gap: 16px 24px; }
	.esr-prow__img { grid-area: img; } .esr-prow__main { grid-area: main; } .esr-prow__next { grid-area: next; } .esr-prow__price { grid-area: price; text-align: right; } .esr-prow__cta { grid-area: cta; }
	.esr-prow__img img { width: 120px; }
	.esr-prow--spec { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main price" "next cta"; }
}
@media (max-width: 640px) {
	.esr-prow, .esr-prow--spec { grid-template-columns: 1fr auto; grid-template-areas: "img img" "main main" "next next" "price cta"; padding: 16px 18px 20px; gap: 14px; }
	.esr-prow--spec { grid-template-areas: "main main" "next next" "price cta"; padding-left: 26px; }
	.esr-prow__img img { width: 100%; aspect-ratio: 16 / 7; }
	.esr-prow__price { text-align: left; align-self: end; }
	.esr-prow__cta { align-self: end; }
}

/* ==========================================================================
   Modules à la carte
   ========================================================================== */
.esr-mods-hero { padding-top: 72px; }
.esr-tabs { display: flex; gap: 0; margin-top: 40px; border-bottom: 1px solid var(--esr-line-2); overflow-x: auto; }
body.esr-2026 .esr-tabs a { padding: 14px 22px; color: var(--esr-muted); font-weight: 500; font-size: 15px; letter-spacing: .04em; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
body.esr-2026 .esr-tabs a:hover { color: var(--esr-navy); }
body.esr-2026 .esr-tabs a.is-active { color: var(--esr-navy); border-bottom-color: var(--esr-mag); }
.esr-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
body.esr-2026 .esr-filter button { font: inherit; font-size: 14.5px; font-weight: 500; border: 1px solid var(--esr-line-2); background: #fff; color: var(--esr-navy); padding: 9px 16px; border-radius: 999px; cursor: pointer; transition: background .2s, color .2s; }
body.esr-2026 .esr-filter button:hover { border-color: var(--esr-navy); }
body.esr-2026 .esr-filter button.is-active { background: var(--esr-navy); border-color: var(--esr-navy); color: #fff; }
.esr-mod-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 20px; }
.esr-mod-grid--wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); }
.esr-mod { --mc: var(--esr-mag); display: flex; flex-direction: column; background: var(--esr-soft); border-radius: var(--esr-radius); overflow: hidden; transition: transform .3s; }
body.esr-2026 .esr-mod, body.esr-2026 .esr-mod:hover { color: var(--esr-navy); }
.esr-mod:hover { transform: translateY(-4px); }
.esr-mod[hidden] { display: none; }
.esr-mod img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; background: #EEEEF1; border-bottom: 5px solid var(--mc); }
.esr-mod--metier { --mc: #FF8A4C; --mc-ink: #C24E0F; }
.esr-mod--com { --mc: #FF5CA8; --mc-ink: #C8176E; }
.esr-mod--business { --mc: #4CD37A; --mc-ink: #177A3C; }
.esr-mod--certif { --mc: #4FC3F7; --mc-ink: #0B77A8; }
.esr-mod--presentiel { --mc: #8CC7BF; --mc-ink: #2F7A70; }
.esr-mod__body { padding: 22px 22px 20px; display: flex; flex-direction: column; flex: 1; }
.esr-mod__top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.esr-mod__cat { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: var(--mc-ink, var(--esr-mag)); }
.esr-mod__dur { font-size: 13px; background: #fff; padding: 4px 9px; border-radius: var(--esr-radius); white-space: nowrap; }
.esr-mod__t { font-family: var(--esr-display); font-weight: 400; font-size: 25px; line-height: 1.12; margin: 14px 0 0; padding: 0; }
.esr-mod p { margin: 10px 0 0; padding: 0; color: var(--esr-muted); line-height: 1.5; font-size: 15px; flex: 1; }
.esr-mod__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--esr-line); }
.esr-mod__lbl { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--esr-muted); }
.esr-mod__date { font-weight: 500; font-size: 14.5px; margin-top: 3px; }
.esr-mod__price { font-family: var(--esr-display); font-size: 28px; line-height: 1; white-space: nowrap; }
.esr-empty { background: var(--esr-soft); padding: clamp(32px, 5vw, 64px); border-radius: var(--esr-radius); }
.esr-empty p { max-width: 620px; color: var(--esr-muted); line-height: 1.6; }
/* Calendrier */
.esr-agenda { display: grid; gap: 44px; }
.esr-agenda__month[hidden] { display: none; }
body.esr-2026 .esr-agenda__m { font-family: var(--esr-display); font-weight: 400; font-size: clamp(30px, 3vw, 40px); margin: 0 0 16px; padding: 0 0 14px; border-bottom: 2px solid var(--esr-navy); }
.esr-agenda__list { display: grid; }
.esr-agenda__row { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto auto; gap: 24px; align-items: center; padding: 18px 12px; border-bottom: 1px solid var(--esr-line); transition: background .2s; }
body.esr-2026 .esr-agenda__row, body.esr-2026 .esr-agenda__row:hover { color: var(--esr-navy); }
.esr-agenda__row:hover { background: var(--esr-soft); }
.esr-agenda__row[hidden] { display: none; }
.esr-agenda__day b { display: block; font-family: var(--esr-display); font-weight: 400; font-size: 34px; line-height: 1; }
.esr-agenda__day small { display: block; margin-top: 4px; text-transform: uppercase; letter-spacing: .14em; font-size: 11.5px; color: var(--esr-muted); }
.esr-agenda__t { display: block; font-weight: 500; font-size: 18px; line-height: 1.3; }
.esr-agenda__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 7px; font-size: 14px; color: var(--esr-muted); }
.esr-agenda__mode { font-weight: 500; padding: 2px 9px; border-radius: var(--esr-radius); color: var(--esr-navy); background: #FFD9C2; }
.esr-agenda__mode--presentiel { background: #CFE8E4; }
.esr-agenda__price { font-family: var(--esr-display); font-size: 24px; white-space: nowrap; }
.esr-agenda__go { font-weight: 500; font-size: 14.5px; color: var(--esr-mag); white-space: nowrap; }
@media (max-width: 700px) {
	.esr-agenda__row { grid-template-columns: 60px minmax(0, 1fr) auto; grid-template-areas: "day main main" "day price go"; gap: 8px 14px; padding: 16px 4px; }
	.esr-agenda__day { grid-area: day; align-self: start; } .esr-agenda__main { grid-area: main; } .esr-agenda__price { grid-area: price; font-size: 20px; } .esr-agenda__go { grid-area: go; justify-self: end; }
	.esr-agenda__day b { font-size: 28px; }
}

/* ==========================================================================
   Fiches module (événements EventON) — nouvelle charte, achat inchangé
   ========================================================================== */
body.esr-2026.single-ajde_events #sidebar, body.esr-2026.single-ajde_events #main-content .container::before, body.esr-2026.single-ajde_events #eventon_comments { display: none; }
body.esr-2026.single-ajde_events #left-area { width: 100%; padding: 0; float: none; }
body.esr-2026.single-ajde_events #main-content .container { max-width: 980px; width: calc(100% - 2 * var(--esr-gutter)); padding-top: 64px; padding-bottom: 80px; }
body.esr-2026.single-ajde_events .evosin_event_title { font-family: var(--esr-display) !important; font-weight: 400 !important; text-transform: none !important; font-size: clamp(38px, 5.4vw, 72px) !important; line-height: 1.02 !important; color: var(--esr-navy) !important; margin: 0 0 28px !important; }
body.esr-2026.single-ajde_events .evo_sin_page .eventon_list_event, body.esr-2026.single-ajde_events .evo_sin_page .eventon_list_event > * { border-radius: var(--esr-radius) !important; }
body.esr-2026.single-ajde_events .evo_sin_page .evcal_list_a { background: var(--esr-navy) !important; border-radius: var(--esr-radius) !important; }
body.esr-2026.single-ajde_events .evo_sin_page .evcal_list_a .evo_start em, body.esr-2026.single-ajde_events .evo_sin_page .evcal_list_a .date { color: var(--esr-coral) !important; }
body.esr-2026.single-ajde_events .evo_sin_page .evcal_list_a .evcal_event_title { font-family: var(--esr-display) !important; text-transform: none !important; font-weight: 400 !important; font-size: 26px !important; }
body.esr-2026.single-ajde_events .evo_sin_page .evcal_list_a .evcal_event_subtitle { font-family: var(--esr-sans) !important; letter-spacing: .12em; }
body.esr-2026.single-ajde_events .evocard_box { background: var(--esr-soft) !important; border-radius: var(--esr-radius) !important; border: 0 !important; }
body.esr-2026.single-ajde_events .evocard_main_image_hold { background: transparent !important; height: auto !important; }
body.esr-2026.single-ajde_events .evocard_main_image { height: auto !important; background: none !important; }
body.esr-2026.single-ajde_events .evocard_main_image img { display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 7; object-fit: cover; }
body.esr-2026.single-ajde_events .evo_h3, body.esr-2026.single-ajde_events .evocard_box h3 { font-family: var(--esr-display) !important; font-weight: 400 !important; text-transform: none !important; color: var(--esr-navy) !important; font-size: 24px !important; letter-spacing: 0 !important; }
body.esr-2026.single-ajde_events .eventon_desc_in, body.esr-2026.single-ajde_events .evcal_evdata_cell p { font-family: var(--esr-sans) !important; font-size: 16.5px !important; line-height: 1.65 !important; color: var(--esr-ink) !important; }
body.esr-2026.single-ajde_events .evcal_evdata_icons i { color: var(--esr-mag) !important; }
body.esr-2026.single-ajde_events #event_evotx { background: var(--esr-navy) !important; }
body.esr-2026.single-ajde_events #event_evotx * { color: #fff; }
body.esr-2026.single-ajde_events #event_evotx h3, body.esr-2026.single-ajde_events #event_evotx .evo_h3 { color: #fff !important; }
body.esr-2026.single-ajde_events #event_evotx .evcal_evdata_icons i { color: var(--esr-coral) !important; }
body.esr-2026.single-ajde_events #event_evotx input { color: var(--esr-navy) !important; }
body.esr-2026.single-ajde_events .evotx_qty_change { background: #fff !important; color: var(--esr-navy) !important; }
body.esr-2026.single-ajde_events .evcal_btn { background: var(--esr-mag) !important; color: #fff !important; border-radius: var(--esr-radius) !important; font-family: var(--esr-sans) !important; font-weight: 500 !important; text-transform: none !important; padding: 14px 26px !important; font-size: 16px !important; }
body.esr-2026.single-ajde_events .evcal_btn:hover { background: #fff !important; color: var(--esr-navy) !important; }
body.esr-2026.single-ajde_events .evolb_trigger, body.esr-2026.single-ajde_events .evo_btn_arr { background: var(--esr-navy) !important; color: #fff !important; border-radius: var(--esr-radius) !important; font-family: var(--esr-sans) !important; }
@media (max-width: 480px) { body.esr-2026 .esr-tabs a { padding: 14px 12px; font-size: 14px; } }

/* Menu : sous-menus à plusieurs groupes (ex. Formations) affichés en colonnes */
@media (min-width: 1181px) {
	.esr-menu { position: relative; }
	.esr-menu .sub-menu { max-height: calc(100vh - var(--esr-header-h, 120px) - 16px); overflow-y: auto; }
	.esr-menu > li > .sub-menu:has(> li.menu-item-has-children) {
		left: 0; width: 820px; max-width: calc(100vw - 48px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; padding: 20px;
	}
	.esr-menu > li > .sub-menu:has(> li.menu-item-has-children) > li:not(.menu-item-has-children) { grid-column: 1 / -1; }
	.esr-menu > li > .sub-menu:has(> li.menu-item-has-children) .sub-menu { padding-left: 0; }
	body.esr-2026 .esr-menu > li > .sub-menu:has(> li.menu-item-has-children) > li > a { border-bottom: 1px solid var(--esr-line); border-radius: 0; margin-bottom: 6px; padding-bottom: 12px; }
}

/* ==========================================================================
   Inscription (formulaire Divi Form Builder conservé, restylé)
   ========================================================================== */
.esr-steps { list-style: none; margin: 44px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; counter-reset: none; }
.esr-steps li { display: flex; gap: 18px; background: var(--esr-soft); padding: 26px 24px; border-radius: var(--esr-radius); }
.esr-steps__n { font-family: var(--esr-display); font-size: 34px; line-height: 1; color: var(--esr-mag); }
.esr-steps__t { font-weight: 500; font-size: 17px; }
.esr-steps p { margin: 6px 0 0; padding: 0; color: var(--esr-muted); line-height: 1.5; font-size: 15px; }
.esr-insc__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.esr-insc__aside { position: sticky; top: calc(var(--esr-header-h, 120px) + 20px); display: grid; gap: 16px; }
.esr-insc__box { border: 1px solid var(--esr-line-2); padding: 26px; border-radius: var(--esr-radius); }
.esr-insc__box p { margin: 10px 0 18px; padding: 0; line-height: 1.55; color: var(--esr-muted); font-size: 15px; }
.esr-insc__box--dark { background: var(--esr-navy); border-color: var(--esr-navy); }
.esr-insc__box--dark p { color: var(--esr-pale); }
.esr-insc__box--dark .esr-btn { width: 100%; text-align: center; justify-content: center; }
.esr-insc__k { font-family: var(--esr-display); font-size: 24px; line-height: 1.15; }
.esr-insc__box--dark .esr-insc__k { color: #fff; }
body.esr-2026 .esr-textlink--light { display: inline-block; margin-top: 16px; color: #fff; border-color: rgba(255, 255, 255, .5); }
.esr-insc__prices { list-style: none; margin: 14px 0 0; padding: 0; }
.esr-insc__prices li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--esr-line); }
body.esr-2026 .esr-insc__prices a { color: var(--esr-navy); font-weight: 500; }
body.esr-2026 .esr-insc__prices a:hover { color: var(--esr-mag); }
.esr-insc__prices span { font-family: var(--esr-display); font-size: 19px; white-space: nowrap; }
.esr-insc__box .esr-insc__small { font-size: 13.5px; margin: 12px 0 14px; }
.esr-insc__trust { list-style: none; margin: 4px 0 0; padding: 0 4px; display: grid; gap: 10px; }
.esr-insc__trust li { position: relative; padding-left: 26px; font-size: 14.5px; line-height: 1.45; color: var(--esr-ink); }
.esr-insc__trust li::before { content: ''; position: absolute; left: 2px; top: .35em; width: 12px; height: 7px; border-left: 2px solid var(--esr-mag); border-bottom: 2px solid var(--esr-mag); transform: rotate(-45deg); }
@media (max-width: 1024px) { .esr-insc__grid { grid-template-columns: 1fr; } .esr-insc__aside { position: static; } }

/* Contenu Divi de la page : on masque l'ancien bandeau et les anciennes étapes */
.esr-insc .esr-insc__form .et_pb_section_0, .esr-insc .esr-insc__form .et_pb_section_1 { display: none !important; }
.esr-insc__form .et_pb_section { background: none !important; padding: 0 !important; margin: 0 !important; }
body.esr-2026 .esr-insc__form .et_pb_section.et_pb_section, body.esr-2026 .esr-insc__form .et_pb_row.et_pb_row { background-color: transparent !important; background-image: none !important; box-shadow: none !important; }
body.esr-2026 .esr-insc__form form.fb_form { padding: 0 !important; background: none !important; }
body.esr-2026 .esr-insc__form .de_fb_form_field { margin-bottom: 14px !important; }
.esr-insc__form .et_pb_row { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.esr-insc__form .et_pb_column { margin-bottom: 0 !important; }
.esr-insc__form .divi-form-wrapper, .esr-insc__form .et_pb_module { background: none !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
body.esr-2026 .esr-insc__form .form-title { font-family: var(--esr-display) !important; font-weight: 400 !important; font-size: clamp(34px, 3.4vw, 46px) !important; color: var(--esr-navy) !important; margin: 0 0 24px !important; padding: 0 !important; }
body.esr-2026 .esr-insc__form .field_label { display: block; font-family: var(--esr-sans) !important; font-weight: 500 !important; font-size: 17px !important; color: var(--esr-navy) !important; margin: 18px 0 12px !important; text-transform: none !important; letter-spacing: 0 !important; }
body.esr-2026 .esr-insc__form .de_fb_required, body.esr-2026 .esr-insc__form .required > .de_fb_required { color: var(--esr-mag) !important; }
body.esr-2026 .esr-insc__form input.input-field, body.esr-2026 .esr-insc__form textarea, body.esr-2026 .esr-insc__form select {
	width: 100% !important; background: #fff !important; border: 1px solid var(--esr-line-2) !important; border-radius: var(--esr-radius) !important;
	padding: 15px 16px !important; font-family: var(--esr-sans) !important; font-size: 16px !important; color: var(--esr-navy) !important; box-shadow: none !important; transition: border-color .2s, box-shadow .2s;
}
body.esr-2026 .esr-insc__form input.input-field::placeholder, body.esr-2026 .esr-insc__form textarea::placeholder { color: var(--esr-muted) !important; opacity: 1; }
body.esr-2026 .esr-insc__form input.input-field:focus, body.esr-2026 .esr-insc__form textarea:focus { border-color: var(--esr-navy) !important; box-shadow: 0 0 0 3px rgba(176, 26, 71, .12) !important; outline: 0; }
/* Choix (radios / cases) en cartes cliquables */
body.esr-2026 .esr-insc__form .et_pb_contact_field_options_list { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 8px; }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox { position: relative; display: block !important; margin: 0 !important; width: auto !important; }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; z-index: 1; }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox label { display: flex !important; align-items: center; gap: 12px; min-height: 100%; margin: 0 !important; padding: 13px 14px !important; background: #fff; border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); cursor: pointer; font-size: 15px !important; line-height: 1.35 !important; color: var(--esr-navy) !important; transition: border-color .2s, background .2s; }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox label i { flex: none; width: 18px !important; height: 18px !important; border: 1.5px solid var(--esr-line-2) !important; border-radius: 50% !important; background: #fff !important; margin: 0 !important; position: relative !important; top: 0 !important; }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox input[type=checkbox] + label i { border-radius: 3px !important; }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox:hover label { border-color: var(--esr-navy); }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox input:checked + label { border-color: var(--esr-mag); background: color-mix(in srgb, var(--esr-mag) 6%, #fff); }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox input:checked + label i { border-color: var(--esr-mag) !important; background: var(--esr-mag) !important; box-shadow: inset 0 0 0 3px #fff; }
body.esr-2026 .esr-insc__form .et_pb_contact_field_checkbox input:focus-visible + label { box-shadow: 0 0 0 3px rgba(176, 26, 71, .2); }
/* Téléversement */
body.esr-2026 .esr-insc__form .dropzone { display: block; border: 1.5px dashed var(--esr-line-2) !important; background: var(--esr-soft) !important; border-radius: var(--esr-radius) !important; padding: 26px !important; text-align: center; transition: border-color .2s; }
body.esr-2026 .esr-insc__form .dropzone:hover { border-color: var(--esr-mag) !important; }
body.esr-2026 .esr-insc__form .drop-description, body.esr-2026 .esr-insc__form .upload_desc { font-family: var(--esr-sans) !important; color: var(--esr-ink) !important; font-size: 15px !important; }
body.esr-2026 .esr-insc__form .df_field_description_text { color: var(--esr-muted); font-size: 13.5px; }
/* Envoi */
body.esr-2026 .esr-insc__form .divi-form-submit-container { margin-top: 28px; text-align: left !important; }
body.esr-2026 .esr-insc__form .divi-form-submit { background: var(--esr-mag) !important; color: #fff !important; border: 0 !important; border-radius: var(--esr-radius) !important; font-family: var(--esr-sans) !important; font-weight: 500 !important; font-size: 17px !important; letter-spacing: .02em !important; text-transform: none !important; padding: 16px 34px !important; }
body.esr-2026 .esr-insc__form .divi-form-submit::after { display: none !important; }
body.esr-2026 .esr-insc__form .divi-form-submit:hover:not([disabled]) { background: var(--esr-navy) !important; }
body.esr-2026 .esr-insc__form .divi-form-submit[disabled] { opacity: .45; cursor: not-allowed; }
body.esr-2026 .esr-insc__form .upload_icon { display: flex !important; justify-content: center; margin: 0 0 10px !important; }
body.esr-2026 .esr-insc__form .dropzone .upload_icon, body.esr-2026 .esr-insc__form .dropzone .upload_desc { width: 100% !important; float: none !important; }
body.esr-2026 .esr-insc__form .upload_icon svg { width: 34px !important; height: 34px !important; }
body.esr-2026 .esr-insc__form .upload_icon svg, body.esr-2026 .esr-insc__form .upload_icon svg * { fill: var(--esr-mag) !important; }
body.esr-2026 .esr-insc__form .form-title { display: none !important; }
.esr-insc__hint { margin: 12px 0 26px; padding: 0; color: var(--esr-muted); font-size: 15px; }
.esr-insc__hint span { color: var(--esr-mag); }

/* ==========================================================================
   Bloc L'ESR (école, différent, équipe, évaluation, perspectives, témoignages)
   ========================================================================== */
.esr-page-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; align-items: center; }
.esr-page-hero--img .esr-page-hero__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.esr-page-hero__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: var(--esr-radius); background: var(--esr-soft); }
@media (max-width: 900px) { .esr-page-hero--img .esr-page-hero__grid { grid-template-columns: 1fr; } }
.esr-prose p { margin: 0 0 16px; padding: 0; line-height: 1.7; font-size: 17px; color: var(--esr-ink); }
.esr-split--rev > img { order: 2; }
@media (max-width: 900px) { .esr-split--rev > img { order: 0; } }
.esr-esr .esr-split { padding-top: 80px; padding-bottom: 80px; }
.esr-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 32px; }
.esr-stats b { display: block; font-family: var(--esr-display); font-weight: 400; font-size: clamp(48px, 5vw, 72px); line-height: 1; color: #fff; }
.esr-stats span { display: block; margin-top: 12px; color: var(--esr-pale); line-height: 1.5; font-size: 15.5px; }
.esr-stats small { display: block; margin-top: 6px; font-size: 13px; opacity: .8; }
.esr-stats__note { margin: 28px 0 0; padding: 0; color: var(--esr-pale); font-size: 13.5px; }
.esr-stats--light b { color: var(--esr-mag); }
.esr-stats--light span { color: var(--esr-ink); }
.esr-linkcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.esr-linkcard { display: flex; flex-direction: column; gap: 10px; padding: 30px 28px; background: var(--esr-soft); border-radius: var(--esr-radius); transition: transform .3s, background .3s; }
body.esr-2026 a.esr-linkcard, body.esr-2026 a.esr-linkcard:hover { color: var(--esr-navy); }
a.esr-linkcard:hover { transform: translateY(-4px); background: #EEEEF3; }
.esr-linkcard .esr-num { color: var(--esr-mag); }
.esr-linkcard__t { font-family: var(--esr-display); font-size: 27px; line-height: 1.12; }
.esr-linkcard__d { color: var(--esr-muted); line-height: 1.55; font-size: 15.5px; flex: 1; }
.esr-linkcard__go { font-weight: 500; color: var(--esr-mag); font-size: 14.5px; margin-top: 6px; }
.esr-world { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
body.esr-2026 .esr-world a, .esr-world span { border: 1px solid var(--esr-line-2); padding: 11px 18px; border-radius: 999px; color: var(--esr-navy); font-weight: 500; font-size: 15px; }
body.esr-2026 .esr-world a:hover { background: var(--esr-navy); color: #fff; }
.esr-world--static span { font-weight: 400; background: var(--esr-soft); border-color: transparent; }
.esr-cols2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px 48px; margin-top: 32px; }
.esr-cols2 p { margin: 0; padding: 0; color: var(--esr-pale); line-height: 1.7; font-size: 16.5px; }
.esr-manifesto { display: grid; gap: 4px; margin-bottom: 36px; }
.esr-manifesto p { margin: 0; padding: 18px 0; border-bottom: 1px solid var(--esr-line); font-family: var(--esr-display); font-size: clamp(24px, 3vw, 40px); line-height: 1.15; color: var(--esr-navy); }
.esr-manifesto em { color: var(--esr-mag); font-style: normal; }
/* Équipe */
.esr-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 28px 20px; }
.esr-team--lead { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.esr-person { display: flex; flex-direction: column; }
body.esr-2026 .esr-person, body.esr-2026 .esr-person:hover { color: var(--esr-navy); }
.esr-person__img { display: block; overflow: hidden; border-radius: var(--esr-radius); background: var(--esr-soft); aspect-ratio: 4 / 5; }
.esr-person__img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(.15); transition: transform .5s, filter .5s; }
.esr-person:hover .esr-person__img img { transform: scale(1.04); filter: none; }
.esr-person__name { font-family: var(--esr-display); font-size: 23px; line-height: 1.15; margin-top: 16px; }
.esr-person__role { color: var(--esr-ink); font-size: 15px; line-height: 1.45; margin-top: 6px; }
.esr-person__fmt { align-self: flex-start; margin-top: 10px; font-size: 12px; letter-spacing: .06em; padding: 4px 9px; background: var(--esr-soft); border-radius: var(--esr-radius); color: var(--esr-muted); }
/* Évaluation */
.esr-proto { margin: 18px 0 0; padding: 0; list-style: none; counter-reset: p; display: grid; gap: 14px; }
.esr-proto li { counter-increment: p; position: relative; padding: 18px 20px 18px 64px; background: var(--esr-soft); border-radius: var(--esr-radius); line-height: 1.55; }
.esr-proto li::before { content: counter(p, decimal-leading-zero); position: absolute; left: 20px; top: 16px; font-family: var(--esr-display); font-size: 24px; color: var(--esr-mag); }
.esr-datebox { border: 1px solid var(--esr-line-2); padding: 32px; border-radius: var(--esr-radius); align-self: start; }
.esr-datebox ul:not(.esr-offer__items) { list-style: none; margin: 14px 0 0; padding: 0; }
.esr-datebox ul:not(.esr-offer__items) li { font-family: var(--esr-display); font-size: 26px; padding: 12px 0; border-bottom: 1px solid var(--esr-line); }
.esr-datebox__q { display: flex; gap: 16px; align-items: center; margin-top: 26px; }
.esr-datebox__q img { width: 110px; height: auto; flex: none; }
.esr-datebox__q p { margin: 0; padding: 0; font-size: 14px; line-height: 1.5; color: var(--esr-muted); }
body.esr-2026 .esr-datebox__q a { color: var(--esr-mag); font-weight: 500; }
.esr-blocks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 12px; }
.esr-block { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: var(--esr-soft); border-radius: var(--esr-radius); line-height: 1.5; }
.esr-block__k { font-family: var(--esr-display); font-size: 30px; color: var(--esr-mag); line-height: 1; }
/* Témoignages (extension Real Testimonials) */
.esr-avis__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.esr-avis__video video { width: 100%; display: block; border-radius: var(--esr-radius); background: var(--esr-navy); aspect-ratio: 16 / 9; }
@media (max-width: 900px) { .esr-avis__top { grid-template-columns: 1fr; } }
.esr-avis .et_pb_section_0, .esr-avis .et_pb_text_0, .esr-avis .et_pb_text_1, .esr-avis .et_pb_video_0, .esr-avis .et_pb_video_1 { display: none !important; }
body.esr-2026 .esr-avis__list .et_pb_section.et_pb_section, body.esr-2026 .esr-avis__list .et_pb_row.et_pb_row { background: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; box-shadow: none !important; }
body.esr-2026 .esr-avis__list .sp-testimonial-pro-item .sp-testimonial-pro { background: var(--esr-soft) !important; border: 0 !important; border-radius: var(--esr-radius) !important; padding: 28px 24px !important; box-shadow: none !important; text-align: left !important; }
body.esr-2026 .esr-avis__list .tpro-client-image { text-align: left !important; margin: 0 0 14px !important; }
body.esr-2026 .esr-avis__list .tpro-client-image img { width: 64px !important; height: 64px !important; border-radius: 50% !important; object-fit: cover; }
body.esr-2026 .esr-avis__list .tpro-client-name { font-family: var(--esr-display) !important; font-weight: 400 !important; font-size: 22px !important; color: var(--esr-navy) !important; text-transform: none !important; margin: 0 !important; padding: 0 !important; text-align: left !important; }
body.esr-2026 .esr-avis__list .tpro-client-designation-company { font-family: var(--esr-sans) !important; font-size: 12px !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--esr-mag) !important; margin: 6px 0 14px !important; text-align: left !important; }
body.esr-2026 .esr-avis__list .tpro-testimonial-text, body.esr-2026 .esr-avis__list .tpro-testimonial-text p { font-family: var(--esr-sans) !important; font-size: 15.5px !important; line-height: 1.65 !important; color: var(--esr-ink) !important; text-align: left !important; font-style: normal !important; }
body.esr-2026 .esr-avis__list .sp-tpro-top-background { display: none !important; }
/* Contact */
.esr-contact__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 14px; margin-top: 40px; }
.esr-contact__card { display: flex; flex-direction: column; gap: 6px; padding: 26px 24px; background: var(--esr-soft); border-radius: var(--esr-radius); }
body.esr-2026 .esr-contact__card, body.esr-2026 a.esr-contact__card:hover { color: var(--esr-navy); }
a.esr-contact__card { transition: transform .3s; } a.esr-contact__card:hover { transform: translateY(-3px); }
.esr-contact__k { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-mag); font-weight: 500; }
.esr-contact__v { font-family: var(--esr-display); font-size: 23px; line-height: 1.2; margin-top: 6px; word-break: break-word; }
.esr-contact__d { color: var(--esr-muted); font-size: 14.5px; margin-top: 4px; }
body.esr-2026 .esr-contact__card--mag, body.esr-2026 a.esr-contact__card--mag:hover { background: var(--esr-mag); color: #fff; }
.esr-contact__card--mag .esr-contact__k, .esr-contact__card--mag .esr-contact__d { color: rgba(255, 255, 255, .85); }
.esr-contact__body { max-width: 900px; }
.esr-contact__body > .esr-h2 { margin-bottom: 26px; }
.esr-contact .et_pb_section_0, .esr-contact .et_pb_section_1 .et_pb_row_0 { display: none !important; }
body.esr-2026 .esr-contact__content .et_pb_section.et_pb_section, body.esr-2026 .esr-contact__content .et_pb_row.et_pb_row { background: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; box-shadow: none !important; }
.esr-contact .et_pb_section_2 { margin-top: 64px !important; scroll-margin-top: 120px; }
body.esr-2026 #main-content.esr-contact .et_pb_section_2 .et_pb_text, body.esr-2026 #main-content.esr-contact .et_pb_section_2 .et_pb_text * { font-family: var(--esr-display) !important; font-weight: 400 !important; font-size: clamp(34px, 3.6vw, 52px) !important; line-height: 1.05 !important; color: var(--esr-navy) !important; text-align: left !important; text-transform: none !important; letter-spacing: 0 !important; }
.esr-contact .et_pb_section_3 { margin-top: 24px !important; }
body.esr-2026 .esr-contact .bookly-form { font-family: var(--esr-sans) !important; }
body.esr-2026 .esr-contact .bookly-form .bookly-btn, body.esr-2026 .esr-contact .bookly-form button.bookly-btn { background: var(--esr-mag) !important; border-color: var(--esr-mag) !important; border-radius: var(--esr-radius) !important; }
body.esr-2026 #main-content .esr-manifesto p { font-family: var(--esr-display) !important; font-size: clamp(24px, 3vw, 40px) !important; line-height: 1.15 !important; color: var(--esr-navy); }
.esr-linkcards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
body.esr-2026 .esr-block > span:last-child { font-family: var(--esr-sans); color: var(--esr-ink); font-size: 15.5px; font-weight: 400; }
.esr-contact__v { font-size: 20px; }
.esr-world + .esr-actions { margin-top: 32px; }
body.esr-2026 #main-content .esr-avis__list .tpro-client-name { font-family: var(--esr-display) !important; font-weight: 400 !important; font-size: 22px !important; }
body.esr-2026 #main-content .esr-avis__list .tpro-client-testimonial, body.esr-2026 #main-content .esr-avis__list .tpro-testimonial-text, body.esr-2026 #main-content .esr-avis__list .tpro-testimonial-text * { text-align: left !important; }
/* Animations Divi neutralisées dans les contenus intégrés (sinon invisibles au chargement) */
.esr-contact__content .et_animated, .esr-insc__form .et_animated, .esr-avis__list .et_animated { opacity: 1 !important; animation: none !important; }
body.esr-2026 #main-content .esr-insc__form .et_contact_bottom_container { float: none !important; text-align: left !important; }
body.esr-2026 #main-content .esr-insc__form .divi-form-submit { text-transform: none !important; letter-spacing: .02em !important; }

/* Le sous-menu ouvert passe toujours au-dessus des autres */
.esr-menu > li.is-hover { z-index: 5; }

/* Contact v2 : plus de rythme */
.esr-contact .esr-dark .esr-contact__cards { margin-top: 0; }
.esr-contact .esr-dark .esr-contact__card { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); }
body.esr-2026 .esr-contact .esr-dark .esr-contact__card, body.esr-2026 .esr-contact .esr-dark a.esr-contact__card:hover { color: #fff; }
.esr-contact .esr-dark .esr-contact__k { color: var(--esr-coral); }
.esr-contact .esr-dark .esr-contact__d { color: var(--esr-pale); }
body.esr-2026 .esr-contact .esr-dark .esr-contact__card--mag { background: var(--esr-mag); border-color: var(--esr-mag); }
.esr-contact .esr-dark .esr-contact__card--mag .esr-contact__k, .esr-contact .esr-dark .esr-contact__card--mag .esr-contact__d { color: rgba(255, 255, 255, .85); }
.esr-contact__grid { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 56px; align-items: start; }
.esr-contact__intro .esr-h2 { font-size: clamp(34px, 3.4vw, 46px); white-space: nowrap; }
body.esr-2026 #main-content .esr-contact__intro p { color: var(--esr-muted); line-height: 1.6; margin: 14px 0 22px; }
@media (max-width: 960px) { .esr-contact__grid { grid-template-columns: 1fr; gap: 28px; } .esr-contact__intro { position: static; } }
/* Bloc rendez-vous (Bookly) sur fond doux, pleine largeur */
body.esr-2026 .esr-contact__content .et_pb_section.et_pb_section_2, body.esr-2026 .esr-contact__content .et_pb_section.et_pb_section_3 { background: var(--esr-soft) !important; box-shadow: 0 0 0 100vmax var(--esr-soft) !important; clip-path: inset(0 -100vmax); }
body.esr-2026 .esr-contact__content .et_pb_section.et_pb_section_2 { margin-top: 80px !important; padding-top: 56px !important; }
body.esr-2026 .esr-contact__content .et_pb_section.et_pb_section_3 { margin-top: 0 !important; padding: 12px 0 64px !important; }
body.esr-2026 .esr-contact .bookly-form { background: #fff; padding: 28px; border-radius: var(--esr-radius); }
/* Bandeau JPO */
.esr-jpo-band { background: #8CC7BF; }
.esr-jpo-band .esr-wrap { display: flex; justify-content: space-between; align-items: center; gap: 24px 48px; flex-wrap: wrap; }
.esr-jpo-band .esr-kicker { color: #1F4F49; }
body.esr-2026 #main-content .esr-jpo-band p { color: var(--esr-navy); margin: 10px 0 0; max-width: 620px; line-height: 1.55; }
/* Équipe : traitement photo uniforme (noir & blanc, couleur au survol) */
.esr-person__img { background: #E9E9EE; }
.esr-person__img img { filter: grayscale(1) contrast(1.06) brightness(1.03); object-position: 50% 22%; }
.esr-person:hover .esr-person__img img { filter: grayscale(0); }

/* ==========================================================================
   Pages individuelles de l'équipe
   ========================================================================== */
body.esr-2026 .esr-bio__back { display: inline-block; font-size: 14.5px; font-weight: 500; color: var(--esr-muted); margin-bottom: 28px; }
body.esr-2026 .esr-bio__back:hover { color: var(--esr-mag); }
.esr-bio__hero { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 64px; align-items: center; }
.esr-bio__photo { position: relative; isolation: isolate; }
.esr-bio__photo::after { content: ''; position: absolute; inset: 22px -22px -22px 22px; border: 1px solid var(--esr-mag); z-index: -1; border-radius: var(--esr-radius); }
.esr-bio__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 22%; display: block; border-radius: var(--esr-radius); background: #E9E9EE; filter: grayscale(1) contrast(1.06) brightness(1.03); }
.esr-bio__roles { list-style: none; margin: 18px 0 0; padding: 0; }
.esr-bio__roles li { font-size: 19px; line-height: 1.45; color: var(--esr-ink); }
.esr-bio__roles li + li { margin-top: 4px; }
.esr-bio__grid { display: grid; grid-template-columns: 200px minmax(0, 760px); gap: 40px; padding-top: 40px; border-top: 1px solid var(--esr-line-2); }
.esr-bio__text .et_pb_fullwidth_image_0, .esr-bio__text .et_pb_cta_0, .esr-bio__text .et_pb_image_0, .esr-bio__text .et_pb_cta_1 { display: none !important; }
body.esr-2026 .esr-bio__text .et_pb_section.et_pb_section, body.esr-2026 .esr-bio__text .et_pb_row.et_pb_row, body.esr-2026 .esr-bio__text .et_pb_column { background: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; box-shadow: none !important; float: none !important; }
.esr-bio__text .et_animated { opacity: 1 !important; animation: none !important; }
body.esr-2026 #main-content .esr-bio__text .et_pb_text_inner, body.esr-2026 #main-content .esr-bio__text .et_pb_text_inner p { font-size: 18px !important; line-height: 1.75 !important; color: var(--esr-ink) !important; text-align: left !important; }
body.esr-2026 #main-content .esr-bio__text .et_pb_text_inner p:first-child::first-letter { font-family: var(--esr-display); float: left; font-size: 64px; line-height: .9; padding: 6px 10px 0 0; color: var(--esr-mag); }
.esr-bio__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.esr-2026 .esr-bio__nav a { display: flex; flex-direction: column; gap: 6px; padding: 26px 28px; background: var(--esr-soft); border-radius: var(--esr-radius); color: var(--esr-navy); transition: background .2s; }
body.esr-2026 .esr-bio__nav a:hover { background: #EEEEF3; color: var(--esr-mag); }
.esr-bio__nav a:last-child { text-align: right; }
.esr-bio__nav small { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); }
.esr-bio__nav span { font-family: var(--esr-display); font-size: 24px; }
@media (max-width: 900px) {
	.esr-bio__hero { grid-template-columns: 1fr; gap: 40px; }
	.esr-bio__photo { max-width: 380px; }
	.esr-bio__grid { grid-template-columns: 1fr; gap: 12px; }
	.esr-bio__nav span { font-size: 19px; }
}
.esr-bio .esr-team { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
@media (min-width: 1100px) { .esr-bio .esr-team { grid-template-columns: repeat(4, 1fr); } }

/* Contact : grand logo blanc dans la colonne vide du bloc rendez-vous */
.esr-contact__content { position: relative; }
@media (min-width: 961px) {
	.esr-contact__content::after { content: ''; position: absolute; bottom: 90px; left: calc(-1 * (360px + 56px) + 20px); width: 300px; height: 306px; background: url('../img/logo-white.svg') no-repeat center / contain; pointer-events: none; }
}

/* Pages formateurs : une couleur d'accent par personne */
.esr-bio { --acc: var(--esr-mag); --acc-ink: var(--esr-mag); }
.esr-bio > section:first-child { background: color-mix(in srgb, var(--acc) 14%, #fff); max-width: none; padding-left: max(var(--esr-gutter), calc((100% - var(--esr-wrap)) / 2 + var(--esr-gutter))); padding-right: max(var(--esr-gutter), calc((100% - var(--esr-wrap)) / 2 + var(--esr-gutter))); padding-bottom: 72px; }
.esr-bio .esr-bio__photo::after { border-color: var(--acc); background: var(--acc); }
.esr-bio .esr-kicker { color: var(--acc-ink); }
.esr-bio .esr-tags span { background: #fff; }
body.esr-2026 #main-content .esr-bio__text .et_pb_text_inner p:first-child::first-letter { color: var(--acc-ink); }
.esr-bio .esr-bio__grid { border-top-color: var(--acc); border-top-width: 3px; }
body.esr-2026 .esr-bio__nav a:hover { color: var(--acc-ink); background: color-mix(in srgb, var(--acc) 14%, #fff); }
body.esr-2026 .esr-bio .esr-display em { color: var(--acc-ink); }

/* Lien contact : bandeau du haut + icône dans l'en-tête */
.esr-announce { position: relative; }
.esr-announce__msg { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.esr-announce__contact { position: absolute; right: var(--esr-gutter); top: 50%; transform: translateY(-50%); display: flex; gap: 18px; }
body.esr-2026 .esr-announce__contact a { text-decoration: none; display: inline-flex; align-items: center; gap: 6px; opacity: .9; }
body.esr-2026 .esr-announce__contact a:hover { opacity: 1; color: var(--esr-coral); }
body.esr-2026 .esr-announce__contact a + a { padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .3); }
@media (max-width: 1180px) { .esr-announce__contact { display: none; } }
.esr-iconlink__label { display: none; }
.esr-iconlink--tip::after { content: attr(data-tip); position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: var(--esr-navy); color: #fff; font-size: 12px; letter-spacing: .06em; padding: 5px 9px; border-radius: var(--esr-radius); white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s; }
.esr-iconlink--tip:hover::after { opacity: 1; }
@media (max-width: 1180px) {
	body.esr-2026 .esr-iconlink--tip { width: auto; padding: 0 12px; gap: 8px; border: 1px solid var(--esr-line-2); }
	.esr-iconlink--tip .esr-iconlink__label { display: inline; font-size: 14px; font-weight: 500; }
	.esr-iconlink--tip::after { display: none; }
}

/* ==========================================================================
   Blog
   ========================================================================== */
.esr-filter--links { margin: 34px 0 0; }
body.esr-2026 .esr-filter--links a { font-size: 14.5px; font-weight: 500; border: 1px solid var(--esr-line-2); background: #fff; color: var(--esr-navy); padding: 9px 16px; border-radius: 999px; transition: background .2s, color .2s; }
body.esr-2026 .esr-filter--links a:hover { border-color: var(--esr-navy); }
body.esr-2026 .esr-filter--links a.is-active { background: var(--esr-navy); border-color: var(--esr-navy); color: #fff; }
.esr-bloglist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 28px; }
.esr-bcard { display: flex; flex-direction: column; gap: 16px; }
body.esr-2026 .esr-bcard, body.esr-2026 .esr-bcard:hover { color: var(--esr-navy); }
.esr-bcard__img { display: block; overflow: hidden; border-radius: var(--esr-radius); background: #EEEEF1; }
.esr-bcard__img img, .esr-bcard__img .esr-post__ph { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; transition: transform .5s; }
.esr-bcard:hover .esr-bcard__img img { transform: scale(1.04); }
.esr-bcard__body { display: flex; flex-direction: column; gap: 10px; }
.esr-bcard__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; font-size: 13px; color: var(--esr-muted); }
.esr-bcard__cat { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: var(--esr-mag); }
body.esr-2026 a.esr-bcard__cat:hover { color: var(--esr-navy); }
.esr-bcard__t { font-family: var(--esr-display); font-size: 26px; line-height: 1.12; transition: color .2s; }
.esr-bcard:hover .esr-bcard__t { color: var(--esr-mag); }
.esr-bcard__x { color: var(--esr-muted); line-height: 1.55; font-size: 15.5px; }
.esr-bcard__go { font-size: 14.5px; font-weight: 500; color: var(--esr-mag); }
.esr-bcard--feat { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 44px; align-items: center; padding-bottom: 44px; border-bottom: 1px solid var(--esr-line-2); }
.esr-bcard--feat .esr-bcard__t { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.05; }
.esr-bcard--feat .esr-bcard__x { font-size: 17px; }
@media (max-width: 1000px) { .esr-bloglist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .esr-bloglist { grid-template-columns: 1fr; } .esr-bcard--feat { grid-template-columns: 1fr; gap: 18px; } }
.esr-pager { margin-top: 56px; }
.esr-pager ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
body.esr-2026 .esr-pager a, .esr-pager span { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); color: var(--esr-navy); font-weight: 500; }
body.esr-2026 .esr-pager a:hover { border-color: var(--esr-navy); }
.esr-pager .current { background: var(--esr-navy); border-color: var(--esr-navy); color: #fff; }
.esr-pager .dots { border: 0; }

/* Article */
.esr-article__head { max-width: 940px; padding-top: 56px; padding-bottom: 36px; }
.esr-article__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; font-size: 14px; color: var(--esr-muted); }
body.esr-2026 .esr-article__title { font-size: clamp(38px, 5vw, 68px) !important; line-height: 1.04 !important; margin: 18px 0 0 !important; }
.esr-article__lead { margin-top: 22px; }
.esr-article__cover { margin: 0 auto 48px; }
.esr-article__cover img { width: 100%; max-height: 620px; object-fit: cover; display: block; border-radius: var(--esr-radius); }
.esr-article__layout { display: grid; grid-template-columns: 160px minmax(0, 760px); gap: 56px; justify-content: center; padding-bottom: 40px; }
.esr-article__share { position: sticky; top: calc(var(--esr-header-h, 120px) + 24px); align-self: start; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.esr-article__share span { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-muted); margin-bottom: 4px; }
body.esr-2026 .esr-article__share a { color: var(--esr-navy); font-weight: 500; }
body.esr-2026 .esr-article__share a:hover { color: var(--esr-mag); }
@media (max-width: 900px) { .esr-article__layout { grid-template-columns: 1fr; gap: 24px; } .esr-article__share { position: static; flex-direction: row; flex-wrap: wrap; gap: 8px 16px; order: 2; } }
/* Contenu (souvent construit avec Divi) ramené à une colonne de lecture */
body.esr-2026 .esr-article__body .et_pb_section.et_pb_section, body.esr-2026 .esr-article__body .et_pb_row.et_pb_row { background: none !important; padding: 0 !important; margin: 0 !important; width: 100% !important; max-width: none !important; box-shadow: none !important; }
body.esr-2026 .esr-article__body .et_pb_column { width: 100% !important; margin: 0 !important; float: none !important; }
.esr-article__body .et_animated { opacity: 1 !important; animation: none !important; }
.esr-article__body .et_pb_module { margin-bottom: 26px !important; }
body.esr-2026 #main-content .esr-article__body, body.esr-2026 #main-content .esr-article__body p, body.esr-2026 #main-content .esr-article__body li, body.esr-2026 #main-content .esr-article__body .et_pb_text_inner { font-size: 18px !important; line-height: 1.75 !important; color: var(--esr-ink) !important; }
body.esr-2026 #main-content .esr-article__body p { margin: 0 0 1.1em !important; padding: 0 !important; }
body.esr-2026 #main-content .esr-article__body h2, body.esr-2026 #main-content .esr-article__body h3, body.esr-2026 #main-content .esr-article__body h4 { font-family: var(--esr-display) !important; font-weight: 400 !important; color: var(--esr-navy) !important; line-height: 1.15 !important; margin: 1.6em 0 .6em !important; padding: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
body.esr-2026 #main-content .esr-article__body h2 { font-size: 34px !important; }
body.esr-2026 #main-content .esr-article__body h3 { font-size: 27px !important; }
body.esr-2026 #main-content .esr-article__body h4 { font-size: 22px !important; }
body.esr-2026 #main-content .esr-article__body strong, body.esr-2026 #main-content .esr-article__body b { color: var(--esr-navy); font-weight: 600; }
body.esr-2026 #main-content .esr-article__body a { color: var(--esr-mag); text-decoration: underline; text-underline-offset: 3px; }
.esr-article__body img { max-width: 100%; height: auto; border-radius: var(--esr-radius); }
body.esr-2026 #main-content .esr-article__body blockquote { border-left: 3px solid var(--esr-mag); padding: 4px 0 4px 24px; margin: 1.6em 0; font-family: var(--esr-display); font-size: 26px !important; line-height: 1.3; color: var(--esr-navy); }
body.esr-2026 #main-content .esr-article__body ul, body.esr-2026 #main-content .esr-article__body ol { padding-left: 1.2em !important; margin: 0 0 1.2em !important; }

/* ==========================================================================
   E-shop & fiches produit
   ========================================================================== */
.esr-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 32px 22px; }
.esr-pcard { display: flex; flex-direction: column; }
.esr-pcard__img { position: relative; display: block; overflow: hidden; background: var(--esr-soft); border-radius: var(--esr-radius); }
.esr-pcard__img img { width: 100% !important; aspect-ratio: 1; object-fit: cover; display: block; margin: 0 !important; transition: transform .5s; }
.esr-pcard:hover .esr-pcard__img img { transform: scale(1.04); }
.esr-pcard__badge { position: absolute; top: 12px; left: 12px; background: var(--esr-mag); color: #fff; font-size: 12px; font-weight: 500; letter-spacing: .06em; padding: 4px 10px; border-radius: var(--esr-radius); }
.esr-pcard__body { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; flex: 1; }
.esr-pcard__cat { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: var(--esr-mag); }
body.esr-2026 .esr-pcard__t { font-family: var(--esr-display); font-size: 22px; line-height: 1.15; color: var(--esr-navy); flex: 1; }
body.esr-2026 .esr-pcard__t:hover { color: var(--esr-mag); }
.esr-pcard__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--esr-line); }
.esr-pcard__price { font-weight: 600; font-size: 17px; color: var(--esr-navy); }
.esr-pcard__price del { color: var(--esr-muted); font-weight: 400; margin-right: 6px; }
.esr-pcard__price ins { text-decoration: none; }
body.esr-2026 .esr-pcard__add { font-size: 14px; font-weight: 500; padding: 9px 16px; border: 1px solid var(--esr-navy); color: var(--esr-navy); border-radius: var(--esr-radius); white-space: nowrap; transition: background .2s, color .2s; }
body.esr-2026 .esr-pcard__add:hover { background: var(--esr-navy); color: #fff; }
body.esr-2026 .esr-pcard__add.added { background: var(--esr-mag); border-color: var(--esr-mag); color: #fff; }
body.esr-2026 .esr-pcard .added_to_cart { display: none; }
.esr-prod { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.esr-prod__main { background: var(--esr-soft); border-radius: var(--esr-radius); overflow: hidden; }
.esr-prod__main img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.esr-prod__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 10px; margin-top: 12px; }
.esr-prod__thumbs button { padding: 0; border: 2px solid transparent; background: var(--esr-soft); border-radius: var(--esr-radius); cursor: pointer; overflow: hidden; }
.esr-prod__thumbs button.is-active { border-color: var(--esr-mag); }
.esr-prod__thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.esr-prod__info { position: sticky; top: calc(var(--esr-header-h, 120px) + 24px); }
body.esr-2026 .esr-prod__title { font-size: clamp(34px, 3.6vw, 52px) !important; line-height: 1.05 !important; margin: 10px 0 0 !important; }
.esr-prod__price { font-size: 26px; font-weight: 600; color: var(--esr-navy); margin-top: 18px; }
.esr-prod__price del { color: var(--esr-muted); font-weight: 400; font-size: 20px; margin-right: 8px; }
.esr-prod__price ins { text-decoration: none; color: var(--esr-mag); }
body.esr-2026 #main-content .esr-prod__short p { font-size: 16.5px; line-height: 1.65; color: var(--esr-ink); margin: 18px 0 0; }
.esr-prod__cart { margin: 28px 0; padding: 24px 0; border-top: 1px solid var(--esr-line-2); border-bottom: 1px solid var(--esr-line-2); }
body.esr-2026 .esr-prod__cart form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0 !important; }
body.esr-2026 .esr-prod__cart .quantity input.qty { height: 54px; width: 84px !important; border: 1px solid var(--esr-line-2) !important; border-radius: var(--esr-radius); font-size: 17px !important; text-align: center; color: var(--esr-navy) !important; background: #fff !important; }
body.esr-2026 .esr-prod__cart .single_add_to_cart_button { flex: 1; min-height: 54px; background: var(--esr-mag) !important; color: #fff !important; border: 0 !important; border-radius: var(--esr-radius) !important; font-family: var(--esr-sans) !important; font-size: 17px !important; font-weight: 500 !important; letter-spacing: .02em; text-transform: none !important; padding: 0 28px !important; }
body.esr-2026 .esr-prod__cart .single_add_to_cart_button::after { display: none !important; }
body.esr-2026 .esr-prod__cart .single_add_to_cart_button:hover { background: var(--esr-navy) !important; }
body.esr-2026 .esr-prod__cart table.variations { width: 100%; margin-bottom: 12px; }
body.esr-2026 .esr-prod__cart table.variations select { width: 100%; padding: 12px; border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); }
.esr-prod__cart .stock { font-size: 14px; color: var(--esr-muted); }
@media (max-width: 900px) { .esr-prod { grid-template-columns: 1fr; gap: 32px; } .esr-prod__info { position: static; } }

/* ==========================================================================
   Panier, commande, compte (WooCommerce classique)
   ========================================================================== */
.esr-wsteps { list-style: none; margin: 32px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.esr-wsteps li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--esr-muted); font-weight: 500; }
.esr-wsteps span { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--esr-line-2); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.esr-wsteps li.is-done { color: var(--esr-navy); }
.esr-wsteps li.is-done span { background: var(--esr-navy); border-color: var(--esr-navy); color: #fff; }
.esr-wsteps li.is-current span { background: var(--esr-mag); border-color: var(--esr-mag); }
.esr-woo__content { padding-bottom: 96px; }
body.esr-2026 .esr-woo .woocommerce { font-family: var(--esr-sans); color: var(--esr-ink); }
/* Boutons */
body.esr-2026 .esr-woo .woocommerce .button, body.esr-2026 .esr-woo .woocommerce button.button, body.esr-2026 .esr-woo .woocommerce a.button, body.esr-2026 .esr-woo .woocommerce input.button {
	background: #fff !important; color: var(--esr-navy) !important; border: 1px solid var(--esr-navy) !important; border-radius: var(--esr-radius) !important;
	font-family: var(--esr-sans) !important; font-size: 15px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: .02em !important; padding: 12px 22px !important; line-height: 1.2 !important;
}
body.esr-2026 .esr-woo .woocommerce .button::after { display: none !important; }
body.esr-2026 .esr-woo .woocommerce .button:hover { background: var(--esr-navy) !important; color: #fff !important; }
body.esr-2026 .esr-woo .woocommerce .button.alt, body.esr-2026 .esr-woo .woocommerce a.checkout-button, body.esr-2026 .esr-woo .woocommerce #place_order {
	background: var(--esr-mag) !important; border-color: var(--esr-mag) !important; color: #fff !important; font-size: 17px !important; padding: 18px 28px !important; width: 100%; text-align: center; display: block;
}
body.esr-2026 .esr-woo .woocommerce .button.alt:hover, body.esr-2026 .esr-woo .woocommerce a.checkout-button:hover, body.esr-2026 .esr-woo .woocommerce #place_order:hover { background: var(--esr-navy) !important; border-color: var(--esr-navy) !important; }
body.esr-2026 .esr-woo .woocommerce .button:disabled, body.esr-2026 .esr-woo .woocommerce .button[disabled] { opacity: .45; }
/* Champs */
body.esr-2026 .esr-woo .woocommerce input.input-text, body.esr-2026 .esr-woo .woocommerce textarea, body.esr-2026 .esr-woo .woocommerce select, body.esr-2026 .esr-woo .woocommerce .select2-container .select2-selection--single {
	background: #fff !important; border: 1px solid var(--esr-line-2) !important; border-radius: var(--esr-radius) !important; padding: 13px 14px !important; font-size: 16px !important; color: var(--esr-navy) !important; box-shadow: none !important; min-height: 50px;
}
body.esr-2026 .esr-woo .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0; }
body.esr-2026 .esr-woo .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 12px; right: 8px; }
body.esr-2026 .esr-woo .woocommerce input.input-text:focus, body.esr-2026 .esr-woo .woocommerce textarea:focus { border-color: var(--esr-navy) !important; box-shadow: 0 0 0 3px rgba(176, 26, 71, .12) !important; outline: 0; }
body.esr-2026 .esr-woo .woocommerce form .form-row label { font-size: 14px; font-weight: 500; color: var(--esr-navy); margin-bottom: 6px; line-height: 1.4; }
body.esr-2026 .esr-woo .woocommerce form .form-row .required { color: var(--esr-mag); text-decoration: none; }
body.esr-2026 .esr-woo .woocommerce h2, body.esr-2026 .esr-woo .woocommerce h3 { font-family: var(--esr-display) !important; font-weight: 400 !important; color: var(--esr-navy) !important; font-size: 28px !important; line-height: 1.15 !important; padding: 0 !important; margin: 0 0 18px !important; text-transform: none !important; }
/* Tableaux */
body.esr-2026 .esr-woo .woocommerce table.shop_table { border: 0 !important; border-collapse: collapse !important; border-radius: 0 !important; margin: 0 0 24px !important; }
body.esr-2026 .esr-woo .woocommerce table.shop_table th { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--esr-muted); font-weight: 500; border: 0 !important; border-bottom: 1px solid var(--esr-line-2) !important; padding: 12px 10px !important; }
body.esr-2026 .esr-woo .woocommerce table.shop_table td { border: 0 !important; border-bottom: 1px solid var(--esr-line) !important; padding: 18px 10px !important; vertical-align: middle; font-size: 16px; }
body.esr-2026 .esr-woo .woocommerce table.cart img { width: 84px !important; height: 84px; object-fit: cover; border-radius: var(--esr-radius); }
body.esr-2026 .esr-woo .woocommerce table.cart .product-name a { font-family: var(--esr-display); font-size: 21px; color: var(--esr-navy); }
body.esr-2026 .esr-woo .woocommerce table.cart .product-name a:hover { color: var(--esr-mag); }
body.esr-2026 .esr-woo .woocommerce a.remove { color: var(--esr-muted) !important; font-size: 22px; font-weight: 300; width: 28px; height: 28px; line-height: 26px; border-radius: 50%; border: 1px solid var(--esr-line-2); }
body.esr-2026 .esr-woo .woocommerce a.remove:hover { background: var(--esr-mag) !important; border-color: var(--esr-mag); color: #fff !important; }
body.esr-2026 .esr-woo .woocommerce .quantity input.qty { width: 72px !important; height: 46px; border: 1px solid var(--esr-line-2) !important; border-radius: var(--esr-radius); text-align: center; font-size: 16px !important; background: #fff !important; color: var(--esr-navy) !important; }
body.esr-2026 .esr-woo .woocommerce table.cart td.actions { padding-top: 22px !important; }
body.esr-2026 .esr-woo .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
body.esr-2026 .esr-woo .woocommerce table.cart td.actions .coupon input.input-text { width: 220px !important; min-height: 46px; }
/* Mise en page panier : articles à gauche, total à droite */
@media (min-width: 981px) {
	body.esr-2026 .esr-woo.esr-woo .woocommerce:has(> form.woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; }
	body.esr-2026 .esr-woo .woocommerce:has(> form.woocommerce-cart-form) > *:not(form):not(.cart-collaterals) { grid-column: 1 / -1; }
	body.esr-2026 .esr-woo .woocommerce .cart-collaterals { position: sticky; top: calc(var(--esr-header-h, 120px) + 24px); }
}
body.esr-2026 .esr-woo .woocommerce .cart-collaterals .cart_totals { width: 100% !important; float: none !important; background: var(--esr-soft); padding: 28px; border-radius: var(--esr-radius); }
body.esr-2026 .esr-woo .woocommerce .cart-collaterals .cart_totals table.shop_table th { text-transform: none; letter-spacing: 0; font-size: 15px; color: var(--esr-ink); border-bottom: 1px solid var(--esr-line) !important; padding-left: 0 !important; }
body.esr-2026 .esr-woo .woocommerce .cart-collaterals .cart_totals table.shop_table td { text-align: right; padding-right: 0 !important; }
body.esr-2026 .esr-woo .woocommerce .order-total .amount { font-size: 24px; font-weight: 600; color: var(--esr-navy); }
/* Commande : coordonnées à gauche, récapitulatif à droite */
@media (min-width: 981px) {
	body.esr-2026 .esr-woo .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-areas: "details heading" "details review"; gap: 0 48px; align-items: start; }
	body.esr-2026 .esr-woo .woocommerce form.checkout > * { grid-column: 1 / -1; }
	body.esr-2026 .esr-woo .woocommerce form.checkout > #customer_details { grid-area: details; }
	body.esr-2026 .esr-woo .woocommerce form.checkout > #order_review_heading { grid-area: heading; background: var(--esr-soft); padding: 28px 28px 0 !important; margin: 0 !important; }
	body.esr-2026 .esr-woo .woocommerce form.checkout > #order_review { grid-area: review; background: var(--esr-soft); padding: 12px 28px 28px; }
}
body.esr-2026 .esr-woo .woocommerce form.checkout .col2-set .col-1, body.esr-2026 .esr-woo .woocommerce form.checkout .col2-set .col-2 { width: 100% !important; float: none !important; }
body.esr-2026 .esr-woo .woocommerce form.checkout .col2-set .col-2 { margin-top: 24px; }
body.esr-2026 .esr-woo .woocommerce #payment { background: #fff !important; border-radius: var(--esr-radius) !important; }
body.esr-2026 .esr-woo .woocommerce #payment ul.payment_methods { border-bottom: 1px solid var(--esr-line) !important; }
body.esr-2026 .esr-woo .woocommerce #payment div.payment_box { background: var(--esr-soft) !important; color: var(--esr-ink) !important; border-radius: var(--esr-radius) !important; }
body.esr-2026 .esr-woo .woocommerce #payment div.payment_box::before { border-bottom-color: var(--esr-soft) !important; }
/* Notices */
body.esr-2026 .esr-woo .woocommerce-message, body.esr-2026 .esr-woo .woocommerce-info, body.esr-2026 .esr-woo .woocommerce-error, body.esr-2026 .esr-product .woocommerce-message, body.esr-2026 .esr-shop .woocommerce-message {
	background: var(--esr-soft) !important; color: var(--esr-navy) !important; border: 0 !important; border-left: 3px solid var(--esr-mag) !important; border-radius: var(--esr-radius) !important; padding: 16px 20px 16px 48px !important; font-size: 15px;
}
body.esr-2026 .esr-woo .woocommerce-message::before, body.esr-2026 .esr-woo .woocommerce-info::before { color: var(--esr-mag) !important; }
body.esr-2026 .woocommerce-message .button, body.esr-2026 .woocommerce-info .button { float: right; }
/* Mon compte */
body.esr-2026 .esr-woo .woocommerce-MyAccount-navigation { width: 260px !important; }
body.esr-2026 .esr-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--esr-line-2); }
body.esr-2026 .esr-woo .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--esr-line); }
body.esr-2026 .esr-woo .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 4px; color: var(--esr-navy); font-weight: 500; }
body.esr-2026 .esr-woo .woocommerce-MyAccount-navigation li.is-active a, body.esr-2026 .esr-woo .woocommerce-MyAccount-navigation li a:hover { color: var(--esr-mag); }
body.esr-2026 .esr-woo .woocommerce-MyAccount-content { width: calc(100% - 320px) !important; }
@media (max-width: 800px) { body.esr-2026 .esr-woo .woocommerce-MyAccount-navigation, body.esr-2026 .esr-woo .woocommerce-MyAccount-content { width: 100% !important; float: none !important; } }
body.esr-2026 .esr-woo .woocommerce form.login, body.esr-2026 .esr-woo .woocommerce form.register { border: 1px solid var(--esr-line-2) !important; border-radius: var(--esr-radius) !important; padding: 28px !important; }

/* ==========================================================================
   ESR Retail (B2B)
   ========================================================================== */
.esr-retail__hero { background: var(--esr-navy); color: #fff; padding: 80px 0 0; position: relative; overflow: hidden; }
.esr-retail__hero::before { content: ''; position: absolute; right: -120px; top: -120px; width: 520px; height: 520px; background: url('../img/logo-white.svg') no-repeat center / contain; opacity: .05; pointer-events: none; }
.esr-retail__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; align-items: center; position: relative; }
body.esr-2026 .esr-retail__hero .esr-display { color: #fff; }
body.esr-2026 .esr-retail__hero .esr-display em { color: var(--esr-coral); }
body.esr-2026 #main-content .esr-retail__hero .esr-lead { color: var(--esr-pale); max-width: 620px; }
.esr-retail__photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: var(--esr-radius); background: var(--esr-navy-2); }
.esr-retail__for { list-style: none; margin: 64px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, .15); position: relative; }
.esr-retail__for li { padding: 28px 24px 32px 0; display: flex; flex-direction: column; gap: 6px; }
.esr-retail__for li + li { padding-left: 24px; border-left: 1px solid rgba(255, 255, 255, .15); }
.esr-retail__for b { font-family: var(--esr-display); font-weight: 400; font-size: 24px; color: #fff; }
.esr-retail__for span { color: var(--esr-pale); font-size: 15px; }
body.esr-2026 #main-content .esr-retail__question { font-family: var(--esr-display) !important; font-size: clamp(28px, 3.4vw, 46px) !important; line-height: 1.15 !important; color: var(--esr-navy); max-width: 1000px; margin: 0; }
.esr-retail__question em { color: var(--esr-mag); font-style: normal; }
body.esr-2026 #main-content .esr-retail__intro p { color: var(--esr-ink); }
.esr-retail__pillars-wrap { background: var(--esr-soft); }
.esr-retail__pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.esr-retail__pillars > div { background: #fff; padding: 34px 30px; border-radius: var(--esr-radius); border-top: 4px solid var(--esr-mag); display: flex; flex-direction: column; gap: 10px; }
.esr-retail__pillars b { font-family: var(--esr-display); font-weight: 400; font-size: 30px; color: var(--esr-navy); }
body.esr-2026 #main-content .esr-retail__pillars p { margin: 0; color: var(--esr-muted); line-height: 1.6; }
.esr-retail__services { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.esr-retail__svc { border: 1px solid var(--esr-line-2); padding: 34px; border-radius: var(--esr-radius); display: flex; flex-direction: column; gap: 12px; transition: border-color .2s, transform .3s; }
.esr-retail__svc:hover { border-color: var(--esr-navy); transform: translateY(-3px); }
body.esr-2026 .esr-retail__svc h3 { font-family: var(--esr-display); font-weight: 400; font-size: 28px; line-height: 1.12; color: var(--esr-navy); margin: 0; padding: 0; }
body.esr-2026 #main-content .esr-retail__svc p { margin: 0; color: var(--esr-muted); line-height: 1.6; }
.esr-retail__svc ul { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.esr-2026 #main-content .esr-retail__svc li { font-size: 13.5px; background: var(--esr-soft); padding: 6px 12px; border-radius: 999px; color: var(--esr-navy); }
.esr-retail__split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: center; }
.esr-retail__photo2 img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: var(--esr-radius); }
.esr-retail__benefits { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .14); }
body.esr-2026 #main-content .esr-retail__benefits li { background: var(--esr-navy); padding: 22px 24px; color: #fff !important; font-family: var(--esr-display) !important; font-size: 22px !important; }
.esr-retail__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: s; }
.esr-retail__steps li { counter-increment: s; padding: 28px 24px 0 0; border-top: 2px solid var(--esr-navy); display: flex; flex-direction: column; gap: 8px; position: relative; }
.esr-retail__steps li::before { content: counter(s, decimal-leading-zero); font-family: var(--esr-display); font-size: 44px; color: var(--esr-mag); line-height: 1; }
.esr-retail__steps b { font-size: 19px; color: var(--esr-navy); font-weight: 500; }
.esr-retail__steps span { color: var(--esr-muted); line-height: 1.55; font-size: 15.5px; }
.esr-retail__form-wrap { background: color-mix(in srgb, var(--esr-mag) 7%, #fff); }
.esr-retail__formgrid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
body.esr-2026 #main-content .esr-retail__formintro { color: var(--esr-muted); line-height: 1.6; margin: 16px 0 22px; }
body.esr-2026 #main-content .esr-retail__direct { margin-top: 24px; font-size: 15px; color: var(--esr-ink); }
body.esr-2026 .esr-retail__direct a { color: var(--esr-mag); font-weight: 500; }
.esr-retail .esr-form-card { box-shadow: 0 20px 60px rgba(20, 28, 54, .08); }
.esr-form__checks { border: 0; margin: 4px 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.esr-form__checks legend { font-size: 14px; font-weight: 500; color: var(--esr-navy); margin-bottom: 8px; padding: 0; }
body.esr-2026 .esr-form__checks label { display: flex !important; gap: 10px; align-items: flex-start; font-size: 14.5px; padding: 12px; border: 1px solid var(--esr-line-2); border-radius: var(--esr-radius); cursor: pointer; }
.esr-form__checks input { margin-top: 3px; accent-color: var(--esr-mag); }
@media (max-width: 960px) {
	.esr-retail__grid, .esr-retail__split, .esr-retail__formgrid { grid-template-columns: 1fr; gap: 36px; }
	.esr-retail__for { grid-template-columns: 1fr; }
	.esr-retail__for li + li { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .15); }
	.esr-retail__pillars, .esr-retail__services { grid-template-columns: 1fr; }
	.esr-retail__steps { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.esr-retail__photo { max-width: 460px; }
}
@media (max-width: 560px) { .esr-retail__steps, .esr-form__checks, .esr-retail__benefits { grid-template-columns: 1fr; } }

/* ==========================================================================
   Pages légales
   ========================================================================== */
.esr-legal__updated { color: var(--esr-muted); font-size: 14.5px; margin: 14px 0 0; }
.esr-legal__grid { display: grid; grid-template-columns: 260px minmax(0, 820px); gap: 64px; align-items: start; }
.esr-legal__aside { position: sticky; top: calc(var(--esr-header-h, 120px) + 24px); display: grid; gap: 28px; }
.esr-legal__k { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--esr-mag); font-weight: 500; margin-bottom: 12px; }
.esr-legal__toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--esr-line-2); max-height: 60vh; overflow: auto; }
.esr-legal__toc li { margin: 0; }
body.esr-2026 .esr-legal__toc a { display: block; padding: 6px 0 6px 14px; font-size: 14px; line-height: 1.35; color: var(--esr-ink); margin-left: -1px; border-left: 2px solid transparent; }
body.esr-2026 .esr-legal__toc a:hover { color: var(--esr-mag); border-left-color: var(--esr-mag); }
.esr-legal__toc li.is-sub a { padding-left: 26px; font-size: 13.5px; color: var(--esr-muted); }
.esr-legal__contact { background: var(--esr-soft); padding: 20px; border-radius: var(--esr-radius); display: flex; flex-direction: column; gap: 6px; }
body.esr-2026 .esr-legal__contact a { color: var(--esr-navy); font-weight: 500; font-size: 15px; }
.esr-legal__id { background: var(--esr-navy); color: #fff; padding: 32px; border-radius: var(--esr-radius); margin-bottom: 44px; }
.esr-legal__id .esr-legal__k { color: var(--esr-coral); }
.esr-legal__id dl { margin: 0; display: grid; gap: 0; }
.esr-legal__id dl > div { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 16px; padding: 11px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.esr-legal__id dt { color: var(--esr-pale); font-size: 14px; }
.esr-legal__id dd { margin: 0; font-size: 15.5px; line-height: 1.5; }
body.esr-2026 #main-content .esr-legal__body, body.esr-2026 #main-content .esr-legal__body p, body.esr-2026 #main-content .esr-legal__body li, body.esr-2026 #main-content .esr-legal__body .et_pb_text_inner { font-size: 16.5px !important; line-height: 1.7 !important; }
body.esr-2026 #main-content .esr-legal__body h2 { font-size: 30px !important; scroll-margin-top: 120px; }
body.esr-2026 #main-content .esr-legal__body h3 { font-size: 23px !important; scroll-margin-top: 120px; }
body.esr-2026 #main-content .esr-legal__body h1 { display: none; }
@media (max-width: 960px) { .esr-legal__grid { grid-template-columns: 1fr; gap: 28px; } .esr-legal__aside { position: static; } .esr-legal__toc { display: none; } .esr-legal__id dl > div { grid-template-columns: 1fr; gap: 2px; } }

/* ===== HubSpot Réunions (remplace Bookly) ===== */
body.esr-hs-rdv .esr-contact__content .et_pb_section_2,
body.esr-hs-rdv .esr-contact__content .et_pb_section_3 { display: none !important; }
.esr-hs-rdvblock { margin-top: 80px; padding: 56px 0 64px; background: var(--esr-soft); box-shadow: 0 0 0 100vmax var(--esr-soft); clip-path: inset(0 -100vmax); scroll-margin-top: 120px; }
.esr-hs-rdvblock .esr-muted { max-width: 560px; margin: 12px 0 28px; }
.esr-hs-meetings { min-height: 680px; background: #fff; border-radius: var(--esr-radius); }
.esr-hs-meetings iframe { width: 100% !important; min-height: 680px; border: 0; }
.esr-rdv__cal .esr-hs-meetings { border: 1px solid var(--esr-line); }
.esr-rdv__list { margin: 12px 0 0; padding-left: 18px; }
.esr-rdv__list li { margin-bottom: 8px; }
body.esr-2026 #main-content .esr-insc__box--dark .esr-rdv__list li { color: rgba(255,255,255,.86) !important; font-size: 15px; line-height: 1.5; list-style: disc; }
/* Contact : bloc rendez-vous HubSpot pleine largeur (comme /prendre-rendez-vous/), sans le logo */
body.esr-hs-rdv .esr-contact__content::after { display: none !important; }
.esr-hs-band { background: var(--esr-soft); }
.esr-hs-band .esr-section { padding-top: 88px; padding-bottom: 88px; scroll-margin-top: 120px; }
.esr-hs-band__lead { max-width: 560px; margin: 12px 0 36px; }
.esr-hs-band .esr-insc__box:not(.esr-insc__box--dark) { background: #fff; }

/* Témoignages : chiffres lisibles (relecture 27/09/2026) */
.esr-avis__kpis { display: grid; gap: 16px; }
.esr-avis__kpi { background: var(--esr-soft); border-radius: var(--esr-radius); padding: 26px 28px; display: grid; gap: 6px; }
.esr-avis__kpi b { font-family: var(--esr-display); font-weight: 400; font-size: clamp(44px, 5vw, 64px); line-height: 1; color: var(--esr-mag); }
.esr-avis__kpi span { font-size: 16px; color: var(--esr-navy); }
.esr-avis__kpi small { font-size: 12.5px; color: var(--esr-muted, #6B7080); }

/* Textes justifiés (paragraphes longs) */
.esr-cols p, .esr-faq__item > p, .esr-overview__body p, .esr-prose p, .esr-validation__intro { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
@media (max-width: 600px) { .esr-cols p, .esr-faq__item > p, .esr-overview__body p, .esr-prose p, .esr-validation__intro { text-align: left; } }
.esr-box p + .esr-box__k { margin-top: 18px; }
.esr-result__n { white-space: nowrap; flex: 0 0 auto; font-size: clamp(52px, 5.4vw, 84px); }
.esr-result__l { flex: 1 1 auto; min-width: 0; }
@media (max-width: 600px) { .esr-result { flex-direction: column; align-items: flex-start; gap: 8px; } }

/* Programmes PDF : fenêtre « e-mail avant téléchargement » (v2.8.0) */
.esr-prog { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.esr-prog[hidden] { display: none; }
.esr-prog__bg { position: absolute; inset: 0; background: rgba(20, 28, 54, .72); }
.esr-prog__box { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); overflow-y: auto; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.esr-prog__x { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: none; font-size: 30px; line-height: 1; color: var(--esr-navy); cursor: pointer; }
.esr-prog__x:hover { color: var(--esr-mag); }
.esr-prog__t { font-family: var(--esr-display); font-size: 30px; line-height: 1.1; color: var(--esr-navy); margin: 8px 40px 10px 0; }
.esr-prog__p { font-size: 15px; line-height: 1.55; color: var(--esr-ink); margin: 0 0 20px; }
.esr-prog .esr-form-msg--err { margin: 0; }
.esr-prog .esr-form-msg--ok { margin: 0; }
.esr-prog .esr-form-msg--ok .esr-btn { margin-top: 8px; }
html.esr-prog-open { overflow: hidden; }
@media (max-width: 600px) { .esr-prog__t { font-size: 24px; } }
