/* Campaign additions share the existing typography and spacing. */
/* One campaign bar and one terms dialog; no per-checker banner. */
.bv-campaign-banner { position:sticky; top:0; z-index:1000; flex:none; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; padding:8px 16px; margin:0; color:#091747; background:#DCF0FB; }
[data-bv-campaign-active="true"] .usp-global { display:none!important; }
.quote-calc-page[data-b06] .bv-flow-summary-product-group { display:contents; }
.quote-calc-page[data-b06][data-bv-campaign-active="true"] .bv-flow-summary-product-group,
[data-bv-campaign-active="true"] .quote-calc-page[data-b06] .bv-flow-summary-product-group { display:block; border-bottom:1px solid #001a4d1f; padding-bottom:12px; margin-bottom:12px; }
[data-bv-campaign-active="true"] .bv-flow-summary-product-group .quote-calc-summary-row { padding-block:2px; }
[data-bv-campaign-active="true"] .bv-flow-summary-product-group .bv-flow-scarcity-summary { margin-bottom:0; }
[data-bv-campaign-active="true"] .product-main-nav-sticky { top:var(--bv-campaign-bar-height,0px); }
[data-bv-campaign-active="true"] .product-onpage-nav { top:calc(64px + var(--bv-campaign-bar-height,0px)); }
.bv-campaign-name { grid-column:2; text-align:center; font-weight:700; overflow-wrap:anywhere; }
.bv-campaign-banner > button { grid-column:3; justify-self:end; }
.bv-campaign-notice[hidden], .bv-campaign-banner[hidden], .bv-campaign-terms[hidden], .bv-campaign-old-price[hidden], [data-campaign-price-row][hidden], .quote-calc-payment-note[hidden] { display:none!important; }
.bv-campaign-notice { flex:none; }
.bv-campaign-old-price { margin-right:8px; color:#5B5B5B; font-size:16px; font-weight:400; }
.bv-campaign-reference { color:#5B5B5B; }
.bv-campaign-discounted { text-decoration:line-through; }
.bv-campaign-terms { border:1px solid #D9D9D9; border-radius:8px; padding:16px; margin:16px 0; }
.bv-campaign-consent-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:8px 0; }
.bv-campaign-terms label { display:flex; align-items:center; min-height:44px; gap:16px; margin:0; }
.bv-campaign-terms input { flex:0 0 20px; width:20px; height:20px; }
.bv-campaign-terms a, .bv-campaign-terms-button { color:#091747; text-decoration:underline; }
.bv-campaign-terms-button { min-height:44px; padding:8px; border:0; background:transparent; font:inherit; cursor:pointer; }
.bv-campaign-terms-button:disabled { cursor:default; opacity:.6; }
.bv-campaign-dialog { color:#091747; background:white; border:1px solid #D9D9D9; border-radius:16px; padding:24px; width:min(640px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; }
.bv-campaign-dialog::backdrop { background:rgba(9,23,71,.55); }
.bv-campaign-dialog h2 { margin:0 0 16px; }
.bv-campaign-terms-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.bv-campaign-close { min-width:44px; min-height:44px; margin-bottom:16px; padding:8px 16px; font:inherit; }
.bv-campaign-terms-button:focus-visible, .bv-campaign-close:focus-visible { outline:3px solid #091747; outline-offset:3px; }
@media(max-width:767px) {
  .bv-campaign-banner { grid-template-columns:minmax(0,1fr); gap:0; padding:4px 16px; }
  .bv-campaign-name, .bv-campaign-banner > button { grid-column:1; justify-self:center; }
  .bv-campaign-dialog { padding:16px; }
}