/**
 * Archange 140 — page d'accueil (templates/front-page.html + patterns/accueil-*.php).
 * Mobile d'abord. Les couleurs, typos et espacements viennent de theme.json.
 */

/* ==========================================================================
   Jetons locaux
   ========================================================================== */

:root {
	--a140-or-ligne: rgba(194, 160, 99, 0.55);
	/* Rosace au trait (filigrane de la section Communauté). */
	--a140-rose: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23C2A063' stroke-width='0.8'%3E%3Ccircle cx='50' cy='50' r='49'/%3E%3Ccircle cx='50' cy='50' r='45'/%3E%3Ccircle cx='50' cy='50' r='18'/%3E%3Ccircle cx='81.5' cy='50.0' r='11'/%3E%3Ccircle cx='72.3' cy='72.3' r='11'/%3E%3Ccircle cx='50.0' cy='81.5' r='11'/%3E%3Ccircle cx='27.7' cy='72.3' r='11'/%3E%3Ccircle cx='18.5' cy='50.0' r='11'/%3E%3Ccircle cx='27.7' cy='27.7' r='11'/%3E%3Ccircle cx='50.0' cy='18.5' r='11'/%3E%3Ccircle cx='72.3' cy='27.7' r='11'/%3E%3Cpath d='M66.6 56.9L91.6 67.2'/%3E%3Cpath d='M56.9 66.6L67.2 91.6'/%3E%3Cpath d='M43.1 66.6L32.8 91.6'/%3E%3Cpath d='M33.4 56.9L8.4 67.2'/%3E%3Cpath d='M33.4 43.1L8.4 32.8'/%3E%3Cpath d='M43.1 33.4L32.8 8.4'/%3E%3Cpath d='M56.9 33.4L67.2 8.4'/%3E%3Cpath d='M66.6 43.1L91.6 32.8'/%3E%3C/g%3E%3C/svg%3E");
	/* Pictogrammes au trait des engagements (même dessin que ceux du pied de page). */
	--a140-pic-cadenas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Crect x='4.75' y='10.25' width='14.5' height='10' rx='1.5'/%3E%3Cpath d='M8 10.25V7.5a4 4 0 0 1 8 0v2.75'/%3E%3Cpath d='M12 14.25v2.25' stroke-linecap='round'/%3E%3C/svg%3E");
	--a140-pic-retour: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12a7.5 7.5 0 1 0 2.2-5.3'/%3E%3Cpath d='M4.5 4.25v4.5H9'/%3E%3C/svg%3E");
	/* T-shirt marqué d'une croix : la création sur mesure. */
	--a140-pic-tee: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.6 3.75C9.3 5.5 14.7 5.5 15.4 3.75L20.4 5.9l1.1 4.2-3.2 1.05v9.1H5.7v-9.1L2.5 10.1l1.1-4.2z'/%3E%3Cpath d='M12 10.25v4.5M9.75 12.5h4.5'/%3E%3C/svg%3E");
}

/* Pictogramme des engagements : ornement = sens (la croix ne signale que l'Église). */
.a140-orn { --a140-orn: var(--a140-cross); }
.a140-orn--cadenas { --a140-orn: var(--a140-pic-cadenas); }
.a140-orn--retour { --a140-orn: var(--a140-pic-retour); }
.a140-orn--eglise { --a140-orn: var(--a140-cross); }
.a140-orn--tee { --a140-orn: var(--a140-pic-tee); }

/* Les sections s'enchaînent sans marge : le rythme vient de leurs paddings (60/70). */
.a140-accueil > .alignfull {
	margin-block: 0;
}

/* Le pied de page suit directement la dernière section. */
.wp-site-blocks > .a140-accueil + * {
	margin-block-start: 0;
}

/* ==========================================================================
   En-tête de section (surtitre + titre + lien)
   ========================================================================== */

.a140-titrage {
	gap: 1rem 2.5rem;
	margin-bottom: var(--wp--preset--spacing--50);
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--a140-line);
}

