.cms-managed-block { min-width: 0; }
.cms-managed-block.cms-background-soft > .section { background: var(--surface-secondary, #f2eee5); }
.cms-managed-block.cms-background-dark > .section { background: var(--brand-900, #09251f); color: var(--inverse-text, #fffdf8); }
.cms-managed-block.cms-background-dark > .section > .shell > :is(h1, h2, h3, h4, p, blockquote, figcaption) { color: var(--inverse-text, #fffdf8); }
.cms-managed-block.cms-background-accent > .section { background: var(--accent-soft, #f1e4ca); }
.cms-managed-block.cms-width-narrow .shell { max-width: 48rem; }
.cms-managed-block.cms-width-wide .shell { max-width: 90rem; }
.cms-managed-block.cms-align-center .shell { text-align: center; }
.cms-managed-block.cms-align-center .actions,
.cms-managed-block.cms-align-center .cta-panel { justify-content: center; }
.cms-managed-block.cms-spacing-compact > .section { padding-block: clamp(1.5rem, 3vw, 2.75rem); }
.cms-managed-block.cms-spacing-generous > .section { padding-block: clamp(4rem, 8vw, 7rem); }
.cms-content-card,
.cms-price-card { max-width: 48rem; margin-inline: auto; }
.cms-price { color: var(--brand-800, #113f34); font-size: clamp(1.65rem, 4vw, 2.5rem); font-weight: 800; }
.cms-divider { border: 0; border-top: 1px solid var(--line, #d6cfc1); margin-block: clamp(1.5rem, 4vw, 3rem); }
.cms-statistics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 1rem; }
.cms-statistics > div { min-width: 0; padding: 1.25rem; border: 1px solid var(--line, #d6cfc1); border-radius: 1rem; background: var(--surface, #fffdf8); }
.cms-statistics strong,
.cms-statistics span { display: block; overflow-wrap: anywhere; }
.cms-statistics strong { color: var(--brand-800, #113f34); font-size: clamp(1.7rem, 4vw, 2.5rem); }
.cms-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.cms-gallery figure { min-width: 0; margin: 0; }
.cms-gallery img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.cms-crop-top img { object-position: center top; }
.cms-crop-bottom img { object-position: center bottom; }
@media (max-width: 760px) {
  .cms-managed-block.cms-spacing-generous > .section { padding-block: 3.5rem; }
  .cms-managed-block .cta-panel { align-items: stretch; }
}
@media (forced-colors: active) {
  .cms-statistics > div,
  .cms-divider { border-color: CanvasText; }
}
