/* ==========================================================================
   Maccabi France — refonte 2026, VERSION LUMINEUSE
   Chargée après refonte.css. Le contenu passe sur fond blanc ; restent
   sombres : héros de l'accueil, bandeaux de titre, bande galerie, cartes
   photo, blocs liens, pied de page.
   Pour revenir au tout-sombre : retirer le chargement de ce fichier dans
   functions.php.
   ========================================================================== */
:root {
	--mf-clair: #f5f8ff;
	--mf-encre: #0a1f44;             /* titres sur fond clair */
	--mf-encre-texte: #44506a;       /* texte courant sur fond clair */
	--mf-bord-clair: rgba(10, 31, 68, .09);
	--mf-ombre-claire: 0 1px 2px rgba(10, 31, 68, .05), 0 18px 50px rgba(12, 113, 195, .12);
}
html, body { background: var(--mf-clair) !important; }
body::before {
	background:
		radial-gradient(900px 600px at 0% 30%, rgba(56, 189, 248, .10), transparent 60%),
		radial-gradient(800px 600px at 100% 70%, rgba(99, 102, 241, .08), transparent 60%),
		linear-gradient(180deg, #ffffff 0%, var(--mf-clair) 100%);
}

/* ---------- Textes sur fond clair ---------- */
#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 {
	color: var(--mf-encre-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-encre) !important;
}
#et-main-area a { color: var(--mf-bleu); }
#et-main-area a:hover { color: var(--mf-neon-2); }
.breadcrumb-container, .breadcrumb-container *, .breadcrumb, .breadcrumb * { color: #7b879e !important; }
.breadcrumb-container a, .breadcrumb a { color: var(--mf-bleu) !important; }

/* ---------- Zones qui restent sombres : textes clairs ---------- */
#et-main-area .mf-hero p, #et-main-area .mf-bande p,
#et-main-area .mf-carte p, #et-main-area .et_pb_promo p,
#et-main-area .et_pb_promo .et_pb_promo_description,
#et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child p {
	color: rgba(226, 234, 255, .82) !important;
}
#et-main-area .mf-hero h1, #et-main-area .mf-hero h2,
#et-main-area .mf-bande h2, #et-main-area .mf-bande h3,
#et-main-area .mf-carte h2, #et-main-area .mf-carte h3,
#et-main-area .et_pb_promo h2, #et-main-area .et_pb_promo h3, #et-main-area .et_pb_promo .et_pb_module_header,
#et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child h1,
#et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child h2 {
	color: #fff !important;
}
#et-main-area .mf-hero .mf-surtitre p,
#et-main-area .mf-carte .mf-etiquette p { color: var(--mf-neon) !important; }

/* ---------- Héros de l'accueil : la photo bien visible ---------- */
/* voile léger uniquement à gauche (lisibilité du texte), la photo reste éclatante à droite */
#et-main-area .mf-hero::before {
	background:
		linear-gradient(90deg, rgba(5, 11, 26, .62) 0%, rgba(5, 11, 26, .38) 38%, rgba(5, 11, 26, .06) 68%, rgba(5, 11, 26, 0) 100%),
		linear-gradient(180deg, rgba(5, 11, 26, .25) 0%, rgba(5, 11, 26, 0) 22%, rgba(5, 11, 26, 0) 78%, rgba(5, 11, 26, .35) 100%);
}
/* grille néon plus discrète pour ne pas masquer la photo */
#et-main-area .mf-hero::after {
	opacity: .35;
	height: 45%;
}
/* texte : ombre portée pour rester lisible sans assombrir la photo */
#et-main-area .mf-hero .mf-titre h1 {
	filter: drop-shadow(0 4px 24px rgba(0, 0, 0, .55)) drop-shadow(0 0 30px rgba(56, 189, 248, .3));
}
#et-main-area .mf-hero .mf-accroche p {
	color: #fff !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .7);
}
#et-main-area .mf-hero .mf-surtitre {
	background: rgba(5, 11, 26, .45);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
@media (max-width: 980px) {
	/* sur mobile le texte couvre toute la largeur : voile un peu plus présent en bas */
	#et-main-area .mf-hero::before {
		background: linear-gradient(180deg, rgba(5, 11, 26, .25) 0%, rgba(5, 11, 26, .15) 35%, rgba(5, 11, 26, .6) 100%);
	}
}