.a140-titrage__titres > * {
	margin-block: 0;
}

.a140-titrage__titres > .is-style-surtitre {
	margin-bottom: 0.6rem;
}

.a140-titrage__titres h2 {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.05;
}

.a140-titrage__intro {
	max-width: 27rem;
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.4;
	color: var(--a140-muted);
}

.a140-titrage .wp-block-buttons {
	margin: 0;
}

/* ==========================================================================
   1. Ouverture panoramique : la communauté face à la croix
   ========================================================================== */

/*
 * Mobile et tablette portrait : la photo, recadrée sur la croix et le groupe, passe
 * au-dessus du texte et se fond dans la nuit. Dès 960px, le panorama occupe la droite
 * de la section à sa hauteur (jamais étiré en largeur) et un voile part de la gauche
 * pour porter le texte.
 */
.wp-block-group.a140-hero {
	--a140-hero-nuit: 19, 17, 22;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	/* Aplat de nuit (sans le dégradé « vitrail ») : la photo s'y fond sans couture. */
	background-color: var(--wp--preset--color--nuit);
	background-image: none;
}

/* La rosace du style « vitrail » ne reste visible que sur l'aplat de gauche (grands écrans). */
.wp-block-group.a140-hero::before {
	opacity: 0.12;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 55%);
	mask-image: linear-gradient(90deg, #000 0%, transparent 55%);
}

.wp-block-image.a140-hero__panorama {
	position: relative;
	z-index: -1;
	margin-top: calc(var(--wp--preset--spacing--60) * -1) !important;
	margin-bottom: 0;
	/* Format 4/3 pleine largeur ; téléphone à l'horizontale : la photo laisse voir le début du texte. */
	height: min(75vw, 72vh);
	overflow: hidden;
}

/* Spécificité relevée : le cœur impose « height: auto » aux images .alignfull. */
.wp-block-image.a140-hero__panorama img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 55% 70%;
}

/* Fondu vers la nuit sous la photo. */
.a140-hero__panorama::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(var(--a140-hero-nuit), 0) 50%, rgba(var(--a140-hero-nuit), 0.85) 86%, rgb(var(--a140-hero-nuit)) 100%);
	pointer-events: none;
}

/* Éditeur : l'image reçoit un « height: auto » en ligne ; on la laisse remplir son cadre. */
.editor-styles-wrapper .a140-hero__panorama img {
	height: 100% !important;
}

.a140-hero__texte {
	position: relative;
	margin-top: -3.25rem !important;
}

.a140-hero__texte > * {
	margin-block: 0;
}

/* La déclaration de la marque : le plus grand titre du site (préréglage « Affiche »).
   Plafond en vw sur petit écran : « Portez votre foi. » doit tenir sur une seule ligne. */
.a140-hero__titre {
	margin-top: 1.1rem !important;
	font-size: min(var(--wp--preset--font-size--display), 9vw);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--ivoire);
	text-shadow: 0 2px 24px rgba(var(--a140-hero-nuit), 0.45);
}

.a140-hero__titre em {
	display: block;
	margin-top: 0.12em;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.08em;
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--wp--preset--color--or);
}

.a140-hero__accroche {
	max-width: 33rem;
	margin-top: 1.6rem !important;
	font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
	line-height: 1.7;
	color: rgba(251, 248, 242, 0.82);
}

.a140-hero__actions {
	max-width: 36rem;
	margin-top: 2.25rem !important;
	gap: 0.75rem;
}

/* Les deux boutons occupent la ligne : largeurs égales quand ils passent l'un sous l'autre. */
.a140-hero__actions > .wp-block-button {
	flex: 1 1 auto;
}

.a140-hero__actions .wp-block-button__link {
	width: 100%;
	text-align: center;
}

@media (min-width: 600px) and (max-width: 959px) {
	.wp-block-image.a140-hero__panorama {
		height: min(56.25vw, 72vh);
	}

	/* Recadrage vertical éventuel (téléphone à l'horizontale) : on garde la croix et le groupe. */
	.wp-block-image.a140-hero__panorama img {
		object-position: 50% 78%;
	}
}

