/**
 * myProgram — charte Advisor.
 *
 * Valeurs relevées sur l'ancien site (myassistant) et reproduites à l'identique :
 * bleus #4054B2 / #4157AC, Montserrat 200-700 + Roboto, hero 450px, conteneur
 * 1100px, cartes de programme en aplat bleu à rayon 5px.
 *
 * Les défauts de l'original sont corrigés, pas reproduits : le H1 du hero était
 * invisible (visibility:hidden), le lien « mot de passe oublié » faisait 0×0px,
 * et aucune zone cliquable n'avait d'état de survol ou de focus.
 */

:root {
	--mp-blue: #4054B2;        /* titres, textes, fond des cartes */
	--mp-blue-alt: #4157AC;    /* formulaires, boutons, puces */
	--mp-blue-dark: #1D214E;
	--mp-text: #777777;
	--mp-border: #CCCCCC;
	--mp-light: #F3F3F3;
	--mp-white: #FFFFFF;
	--mp-danger: #B91C1C;
	--mp-radius: 0;
	--mp-container: 1100px;
	--mp-sans: Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--mp-body: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

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

body {
	margin: 0;
	background: var(--mp-white);
	color: var(--mp-text);
	font-family: var(--mp-body);
	font-size: 17px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--mp-blue); }

h1, h2, h3, h4 {
	font-family: var(--mp-sans);
	color: var(--mp-blue);
	margin: 0;
}

/* Accessibilité ---------------------------------------------------------- */

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mp-skip {
	position: absolute;
	left: -9999px; top: 0;
	z-index: 100;
	background: var(--mp-blue);
	color: #fff;
	padding: 0.75rem 1.25rem;
}

.mp-skip:focus { left: 0; }

:focus-visible {
	outline: 3px solid var(--mp-blue-alt);
	outline-offset: 2px;
}

/* En-tête ---------------------------------------------------------------- */

.mp-header {
	background: var(--mp-white);
	min-height: 74px;
	display: flex;
	align-items: center;
}

.mp-header--overlay {
	position: absolute;
	top: 0; left: 0; right: 0;
	z-index: 30;
	background: rgba(255, 255, 255, 0.82);
}

.mp-header__inner {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 0 30px 0 90px;
}

.mp-header__brand { display: flex; align-items: center; gap: 0.85rem; margin-right: auto; }

.mp-header__logo img,
.mp-header__logo-img,
.custom-logo { display: block; width: 230px; height: auto; }

.mp-header__institution {
	font-family: var(--mp-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--mp-blue);
	padding-left: 0.85rem;
	border-left: 1px solid rgba(64, 84, 178, 0.3);
}

.mp-header__toggle {
	display: none;
	width: 44px; height: 44px;
	border: 1px solid var(--mp-border);
	background: transparent;
	cursor: pointer;
	position: relative;
	border-radius: var(--mp-radius);
}

.mp-header__toggle-bar,
.mp-header__toggle-bar::before,
.mp-header__toggle-bar::after {
	position: absolute;
	left: 50%;
	width: 20px; height: 2px;
	background: var(--mp-blue);
	transform: translateX(-50%);
	content: "";
}

.mp-header__toggle-bar { top: 50%; }
.mp-header__toggle-bar::before { top: -6px; }
.mp-header__toggle-bar::after { top: 6px; }

.mp-nav { display: flex; align-items: center; gap: 2rem; }

.mp-nav__list {
	display: flex;
	align-items: center;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mp-nav__list a {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 400;
	color: var(--mp-blue);
	text-decoration: none;
	padding: 6px 0;
	border-bottom: 2px solid transparent;
}

.mp-nav__list a:hover,
.mp-nav__list a:focus-visible,
.mp-nav__list .current-menu-item > a { border-bottom-color: var(--mp-blue); }

/* Sous-menu (« Choisissez votre programme d’assurance ») */
.mp-nav__list li { position: relative; }

.mp-nav__list .sub-menu {
	position: absolute;
	top: 100%; left: 0;
	min-width: 240px;
	margin: 0;
	padding: 0.5rem 0;
	list-style: none;
	background: var(--mp-white);
	border: 1px solid rgba(64, 84, 178, 0.15);
	border-radius: var(--mp-radius);
	box-shadow: 0 12px 30px -18px rgba(29, 33, 78, 0.55);
	display: none;
	z-index: 40;
}

.mp-nav__list li:hover > .sub-menu,
.mp-nav__list li:focus-within > .sub-menu { display: block; }

.mp-nav__list .sub-menu a {
	display: block;
	padding: 8px 18px;
	border-bottom: 0;
	white-space: nowrap;
}

.mp-nav__list .sub-menu a:hover { background: var(--mp-light); }

.mp-nav__list .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	margin-left: 8px;
	border: 4px solid transparent;
	border-top-color: currentColor;
	transform: translateY(2px);
}

.mp-nav__actions { display: flex; align-items: center; gap: 1.5rem; }

.mp-lang { display: flex; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }

.mp-lang__item a {
	font-family: var(--mp-sans);
	font-size: 15px;
	color: var(--mp-blue);
	text-decoration: none;
}

.mp-lang__item.is-current a { font-weight: 700; }

/* Boutons ---------------------------------------------------------------- */

.mp-btn,
.mp-login input[type="submit"] {
	display: inline-block;
	font-family: var(--mp-sans);
	font-size: 14px;
	font-weight: 400;
	line-height: 21px;
	padding: 10px 45px;
	border: 1px solid var(--mp-blue-alt);
	border-radius: var(--mp-radius);
	background: var(--mp-blue-alt);
	color: var(--mp-white);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.mp-btn:hover,
.mp-btn:focus-visible,
.mp-login input[type="submit"]:hover,
.mp-login input[type="submit"]:focus-visible {
	background: var(--mp-white);
	color: var(--mp-blue-alt);
}

.mp-btn--outline {
	background: transparent;
	color: var(--mp-blue-alt);
	padding: 8px 26px;
}

.mp-btn--outline:hover { background: var(--mp-blue-alt); color: var(--mp-white); }

.mp-btn--sm { font-size: 13px; padding: 7px 22px; }

/* Hero ------------------------------------------------------------------- */

.mp-hero {
	position: relative;
	min-height: 450px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 30px 100px 40px 150px;
	background-color: rgba(2, 1, 1, 0.08);
	background-size: cover;
	background-position: 0 26%;
	background-repeat: no-repeat;
	color: var(--mp-white);
}

.mp-hero__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }

.mp-hero__logo { width: 290px; height: auto; display: block; }

.mp-hero__lang { font-family: var(--mp-sans); font-size: 15px; color: #fff; text-decoration: none; }

.mp-hero__lang:hover { text-decoration: underline; }

.mp-hero__title {
	font-family: var(--mp-sans);
	font-size: 53px;
	font-weight: 200;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
	margin: 0 0 20px;
}

.mp-hero__lead {
	font-family: var(--mp-sans);
	font-size: 17px;
	font-weight: 200;
	line-height: 1;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
}

/* Sections --------------------------------------------------------------- */

.mp-section { padding: 50px 0 20px; }

.mp-section__inner {
	max-width: var(--mp-container);
	margin: 0 auto;
	padding: 0 20px;
}

.mp-section--select { padding-top: 20px; }

.mp-section__title {
	font-family: var(--mp-sans);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--mp-blue);
	margin: 0 0 18px;
}

.mp-section__body p,
.mp-section__lead {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 300;
	line-height: 24px;
	color: var(--mp-blue);
	text-align: justify;
	margin: 0 0 10px;
}

/* Cartes de programme ---------------------------------------------------- */

.mp-cards {
	display: flex;
	flex-wrap: wrap;
	margin: 30px -10px 0;
}

.mp-card {
	flex: 1 1 0;
	min-width: 240px;
	margin: 10px;
	padding: 20px 10px;
	background: var(--mp-blue);
	border: 0;
	border-radius: var(--mp-radius);
	color: var(--mp-white);
	text-align: center;
	font: inherit;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.mp-card:hover,
.mp-card:focus-visible {
	background: var(--mp-blue-alt);
	box-shadow: 0 14px 28px -18px rgba(29, 33, 78, 0.85);
}

.mp-card[aria-selected="true"] { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.7); }

.mp-card__icon { fill: currentColor; display: block; }

.mp-card__name {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 21px;
	color: var(--mp-white);
}

.mp-card__sub {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 21px;
	color: var(--mp-white);
	margin-top: -13px; /* le sous-titre est la 2e ligne du même titre */
}

.mp-card__cta { display: none; }

/* Panneau de programme --------------------------------------------------- */

.mp-panel { margin: 50px 0; }

.mp-panel__title {
	font-family: var(--mp-sans);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--mp-blue);
	margin: 0 0 15px;
}

.mp-panel__grid {
	display: grid;
	grid-template-columns: 726fr 374fr;
	gap: 0 40px;
	align-items: start;
}

.mp-panel__kicker {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--mp-blue-alt);
	margin: 0 0 4px;
}

.mp-panel__col p,
.mp-panel__contact {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 300;
	line-height: 24px;
	color: var(--mp-blue);
	text-align: justify;
	margin: 0 0 10px;
}

/* Formulaire de connexion ------------------------------------------------ */

.mp-login { max-width: 446px; margin-top: 18px; }

.mp-login p { margin: 0 0 17px; }

.mp-login label {
	display: block;
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 300;
	line-height: 1.75;
	color: var(--mp-blue-alt);
	margin-bottom: 4px;
}

.mp-login input[type="text"],
.mp-login input[type="password"] {
	width: 100%;
	height: 35px;
	padding: 6px 9px;
	font-family: var(--mp-body);
	font-size: 14px;
	line-height: 21px;
	color: var(--mp-blue-alt);
	background: transparent;
	border: 1px solid var(--mp-border);
	border-radius: var(--mp-radius);
}

.mp-login input[type="text"]:focus,
.mp-login input[type="password"]:focus {
	outline: none;
	border-color: var(--mp-blue-alt);
	box-shadow: 0 0 0 3px rgba(65, 87, 172, 0.18);
}

.mp-login .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--mp-blue-alt);
}

/* Le lien était présent mais réduit à 0×0px sur l’ancien site. */
.mp-login__lost { margin: 12px 0 0; }

.mp-login__lost a {
	font-family: var(--mp-sans);
	font-size: 14px;
	font-weight: 300;
	color: var(--mp-blue);
}

/* Liste « Votre espace vous permet de : » --------------------------------- */

.mp-perks { padding-left: 10px; }

.mp-perks__title {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	color: var(--mp-blue-alt);
	margin: 0 0 18px;
}

.mp-perks__list { list-style: none; margin: 0; padding: 0; }

