/*
Theme Name: Remède Éditorial SEO
Theme URI: https://remedegrandmere.fr
Author: Théo Steinlen
Author URI: https://remedegrandmere.fr
Description: Thème éditorial pour remedegrandmere.fr. Reprend la direction artistique de Remède Éditorial et y ajoute ce qui manquait au référencement : blocs de citabilité sur les articles, données structurées JSON-LD, page de catégorie éditorialisée, et pilotage complet par l'API REST. Aucune dépendance externe, aucune police distante, un seul fichier JavaScript de moins d'un kilooctet.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: remede
Tags: blog, custom-menu, featured-images, translation-ready, editorial
*/

/* ==========================================================================
   Sommaire
   1.  Jetons et base ......... repris du thème d'origine, à l'identique
   2.  En-tête et navigation
   3.  Page d'accueil ......... hero, thématiques, cartes, manifeste
   4.  Pied de page
   5.  Fil d'Ariane
   6.  Article ............... en-tête, sommaire, corps, encadrés
   7.  Archives et pages
   8.  Composants ajoutés .... à retenir, fiche pratique, FAQ, avertissement
   ========================================================================== */

:root{--rgm-bg:#faf9f5;--rgm-ink:#24382d;--rgm-green:#345b43;--rgm-muted:#586456;--rgm-line:#d9dfd3;--rgm-sage:#e9eee1;--rgm-serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--rgm-bg);color:var(--rgm-ink);font:17px/1.7 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9b522c;outline-offset:5px}button,summary{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--rgm-serif);font-weight:400;line-height:1.12;text-wrap:balance}h1{font-size:clamp(2.4rem,4.7vw,4.8rem);letter-spacing:-.055em}h2{font-size:clamp(1.8rem,3.1vw,3rem);letter-spacing:-.04em}h3{font-size:1.55rem;letter-spacing:-.025em}p{margin:0 0 1em}.wp-site-blocks>*{margin-block-start:0}.rgm-skip{position:absolute;z-index:100;left:16px;top:-100px;padding:12px 20px;background:white}.rgm-skip:focus{top:12px}.rgm-topline{text-align:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:var(--rgm-green);color:#fff;padding:7px 20px}.rgm-header{max-width:1320px;margin:auto;padding:25px 40px;display:flex;gap:28px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rgm-line)}.rgm-brand{display:flex;gap:12px;align-items:center;font-family:var(--rgm-serif);font-size:29px;line-height:.93;text-decoration:none;letter-spacing:-1px;flex-shrink:0}.rgm-brand-sub{display:block;font-size:22px;margin-top:5px}.rgm-brand-icon{font-size:52px;font-family:Georgia;line-height:1}.rgm-desktop-nav{display:flex;gap:23px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.rgm-desktop-nav a{font-size:13px;text-decoration:none}.rgm-desktop-nav a:hover{text-decoration:underline}.rgm-menu{display:none}.rgm-main{max-width:1280px;margin:auto;padding:0 40px;min-height:60vh}.rgm-main:focus{outline:none}.rgm-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:50px;padding:62px 0 70px;align-items:center}.rgm-kicker{font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;display:block;margin-bottom:17px;color:var(--rgm-green);text-decoration:none}.rgm-hero h1{margin:18px 0 25px;font-size:clamp(2.8rem,4.75vw,4.7rem)}.rgm-lead{max-width:480px;font-size:16px;line-height:1.8;color:var(--rgm-muted)}.rgm-search{display:flex;background:#fff;border:1px solid #c6cec1;border-radius:5px;padding:6px;margin:28px 0 24px;gap:8px;max-width:600px}.rgm-search input{min-width:0;flex:1;border:0;background:transparent;padding:10px;font-size:13px;color:var(--rgm-ink);width:100%}.rgm-search button{border:0;border-radius:3px;background:var(--rgm-green);color:white;display:flex;gap:20px;align-items:center;padding:12px 18px;font-size:12px}.rgm-search button:hover{background:#243f2f}.rgm-text-link{font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid #a8b5a0;padding-bottom:5px;display:inline-block}.rgm-text-link span{margin-left:20px}.rgm-hero-art{position:relative;background:var(--rgm-sage);border-radius:48% 48% 3px 3px;overflow:hidden;min-height:460px;aspect-ratio:1/1.08}.rgm-hero-art>img{height:100%;width:100%;object-fit:cover;position:absolute}.rgm-art-note{position:absolute;bottom:30px;left:32px;font:italic 22px/1.3 var(--rgm-serif);color:#36513d}.rgm-section{padding:50px 0 56px;border-top:1px solid var(--rgm-line)}.rgm-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.rgm-section-head h2{margin:0}.rgm-section-head .rgm-kicker{margin-bottom:10px}.rgm-section-head>p,.rgm-section-head>span{font-size:13px;color:var(--rgm-muted);margin:0}.rgm-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.rgm-topic{display:block;padding:25px;background:var(--rgm-sage);border:1px solid transparent;text-decoration:none;transition:background .2s}.rgm-topic:nth-child(2n){background:#f0e9dc}.rgm-topic:nth-child(3n){background:#e7ece6}.rgm-topic:hover{border-color:#718768}.rgm-topic-number{font:italic 17px var(--rgm-serif);color:#586b50}.rgm-topic h3{margin:28px 0 25px}.rgm-topic>span:last-child{font-size:11px;display:flex;justify-content:space-between}.rgm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.rgm-card{min-width:0}.rgm-card-image{display:block;background:#e9eee1;aspect-ratio:1.5;overflow:hidden;border-radius:4px}.rgm-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.rgm-card:hover .rgm-card-image img{transform:scale(1.035)}.rgm-card-body{padding:19px 2px 0}.rgm-card .rgm-kicker{font-size:9px;margin-bottom:10px}.rgm-card h3{margin:0 0 12px;font-size:1.45rem;line-height:1.25}.rgm-card h3 a{text-decoration:none}.rgm-card h3 a:hover{text-decoration:underline}.rgm-card p{font-size:13px;color:var(--rgm-muted);line-height:1.7;margin-bottom:19px}.rgm-card-end{border-top:1px solid var(--rgm-line);padding-top:12px;font-size:10px;display:flex;justify-content:space-between;color:var(--rgm-muted)}.rgm-card-end span{font-size:18px;line-height:1}.rgm-manifesto{margin:16px 0 60px;padding:50px 64px;background:#e9eee1;display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center}.rgm-flower{font:140px/1 Georgia;color:#56764e}.rgm-manifesto h2{margin:10px 0 22px}.rgm-manifesto p:not(.rgm-kicker){max-width:610px;font-size:14px;color:#45563f}.rgm-footer{background:#233d2c;color:#eff2e7;margin-top:30px;padding:56px max(40px,calc((100vw - 1200px)/2)) 24px}.rgm-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.rgm-footer-brand{font:32px/1.1 var(--rgm-serif);text-decoration:none}.rgm-footer-grid>div>p:not(.rgm-label){font-size:13px;max-width:270px;margin-top:20px;color:#ccd6c7}.rgm-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px}.rgm-footer nav{display:flex;flex-direction:column;gap:9px}.rgm-footer nav a{font-size:12px;color:#e1e8da;text-decoration:none}.rgm-footer nav a:hover{text-decoration:underline}.rgm-footer-bottom{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid #4b604b;padding-top:22px;margin-top:40px;font-size:10px;color:#d1dccb}.rgm-footer-bottom p{max-width:400px;margin:0}.rgm-breadcrumb{font-size:11px;padding:27px 0;color:#5b6757}.rgm-breadcrumb ol{list-style:none;display:flex;gap:9px;flex-wrap:wrap;margin:0;padding:0}.rgm-breadcrumb li+li:before{content:'/';margin-right:9px;color:#84907e}.rgm-breadcrumb a{text-decoration:none}.rgm-article-head{max-width:910px;margin:22px auto 38px;text-align:center}.rgm-article-head h1{font-size:clamp(2.35rem,4.4vw,4.2rem);margin:18px 0 25px;line-height:1.1}.rgm-byline{display:flex;justify-content:center;gap:8px 23px;flex-wrap:wrap;font-size:11px;color:#5b6557}.rgm-article-image{margin:0 0 44px;max-height:550px;overflow:hidden;border-radius:4px}.rgm-article-image img{width:100%;height:auto;max-height:550px;object-fit:cover}.rgm-article-layout{display:grid;grid-template-columns:240px minmax(0,740px);gap:70px;margin:40px auto 65px;justify-content:center}.rgm-article-aside{min-width:0}.rgm-toc{position:sticky;top:28px;border-top:2px solid var(--rgm-green);padding-top:23px}.rgm-toc ol{padding:0;list-style:none;margin:0}.rgm-toc li{margin-bottom:16px}.rgm-toc a{font-size:12px;line-height:1.55;display:block;text-decoration:none;color:#5a6655;border-left:2px solid transparent;padding-left:12px}.rgm-toc a:hover,.rgm-toc a.is-active{color:var(--rgm-green);border-color:var(--rgm-green)}.rgm-reading{min-width:0;font-size:17px;line-height:1.85}.rgm-reading h2{font-size:2rem;line-height:1.2;margin-top:42px;margin-bottom:20px;scroll-margin-top:25px}.rgm-reading h3{font-size:1.45rem;margin-top:30px}.rgm-essential,.rgm-caution{padding:26px 30px;border-radius:4px;margin-bottom:25px;background:#edf0e4;border-left:3px solid #597149;font-size:15px}.rgm-caution{background:#f8efdf;border-color:#a3763c}.rgm-essential h2,.rgm-caution h2{font:600 12px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}.rgm-essential p:last-child,.rgm-caution p:last-child{margin-bottom:0}.entry-content{overflow-wrap:anywhere}.entry-content>*{max-width:100%}.entry-content ul,.entry-content ol{padding-left:25px}.entry-content li{margin-bottom:9px}.entry-content blockquote{margin:30px 0;border-left:3px solid #6a8159;padding:10px 25px;font-family:var(--rgm-serif);font-size:1.3rem}.entry-content .wp-block-table{overflow:auto;margin:25px 0}.entry-content table{border-collapse:collapse;width:100%;font-size:14px}.entry-content td,.entry-content th{padding:12px;border:1px solid #d3dccb;text-align:left}.entry-content th{background:#e9eee1}.entry-content figcaption{font-size:12px;color:#5b6656}.entry-content pre{white-space:pre-wrap}.rgm-sources{border-top:1px solid var(--rgm-line);margin-top:40px;font-size:14px}.rgm-sources h2{font-size:1.5rem}.rgm-sources li{margin-bottom:9px}.rgm-review{font-size:12px;color:#53604e}.rgm-author{padding:25px 30px;background:#efeee6;margin-top:30px;font-size:14px}.rgm-author h2{font-size:1.5rem;margin:0 0 15px}.rgm-author .rgm-kicker{margin-bottom:10px}.rgm-archive-head{padding:30px 0 45px;max-width:830px}.rgm-archive-head h1{margin:10px 0 25px}.rgm-archive-intro{font-size:16px;color:#54624e}.rgm-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.rgm-chips a{font-size:12px;border:1px solid #becab3;border-radius:30px;padding:8px 17px;text-decoration:none}.rgm-pagination{margin:40px 0 0}.rgm-pagination ul{display:flex;gap:8px;list-style:none;padding:0;justify-content:center;flex-wrap:wrap}.rgm-pagination a,.rgm-pagination .current{display:block;padding:8px 14px;border:1px solid #c5cfbc;text-decoration:none;font-size:12px}.rgm-pagination .current{background:var(--rgm-green);color:white;border-color:var(--rgm-green)}.rgm-empty{padding:65px 0 100px;max-width:680px;margin:auto}.rgm-page{max-width:760px;margin:35px auto 80px}.rgm-page h1{margin-bottom:35px}.rgm-comments{margin-top:45px;border-top:1px solid var(--rgm-line)}.rgm-comments input:not([type=checkbox]),.rgm-comments textarea{max-width:100%;border:1px solid #bfcbb8;border-radius:3px;padding:10px;background:#fff}.rgm-comments textarea{width:100%}.rgm-comments label{display:block;font-size:13px}.rgm-comments .submit{background:var(--rgm-green)!important;color:white;cursor:pointer}.rgm-comments .comment-list{padding-left:22px}.rgm-callout,.rgm-warning{background:#edf0e4;border-left:3px solid #597149;padding:25px;margin-bottom:25px}.rgm-warning{background:#f8efdf;border-color:#a3763c}.rgm-callout h2,.rgm-warning h2{margin-top:0}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap}
@media(min-width:1400px){.rgm-hero{gap:75px}}@media(max-width:1050px){.rgm-desktop-nav{gap:14px}.rgm-desktop-nav a{font-size:11px}.rgm-hero{gap:30px}.rgm-hero-art{min-height:390px}.rgm-article-layout{grid-template-columns:190px minmax(0,1fr);gap:35px}.rgm-manifesto{padding:40px;grid-template-columns:120px 1fr}.rgm-flower{font-size:110px}}@media(max-width:800px){.rgm-desktop-nav{display:none}.rgm-menu{display:block;position:relative}.rgm-menu summary{list-style:none;font-size:13px;padding:10px}.rgm-menu summary::-webkit-details-marker{display:none}.rgm-menu summary span{margin-left:12px}.rgm-menu nav{position:absolute;right:0;top:50px;width:min(340px,calc(100vw - 40px));z-index:20;background:#faf9f5;border:1px solid #cdd7c5;padding:20px;box-shadow:0 14px 40px #24382d20}.rgm-menu nav>a{display:block;padding:10px 0;font-size:14px;text-decoration:none}.rgm-menu .rgm-search{margin:12px 0 0}.rgm-menu .rgm-search button span:first-child{display:none}.rgm-header{padding:20px 24px}.rgm-main{padding:0 24px}.rgm-hero{padding:40px 0 45px;gap:24px}.rgm-hero h1{font-size:3rem}.rgm-hero-art{min-height:360px}.rgm-lead{font-size:14px}.rgm-hero .rgm-search button{padding:10px}.rgm-hero .rgm-search button span:first-child{display:none}.rgm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rgm-article-layout{display:block}.rgm-article-aside{margin-bottom:30px}.rgm-toc{position:static;padding:20px;background:#f0f1e9}.rgm-toc ol{columns:2;column-gap:25px}.rgm-toc li{break-inside:avoid}.rgm-footer{padding:40px 24px 24px}.rgm-footer-grid{gap:25px;grid-template-columns:1.5fr 1fr 1fr}.rgm-footer-bottom{flex-wrap:wrap}.rgm-section-head>p{display:none}}@media(max-width:560px){.rgm-topline{font-size:9px;padding:7px 12px}.rgm-header{padding:18px 20px}.rgm-brand{font-size:25px}.rgm-brand-sub{font-size:19px}.rgm-brand-icon{font-size:43px}.rgm-main{padding:0 20px}.rgm-hero{grid-template-columns:1fr;padding:30px 0 40px;gap:28px}.rgm-hero h1{font-size:3.1rem;line-height:1.07;margin:15px 0 20px}.rgm-hero .rgm-kicker{font-size:9px}.rgm-hero-art{aspect-ratio:1.38;min-height:0;border-radius:44% 44% 3px 3px}.rgm-hero-art>img{object-position:center 45%}.rgm-art-note{font-size:19px;bottom:20px;left:24px}.rgm-search{margin-top:20px}.rgm-hero .rgm-search button span:first-child{display:inline}.rgm-section{padding:33px 0 38px}.rgm-section-head{align-items:start;flex-direction:column;gap:12px;margin-bottom:24px}.rgm-section-head h2{font-size:2rem}.rgm-topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rgm-topic{padding:18px 14px}.rgm-topic h3{font-size:1.35rem;margin:22px 0}.rgm-topic>span:last-child{font-size:9px;gap:6px}.rgm-grid{grid-template-columns:1fr;gap:32px}.rgm-card h3{font-size:1.65rem}.rgm-manifesto{padding:28px 23px;display:block;margin:5px 0 35px}.rgm-flower{font-size:65px;display:block;margin-bottom:20px}.rgm-manifesto h2{font-size:2rem}.rgm-manifesto h2 br{display:none}.rgm-footer-grid{grid-template-columns:1fr 1fr;gap:25px}.rgm-footer-grid>div:first-child{grid-column:1/-1}.rgm-footer-bottom{gap:18px}.rgm-footer-bottom p{order:3;width:100%}.rgm-article-head{margin-top:12px;text-align:left}.rgm-article-head h1{font-size:2.55rem;letter-spacing:-.045em}.rgm-byline{justify-content:flex-start;gap:7px 15px;font-size:10px}.rgm-breadcrumb{font-size:10px;padding:20px 0}.rgm-article-image{margin-bottom:25px}.rgm-toc ol{columns:1}.rgm-reading{font-size:16px}.rgm-reading h2{font-size:1.8rem}.rgm-essential,.rgm-caution{padding:22px}.rgm-archive-head{padding:20px 0 30px}.rgm-archive-head h1{font-size:2.8rem}.rgm-page h1{font-size:2.8rem}.rgm-author{padding:23px}.rgm-search button{gap:12px;padding:10px}.rgm-search input{font-size:12px;padding:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.rgm-topline,.rgm-header,.rgm-footer,.rgm-article-aside,.rgm-comments,.rgm-section,.rgm-skip{display:none!important}.rgm-main{padding:0;max-width:none}.rgm-article-layout{display:block}.rgm-reading{font-size:11pt}.rgm-article-head h1{font-size:26pt}.rgm-article-image{max-height:220px}.rgm-article-image img{max-height:220px;object-fit:contain}a{color:#000}body{background:white;color:#000}}

/* ==========================================================================
   8. Composants ajoutés
   --------------------------------------------------------------------------
   Blocs nécessaires au référencement et à la citabilité, absents de la version
   d'origine. Aucun nouveau jeton de couleur : tout reprend la palette, la
   typographie et les rayons définis plus haut.
   ========================================================================== */

/* ==========================================================================
   Harmonisation des encadrés
   --------------------------------------------------------------------------
   Dans theme.css, .rgm-essential et .rgm-caution reçoivent un titre en petites
   capitales, alors que .rgm-callout et .rgm-warning gardent le titre serif par
   défaut. Résultat : deux encadrés de même nature ne se ressemblent pas quand
   ils se suivent. On aligne les seconds sur les premiers.
   ========================================================================== */

.rgm-callout,
.rgm-warning {
  border-radius: 4px;
  font-size: 15px;
  padding: 26px 30px;
}

.rgm-callout h2,
.rgm-warning h2 {
  font: 600 12px system-ui, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 14px;
}

.rgm-callout ul,
.rgm-warning ul,
.rgm-essential ul,
.rgm-caution ul {
  margin: 0;
  padding-left: 20px;
}
.rgm-callout li:last-child,
.rgm-warning li:last-child,
.rgm-essential li:last-child,
.rgm-caution li:last-child { margin-bottom: 0; }

.rgm-callout li::marker,
.rgm-essential li::marker { color: #7d9074; }
.rgm-warning li::marker,
.rgm-caution li::marker { color: #a3763c; }

/* ==========================================================================
   Pastille de relecture, dans la signature
   ========================================================================== */

.rgm-byline .rgm-reviewed {
  background: var(--rgm-sage);
  color: #33513c;
  border-radius: 30px;
  padding: 3px 12px;
  font-weight: 600;
}

.rgm-byline .rgm-updated { color: var(--rgm-green); font-weight: 600; }

/* ==========================================================================
   À retenir
   ========================================================================== */

.rgm-takeaways {
  border: 1px solid var(--rgm-line);
  border-radius: 4px;
  padding: 26px 30px;
  margin-bottom: 25px;
  background: #fff;
  font-size: 15px;
}
.rgm-takeaways h2 {
  font: 600 12px system-ui, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 14px;
  color: var(--rgm-green);
}
.rgm-takeaways ul { margin: 0; padding-left: 20px; }
.rgm-takeaways li { margin-bottom: 9px; }
.rgm-takeaways li:last-child { margin-bottom: 0; }
.rgm-takeaways li::marker { color: #7d9074; }

/* ==========================================================================
   Fiche pratique, alimente le balisage HowTo
   ========================================================================== */

.rgm-recipe {
  border: 1px solid #cfd8c8;
  border-radius: 4px;
  margin: 38px 0;
  overflow: hidden;
  background: #fff;
}
.rgm-recipe-head {
  background: var(--rgm-green);
  color: #fff;
  padding: 20px 30px;
}
.rgm-recipe-head h2 {
  margin: 0;
  color: #fff;
  font-family: var(--rgm-serif);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.2;
}
.rgm-recipe-facts {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--rgm-line);
  background: #f5f7f0;
}
.rgm-recipe-facts > div {
  flex: 1 1 9rem;
  padding: 16px 30px;
  border-right: 1px solid var(--rgm-line);
}
.rgm-recipe-facts > div:last-child { border-right: 0; }
.rgm-recipe-facts .k {
  display: block;
  font: 600 10px/1.5 system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--rgm-muted);
}
.rgm-recipe-facts .v {
  margin: 4px 0 0;
  font-family: var(--rgm-serif);
  font-size: 1.15rem;
}
.rgm-recipe-body { padding: 26px 30px; }
.rgm-recipe-body h3 {
  font: 600 11px system-ui, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--rgm-muted);
  margin: 0 0 14px;
}
.rgm-recipe-body h3 + ul,
.rgm-recipe-body h3 + ol { margin-top: 0; }
.rgm-recipe-body ul { padding-left: 20px; margin-bottom: 28px; font-size: 15px; }
.rgm-recipe-body ul li { margin-bottom: 8px; }
.rgm-recipe-body ol {
  counter-reset: rgmstep;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 15px;
}
.rgm-recipe-body ol li {
  counter-increment: rgmstep;
  position: relative;
  padding-left: 46px;
  margin-bottom: 16px;
  min-height: 30px;
}
.rgm-recipe-body ol li:last-child { margin-bottom: 0; }
.rgm-recipe-body ol li::before {
  content: counter(rgmstep);
  position: absolute;
  left: 0;
  top: -1px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--rgm-sage);
  color: #33513c;
  display: grid;
  place-items: center;
  font: italic 15px var(--rgm-serif);
}

/* ==========================================================================
   FAQ
   ========================================================================== */

.rgm-faq { margin: 40px 0 0; }
.rgm-faq > h2 { font-size: 2rem; line-height: 1.2; margin: 0 0 22px; }

.rgm-faq-item {
  border-bottom: 1px solid var(--rgm-line);
}
.rgm-faq-item:first-of-type { border-top: 1px solid var(--rgm-line); }

.rgm-faq-item > summary {
  list-style: none;
  display: flex;
  gap: 20px;
  align-items: baseline;
  padding: 20px 2px;
}
.rgm-faq-item > summary::-webkit-details-marker { display: none; }
.rgm-faq-item > summary::after {
  content: '+';
  margin-left: auto;
  font: 400 24px/1 var(--rgm-serif);
  color: var(--rgm-green);
  flex-shrink: 0;
}
.rgm-faq-item[open] > summary::after { content: '–'; }
.rgm-faq-item > summary h3 {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.rgm-faq-item > summary:hover h3 { color: var(--rgm-green); }

.rgm-faq-answer {
  padding: 0 44px 24px 2px;
  font-size: 15px;
  line-height: 1.8;
  color: #3e4c40;
}
.rgm-faq-answer > :last-child { margin-bottom: 0; }

/* ==========================================================================
   Avertissement de pied d'article
   ========================================================================== */

.rgm-disclaimer {
  border-top: 1px solid var(--rgm-line);
  margin-top: 40px;
  padding-top: 20px;
  font-size: 12px;
  line-height: 1.7;
  color: var(--rgm-muted);
}
.rgm-disclaimer strong { color: #3e4c40; }

/* ==========================================================================
   Navigation entre articles
   ========================================================================== */

.rgm-postnav {
  display: grid;
  gap: 14px;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--rgm-line);
}
@media (min-width: 620px) { .rgm-postnav { grid-template-columns: 1fr 1fr; } }

.rgm-postnav a {
  display: block;
  padding: 20px 24px;
  background: var(--rgm-sage);
  text-decoration: none;
  border: 1px solid transparent;
  transition: border-color .2s;
}
.rgm-postnav a:nth-child(2) { background: #f0e9dc; }
.rgm-postnav a:hover { border-color: #718768; }
.rgm-postnav .d {
  font: 600 10px/1.5 system-ui, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--rgm-muted);
}
.rgm-postnav .t {
  display: block;
  margin-top: 10px;
  font-family: var(--rgm-serif);
  font-size: 1.25rem;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.rgm-postnav .next { text-align: right; }

/* ==========================================================================
   Ajustements mobiles, alignés sur les points de rupture du thème
   ========================================================================== */

@media (max-width: 560px) {
  .rgm-takeaways { padding: 22px; }
  .rgm-recipe-head { padding: 18px 22px; }
  .rgm-recipe-head h2 { font-size: 1.4rem; }
  .rgm-recipe-facts > div { padding: 14px 22px; }
  .rgm-recipe-body { padding: 22px; }
  .rgm-faq > h2 { font-size: 1.8rem; }
  .rgm-faq-item > summary { padding: 17px 2px; gap: 14px; }
  .rgm-faq-item > summary h3 { font-size: 1.15rem; }
  .rgm-faq-answer { padding: 0 30px 20px 2px; }
  .rgm-postnav .next { text-align: left; }
}

@media print {
  .rgm-postnav { display: none !important; }
  .rgm-faq-answer { display: block !important; }
  .rgm-faq-item, .rgm-recipe, .rgm-takeaways { break-inside: avoid; }
}

/* ==========================================================================
   Hub de rubrique
   --------------------------------------------------------------------------
   Le contenu éditorial d'une page de rubrique se lit en pleine largeur si on
   ne le contraint pas : la grille de cartes fait 1280 px, un paragraphe non.
   On l'aligne sur la largeur de l'en-tête d'archive.
   ========================================================================== */

.rgm-hub {
  max-width: 830px;
}
.rgm-hub .entry-content,
.rgm-hub .rgm-faq {
  max-width: 740px;
}

/* ==========================================================================
   Réglages divers
   ========================================================================== */

/* Rend la main à la feuille de style sur l'inflation de texte des navigateurs
   mobiles, sans empêcher le zoom du visiteur. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Titres des encadrés sous 560 px.
   La requête média du thème redéclare .rgm-reading h2 à 1.8rem après la règle
   qui met les titres d'encadré en petites capitales de 12 px. À spécificité
   égale, la dernière déclarée gagne : mesuré sur iPhone émulé, « L'essentiel »
   s'affichait à 28,8 px au lieu de 12. On remonte la spécificité pour les
   encadrés, qui ne sont pas des titres de section. */
@media (max-width: 560px) {
  .rgm-reading .rgm-essential h2,
  .rgm-reading .rgm-caution h2,
  .rgm-reading .rgm-callout h2,
  .rgm-reading .rgm-warning h2,
  .rgm-reading .rgm-takeaways h2 {
    font-size: 12px;
    line-height: 1.5;
  }
}
