/*
Theme Name: Twenty Twenty-Five Child SCNV
Theme URI: https://saint-clement-notre-village.fr/
Description: Theme enfant de transition pour securiser et migrer la page d'accueil de Saint Clement Notre Village.
Author: Christopher Tasti / Codex
Template: twentytwentyfive
Version: 0.1.66
Text Domain: twentytwentyfive-child-scnv
*/

/* 2026-07-22 phase-46 : les variables SCNV doivent AUSSI exister sur le
   front FSE (jusqu ici elles n etaient definies que pour l editeur, dans
   `.editor-styles-wrapper`; le header FSE utilise `var(--scnv-dark-blue)`
   sur le front). */
:root {
	--scnv-dark-blue: #0a235c;
	--scnv-light-blue: #2495bf;
	--scnv-gold: #fbbf24;
	--scnv-text: #24324a;
	--scnv-muted: #50627d;
	--scnv-bg: #f7f8fb;
	--scnv-border: #d9e1ef;
	--scnv-shell: 1280px;
	--scnv-content-shell: 1120px;
	--scnv-card-radius: 24px;
	--scnv-shadow: 0 30px 70px rgba(23, 41, 74, 0.08);
}

/* Editor-only foundation for the progressive homepage migration. */
.editor-styles-wrapper {
	--scnv-dark-blue: #0a235c;
	--scnv-light-blue: #2495bf;
	--scnv-gold: #fbbf24;
	--scnv-text: #24324a;
	--scnv-muted: #50627d;
	--scnv-bg: #f7f8fb;
	--scnv-border: #d9e1ef;
	--scnv-shell: 1280px;
	--scnv-content-shell: 1120px;
	--scnv-card-radius: 24px;
	--scnv-shadow: 0 30px 70px rgba(23, 41, 74, 0.08);
	background:
		radial-gradient(circle at top right, rgba(36, 149, 191, 0.14), transparent 25%),
		linear-gradient(180deg, rgba(10, 35, 92, 0.03), rgba(10, 35, 92, 0));
	color: var(--scnv-text);
	font-family: "Open Sans", sans-serif;
	padding: 32px 0 64px;
}

.editor-styles-wrapper .is-root-container.wp-block-post-content,
.editor-styles-wrapper .wp-block-post-content.is-layout-flow,
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container {
	width: min(var(--scnv-shell), calc(100% - 48px));
	max-width: var(--scnv-shell);
	margin: 0 auto;
	padding: 32px;
	background: #fff;
	border: 1px solid var(--scnv-border);
	border-radius: var(--scnv-card-radius);
	box-shadow: var(--scnv-shadow);
}

.editor-styles-wrapper .is-root-container > *:first-child {
	margin-top: 0;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
.editor-styles-wrapper .font-header {
	font-family: "Montserrat", sans-serif;
	color: var(--scnv-dark-blue);
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.editor-styles-wrapper h1 {
	font-size: clamp(2.5rem, 5vw, 4.6rem);
	font-weight: 800;
}

.editor-styles-wrapper h2 {
	font-size: clamp(2rem, 3.4vw, 3.1rem);
	font-weight: 800;
}

.editor-styles-wrapper h3 {
	font-size: clamp(1.5rem, 2.5vw, 2.1rem);
	font-weight: 700;
}

.editor-styles-wrapper p,
.editor-styles-wrapper li {
	color: var(--scnv-muted);
	font-family: "Open Sans", sans-serif;
	font-size: 1.05rem;
	line-height: 1.75;
}

.editor-styles-wrapper a {
	color: var(--scnv-light-blue);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.12em;
}

.editor-styles-wrapper .wp-block-group,
.editor-styles-wrapper .wp-block-columns,
.editor-styles-wrapper .wp-block-cover,
.editor-styles-wrapper .wp-block-media-text {
	margin-block: 24px;
}

.editor-styles-wrapper .wp-block-image img,
.editor-styles-wrapper .wp-block-cover,
.editor-styles-wrapper .wp-block-group.is-style-default {
	border-radius: 20px;
}

.editor-styles-wrapper .wp-block-button__link,
.editor-styles-wrapper a.wp-block-button__link {
	border-radius: 999px;
	font-family: "Open Sans", sans-serif;
	font-weight: 700;
	padding: 0.9rem 1.7rem;
	box-shadow: 0 12px 30px rgba(10, 35, 92, 0.14);
}

.editor-styles-wrapper .wp-block-separator {
	border-color: var(--scnv-border);
}

.editor-styles-wrapper .wp-block-quote,
.editor-styles-wrapper .wp-block-pullquote {
	border-color: var(--scnv-light-blue);
}

.editor-styles-wrapper .has-sc-dark-blue-color,
.editor-styles-wrapper .text-sc-dark-blue {
	color: var(--scnv-dark-blue) !important;
}

.editor-styles-wrapper .has-sc-light-blue-color,
.editor-styles-wrapper .text-sc-light-blue {
	color: var(--scnv-light-blue) !important;
}

.editor-styles-wrapper .has-white-color,
.editor-styles-wrapper .text-white {
	color: #fff !important;
}

.editor-styles-wrapper .text-gray-300 {
	color: #d6dce8 !important;
}

.editor-styles-wrapper .text-gray-600 {
	color: #5f6f87 !important;
}

.editor-styles-wrapper .has-sc-dark-blue-background-color,
.editor-styles-wrapper .bg-sc-dark-blue {
	background-color: var(--scnv-dark-blue) !important;
}

.editor-styles-wrapper .has-sc-light-blue-background-color,
.editor-styles-wrapper .bg-sc-light-blue {
	background-color: var(--scnv-light-blue) !important;
}

.editor-styles-wrapper .bg-sc-gold {
	background-color: var(--scnv-gold) !important;
}

.editor-styles-wrapper .bg-white {
	background-color: #fff !important;
}

.editor-styles-wrapper .rounded-xl {
	border-radius: 18px !important;
}

.editor-styles-wrapper .rounded-2xl {
	border-radius: 24px !important;
}

.editor-styles-wrapper .rounded-3xl {
	border-radius: 30px !important;
}

.editor-styles-wrapper .rounded-full {
	border-radius: 999px !important;
}

.editor-styles-wrapper .shadow-xl {
	box-shadow: 0 20px 45px rgba(10, 35, 92, 0.14) !important;
}

.editor-styles-wrapper .shadow-2xl {
	box-shadow: 0 28px 60px rgba(10, 35, 92, 0.16) !important;
}

.editor-styles-wrapper .border-2 {
	border-width: 2px !important;
	border-style: solid !important;
}

.editor-styles-wrapper .border-sc-light-blue {
	border-color: var(--scnv-light-blue) !important;
}

.editor-styles-wrapper .backdrop-blur-sm {
	backdrop-filter: blur(8px);
}

.editor-styles-wrapper .container {
	width: 100%;
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
}

.editor-styles-wrapper .reveal {
	opacity: 1;
	transform: none;
}

.editor-styles-wrapper .bg-hero,
.editor-styles-wrapper .bg-feature-card,
.editor-styles-wrapper .bg-support-card {
	position: relative;
	overflow: hidden;
}

.editor-styles-wrapper .bg-feature-card {
	background:
		radial-gradient(circle at top right, rgba(36, 149, 191, 0.16), transparent 32%),
		#fff;
	border: 1px solid var(--scnv-border);
}

.editor-styles-wrapper .bg-support-card {
	background:
		radial-gradient(circle at top right, rgba(36, 149, 191, 0.22), transparent 28%),
		linear-gradient(180deg, rgba(11, 39, 96, 0.96), rgba(11, 39, 96, 0.9));
	color: #fff;
}

.editor-styles-wrapper .wp-block-html {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	background: #f8fafc;
	border: 1px solid #d6dfec;
	border-radius: 14px;
	padding: 14px 16px;
}

@media (max-width: 782px) {
	.editor-styles-wrapper {
		padding-top: 18px;
	}

	.editor-styles-wrapper .is-root-container.wp-block-post-content,
	.editor-styles-wrapper .wp-block-post-content.is-layout-flow,
	.editor-styles-wrapper .block-editor-block-list__layout.is-root-container {
		width: calc(100% - 24px);
		padding: 20px;
	}
}

.scnv-hero-cover {
	overflow: hidden;
}

.scnv-hero-inner {
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
	padding: 5rem 1.25rem 3rem;
}

.scnv-hero-columns {
	align-items: center;
	gap: clamp(1.5rem, 3vw, 3.2rem);
}

.scnv-hero-inner > .scnv-hero-columns {
	width: 100%;
	max-width: none !important;
}

.scnv-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.4rem;
	max-width: 41rem;
}

.scnv-hero-columns > .scnv-hero-copy {
	flex-basis: 60% !important;
}

.scnv-hero-columns > .scnv-hero-visual {
	flex-basis: 40% !important;
}

.scnv-hero-badge {
	display: inline-block;
	width: fit-content;
	margin: 0 0 0.4rem;
	padding: 0.45rem 0.95rem;
	border-radius: 999px;
	background: #2495bf;
	color: #fff !important;
	font-size: 0.78rem !important;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.2;
}

.scnv-hero-title {
	margin: 0;
	font-size: clamp(3rem, 5vw, 5.15rem);
	font-weight: 800;
	line-height: 0.94;
	letter-spacing: -0.045em;
}

.scnv-editorial-marker {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
}

.scnv-hero-subtitle {
	max-width: 38rem;
	margin: 0;
	font-size: clamp(1.1rem, 1.8vw, 1.5rem);
	line-height: 1.55;
	opacity: 0.92;
}

.scnv-hero-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 0.4rem;
}

