/* Fichier généré automatiquement à partir de base.css, layout.css, pages.css, events.css : ne pas modifier directement. */

/* ===== base.css ===== */
/* =========================================================================
   CDJE74 – Base : jetons de couleur, typographie, contenu, boutons
   ========================================================================= */
:root {
	/* Charte */
	--cdje-nuit: #0d1b2a;
	--cdje-nuit-2: #16304d;
	--cdje-rouge: #b90b01;      /* rouge du logo */
	--cdje-rouge-fonce: #940900;
	--cdje-or: #c89b3c;
	--cdje-or-fonce: #8a6a1f;   /* or lisible sur fond clair */
	--cdje-fond: #f5f6f9;
	--cdje-carte: #ffffff;
	--cdje-texte: #14202e;
	--cdje-doux: #566275;
	--cdje-ligne: #e1e5ec;
	--cdje-rayon: 10px;
	--cdje-ombre: 0 10px 24px rgba(13, 27, 42, .10);
	--cdje-f-titre: var(--wp--preset--font-family--heading, "Jost", "Futura", system-ui, sans-serif);
	--cdje-f-texte: var(--wp--preset--font-family--body, "Inter", system-ui, -apple-system, "Segoe UI", sans-serif);

	/* Alias historiques, encore utilisés par events.css */
	--bg: var(--cdje-fond);
	--text: var(--cdje-texte);
	--muted: var(--cdje-doux);
	--line: var(--cdje-ligne);
	--card: var(--cdje-carte);
	--accent: var(--cdje-nuit);
	--accent-2: var(--cdje-or);
	--shadow: 0 8px 20px rgba(0, 0, 0, .08);
	--radius: var(--cdje-rayon);
}

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

body {
	background: var(--cdje-fond);
	color: var(--cdje-texte);
	font-family: var(--cdje-f-texte);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--cdje-f-titre);
	font-weight: 600;
	color: var(--cdje-nuit);
	line-height: 1.2;
	text-wrap: balance;
}

:focus-visible {
	outline: 2px solid var(--cdje-or);
	outline-offset: 2px;
}

/* Liens du contenu */
a { color: var(--cdje-nuit); }
a:hover { color: var(--cdje-rouge); }

.wp-block-post-content a:where(:not(.wp-block-button__link):not(.wp-element-button):not(.button)),
.tribe-events-content a:where(:not(.wp-block-button__link):not(.tribe-events-button)) {
	color: var(--cdje-rouge);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.wp-block-post-content a:where(:not(.wp-block-button__link):not(.wp-element-button):not(.button)):hover,
.tribe-events-content a:where(:not(.wp-block-button__link):not(.tribe-events-button)):hover {
	color: var(--cdje-rouge-fonce);
	text-decoration-thickness: 2px;
}

/* Icône enveloppe devant les liens mailto (SVG, sans Font Awesome) */
.wp-block-post-content a[href^="mailto:"]::before,
.tribe-events-content a[href^="mailto:"]::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: .4em;
	vertical-align: -.15em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm1 2.4V17h16V7.4l-8 5.3-8-5.3ZM5.2 7 12 11.5 18.8 7H5.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm1 2.4V17h16V7.4l-8 5.3-8-5.3ZM5.2 7 12 11.5 18.8 7H5.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Titres de pages et d'articles : casse normale, bleu nuit */
.wp-block-post-title,
.tribe-events-single-event-title {
	font-family: var(--cdje-f-titre);
	font-weight: 600;
	color: var(--cdje-nuit);
	font-size: clamp(1.9rem, 4.5vw, 2.6rem);
	letter-spacing: 0;
	text-transform: none;
}
.wp-block-post-title a { text-decoration: none; color: inherit; }
.wp-block-post-title a:hover { color: var(--cdje-rouge); }

/* Intertitres du contenu */
.wp-block-post-content h2:not(.wp-block-post-title),
.tribe-events-content h2,
.tribe-events-single-event-description h2 {
	font-size: clamp(1.35rem, 3.5vw, 1.75rem);
	margin-top: 1.8em;
	padding-left: .7em;
	border-left: 4px solid var(--cdje-or);
}
.wp-block-post-content h3:not(.wp-block-post-title),
.tribe-events-content h3,
.tribe-events-single-event-description h3,
.tribe-events-single-section-title {
	font-size: clamp(1.15rem, 3vw, 1.35rem);
	margin-top: 1.4em;
}

/* Listes du contenu : puce en chevron rouge */
.wp-block-post-content :where(ul.wp-block-list, ul:not([class])),
.tribe-events-content ul,
.tribe-events-single-event-description ul {
	list-style: none;
	padding-left: 0;
}
.wp-block-post-content :where(ul.wp-block-list, ul:not([class])) > li,
.tribe-events-content ul > li,
.tribe-events-single-event-description ul > li {
	position: relative;
	padding-left: 1.4em;
	margin-bottom: .45em;
}
.wp-block-post-content :where(ul.wp-block-list, ul:not([class])) > li::before,
.tribe-events-content ul > li::before,
.tribe-events-single-event-description ul > li::before {
	content: "\276F";
	position: absolute;
	left: 0;
	top: .1em;
	font-size: .8em;
	color: var(--cdje-rouge);
}

/* Tableaux */
.wp-block-post-content table { border-collapse: collapse; width: 100%; }
.wp-block-post-content td,
.wp-block-post-content th { border: 1px solid var(--cdje-ligne); padding: 10px 12px; }
.wp-block-post-content th { background: var(--cdje-fond); text-align: left; }
.wp-block-table { overflow-x: auto; }

/* Boutons */
.wp-block-button__link,
.wp-element-button,
input[type="submit"] {
	background: var(--cdje-rouge);
	color: #fff;
	border: 2px solid transparent;
	border-radius: 8px;
	padding: .7em 1.2em;
	font-family: var(--cdje-f-texte);
	font-weight: 600;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.wp-block-button__link:hover,
.wp-element-button:hover,
input[type="submit"]:hover {
	background: var(--cdje-rouge-fonce);
	color: #fff;
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--cdje-nuit);
	border-color: var(--cdje-nuit);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--cdje-nuit);
	color: #fff;
}

/* Images à la une et images du contenu */
.wp-block-post-featured-image img { border-radius: var(--cdje-rayon); }

/* Étiquettes (catégories, mots-clés) */
.wp-block-post-terms a,
.wp-block-tag-cloud a {
	display: inline-block;
	padding: 3px 11px;
	margin: 2px 4px 2px 0;
	border: 1px solid var(--cdje-ligne);
	border-radius: 999px;
	background: #fff;
	color: var(--cdje-nuit);
	font-size: .82em;
	text-decoration: none;
}
.wp-block-post-terms a:hover,
.wp-block-tag-cloud a:hover { background: var(--cdje-nuit); border-color: var(--cdje-nuit); color: #fff; }

.wp-block-post-date,
.wp-block-post-author { color: var(--cdje-doux); font-size: .92em; }

/* Recherche */
.wp-block-search__button { background: var(--cdje-nuit); color: #fff; border-radius: 8px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ===== layout.css ===== */
/* =========================================================================
   CDJE74 – Mise en page : en-tête, accueil, cartes, pied de page
   ========================================================================= */

/* Les bandes (en-tête, bandeau, pied) vont d'un bord à l'autre */
.wp-site-blocks { padding-left: 0; padding-right: 0; }
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group:not(.alignfull) { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }

.cdje-largeur {
	max-width: var(--wp--style--global--wide-size, 1280px);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: max(16px, env(safe-area-inset-left, 0px));
	padding-right: max(16px, env(safe-area-inset-right, 0px));
}

/* Les groupes du thème gèrent eux-mêmes leurs marges : on neutralise les 40 px ajoutés par défaut */
.cdje-entete, .cdje-entete__barre, .cdje-marque, .cdje-hero, .cdje-tete, .cdje-tuiles,
.cdje-bande, .cdje-pied, .cdje-carte__corps, .cdje-hero__contenu, .cdje-section {
	padding-top: 0;
	padding-bottom: 0;
}
.cdje-entete__barre > *, .cdje-marque > * { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ---------- En-tête ---------- */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	margin: 0;
	padding: 0;
	border: 0;
}
.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }

.cdje-entete {
	background: var(--cdje-nuit);
	color: #fff;
	margin: 0 !important;
}
.cdje-entete__barre {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 72px;
	flex-wrap: nowrap;
}
.cdje-marque {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	margin: 0 !important;
}
.cdje-marque .wp-block-site-logo img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .9);
}
.cdje-marque .wp-block-site-title,
.cdje-marque p {
	margin: 0;
	font-family: var(--cdje-f-titre);
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: .5px;
	white-space: nowrap;
}
.cdje-marque a { color: #fff; text-decoration: none; }

/* Menu principal (bloc Navigation de WordPress) */
.cdje-menu { margin-left: auto; }
.cdje-menu .wp-block-navigation__container { gap: 0; flex-wrap: nowrap; }
.cdje-menu .wp-block-navigation-item__content {
	color: #dfe6ef;
	padding: 8px 10px;
	border-radius: 6px;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	text-decoration: none;
}
.cdje-menu .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.cdje-menu .wp-block-navigation-item__content:focus-visible {
	background: rgba(255, 255, 255, .1);
	color: #fff;
}
/* Rubrique de la page affichée : trait doré, sans fond (évite deux entrées « sélectionnées ») */
.cdje-menu .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.cdje-menu .wp-block-navigation__container > .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
.cdje-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] {
	color: #fff;
	box-shadow: inset 0 -2px 0 var(--cdje-or);
	border-radius: 6px 6px 0 0;
}
.cdje-menu .wp-block-navigation__submenu-icon { color: #dfe6ef; margin-left: -4px; }

/* Sous-menus déroulants */
.cdje-menu .wp-block-navigation__submenu-container {
	background: #fff !important;
	border: 0 !important;
	border-radius: 10px;
	padding: 8px !important;
	min-width: 260px !important;
	box-shadow: 0 14px 30px rgba(13, 27, 42, .22);
	top: 100% !important;
	margin-top: 0 !important;
}
/* Pont invisible au-dessus du sous-menu : la souris ne « tombe » jamais dans un vide */
.cdje-menu .wp-block-navigation-item.has-child { position: relative; }
.cdje-menu .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -14px;
	height: 14px;
}
/* Le sous-menu reste ouvert un court instant après la sortie de la souris.
   WordPress replie un sous-menu fermé à une hauteur nulle : pendant le délai de fermeture, il
   ne restait que la marge intérieure blanche (une « trace » de 16 px). Le sous-menu garde donc
   sa taille ; seuls l'opacité et la visibilité changent. */
