/**
 * Collectif Photo Normandie — charte graphique
 * Culturel · chaleureux · éditorial · photographique
 */

:root {
	--collectif-cream: #F6F2EC;
	--collectif-white: #FBF9F6;
	--collectif-text: #2B2622;
	--collectif-muted: #6F6A65;
	--collectif-accent: #2F6F73;
	--collectif-sage: #C9D8D3;
	--collectif-brick: #A65A4D;
	--collectif-alt: #EEF4F2;
	--collectif-border: #E5DFD6;
	--collectif-radius: 8px;
	--collectif-shadow: 0 4px 20px rgba(43, 38, 34, 0.06);
	--collectif-font-serif: "Libre Baskerville", Georgia, "Times New Roman", serif;
	--collectif-font-sans: "Source Sans 3", "Source Sans Pro", system-ui, sans-serif;
	--collectif-transition: 0.25s ease;
	--collectif-sunset: #D4894A;
	--collectif-sunset-deep: #B86A35;
	--collectif-brand-navy: #1A365D;
	--collectif-brand-cyan: #00B5D8;
	--collectif-brand-green: #38A169;
	--collectif-brand-orange: #ED8936;
	--collectif-brand-magenta: #D53F8C;
	--collectif-radius-lg: 12px;
	--collectif-wp-admin-bar-h: 0px;
	--collectif-header-stack-h: 6.5rem;
	--collectif-header-offset: 6.5rem;
	--collectif-lead-min-h: min(45vh, 420px);
	--collectif-hero-overlay: linear-gradient(
		180deg,
		rgba(26, 38, 50, 0.2) 0%,
		rgba(26, 38, 50, 0.42) 42%,
		rgba(16, 24, 32, 0.82) 100%
	);
}

/* ——— Typographie globale (accueil → tout le site) ——— */
html {
	font-family: var(--collectif-font-sans);
}

/* Bridge smooth scroll : body en overflow:hidden casse le défilement Elementor */
body.smooth_scroll,
body.qode-smooth-scroll-enabled {
	overflow-y: auto !important;
}

/* Bridge .wrapper_inner (overflow:hidden) + Elementor (height:100% en flex) = page non scrollable */
body.elementor-page .wrapper_inner,
body.elementor-page .content,
body.elementor-page .content_inner,
body.elementor-page .container_inner.page_container_inner,
body.collectif-single-galerie .wrapper_inner,
body.collectif-single-galerie .content,
body.collectif-single-galerie .content_inner,
body.collectif-single-galerie .container,
body.collectif-single-galerie .container_inner {
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
}

body.elementor-page .e-con,
body.elementor-page .e-con > .e-con-inner {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

body.elementor-page .e-con > .e-con-inner > .elementor-widget > .elementor-widget-container {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
}

body.elementor-page .elementor-widget-text-editor,
body.elementor-page .elementor-widget-text-editor .collectif-manifeste-inner,
body.elementor-page .elementor-widget-heading,
body.elementor-page .elementor-widget-heading .elementor-widget-container,
body.elementor-page .elementor-widget-shortcode,
body.elementor-page .elementor-widget-shortcode .elementor-widget-container {
	display: block !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

body,
body .qodef-page-wrapper,
body .qodef-wrapper {
	background-color: var(--collectif-cream);
	-webkit-font-smoothing: antialiased;
}

body,
body .qodef-content,
body .qodef-content-inner,
body .elementor,
body .elementor-page,
body p,
body li,
body label,
body input,
body select,
body textarea,
body button,
body blockquote,
body cite,
body figcaption,
body table,
body .wp-block-post-content {
	color: var(--collectif-text);
	font-family: var(--collectif-font-sans) !important;
	font-size: 1.0625rem;
	line-height: 1.65;
}

/* Barre d’admin WordPress (connecté) — header + menu mobile */
body.admin-bar {
	--collectif-wp-admin-bar-h: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--collectif-wp-admin-bar-h: 46px;
	}
}

body.admin-bar header.page_header.fixed,
body.admin-bar header.page_header.sticky,
body.admin-bar header.page_header.sticky_animate,
body.admin-bar header.page_header.scroll_header_top_area {
	top: var(--collectif-wp-admin-bar-h) !important;
}

body.admin-bar header.page_header .header_bottom,
body.admin-bar header.page_header .header_bottom .container_inner {
	overflow: visible !important;
}

/* Logo header — Collectif (2×, sous le menu, centré) */
body header.page_header .q_logo img.normal,
body header.page_header .q_logo img.mobile,
.q_logo_hidden img {
	height: 96px !important;
	width: auto !important;
	max-height: 96px !important;
}

body header.page_header .q_logo img.light,
body header.page_header .q_logo img.dark,
body header.page_header .q_logo img.sticky,
body header.page_header .q_logo img.popup {
	display: none !important;
}

body header.page_header .q_logo img.normal {
	display: block !important;
	opacity: 1 !important;
	position: relative !important;
	top: 0 !important;
	left: 0 !important;
	transform: none !important;
	margin: 0 !important;
}

body header.page_header .q_logo a {
	display: block !important;
	visibility: visible !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	left: 0 !important;
	margin: 0 !important;
	position: relative !important;
}

body header.page_header .header_bottom .logo_wrapper {
	float: none !important;
	height: auto !important;
	width: 100% !important;
	margin: 0 !important;
	left: 0 !important;
	position: relative !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

body header.page_header .q_logo {
	position: relative !important;
	top: 0 !important;
	left: 0 !important;
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	margin: 0 !important;
}

@media only screen and (min-width: 1000px) {
	:root {
		--collectif-header-stack-h: 13rem;
		--collectif-header-offset: 13rem;
	}

	body header.page_header .header_bottom .container_inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		position: relative !important;
		width: 100% !important;
	}

	body header.page_header .header_bottom nav.main_menu {
		order: 1 !important;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		float: none !important;
		width: 100% !important;
		text-align: center;
		margin: 0;
		padding: 10px 3rem 6px;
		box-sizing: border-box;
		overflow: visible !important;
	}

	body.admin-bar header.page_header .header_bottom nav.main_menu > ul {
		flex-wrap: wrap;
		row-gap: 0.35rem;
	}

	body header.page_header .header_bottom nav.main_menu.right > ul,
	body header.page_header .header_bottom nav.main_menu > ul {
		left: auto !important;
		position: relative !important;
		display: inline-flex;
		flex-wrap: wrap;
		justify-content: center;
		float: none;
		margin: 0 auto;
	}

	body header.page_header .header_bottom nav.main_menu ul li {
		float: none;
	}

	body header.page_header .header_bottom .header_inner_left {
		order: 2 !important;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		margin: 0 !important;
		padding: 6px 0 16px;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
	}

	body header.page_header .header_bottom .header_inner_left .mobile_menu_button {
		display: none;
	}

	body header.page_header .header_bottom .header_inner_right {
		order: 1 !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		left: auto !important;
		float: none !important;
		z-index: 3;
		margin: 0;
	}

	body header.page_header .header_bottom nav.mobile_menu {
		display: none !important;
	}

	body header.page_header.centered_logo:not(.sticky) .q_logo img,
	body header.page_header.centered_logo:not(.sticky) .q_logo img.normal {
		transform: none !important;
	}

	body header.page_header .header_bottom {
		padding-top: 0;
		padding-bottom: 0;
	}

	/* Menu desktop — style éditorial */
	body header.page_header .header_bottom nav.main_menu > ul > li > a {
		line-height: 1.2 !important;
		height: auto !important;
		padding: 0.45rem 0.75rem !important;
		font-size: 0.75rem !important;
		font-weight: 600 !important;
		letter-spacing: 0.1em !important;
		text-transform: uppercase !important;
		color: var(--collectif-muted) !important;
		opacity: 1 !important;
		transition: color var(--collectif-transition), background var(--collectif-transition);
		border-radius: 999px;
	}

	body header.page_header .header_bottom nav.main_menu > ul > li > a:hover,
	body header.page_header .header_bottom nav.main_menu > ul > li.active > a,
	body header.page_header .header_bottom nav.main_menu > ul > li.current-menu-item > a,
	body header.page_header .header_bottom nav.main_menu > ul > li.current_page_item > a {
		color: var(--collectif-accent) !important;
		background: rgba(47, 111, 115, 0.08);
		opacity: 1 !important;
	}

	body header.page_header .header_bottom nav.main_menu > ul > li > a .plus {
		display: none;
	}

	body header.page_header .drop_down .second,
	body header.page_header .drop_down .second .inner,
	body header.page_header .drop_down .second .inner > ul,
	body header.page_header li.narrow .second .inner ul {
		border: 1px solid var(--collectif-border) !important;
		border-radius: var(--collectif-radius) !important;
		box-shadow: 0 14px 36px rgba(43, 38, 34, 0.12) !important;
		overflow: hidden;
		background: var(--collectif-white) !important;
		background-color: var(--collectif-white) !important;
	}

	body header.page_header .drop_down .second .inner > ul,
	body header.page_header li.narrow .second .inner ul {
		padding: 0.35rem 0 !important;
	}

	body header.page_header .drop_down .second .inner ul li {
		padding: 0 !important;
		width: auto !important;
		min-width: 15rem;
	}

	body header.page_header .drop_down .second .inner ul li a,
	body header.page_header .drop_down .second .inner ul li h5,
	body header.page_header .drop_down .second ul li a {
		padding: 0.7rem 1.15rem !important;
		font-size: 0.875rem !important;
		font-weight: 500 !important;
		color: var(--collectif-text) !important;
		line-height: 1.45 !important;
		text-transform: none !important;
		letter-spacing: 0.01em !important;
		transition: background var(--collectif-transition), color var(--collectif-transition);
	}

	body header.page_header .drop_down .second .inner ul li a:hover,
	body header.page_header .drop_down .second .inner > ul > li > a:hover,
	body header.page_header .drop_down .second ul li a:hover {
		background: var(--collectif-alt) !important;
		color: var(--collectif-accent) !important;
	}
}

@media only screen and (max-width: 999px) {
	body header.page_header .header_bottom {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	body header.page_header .header_bottom .container_inner .header_inner_left,
	body header.page_header .header_bottom .header_inner_left {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		display: block;
		width: 100% !important;
		text-align: center;
		min-height: 4.5rem;
		padding: 0.35rem 3rem;
		box-sizing: border-box;
	}

	body header.page_header .header_bottom .logo_wrapper {
		left: auto !important;
		transform: none !important;
		margin: 0 auto !important;
	}

	body header.page_header .header_bottom .mobile_menu_button {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		display: flex !important;
		align-items: center;
		justify-content: center;
		min-width: 2.75rem;
		min-height: 2.75rem;
		margin: 0 !important;
		z-index: 5;
		-webkit-tap-highlight-color: transparent;
	}

	body header.page_header .header_bottom .mobile_menu_button span {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		height: 2.75rem;
		color: var(--collectif-accent) !important;
		background: var(--collectif-white);
		border: 1px solid var(--collectif-border);
		border-radius: var(--collectif-radius);
		box-shadow: var(--collectif-shadow);
		transition: background var(--collectif-transition), border-color var(--collectif-transition), transform var(--collectif-transition);
	}

	body header.page_header .header_bottom .mobile_menu_button:hover span,
	body header.page_header .header_bottom .mobile_menu_button:focus span {
		background: var(--collectif-alt);
		border-color: var(--collectif-accent);
		transform: scale(1.04);
	}

	body header.page_header .header_bottom .mobile_menu_button span svg {
		width: 1.35rem;
		height: 1.35rem;
	}

	body header.page_header .q_logo img.normal,
	body header.page_header .q_logo img.mobile {
		height: 64px !important;
		max-height: 64px !important;
	}

	/* Menu smartphone (Bridge) */
	nav.mobile_menu {
		background: linear-gradient(180deg, var(--collectif-cream) 0%, var(--collectif-white) 100%) !important;
		border-top: 3px solid var(--collectif-sage);
		box-shadow: 0 16px 40px rgba(43, 38, 34, 0.1);
		padding: 0.85rem 0.85rem 1.35rem;
		max-height: calc(100dvh - var(--collectif-header-stack-h)) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	body.admin-bar nav.mobile_menu {
		max-height: calc(100dvh - var(--collectif-wp-admin-bar-h) - var(--collectif-header-stack-h)) !important;
	}

	nav.mobile_menu > ul {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}

	nav.mobile_menu > ul > li {
		border: none !important;
		border-radius: var(--collectif-radius);
		overflow: hidden;
		background: var(--collectif-white);
		box-shadow: var(--collectif-shadow);
	}

	nav.mobile_menu ul li ul li {
		border-bottom-color: var(--collectif-border) !important;
		border-radius: 0;
		box-shadow: none;
		background: transparent;
	}

	nav.mobile_menu ul li a,
	nav.mobile_menu ul li h3 {
		display: flex;
		align-items: center;
		min-height: 3.15rem;
		padding: 0.8rem 3.5rem 0.8rem 1.1rem !important;
		font-family: var(--collectif-font-serif) !important;
		font-size: 1.02rem !important;
		font-weight: 400 !important;
		line-height: 1.35 !important;
		color: var(--collectif-text) !important;
		text-decoration: none;
		border-left: 3px solid transparent;
		transition: background var(--collectif-transition), color var(--collectif-transition), border-color var(--collectif-transition);
	}

	nav.mobile_menu ul li a:hover,
	nav.mobile_menu ul li.active > a,
	nav.mobile_menu ul li.current-menu-item > a,
	nav.mobile_menu ul li.current_page_item > a {
		background: var(--collectif-alt) !important;
		color: var(--collectif-accent) !important;
		border-left-color: var(--collectif-accent);
	}

	nav.mobile_menu ul li.open_sub > a {
		background: var(--collectif-alt) !important;
		color: var(--collectif-accent) !important;
		border-left-color: var(--collectif-sage);
	}

	nav.mobile_menu ul li ul {
		background: var(--collectif-cream);
		padding: 0.25rem 0 0.45rem;
	}

	nav.mobile_menu ul li ul li a {
		padding: 0.65rem 1rem 0.65rem 1.65rem !important;
		font-family: var(--collectif-font-sans) !important;
		font-size: 0.9rem !important;
		font-weight: 500 !important;
		color: var(--collectif-muted) !important;
		background: transparent;
		min-height: 2.85rem;
		border-left: none;
	}

	nav.mobile_menu ul li ul li a:hover {
		color: var(--collectif-accent) !important;
		background: rgba(255, 255, 255, 0.65) !important;
	}

	nav.mobile_menu ul li.open_sub > ul {
		border-top: 1px solid var(--collectif-border) !important;
	}

	nav.mobile_menu ul > li:not(.has_sub) > span.mobile_arrow {
		display: none !important;
	}

	nav.mobile_menu ul > li.has_sub > span.mobile_arrow {
		display: flex !important;
		align-items: center;
		justify-content: center;
		min-width: 2.35rem;
		min-height: 2.35rem;
		line-height: 1 !important;
		padding: 0 !important;
		right: 0.65rem;
		border-radius: 999px;
		background: var(--collectif-alt);
		border: 1px solid var(--collectif-border);
		color: var(--collectif-accent) !important;
		transition: background var(--collectif-transition), color var(--collectif-transition), transform var(--collectif-transition);
	}

	nav.mobile_menu ul > li.has_sub.open_sub > span.mobile_arrow {
		background: var(--collectif-accent);
		border-color: var(--collectif-accent);
		color: #fff !important;
	}

	nav.mobile_menu ul > li.has_sub > span.mobile_arrow .fa-angle-down {
		display: none;
	}

	nav.mobile_menu ul > li.has_sub.open_sub > span.mobile_arrow .fa-angle-right {
		display: none;
	}

	nav.mobile_menu ul > li.has_sub.open_sub > span.mobile_arrow .fa-angle-down {
		display: inline-block;
	}

	nav.main_menu {
		display: none !important;
	}
}

@supports (padding: max(0px)) {
	@media only screen and (max-width: 999px) {
		body header.page_header .header_bottom {
			padding-left: max(0.75rem, env(safe-area-inset-left));
			padding-right: max(0.75rem, env(safe-area-inset-right));
		}

		nav.mobile_menu ul li a {
			padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
		}
	}
}

h1,
h2,
h3,
h4,
h5,
h6,
.title h1,
.title_holder h1,
.title_holder .title_subtitle,
.qodef-page-title,
.qodef-m-title,
.entry-title,
.post-title,
.page-title,
.elementor-widget-heading .elementor-heading-title,
.wpb_text_column h1,
.wpb_text_column h2,
.wpb_text_column h3,
.wpb_text_column h4,
.wpb_text_column h5,
.wpb_text_column h6 {
	font-family: var(--collectif-font-serif) !important;
	font-weight: 400;
	color: var(--collectif-text);
	line-height: 1.2;
}

/* En-tête, menu, pied de page Bridge */
header,
header a,
footer,
footer a,
nav.main_menu > ul > li > a,
.drop_down .second a,
.drop_down .second h5,
.header_top,
.header_bottom,
.header-widget,
.qodef-mobile-header,
.qodef-mobile-nav a,
.qodef-mobile-nav-opener,
.qodef-side-menu,
.side_menu a,
.widget,
.widget a,
.widget_title,
#respond label,
.comment-form label {
	font-family: var(--collectif-font-sans) !important;
}

.elementor-button,
.elementor-button .elementor-button-text,
a.btn,
a.button,
input[type="submit"],
button[type="submit"],
.collectif-form-submit {
	font-family: var(--collectif-font-sans) !important;
}

.collectif-chapeau,
.chapeau {
	font-size: 1.125rem;
	line-height: 1.65;
	font-weight: 300;
	color: var(--collectif-muted);
	max-width: 42ch;
}

.sur-titre {
	display: block;
	font-family: var(--collectif-font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--collectif-accent);
	margin-bottom: 0.75rem;
}

.fil-ariane {
	font-size: 0.8125rem;
	color: var(--collectif-muted);
	margin-bottom: 1.5rem;
}

.fil-ariane a {
	color: var(--collectif-text);
	text-decoration: none;
}

.fil-ariane a:hover {
	color: var(--collectif-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Grilles & cartes */
.grille-annuaire,
.grille-clubs,
.grille-actions,
.grille-partenaires,
.grille-categories {
	display: grid;
	gap: 1.25rem;
}

.grille-annuaire,
.grille-clubs {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.collectif-section-clubs .grille-clubs,
.collectif-section-annuaire .grille-clubs {
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}

.collectif-clubs-annuaire .carte-club h3,
.collectif-clubs-home .carte-club h3 {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1.05rem;
}

.grille-actions {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.75rem;
}

.grille-actions .carte-action {
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border-radius: var(--collectif-radius-lg);
	transition: transform var(--collectif-transition), box-shadow var(--collectif-transition), border-color var(--collectif-transition);
}

.grille-actions .carte-action:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(43, 38, 34, 0.12);
	border-color: rgba(47, 111, 115, 0.22);
}

.grille-actions .collectif-action-thumb {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	background: var(--collectif-white);
	line-height: 0;
	overflow: hidden;
}

.grille-actions .collectif-action-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 30%, rgba(26, 38, 50, 0.55) 100%);
	opacity: 0;
	transition: opacity var(--collectif-transition);
	pointer-events: none;
}

.grille-actions .carte-action:hover .collectif-action-thumb::after {
	opacity: 1;
}

.grille-actions .collectif-action-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	padding: 0.75rem;
	box-sizing: border-box;
	transition: transform 0.35s ease;
}

.grille-actions .carte-action:hover .collectif-action-thumb img {
	transform: scale(1.03);
}

.grille-actions .collectif-thumb-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 1rem 1.15rem;
	font-family: var(--collectif-font-serif);
	font-size: 1rem;
	line-height: 1.25;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
	transform: translateY(100%);
	transition: transform 0.3s ease;
	pointer-events: none;
}

.grille-actions .carte-action:hover .collectif-thumb-overlay {
	transform: translateY(0);
}

.grille-actions .carte-action-body {
	padding: 1.35rem 1.5rem 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.grille-actions .carte-action h3 {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1.05rem;
}

.grille-actions .carte-action .collectif-lien-discret {
	font-weight: 600;
	margin-top: 0.15rem;
	transition: color var(--collectif-transition), border-color var(--collectif-transition);
}

.carte-annuaire,
.carte-club,
.grille-partenaires article,
.elementor-widget-icon-box .elementor-icon-box-wrapper {
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	box-shadow: var(--collectif-shadow);
}

.carte-annuaire,
.carte-club,
.grille-partenaires article {
	padding: 1.5rem;
	transition: box-shadow var(--collectif-transition);
}

.carte-annuaire:hover,
.carte-club:hover {
	box-shadow: 0 8px 28px rgba(43, 38, 34, 0.1);
}

.carte-annuaire h3,
.carte-club h3 {
	font-family: var(--collectif-font-serif);
	margin-top: 0;
	font-size: 1.2rem;
}

.carte-annuaire h3 a,
.carte-club h3 a {
	color: var(--collectif-text);
	text-decoration: none;
}

.carte-annuaire h3 a:hover,
.carte-club h3 a:hover {
	color: var(--collectif-accent);
}

/* Boutons */
.btn,
a.btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background: var(--collectif-accent);
	color: #fff !important;
	border-radius: var(--collectif-radius);
	text-decoration: none !important;
	font-weight: 500;
	font-size: 0.9375rem;
	transition: background var(--collectif-transition), color var(--collectif-transition);
}

.btn:hover {
	background: #265a60;
	color: #fff !important;
}

.btn-outline,
a.btn-outline {
	background: transparent;
	color: var(--collectif-accent) !important;
	border: 1px solid var(--collectif-accent);
}

.btn-outline:hover {
	background: var(--collectif-accent);
	color: #fff !important;
}

/* Sous-rubriques */
.sous-rubriques ul {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.sous-rubriques a {
	padding: 0.45rem 0.9rem;
	color: var(--collectif-text);
	text-decoration: none;
	font-size: 0.9rem;
	border-bottom: 1px solid transparent;
}

.sous-rubriques a:hover {
	color: var(--collectif-accent);
	border-bottom-color: var(--collectif-accent);
}

/* FAQ */
.faq-liste details {
	border-bottom: 1px solid var(--collectif-border);
	padding: 1rem 0;
	background: transparent;
}

.faq-liste summary {
	font-family: var(--collectif-font-serif);
	font-size: 1.1rem;
	cursor: pointer;
	color: var(--collectif-text);
}

.faq-liste summary:hover {
	color: var(--collectif-accent);
}

/* Tableaux */
table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.25rem 0;
}

th,
td {
	border-bottom: 1px solid var(--collectif-border);
	padding: 0.75rem 0;
	text-align: left;
}

th {
	color: var(--collectif-muted);
	font-weight: 600;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* Elementor */
.elementor-widget-text-editor p {
	color: var(--collectif-muted);
}

.elementor-widget-icon-box .elementor-icon {
	color: var(--collectif-accent) !important;
}

.elementor-widget-icon-box .elementor-icon-box-description {
	color: var(--collectif-muted);
	font-weight: 300;
}

.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg {
	background-color: var(--collectif-accent) !important;
	color: #fff !important;
	border-radius: var(--collectif-radius) !important;
	font-family: var(--collectif-font-sans) !important;
	font-weight: 500 !important;
	padding: 0.75rem 1.5rem !important;
	transition: background var(--collectif-transition) !important;
}

.elementor-button:hover {
	background-color: #265a60 !important;
}

/* Hero accueil */
.collectif-hero-home,
.collectif-hero-normandie {
	background-color: var(--collectif-cream) !important;
}

.collectif-hero-home .collectif-hero-image img,
.collectif-hero-image img {
	width: 100%;
	max-height: 52vh;
	object-fit: cover;
	border-radius: var(--collectif-radius);
	box-shadow: var(--collectif-shadow);
}

.collectif-hero-home h1.elementor-heading-title,
.collectif-hero-normandie h1.elementor-heading-title {
	font-size: clamp(2rem, 4.5vw, 3.25rem) !important;
	font-weight: 400 !important;
}

.collectif-hero-home h6.elementor-heading-title,
.collectif-hero-normandie h6.elementor-heading-title {
	font-family: var(--collectif-font-sans) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--collectif-accent) !important;
}

.collectif-section-cream {
	background-color: var(--collectif-cream) !important;
}

.collectif-section-alt {
	background-color: var(--collectif-alt) !important;
}

.collectif-cta-normandie {
	background-color: var(--collectif-accent) !important;
}

.collectif-cta-normandie .elementor-button {
	background-color: #fff !important;
	color: var(--collectif-accent) !important;
}

.collectif-cta-normandie .elementor-button:hover {
	background-color: var(--collectif-cream) !important;
}

.collectif-liste-agenda {
	list-style: none;
	padding: 0;
	margin: 0;
}

.collectif-liste-agenda li {
	padding: 0.65rem 0;
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-liste-agenda em {
	color: var(--collectif-muted);
	font-style: normal;
}

/* Calendrier agenda */
.collectif-agenda-calendar {
	max-width: 960px;
	margin: 0 auto;
}

.collectif-cal-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

.collectif-cal-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem 1.25rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-cal-filters .collectif-cal-filter {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
	flex: 1 1 14rem;
}

.collectif-cal-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.85rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-cal-filter-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--collectif-muted);
	flex: 0 0 auto;
}