/* ---------- Bande galerie de l'accueil : bandeau sombre ---------- */
#et-main-area .mf-bande {
	background:
		radial-gradient(700px 400px at 15% 0%, rgba(56, 189, 248, .22), transparent 65%),
		radial-gradient(700px 400px at 90% 100%, rgba(99, 102, 241, .25), transparent 65%),
		var(--mf-nuit) !important;
	padding: 90px 0 100px !important;
	position: relative;
}
#et-main-area .mf-bande::before,
#et-main-area .mf-bande::after {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mf-neon), transparent);
	box-shadow: 0 0 18px var(--mf-neon);
}
#et-main-area .mf-bande::before { top: 0; }
#et-main-area .mf-bande::after { bottom: 0; }

/* ---------- Page Galerie : la mosaïque sur un écran sombre ---------- */
body:not(.home) #et-main-area .et_pb_gallery_grid {
	background:
		radial-gradient(600px 300px at 10% 0%, rgba(56, 189, 248, .22), transparent 65%),
		radial-gradient(600px 300px at 100% 100%, rgba(99, 102, 241, .25), transparent 65%),
		var(--mf-nuit);
	border-radius: 34px;
	padding: clamp(14px, 2.5vw, 30px);
	box-shadow: 0 30px 80px rgba(10, 31, 68, .25), inset 0 0 0 1px rgba(255, 255, 255, .08);
}

/* ---------- Textes longs : cartes blanches ---------- */
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: #fff;
	border: 1px solid var(--mf-bord-clair);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow: var(--mf-ombre-claire);
}

/* ---------- Coordonnées et formulaire de contact : cartes blanches ---------- */
#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: #fff !important;
	border: 1px solid var(--mf-bord-clair) !important;
	box-shadow: var(--mf-ombre-claire);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
#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: #f6f8fc !important;
	border: 1px solid #dfe5ef !important;
	color: var(--mf-encre) !important;
}
#et-main-area input::placeholder, #et-main-area textarea::placeholder { color: #8b95a8 !important; }

/* ---------- Bascules, onglets, blurbs, tableaux ---------- */
#et-main-area .et_pb_toggle, #et-main-area .et_pb_tabs, #et-main-area .et_pb_blurb {
	background: #fff !important;
	border: 1px solid var(--mf-bord-clair) !important;
	box-shadow: var(--mf-ombre-claire);
}
#et-main-area .et_pb_row_inner:has(.et_pb_blurb) .et_pb_blurb { background: transparent !important; border: 0 !important; box-shadow: none; }
#et-main-area .et_pb_tabs_controls li a { color: var(--mf-encre-texte) !important; }
#et-main-area .et_pb_tabs_controls li.et_pb_tab_active a { color: var(--mf-encre) !important; }
#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,
#et-main-area .cmplz-document details,
#et-main-area .cmplz-document summary {
	background: #fff !important;
	border-color: var(--mf-bord-clair) !important;
	color: var(--mf-encre-texte) !important;
}

/* ---------- Partenaires : tuiles blanches ---------- */
#et-main-area .mf-logos .et_pb_image {
	background: #fff;
	box-shadow: 0 0 0 1px var(--mf-bord-clair), var(--mf-ombre-claire);
}
#et-main-area .mf-titre-section p { color: #7b879e !important; }
@media (max-width: 600px) {
	#et-main-area .mf-logos { grid-template-columns: repeat(3, 1fr); gap: 10px; }
	#et-main-area .mf-logos .et_pb_image { padding: 10px; border-radius: 14px; }
	#et-main-area .mf-logos .et_pb_image img { max-height: 70px; }
}

/* ---------- Icônes réseaux ---------- */
#et-main-area .et_pb_social_media_follow li a.icon { box-shadow: 0 8px 20px rgba(10, 31, 68, .15); }

/* ---------- Section « Suivez-nous » : bande blanche ---------- */
#et-main-area .et_pb_section.section_has_divider:last-of-type {
	background: #fff !important;
	border-top: 1px solid var(--mf-bord-clair);
}

/* ---------- Menu : BARRE BLANCHE, texte bleu foncé ----------
   (pour revenir à la barre bleu nuit : supprimer ce bloc jusqu'à « fin barre blanche »
    et remettre : #main-header > .container { background: rgba(7,16,38,.86); }) */
