/* ==========================================================================
   Maccabi France — refonte graphique 2026 « sombre futuriste »
   Couche de style du thème enfant. Le contenu reste éditable dans Divi ;
   les blocs de la nouvelle page d'accueil portent des classes « mf-… »
   (Divi > Avancé > Classe CSS) qui reçoivent leur style ici.
   Pour revenir à l'ancien design : retirer le chargement de ce fichier
   dans functions.php.
   ========================================================================== */

:root {
	--mf-nuit: #050b1a;           /* fond principal */
	--mf-nuit-2: #0a1530;         /* fond secondaire */
	--mf-bleu: #0c71c3;           /* bleu Maccabi */
	--mf-neon: #38bdf8;           /* bleu néon */
	--mf-neon-2: #6366f1;         /* indigo */
	--mf-blanc: #f1f5ff;
	--mf-texte: rgba(226, 234, 255, .78);
	--mf-texte-doux: rgba(226, 234, 255, .55);
	--mf-verre: rgba(255, 255, 255, .055);
	--mf-verre-fort: rgba(255, 255, 255, .09);
	--mf-bord: rgba(255, 255, 255, .12);
	--mf-bord-fort: rgba(255, 255, 255, .22);
	--mf-rayon: 22px;
	--mf-flou: blur(18px) saturate(160%);
	--mf-degrade: linear-gradient(135deg, #38bdf8 0%, #6366f1 55%, #0c71c3 100%);
	--mf-lueur: 0 0 0 1px rgba(56, 189, 248, .35), 0 10px 40px rgba(56, 189, 248, .25);
	--mf-ombre: 0 20px 60px rgba(0, 0, 0, .45);
}

/* ==========================================================================
   1. Fond général et typographie
   ========================================================================== */
html, body { background: var(--mf-nuit) !important; }
body {
	color: var(--mf-texte);
	font-size: 16px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}
/* halos lumineux fixes en arrière-plan */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(900px 600px at 10% -10%, rgba(56, 189, 248, .16), transparent 60%),
		radial-gradient(800px 600px at 110% 20%, rgba(99, 102, 241, .16), transparent 60%),
		radial-gradient(700px 500px at 50% 120%, rgba(12, 113, 195, .18), transparent 60%),
		var(--mf-nuit);
}
#page-container, #et-main-area, #main-content, .et_pb_pagebuilder_layout #main-content {
	background: transparent !important;
}

/* toutes les sections, lignes et colonnes Divi passent en transparent
   (les images de fond éventuelles sont conservées) */
#et-main-area .et_pb_section,
#et-main-area .et_pb_row,
#et-main-area .et_pb_row_inner,
#et-main-area .et_pb_column {
	background-color: transparent !important;
}
/* blocs à fond clair (coordonnées, formulaire de contact…) : verre */
#et-main-area .et_pb_row_inner[class*="et_pb_row_inner_"]:has(.et_pb_blurb),
#et-main-area .et_pb_contact_form_container {
	background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025)) !important;
	border: 1px solid var(--mf-bord) !important;
	border-radius: 26px !important;
	-webkit-backdrop-filter: var(--mf-flou);
	backdrop-filter: var(--mf-flou);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 30px 80px rgba(0, 0, 0, .35);
}
#et-main-area .et_pb_contact_form_container { padding: clamp(24px, 4vw, 44px) !important; }
#et-main-area .et_pb_row_inner:has(.et_pb_blurb) .et_pb_blurb { background: transparent; border: 0; padding: 0; }

#et-main-area, #et-main-area p, #et-main-area li, #et-main-area td,
#et-main-area .et_pb_text, #et-main-area .et_pb_text_inner,
#et-main-area .et_pb_blurb_description, #et-main-area .et_pb_promo_description {
	color: var(--mf-texte) !important;
}
#et-main-area h1, #et-main-area h2, #et-main-area h3,
#et-main-area h4, #et-main-area h5, #et-main-area h6,
#et-main-area .et_pb_module_header,
#et-main-area strong, #et-main-area b {
	color: var(--mf-blanc) !important;
}
#et-main-area h1, #et-main-area h2, #et-main-area h3 {
	font-weight: 800;
	letter-spacing: -.015em;
	line-height: 1.15;
	text-shadow: none !important;
}
/* textes colorés en dur dans le contenu (noir, gris…) : on les adapte */
#et-main-area [style*="color: #0"], #et-main-area [style*="color:#0"],
#et-main-area [style*="color: #1"], #et-main-area [style*="color:#1"],
#et-main-area [style*="color: #333"], #et-main-area [style*="color: #444"],
#et-main-area [style*="color: rgb(0, 0, 0)"], #et-main-area [style*="color: black"] {
	color: inherit !important;
}
#et-main-area a { color: var(--mf-neon); transition: color .2s ease; }
#et-main-area a:hover { color: #fff; }
::selection { background: var(--mf-neon); color: var(--mf-nuit); }

/* séparateurs Divi : trait néon */
#et-main-area .et_pb_divider:before { border-top: 0 !important; }
#et-main-area .et_pb_divider .et_pb_divider_internal {
	height: 3px;
	border-radius: 3px;
	background: var(--mf-degrade);
	box-shadow: 0 0 18px rgba(56, 189, 248, .6);
}

/* fil d'Ariane */
.breadcrumb-container, .breadcrumb-container *, .breadcrumb, .breadcrumb * {
	color: var(--mf-texte-doux) !important;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.breadcrumb-container a, .breadcrumb a { color: var(--mf-neon) !important; }

html { scrollbar-color: #1e3a8a var(--mf-nuit); }

/* ==========================================================================
   2. Menu : barre en verre flottante
   ========================================================================== */
#main-header,
#main-header.et-fixed-header {
	background: transparent !important;
	box-shadow: none !important;
	padding: 14px 0 0;
	transition: padding .3s ease;
}
#main-header.et-fixed-header { padding-top: 8px; }
#main-header > .container {
	width: min(1320px, calc(100% - 32px)) !important;
	max-width: none !important;
	background: rgba(8, 18, 42, .55);
	-webkit-backdrop-filter: var(--mf-flou);
	backdrop-filter: var(--mf-flou);
	border: 1px solid var(--mf-bord);
	border-radius: 999px;
	padding: 0 14px 0 22px;
	box-sizing: border-box;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .08);
	position: relative;
}
/* reflet « glossy » sur la barre */
#main-header > .container::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, 0) 55%);
	pointer-events: none;
}
#main-header .logo_container { padding-left: 0; }
#logo {
	max-height: 64px !important;
	width: auto;
	max-width: none !important; /* Divi le réduisait de moitié sur mobile */
}
.et-fixed-header #logo { max-height: 52px !important; }
/* Bulle blanche derrière le logo : une pilule blanche posée DANS la barre, à 5 px de ses bords,
   arrondie pareil à gauche et à droite, logo centré dedans ; la barre bleu nuit reprend après.
   --mf-bulle-g : distance entre le bord intérieur de la barre et le logo */
