/* =========================================================================
   RCPC — composants, d'après le prototype v5.5 du 14 août 2026.

   Le CSS du prototype est repris tel quel, à deux transformations près :
   les classes sont préfixées « rcpc- » pour éviter toute collision avec
   WordPress ou WooCommerce, et les variables du prototype sont branchées
   sur la palette de theme.json — une seule source de couleurs.
   ========================================================================= */

.rcpc-vue,
.rcpc-hero,
.rcpc-bloc,
.rcpc-preuve,
.rcpc-seo {
  --bg: var(--wp--preset--color--base, #FAF9F6);
  --panel: var(--wp--preset--color--surface, #FFFFFF);
  --ink: var(--wp--preset--color--ink, #1A2E19);
  --ink-2: var(--wp--preset--color--ink-soft, #57604F);
  --brand: var(--wp--preset--color--accent, #2D4A2B);
  --accent: var(--wp--preset--color--accent-bright, #4A6B47);
  --deep: var(--wp--preset--color--accent-deep, #1F331E);
  --line: var(--wp--preset--color--line, #E2E3DA);
  --amber: var(--wp--preset--color--amber, #B87333);
  --amber-2: var(--wp--preset--color--amber-deep, #8A5A28);
  --amber-3: var(--wp--preset--color--amber-pale, #E8D5B7);
  --radius: 6px;
  --font-titres: var(--wp--preset--font-family--titres);
  --font-texte: var(--wp--preset--font-family--sans);
}

/* ============ THÈME « FOREST CANOPY — ADAPTÉ RCPC » (décision porteur du 14 août, session v3 ; contrastes AA re-vérifiés) ============ */

*{margin:0;padding:0;box-sizing:border-box}

@media (prefers-reduced-motion:reduce){
  
  *,*::before,*::after{animation:none!important;transition:none!important}
}

:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}

.rcpc-num{font-variant-numeric:tabular-nums}

/* ---------- header ---------- */

.rcpc-site 

/* ---------- héro ---------- */
.rcpc-hero{padding:44px 0 36px}
.rcpc-hero .rcpc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
.rcpc-kicker{display:inline-block;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);border:1px solid var(--brand);border-radius:999px;padding:6px 14px;margin-bottom:18px}
h1{font-size:clamp(30px,4.6vw,50px);font-weight:800;margin-bottom:14px}
h1 em{font-style:italic;color:var(--brand)}
.rcpc-hero p.rcpc-sub{color:var(--ink-2);font-size:17.5px;max-width:34em;margin-bottom:22px}
.rcpc-chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:26px}
.rcpc-chiffres div{background:var(--panel);padding:12px 10px;text-align:center}
.rcpc-chiffres b{display:block;font-family:var(--font-titres);font-size:19px;color:var(--brand)}
.rcpc-chiffres small{color:var(--ink-2);font-size:12px}
.rcpc-photo{background:var(--amber-3);border-radius:var(--radius);min-height:270px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
.rcpc-photo::after{content:"";position:absolute;inset:0;background:rgba(138,90,40,.16)}
.rcpc-photo p{position:relative;z-index:1;color:#5c3d1c;font-size:13px;font-weight:600;max-width:22em;padding:12px}
/* ---------- simulateur ---------- */
.rcpc-simu{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 18px;box-shadow:0 1px 2px rgba(23,37,30,.05)}
.rcpc-simu h2{font-size:16px;margin-bottom:4px}
.rcpc-simu .rcpc-fmt{font-family:var(--font-titres);font-size:34px;font-weight:800;color:var(--brand)}
.rcpc-simu label{font-size:13px;color:var(--ink-2);font-weight:600;display:block;margin-bottom:8px}
input[type=range]{width:100%;height:44px;accent-color:var(--brand);cursor:pointer;touch-action:manipulation}
.rcpc-paliers{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-2);margin:-4px 2px 14px}
.rcpc-gammes{display:grid;gap:8px}
.rcpc-g-row{display:grid;grid-template-columns:1.1fr .95fr 1.05fr .9fr;gap:8px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}
.rcpc-g-row.rcpc-actif{border-color:var(--brand);background:#F1F3EC}
.rcpc-g-row .rcpc-g-nom{font-weight:700;font-size:14px}
.rcpc-g-row .rcpc-g-prix{font-family:var(--font-titres);font-weight:800;font-size:19px;color:var(--brand);white-space:nowrap}
.rcpc-g-row .rcpc-g-prix small{font-size:11px;color:var(--ink-2);font-weight:600}
.rcpc-g-row .rcpc-g-total{font-size:13px;color:var(--ink-2);white-space:nowrap}
.rcpc-g-row .rcpc-g-eco{font-size:12.5px;font-weight:700;color:var(--accent);text-align:right}
.rcpc-simu .rcpc-cta{display:block;text-align:center;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:15px;border-radius:var(--radius);margin-top:14px}
.rcpc-simu .rcpc-cta:hover{background:var(--accent)}
.rcpc-simu .rcpc-note{font-size:12.5px;color:var(--ink-2);margin-top:12px;line-height:1.5}
/* ---------- sections ---------- */
section.rcpc-bloc{padding:52px 0}
.rcpc-sec-num{font-family:var(--font-titres);font-weight:800;color:var(--accent);font-size:14px;letter-spacing:.1em;margin-bottom:6px}
section.rcpc-bloc h2{font-size:clamp(24px,3.2vw,34px);font-weight:800;margin-bottom:10px}
.rcpc-chapeau{color:var(--ink-2);max-width:46em;margin-bottom:28px;font-size:16.5px}
/* concentration */
.rcpc-cartes3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rcpc-carte{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:10px}
.rcpc-carte .rcpc-taux{font-family:var(--font-titres);font-size:30px;font-weight:800;color:var(--brand)}
.rcpc-carte h3{font-size:19px}
.rcpc-carte p{font-size:14.5px;color:var(--ink-2);flex:1}
.rcpc-carte a{font-weight:700;font-size:14px;text-decoration:none}
.rcpc-carte a:hover{text-decoration:underline}
.rcpc-pied-section{margin-top:22px;font-size:14.5px;color:var(--ink-2);max-width:52em}
.rcpc-pied-section a{font-weight:700}
/* bande preuve */
.rcpc-preuve{background:var(--deep);color:#fff;padding:26px 0}
.rcpc-preuve 
.rcpc-preuve p{font-size:16.5px;max-width:38em}
.rcpc-preuve b{color:#fff}
.rcpc-pastilles{display:flex;gap:10px}
.rcpc-pastille{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 16px;font-family:var(--font-titres);font-weight:700;font-size:14px;white-space:nowrap}
/* catalogue */
.rcpc-gamme-ligne{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:2px solid var(--ink);padding:26px 0 10px;flex-wrap:wrap}
.rcpc-gamme-ligne h3{font-size:21px}
.rcpc-gamme-ligne h3 a{color:var(--ink);text-decoration:none}
.rcpc-gamme-ligne h3 a:hover{color:var(--brand)}
.rcpc-gamme-ligne .rcpc-g-info{color:var(--ink-2);font-size:14px}
.rcpc-gamme-ligne .rcpc-g-lien{font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.rcpc-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:16px 0 8px}
.rcpc-prod{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.rcpc-prod:hover{border-color:var(--brand)}
.rcpc-prod .rcpc-vign{display:block;height:110px;position:relative}
.rcpc-prod .rcpc-vign span{position:absolute;top:8px;left:8px;background:var(--deep);color:#fff;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:999px;font-family:var(--font-titres)}
.rcpc-prod h4{font-size:15.5px;padding:12px 14px 2px}
.rcpc-prod p{font-size:12.5px;color:var(--ink-2);padding:0 14px 14px;line-height:1.45}
/* grille tarifaire */
.rcpc-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}
.rcpc-scroll-hint{display:none;font-size:12.5px;color:var(--ink-2);margin:8px 2px 0}
table.rcpc-prix{width:100%;border-collapse:collapse;min-width:640px}
table.rcpc-prix caption{text-align:left;padding:14px 16px 6px;font-size:13px;color:var(--ink-2)}
table.rcpc-prix th,table.rcpc-prix td{padding:13px 16px;text-align:left;border-top:1px solid var(--line);font-size:15px}
table.rcpc-prix thead th{background:var(--brand);color:#fff;font-family:var(--font-titres);font-size:14px;border-top:none}
table.rcpc-prix td b{font-family:var(--font-titres);color:var(--brand);font-size:16px}
table.rcpc-prix td small{color:var(--ink-2)}
table.rcpc-prix tr:nth-child(even) td{background:#F4F4EE}
table.rcpc-prix tr:target td{background:#EAF0E6}
/* faq */
.rcpc-faq details{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px}
.rcpc-faq summary{cursor:pointer;font-weight:700;font-family:var(--font-titres);font-size:16.5px;padding:16px 18px;list-style:none;display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center}
.rcpc-faq summary::after{content:"+";font-size:22px;color:var(--brand);flex-shrink:0}
.rcpc-faq details[open] summary::after{content:"–"}
.rcpc-faq details p{padding:0 18px 16px;color:var(--ink-2);max-width:60em}
/* texte seo */
.rcpc-seo{background:var(--panel);border-top:1px solid var(--line)}
.rcpc-seo h2{font-size:24px}
.rcpc-seo h3{font-size:18.5px;margin:26px 0 8px}
.rcpc-seo p{max-width:66em;color:var(--ink-2);margin-bottom:12px;font-size:15.5px}
/* footer */

/* ---------- responsive ---------- */
@media(max-width:960px){
  .rcpc-hero .rcpc-grid{grid-template-columns:1fr}
  .rcpc-cartes3{grid-template-columns:1fr}
  .rcpc-prods{grid-template-columns:repeat(2,1fr)}
  
}
@media(max-width:640px){
  .rcpc-chiffres{grid-template-columns:repeat(2,1fr)}
  .rcpc-g-row{grid-template-columns:1fr 1fr;row-gap:4px}
  .rcpc-g-row .rcpc-g-eco{text-align:left}
  
  
}
@media(max-width:480px){
  .rcpc-prods{grid-template-columns:1fr}
  .rcpc-scroll-hint{display:block}
}

/* ---------- vues du prototype (catégorie, fiche, pages) ---------- */
.rcpc-fil{font-size:13px;color:var(--ink-2);margin-bottom:14px}
.rcpc-fil a{text-decoration:none}
.rcpc-vue{padding:40px 0 56px}
.rcpc-vue .rcpc-kicker{margin-bottom:14px}
.rcpc-enbref{background:var(--panel);border-left:3px solid var(--brand);border-radius:0 var(--radius) var(--radius) 0;padding:14px 18px;max-width:56em;margin:18px 0;font-size:15.5px}
.rcpc-f-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:start;margin-top:10px}
.rcpc-f-photo{background:var(--amber-3);border-radius:var(--radius);min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}
.rcpc-f-photo::after{content:"";position:absolute;inset:0;background:rgba(138,90,40,.16);border-radius:var(--radius)}
.rcpc-f-photo p{position:relative;z-index:1;color:#5c3d1c;font-size:13px;font-weight:600;max-width:22em;padding:12px}
.rcpc-f-achat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.rcpc-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.rcpc-fmt-btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:10px 6px;font-family:var(--font-titres);font-weight:700;cursor:pointer;font-size:14px;min-height:44px}
.rcpc-fmt-btn small{display:block;font-weight:600;color:var(--ink-2);font-size:11.5px}
.rcpc-fmt-btn.rcpc-actif{border-color:var(--brand);background:#F1F3EC;color:var(--brand)}
.rcpc-f-achat .rcpc-cta{display:block;text-align:center;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;padding:14px;border-radius:var(--radius);margin-top:10px}
.rcpc-f-achat .rcpc-cta:hover{background:var(--accent)}
.rcpc-carac{width:100%;border-collapse:collapse;margin:10px 0 4px}
.rcpc-carac td{border-top:1px solid var(--line);padding:9px 10px;font-size:14.5px;vertical-align:top}
.rcpc-carac td:first-child{color:var(--ink-2);width:38%}
.rcpc-assoc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.rcpc-stub{max-width:46em}
.rcpc-stub ul{margin:14px 0 0 20px}
.rcpc-stub li{margin-bottom:6px}

@media(max-width:960px){.rcpc-f-grid{grid-template-columns:1fr}.rcpc-assoc{grid-template-columns:1fr}}
@media(max-width:640px){.rcpc-formats{grid-template-columns:repeat(3,1fr)}}

/* ---------- cockpit intégré ---------- */
.rcpc-ck-acces{position:fixed;right:16px;bottom:16px;z-index:60;background:var(--deep);color:#fff;text-decoration:none;font-family:var(--font-titres);font-weight:700;font-size:13.5px;padding:11px 16px;border-radius:999px;box-shadow:0 2px 10px rgba(26,46,25,.35)}
.rcpc-ck-acces:hover{background:var(--brand);color:#fff}
.rcpc-ck-head{background:var(--deep);color:#fff;padding:26px 0 20px;margin:-40px 0 24px}
.rcpc-ck-head .rcpc-sur{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#AEBFA8;font-weight:700}
.rcpc-ck-head h1{color:#fff;font-size:clamp(24px,3.4vw,34px);margin-top:4px}
.rcpc-ck-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.rcpc-ck-tab{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:9px 14px;font-family:var(--font-titres);font-weight:700;font-size:14px;cursor:pointer;min-height:44px}
.rcpc-ck-tab.rcpc-actif{background:var(--brand);color:#fff;border-color:var(--brand)}
.rcpc-ck-cartes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.rcpc-ck-carte{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.rcpc-ck-carte b{display:block;font-family:var(--font-titres);font-size:26px;color:var(--brand)}
.rcpc-ck-carte small{color:var(--ink-2)}
.rcpc-ck-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.rcpc-ck-bloc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.rcpc-ck-bloc h3{font-size:17px;margin-bottom:10px}
.rcpc-ck-bloc ul{margin-left:18px}
.rcpc-ck-bloc li{margin-bottom:7px;font-size:14.5px}
table.rcpc-ck{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
table.rcpc-ck th{background:var(--brand);color:#fff;font-family:var(--font-titres);font-size:12.5px;text-align:left;padding:9px 10px}
table.rcpc-ck td{border-top:1px solid var(--line);padding:9px 10px;font-size:13.5px;vertical-align:top}
.rcpc-kd-f{color:var(--accent);font-weight:700}.rcpc-kd-m{color:#7A6A1E;font-weight:700}.rcpc-kd-d{color:#A03123;font-weight:700}
.rcpc-st{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:3px;white-space:nowrap}
.rcpc-st-stable{background:#EDEEE6;color:var(--ink)}.rcpc-st-nouveau{background:var(--brand);color:#fff}.rcpc-st-confirmé{background:var(--accent);color:#fff}.rcpc-st-verrouillé{background:var(--deep);color:#fff}.rcpc-st-hors-portée{background:#F7E9E7;color:#A03123;border:1px solid #A03123}
.rcpc-pb{display:inline-block;font-family:var(--font-titres);font-weight:700;font-size:12px;padding:3px 9px;border-radius:3px;color:#fff}
.rcpc-pb-P0{background:#A03123}.rcpc-pb-P1{background:var(--brand)}.rcpc-pb-P2{background:var(--accent)}.rcpc-pb-P3{background:var(--deep)}
.rcpc-bk-item{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;margin-bottom:9px}
.rcpc-bk-item input{width:19px;height:19px;margin-top:2px;accent-color:var(--brand);flex-shrink:0}
.rcpc-bk-item.rcpc-fait{opacity:.55}.rcpc-bk-item.rcpc-fait .rcpc-bk-titre{text-decoration:line-through}
.rcpc-bk-titre{font-weight:700}
.rcpc-bk-meta{font-size:12px;color:var(--ink-2);margin-top:4px}
.rcpc-bk-meta b{color:var(--ink)}
.rcpc-serp-al{border-left:3px solid #A03123;padding-left:10px;color:#A03123}
.rcpc-sw{display:inline-flex;align-items:center;gap:7px}
.rcpc-sw i{width:16px;height:16px;border:1px solid var(--line);border-radius:3px;display:inline-block}
@media(max-width:960px){.rcpc-ck-cartes{grid-template-columns:repeat(2,1fr)}.rcpc-ck-2col{grid-template-columns:1fr}}
/* -------------------------------------------------------------------------
   Raccords WordPress — ce que le prototype n'avait pas à gérer
   ------------------------------------------------------------------------- */

.rcpc-vue {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}

.rcpc-h2-section {
  margin: 34px 0 12px;
  font-size: 24px;
}

/* Une photo réelle remplace intégralement l'aplat de remplissage. */
.rcpc-photo--pleine {
  background: none;
  border: 0;
  padding: 0;
}

.rcpc-photo--pleine::after,
.rcpc-photo--pleine p {
  display: none;
}

.rcpc-photo--pleine img,
.rcpc-vign img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rcpc-guide {
  display: inline-block;
  margin-top: 10px;
  font-weight: 600;
}

/* Lien inactif : une référence sans page publiée reste lisible. */
.is-inactif {
  cursor: default;
  opacity: .72;
}

.rcpc-prose > * {
  max-width: 60em;
}

.rcpc-prose table {
  width: 100%;
  max-width: none;
  border-collapse: collapse;
}

/* -------------------------------------------------------------------------
   Héro composé en blocs Gutenberg
   ------------------------------------------------------------------------- */

.rcpc-hero__grid {
  gap: 34px;
  align-items: start;
}

.rcpc-sub {
  max-width: 34em;
  margin-bottom: 22px;
  font-size: 17px;
  color: var(--wp--preset--color--ink-soft, #57604F);
}

.rcpc-sec-num {
  margin-bottom: 6px;
  font-family: var(--wp--preset--font-family--titres);
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .1em;
  color: var(--wp--preset--color--accent-bright, #4A6B47);
}

.rcpc-legal-note {
  margin-top: 22px;
  font-size: 12.5px;
  color: var(--wp--preset--color--ink-mute, #7A8378);
}

/* Le bloc Détails de WordPress reprend l'apparence de la FAQ du prototype. */
.rcpc-faq .wp-block-details {
  border-bottom: 1px solid var(--wp--preset--color--line, #E2E3DA);
  padding: 0;
}

.rcpc-faq .wp-block-details summary {
  cursor: pointer;
  list-style: none;
}

.rcpc-faq .wp-block-details summary::-webkit-details-marker {
  display: none;
}

@media (max-width: 960px) {
  .rcpc-hero__grid {
    gap: 24px;
  }
}

/* -------------------------------------------------------------------------
   Respiration sous l'entête

   L'entête est collante : sans marge, le premier élément lui est accolé
   et donne l'impression d'un contenu qui déborde par le haut.
   ------------------------------------------------------------------------- */

.rcpc-hero {
  padding-top: clamp(40px, 5vw, 72px);
  padding-bottom: clamp(28px, 3vw, 40px);
}

.rcpc-vue {
  padding-top: clamp(40px, 4vw, 56px);
  padding-bottom: 56px;
}

/* Une page sans héro — gamme, article, page simple — a besoin du même
   dégagement sous l'entête. */
.wp-site-blocks > main:first-of-type,
.wp-site-blocks > .wp-block-group:not(.rcpc-header):first-of-type {
  padding-top: clamp(40px, 3.5vw, 56px);
}


/* -------------------------------------------------------------------------
   Bande de preuve — contenu aligné sur la grille du site

   Le prototype s'appuyait sur une classe « .wrap » générique, que je n'ai
   pas transférée pour éviter les collisions avec WordPress. Sans elle, le
   contenu de la bande se collait au bord.
   ------------------------------------------------------------------------- */

.rcpc-preuve__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}

.rcpc-preuve__wrap p {
  margin: 0;
}

/* -------------------------------------------------------------------------
   Panneau de texte SEO

   Dans le prototype, l'espacement venait de la section englobante. Ici le
   panneau est un bloc autonome : il porte son propre rembourrage, sinon le
   texte se colle au filet.
   ------------------------------------------------------------------------- */

.rcpc-seo {
  padding: clamp(30px, 4vw, 48px) clamp(22px, 3.5vw, 44px);
  border: 1px solid var(--wp--preset--color--line, #E2E3DA);
  border-radius: 6px;
}

.rcpc-seo > :first-child {
  margin-top: 0;
}

.rcpc-seo > :last-child {
  margin-bottom: 0;
}

.rcpc-seo h2 {
  margin-bottom: 16px;
}

/* -------------------------------------------------------------------------
   Rythme typographique du corps de fiche

   Le prototype affichait des textes courts ; les fiches réelles font
   plusieurs centaines de mots. Sans rythme, les paragraphes se touchent
   et les titres ne détachent plus les sections.
   ------------------------------------------------------------------------- */

.rcpc-prose {
  padding-top: 36px;
  max-width: 62em;
}

.rcpc-prose h2 {
  margin: 40px 0 14px;
  font-size: clamp(21px, 2.2vw, 26px);
  line-height: 1.2;
}

.rcpc-prose h3 {
  margin: 28px 0 10px;
  font-size: 18.5px;
}

.rcpc-prose > :first-child {
  margin-top: 0;
}

.rcpc-prose p {
  margin: 0 0 16px;
  line-height: 1.75;
  color: var(--wp--preset--color--ink-soft, #57604F);
}

.rcpc-prose p strong,
.rcpc-prose p b {
  color: var(--wp--preset--color--ink, #1A2E19);
}

.rcpc-prose ul,
.rcpc-prose ol {
  margin: 0 0 16px;
  padding-left: 1.3em;
  line-height: 1.75;
  color: var(--wp--preset--color--ink-soft, #57604F);
}

.rcpc-prose li {
  margin-bottom: 8px;
}

/* --- Tableau des caractéristiques --- */

.rcpc-prose .wp-block-table,
.rcpc-prose figure.wp-block-table {
  margin: 24px 0 28px;
}

.rcpc-prose table {
  border: 1px solid var(--wp--preset--color--line, #E2E3DA);
  border-radius: 6px;
  overflow: hidden;
  background: var(--wp--preset--color--surface, #FFFFFF);
}

.rcpc-prose th,
.rcpc-prose td {
  padding: 13px 16px;
  border-bottom: 1px solid var(--wp--preset--color--line, #E2E3DA);
  text-align: left;
  line-height: 1.6;
}

.rcpc-prose tbody th {
  width: 38%;
  font-weight: 600;
  color: var(--wp--preset--color--ink, #1A2E19);
}

.rcpc-prose tbody td {
  color: var(--wp--preset--color--ink-soft, #57604F);
}

.rcpc-prose tbody tr:last-child th,
.rcpc-prose tbody tr:last-child td {
  border-bottom: 0;
}

/* --- Panneau d'achat : les mentions basses respirent aussi --- */

.rcpc-f-achat h2 {
  margin: 0 0 8px;
  font-size: 23px;
}

.rcpc-f-achat__note {
  margin: 0 0 16px;
  line-height: 1.6;
  color: var(--wp--preset--color--ink-soft, #57604F);
}

.rcpc-f-achat__legal {
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.65;
  color: var(--wp--preset--color--ink-mute, #7A8378);
}

.rcpc-f-achat__legal + .rcpc-f-achat__legal {
  padding-top: 12px;
  border-top: 1px solid var(--wp--preset--color--line, #E2E3DA);
}

/* --- Grille de la fiche : les deux colonnes ne se touchent pas --- */

.rcpc-f-grid {
  gap: clamp(24px, 3vw, 40px);
}

/* -------------------------------------------------------------------------
   Cartes de produit — enfants en ligne, mis en forme en blocs
   ------------------------------------------------------------------------- */

.rcpc-prod__nom,
.rcpc-prod__desc {
  display: block;
}

.rcpc-prod__nom {
  padding: 12px 14px 2px;
  font-family: var(--wp--preset--font-family--titres);
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--wp--preset--color--ink, #1A2E19);
}

.rcpc-prod__desc {
  padding: 0 14px 14px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--wp--preset--color--ink-soft, #57604F);
}

/* La carte reste un bloc même si un paragraphe se forme autour. */
.rcpc-prod {
  display: flex !important;
  flex-direction: column;
}

.rcpc-prods > p:empty,
.rcpc-cat > p:empty {
  display: none;
}

/* -------------------------------------------------------------------------
   Largeur des textes d'accompagnement

   Chapeau, note de section et sous-titre portaient une largeur maximale
   inférieure à la colonne de contenu. Dans une disposition contrainte,
   WordPress les centrait donc à l'intérieur de la colonne, ce qui les
   décalait par rapport aux titres et aux cartes. Ils occupent désormais
   la même colonne : l'alignement suit celui du reste, sans exception.
   ------------------------------------------------------------------------- */

.rcpc-chapeau,
.rcpc-pied-section,
.rcpc-sub,
.rcpc-legal-note {
  max-width: none;
}

/* -------------------------------------------------------------------------
   Cartes de concentration — centrées quel que soit leur nombre

   La grille avait trois colonnes fixes. Avec deux cartes publiées, la
   troisième restait vide et l'ensemble se décalait à gauche. Une grille
   adaptative les centre : deux aujourd'hui, trois le jour où le CBN sera
   publié, sans rien à modifier.
   ------------------------------------------------------------------------- */

.rcpc-cartes3 {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  justify-content: center;
}