.collectif-cal-filter-select {
	min-width: min(100%, 16rem);
	max-width: 100%;
	flex: 1 1 12rem;
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	font-family: var(--collectif-font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--collectif-text);
	background: var(--collectif-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232F6F73' d='M6 8 0 0h12z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	appearance: none;
	cursor: pointer;
	transition: border-color var(--collectif-transition), box-shadow var(--collectif-transition);
}

.collectif-cal-filter-select:hover,
.collectif-cal-filter-select:focus {
	border-color: var(--collectif-accent);
	outline: none;
	box-shadow: 0 0 0 2px rgba(47, 111, 115, 0.15);
}

.collectif-cal-title {
	font-family: var(--collectif-font-serif);
	font-size: 1.35rem;
	font-weight: 400;
	margin: 0;
	text-align: center;
	flex: 1;
	min-width: 12rem;
	padding: 0.45rem 1.25rem;
	border-radius: 999px;
	background: var(--collectif-cream);
	color: var(--collectif-text);
}

.collectif-cal-nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--collectif-accent);
	text-decoration: none;
	padding: 0.55rem 1.1rem;
	border: 1px solid var(--collectif-border);
	border-radius: 999px;
	background: var(--collectif-white);
	transition: border-color var(--collectif-transition), box-shadow var(--collectif-transition), background var(--collectif-transition);
}

.collectif-cal-nav-btn:hover {
	border-color: var(--collectif-accent);
	box-shadow: 0 0 0 2px rgba(47, 111, 115, 0.12);
	background: var(--collectif-white);
	color: var(--collectif-accent);
}

.collectif-cal-grid {
	width: 100%;
	border-collapse: separate;
	border-spacing: 4px;
	table-layout: fixed;
}

.collectif-cal-grid th {
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--collectif-muted);
	padding: 0.5rem 0.25rem;
	text-align: center;
}

.collectif-cal-day {
	vertical-align: top;
	min-height: 5.5rem;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	padding: 0.4rem 0.35rem 0.5rem;
}

.collectif-cal-day--empty {
	background: transparent;
	border-color: transparent;
}

.collectif-cal-day--today {
	border-color: var(--collectif-accent);
	box-shadow: inset 0 0 0 1px var(--collectif-accent);
}

.collectif-cal-day--today .collectif-cal-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	padding: 0.1rem 0.4rem;
	color: #fff;
	background: linear-gradient(135deg, var(--collectif-sunset) 0%, var(--collectif-sunset-deep) 100%);
	border-radius: 999px;
}

.collectif-cal-day--has-events {
	background: var(--collectif-cream);
}

.collectif-cal-num {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--collectif-primary);
	margin-bottom: 0.35rem;
}

.collectif-cal-events {
	list-style: none;
	margin: 0;
	padding: 0;
}

.collectif-cal-events li {
	margin: 0 0 0.25rem;
	line-height: 1.25;
}

.collectif-vignette {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 4px;
	border: 1px solid var(--collectif-border);
	background: var(--collectif-white);
	box-shadow: 0 1px 2px rgba(43, 38, 34, 0.06);
}

.collectif-vignette img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.collectif-vignette--logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

.collectif-vignette--logo img {
	object-fit: contain !important;
	object-position: center;
	box-sizing: border-box;
	padding: 0.2rem;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
}

.collectif-vignette--cal {
	width: 2.25rem;
	height: 2.25rem;
}

.collectif-vignette--cal.collectif-vignette--logo {
	width: 2.75rem;
	height: auto;
	aspect-ratio: 16 / 10;
}

.collectif-vignette--list {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 8px;
}

.collectif-vignette--list.collectif-vignette--logo {
	width: 6.5rem;
	height: auto;
	aspect-ratio: 16 / 10;
	border-radius: 8px;
}

.collectif-cal-event-link {
	display: grid;
	grid-template-columns: 2.25rem minmax(0, 1fr);
	column-gap: 0.4rem;
	align-items: start;
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--collectif-accent);
	text-decoration: none;
	min-width: 0;
	text-align: left;
}

.collectif-cal-event-link > .collectif-vignette {
	grid-column: 1;
	grid-row: 1;
	align-self: start;
}

.collectif-cal-event-link--logo {
	grid-template-columns: 2.75rem minmax(0, 1fr);
}

.collectif-cal-event-link:hover {
	color: var(--collectif-primary);
}

.collectif-cal-event-link:hover .collectif-cal-event-label {
	text-decoration: underline;
}

.collectif-cal-event-text {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	align-self: start;
}

.collectif-cal-event-time,
.collectif-event-time {
	display: block;
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
}

.collectif-cal-event-time {
	color: var(--collectif-accent);
}

.collectif-event-time {
	color: var(--collectif-muted);
}

.collectif-date .collectif-event-time {
	margin-top: 0.2rem;
	font-size: 0.6875rem;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.95);
}

.collectif-cal-event-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.25;
}

.collectif-event-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin-top: 0.25rem;
}

.collectif-event-club {
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--collectif-accent);
	line-height: 1.3;
}

.collectif-event-lieu {
	font-size: 0.6875rem;
	font-weight: 500;
	color: var(--collectif-muted);
	line-height: 1.3;
}

.collectif-event-club + .collectif-event-lieu::before {
	content: "·";
	margin-right: 0.35rem;
	color: var(--collectif-border);
}