#main-header { --mf-bulle-g: 22px; --mf-bulle-retrait: -1px; } /* -1px : bulle à la hauteur exacte de la barre (liseré compris) */
#main-header .logo_container { font-size: 0; } /* supprime l'espace parasite avant le logo */
#main-header .logo_container > a {
	position: relative;
	z-index: 0;
	display: inline-flex;
	align-items: center;
	height: 100%;
	vertical-align: top;
}
#main-header .logo_container > a::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: var(--mf-bulle-retrait);
	bottom: var(--mf-bulle-retrait);
	/* même marge à gauche et à droite du logo */
	left: calc(var(--mf-bulle-retrait) - var(--mf-bulle-g));
	right: calc(var(--mf-bulle-retrait) - var(--mf-bulle-g));
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 2px 10px rgba(5, 11, 26, .3);
}
#et-top-navigation { padding-left: 86px !important; }

#main-header #top-menu > li { padding-right: 2px !important; }
#main-header #top-menu > li > a {
	color: rgba(241, 245, 255, .82) !important;
	font-weight: 600;
	font-size: 13px !important;
	letter-spacing: .03em;
	padding: 10px 10px !important;
	border-radius: 999px;
	transition: background .2s ease, color .2s ease;
	opacity: 1 !important;
}
#main-header #top-menu > li > a:hover,
#main-header #top-menu > li.current-menu-item > a,
#main-header #top-menu > li.current-menu-ancestor > a {
	color: #fff !important;
	background: rgba(255, 255, 255, .08);
}
#main-header #top-menu > li.current-menu-item > a,
#main-header #top-menu > li.current-menu-ancestor > a {
	box-shadow: inset 0 0 0 1px rgba(56, 189, 248, .45), 0 0 18px rgba(56, 189, 248, .25);
}
#main-header #et-top-navigation { padding-top: 18px !important; }
#main-header.et-fixed-header #et-top-navigation { padding-top: 14px !important; }
#main-header #top-menu > li { padding-bottom: 18px !important; }
#main-header.et-fixed-header #top-menu > li { padding-bottom: 14px !important; }
#main-header #top-menu .menu-item-has-children > a:first-child { padding-right: 24px !important; }
#main-header #top-menu .menu-item-has-children > a:first-child:after { color: var(--mf-neon); top: 10px; right: 10px; }

/* bouton Plan de prévention : pilule néon */
#main-header #top-menu li.menu-plan-prevention > a {
	background: var(--mf-degrade) !important;
	color: #fff !important;
	margin: 0 0 0 6px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .2), 0 6px 24px rgba(56, 189, 248, .45);
	padding: 10px 18px !important;
}
#main-header #top-menu li.menu-plan-prevention > a:hover {
	filter: brightness(1.12);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .35), 0 8px 30px rgba(56, 189, 248, .7);
}

/* sous-menus en verre */
#main-header #top-menu li ul.sub-menu {
	background: rgba(8, 18, 42, .85) !important;
	-webkit-backdrop-filter: var(--mf-flou);
	backdrop-filter: var(--mf-flou);
	border: 1px solid var(--mf-bord) !important;
	border-radius: 18px;
	box-shadow: var(--mf-ombre);
	padding: 10px !important;
	width: 270px;
}
#main-header #top-menu li ul.sub-menu li { padding: 0; width: 100%; }
#main-header #top-menu li ul.sub-menu li a {
	color: rgba(241, 245, 255, .82) !important;
	font-weight: 500;
	font-size: 14px !important;
	border-radius: 12px;
	padding: 10px 14px !important;
	width: 100%;
	box-sizing: border-box;
	letter-spacing: 0;
}
#main-header #top-menu li ul.sub-menu li a:hover {
	background: rgba(56, 189, 248, .12) !important;
	color: #fff !important;
	opacity: 1;
}

/* écrans moyens : menu plus compact */
@media (min-width: 981px) and (max-width: 1279px) {
	#main-header #top-menu > li > a { padding: 9px 9px !important; font-size: 12.5px !important; letter-spacing: .03em; }
	#main-header #top-menu .menu-item-has-children > a:first-child { padding-right: 22px !important; }
	#main-header #top-menu .menu-item-has-children > a:first-child:after { right: 5px; }
	#main-header #top-menu li.menu-plan-prevention > a { padding: 9px 12px !important; }
	#main-header #top-menu li.menu-plan-prevention > a::after { content: none; }
	#et-top-navigation { padding-left: 64px !important; }
	#logo { max-height: 58px !important; }
	.et-fixed-header #logo { max-height: 52px !important; }
}

/* contenu sous la barre flottante */
@media (min-width: 981px) {
	#page-container { padding-top: 0 !important; }
}
/* pages sans bandeau de titre : on laisse la place du menu */
#et-main-area .et_builder_inner_content > .et_pb_section:first-child:not(.section_has_divider):not(.mf-hero) {
	padding-top: 140px !important;
}
body:not(.et_pb_pagebuilder_layout) #main-content > .container { padding-top: 140px !important; }
@media (max-width: 980px) {
	#et-main-area .et_builder_inner_content > .et_pb_section:first-child:not(.section_has_divider):not(.mf-hero) { padding-top: 110px !important; }
	body:not(.et_pb_pagebuilder_layout) #main-content > .container { padding-top: 110px !important; }
}