.mp-perks__list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 35px;
	font-family: var(--mp-sans);
	font-size: 13px;
	font-weight: 400;
	line-height: 19.5px;
	color: var(--mp-blue);
}

.mp-perks__list li::before {
	content: "";
	flex: none;
	width: 14px; height: 14px;
	margin-top: 3px;
	background: var(--mp-blue-alt);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Espace adhérent connecté ----------------------------------------------- */

.mp-section--welcome { background: var(--mp-light); padding: 50px 0; }

.mp-section--welcome h2 {
	font-family: var(--mp-sans);
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--mp-blue);
	margin: 0 0 12px;
}

.mp-section--welcome p {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 300;
	color: var(--mp-blue);
	margin: 0 0 20px;
}

/* Pages internes --------------------------------------------------------- */

.mp-page__hero {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: center;
	padding: 90px 100px 40px 150px;
	background-color: rgba(2, 1, 1, 0.08);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.mp-page__hero-title {
	font-family: var(--mp-sans);
	font-size: 53px;
	font-weight: 200;
	line-height: 1;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
}

.mp-page__partner {
	position: absolute;
	left: 150px;
	bottom: 0;
	max-width: 400px;
	background: rgba(255, 255, 255, 0.88);
	padding: 18px 22px;
}

.mp-page__institution {
	font-family: var(--mp-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mp-blue-alt);
	margin: 0 0 6px;
}

.mp-page__title {
	font-family: var(--mp-sans);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--mp-blue);
	margin: 0 0 6px;
}

.mp-breadcrumb {
	font-family: var(--mp-sans);
	font-size: 13px;
	color: var(--mp-blue);
}

.mp-breadcrumb a { color: var(--mp-blue); text-decoration: none; }
.mp-breadcrumb a:hover { text-decoration: underline; }

.mp-prose {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 300;
	line-height: 24px;
	color: var(--mp-blue);
	text-align: justify;
}

.mp-prose h2 {
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--mp-blue);
	margin: 32px 0 12px;
	text-align: left;
}

.mp-prose h3 {
	font-size: 16px;
	font-weight: 600;
	color: var(--mp-blue-alt);
	margin: 24px 0 8px;
	text-align: left;
}

.mp-prose p { margin: 0 0 10px; }
.mp-prose ul, .mp-prose ol { padding-left: 20px; margin: 0 0 14px; }
.mp-prose li { margin-bottom: 6px; }
.mp-prose strong { font-weight: 600; }
.mp-prose img { border-radius: var(--mp-radius); }

.mp-prose table { width: 100%; border-collapse: collapse; margin: 0 0 16px; }
.mp-prose th, .mp-prose td { border: 1px solid var(--mp-border); padding: 8px 10px; text-align: left; }
.mp-prose th { background: var(--mp-light); font-weight: 600; }

/* Documents -------------------------------------------------------------- */

.mp-docs { margin-top: 30px; }

.mp-docs__title {
	font-family: var(--mp-sans);
	font-size: 20px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--mp-blue);
	margin: 0 0 16px;
}

.mp-docs__list, .mp-list { list-style: none; margin: 0; padding: 0; }

.mp-docs__item, .mp-list__item {
	border-bottom: 1px solid rgba(64, 84, 178, 0.15);
	padding: 12px 0;
}

.mp-docs__link {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 500;
	color: var(--mp-blue);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.mp-docs__link:hover { text-decoration: underline; }

.mp-docs__link::before {
	content: "";
	width: 11px; height: 14px;
	background: var(--mp-blue-alt);
	clip-path: polygon(0 0, 70% 0, 100% 30%, 100% 100%, 0 100%);
	flex: none;
}

.mp-docs__meta { font-size: 13px; color: var(--mp-text); font-weight: 400; }
.mp-docs__desc { margin: 4px 0 0; font-size: 13px; color: var(--mp-text); }
.mp-docs__empty { font-family: var(--mp-sans); font-size: 15px; color: var(--mp-blue); }

/* FAQ -------------------------------------------------------------------- */

.mp-faq { margin-top: 30px; }

.mp-faq__item { border-bottom: 1px solid rgba(64, 84, 178, 0.15); }

.mp-faq__q {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 0;
	background: transparent;
	border: 0;
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--mp-blue);
	text-align: left;
	cursor: pointer;
}

.mp-faq__q::after {
	content: "+";
	font-weight: 400;
	font-size: 20px;
	color: var(--mp-blue-alt);
	flex: none;
}

.mp-faq__q[aria-expanded="true"]::after { content: "–"; }

.mp-faq__a { padding: 0 0 16px; }

/* Pied de page ----------------------------------------------------------- */

.mp-footer { background: var(--mp-blue-dark); color: rgba(255, 255, 255, 0.86); margin-top: 40px; }

