/* ==========================================================================
   Redesign sections built with core blocks (inc/rd-blocks.php): block styles picked in the editor.
   Loaded on the redesign views and in the block editor. The parent theme drops wp-block-library on the front, so
   these rules lay the blocks out by themselves. :is(#wrapper, .editor-styles-wrapper) = site and editor alike.
   ========================================================================== */

.editor-styles-wrapper {
	--rd-max: 1440px;
	--rd-plum: #320131;
	--rd-berry: #B31E6F;
	--rd-berry-dark: #8E1858;
	--rd-cream: #FBF7F3;
	--rd-cream-2: #F6EEE8;
	--rd-pink: #F9E9EE;
	--rd-pink-2: #F3D5DF;
	--rd-border: #EEE2DC;
	--rd-text: #4A3A46;
	--rd-muted: #74636F;
	--rd-radius: 12px;
	--rd-title-font: "League Spartan", "Helvetica Neue", Arial, sans-serif;
	--rd-sans: "League Spartan", "Helvetica Neue", Arial, sans-serif;
}

/* Editor: the parent theme's editor styles cap every block at 840px; the redesign sections use the site's widths */
.editor-styles-wrapper .wp-block-cover:is(.is-style-rd-hero, .is-style-rd-hero-occasion),
.editor-styles-wrapper .wp-block-group:is(.is-style-rd-bandeau, .is-style-rd-sous-nav),
.editor-styles-wrapper :is(.is-style-rd-hero, .is-style-rd-hero-occasion, .is-style-rd-section, .is-style-rd-pastilles, .is-style-rd-tuiles, .is-style-rd-bandeau, .is-style-rd-sous-nav) .wp-block {
	max-width: none;
}

/* Editor: captions are editable fields that wrap (white-space: pre-wrap); keep the label on one line as on the site */
.editor-styles-wrapper .is-style-rd-pastilles .wp-block-image figcaption {
	white-space: nowrap !important;
	word-break: normal;
}