/* ---------- Mobile : menu plein écran en verre ---------- */
@media (max-width: 980px) {
	#main-header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 99999; padding-top: 10px; }
	#page-container { padding-top: 0 !important; }
	#main-header > .container { border-radius: 22px; padding: 0 10px 0 16px; }
	#main-header .logo_container { padding-left: 0; }
	#main-header { --mf-bulle-g: 16px; }
	#logo { max-height: 64px !important; }
	.mobile_menu_bar:before { color: #fff !important; }
	.et_mobile_menu {
		position: fixed !important;
		top: 84px !important;
		left: 16px !important;
		right: 16px !important;
		width: auto !important;
		max-height: calc(100vh - 100px);
		overflow-y: auto;
		background: rgba(8, 18, 42, .94) !important;
		-webkit-backdrop-filter: var(--mf-flou);
		backdrop-filter: var(--mf-flou);
		border: 1px solid var(--mf-bord) !important;
		border-radius: 24px;
		box-shadow: var(--mf-ombre);
		padding: 14px !important;
	}
	.et_mobile_menu li a {
		color: #fff !important;
		font-weight: 700;
		font-size: 17px;
		letter-spacing: .04em;
		border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
		padding: 14px 12px !important;
		border-radius: 12px;
	}
	.et_mobile_menu li li a { font-weight: 500; font-size: 15px; color: var(--mf-texte) !important; padding-left: 26px !important; }
	.et_mobile_menu li a:hover, .et_mobile_menu .menu-item-has-children > a { background: rgba(255, 255, 255, .05) !important; }
	#mobile_menu li.menu-plan-prevention > a {
		background: var(--mf-degrade) !important;
		border-radius: 999px;
		text-align: center;
		margin: 12px 0 6px;
		border: 0 !important;
		box-shadow: 0 6px 24px rgba(56, 189, 248, .4);
	}
}

/* ==========================================================================
   3. Bandeaux de titre des pages intérieures
   ========================================================================== */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child {
	background-image:
		radial-gradient(700px 320px at 80% 0%, rgba(56, 189, 248, .35), transparent 70%),
		radial-gradient(600px 300px at 10% 100%, rgba(99, 102, 241, .35), transparent 70%),
		linear-gradient(180deg, #071233 0%, var(--mf-nuit) 100%) !important;
	padding: 170px 0 70px !important;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--mf-bord);
}
/* grille lumineuse en perspective */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child::after {
	content: "";
	position: absolute;
	left: -20%;
	right: -20%;
	bottom: -40%;
	height: 90%;
	background-image:
		linear-gradient(rgba(56, 189, 248, .22) 1px, transparent 1px),
		linear-gradient(90deg, rgba(56, 189, 248, .22) 1px, transparent 1px);
	background-size: 48px 48px;
	transform: perspective(500px) rotateX(62deg);
	-webkit-mask-image: linear-gradient(to top, #000 10%, transparent 75%);
	mask-image: linear-gradient(to top, #000 10%, transparent 75%);
	pointer-events: none;
}
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child .et_pb_top_inside_divider,
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child .et_pb_bottom_inside_divider { display: none; }
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child .et_pb_text { filter: none !important; position: relative; z-index: 1; }
/* titre « fantôme » (h3) derrière le vrai titre : grand contour néon */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child h3 {
	font-size: clamp(60px, 11vw, 170px) !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: -.02em !important;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke: 1px rgba(56, 189, 248, .28);
	white-space: nowrap;
	line-height: 1 !important;
	opacity: .9;
}
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child h1,
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child h2 {
	font-size: clamp(38px, 6.5vw, 86px) !important;
	font-weight: 800 !important;
	letter-spacing: -.02em !important;
	text-transform: uppercase;
	background: linear-gradient(180deg, #ffffff 30%, #9fd8ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 30px rgba(56, 189, 248, .35));
}
@media (max-width: 980px) {
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child { padding: 120px 0 40px !important; }
	/* mobile/tablette : le titre « fantôme » en contour ne peut pas suivre le retour à la ligne
	   du vrai titre → on le masque, le titre blanc suffit */
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child .et_pb_text:has(h3):not(:has(h1)) { display: none !important; }
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child h1 {
		font-size: clamp(34px, 10vw, 52px) !important;
		margin-top: 0 !important;
	}
	/* moins de vide entre le bandeau et le contenu */
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child + .et_pb_section { padding-top: 24px !important; }
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child + .et_pb_section > .et_pb_row:first-child { padding-top: 10px !important; }
}
/* bandeau photo des pages rubriques (À propos, Maccabi France, Maccabiades, Médias) */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.et_pb_with_background:first-child:not(.section_has_divider):not(.mf-hero) {
	min-height: 420px;
	padding: 150px 0 60px !important;
	display: flex;
	align-items: flex-end;
	position: relative;
	isolation: isolate;
	background-size: cover !important;
	background-position: center !important;
}
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.et_pb_with_background:first-child:not(.section_has_divider):not(.mf-hero)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(5, 11, 26, .35) 0%, rgba(5, 11, 26, .1) 35%, rgba(5, 11, 26, .7) 100%);
}
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.et_pb_with_background:first-child:not(.section_has_divider):not(.mf-hero) .et_pb_row { width: min(1200px, 90%); }
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.et_pb_with_background:first-child:not(.section_has_divider):not(.mf-hero) :is(h1, h2, h3) {
	color: #fff !important;
	font-size: clamp(38px, 7vw, 92px) !important;
	font-weight: 900 !important;
	text-transform: uppercase;
	letter-spacing: -.02em !important;
	line-height: 1 !important;
	text-shadow: 0 4px 30px rgba(0, 0, 0, .55) !important;
}
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.et_pb_with_background:first-child:not(.section_has_divider):not(.mf-hero) .et_pb_text {
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
}
@media (max-width: 980px) {
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.et_pb_with_background:first-child:not(.section_has_divider):not(.mf-hero) {
		min-height: 300px;
		padding: 120px 0 34px !important;
	}
}

/* mobile/tablette : les animations d'apparition de Divi ne se déclenchent pas toujours
   (blocs restés vides ou à moitié transparents) → tout est affiché immédiatement */
@media (max-width: 980px) {
	#et-main-area .et_animated,
	#et-main-area .et_had_animation,
	#et-main-area .et-waypoint:not(.et_pb_counters):not(.et_pb_circle_counter) {
		opacity: 1 !important;
		animation: none !important;
		transform: none !important;
		visibility: visible !important;
	}
}

