  div.cta-buttons {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      padding: 10px 0;
  }

  body.single-product .container-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: calc(100vh - 202px);
  }

  /* Hide site footer on the configurator page */
  body.single-product #footer-outer {
    display: none !important;
  }

  body.single-product .main-content {
    padding: 0;
    width: 100%;
    height: calc(100vh - 105px);
  }

  body.single-product .container {
    max-width: 100%;
  }

  body.single-product canvas {
    width: 100% !important;
    height: 100% !important;
  }

  #xpv-save-design-btn,
  .xpv-save-design-btn,
  [data-action="save-design"],
  .expivi-save-design button,
  button.save-design {
    text-transform: uppercase !important;
    background-color: var(--vlw-button-bg, #004A62) !important;
    color: var(--vlw-button-text, #fff) !important;
  }

  .step-btn,
  .step-btn * {
    text-transform: none !important;
    color: var(--vlw-button-text, #fff) !important;
  }
  .step-btn {
    background-color: var(--vlw-button-bg, #004A62) !important;
  }
  .step-btn .v-btn__content,
  .step-btn span {
    background-color: transparent !important;
  }
  .step-btn {
    margin-top: 20px !important;
  }
  .step-btn .v-icon,
  .step-btn .mdi,
  .step-btn .v-btn__append,
  .step-btn .v-btn__prepend,
  .step-btn svg {
    display: none !important;
  }

  /* "Ga terug" text-link inside sub-panels — small but very visible in Cubowood accent orange */
  .cubowood-ga-terug,
  .cubowood-ga-terug * {
    background-color: var(--vlw-accent, #CC965C) !important;
    color: #fff !important;
    text-decoration: none !important;
  }
  .cubowood-ga-terug {
    display: inline-block !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    margin: 4px 0 8px !important;
  }
  .cubowood-ga-terug:hover,
  .cubowood-ga-terug:focus {
    background-color: #b47f47 !important;
  }

  .single-product .submit,
  .single-product input[type="submit"],
  .single-product button[type="submit"] {
    background-color: var(--vlw-button-bg, #004A62) !important;
  }

  body[data-form-submit=regular] .container-wrap button[type=submit],
  body[data-form-submit=regular] .container-wrap input[type=submit] {
    padding: 12px 22px !important;
  }

  #xpv-save-my-design-form {
    display: block !important;
  }
  #xpv-save-design-btn {
    display: inline-block !important;
    width: auto !important;
    float: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px;
    text-align: center !important;
  }

  a#cubowood-view-pdf-btn,
  #cubowood-view-pdf-btn {
    display: inline-block !important;
    width: auto !important;
    margin-top: 10px;
    padding: 12px 22px !important;
    background-color: var(--vlw-button-bg, #004A62) !important;
    color: var(--vlw-button-text, #fff) !important;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase !important;
    font-weight: bold !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px;
    border-radius: 3px;
    box-sizing: border-box;
    transition: background-color 0.15s ease;
  }
  #cubowood-view-pdf-btn:hover {
    background-color: var(--vlw-accent, #CC965C) !important;
    color: var(--vlw-button-text, #fff) !important;
  }

  #cubowood-csv-links {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.6;
  }
  #cubowood-csv-links a {
    color: #fff !important;
    text-decoration: underline;
  }
  #cubowood-csv-links a:hover {
    color: var(--vlw-accent, #CC965C) !important;
  }

  #xpv-save-design-btn:hover,
  #xpv-save-design-btn:focus,
  .step-btn:hover,
  .step-btn:focus {
    box-shadow: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    background-color: var(--vlw-accent, #CC965C) !important;
    color: #fff !important;
  }

  .single-product .row > .product[data-gallery-style] .single-product-main-image, .single-product .product[data-gallery-style] .single-product-main-image {
    flex: 1 1 auto;
    margin-right: 0;
    margin-left: 0;
  }

  .single-product .single-product-main-image {
    order: 2;
  }

  .single-product .entry-summary {
    order: 1;
    width: 340px !important;
    box-sizing: border-box;
    background-color: var(--vlw-primary, #005D7B);
    position: sticky;
    top: 105px;
    align-self: flex-start;
    z-index: 10;
    padding-left: 60px;
    padding-right: 30px;
    padding-top: 50px;
    padding-bottom: 50px;
    height: calc(100vh - 105px);
    overflow-y: auto;
    margin-bottom: 0 !important;
    scrollbar-width: thin;
    scrollbar-color: var(--vlw-primary-dark, #004A62) transparent;
  }
  .single-product .entry-summary::-webkit-scrollbar {
    width: 8px;
  }
  .single-product .entry-summary::-webkit-scrollbar-track {
    background: transparent;
  }
  .single-product .entry-summary::-webkit-scrollbar-thumb {
    background-color: var(--vlw-primary-dark, #004A62);
    border-radius: 4px;
  }
  .single-product .entry-summary::-webkit-scrollbar-thumb:hover {
    background-color: var(--vlw-accent, #CC965C);
  }

  .single-product .product[data-gallery-style] {
    min-height: calc(100vh - 105px);
  }

  @media (min-width: 992px) {
    .single-product .viewer {
      height: calc(100vh - 105px) !important;
      min-height: calc(100vh - 105px) !important;
    }
  }

  /* MOBILE: hide sidebar by default, show 3D viewer, toggle sidebar with button */
  @media (max-width: 991px) {
    body #header-outer,
    body #header-outer .container,
    body #header-outer .row {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }
    body #header-outer #mobile-menu {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }
    /* Neutralize any transform on ancestors so position:fixed on sidebar escapes them */
    body.single-product #ajax-content-wrap,
    body.single-product .container-wrap,
    body.single-product .main-content,
    body.single-product #primary,
    body.single-product .product,
    body.single-product .type-product {
      transform: none !important;
      perspective: none !important;
      filter: none !important;
    }
    .single-product .entry-summary {
      display: block !important;
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      height: 100vh !important;
      max-height: 100vh !important;
      z-index: 99997 !important;
      transform: translateX(-100%) !important;
      transition: transform .3s ease !important;
      padding: 60px 24px 40px !important;
      overflow-y: auto !important;
      visibility: visible !important;
      opacity: 1 !important;
    }
    body.cubowood-sidebar-open .single-product .entry-summary {
      transform: translateX(0) !important;
    }
    body.cubowood-sidebar-open {
      overflow: hidden;
    }
    #cubowood-sidebar-close {
      position: absolute;
      top: 14px;
      right: 16px;
      background: transparent;
      color: #fff;
      border: 0;
      font-size: 34px;
      line-height: 1;
      cursor: pointer;
      z-index: 2;
      padding: 4px 10px;
    }
    #cubowood-sidebar-toggle {
      position: fixed;
      top: var(--cubowood-header-h, 75px);
      left: 0;
      right: 0;
      width: 100%;
      z-index: 99996;
      background: var(--vlw-primary, #005D7B) !important;
      color: #fff !important;
      border: 0 !important;
      border-radius: 0 !important;
      padding: 14px 20px !important;
      font-weight: 700 !important;
      letter-spacing: 0.5px !important;
      text-transform: uppercase !important;
      font-size: 14px !important;
      cursor: pointer !important;
      box-shadow: none !important;
    }
    .single-product .single-product-main-image {
      position: relative !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-top: var(--cubowood-toggle-h, 50px) !important;
    }
    .single-product .viewer {
      height: 75vh !important;
      min-height: 75vh !important;
      max-height: 75vh !important;
      width: 100% !important;
    }
    #cubowood-sidebar-toggle {
      z-index: 999999 !important;
    }
    body.cubowood-sidebar-open #cubowood-sidebar-toggle {
      display: none;
    }
    .single-product .single-product-main-image {
      width: 100% !important;
    }
  }

  @media (min-width: 992px) {
    #cubowood-sidebar-toggle,
    #cubowood-sidebar-close {
      display: none !important;
    }
  }

  .single-product .theme--light.v-label {
    color: #FFF;
  }

  .single-product .theme--light.v-application {
    background-color: var(--vlw-primary, #005D7B);
  }

  .single-product div.product h1.product_title,
  .nectar-shop-header .page-title {
    color: #fff;
  }

  .single-product .entry-summary > .price,
  .woocommerce div.product .summary p.price {
    color: var(--vlw-accent, #CC965C);
  }

  .single-product .entry-summary > .price:before {
    content: "Richtprijs af fabriek / excl. montage ";
    color: #fff;
    font-size: 14px;
    display: block;
  }

  body.single-product .v-application .v-stepper--vertical .v-stepper__step,
  body.single-product .v-stepper--vertical .v-stepper__step {
    padding: 6px 0 !important;
  }

  /* Slide-in panel pinned to the viewport, just right of the sidebar */
  .single-product .v-stepper--vertical .v-stepper__content {
    position: fixed !important;
    top: 105px !important;
    left: 340px !important;
    width: 340px !important;
    height: calc(100vh - 105px) !important;
    max-height: calc(100vh - 105px) !important;
    background: var(--vlw-panel-bg, #E8EAF2);
    margin: 0 !important;
    padding: 30px !important;
    border-left: 0 !important;
    overflow-y: auto;
    transform: translateX(20px);
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
  }

  .single-product .v-stepper__step.active-step + .v-stepper__content {
    transform: translateX(0);
    pointer-events: auto;
    opacity: 1;
  }

  /* Slide-in panel scrollbar: uses the sidebar/primary colour */
  .single-product .v-stepper--vertical .v-stepper__content {
    scrollbar-width: thin;
    scrollbar-color: var(--vlw-primary, #005D7B) transparent;
  }
  .single-product .v-stepper--vertical .v-stepper__content::-webkit-scrollbar {
    width: 8px;
  }
  .single-product .v-stepper--vertical .v-stepper__content::-webkit-scrollbar-track {
    background: transparent;
  }
  .single-product .v-stepper--vertical .v-stepper__content::-webkit-scrollbar-thumb {
    background-color: var(--vlw-primary, #005D7B);
    border-radius: 4px;
  }
  .single-product .v-stepper--vertical .v-stepper__content::-webkit-scrollbar-thumb:hover {
    background-color: var(--vlw-accent, #CC965C);
  }

  /* Right-pointing arrow on the active step (pure CSS) */
  .single-product .v-stepper__step.active-step {
    position: relative;
  }
  .single-product .v-stepper__step.active-step::after {
    content: "";
    position: absolute;
    right: -40px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-left-color: var(--vlw-primary, #005D7B);
    pointer-events: none;
    z-index: 11;
  }

  /* Offset for WP admin bar (32px desktop, 46px mobile) */
  body.admin-bar.single-product .entry-summary {
    top: 137px !important;
  }
  body.admin-bar.single-product .v-stepper--vertical .v-stepper__content {
    top: 137px !important;
    height: calc(100vh - 137px) !important;
    max-height: calc(100vh - 137px) !important;
  }
  @media screen and (max-width: 782px) {
    body.admin-bar.single-product .entry-summary {
      top: 151px !important;
    }
    body.admin-bar.single-product .v-stepper--vertical .v-stepper__content {
      top: 151px !important;
      height: calc(100vh - 151px) !important;
      max-height: calc(100vh - 151px) !important;
    }
  }

  .single-product .v-stepper__content .v-sheet.v-list:not(.v-sheet--outlined) {
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Make option list items look like radio buttons (circle on the title element,
     to avoid Vuetify's full-size .v-list-item::before overlay) */
  .single-product .v-stepper__content .v-list-item__title {
    position: relative;
    padding-left: 30px !important;
    display: flex !important;
    align-items: center;
  }
  .single-product .v-stepper__content .v-list-item__title::before {
    content: "";
    flex: 0 0 auto;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 2px solid #000;
    border-radius: 50%;
    background: transparent;
    box-sizing: border-box;
  }
  /* Selected item (the one Expivi marks with a checkmark svg) → filled radio */
  .single-product .v-stepper__content .v-list-item:has(.v-list-item__action svg) .v-list-item__title::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #000;
  }
  /* Switch / checkbox indicator in the slide-in panel:
     - unchecked outline → black (see radio ::before above)
     - checked / on state → accent colour background */
  .single-product .v-stepper__content .v-input--switch:not(.v-input--is-disabled).v-input--is-dirty .v-input--switch__thumb,
  .single-product .v-stepper__content .v-input--switch:not(.v-input--is-disabled).v-input--is-dirty .v-input--switch__track,
  .single-product .v-stepper__content .v-input--checkbox:not(.v-input--is-disabled).v-input--is-dirty .v-icon,
  .single-product .v-stepper__content .v-input--selection-controls__input .v-icon {
    color: var(--vlw-accent, #CC965C) !important;
    caret-color: var(--vlw-accent, #CC965C) !important;
  }
  .single-product .v-stepper__content .v-input--switch.v-input--is-dirty .v-input--switch__thumb {
    background-color: var(--vlw-accent, #CC965C) !important;
  }
  .single-product .v-stepper__content .v-input--switch.v-input--is-dirty .v-input--switch__track {
    background-color: var(--vlw-accent, #CC965C) !important;
  }
  /* h4 (e.g. injected tab titles) — same size as labels */
  .single-product .v-stepper__content h4,
  .single-product .v-stepper__content .cubowood-tab-title {
    color: var(--vlw-primary, #005D7B) !important;
    font-family: var(--vlw-font-title, 'Barlow', sans-serif) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 20px 0 10px !important;
  }
  /* Titles + labels use the title font; body/options use the body font */
  .single-product .entry-summary h1,
  .single-product .entry-summary h2,
  .single-product .entry-summary h3,
  .single-product .v-stepper__label,
  .single-product .v-stepper__content .theme--light.v-label {
    font-family: var(--vlw-font-title, 'Barlow', sans-serif) !important;
  }
  .single-product .v-stepper__content .v-list-item__title,
  .single-product .v-stepper__content .v-input__slot label,
  .single-product .entry-summary p,
  .single-product .entry-summary .price {
    font-family: var(--vlw-font-body, 'Barlow', sans-serif) !important;
  }
  /* Hide Expivi's original checkmark */
  .single-product .v-stepper__content .v-list-item__action {
    display: none !important;
  }


  .single-product .v-stepper__content .theme--light.v-label {
    color: var(--vlw-primary, #005D7B) !important;
    font-size: 18px;
    display: block !important;
    margin: 20px 0 10px !important;
    position: relative !important;
  }
  .single-product .v-stepper__content [data-xpv-attribute-id] {
    margin-bottom: 18px;
  }

  /* Text/number input fields in the configurator panel: white background, no shadow */
  .single-product .v-stepper__content input[type="text"],
  .single-product .v-stepper__content input[type="number"] {
    background-color: #fff !important;
    box-shadow: none !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
  }

  /* Kill Vuetify's floating-label animation — show label statically above the field */
  .single-product .v-stepper__content .v-text-field .v-label {
    position: static !important;
    transform: none !important;
    transition: none !important;
    display: block !important;
    max-width: none !important;
    padding: 0 !important;
    margin-bottom: 6px !important;
    pointer-events: auto !important;
  }
  .single-product .v-stepper__content .v-text-field .v-input__slot {
    margin-top: 0 !important;
  }
  .single-product .v-stepper__content .v-text-field .v-text-field__slot {
    padding-top: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .theme--light.v-tabs > .v-tabs-bar,
  .theme--light.v-tabs-items {
    background-color: var(--vlw-panel-bg, #E8EAF2) !important;
  }

  /* Flatten v-tabs: hide tab bar, stack all panes, show injected titles */
  .single-product .v-stepper__content .v-tabs > .v-tabs-bar {
    display: none !important;
  }
  .single-product .v-stepper__content .v-window__container {
    transform: none !important;
    display: block !important;
  }
  .single-product .v-stepper__content .v-window-item {
    display: block !important;
  }
  .single-product .v-stepper__content .cubowood-tab-title {
    color: var(--vlw-primary-dark, #004A62);
    font-size: 18px;
    font-weight: 600;
    margin: 16px 0 8px;
  }

  .expivi-modal .expivi-modal-header-text {
    text-transform: none !important;
    color: var(--vlw-primary, #005D7B) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  /* Popup "Opslaan" button: use default button colours from settings */
  #save-design-btn-modal,
  .save-design-btn {
    background-color: var(--vlw-button-bg, #004A62) !important;
    color: var(--vlw-button-text, #fff) !important;
    border: 0 !important;
  }

  .expivi-modal .expivi-modal-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Replace "SLUIT" text with a × cross */
  .expivi-modal .expivi-close-span {
    font-size: 0 !important;
    cursor: pointer;
    line-height: 1 !important;
  }
  .expivi-modal .expivi-close-span::before {
    content: '\00d7';
    font-size: 28px;
    line-height: 1;
    color: #333;
    display: inline-block;
  }

  .expivi-modal .expivi-modal-content.whale {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 !important;
    max-width: 600px;
    width: 90%;
    border-radius: 10px;
    overflow: hidden;
  }

  .single-product .v-subheader {
    display: none !important;
  }

  .single-product .woocommerce-breadcrumb {
    display: none !important;
  }

  body.single-product .theme--light.v-stepper .v-stepper__step .v-stepper__label,
  body.single-product .theme--light.v-stepper .v-stepper__step .v-stepper__label * {
    font-family: var(--vlw-font-title, 'Barlow', sans-serif) !important;
    color: var(--vlw-accent, #CC965C) !important;
    font-size: 21px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
  }

  body.single-product .theme--light.v-stepper .v-stepper__step.active-step .v-stepper__label,
  body.single-product .theme--light.v-stepper .v-stepper__step.active-step .v-stepper__label *,
  body.single-product .theme--light.v-stepper .v-stepper__step.active-step .step-header-name,
  body.single-product .theme--light.v-stepper .v-stepper__step.active-step .v-stepper__step__step {
    color: #fff !important;
  }