.bom-commercial-panel-group{box-sizing:border-box;width:auto;max-width:none;margin:var(--bom-cpg-mt,0) var(--bom-cpg-mr,0) var(--bom-cpg-mb,0) var(--bom-cpg-ml,0);padding:var(--bom-cpg-pt,0) var(--bom-cpg-pr,0) var(--bom-cpg-pb,0) var(--bom-cpg-pl,0);background:var(--bom-cpg-bg,transparent);border:var(--bom-cpg-border-width,0) solid var(--bom-cpg-border-color,transparent);border-radius:var(--bom-cpg-radius,0);box-shadow:var(--bom-cpg-shadow,none)}

/* Sticky groups only: preserve clipping without allowing overflow:hidden ancestors
   to become the sticky scrolling container. Applied at runtime only to confirmed
   hidden-overflow ancestors of an active Sticky Scroll Stack. */
.bom-cpg-sticky-overflow-bridge {
    overflow: clip !important;
}
.bom-cpg-track{display:flex;flex-direction:column;gap:var(--bom-cpg-gap,24px)}
.bom-cpg-item{position:relative;min-width:0}
.bom-cpg-item-shift{transform:translate3d(0,var(--bom-cpg-visual-shift,0px),0);will-change:transform}
.bom-cpg-mode-sticky_stack .bom-cpg-track{gap:0}
.bom-cpg-mode-sticky_stack .bom-cpg-track::after{content:"";display:block;flex:0 0 var(--bom-cpg-final-runway,0px);height:var(--bom-cpg-final-runway,0px);pointer-events:none}
.bom-cpg-mode-sticky_stack .bom-cpg-item{position:sticky;top:calc(var(--bom-cpg-sticky-top,80px) + (var(--bom-cpg-index) * var(--bom-cpg-overlap,24px)));z-index:calc(10 + var(--bom-cpg-index));margin-bottom:var(--bom-cpg-flow-margin,var(--bom-cpg-gap,24px));transform-origin:center top;transform:scale(var(--bom-cpg-render-scale,1));opacity:var(--bom-cpg-render-opacity,1)}
.bom-cpg-mode-sticky_stack .bom-cpg-item.is-covered{transform:scale(var(--bom-cpg-render-scale,1));opacity:var(--bom-cpg-render-opacity,1)}
.bom-cpg-mode-sticky_stack .bom-cpg-item.is-fully-covered{visibility:hidden;pointer-events:none}
.bom-cpg-mode-sticky_stack .bom-cpg-item.is-fully-covered .bom-cpg-item-shift{pointer-events:none}
@media(max-width:1024px){.bom-cpg-tablet-standard .bom-cpg-item{position:relative!important;top:auto!important;margin-bottom:var(--bom-cpg-gap,24px)!important;transform:none!important;opacity:1!important}.bom-cpg-tablet-standard .bom-cpg-track{gap:0;--bom-cpg-final-runway:0px!important}.bom-cpg-tablet-standard .bom-cpg-track::after{display:none}.bom-cpg-tablet-sticky_stack .bom-cpg-item{position:sticky}}
@media(max-width:767px){.bom-cpg-mobile-standard .bom-cpg-item{position:relative!important;top:auto!important;margin-bottom:var(--bom-cpg-gap,24px)!important;transform:none!important;opacity:1!important}.bom-cpg-mobile-standard .bom-cpg-track{gap:0;--bom-cpg-final-runway:0px!important}.bom-cpg-mobile-standard .bom-cpg-track::after{display:none}.bom-cpg-mobile-sticky_stack .bom-cpg-item{position:sticky}}
@media(prefers-reduced-motion:reduce){.bom-commercial-panel-group .bom-cpg-item{transition:none!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}.bom-commercial-panel-group .bom-cpg-item-shift{transform:none!important}}

/* Group containment: full-width Commercial Panels remain full-width when standalone,
   but must respect the Commercial Panel Group boundary when used as group children. */
.bom-commercial-panel-group .bom-commercial-panel-width-full {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Temporary sticky-layout diagnostic. Fixed positioning avoids changing the group or scroll geometry. */
.bom-cpg-diagnostic{position:fixed;left:18px;bottom:18px;z-index:2147483000;font-family:Arial,sans-serif;font-size:13px;line-height:1.4}
.bom-cpg-diagnostic-toggle,.bom-cpg-diagnostic-copy,.bom-cpg-diagnostic-close{border:1px solid #5f4b8b;border-radius:7px;background:#fff;color:#3f2f66;padding:8px 12px;font-weight:700;cursor:pointer}
.bom-cpg-diagnostic-toggle{box-shadow:0 4px 18px rgba(0,0,0,.16)}
.bom-cpg-diagnostic-panel{position:absolute;left:0;bottom:46px;width:min(760px,calc(100vw - 36px));max-height:min(70vh,720px);overflow:auto;background:#fff;border:1px solid #d9d5e3;border-radius:10px;box-shadow:0 12px 38px rgba(0,0,0,.22);padding:14px;color:#1c3622}
.bom-cpg-diagnostic-panel[hidden]{display:none!important}
.bom-cpg-diagnostic-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.bom-cpg-diagnostic-actions>div{display:flex;gap:8px;flex-wrap:wrap}
.bom-cpg-diagnostic-output{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.45 Consolas,Monaco,monospace;background:#f7f7f8;border:1px solid #e0e0e0;border-radius:7px;padding:12px;color:#222}