/* mobile : texte justifié → aligné à gauche (évite les grands trous entre les mots) */
@media (max-width: 767px) {
	#et-main-area [style*="justify"],
	#et-main-area .et_pb_text_align_justified,
	#et-main-area .et_pb_text_align_justified p {
		text-align: left !important;
	}
	#et-main-area p { hyphens: auto; -webkit-hyphens: auto; }
	/* cartes de lecture : marges intérieures réduites */
	body:not(.home) #et-main-area .et_pb_text:has(> .et_pb_text_inner > p:nth-of-type(3)),
	body:not(.home) #et-main-area .et_pb_text.mf-lecture { padding: 24px 20px !important; border-radius: 20px; }
	body:not(.home) #et-main-area .et_pb_text:has(> .et_pb_text_inner > p:nth-of-type(3)) p,
	body:not(.home) #et-main-area .et_pb_text.mf-lecture :is(p, li) { font-size: 16px !important; line-height: 1.7 !important; }
}

/* fil d'Ariane (« Accueil / … ») et sous-titre « MACCABI FRANCE » + trait sous le bandeau :
   masqués pour remonter le contenu (demande de Rudy). Le contenu reste dans Divi. */
#et-main-area .et_pb_code:has([class*="breadcrumb"]),
#et-main-area .et_pb_code:has([class*="breadcrumb"]) + .et_pb_text,
#et-main-area .et_pb_code:has([class*="breadcrumb"]) + .et_pb_text + .et_pb_divider {
	display: none !important;
}
#et-main-area .et_pb_text.mf-masque, #et-main-area .et_pb_row.mf-masque { display: none !important; }
/* section qui ne contenait que le fil d'Ariane (page Contact) : retirée */
#et-main-area .et_pb_section:has(.et_pb_code [class*="breadcrumb"]):not(:has(.et_pb_text, .et_pb_gallery, .et_pb_image, .et_pb_blurb, .et_pb_promo, .et_pb_cta, .et_pb_contact_form, .et_pb_video, .et_pb_button)) {
	display: none !important;
}
/* section qui suit le bandeau : moins d'espace en haut */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child + .et_pb_section {
	padding-top: 40px !important;
}
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child + .et_pb_section > .et_pb_row:first-child {
	padding-top: 0 !important;
}
@media (max-width: 980px) {
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child + .et_pb_section { padding-top: 22px !important; }
}

/* titre fantôme trop long pour une ligne : masqué (classe posée par refonte.js) */
#et-main-area .et_pb_text.mf-fantome-long { visibility: hidden; }
/* titres de bandeau affichés immédiatement (pas d'animation d'apparition Divi) */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child .et_pb_text {
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
}
/* ordinateur : contour centré et coupé proprement s'il est plus large que l'écran */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child .et_pb_text:has(h3):not(:has(h1)) { overflow: hidden; }

/* contenu texte long (3 paragraphes ou plus) : carte en verre pour le confort de lecture */
body:not(.home) #et-main-area .et_pb_text:has(> .et_pb_text_inner > p:nth-of-type(3)),
body:not(.home) #et-main-area .et_pb_text.mf-lecture {
	background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .025));
	border: 1px solid var(--mf-bord);
	border-radius: 26px;
	padding: clamp(24px, 4.5vw, 56px) !important;
	-webkit-backdrop-filter: var(--mf-flou);
	backdrop-filter: var(--mf-flou);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 30px 80px rgba(0, 0, 0, .35);
	max-width: 900px;
	margin-left: auto !important;
	margin-right: auto !important;
	position: relative;
}
body:not(.home) #et-main-area .et_pb_text:has(> .et_pb_text_inner > p:nth-of-type(3))::before {
	/* liseré néon en haut de la carte */
	content: "";
	position: absolute;
	top: -1px;
	left: 12%;
	right: 12%;
	height: 2px;
	border-radius: 2px;
	background: var(--mf-degrade);
	box-shadow: 0 0 20px rgba(56, 189, 248, .7);
}
body:not(.home) #et-main-area .et_pb_text:has(> .et_pb_text_inner > p:nth-of-type(3)) p,
body:not(.home) #et-main-area .et_pb_text.mf-lecture :is(p, li) { font-size: 17px !important; line-height: 1.85 !important; }
body:not(.home) #et-main-area .et_pb_text.mf-lecture :is(h2, h3, h4, h5) { margin-top: 1.4em; margin-bottom: .4em; line-height: 1.3 !important; }
body:not(.home) #et-main-area .et_pb_text.mf-lecture :is(h2, h3, h4, h5):first-child { margin-top: 0; }

/* ==========================================================================
   4. Boutons, blocs, images
   ========================================================================== */
#et-main-area .et_pb_button,
#et-main-area .et_pb_more_button,
#et-main-area .et_pb_promo_button,
#et-main-area input[type="submit"],
#et-main-area button[type="submit"] {
	border-radius: 999px !important;
	border: 0 !important;
	background: var(--mf-degrade) !important;
	color: #fff !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase;
	font-size: 13px !important;
	padding: 14px 30px !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .18), 0 8px 30px rgba(56, 189, 248, .4);
	transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
#et-main-area .et_pb_button:hover,
#et-main-area .et_pb_promo_button:hover,
#et-main-area input[type="submit"]:hover,
#et-main-area button[type="submit"]:hover {
	transform: translateY(-3px);
	filter: brightness(1.12);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .3), 0 14px 40px rgba(56, 189, 248, .6);
	padding: 14px 30px !important;
}
#et-main-area .et_pb_button:after, #et-main-area .et_pb_button:before { display: none !important; }
/* bouton secondaire : verre (classe « mf-btn-verre » sur le module bouton) */
#et-main-area .et_pb_button.mf-btn-verre,
#et-main-area .mf-btn-verre .et_pb_button {
	background: rgba(255, 255, 255, .08) !important;
	-webkit-backdrop-filter: var(--mf-flou);
	backdrop-filter: var(--mf-flou);
	box-shadow: inset 0 0 0 1px var(--mf-bord-fort) !important;
}