.collectif-event-badges {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.collectif-event-badge {
	display: inline-block;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.02em;
	background: var(--collectif-cream);
	color: var(--collectif-muted);
	border: 1px solid var(--collectif-border);
}

.collectif-event-badge--sortie {
	background: #e8f2f2;
	color: #2f6f73;
	border-color: #c5ddde;
}

.collectif-event-badge--atelier {
	background: #f3ebe3;
	color: #6b5344;
	border-color: #e0d4c8;
}

.collectif-event-badge--exposition {
	background: #eeeaf6;
	color: #5c4d7a;
	border-color: #d8cfe8;
}

.collectif-cal-event-meta {
	margin-top: 0.1rem;
}

.collectif-cal-event-meta .collectif-event-club {
	font-size: 0.5625rem;
}

.collectif-cal-event-meta .collectif-event-badge {
	font-size: 0.5rem;
	padding: 0.05rem 0.35rem;
}

.collectif-event .collectif-event-meta {
	margin-top: 0.35rem;
}

.collectif-event-details {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin-top: 0.35rem;
}

.collectif-cal-list .collectif-event-list-lieu {
	display: block;
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--collectif-muted);
	line-height: 1.4;
}

.collectif-cal-list .collectif-event-list-lieu::before {
	content: "Lieu : ";
	font-weight: 600;
	color: var(--collectif-text);
}

.collectif-section-evenement-intro .collectif-event-meta {
	justify-content: center;
	margin: 0.5rem 0 0;
}

/* Fiches événement : masquer le bandeau Bridge (titre coupé) et les doublons single.php. */
body.collectif-single-event .title_outer,
body.collectif-single-event .title,
body.collectif-single-galerie .title_outer,
body.collectif-single-galerie .title {
	display: none !important;
}

/* Bridge overlapping_content_inner coupe le haut du contenu (overflow:hidden). */
body.collectif-single-galerie .overlapping_content .overlapping_content_inner,
body.collectif-galerie-elementor .overlapping_content .overlapping_content_inner {
	overflow: visible !important;
}

body.collectif-single-galerie .blog_single.blog_holder {
	overflow: visible !important;
}

body.collectif-galerie-elementor .blog_single .post_image,
body.collectif-galerie-elementor .blog_single .entry_title,
body.collectif-galerie-elementor .blog_single .post_info,
body.collectif-galerie-elementor .blog_single .single_top_part_holder {
	display: none !important;
}

body.collectif-galerie-elementor .blog_single .post_text_inner,
body.collectif-evenement-elementor .blog_single .post_text_inner,
body.collectif-actualite-elementor .blog_single .post_text_inner {
	padding-top: var(--collectif-header-offset, calc(var(--collectif-header-stack-h) + var(--collectif-wp-admin-bar-h)));
}

body.collectif-single-galerie .blog_single .post_text_inner {
	padding-top: 0 !important;
}

body.collectif-single-galerie .collectif-section-galerie-single-body {
	padding-top: 0 !important;
	overflow: visible !important;
}

body.collectif-single-galerie .collectif-section-galerie-single-body > .e-con-inner {
	align-items: start !important;
	height: auto !important;
	min-height: 0 !important;
}

body.collectif-single-galerie .collectif-section-galerie-single-body .elementor-widget-shortcode {
	display: block !important;
	width: 100% !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
}

body.collectif-single-galerie .collectif-section-galerie-single-body .elementor-widget-shortcode,
body.collectif-single-galerie .collectif-section-galerie-single-body .elementor-widget-shortcode .elementor-widget-container {
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
}

.collectif-galerie-single-page,
.collectif-galerie-fiche {
	width: 100%;
	margin: 0;
	overflow: visible;
}

/* Fiche galerie — HTML dédié (sans Elementor), charte /galeries-photo/ */
body.collectif-page-galerie-single .title_outer,
body.collectif-page-galerie-single .title,
body.collectif-single-galerie .title_outer,
body.collectif-single-galerie .title {
	display: none !important;
}

.collectif-galerie-single-shell,
.collectif-galerie-fiche,
.collectif-galerie-section {
	display: block;
	width: 100%;
	overflow: visible;
}

body.collectif-single-galerie .wrapper,
body.collectif-single-galerie .wrapper_inner {
	overflow: visible !important;
	height: auto !important;
	min-height: 0 !important;
}

/* Fiches galerie + /galeries-photo/ : header en flux (évite le bandeau blanc qui recouvre le contenu). */
body.collectif-single-galerie header.page_header,
body.collectif-page-galeries header.page_header {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	z-index: 120;
}

body.collectif-single-galerie header.page_header.sticky,
body.collectif-single-galerie header.page_header.fixed,
body.collectif-page-galeries header.page_header.sticky,
body.collectif-page-galeries header.page_header.fixed {
	position: relative !important;
	top: auto !important;
}

body.collectif-single-galerie .collectif-galerie-single-shell {
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 50vh;
	padding: 0;
}

body.collectif-single-galerie .content,
body.collectif-single-galerie .content_inner,
body.collectif-single-galerie .container,
body.collectif-single-galerie .container_inner {
	position: relative;
	z-index: 1;
	overflow: visible !important;
	height: auto !important;
	max-width: 100%;
	width: 100%;
}

body.collectif-single-galerie .content,
body.collectif-page-galeries .content {
	margin-top: 0 !important;
	background-color: var(--collectif-cream);
}

body.collectif-header-fixed.collectif-single-galerie .content,
body.collectif-header-fixed.collectif-page-galeries .content {
	padding-top: var(--collectif-header-offset, 13rem) !important;
}

body.collectif-single-galerie #parcourir-galeries,
body.collectif-single-galerie #collectif-galerie-main,
body.collectif-page-galeries #parcourir-galeries {
	scroll-margin-top: calc(var(--collectif-header-offset, 13rem) + var(--collectif-wp-admin-bar-h, 0px));
}

body.collectif-single-galerie .content .container,
body.collectif-single-galerie .content .container_inner {
	background: transparent;
}

.collectif-galerie-section-inner {
	width: 100%;
	margin: 0 auto;
}

.collectif-section-galerie-single-hero {
	padding: 5.5rem 3rem 3rem;
}

body.collectif-single-galerie .collectif-section-galerie-single-hero {
	padding-top: 3rem;
}

.collectif-section-galerie-single-hero .collectif-galerie-section-inner {
	max-width: 52rem;
	text-align: center;
}

.collectif-section-galerie-single-hero .fil-ariane {
	text-align: left;
	margin-bottom: 1.25rem;
}

.collectif-section-galerie-single-hero .sur-titre,
.collectif-section-galerie-single-hero .collectif-galerie-single-title,
.collectif-section-galerie-single-hero .collectif-intro {
	margin-left: auto;
	margin-right: auto;
}

.collectif-section-galerie-single-grid {
	padding: 4rem 3rem;
}

.collectif-section-galerie-single-grid .collectif-galerie-section-inner {
	max-width: 72rem;
}

.collectif-galerie-single-grid-title,
.collectif-galerie-single-about-title {
	margin: 0 0 0.5rem;
	text-align: center;
	font-size: clamp(1.225rem, 2.1vw, 1.575rem);
}

.collectif-section-galerie-single-grid .collectif-galerie-series-hint {
	margin: 0 auto 1.5rem;
	max-width: 36rem;
	text-align: center;
	font-size: 0.9375rem;
	color: var(--collectif-muted);
}

.collectif-section-galerie-single-grid .collectif-galerie-series-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.125rem;
}

.collectif-section-galerie-single-grid .collectif-galerie-thumb {
	cursor: zoom-in;
	background: var(--collectif-cream);
}

.collectif-section-galerie-single-grid .collectif-galerie-thumb img {
	object-fit: contain;
	object-position: center center;
}

.collectif-section-galerie-single-grid .collectif-galerie-card:hover .collectif-galerie-thumb img,
.collectif-section-galerie-single-grid .collectif-galerie-thumb:hover img {
	transform: none;
}

.collectif-section-galerie-single-grid .collectif-galerie-card:hover .collectif-galerie-thumb::after,
.collectif-section-galerie-single-grid .collectif-galerie-thumb:hover::after {
	opacity: 0;
}

.collectif-section-galerie-single-grid .collectif-galerie-card.collectif-galerie-series-item {
	padding: 0.75rem 0.75rem 0.9rem;
}

.collectif-section-galerie-single-about {
	padding: 3.5rem 3rem !important;
}

.collectif-section-galerie-single-about .collectif-galerie-section-inner {
	max-width: 42rem;
	margin: 0 auto;
}

.collectif-section-galerie-single-about .collectif-galerie-single-about-title {
	margin: 0 0 1rem;
}

.collectif-section-galerie-single-footer {
	padding: 2rem 3rem 4rem !important;
	text-align: center;
}

.collectif-galerie-fiche-back {
	margin: 0;
}

body.collectif-page-galerie-single .collectif-galerie-card h3,
body.collectif-page-galerie-single .collectif-galerie-card .collectif-legende {
	text-align: left;
}

.collectif-galerie-single-editorial-wrap {
	position: relative;
	z-index: 3;
	max-width: 960px;
	margin: 0 auto;
	padding: calc(var(--collectif-header-offset, 13rem) + 1rem) 1.5rem 0;
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
}

body.collectif-single-galerie .collectif-galerie-single-editorial,
body.collectif-single-galerie .collectif-section-galerie-single-intro {
	position: relative;
	z-index: 2;
	padding: 1.5rem 0 2rem;
	background: var(--collectif-alt);
	overflow: visible !important;
	scroll-margin-top: var(--collectif-header-offset, var(--collectif-header-stack-h));
}

body.collectif-single-galerie .collectif-section-galerie-single-hero {
	overflow: visible !important;
}

body.collectif-single-galerie .blog_single .post_content_holder,
body.collectif-single-galerie .blog_single .post_text_inner,
body.collectif-single-galerie .elementor,
body.collectif-single-galerie .e-con.collectif-section-galerie-single-body,
body.collectif-single-galerie .collectif-section-galerie-single-body,
body.collectif-single-galerie .collectif-galerie-single-page {
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
}

.collectif-galerie-single-editorial .collectif-contact-note {
	text-align: center;
	margin-top: 1.5rem;
}

.collectif-galerie-single-page .collectif-galerie-series {
	padding: 0 1.5rem 2rem;
}

.collectif-galerie-single-legends {
	max-width: 52rem;
	margin: 0 auto;
	padding: 0 1.5rem 2.5rem;
	overflow: visible;
}

.collectif-galerie-single-legends .collectif-page-body h2 {
	margin-top: 0;
}

body.collectif-galerie-elementor .blog_single .post_content_holder,
body.collectif-evenement-elementor .blog_single .post_content_holder,
body.collectif-actualite-elementor .blog_single .post_content_holder {
	margin-top: 0;
}

body.collectif-evenement-elementor .blog_single .post_image,
body.collectif-evenement-elementor .blog_single .entry_title,
body.collectif-evenement-elementor .blog_single .post_info,
body.collectif-evenement-elementor .blog_single .single_top_part_holder,
body.collectif-actualite-elementor .blog_single .post_image,
body.collectif-actualite-elementor .blog_single .entry_title,
body.collectif-actualite-elementor .blog_single .post_info,
body.collectif-actualite-elementor .blog_single .single_top_part_holder {
	display: none !important;
}


/* Fiche événement : image mise en avant à 50 % (CPT evenement + articles agenda) */
body.collectif-single-event .blog_single .post_image {
	display: block;
	width: 50%;
	max-width: 512px;
	margin: 0 auto 1.5rem;
	overflow: visible;
	border-radius: var(--collectif-radius-lg);
	border: 1px solid var(--collectif-border);
	background: var(--collectif-white);
	line-height: normal;
}

body.collectif-single-event .blog_single .post_image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
}

body.collectif-single-event .collectif-section-evenement-lead .collectif-lead-frame,
body.collectif-single-event .collectif-lead-editorial .collectif-lead-frame,
body.collectif-evenement-elementor .collectif-lead-editorial .collectif-lead-frame {
	width: 50% !important;
	max-width: 480px;
	margin: 0 auto;
}

body.collectif-single-event .collectif-section-evenement-lead:not(.collectif-lead-editorial--logo) .collectif-lead-frame img,
body.collectif-single-event .collectif-lead-editorial:not(.collectif-lead-editorial--logo) .collectif-lead-frame img,
body.collectif-evenement-elementor .collectif-lead-editorial:not(.collectif-lead-editorial--logo) .collectif-lead-frame img {
	max-height: min(21vh, 200px);
}

/* Logos association en tête d'événement : cadre dédié (hors collectif-lead-editorial 21:9). */
.collectif-event-logo-lead {
	background-color: var(--collectif-cream) !important;
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-event-logo-lead > .e-con-inner {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

body.collectif-single-event .collectif-event-logo-lead .collectif-event-logo-frame {
	width: 50% !important;
	max-width: 480px;
	margin: 0 auto;
}

body.collectif-single-event .collectif-event-logo-lead .collectif-event-logo-image {
	overflow: visible;
	line-height: normal;
	border-radius: var(--collectif-radius-lg);
	border: 1px solid var(--collectif-border);
	background: var(--collectif-white);
	box-shadow: 0 8px 32px rgba(43, 38, 34, 0.08);
}

body.collectif-single-event .collectif-event-logo-lead .collectif-event-logo-image img,
body.collectif-single-event .collectif-lead-editorial--logo .collectif-lead-frame img,
body.collectif-single-event .collectif-lead-editorial--logo .elementor-widget-image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100%;
	max-height: none !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center center !important;
	padding: 1.25rem;
	box-sizing: border-box;
}

body.collectif-single-event .collectif-lead-editorial--logo .collectif-lead-frame,
body.collectif-single-event .collectif-lead-editorial--logo .collectif-page-lead-image {
	overflow: visible !important;
	line-height: normal !important;
	height: auto !important;
}

body.collectif-single-event .collectif-lead-editorial--logo .collectif-lead-frame:hover img {
	transform: none !important;
}

body.collectif-single-event .blog_single .post_image .collectif-event-logo-thumb {
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
	object-position: center;
	padding: 1rem;
	box-sizing: border-box;
}

/* Fiches association (6 clubs) : logo centré dans le bloc crème */
body.single-association .blog_single .entry_title,
body.single-association .blog_single .post_info,
body.collectif-single-association .blog_single .entry_title,
body.collectif-single-association .blog_single .post_info {
	display: none !important;
}

body.single-association .blog_single .post_text_inner,
body.collectif-single-association .blog_single .post_text_inner {
	padding-top: var(--collectif-header-offset, 6.5rem);
}

body.single-association .blog_single .post_image,
body.collectif-single-association .blog_single .post_image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: none;
	min-height: min(42vh, 22rem);
	margin: 0;
	padding: 2.5rem 1.5rem;
	overflow: visible;
	border: none;
	border-radius: 0;
	background: var(--collectif-cream);
	box-shadow: none;
	line-height: normal;
}

body.single-association .blog_single .post_image img,
body.single-association .blog_single .post_image .collectif-association-logo-thumb,
body.collectif-single-association .blog_single .post_image img,
body.collectif-single-association .blog_single .post_image .collectif-association-logo-thumb {
	display: block;
	width: auto;
	max-width: min(50vw, 18rem);
	height: auto;
	object-fit: contain;
	object-position: center;
	padding: 0.75rem;
	border-radius: var(--collectif-radius-lg);
	border: 1px solid var(--collectif-border);
	background: var(--collectif-white);
	box-shadow: 0 8px 28px rgba(43, 38, 34, 0.06);
	box-sizing: border-box;
}