.mp-footer a { color: #fff; }

.mp-footer__inner {
	max-width: var(--mp-container);
	margin: 0 auto;
	padding: 40px 20px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 30px;
	font-family: var(--mp-sans);
	font-size: 14px;
	font-weight: 300;
}

.mp-footer__brand { font-weight: 600; font-size: 15px; color: #fff; margin: 0 0 6px; }
.mp-footer__tagline, .mp-footer__contact { margin: 0; }
.mp-footer__list, .mp-footer__legal { list-style: none; margin: 0; padding: 0; }
.mp-footer__legal { display: flex; gap: 20px; flex-wrap: wrap; }

.mp-footer__bottom {
	max-width: var(--mp-container);
	margin: 0 auto;
	padding: 14px 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-family: var(--mp-sans);
	font-size: 13px;
	font-weight: 300;
}

.mp-footer__bottom p { margin: 0; }

/* Divers ----------------------------------------------------------------- */

.mp-section--message { text-align: center; }
.mp-section--message .mp-page__title { margin-bottom: 12px; }

.mp-form-notice { padding: 12px 16px; border-radius: var(--mp-radius); font-family: var(--mp-sans); font-size: 14px; }
.mp-form-notice--error { background: #fef2f2; color: var(--mp-danger); border: 1px solid #f87171; }

/* Responsive ------------------------------------------------------------- */

@media (max-width: 1024px) {
	.mp-hero, .mp-page__hero { padding-left: 40px; padding-right: 40px; }
	.mp-page__partner { left: 40px; }
	.mp-header__inner { padding: 0 20px; }
}

@media (max-width: 767px) {
	.mp-header__toggle { display: block; }

	.mp-header__inner { flex-wrap: wrap; padding: 12px 20px; }

	.mp-nav {
		display: none;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding-top: 12px;
	}

	.mp-nav.is-open { display: flex; }

	.mp-nav__list { flex-direction: column; align-items: flex-start; gap: 10px; width: 100%; }

	.mp-nav__list .sub-menu { position: static; display: block; box-shadow: none; border: 0; padding-left: 12px; }

	.mp-hero {
		min-height: 341px;
		padding: 20px;
		background-position: 0 0;
	}

	.mp-hero__logo { width: 252px; }
	.mp-hero__title { font-size: 25px; }
	.mp-hero__lead { font-size: 12px; }

	.mp-page__hero { min-height: 260px; padding: 30px 20px; }
	.mp-page__hero-title { font-size: 25px; }
	.mp-page__partner { position: static; margin-top: 20px; max-width: 100%; }

	.mp-cards { margin-left: 0; margin-right: 0; }
	.mp-card { flex: 1 1 100%; margin: 10px 0; }

	.mp-panel__grid { grid-template-columns: 1fr; gap: 30px; }
	.mp-perks { padding-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ==========================================================================
   Mise en page reprise des espaces adhérents : sections, colonnes, fonds
   ========================================================================== */

.mp-row {
	padding: 50px 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.mp-row__inner {
	max-width: var(--mp-container);
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	gap: 40px;
	align-items: center;
}

.mp-row--cols-2 .mp-row__inner { grid-template-columns: 1fr 1fr; }
.mp-row--cols-3 .mp-row__inner { grid-template-columns: repeat(3, 1fr); }
.mp-row--cols-4 .mp-row__inner { grid-template-columns: repeat(4, 1fr); }

/* Une colonne qui ne porte qu'une image de fond va au bord, comme sur l'original. */
.mp-row:has(.mp-col--media) { padding: 0; }
.mp-row:has(.mp-col--media) .mp-row__inner { max-width: none; padding: 0; gap: 0; }
.mp-row:has(.mp-col--media) .mp-col:not(.mp-col--media) { padding: 60px clamp(20px, 5vw, 80px); }

.mp-col {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-width: 0;
}

.mp-col--media { min-height: 420px; }

.mp-row h2 {
	font-family: var(--mp-sans);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--mp-blue);
	margin: 0 0 10px;
}

.mp-row h3 {
	font-family: var(--mp-sans);
	font-size: 17px;
	font-weight: 600;
	color: var(--mp-blue-alt);
	margin: 22px 0 8px;
}

.mp-row p,
.mp-row li {
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 300;
	line-height: 24px;
	color: var(--mp-blue);
	text-align: justify;
}

.mp-row p { margin: 0 0 12px; }
.mp-row p strong, .mp-row strong { font-weight: 600; }
.mp-row ul, .mp-row ol { margin: 0 0 14px; padding-left: 20px; }
.mp-row figure { margin: 0 0 16px; }
.mp-row img { display: block; border-radius: var(--mp-radius); }

/* Liste à coches, comme le widget icon-list de l'original */
.mp-ticks { list-style: none; margin: 0 0 14px; padding: 0; }

.mp-ticks li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13px;
	line-height: 19.5px;
	text-align: left;
	margin-bottom: 6px;
}

.mp-ticks li::before {
	content: "";
	flex: none;
	width: 14px; height: 14px;
	margin-top: 3px;
	background: var(--mp-blue-alt);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Bandeau bleu nuit de bas de page */
.mp-row--dark { color: rgba(255, 255, 255, 0.88); }
.mp-row--dark .mp-row__inner { align-items: start; }
.mp-row--dark h2, .mp-row--dark h3, .mp-row--dark h4 { color: #fff; font-size: 15px; font-weight: 600; margin: 0 0 10px; }
.mp-row--dark p, .mp-row--dark li { color: rgba(255, 255, 255, 0.88); text-align: left; }
.mp-row--dark a { color: #fff; text-decoration: none; }
.mp-row--dark a:hover { text-decoration: underline; }
.mp-row--dark .mp-ticks li::before { background: #fff; }

.mp-row--nested { padding: 0; }
.mp-row--nested .mp-row__inner { padding: 0; max-width: none; }

@media (max-width: 767px) {
	.mp-row__inner,
	.mp-row--cols-2 .mp-row__inner,
	.mp-row--cols-3 .mp-row__inner,
	.mp-row--cols-4 .mp-row__inner { grid-template-columns: 1fr; gap: 24px; }

	.mp-col--media { min-height: 220px; }
	.mp-row:has(.mp-col--media) .mp-col:not(.mp-col--media) { padding: 30px 20px; }
}

/* ==========================================================================
   En-tête Elementor repris : ouverture du sous-menu des programmes au survol
   (Elementor Pro le fait en JS ; on reproduit le comportement en CSS)
   ========================================================================== */
.elementor-location-header .elementor-nav-menu .menu-item-has-children > .sub-menu,
.elementor-location-header .elementor-nav-menu .menu-item-has-children > .elementor-nav-menu--dropdown {
	display: none;
}

.elementor-location-header .elementor-nav-menu .menu-item-has-children:hover > .sub-menu,
.elementor-location-header .elementor-nav-menu .menu-item-has-children:focus-within > .sub-menu,
.elementor-location-header .elementor-nav-menu .menu-item-has-children:hover > .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-nav-menu .menu-item-has-children:focus-within > .elementor-nav-menu--dropdown {
	display: block;
}

/* Barre de menu toujours visible (demande client — Remarque 1). */
.elementor-location-header {
	position: sticky;
	top: 0;
	z-index: 999;
}

/* En-tête collant : fond opaque pour rester lisible sur tout contenu + au défilement. */
.elementor-location-header {
	background: #0f1f3d;
}
/* Pages de contenu portail : dégager sous l'en-tête. */
.mp-portal {
	padding-top: 120px !important;
}

/* ===== Modèle de page « Programme » (hero + sections alternées, type HMO) ===== */
.mp-prog-hero{ position:relative; min-height:520px; display:flex; align-items:center; background:#22315f center/cover no-repeat; }
.mp-prog-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,31,61,.55),rgba(15,31,61,.12)); }
.mp-prog-hero__inner{ position:relative; width:100%; max-width:1200px; margin:0 auto; padding:0 44px; }
.mp-prog-hero__title{ font:300 46px/1.1 "Montserrat",sans-serif; letter-spacing:2px; text-transform:uppercase; color:#fff; margin:0; }
.mp-prog-hero__sub{ font:400 18px/1.5 "Roboto",sans-serif; color:rgba(255,255,255,.92); margin:14px 0 0; }
.mp-prog-row{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.mp-prog-row--none{ grid-template-columns:1fr; }
.mp-prog-row__media{ min-height:440px; background:#dfe5f2 center/cover no-repeat; }
.mp-prog-row--right .mp-prog-row__media{ order:2; }
.mp-prog-row__text{ display:flex; flex-direction:column; justify-content:center; padding:64px 60px; max-width:660px; }
.mp-prog-row--none .mp-prog-row__text{ max-width:940px; margin:0 auto; padding:56px 44px; }
.mp-prog-row--alt{ background:#f6f8fc; }
.mp-prog-row__title{ font:400 30px/1.25 "Montserrat",sans-serif; color:#3a4a9c; margin:0 0 18px; }
.mp-prog-prose{ font:400 15.5px/1.75 "Roboto",sans-serif; color:#4a5678; }
.mp-prog-prose p{ margin:0 0 14px; }
.mp-prog-prose a{ color:#4157ac; }
@media(max-width:820px){
  .mp-prog-row{ grid-template-columns:1fr; }
  .mp-prog-row--right .mp-prog-row__media{ order:0; }
  .mp-prog-row__media{ min-height:230px; }
  .mp-prog-row__text{ padding:40px 26px; }
  .mp-prog-hero{ min-height:360px; }
  .mp-prog-hero__title{ font-size:30px; }
}

/* =========================================================================
   Refonte épurée (2026-07-29) — supprime les bandes blanches entre blocs,
   unifie le footer, harmonise les rayons et allège la typographie.
   Ne déforme pas la mise en page : neutralise les marges verticales
   inter-sections (qui laissaient voir le fond blanc) + harmonise rayons/graisses.
   ========================================================================= */

/* 1) Plus de « lignes blanches » : les sections pleine largeur se suivent
      sans marge verticale (le fond blanc n'apparaît plus entre les blocs). */
main .elementor-section.elementor-top-section{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* 2) Footer homogène : même fond marine partout, plus de bande blanche
      au-dessus ni la barre blanche de copyright en bas. */
.elementor-location-footer .elementor-section{
	margin: 0 !important;
	background-color: #1d214e !important;
}
/* La typographie du footer reste celle d'origine (titres blancs soulignés,
   intertitres bleu clair, liens fins) — on ne force plus les couleurs. */

/* 3) Rayons de bordure homogènes (boutons, champs, cartes, images de contenu). */
:root{ --mp-radius: 0; }
.elementor-button,
.maf-input,
.maf-native-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.maf-native-form select,
.maf-native-form textarea,
.mp-prog-row__media,
.mp-prog-hero,
.elementor-widget-image img,
.elementor-widget-button .elementor-button{
	border-radius: var(--mp-radius) !important;
}

/* 4) Typographie plus fine et épurée. */
body,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
main p, main li,
.maf-native-form{
	font-weight: 300;
}
h1, h2, h3, h4, h5,
.elementor-heading-title,
.mp-prog-row__title,
.mp-prog-hero__title{
	font-weight: 500;
	letter-spacing: .1px;
}
strong, b{ font-weight: 600; }

/* 5) Retire d'éventuels séparateurs résiduels (traits/ombres) entre blocs. */
main .elementor-section,
main .elementor-column,
main .elementor-widget-wrap{
	box-shadow: none !important;
	border-top-width: 0 !important;
	border-bottom-width: 0 !important;
}

/* ---- Rangées image/texte : hauteur mini + alternance gauche/droite ---- */
.mp-crow,
.mp-crow > .elementor-container{
	min-height: 460px;
}
/* Contenu (texte / image) centré verticalement dans la rangée. */
.mp-crow > .elementor-container > .elementor-column > .elementor-widget-wrap{
	justify-content: center;
}
/* Inversion des colonnes pour l'alternance (desktop uniquement). */
@media (min-width: 993px){
	.mp-row-flip{ flex-direction: row-reverse !important; }
}
/* Sur mobile : pas de hauteur forcée, empilement normal. */
@media (max-width: 992px){
	.mp-crow,
	.mp-crow > .elementor-container{ min-height: 0; }
}

/* ---- Sous-menus de navigation (dropdown) : propre, lisible, épuré ----
   Corrige le fond gris translucide + texte blanc illisible : dropdown
   marine plein, texte clair, coins arrondis, ombre douce, survol net. */
.elementor-location-header .sub-menu,
.elementor-location-header ul.sub-menu{
	background-color: #14264d !important;
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: 0 14px 34px rgba(4, 10, 30, .28) !important;
	padding: 6px !important;
	min-width: 224px !important;
	margin-top: 4px !important;
}
.elementor-location-header .sub-menu li{ margin: 0 !important; }
.elementor-location-header .sub-menu a,
.elementor-location-header .sub-menu .elementor-sub-item{
	color: #dfe3f0 !important;
	background: transparent !important;
	font-weight: 400 !important;
	font-size: 13px !important;
	padding: 10px 16px !important;
	border-radius: 7px !important;
	line-height: 1.3 !important;
	white-space: nowrap;
	transition: background .15s ease, color .15s ease;
}
.elementor-location-header .sub-menu a:hover,
.elementor-location-header .sub-menu li:hover > a,
.elementor-location-header .sub-menu .current-menu-item > a{
	background: rgba(255, 255, 255, .10) !important;
	color: #ffffff !important;
}

/* ---- Dropdown programmes : ouverture fiable, sans trou de survol ---- */
.elementor-location-header .menu-item-has-children{ position: relative; }
.elementor-location-header .menu-item-has-children > .sub-menu{
	position: absolute;
	top: 100%;
	left: 0;
	margin-top: 0 !important;   /* pas de trou : le dropdown touche le bouton */
	display: none;
	z-index: 1000;
}
.elementor-location-header .menu-item-has-children:hover > .sub-menu{
	display: block !important;
}
/* Pont invisible pour garder le survol entre le bouton et le dropdown. */
.elementor-location-header .menu-item-has-children > .sub-menu::before{
	content: "";
	position: absolute;
	left: 0; right: 0; top: -8px;
	height: 8px;
}

/* ---- Retour arrière : PAS de coins arrondis sur les images (jugé moche) ---- */
.mp-prog-row__media,
.mp-prog-hero,
.elementor-widget-image img,
.elementor-widget-image .elementor-image img{
	border-radius: 0 !important;
}

/* ---- Titres des pages programme : même façon partout (aligné sur la réf. HMO) ---- */
.mp-prog-hero__title{
	font-size: 43px !important;
	font-weight: 200 !important;
	color: rgba(255, 255, 255, .70) !important;
	letter-spacing: .1px !important;
}
.mp-prog-row__title{
	font-size: 22px !important;
	font-weight: 300 !important;
	color: rgb(65, 87, 172) !important;
	letter-spacing: .1px !important;
	margin-bottom: 10px !important;
}

/* ---- Optimisation pages programme : image de taille raisonnable ----
   Les rangées sont en grid ; par défaut le média s'étirait sur toute la
   hauteur du texte (sections de 2000-3000 car. → images géantes).
   On fixe une hauteur et on rend l'image « sticky » pour qu'elle reste
   visible pendant la lecture. */
.mp-prog-row__media{
	align-self: start !important;
	height: 440px !important;
	min-height: 0 !important;
	position: -webkit-sticky;
	position: sticky;
	top: 96px;
}
@media (max-width: 992px){
	.mp-prog-row__media{
		position: static;
		height: 240px !important;
		top: auto;
	}
}

/* ============================================================================
   Formulaires : rendu unifié « OPTIMA » pour TOUS les formulaires.
   Les formulaires simples (téléversement, remboursement) restaient habillés
   par le style Formidable résiduel (fond gris) qui masquait la carte claire.
   On neutralise → ils reposent, comme OPTIMA, sur la carte de la page.
   ============================================================================ */
.maf-native-form.maf-native-form{
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
}
/* Neutralise le conteneur Formidable résiduel autour d'un formulaire maf. */
.with_frm_style:has(.maf-native-form),
.with_frm_style:has(.maf-native-form) .frm_form_fields,
.with_frm_style:has(.maf-native-form) fieldset,
.frm_forms:has(.maf-native-form){
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
/* Le formulaire occupe toute la largeur de la carte (colonnes 50% éventuelles). */
.elementor-column:has(.maf-native-form){
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

/* ============================================================================
   Hero des pages programme (ACF) aligné sur la référence HMO :
   titre à gauche + badge SEFRI en bas-gauche + même hauteur, sans overlay.
   ============================================================================ */
.mp-prog-hero{
	position: relative !important;
	min-height: 640px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: stretch !important;
	background-size: cover !important;
	background-position: 50% 50% !important;
	text-align: left !important;
}
.mp-prog-hero__inner{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 8% 0 clamp(24px, 7vw, 100px);
	text-align: left;
}
.mp-prog-hero__title{
	text-align: left !important;
	max-width: 700px;
}
.mp-prog-hero__sub{
	color: rgba(255, 255, 255, .9) !important;
	font-weight: 300 !important;
	margin-top: 10px;
	max-width: 640px;
}
.mp-prog-hero__badge{
	position: absolute;
	left: clamp(24px, 7vw, 100px);
	bottom: 26px;
	width: min(340px, 46vw);
	height: auto;
	border-radius: 0 !important;
}
@media (max-width: 992px){
	.mp-prog-hero{ min-height: 460px !important; }
	.mp-prog-hero__badge{ width: 240px; left: 20px; bottom: 16px; }
}

/* ---- Accueil : boutons des services numériques (myProgram / myApp) ---- */
.mp-home-svc{ margin: 14px 0 6px !important; }
.mp-home-svc .elementor-button{
	background-color: #33408c !important;
	color: #ffffff !important;
	font-weight: 500;
	letter-spacing: .4px;
	padding: 11px 26px;
}
.mp-home-svc .elementor-button:hover{ background-color: #27326e !important; }

/* ---- Carte de formulaire unifiée (même rendu que le formulaire OPTIMA) ----
   Sur certaines pages capturées (téléversement…), la colonne du formulaire est
   pleine largeur → bande translucide d'un bord à l'autre. On regroupe logo,
   titre et formulaire dans UNE carte centrée, comme sur la page OPTIMA. */
main .elementor-top-section:has(.maf-native-form) .elementor-column > .elementor-widget-wrap{
	max-width: 880px;
	margin: 46px auto !important;
	background: rgba(255, 255, 255, 0.86);
	border-radius: 12px;
	padding: 36px 52px 44px;
	box-shadow: 0 18px 50px rgba(10, 20, 60, 0.16);
}
main .elementor-top-section:has(.maf-native-form) .elementor-widget-container{
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	max-width: none;
}
/* Bouton d'envoi visible et centré dans la carte. */
main .elementor-top-section:has(.maf-native-form) .maf-native-form button[type="submit"],
main .elementor-top-section:has(.maf-native-form) .maf-native-form input[type="submit"]{
	display: inline-block;
	margin-top: 10px;
}

/* Champ « fichier » propre (le bouton natif gris jurait avec le reste). */
.maf-native-form input[type="file"]{
	width: 100%;
	padding: 10px 12px;
	border: 1px dashed #b9c0d8;
	border-radius: 10px;
	background: #fff;
	color: #555;
	font: inherit;
}
.maf-native-form input[type="file"]::file-selector-button{
	border: 0;
	border-radius: 8px;
	background: #33408c;
	color: #fff;
	padding: 8px 18px;
	margin-right: 14px;
	font: inherit;
	cursor: pointer;
}
.maf-native-form input[type="file"]::file-selector-button:hover{ background: #27326e; }

/* Dans la carte de formulaire : les éléments positionnés en absolu par la
   capture (logo…) reprennent le flux normal, au-dessus du titre. */
main .elementor-top-section:has(.maf-native-form) .elementor-widget-image,
main .elementor-top-section:has(.maf-native-form) .elementor-absolute{
	position: static !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	margin: 0 auto 14px !important;
	text-align: center;
}
main .elementor-top-section:has(.maf-native-form) .elementor-widget-image img{
	margin: 0 auto;
	display: block;
}
/* Champ fichier : prime sur maf-skin (chargé après). */
.maf-native-form input[type="file"]{
	border: 1px dashed #b9c0d8 !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	padding: 10px 12px !important;
	width: 100% !important;
}

/* Le logo passe au-dessus du titre dans la carte (ordre visuel OPTIMA). */
main .elementor-top-section:has(.maf-native-form) .elementor-widget-wrap{
	display: flex;
	flex-wrap: wrap;
}
main .elementor-top-section:has(.maf-native-form) .elementor-widget-wrap > .elementor-widget-image{
	order: -1;
	width: 100%;
}

/* (Typographie du footer : styles capturés d'origine, aucun forçage.) */

/* logo: couleurs d'origine (pas de filtre blanc) */
/* Copyright footer : blanc + lisible */
.elementor-location-footer .elementor-widget-text-editor p,
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer [class*="copyright"],
.mp-footer__bottom,
.mp-footer__bottom p,
.mp-footer__bottom a {
	color: #ffffff !important;
}

/* mp-home-modern-2026 */
:root {
	--mp-radius: 0;
	--mp-blue: #4054B2;
	--mp-blue-alt: #4157AC;
	--mp-blue-dark: #1D214E;
}

.mp-section--select {
	padding: 40px 0 72px;
	background: #fff;
}

.mp-section--select .mp-section__title {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .18em;
	color: var(--mp-blue-dark);
	margin-bottom: 12px;
}

.mp-section--select .mp-section__lead {
	max-width: 34rem;
	margin: 0 0 40px;
	color: #6b7285;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
	text-align: left;
}

/* Groupements — épure */
.mp-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	background: rgba(29, 33, 78, .12);
	border: 1px solid rgba(29, 33, 78, .12);
}

.mp-card {
	margin: 0;
	min-width: 0;
	min-height: 168px;
	padding: 28px 26px;
	border: 0;
	border-radius: 0;
	border-left: 0;
	background: #fff;
	color: var(--mp-blue-dark);
	box-shadow: none;
	align-items: flex-start;
	text-align: left;
	gap: 14px;
	transition: background-color .2s ease, color .2s ease;
}

.mp-card:hover,
.mp-card:focus-visible {
	background: #f7f8fb;
	box-shadow: none;
	transform: none;
}

.mp-card[aria-selected="true"] {
	background: var(--mp-blue-dark);
	color: #fff;
	box-shadow: none;
	border-color: transparent;
	border-left-color: transparent;
}

.mp-card__icon-wrap {
	width: auto;
	height: auto;
	display: block;
	border: 0;
	background: transparent;
	padding: 0;
	opacity: .85;
}

.mp-card[aria-selected="true"] .mp-card__icon-wrap { opacity: 1; }

.mp-card__icon {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

.mp-card__name,
.mp-card__sub {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: inherit;
	margin: 0;
}

.mp-card__sub {
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
	opacity: .62;
	font-size: 13px;
	margin-top: 0;
}

.mp-card[aria-selected="true"] .mp-card__sub { opacity: .72; color: #fff; }

.mp-card__cta {
	display: inline-block;
	margin-top: auto;
	padding-top: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .45;
	color: inherit;
	border: 0;
}

.mp-card:hover .mp-card__cta,
.mp-card[aria-selected="true"] .mp-card__cta { opacity: .8; }

/* Panneau — premium minimal */
.mp-panel { margin: 28px 0 0; }

.mp-panel__shell {
	border: 1px solid rgba(29, 33, 78, .12);
	background: #fff;
	border-top: 1px solid rgba(29, 33, 78, .12);
}

.mp-panel__head {
	padding: 28px 32px 20px;
	border-bottom: 1px solid rgba(29, 33, 78, .08);
}

.mp-panel__eyebrow,
.mp-welcome__eyebrow {
	margin: 0 0 8px;
	font-family: var(--mp-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #8b93a7;
}

.mp-panel__title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mp-blue-dark);
}

.mp-panel__grid {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 0;
	align-items: stretch;
}

.mp-panel__col--info {
	padding: 28px 32px 36px;
	border-right: 1px solid rgba(29, 33, 78, .08);
}

.mp-panel__col--form {
	padding: 28px 28px 36px;
	background: #fafbfd;
}

.mp-panel__kicker {
	margin: 0 0 10px;
	color: var(--mp-blue-dark);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
}

.mp-panel__col p,
.mp-panel__contact,
.mp-panel__desc {
	color: #5c6578;
	text-align: left;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.7;
}

.mp-panel__contact {
	margin-top: 28px;
	padding-top: 0;
	border-top: 0;
	font-size: 13px;
	color: #8b93a7;
}

/* Login */
.mp-login-box {
	border: 0;
	background: transparent;
	padding: 0;
}

.mp-login-box__title {
	margin: 0 0 6px;
	font-family: var(--mp-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mp-blue-dark);
}

.mp-login-box__hint {
	margin: 0 0 22px;
	font-size: 13px;
	line-height: 1.5;
	color: #8b93a7;
}

.mp-login { max-width: none; margin-top: 0; }

.mp-login label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #6b7285;
	margin-bottom: 8px;
}

.mp-login input[type="text"],
.mp-login input[type="password"] {
	height: 48px;
	padding: 12px 0;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid rgba(29, 33, 78, .22);
	background: transparent;
	color: var(--mp-blue-dark);
	font-size: 15px;
	box-shadow: none;
}

.mp-login input[type="text"]:focus,
.mp-login input[type="password"]:focus {
	border-bottom-color: var(--mp-blue-dark);
	box-shadow: none;
	outline: none;
}

.mp-btn,
.mp-login input[type="submit"] {
	border-radius: 0 !important;
	min-height: 48px;
	width: 100%;
	margin-top: 8px;
	padding: 0 20px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-size: 12px;
	background: var(--mp-blue-dark) !important;
	border: 1px solid var(--mp-blue-dark) !important;
	color: #fff !important;
	box-shadow: none !important;
}

.mp-btn:hover,
.mp-login input[type="submit"]:hover {
	background: var(--mp-blue) !important;
	border-color: var(--mp-blue) !important;
	color: #fff !important;
}

.mp-login__lost { margin-top: 16px; text-align: center; }
.mp-login__lost a {
	color: #8b93a7;
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
}
.mp-login__lost a:hover { color: var(--mp-blue-dark); }

/* Espace / perks — sans barre latérale */
.mp-perks {
	margin-top: 28px;
	padding: 0;
	border: 0;
	border-left: 0;
	background: transparent;
}

.mp-perks__title {
	margin: 0 0 14px;
	color: var(--mp-blue-dark);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.mp-perks__list li {
	color: #5c6578;
	font-size: 13px;
	line-height: 1.5;
	min-height: 0;
	margin: 0 0 10px;
	gap: 10px;
	align-items: baseline;
}

.mp-perks__list li::before {
	content: "";
	width: 4px;
	height: 4px;
	margin-top: 0;
	border-radius: 0;
	background: var(--mp-blue-dark);
	-webkit-mask: none;
	mask: none;
	flex: none;
}

/* Welcome connecté */
.mp-section--welcome {
	background: #fff;
	color: var(--mp-blue-dark);
	padding: 48px 0;
	border-top: 1px solid rgba(29, 33, 78, .08);
	border-bottom: 1px solid rgba(29, 33, 78, .08);
}

.mp-section--welcome h2,
.mp-section--welcome p {
	color: var(--mp-blue-dark);
}

.mp-welcome__eyebrow { color: #8b93a7; }

.mp-section--welcome .mp-btn--primary {
	background: var(--mp-blue-dark) !important;
	border-color: var(--mp-blue-dark) !important;
	color: #fff !important;
	width: auto;
	min-width: 220px;
}

@media (max-width: 900px) {
	.mp-cards { grid-template-columns: 1fr; }
	.mp-panel__grid { grid-template-columns: 1fr; }
	.mp-panel__col--info {
		border-right: 0;
		border-bottom: 1px solid rgba(29, 33, 78, .08);
	}
	.mp-panel__head,
	.mp-panel__col--info,
	.mp-panel__col--form {
		padding-left: 22px;
		padding-right: 22px;
	}
}

/* mp-lang-hero-fix — FR/EN lisible sur le hero sombre */
.mp-hero .mp-lang {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 5;
}
.mp-hero .mp-lang__item {
	margin: 0;
	padding: 0;
}
.mp-hero .mp-lang__item a {
	display: inline-block;
	font-family: var(--mp-sans, inherit);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	padding: 8px 10px;
	border-radius: 6px;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.mp-hero .mp-lang__item a:hover,
.mp-hero .mp-lang__item a:focus-visible {
	color: #fff;
	background: rgba(255, 255, 255, 0.14);
	text-decoration: none;
}
.mp-hero .mp-lang__item.is-current a {
	color: #fff;
	font-weight: 700;
	background: rgba(255, 255, 255, 0.18);
}
.mp-hero .mp-lang__item + .mp-lang__item::before {
	/* separator handled via gap only */
}

/* mp-el-lang — switcher dans le header Elementor */
.mp-el-lang > a.elementor-item { cursor: pointer; }
.elementor-location-header .mp-el-lang .sub-menu a { white-space: nowrap; }
/* Header natif + switcher FR/EN */
.mp-header--home {
	position: relative;
	z-index: 40;
	background: #fff;
	border-bottom: 1px solid rgba(15, 33, 56, 0.08);
}
.mp-nav__actions .mp-lang {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.mp-nav__actions .mp-lang__item a {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--mp-blue, #4054b2);
	text-decoration: none;
}
.mp-nav__actions .mp-lang__item a:hover,
.mp-nav__actions .mp-lang__item a:focus-visible {
	background: rgba(64, 84, 178, 0.1);
}
.mp-nav__actions .mp-lang__item.is-current a {
	background: var(--mp-blue, #4054b2);
	color: #fff;
}
/* plus de double barre langue/logo dans le hero */
.mp-hero__top { display: none !important; }

/* mp-logo-natural */
.mp-header .custom-logo,
.mp-header .custom-logo-link img,
.mp-header__logo img,
.mp-header__logo-img {
	filter: none !important;
	-webkit-filter: none !important;
}

/* mp-btn-align-2026 — boutons centrés, cohérents avec le site */
.mp-btn,
.mp-login input[type="submit"],
a.mp-btn,
button.mp-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box;
	width: auto !important;
	min-width: 0;
	min-height: 44px;
	padding: 12px 28px !important;
	margin-top: 0;
	border-radius: 2px !important;
	font-family: var(--mp-sans, Montserrat, Helvetica, Arial, sans-serif);
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mp-btn--primary,
.mp-login input[type="submit"] {
	background: var(--mp-blue-dark, #1d214e) !important;
	border: 1px solid var(--mp-blue-dark, #1d214e) !important;
	color: #fff !important;
	min-width: 200px;
}

.mp-btn--primary:hover,
.mp-btn--primary:focus-visible,
.mp-login input[type="submit"]:hover,
.mp-login input[type="submit"]:focus-visible {
	background: var(--mp-blue, #4054b2) !important;
	border-color: var(--mp-blue, #4054b2) !important;
	color: #fff !important;
}

.mp-btn--outline {
	background: transparent !important;
	border: 1px solid var(--mp-blue-dark, #1d214e) !important;
	color: var(--mp-blue-dark, #1d214e) !important;
	min-width: 0;
}

.mp-btn--outline:hover,
.mp-btn--outline:focus-visible {
	background: var(--mp-blue-dark, #1d214e) !important;
	color: #fff !important;
}

.mp-btn--sm {
	min-height: 36px;
	padding: 8px 18px !important;
	font-size: 11px !important;
	min-width: 0;
}

/* Header : compact, jamais full-width */
.mp-header .mp-btn,
.mp-nav__actions .mp-btn {
	width: auto !important;
	min-width: 0 !important;
	min-height: 36px;
	padding: 8px 16px !important;
	margin: 0;
}

/* Form login : pleine largeur de la colonne, texte centré */
.mp-login input[type="submit"],
.mp-panel__col--form .mp-btn,
.mp-login-box .mp-btn {
	width: 100% !important;
	min-width: 0 !important;
}

/* Welcome HP */
.mp-section--welcome .mp-btn--primary {
	width: auto !important;
	min-width: 220px;
}

.mp-welcome__hint {
	max-width: 36rem;
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.6;
	color: #5c6578;
}
/* mp-premium-ui-2026 */';
if (strpos($css, $marker) !== false) {
  $css = preg_replace('/\/\* mp-premium-ui-2026 \*\/[\s\S]*$/','', $css);
}

$fix = <<<'CSS'

/* mp-premium-ui-2026 ---------------------------------------------------- */

/* === Header smart (connecté) ========================================== */
body.logged-in .mp-header--smart {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 200;
	min-height: 72px;
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: transform .35s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}
body.logged-in .mp-header--smart.is-scrolled {
	background: rgba(255, 255, 255, .97);
	border-bottom-color: rgba(29, 33, 78, .08);
	box-shadow: 0 8px 28px rgba(15, 33, 56, .06);
}
body.logged-in .mp-header--smart.is-hidden {
	transform: translateY(-110%);
	pointer-events: none;
}
body.logged-in:not(.mp-has-hero-overlay) .mp-main {
	padding-top: 72px;
}
body.logged-in.mp-has-hero-overlay .mp-main {
	padding-top: 0;
}

/* Sur hero : nav claire ; après scroll : nav sombre */
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(10, 18, 36, .45), transparent);
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list a,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__institution,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-lang,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-lang a {
	color: #fff !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__toggle {
	border-color: rgba(255,255,255,.45);
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__toggle-bar,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__toggle-bar::before,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__toggle-bar::after {
	background: #fff;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-btn--outline {
	border-color: rgba(255,255,255,.7) !important;
	color: #fff !important;
	background: transparent !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .custom-logo,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__logo img {
	}

/* === Hero premium ===================================================== */
.mp-prog-hero--premium {
	position: relative;
	isolation: isolate;
	min-height: min(78vh, 640px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 120px 0 56px;
	background-color: #12182b;
	background-image: var(--mp-hero-image);
	background-size: cover;
	background-position: center 28%;
	color: #fff;
	overflow: hidden;
}
.mp-prog-hero--premium .mp-prog-hero__veil {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(100deg, rgba(10, 16, 32, .78) 0%, rgba(10, 16, 32, .42) 48%, rgba(10, 16, 32, .28) 100%),
		linear-gradient(0deg, rgba(10, 16, 32, .55) 0%, transparent 45%);
	pointer-events: none;
}
.mp-prog-hero--premium .mp-prog-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 28px 28px;
}
.mp-prog-hero__eyebrow {
	margin: 0 0 14px;
	font-family: var(--mp-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
}
.mp-prog-hero--premium .mp-prog-hero__title {
	margin: 0;
	max-width: 18ch;
	font-family: var(--mp-sans);
	font-size: clamp(28px, 4.2vw, 44px);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
}
.mp-prog-hero--premium .mp-prog-hero__sub {
	margin: 16px 0 0;
	max-width: 36rem;
	font-family: var(--mp-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	color: rgba(255,255,255,.88);
}
.mp-prog-hero__lead {
	margin: 18px 0 0;
	max-width: 40rem;
	font-size: 14px;
	line-height: 1.7;
	font-weight: 300;
	color: rgba(255,255,255,.78);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mp-prog-hero__partner {
	width: auto;
	max-width: min(420px, calc(100% - 56px));
	margin: 0 0 28px 28px;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: 0 12px 40px rgba(0,0,0,.28);
	overflow: hidden;
}
.mp-prog-hero__partner-logo {
	display: block;
	width: 100%;
	height: auto;
	max-width: 420px;
}
.mp-accueil-faq {
	padding: 48px 0 72px;
}
.mp-accueil-faq .mp-section__inner {
	max-width: 1200px;
}
@media (max-width: 820px) {
	.mp-prog-hero__partner {
		margin: 0 16px 20px;
		max-width: calc(100% - 32px);
	}
}

/* mp-header-clean — UN seul bloc header connecté (remplace les overrides cassés) */

/* Base: flotte au-dessus du hero */
body.logged-in .mp-header.mp-header--smart {
	position: fixed !important;
	top: 0; left: 0; right: 0;
	z-index: 9990 !important;
	min-height: 72px;
	margin: 0;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	transition: background-color .25s ease, box-shadow .25s ease, transform .3s ease;
}
body.logged-in.mp-has-hero-overlay .mp-main,
body.logged-in:has(.mp-hero) .mp-main,
body.logged-in:has(.mp-prog-hero) .mp-main {
	padding-top: 0 !important;
}
body.logged-in:not(.mp-has-hero-overlay):not(:has(.mp-hero)):not(:has(.mp-prog-hero)) .mp-main {
	padding-top: 72px !important;
}

/* TOP sur hero: léger voile, pas de barre opaque */
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(8,14,28,.42), transparent) !important;
}

/* Textes / liens blancs */
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list > li > a,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__institution,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item a {
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.4);
	background: transparent !important;
}

/* Logo → blanc */
/* removed broken webkit logo rule */

/* Institution */
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__institution {
	border-left-color: rgba(255,255,255,.4) !important;
}

/* Lang: pastilles compactes, PAS de gros bloc blanc */
body.logged-in .mp-header--smart .mp-lang,
body.logged-in .mp-header--smart .mp-nav__actions .mp-lang {
	display: flex !important;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	background: transparent !important;
	width: auto !important;
	max-width: none !important;
}
body.logged-in .mp-header--smart .mp-lang__item a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 32px;
	padding: 0 10px !important;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	width: auto !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item a {
	color: rgba(255,255,255,.85) !important;
	background: transparent !important;
	border: 1px solid rgba(255,255,255,.35);
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item.is-current a {
	color: #ffffff !important;
	background: #0f2138 !important;
	border-color: #0f2138 !important;
}

/* Déconnexion: compact ghost */
body.logged-in .mp-header--smart .mp-nav__actions .mp-btn,
body.logged-in .mp-header--smart .mp-btn {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 32px !important;
	height: auto !important;
	padding: 7px 14px !important;
	margin: 0 !important;
	white-space: nowrap !important;
	flex: 0 0 auto !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-btn--outline {
	border: 1px solid rgba(255,255,255,.85) !important;
	color: #fff !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Sous-menu programmes: fond sombre sur hero (évite le pavé blanc) */
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list .sub-menu {
	background: #12182b !important;
	border-color: rgba(255,255,255,.12) !important;
	box-shadow: 0 16px 40px rgba(0,0,0,.45) !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list .sub-menu a {
	color: #fff !important;
	background: transparent !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list .sub-menu a:hover {
	background: rgba(255,255,255,.08) !important;
}

/* SCROLL: barre blanche propre */
body.logged-in .mp-header--smart.is-scrolled {
	background: #fff !important;
	border-bottom: 1px solid rgba(29,33,78,.1) !important;
	box-shadow: 0 4px 18px rgba(15,33,56,.07) !important;
	transform: none !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-nav__list > li > a,
body.logged-in .mp-header--smart.is-scrolled .mp-header__institution,
body.logged-in .mp-header--smart.is-scrolled .mp-lang__item a {
	color: #1d214e !important;
	text-shadow: none !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-header__brand img,
body.logged-in .mp-header--smart.is-scrolled .custom-logo,
body.logged-in .mp-header--smart.is-scrolled .custom-logo-link img {
	filter: none !important;
	-webkit-filter: none !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-header__institution {
	border-left-color: rgba(29,33,78,.25) !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-lang__item a {
	border: 1px solid transparent;
	background: transparent !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-lang__item.is-current a {
	background: #4054b2 !important;
	color: #fff !important;
	border-color: #4054b2 !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-btn--outline {
	border: 1px solid #1d214e !important;
	color: #1d214e !important;
	background: transparent !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-nav__list .sub-menu {
	background: #fff !important;
	border-color: rgba(64,84,178,.15) !important;
}
body.logged-in .mp-header--smart.is-scrolled .mp-nav__list .sub-menu a {
	color: #1d214e !important;
}

/* Pas de hide idle — trop source de confusion */
body.logged-in .mp-header--smart.is-hidden {
	transform: none !important;
	pointer-events: auto !important;
}

/* Actions alignées, rien qui s’étire */
body.logged-in .mp-header--smart .mp-nav__actions {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: nowrap !important;
	width: auto !important;
	background: transparent !important;
}


/* mp-faq-native-premium — FAQ propre, même design premium (sans Elementor) */
.mp-accueil-faq {
	padding: 48px 0 72px;
	background: #fff;
}
.mp-accueil-faq .mp-section__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 28px;
}
.mp-accueil-faq .mp-faq {
	margin-top: 0;
}
.mp-accueil-faq .mp-faq__item {
	border: 0;
	border-top: 1px solid rgba(16, 24, 40, .14);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	margin: 0;
	overflow: visible;
}
.mp-accueil-faq .mp-faq__item:last-child {
	border-bottom: 1px solid rgba(16, 24, 40, .14);
}
.mp-accueil-faq .mp-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	padding: 26px 4px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: var(--mp-sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
	color: #1d214e;
	text-align: left;
	cursor: pointer;
}
.mp-accueil-faq .mp-faq__q::after {
	content: "+";
	flex: none;
	width: 1.25em;
	text-align: center;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	color: #1d214e;
}
.mp-accueil-faq .mp-faq__q[aria-expanded="true"]::after {
	content: "–";
}
.mp-accueil-faq .mp-faq__a {
	padding: 0 4px 28px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #475467;
	font-family: var(--mp-sans);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
}
.mp-accueil-faq .mp-faq__a p {
	color: #475467;
	font-weight: 400;
	margin: 0 0 12px;
}
.mp-accueil-faq .mp-faq__a p:last-child {
	margin-bottom: 0;
}
.mp-accueil-faq .mp-faq__a ul {
	margin: 0 0 12px;
	padding-left: 1.2em;
}
.mp-accueil-faq .mp-faq__a a {
	color: #1d214e;
	text-decoration: underline;
	text-underline-offset: 2px;
}
@media (max-width: 820px) {
	.mp-accueil-faq .mp-section__inner {
		padding: 0 16px;
	}
	.mp-accueil-faq .mp-faq__q {
		padding: 20px 0;
		font-size: 15px;
	}
}


/* mp-hero-partner-text — texte Confédération sous le titre (lisible sur hero sombre) */
.mp-prog-hero--premium .mp-prog-hero__partner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	width: auto;
	max-width: 36rem;
	margin: 22px 0 0;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	overflow: visible;
	color: #fff;
}
.mp-prog-hero--premium .mp-prog-hero__crest {
	flex: none;
	width: 36px;
	height: 36px;
	margin-top: 2px;
	background:
		linear-gradient(#fff, #fff) center / 16px 5px no-repeat,
		linear-gradient(#fff, #fff) center / 5px 16px no-repeat,
		#d52b1e;
	box-shadow: 0 1px 2px rgba(0,0,0,.25);
}
.mp-prog-hero--premium .mp-prog-hero__partner-copy {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	font-family: var(--mp-sans);
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.mp-prog-hero--premium .mp-prog-hero__partner-copy strong {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.35;
	color: #fff;
}
.mp-prog-hero--premium .mp-prog-hero__partner-copy span {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	color: rgba(255,255,255,.92);
}
.mp-prog-hero--premium .mp-prog-hero__partner-copy .mp-prog-hero__partner-dept {
	margin-top: 6px;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	color: rgba(255,255,255,.82);
}
.mp-prog-hero--premium .mp-prog-hero__partner-copy .mp-prog-hero__partner-dept + .mp-prog-hero__partner-dept {
	margin-top: 2px;
}
.mp-prog-hero--premium .mp-prog-hero__partner-logo {
	display: none !important;
}
@media (max-width: 820px) {
	.mp-prog-hero--premium .mp-prog-hero__partner {
		margin-top: 18px;
		max-width: 100%;
	}
	.mp-prog-hero--premium .mp-prog-hero__crest {
		width: 32px;
		height: 32px;
	}
}


/* mp-nav-blue-2026 — dégradé bleu header + logo couleurs + partner card */
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(29, 45, 110, .88) 0%, rgba(45, 70, 150, .55) 45%, rgba(45, 70, 150, 0) 100%) !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__brand img,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .custom-logo,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .custom-logo-link img {
	filter: none !important;
	-webkit-filter: none !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list > li > a,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-header__institution,
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item a {
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-btn--outline {
	border-color: rgba(255,255,255,.75) !important;
	color: #fff !important;
	background: transparent !important;
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list .sub-menu {
	background: rgba(20, 32, 72, .96) !important;
	border: 0 !important;
	box-shadow: 0 12px 32px rgba(8, 16, 40, .35);
}
body.logged-in .mp-header--smart.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list .sub-menu a {
	color: #fff !important;
	text-shadow: none;
}

/* Partner card (logo SEFRI lisible, comme site officiel) */
.mp-prog-hero--premium .mp-prog-hero__partner--card {
	display: block;
	width: auto;
	max-width: min(380px, calc(100% - 56px));
	margin: 0 0 28px 28px;
	padding: 14px 16px;
	background: #fff !important;
	border: 0 !important;
	border-radius: 6px;
	box-shadow: 0 12px 40px rgba(0,0,0,.28) !important;
	overflow: hidden;
}
.mp-prog-hero--premium .mp-prog-hero__partner--card .mp-prog-hero__partner-logo {
	display: block !important;
	width: 100%;
	height: auto;
	max-width: 340px;
	filter: none !important;
}
@media (max-width: 820px) {
	.mp-prog-hero--premium .mp-prog-hero__partner--card {
		margin: 0 16px 20px;
		max-width: calc(100% - 32px);
	}
}


/* mp-nav-sub-2026 — sous-menus affiliation lisibles sur overlay */
body.logged-in .mp-header--smart .mp-nav__list > li.menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 6px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	vertical-align: middle;
}
body.logged-in .mp-header--smart .mp-nav__list .sub-menu {
	min-width: 200px;
	padding: 8px 0;
	border-radius: 4px;
}
body.logged-in .mp-header--smart .mp-nav__list .sub-menu a {
	display: block;
	padding: 10px 16px;
	white-space: nowrap;
}


/* mp-home-orig-2026 — accueil comme MyASSISTANT (photo) */
body.home .mp-header,
body.home .mp-header--in-hero {
	display: none !important;
}
body.home .mp-main {
	padding-top: 0 !important;
}

.mp-hero--home { position: relative; min-height: min(72vh, 620px); display: flex; flex-direction: column; justify-content: space-between; padding: 28px 0 48px; color: #fff; background-color: #0f2138; background-size: cover; background-position: center 30%; }
.mp-hero--home .mp-hero__top {
	display: flex !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	position: relative;
	z-index: 2;
}
.mp-hero--home .mp-hero__brand {
	display: block;
	text-decoration: none;
	line-height: 0;
}
.mp-hero--home .mp-hero__logo {
	display: block;
	width: min(290px, 55vw);
	height: auto;
	/* logo coloré → blanc comme MyASSISTANT original */
	
	-webkit-
}
.mp-hero--home .mp-hero__brand-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: #fff;
	line-height: 1.1;
}
.mp-hero--home .mp-hero__brand-text strong {
	font-family: var(--mp-sans);
	font-size: 28px;
	font-weight: 700;
	letter-spacing: .02em;
}
.mp-hero--home .mp-hero__brand-text small {
	font-family: var(--mp-sans);
	font-size: 12px;
	font-weight: 400;
	opacity: .92;
}
.mp-hero--home .mp-hero__top-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}
.mp-hero--home .mp-hero__top-actions .mp-lang,
.mp-hero--home .mp-hero__top-actions .mp-lang__item a {
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 15px;
	font-weight: 500;
}
.mp-hero--home .mp-hero__logout {
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	border: 1px solid rgba(255,255,255,.7);
	padding: 6px 12px;
}
.mp-hero--home .mp-hero__inner {
	position: relative;
	z-index: 2;
	margin-top: auto;
	padding: 0;
	max-width: 900px;
}
.mp-hero--home .mp-hero__title {
	margin: 0 0 14px;
	font-family: var(--mp-sans);
	font-size: clamp(28px, 4.5vw, 53px);
	font-weight: 200;
	line-height: 1.05;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: rgba(255,255,255,.94);
}
.mp-hero--home .mp-hero__lead {
	margin: 0;
	font-family: var(--mp-sans);
	font-size: clamp(14px, 1.4vw, 17px);
	font-weight: 300;
	line-height: 1.35;
	color: rgba(255,255,255,.92);
}

/* annuler l'ancien hide du top hero */
.mp-hero__top { display: flex; }

@media (max-width: 767px) {
	.mp-hero--home {
		padding: 20px 20px 36px;
		min-height: 70vh;
	}
	.mp-hero--home .mp-hero__logo {
		width: min(220px, 70vw);
	}
}


/* mp-align-footer-2026 — largeur EXACTE du footer Elementor (1203px / gutters 15px) */
body.home,
body.logged-in.home {
	--mp-container: 1203px;
	--mp-gutter: 15px;
}

body.home .mp-hero--home,
body.home .mp-hero {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.home .mp-hero--home .mp-hero__top,
body.home .mp-hero--home .mp-hero__inner {
	width: 100% !important;
	max-width: 1203px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	box-sizing: border-box !important;
}

body.home .mp-section__inner {
	width: 100% !important;
	max-width: 1203px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	box-sizing: border-box !important;
}

body.home .mp-section {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.home .mp-cards {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Footer Elementor déjà en 1203 — forcer le footer natif pareil si affiché */
body.home .mp-footer__inner,
body.home .mp-footer__bottom,
body.home .elementor-location-footer .elementor-container {
	max-width: 1203px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 767px) {
	body.home .mp-hero--home .mp-hero__top,
	body.home .mp-hero--home .mp-hero__inner,
	body.home .mp-section__inner {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
}


/* mp-accueil-header-2026 — logo hero ; au scroll logo couleurs dans la barre */
body.logged-in .mp-header--accueil.mp-header--nav-only:not(.is-scrolled) .mp-header__brand {
	display: none !important;
}
body.logged-in .mp-header--accueil.mp-header--nav-only.is-scrolled .mp-header__brand {
	display: flex !important;
	align-items: center;
	margin-right: auto;
}
body.logged-in .mp-header--accueil.mp-header--nav-only.is-scrolled .mp-header__brand img,
body.logged-in .mp-header--accueil.mp-header--nav-only.is-scrolled .custom-logo,
body.logged-in .mp-header--accueil.mp-header--nav-only.is-scrolled .custom-logo-link img,
body.logged-in .mp-header--accueil.mp-header--nav-only.is-scrolled .mp-header__logo img {
	filter: none !important;
	-webkit-filter: none !important;
	width: min(220px, 42vw);
	height: auto;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.logged-in .mp-header--accueil.mp-header--nav-only .mp-header__inner {
	justify-content: flex-end;
	padding: 0 28px;
	max-width: 1203px;
	margin: 0 auto;
	width: 100%;
}
body.logged-in .mp-header--accueil.mp-header--nav-only.is-scrolled .mp-header__inner {
	justify-content: flex-start;
}
body.logged-in .mp-header--accueil.mp-header--overlay-hero:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(10, 18, 36, .55) 0%, rgba(10, 18, 36, 0) 100%) !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.logged-in .mp-header--accueil.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list > li > a,
body.logged-in .mp-header--accueil.mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item a {
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
body.logged-in .mp-header--accueil.mp-header--overlay-hero:not(.is-scrolled) .mp-btn--outline {
	border-color: rgba(255,255,255,.75) !important;
	color: #fff !important;
	background: transparent !important;
}

.mp-prog-hero--accueil {
	justify-content: space-between;
	padding: 28px 0 56px;
}
.mp-prog-hero--accueil .mp-prog-hero__top {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100%;
	max-width: 1203px;
	margin: 0 auto;
	padding: 0 28px;
	pointer-events: none;
}
.mp-prog-hero--accueil .mp-prog-hero__brand {
	pointer-events: auto;
	display: block;
	text-decoration: none;
	line-height: 0;
}
.mp-prog-hero--accueil .mp-prog-hero__logo {
	display: block;
	width: min(260px, 52vw);
	height: auto;
	
	-webkit-
}
.mp-prog-hero--accueil .mp-prog-hero__brand-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: #fff;
	line-height: 1.1;
}
.mp-prog-hero--accueil .mp-prog-hero__brand-text strong {
	font-family: var(--mp-sans);
	font-size: 26px;
	font-weight: 700;
}
.mp-prog-hero--accueil .mp-prog-hero__brand-text small {
	font-family: var(--mp-sans);
	font-size: 12px;
	opacity: .92;
}
.mp-prog-hero--accueil .mp-prog-hero__inner {
	margin-top: auto;
}
@media (max-width: 820px) {
	.mp-prog-hero--accueil {
		padding-top: 20px;
	}
	.mp-prog-hero--accueil .mp-prog-hero__logo {
		width: min(200px, 58vw);
	}
	body.logged-in .mp-header--accueil.mp-header--nav-only .mp-header__inner {
		padding: 0 16px;
	}
}

/* mp-unify-site-2026 — 1 header + hero style Confédération partout */
body .mp-header--site { display: block !important; }
body.home .mp-header { display: block !important; }
body .mp-header--site .mp-header__brand { display: flex !important; align-items: center; margin-right: auto; }
body .mp-header--site .mp-header__brand img,
body .mp-header--site .custom-logo,
body .mp-header--site .custom-logo-link img {
	filter: none !important;
	-webkit-filter: none !important;
	width: min(220px, 42vw);
	height: auto;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body .mp-header--site .mp-header__inner {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	max-width: 1203px;
	margin: 0 auto;
	width: 100%;
	padding: 0 28px;
	min-height: 72px;
	box-sizing: border-box;
}
body.logged-in .mp-header--site.mp-header--smart {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 200;
	min-height: 72px;
}
body:not(.logged-in) .mp-header--site {
	position: sticky;
	top: 0;
	z-index: 200;
	background: #fff;
	border-bottom: 1px solid rgba(29,33,78,.08);
}

body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(29, 45, 110, .92) 0%, rgba(45, 70, 150, .55) 55%, rgba(45, 70, 150, 0) 100%) !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) .mp-nav__list > li > a,
body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item a {
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) .mp-btn--outline {
	border-color: rgba(255,255,255,.75) !important;
	color: #fff !important;
	background: transparent !important;
}
body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) .mp-header__toggle-bar,
body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) .mp-header__toggle-bar::before,
body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) .mp-header__toggle-bar::after {
	background: #fff;
}

body.logged-in .mp-header--site.mp-header--smart.is-scrolled,
body.logged-in .mp-header--site.mp-header--smart:not(.mp-header--overlay-hero) {
	background: rgba(255,255,255,.98) !important;
	border-bottom: 1px solid rgba(29,33,78,.08) !important;
	box-shadow: 0 8px 28px rgba(15,33,56,.06);
}
body.logged-in .mp-header--site.mp-header--smart.is-scrolled .mp-nav__list > li > a,
body.logged-in .mp-header--site.mp-header--smart:not(.mp-header--overlay-hero) .mp-nav__list > li > a,
body.logged-in .mp-header--site.mp-header--smart.is-scrolled .mp-lang__item a,
body.logged-in .mp-header--site.mp-header--smart:not(.mp-header--overlay-hero) .mp-lang__item a {
	color: #1d214e !important;
	text-shadow: none !important;
}
body.logged-in .mp-header--site.mp-header--smart.is-scrolled .mp-btn--outline,
body.logged-in .mp-header--site.mp-header--smart:not(.mp-header--overlay-hero) .mp-btn--outline {
	border-color: #1d214e !important;
	color: #1d214e !important;
	background: transparent !important;
}

body.logged-in.mp-has-hero-overlay .mp-main { padding-top: 0 !important; }
body.logged-in:not(.mp-has-hero-overlay) .mp-main { padding-top: 72px !important; }

/* Hero premium = style Confédération (plus de carte blanche SEFRI) */
.mp-prog-hero--premium {
	position: relative;
	isolation: isolate;
	min-height: min(78vh, 640px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 110px 0 56px;
	background-color: #12182b;
	background-image: var(--mp-hero-image);
	background-size: cover;
	background-position: center 28%;
	color: #fff;
	overflow: hidden;
}
.mp-prog-hero--premium .mp-prog-hero__veil {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(100deg, rgba(10, 16, 32, .78) 0%, rgba(10, 16, 32, .42) 48%, rgba(10, 16, 32, .28) 100%),
		linear-gradient(0deg, rgba(10, 16, 32, .55) 0%, transparent 45%);
	pointer-events: none;
}
.mp-prog-hero--premium .mp-prog-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1203px;
	margin: 0 auto;
	padding: 0 28px 28px;
}
.mp-prog-hero--premium .mp-prog-hero__title {
	margin: 0;
	max-width: 22ch;
	font-family: var(--mp-sans);
	font-size: clamp(28px, 4.2vw, 44px);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
}
.mp-prog-hero--premium .mp-prog-hero__sub {
	margin: 16px 0 0;
	max-width: 36rem;
	font-family: var(--mp-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	color: rgba(255,255,255,.88);
}
.mp-prog-hero--premium .mp-prog-hero__partner,
.mp-prog-hero--premium .mp-prog-hero__partner--card {
	position: relative;
	z-index: 1;
	display: flex !important;
	align-items: flex-start;
	gap: 14px;
	width: auto;
	max-width: 36rem;
	margin: 22px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	overflow: visible !important;
}
.mp-prog-hero--premium .mp-prog-hero__partner-logo {
	display: none !important;
}
.mp-prog-hero--premium .mp-prog-hero__crest {
	display: block;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 4px;
	background: #d52b1e;
	position: relative;
	box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
.mp-prog-hero--premium .mp-prog-hero__crest::before,
.mp-prog-hero--premium .mp-prog-hero__crest::after {
	content: "";
	position: absolute;
	background: #fff;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.mp-prog-hero--premium .mp-prog-hero__crest::before {
	width: 18px;
	height: 6px;
}
.mp-prog-hero--premium .mp-prog-hero__crest::after {
	width: 6px;
	height: 18px;
}
.mp-prog-hero--premium .mp-prog-hero__partner-copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: rgba(255,255,255,.92);
	font-family: var(--mp-sans);
	font-size: 13px;
	line-height: 1.35;
	font-weight: 400;
}
.mp-prog-hero--premium .mp-prog-hero__partner-copy strong {
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}
.mp-prog-hero--premium .mp-prog-hero__partner-dept {
	margin-top: 6px;
	font-size: 12px;
	opacity: .9;
}

.mp-prog-hero__top,
.mp-hero__top { display: none !important; }

/* Pages Elementor reprises : pas de double header, hero sous barre unique */
.mp-main .elementor-location-header { display: none !important; }
.mp-main .elementor-section.elementor-sticky { position: relative !important; top: auto !important; }
body.logged-in.mp-has-hero-overlay .mp-main > .elementor:first-child .elementor-section:first-child,
body.logged-in.mp-has-hero-overlay .mp-main > .elementor:first-child > .elementor-section:first-of-type {
	padding-top: 96px !important;
}

@media (max-width: 820px) {
	body .mp-header--site .mp-header__inner { padding: 0 16px; }
	.mp-prog-hero--premium { padding-top: 96px; min-height: min(70vh, 520px); }
}

/* mp-logo-white-asset-2026 — vrai logo white light sur header sombre */
body .mp-header--site .mp-header__brand img,
body .mp-header--site .custom-logo,
body .mp-header--site .custom-logo-link img,
body .mp-header--site .mp-header__logo img {
	width: min(240px, 48vw);
	height: auto;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	filter: none !important;
	-webkit-filter: none !important;
}
body.logged-in .mp-header--site.mp-header--overlay-hero:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(15, 24, 48, .9) 0%, rgba(15, 24, 48, .5) 70%, rgba(15, 24, 48, 0) 100%) !important;
}

/* mp-logo-no-invert-2026 */
body .mp-header img.custom-logo,
body .mp-header .custom-logo,
body .mp-header .mp-header__logo-img,
body .mp-header__brand img,
body.logged-in .mp-header--overlay-hero img.custom-logo,
body.logged-in .mp-header--overlay-hero .mp-header__brand img {
	filter: none !important;
	-webkit-filter: none !important;
	opacity: 1 !important;
}

/* mp-deny-2026 — page accès non autorisé */
body.mp-deny-page .mp-header--site {
	background: #fff !important;
	box-shadow: 0 1px 0 rgba(15, 33, 56, .08);
}
body.mp-deny-page .mp-header--site .mp-header__brand img {
	filter: none !important;
	-webkit-filter: none !important;
}
.mp-deny {
	min-height: calc(100vh - 5.5rem);
	display: grid;
	place-items: center;
	padding: 3.5rem 1.25rem 4.5rem;
	background:
		radial-gradient(900px 360px at 80% 0%, rgba(15, 33, 56, .06), transparent 55%),
		linear-gradient(180deg, #f3f6fa 0%, #e9eef5 100%);
}
.mp-deny__panel {
	width: min(560px, 100%);
	background: #fff;
	border: 1px solid rgba(15, 33, 56, .08);
	border-radius: 18px;
	padding: 2.1rem 2rem 1.85rem;
	box-shadow: 0 18px 50px rgba(15, 33, 56, .08);
	text-align: left;
}
.mp-deny__badge {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	margin: 0 0 1.1rem;
	color: #0f2138;
	background: linear-gradient(180deg, #eef3f9, #e2e9f2);
	border: 1px solid rgba(15, 33, 56, .08);
}
.mp-deny__eyebrow {
	margin: 0 0 .45rem;
	font-size: .72rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #6a7b91;
	font-weight: 700;
}
.mp-deny__title {
	margin: 0 0 .7rem;
	font-size: clamp(1.7rem, 2.6vw, 2.15rem);
	line-height: 1.15;
	color: #0f2138;
	font-weight: 750;
}
.mp-deny__lead {
	margin: 0 0 1.35rem;
	font-size: 1.02rem;
	line-height: 1.55;
	color: #42566f;
}
.mp-deny__card {
	background: #f7f9fc;
	border: 1px solid rgba(15, 33, 56, .07);
	border-radius: 12px;
	padding: 1rem 1.1rem 1.05rem;
	margin: 0 0 1.35rem;
}
.mp-deny__card-title {
	margin: 0 0 .75rem;
	font-size: .7rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6a7b91;
	font-weight: 750;
}
.mp-deny__dl {
	margin: 0;
	display: grid;
	gap: .7rem;
}
.mp-deny__dl div {
	display: grid;
	gap: .12rem;
}
.mp-deny__dl dt {
	margin: 0;
	font-size: .78rem;
	color: #6a7b91;
}
.mp-deny__dl dd {
	margin: 0;
	font-size: 1rem;
	font-weight: 650;
	color: #0f2138;
	word-break: break-word;
}
.mp-deny__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	margin: 0 0 1rem;
}
.mp-deny__actions .mp-btn {
	min-height: 44px;
	padding: .7rem 1.15rem;
	font-size: .82rem;
	letter-spacing: .04em;
}
.mp-deny__hint {
	margin: 0;
	font-size: .9rem;
	line-height: 1.5;
	color: #5b6e86;
}
@media (max-width: 560px) {
	.mp-deny__panel { padding: 1.6rem 1.2rem 1.45rem; border-radius: 14px; }
	.mp-deny__actions .mp-btn { width: 100%; justify-content: center; text-align: center; }
}


/* Neutraliser anciens styles hero qui gardaient le texte sombre */
body .mp-hero .mp-lang__item.is-current a,
body.logged-in .mp-header--smart .mp-lang__item.is-current a,
body.logged-in .mp-header--site .mp-lang__item.is-current a {
	color: #fff !important;
}

/* Logo couleurs sur barre blanche (scrolled / non-overlay) */
body .mp-header--site.is-scrolled .mp-header__brand img,
body .mp-header--site:not(.mp-header--overlay-hero) .mp-header__brand img {
	filter: none !important;
	-webkit-filter: none !important;
}

/* mp-lang-active-2026 — FR/EN actif : texte blanc sur bleu */
body .mp-lang__item.is-current > a,
body .mp-lang__item.is-current > a:visited,
body .mp-lang__item.is-current > a:hover,
body .mp-lang__item.is-current > a:focus,
body .mp-lang a[aria-current="true"],
body .mp-lang a[aria-current="page"],
body .mp-header .mp-lang__item.is-current > a,
body.logged-in .mp-header .mp-lang__item.is-current > a,
body .mp-header--overlay-hero .mp-lang__item.is-current > a,
body .mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item.is-current > a,
body .mp-header--overlay-hero.is-scrolled .mp-lang__item.is-current > a,
body .mp-header--smart .mp-lang__item.is-current > a,
body .mp-hero .mp-lang__item.is-current > a {
	background: #0f2138 !important;
	color: #ffffff !important;
	border: 1px solid #0f2138 !important;
	border-radius: 4px;
	padding: 0.25rem 0.55rem;
	font-weight: 700 !important;
	opacity: 1 !important;
}
/* end-mp-lang-active-2026 */

/* mp-fix-header-contrast-2026-final */
body.logged-in .mp-header .mp-header__brand img,
body.logged-in .mp-header .mp-logo,
body.logged-in .mp-header--overlay-hero:not(.is-scrolled) .mp-header__brand img,
body.logged-in .mp-header--smart.is-scrolled .mp-header__brand img {
	filter: none !important;
	-webkit-filter: none !important;
	opacity: 1 !important;
}
body.logged-in .mp-lang__item.is-current > a,
body.logged-in .mp-lang a[aria-current="true"],
body.logged-in .mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item.is-current > a,
body.logged-in .mp-header--smart.is-scrolled .mp-lang__item.is-current > a {
	background: #0f2138 !important;
	color: #ffffff !important;
	border: 1px solid #0f2138 !important;
	-webkit-text-fill-color: #ffffff !important;
	text-shadow: none !important;
	opacity: 1 !important;
}
/* end-mp-fix-header-contrast-2026-final */
/* logo link */
.mp-header__brand-link{display:inline-flex;align-items:center;line-height:0;text-decoration:none;color:inherit}
.mp-header__brand-link img{display:block}

/* programme hero intro */
.mp-prog-hero__intro{max-width:42rem;margin:1.1rem 0 0;display:grid;gap:.75rem}
.mp-prog-hero__intro p{margin:0;color:rgba(255,255,255,.92);font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.55;font-weight:400}
.mp-prog-hero--premium .mp-prog-hero__intro p{text-shadow:0 1px 2px rgba(0,0,0,.25)}


/* mp-lang-always-visible-2026 */
.mp-nav__actions .mp-lang,
body.logged-in .mp-header .mp-lang {
	display:flex !important;
	visibility:visible !important;
	opacity:1 !important;
	position:relative;
	z-index:5;
}
.mp-nav__actions .mp-lang__item a,
body.logged-in .mp-header .mp-lang__item a {
	visibility:visible !important;
	opacity:1 !important;
}
/* Non-current: always readable on light AND dark headers */
body.logged-in .mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item:not(.is-current) a {
	color:#fff !important;
	border:1px solid rgba(255,255,255,.45) !important;
	background:rgba(0,0,0,.18) !important;
	text-shadow:none !important;
}
body.logged-in .mp-header:not(.mp-header--overlay-hero) .mp-lang__item:not(.is-current) a,
body.logged-in .mp-header.is-scrolled .mp-lang__item:not(.is-current) a {
	color:#0f2138 !important;
	border:1px solid rgba(15,33,56,.25) !important;
	background:transparent !important;
	text-shadow:none !important;
}


/* mp-swissmed-focus-20260731 */
.mp-prog-row__media{ background-size: cover !important; background-repeat: no-repeat !important; }

/* mp-lang-fr-en-always-20260731 — FR et EN toujours visibles */
.mp-nav__actions,
body.logged-in .mp-header .mp-nav__actions {
	flex-shrink: 0 !important;
}
.mp-lang,
.mp-nav__actions .mp-lang,
body.logged-in .mp-header .mp-lang {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-shrink: 0 !important;
	overflow: visible !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
}
.mp-lang__item,
.mp-lang__item.is-current,
.mp-lang__item:not(.is-current) {
	display: list-item !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: auto !important;
	height: auto !important;
	overflow: visible !important;
}
.mp-lang__item a,
.mp-lang__item a.mp-lang__link,
.mp-lang__item.is-current a,
.mp-lang__item:not(.is-current) a {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-width: 36px !important;
	height: 32px !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	clip: auto !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-indent: 0 !important;
	color: #0f2138 !important;
	background: #fff !important;
	border: 1px solid rgba(15,33,56,.28) !important;
	border-radius: 4px !important;
	text-shadow: none !important;
	-webkit-text-fill-color: #0f2138 !important;
}
.mp-lang__item.is-current a,
.mp-lang__item.is-current a.mp-lang__link,
.mp-lang a[aria-current="true"] {
	color: #fff !important;
	background: #0f2138 !important;
	border-color: #0f2138 !important;
	-webkit-text-fill-color: #fff !important;
}
body.logged-in .mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item:not(.is-current) a {
	color: #fff !important;
	background: rgba(0,0,0,.28) !important;
	border: 1px solid rgba(255,255,255,.55) !important;
	-webkit-text-fill-color: #fff !important;
}
body.logged-in .mp-header--overlay-hero:not(.is-scrolled) .mp-lang__item.is-current a {
	color: #fff !important;
	background: #0f2138 !important;
	border-color: #0f2138 !important;
	-webkit-text-fill-color: #fff !important;
}