/* images arrondies */
#et-main-area .et_pb_image .et_pb_image_wrap { border-radius: var(--mf-rayon); overflow: hidden; }
#et-main-area .et_pb_image img { border-radius: var(--mf-rayon); }

/* blocs « appel à l'action » (Divi CTA) : cartes en verre néon */
#et-main-area .et_pb_promo {
	border: 1px solid var(--mf-bord) !important;
	border-radius: var(--mf-rayon) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), var(--mf-ombre);
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
#et-main-area .et_pb_promo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(135deg, rgba(5, 11, 26, .55), rgba(12, 40, 100, .35) 60%, rgba(56, 189, 248, .2));
	pointer-events: none;
}
#et-main-area .et_pb_promo {
	background-color: rgba(10, 21, 48, .7) !important;
	background-image:
		radial-gradient(420px 200px at 100% 0%, rgba(56, 189, 248, .28), transparent 70%),
		radial-gradient(380px 200px at 0% 100%, rgba(99, 102, 241, .25), transparent 70%) !important;
	-webkit-backdrop-filter: var(--mf-flou);
	backdrop-filter: var(--mf-flou);
	padding: 44px 40px !important;
}
#et-main-area .et_pb_promo::after {
	content: "→";
	position: absolute;
	right: 26px;
	top: 50%;
	translate: 0 -50%;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	font-size: 20px;
	color: #fff;
	background: rgba(255, 255, 255, .08);
	box-shadow: inset 0 0 0 1px var(--mf-bord-fort);
	transition: background .3s ease, translate .3s ease, box-shadow .3s ease;
}
#et-main-area .et_pb_promo:hover::after {
	background: var(--mf-degrade);
	box-shadow: 0 0 24px rgba(56, 189, 248, .6);
	translate: 6px -50%;
}
#et-main-area .et_pb_promo .et_pb_promo_description { padding-right: 60px; }
#et-main-area .et_pb_promo:hover {
	transform: translateY(-6px);
	border-color: rgba(56, 189, 248, .5) !important;
	box-shadow: var(--mf-lueur), var(--mf-ombre);
}
#et-main-area .et_pb_promo h2, #et-main-area .et_pb_promo .et_pb_module_header { font-size: clamp(22px, 2.4vw, 30px) !important; }

/* bascules et onglets */
#et-main-area .et_pb_toggle, #et-main-area .et_pb_tabs {
	background: var(--mf-verre) !important;
	border: 1px solid var(--mf-bord) !important;
	border-radius: 18px;
}
#et-main-area .et_pb_tabs_controls { background: transparent !important; }
#et-main-area .et_pb_tabs_controls li { background: transparent !important; border-color: var(--mf-bord) !important; }
#et-main-area .et_pb_tabs_controls li a { color: var(--mf-texte) !important; }
#et-main-area .et_pb_tabs_controls li.et_pb_tab_active a { color: #fff !important; }

/* blurbs (icône + texte) */
#et-main-area .et_pb_blurb {
	background: var(--mf-verre);
	border: 1px solid var(--mf-bord);
	border-radius: var(--mf-rayon);
	padding: 24px;
}
#et-main-area .et-pb-icon { color: var(--mf-neon) !important; text-shadow: 0 0 20px rgba(56, 189, 248, .6); }

/* ==========================================================================
   5. Formulaires
   ========================================================================== */
#et-main-area input[type="text"], #et-main-area input[type="email"],
#et-main-area input[type="tel"], #et-main-area input[type="url"],
#et-main-area textarea, #et-main-area select,
#et-main-area .et_pb_contact_form .input {
	background: rgba(255, 255, 255, .05) !important;
	border: 1px solid var(--mf-bord) !important;
	border-radius: 14px !important;
	color: #fff !important;
	padding: 15px 18px !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
#et-main-area input::placeholder, #et-main-area textarea::placeholder { color: var(--mf-texte-doux) !important; }
#et-main-area input:focus, #et-main-area textarea:focus, #et-main-area .et_pb_contact_form .input:focus {
	border-color: var(--mf-neon) !important;
	box-shadow: 0 0 0 4px rgba(56, 189, 248, .18) !important;
	outline: none;
}

/* icônes réseaux sociaux */
#et-main-area .et_pb_social_media_follow li a.icon {
	border-radius: 14px !important;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .15), 0 8px 24px rgba(0, 0, 0, .35);
	transition: transform .2s ease, box-shadow .2s ease;
}
#et-main-area .et_pb_social_media_follow li a.icon:hover { transform: translateY(-3px) scale(1.05); box-shadow: var(--mf-lueur); }

/* sections « vagues » en bas des pages : fond uni */
#et-main-area .et_pb_section.section_has_divider:last-of-type .et_pb_top_inside_divider,
#et-main-area .et_pb_section.section_has_divider:last-of-type .et_pb_bottom_inside_divider { display: none; }
#et-main-area .et_pb_section.section_has_divider:last-of-type { padding: 40px 0 !important; min-height: 0 !important; }

/* ==========================================================================
   6. Galerie photos « année 3000 »
   ========================================================================== */