/* ---------- Buttons: styles « Maliste », « Maliste + flèche », « Maliste contour » ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-buttons > .wp-block-button {
	margin: 0;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-plein, .is-style-rd-fleche, .is-style-rd-contour) > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 24px;
	border: 2px solid var(--rd-berry);
	border-radius: 8px;
	background: var(--rd-berry);
	color: var(--rd-on-berry, #FFF);
	font-family: var(--rd-sans);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.15;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

/* The parent theme's .wp-element-button draws a gradient (::before) and a wave (::after) */
:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-plein, .is-style-rd-fleche, .is-style-rd-contour) > .wp-block-button__link::before {
	display: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-plein, .is-style-rd-contour) > .wp-block-button__link::after {
	display: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-plein, .is-style-rd-fleche) > .wp-block-button__link:hover {
	border-color: var(--rd-berry-dark);
	background: var(--rd-berry-dark);
	color: var(--rd-on-berry, #FFF);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-fleche > .wp-block-button__link::after {
	content: "";
	position: static;
	flex: none;
	transform: none;
	animation: none;
	opacity: 1;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-contour > .wp-block-button__link {
	background: var(--rd-surface, #FFF);
	color: var(--rd-berry);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-contour > .wp-block-button__link:hover {
	background: var(--rd-pink);
	color: var(--rd-berry-dark);
}

/* ---------- List: style « Atouts (icônes) ». Icon of an item: class rd-icone-… (default: heart) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-atouts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
	color: var(--rd-plum);
	font-size: 15px;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-atouts > li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-atouts > li::before {
	content: "";
	position: static;
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: var(--rd-berry);
	-webkit-mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E")) center / contain no-repeat;
	mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E")) center / contain no-repeat;
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-cadeau {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='13' rx='2'/%3E%3Cpath d='M12 8v13M3 12h18M12 8c-1.5-3.5-6-4-6-1.5S10 8 12 8zm0 0c1.5-3.5 6-4 6-1.5S14 8 12 8z'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-boutique {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l1.5-5h15L21 9M3 9h18M3 9c0 1.7 1.3 3 3 3s3-1.3 3-3c0 1.7 1.3 3 3 3s3-1.3 3-3c0 1.7 1.3 3 3 3s3-1.3 3-3M5 12v8h14v-8'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-coeur {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-liste {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11'/%3E%3Ccircle cx='4.5' cy='6' r='1'/%3E%3Ccircle cx='4.5' cy='12' r='1'/%3E%3Ccircle cx='4.5' cy='18' r='1'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-lien {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-partage {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='2.6'/%3E%3Ccircle cx='6' cy='12' r='2.6'/%3E%3Ccircle cx='18' cy='19' r='2.6'/%3E%3Cpath d='M8.3 10.7l7.4-4.3M8.3 13.3l7.4 4.3'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-proches {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.6 3.3-5.5 6.5-5.5s5.9 1.9 6.5 5.5'/%3E%3Ccircle cx='17' cy='9' r='2.6'/%3E%3Cpath d='M17.5 14.5c2.2.3 3.7 1.9 4 4.5'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-sac {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-recherche {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-mail {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M3.5 6.5l8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-horloge {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-calendrier {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-document {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5M10 13h6M10 17h4'/%3E%3C/svg%3E");
}

:is(#wrapper, .editor-styles-wrapper) .rd-icone-plus {
	--rd-icone: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

/* ---------- Cover: style « Hero maliste » ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-cover:is(.is-style-rd-hero, .is-style-rd-hero-occasion) {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 0;
	margin: 0;
	padding: 0;
	background: linear-gradient(to bottom, var(--rd-cream-2) 55%, var(--rd-cream));
	color: var(--rd-text);
}

/* The photo melts into the page below: no visible edge between the hero and the next section */
:is(#wrapper, .editor-styles-wrapper) .wp-block-cover:is(.is-style-rd-hero, .is-style-rd-hero-occasion)::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 38%;
	background: linear-gradient(to bottom, rgba(251, 247, 243, 0), var(--rd-cream));
	pointer-events: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__background {
	display: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__image-background {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	width: 64%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	object-fit: cover;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 30%);
	mask-image: linear-gradient(to right, transparent 0%, #000 30%);
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__inner-container {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	width: 100%;
	max-width: var(--rd-max);
	min-height: 440px;
	margin: 0 auto;
	padding: 56px 24px;
	box-sizing: border-box;
	color: inherit;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__inner-container > .wp-block-group {
	max-width: 660px;
	margin: 0;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) h1 {
	margin: 0;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: clamp(34px, 4.8vw, 66px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.025em;
	text-transform: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) .wp-block-group p {
	max-width: 520px;
	margin: 22px 0 0;
	color: var(--rd-text);
	font-size: 20px;
	line-height: 1.45;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) .wp-block-buttons {
	margin-top: 30px;
}

@media (max-width: 1100px) {
	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero .rd-wishcard {
		display: none;
	}
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__image-background {
		width: 100%;
		opacity: .28;
		-webkit-mask-image: none;
		mask-image: none;
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__inner-container {
		min-height: 0;
		padding: 40px 16px;
	}

	:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-hero, .is-style-rd-hero-occasion) .wp-block-group p {
		font-size: 18px;
	}
}

/* ---------- Group: style « Section maliste » (width, spacing, title) ---------- */

/* Classic theme: the group's blocks sit in an extra .wp-block-group__inner-container, left out of the layout */
:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-section, .is-style-rd-pastilles) > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-section {
	width: 100%;
	max-width: var(--rd-max);
	margin: 56px auto 0;
	padding: 0 24px;
	box-sizing: border-box;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-section h2 {
	margin: 0;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-transform: none;
}

/* ---------- Group: style « Pastilles ». Each pill = an Image block: photo, link, caption = label ---------- */

/* Editor: every pill in view, on as many rows as needed */
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-pastilles {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 22px 0 0;
	padding: 0;
}

/* Site: one row, centred while it fits; beyond, it scrolls sideways (swipe, trackpad, or the arrows of rd-blocks.js) */
#wrapper .wp-block-group.is-style-rd-pastilles {
	flex-wrap: nowrap;
	/* room for the pills' shadow and hover lift, clipped otherwise by the scroll container */
	margin: 14px 0 -16px;
	padding: 8px 2px 24px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

#wrapper .wp-block-group.is-style-rd-pastilles::-webkit-scrollbar {
	display: none;
}

/* Centred without justify-content, which would put the first pills out of reach once the row overflows */
#wrapper .is-style-rd-pastilles .wp-block-image:first-child {
	margin-left: auto;
}

#wrapper .is-style-rd-pastilles .wp-block-image:last-child {
	margin-right: auto;
}


:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image {
	position: relative;
	display: flex;
	flex: none;
	align-items: center;
	gap: 14px;
	height: 76px;
	margin: 0;
	padding: 8px 18px 8px 10px;
	border-radius: 999px;
	background: var(--rd-surface, #FFF);
	box-shadow: 0 6px 20px -14px rgba(50, 1, 49, .35);
	transition: box-shadow .2s ease, transform .2s ease;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image:hover {
	box-shadow: 0 10px 26px -14px rgba(50, 1, 49, .5);
	transform: translateY(-2px);
}

/* The link covers the whole pill, label included */
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image a {
	flex: none;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image img {
	display: block;
	flex: none;
	width: 56px;
	max-width: none;
	height: 56px;
	margin: 0;
	border-radius: 50%;
	object-fit: cover;
	backface-visibility: visible;
	clip-path: circle(50%);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image figcaption {
	margin: 0;
	padding: 0;
	color: var(--rd-plum);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.2;
	text-align: left;
	white-space: nowrap;
}

#wrapper .is-style-rd-pastilles .wp-block-image {
	scroll-snap-align: start;
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-section {
		padding: 0 16px;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-pastilles {
		gap: 10px;
	}

	/* Phones: swiped edge to edge, the next pill peeking out */
	#wrapper .wp-block-group.is-style-rd-pastilles {
		margin-right: -16px;
		margin-left: -16px;
		padding-right: 16px;
		padding-left: 16px;
		scroll-padding: 0 16px;
	}


	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image {
		gap: 10px;
		height: 64px;
		padding-right: 12px;
	}

	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image img {
		width: 42px;
		height: 42px;
	}

	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image figcaption {
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image {
		transition: none;
	}
}

/* ---------- Columns: style « Colonnes maliste » (two columns, stacked on phones) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-columns.is-style-rd-colonnes {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	margin: 0;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-colonnes > .wp-block-column {
	min-width: 0;
	margin: 0;
}

/* ---------- Paragraph styles: « Surtitre », « Accroche », « Étape numérotée » ---------- */

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-surtitre {
	display: inline-flex;
	margin: 0 0 14px;
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--rd-pink);
	color: var(--rd-berry);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
}

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-surtitre.has-text-align-center {
	display: flex;
	width: fit-content;
	margin-right: auto;
	margin-left: auto;
}

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-accroche {
	margin: 14px 0 0;
	color: var(--rd-text);
	font-size: 20px;
	line-height: 1.45;
}

/* Steps are numbered within their group (a « Carte démo » or any group) */
:is(#wrapper, .editor-styles-wrapper) .wp-block-group {
	counter-reset: rd-etape;
}

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-etape {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 18px 0 10px;
	color: var(--rd-plum);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	counter-increment: rd-etape;
}

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-etape:first-child {
	margin-top: 0;
}

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-etape::before {
	content: counter(rd-etape);
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--rd-berry);
	color: var(--rd-on-berry, #FFF);
	font-size: 14px;
	font-weight: 700;
}

/* ---------- Group: style « Carte démo » (white card) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-carte {
	margin: 0;
	padding: 28px;
	border-radius: 20px;
	background: var(--rd-surface, #FFF);
	box-shadow: 0 14px 34px -22px rgba(50, 1, 49, .45);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-carte > .wp-block-group__inner-container > :first-child,
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-carte > :first-child {
	margin-top: 0;
}

/* ---------- List: style « Points (icône, titre, texte) ». Bold text = title; icon: class rd-icone-… (default: heart) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-points {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-points > li {
	position: relative;
	min-height: 56px;
	margin: 0;
	padding: 0 0 0 72px;
	color: var(--rd-muted, #74636F);
	font-size: 16px;
	line-height: 1.5;
	list-style: none;
}

/* ::before: the round badge, ::after: the icon on it */
:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-points > li::before,
:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-points > li::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 56px;
	margin: 0;
	border: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-points > li::before {
	border-radius: 50%;
	background: var(--rd-pink);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-points > li::after {
	background: var(--rd-berry);
	-webkit-mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E")) center / 24px no-repeat;
	mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E")) center / 24px no-repeat;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-points > li strong {
	display: block;
	color: var(--rd-plum);
	font-size: 18px;
	font-weight: 700;
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-columns.is-style-rd-colonnes {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-carte {
		padding: 20px;
	}
}

/* ---------- Paragraph: style « Sous-titre » (right under a section title) ---------- */

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-sous-titre {
	margin: 4px 0 0;
	color: var(--rd-text);
	font-size: 20px;
	line-height: 1.45;
}

/* ---------- Group: style « Tuiles photo ». Each tile = an Image block: photo, link, caption = label on the photo ---------- */

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-tuiles {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 22px 0 0;
	padding: 0;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image {
	position: relative;
	aspect-ratio: 16 / 13;
	overflow: hidden;
	margin: 0;
	border-radius: 10px;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image a {
	display: block;
	width: 100%;
	height: 100%;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
	transition: transform .4s ease;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image:hover img {
	transform: scale(1.05);
}

/* Dark gradient under the label; neither it nor the label blocks the link */
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image::after {
	content: "";
	position: absolute;
	inset: 45% 0 0;
	background: linear-gradient(to top, rgba(30, 10, 20, .7), rgba(30, 10, 20, 0));
	pointer-events: none;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image figcaption {
	position: absolute;
	right: 14px;
	bottom: 12px;
	left: 14px;
	z-index: 1;
	margin: 0;
	padding: 0;
	color: #FFF;
	font-family: var(--rd-title-font);
	font-size: 20px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
	pointer-events: none;
}

@media (max-width: 1100px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-tuiles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-tuiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image figcaption {
		font-size: 17px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-tuiles .wp-block-image img {
		transition: none;
	}
}

/* Text alignment chosen in the editor toolbar (wp-block-library, which carries it, is not loaded on the front) */
:is(#wrapper, .editor-styles-wrapper) .has-text-align-center {
	text-align: center;
}

/* ---------- Group: style « Bandeau » (coloured band across the page, content at the site's width) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau {
	margin: 64px 0 0;
	padding: 34px max(24px, calc((100% - 1192px) / 2)) 40px;
	background: var(--rd-pink);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-bandeau > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-bandeau h2 {
	margin: 0;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-transform: none;
}

/* ---------- List: style « Étapes (icône, titre, texte) »: side by side, bold text = title, icon: class rd-icone-… ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li {
	position: relative;
	min-height: 84px;
	margin: 0;
	padding: 4px 32px 4px 136px;
	border-left: 1px solid var(--rd-pink-2);
	color: var(--rd-muted, #74636F);
	font-size: 16px;
	line-height: 1.5;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li:first-child {
	padding-left: 104px;
	border-left: 0;
}

/* ::before: the round badge, ::after: the icon on it */
:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li::before,
:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 32px;
	width: 84px;
	height: 84px;
	margin: 0;
	border: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li:first-child::before,
:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li:first-child::after {
	left: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li::before {
	border-radius: 50%;
	background: var(--rd-pink-2);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li::after {
	background: var(--rd-berry);
	-webkit-mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5M10 13h6M10 17h4'/%3E%3C/svg%3E")) center / 30px no-repeat;
	mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5M10 13h6M10 17h4'/%3E%3C/svg%3E")) center / 30px no-repeat;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li strong {
	display: block;
	margin: 4px 0 6px;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.01em;
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes {
		grid-template-columns: minmax(0, 1fr);
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li,
	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li:first-child {
		padding: 14px 0 14px 104px;
		border-top: 1px solid var(--rd-pink-2);
		border-left: 0;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li:first-child {
		border-top: 0;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li::before,
	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-etapes > li::after {
		top: 14px;
		left: 0;
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau {
		padding-right: 16px;
		padding-left: 16px;
	}
}

/* ---------- A section whose shortcode has nothing to show ([maliste_promos] with no post) is hidden, title included ---------- */

#wrapper .wp-block-group.is-style-rd-section:has(.rd-section-vide) {
	display: none;
}

/* [maliste_promos]: the cards keep the coded section's styles (.rd-promos in redesign.css), under the section title */
#wrapper .is-style-rd-section .rd-promos {
	margin-top: 18px;
}

/* ---------- Paragraph: style « Lien « voir plus » » (centred link with an arrow, under a section) ---------- */

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-voir-plus {
	margin: 20px 0 0;
	text-align: center;
}

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-voir-plus a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--rd-berry);
	font-weight: 600;
	text-decoration: none;
}

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-voir-plus a::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Cover: style « Hero occasion » (the hero rules above, a wider photo, no sample card) ---------- */

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero-occasion > .wp-block-cover__image-background {
	width: 66%;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero-occasion > .wp-block-cover__inner-container {
	min-height: 400px;
}

/* Larger title and text than the home hero on small screens */
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero-occasion h1 {
	font-size: clamp(40px, 4.8vw, 66px);
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero-occasion > .wp-block-cover__image-background {
		width: 100%;
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero-occasion > .wp-block-cover__inner-container {
		min-height: 0;
	}

	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero-occasion .wp-block-group p {
		font-size: 20px;
	}
}

/* ---------- Button: style « Maliste contour clair » (light border, plum text) ---------- */

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-contour-clair > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 24px;
	border: 2px solid var(--rd-border);
	border-radius: 8px;
	background: var(--rd-surface, #FFF);
	color: var(--rd-plum);
	font-family: var(--rd-sans);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.15;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-contour-clair > .wp-block-button__link:hover {
	background: var(--rd-pink);
	color: var(--rd-berry-dark);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-contour-clair > .wp-block-button__link::before,
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-contour-clair > .wp-block-button__link::after {
	display: none;
}

/* ---------- Group: style « Barre de navigation » (under the header: [maliste_fil_ariane] + a list of anchor links) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-sous-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 40px;
	min-height: 48px;
	margin: 0;
	padding: 0 max(24px, calc((100% - var(--rd-max) + 48px) / 2));
	border-bottom: 1px solid var(--rd-border);
	background: var(--rd-cream);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-sous-nav > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-sous-nav .wp-block-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 44px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-sous-nav .wp-block-list li {
	margin: 0;
	padding: 0;
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-sous-nav .wp-block-list a {
	color: var(--rd-plum);
	font-size: 15px;
	text-decoration: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-sous-nav, .rd-header-crumbs) .rank-math-breadcrumb p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--rd-muted);
	font-size: 15px; /* the same as the tabs next to it */
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-sous-nav, .rd-header-crumbs) .rank-math-breadcrumb a {
	color: var(--rd-muted);
	text-decoration: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-sous-nav, .rd-header-crumbs) .rank-math-breadcrumb .last {
	color: var(--rd-berry);
	font-weight: 600;
}

/* The breadcrumb under the header's search bar, on every page (inc/rd-blocks.php vrd_rd_header_crumbs()) */
#wrapper .rd-header-crumbs {
	padding-bottom: 14px;
}

#wrapper .rd-header-crumbs .rank-math-breadcrumb p {
	flex-wrap: wrap;
	row-gap: 10px;
}

/* On the search bar's line (rd_crumbs_with_search, partials/rd/header.php): the breadcrumb on the left, the field takes
   the rest. A long page name ends with « … » rather than squeeze the field. */
#wrapper .rd-header-crumbs.is-inline {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 42%;
	padding: 0;
}

#wrapper .rd-header-crumbs.is-inline .rank-math-breadcrumb p {
	flex-wrap: nowrap;
	white-space: nowrap;
}

#wrapper .rd-header-crumbs.is-inline .rank-math-breadcrumb :is(a, .separator, .rd-crumb-all, .rd-crumb-switch) {
	flex-shrink: 0;
}

/* Only the current page's name gives way */
#wrapper .rd-header-crumbs.is-inline .rank-math-breadcrumb .last {
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 3em;
}

/* Tablets and phones: back on a line of its own, under the field */
@media (max-width: 900px) {
	#wrapper .rd-header-search.has-crumbs {
		flex-wrap: wrap;
	}

	#wrapper .rd-header-crumbs.is-inline {
		order: 3;
		flex-basis: 100%;
		max-width: none;
	}

	#wrapper .rd-header-crumbs.is-inline .rank-math-breadcrumb p {
		flex-wrap: wrap;
		white-space: normal;
	}
}

/* The trail switched off (rd_crumbs_text): the pill alone */
#wrapper .rank-math-breadcrumb.is-pill-only .rd-crumb-all {
	margin: 0;
}

/* Off the occasion pages, the pill opening every occasion follows the breadcrumb, on the left like theirs */
#wrapper .rd-crumb-all {
	display: inline-flex;
	margin-left: 6px;
}

/* Occasion pages: the page's name is a pill that opens every occasion (inc/rd-blocks.php vrd_rd_crumb_switch()) */
:is(#wrapper, .editor-styles-wrapper) .rd-crumb-switch {
	position: relative;
	display: inline-flex;
	align-items: center;
}

#wrapper button.rd-crumb-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	margin: -4px 0;
	padding: 0 12px 0 11px;
	border: 1px solid var(--rd-border);
	border-radius: 8px; /* like the site's buttons (.rd-btn) */
	background: var(--rd-surface, #FFF);
	box-shadow: 0 1px 3px rgba(50, 1, 49, .06);
	color: var(--rd-berry);
	font: inherit;
	font-size: 15px;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

/* A finger-sized target around the pill */
#wrapper button.rd-crumb-pill::after {
	content: "";
	position: absolute;
	inset: -5px -2px;
}

#wrapper button.rd-crumb-pill:hover,
#wrapper button.rd-crumb-pill:focus-visible,
#wrapper .rd-crumb-switch.is-open button.rd-crumb-pill {
	border-color: var(--rd-berry);
	background: var(--rd-pink);
}

#wrapper button.rd-crumb-pill:focus-visible {
	outline: 3px solid var(--rd-berry);
	outline-offset: 2px;
}

#wrapper :is(.is-style-rd-sous-nav, .rd-header-crumbs) .rd-crumb-pill .last {
	color: inherit;
}

#wrapper .rd-crumb-arrow {
	transition: transform .2s ease;
}

#wrapper .rd-crumb-switch.is-open .rd-crumb-arrow {
	transform: rotate(180deg);
}

/* First visit: three soft pulses around the pill, and the arrow nods */
#wrapper .rd-crumb-switch.is-hint button.rd-crumb-pill {
	animation: rd-crumb-pulse 1.4s ease-out 3;
}

#wrapper .rd-crumb-switch.is-hint .rd-crumb-arrow {
	animation: rd-crumb-nod 1.4s ease-in-out 3;
}

@keyframes rd-crumb-pulse {
	0% {
		border-color: var(--rd-berry);
		box-shadow: 0 0 0 0 color-mix(in srgb, var(--rd-berry) 55%, transparent);
		transform: scale(1);
	}
	20% {
		transform: scale(1.06);
	}
	40% {
		transform: scale(1);
	}
	75% {
		box-shadow: 0 0 0 14px color-mix(in srgb, var(--rd-berry) 0%, transparent);
	}
	100% {
		border-color: var(--rd-border);
		box-shadow: 0 1px 3px rgba(50, 1, 49, .06);
	}
}

@keyframes rd-crumb-nod {
	0%, 60%, 100% {
		transform: none;
	}
	30% {
		transform: translateY(3px);
	}
}

@media (prefers-reduced-motion: reduce) {
	#wrapper .rd-crumb-switch.is-hint button.rd-crumb-pill,
	#wrapper .rd-crumb-switch.is-hint .rd-crumb-arrow {
		animation: none;
	}
}

#wrapper .rd-crumb-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 30;
	display: flex;
	flex-direction: column;
	min-width: 230px;
	padding: 6px;
	border: 1px solid var(--rd-border);
	border-radius: 12px;
	background: var(--rd-surface, #FFF);
	box-shadow: var(--rd-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s .15s;
}

#wrapper .rd-crumb-switch.is-open .rd-crumb-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .15s ease, transform .15s ease;
}

/* With a mouse, hovering is enough */
@media (hover: hover) and (pointer: fine) {
	/* The arrow follows the menu: up while it shows, by hover as by click */
	#wrapper .rd-crumb-switch:hover .rd-crumb-arrow {
		transform: rotate(180deg);
	}

	#wrapper .rd-crumb-switch:hover .rd-crumb-menu {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: opacity .15s ease, transform .15s ease;
	}

	/* The gap between the name and the menu keeps the hover */
	#wrapper .rd-crumb-menu::before {
		content: "";
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		height: 12px;
	}
}

