/* ═══════════════════════════════════════════
   DZIRIELLE — PAGE RECETTE
═══════════════════════════════════════════ */

html, body { overflow-x:hidden; max-width:100%; }
* { box-sizing:border-box; }

:root {
  --gold:       #daa556;
  --gold-light: #fdf6ec;
  --gold-mid:   #f0d9b0;
  --ink:        #111;
  --ink2:       #2e2a24;
  --muted:      #6b6f76;
  --line:       #ececec;
  --bg:         #fff;
  --bg2:        #faf9f7;
}

/* ── HERO ─────────────────────────────────── */
.rp-hero { position:relative; overflow:hidden; background:#0e0b07; }
.rp-hero-img { width:100%; height:clamp(240px,38vw,380px); object-fit:cover; display:block; opacity:.82; }
.rp-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(14,11,7,.88) 0%,rgba(14,11,7,.30) 45%,rgba(14,11,7,.05) 100%);
}
.rp-hero-content { position:absolute; bottom:0; left:0; right:0; padding:1.5rem 1.5rem 1.75rem; z-index:2; }
.rp-kicker {
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:'Inter',sans-serif; font-size:10px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.75rem;
}
.rp-kicker-line { display:block; width:22px; height:1px; background:var(--gold); opacity:.7; }
.rp-hero-title {
  font-family:'Bodoni Moda','Playfair Display',serif; font-weight:600;
  font-size:clamp(28px,4.5vw,54px); line-height:1.06; color:#fff; margin:0 0 .6rem; text-wrap:balance;
}
.rp-hero-intro {
  font-family:'Bodoni Moda',serif; font-weight:400; font-size:clamp(14px,1.1vw,17px);
  line-height:1.5; color:rgba(255,255,255,.80); max-width:580px; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.rp-full-intro {
  font-family:'Bodoni Moda',serif; font-size:clamp(16px,1.1vw + 13px,20px); font-weight:400;
  line-height:1.6; color:var(--ink2); text-align:center; max-width:70ch;
  margin:0 auto 1.5rem; padding:1.5rem 1rem 0;
}
.rp-hero--no-img {
  background:linear-gradient(135deg,#1a1208 0%,#2e1f0a 50%,#1a1208 100%);
  min-height:clamp(200px,28vw,320px);
}
.rp-hero--no-img .rp-hero-overlay { background:rgba(0,0,0,.15); }
.rp-hero--no-img .rp-hero-content { position:relative; padding:3rem 1.5rem 2.5rem; }
.rp-hero--no-img .rp-hero-title { font-size:clamp(32px,5vw,62px); }

/* ── META BAND ────────────────────────────── */
.rp-meta-band {
  background:var(--bg); border-bottom:1px solid var(--line);
  display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:none;
}
.rp-meta-band::-webkit-scrollbar { display:none; }
.rp-meta-cell {
  flex:1; min-width:80px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; padding:.9rem .5rem;
  border-right:1px solid var(--line); gap:.18rem; text-align:center;
}
.rp-meta-cell:last-child { border-right:none; }
.rp-meta-val { font-family:'Bodoni Moda',serif; font-size:21px; font-weight:500; color:var(--ink); line-height:1; }
.rp-meta-lbl { font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); font-family:'Inter',sans-serif; font-weight:400; }

/* ── RATING BAR ───────────────────────────── */
.rp-rating-bar {
  background:var(--bg); border-bottom:1px solid var(--line);
  padding:.65rem 1.5rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
}
.rp-like-count { font-family:'Bodoni Moda',serif; font-size:22px; font-weight:400; color:var(--ink); line-height:1; }
.rp-note-count { font-size:12px; color:var(--muted); }

/* ── ACTIONS BAR ──────────────────────────── */
.rp-actions-bar {
  background:var(--bg); border-bottom:1px solid var(--line);
  padding:.6rem 1.5rem; display:flex; align-items:center; gap:.45rem; flex-wrap:wrap;
}
.btn-act {
  font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  padding:.42rem 1rem; border:1px solid var(--line); background:transparent; color:var(--muted);
  border-radius:2px; cursor:pointer; text-decoration:none; display:inline-block;
  transition:.15s; font-family:'Inter',sans-serif;
}
.btn-act:hover { border-color:var(--gold); color:var(--gold); }
.btn-act-gold { background:var(--gold); border-color:var(--gold); color:#fff !important; }
.btn-act-gold:hover { filter:brightness(.93); }

/* ── TAGS ─────────────────────────────────── */
.rp-tags-row {
  background:var(--bg); border-bottom:1px solid var(--line);
  padding:.6rem 1.5rem; display:flex; flex-wrap:wrap; gap:.35rem; align-items:center;
}
.rp-tag {
  font-size:10px; letter-spacing:.06em; text-transform:uppercase;
  padding:.28rem .7rem; border:1px solid var(--line); border-radius:2px;
  color:var(--muted); text-decoration:none; font-family:'Inter',sans-serif; transition:.15s;
}
.rp-tag:hover { border-color:var(--gold); color:var(--gold); }

/* ── CHEF NOTE ────────────────────────────── */
.rp-chef-note {
  background:var(--gold-light); border-left:3px solid var(--gold);
  margin:1.75rem 0 0; padding:1rem 1.25rem; display:flex; gap:.85rem; align-items:flex-start;
}
.rp-chef-av {
  width:34px; height:34px; border-radius:50%; background:var(--gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:'Bodoni Moda',serif; font-size:13px; color:#fff; font-style:italic;
}
.rp-chef-quote { font-family:'Source Serif 4',Georgia,serif; font-size:14.5px; font-style:italic; line-height:1.65; color:var(--ink2); margin:0 0 .3rem; }
.rp-chef-sig { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-family:'Inter',sans-serif; }

/* ── SECTION HEADLINE ─────────────────────── */
.rp-section-head { display:flex; align-items:center; gap:.85rem; margin-bottom:1.1rem; }
.rp-section-title { font-family:'Bodoni Moda',serif; font-size:22px; font-weight:500; color:var(--ink); white-space:nowrap; margin:0; }
.rp-section-rule { flex:1; height:1px; background:var(--line); }
.rp-section-sub { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); white-space:nowrap; font-family:'Inter',sans-serif; }

/* ── SIDEBAR ──────────────────────────────── */
.rp-sidebar-card { background:var(--bg); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-bottom:1.1rem; }
.rp-sidebar-card-hd { background:var(--bg); border-bottom:1px solid var(--line); padding:.8rem 1.1rem; display:flex; align-items:center; justify-content:space-between; }
.rp-sidebar-label { font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); font-family:'Inter',sans-serif; margin-bottom:.2rem; }
.rp-sidebar-title { font-family:'Bodoni Moda',serif; font-size:16px; font-weight:500; color:var(--ink); margin:0; }
.btn-reset-ing {
  font-size:10px; letter-spacing:.07em; text-transform:uppercase; padding:.3rem .8rem;
  border:1px solid var(--line); background:transparent; color:var(--muted);
  border-radius:2px; cursor:pointer; font-family:'Inter',sans-serif; transition:.15s;
}
.btn-reset-ing:hover { border-color:var(--gold); color:var(--gold); }

/* SERVINGS */
.rp-servings-row {
  display:flex; align-items:center; gap:.7rem; padding:.6rem 1.1rem;
  background:var(--bg2); border-bottom:1px solid var(--line);
}
.rp-srv-label { font-size:12px; color:var(--muted); font-family:'Inter',sans-serif; }
.btn-srv {
  width:28px; height:28px; border-radius:50%; border:1px solid var(--line);
  background:var(--bg); color:var(--ink); font-size:17px; line-height:1;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.15s;
}
.btn-srv:hover { border-color:var(--gold); color:var(--gold); }
.rp-srv-num { font-family:'Bodoni Moda',serif; font-size:22px; font-weight:400; min-width:28px; text-align:center; color:var(--ink); }

/* INGREDIENTS */
.rp-ing-list { list-style:none; padding:.5rem 1.1rem; margin:0; }
.rp-ing-item { display:flex; align-items:flex-start; gap:.6rem; padding:.42rem 0; border-bottom:1px solid var(--line); }
.rp-ing-item:last-child { border-bottom:none; }
.rp-ing-check {
  width:16px; height:16px; border-radius:4px; border:1px solid var(--gold-mid);
  cursor:pointer; flex-shrink:0; margin-top:2px; appearance:none; -webkit-appearance:none;
  background:var(--bg); transition:.15s;
}
.rp-ing-check:checked {
  background:var(--gold); border-color:var(--gold);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4L4.5 7.5L11 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size:10px 8px; background-repeat:no-repeat; background-position:center;
}
.rp-ing-label { font-size:13.5px; line-height:1.5; color:var(--ink2); flex:1; font-family:'Source Serif 4',serif; cursor:pointer; transition:.15s; }
.rp-ing-item.ing-checked .rp-ing-label { text-decoration:line-through; color:#aaa; }

/* NUTRITION */
.rp-nut-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border-top:1px solid var(--line); }
.rp-nut-cell { background:var(--bg); padding:.65rem .4rem; text-align:center; }
.rp-nut-val { font-family:'Bodoni Moda',serif; font-size:18px; font-weight:400; color:var(--ink); display:block; line-height:1; margin-bottom:.2rem; }
.rp-nut-lbl { font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-family:'Inter',sans-serif; display:block; }

/* CATEGORIES */
.rp-cats-body { padding:.75rem 1.1rem; }
.rp-cat-badge { display:inline-block; font-size:10px; letter-spacing:.06em; text-transform:uppercase; padding:.28rem .7rem; border:1px solid var(--line); border-radius:2px; color:var(--muted); margin:0 .3rem .3rem 0; font-family:'Inter',sans-serif; }

/* RECETTES LIÉES */
.rp-liee-item { display:flex; align-items:center; gap:.75rem; padding:.6rem 0; border-bottom:1px solid var(--line); text-decoration:none; }
.rp-liee-item:last-child { border-bottom:none; }
.rp-liee-item span { font-family:'Source Serif 4',serif; font-size:13.5px; line-height:1.4; color:var(--ink2); transition:.15s; }
.rp-liee-item:hover span { color:var(--gold); }

/* ── ARTICLE TEXT ─────────────────────────── */
#article-text { font-family:'Source Serif 4',Georgia,serif; font-size:clamp(16px,1vw + 14px,19px); line-height:1.8; color:var(--ink); text-rendering:optimizeLegibility; }
#article-text h2, #article-text h3 { font-family:'Bodoni Moda','Playfair Display',serif; color:var(--ink); line-height:1.18; margin:2rem 0 1rem; }
#article-text h2 { font-size:clamp(20px,1.2vw + 18px,30px); font-weight:500; position:relative; padding-bottom:.4rem; }
#article-text h2::after { content:''; position:absolute; left:0; bottom:0; width:48px; height:2px; background:var(--gold); opacity:.6; }
#article-text h3 { font-size:clamp(16px,.9vw + 14px,22px); font-weight:400; letter-spacing:.03em; }
#article-text a { color:var(--ink); text-decoration:none; background-image:linear-gradient(to right,var(--gold),var(--gold)); background-size:100% 1px; background-position:0 100%; background-repeat:no-repeat; transition:background-size .25s ease; }
#article-text a:hover { background-size:0 1px; }
#article-text ol, #article-text ul { list-style:none; padding:0; margin:0 0 1.5rem; counter-reset:db-step; }
#article-text ol > li, #article-text ul > li { position:relative; padding:.55rem 0 .55rem 2.75rem; border-bottom:1px solid var(--line); font-size:15px; line-height:1.75; color:var(--ink2); }
#article-text ol > li:last-child, #article-text ul > li:last-child { border-bottom:none; }
#article-text ol > li::before { counter-increment:db-step; content:counter(db-step); position:absolute; left:0; top:.55rem; width:28px; height:28px; border-radius:50%; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Bodoni Moda',serif; font-size:13px; color:var(--gold); }
#article-text ul > li::before { content:''; position:absolute; left:.6rem; top:1.05rem; width:7px; height:7px; border-radius:50%; background:var(--gold); opacity:.7; }
#article-text ol > li > ul { margin:.5rem 0 0; padding-left:1rem; }
#article-text ol > li > ul > li { padding:.3rem 0 .3rem 1.4rem; border-bottom:none; font-size:14px; color:var(--muted); }
#article-text ol > li > ul > li::before { width:5px; height:5px; top:.85rem; left:.1rem; opacity:.5; }
#article-text h4 { font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin:1.5rem 0 .5rem; }
#article-text li strong, #article-text li b { font-weight:500; color:var(--ink); }

/* STEP LIST */
.step-list { counter-reset:step; list-style:none; padding:0; margin:0; }
.step-list > li { position:relative; display:flex; gap:1rem; padding:0 0 1.25rem; }
.step-list > li:last-child { padding-bottom:0; }
.step-num-col { display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
.step-circle { counter-increment:step; width:32px; height:32px; border-radius:50%; border:1px solid var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Bodoni Moda',serif; font-size:15px; font-weight:400; color:var(--gold); flex-shrink:0; }
.step-vline { width:1px; flex:1; background:var(--line); margin-top:6px; min-height:16px; }
.step-body { padding-top:5px; flex:1; }
.step-text { font-size:15px; line-height:1.75; color:var(--ink2); }

/* CONSERVATION BOX */
.rp-conserv-box { background:var(--ink); border-radius:8px; padding:1rem 1.25rem; display:flex; gap:.75rem; align-items:flex-start; margin-top:1.5rem; }
.rp-conserv-icon { color:var(--gold); font-size:16px; flex-shrink:0; }
.rp-conserv-text { font-size:13px; line-height:1.6; color:rgba(255,255,255,.75); }
.rp-conserv-title { display:block; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin-bottom:.25rem; font-family:'Inter',sans-serif; }

/* VIDEO */
.rp-video-wrap { border-radius:10px; overflow:hidden; border:1px solid var(--line); }
.rp-video-kicker { font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); font-family:'Inter',sans-serif; margin-bottom:.4rem; }

/* FORUM CARD */
.rp-forum-card { background:var(--ink); border-radius:10px; padding:1.25rem 1.5rem; display:flex; align-items:center; gap:1rem; text-decoration:none; transition:opacity .2s; }
.rp-forum-card:hover { opacity:.88; }
.rp-forum-dot { width:10px; height:10px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.rp-forum-txt { flex:1; }
.rp-forum-title { font-family:'Bodoni Moda',serif; font-size:16px; font-weight:400; color:#fff; display:block; margin-bottom:.2rem; }
.rp-forum-sub { font-size:12px; color:rgba(255,255,255,.55); }
.rp-forum-arrow { color:var(--gold); font-size:18px; }

/* SIMILAR RECIPES */
.rp-similar-section { background:var(--bg2); border-top:1px solid var(--line); padding:2rem 0; }
.recipe-hero { display:none; }
.recipe-veil { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.60) 100%); }
.recipe-chip { position:absolute; z-index:3; left:10px; top:10px; padding:.28rem .6rem; border-radius:999px; border:1px solid rgba(255,255,255,.75); color:#fff; backdrop-filter:blur(3px); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.recipe-number { position:absolute; right:8px; bottom:-10px; z-index:2; font-family:'Playfair Display',serif; font-weight:800; line-height:1; font-size:clamp(42px,8vw,88px); color:transparent; -webkit-text-stroke:1px #e9e3dd; opacity:.9; pointer-events:none; user-select:none; }
.recipe-card .ratio img { transform:scale(1.01); transition:transform .35s ease; }
.recipe-card:hover .ratio img { transform:scale(1.05); }

/* LIKE BUTTON */
.reactions-sticky { position:fixed; top:50%; left:20px; transform:translateY(-50%); z-index:1000; background:transparent; border:none; box-shadow:none; padding:0; }
.btn-vote { display:inline-flex; align-items:center; justify-content:center; gap:8px; background-color:#fff; border:1px solid #e0e0e0; border-radius:50px; padding:10px 18px; font-size:16px; font-weight:600; color:#555; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.08); transition:all .3s cubic-bezier(.175,.885,.32,1.275); text-decoration:none; }
.btn-vote:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 8px 20px rgba(0,0,0,.12); color:#f53d5f; border-color:#f53d5f; }
.btn-vote.active { background-color:#fff0f3; border-color:#f53d5f; color:#f53d5f; box-shadow:0 4px 12px rgba(245,61,95,.2); }
.btn-vote i { font-size:20px; transition:transform .2s; line-height:1; display:flex; }
.btn-vote:active { transform:scale(.95); }
.btn-vote.active i { animation:heartBeat .4s ease-in-out forwards; }
@keyframes heartBeat { 0%{transform:scale(1)} 25%{transform:scale(1.3)} 50%{transform:scale(1)} 75%{transform:scale(1.3)} 100%{transform:scale(1)} }

/* ── COMMENTAIRES ─────────────────────────── */
.rp-comm-section { background:#fff; border-top:1px solid var(--line); }
.rp-comm-hero { background:var(--ink); padding:2.5rem 1.5rem 2rem; text-align:center; }
.rp-comm-hero-eyebrow { font-family:'Inter',sans-serif; font-size:10px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.7rem; display:flex; align-items:center; justify-content:center; gap:.6rem; }
.rp-comm-hero-eyebrow::before, .rp-comm-hero-eyebrow::after { content:''; display:block; width:20px; height:1px; background:var(--gold); opacity:.5; }
.rp-comm-hero-title { font-family:'Bodoni Moda',serif; font-size:clamp(22px,3vw,32px); font-weight:400; color:#fff; margin:0 0 .6rem; line-height:1.2; }
.rp-comm-hero-sub { font-size:14px; color:rgba(255,255,255,.55); margin:0; font-family:'Inter',sans-serif; }
.rp-comm-count-badge { display:inline-flex; align-items:center; gap:.4rem; background:rgba(218,165,86,.15); border:1px solid rgba(218,165,86,.3); border-radius:999px; padding:.3rem .9rem; font-size:12px; color:var(--gold); font-family:'Inter',sans-serif; margin-top:.9rem; }
.rp-comm-prompts { background:var(--bg2); border-bottom:1px solid var(--line); padding:.9rem 1.25rem; display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.rp-comm-prompts-label { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-family:'Inter',sans-serif; margin-right:.3rem; white-space:nowrap; }
.rp-prompt-chip { font-size:12px; padding:.35rem .85rem; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink2); cursor:pointer; font-family:'Inter',sans-serif; transition:.15s; white-space:nowrap; }
.rp-prompt-chip:hover { border-color:var(--gold); color:var(--gold); background:var(--gold-light); }
.rp-comm-list { padding:0 1.5rem; }
.rp-comm-item { display:flex; gap:1rem; padding:1.25rem 0; border-bottom:1px solid var(--line); }
.rp-comm-item:last-child { border-bottom:none; }
.rp-comm-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid var(--line); }
.rp-comm-body { flex:1; }
.rp-comm-meta { display:flex; align-items:center; gap:.6rem; margin-bottom:.35rem; flex-wrap:wrap; }
.rp-comm-author { font-family:'Inter',sans-serif; font-size:13px; font-weight:500; color:var(--ink); }
.rp-comm-date { font-size:11px; color:var(--muted); font-family:'Inter',sans-serif; }
.rp-comm-verified { font-size:10px; letter-spacing:.07em; text-transform:uppercase; background:var(--gold-light); color:var(--gold); border:1px solid var(--gold-mid); border-radius:999px; padding:.15rem .55rem; font-family:'Inter',sans-serif; }
.rp-comm-text { font-family:'Source Serif 4',Georgia,serif; font-size:14.5px; line-height:1.7; color:var(--ink2); margin:0; }
.rp-comm-empty { padding:2.5rem 1.5rem; text-align:center; }
.rp-comm-empty-icon { width:56px; height:56px; border-radius:50%; background:var(--gold-light); border:1px solid var(--gold-mid); display:flex; align-items:center; justify-content:center; margin:0 auto 1.1rem; font-size:22px; }
.rp-comm-empty-title { font-family:'Bodoni Moda',serif; font-size:20px; font-weight:400; color:var(--ink); margin:0 0 .4rem; }
.rp-comm-empty-sub { font-size:14px; color:var(--muted); margin:0; font-family:'Inter',sans-serif; }
.rp-comm-form-wrap { padding:1.5rem; border-top:1px solid var(--line); background:var(--bg2); }
.rp-comm-form-header { display:flex; align-items:flex-start; gap:.85rem; margin-bottom:1rem; }
.rp-comm-form-av { width:40px; height:40px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-family:'Bodoni Moda',serif; font-size:15px; color:#fff; font-style:italic; }
.rp-comm-form-label { font-family:'Bodoni Moda',serif; font-size:17px; font-weight:400; color:var(--ink); margin:0 0 .15rem; }
.rp-comm-form-hint { font-size:12px; color:var(--muted); font-family:'Inter',sans-serif; margin:0; }
.rp-comm-textarea { width:100%; border:1px solid var(--line); border-radius:8px; padding:.9rem 1rem; font-family:'Source Serif 4',Georgia,serif; font-size:14.5px; line-height:1.65; color:var(--ink); resize:vertical; min-height:110px; background:#fff; transition:border-color .2s; outline:none; }
.rp-comm-textarea:focus { border-color:var(--gold); }
.rp-comm-textarea::placeholder { color:#bbb; font-style:italic; }
.rp-comm-form-footer { display:flex; align-items:center; justify-content:space-between; margin-top:.75rem; gap:.75rem; flex-wrap:wrap; }
.rp-comm-char-count { font-size:11px; color:var(--muted); font-family:'Inter',sans-serif; }
.rp-comm-char-count.warn { color:#e07b39; }
.btn-publish { font-family:'Inter',sans-serif; font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:.6rem 1.75rem; background:var(--gold); border:none; border-radius:2px; color:#fff; cursor:pointer; transition:.15s; display:flex; align-items:center; gap:.5rem; }
.btn-publish:disabled { background:var(--line); color:var(--muted); cursor:not-allowed; }
.btn-publish:not(:disabled):hover { filter:brightness(.92); }
.rp-comm-cta { margin:0; border-top:1px solid var(--line); padding:2rem 1.5rem; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.rp-comm-cta-cell { background:#fff; padding:1.5rem; text-align:center; }
.rp-comm-cta-icon { font-size:24px; margin-bottom:.7rem; display:block; }
.rp-comm-cta-title { font-family:'Bodoni Moda',serif; font-size:17px; font-weight:400; color:var(--ink); margin:0 0 .3rem; }
.rp-comm-cta-sub { font-size:12px; color:var(--muted); margin:0 0 1rem; font-family:'Inter',sans-serif; line-height:1.5; }
.btn-cta-primary { display:inline-block; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:.6rem 1.4rem; background:var(--ink); color:#fff; border-radius:2px; text-decoration:none; font-family:'Inter',sans-serif; transition:.15s; }
.btn-cta-primary:hover { background:#2e2a24; color:#fff; }
.btn-cta-secondary { display:inline-block; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:.6rem 1.4rem; border:1px solid var(--line); color:var(--muted); border-radius:2px; text-decoration:none; font-family:'Inter',sans-serif; transition:.15s; }
.btn-cta-secondary:hover { border-color:var(--gold); color:var(--gold); }

/* BANNIÈRE MENU */
.bann-menu-art { position:relative; overflow:hidden; border-radius:12px; margin:36px 0; background:#1a3c2e; display:flex; align-items:center; }
.bann-menu-art::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 90% 50%,rgba(45,106,79,.7) 0%,transparent 60%),radial-gradient(circle at 10% 50%,rgba(64,145,108,.2) 0%,transparent 50%); pointer-events:none; }
.bann-menu-art-stripe { width:4px; align-self:stretch; background:linear-gradient(180deg,#40916c,#2d6a4f); flex-shrink:0; }
.bann-menu-art-inner { position:relative; z-index:1; display:flex; align-items:center; gap:16px; padding:18px 20px; width:100%; }
.bann-menu-art-emoji { font-size:1.8rem; flex-shrink:0; line-height:1; }
.bann-menu-art-text { flex:1; min-width:0; }
.bann-menu-art-label { display:block; font-family:'DM Sans',system-ui,sans-serif; font-size:.5rem; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:#74c69d; margin-bottom:3px; }
.bann-menu-art-titre { display:block; font-family:'Playfair Display',Georgia,serif; font-size:clamp(.95rem,1.8vw,1.15rem); font-weight:700; color:#fff; line-height:1.25; margin-bottom:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bann-menu-art-sub { display:block; font-family:'DM Sans',system-ui,sans-serif; font-size:.7rem; color:rgba(255,255,255,.5); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bann-menu-art-btn { display:inline-flex; align-items:center; gap:7px; background:#2d6a4f; color:#fff; font-family:'DM Sans',system-ui,sans-serif; font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:11px 20px; border-radius:100px; text-decoration:none; white-space:nowrap; flex-shrink:0; transition:background .2s,transform .2s,box-shadow .2s; box-shadow:0 3px 12px rgba(45,106,79,.4); }
.bann-menu-art-btn:hover { background:#40916c; transform:translateY(-1px); box-shadow:0 6px 20px rgba(45,106,79,.5); }
.bann-menu-art-btn svg { width:12px; height:12px; transition:transform .2s; }
.bann-menu-art-btn:hover svg { transform:translateX(2px); }

/* Figure legend */
.figure-legend { font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }

/* ── RESPONSIVE ───────────────────────────── */
@media (min-width:992px) { .rp-sidebar-sticky { position:sticky; top:90px; } }
@media (max-width:991px) { .reactions-sticky { position:fixed; bottom:20px; top:auto; left:50%; transform:translateX(-50%); width:auto; } }
@media (max-width:991.98px) { .recipe-number { font-size:clamp(40px,16vw,86px); } }
@media (max-width:575px) {
  .rp-hero-content { padding:1.5rem 1rem 1.5rem; }
  .rp-meta-cell { min-width:70px; padding:.7rem .3rem; }
  .rp-meta-val { font-size:18px; }
  .rp-actions-bar { padding:.5rem .75rem; gap:.3rem; }
  .rp-tags-row { padding:.5rem .75rem; }
  .rp-rating-bar { padding:.5rem .75rem; }
}
@media (max-width:540px) {
  .bann-menu-art-inner { flex-wrap:wrap; gap:12px; }
  .bann-menu-art-titre { white-space:normal; }
  .bann-menu-art-sub { display:none; }
  .bann-menu-art-btn { width:100%; justify-content:center; }
}
@media (max-width:480px) {
  .rp-comm-cta { grid-template-columns:1fr; }
  .rp-comm-list { padding:0 1rem; }
  .rp-comm-form-wrap { padding:1.25rem 1rem; }
  .rp-comm-hero { padding:2rem 1rem 1.5rem; }
  .rp-comm-prompts { padding:.75rem 1rem; }
}