#main-header { --mf-bleu-logo: #001a80; } /* bleu du logo (lettres « FRANCE ») */
#main-header > .container {
	background: #fff;
	border-color: rgba(10, 31, 68, .08);
	box-shadow: 0 12px 40px rgba(10, 31, 68, .22), 0 1px 0 rgba(255, 255, 255, .9) inset;
}
#main-header > .container::before { background: linear-gradient(180deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, 0) 55%); }
#main-header .logo_container > a::before { box-shadow: none; } /* bulle du logo fondue dans la barre */
#main-header #top-menu > li > a { color: var(--mf-bleu-logo) !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: var(--mf-bleu-logo) !important;
	background: rgba(12, 113, 195, .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(12, 113, 195, .45);
}
#main-header #top-menu .menu-item-has-children > a:first-child:after { color: var(--mf-bleu); }
/* sous-menus blancs */
#main-header #top-menu li ul.sub-menu {
	background: rgba(255, 255, 255, .98) !important;
	border: 1px solid rgba(10, 31, 68, .08) !important;
	box-shadow: 0 20px 50px rgba(10, 31, 68, .2);
}
#main-header #top-menu li ul.sub-menu li a { color: var(--mf-bleu-logo) !important; }
#main-header #top-menu li ul.sub-menu li a:hover { background: rgba(12, 113, 195, .08) !important; color: var(--mf-bleu) !important; }
@media (max-width: 980px) {
	.mobile_menu_bar:before { color: var(--mf-bleu-logo) !important; }
	.et_mobile_menu {
		background: rgba(255, 255, 255, .98) !important;
		border: 1px solid rgba(10, 31, 68, .08) !important;
		box-shadow: 0 20px 50px rgba(10, 31, 68, .25);
	}
	.et_mobile_menu li a { color: var(--mf-bleu-logo) !important; border-bottom-color: rgba(10, 31, 68, .07) !important; }
	.et_mobile_menu li li a { color: var(--mf-bleu-logo) !important; opacity: .85; }
	.et_mobile_menu li a:hover, .et_mobile_menu .menu-item-has-children > a { background: rgba(12, 113, 195, .06) !important; }
	#mobile_menu li.menu-plan-prevention > a { color: #fff !important; }
	/* raccourci « Clubs » (loupe) dans la barre, à gauche du bouton menu (ajouté par refonte.js) */
	/* raccourcis et bouton menu centrés verticalement dans la barre (Divi ajoute 18 px en haut et 24 px sous l'icône) */
	/* position + z-index : la zone du logo Divi (invisible, sur toute la largeur de la barre) ne doit pas capter le toucher des boutons */
	#main-header #et-top-navigation { display: flex !important; align-items: center; gap: 8px; padding-top: 0 !important; padding-left: 0 !important; height: 76px; position: relative; z-index: 2; }
	#main-header #et_mobile_nav_menu .mobile_menu_bar { padding-bottom: 0 !important; display: flex; align-items: center; height: 42px; }
	#main-header .mf-clubs-rapide {
		display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px 0 12px; border-radius: 999px;
		background: #eaf2ff; color: var(--mf-bleu-logo) !important; font-weight: 800; font-size: 14px; letter-spacing: .04em;
		text-transform: uppercase; text-decoration: none; line-height: 1; white-space: nowrap;
		box-shadow: inset 0 0 0 1px rgba(0, 26, 128, .12); transition: background .2s ease;
	}
	#main-header .mf-clubs-rapide:hover, #main-header .mf-clubs-rapide:focus-visible { background: #d9e8ff; }
	#main-header .mf-clubs-rapide svg { flex: 0 0 18px; }
	/* logos ronds cliquables (championnat LFM, Maccabiades) avant « Clubs » ; retirés s'il n'y a pas la place */
	#main-header .mf-rond-rapide {
		display: inline-flex; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; overflow: hidden;
		background: #fff; box-shadow: 0 0 0 1px rgba(0, 26, 128, .14), 0 4px 12px rgba(0, 26, 128, .12);
	}
	#main-header .mf-rond-rapide img { width: 100%; height: 100%; object-fit: contain; display: block; }
	#main-header .mf-rond-rapide.mf-sans-place { display: none; }
}
@media (min-width: 981px) { .mf-clubs-rapide, .mf-rond-rapide { display: none !important; } }
/* quand on fait défiler la page : barre blanche à 80 % d'opacité, contenu flouté derrière */
html.mf-defile #main-header > .container {
	background: rgba(255, 255, 255, .8);
	-webkit-backdrop-filter: blur(14px) saturate(160%);
	backdrop-filter: blur(14px) saturate(160%);
}
html.mf-defile #main-header .logo_container > a::before { background: transparent; } /* la bulle du logo suit la barre */
/* ---------- fin barre blanche ---------- */