body.single-association .collectif-section-club-intro,
body.collectif-single-association .collectif-section-club-intro {
	margin-top: 0;
	padding-top: 3.5rem !important;
}

.collectif-cal-list {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--collectif-border);
}

.collectif-cal-list-title {
	font-family: var(--collectif-font-serif);
	font-size: 1.25rem;
	font-weight: 400;
	margin: 0 0 1rem;
}

.collectif-agenda-calendar .collectif-cal-list-items li.collectif-cal-item {
	display: grid !important;
	grid-template-columns: 5.5rem 4.5rem minmax(0, 1fr) !important;
	gap: 0.85rem;
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-agenda-calendar .collectif-cal-list-items li.collectif-cal-item:has(.collectif-cal-vignette--logo) {
	grid-template-columns: 5.5rem 6.5rem minmax(0, 1fr) !important;
}

.collectif-cal-vignette {
	display: block;
	line-height: 0;
	text-decoration: none;
}

.collectif-cal-vignette:hover .collectif-vignette {
	border-color: var(--collectif-accent);
}

.collectif-cal-vignette--empty {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 8px;
	background: var(--collectif-cream);
	border: 1px dashed var(--collectif-border);
}

.collectif-section-agenda-calendar .collectif-vignette,
.collectif-section-agenda-calendar .collectif-vignette img,
.collectif-section-agenda-calendar .collectif-cal-vignette {
	display: block;
	visibility: visible;
	opacity: 1;
	max-width: none;
}

.collectif-section-agenda-calendar .collectif-cal-list {
	max-width: 100%;
}

.collectif-cal-empty {
	color: var(--collectif-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
	margin: 0;
}

.collectif-agenda-help {
	max-width: 52ch;
	margin: 0 auto;
	text-align: center;
}

.collectif-agenda-help h2 {
	font-family: var(--collectif-font-serif);
	font-size: 1.15rem;
	font-weight: 400;
	margin: 1.5rem 0 0.5rem;
}

.collectif-agenda-help h2:first-child {
	margin-top: 0;
}

.collectif-agenda-help p {
	color: var(--collectif-muted);
	line-height: 1.6;
	margin: 0 0 0.75rem;
}

.collectif-intro {
	color: var(--collectif-muted);
	max-width: 52ch;
}

/* Actualités */
.collectif-page-actualites {
	width: 100%;
}

.collectif-section-news-intro .elementor-widget-heading,
.collectif-section-news-intro .elementor-widget-text-editor,
.collectif-section-news-intro .collectif-intro,
.collectif-section-agenda-intro .elementor-widget-heading,
.collectif-section-agenda-intro .elementor-widget-text-editor,
.collectif-section-agenda-intro .collectif-intro {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.collectif-section-news-intro .collectif-intro {
	max-width: 42ch;
}

.collectif-section-agenda-intro .collectif-intro {
	max-width: 52ch;
}

.collectif-section-news-list .elementor-widget-heading h2 {
	text-align: center;
}

.collectif-section-news-list .collectif-blog-archive {
	width: 100%;
	max-width: 48rem;
	margin: 1rem auto 0;
}

.collectif-section-action-posts {
	width: 100%;
}

.collectif-section-action-posts .elementor-widget-heading h2 {
	text-align: center;
}

.collectif-section-action-posts .collectif-blog-archive {
	width: 100%;
	max-width: 720px;
	margin: 1rem auto 0;
}

.collectif-section-action-posts .collectif-action-back {
	margin-top: 0.5rem;
	width: 100%;
	text-align: center;
}

.collectif-section-news-list .collectif-blog-pagination {
	text-align: center;
}

body.collectif-actualites .qodef-content .qodef-content-inner {
	max-width: none;
}

.collectif-blog-archive {
	margin-top: 1rem;
}

.collectif-blog-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.collectif-blog-list--compact {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

.collectif-blog-item {
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-blog-item:last-child {
	border-bottom: none;
}

.collectif-blog-card {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding: 1.15rem 0;
	background: transparent;
	border: none;
	box-shadow: none;
	border-radius: 0;
}

.collectif-blog-card--logo {
	grid-template-columns: 6.5rem minmax(0, 1fr);
}

.collectif-blog-vignette {
	display: block;
	line-height: 0;
	text-decoration: none;
	flex-shrink: 0;
	max-width: 100%;
}

.collectif-blog-vignette--logo {
	align-self: start;
	width: 6.5rem;
	max-width: 100%;
}

.collectif-blog-vignette--logo .collectif-vignette--list {
	width: 100%;
}

.collectif-blog-vignette:hover .collectif-vignette {
	border-color: var(--collectif-accent);
}

.collectif-blog-vignette--empty {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 8px;
	background: var(--collectif-cream);
	border: 1px dashed var(--collectif-border);
}

.collectif-blog-body {
	padding: 0;
	min-width: 0;
}

.collectif-blog-title {
	font-family: var(--collectif-font-serif);
	font-size: 1.2rem;
	margin: 0 0 0.25rem;
}

.collectif-blog-cat {
	display: block;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--collectif-accent);
	margin: 0 0 0.35rem;
}

.collectif-blog-title a {
	color: var(--collectif-text);
	text-decoration: none;
}

.collectif-blog-title a:hover {
	color: var(--collectif-accent);
}

.collectif-blog-meta {
	font-size: 0.8125rem;
	color: var(--collectif-muted);
}

.collectif-blog-more {
	font-weight: 500;
	color: var(--collectif-accent);
	text-decoration: none;
}

.collectif-blog-more:hover {
	text-decoration: underline;
}

.collectif-blog-pagination {
	margin-top: 2rem;
}

.collectif-blog-pagination .page-numbers {
	display: inline-block;
	margin: 0 0.2rem;
	padding: 0.45rem 0.85rem;
	min-width: 2.25rem;
	text-align: center;
	border: 1px solid var(--collectif-border);
	border-radius: 999px;
	color: var(--collectif-text);
	text-decoration: none;
	background: var(--collectif-white);
	transition: background var(--collectif-transition), border-color var(--collectif-transition), color var(--collectif-transition);
}

.collectif-blog-pagination .current,
.collectif-blog-pagination .page-numbers:hover {
	background: var(--collectif-accent);
	color: #fff;
	border-color: var(--collectif-accent);
}

/* Formulaire contact */
.collectif-contact-form {
	max-width: 560px;
}

.collectif-contact-form label {
	font-weight: 500;
	font-size: 0.875rem;
	color: var(--collectif-text);
}

.collectif-contact-form input:not([type="checkbox"]):not([type="radio"]),
.collectif-contact-form select,
.collectif-contact-form textarea {
	width: 100%;
	padding: 0.75rem 0;
	border: none;
	border-bottom: 1px solid var(--collectif-border);
	background: transparent;
	font-family: var(--collectif-font-sans);
	font-size: 1rem;
}

.collectif-contact-form .collectif-rgpd label,
.collectif-rgpd label {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	font-weight: 400;
	font-size: 0.875rem;
	line-height: 1.45;
	cursor: pointer;
}

.collectif-contact-form .collectif-rgpd input[type="checkbox"],
.collectif-rgpd input[type="checkbox"] {
	width: auto;
	min-width: 1.1rem;
	height: 1.1rem;
	margin: 0.15rem 0 0;
	padding: 0;
	flex-shrink: 0;
	border: 1px solid var(--collectif-border);
	border-radius: 3px;
	background: var(--collectif-white);
	accent-color: var(--collectif-accent);
}

.collectif-contact-form input:not([type="checkbox"]):not([type="radio"]):focus,
.collectif-contact-form select:focus,
.collectif-contact-form textarea:focus {
	outline: none;
	border-bottom-color: var(--collectif-accent);
}

.collectif-form-submit {
	background: var(--collectif-accent);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 0.8rem 1.75rem;
	font-weight: 500;
	cursor: pointer;
	transition: background var(--collectif-transition);
}

.collectif-form-submit:hover {
	background: #265a60;
}

.collectif-form-notice {
	border-left: 3px solid var(--collectif-accent);
	padding: 0.85rem 1rem 0.85rem 1.15rem;
	margin-bottom: 1.25rem;
	border-radius: var(--collectif-radius);
	background: var(--collectif-alt);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--collectif-text);
}

.collectif-form-success {
	border-left-color: var(--collectif-accent);
}

.collectif-form-error {
	border-left-color: var(--collectif-brick);
	background: #faf4f3;
}

.collectif-section-connexion-intro {
	border-top: 3px solid var(--collectif-sage);
}

.collectif-section-connexion-form .collectif-login-form {
	max-width: 28rem;
	margin: 0 auto;
	padding: 2rem 1.75rem;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	box-shadow: var(--collectif-shadow);
}

.collectif-login-form .login-remember label {
	font-size: 0.875rem;
	color: var(--collectif-muted);
}

.collectif-login-form #collectif_wp_submit {
	background: var(--collectif-accent);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 0.8rem 1.75rem;
	font-weight: 500;
	font-family: var(--collectif-font-sans);
	font-size: 1rem;
	cursor: pointer;
	transition: background var(--collectif-transition);
}

.collectif-login-form #collectif_wp_submit:hover {
	background: #265a60;
}

.collectif-login-help {
	font-size: 0.9rem;
	color: var(--collectif-muted);
	margin-top: 1.5rem;
}

.collectif-login-help a {
	color: var(--collectif-accent);
	text-decoration: none;
}

.collectif-login-help a:hover {
	text-decoration: underline;
}

/* Thèmes de page (warm / editorial) */
body.collectif-theme-warm .sur-titre {
	color: var(--collectif-brick);
}

body.collectif-theme-editorial .sur-titre {
	color: var(--collectif-accent);
}

/* ——— Page d'accueil ——— */
body.collectif-home .qodef-content .qodef-content-inner,
body.collectif-page-galeries .qodef-content .qodef-content-inner,
body.collectif-page-newsletter .qodef-content .qodef-content-inner,
body.collectif-page-connexion .title_outer,
body.collectif-page-connexion .title {
	display: none !important;
}

body.collectif-page-connexion .qodef-content .qodef-content-inner,
body.collectif-page-galerie .qodef-content .qodef-content-inner,
body.collectif-page-ma-galerie .qodef-content .qodef-content-inner,
body.collectif-page-agenda .qodef-content .qodef-content-inner,
body.collectif-actualites .qodef-content .qodef-content-inner,
.collectif-espace-membres-hub {
	max-width: var(--collectif-content-max, 1100px);
	margin: 0 auto;
	width: 100%;
}

.collectif-espace-membres-hub > .collectif-article-form-wrap:first-child,
.collectif-espace-membres-hub > .collectif-adherent-reg-form-wrap:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

#enregistrer-adherents,
#liste-adherents,
#proposer-article,
#deposer-ressource,
#composer-newsletter {
	scroll-margin-top: calc(var(--collectif-header-offset, var(--collectif-header-stack-h, 6.5rem)) + 1.5rem);
}

.collectif-section-membres-hub .elementor-widget-shortcode,
.collectif-section-membres-hub .elementor-shortcode {
	width: 100%;
	max-width: 100%;
}

.collectif-adherent-reg-form.collectif-contact-form,
.collectif-adherent-csv-form.collectif-contact-form {
	max-width: none;
}

.collectif-espace-membres-quick-links {
	width: 100%;
	max-width: 48rem;
	margin: 0.5rem auto 0;
	text-align: center;
}

.collectif-section-membres-intro .collectif-espace-membres-quick-links {
	margin-top: 0.25rem;
}

.collectif-espace-membres-links {
	margin: 1.25rem 0 2rem;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.45rem;
}

.collectif-espace-membres-links a {
	color: var(--collectif-accent);
	text-decoration: none;
	font-weight: 600;
}

.collectif-espace-membres-links a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.collectif-article-form-wrap {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--collectif-border);
}

.collectif-article-form-title {
	font-family: var(--collectif-font-serif);
	font-size: 1.5rem;
	margin: 0 0 0.75rem;
}

.collectif-article-fieldset {
	margin: 0 0 1.75rem;
	padding: 1.25rem 1.35rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	background: var(--collectif-cream);
}

.collectif-article-fieldset legend {
	font-family: var(--collectif-font-sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--collectif-accent);
	padding: 0 0.35rem;
}

.collectif-article-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.collectif-article-form input[type="text"],
.collectif-article-form input[type="email"],
.collectif-article-form input[type="tel"],
.collectif-article-form input[type="file"],
.collectif-article-form input[type="date"],
.collectif-article-form input[type="time"],
.collectif-article-form input[type="url"],
.collectif-article-form select,
.collectif-article-form textarea {
	width: 100%;
	max-width: 100%;
	margin-top: 0.25rem;
	padding: 0.55rem 0.65rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	font: inherit;
	background: var(--collectif-white);
}

.collectif-article-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.collectif-article-checkbox .description {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.875rem;
	color: var(--collectif-muted);
}

.collectif-article-club-readonly {
	margin: 0 0 1rem;
	padding: 0.65rem 0.85rem;
	background: var(--collectif-white);
	border-radius: var(--collectif-radius);
	border: 1px dashed var(--collectif-border);
}

.collectif-choice-cards,
.collectif-image-source-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.65rem;
	margin: 0 0 1.15rem;
}

.collectif-choice-card,
.collectif-image-source-card {
	display: block;
	cursor: pointer;
	margin: 0;
}

.collectif-choice-card input,
.collectif-image-source-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.collectif-choice-card-body,
.collectif-image-source-card-body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-height: 100%;
	padding: 0.85rem 0.95rem;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	box-shadow: 0 1px 2px rgba(43, 38, 34, 0.04);
	transition: border-color var(--collectif-transition), box-shadow var(--collectif-transition), transform var(--collectif-transition);
}

.collectif-choice-card-body strong,
.collectif-image-source-card-body strong {
	font-size: 0.9375rem;
	color: var(--collectif-text);
}

.collectif-choice-card-body small,
.collectif-image-source-card-body small {
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--collectif-muted);
}

.collectif-choice-card:hover .collectif-choice-card-body,
.collectif-choice-card.is-active .collectif-choice-card-body,
.collectif-choice-card input:focus-visible + .collectif-choice-card-body,
.collectif-image-source-card:hover .collectif-image-source-card-body,
.collectif-image-source-card.is-active .collectif-image-source-card-body,
.collectif-image-source-card input:focus-visible + .collectif-image-source-card-body {
	border-color: var(--collectif-accent);
	box-shadow: 0 0 0 2px rgba(47, 111, 115, 0.12);
}

.collectif-choice-card.is-active .collectif-choice-card-body,
.collectif-image-source-card.is-active .collectif-image-source-card-body {
	background: rgba(47, 111, 115, 0.06);
}

.collectif-publish-target-hint {
	margin: 0;
}

.collectif-article-image-library {
	margin: 0;
	padding: 1rem;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
}

.collectif-article-library-intro {
	margin: 0 0 0.85rem;
	font-size: 0.9375rem;
	color: var(--collectif-muted);
}

.collectif-article-library-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem 1rem;
	align-items: end;
	margin-bottom: 0.85rem;
}

.collectif-article-library-search {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--collectif-muted);
}

.collectif-article-library-toolbar input[type="search"] {
	width: 100%;
	margin: 0.25rem 0 0;
	padding: 0.55rem 0.65rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	font: inherit;
	background: var(--collectif-cream);
}

.collectif-article-library-admin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.9rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--collectif-accent);
	text-decoration: none;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	background: var(--collectif-white);
	white-space: nowrap;
}