#et-main-area .et_pb_gallery_grid .et_pb_gallery_items {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	grid-auto-rows: 200px;
	grid-auto-flow: dense;
	gap: 14px;
	perspective: 1200px;
}
#et-main-area .et_pb_gallery_grid .et_pb_gallery_items::before,
#et-main-area .et_pb_gallery_grid .et_pb_gallery_items::after { display: none; }
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item {
	width: auto !important;
	margin: 0 !important;
	clear: none !important;
	float: none !important;
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	background: var(--mf-nuit-2);
	box-shadow: 0 0 0 1px var(--mf-bord), 0 14px 40px rgba(0, 0, 0, .45);
	transform-style: preserve-3d;
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
	will-change: transform;
}
/* mosaïque : certaines photos plus grandes */
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item:nth-child(7n+1) { grid-column: span 2; grid-row: span 2; }
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item:nth-child(7n+4) { grid-row: span 2; }
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item:nth-child(7n+6) { grid-column: span 2; }
@media (max-width: 600px) {
	#et-main-area .et_pb_gallery_grid .et_pb_gallery_items { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; gap: 10px; }
	#et-main-area .et_pb_gallery_grid .et_pb_gallery_item:nth-child(7n+6) { grid-column: span 1; }
}
#et-main-area .et_pb_gallery_grid .et_pb_gallery_image,
#et-main-area .et_pb_gallery_grid .et_pb_gallery_image a,
#et-main-area .et_pb_gallery_grid .et_pb_gallery_image img {
	width: 100% !important;
	height: 100% !important;
	display: block;
}
#et-main-area .et_pb_gallery_grid .et_pb_gallery_image img {
	object-fit: cover;
	transition: transform .6s cubic-bezier(.2, .8, .2, 1), filter .4s ease;
}
/* reflet glossy qui suit la souris (variables --mx / --my posées par refonte.js) */
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 255, 255, .22), transparent 45%),
		linear-gradient(180deg, transparent 55%, rgba(5, 11, 26, .55));
	opacity: .55;
	transition: opacity .3s ease;
	pointer-events: none;
}
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item:hover {
	box-shadow: 0 0 0 1px rgba(56, 189, 248, .7), 0 0 40px rgba(56, 189, 248, .45), 0 24px 60px rgba(0, 0, 0, .55);
	z-index: 2;
}
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item:hover::after { opacity: 1; }
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item:hover img { transform: scale(1.08); filter: saturate(1.2) contrast(1.05); }
#et-main-area .et_pb_gallery_grid .et_overlay { background: transparent !important; border: 0 !important; }
#et-main-area .et_pb_gallery_grid .et_overlay:before { display: none; }

/* apparition en cascade (classes posées par refonte.js) */
.mf-js #et-main-area .et_pb_gallery_grid .et_pb_gallery_item { opacity: 0; translate: 0 30px; }
.mf-js #et-main-area .et_pb_gallery_grid .et_pb_gallery_item.mf-visible {
	opacity: 1;
	translate: 0 0;
	transition: opacity .7s ease, translate .7s cubic-bezier(.2, .8, .2, 1), transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
}

/* visionneuse plein écran (Magnific Popup de Divi) */
.mfp-bg { background: radial-gradient(circle at 50% 30%, #0b1d4a, #02060f 70%) !important; opacity: .97 !important; }
.mfp-figure:after { background: transparent !important; box-shadow: none !important; }
img.mfp-img {
	border-radius: 18px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .15), 0 0 80px rgba(56, 189, 248, .35), 0 40px 120px rgba(0, 0, 0, .7) !important;
	padding: 0 !important;
	margin: 40px auto;
}
.mfp-counter { color: rgba(255, 255, 255, .7) !important; font-size: 13px; letter-spacing: .1em; }
/* les titres des photos sont des noms de fichiers techniques : masqués */
.mfp-gallery .mfp-title { visibility: hidden; }
.mfp-close { color: #fff !important; opacity: .8; }

/* ==========================================================================
   7. Nouvelle page d'accueil (blocs « mf-… »)
   ========================================================================== */
/* --- Héros --- */
#et-main-area .mf-hero {
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 150px 0 90px !important;
	background-size: cover !important;
	background-position: center !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
#et-main-area .mf-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(900px 500px at 15% 30%, rgba(56, 189, 248, .25), transparent 60%),
		radial-gradient(700px 500px at 90% 80%, rgba(99, 102, 241, .3), transparent 60%),
		linear-gradient(180deg, rgba(5, 11, 26, .55) 0%, rgba(5, 11, 26, .8) 60%, var(--mf-nuit) 100%);
}
#et-main-area .mf-hero::after {
	content: "";
	position: absolute;
	left: -30%;
	right: -30%;
	bottom: -35%;
	height: 70%;
	z-index: -1;
	background-image:
		linear-gradient(rgba(56, 189, 248, .25) 1px, transparent 1px),
		linear-gradient(90deg, rgba(56, 189, 248, .25) 1px, transparent 1px);
	background-size: 60px 60px;
	transform: perspective(600px) rotateX(65deg);
	-webkit-mask-image: linear-gradient(to top, #000 0%, transparent 70%);
	mask-image: linear-gradient(to top, #000 0%, transparent 70%);
	animation: mf-grille 6s linear infinite;
}
@keyframes mf-grille { to { background-position: 0 60px, 0 0; } }
#et-main-area .mf-hero .et_pb_row { width: min(1200px, 90%); max-width: none; }
#et-main-area .mf-surtitre {
	display: inline-block;
	width: auto !important;
	padding: 8px 18px;
	border-radius: 999px;
	background: rgba(56, 189, 248, .1);
	box-shadow: inset 0 0 0 1px rgba(56, 189, 248, .35), 0 0 30px rgba(56, 189, 248, .2);
	margin-bottom: 28px !important;
}
#et-main-area .mf-surtitre p {
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--mf-neon) !important;
	padding: 0;
	line-height: 1.6;
}
@media (max-width: 600px) {
	#et-main-area .mf-surtitre p { letter-spacing: .16em; font-size: 11px !important; }
	#et-main-area .mf-hero { min-height: 92vh; padding: 120px 0 60px !important; }
}
#et-main-area .mf-titre h1 {
	font-size: clamp(56px, 10.5vw, 160px) !important;
	line-height: .9 !important;
	font-weight: 900 !important;
	letter-spacing: -.04em !important;
	text-transform: uppercase;
	background: linear-gradient(180deg, #fff 35%, #8fd3ff 75%, #818cf8 110%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 40px rgba(56, 189, 248, .35));
	padding-bottom: 18px;
}
#et-main-area .mf-accroche p {
	font-size: clamp(17px, 1.6vw, 21px) !important;
	color: rgba(226, 234, 255, .85) !important;
	max-width: 640px;
}
#et-main-area .mf-hero .et_pb_button_module_wrapper { display: inline-block; margin: 12px 14px 0 0 !important; }