.scnv-primary-cta .wp-block-button__link,
.scnv-secondary-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 16rem;
	border-radius: 999px;
	padding: 1rem 2rem;
	font-weight: 700;
	line-height: 1.2;
	transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.scnv-primary-cta .wp-block-button__link {
	background: #fff !important;
	color: #0a235c !important;
	box-shadow: 0 18px 38px rgba(10, 35, 92, 0.18);
}

.scnv-secondary-cta .wp-block-button__link {
	background: rgba(10, 35, 92, 0.38) !important;
	color: #2495bf !important;
	border: 2px solid #2495bf;
	box-shadow: 0 18px 38px rgba(10, 35, 92, 0.12);
}

#accueil .scnv-primary-cta .wp-block-button__link,
.scnv-hero-cover .scnv-primary-cta .wp-block-button__link {
	color: #0a235c !important;
	background: #fff !important;
}

#accueil .scnv-secondary-cta .wp-block-button__link,
.scnv-hero-cover .scnv-secondary-cta .wp-block-button__link {
	color: #2495bf !important;
	background: rgba(10, 35, 92, 0.38) !important;
	border-color: #2495bf !important;
}

.scnv-secondary-cta .wp-block-button__link::before {
	content: "✦";
	display: inline-block;
	margin-right: 0.55rem;
	font-size: 0.95em;
	transform: translateY(-0.02em);
}