.cdje-menu .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child > .wp-block-navigation__submenu-container {
	width: auto !important;
	height: auto !important;
	overflow: visible !important;
}
.cdje-menu .wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:not(:hover):not(:focus-within) > .wp-block-navigation__submenu-container { opacity: 0 !important; visibility: hidden !important; }
.cdje-menu .wp-block-navigation__submenu-container { transition: opacity .12s ease .15s, visibility 0s linear .27s !important; }
.cdje-menu .has-child:hover > .wp-block-navigation__submenu-container,
.cdje-menu .has-child:focus-within > .wp-block-navigation__submenu-container { transition-delay: 0s !important; }
/* Passage d'une entrée du menu à sa voisine : l'ancien sous-menu se ferme aussitôt (le délai ne sert
   que lorsque la souris quitte le menu), et le sous-menu ouvert passe toujours au premier plan. */
.cdje-menu .wp-block-navigation__container:hover > .has-child:not(:hover) > .wp-block-navigation__submenu-container { transition: none !important; }
.cdje-menu .has-child:hover > .wp-block-navigation__submenu-container { z-index: 30 !important; }
.cdje-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--cdje-texte) !important;
	padding: 8px 12px;
	font-size: 14.5px;
	white-space: normal;
	line-height: 1.35;
}
.cdje-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--cdje-fond);
	color: var(--cdje-rouge) !important;
}

/* Bouton « Menu » et menu plein écran sur mobile */
.cdje-menu .wp-block-navigation__responsive-container-open {
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 8px;
	padding: 8px 12px;
	min-height: 44px;
	gap: 8px;
}
.cdje-menu .wp-block-navigation__responsive-container-open::after {
	content: "Menu";
	font: 600 14px var(--cdje-f-texte);
}
.cdje-menu .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--cdje-nuit) !important;
	color: #fff !important;
	padding: 24px max(16px, env(safe-area-inset-left, 0px)) 32px;
}
.cdje-menu .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; }
.cdje-menu .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; width: 100%; }
.cdje-menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding: 6px 0;
	align-items: stretch !important;
}
.cdje-menu .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--cdje-f-titre);
	font-size: 1.2rem;
	color: #fff;
	padding: 8px 0;
}
.cdje-menu .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	box-shadow: none;
	padding: 0 0 8px 12px !important;
	min-width: 0 !important;
}
.cdje-menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #cdd6e2 !important; padding: 6px 0; }
.cdje-menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: none; color: #fff !important; }
.cdje-menu .wp-block-navigation__responsive-container-close { color: #fff; }

/* Recherche en icône */
.cdje-recherche { margin: 0 !important; flex-shrink: 0; }
.cdje-recherche .wp-block-search__button {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 8px;
	width: 42px;
	height: 42px;
	padding: 0;
	display: grid;
	place-items: center;
	margin: 0;
}
.cdje-recherche .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }
.cdje-recherche .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.cdje-recherche .wp-block-search__input { border-radius: 8px; border: 0; padding: 8px 12px; min-width: 200px; }

@media (max-width: 600px) {
	.cdje-entete__barre { min-height: 62px; gap: 10px; }
	.cdje-marque .wp-block-site-logo img { width: 42px; height: 42px; }
	.cdje-marque p { font-size: 1.1rem; }
	.cdje-recherche { display: none; }
}

/* Le contenu des pages commence sous l'en-tête */
.wp-site-blocks > main { margin-top: 0; }

/* ---------- Bandeau d'accueil ---------- */
.cdje-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(100deg, var(--cdje-nuit) 35%, rgba(13, 27, 42, .78)), var(--cdje-nuit-2);
	color: #fff;
	margin: 0 !important;
}
.cdje-hero::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -40px;
	width: 520px;
	height: 520px;
	opacity: .12;
	background: repeating-conic-gradient(#fff 0 25%, transparent 0 50%) 0 0 / 65px 65px;
	transform: rotate(-12deg);
	pointer-events: none;
	-webkit-mask-image: radial-gradient(closest-side, #000 35%, transparent 100%);
	mask-image: radial-gradient(closest-side, #000 35%, transparent 100%);
}
.cdje-hero__contenu {
	position: relative;
	z-index: 1;
	display: grid !important;
	grid-template-columns: 1fr auto;
	column-gap: 40px;
	row-gap: 16px;
	align-items: center;
	padding-top: clamp(36px, 6vw, 64px) !important;
	padding-bottom: clamp(32px, 5vw, 56px) !important;
}
.cdje-hero__contenu > * { grid-column: 1; margin: 0 !important; max-width: 60ch; }
.cdje-hero .cdje-surtitre {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--cdje-or);
}
.cdje-hero h1 {
	color: #fff;
	font-size: clamp(2rem, 5vw, 3.2rem);
	max-width: 16ch;
}
.cdje-hero p:not(.cdje-surtitre) { color: #d3dbe6; font-size: 1.1rem; }
.cdje-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .85); }
.cdje-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--cdje-nuit); }
.cdje-hero .cdje-hero__logo { grid-column: 2; grid-row: 1 / span 4; max-width: none; }
.cdje-hero .cdje-hero__logo img {
	width: 190px;
	height: 190px;
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(255, 255, 255, .12), 0 18px 40px rgba(0, 0, 0, .35);
}
@media (max-width: 760px) {
	.cdje-hero__contenu { grid-template-columns: 1fr; }
	.cdje-hero .cdje-hero__logo { display: none; }
}