.collectif-article-library-admin:hover {
	border-color: var(--collectif-accent);
	text-decoration: none;
}

.collectif-article-library-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
	gap: 0.65rem;
	min-height: 4rem;
}

.collectif-article-library-loading,
.collectif-article-library-status {
	margin: 0;
	font-size: 0.875rem;
	color: var(--collectif-muted);
}

.collectif-article-library-status.is-error {
	color: #9b3b3b;
}

.collectif-article-library-item {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0.35rem;
	border: 2px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	background: var(--collectif-cream);
	cursor: pointer;
	transition: border-color var(--collectif-transition), box-shadow var(--collectif-transition), transform var(--collectif-transition);
}

.collectif-article-library-item:hover {
	border-color: var(--collectif-accent);
	transform: translateY(-1px);
}

.collectif-article-library-item.is-selected {
	border-color: var(--collectif-accent);
	box-shadow: 0 0 0 2px rgba(47, 111, 115, 0.18);
	background: var(--collectif-white);
}

.collectif-article-library-item img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 4px;
}

.collectif-article-library-item-label {
	margin-top: 0.35rem;
	font-size: 0.6875rem;
	line-height: 1.3;
	color: var(--collectif-muted);
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.collectif-article-media-preview {
	margin: 1rem 0 0;
	max-width: 18rem;
	padding: 0.85rem;
	background: var(--collectif-cream);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
}

.collectif-article-media-label {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--collectif-accent);
}

.collectif-article-media-preview img {
	display: block;
	width: 100%;
	max-width: 20rem;
	height: auto;
	min-height: 4rem;
	border-radius: 4px;
	background: var(--collectif-white);
	object-fit: contain;
}

.collectif-article-media-preview figcaption {
	margin-top: 0.35rem;
	font-size: 0.8125rem;
	color: var(--collectif-muted);
}

.collectif-article-media-clear {
	margin-top: 0.65rem;
	padding: 0.4rem 0.75rem;
	font: inherit;
	font-size: 0.8125rem;
	cursor: pointer;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	background: var(--collectif-white);
	color: var(--collectif-muted);
}

.collectif-article-media-clear:hover {
	border-color: var(--collectif-accent);
	color: var(--collectif-accent);
}

@media (max-width: 720px) {
	.collectif-choice-cards,
	.collectif-image-source-cards {
		grid-template-columns: 1fr;
	}

	.collectif-article-library-toolbar {
		grid-template-columns: 1fr;
	}

	.collectif-newsletter-form-layout,
	.collectif-adherent-reg-layout {
		grid-template-columns: 1fr;
	}

	.collectif-newsletter-form-row,
	.collectif-adherent-reg-row,
	.collectif-article-form-row {
		grid-template-columns: 1fr;
	}

	.collectif-adherent-password-cards {
		grid-template-columns: 1fr;
	}

	.collectif-newsletter-preview,
	.collectif-adherent-reg-preview {
		position: static;
	}
}

.collectif-adherent-reg-form-wrap {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--collectif-border);
}

.collectif-adherent-reg-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-bottom: 0.25rem;
}

.collectif-adherent-reg-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.85fr);
	gap: 1.5rem;
	align-items: start;
	margin-top: 1.25rem;
}

.collectif-adherent-reg-main {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.collectif-adherent-access-info {
	margin: 0;
	padding: 0.75rem 0.9rem;
	font-size: 0.875rem;
	line-height: 1.45;
	background: var(--collectif-white);
	border-radius: var(--collectif-radius);
	border: 1px dashed var(--collectif-border);
}

.collectif-adherent-csv-form {
	margin: 0;
}

.collectif-adherent-import-fieldset code {
	font-size: 0.8125rem;
}

.collectif-adherent-reg-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.collectif-adherent-password-cards {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.collectif-adherent-import-fieldset {
	margin-top: 0;
}

.collectif-adherent-import-note {
	margin: 0 0 0.75rem;
	font-size: 0.875rem;
	color: var(--collectif-muted);
}

.collectif-adherent-reg-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.collectif-adherent-save-btn[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
}

.collectif-adherent-reg-preview {
	position: sticky;
	top: calc(var(--collectif-header-offset, 120px) + 1rem);
	margin: 0;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	background: var(--collectif-white);
	box-shadow: var(--collectif-shadow);
}

.collectif-adherent-reg-preview-title {
	margin: 0 0 0.85rem;
	font-family: var(--collectif-font-serif);
	font-size: 1.125rem;
}

.collectif-adherent-reg-preview-dl {
	margin: 0 0 1rem;
}

.collectif-adherent-reg-preview-dl div {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 0.35rem 0.75rem;
	margin: 0 0 0.5rem;
	font-size: 0.875rem;
	line-height: 1.45;
}

.collectif-adherent-reg-preview-dl dt {
	margin: 0;
	font-weight: 600;
	color: var(--collectif-muted);
}

.collectif-adherent-reg-preview-dl dd {
	margin: 0;
	color: var(--collectif-text);
}

.collectif-adherent-reg-preview-note {
	margin: 0.75rem 0 0;
	font-size: 0.8125rem;
	color: var(--collectif-muted);
	line-height: 1.45;
}

.collectif-adherent-reg-list-title {
	margin: 1.25rem 0 0.65rem;
	font-size: 0.9375rem;
	font-family: var(--collectif-font-serif);
}

.collectif-adherent-reg-list-section {
	margin-top: 2rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--collectif-border);
}

.collectif-adherent-reg-list-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	margin-bottom: 1rem;
}

.collectif-adherent-reg-list-heading {
	margin: 0;
	font-family: var(--collectif-font-serif);
	font-size: 1.25rem;
}

.collectif-adherent-reg-list-club {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--collectif-muted);
}

.collectif-adherent-list-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin: 0;
}

.collectif-adherent-list-filter label {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
}

.collectif-adherent-list-filter select {
	min-width: 14rem;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	font: inherit;
	background: var(--collectif-white);
}

.collectif-adherent-list-filter-btn {
	padding: 0.45rem 0.85rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	background: var(--collectif-white);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--collectif-accent);
	cursor: pointer;
}

.collectif-adherent-list-filter-btn:hover {
	border-color: var(--collectif-accent);
}

.collectif-adherent-reg-list-toolbar {
	margin: 0 0 1rem;
}

.collectif-adherent-list-search {
	width: 100%;
	max-width: 22rem;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	font: inherit;
	background: var(--collectif-white);
}

.collectif-adherent-reg-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	background: var(--collectif-white);
}

.collectif-adherent-reg-table {
	width: 100%;
	font-size: 0.75rem;
}

.collectif-adherent-reg-table--full {
	font-size: 0.8125rem;
}

.collectif-adherent-reg-table--full th,
.collectif-adherent-reg-table--full td {
	padding: 0.65rem 0.75rem;
}

.collectif-adherent-reg-table th,
.collectif-adherent-reg-table td {
	padding: 0.4rem 0.35rem;
	vertical-align: top;
}

.collectif-adherent-reg-pill {
	display: inline-block;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	font-size: 0.6875rem;
	font-weight: 600;
	background: rgba(47, 111, 115, 0.1);
	color: var(--collectif-accent);
}

.collectif-adherent-reg-pill--muted {
	background: rgba(43, 38, 34, 0.08);
	color: var(--collectif-muted);
}

.collectif-adherent-reg-email {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.75rem;
	color: var(--collectif-muted);
	font-weight: 400;
}

.collectif-adherent-reg-row--disabled {
	opacity: 0.72;
}

.collectif-adherent-reg-actions-cell {
	min-width: 7.5rem;
}

.collectif-adherent-member-action {
	display: block;
	margin: 0 0 0.35rem;
}

.collectif-adherent-action-btn {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--collectif-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.collectif-adherent-action-btn:hover {
	color: var(--collectif-text);
}

.collectif-adherent-action-btn--danger {
	color: #9a3b32;
}

.collectif-newsletter-form-wrap {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--collectif-border);
}

.collectif-newsletter-form-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-bottom: 0.25rem;
}

.collectif-maquette-badge {
	display: inline-block;
	margin: 0;
	padding: 0.2rem 0.55rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--collectif-accent);
	background: rgba(47, 111, 115, 0.1);
	border: 1px solid rgba(47, 111, 115, 0.25);
	border-radius: 999px;
}

.collectif-newsletter-form-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.85fr);
	gap: 1.5rem;
	align-items: start;
	margin-top: 1.25rem;
}

.collectif-newsletter-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.collectif-newsletter-rubrique-label {
	margin: 1.25rem 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--collectif-muted);
}

.collectif-newsletter-rubrique-label:first-of-type {
	margin-top: 0;
}

.collectif-newsletter-checkbox-disabled label {
	color: var(--collectif-muted);
}

.collectif-newsletter-checkbox-disabled input {
	opacity: 0.45;
}

.collectif-newsletter-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.collectif-newsletter-saved {
	margin: 0 0 1.5rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	background: var(--collectif-white);
}

.collectif-newsletter-saved-title {
	margin: 0 0 0.65rem;
	font-size: 0.9375rem;
	font-family: var(--collectif-font-serif);
}

.collectif-newsletter-saved-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.collectif-newsletter-saved-list li {
	margin: 0 0 0.45rem;
	font-size: 0.875rem;
	line-height: 1.45;
}

.collectif-newsletter-saved-list a {
	font-weight: 600;
}

.collectif-newsletter-saved-meta {
	color: var(--collectif-muted);
	font-size: 0.8125rem;
}

.collectif-newsletter-current-file {
	margin: 0 0 0.75rem;
	font-size: 0.875rem;
	color: var(--collectif-muted);
}

.collectif-newsletter-current-file img {
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.5rem;
	border-radius: var(--collectif-radius);
	border: 1px solid var(--collectif-border);
}

.collectif-newsletter-preview {
	position: sticky;
	top: calc(var(--collectif-header-offset, 120px) + 1rem);
	margin: 0;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	background: var(--collectif-white);
	box-shadow: var(--collectif-shadow);
}

.collectif-newsletter-preview-title {
	margin: 0 0 0.35rem;
	font-family: var(--collectif-font-serif);
	font-size: 1.125rem;
}

.collectif-newsletter-preview-meta {
	margin: 0 0 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--collectif-accent);
}

.collectif-newsletter-preview-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.collectif-newsletter-preview-list li {
	margin: 0 0 0.65rem;
	padding: 0 0 0.65rem;
	border-bottom: 1px solid var(--collectif-border);
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--collectif-text);
}

.collectif-newsletter-preview-list li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.collectif-newsletter-preview-list strong {
	display: inline;
	color: var(--collectif-accent);
}

.collectif-newsletter-preview-note {
	margin: 1rem 0 0;
	font-size: 0.8125rem;
	color: var(--collectif-muted);
	line-height: 1.45;
}

.collectif-resource-form-wrap {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--collectif-border);
}

.collectif-resource-archive {
	margin: 0;
}

.collectif-resource-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

.collectif-resource-item {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 1rem;
	padding: 1rem;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
}

.collectif-resource-thumb {
	width: 120px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--collectif-radius);
}

.collectif-resource-title {
	margin: 0 0 0.35rem;
	font-size: 1.0625rem;
}

.collectif-resource-excerpt,
.collectif-resource-meta {
	margin: 0 0 0.5rem;
	color: var(--collectif-muted);
	font-size: 0.9rem;
}

.collectif-resource-downloads {
	margin: 0;
}

.collectif-resource-dl {
	margin-right: 0.75rem;
	font-weight: 600;
}

.collectif-resource-empty {
	color: var(--collectif-muted);
	font-style: italic;
}

.collectif-resource-table {
	width: 100%;
}

@media (max-width: 720px) {
	.collectif-resource-item {
		grid-template-columns: 1fr;
	}
}

.collectif-article-opening {
	font-size: 0.9375rem;
	color: var(--collectif-muted);
	margin: 0 0 1.5rem;
}

.collectif-article-cta {
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--collectif-border);
}

.collectif-article-cta .btn {
	margin: 0.25rem 0.35rem 0.25rem 0;
}

body.collectif-single-event .collectif-section-actualite-lead .collectif-lead-frame,
body.collectif-page-membres .collectif-section-actualite-lead .collectif-lead-frame {
	max-width: min(50%, 512px);
	margin-left: auto;
	margin-right: auto;
}

body.collectif-page-membres .qodef-content .qodef-content-inner {
	max-width: 100%;
}

.collectif-hero-home:not(.collectif-hero-cinematic) .collectif-hero-image img {
	width: 100%;
	max-height: min(68vh, 720px);
	object-fit: cover;
	object-position: center 35%;
	border-radius: var(--collectif-radius);
	box-shadow: var(--collectif-shadow);
}

.collectif-chapeau-hero {
	text-align: center;
	max-width: 40ch;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.2rem;
	line-height: 1.7;
}

.collectif-hero-home:not(.collectif-hero-cinematic) h1.elementor-heading-title {
	font-size: clamp(2.25rem, 5vw, 3.5rem) !important;
	max-width: 16ch;
	margin-left: auto;
	margin-right: auto;
}

/* Hero accueil cinématique — hauteur pilotée par le texte, image + overlay en fond */
.collectif-hero-cinematic {
	position: relative;
	overflow: hidden;
	background-color: #1a2632 !important;
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	margin-bottom: 0 !important;
}

.collectif-hero-cinematic > .e-con-inner {
	position: relative;
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

body.collectif-home .elementor-element.collectif-hero-cinematic {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
}

.collectif-hero-cinematic .collectif-hero-media {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.collectif-hero-cinematic .collectif-hero-media > .e-con-inner {
	height: 100% !important;
	min-height: 100% !important;
	padding: 0 !important;
}

.collectif-hero-cinematic .collectif-hero-media .elementor-widget-image,
.collectif-hero-cinematic .collectif-hero-media .collectif-hero-image {
	height: 100%;
	width: 100%;
	margin: 0;
}

.collectif-hero-cinematic .collectif-hero-media img {
	width: 100%;
	height: 100%;
	min-height: 100% !important;
	max-height: none !important;
	object-fit: cover;
	object-position: center 35%;
	border-radius: 0 !important;
	box-shadow: none !important;
	animation: collectif-hero-kenburns 26s ease-in-out infinite alternate;
	transform-origin: center center;
	will-change: transform;
}

@keyframes collectif-hero-kenburns {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.07);
	}
}

.collectif-hero-cinematic .collectif-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--collectif-hero-overlay);
	z-index: 1;
	pointer-events: none;
}

.collectif-hero-cinematic .collectif-hero-copy {
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	width: 100% !important;
	max-width: none !important;
	padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 4vw, 2rem) clamp(2rem, 5vw, 2.75rem) !important;
	text-align: center;
}