.scnv-hero-visual {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.scnv-hero-portrait {
	position: relative;
	width: 100%;
	max-width: 520px;
}

.scnv-hero-portrait::before {
	content: "";
	position: absolute;
	inset: 10% -2% 6% 24%;
	border-radius: 999px;
	background: rgba(36, 149, 191, 0.22);
	filter: blur(44px);
	z-index: 0;
}

.scnv-hero-image {
	position: relative;
	z-index: 2;
	margin: 0;
}

.scnv-hero-image img {
	display: block;
	width: min(68%, 380px);
	margin: 0 auto;
	border-radius: 1.5rem;
	border: 4px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 34px 64px rgba(10, 35, 92, 0.34);
}

.scnv-hero-meta-card {
	position: relative;
	z-index: 3;
	width: fit-content;
	min-width: 265px;
	max-width: 320px;
	margin: -4.3rem auto 0;
	text-align: center;
	box-shadow: 0 18px 38px rgba(10, 35, 92, 0.18);
}

.scnv-hero-meta-name,
.scnv-hero-meta-subtitle {
	margin: 0;
}

.scnv-hero-meta-name::before {
	content: none;
	display: none;
	margin-right: 0;
	color: transparent;
	font-size: 0;
}

.scnv-hero-meta-name {
	white-space: nowrap;
	font-size: 1.05rem;
}

.scnv-hero-meta-subtitle {
	margin-top: 0.35rem;
	font-size: 0.82rem !important;
	line-height: 1.35;
}

.editor-styles-wrapper .scnv-hero-cover {
	margin: 0 calc(50% - 50vw) 3rem;
	min-height: 640px !important;
}

.editor-styles-wrapper .scnv-hero-cover .wp-block-cover__inner-container {
	width: 100%;
}

.editor-styles-wrapper .scnv-hero-inner {
	width: min(1280px, calc(100% - 8px));
	padding-top: 3rem;
	padding-bottom: 1.5rem;
}

.editor-styles-wrapper .scnv-hero-copy {
	gap: 0.85rem;
	max-width: 43rem;
}

.editor-styles-wrapper .scnv-hero-image img {
	width: min(64%, 350px);
}

.editor-styles-wrapper .scnv-hero-meta-card {
	min-width: 285px;
}

.editor-styles-wrapper .scnv-hero-cover .scnv-hero-title,
.editor-styles-wrapper .scnv-hero-cover .scnv-hero-subtitle,
.editor-styles-wrapper .scnv-hero-cover .scnv-hero-meta-name {
	color: #fff !important;
}

.editor-styles-wrapper .scnv-hero-cover .scnv-hero-meta-card .scnv-hero-meta-name {
	color: #0a235c !important;
}

.editor-styles-wrapper .scnv-hero-cover .scnv-hero-meta-subtitle {
	color: #6b7280 !important;
}

.editor-styles-wrapper .scnv-hero-cover .text-sc-light-blue {
	color: #2495bf !important;
}

.editor-styles-wrapper .scnv-hero-cover .wp-block-columns,
.editor-styles-wrapper .scnv-hero-cover .wp-block-group {
	margin-block: 0;
}

.editor-styles-wrapper .scnv-hero-inner > .scnv-hero-columns {
	max-width: none !important;
}

.editor-styles-wrapper .scnv-primary-cta .wp-block-button__link,
.editor-styles-wrapper .scnv-secondary-cta .wp-block-button__link {
	text-decoration: none;
}

.scnv-bio-item {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.scnv-bio-item::before {
	content: "";
	display: inline-block;
	flex: 0 0 2rem;
	width: 2rem;
	height: 2rem;
	background-color: #2495bf;
	-webkit-mask: var(--scnv-bio-icon) center / contain no-repeat;
	mask: var(--scnv-bio-icon) center / contain no-repeat;
}

.scnv-bio-item > * {
	margin: 0 !important;
}

.scnv-bio-item--graduation {
	--scnv-bio-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='black' d='M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z'/%3E%3C/svg%3E");
}

.scnv-bio-item--house {
	--scnv-bio-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='black' d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/%3E%3C/svg%3E");
}

.scnv-bio-item--briefcase {
	--scnv-bio-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z'/%3E%3C/svg%3E");
}

.scnv-bio-item--heart {
	--scnv-bio-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='black' d='M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z'/%3E%3C/svg%3E");
}

.scnv-bio-item--trophy {
	--scnv-bio-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='black' d='M400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H357.9C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z'/%3E%3C/svg%3E");
}

.scnv-candidat-section {
	margin: 0;
	padding-block: 5rem;
}

.scnv-candidat-shell {
	width: min(1120px, calc(100% - 32px));
	max-width: none !important;
	margin: 0 auto;
	box-sizing: border-box;
}

.scnv-candidat-columns {
	align-items: flex-start;
	gap: clamp(2rem, 4vw, 3rem);
}

.scnv-candidat-shell > .scnv-candidat-columns {
	width: 100%;
	max-width: none !important;
}

.scnv-candidat-columns > .scnv-candidat-bio-column {
	flex-basis: 33.333% !important;
}

.scnv-candidat-columns > .scnv-candidat-text-column {
	flex-basis: 66.666% !important;
}

.scnv-candidat-bio-column > .wp-block-group,
.scnv-candidat-text-column > .wp-block-group {
	margin-block: 0;
}

.scnv-candidat-bio-card,
.scnv-candidat-text-card {
	height: 100%;
}

.scnv-vision-section,
.scnv-assistant-section,
.scnv-values-section,
.scnv-engagements-section,
.scnv-soutiens-section {
	margin: 0;
	width: 100%;
	max-width: none !important;
	box-sizing: border-box;
}

.scnv-vision-shell,
.scnv-assistant-shell,
.scnv-values-shell,
.scnv-engagements-shell,
.scnv-soutiens-shell {
	width: min(1120px, calc(100% - 32px));
	max-width: none !important;
	margin: 0 auto;
	box-sizing: border-box;
}

.scnv-vision-shell > *,
.scnv-assistant-shell > *,
.scnv-values-shell > *,
.scnv-engagements-shell > *,
.scnv-soutiens-shell > * {
	max-width: none !important;
}

.scnv-vision-shell > .wp-block-group,
.scnv-assistant-shell > .wp-block-group,
.scnv-values-shell > .wp-block-group,
.scnv-engagements-shell > .wp-block-group,
.scnv-soutiens-shell > .wp-block-group {
	margin-left: auto;
	margin-right: auto;
}

.scnv-values-grid,
.scnv-engagements-grid {
	width: 100%;
	max-width: none !important;
	gap: 2rem;
	align-items: stretch;
}

.scnv-values-grid > .wp-block-column,
.scnv-engagements-grid > .wp-block-column {
	margin-top: 0 !important;
}

.scnv-values-col,
.scnv-engagements-column {
	display: flex;
}

.scnv-values-card,
.scnv-engagements-stack,
.scnv-assistant-card {
	width: 100%;
	max-width: none !important;
}

.scnv-assistant-card {
	margin-block: 0;
}

.scnv-assistant-topbar {
	margin-block: 0;
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	column-gap: 0.75rem;
	row-gap: 0.125rem;
	align-items: center;
}

.scnv-assistant-topbar-icon {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='black' d='M320 0c17.7 0 32 14.3 32 32V96H472c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H168c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z'/%3E%3C/svg%3E");
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	margin: 0;
	font-size: 0;
	line-height: 0;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #2495bf;
	color: #fff;
	grid-column: 1;
	grid-row: 1 / span 2;
}

.scnv-assistant-topbar-title,
.scnv-assistant-topbar-subtitle {
	margin: 0;
}

.scnv-assistant-topbar-title {
	grid-column: 2;
	grid-row: 1;
}

.scnv-assistant-topbar-subtitle {
	grid-column: 2;
	grid-row: 2;
}

.scnv-assistant-card > * {
	max-width: none !important;
}

.scnv-assistant-disclaimer {
	margin-bottom: 0;
}

.scnv-values-card {
	height: 100%;
	margin-block: 0;
}

.scnv-values-card > * {
	margin-top: 0;
}

.scnv-values-icon {
	width: 3.5rem;
	height: 3.5rem;
	font-size: 0;
	line-height: 0;
	border-radius: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 1.5rem;
	background: linear-gradient(135deg, #2495bf 0%, #2563eb 100%);
	color: #fff;
	transition: transform 0.25s ease;
}

.scnv-values-card:hover .scnv-values-icon {
	transform: scale(1.08);
}

.scnv-orb {
	position: absolute;
	width: auto;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0;
	line-height: 0;
	border-radius: 999px;
	background: #2495bf;
	opacity: 0.1;
	pointer-events: none;
}

.scnv-orb--values-top {
	top: -5rem;
	right: -5rem;
	width: 24rem;
	height: 24rem;
	filter: blur(48px);
}

.scnv-orb--values-bottom {
	left: -5rem;
	bottom: -5rem;
	width: 20rem;
	height: 20rem;
	filter: blur(48px);
}

.scnv-orb--contact-top {
	top: -2.5rem;
	right: -2.5rem;
	width: 10rem !important;
	max-width: 10rem !important;
	height: 10rem;
	filter: blur(32px);
}

.scnv-values-icon::before,
.scnv-contact-icon::before,
.scnv-assistant-badge--sparkles::before,
.scnv-assistant-topbar-icon::before {
	content: "";
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	background-color: currentColor;
	mask-image: var(--scnv-icon-mask);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: var(--scnv-icon-mask);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.scnv-values-icon--leaf {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M272 96c-78.6 0-145.1 51.5-167.7 122.5c33.6-17 71.5-26.5 111.7-26.5h88c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 216s0 0 0 0c-16.6 0-32.7 1.9-48.2 5.4c-25.9 5.9-50 16.4-71.4 30.7c0 0 0 0 0 0C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96L272 96z'/%3E%3C/svg%3E");
}

.scnv-values-icon--users {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='black' d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z'/%3E%3C/svg%3E");
}

.scnv-values-icon--shield {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 0c17.7 0 35.3 3.1 52 9.3L461.7 66c18.1 6.7 30.3 24 30.3 43.3c0 120.7-68.1 233.3-177.1 292.4L270 426.2c-8.9 4.8-19.6 4.8-28.5 0l-44.9-24.4C88.1 342.6 20 230 20 109.3C20 90 32.2 72.7 50.3 66L204 9.3C220.7 3.1 238.3 0 256 0zM214.6 245.2c-8.5-8.5-22.3-8.5-30.8 0s-8.5 22.3 0 30.8l41.4 41.4c8.5 8.5 22.3 8.5 30.8 0l82.8-82.8c8.5-8.5 8.5-22.3 0-30.8s-22.3-8.5-30.8 0L240 272.6l-25.4-27.4z'/%3E%3C/svg%3E");
}

.scnv-assistant-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 auto 1rem;
	padding: 0.25rem 1rem;
	border-radius: 999px;
	background: #dbeafe;
	color: #0a235c;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
}

.scnv-assistant-badge--sparkles::before {
	width: 1rem;
	height: 1rem;
	background-color: #2495bf;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 32l24.6 89.4L370 146l-89.4 24.6L256 260l-24.6-89.4L142 146l89.4-24.6L256 32zm-140 228l12.9 47.1L176 320l-47.1 12.9L116 380l-12.9-47.1L56 320l47.1-12.9L116 260zm280 32l16.6 60.4L473 369l-60.4 16.6L396 446l-16.6-60.4L319 369l60.4-16.6L396 292z'/%3E%3C/svg%3E");
}

.scnv-engagements-grid {
	gap: 3rem;
}

.scnv-engagements-stack {
	display: grid;
	gap: 2.5rem;
}

.scnv-engagements-item {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	column-gap: 1rem;
	row-gap: 0;
	align-items: flex-start !important;
}

.scnv-engagements-item .wp-block-group {
	margin-block: 0;
	min-width: 0;
}

.scnv-engagements-number {
	width: 3rem;
	min-width: 3rem;
	height: 3rem;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0a235c;
	color: #fff;
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1;
	box-shadow: 0 10px 25px rgba(10, 35, 92, 0.22);
	margin: 0;
}

.scnv-engagements-copy {
	flex: 1 1 0%;
	min-width: 0;
}

.scnv-engagements-copy > * {
	margin-top: 0;
}

.scnv-engagements-copy .wp-block-heading {
	margin-bottom: 0.5rem;
}

.scnv-soutiens-grid {
	gap: 3.5rem;
	align-items: flex-start;
	max-width: 1120px;
	margin-inline: auto;
}

.scnv-soutiens-heading {
	position: relative;
	z-index: 3;
	margin-bottom: 4.5rem !important;
}

.scnv-soutiens-grid > .wp-block-column {
	margin-top: 0 !important;
}

.scnv-soutiens-column {
	display: flex;
}

.scnv-soutiens-card {
	display: flex;
	align-items: flex-start;
	position: relative;
	width: 100%;
	height: 100%;
	margin-top: 4.25rem;
	padding: 5.15rem 2rem 2.5rem;
	border-radius: 1.5rem;
	background: #eff6ff;
}

.scnv-soutiens-card > * {
	margin-top: 0;
}

.scnv-soutiens-portrait {
	position: absolute;
	top: 0;
	left: 50%;
	width: 12.5rem !important;
	height: 12.5rem !important;
	min-width: 12.5rem;
	min-height: 12.5rem;
	max-width: none !important;
	max-height: none !important;
	line-height: 0;
	overflow: visible;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	z-index: 2;
}

.scnv-soutiens-portrait img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 999px;
	border: 4px solid #fff;
	box-shadow: 0 24px 48px rgba(10, 35, 92, 0.16);
	background: #d1d5db;
}

.scnv-soutiens-copy {
	width: 100%;
	text-align: center;
}

.scnv-soutiens-copy > * {
	margin-top: 0;
}

.scnv-soutiens-copy > .wp-block-heading + p:not([class]),
.scnv-soutiens-copy > p.text-sm.text-gray-500.mb-6.font-italic + p:not([class]) {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.scnv-soutiens-copy .wp-block-heading {
	margin-bottom: 0.35rem;
}

.scnv-soutiens-text {
	color: #5f6f87;
	font-style: italic;
	font-size: 0.95rem;
	line-height: 1.75;
	text-align: justify;
}

.scnv-soutiens-text > p:first-child {
	margin-top: 0;
}

.scnv-contact-section {
	margin: 0;
}

.scnv-contact-shell {
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
}

.scnv-contact-shell > * {
	max-width: none !important;
}

.scnv-contact-card {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0 auto 5rem;
	overflow: hidden;
	border-radius: 1.5rem;
	background: linear-gradient(180deg, rgba(11, 39, 96, 0.96), rgba(11, 39, 96, 0.92));
	box-shadow: 0 28px 60px rgba(10, 35, 92, 0.22);
}

.scnv-contact-card > .wp-block-group,
.scnv-contact-card > .wp-block-columns {
	width: 100%;
	max-width: none !important;
	margin-left: 0;
	margin-right: 0;
}

.scnv-contact-header {
	width: 100%;
	max-width: none !important;
	padding: 2rem 2rem 2.25rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.scnv-contact-header > * {
	margin-top: 0;
}

.scnv-contact-logo {
	margin: 0 auto 1rem;
}

.scnv-contact-logo img {
	display: block;
	height: 5rem;
	width: auto;
	object-fit: contain;
}

.scnv-contact-grid {
	width: 100%;
	max-width: none !important;
	gap: 0;
}

.scnv-contact-grid > .wp-block-column {
	margin-top: 0 !important;
}

.scnv-contact-column {
	display: flex;
}

.scnv-contact-col {
	width: 100%;
	min-height: 100%;
	padding: 3rem 2.5rem 2.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	transition: background-color 0.3s ease;
}

.scnv-contact-col:hover {
	background: rgba(255, 255, 255, 0.05);
}

.scnv-contact-col--split {
	border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.scnv-contact-icon {
	width: 3.5rem;
	height: 3.5rem;
	font-size: 0;
	line-height: 0;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-bottom: 1rem;
}

.scnv-candidat-text-main,
.scnv-candidat-text-extra {
	margin: 0;
	padding: 0;
}

.scnv-vision-video-frame {
	max-width: 64rem;
}

.scnv-vision-video-frame > * {
	max-width: none !important;
}

.scnv-vision-video-frame .wp-block-embed,
.scnv-vision-video-frame figure {
	margin: 0;
	width: 100% !important;
	max-width: none !important;
}

.scnv-vision-video-frame .wp-block-embed__wrapper {
	position: relative;
	display: block;
	width: 100%;
	max-width: none !important;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	font-size: 0;
	line-height: 0;
}

.scnv-vision-video-frame iframe {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.scnv-contact-icon--mail {
	background: rgba(36, 149, 191, 0.2);
	color: #2495bf;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E");
}

.scnv-contact-icon--support {
	background: rgba(251, 191, 36, 0.2);
	color: #fbbf24;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z'/%3E%3C/svg%3E");
}

.scnv-contact-actions {
	justify-content: center;
	margin-bottom: 1rem;
}

.scnv-contact-donate .wp-block-button__link {
	box-shadow: 0 12px 28px rgba(10, 35, 92, 0.16);
}

.scnv-contact-qr {
	margin: 0;
}

.scnv-contact-qr img {
	display: block;
	width: 5rem;
	height: 5rem;
	padding: 0.5rem;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 14px 28px rgba(10, 35, 92, 0.16);
}

.editor-styles-wrapper .scnv-candidat-section {
	margin-block: 2.5rem 3rem;
	padding-block: 4.5rem;
}

.editor-styles-wrapper .scnv-candidat-shell {
	width: min(1120px, calc(100% - 8px));
	max-width: none !important;
	box-sizing: border-box;
}

.editor-styles-wrapper .scnv-candidat-columns {
	gap: 2.75rem;
}

.editor-styles-wrapper .scnv-candidat-shell > .scnv-candidat-columns {
	max-width: none !important;
}

.editor-styles-wrapper .scnv-candidat-columns > .wp-block-column {
	margin-top: 0 !important;
}

.editor-styles-wrapper .scnv-candidat-bio-card,
.editor-styles-wrapper .scnv-candidat-text-card {
	margin-block: 0;
}

.editor-styles-wrapper .scnv-vision-section,
.editor-styles-wrapper .scnv-assistant-section,
.editor-styles-wrapper .scnv-values-section,
.editor-styles-wrapper .scnv-engagements-section,
.editor-styles-wrapper .scnv-soutiens-section,
.editor-styles-wrapper .scnv-contact-section {
	margin-block: 2.5rem 3rem;
	width: 100%;
	max-width: none !important;
	box-sizing: border-box;
}

.editor-styles-wrapper .scnv-vision-shell,
.editor-styles-wrapper .scnv-assistant-shell,
.editor-styles-wrapper .scnv-values-shell,
.editor-styles-wrapper .scnv-engagements-shell,
.editor-styles-wrapper .scnv-soutiens-shell,
.editor-styles-wrapper .scnv-contact-shell {
	width: min(1120px, calc(100% - 8px));
	max-width: none !important;
	box-sizing: border-box;
}

.editor-styles-wrapper .scnv-vision-shell > *,
.editor-styles-wrapper .scnv-assistant-shell > *,
.editor-styles-wrapper .scnv-values-shell > *,
.editor-styles-wrapper .scnv-engagements-shell > *,
.editor-styles-wrapper .scnv-soutiens-shell > *,
.editor-styles-wrapper .scnv-contact-shell > * {
	max-width: none !important;
}

.editor-styles-wrapper .scnv-values-grid,
.editor-styles-wrapper .scnv-engagements-grid {
	width: 100%;
	max-width: none !important;
}

.editor-styles-wrapper .scnv-engagements-item {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	column-gap: 1rem;
	row-gap: 0;
	align-items: flex-start !important;
}

.editor-styles-wrapper .scnv-engagements-item .wp-block-group {
	min-width: 0;
}

.editor-styles-wrapper .scnv-engagements-copy {
	flex: 1 1 0%;
	min-width: 0;
}

.editor-styles-wrapper .scnv-assistant-card {
	margin-block: 0;
	max-width: none !important;
}

.editor-styles-wrapper .scnv-assistant-topbar,
.editor-styles-wrapper .scnv-assistant-topbar-main {
	display: flex;
	align-items: center;
}

.editor-styles-wrapper .scnv-assistant-card > * {
	max-width: none !important;
}

.editor-styles-wrapper .scnv-soutiens-grid {
	gap: 3.5rem;
	max-width: 1120px;
	margin-inline: auto;
	align-items: flex-start;
}

.editor-styles-wrapper .scnv-soutiens-heading {
	margin-bottom: 4.5rem !important;
}

.editor-styles-wrapper .scnv-soutiens-grid > .wp-block-column {
	margin-top: 0 !important;
}

.editor-styles-wrapper .scnv-soutiens-card {
	display: flex;
	align-items: flex-start;
	margin-top: 4.25rem;
	padding-top: 5.15rem;
}

.editor-styles-wrapper .scnv-soutiens-portrait {
	top: 0;
	width: 12.5rem !important;
	height: 12.5rem !important;
	min-width: 12.5rem;
	min-height: 12.5rem;
	max-width: none !important;
	max-height: none !important;
	line-height: 0;
	overflow: visible;
	margin: 0 !important;
	aspect-ratio: 1 / 1;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}

.editor-styles-wrapper .scnv-soutiens-portrait img {
	width: 100% !important;
	height: 100% !important;
	border-radius: 999px !important;
}

.editor-styles-wrapper .scnv-soutiens-copy {
	width: 100%;
}

.editor-styles-wrapper .scnv-soutiens-copy > .wp-block-heading + p:not([class]),
.editor-styles-wrapper .scnv-soutiens-copy > p.text-sm.text-gray-500.mb-6.font-italic + p:not([class]) {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.editor-styles-wrapper .scnv-vision-video-frame > * {
	max-width: none !important;
}

.editor-styles-wrapper .scnv-vision-video-frame .wp-block-embed,
.editor-styles-wrapper .scnv-vision-video-frame figure {
	margin: 0;
	width: 100% !important;
	max-width: none !important;
}

.editor-styles-wrapper .scnv-vision-video-frame .wp-block-embed__wrapper {
	display: block;
	width: 100%;
	max-width: none !important;
	font-size: 0;
	line-height: 0;
}

.editor-styles-wrapper .scnv-contact-card {
	width: 100%;
	max-width: none;
	margin-inline: auto;
}

.editor-styles-wrapper .scnv-contact-card > .wp-block-group,
.editor-styles-wrapper .scnv-contact-card > .wp-block-columns,
.editor-styles-wrapper .scnv-contact-header,
.editor-styles-wrapper .scnv-contact-grid {
	width: 100%;
	max-width: none !important;
}

.editor-styles-wrapper .scnv-contact-col {
	padding-inline: 2rem;
}

@media (max-width: 900px) {
	.scnv-hero-inner {
		width: min(100%, calc(100% - 24px));
		padding-top: 4rem;
		padding-bottom: 2rem;
	}

	.scnv-hero-title {
		font-size: clamp(2.6rem, 8vw, 4.1rem);
	}

	.scnv-hero-subtitle {
		font-size: 1.05rem;
	}

	.scnv-hero-image img {
		width: min(86%, 420px);
	}

	.scnv-hero-meta-card {
		margin-top: -3rem;
	}

	.scnv-candidat-shell {
		width: min(100%, calc(100% - 24px));
	}

	.scnv-candidat-columns {
		display: block !important;
		flex-wrap: wrap !important;
		gap: 1.5rem;
	}

	.scnv-candidat-columns > .scnv-candidat-bio-column,
	.scnv-candidat-columns > .scnv-candidat-text-column {
		flex: 0 0 100% !important;
		flex-basis: 100% !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.scnv-candidat-bio-card {
		max-width: 32rem;
		margin-inline: auto;
	}

	.scnv-candidat-text-column {
		margin-top: 1.5rem;
	}

	.scnv-vision-shell,
	.scnv-assistant-shell,
	.scnv-values-shell,
	.scnv-engagements-shell,
	.scnv-soutiens-shell,
	.scnv-contact-shell {
		width: min(100%, calc(100% - 24px));
	}

	.scnv-soutiens-card {
		margin-top: 6rem;
		padding: 7rem 1.5rem 1.75rem;
	}

	.scnv-values-grid,
	.scnv-engagements-grid,
	.scnv-soutiens-grid,
	.scnv-contact-grid {
		flex-wrap: wrap !important;
		gap: 1.5rem;
	}

	.scnv-values-grid > .wp-block-column,
	.scnv-engagements-grid > .wp-block-column,
	.scnv-soutiens-grid > .wp-block-column,
	.scnv-contact-grid > .wp-block-column {
		flex: 0 0 100% !important;
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.scnv-values-card,
	.scnv-assistant-card,
	.scnv-soutiens-card,
	.scnv-contact-card {
		width: 100%;
	}

	.scnv-soutiens-portrait {
		top: -6rem;
		width: 12rem;
	}

	.scnv-soutiens-portrait img {
		width: 12rem;
		height: 12rem;
	}

	.scnv-contact-col {
		padding: 2.5rem 1.5rem 2rem;
	}

	.scnv-contact-col--split {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
}

/* Final overrides kept at the end on purpose to beat legacy duplicated rules. */
.scnv-hero-cover .scnv-hero-columns > .scnv-hero-copy {
	flex-basis: 63% !important;
	max-width: 44rem !important;
}

.scnv-hero-cover .scnv-hero-columns > .scnv-hero-visual {
	flex-basis: 37% !important;
}

.scnv-hero-cover .scnv-hero-title {
	font-size: clamp(2.65rem, 4.25vw, 4.75rem) !important;
	line-height: 0.98 !important;
}

.scnv-hero-cover .scnv-hero-image img {
	width: min(60%, 340px) !important;
}

.scnv-hero-cover .scnv-hero-meta-card {
	min-width: 290px !important;
	max-width: 330px !important;
}

.scnv-hero-cover .scnv-hero-meta-name {
	white-space: nowrap !important;
}

.scnv-hero-cover .scnv-hero-meta-name::before {
	content: none !important;
	display: none !important;
}

.editor-styles-wrapper .scnv-hero-cover .scnv-hero-inner {
	width: min(1320px, calc(100% - 4px)) !important;
}

/* Desktop shell normalization kept last to override legacy duplicate width rules. */
@media (min-width: 783px) {
	.scnv-candidat-section,
	.scnv-vision-section,
	.scnv-assistant-section,
	.scnv-values-section,
	.scnv-engagements-section,
	.scnv-soutiens-section,
	.scnv-contact-section {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.scnv-candidat-shell,
	.scnv-vision-shell,
	.scnv-assistant-shell,
	.scnv-values-shell,
	.scnv-engagements-shell,
	.scnv-soutiens-shell,
	.scnv-contact-shell {
		width: min(1120px, calc(100% - 32px)) !important;
		max-width: 1120px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}
}


/* Desktop shell normalization kept last to override legacy duplicate width rules. */
@media (min-width: 783px) {
	.scnv-candidat-section,
	.scnv-vision-section,
	.scnv-assistant-section,
	.scnv-values-section,
	.scnv-engagements-section,
	.scnv-soutiens-section,
	.scnv-contact-section {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.scnv-candidat-shell,
	.scnv-vision-shell,
	.scnv-assistant-shell,
	.scnv-values-shell,
	.scnv-engagements-shell,
	.scnv-soutiens-shell,
	.scnv-contact-shell {
		width: min(1120px, calc(100% - 32px)) !important;
		max-width: 1120px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}
}


/* Desktop shell normalization kept last to override legacy duplicate width rules. */
@media (min-width: 783px) {
	.scnv-candidat-shell.container,
	.scnv-vision-shell.container,
	.scnv-assistant-shell.container,
	.scnv-values-shell.container,
	.scnv-engagements-shell.container,
	.scnv-soutiens-shell.container,
	.scnv-contact-shell.container {
		width: min(1120px, calc(100% - 32px)) !important;
		max-width: 1120px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}
}

/* Fidelity repairs for Gutenberg front rendering in converted sections. */
.scnv-engagements-grid,
.scnv-soutiens-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: start !important;
}

.scnv-engagements-grid {
	column-gap: 3rem !important;
	row-gap: 2.5rem !important;
}

.scnv-soutiens-grid {
	column-gap: 3.5rem !important;
	row-gap: 3.5rem !important;
}

.scnv-engagements-grid > p:empty,
.scnv-soutiens-grid > p:empty,
.scnv-contact-section > p:empty,
.scnv-contact-shell > p:empty,
.scnv-contact-card > p:empty,
.scnv-contact-header > p:empty,
.scnv-contact-grid > p:empty,
.scnv-contact-col > p:empty,
.scnv-engagements-stack > p:empty,
.scnv-engagements-item > p:empty,
.scnv-soutiens-card > p:empty,
.scnv-soutiens-copy > p:empty,
.scnv-soutiens-text > p:empty,
.scnv-soutiens-text .text-truncated > p:empty {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.scnv-engagements-grid > .wp-block-column,
.scnv-soutiens-grid > .wp-block-column {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.scnv-engagements-stack,
.scnv-engagements-stack > *,
.scnv-engagements-item,
.scnv-engagements-copy,
.scnv-soutiens-column,
.scnv-soutiens-card,
.scnv-soutiens-copy,
.scnv-soutiens-text,
.scnv-soutiens-text .text-truncated {
	width: 100% !important;
	max-width: none !important;
}

.scnv-contact-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* Structural repairs for invalid Gutenberg nesting on the public homepage. */
@media (min-width: 783px) {
	.scnv-engagements-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 3rem !important;
		row-gap: 2.5rem !important;
		align-items: start !important;
	}

	.scnv-engagements-grid > .wp-block-column,
	.scnv-engagements-stack,
	.scnv-engagements-item {
		width: 100% !important;
		max-width: none !important;
	}

	.scnv-engagements-item {
		display: flex !important;
		align-items: flex-start !important;
		gap: 1rem !important;
	}

	.scnv-engagements-number {
		flex: 0 0 3rem !important;
	}

	.scnv-engagements-copy {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: auto !important;
	}

	.scnv-soutiens-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 3.5rem !important;
		row-gap: 0 !important;
		align-items: stretch !important;
	}

	.scnv-soutiens-grid > .scnv-soutiens-column {
		display: flex !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.scnv-soutiens-grid > .scnv-soutiens-column > p:empty {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

		.scnv-soutiens-grid > .scnv-soutiens-column > .scnv-soutiens-card {
			width: 100% !important;
			max-width: none !important;
			height: 100% !important;
			margin: 4.25rem 0 0 !important;
		}

	.scnv-contact-section {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: 0 !important;
	padding-right: 0 !important;
}

.scnv-soutiens-section {
	padding-bottom: 8rem !important;
}

.scnv-soutiens-section > p:has(+ .scnv-contact-section) {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
}

/* 2026-07-20 phase-36 - candidat : toggle "Lire la suite" converti en bloc Details natif.
   Le summary reprend l apparence de l ancien bouton (text-sc-light-blue font-bold mt-4 hover:underline)
   et le chevron SVG inline est remplace par un masque CSS, selon la regle 9 de la procedure. */
.scnv-candidat-details > summary,
.editor-styles-wrapper .scnv-candidat-details > summary {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1rem;
	font-weight: 700;
	color: #2495bf;
}

.scnv-candidat-details > summary::-webkit-details-marker,
.editor-styles-wrapper .scnv-candidat-details > summary::-webkit-details-marker {
	display: none;
}

.scnv-candidat-details > summary::marker,
.editor-styles-wrapper .scnv-candidat-details > summary::marker {
	content: none;
}

.scnv-candidat-details > summary:hover,
.editor-styles-wrapper .scnv-candidat-details > summary:hover {
	text-decoration: underline;
}

.scnv-candidat-details > summary::after,
.editor-styles-wrapper .scnv-candidat-details > summary::after {
	content: "";
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	background-color: currentColor;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-12.5-32.8 0-45.3s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: var(--scnv-icon-mask);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	transition: transform 0.3s ease;
}

.scnv-candidat-details[open] > summary::after,
.editor-styles-wrapper .scnv-candidat-details[open] > summary::after {
	transform: rotate(180deg);
}

/* 2026-07-21 phase-37 - fidelite editeur pour Soutiens et Contact.
   Scope `.editor-styles-wrapper` uniquement: aucun impact sur le front public.
   1. Contact: le hack pleine largeur du front (100vw + marges negatives) n a pas
      de sens dans le canvas de l editeur et decalait toute la section.
   2. Soutiens: avec la colonne de reglages ouverte, le canvas retrecit et les
      cartes passaient sous la largeur utile du medaillon (200px) + padding;
      on empile les cartes dans l editeur pour une lecture confortable. */
@media (min-width: 783px) {
	.editor-styles-wrapper .scnv-contact-section {
		width: auto !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

.editor-styles-wrapper .scnv-soutiens-grid {
	grid-template-columns: minmax(0, 1fr) !important;
	width: 100% !important;
	max-width: 680px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.editor-styles-wrapper .scnv-soutiens-card {
	height: auto !important;
	min-height: 0 !important;
}

/* Titres de la section Contact: la regle globale du theme
   `body:not(.scnv-home-front) .wp-block-heading` (bleu fonce) a une specificite
   superieure a `.scnv-contact-section .wp-block-heading` (blanc) et s applique
   dans l editeur ou le body n a pas la classe front. On force le blanc ici,
   scoped editeur uniquement, sans impact sur le front. */
.editor-styles-wrapper .scnv-contact-section .wp-block-heading {
	color: #fff !important;
}

/* 2026-07-21 phase-38 - soutiens : boutons toggleText convertis en blocs Details natifs.
   Le summary reprend l apparence de l ancien bouton (text-sc-light-blue font-bold mt-4
   hover:underline) ; le conteneur `.scnv-soutiens-text` est en italique, donc le summary
   est explicitement remis en style normal. Chevron en masque CSS, selon la regle 9. */
.scnv-soutiens-details > summary,
.editor-styles-wrapper .scnv-soutiens-details > summary {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1rem;
	font-weight: 700;
	font-style: normal;
	color: #2495bf;
}

.scnv-soutiens-details > summary::-webkit-details-marker,
.editor-styles-wrapper .scnv-soutiens-details > summary::-webkit-details-marker {
	display: none;
}

.scnv-soutiens-details > summary::marker,
.editor-styles-wrapper .scnv-soutiens-details > summary::marker {
	content: none;
}

.scnv-soutiens-details > summary:hover,
.editor-styles-wrapper .scnv-soutiens-details > summary:hover {
	text-decoration: underline;
}

.scnv-soutiens-details > summary::after,
.editor-styles-wrapper .scnv-soutiens-details > summary::after {
	content: "";
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	background-color: currentColor;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: var(--scnv-icon-mask);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	transition: transform 0.3s ease;
}

.scnv-soutiens-details[open] > summary::after,
.editor-styles-wrapper .scnv-soutiens-details[open] > summary::after {
	transform: rotate(180deg);
}

/* 2026-07-21 phase-39 - contact : bouton "Envoyer un email" converti en bloc bouton natif.
   L ancre `href="#contact-modal"` est interceptee en delegation JS dans page-accueil.php
   pour ouvrir la modale ; l icone paper-plane est un masque CSS, selon la regle 9.
   Le rendu reprend l ancien bouton: bg-sc-light-blue, texte blanc gras, pilule,
   ombre portee, survol blanc/texte bleu fonce avec leger zoom. */
.scnv-contact-mail .wp-block-button__link,
.editor-styles-wrapper .scnv-contact-mail .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 2rem;
	border-radius: 9999px;
	background-color: #2495bf;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
}

.scnv-contact-mail .wp-block-button__link:hover,
.editor-styles-wrapper .scnv-contact-mail .wp-block-button__link:hover {
	background-color: #fff;
	color: #0a235c;
	transform: scale(1.05);
}

.scnv-contact-mail .wp-block-button__link::before,
.editor-styles-wrapper .scnv-contact-mail .wp-block-button__link::before {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: var(--scnv-icon-mask);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

@media (max-width: 781px) {
	.scnv-contact-mail,
	.scnv-contact-mail .wp-block-button__link,
	.editor-styles-wrapper .scnv-contact-mail,
	.editor-styles-wrapper .scnv-contact-mail .wp-block-button__link {
		width: 100%;
	}
}

/* 2026-07-21 phase-41 - deux correctifs de fidelite.
   1. Editeur: Gutenberg force `position: relative` sur les wrappers de blocs,
      ce qui neutralise le `position: absolute` des orbes decoratifs `scnv-orb`;
      en flux, leurs 24rem/20rem de hauteur creaient un vide geant au-dessus de
      `Nos Valeurs`. On retablit l absolu en editeur (le wrapper parent de la
      section est deja positionne par Gutenberg, donc l ancrage reste bon).
      Aucun impact front: la regle est scoped `.editor-styles-wrapper`.
   2. Front + editeur: le medaillon Soutiens (200px, ancre en haut de la carte)
      recouvrait le nom d environ 17px; on augmente le padding haut de la carte
      pour dégager le nom (desktop uniquement, le mobile a deja 7rem). */
.editor-styles-wrapper .scnv-orb {
	position: absolute !important;
}

@media (min-width: 783px) {
	.scnv-soutiens-card {
		padding-top: 7rem;
	}
	/* Editeur: il existe une vieille regle explicite
	   `.editor-styles-wrapper .scnv-soutiens-card { padding-top: 5.15rem }`
	   de specificite (0,2,0); il faut la meme specificite explicite, plus
	   tard dans le fichier, pour la battre (le `:where()` du preprocesseur
	   d editeur rendrait la regle non scopec trop faible). */
	.editor-styles-wrapper .scnv-soutiens-card {
		padding-top: 7rem;
	}
	/* Editeur: Gutenberg force aussi `position: relative` sur le bloc image du
	   portrait; avec le translate(-50%,-50%) conserve, le medaillon retombait
	   visuellement sur le nom. On retablit l absolu comme pour les orbes. */
	.editor-styles-wrapper .scnv-soutiens-portrait {
		position: absolute !important;
	}
}

/* 2026-07-21 phase-42 - footer : conversion en blocs natifs Gutenberg.
   Le `<footer>` PHP quitte page-accueil.php pour le post_content (batch18).
   Structure: 4 colonnes (wp:columns) + barre du bas. Le formulaire Brevo
   reste un micro-ilot core/html (POST externe + honeypot + JS, meme doctrine
   que le chat Assistant, validee par le proprietaire). Icones en masques CSS
   (regle 9), chemins SVG extraits du rendu Font Awesome 6.4.0 reel du front.
   Regle 28: les regles editeur sont explicites `.editor-styles-wrapper` et
   placees en fin de fichier. */
.scnv-footer-section {
	margin: 0;
}

/* 2026-07-23 phase-49 - FSE : suppression de la bande de fond entre le corps
   de page et le footer. Les styles globaux core appliquent
   `margin-block-start: 1.2rem` a `:where(.wp-site-blocks) > *` (block gap),
   ce qui laissait ~19px du fond de page (blanc) entre la section Contact et
   le footer, particulierement visible dans Safari. Le selecteur core etant
   en `:where()` (specificite nulle), cette regle suffit sans `!important`. */
.wp-site-blocks > footer.wp-block-template-part {
	margin-block-start: 0;
}

.scnv-footer-grid {
	gap: 2rem;
	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

.scnv-footer-grid > .wp-block-column {
	flex: 1 1 0;
	margin-top: 0 !important;
}

/* Titres h6 du footer: filet bas bleu clair a 30% (anciennes classes
   border-b border-sc-light-blue/30 pb-2 inline-block). */
.scnv-footer-h6,
.editor-styles-wrapper .scnv-footer-h6 {
	display: inline-block;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid rgba(36, 149, 191, 0.3);
}

/* Liens sociaux: pastilles-masques gris-400, survol bleu clair. */
.scnv-footer-socials {
	gap: 1rem;
}

.scnv-footer-social,
.editor-styles-wrapper .scnv-footer-social {
	margin: 0;
}

.scnv-footer-social a,
.editor-styles-wrapper .scnv-footer-social a {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	background-color: #9ca3af;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	transition: background-color 0.3s ease;
}

.scnv-footer-social a:hover,
.editor-styles-wrapper .scnv-footer-social a:hover {
	background-color: #2495bf;
}

.scnv-footer-social--facebook a,
.editor-styles-wrapper .scnv-footer-social--facebook a {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	-webkit-mask-image: var(--scnv-icon-mask);
}

.scnv-footer-social--instagram a,
.editor-styles-wrapper .scnv-footer-social--instagram a {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	-webkit-mask-image: var(--scnv-icon-mask);
}

.scnv-footer-social--tiktok a,
.editor-styles-wrapper .scnv-footer-social--tiktok a {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	-webkit-mask-image: var(--scnv-icon-mask);
}

.scnv-footer-social--youtube a,
.editor-styles-wrapper .scnv-footer-social--youtube a {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='black' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	-webkit-mask-image: var(--scnv-icon-mask);
}

/* Listes du footer: puces natives remplacees par des icones-masques
   (chevron pour la navigation, enveloppe et marqueur pour le contact). */
.scnv-footer-links,
.scnv-footer-contact-list,
.editor-styles-wrapper .scnv-footer-links,
.editor-styles-wrapper .scnv-footer-contact-list {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.scnv-footer-links li + li,
.editor-styles-wrapper .scnv-footer-links li + li {
	margin-top: 0.5rem;
}

.scnv-footer-contact-list li + li,
.editor-styles-wrapper .scnv-footer-contact-list li + li {
	margin-top: 0.75rem;
}

.scnv-footer-links li a,
.editor-styles-wrapper .scnv-footer-links li a {
	display: flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}

.scnv-footer-links li a:hover,
.editor-styles-wrapper .scnv-footer-links li a:hover {
	color: #2495bf;
}

.scnv-footer-links li a::before,
.editor-styles-wrapper .scnv-footer-links li a::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 0.6rem;
	height: 0.6rem;
	margin-right: 0.5rem;
	opacity: 0.5;
	background-color: currentColor;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='black' d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: var(--scnv-icon-mask);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.scnv-footer-contact-item,
.editor-styles-wrapper .scnv-footer-contact-item {
	display: flex;
	align-items: flex-start;
}

.scnv-footer-contact-item::before,
.editor-styles-wrapper .scnv-footer-contact-item::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	margin: 0.2rem 0.75rem 0 0;
	background-color: #2495bf;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.scnv-footer-contact-item--mail::before,
.editor-styles-wrapper .scnv-footer-contact-item--mail::before {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	-webkit-mask-image: var(--scnv-icon-mask);
}

.scnv-footer-contact-item--address::before,
.editor-styles-wrapper .scnv-footer-contact-item--address::before {
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	-webkit-mask-image: var(--scnv-icon-mask);
}

.scnv-footer-contact-item a,
.editor-styles-wrapper .scnv-footer-contact-item a {
	color: inherit;
	transition: color 0.3s ease;
}

.scnv-footer-contact-item a:hover,
.editor-styles-wrapper .scnv-footer-contact-item a:hover {
	color: #fff;
}

/* Barre du bas: colonne sur mobile, ligne espacee sur desktop. */
.scnv-footer-bottom,
.editor-styles-wrapper .scnv-footer-bottom {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

@media (min-width: 782px) {
	.scnv-footer-bottom,
	.editor-styles-wrapper .scnv-footer-bottom {
		flex-direction: row;
	}
}

.scnv-footer-legal,
.editor-styles-wrapper .scnv-footer-legal {
	display: flex;
	gap: 1.5rem;
}

.scnv-footer-legal a,
.editor-styles-wrapper .scnv-footer-legal a {
	color: inherit;
	transition: color 0.3s ease;
}

.scnv-footer-legal a:hover,
.editor-styles-wrapper .scnv-footer-legal a:hover {
	color: #fff;
}

/* Editeur: fidelite visuelle du footer (Tailwind absent de l editeur).
   Le piege `body:not(.scnv-home-front) .wp-block-heading` (bleu fonce,
   regle 28) est neutralise pour les titres du footer comme pour Contact. */
.editor-styles-wrapper .scnv-footer-section .wp-block-heading {
	color: #fff !important;
}

.editor-styles-wrapper .scnv-footer-section .text-gray-400 {
	color: #9ca3af !important;
}

.editor-styles-wrapper .scnv-footer-section .text-gray-500 {
	color: #6b7280 !important;
}

.editor-styles-wrapper .scnv-footer-inner {
	padding-top: 2.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.editor-styles-wrapper .scnv-footer-bottom {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	max-width: 72rem;
	margin-left: auto;
	margin-right: auto;
}

/* 2026-07-21 phase-42b - largeurs du footer.
   Le groupe `scnv-footer-inner` (layout contraint) herite du plafond global
   WP `content-size` (645px), ce qui retrecissait toute la grille et la barre
   du bas par rapport au footer d'origine (max-w-6xl = 72rem). Meme traitement
   que `scnv-contact-shell`: on libere l'enfant direct du shell, puis on
   redonne explicitement 72rem aux deux blocs concernes, front et editeur. */
.scnv-footer-shell > *,
.editor-styles-wrapper .scnv-footer-shell > * {
	max-width: none !important;
}

.scnv-footer-inner > .scnv-footer-grid,
.scnv-footer-inner > .scnv-footer-bottom,
.editor-styles-wrapper .scnv-footer-inner > .scnv-footer-grid,
.editor-styles-wrapper .scnv-footer-inner > .scnv-footer-bottom {
	max-width: 72rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* 2026-07-21 phase-44 - header FSE dans `parts/header.html`.
   INERTE tant que `templates/front-page.html` n existe pas: rien ne rend
   encore ces styles. La nav PHP de page-accueil.php reste la nav live.
   Conversion: logo + bloc Navigation natif (overlay burger mobile core) +
   boutons Rejoindre / Faire un don. Les liens `scnv-fse-nav-mobile-only`
   (Rejoindre/Don) sont masques en desktop inline et visibles dans l overlay
   mobile, tandis que `.scnv-fse-actions` disparait quand le burger s affiche.
   Ecart connu et documente: le breakpoint overlay core (~600px) differe du
   breakpoint historique lg (1024px); affinage prevu au lot de bascule. */
.scnv-fse-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background-color: var(--scnv-dark-blue);
	color: #fff;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	opacity: 0.95;
}

.scnv-fse-header-bar {
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
	padding: 0.5rem 0;
	gap: 1rem;
}

.scnv-fse-header-bar > * {
	margin-top: 0;
}

.scnv-fse-logo {
	margin: 0;
}

.scnv-fse-logo img {
	display: block;
	height: 3rem;
	width: auto;
	object-fit: contain;
}

@media (min-width: 782px) {
	.scnv-fse-logo img {
		height: 4rem;
	}
}

.scnv-fse-header-right {
	gap: 1.25rem;
}

/* 2026-07-22 phase-46: les flex containers WordPress autorisent le retour
   a la ligne par defaut; le header doit tenir sur UNE ligne en desktop
   (liens + pilules), comme l ancienne nav PHP. */
.scnv-fse-nav .wp-block-navigation__container,
.scnv-fse-actions {
	flex-wrap: nowrap !important;
}

/* Sans cela, le groupe boutons est comprime par la nav (flex-shrink) et
   le texte des pilules s empile lettre par lettre. */
.scnv-fse-actions {
	flex-shrink: 0;
}

.scnv-fse-actions .wp-block-button__link,
.scnv-fse-nav .wp-block-navigation-item__content {
	white-space: nowrap;
}

/* Encombrement: le blockGap 1.5rem du bloc Navigation est trop large pour
   tenir avec les deux pilules dans la barre de 1120px. */
.scnv-fse-nav .wp-block-navigation__container {
	gap: 1rem !important;
}

/* Liens de navigation: uppercase discret, survol bleu clair. */
.scnv-fse-nav .wp-block-navigation-item__content {
	color: #fff;
	font-weight: 600;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.scnv-fse-nav .wp-block-navigation-item__content:hover {
	color: #2495bf;
}

/* Desktop (au-dessus du breakpoint overlay core ~600px): les liens
   Rejoindre/Don (versions texte pour l overlay mobile) sont masques; les
   vrais boutons pilules sont dans `.scnv-fse-actions`.
   2026-07-22 phase-46 correctif: sur le front, le <ul> du menu est
   IMBOITE dans `.wp-block-navigation__responsive-container` (l ancien
   selecteur enfant direct `>` ne matchait que l editeur) — on utilise
   une media query, le meme <ul> servant au rendu inline desktop ET a
   l overlay mobile. */
@media (min-width: 601px) {
	.scnv-fse-nav .scnv-fse-nav-mobile-only {
		display: none !important;
	}
}

/* Desktop inline: le lien Assistant IA ne montre que l icone sparkles
   (masque CSS, regle 9); dans l overlay mobile, le libelle reste visible. */
@media (min-width: 601px) {
	.scnv-fse-nav .scnv-fse-nav-ai .wp-block-navigation-item__content {
		font-size: 0;
		display: block;
		width: 1.25rem;
		height: 1.25rem;
	}

	.scnv-fse-nav .scnv-fse-nav-ai .wp-block-navigation-item__content::before {
		content: "";
		display: block;
		width: 1.25rem;
		height: 1.25rem;
		background-color: rgba(255, 255, 255, 0.8);
		--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M256 32l24.6 89.4L370 146l-89.4 24.6L256 260l-24.6-89.4L142 146l89.4-24.6L256 32zm-140 228l12.9 47.1L176 320l-47.1 12.9L116 380l-12.9-47.1L56 320l47.1-12.9L116 260zm280 32l16.6 60.4L473 369l-60.4 16.6L396 446l-16.6-60.4L319 369l60.4-16.6L396 292z'/%3E%3C/svg%3E");
		mask-image: var(--scnv-icon-mask);
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: contain;
		-webkit-mask-image: var(--scnv-icon-mask);
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		-webkit-mask-size: contain;
		transition: background-color 0.3s ease;
	}

	.scnv-fse-nav .scnv-fse-nav-ai .wp-block-navigation-item__content:hover::before {
		background-color: #2495bf;
	}
}

/* Bouton Rejoindre (pilule bleue) — ouvre la modale via la delegation
   `#contact-modal` (phase-39); le JS et la modale seront relocalises au
   lot de bascule FSE. */
.scnv-fse-join .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
	border-radius: 9999px;
	background-color: #2495bf;
	color: #fff;
	font-weight: 600;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all 0.3s ease;
}

.scnv-fse-join .wp-block-button__link:hover {
	background-color: #fff;
	color: #0a235c;
}

/* Bouton Faire un don (pilule or, icone coeur en masque, regle 9). */
.scnv-fse-donate .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.5rem 1.25rem;
	border-radius: 9999px;
	border: 2px solid #fbbf24;
	font-weight: 700;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
}

.scnv-fse-donate .wp-block-button__link::before {
	content: "";
	display: block;
	width: 0.9rem;
	height: 0.9rem;
	background-color: currentColor;
	--scnv-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M47.6 300.4L228.3 469.1c7.5 7 17.4 10.9 27.7 10.9s20.2-3.9 27.7-10.9L464.4 300.4c30.4-28.3 47.6-68 47.6-109.5v-5.8c0-69.9-50.5-129.5-119.4-141C347 36.5 300.6 51.4 268 84L256 96 244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5z'/%3E%3C/svg%3E");
	mask-image: var(--scnv-icon-mask);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: var(--scnv-icon-mask);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.scnv-fse-donate .wp-block-button__link:hover {
	background-color: #fff;
	border-color: #fff;
	color: #0a235c;
	transform: scale(1.05);
}

/* Quand le burger core s affiche (breakpoint ~600px), les boutons pilules
   de la barre disparaissent: leurs equivalents texte sont dans l overlay. */
@media (max-width: 600px) {
	.scnv-fse-actions {
		display: none;
	}
}

/* Dans l overlay mobile: Rejoindre et Don prennent une apparence bouton. */
.wp-block-navigation__responsive-container .scnv-fse-nav-join .wp-block-navigation-item__content {
	background-color: #2495bf;
	border-radius: 9999px;
	padding: 0.5rem 1.25rem;
	font-weight: 700;
}

.wp-block-navigation__responsive-container .scnv-fse-nav-donate .wp-block-navigation-item__content {
	background-color: #fbbf24;
	color: #0a235c;
	border-radius: 9999px;
	padding: 0.5rem 1.25rem;
	font-weight: 700;
}


/* 2026-07-26 phase-51 : notes admin (`scnv-editor-note`) visibles
   UNIQUEMENT dans l editeur Gutenberg.
   Principe: masquees au public (`display: none`), reaffichees dans le
   canvas Gutenberg grace a l ancetre `.editor-styles-wrapper` (present
   seulement en admin; specificite superieure, meme feuille).
   Usage: identifier les ilots `core/html` volontairement non rendus
   dans l editeur (formulaires tiers, modules JS complexes). Regle:
   tout ilot HTML stable conserve en hybride DOIT porter sa note admin
   juste au-dessus, pour savoir a quoi il se refere sans lire le code. */
.scnv-editor-note {
	display: none;
}
.editor-styles-wrapper .scnv-editor-note {
	display: block;
	font-size: 11px;
	line-height: 1.5;
	color: #4b5563;
	background-color: #f3f4f6;
	border: 1px dashed #9ca3af;
	border-radius: 4px;
	padding: 4px 8px;
	margin: 0 0 6px 0;
}
.editor-styles-wrapper .scnv-editor-note::before {
	content: "\1F6E0  "; /* cle a molette */
	font-size: 10px;
}
