/*
 * Sections éditables de la page d'accueil (block patterns).
 *
 * Chaque règle reprend à l'identique le style inline qu'elle remplace dans
 * l'ancien front-page.php : sortir ces styles du HTML les rend cachables et
 * permet aux blocs Gutenberg de porter le même rendu via une simple classe.
 *
 * Convention : quand une règle écrase un style du cœur de WordPress
 * (.wp-block-image, .wp-block-button__link…), la classe du cœur est répétée
 * dans le sélecteur (.wp-block-image.rcd-photo) pour gagner en spécificité
 * quelle que soit l'ordre de chargement des feuilles de style.
 *
 * Cette feuille sert aussi de feuille d'éditeur (add_editor_style), pour que
 * l'aperçu dans l'admin corresponde au rendu réel.
 */

/* Convention de nommage : un seul tiret pour les variantes (rcd-btn-orange et
   non rcd-btn--orange). Les noms de classes se retrouvent dans les attributs
   JSON des commentaires de blocs, où WordPress doit échapper « -- » en
   \u002d\u002d pour ne pas fermer le commentaire HTML ; l'éviter garde le
   contenu de la page lisible et robuste. */

/* ---------------------------------------------------------------------------
   Briques transverses
   --------------------------------------------------------------------------- */

/* Filet de sécurité. Pour les thèmes classiques SANS theme.json, WordPress
   réinsère au rendu un <div class="wp-block-group__inner-container"> dans
   chaque bloc « group » en flux — voir wp_restore_group_inner_container() dans
   wp-includes/block-supports/layout.php. Depuis que le thème a un theme.json,
   ce conteneur n'est plus généré ni sur le site ni dans l'éditeur, et cette
   règle ne s'applique donc plus à rien. On la garde : si theme.json venait à
   disparaître, elle rendrait de nouveau ce conteneur transparent pour la mise
   en page, et les grilles ci-dessous continueraient de viser les vrais
   enfants. Ce conteneur ne porte aucun style propre dans le cœur de
   WordPress. */
.wp-block-group__inner-container {
  display: contents;
}

/* Boutons — remplacent les <a> stylés inline de la maquette. */
.wp-block-button.rcd-btn > .wp-block-button__link {
  padding: 17px 30px;
  border: 0;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: none;
  /* Le cœur de WordPress centre le libellé des boutons ; dans la maquette le
     lien héritait de l'alignement de sa section — ce qui se voit dès qu'un
     libellé passe sur deux lignes en mobile. */
  text-align: inherit;
}

.wp-block-button.rcd-btn-orange > .wp-block-button__link {
  background: #E8703F;
  color: #FFF8ED;
}

.wp-block-button.rcd-btn-orange > .wp-block-button__link:hover,
.wp-block-button.rcd-btn-orange > .wp-block-button__link:focus {
  background: #8C5A9E;
  color: #FFF8ED;
}

.wp-block-button.rcd-btn-purple > .wp-block-button__link {
  background: #8C5A9E;
  color: #FFF8ED;
}

.wp-block-button.rcd-btn-purple > .wp-block-button__link:hover,
.wp-block-button.rcd-btn-purple > .wp-block-button__link:focus {
  background: #E8703F;
  color: #FFF8ED;
}

.wp-block-button.rcd-btn-outline > .wp-block-button__link {
  background: transparent;
  border: 1.5px solid #8C5A9E;
  color: #8C5A9E;
}

.wp-block-button.rcd-btn-outline > .wp-block-button__link:hover,
.wp-block-button.rcd-btn-outline > .wp-block-button__link:focus {
  background: #8C5A9E;
  color: #FFF8ED;
}

/* Variante « bannière promo » : bouton légèrement plus grand, jamais coupé. */
.wp-block-button.rcd-btn-lg > .wp-block-button__link {
  padding: 18px 32px;
  white-space: nowrap;
}

.wp-block-button.rcd-btn-yellow > .wp-block-button__link {
  background: #F5B942;
  color: #8C5A9E;
}

.wp-block-button.rcd-btn-yellow > .wp-block-button__link:hover,
.wp-block-button.rcd-btn-yellow > .wp-block-button__link:focus {
  background: #E8703F;
  color: #FFF8ED;
}

/* Photos — le <figure> du bloc image reprend le conteneur à hauteur fixe
   de l'ancien rcd_photo_placeholder(). */
.wp-block-image.rcd-photo {
  margin: 0;
}

.wp-block-image.rcd-photo img {
  width: 100%;
  height: 100%;
  min-height: 200px;
  box-sizing: border-box;
  object-fit: cover;
  border-radius: 28px;
  display: block;
}

.rcd-photo-520 { height: 520px; }
.rcd-photo-460 { height: 460px; }
.rcd-photo-420 { height: 420px; }
.rcd-photo-400 { height: 400px; }
.rcd-photo-380 { height: 380px; }
.rcd-photo-340 { height: 340px; }
.rcd-photo-320 { height: 320px; }
.rcd-photo-300 { height: 300px; }
.rcd-photo-280 { height: 280px; }
.rcd-photo-260 { height: 260px; }
.rcd-photo-220 { height: 220px; }

/* Remplit la hauteur imposée par la cellule de grille qui la contient, plutôt
   qu'une hauteur fixe — utile quand une photo doit s'aligner sur des cartes
   de texte voisines dont la hauteur varie selon leur contenu. */
.rcd-photo-fill { height: 100%; }

/* Accroche en grand (Capriola, gras) suivie d'un sous-titre fin, orange —
   motif répété sur plusieurs pages en tête de section. Le sous-titre garde
   une marge basse par défaut ; -tight et -flush la réduisent quand un
   conteneur parent gère déjà l'espacement. */