#wrapper .rd-crumb-switch .rd-crumb-menu .rd-crumb-item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 10px;
	color: var(--rd-plum);
	font-size: 15px;
	text-decoration: none;
	white-space: nowrap;
}

#wrapper .rd-crumb-switch .rd-crumb-menu .rd-crumb-item > span {
	flex: 1;
}

#wrapper .rd-crumb-switch .rd-crumb-menu .rd-crumb-item .rd-crumb-picto {
	flex: none;
	color: var(--rd-berry);
}

#wrapper .rd-crumb-switch .rd-crumb-menu a.rd-crumb-item:hover,
#wrapper .rd-crumb-switch .rd-crumb-menu a.rd-crumb-item:focus-visible {
	background: var(--rd-pink);
	color: var(--rd-berry);
}

#wrapper .rd-crumb-switch .rd-crumb-menu .rd-crumb-item.is-current {
	color: var(--rd-berry);
	font-weight: 600;
}

/* Phones: the occasions slide up from the bottom of the screen, over a veil */
@media (max-width: 640px) {
	#wrapper .rd-crumb-menu {
		position: fixed;
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 10001; /* over the chatbot's bubble (9998) */
		min-width: 0;
		padding: 22px 12px calc(16px + env(safe-area-inset-bottom));
		border: 0;
		border-radius: 20px 20px 0 0;
		transform: translateY(100%);
		transition: opacity .2s ease, transform .25s ease, visibility 0s .25s;
	}

	/* The sheet's handle */
	#wrapper .rd-crumb-menu::after {
		content: "";
		position: absolute;
		top: 8px;
		left: 50%;
		width: 40px;
		height: 4px;
		margin-left: -20px;
		border-radius: 2px;
		background: var(--rd-border);
	}

	#wrapper .rd-crumb-switch.is-open .rd-crumb-menu {
		transform: none;
		transition: opacity .2s ease, transform .25s ease;
	}

	#wrapper .rd-crumb-switch::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 10000;
		background: rgba(50, 1, 49, .4);
		opacity: 0;
		visibility: hidden;
		transition: opacity .2s ease, visibility 0s .2s;
	}

	#wrapper .rd-crumb-switch.is-open::before {
		opacity: 1;
		visibility: visible;
		transition: opacity .2s ease;
	}

	#wrapper .rd-crumb-switch .rd-crumb-menu .rd-crumb-item {
		min-height: 52px;
		font-size: 16px;
	}

	/* The sheet hides the chatbot's bubble, which would sit over its last line */
	body.rd-crumb-open .vrd_chatbot {
		visibility: hidden;
	}

	/* The bar wraps on phones: the pill keeps its own room */
	#wrapper button.rd-crumb-pill {
		margin: 6px 0;
	}
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-sous-nav .wp-block-list {
		margin-left: 0;
		gap: 6px 22px;
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-sous-nav {
		padding-right: 16px;
		padding-left: 16px;
	}

	/* The anchor links on one line that scrolls sideways (they wrapped on two), the last ones fading out at the edge */
	#wrapper .is-style-rd-sous-nav .wp-block-list {
		flex-wrap: nowrap;
		width: 100%;
		padding-right: 32px;
		overflow-x: auto;
		scrollbar-width: none;
		white-space: nowrap;
		-webkit-mask-image: linear-gradient(to right, #000 82%, transparent);
		mask-image: linear-gradient(to right, #000 82%, transparent);
	}

	#wrapper .is-style-rd-sous-nav .wp-block-list::-webkit-scrollbar {
		display: none;
	}
}

