.rb-card { font-family: inherit; margin: 30px 0; }
.rb-card .rb-card-title { font-size: 1.6em; font-weight: 700; margin: 0 0 14px; }
.rb-card .rb-print-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px;
  background: #4a7c59; color: #fff; border: 1px solid #3a6347; border-radius: 6px;
  cursor: pointer; font-size: 0.95em; font-weight: 600; text-decoration: underline;
  margin-bottom: 20px;
}
.rb-card .rb-print-btn:hover { background: #3a6347; }
.rb-meta-row {
  display: grid; grid-template-columns: repeat(3, auto); gap: 10px 32px;
  padding: 14px 0; margin-bottom: 20px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;
}
.rb-meta-item { font-size: 0.95em; white-space: nowrap; }
.rb-meta-item .rb-icon { margin-right: 5px; }
.rb-card h3 { font-size: 1.25em; font-weight: 700; margin: 22px 0 10px; }
.rb-card hr.rb-divider { border: none; border-top: 1px solid #ddd; margin: 20px 0; }
/* Themes commonly force `list-style: disc/decimal !important` on all post
   content lists, which would otherwise show through underneath our own
   checkboxes/numbered circles/arrows. Every list-style/marker override
   below is deliberately !important and re-stated on both the list and its
   items to win against that. */
.rb-card ul.rb-ingredients,
.rb-card ul.rb-ingredients li {
  list-style: none !important; list-style-type: none !important;
}
.rb-card ul.rb-ingredients { padding-left: 0; margin: 0; }
.rb-card ul.rb-ingredients li { padding: 6px 0 6px 30px; position: relative; }
.rb-card ul.rb-ingredients li::marker { content: none !important; }
.rb-card ul.rb-ingredients li::before {
  content: ""; position: absolute; left: 0; top: 9px; width: 15px; height: 15px;
  border: 2px solid #999; border-radius: 3px;
}
.rb-card ol.rb-instructions,
.rb-card ol.rb-instructions li {
  list-style: none !important; list-style-type: none !important;
}
.rb-card ol.rb-instructions { padding-left: 0; margin: 0; counter-reset: rb-step; }
.rb-card ol.rb-instructions li {
  counter-increment: rb-step; position: relative; padding: 0 0 16px 38px; line-height: 1.55;
}
.rb-card ol.rb-instructions li::marker { content: none !important; }
.rb-card ol.rb-instructions li::before {
  content: counter(rb-step); position: absolute; left: 0; top: 0;
  width: 24px; height: 24px; border-radius: 50%; background: #4a7c59; color: #fff;
  font-size: 0.8em; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.rb-notes {
  background: rgba(74,124,89,0.06); border: 1px solid #d8e4dc; border-radius: 6px;
  padding: 16px 20px; margin-top: 22px;
}
.rb-notes h3 { margin-top: 0; }
.rb-notes ul, .rb-notes ul li { list-style: none !important; list-style-type: none !important; }
.rb-notes ul { padding-left: 0; margin: 0; }
.rb-notes li { padding: 5px 0 5px 22px; position: relative; }
.rb-notes li::marker { content: none !important; }
.rb-notes li::before { content: none !important; }
.rb-notes .rb-arrow { color: #4a7c59; display: inline-block; width: 18px; margin-left: -22px; }
.rb-nutrition ul, .rb-nutrition ul li { list-style: none !important; list-style-type: none !important; }
.rb-nutrition ul { padding-left: 0; margin: 0; }
.rb-nutrition li { padding: 3px 0; }
.rb-nutrition li::marker { content: none !important; }
.rb-keywords { font-size: 0.9em; color: #666; margin-top: 18px; }