@media (min-width: 960px) {
	.a140-hero {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: clamp(560px, 47vw, 680px);
	}

	/* Le panorama à droite, à la hauteur de la section : sa largeur découle de son format. */
	.wp-block-image.a140-hero__panorama {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: auto;
		width: auto;
		max-width: none;
		height: 100%;
		margin: 0 !important;
		aspect-ratio: 1058 / 634;
	}

	.wp-block-image.a140-hero__panorama img {
		object-position: 100% 50%;
	}

	/* Voile : aplat de nuit au bord gauche de la photo, puis transparence vers la droite ; sol assombri. */
	.a140-hero__panorama::after {
		background:
			linear-gradient(90deg, rgb(var(--a140-hero-nuit)) 0%, rgba(var(--a140-hero-nuit), 0.78) 15%, rgba(var(--a140-hero-nuit), 0.25) 44%, rgba(var(--a140-hero-nuit), 0) 63%),
			linear-gradient(0deg, rgba(var(--a140-hero-nuit), 0.6) 0%, rgba(var(--a140-hero-nuit), 0) 30%);
	}

	/* Marges automatiques en flex : sans largeur explicite, le bloc se rétrécirait au centre. */
	.a140-hero__texte {
		width: 100%;
		margin-top: 0 !important;
	}
}

/* Écrans intermédiaires : la photo passe en partie sous le texte, un second voile le protège. */
@media (min-width: 960px) and (max-width: 1279px) {
	.a140-hero::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: linear-gradient(90deg, rgba(var(--a140-hero-nuit), 0.7) 0%, rgba(var(--a140-hero-nuit), 0.45) 40%, rgba(var(--a140-hero-nuit), 0) 62%);
		pointer-events: none;
	}

	/* Le titre garde sa coupure en deux lignes : seul le texte courant est resserré. */
	.a140-hero__texte > :not(.a140-hero__actions, .a140-hero__titre) {
		max-width: 31rem;
	}
}

/* Moins de 1200px : on sacrifie la colline de droite (vide) pour garder la croix hors du texte. */
@media (min-width: 960px) and (max-width: 1199px) {
	.wp-block-image.a140-hero__panorama {
		transform: translateX(18%);
	}
}

/* Apparition douce du héros (désactivée si l'utilisateur limite les animations). */
@media (prefers-reduced-motion: no-preference) {
	.a140-hero__texte > * {
		animation: a140-monte 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	}

	.a140-hero__texte > :nth-child(2) { animation-delay: 0.08s; }
	.a140-hero__texte > :nth-child(3) { animation-delay: 0.16s; }
	.a140-hero__texte > :nth-child(4) { animation-delay: 0.24s; }

	/* La photo se pose lentement (sans fondu : elle reste l'image principale de la page). */
	.a140-hero__panorama img {
		animation: a140-pose 2.4s cubic-bezier(0.2, 0.7, 0.2, 1) both;
		transform-origin: 60% 60%;
	}

	@keyframes a140-monte {
		from {
			opacity: 0;
			transform: translateY(18px);
		}

		to {
			opacity: 1;
			transform: none;
		}
	}

	@keyframes a140-pose {
		from {
			transform: scale(1.045);
		}

		to {
			transform: none;
		}
	}
}

/* ==========================================================================
   Arches photographiques (mission, créations, communauté) : filet doré décalé
   ========================================================================== */

.a140-galerie-arches .wp-block-image::after,
.a140-diptyque__principale::after,
.a140-perso__arche::after {
	content: "";
	position: absolute;
	inset: -7px;
	border: 1px solid var(--a140-or-ligne);
	border-radius: 999px 999px 0 0;
	pointer-events: none;
}

/* Éditeur : l'image reçoit un « height: auto » en ligne ; on la laisse remplir son arche. */
.editor-styles-wrapper .a140-galerie-arches .wp-block-image img,
.editor-styles-wrapper .a140-diptyque .wp-block-image img,
.editor-styles-wrapper .a140-perso__arche img {
	height: 100% !important;
}