/* ---------- List: style « Avantages en ligne ». Side by side, separated; bold text = title; icon: class rd-icone-… (default: heart) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	max-width: 1000px;
	margin: 24px auto 0;
	padding: 0;
	list-style: none;
}

/* Each item: the badge (::before) and its icon (::after) in the first column, title and text in the second (in the
   editor, both sit in a .rich-text box) */
:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li {
	display: grid;
	grid-template-columns: 56px auto;
	align-content: center;
	align-items: center;
	justify-content: center;
	column-gap: 18px;
	margin: 0;
	padding: 6px 24px;
	border-left: 1px solid var(--rd-border);
	color: var(--rd-muted);
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li:first-child {
	border-left: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li::before,
:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li::after {
	content: "";
	position: static;
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 56px;
	height: 56px;
	margin: 0;
	border: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li::before {
	border-radius: 50%;
	background: var(--rd-pink);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li::after {
	background: var(--rd-berry);
	-webkit-mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E")) center / 26px no-repeat;
	mask: var(--rd-icone, 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E")) center / 26px no-repeat;
}

.editor-styles-wrapper .wp-block-list.is-style-rd-avantages > li > .rich-text {
	grid-column: 2;
	grid-row: 1 / span 2;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li strong {
	display: block;
	grid-column: 2;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: 19px;
	font-weight: 600;
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages {
		grid-auto-flow: row;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li {
		justify-content: start;
		padding: 14px 0;
		border-top: 1px solid var(--rd-pink-2);
		border-left: 0;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-avantages > li:first-child {
		border-top: 0;
	}
}

/* ---------- Group: style « Cartes idées ». Each card = a Group: Image, Titre (H3), Paragraphe, Boutons or a « Voir plus »
   paragraph; or a « Boucle de requête » (its post, or its « Aucun résultat » blocks, makes the card). 4 cards a row (2, then 1 on smaller screens); 3 cards: 3 a row, then 1. The Image block's own aspect
   ratio wins over the default one ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 24px 0 0;
	padding: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group > .wp-block-group__inner-container,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0 0 18px;
	overflow: hidden;
	border-radius: var(--rd-radius);
	background: var(--rd-surface, #FFF);
	box-shadow: 0 8px 26px -20px rgba(50, 1, 49, .5);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group .wp-block-image,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group .wp-block-image {
	margin: 0 0 8px;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group .wp-block-image img,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 11;
	border-radius: 0;
	object-fit: cover;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group :is(h3, p, .wp-block-buttons),
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group :is(h3, p, .wp-block-buttons) {
	margin: 0;
	padding: 0 18px;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group h3,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group h3 {
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group p,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group p {
	flex: 1;
	color: var(--rd-muted);
	font-size: 15px;
	line-height: 1.5;
}

@media (max-width: 1100px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Site: idea cards, whether blocks (« Cartes idées ») or computed (.rd-ideas: catalogue categories, coded pages), on one
   row scrolled sideways (swipe, trackpad, or the arrows of rd-blocks.js): 4 in view (3 when there are exactly 3), 2 and a
   bit on tablets, 1 and a bit on phones. The editor keeps the grid, every card in view. */
#wrapper :is(.rd-ideas, .wp-block-group.is-style-rd-cartes-idees) {
	--rd-row-visible: 4;
	--rd-row-gap: 18px;
	display: grid;
	grid-template-columns: none;
	grid-auto-columns: calc((100% - (var(--rd-row-visible) - 1) * var(--rd-row-gap)) / var(--rd-row-visible));
	grid-auto-flow: column;
	gap: var(--rd-row-gap);
	/* room for the cards' shadow, clipped otherwise by the scroll container */
	margin-bottom: -24px;
	padding-bottom: 24px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

#wrapper :is(.rd-ideas, .wp-block-group.is-style-rd-cartes-idees)::-webkit-scrollbar {
	display: none;
}

#wrapper :is(.rd-ideas, .wp-block-group.is-style-rd-cartes-idees):has(> :nth-child(3):last-child, > .wp-block-group__inner-container > :nth-child(3):last-child) {
	--rd-row-visible: 3;
}

#wrapper .rd-ideas > *,
#wrapper .wp-block-group.is-style-rd-cartes-idees > :not(.wp-block-group__inner-container),
#wrapper .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > * {
	scroll-snap-align: start;
}

#wrapper .rd-row-slider {
	position: relative;
}

@media (max-width: 1100px) {
	#wrapper :is(.rd-ideas, .wp-block-group.is-style-rd-cartes-idees),
	#wrapper :is(.rd-ideas, .wp-block-group.is-style-rd-cartes-idees):has(> :nth-child(3):last-child, > .wp-block-group__inner-container > :nth-child(3):last-child) {
		--rd-row-visible: 2.2;
	}
}

@media (max-width: 640px) {
	#wrapper :is(.rd-ideas, .wp-block-group.is-style-rd-cartes-idees),
	#wrapper :is(.rd-ideas, .wp-block-group.is-style-rd-cartes-idees):has(> :nth-child(3):last-child, > .wp-block-group__inner-container > :nth-child(3):last-child) {
		--rd-row-visible: 1.15;
		--rd-row-gap: 12px;
	}

	/* Phones: swiped, no arrows */
	#wrapper .rd-row-slider .rd-picks-arrow {
		display: none;
	}

	/* … unless « Indice de défilement » is on (body.vrd-scroll-hint, as the tab bars of redesign.css): the row fades out
	   on each side that has more pills or cards behind it, under a small arrow that scrolls it (rd-blocks.js) */
	body.vrd-scroll-hint #wrapper .rd-row-slider.is_scrollable .rd-picks-arrow {
		display: flex;
		width: 32px;
		height: 32px;
		box-shadow: 0 3px 10px rgba(0, 0, 0, .18);
	}

	body.vrd-scroll-hint #wrapper .rd-row-slider .rd-picks-arrow.is-next {
		right: -8px;
		animation: rd-row-hint-nudge 1.6s ease-in-out 2;
	}

	body.vrd-scroll-hint #wrapper .rd-row-slider .rd-picks-arrow.is-prev {
		left: -8px;
	}

	body.vrd-scroll-hint #wrapper .rd-row-slider .rd-picks-arrow svg {
		width: 16px;
		height: 16px;
	}

	body.vrd-scroll-hint #wrapper .rd-row-slider::before,
	body.vrd-scroll-hint #wrapper .rd-row-slider::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		z-index: 1;
		width: 56px;
		opacity: 0;
		pointer-events: none;
		transition: opacity .2s ease;
	}

	/* At the screen's edge: the row runs edge to edge on phones (margin -16px above) */
	body.vrd-scroll-hint #wrapper .rd-row-slider::after {
		right: -16px;
		background: linear-gradient(to right, transparent, var(--rd-cream, #FBF7F3) 85%);
	}

	body.vrd-scroll-hint #wrapper .rd-row-slider::before {
		left: -16px;
		background: linear-gradient(to left, transparent, var(--rd-cream, #FBF7F3) 85%);
	}

	body.vrd-scroll-hint #wrapper .rd-row-slider.is_scrollable:not(.is_at_end)::after,
	body.vrd-scroll-hint #wrapper .rd-row-slider.is_scrollable:not(.is_at_start)::before {
		opacity: 1;
	}
}