.collectif-hero-cinematic .collectif-hero-copy h6.elementor-heading-title {
	color: #fff !important;
	font-family: var(--collectif-font-sans) !important;
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	margin: 0 0 0.75rem !important;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.collectif-hero-cinematic .collectif-hero-copy h1.elementor-heading-title {
	color: #fff !important;
	font-family: var(--collectif-font-serif) !important;
	font-size: clamp(2rem, 5vw, 3.25rem) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.02em;
	max-width: 14ch;
	margin: 0 auto 1rem !important;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.collectif-hero-cinematic .collectif-chapeau-hero {
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: clamp(1rem, 2vw, 1.2rem) !important;
	font-weight: 300;
	line-height: 1.55 !important;
	max-width: 44ch;
	margin: 0 auto 1.25rem !important;
	text-shadow: 0 1px 16px rgba(0, 0, 0, 0.4);
}

.collectif-hero-cinematic .collectif-hero-actions {
	gap: 0.875rem !important;
	max-width: 32rem;
	margin-top: 0.25rem;
}

.collectif-hero-btn.elementor-button {
	border-radius: 999px !important;
	padding: 0.8rem 1.5rem !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	transition: transform var(--collectif-transition), box-shadow var(--collectif-transition), background var(--collectif-transition), border-color var(--collectif-transition), color var(--collectif-transition) !important;
}

.collectif-hero-cinematic .collectif-hero-btn.elementor-button {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.22);
}

.collectif-hero-btn--primary.elementor-button {
	background: linear-gradient(135deg, var(--collectif-sunset) 0%, var(--collectif-sunset-deep) 100%) !important;
	border: none !important;
	color: #fff !important;
	box-shadow: 0 4px 18px rgba(212, 137, 74, 0.28);
}

.collectif-hero-btn--primary.elementor-button .elementor-button-text {
	color: #fff !important;
}

.collectif-hero-btn--primary.elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(212, 137, 74, 0.45);
	background: linear-gradient(135deg, #e09955 0%, var(--collectif-sunset) 100%) !important;
	color: #fff !important;
}

.collectif-hero-cinematic .collectif-hero-btn--ghost.elementor-button {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.72) !important;
	color: #fff !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.collectif-hero-cinematic .collectif-hero-btn--ghost.elementor-button .elementor-button-text {
	color: #fff !important;
}

.collectif-hero-cinematic .collectif-hero-btn--ghost.elementor-button:hover {
	transform: translateY(-2px);
	background: rgba(255, 255, 255, 0.18) !important;
	border-color: #fff !important;
	color: #fff !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

@media (prefers-reduced-motion: reduce) {
	.collectif-hero-cinematic .collectif-hero-media img {
		animation: none;
	}
}

/* Filet de sécurité si le CSS Elementor (post-XX.css) n’est pas chargé */
.collectif-hero-actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 1rem !important;
	width: 100% !important;
	max-width: 36rem;
	margin-left: auto !important;
	margin-right: auto !important;
}

.collectif-hero-actions > .e-con {
	flex: 0 1 auto !important;
	width: auto !important;
	max-width: none !important;
}

.collectif-galerie-row > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 0.875rem !important;
	width: 100% !important;
	align-items: start;
}

.collectif-galerie-row > .e-con-inner > .e-con {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.collectif-section-page-content .collectif-page-body {
	max-width: 42rem;
	margin: 0 auto;
}

.collectif-section-page-content .collectif-page-body:has(.collectif-page-cols) {
	max-width: 56rem;
}

.collectif-page-body .collectif-page-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem 2.5rem;
	align-items: start;
}

.collectif-page-body .collectif-page-col > h2:first-child {
	margin-top: 0;
}

.collectif-section-page-content .collectif-page-body h2 {
	font-family: var(--collectif-font-serif) !important;
	font-size: clamp(1.4rem, 2.8vw, 1.925rem) !important;
	font-weight: 400 !important;
	color: var(--collectif-text) !important;
	line-height: 1.2 !important;
	margin: 2rem 0 1rem;
	letter-spacing: -0.01em;
}

.collectif-section-page-content .collectif-page-body h2:first-child {
	margin-top: 0;
}

.collectif-section-page-content .collectif-page-body:has(.grille-actions) > h2:first-child {
	font-size: clamp(1.12rem, 2.24vw, 1.54rem) !important;
}

.collectif-section-page-content .collectif-page-body p,
.collectif-section-page-content .collectif-page-body li {
	color: var(--collectif-muted);
	line-height: 1.7;
}

.collectif-section-page-content .collectif-page-body blockquote {
	border-left: 3px solid var(--collectif-sage);
	margin: 2rem 0;
	padding: 0.5rem 0 0.5rem 1.25rem;
	font-family: var(--collectif-font-serif);
	color: var(--collectif-text);
}

.collectif-section-lead-image {
	margin-bottom: 0;
}

/* Lead image éditorial (Contact, Présentation…) — lumineux, encadré, sans hero */
.collectif-lead-editorial {
	background-color: var(--collectif-cream) !important;
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-lead-editorial > .e-con-inner {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.collectif-lead-editorial .collectif-lead-frame {
	width: 100% !important;
	max-width: 960px;
}

.collectif-lead-editorial:not(.collectif-event-logo-lead):not(.collectif-lead-editorial--logo) .collectif-lead-frame .collectif-page-lead-image {
	width: 100%;
	overflow: hidden;
	border-radius: var(--collectif-radius-lg);
	border: 1px solid var(--collectif-border);
	background: var(--collectif-white);
	box-shadow: 0 8px 32px rgba(43, 38, 34, 0.08);
	line-height: 0;
}

.collectif-lead-editorial:not(.collectif-event-logo-lead):not(.collectif-lead-editorial--logo) .collectif-lead-frame img {
	display: block;
	width: 100%;
	aspect-ratio: 21 / 9;
	max-height: min(42vh, 400px);
	object-fit: cover;
	object-position: center 38%;
	border-radius: 0;
	box-shadow: none;
	transition: transform 0.4s ease;
}

.collectif-lead-editorial .collectif-lead-frame:hover img {
	transform: scale(1.015);
}

.collectif-federation-lead.collectif-lead-editorial .collectif-lead-frame {
	max-width: 42rem;
}

.collectif-federation-lead .collectif-lead-frame img,
.collectif-federation-lead .collectif-page-lead-image img {
	aspect-ratio: 1 / 1;
	max-height: min(52vh, 32rem);
	object-fit: cover;
	object-position: center center;
}

.collectif-lead-editorial .collectif-lead-caption {
	margin: 1rem auto 0 !important;
	padding-top: 0.85rem;
	border-top: 2px solid var(--collectif-sage);
	font-family: var(--collectif-font-sans) !important;
	font-size: 0.8125rem !important;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--collectif-muted) !important;
	max-width: 52ch;
	line-height: 1.6 !important;
}

@media (max-width: 767px) {
	.collectif-lead-editorial:not(.collectif-lead-editorial--logo):not(.collectif-event-logo-lead) .collectif-lead-frame img {
		aspect-ratio: 4 / 3;
		max-height: none;
	}

	.collectif-lead-editorial .collectif-lead-caption {
		font-size: 0.75rem !important;
		letter-spacing: 0.06em;
	}
}

.collectif-manifeste-inner {
	max-width: 52ch;
	margin: 0 auto;
	text-align: center;
}

.collectif-manifeste-inner p {
	font-size: 1.125rem;
	line-height: 1.75;
	color: var(--collectif-muted);
	margin-bottom: 1.25rem;
	height: auto !important;
	max-height: none !important;
}

.collectif-lead {
	font-family: var(--collectif-font-serif);
	font-size: 1.35rem !important;
	line-height: 1.55 !important;
	color: var(--collectif-text) !important;
}

.collectif-intro {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--collectif-muted);
	max-width: 58ch;
	margin-bottom: 2rem;
}

.elementor-widget-heading h2.elementor-heading-title,
.collectif-section-clubs .elementor-widget-heading h2,
.collectif-section-annuaire .elementor-widget-heading h2,
.collectif-section-galeries .elementor-widget-heading h2,
.collectif-section-agenda .elementor-widget-heading h2 {
	font-size: clamp(1.225rem, 2.1vw, 1.575rem) !important;
}

.collectif-clubs-home .carte-club,
.collectif-clubs-annuaire .carte-club {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.collectif-club-thumb {
	display: block;
	margin-bottom: 0.25rem;
	overflow: hidden;
	border-radius: var(--collectif-radius);
}

.collectif-club-thumb img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	transition: transform var(--collectif-transition);
}

.collectif-club-thumb--logo {
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
}

.collectif-club-thumb--logo img {
	object-fit: contain;
	padding: 1.25rem;
}

.collectif-club-thumb:hover img {
	transform: scale(1.02);
}

.collectif-clubs-home .carte-club p,
.collectif-clubs-annuaire .carte-club p {
	color: var(--collectif-muted);
	font-size: 0.95rem;
	margin: 0 0 0.5rem;
}

.collectif-lien-discret {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--collectif-accent);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.collectif-lien-discret:hover {
	border-bottom-color: var(--collectif-accent);
}

/* Galeries — cartes éditoriales (accueil, archive, page dédiée) */
.collectif-galerie-card {
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	padding: 1rem;
	box-shadow: var(--collectif-shadow);
	transition: transform var(--collectif-transition), box-shadow var(--collectif-transition), border-color var(--collectif-transition);
}

.collectif-galerie-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(43, 38, 34, 0.12);
	border-color: rgba(47, 111, 115, 0.22);
}

.collectif-galerie-archive-grid .collectif-galerie-card {
	padding: 0.5rem 0.5rem 0.65rem;
}

.collectif-galerie-archive-grid .collectif-galerie-card h3 {
	font-size: 0.9rem;
	margin: 0.45rem 0 0;
}

.collectif-galerie-archive-grid .collectif-galerie-card .collectif-legende,
.collectif-galerie-archive-grid .collectif-galerie-card .collectif-lien-discret {
	font-size: 0.8rem;
}

.collectif-galerie-card .collectif-lien-discret {
	font-weight: 600;
}

.collectif-galerie-thumb,
.collectif-section-galeries .collectif-galerie-row .elementor-widget-image.collectif-galerie-thumb {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	text-align: left;
	border-radius: calc(var(--collectif-radius-lg) - 4px);
	box-shadow: none;
	line-height: 0;
}

.collectif-galerie-thumb::after,
.collectif-section-galeries .collectif-galerie-row .collectif-galerie-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 35%, rgba(26, 38, 50, 0.68) 100%);
	opacity: 0;
	transition: opacity var(--collectif-transition);
	pointer-events: none;
	border-radius: inherit;
}

.collectif-galerie-card:hover .collectif-galerie-thumb::after,
.collectif-galerie-thumb:hover::after {
	opacity: 1;
}

.collectif-galerie-thumb img,
.collectif-section-galeries .collectif-galerie-row .collectif-galerie-thumb img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	object-fit: cover;
	object-position: center center;
	border-radius: 0;
	box-shadow: none;
	transition: transform 0.35s ease;
}

.collectif-galerie-card:hover .collectif-galerie-thumb img,
.collectif-galerie-thumb:hover img {
	transform: scale(1.06);
}

.collectif-section-galeries .collectif-galerie-row > .e-con-inner > .e-con > .e-con-inner {
	align-items: flex-start !important;
}

.collectif-section-galeries-browse .collectif-galerie-archive {
	max-width: none;
}

#parcourir-galeries > h2,
.collectif-section-galeries-browse .collectif-galerie-archive > h2,
.collectif-section-galerie-single-more .collectif-galerie-archive > h2 {
	font-size: clamp(1.12rem, 2.24vw, 1.54rem) !important;
	margin-top: 2.5rem !important;
	margin-bottom: 1rem !important;
}

body.collectif-page-galeries .wrapper_inner,
body.collectif-page-galeries .wrapper,
body.collectif-page-galeries .content_inner {
	overflow: visible !important;
	height: auto !important;
}

body.collectif-page-galeries .collectif-section-galeries-browse .elementor-widget-shortcode,
body.collectif-page-galeries .collectif-section-galeries-browse .elementor-widget-shortcode .elementor-widget-container,
body.collectif-single-galerie .collectif-section-galeries-browse .collectif-galerie-archive,
body.collectif-single-galerie .collectif-section-galerie-single-more .collectif-galerie-archive {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.collectif-single-galerie .collectif-section-galerie-single-grid .collectif-galerie-card h3,
body.collectif-single-galerie .collectif-section-galerie-single-more .collectif-galerie-card h3 {
	text-align: left;
	font-size: 1.05rem;
	margin: 0.75rem 0 0;
}

body.collectif-single-galerie .collectif-section-galerie-single-grid .collectif-galerie-series-item h3 {
	font-family: var(--collectif-font-serif);
	font-weight: 400;
	color: var(--collectif-text);
	font-size: 1.15rem;
	margin: 0.85rem 0 0;
}

.collectif-section-galerie-aleatoire .collectif-galerie-aleatoire-grid.collectif-galerie-archive-grid {
	margin-top: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.collectif-section-galerie-aleatoire .collectif-galerie-aleatoire-grid .collectif-galerie-card {
	padding: 1rem 1rem 1.15rem;
}

.collectif-section-galerie-aleatoire .collectif-galerie-aleatoire-grid .collectif-galerie-card h3 {
	font-size: 1.05rem;
	margin: 0.75rem 0 0.5rem;
	line-height: 1.3;
}

.collectif-section-galerie-aleatoire .collectif-galerie-aleatoire-grid .collectif-galerie-card p {
	margin: 0;
	line-height: 1.4;
}

.collectif-section-galerie-aleatoire .collectif-galerie-aleatoire-grid .collectif-galerie-card .collectif-lien-discret {
	display: inline-block;
	line-height: 1.4;
}

.collectif-galerie-filter-modes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 1.25rem 0 0;
	align-items: stretch;
}

.collectif-galerie-filter-pill {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	background: var(--collectif-white);
	color: var(--collectif-text);
	font-family: var(--collectif-font-sans);
	text-align: left;
	cursor: pointer;
	transition: border-color var(--collectif-transition), box-shadow var(--collectif-transition);
}

.collectif-galerie-filter-pill strong {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--collectif-text);
}

.collectif-galerie-filter-pill span {
	font-size: 0.8125rem;
	color: var(--collectif-muted);
	line-height: 1.4;
}

.collectif-galerie-filter-pill:hover,
.collectif-galerie-filter-pill.is-active {
	border-color: var(--collectif-accent);
	box-shadow: 0 0 0 2px rgba(47, 111, 115, 0.12);
}

.collectif-galerie-filter-pill.is-active strong {
	color: var(--collectif-accent);
}

.collectif-galerie-filter-reset {
	display: inline-flex;
	align-items: center;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--collectif-accent);
	text-decoration: none;
	border: 1px dashed var(--collectif-border);
	border-radius: var(--collectif-radius);
}

.collectif-galerie-filter-reset:hover {
	border-color: var(--collectif-accent);
}

.collectif-galerie-filter-sub {
	margin-top: 1rem;
}

.collectif-galerie-archive-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.875rem;
	margin: 2rem 0 0;
}

.collectif-galerie-card h3 {
	font-family: var(--collectif-font-serif) !important;
	font-size: 1.05rem;
	font-weight: 400;
	margin: 0.75rem 0 0;
}

.collectif-galerie-card h3 a {
	color: var(--collectif-text);
	text-decoration: none;
}

.collectif-galerie-card h3 a:hover {
	color: var(--collectif-accent);
}

.collectif-galerie-empty {
	color: var(--collectif-muted);
	margin: 1.5rem 0 0;
}

/* Fiche galerie : image d’entête à 75 %, titre complet, grille série */
.collectif-galerie-single-lead.collectif-lead-editorial > .e-con-inner {
	max-width: 75%;
	margin-left: auto;
	margin-right: auto;
}

.collectif-galerie-single-lead .collectif-lead-frame {
	width: 100% !important;
	max-width: 100%;
}

.collectif-galerie-single-lead:not(.collectif-event-logo-lead) .collectif-lead-frame img {
	max-height: min(32vh, 300px);
}