/* ==========================================================================
   2. Engagements
   ========================================================================== */

.a140-confiance {
	border-bottom: 1px solid var(--a140-line);
}

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

.a140-confiance__grille > .a140-confiance__item {
	position: relative;
	margin: 0;
	padding-top: 3.4rem;
	text-align: center;
}

/* Médaillon : cercle (avant) + ornement masqué (après). */
.a140-confiance__item::before,
.a140-confiance__item::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.a140-confiance__item::before {
	width: 42px;
	height: 42px;
	border: 1px solid var(--wp--preset--color--or);
	border-radius: 50%;
}

.a140-confiance__item::after {
	top: 10px;
	width: 22px;
	height: 22px;
	background-color: var(--wp--preset--color--or-profond);
	-webkit-mask: var(--a140-orn) center / contain no-repeat;
	mask: var(--a140-orn) center / contain no-repeat;
}

.a140-confiance__item > * {
	margin-block: 0;
}

.a140-confiance__titre {
	font-family: var(--wp--preset--font-family--inscription);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.3;
}

.a140-confiance__texte {
	margin-top: 0.3rem !important;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	color: var(--a140-muted);
}

@media (min-width: 700px) and (max-width: 1279px) {
	.a140-confiance__grille {
		gap: 1.75rem 2.5rem;
		max-width: 860px;
		margin-inline: auto;
	}

	.a140-confiance__grille > .a140-confiance__item {
		min-height: 42px;
		padding: 0 0 0 3.6rem;
		text-align: left;
	}

	.a140-confiance__item::before {
		left: 0;
		transform: none;
	}

	.a140-confiance__item::after {
		left: 10px;
		transform: none;
	}
}

/* Quatre colonnes dès que chaque titre tient sur une ligne. */
@media (min-width: 1280px) {
	.a140-confiance__grille {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0;
	}

	.a140-confiance__grille > .a140-confiance__item {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 46px;
		padding: 0 1rem 0 4.5rem;
		text-align: left;
	}

	.a140-confiance__grille > .a140-confiance__item + .a140-confiance__item {
		border-left: 1px solid var(--a140-line);
	}

	.a140-confiance__item::before {
		top: 50%;
		left: 1.25rem;
		transform: translateY(-50%);
	}

	.a140-confiance__item::after {
		top: 50%;
		left: calc(1.25rem + 10px);
		transform: translateY(-50%);
	}

	.a140-confiance__titre {
		white-space: nowrap;
	}

	.a140-confiance__grille > .a140-confiance__item:first-child {
		padding-left: 3.25rem;
	}

	.a140-confiance__item:first-child::before {
		left: 0;
	}

	.a140-confiance__item:first-child::after {
		left: 10px;
	}
}

/* ==========================================================================
   3. Nos collections — six vitraux gothiques (ceux des en-têtes de catégorie)
   ========================================================================== */

/*
 * Le vitrail est la vignette : il annonce la catégorie et le visiteur le retrouve
 * en arrivant sur la page de celle-ci. Verre un peu éteint au repos, il s'éclaire
 * au survol comme traversé par la lumière.
 */
.a140-tuiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.75rem 0.75rem;
}

.a140-tuiles > .a140-tuile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	text-align: center;
	color: var(--wp--preset--color--nuit);
}

.a140-tuile > * {
	margin-block: 0;
}

.a140-tuiles .a140-tuile__vitrail {
	width: 100%;
	max-width: 200px;
	margin: 0 auto 1rem;
}

.a140-tuile__vitrail img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 300 / 540;
	filter: saturate(0.8) drop-shadow(0 18px 22px rgba(19, 17, 22, 0.18));
	transition: filter 420ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.a140-tuile__titre {
	font-size: clamp(0.8rem, 0.62rem + 0.9vw, 1.15rem);
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.2;
	color: inherit;
	/* Un mot n'est jamais coupé en plein milieu. */
	overflow-wrap: normal;
	hyphens: manual;
}