/* ---------- Blocs liens : cartes bleu nuit opaques ---------- */
#et-main-area .et_pb_promo {
	background-color: var(--mf-nuit-2) !important;
	box-shadow: 0 20px 50px rgba(10, 31, 68, .25), inset 0 1px 0 rgba(255, 255, 255, .08);
}

/* ---------- Halo du curseur : discret sur fond clair ---------- */
.mf-curseur {
	background: radial-gradient(circle, rgba(56, 189, 248, .10), transparent 60%);
	mix-blend-mode: multiply;
}

/* ==========================================================================
   Championnat LFM : onglets U11 / U13 / U15 et tableaux (matchs, classements)
   ========================================================================== */
#et-main-area .mf-onglets-lfm { border: 0 !important; background: transparent !important; box-shadow: none !important; }
#et-main-area .mf-onglets-lfm .et_pb_tabs_controls {
	display: flex; gap: 8px; flex-wrap: wrap; background: transparent !important; border: 0 !important; margin-bottom: 18px;
}
#et-main-area .mf-onglets-lfm .et_pb_tabs_controls li {
	border: 0 !important; background: #fff !important; border-radius: 999px; box-shadow: 0 0 0 1px var(--mf-bord-clair), 0 6px 18px rgba(10, 31, 68, .08);
}
#et-main-area .mf-onglets-lfm .et_pb_tabs_controls li a {
	display: block; padding: 10px 26px !important; font-weight: 800; font-size: 15px; letter-spacing: .04em; color: #001a80 !important;
}
#et-main-area .mf-onglets-lfm .et_pb_tabs_controls li.et_pb_tab_active { background: #001a80 !important; }
#et-main-area .mf-onglets-lfm .et_pb_tabs_controls li.et_pb_tab_active a { color: #fff !important; }
#et-main-area .mf-onglets-lfm .et_pb_all_tabs {
	background: #fff; border-radius: 26px; padding: clamp(16px, 3vw, 34px); box-shadow: var(--mf-ombre-claire); border: 1px solid var(--mf-bord-clair);
}
#et-main-area .mf-onglets-lfm .et_pb_tab { padding: 0 !important; }
#et-main-area .mf-onglets-lfm h3 { color: #001a80 !important; font-size: 22px; margin: 26px 0 12px; padding: 0; }
#et-main-area .mf-onglets-lfm h3:first-child { margin-top: 0; }