/* ---------- Chiffres clés ---------- */
.cdje-chiffres {
	background: var(--cdje-carte);
	border-bottom: 1px solid var(--cdje-ligne);
}
.cdje-chiffres__grille {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	padding-top: 22px;
	padding-bottom: 22px;
}
.cdje-chiffre { display: block; text-decoration: none; color: inherit; }
.cdje-chiffre b {
	display: block;
	font: 700 1.9rem/1.2 var(--cdje-f-titre);
	color: var(--cdje-nuit);
	font-variant-numeric: tabular-nums;
}
.cdje-chiffre span { color: var(--cdje-doux); font-size: 14px; line-height: 1.35; display: block; }
a.cdje-chiffre:hover b { color: var(--cdje-rouge); }
@media (max-width: 760px) { .cdje-chiffres__grille { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Sections de l'accueil ---------- */
.cdje-section { padding-top: clamp(32px, 5vw, 48px) !important; padding-bottom: clamp(32px, 5vw, 48px) !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.cdje-bande { background: var(--cdje-carte); border-top: 1px solid var(--cdje-ligne); border-bottom: 1px solid var(--cdje-ligne); }
.cdje-tete {
	display: flex !important;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-bottom: 22px !important;
}
.cdje-tete h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 1.75rem); }
.cdje-tete p { margin: 0; }
.cdje-tete p a { color: var(--cdje-rouge); font-weight: 600; text-decoration: none; }
.cdje-tete p a:hover { text-decoration: underline; }

/* Accès rapides */
.cdje-tuiles { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cdje-tuile {
	position: relative;
	display: grid !important;
	grid-template-columns: 52px 1fr;
	column-gap: 14px;
	align-items: center;
	padding: 18px;
	margin: 0 !important;
	background: var(--cdje-carte);
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	transition: border-color .15s, transform .15s;
}
.cdje-tuile:hover { border-color: var(--cdje-nuit); transform: translateY(-2px); }
.cdje-tuile > * { margin: 0 !important; }
.cdje-tuile .cdje-tuile__ic {
	grid-row: 1 / span 2;
	width: 52px;
	height: 52px;
	border-radius: 10px;
	background: var(--cdje-nuit);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 28px;
	line-height: 1;
}
.cdje-tuile strong { font: 600 1.05rem var(--cdje-f-titre); color: var(--cdje-nuit); }
.cdje-tuile a { color: inherit; text-decoration: none; }
.cdje-tuile a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.cdje-tuile .cdje-tuile__txt { color: var(--cdje-doux); font-size: 13.5px; line-height: 1.4; }
@media (max-width: 960px) { .cdje-tuiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cdje-tuiles { grid-template-columns: 1fr; } }

/* Prochains événements */
.cdje-evts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; list-style: none; margin: 0; padding: 0; }
.cdje-evt {
	position: relative;
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 16px;
	align-items: center;
	padding: 14px 16px;
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	background: var(--cdje-fond);
	transition: border-color .15s;
}
.cdje-evt:hover { border-color: var(--cdje-nuit); }
.cdje-evt__date { text-align: center; border: 1px solid var(--cdje-nuit); border-radius: 8px; overflow: hidden; background: #fff; }
.cdje-evt__date span { display: block; background: var(--cdje-nuit); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; padding: 3px 0; }
.cdje-evt__date b { display: block; font: 700 1.5rem/1.4 var(--cdje-f-titre); color: var(--cdje-nuit); }
.cdje-evt h3 { font-size: 1.05rem; margin: 0; }
.cdje-evt h3 a { color: var(--cdje-nuit); text-decoration: none; }
.cdje-evt h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.cdje-evt p { margin: 2px 0 0; color: var(--cdje-doux); font-size: 14px; }
.cdje-cad { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; white-space: nowrap; background: #e6ecf5; color: var(--cdje-nuit); }
.cdje-cad--rapide { background: #fbe7e5; color: var(--cdje-rouge-fonce); }
.cdje-cad--blitz { background: #f6eedb; color: #6d520f; }
.cdje-cad--jeunes { background: #e5f1ea; color: #1f5a37; }
.cdje-evts-vide { color: var(--cdje-doux); }
/* Logo officiel FFE : tel quel, sur fond blanc, avec marge (charte FFE) */
.cdje-evt__logo { display: grid; place-items: center; background: #fff; border-radius: 6px; padding: 6px 8px; width: 104px; height: 64px; }
.cdje-evt__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
@media (max-width: 960px) { .cdje-evts { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
	.cdje-evt { grid-template-columns: 56px 1fr; }
	.cdje-evt .cdje-cad,
	.cdje-evt .cdje-evt__logo { grid-column: 2; justify-self: start; }
}

/* Actualités : la plus récente en large (image à gauche, texte à droite), puis 4 cartes */
.cdje-actus .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cdje-actus .wp-block-post {
	display: flex;
	flex-direction: column;
	background: var(--cdje-carte);
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	overflow: hidden;
	margin: 0;
	padding: 0;
	box-shadow: none;
	transition: box-shadow .15s;
	position: relative;
}
.cdje-actus .wp-block-post:hover { box-shadow: var(--cdje-ombre); }
.cdje-actus .wp-block-post:first-child {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: center;
}
.cdje-actus .wp-block-post-featured-image,
.cdje-cartes .wp-block-post-featured-image,
.wp-block-post-content .wp-block-query .wp-block-post-featured-image { margin: 0; aspect-ratio: 16 / 9; background: var(--cdje-fond); }
/* Les images d'articles sont souvent des affiches ou des logos : on les montre en entier */
.cdje-actus .wp-block-post-featured-image img,
.cdje-cartes .wp-block-post-featured-image img,
.wp-block-post-content .wp-block-query .wp-block-post-featured-image img { border-radius: 0; width: 100%; height: 100% !important; object-fit: contain !important; }
.cdje-actus .wp-block-post:first-child .wp-block-post-featured-image,
.cdje-actus .wp-block-post:first-child .cdje-visuel { aspect-ratio: 16 / 10; height: 100%; min-height: 0; }
.cdje-actus .cdje-carte__corps { padding: 16px 18px 20px !important; display: grid; gap: 6px; }
.cdje-actus .wp-block-post:first-child .cdje-carte__corps { padding: clamp(20px, 3vw, 40px) !important; gap: 10px; }
.cdje-actus .cdje-carte__corps > * { margin: 0 !important; }
.cdje-actus .wp-block-post-terms a {
	border: 0; padding: 0; margin: 0; background: none;
	font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase;
	color: var(--cdje-or-fonce); position: relative; z-index: 2;
}
.cdje-actus .wp-block-post-terms a:hover { background: none; color: var(--cdje-rouge); }
.cdje-actus .wp-block-post-title { font-size: 1.08rem; line-height: 1.3; text-align: left; }
.cdje-actus .wp-block-post:first-child .wp-block-post-title { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.cdje-actus .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.cdje-actus .wp-block-post-excerpt__excerpt {
	margin: 0; color: #3d4757; font-size: 15px;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.cdje-actus .wp-block-post:first-child .wp-block-post-excerpt__excerpt { -webkit-line-clamp: 5; font-size: 16px; }
.cdje-actus .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 1100px) { .cdje-actus .wp-block-post-template { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) {
	.cdje-actus .wp-block-post-template { grid-template-columns: 1fr; }
	.cdje-actus .wp-block-post:first-child { grid-template-columns: 1fr; }
}

/* Visuel de remplacement quand un article n'a pas d'image (ou seulement le logo) */
.cdje-visuel {
	position: relative;
	aspect-ratio: 16 / 9;
	display: grid;
	place-items: center;
	background: var(--cdje-nuit);
	color: rgba(255, 255, 255, .92);
	font-size: 64px;
	line-height: 1;
	margin: 0;
	overflow: hidden;
}
/* La pièce reste blanche et sans soulignement, quel que soit le style des liens de la page. */
a.cdje-visuel, a.cdje-visuel:hover, a.cdje-visuel:visited { color: rgba(255, 255, 255, .92) !important; text-decoration: none !important; border: 0 !important; }
.cdje-visuel::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: .12;
	background: repeating-conic-gradient(#fff 0 25%, transparent 0 50%) 0 0 / 32px 32px;
}
.cdje-visuel--jeunes { background: #7a5a12; }
.cdje-visuel--formation { background: #24543f; }
.cdje-visuel--comite { background: #3a4a5e; }
.cdje-visuel--competition { background: var(--cdje-rouge); }
.cdje-visuel--ffe { background: #fff; border-bottom: 1px solid var(--cdje-ligne); padding: 8%; }
.cdje-visuel--ffe::before { display: none; }
.cdje-visuel--ffe img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; position: relative; }
.cdje-actus .wp-block-post:first-child .cdje-visuel { font-size: 110px; }

/* Partenaires */
.cdje-partenaires .wp-block-columns { align-items: center !important; gap: 24px 48px; flex-wrap: wrap !important; justify-content: center; }
.cdje-partenaires .wp-block-column { flex: 0 1 140px !important; display: grid; place-items: center; }
.cdje-partenaires figure { margin: 0; }
.cdje-partenaires img {
	max-height: 80px;
	width: auto !important;
	object-fit: contain !important;
	filter: grayscale(1);
	opacity: .75;
	transition: filter .2s, opacity .2s;
}
.cdje-partenaires a:hover img { filter: none; opacity: 1; }

/* ---------- Pied de page ---------- */
footer.wp-block-template-part { margin-top: 0; }
.cdje-pied { background: var(--cdje-nuit); color: #cdd6e2; font-size: 14.5px; margin: 0 !important; }
.cdje-pied__colonnes { padding-top: 40px !important; padding-bottom: 32px !important; gap: 32px !important; margin: 0 auto !important; }
.cdje-pied h2 { color: #fff; font-size: 1rem; margin: 0 0 10px; font-family: var(--cdje-f-titre); }
.cdje-pied p { margin: 0 0 6px; }
.cdje-pied a { color: #cdd6e2; text-decoration: none; }
.cdje-pied a:hover { color: #fff; text-decoration: underline; }
.cdje-pied ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cdje-pied .wp-block-site-logo img { width: 64px; height: 64px; border-radius: 50%; }
.cdje-pied__bas { border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: #93a1b4; padding-top: 14px !important; padding-bottom: 14px !important; margin: 0 !important; }
.cdje-pied__bas p { margin: 0; }

/* ---------- Pages et articles ---------- */
.single-post main,
.page main { padding-top: 8px; }

/* Tablette : le menu complet ne tient pas sur une ligne, on passe au bouton « Menu » jusqu'à 1100 px */
@media (min-width: 600px) and (max-width: 1100px) {
	.cdje-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.cdje-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.cdje-menu .wp-block-navigation__responsive-container.is-menu-open { display: flex; position: fixed; inset: 0; z-index: 100000; overflow: auto; }
	.cdje-menu .is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.cdje-menu .is-menu-open .wp-block-navigation__container { flex-direction: column; }
	.cdje-menu .is-menu-open .wp-block-navigation__submenu-container { position: static !important; opacity: 1 !important; visibility: visible !important; width: auto !important; height: auto !important; }
	.cdje-menu .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
}

/* =========================================================================
   Pages intérieures : même structure partout
   bandeau de titre blanc  →  feuille de contenu  →  pied de page
   ========================================================================= */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

.cdje-page { background: var(--cdje-fond); }
.cdje-bandeau-page {
	background: var(--cdje-carte);
	border-bottom: 1px solid var(--cdje-ligne);
	padding-top: clamp(28px, 4vw, 44px) !important;
	padding-bottom: clamp(22px, 3vw, 32px) !important;
	margin: 0 !important;
}
.cdje-bandeau-page .cdje-largeur > * { margin-top: 0; margin-bottom: 8px; max-width: 900px; }
.cdje-bandeau-page .cdje-largeur > :last-child { margin-bottom: 0; }
.cdje-bandeau-page h1,
.cdje-bandeau-page .wp-block-post-title,
.cdje-bandeau-page .wp-block-query-title {
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	margin: 0 0 6px;
	text-align: left;
}
.cdje-bandeau-page .wp-block-term-description { color: var(--cdje-doux); }
.cdje-surtitre-sombre a {
	border: 0 !important; background: none !important; padding: 0 !important;
	font-size: 12px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase;
	color: var(--cdje-or-fonce) !important;
}
.cdje-meta { gap: 6px 16px; color: var(--cdje-doux); font-size: 14px; }
.cdje-meta > * { margin: 0 !important; }
.cdje-meta .wp-block-post-author-name::before { content: "par "; }

/* Feuille blanche qui porte le contenu */
.cdje-feuille {
	background: var(--cdje-carte);
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	margin-top: clamp(20px, 3vw, 32px) !important;
	margin-bottom: clamp(32px, 5vw, 56px) !important;
	padding: clamp(20px, 4vw, 44px) clamp(16px, 4vw, 44px) !important;
	max-width: calc(var(--wp--style--global--wide-size, 1280px) - 32px);
}
.cdje-feuille .wp-block-post-content > :first-child { margin-top: 0; }
.cdje-une { margin: 0 auto 28px !important; max-width: 860px; }
.cdje-une img { max-height: 460px; width: 100%; object-fit: contain; background: var(--cdje-fond); }
.cdje-pied-article { margin-top: 40px !important; padding-top: 20px !important; border-top: 1px solid var(--cdje-ligne); }
.cdje-navigation-articles { margin-top: 16px; gap: 12px; }
.cdje-navigation-articles a { font-weight: 600; text-decoration: none; color: var(--cdje-nuit); }
.cdje-navigation-articles a:hover { color: var(--cdje-rouge); }

/* Listes d'articles : même carte partout (archives, recherche, pages qui listent des articles) */
.cdje-cartes,
.wp-block-post-content .wp-block-query .wp-block-post-template:not(.is-flex-container) {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	list-style: none;
	margin: 0 !important;
	padding: 0;
}
.cdje-cartes > .wp-block-post,
.wp-block-post-content .wp-block-query .wp-block-post {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: var(--cdje-carte);
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	overflow: hidden;
	margin: 0 !important;
	padding: 0 0 18px !important;
	transition: box-shadow .15s;
}
.cdje-cartes > .wp-block-post:hover,
.wp-block-post-content .wp-block-query .wp-block-post:hover { box-shadow: var(--cdje-ombre); }
.cdje-cartes .wp-block-post-featured-image,
.wp-block-post-content .wp-block-query .wp-block-post-featured-image { order: -1; margin: 0 0 6px !important; aspect-ratio: 16 / 9; }
.cdje-cartes .wp-block-post-featured-image img,
.wp-block-post-content .wp-block-query .wp-block-post-featured-image img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0; }
.cdje-cartes .cdje-carte__corps { padding: 0 18px !important; display: grid; gap: 6px; }
.cdje-cartes .cdje-carte__corps > * { margin: 0 !important; }
.wp-block-post-content .wp-block-query .wp-block-post > :not(.wp-block-post-featured-image) { margin-left: 18px !important; margin-right: 18px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.cdje-cartes .wp-block-post-title,
.wp-block-post-content .wp-block-query .wp-block-post-title { font-size: 1.12rem !important; line-height: 1.3; margin: 0; text-align: left; }
.cdje-cartes .wp-block-post-title a::after,
.wp-block-post-content .wp-block-query .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.cdje-cartes .wp-block-post-terms a {
	border: 0; padding: 0; margin: 0; background: none; position: relative; z-index: 2;
	font-size: 11.5px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: var(--cdje-or-fonce);
}
.cdje-cartes .wp-block-post-date,
.wp-block-post-content .wp-block-query .wp-block-post-date,
.wp-block-post-content .wp-block-query .wp-block-post-author-name { font-size: 13px; color: var(--cdje-doux); font-style: normal; }
.wp-block-post-content .wp-block-query .wp-block-group.is-nowrap { gap: 10px; order: 0; }
.cdje-cartes .wp-block-post-excerpt__excerpt,
.wp-block-post-content .wp-block-query .wp-block-post-excerpt__excerpt {
	margin: 0; font-size: 15px; color: #3d4757;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
/* Toute la carte est cliquable : le lien « Lire la suite » devient superflu */
.cdje-cartes .wp-block-post-excerpt__more-text,
.wp-block-post-content .wp-block-query .wp-block-post-excerpt__more-text { display: none; }
.wp-block-post-content .wp-block-query { margin-top: 1.5em; margin-bottom: 1.5em; }

.cdje-pagination { margin-top: 32px !important; gap: 8px; }
.cdje-pagination a, .cdje-pagination .page-numbers { padding: 6px 12px; border-radius: 6px; text-decoration: none; color: var(--cdje-nuit); }
.cdje-pagination .page-numbers.current { background: var(--cdje-nuit); color: #fff; }
.cdje-recherche-page { max-width: 560px; }

/* Agenda : même largeur que le reste du site */
.cdje-agenda-page .tribe-common-l-container,
.cdje-agenda-page .tribe-events-l-container { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }

/* Dans une page, les colonnes et les listes d'articles prennent toute la largeur de la feuille */
.cdje-feuille .wp-block-post-content > :is(.wp-block-columns, .wp-block-query, .wp-block-table, .wp-block-gallery),
.cdje-feuille .wp-block-post-content > .wp-block-group:has(.wp-block-columns, .wp-block-query) { max-width: 100% !important; }
.cdje-feuille .wp-block-post-content .wp-block-group:has(> .wp-block-columns, > .wp-block-query) { max-width: 100% !important; }
.wp-block-post-content .wp-block-query .wp-block-post > .wp-block-group { padding: 0 !important; }

/* Menu mobile ouvert : tout aligné à gauche, lisible */
.cdje-menu .is-menu-open .wp-block-navigation__responsive-container-content,
.cdje-menu .is-menu-open .wp-block-navigation__container,
.cdje-menu .is-menu-open .wp-block-navigation-item,
.cdje-menu .is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.cdje-menu .is-menu-open .wp-block-navigation-item__content { background: none !important; }
.cdje-menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; }

/* Images des cartes : le cadre 16:9 ne peut jamais être agrandi par une affiche très haute */
.cdje-actus .wp-block-post-featured-image,
.cdje-cartes .wp-block-post-featured-image,
.wp-block-post-content .wp-block-query .wp-block-post-featured-image {
	position: relative;
	overflow: hidden;
	min-height: 0 !important;
	height: auto !important;
	flex: none !important;
}
.cdje-actus .wp-block-post-featured-image > a,
.cdje-cartes .wp-block-post-featured-image > a,
.wp-block-post-content .wp-block-query .wp-block-post-featured-image > a { position: absolute; inset: 0; display: block; }
.cdje-actus .wp-block-post-featured-image img,
.cdje-cartes .wp-block-post-featured-image img,
.wp-block-post-content .wp-block-query .wp-block-post-featured-image img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}
.cdje-actus .wp-block-post:first-child .wp-block-post-featured-image { aspect-ratio: 16 / 10 !important; height: auto !important; }
/* Texte de remplacement d'une image absente : discret, jamais en lien souligné géant */
.cdje-actus .wp-block-post-featured-image img,
.cdje-cartes .wp-block-post-featured-image img { font-size: 12px; color: var(--cdje-doux); }

/* Partenaires : chaque logo dans un cadre de taille fixe (aucun ne peut disparaître) */
.cdje-partenaires .wp-block-column { flex: 0 1 170px !important; min-width: 0; }
.cdje-partenaires figure { width: 170px !important; height: 80px; margin: 0 !important; display: grid !important; place-items: center; }
.cdje-partenaires figure a { display: grid; place-items: center; width: 100%; height: 100%; }
.cdje-partenaires figure img { width: 100% !important; height: 100% !important; max-height: 80px; object-fit: contain !important; }

/* Partenaires en couleurs d'origine (sponsors) ; léger effet au survol */
.cdje-partenaires img { filter: none !important; opacity: 1 !important; transition: transform .15s; }
.cdje-partenaires a:hover img { transform: scale(1.04); }
.cdje-partenaires .cdje-logo-infomaniak img { padding: 8px 4px; }

/* Partenaires : grille régulière, tous les logos sur la même ligne de base */
.cdje-partenaires .wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 24px 32px !important;
	align-items: center !important;
	justify-items: center;
	margin: 0 !important;
}
.cdje-partenaires .wp-block-column { width: 100% !important; flex: none !important; margin: 0 !important; align-self: center !important; display: grid; place-items: center; }
.cdje-partenaires figure { width: 100% !important; max-width: 160px; height: 72px; }
.cdje-partenaires figure img { max-height: 72px; }
@media (max-width: 1100px) { .cdje-partenaires .wp-block-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cdje-partenaires .wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Bandeau partenaires reconstruit : une grille de 7 logos de même cadre */
.cdje-partenaires__titre { margin: 0 0 18px !important; text-align: center; font-size: 12px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; color: var(--cdje-doux); }
.cdje-logos { display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 20px 28px; align-items: center; justify-items: center; }
.cdje-logos > figure { margin: 0 !important; width: 100%; max-width: 150px; height: 70px; display: grid; place-items: center; }
.cdje-logos > figure a { display: grid; place-items: center; width: 100%; height: 100%; }
.cdje-logos > figure img { width: 100% !important; height: 100% !important; object-fit: contain; transition: transform .15s; }
.cdje-logos > figure a:hover img { transform: scale(1.05); }
@media (max-width: 1100px) { .cdje-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cdje-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Lien « Comment débuter » sous les boutons du bandeau d'accueil */
.cdje-hero .cdje-hero__debuter { margin-top: 18px !important; font-size: 15px; color: rgba(255,255,255,.8); }
.cdje-hero .cdje-hero__debuter a { color: var(--cdje-or) !important; font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; }
.cdje-hero .cdje-hero__debuter a:hover { color: #fff !important; }

/* Fil d'Ariane (au-dessus du titre des pages) */
.cdje-ariane { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0 0 10px !important; font-size: 13.5px; color: var(--cdje-doux); }
.cdje-ariane a { color: var(--cdje-doux) !important; text-decoration: none !important; font-weight: 500; }
.cdje-ariane a:hover { color: var(--cdje-rouge) !important; text-decoration: underline !important; }
.cdje-ariane span[aria-current] { color: var(--cdje-nuit, #0d1b2a); font-weight: 600; max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cdje-ariane__sep { opacity: .5; }

/* Bouton « retour en haut » */
.cdje-haut { position: fixed; right: 20px; bottom: 20px; z-index: 90; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--cdje-nuit, #0d1b2a); color: #fff !important; box-shadow: 0 6px 18px rgba(13,27,42,.28); text-decoration: none !important; transition: transform .15s, background .15s; }
.cdje-haut:hover { background: var(--cdje-rouge); transform: translateY(-2px); }
.cdje-haut[hidden] { display: none; }
@media print { .cdje-haut, .cdje-ariane { display: none !important; } }

/* ===== pages.css ===== */
/* =========================================================================
   CDJE74 – Pages éditoriales (compétitions, secteurs, comité)
   Mise en page commune, sans retoucher le contenu :
     bandeau  : titre + introduction + logo officiel FFE (si compétition fédérale)
     corps    : texte lisible à gauche, panneau « À venir » collant à droite
     bas      : actualités liées sur toute la largeur
   ========================================================================= */

/* ---------- Bandeau ---------- */
.cdje-bandeau-page__grille {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 40px;
	align-items: center;
}
.cdje-bandeau-page__grille > * { margin: 0 !important; }
/* Fil d'Ariane, titre et introduction dans la 1re colonne ; le logo FFE éventuel occupe la 2e sur toute la hauteur. */
.cdje-bandeau-page__grille > .cdje-ariane { grid-column: 1; margin-bottom: 10px !important; }
.cdje-bandeau-page__grille > .wp-block-post-title { grid-column: 1; }
.cdje-entete-page { display: contents; }
.cdje-entete-page__intro {
	grid-column: 1;
	margin: 10px 0 0 !important;
	max-width: 70ch;
	color: var(--cdje-doux);
	font-size: 1.08rem;
	line-height: 1.55;
}
.cdje-entete-page__logo {
	grid-column: 2;
	grid-row: 1 / span 3;
	display: grid;
	place-items: center;
	background: #fff;
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	padding: 12px 16px;   /* marge autour du logo FFE (charte) */
	width: 190px;
	height: 140px;
}
.cdje-entete-page__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
@media (max-width: 700px) {
	.cdje-bandeau-page__grille { grid-template-columns: 1fr; }
	.cdje-entete-page__logo { grid-column: 1; grid-row: auto; margin-top: 16px !important; width: 150px; height: 110px; }
}

/* ---------- Corps : la feuille prend toute la largeur utile ---------- */
.cdje-feuille .wp-block-post-content { max-width: none; }
.cdje-feuille .wp-block-post-content > * { max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
.cdje-feuille .wp-block-post-content > :is(.wp-block-columns, .wp-block-query, .wp-block-table, .wp-block-gallery, .alignwide, .alignfull, .wp-block-group),
.cdje-feuille .wp-block-post-content > .wp-block-group:has(.wp-block-columns, .wp-block-query) { max-width: 100% !important; }

.cdje-feuille .wp-block-post-content p,
.cdje-feuille .wp-block-post-content li { font-size: 17px; line-height: 1.7; }

/* Colonnes « texte | (vide) | à venir » → texte + panneau latéral */
.cdje-feuille .wp-block-post-content > .wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
	gap: clamp(24px, 4vw, 56px) !important;
	align-items: start;
}
.cdje-feuille .wp-block-post-content > .wp-block-columns > .wp-block-column { flex-basis: auto !important; width: auto !important; min-width: 0; }
.cdje-feuille .wp-block-post-content > .wp-block-columns > .wp-block-column:empty { display: none; }
/* Colonnes de contenu ordinaires (plus de 2 colonnes pleines) : grille régulière */
.cdje-feuille .wp-block-post-content > .wp-block-columns:has(> .wp-block-column:nth-child(3):not(:empty)):not(:has(.ebec-list-wrapper, .tribe-common, .wp-block-tribe-events-list)) {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.cdje-feuille .wp-block-post-content > .wp-block-columns > .wp-block-column:first-child > :first-child { margin-top: 0; }

/* Panneau latéral « À venir » */
.cdje-feuille .wp-block-post-content > .wp-block-columns > .wp-block-column:has(.ebec-list-wrapper, .tribe-common, .wp-block-tribe-events-list) {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 92px);
	background: var(--cdje-fond);
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	padding: 18px 18px 8px;
}
.cdje-feuille .wp-block-column:has(.ebec-list-wrapper) > p:first-child {
	margin: 0 0 12px;
	font-family: var(--cdje-f-titre);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--cdje-nuit);
}

/* Liste d'événements compacte (Events Calendar Templates, style « minimal ») */
.cdje-feuille .ebec-minimal-list-wrapper { display: grid; gap: 8px; margin: 0; }
.cdje-feuille .ebec-list-posts {
	position: relative;
	display: grid !important;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	background: #fff !important;
	border: 1px solid var(--cdje-ligne) !important;
	border-radius: 8px !important;
	padding: 10px 12px !important;
	margin: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
}
.cdje-feuille .ebec-list-posts:hover { border-color: var(--cdje-nuit) !important; }
.cdje-feuille .ebec-event-date-tag { width: 52px !important; margin: 0 !important; }
.cdje-feuille .ebec-event-datetimes {
	display: grid !important;
	text-align: center;
	border: 1px solid var(--cdje-nuit);
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	padding: 0 !important;
	box-shadow: none !important;
}
.cdje-feuille .ebec-event-datetimes .ev-mo {
	display: block;
	background: var(--cdje-nuit);
	color: #fff !important;
	font: 600 10px/1.8 var(--cdje-f-texte) !important;
	letter-spacing: .8px;
	text-transform: uppercase;
}
.cdje-feuille .ebec-event-datetimes .ebec-ev-day { font: 700 1.2rem/1.5 var(--cdje-f-titre) !important; color: var(--cdje-nuit) !important; }
.cdje-feuille .ebec-event-details { padding: 0 !important; min-width: 0; }
.cdje-feuille .ebec-event-datetime { font-size: 12.5px !important; color: var(--cdje-doux) !important; margin: 0 0 2px !important; }
.cdje-feuille .ebec-event-datetime * { font-size: inherit !important; color: inherit !important; }
.cdje-feuille .ebec-events-title {
	display: block;
	font: 600 14.5px/1.35 var(--cdje-f-titre) !important;
	color: var(--cdje-nuit) !important;
	text-decoration: none !important;
	margin: 0 !important;
}
.cdje-feuille .ebec-events-title::after { content: ""; position: absolute; inset: 0; }
.cdje-feuille .ebec-events-title:hover { color: var(--cdje-rouge) !important; }
.cdje-feuille .ebec-style-1-more { display: none !important; }

/* « Catégorie : … » qui précède la liste d'articles → titre de section */
.cdje-feuille .wp-block-post-content > p:has(+ .wp-block-query),
.cdje-feuille .wp-block-post-content > .wp-block-spacer + p:has(+ .wp-block-query) {
	max-width: 100% !important;
	margin-top: 48px !important;
	padding-top: 24px;
	border-top: 1px solid var(--cdje-ligne);
	font-family: var(--cdje-f-titre);
	font-size: 1.35rem !important;
	font-weight: 600;
	color: var(--cdje-nuit);
}
.cdje-feuille .wp-block-post-content > p:has(+ .wp-block-query) strong,
.cdje-feuille .wp-block-post-content > p:has(+ .wp-block-query) u { font-weight: 600; text-decoration: none; }
.cdje-feuille .wp-block-post-content > .wp-block-spacer { max-width: 100% !important; height: 8px !important; }

/* Mobile : le panneau passe sous le texte */
@media (max-width: 900px) {
	.cdje-feuille .wp-block-post-content > .wp-block-columns { grid-template-columns: 1fr; }
	.cdje-feuille .wp-block-post-content > .wp-block-columns > .wp-block-column:has(.ebec-list-wrapper, .tribe-common) { position: static; }
}

/* La feuille gère déjà les marges : pas de marge globale en plus dans le contenu */
.cdje-feuille .wp-block-post-content.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }
.cdje-feuille .wp-block-post-content > .wp-block-columns > .wp-block-column:first-child { max-width: 760px; }

/* ---------- Organigramme : cartes de personnes ---------- */
.cdje-feuille .wp-block-post-content > .cdje-equipe,
.cdje-equipe {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 14px;
	max-width: 100% !important;
	margin-top: 12px !important;
	margin-bottom: 8px !important;
}
.cdje-personne {
	display: grid !important;
	grid-template-columns: 48px minmax(0, 1fr);
	column-gap: 12px;
	align-items: center;
	padding: 14px !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
}
.cdje-personne > * { margin: 0 !important; grid-column: 2; }
.cdje-feuille .wp-block-post-content .cdje-personne p { font-size: 15px; line-height: 1.35; }
.cdje-personne .cdje-personne__initiales {
	grid-column: 1;
	grid-row: 1 / span 3;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--cdje-nuit);
	color: #fff;
	font: 600 16px var(--cdje-f-titre) !important;
	letter-spacing: .5px;
}
.cdje-personne .cdje-personne__nom { font-weight: 600; color: var(--cdje-nuit); }
.cdje-feuille .wp-block-post-content .cdje-personne .cdje-personne__role { color: var(--cdje-doux); font-size: 13.5px; }
.cdje-personne .cdje-personne__contact a { font-size: 13.5px; }
.cdje-personne--vacant { border-style: dashed; background: var(--cdje-fond); }
.cdje-personne--vacant .cdje-personne__initiales { background: var(--cdje-ligne); color: var(--cdje-doux); }
.cdje-feuille .wp-block-post-content > h2 { margin-top: 2.2em; }
.cdje-feuille .wp-block-post-content > h2:first-child { margin-top: 0; }
.cdje-note {
	margin-top: 32px !important;
	padding: 14px 18px;
	background: var(--cdje-fond);
	border-left: 4px solid var(--cdje-or);
	border-radius: 0 8px 8px 0;
}

/* ---------- Actualités et archives : recherche + filtres par thème ---------- */
.cdje-filtres-titre { margin-bottom: 6px !important; }
ul.cdje-filtres, .cdje-filtres ul {
	list-style: none !important;
	padding: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
ul.cdje-filtres li, .cdje-filtres li { padding: 0 !important; margin: 0 !important; font-size: 14px !important; }
ul.cdje-filtres li::before, .cdje-filtres li::before { content: none !important; }
ul.cdje-filtres a, .cdje-filtres a {
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid var(--cdje-ligne);
	border-radius: 999px;
	background: #fff;
	color: var(--cdje-nuit) !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}
ul.cdje-filtres a:hover, .cdje-filtres a:hover { background: var(--cdje-nuit); color: #fff !important; }

/* ---------- Agenda (The Events Calendar) ---------- */
.cdje-agenda-page { --tec-grid-width: 100%; --tec-grid-width-default: 100%; }
.cdje-agenda-page .tribe-events .tribe-events-l-container,
.cdje-agenda-page .tribe-common .tribe-common-l-container { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.cdje-logo-ffe-evt {
	float: right;
	display: grid;
	place-items: center;
	width: 110px;
	height: 68px;
	margin: 0 0 8px 16px;
	padding: 6px 8px;   /* marge autour du logo FFE (charte) */
	background: #fff;
	border: 1px solid var(--cdje-ligne);
	border-radius: 8px;
}
.cdje-logo-ffe-evt img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cdje-logo-ffe-evt--grand { float: none; width: 200px; height: 130px; margin: 0 0 20px; }

/* ---------- Pages de rubrique : cartes des sous-pages ---------- */
.cdje-feuille .wp-block-post-content > .cdje-rubrique,
.cdje-rubrique {
	list-style: none !important;
	padding: 0 !important;
	margin: 8px auto 0 !important;
	max-width: 100% !important;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}
.cdje-rubrique__carte {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 20px 18px !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.cdje-rubrique__carte::before { content: none !important; }
.cdje-rubrique__carte:hover { border-color: var(--cdje-nuit); box-shadow: var(--cdje-ombre); transform: translateY(-2px); }
.cdje-rubrique__carte h3 { margin: 0 !important; font-size: 1.15rem !important; line-height: 1.3; border: 0 !important; padding: 0 !important; }
.cdje-rubrique__carte h3 a { color: var(--cdje-nuit) !important; text-decoration: none !important; font-weight: 600 !important; }
.cdje-rubrique__carte h3 a::after { content: ""; position: absolute; inset: 0; }
.cdje-rubrique__carte p { margin: 0 !important; color: var(--cdje-doux); font-size: 15px !important; line-height: 1.5 !important; }
.cdje-rubrique__suite { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--cdje-rouge); }
.cdje-rubrique__logo { display: flex; align-items: center; justify-content: center; height: 84px; padding: 6px 0 10px; margin: 0 0 4px; border-bottom: 1px solid var(--cdje-ligne); overflow: hidden; }
.cdje-rubrique__logo img { display: block; height: 68px !important; width: auto !important; max-width: 100%; object-fit: contain; position: static !important; }
.cdje-feuille .wp-block-post-content > .cdje-evts { max-width: 100% !important; }
.cdje-feuille .wp-block-post-content > h2 + .cdje-evts,
.cdje-feuille .wp-block-post-content > .cdje-evts { margin-top: 12px !important; }

/* ---------- Clubs : carte, recherche et fiches ---------- */
.cdje-feuille .wp-block-post-content > .cdje-clubs { max-width: 100% !important; }
.cdje-clubs__haut { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.cdje-clubs__recherche { display: grid; gap: 6px; flex: 1 1 320px; max-width: 520px; font-weight: 600; color: var(--cdje-nuit); font-size: 15px; }
.cdje-clubs__recherche input { font: inherit; font-weight: 400; padding: 10px 14px; border: 1px solid var(--cdje-ligne); border-radius: 8px; background: #fff; }
.cdje-clubs__recherche input:focus { outline: 2px solid var(--cdje-or); border-color: var(--cdje-nuit); }
.cdje-clubs__compte { margin: 0 !important; color: var(--cdje-doux); font-size: 14px !important; }
.cdje-clubs__carte { height: 420px; border-radius: var(--cdje-rayon); border: 1px solid var(--cdje-ligne); margin-bottom: 24px; z-index: 0; background: var(--cdje-fond); }
.cdje-clubs__liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.cdje-club { background: #fff; border: 1px solid var(--cdje-ligne); border-radius: var(--cdje-rayon); padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; scroll-margin-top: 100px; }
.cdje-club:target { border-color: var(--cdje-or); box-shadow: 0 0 0 3px rgba(200, 155, 60, .25); }
.cdje-club header { display: grid; grid-template-columns: 1fr auto; column-gap: 8px; align-items: start; }
.cdje-feuille .wp-block-post-content .cdje-club .cdje-club__commune { grid-column: 1 / -1; margin: 0 !important; font-size: 11.5px !important; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; color: var(--cdje-or-fonce); }
.cdje-club h3 { margin: 2px 0 0 !important; font-size: 1.2rem !important; }
.cdje-club__pmr { align-self: center; font-size: 11.5px; font-weight: 600; padding: 3px 8px; border-radius: 999px; background: #e5f1ea; color: #1f5a37; white-space: nowrap; }
.cdje-club dl { margin: 0; display: grid; gap: 8px; }
.cdje-club dl > div { display: grid; grid-template-columns: 96px 1fr; gap: 8px; font-size: 14.5px; line-height: 1.45; }
.cdje-club dt { color: var(--cdje-doux); font-weight: 500; }
.cdje-club dd { margin: 0; color: var(--cdje-texte); }
.cdje-club__ic { display: block; }
.cdje-feuille .wp-block-post-content .cdje-club .cdje-club__contacts { margin: auto 0 0 !important; padding-top: 12px; border-top: 1px solid var(--cdje-ligne); font-size: 14.5px !important; display: grid; gap: 4px; }
.cdje-club__contacts > * { display: flex; align-items: center; gap: 8px; min-width: 0; }
.cdje-club__contacts a { overflow-wrap: anywhere; font-weight: 600; text-decoration: none !important; }
.cdje-club__contacts a:hover { text-decoration: underline !important; }
.cdje-club__contacts .ic { flex: none; width: 52px; color: var(--cdje-doux); font-size: 13px; font-weight: 500; }
.cdje-club__contacts .tel { white-space: nowrap; }
.cdje-club__contacts a[href^="mailto:"]::before { display: none; }
.cdje-feuille .wp-block-post-content .cdje-club .cdje-club__ffe { margin: 0 !important; font-size: 13px !important; }
.cdje-feuille .wp-block-post-content .cdje-clubs__source { max-width: 100% !important; margin-top: 20px !important; color: var(--cdje-doux); font-size: 13px !important; }
@media (max-width: 600px) { .cdje-clubs__carte { height: 300px; } .cdje-clubs__liste { grid-template-columns: 1fr; } }

/* ---------- Organigramme : titres et cartes alignés sur la même largeur ---------- */
.cdje-feuille .wp-block-post-content:has(.cdje-equipe) > * { max-width: 100% !important; }
.cdje-feuille .wp-block-post-content:has(.cdje-equipe) > h3 { margin: 28px 0 0 !important; font-size: 1.1rem !important; color: var(--cdje-doux); text-transform: uppercase; letter-spacing: 1.2px; font-family: var(--cdje-f-texte); font-weight: 600; }
.cdje-feuille .wp-block-post-content:has(.cdje-equipe) > h2 { margin-top: 48px !important; padding-bottom: 10px; border-bottom: 1px solid var(--cdje-ligne); }
.cdje-feuille .wp-block-post-content:has(.cdje-equipe) > h2:first-child { margin-top: 0 !important; }
.cdje-equipe { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; }
.cdje-personne { min-height: 84px; }
.cdje-personne .cdje-personne__contact a::before { display: none !important; }
.cdje-personne .cdje-personne__contact a { font-weight: 600; text-decoration: none !important; }
.cdje-personne .cdje-personne__contact a:hover { text-decoration: underline !important; }

/* ---------- Chiffres de la saison ---------- */
.cdje-feuille .wp-block-post-content > :is(.cdje-stats, .cdje-responsables, .cdje-tournois) { max-width: 100% !important; }
.cdje-stats__tuiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.cdje-stats__tuiles > div { background: var(--cdje-fond); border: 1px solid var(--cdje-ligne); border-radius: var(--cdje-rayon); padding: 16px 18px; }
.cdje-stats__tuiles b { display: block; font: 700 2rem/1.1 var(--cdje-f-titre); color: var(--cdje-nuit); font-variant-numeric: tabular-nums; }
.cdje-stats__tuiles span { color: var(--cdje-doux); font-size: 14px; }
.cdje-stats__courbe { margin: 0 0 24px; padding: 16px; background: #fff; border: 1px solid var(--cdje-ligne); border-radius: var(--cdje-rayon); }
.cdje-stats__courbe svg { width: 100%; height: auto; display: block; }
.cdje-stats__courbe .g { stroke: var(--cdje-ligne); stroke-width: 1; }
.cdje-stats__courbe .t { fill: var(--cdje-doux); font: 12px var(--cdje-f-texte); text-anchor: end; }
.cdje-stats__courbe .t.m { text-anchor: start; }
.cdje-stats__courbe .l { fill: none; stroke: var(--cdje-rouge); stroke-width: 2.5; stroke-linejoin: round; }
.cdje-stats__courbe .p { fill: var(--cdje-rouge); }
.cdje-stats__courbe figcaption { margin-top: 6px; font-size: 13px; color: var(--cdje-doux); }
.cdje-stats__tableau { overflow-x: auto; }
.cdje-stats table { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.cdje-stats th, .cdje-stats td { padding: 10px 12px; border-bottom: 1px solid var(--cdje-ligne); text-align: right; }
.cdje-stats th:first-child, .cdje-stats td:first-child { text-align: left; }
.cdje-stats thead th { color: var(--cdje-doux); font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .8px; background: var(--cdje-fond); }
.cdje-stats td:first-child span { display: block; font-size: 13px; color: var(--cdje-doux); }
.cdje-stats td a { font-weight: 600 !important; text-decoration: none !important; color: var(--cdje-nuit) !important; }
.cdje-stats tfoot th, .cdje-stats tfoot td { border-bottom: 0; border-top: 2px solid var(--cdje-nuit); font-weight: 700; }
.cdje-feuille .wp-block-post-content .cdje-stats__source { margin-top: 12px !important; font-size: 13px !important; color: var(--cdje-doux); }
@media (max-width: 700px) { .cdje-stats__tuiles { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Responsables déclarés à la FFE ---------- */
ul.cdje-responsables { list-style: none !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
ul.cdje-responsables li { margin: 0 !important; padding: 12px 14px !important; display: grid; gap: 2px; background: #fff; border: 1px solid var(--cdje-ligne); border-radius: 8px; }
ul.cdje-responsables li::before { content: none !important; }
.cdje-responsables__role { font-size: 12.5px; color: var(--cdje-doux); text-transform: uppercase; letter-spacing: .8px; }
.cdje-responsables__nom { font-weight: 600; color: var(--cdje-nuit); }
.cdje-responsables a { font-size: 14px; font-weight: 600; text-decoration: none !important; }
.cdje-responsables a::before { display: none !important; }

/* ---------- Tournois homologués FFE ---------- */
ul.cdje-tournois { list-style: none !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
ul.cdje-tournois li { margin: 0 !important; padding: 10px 14px !important; display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--cdje-ligne); border-radius: 8px; }
ul.cdje-tournois li::before { content: none !important; }
.cdje-tournois__txt a { font-weight: 600 !important; color: var(--cdje-nuit) !important; text-decoration: none !important; }
.cdje-tournois__txt a:hover { color: var(--cdje-rouge) !important; }
.cdje-tournois__txt small { display: block; color: var(--cdje-doux); font-size: 13px; margin-top: 2px; }

/* Pages composées de blocs en cartes (rubriques, clubs, chiffres, contact) : tout sur la même largeur */
.cdje-feuille .wp-block-post-content:has(> :is(.cdje-rubrique, .cdje-evts, .cdje-clubs, .cdje-stats, .cdje-tournois, .cdje-responsables)) > * { max-width: 100% !important; }

/* ---------- Agenda du comité ---------- */
.cdje-feuille .wp-block-post-content:has(> .cdje-agenda) > * { max-width: 100% !important; }
.cdje-agenda__barre { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.cdje-agenda__recherche { flex: 1 1 320px; max-width: 520px; }
.cdje-agenda__recherche input { width: 100%; font: inherit; padding: 10px 14px; border: 1px solid var(--cdje-ligne); border-radius: 8px; background: #fff; }
.cdje-agenda__recherche input:focus { outline: 2px solid var(--cdje-or); border-color: var(--cdje-nuit); }
.cdje-agenda__vues { display: inline-flex; border: 1px solid var(--cdje-ligne); border-radius: 8px; overflow: hidden; background: #fff; }
.cdje-agenda__vues button, .cdje-filtre { font: 500 14px var(--cdje-f-texte); cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.cdje-agenda__vues button { border: 0; background: none; padding: 9px 18px; color: var(--cdje-nuit); }
.cdje-agenda__vues button + button { border-left: 1px solid var(--cdje-ligne); }
.cdje-agenda__vues button.is-actif { background: var(--cdje-nuit); color: #fff; }
.cdje-agenda__filtres { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.cdje-filtre { border: 1px solid var(--cdje-ligne); background: #fff; color: var(--cdje-nuit); border-radius: 999px; padding: 6px 14px; }
.cdje-filtre span { color: var(--cdje-doux); font-size: 12px; margin-left: 2px; }
.cdje-filtre:hover { border-color: var(--cdje-nuit); }
.cdje-filtre.is-actif { background: var(--cdje-nuit); border-color: var(--cdje-nuit); color: #fff; }
.cdje-filtre.is-actif span { color: #c9d3df; }
.cdje-agenda__mois { margin-bottom: 32px; }
.cdje-feuille .wp-block-post-content .cdje-agenda__mois h2 {
	position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 72px); z-index: 2;
	margin: 0 0 12px !important; padding: 10px 0 8px 12px !important; background: #fff;
	font-size: 1.25rem !important; border-left: 4px solid var(--cdje-or); border-bottom: 1px solid var(--cdje-ligne);
}
.cdje-evts--agenda { grid-template-columns: 1fr; gap: 10px; }
.cdje-evts--agenda .cdje-evt { background: #fff; grid-template-columns: 64px minmax(0, 1fr) auto; }
.cdje-evts--agenda .cdje-evt h3 { font-size: 1.08rem; }
.cdje-evts--agenda .cdje-evt.est-passe { opacity: .6; }
.cdje-agenda__aucun { color: var(--cdje-doux); }
.cdje-agenda__pied { display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; align-items: center; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--cdje-ligne); font-size: 14.5px; color: var(--cdje-doux); }
.cdje-agenda__pied a { font-weight: 600; }

/* Calendrier mensuel */
.cdje-cal header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.cdje-feuille .wp-block-post-content .cdje-cal h2 { margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: 1.35rem !important; }
.cdje-cal header button { width: 40px; height: 40px; border-radius: 8px; border: 1px solid var(--cdje-ligne); background: #fff; font-size: 22px; line-height: 1; cursor: pointer; color: var(--cdje-nuit); }
.cdje-cal header button:hover { border-color: var(--cdje-nuit); }
.cdje-cal__grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--cdje-ligne); border-left: 1px solid var(--cdje-ligne); }
.cdje-cal__grille > div { border-right: 1px solid var(--cdje-ligne); border-bottom: 1px solid var(--cdje-ligne); min-height: 104px; padding: 6px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cdje-cal__grille > .cdje-cal__jsem { min-height: 0; padding: 8px 6px; background: var(--cdje-fond); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; color: var(--cdje-doux); }
.cdje-cal__vide { background: repeating-linear-gradient(45deg, #fafbfc, #fafbfc 6px, #f3f5f8 6px, #f3f5f8 12px); }
.cdje-cal__num { font: 600 13px var(--cdje-f-texte); color: var(--cdje-doux); }
.cdje-cal__jour.est-aujourdhui .cdje-cal__num { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--cdje-rouge); color: #fff; }
.cdje-cal__jour a { display: block; font-size: 12px; line-height: 1.3; padding: 3px 6px; border-radius: 4px; background: #e6ecf5; color: var(--cdje-nuit) !important; text-decoration: none !important; font-weight: 500 !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cdje-cal__jour a:hover { background: var(--cdje-nuit); color: #fff !important; }
.cdje-cal__jour a[data-types~="jeunes"] { background: #e5f1ea; }
.cdje-cal__jour a[data-types~="coupes"] { background: #fbe7e5; }
.cdje-cal__jour a[data-types~="feminines"] { background: #f3e8f6; }
.cdje-cal__jour a.est-passe { opacity: .55; }
.cdje-cal__jour a.est-passe:hover { opacity: 1; }
@media (max-width: 700px) {
	.cdje-evts--agenda .cdje-evt { grid-template-columns: 56px minmax(0, 1fr); }
	.cdje-cal__grille > div { min-height: 64px; padding: 4px; }
	.cdje-cal__jour a { font-size: 0; padding: 0; height: 6px; border-radius: 3px; background: var(--cdje-rouge); }
	.cdje-cal__grille > .cdje-cal__jsem { font-size: 10px; letter-spacing: 0; }
}

/* ---------- Formulaire « Proposer un événement » ---------- */
.cdje-note--ok { border-left-color: #2e7d32; background: #eef7ef; }
.cdje-note--erreur { border-left-color: var(--cdje-rouge); background: #fdeeee; margin-top: 0 !important; margin-bottom: 20px; }
.cdje-form { max-width: 820px; }
.cdje-form fieldset { border: 1px solid var(--cdje-ligne); border-radius: 12px; padding: 18px 22px 6px; margin: 0 0 22px; background: #fff; }
.cdje-form legend { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.1rem; padding: 0 8px; color: var(--cdje-nuit, #0d1b2a); }
.cdje-form p { margin: 0 0 14px; }
.cdje-form label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 5px; }
.cdje-form input:not([type=file]), .cdje-form select, .cdje-form textarea {
	width: 100%; padding: 10px 12px; font: inherit; font-size: 15px;
	border: 1px solid #c9d0da; border-radius: 8px; background: #fff; color: inherit;
}
.cdje-form input:focus, .cdje-form select:focus, .cdje-form textarea:focus { outline: 2px solid var(--cdje-or); outline-offset: 1px; border-color: var(--cdje-or); }
.cdje-form__ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0 16px; }
.cdje-form__mention { font-size: 13px; color: var(--cdje-doux); }
.cdje-form__piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cdje-form button[type=submit] { cursor: pointer; padding: 12px 26px; }
.cdje-form__verif { font-size: 13px; color: var(--cdje-doux); }
.cdje-form button[type=submit]:disabled { opacity: .5; cursor: wait; }
/* Le filtre masque les éléments avec l'attribut hidden : il doit l'emporter sur display:grid/flex. */
.cdje-agenda [hidden] { display: none !important; }
.cdje-form [hidden] { display: none !important; }
.cdje-404-titre { margin-top: 44px !important; font-size: 1.5rem; }

/* ===== events.css ===== */
/* =========================================================================
   CDJE74 – The Events Calendar et Events Calendar Templates
   Repris de la version 1.0.29 (style.css) ; à simplifier progressivement.
   ========================================================================= */

/* Événements (widgets/lists) */
.events-list,
.tribe-events-shortcode,
.wp-block-group.events-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.events-list li,
.tribe-events-shortcode li {
	display: grid;
	grid-template-columns: 76px 1fr;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}
.event-date-badge {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	box-shadow: var(--shadow);
	text-align: center;
	padding: 10px 8px;
	color: var(--accent);
	font-weight: 700;
	line-height: 1.1;
}
.event-date-badge .month { display: block; font-size: 0.8em; color: var(--accent-2); }

/* TEC liste / catégories d'événements (mise en cartes) */
.tribe-events-view--list .tribe-events-l-container,
.tribe-events-view--list .tribe-common--breakpoint-medium .tribe-common-l-container {
	max-width: 750px !important;
	margin: 0 auto !important;
	padding-left: 10px !important;
	padding-right: 10px !important;
}

.tribe-events-calendar-list__event-row {
	display: grid;
	grid-template-columns: 70px 1fr;
	column-gap: 16px;
	row-gap: 12px;
	align-items: flex-start;
}

.tribe-events-view--list .tribe-events-calendar-list__event {
	background: var(--card);
	box-shadow: var(--shadow);
	border-radius: var(--radius);
	padding: 20px;
	margin: 0 0 24px 0;
	display: flex !important;
	flex-direction: row !important;
	gap: 24px !important;
	align-items: flex-start !important;
	border: 1px solid var(--line);
}

.tribe-events-calendar-list__event-featured-image-wrapper {
	flex: 0 0 220px !important;
	width: 220px !important;
	margin: 0 !important;
}
.tribe-events-calendar-list__event-featured-image-wrapper img {
	width: 100% !important;
	height: auto !important;
	border-radius: 6px;
	object-fit: cover;
}

.tribe-events-calendar-list__event-details {
	flex: 1 !important;
	width: auto !important;
	min-width: 0; /* Fix flex overflow */
}

@media (max-width: 768px) {
	.tribe-events-view--list .tribe-events-calendar-list__event {
		flex-direction: column !important;
	}
	.tribe-events-calendar-list__event-featured-image-wrapper {
		width: 100% !important;
		flex: none !important;
	}
}

/* List View Date Tag Styling */
/* List View Date Tag Styling (Main Events Page) */
.tribe-events-calendar-list__event-date-tag,
.tribe-events-calendar-list__event-date-tag.tribe-common-g-col {
	background-color: #0d1b2a !important; /* Force Blue Background */
	border: 1px solid #e3e7ed;
	border-radius: 6px;
	box-shadow: 0 6px 16px rgba(0,0,0,0.08);
	padding: 0 !important;
	overflow: hidden;
	min-width: 60px !important;
	min-height: 70px !important;
	width: auto !important;
	height: auto !important;
	display: flex;
	flex-direction: column;
}

/* Wrapper Internal Time Element */
.tribe-events-calendar-list__event-date-tag time,
.tribe-events-calendar-list__event-date-tag .tribe-events-calendar-list__event-date-tag-datetime {
	background-color: transparent !important;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 70px;
	padding: 0;
	flex: 1;
}

/* Weekday (Top): White Text on Blue (Transparent) Background */
.tribe-events-calendar-list__event-date-tag-weekday {
	color: #ffffff !important;
	background-color: transparent !important;
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: block;
	font-weight: 600;
	padding: 6px 0 !important;
	margin: 0 0 1px 0 !important; /* Minimal margin just for separation */
	width: 100%;
	order: 1;
	line-height: 1;
}

/* Day Number (Bottom): Blue Text on White Background */
.tribe-events-calendar-list__event-date-tag-daynum { 
	background-color: #ffffff !important;
	color: #0d1b2a !important;
	font-size: 1.6em !important; 
	line-height: 1.2 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	margin: 0;
	padding: 10px 0;
	width: 100%;
	flex-grow: 1;
	order: 2;
}
.tribe-events-calendar-list__event-content,
.tribe-events-calendar-list__event-details {
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.tribe-events-calendar-list__event-header {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.tribe-events-calendar-list__event-description.tribe-common-a11y-hidden {
	display: block !important;
	position: static !important;
	clip: auto !important;
	width: auto !important;
	height: auto !important;
	margin-top: 8px;
	color: var(--muted);
	font-size: 0.95em;
	line-height: 1.5;
}

.tribe-events-calendar-list__event-cost {
	font-weight: 700;
	font-size: 1.1em;
	color: var(--accent);
	margin-top: 4px;
}

@media (max-width: 768px) {
	.tribe-events-calendar-list__event-row {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.tribe-events-view--list .tribe-events-calendar-list__event {
		grid-template-columns: 1fr;
	}
	.tribe-events-calendar-list__event-date-tag {
		justify-self: start;
		margin-bottom: 10px;
	}
}

.tribe-events-calendar-list__event-title {
	margin: 0;
	line-height: 1.3;
}
.tribe-events-calendar-list__event-date-tag-daynum {
	/* Removed duplicate rule to respect new styling */
}

.tribe-events-calendar-list__event-title a {
	color: var(--accent);
	font-weight: 700;
	text-decoration: none;
}
.tribe-events-calendar-list__event-title a:hover {
	color: var(--accent-2);
}

.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-list__event-venue,
.tribe-events-calendar-list__event-venue .tribe-events-calendar-list__event-venue-title,
.tribe-events-calendar-list__event-venue .tribe-events-calendar-list__event-venue-address {
	color: var(--muted);
	font-size: 0.95em;
}

@media (max-width: 900px) {
	.tribe-events-calendar-list__event-row {
		grid-template-columns: 1fr;
	}

	.tribe-events-view--list .tribe-events-calendar-list__event {
		grid-template-columns: 1fr;
	}
	.tribe-events-view--list .tribe-events-l-container {
		padding-left: 18px;
		padding-right: 18px;
	}
}

/* Calendrier (FullCalendar ou plugin) */
.fc .fc-toolbar-title {
	color: var(--accent);
	font-family: "Cardo", serif;
}
.fc .fc-button {
	background: var(--accent);
	border: none;
	border-radius: 6px;
	color: #fff;
}
.fc .fc-button:hover { background: #16365f; }
.fc .fc-daygrid-day-number { color: var(--text); }

/* Bouton Site Web (Event Single) */
.tribe-block__event-website {
	margin-top: 24px;
	margin-bottom: 24px;
}
.tribe-block__event-website a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
	background: linear-gradient(135deg, #0d1b2a, #152b43);
	color: #fff;
	padding: 12px 24px;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 700;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	transition: background 0.3s ease, transform 0.2s ease;
}
.tribe-block__event-website a:hover {
	background: var(--accent-2);
	color: #fff;
	transform: translateY(-2px);
}

/* Badges dates pour le widget Évènements à venir (The Events Calendar) */
:root {
	--ev-bg: #ffffff;
	--ev-line: #e3e7ed;
	--ev-accent: #0d1b2a;
	--ev-accent-2: #c89b3c;
	--ev-shadow: 0 6px 16px rgba(0,0,0,0.08);
	--ev-radius: 10px;
}

.tribe-events-widget-events-list,
.tribe-events-view--widget-events-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row {
	display: grid;
	grid-template-columns: 74px 1fr;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--ev-line);
	align-items: center;
}

/* Force specific widget classes */
.tribe-events-widget-events-list__event-date-tag,
.tribe-events-widget-events-list__event-date-tag.tribe-common-g-col {
	background-color: #0d1b2a !important; /* Force Blue Background */
	border: 1px solid #e3e7ed;
	border-radius: 6px;
	box-shadow: 0 6px 16px rgba(0,0,0,0.08);
	padding: 0 !important;
	overflow: hidden; /* Essential for the split color effect */
	min-height: 70px;
	display: flex;
	flex-direction: column;
}

/* Ensure the time wrapper is transparent and fills space */
.tribe-events-widget-events-list__event-date-tag time,
.tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-datetime {
	background-color: transparent !important;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	flex: 1;
}

/* Month (Top): White Text on Blue (Transparent) Background */
.tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-month,
.tribe-events-widget-events-list__event-date .month,
.tribe-events-widget-events-list__date .month {
	color: #ffffff !important;
	background-color: transparent !important;
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin: 0;
	padding: 6px 0;
	width: 100%;
	order: 1;
	display: block !important;
}

/* Day Number (Bottom): Blue Text on White Background */
.tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-daynum,
.tribe-events-widget-events-list__event-date-tag .tribe-events-widget-events-list__event-date-tag-day,
.tribe-events-widget-events-list__event-date .day,
.tribe-events-widget-events-list__date .day {
	background-color: #ffffff !important;
	color: #0d1b2a !important;
	font-size: 1.6em;
	font-weight: 800;
	padding: 10px 0;
	margin: 0;
	width: 100%;
	flex-grow: 1;
	display: flex !important;
	align-items: center;
	justify-content: center;
	order: 2;
}

/* Fallback/Legacy Selectors */
.tribe-events-widget-events-list__event-date,
.tribe-events-widget-events-list__date {
	display: none; 
}

/* Corps de l’item */
.tribe-events-widget-events-list__event-title a {
	color: var(--ev-accent);
	font-weight: 700;
	text-decoration: none;
}
.tribe-events-widget-events-list__event-title a:hover {
	color: var(--ev-accent-2);
}

.tribe-events-widget-events-list__event-datetime,
.tribe-events-widget-events-list__event-venue,
.tribe-events-widget-events-list__event-venue .tribe-events-widget-events-list__venue {
	color: #4a5568;
	font-size: 0.95em;
	margin-top: 2px;
}

/* Nettoyage marges/paddings du widget */
.tribe-events-widget {
	margin-bottom: 1.5rem;
}
.tribe-compatibility-container,
.tribe-events-widget-events-list {
	padding: 0;
	margin: 0;
}

/* Fallback si le markup est plus simple (date en premier child) */
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row > *:first-child {
	justify-self: stretch;
}

/* Single Event Styling - Matching Site Design */
.single-tribe_events .tribe-events-single,
.tribe-events-single,
#tribe-events-content {
	background: var(--cdje-carte);
	box-shadow: none;
	border: 1px solid var(--cdje-ligne);
	border-radius: var(--cdje-rayon);
	padding: clamp(20px, 4vw, 44px) !important;
	margin: 0 auto 20px;
	max-width: 100% !important; /* Let theme constrain */
	width: 100%;
    /* border: 1px solid var(--line); -- Removed */
    overflow: visible;
}

/* Force remove top spacing on Single Event Title - DISABLED to match pages which have margin-top:2rem */
/*
.single-tribe_events .tribe-events-single-event-title,
.tribe-events-single-event-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
*/

/* Hide potentially empty headers or notices taking space */
.single-tribe_events .tribe-events-header {
    display: none;
}

/* Ensure container is not constrained */
.tribe-block.tec-block__single-event {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Reset TEC container width if present */
.single-tribe_events .tribe-common-l-container {
	max-width: 100% !important;
	padding: 0 !important;
}

/* Remove extra spacing from TEC template wrapper */
#tribe-events-pg-template {
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
}


.single-tribe_events .tribe-events-back {
	margin: 0 0 20px 0;
	padding: 0;
    display: none; /* Cacher le lien retour pour aligner le haut de page */
}
.single-tribe_events .tribe-events-back a {
	color: var(--text-light);
	text-decoration: none;
	font-weight: 500;
}
.single-tribe_events .tribe-events-back a:hover {
	color: var(--accent);
}

.single-tribe_events .tribe-events-single-event-title,
.tribe-events-single-event-title {
	font-family: var(--cdje-f-titre);
	font-weight: 600;
	color: var(--cdje-nuit);
	text-transform: none;
	letter-spacing: 0;
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	line-height: 1.2;
	margin: 0 0 16px;
	clear: both;
}

.single-tribe_events .tribe-events-schedule {
	background: var(--bg);
	padding: 16px 24px;
	border-radius: 8px;
	margin-bottom: 32px;
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	gap: 16px;
	clear: both;
}
.single-tribe_events .tribe-events-schedule h2 {
	margin: 0;
	font-size: 1.2em;
	color: var(--accent);
}

/* Image Handling - Centered & Controlled */
.single-tribe_events .tribe-events-event-image {
	float: none !important;
	margin: 0 auto 40px auto !important;
	width: 100% !important;
	text-align: center;
	display: block;
}

.single-tribe_events .tribe-events-event-image img {
	width: auto;
	max-width: 100%;
	max-height: 700px; /* Prevent massive vertical images */
	display: inline-block;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}

/* Content */
.single-tribe_events .tribe-events-content {
	font-size: 17px;
	line-height: 1.7;
	color: var(--text);
	max-width: 820px;
	width: 100% !important;
	float: none !important;
}

/* Meta section */
.single-tribe_events .tribe-events-event-meta {
	background: #f8f9fa;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 32px;
	margin-top: 40px;
	clear: both;
}

.single-tribe_events .tribe-events-meta-group .tribe-events-single-section-title {
	color: var(--accent);
	font-size: 1.4em;
	border-bottom: 2px solid var(--accent-2);
	padding-bottom: 8px;
	margin-bottom: 20px;
	display: inline-block;
}

.single-tribe_events .tribe-events-cal-links {
	margin-top: 32px;
	border-top: 1px solid var(--line);
	padding-top: 20px;
}
.single-tribe_events .tribe-events-cal-links .tribe-events-button {
	background: var(--accent);
	color: #fff;
	border-radius: 6px;
	padding: 10px 20px;
	text-decoration: none;
	font-weight: 600;
}
.single-tribe_events .tribe-events-cal-links .tribe-events-button:hover {
	background: var(--accent-2);
}

/* Adaptation spécifique pour la page Calendrier (ID 1144) */
.page-id-1144 .wp-site-blocks {
	max-width: 100% !important;
	padding-left: 10px;
	padding-right: 10px;
}

.page-id-1144 iframe {
	width: 100% !important;
	height: 85vh !important;
	min-height: 600px;
	display: block;
}

/* Si c'est The Events Calendar */
.page-id-1144 .tribe-common-l-container,
.page-id-1144 .tribe-events-l-container {
	max-width: 100% !important;
	padding-top: 20px;
}

/* EBEC Events List Date Badge Styling */
.ebec-list-wrapper .ebec-event-date-tag {
    background-color: #0d1b2a !important; /* Blue Background */
    border: 1px solid #e3e7ed;
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    overflow: hidden;
    min-width: 60px;
    width: 60px;
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 0 !important;
}

/* Inner Wrapper */
.ebec-list-wrapper .ebec-event-datetimes {
    display: flex;
    flex-direction: column;
    width: 100% !important;
    height: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important; /* Reset potential plugin margins */
    border: none !important;
}

/* Month (Top) - mimics widget style */
.ebec-list-wrapper .ev-mo {
    color: #ffffff !important;
    background-color: transparent !important;
    font-size: 0.8em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 6px 0 !important;
    margin: 0 0 1px 0 !important; /* 1px gap line */
    width: 100% !important;
    display: block;
    text-align: center;
    line-height: 1;
    border: none !important;
}

/* Day Number (Bottom) - mimics widget style */
.ebec-list-wrapper .ebec-ev-day {
    background-color: #ffffff !important;
    color: #0d1b2a !important;
    font-size: 1.6em !important;
    font-weight: 800;
    padding: 10px 0;
    margin: 0 !important;
    width: 100% !important;
    flex-grow: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 0 !important; 
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    clip-path: none !important; /* Reset any clipping */
}

/* Ensure no shadows/borders on the intermediate wrapper */
.ebec-list-wrapper .ebec-event-datetimes {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}

/* Fix specific plugin conflict that might add a left border to the date container */
.ebec-minimal-list-wrapper .ebec-list-posts.style-1.ebec-simple-event .ebec-event-date-tag,
.ebec-list-wrapper .ebec-list-posts.style-1 .ebec-event-date-tag {
    background-image: none !important; /* Remove gradients if any */
    border-left: 0 !important; /* Explicitly remove left border */
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important; /* Handle border via general rule */
}

/* --- Complet Redesign EBEC List --- */

/* Event Card Container */
.ebec-list-wrapper .ebec-list-posts.style-1 {
    display: flex !important;
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow) !important;
    padding: 24px !important;
    margin-bottom: 24px !important;
    align-items: flex-start !important;
    gap: 24px;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ebec-list-wrapper .ebec-list-posts.style-1:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.12) !important;
}

/* Fix Flex Layout Structure */
.ebec-list-wrapper .ebec-event-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding-left: 0 !important; /* Reset inherited padding */
}

/* Typography Title */
.ebec-list-wrapper a.ebec-events-title {
    font-family: inherit !important; /* Use system/theme font */
    font-size: 1.25em !important;
    font-weight: 700 !important;
    color: var(--accent) !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    margin-bottom: 4px;
    display: block;
}

.ebec-list-wrapper a.ebec-events-title:hover {
    color: var(--accent-2) !important;
}

/* Hide Redundant Date (Already in Badge) */
.ebec-list-wrapper .ebec-event-datetime {
    display: none !important;
}

/* Venue Data */
.ebec-list-wrapper .ebec-list-venue {
    color: var(--muted) !important;
    font-size: 0.95em;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px; /* Slight spacing since date is gone */
}
.ebec-list-wrapper .ebec-list-venue i {
    color: var(--accent-2); /* Gold icon */
}

/* Button "En savoir plus" */
.ebec-list-wrapper .ebec-style-1-more {
    margin-top: 12px !important;
}

.ebec-list-wrapper a.ebec-events-read-more {
    display: inline-block;
    background: var(--accent);
    color: #ffffff !important;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.9em;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.ebec-list-wrapper a.ebec-events-read-more:hover {
    background: #16365f; /* Lighter blue */
}

/* Image Wrapper (Right side) */
.ebec-list-wrapper .ebec-right-wrapper {
    flex: 0 0 180px; /* Fixed width for image */
    width: 180px;
    height: auto;
    margin-left: auto;
}

.ebec-list-wrapper .ebec-static-small-list-ev-img img {
    border-radius: 6px;
    width: 100%;
    height: 120px; /* Fixed height for consistency */
    object-fit: cover;
    display: block;
}

/* Responsive */
@media (max-width: 768px) {
    .ebec-list-wrapper .ebec-list-posts.style-1 {
        flex-direction: column;
    }
    .ebec-list-wrapper .ebec-right-wrapper {
        width: 100%;
        margin-top: 12px;
        flex: none;
    }
    .ebec-list-wrapper .ebec-static-small-list-ev-img img {
        height: auto;
        max-height: 200px;
    }
}


/* Fiche événement : intertitres comme dans les pages */
.single-tribe_events .tribe-events-content h2 { font-size: 1.5rem !important; line-height: 1.25 !important; padding-left: .7em; border-left: 4px solid var(--cdje-or); margin: 1.6em 0 .6em !important; }
.single-tribe_events .tribe-events-content h3 { font-size: 1.2rem !important; margin: 1.3em 0 .5em !important; }
.single-tribe_events .tribe-events-schedule { background: var(--cdje-fond); border-color: var(--cdje-ligne); }
