/* B06. Load after the existing Webflow styles. Native nodes/classes remain. */
[data-bv-layout="product-b"] > .bv-campaign-banner { background:#ff6c0a; color:#ffffff; }
[data-bv-layout="product-b"] [data-calendar-panel]:not([hidden]) { display:block; width:min(660px,calc(100vw - 48px)); max-width:none; left:auto; right:0; padding:20px; }
[data-bv-layout="product-b"] .calendar-month-weekdays { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; font-size:12px; }
[data-bv-layout="product-b"] .calendar-day { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:56px; font-size:14px; line-height:20px; }
[data-bv-layout="product-b"] .calendar-day-price { font-size:11px; line-height:16px; }
[data-bv-layout="product-b"] .calendar-month-title { font-size:16px; line-height:24px; margin-bottom:12px; }
[data-bv-layout="product-b"] .quick-gallery__video-frame { display:block; width:100%; height:auto; aspect-ratio:16/9; max-height:100%; border:0; }
[data-bv-layout="product-b"] .quote-calc-option-card:not([hidden]) { display:grid; grid-template-columns:72px minmax(0,1fr); gap:12px 16px; align-items:start; padding:16px; }
[data-bv-layout="product-b"] .quote-calc-option-image { grid-column:1; grid-row:1 / 3; width:72px; height:72px; object-fit:cover; border-radius:10px; }
[data-bv-layout="product-b"] .quote-calc-option-body { grid-column:2; min-width:0; }
[data-bv-layout="product-b"] .quote-calc-option-title { margin:0 0 6px; font-size:16px; line-height:22px; }
[data-bv-layout="product-b"] .quote-calc-option-description { margin:0; font-size:13px; line-height:20px; }
[data-bv-layout="product-b"] .quote-calc-option-side { grid-column:2; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
[data-bv-layout="product-b"] .quote-calc-option-price { font-size:14px; line-height:20px; }
[data-bv-layout="product-b"] .quote-calc-option-price-label { display:inline; font-size:11px; }
[data-bv-layout="product-b"] .quote-calc-option-select { min-height:40px; padding:8px 12px; font-size:13px; line-height:20px; }
[data-bv-layout="product-b"] .quote-calc-background-preview { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
[data-bv-layout="product-b"] .quote-calc-background-swatch { min-height:44px; padding:8px; font-size:12px; line-height:18px; white-space:normal; }
[data-bv-layout="product-b"] .quote-calc-option-card:has(.quote-calc-background-preview) .quote-calc-option-body { grid-column:1 / -1; order:-1; }
[data-bv-layout="product-b"] .quote-calc-option-card:has(.quote-calc-background-preview) .quote-calc-option-side { grid-column:1 / -1; }
[data-bv-layout="product-b"] [data-risk-card] { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:10px; align-items:center; }
[data-bv-layout="product-b"] [data-risk-card][data-risk-selected="true"] { border-color:#ff6c0a; background:#fff7f1; }
[data-bv-layout="product-b"] input[name="eigen-risico"] { appearance:auto; width:20px; min-width:20px; height:20px; margin:0; padding:0; position:static; opacity:1; accent-color:#ff6c0a; }
[data-bv-layout="product-b"] :is(#date-step,#options-step,#risk-step) { scroll-margin-top:calc(var(--bv-campaign-bar-height,0px) + 24px); }
[data-bv-layout="product-b"] .bvpb-product-price-row { display:flex; justify-content:space-between; gap:16px; padding:5px 0; }
[data-bv-layout="product-b"] .quote-calc-option-card-selected { border-color:#c5cbd6; background:#f3f4f6; }
[data-bv-layout="product-b"] .quote-calc-background-swatch-selected { border-color:#c5cbd6; background:#f3f4f6; }
[data-bv-layout="product-b"] .bvpb-flow-button:disabled { background:#ff6c0a; color:#fff; opacity:1; }
[data-bv-layout="product-b"] .quick-gallery__thumb-item { width:100%; }
[data-bv-layout="product-b"] .quick-gallery__thumb-link { display:block; width:100%; aspect-ratio:1; border-radius:12px; overflow:hidden; }
[data-bv-layout="product-b"] .quick-gallery__thumb-image { width:100%; height:100%; object-fit:cover; }
[data-bv-layout="product-b"] [data-gallery-thumb].is-active { outline:2px solid #ff6c0a; outline-offset:-2px; }
@media (max-width:767px) { [data-bv-layout="product-b"] [data-bv-primary-nav].bvpb-menu-open { display:flex; position:absolute; left:0; right:0; top:100%; background:white; padding:20px; z-index:30; } }

[data-bv-layout="product-b"] :is(.bvpb-nov26-131,.bvpb-nov26-234) { background:#f3f4f6; border-radius:12px; padding:16px; margin:16px 0; }
[data-bv-layout="product-b"] .bvpb-flow-button[aria-disabled="true"] { background:#ff6c0a; color:#fff; opacity:1; cursor:pointer; }
[data-bv-checkout="product-b"].quote-calc-page[data-b06] .quote-calc-summary-card { background:#e8edf3; border:1px solid #cbd3df; box-shadow:0 12px 28px rgba(9,23,71,.10); }
[data-bv-checkout="product-b"] [data-contact-next], [data-bv-checkout="product-b"] [data-contact-next]:disabled { background:#ff6c0a; color:#fff; opacity:1; cursor:pointer; }
[data-bv-checkout="product-b"] [data-risk-card] { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:10px; }
[data-bv-checkout="product-b"].quote-calc-page[data-b06] [data-risk-card][data-risk-selected="true"] { border-color:#c5cbd6; background:#fff; }
[data-bv-checkout="product-b"] input[name="eigen-risico"] { appearance:auto; width:20px; height:20px; margin:0; accent-color:#ff6c0a; position:static; opacity:1; }

[data-bv-layout="product-b"][data-b06] .bvpb-action-message, [data-bv-checkout="product-b"][data-b06] .bvpb-action-message { grid-column:1 / -1; color:#091747; background:transparent; border:0; padding:0; margin:0 0 10px; font-size:14px; line-height:22px; font-weight:600; }
[data-bv-layout="product-b"] .bvpb-nov26-477 .bvpb-action-message { grid-row:1; }
[data-bv-layout="product-b"] .bvpb-nov26-477:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr) minmax(165px,auto); align-items:center; gap:15px; position:fixed; z-index:25; bottom:0; left:0; right:0; background:#fff; padding:12px 18px max(12px,env(safe-area-inset-bottom)); border-top:1px solid #e4e7ed; }
[data-bv-layout="product-b"][data-b06] [data-bv-needs-input="true"], [data-bv-checkout="product-b"][data-b06] [data-bv-needs-input="true"] { outline:2px solid #ff6c0a; outline-offset:4px; border-radius:8px; }

.price-checker[data-b06], .quote-calc-page[data-b06] {
  color: #091747;
  font-family: Opensans, 'Open Sans', Verdana, sans-serif;
  font-size: 16px;
  line-height: 24px;
}
[data-b06] *, [data-b06] *::before, [data-b06] *::after { box-sizing: border-box; }
[data-b06] [hidden] { display: none !important; }
[data-b06] button, [data-b06] input, [data-b06] select { font: inherit; }
[data-b06] button { cursor: pointer; }
/* Readonly prevents typing; calendar availability is controlled by the location gate. */
[data-b06] [data-calendar-input="date"][aria-disabled="false"]:not(:disabled) { cursor: pointer; }
[data-b06] button:disabled { cursor: default; opacity: .5; }
[data-b06] :is(button, a, input, select, summary):focus-visible,
[data-b06] .calendar-day:focus-visible { outline: 2px solid #009EEA; outline-offset: 2px; }
[data-b06] .button-green { min-height: 44px; background: #00B900; border: 0; color: white; }
[data-b06] .button-green:hover:not(:disabled) { background: #008500; }
/* Incomplete steps stay reachable for validation; submission locks stay native-disabled. */
.quote-calc-page[data-b06] :is([data-calculator-navigation] .button-green,.quote-calc-mobile-next)[aria-disabled="true"]:not(:disabled) {
  pointer-events: auto; cursor: pointer; opacity: .5;
}
.quote-calc-page[data-b06] { background: #f7f7f7; min-width: 0; }
.quote-calc-page[data-b06]:not([data-summary-revealed="true"]) .quote-calc-summary-card { filter: blur(6px); pointer-events: none; user-select: none; }
.quote-calc-page[data-b06] .quote-calc-topbar { background: #FF6C0A; color: #091747; }
.quote-calc-page[data-b06] :is(.quote-calc-card,.quote-calc-summary-card,.quote-calc-nav-card) { color: #091747; background: white; border-radius: 18px; }
.quote-calc-page[data-b06] :is(.quote-calc-shell,.quote-calc-main,.quote-calc-options-screen,.quote-calc-option-list,.quote-calc-options-list) {
  height: auto; min-height: 0; min-width: 0; overflow: visible;
}
.quote-calc-page[data-b06] :is(.quote-calc-options-screen,.quote-calc-risk-screen,.quote-calc-contact-screen):not([hidden]) { display: block; }
.quote-calc-page[data-b06] :is(.quote-calc-product-image,.quote-calc-summary-prices,.quote-calc-included,.quote-calc-payment-note,.quote-calc-mobile-label,.quote-calc-mobile-price,.quote-calc-mobile-details) {
  filter: none; pointer-events: auto; user-select: auto;
}
.quote-calc-page[data-b06]:not([data-summary-revealed="true"]) :is(.quote-calc-mobile-label,.quote-calc-mobile-price,.quote-calc-mobile-details) { filter: blur(6px); pointer-events: none; user-select: none; }
.quote-calc-page[data-b06] .bv-flow-progress { display: flex; align-items: center; gap: 16px; flex: none; margin-bottom: 8px; color: #091747; }
.quote-calc-page[data-b06] .quote-calc-step-label { display: none; }
.quote-calc-page[data-b06] .bv-flow-progress-caption { flex: none; margin: 0; white-space: nowrap; font-size: 13px; line-height: 20px; color: #5B5B5B; }
.quote-calc-page[data-b06] .bv-flow-progress-segments { display: flex; flex: 1; min-width: 0; gap: 8px; list-style: none; margin: 0; padding: 0; }
.quote-calc-page[data-b06] .bv-flow-progress-segments li { flex: 1; min-width: 0; font-size: 13px; line-height: 20px; color: #5B5B5B; overflow-wrap: anywhere; }
.quote-calc-page[data-b06] .bv-flow-progress-segments li::before { content: ''; display: block; height: 4px; margin-bottom: 4px; border-radius: 3px; background: #D9D9D9; }
.quote-calc-page[data-b06] .bv-flow-progress-segments [data-status="current"] { color: #091747; font-weight: 600; }
.quote-calc-page[data-b06] .bv-flow-progress-segments [data-status="current"]::before { background: #091747; }
.quote-calc-page[data-b06] .bv-flow-progress-segments [data-status="done"]::before { background: #008500; }
.quote-calc-page[data-b06] .quote-calc-option-card:not([hidden]) {
  display: grid !important; height: auto; min-height: 0; overflow: visible;
  grid-template-columns: 148px minmax(0,1fr) auto; gap: 16px; padding: 16px;
  border: 2px solid #D9D9D9; border-radius: 18px; background: white;
}
.quote-calc-page[data-b06]:not([data-bv-checkout="product-b"]) :is(.quote-calc-option-card-selected,.quote-calc-risk-option-selected) {
  background: #EEF8EE !important; border: 2px solid #008500 !important;
}
.quote-calc-page[data-b06] .quote-calc-option-select { display: inline-flex; gap: 8px; align-items: center; min-width: 44px; min-height: 44px; padding: 8px; border: 0; background: transparent; color: #091747; }
.quote-calc-page[data-b06] .quote-calc-option-select-dot { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid #D9D9D9; border-radius: 50%; flex: none; }
.quote-calc-page[data-b06] .quote-calc-option-select[aria-pressed="true"] .quote-calc-option-select-dot { background: #008500; border-color: #008500; color: white; }
.quote-calc-page[data-b06] .quote-calc-option-select[aria-pressed="true"] .quote-calc-option-select-dot::after { content: '✓'; font-size: 16px; font-weight: 600; }
.quote-calc-page[data-b06] .quote-calc-background-swatch { min-width: 44px; min-height: 44px; white-space: normal; }
.quote-calc-page[data-b06] .quote-calc-background-swatch[aria-pressed="true"] { border: 2px solid #008500; background: #EEF8EE; color: #091747; }
.quote-calc-page[data-b06] :is(.quote-calc-summary-row,.quote-calc-summary-total-row) { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 16px; }
.quote-calc-page[data-b06] :is(.quote-calc-summary-row,.quote-calc-summary-total-row) > :last-child { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.quote-calc-page[data-b06] [data-calculator-option-lines] .quote-calc-summary-row { padding-inline-end: 16px; }
.quote-calc-page[data-b06] .quote-calc-summary-option-price { font-weight: 400; }
.quote-calc-page[data-b06] .bv-flow-summary-total-group { border-top: 1px solid #001a4d1f; margin-top: 10px; padding-top: 12px; }
.quote-calc-page[data-b06] .bv-flow-summary-total-group .quote-calc-summary-total-row { border-top: 0; margin-top: 0; padding-top: 5px; }
.quote-calc-page[data-b06] :is(.quote-calc-option-body,.quote-calc-option-side,.quote-calc-option-title,.quote-calc-option-description) { min-width: 0; overflow-wrap: anywhere; }
.quote-calc-page[data-b06] .quote-calc-option-image { max-width: 100%; width: 100%; height: auto; border-radius: 8px; }
.quote-calc-page[data-b06] .quote-calc-lightletters-config { grid-column: 1 / -1; width: 100%; }
.quote-calc-page[data-b06] .quote-calc-lightletters-config:not([hidden]) { display: block; }
.price-checker[data-b06] [data-price-checker-result]:not([hidden]) { display: block; }
.quote-calc-page[data-b06] .quote-calc-risk-option { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 16px; border: 2px solid #D9D9D9; background: white; border-radius: 18px; min-height: 44px; }
.quote-calc-page[data-b06] .quote-calc-risk-price { grid-column: auto; text-align: right; }
.quote-calc-page[data-b06] .quote-calc-risk-title { color: #091747; }
.quote-calc-page[data-b06] .bv-flow-risk-detail { display: block; color: #5B5B5B; font-size: 13px; line-height: 20px; margin-top: 4px; }
.quote-calc-page[data-b06] .quote-calc-risk-radio { appearance: auto; accent-color: #008500; width: 24px; height: 24px; min-width: 24px; position: static; opacity: 1; }
.quote-calc-page[data-b06] .quote-calc-contact-field { display: flex; flex-direction: column; min-width: 0; width: 100%; }
.quote-calc-page[data-b06] .quote-calc-contact-label { color: #091747; margin-bottom: 8px; }
.quote-calc-page[data-b06] :is(.quote-calc-contact-input,.quote-calc-lightletters-input) { width: 100%; min-width: 0; min-height: 52px; font-size: 16px; line-height: 24px; }
.quote-calc-page[data-b06] [aria-invalid="true"] { border-color: #bc2626; }
.bv-flow-field-error { color: #bc2626; margin: 4px 0 16px; }
[data-b06] .bv-flow-message { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 16px; color: #091747; }
[data-b06] .bv-flow-message span { overflow-wrap: anywhere; }
[data-b06] .bv-flow-retry { padding: 8px 16px; }
[data-b06] .bv-flow-contact { color: #091747; text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
[data-b06] .bv-flow-spinner { flex: none; width: 20px; height: 20px; border: 2px solid #D9D9D9; border-top-color: #091747; border-radius: 50%; animation: bv-flow-spin .8s linear infinite; }
@keyframes bv-flow-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { [data-b06] .bv-flow-spinner { animation: none; border-right-color: #091747; } }
[data-b06] .bv-flow-scarcity-day { color: #f03b3b; font-size: 20px; line-height: 28px; }
[data-b06] .bv-flow-scarcity-summary { color: #091747; font-size: 13px; line-height: 20px; margin: 4px 0 16px; }
[data-b06] .bv-flow-change-date { color: #091747; background: transparent; border: 0; text-decoration: underline; min-height: 44px; padding: 8px 0; }
.price-checker[data-b06] :is(.calendar-days,.calendar-weekdays) { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.price-checker[data-b06] .calendar-months { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.price-checker[data-b06] .calendar-month { min-width: 0; }
.price-checker[data-b06] .calendar-day { min-height: 44px; padding: 4px 0; border: 0; background: transparent; color: #091747; min-width: 0; }
.price-checker[data-b06] .calendar-day.is-selected { background: #DCF0FB; outline: 2px solid #009EEA; outline-offset: -2px; }
.price-checker[data-b06] .calendar-day:disabled { opacity: 1; color: #777; }
.price-checker[data-b06] .calendar-day-price { font-size: 12px; line-height: 16px; white-space: nowrap; }
.price-checker[data-b06] .calendar-day-price.is-cheapest { color: #00B900; font-weight: 600; }
.price-checker[data-b06] .calendar-day-price.is-unavailable { color: #777; text-decoration: line-through; }
.price-checker[data-b06] .calendar-nav-button { min-width: 44px; min-height: 44px; }
.price-checker[data-b06] .calendar-load-error { grid-column: 1 / -1; padding: 16px; }
.price-checker[data-b06] .calendar-load-error__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.price-checker[data-b06] .calendar-mobile-dialog:not([open]) { display: none; }
@media (max-width: 991px) {
  .quote-calc-page[data-b06] .quote-calc-option-card:not([hidden]) { grid-template-columns: 110px minmax(0,1fr); }
  .quote-calc-page[data-b06] .quote-calc-option-side { grid-column: 2; }
}
@media (max-width: 767px) {
  .quote-calc-page[data-b06] { padding-bottom: calc(var(--bv-bar-height, 100px) + 24px + env(safe-area-inset-bottom)); }
  .quote-calc-page[data-b06] .quote-calc-shell { display: flex; flex-direction: column; padding: 16px; gap: 16px; width: 100%; }
  .quote-calc-page[data-b06] .quote-calc-main { width: 100%; }
  .quote-calc-page[data-b06] .quote-calc-summary { position: static !important; inset: auto !important; transform: none !important; width: 100%; max-height: none; overflow: visible; z-index: auto; opacity: 1; visibility: visible; }
  .quote-calc-page[data-b06] .quote-calc-summary-card { max-height: none; overflow: visible; }
  .quote-calc-page[data-b06] .quote-calc-mobile-bar { position: fixed; bottom: 0; left: 0; right: 0; width: 100%; max-width: 100%; padding: 8px 16px max(8px,env(safe-area-inset-bottom)); background: white; z-index: 30; display: flex; flex-wrap: wrap; gap: 8px; }
  .quote-calc-page[data-b06] .quote-calc-mobile-bar.bv-bar-concealed { visibility: hidden; pointer-events: none; }
  .quote-calc-page[data-b06] .quote-calc-mobile-details { background: transparent; border: 0; color: #091747; min-height: 44px; }
  .quote-calc-page[data-b06] .quote-calc-nav-card { display: flex; flex-wrap: wrap; gap: 16px; }
  /* Keep native step actions only while the pinned bar is concealed during input. */
  .quote-calc-page[data-b06].bv-mobile-nav-pinned [data-calculator-navigation] { display: none !important; }
  .quote-calc-page[data-b06] .quote-calc-contact-form-inner { display: flex; flex-direction: column; }
  .price-checker[data-b06] .calendar-mobile-dialog[open] { position: fixed; inset: 0; margin: 0; padding: 0; border: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; overflow: hidden; background: white; color: #091747; }
  .price-checker[data-b06] .calendar-mobile-dialog::backdrop { background: white; }
  .price-checker[data-b06] .calendar-mobile-dialog [data-calendar-panel] { position: relative !important; inset: auto !important; transform: none !important; width: 100% !important; min-width: 0; max-width: none !important; height: 100%; max-height: none; border: 0; border-radius: 0; margin: 0; padding: 0 4px max(24px,env(safe-area-inset-bottom)); display: block !important; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; }
  .price-checker[data-b06] .calendar-mobile-dialog .calendar-months { display: flex !important; flex-direction: column; gap: 24px; }
  .price-checker[data-b06] .calendar-mobile-dialog .calendar-month { display: block !important; width: 100%; }
  .price-checker[data-b06] .calendar-mobile-dialog [data-calendar-nav] { display: none; }
  .price-checker[data-b06] .calendar-mobile-header { position: sticky; top: 0; z-index: 2; background: white; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: max(8px,env(safe-area-inset-top)) 8px 8px; }
  .price-checker[data-b06] .calendar-mobile-more { display: block; margin: 16px auto; }
  .price-checker[data-b06] :is(.calendar-days,.calendar-weekdays) { gap: 0; }
}
@media (max-width: 479px) {
  .quote-calc-page[data-b06] .quote-calc-shell { padding: 8px; }
  .quote-calc-page[data-b06] .quote-calc-option-card:not([hidden]) { grid-template-columns: 88px minmax(0,1fr); gap: 8px; padding: 8px; }
  .quote-calc-page[data-b06] .quote-calc-card { padding: 16px; }
  .quote-calc-page[data-b06] .quote-calc-risk-option { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px; }
}

/* Keep desktop step actions in the viewport; only the step contents scroll. */
@media (min-width: 768px) {
  .quote-calc-page[data-b06] { display: flex; flex-direction: column; height: 100dvh; min-height: 0; overflow: hidden; }
  .quote-calc-page[data-b06] .quote-calc-topbar { flex: none; }
  .quote-calc-page[data-b06] .quote-calc-shell { flex: 1; max-width: 1136px; grid-template-rows: minmax(0,1fr); align-items: stretch; min-height: 0; overflow: hidden; }
  .quote-calc-page[data-b06] .quote-calc-shell > .bv-flow-progress { grid-column: 1 / -1; margin: 0; }
  .quote-calc-page[data-b06] .quote-calc-shell.bv-progress-visible { grid-template-rows: auto minmax(0,1fr); row-gap: 8px; padding-top: 16px; }
  .quote-calc-page[data-b06] .quote-calc-shell.bv-progress-visible > :is(.quote-calc-summary,.quote-calc-main) { grid-row: 2; }
  .quote-calc-page[data-b06] .quote-calc-main { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
  .quote-calc-page[data-b06] .quote-calc-main > [data-price-calculator-screen]:not([hidden]) {
    display: flex; flex-direction: column; flex: 0 1 auto; min-height: 0; overflow: hidden;
  }
  .quote-calc-page[data-b06] :is(.quote-calc-main,[data-price-calculator-screen]) > .quote-calc-card {
    flex: 0 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain;
  }
  .quote-calc-page[data-b06] .quote-calc-options-screen > .quote-calc-card {
    display: flex; flex-direction: column; overflow: hidden;
  }
  .quote-calc-page[data-b06] .quote-calc-options-screen > .quote-calc-card > :not(.quote-calc-options-list) { flex: none; }
  .quote-calc-page[data-b06] .quote-calc-options-list {
    display: flex; flex-direction: column; flex: 0 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain;
    scrollbar-gutter: stable; padding: 4px 8px 4px 4px; scroll-padding-block: 4px;
  }
  .quote-calc-page[data-b06] .quote-calc-options-list > .quote-calc-option-card { flex: none; }
  .quote-calc-page[data-b06] [data-calculator-navigation] { flex: none; }
  .quote-calc-page[data-b06] .quote-calc-summary { min-height: 0; max-height: 100%; overflow-y: auto; }
}
@media (min-width: 768px) and (max-height: 600px) {
  .quote-calc-page[data-b06] .quote-calc-shell { padding-top: 8px; padding-bottom: 8px; }
  .quote-calc-page[data-b06] .quote-calc-card { padding: 16px 24px; }
  .quote-calc-page[data-b06] [data-calculator-navigation] { padding: 12px 20px; }
}


/* 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:minmax(100px,1fr) minmax(0,4fr) minmax(100px,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}}


/* B input fields use the existing calendar/information grey. */
[data-bv-layout="product-b"][data-b06] :is([data-location-autocomplete],[data-calendar-input="date"],[data-lightletters-input]),
[data-bv-checkout="product-b"].quote-calc-page[data-b06] :is(.quote-calc-contact-input,.quote-calc-lightletters-input) { background-color:#f3f4f6; }