#et-main-area .mf-tableau { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 14px; border-radius: 16px; border: 1px solid var(--mf-bord-clair); }
#et-main-area .mf-tableau table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: 15px; min-width: 560px; }
#et-main-area .mf-tableau th {
	background: #001a80; color: #fff !important; font-weight: 700; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase;
	padding: 12px 14px; text-align: left; border: 0; white-space: nowrap;
}
#et-main-area .mf-tableau td { padding: 11px 14px; border: 0; border-top: 1px solid #edf1f7; color: #2a3550 !important; vertical-align: middle; }
#et-main-area .mf-tableau tbody tr:hover td { background: #f6f9ff; }
#et-main-area .mf-tableau tr.mf-journee td {
	background: #eef3ff !important; color: #001a80 !important; font-weight: 800; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; padding: 9px 14px;
}
#et-main-area .mf-tableau tr.mf-journee span { font-weight: 600; text-transform: none; letter-spacing: 0; color: #5b6784; }
#et-main-area .mf-tableau .mf-heure, #et-main-area .mf-tableau .mf-date { white-space: nowrap; color: #5b6784 !important; font-variant-numeric: tabular-nums; }
#et-main-area .mf-tableau .mf-dom { text-align: right; font-weight: 600; }
#et-main-area .mf-tableau .mf-ext { font-weight: 600; }
#et-main-area .mf-tableau .mf-score { text-align: center; white-space: nowrap; width: 90px; }
#et-main-area .mf-tableau .mf-score strong { display: inline-block; background: #001a80; color: #fff !important; border-radius: 8px; padding: 3px 10px; font-variant-numeric: tabular-nums; }
#et-main-area .mf-tableau .mf-avenir { color: #a0aac0; }
#et-main-area .mf-tableau .mf-info { font-size: 13px; color: #c2410c !important; }
#et-main-area .mf-tableau .mf-phase { font-size: 13px; color: #5b6784 !important; white-space: nowrap; }
/* classement */
#et-main-area .mf-classement table { min-width: 520px; }
#et-main-area .mf-classement th:not(.mf-equipe), #et-main-area .mf-classement td:not(.mf-equipe) { text-align: center; }
#et-main-area .mf-classement .mf-equipe { font-weight: 700; color: #0a1f44 !important; }
#et-main-area .mf-classement .mf-pts { font-weight: 800; color: #001a80 !important; background: #f3f6ff; }
#et-main-area .mf-classement .mf-pos { font-weight: 800; color: #001a80 !important; width: 50px; }
#et-main-area .mf-rotation td { font-size: 14px; }
#et-main-area .mf-legende { font-size: 13.5px; color: #5b6784 !important; margin: 4px 0 22px; }
@media (max-width: 767px) {
	#et-main-area .mf-onglets-lfm .et_pb_tabs_controls li a { padding: 9px 20px !important; font-size: 14px; }
	#et-main-area .mf-tableau table { font-size: 14px; }
	#et-main-area .mf-tableau td, #et-main-area .mf-tableau th { padding: 9px 10px; }
}
#et-main-area .mf-matchs .mf-dom, #et-main-area .mf-matchs .mf-ext, #et-main-area .mf-classement .mf-equipe { white-space: nowrap; }
#et-main-area .mf-tableau th.mf-score { text-align: center; }
#et-main-area .mf-tableau th.mf-dom { text-align: right; }
#et-main-area .mf-rotation td:nth-child(2) { white-space: nowrap; }
@media (max-width: 767px) {
	#et-main-area .mf-onglets-lfm .et_pb_all_tabs { padding: 12px; border-radius: 20px; }
	#et-main-area .mf-onglets-lfm h3 { font-size: 19px; }
	/* tableaux (matchs, classements) : presque toute la largeur de l'écran au lieu des 80 % d'une rangée Divi */
	#et-main-area .et_pb_row:has(.mf-onglets-lfm), #et-main-area .et_pb_row:has(.mf-tableau) { width: calc(100% - 16px) !important; max-width: none !important; }
	#et-main-area .mf-onglets-lfm .et_pb_all_tabs { padding: 8px; border-radius: 18px; }
	#et-main-area .mf-tableau { border-radius: 12px; }
}
/* LFM : saisons en 2 phases (poules puis Ligue des Champions / Europa League) */
#et-main-area .mf-onglets-lfm h2.mf-phase-titre {
	font-size: 15px; letter-spacing: .12em; text-transform: uppercase; color: #fff !important; background: #001a80;
	display: inline-block; padding: 7px 16px; border-radius: 999px; margin: 34px 0 6px;
}
#et-main-area .mf-onglets-lfm h2.mf-phase-titre:first-child { margin-top: 0; }
#et-main-area .mf-tableau .mf-attribue { background: #94a3b8 !important; }
#et-main-area .mf-tableau tr.mf-ligne-exempt td { color: #8a94ab !important; }
#et-main-area .mf-tableau tr.mf-ligne-exempt .mf-info { color: #8a94ab !important; font-style: italic; }
#et-main-area .mf-classement .mf-qualif {
	display: inline-block; margin-left: 8px; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
	padding: 2px 8px; border-radius: 999px; vertical-align: middle;
}
#et-main-area .mf-classement tr.mf-q-ldc .mf-qualif { background: #001a80; color: #fff; }
#et-main-area .mf-classement tr.mf-q-el .mf-qualif { background: #fff1e6; color: #c2410c; }
#et-main-area .mf-classement tr.mf-q-ldc td.mf-pos { box-shadow: inset 4px 0 0 #001a80; }
#et-main-area .mf-classement tr.mf-q-el td.mf-pos { box-shadow: inset 4px 0 0 #f97316; }
#et-main-area .mf-a-venir { color: #5b6784 !important; font-style: italic; background: #f6f8fc; border-radius: 14px; padding: 14px 18px; }
#et-main-area .mf-classement th.mf-equipe { color: #fff !important; text-align: left; }
/* Galerie : vidéo en tête (et les éléments ajoutés ensuite juste en dessous) */
#et-main-area .mf-video-galerie, #et-main-area .mf-video-galerie-ajout { border-radius: 26px; overflow: hidden; box-shadow: 0 24px 60px rgba(10, 31, 68, .25); margin-bottom: 34px !important; background: #050b1a; }
#et-main-area .mf-video-galerie video, #et-main-area .mf-video-galerie-ajout video { display: block; width: 100%; }
/* LFM : logos des clubs dans les tableaux */
#et-main-area .mf-tableau .mf-eq { display: inline-flex; align-items: center; gap: 9px; vertical-align: middle; }
#et-main-area .mf-tableau .mf-logo-club { width: 28px; height: 28px; border-radius: 50%; flex: 0 0 28px; box-shadow: 0 2px 6px rgba(10, 31, 68, .25); margin: 0; }
#et-main-area .mf-classement .mf-logo-club { width: 30px; height: 30px; flex-basis: 30px; }
@media (max-width: 767px) { #et-main-area .mf-tableau .mf-logo-club { width: 24px; height: 24px; flex-basis: 24px; } }

/* ---------- Championnat LFM : logos des clubs en décor du bandeau de titre ---------- */
#et-main-area .et_pb_section:first-child .et_pb_row:has(.mf-lfm-deco),
#et-main-area .et_pb_section:first-child .et_pb_row:has(.mf-lfm-deco) > .et_pb_column { position: static !important; }
#et-main-area .et_pb_module.mf-lfm-deco { position: absolute !important; inset: 0; margin: 0 !important; z-index: 0; pointer-events: none; }
#et-main-area .et_pb_module.mf-lfm-deco .et_pb_code_inner { position: absolute; inset: 0; }
#et-main-area .et_pb_section:first-child .et_pb_row:has(.mf-lfm-deco) .et_pb_text { position: relative; z-index: 1; }
/* logos détourés, tous de la même taille, placés par refonte.js (placerLogosLfm) hors de la zone du titre */
#et-main-area .mf-deco-gauche, #et-main-area .mf-deco-droite { position: static; }
#et-main-area .mf-lfm-deco img {
	position: absolute; width: 80px; height: 80px; object-fit: contain; border-radius: 0; opacity: 0;
	/* halo de lumière derrière le logo */
	filter: drop-shadow(0 0 2px rgba(255, 255, 255, .7)) drop-shadow(0 0 14px rgba(255, 255, 255, .45)) drop-shadow(0 0 30px rgba(56, 189, 248, .55));
	animation: mf-flotte 7s ease-in-out infinite;
	transition: opacity .6s ease;
}
#et-main-area .mf-lfm-deco.mf-place img { opacity: .92; }
#et-main-area .mf-lfm-deco img:nth-child(2n) { animation-delay: -2.3s; }
#et-main-area .mf-lfm-deco img:nth-child(3n) { animation-delay: -4.6s; }
@keyframes mf-flotte { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-8px) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { #et-main-area .mf-lfm-deco img { animation: none; } }
/* logo officiel du championnat, centré au-dessus du titre (placé par refonte.js) */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child:has(.mf-lfm-embleme) { padding-top: 300px !important; }
#et-main-area .mf-lfm-deco img.mf-lfm-embleme {
	width: 120px; height: 120px; border-radius: 50%; opacity: 0; animation: none;
	filter: drop-shadow(0 0 3px rgba(255, 255, 255, .8)) drop-shadow(0 0 22px rgba(255, 255, 255, .45)) drop-shadow(0 0 44px rgba(56, 189, 248, .6));
}
#et-main-area .mf-lfm-deco.mf-place img.mf-lfm-embleme { opacity: 1; }
@media (max-width: 980px) {
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child:has(.mf-lfm-embleme) { padding-top: 250px !important; }
}
/* LFM : résultat des matchs — vainqueur en bleu clair, match nul : les deux équipes en orange */
#et-main-area .mf-tableau td.mf-gagnant .mf-eq,
#et-main-area .mf-tableau td.mf-nul .mf-eq { padding: 3px 12px 3px 4px; border-radius: 999px; }
#et-main-area .mf-tableau td.mf-dom.mf-gagnant .mf-eq,
#et-main-area .mf-tableau td.mf-dom.mf-nul .mf-eq { padding: 3px 4px 3px 12px; }
#et-main-area .mf-tableau td.mf-gagnant .mf-eq { background: #dbeefe; box-shadow: inset 0 0 0 1px #7cc4f5; }
#et-main-area .mf-tableau td.mf-gagnant .mf-eq span { color: #001a80 !important; font-weight: 800; }
#et-main-area .mf-tableau td.mf-nul .mf-eq { background: #fff1d6; box-shadow: inset 0 0 0 1px #f5b800; }
#et-main-area .mf-tableau td.mf-nul .mf-eq span { color: #8a5a00 !important; font-weight: 800; }
/* l'équipe battue passe au second plan */
#et-main-area .mf-tableau tr:has(td.mf-gagnant) td.mf-dom:not(.mf-gagnant) .mf-eq span,
#et-main-area .mf-tableau tr:has(td.mf-gagnant) td.mf-ext:not(.mf-gagnant) .mf-eq span { color: #8a94ab !important; font-weight: 500; }
/* LFM : colonnes de largeur fixe, identiques d'un tableau de matchs à l'autre (tout est aligné) */
#et-main-area .mf-matchs table { table-layout: fixed; }
#et-main-area .mf-matchs th:first-child { width: 92px; }
#et-main-area .mf-matchs th.mf-phase { width: 150px; }
#et-main-area .mf-matchs th.mf-dom, #et-main-area .mf-matchs th.mf-dom + th + th { width: 28%; }
#et-main-area .mf-matchs th.mf-score { width: 96px; }
#et-main-area .mf-matchs td { overflow: hidden; text-overflow: ellipsis; }
#et-main-area .mf-matchs .mf-info { font-size: 12px; line-height: 1.35; white-space: normal; text-overflow: clip; }
#et-main-area .mf-matchs td.mf-dom, #et-main-area .mf-matchs td.mf-ext { padding-left: 8px; padding-right: 8px; font-size: 14px; }
#et-main-area .mf-matchs .mf-eq { gap: 7px; max-width: 100%; }
/* nom trop long : c'est le nom qui est raccourci (« … »), jamais le logo (sinon le logo de l'équipe à domicile, placé après le nom, disparaît) */
#et-main-area .mf-matchs .mf-eq > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#et-main-area .mf-matchs .mf-eq > .mf-logo-club { flex-shrink: 0; }
/* mobile : colonnes à la largeur de leur contenu (noms complets, logos visibles) ; le tableau défile sur le côté si besoin */
@media (max-width: 767px) {
	#et-main-area .mf-matchs table { table-layout: auto; width: max-content; min-width: 100%; }
	#et-main-area .mf-matchs th { width: auto !important; }
	#et-main-area .mf-matchs td { overflow: visible; text-overflow: clip; }
	#et-main-area .mf-matchs .mf-eq > span { overflow: visible; }
	#et-main-area .mf-matchs .mf-info { min-width: 170px; }
}
#et-main-area .mf-matchs .mf-logo-club { width: 26px; height: 26px; flex-basis: 26px; }
@media (max-width: 1180px) {
	#et-main-area .mf-matchs td.mf-dom, #et-main-area .mf-matchs td.mf-ext { font-size: 13px; padding-left: 6px; padding-right: 6px; }
	#et-main-area .mf-matchs .mf-logo-club { width: 22px; height: 22px; flex-basis: 22px; }
	#et-main-area .mf-matchs .mf-eq { gap: 6px; }
	#et-main-area .mf-tableau td.mf-gagnant .mf-eq, #et-main-area .mf-tableau td.mf-nul .mf-eq { padding: 2px 9px 2px 3px; }
	#et-main-area .mf-tableau td.mf-dom.mf-gagnant .mf-eq, #et-main-area .mf-tableau td.mf-dom.mf-nul .mf-eq { padding: 2px 3px 2px 9px; }
	#et-main-area .mf-matchs th:first-child { width: 80px; }
}

