/* ==========================================================================
   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-plum: #320131;
	--rd-berry: #B31E6F;
	--rd-berry-dark: #8E1858;
	--rd-cream: #FBF7F3;
	--rd-cream-2: #F6EEE8;
	--rd-pink: #F9E9EE;
	--rd-border: #EEE2DC;
	--rd-text: #4A3A46;
	--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-style-rd-hero,
.editor-styles-wrapper :is(.is-style-rd-hero, .is-style-rd-section, .is-style-rd-pastilles, .is-style-rd-tuiles) .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: #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: #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: #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-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-style-rd-hero {
	position: relative;
	display: block;
	overflow: hidden;
	min-height: 0;
	margin: 0;
	padding: 0;
	background: var(--rd-cream-2);
	color: var(--rd-text);
}

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

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero > .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-style-rd-hero > .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: 1240px;
	min-height: 440px;
	margin: 0 auto;
	padding: 56px 24px;
	box-sizing: border-box;
	color: inherit;
}

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

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero 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-style-rd-hero .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-style-rd-hero .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-style-rd-hero > .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-style-rd-hero > .wp-block-cover__inner-container {
		min-height: 0;
		padding: 40px 16px;
	}

	:is(#wrapper, .editor-styles-wrapper) .is-style-rd-hero .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: 1240px;
	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 ---------- */

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

:is(#wrapper, .editor-styles-wrapper) .is-style-rd-pastilles .wp-block-image {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	height: 76px;
	margin: 0;
	padding: 8px 18px 8px 10px;
	border-radius: 999px;
	background: #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;
}

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

@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 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

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

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

	: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-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: #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: #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: #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;
	}
}
