/** Shopify CDN: Minification failed

Line 142:10 Expected identifier but found "."
Line 296:2 Unexpected "}"

**/
@charset "UTF-8";

.product-add-to-cart-sticky{display:none!important}  .lv-option-dropdown-options{margin-top:5px!important;} .lv-option-dropdown-text, lv-option-dropdown-value{font-size:16px!important;}


#wrapper #main-content {}

.product-section{
  .product{background:#f4f4f4!important}
  .product-grid-container{
    grid-template-columns: 590px 1fr!important;
    position:relative;margin: 50px auto 60px auto; gap: 40px !important;

    .product-usp-container{
      display:flex;gap:20px;margin-top:50px;align-items:center;justify-content:center;
      .product-usp{width:173px;display:flex;flex-direction:column;align-items:center;justify-content:center;border: 1px solid;border-radius: 8px;border-color: #d7d7d7;background-color: #f4f4f4;padding: 20px 0px;
        .usp-icon{width: 30px; aspect-ratio: 1; margin-bottom: 10px; background-image: url(//bst-wr.myshopify.com/cdn/shop/files/bestware_USPs_Icon_Checkmark.svg?v=4800738557059667958); background-size: contain; background-repeat: no-repeat; background-position: center;}
        .usp-text{font-size: 14px; line-height:1;letter-spacing: 0; font-family: "Medium"; font-weight: normal; color: black;text-align:center;}
      }
     }
    .product-information{
        position:relative;overflow: hidden;margin: 0;padding: 40px 30px; background-color: white;border: 1px solid #d7d7d7;border-radius:8px;
        h1{margin-bottom:10px!important}
        .product-card-vendor a{
            line-height:1;font-size: 16px!important; letter-spacing: 0; font-family: "Medium"!important; color: #666; display: block;margin-bottom: 5px;
        }
        .product-title{line-height:1;font-size:30px!important;margin-bottom: 5px!important;margin-left: -1px;}
        .product-subline{font-size:14px;color:#666666;}
        .pricing-heading { font-size: 14px; line-height:1;letter-spacing: 0; font-family: "Medium"; font-weight: normal; color: black; margin-top: 15px !important;margin-bottom: 4px; height: 1em; }
        .price{line-height:1.5}
        .amount{ 
        font-size:24px;margin-right:5px;
        &.discounted{color:red;}
        }
        .old-amount {
        position:relative;line-height: 1; font-size: 18px; margin-top: 2px;
        &:after { position: absolute; top: 43%; left: -1px; width: calc(100% - 16px); content: " "; transform: rotate(-10deg); border-bottom: 2px solid black; }
        }
        .tax-notice { font-size: 14px; letter-spacing: 0; font-family: "Regular"; font-weight: normal; color: black; margin-bottom: 0; height: 1em; }
        .badges{
          position:absolute;top:30px;right:30px;
        .badge{}
        }
        .coupon-code{
          margin:25px 0 15px 0!important;justify-content:center!important;align-items:center!important;background-image:var(--bg-image);background-size:cover;background-position:center center; background-repeat: no-repeat;
          &.coupon-code--has-bg { background-color:var(--color-bg)!important; }
          .rte {margin-bottom:0!important;
            /* 13px, not 16px: the copy field is now the rich_text `text` field,
               which renders <p> where the old multi-line field rendered a <span>
               inheriting .coupon-code's 0.8125rem. Keeps the coupon text the
               same size it has always been. */
            p{font-family: "Medium"!important;font-size:13px!important;margin-bottom:0!important;}
            /* rich text can now hold several paragraphs; without this they run
               together, since the rule above zeroes every margin */
            p:not(:last-child){margin-bottom:8px!important;}
          }
          .coupon-code--image img{width:100%}
          .coupon-code--code{font-size: 14px; font-family: "Medium";margin-right:10px!important;border-radius:7px!important;border:1.5px solid black!important;}
          .clipboard{font-size: 14px; font-family: "Regular";}
        }
        /* Coupon slider - only rendered when a product has >1 visible coupon.
           Slides share one grid cell so the block keeps the height of the
           tallest coupon and nothing reflows while cross-fading. */
        .coupon-slider{
          /* custom elements are display:inline by default, which makes the
             wrapper's box collapse around the stacked slides */
          display:block;
          position:relative;
          /* let the browser keep vertical panning while the slider takes the
             horizontal gesture - this is what keeps the swipe listeners passive
             and stops an edge swipe turning into a browser back/forward */
          touch-action:pan-y;
          margin:25px 0 15px 0;
          .coupon-slider--viewport{ display:grid; }
          .coupon-slider--slide{
            grid-area:1 / 1;
            min-width:0;
            /* the stacked slides already make the cell as tall as the tallest
               coupon; making the slide a grid container stretches the coupon
               itself into that cell, so every slide's box (and its background)
               ends at the same height instead of hugging its own copy. The
               coupon is display:flex with align-items/justify-content:center,
               so its content stays centred in the taller box. */
            display:grid;
            opacity:0;
            visibility:hidden;
            /* delay visibility until the fade has finished, so the outgoing
               slide stays visible while fading but never stays clickable */
            transition:opacity .35s ease, visibility 0s linear .35s;
            &.is-active{ opacity:1; visibility:visible; transition:opacity .35s ease, visibility 0s; }
          }
          /* the wrapper owns the outer spacing (the .coupon-code rule above
             sets it with !important, so it has to be overridden here) */
          .coupon-code{ margin:0!important; }
          /* keep the centred coupon text clear of the chevrons */
          .coupon-code--has-bg{ padding-left:42px!important; padding-right:42px!important; }
          .coupon-slider--nav{
            position:absolute; top:50%; transform:translateY(-50%);
            z-index:2;
            display:flex; align-items:center; justify-content:center;
            width:30px; height:30px; padding:0;
            background:none; border:0; cursor:pointer;
            /* inherits the ACTIVE coupon's text colour: the buttons sit on the
               wrapper, outside the <coupon-code> that carries --color-body, so
               the slider republishes it as --coupon-nav-colour on each change */
            color:var(--coupon-nav-colour, #fff);
            /* backgrounds are author-configurable images, so keep a soft shadow
               for legibility whatever colour the arrows take */
            filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));
            svg{ display:block; }
          }
          .coupon-slider--prev{ left:8px; }
          .coupon-slider--next{ right:8px; }
        }
        
        .custom-subheading { font-size: 16px; letter-spacing: 0; font-family: "Medium"; font-weight: normal; color: black; margin: auto 0 15px 0; height: 1em; }
        .product-features { margin: 0 0 15px 0; 
          .feature {
            height: 24px; display: flex; margin-bottom: 6px;
             span { line-height:1;display: block; margin-right: auto; background: #eee; padding: 5px 10px; border-radius: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; letter-spacing: 0; font-family: "Regular"; font-weight: normal; color: black; }
            }
        }

        .lv-option-button{font-family: "Regular" !important; font-size: 16px !important; border-radius: 8px !important; line-height:48px!important;padding:0 20px!important;}
        
        .lv-option-image-swatch{
          border-radius: 8px!important;
          img{height:36px!important;width:36px!important;padding:12px!important;}

          &:hover{background-color:#e5e5e5}
        }
        .lv-option-swatch__active{background-color:#e5e5e5}

        .product--product-form{background-color:transparent!important;margin-bottom: 20px !important;}
        .product-add-to-cart-container{gap:10px;display: flex;flex-direction: column;
          .add_to_cart_holdergap:10px!important;}
          .financingInfoWrapper{margin:0!important;}
        }
        .single-add-to-cart-button{
          font-family: "Medium"!important; font-size: 16px!important; padding: 15px 40px!important; display: flex; white-space: nowrap; text-align: center; justify-content: center; align-items: center; margin: auto 0 auto 0; line-height: 1; 
          background: black!important; color: white !important; transition: all .4s ease;
          &:hover{background-color:#333333!important;}
          &[disabled]{background: grey!important;}
        }
        .configurator-button{ margin-bottom: 10px; 
          button{
            width:100%!important;background-color:black;transition: all .4s ease;
            &:hover{background-color:#333333;}
          }
        }
        .shopify-payment-button{border-radius: 4px; font-family: "Medium"!important; font-size: 16px!important;}
        more-payment-options-link{display:none!important;}
        .quantity{ padding:0 45px!important;border-radius:8px!important;
          button{width:45px!important;
            svg{opacity:1!important;scale:0.7;}
          }
        }


        .form__label{font-size:14px!important;font-family: "Medium"!important;margin-bottom:10px!important;line-height:1!important;}
        input{font-size: 16px!important;font-family: "Regular";}

        .accordion{border-bottom:none!important;margin-top:20px;
          summary{font-size:16px!important;padding:20px 40px 20px 0!important;
            svg{
              path{stroke-width:2.3px!important;scale:0.7;}
            }
          }
          p{font-size:14px!important;}
        }
        .product--icon-list{
          li{display:flex;margin-bottom:20px!important;font-size: 14px; font-family: "Regular"; font-weight: normal;}
          .product--icon-list-image{flex-grow: 0;flex-shrink: 0;width:30px!important;height:30px!important;margin-right:5px!important;
            img{width:24px!important;height:24px!important;}
          }
         }
         .product--icon-list ul li:last-child {margin-bottom: 0!important; }

    }
  }
  
  .product-gallery-container {
    .product-image-container {padding:0!important;
      .product-images {
          background: #e5e5e5; border-radius: 8px;
          .is-selected{z-index:1;}
          .flickity-viewport{
              height:500px!important;
              .product-single__media-image{padding-bottom:500px!important;
                  img{scale:0.7;object-fit: contain!important;}
              }
          }
          .flickity-nav{
              opacity:1!important;background:transparent!important;box-shadow:none!important;
              svg{display:none!important}
              &:after { content: ''; position: absolute; inset: 0; background-image: url(/cdn/shop/files/bestware_Icon_Arrow-right.svg?v=1751898120); background-size: 15px; background-repeat: no-repeat; background-position: center;z-index: 1; }
              &.flickity-prev:after{transform:rotate(180deg);}
          }
          
      }    
      scroll-shadow{--scroll-shadow-right: transparent; --scroll-shadow-left: transparent;--scroll-shadow-top: transparent; --scroll-shadow-bottom: transparent;width:350px;margin: 20px auto;display:flex;align-items:center;justify-content:center;
          .product-thumbnail-container{width:fit-content;
              .product-thumbnail {background:#e5e5e5;padding:10px;width:60px!important;
                  &:after{box-shadow: inset 0 0 0 1px transparent!important;}
                  &.is-initial-selected:after{box-shadow: inset 0 0 0 1px #ccc !important;}
              }
          }
      }
    }
  }  


@media screen and (max-width: 1070px){
  .product-section{
    .product-grid-container{margin-top:0px;}
    .product-usp-container{display:none!important;}
      .product-image-container{
        width: calc(100% + 48px)!important;margin-left:-24px!important;margin-right:-24px!important;
        .product-images {
          & .flickity-viewport {height:500px!important;
              & .product-single__media-image {padding-bottom:500px!important;
                  img {
                      scale: 1!important;
                  }
              }
          }
        .row,.columns{padding:0!important;}
        .flickity-page-dots{display:none!important;}
        .flickity-nav{display:block!important}
      }
    }
  }
}


@media screen and (max-width: 768px){
  .product-section{
    .product{padding:0!important;
        .product-grid-container{margin-bottom:10px!important;
          .section-header{
            .section-header--content{
              .section-header--title{padding: 0 30px 8px 30px;line-height:24px;}
              .section-header--description{padding: 0 30px 20px 30px;
              p{line-height:20px!important;}
              }
            }
          }
          .product-gallery-container{margin-bottom:40px!important;}
          .badges{top:-5px;right:0;}

          .product-images{
            padding:0px 0;border-radius:0;margin:0!important;width:100%!important;
            .flickity-viewport {height:340px!important;
              .product-images__slide{width:100%!important;
               .product-single__media-image {padding-bottom:340px!important;
                    img {scale: 0.6!important;}
                }
              }
            }
            .product-single__media-zoom{top:25px!important;right:25px!important;}
          }
            .flickity-page-dots{display:none!important;}
          
              
          }
          .product-information{
            padding: 20px 30px;border:0px solid transparent;
            width: calc(100% + 49px) !important;margin-left: -25px !important;margin-right: -25px !important;border-radius: 0px;
            .badges{top:20px;right:20px;}
            .product-card-vendor {padding-top:6px; 
              a{position:relative;}
            }
            .product-title{font-size:30px!important;line-height:34px;margin-top:5px;margin-bottom: 5px !important;}
            .product-subline{font-size:14px;color:#666666;}
            .pricing-heading { margin-bottom: 2px;}
            .custom-subheading {margin: 20px 0 10px 0;line-height: 1;}
            .feature span{font-size:14px;}
            /* Authored line breaks in the coupon copy are placed for the wide
               desktop column; at this width they land mid-sentence and leave
               ragged short lines, so let the copy reflow instead. metafield_tag
               emits `<br />` followed by the source newline, which collapses to
               a space, so hiding the break does not run the words together. */
            .coupon-code .rte br{display:none;}
            
            .accordion{margin-top:20px;}
          }
        }
      }
    }
  }
}


@media (prefers-reduced-motion: reduce){
  .coupon-slider .coupon-slider--slide{ transition:none; }
}