/* ---------- Bandeaux de titre des pages intérieures : plus compacts (l'accueil n'est pas concerné) ---------- */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child { padding: 118px 0 34px !important; }
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child > .et_pb_row { padding-top: 6px !important; padding-bottom: 6px !important; }
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(32px, 4.4vw, 62px) !important; }
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child h3 { font-size: clamp(50px, 7.5vw, 116px) !important; }
/* championnat LFM : un peu de place en plus pour le logo de la ligue */
body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child:has(.mf-lfm-embleme) { padding-top: 198px !important; }
#et-main-area .mf-lfm-deco img.mf-lfm-embleme { width: 80px; height: 80px; }
@media (max-width: 980px) {
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child { padding: 104px 0 26px !important; }
	body:not(.home) #et-main-area .et_builder_inner_content > .et_pb_section.section_has_divider:first-child:has(.mf-lfm-embleme) { padding-top: 182px !important; padding-bottom: 70px !important; }
}

/* ==========================================================================
   Page « Hommages » : un rang Divi par hommage (module Image + module Texte)
   ========================================================================== */
#et-main-area .mf-hommages { padding-top: 40px !important; padding-bottom: 60px !important; }
#et-main-area .mf-hommages-intro { max-width: 760px !important; text-align: center; padding-bottom: 10px !important; }
#et-main-area .mf-hommages-intro p { font-size: 18px; font-style: italic; color: var(--mf-encre-texte) !important; }
#et-main-area .mf-hommage { display: flex; align-items: center; gap: clamp(28px, 5vw, 70px); max-width: 1080px !important; padding: 34px 0 !important; }
#et-main-area .mf-hommage > .et_pb_column { margin: 0 !important; float: none; }
#et-main-area .mf-hommage > .et_pb_column_2_5 { flex: 0 0 34%; width: 34% !important; }
#et-main-area .mf-hommage > .et_pb_column_3_5 { flex: 1 1 auto; width: auto !important; }
/* portrait 4:5, noir et blanc, coins doux */
#et-main-area .mf-hommage-portrait { margin: 0 !important; max-width: 380px; margin-left: auto !important; margin-right: auto !important; }
#et-main-area .mf-hommage-portrait .et_pb_image_wrap { display: block; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 60px rgba(10, 31, 68, .18), 0 0 0 1px rgba(10, 31, 68, .06); }
#et-main-area .mf-hommage-portrait img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1); }
/* texte : pas de carte, typographie soignée */
body:not(.home) #et-main-area .mf-hommage .et_pb_text.mf-hommage-texte.mf-hommage-texte { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; max-width: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
body:not(.home) #et-main-area .mf-hommage .et_pb_text.mf-hommage-texte.mf-hommage-texte::before,
body:not(.home) #et-main-area .mf-hommage .et_pb_text.mf-hommage-texte.mf-hommage-texte::after { display: none !important; }
#et-main-area .mf-hommage-nom { font-size: clamp(32px, 3.6vw, 46px) !important; line-height: 1.1; font-weight: 800; color: var(--mf-encre) !important; margin: 0; padding: 0; letter-spacing: -.01em; }
#et-main-area .mf-hommage-dates { margin: 10px 0 18px !important; padding: 0; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6b7690 !important; }
#et-main-area .mf-hommage-titre { margin: 0 0 22px !important; padding: 0; font-size: clamp(19px, 1.9vw, 23px); line-height: 1.45; font-style: italic; font-weight: 600; color: #001a80 !important; }
#et-main-area .mf-hommage-texte p:not([class]) { font-size: 17px; line-height: 1.8; margin: 0 0 16px; padding: 0; color: var(--mf-encre-texte) !important; text-align: left; }
#et-main-area .mf-hommage-envoi { margin: 22px 0 0 !important; padding: 0; font-size: 17px; line-height: 1.75; font-weight: 600; color: var(--mf-encre) !important; }
/* séparateur sobre entre deux hommages */
#et-main-area .mf-hommage-separateur { padding: 10px 0 !important; }
#et-main-area .mf-separateur { margin: 0 auto !important; max-width: 520px; height: 24px; position: relative; }
#et-main-area .mf-separateur .et_pb_divider_internal { display: none; }
#et-main-area .mf-separateur::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, #c3cde0 30%, #c3cde0 70%, transparent); }
#et-main-area .mf-separateur::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; background: #fff; border: 1.5px solid #001a80; transform: rotate(45deg); }
/* apparition très discrète */
@keyframes mf-hommage-apparition { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
#et-main-area .mf-hommage { animation: mf-hommage-apparition .9s ease-out both; }
#et-main-area .mf-hommage-inverse { animation-delay: .15s; }
@media (prefers-reduced-motion: reduce) { #et-main-area .mf-hommage { animation: none; } }
/* tablette et mobile : photo centrée au-dessus du texte */
@media (max-width: 980px) {
	#et-main-area .mf-hommage { flex-direction: column; gap: 26px; padding: 26px 0 !important; text-align: left; }
	#et-main-area .mf-hommage-inverse { flex-direction: column-reverse; }
	#et-main-area .mf-hommage > .et_pb_column_2_5, #et-main-area .mf-hommage > .et_pb_column_3_5 { width: 100% !important; flex-basis: auto; }
	#et-main-area .mf-hommage-portrait { max-width: 300px; }
	#et-main-area .mf-hommage-nom { text-align: center; }
	#et-main-area .mf-hommage-dates, #et-main-area .mf-hommage-titre { text-align: center; }
	#et-main-area .mf-hommage-texte p:not([class]), #et-main-area .mf-hommage-envoi { font-size: 16px; }
}
