/* Default single article skin, sourced from Article.dc.html. */

/* Newsletter section container -- matches .h-sec/.h-sec--newsletter in
   bbq-home.css and bbq-category.css. .h-news/.h-news-form/etc. themselves
   already live in the globally-enqueued bbq-components.css; only the outer
   section width/padding needs a per-page-type copy, following this
   codebase's existing convention (see bbq-home.css, bbq-category.css). */
.h-sec { max-width:calc(var(--art-measure, 860px) + 48px); margin:0 auto; padding:0 24px; }
.h-sec--newsletter { padding-top:4px; padding-bottom:0; }
/* 4px, not 12px: .bbqr-article-content already carries its own 24px
   padding-bottom above this section (4+24=28px measured gap above vs 44px
   below) -- shaved further from the geometrically-equal 44/44 split to
   compensate for the card's low-contrast top edge (#FAF8F6 on #FAFAFA)
   reading as bigger than the high-contrast bottom edge against the black
   footer. */

/* Footer needs its own 44px of clear space above it when it directly follows
   the newsletter band on single posts, matching the 44px above the card
   (.h-sec--newsletter's own padding-top) so the white gap reads as equal on
   both sides. Kept as a real margin on the footer (not folded into
   .h-sec--newsletter's own padding) -- does not touch footer.php or footer
   styling on any other page type. */
.bbqr-article-shell ~ .bbqr-footer { margin-top:44px; }