/* --- Cartes photo en verre --- */
#et-main-area .mf-cartes { padding: 20px 0 90px !important; }
#et-main-area .mf-cartes .et_pb_row { width: min(1200px, 90%); max-width: none; }
#et-main-area .mf-carte {
	position: relative;
	min-height: 440px;
	border-radius: 28px !important;
	overflow: hidden;
	background-size: cover !important;
	background-position: center !important;
	border: 1px solid var(--mf-bord);
	box-shadow: var(--mf-ombre);
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	padding: 34px !important;
	transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s ease, border-color .45s ease;
	isolation: isolate;
	cursor: pointer;
}
#et-main-area .mf-carte::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(5, 11, 26, .05) 15%, rgba(5, 11, 26, .94) 100%);
}
#et-main-area .mf-carte::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(500px circle at var(--mx, 30%) var(--my, 0%), rgba(255, 255, 255, .2), transparent 40%);
	opacity: 0;
	transition: opacity .3s ease;
}
#et-main-area .mf-carte:hover {
	border-color: rgba(56, 189, 248, .6);
	box-shadow: var(--mf-lueur), 0 30px 80px rgba(0, 0, 0, .6);
}
#et-main-area .mf-carte:hover::after { opacity: 1; }
#et-main-area .mf-carte .et_pb_module { margin-bottom: 14px !important; }
#et-main-area .mf-carte h2 { font-size: clamp(26px, 2.6vw, 38px) !important; }
#et-main-area .mf-carte .et_pb_divider { display: none; }
#et-main-area .mf-carte .mf-etiquette p {
	display: inline-block;
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--mf-neon) !important;
	padding: 0;
}
@media (max-width: 980px) {
	#et-main-area .mf-carte { min-height: 340px; margin-bottom: 20px !important; }
}

/* --- Titres de section --- */
#et-main-area .mf-titre-section h2 {
	font-size: clamp(34px, 5vw, 66px) !important;
	text-transform: uppercase;
	letter-spacing: -.025em;
}
#et-main-area .mf-titre-section h2 em {
	font-style: normal;
	background: var(--mf-degrade);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
#et-main-area .mf-titre-section p { color: var(--mf-texte-doux) !important; }

/* --- Bande photos (aperçu galerie) --- */
#et-main-area .mf-bande { padding: 50px 0 90px !important; }
#et-main-area .mf-bande .et_pb_row { width: min(1200px, 90%); max-width: none; }

/* --- Partenaires --- */
#et-main-area .mf-partenaires { padding: 60px 0 100px !important; }
#et-main-area .mf-partenaires .et_pb_row { width: min(1200px, 90%); max-width: none; }
#et-main-area .mf-logos {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 18px;
}
#et-main-area .mf-logos .et_pb_image {
	margin: 0 !important;
	background: rgba(255, 255, 255, .94);
	border-radius: 20px;
	padding: 18px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .3), 0 12px 30px rgba(0, 0, 0, .35);
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	transition: transform .3s ease, box-shadow .3s ease;
}
#et-main-area .mf-logos .et_pb_image:hover { transform: translateY(-6px); box-shadow: var(--mf-lueur); }
#et-main-area .mf-logos .et_pb_image .et_pb_image_wrap { border-radius: 0; overflow: visible; }
#et-main-area .mf-logos .et_pb_image img { border-radius: 0; max-height: 110px; width: auto; object-fit: contain; }

/* ==========================================================================
   8. Pied de page
   ========================================================================== */
#main-footer {
	background: linear-gradient(180deg, transparent, rgba(56, 189, 248, .05)), #040915 !important;
	border-top: 1px solid var(--mf-bord);
	position: relative;
}
#main-footer::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 10%;
	right: 10%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mf-neon), transparent);
	box-shadow: 0 0 20px var(--mf-neon);
}
#footer-widgets { padding: 70px 0 30px; }
#main-footer .footer-widget h4, #main-footer .title {
	color: #fff !important;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .2em;
	margin-bottom: 16px;
}
#main-footer .footer-widget li { padding-left: 0; }
#main-footer .footer-widget li::before { display: none; }
#main-footer .footer-widget li a { color: var(--mf-texte) !important; font-size: 15px; }
#main-footer .footer-widget li a:hover { color: var(--mf-neon) !important; }
#footer-bottom { background: transparent !important; border-top: 1px solid rgba(255, 255, 255, .06); padding: 22px 0; }
#footer-info, #footer-info a { color: var(--mf-texte-doux) !important; font-size: 13px; }

/* ==========================================================================
   9. Divers
   ========================================================================== */
.et_pb_scroll_top.et-pb-icon {
	background: var(--mf-degrade);
	border-radius: 999px 0 0 999px;
	box-shadow: 0 0 20px rgba(56, 189, 248, .5);
}
/* bandeau cookies Complianz en verre */
.cmplz-cookiebanner {
	background: rgba(8, 18, 42, .92) !important;
	-webkit-backdrop-filter: var(--mf-flou);
	backdrop-filter: var(--mf-flou);
	border: 1px solid var(--mf-bord) !important;
	border-radius: 22px !important;
}
.cmplz-cookiebanner .cmplz-title, .cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-message *,
.cmplz-cookiebanner .cmplz-close { color: var(--mf-texte) !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--mf-degrade) !important; border: 0 !important; border-radius: 999px !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept) { background: rgba(255, 255, 255, .08) !important; color: #fff !important; border: 1px solid var(--mf-bord) !important; border-radius: 999px !important; }

/* page Politique de cookies (tableaux Complianz) */
#et-main-area .cookies-per-purpose,
#et-main-area .cookies-per-purpose div,
#et-main-area .cmplz-document table,
#et-main-area .cmplz-document th,
#et-main-area .cmplz-document td {
	background: rgba(255, 255, 255, .035) !important;
	border-color: var(--mf-bord) !important;
	color: var(--mf-texte) !important;
}
#et-main-area .cookies-per-purpose { border-radius: 14px; overflow: hidden; }
#et-main-area .cmplz-document details, #et-main-area .cmplz-document summary {
	background: rgba(255, 255, 255, .04) !important;
	border-color: var(--mf-bord) !important;
	color: var(--mf-blanc) !important;
	border-radius: 12px;
}

