/* Boxxi product content pilot. Authored locally; no vendor runtime required. */
.bxpp-description {
  --bxpp-navy: #2c4352;
  --bxpp-ink: #20323c;
  --bxpp-cream: #f5f2ec;
  --bxpp-line: #e4e5e2;
  color: var(--bxpp-ink);
  font-family: Poppins, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  max-width: 1120px;
  margin-inline: auto;
  overflow-wrap: anywhere;
}
.bxpp-description *, .bxpp-description *::before, .bxpp-description *::after { box-sizing: border-box; }
.bxpp-description [hidden] { display: none !important; }
.bxpp-description :is(p, ul, ol, blockquote) { margin: 0 0 1rem; }
.bxpp-description :is(ul, ol) { padding-inline-start: 1.4rem; }
.bxpp-description li + li { margin-block-start: .35rem; }
.bxpp-description :is(h2, h3, h4) { color: var(--bxpp-navy); font-weight: 600; line-height: 1.25; margin: 0 0 1rem; }
.bxpp-description h2 { font-size: clamp(23px, 2.5vw, 32px); }
.bxpp-description h3 { font-size: clamp(20px, 2vw, 24px); }
.bxpp-description h4 { font-size: 18px; }
.bxpp-description :is(p, ul, ol) + :is(h2, h3, h4) { margin-block-start: 1.6rem; }
.bxpp-description .bxpp-block { margin-block: 2rem; min-width: 0; }
.bxpp-description .bxpp-block .bxpp-block { margin-block: 1.5rem 0; }
.bxpp-description :is(.bxpp-columns, .bxpp-image-text, .bxpp-reviews, .bxpp-recipes) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.bxpp-description :is(.bxpp-column, .bxpp-image-copy, .bxpp-image, .bxpp-review, .bxpp-recipe) { min-width: 0; }
.bxpp-description :is(.bxpp-infobox, .bxpp-review) { padding: 1.5rem; background: var(--bxpp-cream); border-radius: 10px; }
.bxpp-description .bxpp-image { margin: 0; }
.bxpp-description img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 10px; }
.bxpp-description .bxpp-review-logo { width: auto; max-width: 150px; max-height: 48px; object-fit: contain; border-radius: 0; margin-block-end: 1.2rem; }
.bxpp-description .bxpp-quote { padding: 0; border: 0; font: inherit; }
.bxpp-description .bxpp-recipe { display: flex; flex-direction: column; border: 1px solid var(--bxpp-line); border-radius: 10px; overflow: hidden; background: white; }
.bxpp-description .bxpp-recipe-image img { border-radius: 0; }
.bxpp-description .bxpp-recipe-content { padding: 1.25rem 1.25rem 0; }
.bxpp-description .bxpp-recipe-title { font-size: 20px; }
.bxpp-description .bxpp-recipe-button { margin-block-start: auto; padding: 0 1.25rem 1.25rem; }
.bxpp-description a { color: var(--bxpp-navy); text-decoration: underline; text-underline-offset: .2em; }
.bxpp-description .bxpp-cta { display: inline-flex; align-items: center; min-height: 44px; padding: .65rem 1rem; color: white; background: var(--bxpp-navy); border-radius: 7px; text-decoration: none; font-weight: 500; }
.bxpp-description .bxpp-cta:hover { background: var(--bxpp-ink); text-decoration: underline; }
.bxpp-description :is(a, summary):focus-visible { outline: 3px solid var(--bxpp-navy); outline-offset: 4px; }
.bxpp-description .bxpf-details { border-block-end: 1px solid var(--bxpp-line); margin-block-end: 1rem; }
.bxpp-description .bxpf-summary { color: var(--bxpp-navy); font-weight: 600; font-size: 18px; min-height: 44px; padding: .75rem 0; cursor: pointer; }
.bxpp-description .bxpf-details-content { padding-block: .5rem 1rem; }
@media (min-width: 768px) {
  .bxpp-description :is(.bxpp-columns, .bxpp-image-text, .bxpp-reviews) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bxpp-description .bxpp-image-text { align-items: center; gap: 2rem; }
  .bxpp-description .bxpp-recipes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Explicit mapping of six observed inline text formats; never shrink inherited headings. */
.bxpp-description :is(.bxpp-source-text-10pt, .bxpp-source-text-11pt, .bxpp-source-text-12pt) { font-size: max(1em, 16px); }
.bxpp-description .bxpp-source-text-14pt { font-size: max(1em, 18.667px); }
.bxpp-description .bxpp-source-text-16pt { font-size: max(1em, 21.333px); }
.bxpp-description .bxpp-source-text-muted { color: #4d4d4d; font-size: max(1em, 16px); }