.collectif-section-galerie-single-intro .elementor-widget-text-editor,
.collectif-section-galerie-single-intro .elementor-widget-text-editor .elementor-widget-container {
	overflow: visible !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	flex-shrink: 0 !important;
}

body.collectif-single-galerie .collectif-section-galerie-single-intro .e-con-inner > .elementor-widget {
	flex-shrink: 0 !important;
	align-self: stretch !important;
	width: 100% !important;
}

.collectif-galerie-single-head {
	display: block;
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	overflow: visible;
	text-align: center;
}

.collectif-galerie-single-kicker {
	margin: 0 0 0.5rem;
	padding: 0;
	font-family: var(--collectif-font-sans) !important;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--collectif-accent);
}

.collectif-galerie-single-title {
	margin: 0;
	padding: 0;
	font-family: var(--collectif-font-serif) !important;
	font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	color: var(--collectif-text) !important;
	overflow: visible !important;
	white-space: normal !important;
}

.collectif-galerie-single-chapo {
	margin: 0.75rem 0 0;
	padding: 0;
	font-family: var(--collectif-font-sans) !important;
	font-size: 1.0625rem;
	line-height: 1.6 !important;
	color: var(--collectif-muted) !important;
	overflow: visible !important;
}

.collectif-section-galerie-single-hero .collectif-galerie-about {
	max-width: 52rem;
	margin: 2rem auto 0;
	text-align: left;
	overflow: visible !important;
}

.collectif-section-galerie-single-hero .collectif-galerie-about h2 {
	margin: 0 0 1rem;
	padding: 0;
	font-family: var(--collectif-font-serif) !important;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem) !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: var(--collectif-text) !important;
	overflow: visible !important;
}

.collectif-section-galerie-single-hero .collectif-galerie-about p {
	margin: 0 0 1rem;
	font-family: var(--collectif-font-sans) !important;
	font-size: 1.0625rem;
	line-height: 1.7 !important;
	color: var(--collectif-muted) !important;
	overflow: visible !important;
}

.collectif-section-galerie-single-hero .collectif-galerie-about p:last-child {
	margin-bottom: 0;
}

.collectif-section-galerie-single-about,
.collectif-section-galerie-single-grid,
.collectif-section-galerie-single-footer {
	width: 100%;
	overflow: visible !important;
}

.collectif-section-galerie-single-grid .elementor-widget-shortcode,
.collectif-section-galerie-single-grid .elementor-widget-shortcode .elementor-widget-container {
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
}

.collectif-section-galerie-single-about .elementor-widget-text-editor {
	max-width: 52rem;
	margin: 0 auto;
}

.collectif-galerie-series {
	overflow: visible;
}

.collectif-galerie-series-kicker {
	margin: 0 0 1rem;
	padding: 0;
	text-align: center;
	font-family: var(--collectif-font-sans) !important;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--collectif-accent);
	overflow: visible;
}

.collectif-galerie-series-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.875rem;
	margin: 0;
	align-items: start;
}

.collectif-galerie-series-item {
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	border-radius: var(--collectif-radius-lg);
	border: 1px solid var(--collectif-border);
	background: var(--collectif-white);
	box-shadow: 0 4px 16px rgba(43, 38, 34, 0.06);
	transition: box-shadow var(--collectif-transition), transform var(--collectif-transition);
	align-self: start;
}

.collectif-galerie-series-item:hover {
	box-shadow: 0 10px 28px rgba(43, 38, 34, 0.1);
	transform: translateY(-2px);
}

.collectif-galerie-series-link {
	display: block;
	width: 100%;
	line-height: normal;
	cursor: zoom-in;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--collectif-cream);
	flex-shrink: 0;
	min-height: 8rem;
}

.collectif-galerie-series-link::after {
	content: "";
	position: absolute;
	inset: 0.65rem 0.65rem auto auto;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 999px;
	background: rgba(251, 249, 246, 0.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6F73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") center / 1rem no-repeat;
	border: 1px solid var(--collectif-border);
	box-shadow: 0 4px 14px rgba(43, 38, 34, 0.12);
	opacity: 0;
	transition: opacity var(--collectif-transition);
	pointer-events: none;
}

.collectif-galerie-series-item:hover .collectif-galerie-series-link::after,
.collectif-galerie-series-link:focus-visible::after {
	opacity: 1;
}

.collectif-galerie-series-item img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 10rem;
	object-fit: cover;
	object-position: center;
	transition: transform 0.35s ease;
}

.collectif-galerie-series-item:hover img {
	transform: scale(1.03);
}

.collectif-galerie-series-item figcaption {
	padding: 0.65rem 0.75rem 0.8rem;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--collectif-muted);
	border-top: 1px solid var(--collectif-border);
}

/* Visionneuse / carrousel galerie */
body.collectif-lightbox-open {
	overflow: hidden;
}

.collectif-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	box-sizing: border-box;
}

.collectif-lightbox[hidden] {
	display: none !important;
}

.collectif-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(26, 24, 22, 0.88);
}

.collectif-lightbox__stage {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	width: min(100%, 72rem);
	max-height: calc(100dvh - 4rem);
}

.collectif-lightbox__figure {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-height: calc(100dvh - 4rem);
}

.collectif-lightbox__img {
	display: block;
	max-width: 100%;
	max-height: calc(100dvh - 8rem);
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: var(--collectif-radius-lg);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
	background: var(--collectif-text);
}

.collectif-lightbox__caption {
	margin: 0.85rem 0 0;
	max-width: 42rem;
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--collectif-cream);
	font-family: var(--collectif-font-sans) !important;
}

.collectif-lightbox__caption[hidden] {
	display: none;
}

.collectif-lightbox__nav,
.collectif-lightbox__close {
	border: 1px solid rgba(251, 249, 246, 0.25);
	background: rgba(251, 249, 246, 0.12);
	color: var(--collectif-cream);
	font-family: var(--collectif-font-serif) !important;
	line-height: 1;
	cursor: pointer;
	transition: background var(--collectif-transition), border-color var(--collectif-transition), transform var(--collectif-transition);
}

.collectif-lightbox__nav {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	font-size: 1.75rem;
	padding: 0;
}

.collectif-lightbox__nav:hover:not(:disabled),
.collectif-lightbox__nav:focus-visible,
.collectif-lightbox__close:hover,
.collectif-lightbox__close:focus-visible {
	background: rgba(251, 249, 246, 0.22);
	border-color: rgba(251, 249, 246, 0.45);
}

.collectif-lightbox__nav:disabled {
	opacity: 0.35;
	cursor: default;
}

.collectif-lightbox__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	font-size: 1.6rem;
	padding: 0;
}

.collectif-lightbox__series-title {
	position: absolute;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	margin: 0;
	max-width: min(90vw, 36rem);
	text-align: center;
	font-family: var(--collectif-font-serif) !important;
	font-size: clamp(1.1rem, 2.5vw, 1.5rem);
	font-weight: 400;
	line-height: 1.25;
	color: var(--collectif-cream);
}

.collectif-lightbox__series-title[hidden] {
	display: none;
}

.collectif-lightbox__counter {
	position: absolute;
	left: 50%;
	bottom: 1rem;
	transform: translateX(-50%);
	z-index: 2;
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(251, 249, 246, 0.75);
	font-family: var(--collectif-font-sans) !important;
}

@media only screen and (max-width: 767px) {
	.collectif-lightbox__stage {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr auto;
		justify-items: center;
	}

	.collectif-lightbox__nav {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}

	.collectif-lightbox__nav--prev {
		left: 0.25rem;
	}

	.collectif-lightbox__nav--next {
		right: 0.25rem;
	}

	.collectif-lightbox__figure {
		grid-row: 1;
		width: 100%;
	}

	.collectif-lightbox__img {
		max-height: calc(100dvh - 10rem);
	}
}

.collectif-section-ma-galerie-intro,
.collectif-section-galeries-adherent {
	border-top: 3px solid var(--collectif-sage);
}

.collectif-section-galeries-adherent .collectif-galerie-aleatoire {
	max-width: var(--collectif-content-max, 1100px);
	margin: 0 auto;
	width: 100%;
}

.collectif-ma-galerie-grid,
.collectif-galerie-aleatoire-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0.875rem;
	margin: 2rem 0 0;
}

.collectif-ma-galerie-item,
.collectif-galerie-aleatoire-item {
	margin: 0;
	border-radius: var(--collectif-radius-lg);
	overflow: hidden;
	background: var(--collectif-white);
	box-shadow: var(--collectif-shadow);
	border: 1px solid var(--collectif-border);
	transition: transform var(--collectif-transition), box-shadow var(--collectif-transition), border-color var(--collectif-transition);
}

.collectif-ma-galerie-item:hover,
.collectif-galerie-aleatoire-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(43, 38, 34, 0.1);
	border-color: rgba(47, 111, 115, 0.2);
}

.collectif-ma-galerie-item img,
.collectif-galerie-aleatoire-item img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.collectif-ma-galerie-item:hover img,
.collectif-galerie-aleatoire-item:hover img {
	transform: scale(1.04);
}

.collectif-ma-galerie-item figcaption,
.collectif-galerie-aleatoire-item figcaption {
	padding: 0.65rem 0.85rem;
	font-size: 0.875rem;
	color: var(--collectif-muted);
	line-height: 1.45;
}

.collectif-galerie-aleatoire-item .collectif-galerie-thumb {
	display: block;
	line-height: 0;
}

.collectif-galerie-remove {
	margin: 0.5rem 0.85rem 0.85rem;
	padding: 0.35rem 0.75rem;
	font-size: 0.8125rem;
	font-family: var(--collectif-font-sans);
	color: var(--collectif-brick);
	background: transparent;
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius);
	cursor: pointer;
}

.collectif-galerie-remove:hover {
	border-color: var(--collectif-brick);
}

.collectif-galerie-upload {
	margin-top: 0.5rem;
}

.collectif-galerie-aleatoire-intro {
	font-size: 1.0625rem;
	color: var(--collectif-muted);
	margin: 0 0 1.5rem;
}

.collectif-galerie-aleatoire-intro strong {
	color: var(--collectif-text);
	font-weight: 600;
}

.collectif-galerie-aleatoire-actions {
	margin-top: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.collectif-legende {
	font-size: 0.9rem;
	color: var(--collectif-muted);
	margin: 0.25rem 0 0;
}

.collectif-liste-agenda {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	max-width: 640px;
}

.collectif-liste-agenda:not(.collectif-cal-list-items) li {
	display: grid;
	grid-template-columns: 5.5rem 1fr;
	gap: 1.25rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--collectif-border);
	align-items: baseline;
}

.collectif-date {
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--collectif-accent);
}

.collectif-event {
	color: var(--collectif-text);
	line-height: 1.55;
}

.collectif-event em {
	color: var(--collectif-muted);
	font-style: normal;
}

.collectif-section-contact-home,
.collectif-section-contact-intro {
	border-top: 3px solid var(--collectif-sage);
}

.collectif-section-newsletter-page {
	border-top: 3px solid var(--collectif-sage);
}

.collectif-section-newsletter-signup .collectif-intro {
	max-width: 58ch;
	margin-bottom: 1.5rem;
}

.collectif-section-newsletter-signup .collectif-newsletter-form {
	max-width: 28rem;
	margin-top: 0.5rem;
}

.collectif-newsletter-highlights,
.collectif-newsletter-archives {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

.collectif-newsletter-highlights li,
.collectif-newsletter-archives li {
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--collectif-border);
	color: var(--collectif-muted);
	line-height: 1.6;
}

.collectif-newsletter-highlights li strong,
.collectif-newsletter-archives li strong {
	color: var(--collectif-text);
	font-weight: 600;
}

.collectif-newsletter-highlights a {
	color: var(--collectif-accent);
	text-decoration: none;
}

.collectif-newsletter-highlights a:hover {
	text-decoration: underline;
}

.collectif-newsletter-note {
	font-size: 0.9rem;
	color: var(--collectif-muted);
	font-style: italic;
	margin: 0 0 2rem;
}

.collectif-section-contact-intro .collectif-intro,
.collectif-section-contact-intro .elementor-widget-heading h2 {
	text-align: center;
}

.collectif-section-contact-intro .collectif-intro {
	margin-left: auto;
	margin-right: auto;
}

.collectif-section-contact-page .collectif-contact-row,
.collectif-section-contact-page > .e-con {
	align-items: flex-start;
}

.collectif-contact-info h2 {
	font-family: var(--collectif-font-serif);
	font-size: clamp(1.225rem, 2.1vw, 1.575rem);
	font-weight: 400;
	color: var(--collectif-text);
	margin: 0 0 1rem;
}

.collectif-contact-info h2:not(:first-child) {
	margin-top: 2rem;
}

.collectif-contact-info ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}

.collectif-contact-info li {
	margin-bottom: 0.65rem;
	color: var(--collectif-muted);
	line-height: 1.6;
}

.collectif-contact-info a {
	color: var(--collectif-accent);
	text-decoration: none;
}

.collectif-contact-info a:hover {
	text-decoration: underline;
}

.collectif-section-contact-page .collectif-contact-form {
	max-width: 100%;
}

.collectif-section-club-intro {
	border-top: 3px solid var(--collectif-sage);
}

.collectif-section-club-intro .collectif-intro,
.collectif-section-club-intro .elementor-widget-heading h2 {
	text-align: center;
}

.collectif-section-club-intro .collectif-intro {
	margin-left: auto;
	margin-right: auto;
}

.collectif-section-club-intro .collectif-contact-note a {
	color: var(--collectif-accent);
	text-decoration: none;
}

.collectif-section-club-intro .collectif-contact-note a:hover {
	text-decoration: underline;
}

.collectif-section-page-content .collectif-page-body .tags {
	color: var(--collectif-muted);
	font-size: 0.95rem;
	letter-spacing: 0.02em;
}

.collectif-section-club-cta {
	border-top: 3px solid var(--collectif-sage);
}

.collectif-contact-note {
	font-size: 0.95rem;
	color: var(--collectif-muted);
	max-width: 42ch;
	margin: 1.5rem auto 0;
	text-align: center;
}

body.collectif-home .elementor-element.collectif-section-galeries,
body.collectif-home .elementor-element.collectif-hero-home {
	margin-bottom: 0;
}

/* ——— Accueil : clubs, galeries, boutons ——— */
body.collectif-home .collectif-section-clubs .grille-clubs {
	gap: 1.5rem;
}

body.collectif-home .collectif-clubs-home .carte-club {
	position: relative;
	padding: 1.35rem 1.35rem 1.5rem;
	border-radius: var(--collectif-radius-lg);
	border: 1px solid var(--collectif-border);
	overflow: hidden;
	transition: transform var(--collectif-transition), box-shadow var(--collectif-transition), border-color var(--collectif-transition);
}

body.collectif-home .collectif-clubs-home .carte-club::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: var(--collectif-accent);
}

body.collectif-home .collectif-clubs-home .carte-club:nth-child(6n + 1)::before {
	background: var(--collectif-brand-navy);
}

body.collectif-home .collectif-clubs-home .carte-club:nth-child(6n + 2)::before {
	background: var(--collectif-brand-cyan);
}

body.collectif-home .collectif-clubs-home .carte-club:nth-child(6n + 3)::before {
	background: var(--collectif-brand-green);
}

body.collectif-home .collectif-clubs-home .carte-club:nth-child(6n + 4)::before {
	background: var(--collectif-brand-orange);
}

body.collectif-home .collectif-clubs-home .carte-club:nth-child(6n + 5)::before {
	background: var(--collectif-brand-magenta);
}