.art-bodylink { color:var(--art-accent,#D84315); text-decoration:none; border-bottom:0; box-shadow:none; transition:color .15s ease; }
.art-bodylink:hover { color:var(--flame,#FF6F00); }
.art-body p { font-size:var(--art-fs,16px); line-height:var(--art-lh,1.7); color:var(--coal,#424242); margin:0 0 20px; }
.art-h2 { font-family:var(--font-heading,'Bebas Neue'); letter-spacing:.02em; color:#000; }

.bbqr-article-shell {
  background: var(--bg-light, #FAFAFA);
  color: var(--coal, #424242);
  --art-accent: var(--ember, #D84315);
  --art-measure: 860px;
  --art-fs: 16px;
  --art-lh: 1.7;
}

.bbqr-article-hero {
  text-align: center;
  padding: 52px 24px 0;
}

.bbqr-article-hero__inner {
  max-width: var(--art-measure, 860px);
  margin: 0 auto;
}

.bbqr-article-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 0 18px;
}

.bbqr-article-eyebrow::before,
.bbqr-article-eyebrow::after {
  content: "";
  height: 1px;
  width: 34px;
  background: var(--art-accent, #D84315);
  opacity: .5;
}

.bbqr-article-eyebrow a,
.bbqr-article-eyebrow span {
  font-family: var(--font-body, Poppins, sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--art-accent, #D84315);
  text-decoration: none;
}

.bbqr-article-title {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 48px;
  line-height: 1.02;
  letter-spacing: .02em;
  color: #000;
  margin: 0 auto 18px;
  max-width: var(--art-measure, 860px);
}

.bbqr-article-byline {
  border-top: 1px solid var(--border-subtle, #ECECEC);
  border-bottom: 1px solid var(--border-subtle, #ECECEC);
  padding: 14px 0;
  display: inline-block;
  min-width: min(640px, 92%);
  font-family: var(--font-body, Poppins, sans-serif);
}

.bbqr-byline-sm {
  --fs-sm: 0.78rem;
}

.bbqr-byline-sm .bbqr-byline-meta,
.bbqr-byline-sm .bbqr-byline-crumb,
.bbqr-byline-sm .bbq-breadcrumb,
.bbqr-byline-sm nav[aria-label="Breadcrumb"] {
  font-size: var(--fs-sm);
}

.bbqr-byline-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
}

.bbqr-byline-meta,
.bbqr-byline-crumb {
  min-width: 0;
}

.bbqr-byline-crumb {
  text-align: right;
}

.bbqr-byline-crumb .bbq-breadcrumb ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .25rem;
}

.bbqr-article-content {
  max-width: calc(var(--art-measure, 860px) + 48px);
  margin: 0 auto;
  padding: 30px 24px 48px;
}

.bbqr-article-layout {
  width: 100%;
  max-width: calc(var(--art-measure, 860px) + 48px);
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}

.bbqr-article-layout.container {
  max-width: calc(var(--art-measure, 860px) + 48px);
}

.bbqr-article-layout .bbqr-article-content {
  width: 100%;
  max-width: calc(var(--art-measure, 860px) + 48px);
  padding-left: 0;
  padding-right: 0;
}

#toc_container {
  display: none;
  position: absolute;
  top: 20px;
  left: calc(50px - ((100vw - min(calc(var(--art-measure, 860px) + 48px), calc(100vw - 48px))) / 2));
  right: auto;
  width: 260px;
  box-sizing: border-box;
  height: auto;
  max-height: calc(100vh - 200px);
  overflow-y: auto;
  float: none;
  background-color: var(--white, #fff);
  border: 1px solid #e0e0e0;
  border-radius: 0;
  padding: 15px 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, sans-serif;
  font-size: 14px;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}

#toc_container.bbqr-toc-ready {
  opacity: 1;
  visibility: visible;
}

@media (min-width: 1680px) {
  #toc_container.bbqr-toc-ready {
    display: block;
  }
}

#toc_container .toc_title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e0e0;
}

#toc_container ul,
#toc_container .toc_list {
  list-style: none;
  margin: 0;
  padding: 0;
}

#toc_container ul li,
#toc_container .toc_list li {
  margin: 8px 0;
  line-height: 1.4;
}

#toc_container ul li a,
#toc_container .toc_list a {
  color: var(--gray-text, #666) !important;
  text-decoration: none;
  display: block;
  padding: 3px 0;
  font-size: 14px;
  border-bottom: 0;
  box-shadow: none;
  transition: all .2s ease;
}

#toc_container ul li a:hover,
#toc_container ul li a:focus,
#toc_container .toc_list a:hover,
#toc_container .toc_list a:focus {
  color: var(--orange-primary, #f04923) !important;
  padding-left: 5px;
  text-decoration: none;
}

#toc_container ul li a.active,
#toc_container .toc_list a.active {
  color: var(--orange-primary, #f04923) !important;
  font-weight: 500;
  background-color: rgba(240, 73, 35, .05);
  padding-left: 5px;
  border-radius: 3px;
}

.bbqr-single--guide {
  --art-measure: 860px;
}

.bbqr-single--guide .bbqr-article-content {
  padding-top: 8px;
  padding-bottom: 24px;
}

.bbqr-article-content > .art-body {
  float: none;
  clear: both;
  width: 100%;
  max-width: var(--art-measure, 860px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Override stale TOC/sidebar CSS that can be imported through Additional CSS. */
.bbqr-single.bbqr-article-shell .entry-content > * {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--art-measure, 860px) !important;
}

.bbqr-single.bbqr-article-shell .entry-content > #toc_container {
  display: none !important;
}

@media (max-width: 1679px) {
  #toc_container {
    display: none !important;
    position: static !important;
  }
}

.bbqr-article-featured {
  margin: 0 0 14px;
}

.bbqr-article-featured img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg, 12px);
  display: block;
}

.bbqr-article-featured figcaption,
.art-body figcaption,
.art-body .wp-caption-text {
  font-size: 12px;
  color: #8a8a8a;
  font-style: italic;
  text-align: center;
  margin-top: 9px;
}

/* Normalize legacy top-of-article wrappers used by older post bodies. */
.art-body .hero-image,
.art-body .bbq-affiliate-notice {
  float: none;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.art-body .hero-image {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--art-measure, 860px);
  margin: 0 auto 24px;
}

.art-body .hero-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 15 / 8;
  height: auto;
  margin: 0;
  object-fit: cover;
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--radius-lg, 12px);
  box-shadow: none !important;
  box-sizing: border-box;
  padding: 0 !important;
}

.bbqr-single--recipe .art-body .hero-image img {
  box-shadow: 0 10px 30px rgba(26,26,26,.1) !important;
}

.art-body .bbq-affiliate-notice {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--art-measure, 860px);
  background: none !important;
  border: 0;
  color: #8a8a8a;
  font-size: 13px;
  font-style: italic;
  line-height: 1.5;
  margin: 0 0 30px;
  padding: 0;
  text-align: center;
}

