/* 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; }

/* Full-screen campaign popup; one layout for desktop and mobile. */
.bv-campaign-popup{box-sizing:border-box;position:fixed;inset:0;margin:0;padding:72px 24px 40px;border:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 10% 15%,#454545 0,transparent 30%),radial-gradient(ellipse at 100% 90%,#555 0,transparent 30%),linear-gradient(145deg,#080808,#202020 35%,#050505 55%,#333 75%,#080808);color:#fff;font-family:Opensans,'Open Sans',Verdana,sans-serif;text-align:center}
.bv-campaign-popup[open]{display:flex;align-items:center;justify-content:center}.bv-campaign-popup::backdrop{background:#000}.bv-campaign-popup-background{position:absolute;inset:0;pointer-events:none;background-position:center;background-size:cover}
.bv-campaign-popup-content{position:relative;z-index:1;width:100%;max-width:510px;margin:auto}.bv-campaign-popup-logo{display:block;width:170px;max-width:45%;height:auto;margin:0 auto 28px;background:transparent;padding:0;border:0;border-radius:0;box-sizing:content-box}
.bv-campaign-popup-badge{display:inline-block;padding:6px 12px;border-radius:5px;background:#fff;color:#111;font-weight:700;margin:0 0 16px}.bv-campaign-popup h2{color:#ffc107;font-size:clamp(30px,4vw,52px);line-height:1.15;margin:0 0 20px}.bv-campaign-popup #bv-campaign-popup-text{font-size:20px;line-height:1.5;white-space:pre-line;margin:0 0 28px}
.bv-campaign-popup-close{position:fixed;z-index:3;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:48px;height:48px;line-height:40px;font-size:42px;color:#fff;background:#111b;border:0;border-radius:50%;cursor:pointer}
.bv-campaign-popup-form label{display:block;text-align:left;font-size:14px;color:#fff;font-weight:600}.bv-campaign-popup-form input{box-sizing:border-box;width:100%;height:62px;margin:8px 0 16px;padding:16px;border:2px solid #fff;border-radius:8px;background:#fff;color:#091747;font:inherit;font-size:18px}
.bv-campaign-popup-submit{display:block;width:100%;min-height:62px;border:0;border-radius:8px;background:#008500;color:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer}.bv-campaign-popup-submit:disabled{opacity:.65;cursor:wait}.bv-campaign-popup-skip{min-height:44px;margin:12px 0 0;background:none;color:#fff;border:0;text-decoration:underline;font:inherit;cursor:pointer}.bv-campaign-popup-note{font-size:12px;line-height:1.5;color:#ddd;margin:12px 0 0}.bv-campaign-popup-status{min-height:24px;font-size:15px;margin:12px 0 0;line-height:1.5}.bv-campaign-popup :focus-visible{outline:3px solid #009eea;outline-offset:4px}
@media(max-width:767px){.bv-campaign-popup{padding:80px 20px max(28px,env(safe-area-inset-bottom));align-items:flex-start}.bv-campaign-popup-content{max-width:480px}.bv-campaign-popup-logo{margin-bottom:24px}.bv-campaign-popup #bv-campaign-popup-text{font-size:18px}.bv-campaign-popup h2{font-size:34px}}