@keyframes rd-row-hint-nudge {
	0%, 100% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(4px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.vrd-scroll-hint #wrapper .rd-row-slider .rd-picks-arrow.is-next {
		animation: none;
	}
}

/* ---------- Buttons: styles « Maliste petit + » (small, filled, a plus before the text) and « Maliste petit → » (an arrow after it) ---------- */

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-petit-plus, .is-style-rd-petit-fleche) > .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 40px;
	padding: 8px 16px;
	border: 2px solid var(--rd-berry);
	border-radius: 8px;
	background: var(--rd-berry);
	color: var(--rd-on-berry, #FFF);
	font-family: var(--rd-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.15;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-petit-plus, .is-style-rd-petit-fleche) > .wp-block-button__link:hover {
	border-color: var(--rd-berry-dark);
	background: var(--rd-berry-dark);
	color: var(--rd-on-berry, #FFF);
}

/* The parent theme's gradient (::before) becomes the plus; its wave (::after) goes */
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-petit-plus > .wp-block-button__link::before {
	content: "";
	position: static;
	flex: none;
	width: 16px;
	height: 16px;
	transform: none;
	animation: none;
	opacity: 1;
	border-radius: 0;
	background: currentColor;
	-webkit-mask: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / contain no-repeat;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-petit-plus > .wp-block-button__link::after {
	display: none;
}

/* The parent theme's gradient (::before) goes; its wave (::after) becomes the arrow */
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-petit-fleche > .wp-block-button__link::before {
	display: none;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-petit-fleche > .wp-block-button__link::after {
	content: "";
	position: static;
	flex: none;
	width: 16px;
	height: 16px;
	transform: none;
	animation: none;
	opacity: 1;
	border-radius: 0;
	background: currentColor;
	-webkit-mask: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .15s ease;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-petit-fleche > .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

/* ---------- Group: style « Duo » (a section of two blocks side by side, the first one wider; stacked on small screens) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-duo {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 16px;
	width: 100%;
	max-width: var(--rd-max);
	margin: 56px auto 0;
	padding: 0 24px;
	box-sizing: border-box;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-duo > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-duo > *,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-duo > .wp-block-group__inner-container > * {
	margin: 0;
}

/* One block left (a tool switched off takes its card along): the whole width */
#wrapper .wp-block-group.is-style-rd-duo:not(:has(> .wp-block-group__inner-container)):has(> :only-child),
#wrapper .wp-block-group.is-style-rd-duo:has(> .wp-block-group__inner-container > :only-child) {
	grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-duo {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-duo {
		padding: 0 16px;
	}
}

/* ---------- Cover: styles « Carte photo claire / sombre ». Photo behind, a gradient on its left, the text over it:
   Étiquette (paragraph), Titre, Paragraphes, Boutons ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-cover:is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 300px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: var(--rd-radius);
	background: var(--rd-cream-2);
	color: var(--rd-text);
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) > .wp-block-cover__image-background {
	position: absolute;
	z-index: 0;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	object-fit: cover;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) > .wp-block-cover__background {
	position: absolute;
	z-index: 1;
	inset: 0;
	display: block;
	opacity: 1;
	background: linear-gradient(90deg, rgba(251, 247, 243, .97) 0%, rgba(251, 247, 243, .9) 42%, rgba(251, 247, 243, 0) 75%);
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-carte-sombre > .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(20, 12, 40, .78) 0%, rgba(20, 12, 40, .55) 45%, rgba(20, 12, 40, 0) 80%);
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) > .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	max-width: 400px;
	margin: 0;
	padding: 28px;
	box-sizing: border-box;
	color: inherit;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) > .wp-block-cover__inner-container > * {
	margin: 0;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) h2 {
	margin: 0;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: clamp(26px, 2.6vw, 34px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: normal;
	text-transform: none;
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) p {
	margin: 0;
	color: var(--rd-text);
	font-size: 16px;
	line-height: 1.5;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-carte-sombre :is(h2, p) {
	color: #FFF;
}

/* ---------- Paragraph: style « Étiquette » (a small white pill: « Outil gratuit »…) ---------- */

:is(#wrapper, .editor-styles-wrapper) p.is-style-rd-etiquette,
:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-carte-claire, .is-style-rd-carte-sombre) p.is-style-rd-etiquette {
	display: inline-block;
	align-self: flex-start;
	margin: 0;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--rd-surface, #FFF);
	color: var(--rd-berry);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
}

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-carte-sombre p.is-style-rd-etiquette {
	background: var(--rd-surface-glass, rgba(255, 255, 255, .92));
}

/* ---------- Group: style « Encadré deux colonnes » (white box: the first block on the left, the others on the right; stacked on small screens) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-encadre {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: 32px 56px;
	align-items: start;
	width: 100%;
	max-width: calc(var(--rd-max) - 48px);
	margin: 56px auto 0;
	padding: 40px;
	box-sizing: border-box;
	border-radius: 20px;
	background: var(--rd-surface, #FFF);
	box-shadow: 0 8px 26px -20px rgba(50, 1, 49, .5);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-encadre > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-encadre > *,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-encadre > .wp-block-group__inner-container > * {
	margin: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-encadre :is(h2, h3) {
	margin: 0;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-transform: none;
}

@media (max-width: 900px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-encadre {
		grid-template-columns: minmax(0, 1fr);
		padding: 28px 24px;
	}
}

/* ---------- List: style « Cœurs » (a small heart before each item) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-coeurs {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-coeurs > li {
	position: relative;
	margin: 0;
	padding: 0 0 0 32px;
	color: var(--rd-text);
	font-size: 17px;
	line-height: 1.5;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-list.is-style-rd-coeurs > li::before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: var(--rd-berry);
	-webkit-mask: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-8.8-8.5C1.8 8.3 3.8 5 7.2 5c2 0 3.4 1.1 4.8 2.8C13.4 6.1 14.8 5 16.8 5c3.4 0 5.4 3.3 4 6.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* « Cartes idées » with 3 cards, in the editor (on the site, the cards form a sideways row: the 3-card case is in
   that row's rules) */
.editor-styles-wrapper .wp-block-group.is-style-rd-cartes-idees:has(> :nth-child(3):last-child),
.editor-styles-wrapper .wp-block-group.is-style-rd-cartes-idees:has(> .wp-block-group__inner-container > :nth-child(3):last-child) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.editor-styles-wrapper .wp-block-group.is-style-rd-cartes-idees:has(> :nth-child(3):last-child),
	.editor-styles-wrapper .wp-block-group.is-style-rd-cartes-idees:has(> .wp-block-group__inner-container > :nth-child(3):last-child) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* A « Voir plus » link closing a card */
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group p.is-style-rd-voir-plus,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees > .wp-block-group__inner-container > .wp-block-group p.is-style-rd-voir-plus {
	flex: none;
	color: inherit;
	font-size: 17px;
	text-align: left;
}

/* ---------- Group: style « Bandeau appel (photos) ». A pink box, the text centred: Titre, Paragraphe, Boutons; its first
   Image block sits on the left, its last on the right, faded into the pink (on small screens: the last one on top) ---------- */

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	margin: 40px 0 0;
	padding: 36px 330px;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: 24px;
	background:
		radial-gradient(ellipse at 18% 40%, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 55%),
		radial-gradient(ellipse at 85% 70%, rgba(255, 255, 255, .45) 0%, rgba(255, 255, 255, 0) 50%),
		linear-gradient(100deg, #F6D3DA 0%, #FBE6EA 45%, #F8DCE2 100%);
	text-align: center;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel > .wp-block-group__inner-container {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel :is(h2, p, .wp-block-buttons) {
	position: relative;
	z-index: 1;
	max-width: 560px;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel h2 {
	margin: 0;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: clamp(26px, 2.6vw, 34px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-transform: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel p {
	margin: 10px auto 0;
	color: var(--rd-text);
	font-size: 18px;
	line-height: 1.45;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-buttons {
	justify-content: center;
	margin: 18px 0 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-button__link {
	padding: 12px 22px;
	border-radius: 15px;
	line-height: 1.2;
	box-shadow: 0 10px 20px -12px rgba(142, 24, 88, .8);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image {
	position: absolute;
	z-index: 0;
	top: 0;
	width: 34%;
	max-width: 400px;
	height: 100%;
	margin: 0;
	pointer-events: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image:first-child {
	left: 0;
	-webkit-mask-image: linear-gradient(to right, #000 55%, transparent 100%);
	mask-image: linear-gradient(to right, #000 55%, transparent 100%);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image:first-child img {
	object-position: 30% 50%;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image:last-child {
	right: 0;
	-webkit-mask-image: linear-gradient(to left, #000 55%, transparent 100%);
	mask-image: linear-gradient(to left, #000 55%, transparent 100%);
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image:last-child img {
	object-position: 60% 50%;
}

/* An Image block with the class rd-cadrage-haut: its photo framed on its top (e.g. the rings) */
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image.rd-cadrage-haut img {
	object-position: 65% 0;
}

@media (max-width: 1100px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel {
		padding: 36px 27%;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image {
		width: 28%;
	}
}

@media (max-width: 780px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel {
		padding: 0 24px 36px;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image:first-child {
		display: none;
	}

	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-image:last-child {
		order: -1;
		position: static;
		width: calc(100% + 48px);
		max-width: none;
		height: 180px;
		margin: 0 -24px 24px;
		-webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);
	}
}

@media (max-width: 600px) {
	:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel {
		border-radius: 20px;
	}
}

/* « Cartes idées »: a « Boucle de requête » card (latest post of a category; « Aucun résultat » while there is none) */
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query .wp-block-post-template {
	display: contents;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0 0 18px;
	overflow: hidden;
	border-radius: var(--rd-radius);
	background: var(--rd-surface, #FFF);
	box-shadow: 0 8px 26px -20px rgba(50, 1, 49, .5);
	list-style: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) :is(.wp-block-post-featured-image, .wp-block-image) {
	flex: none;
	margin: 0 0 8px;
	overflow: hidden; /* keeps the block's aspect ratio set on the figure */
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) :is(.wp-block-post-featured-image, .wp-block-image) img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	object-fit: cover;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) :is(h3, p) {
	margin: 0;
	padding: 0 18px;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) h3 {
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-transform: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) h3 a {
	color: inherit;
	text-decoration: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) p {
	color: var(--rd-muted);
	font-size: 15px;
	line-height: 1.5;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) > p:not(.is-style-rd-voir-plus),
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) .wp-block-post-excerpt {
	flex: 1;
	margin: 0;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) .wp-block-post-excerpt__more-text {
	display: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) p.is-style-rd-voir-plus {
	flex: none;
	font-size: 17px;
	text-align: left;
}

/* Editor: an empty loop's « Aucun résultat. » placeholder; the « Aucun résultat » card stands for it */
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query p.wp-block-post-template {
	display: none;
}

/* « Lire la suite » block: like a « Voir plus » link */
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) .wp-block-read-more {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 6px;
	margin: 0 18px;
	color: var(--rd-berry);
	font-size: 17px;
	font-weight: 600;
	text-decoration: none;
}

:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-cartes-idees .wp-block-query :is(.wp-block-post, .wp-block-query-no-results) .wp-block-read-more::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: 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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- [maliste_retour] (a page standing in for something not ready yet) ---------- */

:is(#wrapper, .editor-styles-wrapper) p.rd-retour {
	margin: 18px 0 0;
	color: var(--rd-text);
	font-size: 17px;
	text-align: center;
}

:is(#wrapper, .editor-styles-wrapper) p.rd-retour a {
	color: var(--rd-berry);
	font-weight: 600;
	white-space: nowrap;
}

/* A page title (Titre H1) in a « Section maliste », outside the hero: e.g. a « Page V2 » page */
:is(#wrapper, .editor-styles-wrapper) .is-style-rd-section h1 {
	margin: 0;
	color: var(--rd-plum);
	font-family: var(--rd-title-font);
	font-size: clamp(36px, 4vw, 52px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.025em;
	text-transform: none;
}

/* ---------- Button labels: League Spartan's capitals sit high in their line box; a little more room above than below centres them ---------- */

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-plein, .is-style-rd-fleche, .is-style-rd-contour, .is-style-rd-contour-clair) > .wp-block-button__link,
:is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel .wp-block-button__link {
	padding-top: calc(12px + .12em);
	padding-bottom: calc(12px - .12em);
}

:is(#wrapper, .editor-styles-wrapper) :is(.is-style-rd-petit-plus, .is-style-rd-petit-fleche) > .wp-block-button__link {
	padding-top: calc(8px + .12em);
	padding-bottom: calc(8px - .12em);
}

/* ---------- Motion: the hero rises in on load, the sections below fade up as they come into view (assets/js/rd-blocks.js) ---------- */

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

@keyframes rd-settle {
	from {
		transform: scale(1.05);
	}
}

@keyframes rd-slide-in {
	from {
		opacity: 0;
		transform: translateX(28px) rotate(1.5deg);
	}
}

@media (prefers-reduced-motion: no-preference) {
	#wrapper :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__inner-container > .wp-block-group > * {
		animation: rd-rise .7s cubic-bezier(.2, 0, 0, 1) both;
	}

	#wrapper :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__inner-container > .wp-block-group > :nth-child(2) {
		animation-delay: .08s;
	}

	#wrapper :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__inner-container > .wp-block-group > :nth-child(3) {
		animation-delay: .16s;
	}

	#wrapper :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__inner-container > .wp-block-group > :nth-child(n+4) {
		animation-delay: .24s;
	}

	#wrapper :is(.is-style-rd-hero, .is-style-rd-hero-occasion) > .wp-block-cover__image-background {
		animation: rd-settle 1.6s cubic-bezier(.2, 0, 0, 1) both;
	}

	#wrapper .is-style-rd-hero .rd-wishcard {
		animation: rd-slide-in .8s .3s cubic-bezier(.2, 0, 0, 1) both;
	}

	/* Sections below the fold: hidden until the script sees them come into view */
	#wrapper .rd-reveal {
		opacity: 0;
		transform: translateY(24px);
		transition: opacity .7s ease, transform .7s cubic-bezier(.2, 0, 0, 1);
	}

	#wrapper .rd-reveal .rd-reveal-item {
		opacity: 0;
		transform: translateY(16px);
		transition: opacity .6s ease, transform .6s cubic-bezier(.2, 0, 0, 1);
		transition-delay: calc(.12s + var(--rd-i, 0) * 70ms);
	}

	#wrapper .rd-reveal.is-in,
	#wrapper .rd-reveal.is-in .rd-reveal-item {
		opacity: 1;
		transform: none;
	}
}

/* [maliste_listes_redaction]: the cards of a highlight's « Choix de la rédaction » lists (inc/seasons.php) */
#wrapper .rd-editorial-lists {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px;
	margin: 24px 0;
}

#wrapper .rd-editorial-lists-item {
	min-width: 0;
}

#wrapper .rd-editorial-lists-empty {
	text-align: center;
	color: var(--rd-muted, #74636F);
}

/* ==========================================================================
   Couleurs discrètes (Réglages > Refonte — en-tête, body.vrd-quiet): the large pink surfaces turn to the warm
   neutrals; the berry stays on what the eye should find (buttons, links, icons, small marks)
   ========================================================================== */

body.vrd-quiet :is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau {
	background: var(--rd-cream-2);
}

body.vrd-quiet :is(#wrapper, .editor-styles-wrapper) .wp-block-group.is-style-rd-bandeau-appel {
	background:
		radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, 0) 60%),
		var(--rd-cream-2);
}

/* Surtitle: the berry word alone, no pink pill */
body.vrd-quiet :is(#wrapper, .editor-styles-wrapper) p.is-style-rd-surtitre {
	padding: 0;
	border-radius: 0;
	background: none;
	letter-spacing: .02em;
}

/* Secondary accents of the blocks in neutral tones (tokens in style.css): outline and small buttons, the lists' bullets
   and icons, steps, « voir plus » links, card labels, the sub-navigation. Hearts and full buttons keep the pink. */
body.vrd-quiet :is(#wrapper, .editor-styles-wrapper) :is(
	.is-style-rd-contour,
	.is-style-rd-contour-clair,
	.is-style-rd-petit-plus,
	.is-style-rd-petit-fleche,
	.wp-block-list.is-style-rd-atouts,
	.wp-block-list.is-style-rd-points,
	.wp-block-list.is-style-rd-etapes,
	.wp-block-list.is-style-rd-avantages,
	p.is-style-rd-etape,
	p.is-style-rd-voir-plus,
	p.is-style-rd-etiquette,
	p.rd-retour,
	.wp-block-read-more,
	.is-style-rd-sous-nav,
	.rd-crumb-switch
) {
	--rd-berry: var(--rd-ink);
	--rd-on-berry: var(--rd-on-ink, #FFF);
	--rd-berry-dark: var(--rd-ink-hover);
	--rd-pink: var(--rd-neutral);
	--rd-pink-2: var(--rd-neutral-2);
}
