/* 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:0; padding:0; margin:16px 0; min-width:0; width:100%; font-size:14px; line-height:20px; }
.bv-campaign-terms legend { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
.bv-campaign-consent-row { display:flex; flex-wrap:wrap; align-items:center; gap:0 8px; margin:4px 0; }
.bv-campaign-terms label { display:flex; align-items:center; min-height:44px; gap:8px; margin:0; }
.bv-campaign-consent-row [data-campaign-terms] { font:inherit; min-height:44px; padding: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; }
}
/* Campaign order fields share the existing contact inputs and action owner. */
.bv-order-topics { width:100%; display:flex; flex-direction:column; gap:16px; }
.bv-order-topics[hidden], .bv-order-saving[hidden], .bv-order-content [hidden] { display:none!important; }
.bv-order-topic { border:1px solid #D9D9D9; border-radius:8px; min-width:0; }
.bv-order-topic summary { position:relative; color:#091747; background:#DCF0FB; border-radius:8px; font-weight:700; padding:16px 48px 16px 16px; min-height:56px; cursor:pointer; list-style:none; }
.bv-order-topic summary::-webkit-details-marker { display:none; }
.bv-order-topic summary::after { content:""; position:absolute; right:20px; top:22px; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.bv-order-topic[open] > summary { border-radius:8px 8px 0 0; }
.bv-order-topic[open] > summary::after { transform:rotate(225deg); top:26px; }
.bv-order-topic summary small { display:block; margin-top:4px; font-weight:400; font-size:14px; }
.bv-order-topic summary:focus-visible { outline:3px solid #009EEA; outline-offset:3px; }
.bv-order-content { padding:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.bv-order-content > .quote-calc-contact-field { grid-column:1/-1; }
.bv-order-content > [data-order-contact="quote-contact-first-name"], .bv-order-content > [data-order-contact="quote-contact-last-name"], .bv-order-content > [data-order-field="billingPostalCode"], .bv-order-content > [data-order-field="billingHouseNumber"], .bv-order-content > [data-order-field="deliveryPostalCode"], .bv-order-content > [data-order-field="deliveryHouseNumber"] { grid-column:auto; }
.bv-order-topic-save { grid-column:1/-1; justify-self:end; min-height:44px; padding:8px 24px; font:inherit; cursor:pointer; }
.bv-order-content > h3, .bv-order-content > fieldset, .bv-order-content > .bv-flow-message { grid-column:1/-1; }
.bv-order-content h3 { margin:8px 0 0; font-size:16px; line-height:24px; }
.bv-order-customer-kind { display:flex; flex-wrap:wrap; gap:8px 24px; border:0; padding:0; margin:0; }
.bv-order-customer-kind legend { font-size:14px; margin-bottom:8px; }
.bv-order-customer-kind label { display:flex; align-items:center; gap:8px; min-height:44px; margin:0; cursor:pointer; }
.bv-order-customer-kind input { width:20px; height:20px; margin:0; accent-color:#00B900; }
[data-bv-campaign-active="true"] .quote-calc-contact-form-inner { display:flex; flex-direction:column; align-items:stretch; gap:0; }
[data-bv-campaign-active="true"] .quote-calc-contact-form-inner > [data-contact-next] { width:100%; min-height:52px; white-space:normal; line-height:24px; text-align:center; }
.bv-order-saving { width:100%; margin:8px 0 0; text-align:center; color:#091747; font-size:14px; line-height:20px; }
[data-bv-order-contact="true"] .quote-calc-mobile-next { display:none!important; }
@media(max-width:479px) { .bv-order-content { grid-template-columns:minmax(0,1fr); } }
.w-form:has(> [data-campaign-storage-form="true"]) { display:none!important; }