body.collectif-home .collectif-clubs-home .carte-club:nth-child(6n + 6)::before {
	background: var(--collectif-sunset);
}

body.collectif-home .collectif-clubs-home .carte-club:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(43, 38, 34, 0.12);
	border-color: rgba(47, 111, 115, 0.25);
}

body.collectif-home .collectif-clubs-home .collectif-club-thumb {
	border-radius: calc(var(--collectif-radius-lg) - 2px);
	margin-bottom: 0.65rem;
}

body.collectif-home .collectif-clubs-home .collectif-club-thumb--logo {
	background: var(--collectif-white);
	box-shadow: inset 0 0 0 1px var(--collectif-border);
}

body.collectif-home .collectif-clubs-home .collectif-club-thumb--logo img {
	padding: 1.5rem;
}

body.collectif-home .collectif-clubs-home .collectif-club-thumb:hover img {
	transform: scale(1.04);
}

body.collectif-home .collectif-clubs-home .collectif-lien-discret {
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	margin-top: 0.15rem;
}

body.collectif-home .collectif-section-agenda .collectif-liste-agenda {
	max-width: 40rem;
	margin: 0 auto 1.5rem;
}

body.collectif-home .collectif-section-agenda .collectif-date {
	display: inline-block;
	min-width: 4.75rem;
	padding: 0.2rem 0.65rem;
	margin-right: 0.75rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: #fff;
	background: linear-gradient(135deg, var(--collectif-sunset) 0%, var(--collectif-sunset-deep) 100%);
	border-radius: 999px;
	text-align: center;
}

body.collectif-home .collectif-section-galeries .collectif-galerie-card h3.elementor-heading-title {
	font-size: 1.05rem !important;
	margin: 0.85rem 0 0.25rem !important;
	text-transform: none;
	letter-spacing: 0;
}

body.collectif-home .collectif-section-galeries .collectif-galerie-card .collectif-legende {
	font-size: 0.9rem;
	color: var(--collectif-muted);
	margin: 0;
}

body.collectif-page-galeries .collectif-galerie-card h3 {
	margin-top: 0.85rem;
}

body.collectif-page-galeries .collectif-galerie-card .collectif-legende {
	font-size: 0.9rem;
	color: var(--collectif-muted);
	margin: 0.25rem 0 0.5rem;
}

body.collectif-home .collectif-section-clubs .elementor-widget-button,
body.collectif-home .collectif-section-agenda .elementor-widget-button,
body.collectif-home .collectif-section-galeries .elementor-widget-button,
body.collectif-home .collectif-section-actus .elementor-widget-button,
body.collectif-home .collectif-section-newsletter .elementor-widget-button,
body.collectif-home .collectif-section-contact-home .elementor-widget-button {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 0.5rem;
}

body.collectif-home .collectif-section-actus .collectif-blog-card {
	border-radius: var(--collectif-radius-lg);
	border: 1px solid var(--collectif-border);
	padding: 1rem 1.1rem;
	transition: box-shadow var(--collectif-transition), border-color var(--collectif-transition);
}

body.collectif-home .collectif-section-actus .collectif-blog-card:hover {
	box-shadow: 0 8px 24px rgba(43, 38, 34, 0.08);
	border-color: rgba(47, 111, 115, 0.2);
}

/* ——— Finitions : actualités, agenda, espace membres ——— */
.collectif-section-news-intro,
.collectif-section-agenda-intro {
	border-top: 3px solid var(--collectif-sage);
}

.collectif-blog-filter-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--collectif-border);
}

.collectif-blog-filter-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--collectif-muted);
	flex: 0 0 auto;
}

.collectif-blog-filter-pills-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	flex: 1 1 auto;
}

.collectif-blog-filter-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.95rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--collectif-text);
	text-decoration: none;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: 999px;
	transition: border-color var(--collectif-transition), box-shadow var(--collectif-transition), color var(--collectif-transition);
}

.collectif-blog-filter-pill:hover,
.collectif-blog-filter-pill.is-active {
	border-color: var(--collectif-accent);
	box-shadow: 0 0 0 2px rgba(47, 111, 115, 0.12);
	color: var(--collectif-accent);
}

.collectif-blog-filter-pill.is-active {
	font-weight: 600;
}

body.collectif-actualites .collectif-blog-list,
.collectif-section-news-list .collectif-blog-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

body.collectif-actualites .collectif-blog-item,
.collectif-section-news-list .collectif-blog-item {
	border-bottom: none;
}

body.collectif-actualites .collectif-blog-card,
.collectif-section-news-list .collectif-blog-card {
	grid-template-columns: 5.5rem minmax(0, 1fr);
	gap: 1.1rem;
	padding: 1.15rem 1.25rem;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	box-shadow: var(--collectif-shadow);
	transition: transform var(--collectif-transition), box-shadow var(--collectif-transition), border-color var(--collectif-transition);
}

body.collectif-actualites .collectif-blog-card:hover,
.collectif-section-news-list .collectif-blog-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(43, 38, 34, 0.1);
	border-color: rgba(47, 111, 115, 0.22);
}

body.collectif-actualites .collectif-blog-vignette:hover .collectif-vignette,
.collectif-section-news-list .collectif-blog-vignette:hover .collectif-vignette {
	border-color: var(--collectif-accent);
}

body.collectif-actualites .collectif-blog-card--logo,
.collectif-section-news-list .collectif-blog-card--logo {
	grid-template-columns: 6.5rem minmax(0, 1fr);
}

body.collectif-actualites .collectif-blog-vignette--logo,
.collectif-section-news-list .collectif-blog-vignette--logo {
	align-self: start;
}

body.collectif-page-agenda .collectif-agenda-calendar .collectif-cal-list-items li.collectif-cal-item .collectif-date,
.collectif-section-agenda-calendar .collectif-cal-list-items li.collectif-cal-item .collectif-date {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 4.75rem;
	padding: 0.35rem 0.65rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff;
	background: linear-gradient(135deg, var(--collectif-sunset) 0%, var(--collectif-sunset-deep) 100%);
	border-radius: 999px;
	text-align: center;
}

body.collectif-page-agenda .collectif-agenda-help,
.collectif-section-agenda-help .collectif-agenda-help {
	max-width: 42rem;
	padding: 1.75rem 2rem;
	background: var(--collectif-white);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
	box-shadow: var(--collectif-shadow);
}

body.collectif-page-ma-galerie .collectif-form-submit,
body.collectif-page-ma-galerie .collectif-galerie-upload button[type="submit"],
body.collectif-page-membres .collectif-form-submit {
	border-radius: 999px;
}

body.collectif-page-ma-galerie .collectif-ma-galerie-manage {
	max-width: 52rem;
	margin: 0 auto;
}

body.collectif-page-ma-galerie .collectif-galerie-upload {
	padding: 1.5rem 1.25rem;
	margin-bottom: 2rem;
	background: var(--collectif-cream);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
}

body.collectif-page-proposer-galerie .qodef-content .qodef-content-inner,
body.collectif-page-ma-galerie .qodef-content .qodef-content-inner {
	max-width: 48rem;
	margin: 0 auto;
}

body.collectif-page-proposer-galerie .collectif-galerie-club-manage,
body.collectif-page-proposer-galerie .collectif-galerie-club-form {
	max-width: 52rem;
	margin: 0 auto;
}

body.collectif-page-proposer-galerie .collectif-galerie-club-form {
	padding: 1.5rem 1.25rem;
	background: var(--collectif-cream);
	border: 1px solid var(--collectif-border);
	border-radius: var(--collectif-radius-lg);
}

body.collectif-page-proposer-galerie .collectif-galerie-club-fieldset {
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
}

body.collectif-page-proposer-galerie .collectif-galerie-club-fieldset legend {
	font-family: var(--collectif-font-serif);
	font-size: 1.125rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
	padding: 0;
}

body.collectif-page-proposer-galerie .collectif-input-readonly {
	background: var(--collectif-white);
	color: var(--collectif-muted);
}

body.collectif-page-proposer-galerie .collectif-field-hint {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.875rem;
	color: var(--collectif-muted);
}

body.collectif-page-membres .collectif-section-page-content .collectif-page-body .grille-actions,
body.collectif-page-membres .collectif-section-page-content .collectif-page-body .sous-rubriques {
	max-width: 52rem;
	margin-left: auto;
	margin-right: auto;
}

/* Image éditoriale (page Présentation, etc.) */
.collectif-section-feature-image .collectif-page-feature-image img {
	width: 100%;
	max-width: 960px;
	max-height: min(52vh, 520px);
	object-fit: cover;
	border-radius: var(--collectif-radius);
	box-shadow: var(--collectif-shadow);
	margin: 0 auto;
	display: block;
}

.collectif-image-caption {
	font-size: 0.9rem;
	color: var(--collectif-muted);
	max-width: 48ch;
	margin: 0 auto;
	text-align: center;
	line-height: 1.55;
}

@media (max-width: 991px) {
	.collectif-galerie-row > .e-con-inner,
	.collectif-galerie-archive-grid,
	.collectif-galerie-series-grid,
	.collectif-ma-galerie-grid,
	.collectif-galerie-aleatoire-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.collectif-section-galerie-single-grid .collectif-galerie-series-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.collectif-section-galerie-aleatoire .collectif-galerie-aleatoire-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.collectif-galerie-single-lead.collectif-lead-editorial > .e-con-inner {
		max-width: 100%;
	}

	.collectif-liste-agenda:not(.collectif-cal-list-items) li {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.collectif-section-clubs .grille-clubs,
	.collectif-section-annuaire .grille-clubs {
		grid-template-columns: repeat(2, 1fr);
	}

	.collectif-section-contact-page > .e-con {
		width: 100% !important;
	}

	.collectif-cal-nav {
		flex-direction: column;
		text-align: center;
	}

	.collectif-cal-grid th,
	.collectif-cal-events a {
		font-size: 0.625rem;
	}

	.collectif-cal-day {
		min-height: 4rem;
		padding: 0.25rem;
	}

	.collectif-agenda-calendar .collectif-cal-list-items li.collectif-cal-item {
		grid-template-columns: 4.5rem 4.5rem minmax(0, 1fr) !important;
		gap: 0.5rem;
	}
}

@media (max-width: 767px) {
	body,
	body .qodef-page-wrapper,
	body .wrapper,
	body .wrapper_inner {
		overflow-x: clip;
		max-width: 100%;
	}

	.collectif-galerie-row > .e-con-inner,
	.collectif-galerie-archive-grid,
	.collectif-galerie-series-grid,
	.collectif-ma-galerie-grid,
	.collectif-galerie-aleatoire-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.collectif-section-galerie-single-grid .collectif-galerie-series-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.collectif-section-galerie-aleatoire .collectif-galerie-aleatoire-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.grille-annuaire,
	.grille-clubs,
	.grille-actions {
		grid-template-columns: 1fr;
	}

	.collectif-section-clubs .grille-clubs,
	.collectif-section-annuaire .grille-clubs {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.collectif-blog-card {
		grid-template-columns: 3.75rem minmax(0, 1fr);
		gap: 0.85rem;
	}

	.collectif-blog-card--logo {
		grid-template-columns: 5.5rem minmax(0, 1fr);
	}

	.collectif-blog-vignette--logo {
		width: 5.5rem;
	}

	body.elementor-page .e-con.e-parent[class*="collectif-section-"] {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.collectif-hero-home:not(.collectif-hero-cinematic) h1.elementor-heading-title,
	.collectif-hero-normandie h1.elementor-heading-title {
		font-size: clamp(1.75rem, 8vw, 2.5rem) !important;
		max-width: none;
	}

	.collectif-hero-cinematic .collectif-hero-copy h1.elementor-heading-title {
		font-size: clamp(2rem, 9vw, 2.75rem) !important;
		max-width: none;
	}

	.collectif-chapeau-hero {
		font-size: 1.05rem;
		max-width: none;
		padding-left: 0.25rem;
		padding-right: 0.25rem;
	}

	.collectif-hero-cinematic .collectif-chapeau-hero {
		font-size: 1.05rem !important;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.collectif-hero-actions {
		flex-direction: column !important;
		align-items: stretch !important;
		max-width: none !important;
		gap: 0.75rem !important;
	}

	.collectif-hero-actions .elementor-button,
	.collectif-hero-actions a.btn {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.collectif-hero-cinematic .collectif-hero-copy {
		padding: 1.75rem 1rem 2rem !important;
	}

	.collectif-galerie-filter-modes {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		gap: 0.5rem;
		padding-bottom: 0.35rem;
		margin-right: -0.25rem;
	}

	.collectif-galerie-filter-pill,
	.collectif-galerie-filter-reset {
		flex: 0 0 auto;
		min-width: 8.5rem;
		scroll-snap-align: start;
	}

	.collectif-galerie-aleatoire-actions,
	.collectif-galerie-aleatoire-actions .btn {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.65rem;
	}

	.collectif-galerie-aleatoire-actions .btn {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}

	.collectif-contact-form,
	.collectif-ma-galerie-manage {
		max-width: none;
	}

	.collectif-form-submit,
	.collectif-contact-form button[type="submit"],
	.collectif-galerie-upload button[type="submit"],
	.collectif-login-form #collectif_wp_submit {
		width: 100%;
		box-sizing: border-box;
	}

	.collectif-section-connexion-form .collectif-login-form {
		max-width: none;
	}

	.collectif-page-body .collectif-page-cols {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.collectif-cal-filters,
	.collectif-cal-filter {
		flex-direction: column;
		align-items: stretch;
	}

	.collectif-cal-filters .collectif-cal-filter,
	.collectif-cal-filter select {
		width: 100%;
		max-width: none;
	}

	.collectif-agenda-calendar .collectif-cal-list-items li.collectif-cal-item {
		grid-template-columns: 1fr !important;
		gap: 0.35rem;
	}

	.collectif-cal-nav-btn {
		width: 100%;
		text-align: center;
		box-sizing: border-box;
	}

	.collectif-blog-filter-pills {
		flex-direction: column;
		align-items: stretch;
	}

	.collectif-blog-filter-pills-row {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		gap: 0.45rem;
		padding-bottom: 0.25rem;
	}

	.collectif-blog-filter-pill {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.collectif-cal-day--has-events {
		background: var(--collectif-white);
		border-color: rgba(47, 111, 115, 0.28);
	}

	.collectif-cal-events a {
		word-break: break-word;
	}

	footer .footer_top .column,
	footer .footer_top .column_inner {
		width: 100% !important;
		float: none !important;
		text-align: center;
	}

	footer .footer_bottom {
		text-align: center;
	}

	.btn,
	a.btn {
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* Sous-menus desktop — fond clair Bridge (#262626 par défaut) */
@media only screen and (min-width: 1000px) {
	body header.page_header .drop_down .second .inner > ul,
	body header.page_header li.narrow .second .inner ul,
	body header.page_header .drop_down .wide .second .inner > ul {
		background-color: var(--collectif-white) !important;
		border-color: var(--collectif-border) !important;
	}

	body header.page_header .drop_down .second .inner ul li a,
	body header.page_header .drop_down .second .inner ul li h5 {
		color: var(--collectif-text) !important;
	}

	body header.page_header .drop_down .second .inner ul li a:hover,
	body header.page_header .drop_down .second .inner > ul > li > a:hover {
		color: var(--collectif-accent) !important;
		background-color: var(--collectif-alt) !important;
	}
}