/* curseur lumineux (refonte.js) — ordinateur uniquement */
.mf-curseur {
	position: fixed;
	left: 0;
	top: 0;
	width: 500px;
	height: 500px;
	margin: -250px 0 0 -250px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(56, 189, 248, .10), transparent 60%);
	pointer-events: none;
	z-index: 0;
	transition: opacity .3s ease;
	mix-blend-mode: screen;
}

@media (prefers-reduced-motion: reduce) {
	#et-main-area .mf-hero::after { animation: none; }
	#et-main-area .et_pb_promo:hover, #et-main-area .et_pb_button:hover { transform: none !important; }
	.mf-js #et-main-area .et_pb_gallery_grid .et_pb_gallery_item { opacity: 1; translate: none; }
	.mf-curseur { display: none; }
}

/* petits portables (981–1120 px) : menu resserré pour tenir sur une ligne */
@media (min-width: 981px) and (max-width: 1120px) {
	#main-header > .container { width: 97% !important; padding-right: 8px !important; }
	#main-header #top-menu > li { padding-right: 0 !important; }
	#main-header #top-menu > li > a { padding: 8px 5px !important; font-size: 10.5px !important; letter-spacing: 0; }
	#main-header #top-menu .menu-item-has-children > a:first-child { padding-right: 15px !important; }
	#main-header #top-menu .menu-item-has-children > a:first-child:after { right: 1px; }
	#main-header #top-menu li.menu-plan-prevention > a { padding: 8px 9px !important; margin-left: 2px; }
	#et-top-navigation { padding-left: 58px !important; }
}
/* portables (1121–1279 px) : un peu moins serré */
@media (min-width: 1121px) and (max-width: 1279px) {
	#main-header #top-menu > li { padding-right: 1px !important; }
	#main-header #top-menu > li > a { padding: 9px 7px !important; font-size: 12px !important; letter-spacing: .01em; }
	#main-header #top-menu .menu-item-has-children > a:first-child { padding-right: 18px !important; }
}
}

/* Logo Maccabi posé sur un fond bleu nuit (pied de page, zones sombres) : léger halo blanc lumineux.
   Pas dans le menu, où il a sa bulle blanche. */
#main-footer img[src*="logo-maccabi-france"],
#footer-widgets img[src*="logo-maccabi-france"],
#et-main-area .mf-hero img[src*="logo-maccabi-france"],
#et-main-area .mf-bande img[src*="logo-maccabi-france"],
#et-main-area .et_pb_promo img[src*="logo-maccabi-france"],
#et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child img[src*="logo-maccabi-france"] {
	filter: drop-shadow(0 0 2px rgba(255, 255, 255, .55)) drop-shadow(0 0 14px rgba(255, 255, 255, .28));
}
/* Pied de page : fin liseré blanc autour des lettres pour que « Fédération Française Maccabi »
   (bleu foncé) se lise sur le fond bleu nuit, + halo léger */
#main-footer img[src*="logo-maccabi-france"],
#footer-widgets img[src*="logo-maccabi-france"] {
	filter:
		drop-shadow(0 0 .6px rgba(255, 255, 255, .95))
		drop-shadow(0 0 .6px rgba(255, 255, 255, .95))
		drop-shadow(0 0 3px rgba(255, 255, 255, .45))
		drop-shadow(0 0 16px rgba(255, 255, 255, .25));
}

/* ---------- Galerie : vidéos intégrées à la mosaïque (tuiles créées par refonte.js) ---------- */
#et-main-area .et_pb_gallery_grid .et_pb_gallery_item.mf-tuile-video { display: block !important; cursor: pointer; }
#et-main-area .mf-tuile-video video { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2, .8, .2, 1), filter .4s ease; }
#et-main-area .mf-tuile-video:hover video { transform: scale(1.05); filter: saturate(1.2) contrast(1.05); }
#et-main-area .mf-tuile-lecture {
	position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; translate: -50% -50%; z-index: 2; border-radius: 50%;
	background: rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45), 0 0 40px rgba(56, 189, 248, .55);
	transition: transform .3s ease, background .3s ease;
}
#et-main-area .mf-tuile-lecture::before {
	content: ""; position: absolute; left: 54%; top: 50%; translate: -50% -50%;
	border-style: solid; border-width: 14px 0 14px 23px; border-color: transparent transparent transparent #fff;
}
#et-main-area .mf-tuile-video:hover .mf-tuile-lecture { transform: scale(1.12); background: rgba(56, 189, 248, .45); }
#et-main-area .mf-tuile-etiquette {
	position: absolute; left: 14px; top: 14px; z-index: 2; padding: 5px 12px; border-radius: 999px;
	font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fff;
	background: rgba(5, 11, 26, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25);
}
@media (max-width: 600px) { #et-main-area .mf-tuile-lecture { width: 56px; height: 56px; } #et-main-area .mf-tuile-lecture::before { border-width: 11px 0 11px 18px; } }
/* visionneuse plein écran */
.mf-visionneuse {
	position: fixed; inset: 0; z-index: 1000000; display: flex; align-items: center; justify-content: center;
	background: rgba(5, 11, 26, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); animation: mf-apparait .25s ease;
}
.mf-visionneuse video { max-width: 92vw; max-height: 86vh; border-radius: 18px; box-shadow: 0 30px 90px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .12); background: #000; }
.mf-visionneuse-fermer {
	position: absolute; top: 18px; right: 22px; width: 46px; height: 46px; border: 0; border-radius: 50%; cursor: pointer;
	font-size: 30px; line-height: 46px; color: #fff; background: rgba(255, 255, 255, .14);
}
.mf-visionneuse-fermer:hover { background: rgba(56, 189, 248, .5); }
@keyframes mf-apparait { from { opacity: 0; } to { opacity: 1; } }
/* le module vidéo d origine est remplacé par sa tuile (évite un flash avant le script) */
#et-main-area .et_pb_section:has(.et_pb_gallery_grid) .mf-video-galerie-ajout { display: none !important; }