.rcd-kicker {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-subhead {
  margin: 0 0 26px;
  font-size: 17px;
  font-weight: lighter;
  line-height: 1.6;
  color: #E8703F;
}

.rcd-subhead-tight { margin-bottom: 22px; }
.rcd-subhead-18 { margin-bottom: 18px; }
.rcd-subhead-24 { margin-bottom: 24px; }
.rcd-subhead-flush { margin: 0; }

/* Étiquette en capitales au-dessus des titres de section. */
.rcd-badge {
  display: inline-block;
  margin: 0;
  padding: 9px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.rcd-badge-sand { background: #FBE3CE; color: #E8703F; }
.rcd-badge-cream { background: #FFF8ED; color: #8C5A9E; }

/* Ligne de boutons vers les réseaux sociaux (bloc rcd/social-links). */
.rcd-social-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.rcd-social-links a {
  padding: 12px 20px;
  border-radius: 999px;
  background: #FBE3CE;
  color: #8C5A9E;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

/* Pastille ronde des cartes « Rien à … » (bloc rcd/icon). */
.rcd-icon {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  background: #D9D6D2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  text-align: center;
}

/* ---------------------------------------------------------------------------
   Section « Hero »
   --------------------------------------------------------------------------- */

.rcd-hero {
  position: relative;
  overflow: hidden;
  padding: 0 28px 0;
  background:
    radial-gradient(70% 90% at 6% 6%, rgba(245, 185, 66, 0.30) 0%, rgba(245, 185, 66, 0) 60%),
    radial-gradient(65% 85% at 96% 4%, rgba(140, 90, 158, 0.22) 0%, rgba(140, 90, 158, 0) 62%),
    radial-gradient(95% 105% at 78% 100%, rgba(232, 112, 63, 0.20) 0%, rgba(232, 112, 63, 0) 62%),
    linear-gradient(160deg, rgba(251, 227, 206, 0.72) 0%, #FFF8ED 68%);
}

/* Le bandeau + l'en-tête débordent du padding latéral de la section. */
.rcd-hero__bar {
  margin: 0 -28px;
}

.rcd-hero__inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 28px;
  padding: 90px 0 20px;
}

.rcd-hero__title {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 1.08;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-hero__sub {
  margin: 0;
  font-size: 21px;
  line-height: 1.6;
  color: #3A3033;
  max-width: 46ch;
}

.wp-block-buttons.rcd-hero__ctas {
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  /* Dans la maquette, les deux boutons étaient enfants directs du conteneur
     flex : ils s'étiraient donc à la même hauteur si l'un passait sur deux
     lignes. Le bloc « Boutons » intercale un <div>, mais le cœur de WordPress
     donne déjà width/height:100% au lien : rétablir l'étirement suffit. */
  align-items: stretch;
}

.rcd-hero__frieze {
  position: relative;
  margin: 11vw -28px 0;
}

/* Frise photo animée (bloc rcd/frieze) : suit la courbe du ruban en la
   survolant, d'où le décalage vertical exprimé en vw comme la marge ci-dessus. */
.rcd-frieze {
  position: absolute;
  left: 0;
  top: -19.722vw;
  width: 100%;
  height: auto;
  pointer-events: none;
  z-index: 2;
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, #000 7%, #000 93%, rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, #000 7%, #000 93%, rgba(0, 0, 0, 0) 100%);
}

/* ---------------------------------------------------------------------------
   Section « Bannière promo »
   --------------------------------------------------------------------------- */

.rcd-promo {
  background: #FFF8ED;
  padding: 48px 28px 8px;
}

.rcd-promo__box {
  max-width: 1160px;
  margin: 0 auto;
  background: #FBE3CE;
  border-radius: 36px;
  padding: 34px 40px;
  display: flex;
  gap: 28px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}

.rcd-promo__label {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #E8703F;
}

.rcd-promo__title {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: clamp(22px, 2.2vw, 27px);
  line-height: 1.3;
  color: #8C5A9E;
  max-width: 30ch;
}

/* ---------------------------------------------------------------------------
   Section « Le concept »
   --------------------------------------------------------------------------- */

.rcd-concept {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-concept__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  gap: 60px;
  align-items: start;
}

.rcd-concept__title {
  margin: 0 0 24px;
  font-family: Capriola, sans-serif;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-concept__intro {
  margin: 0 0 18px;
  font-size: 17.5px;
  line-height: 1.75;
  color: #3A3033;
}

/* Les puces colorées : liste sémantique, pastille dessinée en ::before pour
   retrouver exactement le disque de 12 px de la maquette. */
.wp-block-list.rcd-concept__list {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Indentation suspendue (padding-left + puce positionnée en absolu) plutôt
   qu'une puce posée en flex : un <li> de bloc liste peut contenir du texte
   mélangé à des balises inline (<strong>…) sans aucun élément de bloc pour
   porter la mise en page flex — un navigateur peut alors mal calculer la
   largeur de cette « boîte anonyme », et le texte se retrouve mal aligné
   sous la puce. Cette approche ne dépend d'aucune boîte anonyme. */
.rcd-concept__list li {
  position: relative;
  padding-left: 26px;
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-concept__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #F5B942;
}

/* Cycle jaune / orange / violet / jaune, reconduit si une puce est ajoutée. */
.rcd-concept__list li:nth-child(4n + 2)::before { background: #E8703F; }
.rcd-concept__list li:nth-child(4n + 3)::before { background: #8C5A9E; }

.rcd-concept__dream {
  margin: 0 0 18px;
  font-family: Capriola, sans-serif;
  font-size: 24px;
  line-height: 1.4;
  color: #E8703F;
}

.rcd-concept__body {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-concept__body-last {
  margin-bottom: 26px;
}

/* ---------------------------------------------------------------------------
   Section « Rien à apprendre / réussir / prouver »
   --------------------------------------------------------------------------- */

.rcd-cards {
  position: relative;
  overflow: hidden;
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-cards__inner {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}

.rcd-card {
  background: #FFF8ED;
  border-radius: 32px;
  padding: 34px;
}

.rcd-card__title {
  margin: 0 0 14px;
  font-family: Capriola, sans-serif;
  font-size: 26px;
  color: #8C5A9E;
}

.rcd-card__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #3A3033;
}

/* ---------------------------------------------------------------------------
   Section « Pas un cours de danse »
   --------------------------------------------------------------------------- */

.rcd-notcourse {
  background: #FFF8ED;
  padding: 80px 28px 40px;
}

.rcd-notcourse__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.rcd-notcourse__title {
  margin: 0 0 22px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-notcourse__body {
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-notcourse__body-last {
  margin-bottom: 0;
}

.rcd-notcourse__ribbon {
  margin: 24px -28px 0;
}

/* ---------------------------------------------------------------------------
   Sections « Atelier au Thou » et « Ateliers itinérants »
   --------------------------------------------------------------------------- */

.rcd-thou {
  background: #FFF8ED;
  padding: 40px 28px 80px;
}

.rcd-chezvous {
  position: relative;
  overflow: hidden;
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-split {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: center;
}

.rcd-split__title {
  margin: 20px 0 18px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-split__subtitle {
  margin: 0 0 14px;
  font-family: Capriola, sans-serif;
  font-size: 22px;
  line-height: 1.4;
  color: #E8703F;
  font-weight: lighter;
}

.rcd-split__body {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-split__body-last {
  margin-bottom: 26px;
}

/* ---------------------------------------------------------------------------
   Section « Témoignages »
   --------------------------------------------------------------------------- */

.rcd-testimonials {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-testimonials__inner {
  max-width: 1160px;
  margin: 0 auto;
}

.rcd-testimonials__head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 44px;
}

.rcd-testimonials__title {
  margin: 0 0 14px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-testimonials__subtitle {
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
  font-weight: lighter;
}

/* ---------------------------------------------------------------------------
   Section « Les 3 drôles de dames »
   --------------------------------------------------------------------------- */

.rcd-team {
  background: #FBE3CE;
  padding: 80px 28px 30px;
}

.rcd-team__inner {
  max-width: 1160px;
  margin: 0 auto;
}

.rcd-team__head {
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
}

.rcd-team__title {
  margin: 0 0 18px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.2;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-team__intro {
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-team__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 26px;
}

.rcd-team__card {
  background: #FFF8ED;
  border-radius: 32px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rcd-team__name {
  margin: 0 0 12px;
  font-family: Capriola, sans-serif;
  font-size: 24px;
  color: #E8703F;
}

/* Prénoms en alternance orange / violet, quel que soit le nombre de portraits. */
.rcd-team__card:nth-child(even) .rcd-team__name {
  color: #8C5A9E;
}

.rcd-team__bio {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-team__foot {
  max-width: 820px;
  margin: 40px auto 0;
  text-align: center;
}

.rcd-team__outro {
  margin: 0 0 26px;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
}

/* Le conteneur de boutons est un flex : text-align:center du bloc parent ne
   suffit plus à centrer le bouton, il faut le centrer explicitement. */
.wp-block-buttons.rcd-team__cta {
  justify-content: center;
}

/* ---------------------------------------------------------------------------
   Ruban seul (entre deux sections)
   --------------------------------------------------------------------------- */

.rcd-ribbon-band {
  background: #FFF8ED;
  padding: 40px 0 8px;
}

/* ---------------------------------------------------------------------------
   Section « Contact + newsletter »
   --------------------------------------------------------------------------- */

.rcd-contact {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-contact__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  gap: 26px;
}

.rcd-contact__card {
  background: #FBE3CE;
  border-radius: 36px;
  padding: 44px;
}

.rcd-contact__card-newsletter {
  background: #8C5A9E;
}

.rcd-contact__title {
  margin: 0 0 16px;
  font-family: Capriola, sans-serif;
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.2;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-contact__card-newsletter .rcd-contact__title {
  color: #FFF8ED;
}

.rcd-contact__body {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-contact__body-last {
  margin-bottom: 28px;
}

.rcd-contact__card-newsletter .rcd-contact__body {
  color: #FBE3CE;
  margin-bottom: 10px;
}

.rcd-contact__card-newsletter .rcd-contact__body-last {
  margin-bottom: 26px;
}

/* =============================================================================
   Page « Qui sommes-nous » (rcd-qsn-…)
   ========================================================================== */

.rcd-qsn-hero {
  overflow: hidden;
  padding: 0 28px 0;
  background:
    radial-gradient(70% 90% at 92% 8%, rgba(245, 185, 66, 0.30) 0%, rgba(245, 185, 66, 0) 60%),
    radial-gradient(65% 85% at 6% 4%, rgba(140, 90, 158, 0.22) 0%, rgba(140, 90, 158, 0) 62%),
    radial-gradient(95% 105% at 40% 100%, rgba(232, 112, 63, 0.20) 0%, rgba(232, 112, 63, 0) 62%),
    linear-gradient(150deg, rgba(251, 227, 206, 0.72) 0%, #FFF8ED 68%);
}

.rcd-qsn-hero__grid {
  max-width: 1160px;
  margin: 0 auto;
  padding-top: 72px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: center;
}

.rcd-qsn-hero__title {
  margin: 0 0 22px;
  font-family: Capriola, sans-serif;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.1;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-qsn-hero__intro {
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-hero__ribbon {
  margin: 56px -28px 0;
}

.rcd-qsn-premiers {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-qsn-premiers__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: start;
}

.rcd-qsn-premiers__body {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-premiers__body-last {
  margin-bottom: 0;
}

.rcd-qsn-premiers__side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rcd-qsn-premiers__quote {
  background: #FBE3CE;
  border-radius: 32px;
  padding: 32px;
}

.rcd-qsn-premiers__quote-text {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: 22px;
  line-height: 1.45;
  color: #8C5A9E;
}

.rcd-qsn-premiers__quote-attr {
  margin: 14px 0 0;
  font-size: 15px;
  font-weight: 600;
  color: #E8703F;
}

.rcd-qsn-aventure {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-qsn-aventure__inner {
  max-width: 1160px;
  margin: 0 auto;
}

.rcd-qsn-aventure__head {
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
}

.rcd-qsn-aventure__intro {
  margin: 0;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-aventure__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 44px;
}

.rcd-qsn-aventure__testi {
  background: #FFF8ED;
  border-radius: 32px;
  padding: 32px;
}

.rcd-qsn-aventure__testi-text {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-aventure__testi-attr {
  margin: 16px 0 0;
  font-size: 15px;
  font-weight: 600;
  color: #8C5A9E;
}

.rcd-qsn-aventure__panel {
  background: #FFF8ED;
  border-radius: 36px;
  padding: 44px;
}

.rcd-qsn-aventure__highlight {
  margin: 0 0 24px;
  font-family: Capriola, sans-serif;
  font-size: 24px;
  line-height: 1.4;
  color: #E8703F;
}

/* Puces réparties en grille (et non en colonne) : trois items côte à côte au
   lieu d'empilés, comme dans la maquette d'origine. Même motif de pastille
   colorée que .rcd-concept__list (page d'accueil), dupliqué ici plutôt que
   partagé pour ne jamais risquer de régression sur une page déjà en ligne en
   modifiant une classe qu'elle utilise. */
.wp-block-list.rcd-qsn-aventure__list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 26px;
}

/* Indentation suspendue (padding-left + puce positionnée en absolu) plutôt
   qu'une puce posée en flex : un <li> de bloc liste peut contenir du texte
   mélangé à des balises inline (<strong>…) sans aucun élément de bloc pour
   porter la mise en page flex — un navigateur peut alors mal calculer la
   largeur de cette « boîte anonyme », et le texte se retrouve mal aligné
   sous la puce. Cette approche ne dépend d'aucune boîte anonyme. */
.rcd-qsn-aventure__list li {
  position: relative;
  padding-left: 26px;
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-qsn-aventure__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #F5B942;
}

.rcd-qsn-aventure__list li:nth-child(2)::before { background: #E8703F; }
.rcd-qsn-aventure__list li:nth-child(3)::before { background: #8C5A9E; }

.rcd-qsn-aventure__list strong {
  color: #8C5A9E;
}

.rcd-qsn-aventure__closing {
  margin: 32px 0 0;
  padding-top: 26px;
  border-top: 1px solid #FBE3CE;
  font-size: 16.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-team {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-qsn-team__inner {
  max-width: 1160px;
  margin: 0 auto;
}

.rcd-qsn-team__head {
  max-width: 860px;
  margin: 0 auto 48px;
  text-align: center;
}

.rcd-qsn-team__title {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-qsn-team__subhead {
  margin: 0;
  font-size: 17px;
  font-weight: lighter;
  line-height: 1.6;
  color: #E8703F;
}

.rcd-qsn-team__list {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.rcd-qsn-team__card {
  background: #FBE3CE;
  border-radius: 36px;
  padding: 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 36px;
  align-items: center;
}

.rcd-qsn-team__name {
  margin: 0 0 16px;
  font-family: Capriola, sans-serif;
  font-size: 28px;
  line-height: 1.25;
  color: #8C5A9E;
}

.rcd-qsn-team__bio {
  margin: 0 0 14px;
  font-size: 16.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-team__apporte {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-team__apporte strong {
  color: #E8703F;
}

.rcd-qsn-team__foot {
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 26px;
  align-items: center;
}

/* C'est un bloc « group » (voir rcd_group() dans inc/blocks-dsl.php) affiché
   comme <blockquote>, pas le bloc core/quote : sa classe générée reste donc
   "wp-block-group", jamais "wp-block-quote". */
.wp-block-group.rcd-qsn-team__quote {
  margin: 0;
  background: #8C5A9E;
  border-radius: 36px;
  padding: 44px;
  position: relative;
}

.rcd-qsn-team__quote-intro {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.7;
  color: #FBE3CE;
}

.rcd-qsn-team__quote-text {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-style: italic;
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.35;
  color: #FFF8ED;
}

.rcd-qsn-team__quote-attr {
  margin: 18px 0 0;
  font-size: 15px;
  color: #FBE3CE;
}

.rcd-qsn-facil {
  background: #FBE3CE;
  padding: 80px 28px 40px;
}

.rcd-qsn-facil__inner {
  max-width: 900px;
  margin: 0 auto;
}

.rcd-qsn-facil__intro {
  margin: 0 0 22px;
  font-size: 17.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-facil__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-bottom: 26px;
}

.rcd-qsn-facil__card {
  background: #FFF8ED;
  border-radius: 28px;
  padding: 28px;
}

.rcd-qsn-facil__card-text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-qsn-facil__closing {
  margin: 0;
  font-size: 17.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-facil__ribbon {
  margin: 56px -28px -40px;
}

.rcd-qsn-explo {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-qsn-explo__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: start;
}

.rcd-qsn-explo__body {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-explo__body-last {
  margin-bottom: 0;
}

.rcd-qsn-explo__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}

.rcd-qsn-explo__card {
  border-radius: 32px;
  padding: 30px;
}

.rcd-qsn-explo__card-sand { background: #FBE3CE; }
.rcd-qsn-explo__card-purple { background: #8C5A9E; }

.rcd-qsn-explo__label {
  margin: 0 0 16px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rcd-qsn-explo__label-orange { color: #E8703F; }
.rcd-qsn-explo__label-yellow { color: #F5B942; }

.rcd-qsn-explo__lines {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rcd-qsn-explo__line {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.6;
  color: #3A3033;
}

.rcd-qsn-explo__line-light { color: #FFF8ED; }

.rcd-qsn-explo__scroll {
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: #FBE3CE;
}

.rcd-qsn-regles {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-qsn-regles__inner {
  max-width: 1160px;
  margin: 0 auto;
}

.rcd-qsn-regles__head {
  max-width: 760px;
  margin: 0 auto 44px;
  text-align: center;
}

.rcd-qsn-regles__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
}

.rcd-qsn-regles__card {
  background: #FFF8ED;
  border-radius: 30px;
  padding: 30px;
}

/* La maquette d'origine stylait ces titres sur un <p>, sans gras déclaré ; le
   passage à <h3> (meilleure structure de titres) hérite sinon du gras que le
   navigateur applique par défaut aux titres — d'où ce font-weight explicite,
   qui restaure exactement le rendu d'origine. */
.rcd-qsn-regles__card-title {
  margin: 0 0 12px;
  font-family: Capriola, sans-serif;
  font-size: 24px;
  font-weight: normal;
}

/* Couleurs fixes des 4 cartes de règles — pas un cycle formule, comme dans la
   maquette d'origine (1 et 4 partagent l'orange, ce n'est pas une erreur). */
.rcd-qsn-regles__card-title-1 { color: #E8703F; }
.rcd-qsn-regles__card-title-2 { color: #F5B942; }
.rcd-qsn-regles__card-title-3 { color: #8C5A9E; }
.rcd-qsn-regles__card-title-4 { color: #E8703F; }

.rcd-qsn-regles__card-desc {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-qsn-regles__closing {
  margin: 34px auto 0;
  max-width: 760px;
  text-align: center;
  font-family: Capriola, sans-serif;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.4;
  color: #8C5A9E;
}

.rcd-qsn-cta {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-qsn-cta__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 26px;
}

.rcd-qsn-cta__name {
  background: #FBE3CE;
  border-radius: 36px;
  padding: 44px;
}

.rcd-qsn-cta__name-title {
  margin: 0 0 8px;
  font-family: Capriola, sans-serif;
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.2;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-qsn-cta__name-subhead {
  margin: 0 0 26px;
  font-size: 17px;
  font-weight: lighter;
  color: #E8703F;
}

.wp-block-list.rcd-qsn-cta__name-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Indentation suspendue (padding-left + puce positionnée en absolu) plutôt
   qu'une puce posée en flex : un <li> de bloc liste peut contenir du texte
   mélangé à des balises inline (<strong>…) sans aucun élément de bloc pour
   porter la mise en page flex — un navigateur peut alors mal calculer la
   largeur de cette « boîte anonyme », et le texte se retrouve mal aligné
   sous la puce. Cette approche ne dépend d'aucune boîte anonyme. */
.rcd-qsn-cta__name-list li {
  position: relative;
  padding-left: 26px;
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-qsn-cta__name-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #F5B942;
}

.rcd-qsn-cta__name-list li:nth-child(2)::before { background: #E8703F; }
.rcd-qsn-cta__name-list li:nth-child(3)::before { background: #8C5A9E; }

/* Le dégradé de coins est appliqué par-dessus la même couleur de secours que
   .rcd-qsn-cta__name, pour rester identique tant qu'aucune image de fond
   n'est nécessaire ailleurs sur cette carte. */
.rcd-qsn-cta__panel {
  border-radius: 36px;
  padding: 44px;
  background:
    radial-gradient(90% 120% at 10% 0%, #F5B942 0%, rgba(245, 185, 66, 0) 60%),
    radial-gradient(100% 120% at 100% 100%, #E8703F 0%, rgba(232, 112, 63, 0) 62%),
    #FBE3CE;
}

.rcd-qsn-cta__panel-title {
  margin: 0 0 16px;
  font-family: Capriola, sans-serif;
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.2;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-qsn-cta__panel-body {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-qsn-cta__panel-body-light {
  font-weight: lighter;
}

.wp-block-buttons.rcd-qsn-cta__panel-ctas {
  gap: 12px;
  flex-wrap: wrap;
}

/* =============================================================================
   Page « La danse récréative » (rcd-dr-…)
   ========================================================================== */

.rcd-dr-hero {
  overflow: hidden;
  padding: 0 28px 0;
  background:
    radial-gradient(70% 90% at 10% 6%, rgba(245, 185, 66, 0.30) 0%, rgba(245, 185, 66, 0) 60%),
    radial-gradient(65% 85% at 94% 10%, rgba(140, 90, 158, 0.22) 0%, rgba(140, 90, 158, 0) 62%),
    radial-gradient(95% 105% at 55% 100%, rgba(232, 112, 63, 0.20) 0%, rgba(232, 112, 63, 0) 62%),
    linear-gradient(155deg, rgba(251, 227, 206, 0.72) 0%, #FFF8ED 68%);
}

.rcd-dr-hero__grid {
  max-width: 1160px;
  margin: 0 auto;
  padding-top: 72px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: center;
}

.rcd-dr-hero__title {
  margin: 0 0 22px;
  font-family: Capriola, sans-serif;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.08;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-dr-hero__body {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-dr-hero__body-lg { font-size: 19px; }

.rcd-dr-hero__highlight {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: 22px;
  line-height: 1.45;
  color: #E8703F;
}

.rcd-dr-hero__side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rcd-dr-hero__quote {
  background: #FFF8ED;
  border-radius: 32px;
  padding: 30px;
}

.rcd-dr-hero__quote-text {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: 21px;
  line-height: 1.45;
  color: #8C5A9E;
}

.rcd-dr-hero__quote-attr {
  margin: 14px 0 0;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.6;
  color: #E8703F;
}

.rcd-dr-hero__ribbon {
  margin: 56px -28px 0;
}

.rcd-dr-diff {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-dr-diff__intro {
  max-width: 900px;
  margin: 0 auto 44px;
}

.rcd-dr-diff__title {
  margin: 0 0 20px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-dr-diff__intro-body {
  margin: 0 0 14px;
  font-size: 17.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-dr-diff__intro-body-last { margin-bottom: 0; }

.rcd-dr-diff__cards {
  max-width: 1160px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.rcd-dr-diff__card {
  border-radius: 36px;
  padding: 40px;
}

.rcd-dr-diff__card-purple { background: #8C5A9E; }

.rcd-dr-diff__card-sand {
  position: relative;
  overflow: hidden;
  background: #FBE3CE;
}

.rcd-dr-diff__card-inner {
  position: relative;
}

.rcd-dr-diff__card-title {
  margin: 0 0 18px;
  font-family: Capriola, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.3;
  color: #8C5A9E;
}

.rcd-dr-diff__card-title-light { color: #FFF8ED; }

.rcd-dr-diff__card-highlight {
  margin: 0 0 16px;
  font-family: Capriola, sans-serif;
  font-size: 23px;
  line-height: 1.4;
  color: #F5B942;
}

.rcd-dr-diff__card-body {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.75;
}

.rcd-dr-diff__card-body-white { color: #FFF8ED; }
.rcd-dr-diff__card-body-sand { color: #FBE3CE; }
.rcd-dr-diff__card-body-last { margin-bottom: 0; }

.rcd-dr-diff__subgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-bottom: 20px;
}

.rcd-dr-diff__sub {
  background: #FFF8ED;
  border-radius: 26px;
  padding: 26px;
}

.rcd-dr-diff__sub-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-dr-diff__sub-text strong {
  color: #8C5A9E;
}

.rcd-dr-deroule {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-dr-deroule__intro {
  max-width: 860px;
  margin: 0 auto 44px;
}

.rcd-dr-deroule__title {
  margin: 0 0 18px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-dr-deroule__intro-body {
  margin: 0 0 12px;
  font-size: 17.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-dr-deroule__intro-body-last { margin-bottom: 0; }

.rcd-dr-deroule__grid {
  max-width: 1160px;
  margin: 0 auto 26px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}

.rcd-dr-step {
  background: #FFF8ED;
  border-radius: 30px;
  padding: 30px;
}

.rcd-dr-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #F5B942;
  font-family: Capriola, sans-serif;
  font-size: 17px;
  color: #FFF8ED;
  margin-bottom: 18px;
}

.rcd-dr-step__title {
  margin: 0 0 12px;
  font-family: Capriola, sans-serif;
  font-size: 21px;
  line-height: 1.3;
  color: #8C5A9E;
}

.rcd-dr-step__body {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-dr-deroule__note {
  max-width: 1160px;
  margin: 0 auto;
  background: #FFF8ED;
  border-radius: 30px;
  padding: 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
  align-items: center;
}

.rcd-dr-deroule__note-text {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-dr-deroule__note-text strong {
  color: #E8703F;
}

.rcd-dr-fin {
  background: #FFF8ED;
  padding: 80px 28px 40px;
}

.rcd-dr-fin__title {
  max-width: 1160px;
  margin: 0 auto 32px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.15;
  color: #8C5A9E;
  text-align: center;
  text-wrap: pretty;
}

.rcd-dr-fin__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
}

.rcd-dr-fin__quote {
  background: #FBE3CE;
  border-radius: 34px;
  padding: 38px;
}

.rcd-dr-fin__quote-text {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: clamp(20px, 2.2vw, 25px);
  line-height: 1.4;
  color: #8C5A9E;
}

.rcd-dr-fin__quote-attr {
  margin: 16px 0 0;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.6;
  color: #E8703F;
}

.rcd-dr-fin__ribbon {
  margin: 56px -28px -40px;
}

.rcd-dr-faq {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-dr-faq__title {
  max-width: 1000px;
  margin: 0 auto 40px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.15;
  color: #8C5A9E;
  text-align: center;
  text-wrap: pretty;
}

.rcd-dr-faq__list {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.rcd-dr-faq__item {
  background: #FBE3CE;
  border-radius: 30px;
  padding: 34px 36px;
}

.rcd-dr-faq__question {
  margin: 0 0 16px;
  font-family: Capriola, sans-serif;
  font-size: clamp(20px, 2.2vw, 25px);
  line-height: 1.35;
  color: #8C5A9E;
}

.rcd-dr-faq__answer {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.wp-block-buttons.rcd-dr-faq__ctas {
  max-width: 1000px;
  margin: 44px auto 0;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}

/* =============================================================================
   Page « Atelier au Thou » (rcd-at-…)
   ========================================================================== */

.rcd-at-hero {
  overflow: hidden;
  padding: 0 28px 0;
  background:
    radial-gradient(70% 90% at 92% 6%, rgba(245, 185, 66, 0.30) 0%, rgba(245, 185, 66, 0) 60%),
    radial-gradient(65% 85% at 4% 10%, rgba(140, 90, 158, 0.22) 0%, rgba(140, 90, 158, 0) 62%),
    radial-gradient(95% 105% at 60% 100%, rgba(232, 112, 63, 0.20) 0%, rgba(232, 112, 63, 0) 62%),
    linear-gradient(160deg, rgba(251, 227, 206, 0.72) 0%, #FFF8ED 68%);
}

.rcd-at-hero__grid {
  max-width: 1160px;
  margin: 0 auto;
  padding-top: 72px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: center;
}

.rcd-at-hero__title {
  margin: 0 0 26px;
  font-family: Capriola, sans-serif;
  font-size: clamp(32px, 4.2vw, 54px);
  line-height: 1.08;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-at-hero__kicker {
  margin: 0 0 20px;
  font-size: 17px;
  font-weight: 600;
  color: #E8703F;
}

.wp-block-list.rcd-at-hero__list {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Indentation suspendue (padding-left + puce positionnée en absolu) plutôt
   qu'une puce posée en flex : un <li> de bloc liste peut contenir du texte
   mélangé à des balises inline (<strong>…) sans aucun élément de bloc pour
   porter la mise en page flex — un navigateur peut alors mal calculer la
   largeur de cette « boîte anonyme », et le texte se retrouve mal aligné
   sous la puce. Cette approche ne dépend d'aucune boîte anonyme. */
.rcd-at-hero__list li {
  position: relative;
  padding-left: 26px;
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-at-hero__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #F5B942;
}

.rcd-at-hero__list li:nth-child(4n + 2)::before { background: #E8703F; }
.rcd-at-hero__list li:nth-child(4n + 3)::before { background: #8C5A9E; }

.rcd-at-hero__ribbon {
  margin: 56px -28px 0;
}

.rcd-at-merci {
  background: #FFF8ED;
  padding: 56px 28px 40px;
}

.rcd-at-merci__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}

.rcd-at-merci__card {
  background: #FBE3CE;
  border-radius: 30px;
  padding: 32px;
}

.rcd-at-merci__text {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: 20px;
  line-height: 1.45;
  color: #8C5A9E;
}

.rcd-at-merci__author {
  margin: 14px 0 0;
  font-size: 14.5px;
  font-weight: 600;
  color: #E8703F;
}

.rcd-at-promo {
  background: #FFF8ED;
  padding: 20px 28px 60px;
}

.rcd-at-promo__box {
  max-width: 1160px;
  margin: 0 auto;
  background: #8C5A9E;
  border-radius: 36px;
  padding: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
  align-items: center;
}

.rcd-at-promo__label {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #F5B942;
}

.rcd-at-promo__title {
  margin: 0 0 12px;
  font-family: Capriola, sans-serif;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.3;
  color: #FFF8ED;
}

.rcd-at-promo__subtitle {
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: #FBE3CE;
}

.wp-block-button.rcd-btn-yellow.rcd-btn-lg > .wp-block-button__link {
  white-space: nowrap;
}

.rcd-at-pourquoi {
  position: relative;
  overflow: hidden;
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-at-pourquoi__inner {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
}

.rcd-at-pourquoi__head {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-at-pourquoi__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-bottom: 34px;
}

.rcd-at-pourquoi__card {
  background: #FFF8ED;
  border-radius: 30px;
  padding: 30px;
}

.rcd-at-pourquoi__card-text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-at-pourquoi__closing {
  margin: 0;
  text-align: center;
  font-family: Capriola, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.4;
  color: #8C5A9E;
}

.rcd-at-quand {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-at-quand__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: center;
}

.rcd-at-quand__kicker {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-at-quand__body {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-at-quand__body-last {
  margin-bottom: 26px;
}

.rcd-at-deroule {
  background: #FBE3CE;
  padding: 80px 28px 40px;
}

.rcd-at-deroule__head {
  max-width: 860px;
  margin: 0 auto 44px;
  text-align: center;
}

.rcd-at-deroule__grid {
  max-width: 1160px;
  margin: 0 auto 26px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}

.rcd-at-deroule__card {
  background: #FFF8ED;
  border-radius: 30px;
  padding: 30px;
}

.rcd-at-deroule__card-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-at-deroule__closing {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
  font-family: Capriola, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.4;
  color: #E8703F;
}

.rcd-at-deroule__ribbon {
  margin: 56px -28px -40px;
}

.rcd-at-temoignages {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-at-temoignages__head {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-at-temoignages__body {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-at-tarifs {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-at-tarifs__head {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-at-tarifs__grid {
  max-width: 1160px;
  margin: 0 auto 26px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
}

.rcd-at-price {
  position: relative;
  background: #FFF8ED;
  border-radius: 32px;
  padding: 58px 34px 34px;
  text-align: center;
}

.rcd-at-price__label {
  position: absolute;
  top: 18px;
  left: 18px;
  margin: 0;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.rcd-at-price-purple .rcd-at-price__label { background: #8C5A9E; color: #FFF8ED; }
.rcd-at-price-orange .rcd-at-price__label { background: #E8703F; color: #FFF8ED; }
.rcd-at-price-yellow .rcd-at-price__label { background: #F5B942; color: #3A3033; }

.rcd-at-price__amount {
  margin: 0;
  font-family: Capriola, sans-serif;
  font-size: 44px;
  line-height: 1;
}

.rcd-at-price-purple .rcd-at-price__amount { color: #8C5A9E; }
.rcd-at-price-orange .rcd-at-price__amount { color: #E8703F; }
.rcd-at-price-yellow .rcd-at-price__amount { color: #F5B942; }

.rcd-at-tarifs__extra {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 22px;
}

.rcd-at-tarifs__adhesion {
  background: #8C5A9E;
  border-radius: 32px;
  padding: 36px;
}

.rcd-at-tarifs__adhesion-title {
  margin: 0 0 12px;
  font-family: Capriola, sans-serif;
  font-size: 23px;
  line-height: 1.35;
  color: #F5B942;
}

.rcd-at-tarifs__adhesion-body {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.75;
  color: #FFF8ED;
}

.rcd-at-tarifs__solidaire {
  background: #FFF8ED;
  border-radius: 32px;
  padding: 36px;
}

.rcd-at-tarifs__solidaire-title {
  margin: 0 0 14px;
  font-family: Capriola, sans-serif;
  font-size: 23px;
  line-height: 1.35;
  color: #8C5A9E;
}

.rcd-at-tarifs__solidaire-body {
  margin: 0 0 12px;
  font-size: 16.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-at-tarifs__solidaire-body-last {
  margin-bottom: 0;
}

.rcd-at-ou {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-at-ou__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 52px;
  align-items: start;
}

.rcd-at-ou__title {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-at-ou__body {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-at-ou__body-last {
  margin-bottom: 24px;
}

.rcd-at-ou__card {
  background: #FBE3CE;
  border-radius: 36px;
  padding: 40px;
}

.rcd-at-ou__card-title {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-at-faq {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-at-faq__head {
  max-width: 1000px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-at-faq__list {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.rcd-at-faq__item {
  background: #FFF8ED;
  border-radius: 30px;
  padding: 32px 36px;
}

.rcd-at-faq__question {
  margin: 0 0 14px;
  font-family: Capriola, sans-serif;
  font-size: clamp(19px, 2.1vw, 24px);
  line-height: 1.35;
  color: #8C5A9E;
}

.rcd-at-faq__answer {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.75;
  color: #3A3033;
}

/* =============================================================================
   Page « RéCréation Dansée chez vous » (rcd-cv-…)
   ========================================================================== */

.rcd-cv-hero {
  overflow: hidden;
  padding: 0 28px 0;
  background:
    radial-gradient(70% 90% at 10% 6%, rgba(245, 185, 66, 0.30) 0%, rgba(245, 185, 66, 0) 60%),
    radial-gradient(65% 85% at 94% 8%, rgba(140, 90, 158, 0.22) 0%, rgba(140, 90, 158, 0) 62%),
    radial-gradient(95% 105% at 45% 100%, rgba(232, 112, 63, 0.20) 0%, rgba(232, 112, 63, 0) 62%),
    linear-gradient(150deg, rgba(251, 227, 206, 0.72) 0%, #FFF8ED 68%);
}

.rcd-cv-hero__grid {
  max-width: 1160px;
  margin: 0 auto;
  padding-top: 72px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 56px;
  align-items: center;
}

.rcd-cv-hero__title {
  margin: 0 0 18px;
  font-family: Capriola, sans-serif;
  font-size: clamp(34px, 4.4vw, 56px);
  line-height: 1.08;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-cv-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px;
}

.rcd-cv-badge {
  margin: 0;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.rcd-cv-badge-purple { background: #8C5A9E; color: #FFF8ED; }
.rcd-cv-badge-orange { background: #E8703F; color: #FFF8ED; }
.rcd-cv-badge-yellow { background: #F5B942; color: #3A3033; }

.rcd-cv-hero__body {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-cv-hero__body-last {
  margin-bottom: 28px;
}

.rcd-cv-hero__ribbon {
  margin: 56px -28px 0;
}

.rcd-cv-bienfaits {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-cv-bienfaits__head {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-cv-bienfaits__intro {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-cv-bienfaits__grid {
  max-width: 1160px;
  margin: 0 auto 34px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}

.rcd-cv-bienfaits__card {
  background: #FBE3CE;
  border-radius: 32px;
  padding: 34px;
}

.rcd-cv-bienfaits__card-title {
  margin: 0 0 14px;
  font-family: Capriola, sans-serif;
  font-size: 24px;
  color: #8C5A9E;
}

.rcd-cv-bienfaits__card-text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-cv-bienfaits__foot {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
}

.rcd-cv-bienfaits__closing {
  margin: 0 0 24px;
  font-size: 17.5px;
  line-height: 1.75;
  color: #3A3033;
}

.wp-block-buttons.rcd-cv-bienfaits__cta {
  justify-content: center;
}

.rcd-cv-clemain {
  position: relative;
  overflow: hidden;
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-cv-clemain__inner {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
}

.rcd-cv-clemain__intro {
  max-width: 900px;
  margin: 0 auto 40px;
}

.rcd-cv-clemain__intro-text {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-cv-clemain__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.rcd-cv-clemain__card {
  background: #FFF8ED;
  border-radius: 30px;
  padding: 30px;
}

.rcd-cv-clemain__card-title {
  margin: 0 0 12px;
  font-family: Capriola, sans-serif;
  font-size: 20px;
  line-height: 1.3;
  color: #E8703F;
}

.rcd-cv-clemain__card-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-cv-formats {
  background: #FFF8ED;
  padding: 80px 28px 40px;
}

.rcd-cv-formats__grid {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 52px;
  align-items: center;
}

.rcd-cv-formats__kicker {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-cv-formats__intro {
  margin: 0 0 22px;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.wp-block-list.rcd-cv-formats__list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Indentation suspendue (padding-left + puce positionnée en absolu) plutôt
   qu'une puce posée en flex : un <li> de bloc liste peut contenir du texte
   mélangé à des balises inline (<strong>…) sans aucun élément de bloc pour
   porter la mise en page flex — un navigateur peut alors mal calculer la
   largeur de cette « boîte anonyme », et le texte se retrouve mal aligné
   sous la puce. Cette approche ne dépend d'aucune boîte anonyme. */
.rcd-cv-formats__list li {
  position: relative;
  padding-left: 26px;
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-cv-formats__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #F5B942;
}

.rcd-cv-formats__list li:nth-child(4n + 2)::before { background: #E8703F; }
.rcd-cv-formats__list li:nth-child(4n + 3)::before { background: #8C5A9E; }

.rcd-cv-formats__list strong {
  color: #8C5A9E;
}

.rcd-cv-formats__ribbon {
  margin: 56px -28px -40px;
}

.rcd-cv-terrain {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-cv-terrain__head {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-cv-terrain__stats {
  max-width: 1160px;
  margin: 0 auto 34px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}

.rcd-cv-terrain__stat {
  background: #FFF8ED;
  border-radius: 32px;
  padding: 32px;
}

.rcd-cv-terrain__year {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: 22px;
  color: #8C5A9E;
}

.rcd-cv-terrain__stat:nth-child(2) .rcd-cv-terrain__year,
.rcd-cv-terrain__stat:nth-child(3) .rcd-cv-terrain__year {
  color: #E8703F;
}

.rcd-cv-terrain__stat-text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-cv-terrain__quotes {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
}

.rcd-cv-terrain__quote {
  background: #8C5A9E;
  border-radius: 28px;
  padding: 28px;
}

.rcd-cv-terrain__quote-text {
  margin: 0 0 12px;
  font-size: 16.5px;
  line-height: 1.65;
  color: #FFF8ED;
}

.rcd-cv-terrain__quote-author {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #F5B942;
}

.rcd-cv-comment {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-cv-comment__head {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-cv-comment__grid {
  max-width: 1160px;
  margin: 0 auto 30px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}

.rcd-cv-step {
  background: #FBE3CE;
  border-radius: 32px;
  padding: 32px;
}

.rcd-cv-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  font-family: Capriola, sans-serif;
  font-size: 18px;
  color: #FFF8ED;
  margin-bottom: 18px;
}

.rcd-cv-step:nth-child(1) .rcd-cv-step__num { background: #F5B942; }
.rcd-cv-step:nth-child(2) .rcd-cv-step__num { background: #E8703F; }
.rcd-cv-step:nth-child(3) .rcd-cv-step__num { background: #8C5A9E; }

.rcd-cv-step__title {
  margin: 0 0 10px;
  font-family: Capriola, sans-serif;
  font-size: 22px;
  color: #8C5A9E;
}

.rcd-cv-step__text {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-cv-comment__closing {
  max-width: 1160px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-cv-ctafinal {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-cv-ctafinal__inner {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.rcd-cv-ctafinal__title {
  margin: 0 0 16px;
  font-family: Capriola, sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-cv-ctafinal__subtitle {
  margin: 0 0 30px;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
  font-weight: lighter;
}

.wp-block-buttons.rcd-cv-ctafinal__cta {
  justify-content: center;
}

/* =============================================================================
   Page « Contact & FAQ » (rcd-cf-…)
   ========================================================================== */

.rcd-cf-hero {
  overflow: hidden;
  padding: 0 28px 0;
  background:
    radial-gradient(70% 90% at 8% 8%, rgba(245, 185, 66, 0.30) 0%, rgba(245, 185, 66, 0) 60%),
    radial-gradient(65% 85% at 96% 6%, rgba(140, 90, 158, 0.22) 0%, rgba(140, 90, 158, 0) 62%),
    radial-gradient(95% 105% at 50% 100%, rgba(232, 112, 63, 0.20) 0%, rgba(232, 112, 63, 0) 62%),
    linear-gradient(155deg, rgba(251, 227, 206, 0.72) 0%, #FFF8ED 68%);
}

.rcd-cf-hero__grid {
  max-width: 1160px;
  margin: 0 auto;
  padding-top: 72px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 52px;
  align-items: start;
}

.rcd-cf-hero__title {
  margin: 0 0 20px;
  font-family: Capriola, sans-serif;
  font-size: clamp(32px, 4.2vw, 54px);
  line-height: 1.08;
  color: #8C5A9E;
  text-wrap: pretty;
}

.rcd-cf-hero__intro {
  margin: 0 0 28px;
  font-size: 19px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-cf-hero__card {
  background: #FFF8ED;
  border-radius: 30px;
  padding: 28px;
  margin-bottom: 26px;
}

.rcd-cf-hero__card-intro {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.7;
  color: #3A3033;
}

.rcd-cf-hero__social-links {
  margin-bottom: 18px;
}

.rcd-cf-hero__card-highlight {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #E8703F;
  font-weight: 600;
}

.rcd-cf-hero__ribbon {
  margin: 56px -28px 0;
}

.rcd-cf-faq {
  background: #FFF8ED;
  padding: 80px 28px;
}

.rcd-cf-faq__head {
  max-width: 1000px;
  margin: 0 auto 40px;
  text-align: center;
}

.rcd-cf-faq__list {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.rcd-cf-faq__item {
  background: #FBE3CE;
  border-radius: 30px;
  padding: 32px 36px;
}

.rcd-cf-faq__question {
  margin: 0 0 14px;
  font-family: Capriola, sans-serif;
  font-size: clamp(19px, 2.1vw, 24px);
  line-height: 1.35;
  color: #8C5A9E;
}

.rcd-cf-faq__answer {
  margin: 0;
  font-size: 16.5px;
  line-height: 1.75;
  color: #3A3033;
}

.rcd-cf-faq__answer + .rcd-cf-faq__answer {
  margin-top: 12px;
}

.rcd-cf-faq__answer a {
  color: #8C5A9E;
  font-weight: 600;
}

.rcd-cf-cta {
  background: #FBE3CE;
  padding: 80px 28px;
}

.rcd-cf-cta__inner {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.rcd-cf-cta__title {
  margin: 0 0 18px;
  font-family: Capriola, sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.15;
  color: #8C5A9E;
  text-wrap: pretty;
  font-weight: bold;
}

.rcd-cf-cta__subtitle {
  margin: 0 0 30px;
  font-size: 18px;
  line-height: 1.75;
  color: #3A3033;
  font-weight: lighter;
}

.wp-block-buttons.rcd-cf-cta__cta {
  justify-content: center;
}

/* =============================================================================
   Parité éditeur ↔ site public
   ---------------------------------------------------------------------------
   Ces règles ne ciblent que des classes et attributs propres à l'éditeur de
   blocs (.block-editor-…, [data-type]) : elles ne correspondent à rien dans le
   HTML du site public, où elles restent donc sans effet. Elles sont là pour
   que l'aperçu dans l'admin rende exactement comme le site.
   ========================================================================== */

/* L'éditeur applique position:relative à CHAQUE bloc
   (.block-editor-block-list__layout .block-editor-block-list__block).
   Nos deux décors en position absolue — la frise du hero et l'arabesque en
   filigrane — se calaient donc sur leur propre conteneur de bloc, minuscule,
   au lieu de la section. display:contents supprime cette boîte : le SVG
   redevient enfant direct de la section, comme sur le site. Ces deux blocs ne
   sont ni insérables ni sélectionnables (section verrouillée en contentOnly),
   donc supprimer leur boîte ne coûte aucune ergonomie d'édition. */
.wp-block[data-type="rcd/frieze"],
.wp-block[data-type="rcd/flourish"] {
  display: contents;
}

/* Même cause : l'étiquette de tarif est un bloc paragraphe posé en absolu dans
   sa carte. La règle position:relative de l'éditeur (0,2,0) l'emportait sur
   notre .rcd-at-price__label (0,1,0) et la remettait dans le flux, décalant le
   montant vers le bas. On repasse devant en spécificité. */
.block-editor-block-list__block.rcd-at-price__label {
  position: absolute;
}