.bbqr-single .art-body > p,
.bbqr-single .art-body > ul,
.bbqr-single .art-body > ol,
.bbqr-single .art-body > h2,
.bbqr-single .art-body > h3,
.bbqr-single .art-body > h4,
.bbqr-single .art-body > table,
.bbqr-single .art-body > .art-table-scroll,
.bbqr-single .art-body > .art-callout,
.bbqr-single .art-body > .art-faq {
  max-width: var(--art-measure, 860px);
}

.art-body .bbq-affiliate-notice a {
  color: var(--art-accent, #D84315);
  border-bottom: 0;
  box-shadow: none;
  font-style: normal;
  font-weight: 500;
  text-decoration: none;
}

.art-body {
  --art-h2-size: 34px;
  --art-h2-rule: 2px solid var(--art-accent, #D84315);
  --art-h2-pb: 6px;
}

.art-body h2 {
  display: block;
  width: fit-content;
  max-width: 100%;
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: var(--art-h2-size, 34px);
  line-height: 1.08;
  letter-spacing: .02em;
  color: #000;
  border-bottom: var(--art-h2-rule, 2px solid var(--art-accent, #D84315));
  padding-bottom: var(--art-h2-pb, 6px);
  margin: 38px 0 10px;
  scroll-margin-top: 24px;
}

.art-body h3 {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 23px;
  line-height: 1.12;
  letter-spacing: .02em;
  color: #1A1A1A;
  margin: 30px 0 8px;
  scroll-margin-top: 24px;
}

.art-body ul,
.art-body ol {
  font-size: var(--art-fs, 16px);
  line-height: 1.7;
  color: var(--coal, #424242);
  margin: 0 0 22px;
  padding-left: 22px;
}

.art-body li {
  margin-bottom: 8px;
}

.art-body a {
  color: var(--art-accent, #D84315);
  text-decoration: none;
  border-bottom: 0;
  box-shadow: none;
  transition: color .15s ease;
}

.art-body a:hover {
  color: var(--flame, #FF6F00);
}

.art-body table:not(.cs-tbl) {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
  font-family: var(--font-body, Poppins, sans-serif);
  box-shadow: none;
}

.art-body table:not(.cs-tbl) th {
  text-align: left;
  background: #1A1A1A;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 13px 14px;
  white-space: nowrap;
}

.art-body table:not(.cs-tbl) td {
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--coal, #424242);
  border-top: 1px solid #F2F0EE;
  vertical-align: top;
}

.art-body table:not(.cs-tbl) tr:nth-child(even) {
  background: #FAF8F6;
}

.art-body table:not(.cs-tbl) td:first-child {
  font-weight: 600;
  color: #1A1A1A;
}

.bbqr-single .art-body > p:empty {
  display: none;
}

@media (max-width: 640px) {
  .bbqr-article-hero {
    padding-top: 42px;
  }

  .bbqr-article-title,
  .art-h1,
  .bg-h1,
  .pr-h1 {
    font-size: 38px;
  }

  .bbqr-article-byline {
    display: block;
    min-width: 0;
  }

  .bbqr-byline-row {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }

  .bbqr-byline-crumb {
    text-align: center;
  }

  .bbqr-byline-crumb .bbq-breadcrumb ol {
    justify-content: center;
  }
}

@media (max-width: 1080px) {
  .bbqr-article-layout {
    display: block;
    max-width: calc(var(--art-measure, 860px) + 48px);
    padding: 0 24px;
  }

  .bbqr-article-layout .bbqr-article-content {
    max-width: calc(var(--art-measure, 860px) + 48px);
  }

  #toc_container {
    display: none !important;
  }

  .art-layout-3,
  .art-layout-mag {
    display: block;
  }

  .art-toc-aside {
    display: none;
  }
}

@media (max-width: 920px) {
  .bg-wrap {
    display: block;
  }

  .bg-hero {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .h-sec {
    padding-left: 18px;
    padding-right: 18px;
  }

  .bbqr-byline-sm {
    --fs-sm: 0.72rem;
  }

  #toc_container {
    display: none !important;
  }

  .bbqr-article-title,
  .art-h1,
  .bg-h1,
  .pr-h1 {
    font-size: 33px;
    line-height: 1.06;
  }

  .bbqr-single--recipe .bbqr-article-title {
    font-size: 27px;
    line-height: 1.06;
  }

  .bbqr-single--guide .bbqr-article-title {
    font-size: 27px;
    line-height: 1.06;
  }

  .bbqr-single--guide .bg-main .bg-h2,
  .bbqr-single--guide .bg-main .bg-faq-title {
    font-size: 27px;
    line-height: 1.08;
  }

  .art-mag-hero,
  .bg-hero {
    min-height: 0;
  }

  .bg-wrap {
    padding-left: 18px;
    padding-right: 18px;
  }

  .bg-lead {
    font-size: 16px;
    line-height: 1.7;
  }
}

/* ===========================================================================
   BBQ Report — bbq-article.css ADDITIONS
   Append these rules to css/bbq-article.css. They style the markup that the
   the_content filter (bbqr-article-content-filter.php) produces.
   Ported 1:1 from the locked BrisketGuide.dc.html (.bg-callout / .bg-table).
   =========================================================================== */

/* ---- Editorial callouts (was: legacy teal/gray/yellow/red inline boxes) ---- */
.art-body .art-callout {
  display: flex;
  gap: var(--callout-gap, 15px);
  align-items: flex-start;
  background: var(--bg-card, #FFFFFF);
  border-left: 4px solid var(--wood, #8D6E63);
  border-radius: 0 var(--radius-callout, 10px) var(--radius-callout, 10px) 0;
  padding: var(--callout-padding-block, 16px) var(--callout-padding-inline, 20px);
  margin: var(--callout-margin-block, 22px) 0;
  box-shadow: var(--shadow-card, 0 4px 14px rgba(26,26,26,.05));
}
.art-body .art-callout-ic {
  flex: none;
  width: var(--callout-icon-size, 38px);
  height: var(--callout-icon-size, 38px);
  border-radius: var(--radius-callout-icon, 9px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-body, 16px);
}
.art-body .art-callout-ic--img {
  background: transparent;
  overflow: visible;
  padding: 0;
  border-radius: 0;
}
.art-body .art-callout-ic--img img {
  display: block;
  width: 12px;
  height: 20px;
  max-width: none;
  max-height: none;
  object-fit: contain;
}
.art-body .art-callout-title {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: var(--fs-callout-title, 19px);
  letter-spacing: var(--ls-heading, .02em);
  color: var(--bg-dark, #1A1A1A);
  margin: 0 0 3px;
}
.art-body .art-callout-body {
  font-size: var(--fs-body, 16px);
  line-height: 1.7;
  color: var(--coal, #424242);
}
.art-body .art-callout-body > :last-child,
.art-body .art-callout-body ul:last-child,
.art-body .art-callout-body ol:last-child,
.art-body .art-callout-body li:last-child {
  margin-bottom: 0;
}
.art-body .art-callout-body strong { color: var(--bg-dark, #1A1A1A); }
/* Override the generic .art-body a underline inside callouts for tidiness */
.art-body .art-callout-body a { font-weight: 600; }

.art-body .art-callout--tip     { border-left-color:var(--ember,#D84315); background:var(--callout-tip-surface,rgba(216,67,21,.06)); }
.art-body .art-callout--tip     .art-callout-ic { color:var(--ember,#D84315); background:var(--callout-tip-icon-surface,rgba(216,67,21,.11)); }
.art-body .art-callout--note    { border-left-color:var(--wood,#8D6E63); background:var(--callout-note-surface,rgba(141,110,99,.07)); }
.art-body .art-callout--note    .art-callout-ic { color:var(--wood,#8D6E63); background:var(--callout-note-icon-surface,rgba(141,110,99,.13)); }
.art-body .art-callout--facts   { border-left-color:var(--callout-facts,#C8861E); background:var(--callout-facts-surface,rgba(200,134,30,.07)); }
.art-body .art-callout--facts   .art-callout-ic { color:var(--callout-facts,#C8861E); background:var(--callout-facts-icon-surface,rgba(200,134,30,.13)); }
.art-body .art-callout--warning { border-left-color:var(--callout-warning,#A8341A); background:var(--callout-warning-surface,rgba(168,52,26,.06)); }
.art-body .art-callout--warning .art-callout-ic { color:var(--callout-warning,#A8341A); background:var(--callout-warning-icon-surface,rgba(168,52,26,.12)); }

/* ---- Table scroll wrapper (filter replaces the legacy inline-style divs) ----
   The dark-header / ember-zebra table skin already lives in bbq-article.css
   under `.art-body table` / `th` / `td`. Once the filter strips the inline
   styles, that skin applies automatically. These rules just handle overflow. */
.art-body .art-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border: 1px solid #ECECEC;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(26,26,26,.06);
  margin: 20px 0;
}
.art-body .art-table-scroll .art-table-inner { min-width: 640px; }
.art-body .art-table-scroll table { margin: 0; }

.art-body .art-table-scroll table,
.bg-main .bg-table table {
  border-collapse: separate;
  border-spacing: 0;
}

.art-body .art-table-scroll thead th:first-child,
.bg-main .bg-table thead th:first-child {
  border-top-left-radius: 11px;
}

.art-body .art-table-scroll thead th:last-child,
.bg-main .bg-table thead th:last-child {
  border-top-right-radius: 11px;
}

.art-body .art-table-scroll tbody tr:last-child td:first-child,
.bg-main .bg-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 11px;
}

.art-body .art-table-scroll tbody tr:last-child td:last-child,
.bg-main .bg-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 11px;
}

.art-body .art-table-caption,
.art-body .cs-tbl-caption {
  font-size: 13px;
  font-style: italic;
  color: #9a9a9a;
  text-align: center;
  margin: 11px 0 30px;
}

/* ---- Canonical educational component classes (.bg-*) ---- */
.bg-main p {
  font-size: 16px;
  line-height: 1.75;
  color: #424242;
  margin: 0 0 20px;
}

.bg-main .bg-lead {
  font-size: 16px;
  line-height: 1.7;
  color: #2C2C2C;
  margin: 0 0 26px;
}

.bg-main .bg-h2 {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 34px;
  letter-spacing: .02em;
  color: #000;
  margin: 38px 0 10px;
  display: block;
  width: fit-content;
  max-width: 100%;
  border-bottom: 2px solid #D84315;
  padding-bottom: 6px;
}

.bg-main .bg-h3 {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 24px;
  letter-spacing: .02em;
  color: #1A1A1A;
  margin: 30px 0 8px;
}

.bg-main .bg-h4 {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 20px;
  letter-spacing: .02em;
  color: #1A1A1A;
  margin: 24px 0 6px;
}

.bg-main .bg-list {
  font-size: 16px;
  line-height: 1.7;
  color: #424242;
  padding-left: 22px;
  margin: 0 0 22px;
}

.bg-main .bg-list li {
  margin-bottom: 9px;
}

.bg-main .bg-fig {
  margin: 24px 0;
}

.bg-main .hero-image.bg-fig {
  margin-top: 0;
}

.bg-main .bg-table {
  background: #fff;
  border: 1px solid #ECECEC;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(26,26,26,.06);
  margin: 20px 0;
}

.bg-main .bg-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.bg-main .bg-table table {
  width: 100%;
  font-family: var(--font-body, Poppins, sans-serif);
}

.bg-main .bg-table th {
  background: #1A1A1A;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 13px 14px;
  text-align: left;
  white-space: nowrap;
}

.bg-main .bg-table td {
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.5;
  color: #424242;
  border-top: 1px solid #F2F0EE;
  vertical-align: top;
}

.bg-main .bg-table tbody tr:nth-child(even) {
  background: #FAF8F6;
}

.bg-main .bg-table td:first-child {
  font-weight: 600;
  color: #1A1A1A;
}

.bg-main .bg-tablecap {
  font-size: 13px;
  font-style: italic;
  color: #9a9a9a;
  text-align: center;
  margin: 11px 0 30px;
}

.bg-main .bg-callout {
  display: flex;
  gap: var(--callout-gap, 15px);
  align-items: flex-start;
  background: var(--bg-card, #FFFFFF);
  border-left: 4px solid var(--wood, #8D6E63);
  border-radius: 0 var(--radius-callout, 10px) var(--radius-callout, 10px) 0;
  padding: var(--callout-padding-block, 16px) var(--callout-padding-inline, 20px);
  margin: var(--callout-margin-block, 22px) 0;
  box-shadow: var(--shadow-card, 0 4px 14px rgba(26,26,26,.05));
}

.bg-main .bg-callout-ic {
  flex: none;
  width: var(--callout-icon-size, 38px);
  height: var(--callout-icon-size, 38px);
  border-radius: var(--radius-callout-icon, 9px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-body, 16px);
}

.bg-main .bg-callout-title {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: var(--fs-callout-title, 19px);
  letter-spacing: var(--ls-heading, .02em);
  color: var(--bg-dark, #1A1A1A);
  margin: 0 0 3px;
}

.bg-main .bg-callout-body {
  font-size: var(--fs-body, 16px);
  line-height: 1.7;
  color: var(--coal, #424242);
}

.bg-main .bg-callout--tip {
  border-left-color: var(--ember, #D84315);
  background: var(--callout-tip-surface, rgba(216,67,21,.06));
}

.bg-main .bg-callout--tip .bg-callout-ic {
  color: var(--ember, #D84315);
  background: var(--callout-tip-icon-surface, rgba(216,67,21,.11));
}

.bg-main .bg-callout--note {
  border-left-color: var(--wood, #8D6E63);
  background: var(--callout-note-surface, rgba(141,110,99,.07));
}

.bg-main .bg-callout--note .bg-callout-ic {
  color: var(--wood, #8D6E63);
  background: var(--callout-note-icon-surface, rgba(141,110,99,.13));
}

.bg-main .bg-callout--facts {
  border-left-color: var(--callout-facts, #C8861E);
  background: var(--callout-facts-surface, rgba(200,134,30,.07));
}

.bg-main .bg-callout--facts .bg-callout-ic {
  color: var(--callout-facts, #C8861E);
  background: var(--callout-facts-icon-surface, rgba(200,134,30,.13));
}

.bg-main .bg-callout--warning {
  border-left-color: var(--callout-warning, #A8341A);
  background: var(--callout-warning-surface, rgba(168,52,26,.06));
}

.bg-main .bg-callout--warning .bg-callout-ic {
  color: var(--callout-warning, #A8341A);
  background: var(--callout-warning-icon-surface, rgba(168,52,26,.12));
}

.bg-main .bg-callout-ic--img {
  background: none !important;
  padding: 0;
  overflow: visible;
  border-radius: 0;
}

.bg-main .bg-callout-ic--img img {
  width: 20px;
  max-width: none;
  height: 33px;
  max-height: none;
  object-fit: contain;
  display: block;
}

.bg-main .bg-gear {
  background: #fff;
  border: 1px solid #ECECEC;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(216,67,21,.08);
  padding: 20px 22px;
  margin: 22px 0;
}

.bg-main .bg-gear-h {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 22px;
  letter-spacing: .02em;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
  padding-bottom: 10px;
  border-bottom: 2px solid #D84315;
}

.bg-main .bg-gear-h i,
.bg-main .bg-gear-ic {
  color: #D84315;
}

.bg-main .bg-gear ul {
  list-style: none;
  padding: 0;
  margin: 6px 0 0;
}

.bg-main .bg-gear li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-top: 1px solid #F2F0EE;
  font-size: 16px;
  line-height: 1.6;
  color: #424242;
}

.bg-main .bg-gear li:first-child {
  border-top: none;
}

.bg-main .bg-gear-ic {
  font-size: 13px;
  margin-top: 4px;
  flex: none;
}

.bg-main .bg-gear a {
  color: #D84315;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 0;
  box-shadow: none;
}

.bg-main .bg-gear a:hover {
  color: #FF6F00;
}

.art-body .art-figure {
  margin: 24px 0;
}

.art-body .art-figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: var(--radius-lg, 12px);
}

.art-body .art-figcap {
  font-size: 13px;
  font-style: italic;
  color: #8a8a8a;
  text-align: center;
  margin-top: 9px;
}

.art-body .art-gear {
  background: #fff;
  border: 1px solid #ECECEC;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(216,67,21,.08);
  padding: 20px 22px;
  margin: 24px 0;
}

.art-body .art-gear-h {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 22px;
  letter-spacing: .02em;
  color: #1A1A1A;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 6px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--art-accent, #D84315);
}

.art-body .art-gear-h i {
  color: var(--art-accent, #D84315);
  font-size: 18px;
}

.art-body .art-gear ul {
  list-style: none;
  padding: 0;
  margin: 6px 0 0;
}

.art-body .art-gear li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-top: 1px solid #F2F0EE;
  font-size: 15px;
  line-height: 1.6;
  color: var(--coal, #424242);
}

.art-body .art-gear li:first-child {
  border-top: 0;
}

.art-body .art-gear-ic {
  color: var(--art-accent, #D84315);
  font-size: 13px;
  margin-top: 4px;
  flex: none;
}

.art-body .art-gear a {
  color: var(--art-accent, #D84315);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 0;
  box-shadow: none;
}

.art-body .art-gear a:hover {
  color: var(--flame, #FF6F00);
}

/* wpautop creates the opening paragraph after the content filter runs. */
.bbqr-single .bg-main .affiliate-disclosure + p,
.bbqr-single .bg-main > p:first-of-type {
  font-size: 16px;
  line-height: 1.7;
  color: #2C2C2C;
  margin: 0 0 26px;
}

.bg-main .bg-faq {
  margin: 42px 0 30px;
}

.bg-main .bg-faq-title {
  border-bottom: 2px solid #D84315;
  display: block;
  width: fit-content;
  max-width: 100%;
  color: #1A1A1A;
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 34px;
  letter-spacing: .02em;
  line-height: 1.08;
  margin: 0 0 24px;
  padding: 0 0 8px;
  text-transform: uppercase;
}

.bg-main .bg-faq-item {
  background: #fff;
  border: 0;
  border-top: 1px solid #ECECEC;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  overflow: hidden;
}

.bg-main .bg-faq-item:first-of-type {
  border-left: 1px solid #ECECEC;
  border-right: 1px solid #ECECEC;
  border-radius: 8px 8px 0 0;
}

.bg-main .bg-faq-item:not(:first-of-type) {
  border-left: 1px solid #ECECEC;
  border-right: 1px solid #ECECEC;
}

.bg-main .bg-faq-item:last-of-type {
  border-bottom: 1px solid #ECECEC;
  border-radius: 0 0 8px 8px;
}

.bg-main .bg-faq-question {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-family: var(--font-body, Poppins, sans-serif);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  color: #1A1A1A;
  padding: 18px 20px;
  list-style: none;
}

.bg-main .bg-faq-question::marker {
  content: "";
}

.bg-main .bg-faq-question::-webkit-details-marker {
  display: none;
}

.bg-main .bg-faq-question::after {
  border-bottom: 2px solid var(--art-accent, #D84315);
  border-right: 2px solid var(--art-accent, #D84315);
  content: "";
  flex: none;
  height: 8px;
  transform-origin: center;
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform .18s ease;
  width: 8px;
}

.bg-main .bg-faq-item[open] .bg-faq-question::after {
  transform: rotate(225deg) translate(-1px, -1px);
}

.bg-main .bg-faq-answer {
  border-top: 1px solid #F2F0EE;
  color: #424242;
  font-size: 16px;
  line-height: 1.7;
  padding: 16px 20px 18px;
}

.bg-main .bg-faq-answer > :last-child {
  margin-bottom: 0;
}

/* ---- Appended single-post modules ---- */
.bbqr-single .art-body .kk-star-ratings,
.bbqr-single .art-body .bbq-post-nav {
  display: none !important;
}

.bbq-post-nav {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #e0e0e0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.bbq-post-nav__link {
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 8px;
  text-decoration: none;
}

.bbq-post-nav__link--next {
  text-align: right;
}

.bbq-post-nav__label {
  font-size: .875rem;
  color: #bf360c;
  font-weight: 600;
}

.bbq-post-nav__title {
  color: #333;
}

.bbqr-single .art-body > .rounded.p-4.border.my-5 {
  background: #fff;
  border: 1px solid #ECECEC !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(26,26,26,.05);
  margin: 32px 0 0 !important;
  padding: 22px !important;
}

.bbqr-single .art-body > .rounded.p-4.border.my-5 .row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0;
  text-align: left;
}

.bbqr-single .art-body > .rounded.p-4.border.my-5 .col-md-3,
.bbqr-single .art-body > .rounded.p-4.border.my-5 .col-md {
  flex: initial;
  max-width: none;
  padding: 0;
}

.bbqr-single .art-body > .rounded.p-4.border.my-5 img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: block;
}

.bbqr-single .art-body > .rounded.p-4.border.my-5 h4 {
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 22px;
  letter-spacing: .02em;
  color: #1A1A1A;
  margin: 0 0 4px;
}

.bbqr-single .art-body > .rounded.p-4.border.my-5 p,
.bbqr-single .art-body > .rounded.p-4.border.my-5 .col-md {
  font-size: 14px;
  line-height: 1.65;
  color: #5C5C5C;
}

.bbqr-single .art-body > section.py-5 {
  border-top: 1px solid #ECECEC;
  margin: 32px 0 0;
  padding: 30px 0 0 !important;
}

.bbqr-single .art-body .bbqr-related.bbqr-archive {
  background: transparent;
  border-top: 1px solid #ECECEC;
  min-height: 0;
  margin: 34px 0 0;
  padding: 30px 0 0;
}

.bbqr-single .art-body > .bbqr-related.bbqr-archive .h-sec-head {
  margin-bottom: 18px;
}

.bbqr-single .art-body > section.py-5 > .row:first-child {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
}

.bbqr-single .art-body > section.py-5 > .row:first-child .col-md {
  flex: initial;
  max-width: none;
  padding: 0;
  text-align: left !important;
}

.bbqr-single .art-body > section.py-5 h3 {
  font-size: 23px;
  margin: 0;
}

/* Legacy external affiliate/product images inside prose articles */
.bbqr-single:not(.bbqr-single--product-review) .art-body img:not([src*="bbqreport.com"]):not([src*="localhost"]):not([src^="data:"]):not([src*="gravatar"]),
.bbqr-single:not(.bbqr-single--product-review) .art-body .product-image,
.bbqr-single:not(.bbqr-single--product-review) .art-body .affiliate-image {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
  padding: 12px;
  transition: box-shadow .2s ease, transform .2s ease;
}

.bbqr-single:not(.bbqr-single--product-review) .art-body img:not([src*="bbqreport.com"]):not([src*="localhost"]):not([src^="data:"]):not([src*="gravatar"]):hover,
.bbqr-single:not(.bbqr-single--product-review) .art-body .product-image:hover,
.bbqr-single:not(.bbqr-single--product-review) .art-body .affiliate-image:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
  transform: translateY(-2px);
}

.bbqr-single:not(.bbqr-single--product-review) .art-body a:has(> img:not([src*="bbqreport.com"]):not([src*="localhost"])) {
  display: inline-block;
  text-decoration: none;
}

.bbqr-single .art-body blockquote,
.bbqr-single .art-body .wp-block-quote,
.bbqr-single .art-body .wp-block-pullquote {
  margin: 28px 0;
  padding: 6px 0 6px 20px;
  background: transparent;
  border: 0;
  border-left: 4px solid var(--art-accent, #D84315);
  border-radius: 0;
  box-shadow: none;
  color: #1A1A1A;
  font-family: var(--font-heading, 'Bebas Neue', sans-serif);
  font-size: 26px;
  font-style: normal;
  letter-spacing: .01em;
  line-height: 1.15;
}

.bbqr-single .art-body blockquote p,
.bbqr-single .art-body .wp-block-quote p,
.bbqr-single .art-body .wp-block-pullquote p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.bbqr-single .art-body blockquote cite,
.bbqr-single .art-body .wp-block-quote cite,
.bbqr-single .art-body .wp-block-pullquote cite {
  display: block;
  margin-top: 12px;
  color: #5c5c5c;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bbqr-single .art-body > section.py-5 > .row:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}

.bbqr-single .art-body > section.py-5 > .row:last-child > * {
  max-width: none;
  padding: 0;
}

@media (max-width: 760px) {
  .bbqr-single .art-body > .rounded.p-4.border.my-5 .row,
  .bbqr-single .art-body > section.py-5 > .row:first-child {
    align-items: flex-start;
    flex-direction: column;
  }

  .bbqr-single .art-body > section.py-5 > .row:last-child {
    grid-template-columns: 1fr;
  }
}