.a140-tuile__titre a {
	color: inherit;
	text-decoration: none;
	transition: color var(--a140-ease);
}

/* Toute la tuile (vitrail compris) est cliquable. */
.a140-tuile__titre a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Dans l'éditeur, le lien étiré masquerait les blocs : on le retire. */
.editor-styles-wrapper .a140-tuile__titre a::after {
	display: none;
}

.a140-tuile__titre a:focus-visible {
	outline: none;
}

.a140-tuiles > .a140-tuile:has(a:focus-visible) {
	outline: 2px solid var(--a140-focus);
	outline-offset: 6px;
}

/* « Découvrir » : affiché dès que la colonne est assez large pour le lire sans plisser les yeux. */
.a140-tuile__lien {
	display: none;
	margin-top: 0.55rem !important;
	padding-top: 0.55rem;
	border-top: 1px solid rgba(194, 160, 99, 0.55);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--wp--preset--color--or-profond);
}

.a140-tuile__lien::after {
	content: "→" / "";
	display: inline-block;
	margin-left: 0.45em;
	transition: transform var(--a140-ease);
}

.a140-tuile:hover .a140-tuile__vitrail img,
.a140-tuile:has(a:focus-visible) .a140-tuile__vitrail img {
	filter: saturate(1.05) brightness(1.06) drop-shadow(0 22px 24px rgba(19, 17, 22, 0.2)) drop-shadow(0 0 22px rgba(255, 214, 140, 0.55));
	transform: translateY(-4px);
}

.a140-tuile:hover .a140-tuile__titre a {
	color: var(--wp--preset--color--or-profond);
}

.a140-tuile:hover .a140-tuile__lien::after {
	transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
	.a140-tuile:hover .a140-tuile__vitrail img,
	.a140-tuile:has(a:focus-visible) .a140-tuile__vitrail img {
		transform: none;
	}
}

/* Tablette portrait : trois vitraux par rang, plafonnés pour ne pas devenir des cathédrales. */
@media (min-width: 700px) {
	.a140-tuiles {
		gap: 2.5rem 1.5rem;
	}

	.a140-tuiles .a140-tuile__vitrail {
		max-width: 170px;
	}

	.a140-tuile__lien {
		display: block;
	}
}

/* Dès 960px, les six vitraux tiennent sur un rang, comme une nef. */
@media (min-width: 960px) {
	.a140-tuiles {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 1rem;
	}

	.a140-tuiles .a140-tuile__vitrail {
		max-width: none;
	}

	.a140-tuile__titre {
		font-size: clamp(0.92rem, 0.4rem + 0.85vw, 1.15rem);
		text-wrap: balance;
	}
}

@media (min-width: 1200px) {
	.a140-tuiles {
		gap: 1.25rem;
	}
}

/* ==========================================================================
   4 & 7. Vitrines produits (les cartes sont stylées dans woocommerce.css)
   ========================================================================== */

.a140-vitrine .a140-produits {
	margin-top: 0;
}

/*
 * Rythme vertical : 88px (spacing 60) pour les bandes marchandes, 128px (spacing 70) pour les
 * bandes éditoriales. Deux bandes marchandes sur le même parchemin (collections puis
 * nouveautés) ne cumulent pas leurs marges : un seul intervalle de 88px les sépare.
 */
.a140-accueil > .a140-collections + .a140-vitrine {
	padding-top: 0 !important;
}

/* ==========================================================================
   5. Verset
   ========================================================================== */

.a140-verset {
	text-align: center;
}

.a140-verset__texte {
	margin-top: var(--wp--preset--spacing--40) !important;
	font-size: clamp(2.3rem, 1.3rem + 4.2vw, 4.75rem);
	font-weight: 500;
	line-height: 1.1;
	text-wrap: balance;
	color: var(--wp--preset--color--ivoire);
}

.a140-verset__source {
	margin-top: 1.25rem !important;
	margin-bottom: var(--wp--preset--spacing--40) !important;
	padding-left: 0.28em;
	font-family: var(--wp--preset--font-family--inscription);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--wp--preset--color--or);
}

/* ==========================================================================
   6. Notre mission
   ========================================================================== */

/* La Vierge est affichée au plus à sa taille native (255px) : nette, jamais agrandie. */
.a140-diptyque {
	position: relative;
	max-width: 400px;
	margin: 0 auto;
	padding: 7px 0 9% 7px;
}

.a140-diptyque > .wp-block-image {
	margin: 0;
}

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

.a140-diptyque__principale {
	position: relative;
	width: min(70%, 255px);
	aspect-ratio: 255 / 360;
}

.a140-diptyque__secondaire {
	position: absolute !important;
	right: 0;
	bottom: 0;
	width: 46%;
	aspect-ratio: 4 / 5;
}

.a140-diptyque__secondaire img {
	object-position: 50% 62%;
}

.a140-diptyque__secondaire img {
	border: 6px solid var(--wp--preset--color--parchemin);
	box-sizing: border-box;
	box-shadow: var(--wp--preset--shadow--douce);
}

.a140-mission__texte {
	max-width: 36rem;
}

.a140-mission__texte > * {
	margin-block: 0;
}

.a140-mission__texte > h2 {
	margin-top: 0.75rem;
	line-height: 1.08;
}

.a140-mission__chapeau {
	margin-top: 1.75rem !important;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	line-height: 1.5;
	color: var(--wp--preset--color--encre);
}

.a140-mission__chapeau + p {
	margin-top: 1rem;
	color: var(--a140-muted);
}

.a140-mission__texte > .wp-block-buttons {
	margin-top: 2rem;
}

/* Valeurs : grille 2 colonnes (la dernière, plus longue, occupe la ligne), puis 3 + 2 sur grand écran. */
.wp-block-list.a140-valeurs {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	justify-content: start;
	gap: 0.6rem 1.75rem;
	margin-top: 1.75rem;
	padding-block: 1.1rem;
	border-block: 1px solid var(--a140-line);
	font-family: var(--wp--preset--font-family--inscription);
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.wp-block-list.a140-valeurs li {
	margin: 0;
	padding-left: 1.45rem;
}

.wp-block-list.a140-valeurs li::before {
	top: 0.32em;
	width: 0.8em;
	height: 0.8em;
}

.wp-block-list.a140-valeurs li:last-child {
	grid-column: 1 / -1;
}

/* Très petits écrans : une valeur par ligne plutôt qu'un débordement. */
@media (max-width: 359px) {
	.wp-block-list.a140-valeurs {
		grid-template-columns: max-content;
	}
}

@media (min-width: 1200px) {
	.wp-block-list.a140-valeurs {
		grid-template-columns: repeat(3, max-content);
	}

	.wp-block-list.a140-valeurs li:last-child {
		grid-column: auto / span 2;
	}
}

/* ==========================================================================
   8. Créations personnalisées
   ========================================================================== */

.a140-perso__texte {
	max-width: 36rem;
}

.a140-perso__texte > * {
	margin-block: 0;
}

.a140-perso__texte > h2 {
	margin-top: 0.75rem;
	line-height: 1.08;
}

.a140-perso__intro {
	margin-top: 1.25rem !important;
	color: var(--a140-muted);
}

.wp-block-list.a140-projets {
	margin-top: 1.75rem;
}

.wp-block-list.a140-projets li {
	margin-bottom: 0.95rem;
	color: var(--a140-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.wp-block-list.a140-projets li::before {
	top: 0.2em;
}

.wp-block-list.a140-projets strong {
	display: block;
	margin-bottom: 0.1rem;
	font-family: var(--wp--preset--font-family--inscription);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--nuit);
}

.a140-perso__badges {
	gap: 0.6rem;
	margin-top: 1.25rem !important;
}

.a140-perso__badges > .a140-perso__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	padding: 0.5rem 0.9rem;
	border: 1px solid rgba(125, 95, 40, 0.4);
	border-radius: 2px;
	background: rgba(251, 248, 242, 0.7);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--wp--preset--color--or-profond);
}

.a140-perso__badge::before {
	content: "";
	flex: 0 0 auto;
	width: 11px;
	height: 11px;
	background-color: currentColor;
	-webkit-mask: var(--a140-cross) center / contain no-repeat;
	mask: var(--a140-cross) center / contain no-repeat;
}

.a140-perso__actions {
	margin-top: 2rem !important;
	gap: 1rem 1.75rem;
	align-items: center;
}

.a140-perso__actions .is-style-lien > .wp-block-button__link {
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-transform: none;
}

/* Détail d'art sacré de l'atelier (recadré sans le bandeau de l'affiche) dans l'arche maison. */
.wp-block-image.a140-perso__arche {
	position: relative;
	width: 100%;
	max-width: 380px;
	margin: 7px auto;
	aspect-ratio: 540 / 796;
}

.a140-perso__arche img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	box-shadow: 0 34px 50px -28px rgba(19, 17, 22, 0.55);
}

@media (max-width: 781px) {
	.wp-block-image.a140-perso__arche {
		max-width: 300px;
	}
}

/* ==========================================================================
   9. Communauté
   ========================================================================== */

.a140-communaute {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-bottom: 1px solid rgba(194, 160, 99, 0.2);
}

.a140-communaute::before {
	/* Rosace discrète en filigrane. */
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	right: -6%;
	width: min(62vw, 760px);
	aspect-ratio: 1;
	transform: translateY(-50%);
	background: var(--a140-rose) center / contain no-repeat;
	opacity: 0.09;
	pointer-events: none;
}

.a140-communaute__texte {
	max-width: 30rem;
}

.a140-communaute__texte > * {
	margin-block: 0;
}

.a140-communaute__texte > h2 {
	margin-top: 0.75rem;
	line-height: 1.08;
}

.a140-communaute__intro {
	margin-top: 1.25rem !important;
	color: rgba(251, 248, 242, 0.75);
}

.a140-communaute__intro a {
	color: var(--wp--preset--color--or);
	font-weight: 500;
}

.a140-communaute__intro a:hover {
	color: var(--wp--preset--color--ivoire);
}

.a140-communaute__texte > .wp-block-buttons {
	margin-top: 2rem;
}

.a140-communaute__texte > h2 {
	/* Jamais « COMMUNAUT / É » : la taille suit la colonne plutôt que de couper le mot. */
	overflow-wrap: normal;
}

@media (min-width: 782px) and (max-width: 1099px) {
	.a140-communaute__texte > h2 {
		font-size: clamp(1.75rem, 3.6vw, 2.4rem) !important;
	}
}

/* Baie géminée : deux lancettes photographiques, une croix d'or au-dessus, un appui doré dessous. */
.a140-galerie-arches {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	max-width: 560px;
	margin-inline: auto;
	padding: 2.75rem 8px 3.5rem;
}

.a140-galerie-arches > .wp-block-image {
	position: relative;
	margin: 0;
	aspect-ratio: 3 / 4.7;
}

.a140-galerie-arches > .wp-block-image:nth-child(2) {
	transform: translateY(2rem);
}

.a140-galerie-arches img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.a140-galerie-arches > .wp-block-image:first-child img {
	object-position: 50% 30%;
}

.a140-galerie-arches::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0.75rem;
	width: 18px;
	height: 18px;
	transform: translateX(-50%);
	background-color: var(--wp--preset--color--or);
	-webkit-mask: var(--a140-cross) center / contain no-repeat;
	mask: var(--a140-cross) center / contain no-repeat;
}

.a140-galerie-arches::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--a140-or-ligne) 18%, var(--a140-or-ligne) 82%, transparent);
}

@media (max-width: 781px) {
	.a140-galerie-arches {
		max-width: 420px;
		padding-top: 2.75rem;
		padding-bottom: 2.75rem;
	}

	.a140-galerie-arches > .wp-block-image:nth-child(2) {
		transform: translateY(1.25rem);
	}
}
