/** Shopify CDN: Minification failed

Line 16070:0 All "@import" rules must come first

**/
@charset "UTF-8";

/*!
  Impulse, by Archetype Themes
  http://archetypethemes.co
*/


@media only screen and (min-width:769px){
  :root{
    --grid-gutter:22px;
    --drawer-gutter:30px;
  }
}

@keyframes spin{
  0%{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }
}

@keyframes preloading{
  0%{ opacity:0; transform:scaleX(0);   transform-origin:0% 50%; }
  40%{ opacity:1; transform:scaleX(1);  transform-origin:0% 50%; }
  41%{ opacity:1; transform:scaleX(1);  transform-origin:100% 50%; }
  to{ opacity:1; transform:scaleX(0); transform-origin:100% 50%; }
}

@keyframes slideshowBars{
  0%{ transform:translateX(-100%); }
  to{ transform:translateX(0); }
}

@keyframes grid-product__loading{
  0%{ opacity:1; }
  60%{ opacity:0; }
  to{ opacity:1; }
}

@keyframes shine{
  to{
    left:-200%;
  }
}

@keyframes overlay-on{
  0%{ opacity:0; }
  to{ opacity:0.6; }
}

@keyframes overlay-off{
  0%{ opacity:0.6; }
  to{ opacity:0; }
}

@keyframes full-overlay-on{
  0%{ opacity:0; }
  to{ opacity:1; }
}

@keyframes full-overlay-off{
  0%{ opacity:1; }
  to{ opacity:0; }
}

@keyframes modal-open{
  0%{
    opacity:0;
    transform:translateY(30px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes modal-closing{
  0%{
    opacity:1;
    transform:scale(1);
  }
  to{
    opacity:0;
    transform:scale(0.9);
  }
}

@keyframes rise-up{
  0%{
    opacity:1;
    transform:translateY(120%);
  }
  to{
    opacity:1;
    transform:translateY(0%);
  }
}

@keyframes rise-up-out{
  0%{
    opacity:1;
    transform:translateY(0%);
  }
  to{
    opacity:1;
    transform:translateY(-120%);
  }
}

@keyframes fade-in{
  0%{
    opacity:0;
  }
  to{
    opacity:1;
  }
}

@keyframes fade-out{
  0%{
    opacity:1;
  }
  to{
    opacity:0;
  }
}

@keyframes zoom-fade{
  0%{
    opacity:0;
    transform:scale(1.3);
  }
  to{
    opacity:1;
    transform:scale(1);
  }
}

@keyframes placeholder-shimmer{
  0%{
    background-position:-150% 0;
  }
  to{
    background-position:150% 0;
  }
}

.flickity-enabled{
  position:relative;
}

.flickity-enabled:focus{ outline:none; }

.flickity-viewport{
  height:100%;
  overflow:hidden;
  position:relative;
  transition:height 0.35s;
}

.flickity-slider{
  height:100%;
  position:absolute;
  width:100%;
}

.flickity-enabled.is-draggable{
  -webkit-user-select:none;
             -moz-user-select:none;
          user-select:none;
}

.flickity-enabled.is-draggable .flickity-viewport{
  cursor:move;
  cursor:grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{
  cursor:grabbing;
}

.flickity-button{
  background:var(--colorBtnPrimary);
  border:none;
  border-radius:50%;
  color:var(--colorBtnPrimaryText);
  position:absolute;
}

.hero .flickity-button{
    background-color:var(--colorBody);
    box-shadow:0 5px 5px rgba(0,0,0,.1);
    color:var(--colorTextBody);
}

.flickity-button:hover{
  cursor:pointer;
  opacity:1;
}

.flickity-button:disabled{
  cursor:auto;
  display:none;
  pointer-events:none;
}

.flickity-prev-next-button{
  height:40px;
  top:50%;
  transform:translateY(-50%);
  width:40px;
}

@media only screen and (max-width:768px){

.flickity-prev-next-button{
    height:33px;
    width:33px;
}
  }

.flickity-prev-next-button:hover{
  transform:translateY(-50%) scale(1.12);
}

.flickity-prev-next-button:active{
  transform:translateY(-50%) scale(1);
  transition:transform 0.05s ease-out;
}

.flickity-previous{ left:10px; }

.flickity-next{ right:10px; }

.flickity-rtl .flickity-previous{
  left:auto;
  right:10px;
}

.flickity-rtl .flickity-next{
  left:10px;
  right:auto;
}

.flickity-button-icon{
  fill:currentColor;
  height:30%;
  left:35%;
  position:absolute;
  top:35%;
  width:30%;
}

.flickity-page-dots{
  bottom:-25px;
  color:currentColor;
  line-height:1;
  list-style:none;
  margin:0;
  padding:0;
  position:absolute;
  text-align:center;
  width:100%;
}

.hero .flickity-page-dots{
    bottom:20px;
    color:#fff;
}

.flickity-rtl .flickity-page-dots{ direction:rtl; }

.flickity-page-dots .dot{
  background-color:currentColor;
  border-radius:100%;
  cursor:pointer;
  display:inline-block;
  height:6px;
  margin:0 5px;
  opacity:0.4;
  vertical-align:middle;
  width:6px;
}

.flickity-page-dots .dot:hover{
    opacity:0.6;
  }

.flickity-page-dots .dot.is-selected{
  background-color:currentColor;
  height:9px;
  opacity:1;
  width:9px;
}

.flickity-enabled.is-fade .flickity-slider>*{
  pointer-events:none;
  z-index:0;
}

.flickity-enabled.is-fade .flickity-slider>.is-selected{
  pointer-events:auto;
  z-index:1;
}

.hero[data-arrows=true]{
  overflow:visible;
  z-index:5;
}

.hero[data-arrows=true] .flickity-prev-next-button{
    bottom:-20px;
    top:auto;
    transform:none;
  }

.hero[data-arrows=true] .flickity-prev-next-button:hover{
    transform:scale(1.12);
  }

.hero[data-arrows=true] .flickity-prev-next-button:active{
    transform:scale(1);
  }

.hero[data-arrows=true] .flickity-previous{
    left:auto;
    right:90px;
  }

.hero[data-arrows=true] .flickity-next{
    right:40px;
  }

.hero.flickity-rtl[data-arrows=true] .flickity-previous{
    left:90px;
    right:auto;
  }

.hero.flickity-rtl[data-arrows=true] .flickity-next{
    left:40px;
    right:auto;
  }

@media only screen and (max-width:768px){
    .hero[data-arrows=true] .flickity-prev-next-button{
      bottom:-16px;
    }
    .hero[data-arrows=true] .flickity-previous{
      right:60px;
    }
    .hero[data-arrows=true] .flickity-next{
      right:20px;
    }
    .hero.flickity-rtl[data-arrows=true] .flickity-previous{
      left:60px;
    }
    .hero.flickity-rtl[data-arrows=true] .flickity-next{
      left:20px;
    }
  }

.hero[data-bars=true] .flickity-page-dots{
    bottom:0;
    height:6px;
    line-height:6px;
    z-index:6;
  }

[data-bars=true] .flickity-page-dots .dot{
    background:none;
    border:0;
    border-radius:0;
    height:6px;
    opacity:1;
    overflow:hidden;
    position:relative;
    vertical-align:top;
    width:120px;
  }

@media only screen and (max-width:768px){

[data-bars=true] .flickity-page-dots .dot{
      width:45px;
  }
    }

[data-bars=true] .flickity-page-dots .dot:after,[data-bars=true] .flickity-page-dots .dot:before{
      background-color:currentColor;
      content:"";
      display:block;
      height:100%;
      left:0;
      position:absolute;
      width:100%;
    }

[data-bars=true] .flickity-page-dots .dot:before{
      opacity:0.4;
    }

[data-bars=true] .flickity-page-dots .dot:hover:before{
      opacity:0.6;
    }

[data-bars=true] .flickity-page-dots .dot:after{
      transform:translateX(-100%);
      transition:none;
    }

[data-bars=true] .flickity-page-dots .dot.is-selected:after{
      animation:slideshowBars 0s linear forwards;
    }

.noUi-target,.noUi-target *{
   -webkit-touch-callout:none;
   -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
   box-sizing:border-box;
   touch-action:none;
   -webkit-user-select:none;
   -moz-user-select:none;
        user-select:none;
 }

.noUi-target{
   position:relative;
 }

.noUi-base,.noUi-connects{
   height:100%;
   position:relative;
   width:100%;
   z-index:1;
 }

.noUi-connects{
   overflow:hidden;
   z-index:0;
 }

.noUi-connect,.noUi-origin{
   position:absolute;
   right:0;
   top:0;
   transform-origin:0 0;
   transform-style:flat;
   will-change:transform;
   z-index:1;
 }

.noUi-connect{
   height:100%;
   width:100%;
 }

.noUi-origin{
   height:10%;
   width:10%;
 }

.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{
   left:0;
   right:auto;
 }

.noUi-vertical .noUi-origin{
   width:0;
 }

.noUi-horizontal .noUi-origin{
   height:0;
 }

.noUi-handle{
   backface-visibility:hidden;
   position:absolute;
 }

.noUi-touch-area{
   height:100%;
   width:100%;
 }

.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{
   transition:transform 0.3s;
 }

.noUi-state-drag *{
   cursor:inherit !important;
 }

.noUi-horizontal{
   height:18px;
 }

.noUi-horizontal .noUi-handle{
   height:28px;
   right:-17px;
   top:-6px;
   width:34px;
 }

.noUi-vertical{
   width:18px;
 }

.noUi-vertical .noUi-handle{
   height:34px;
   right:-6px;
   top:-17px;
   width:28px;
 }

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{
   left:-17px;
   right:auto;
 }

.noUi-target{
   background:#fafafa;
   border:1px solid #d3d3d3;
   border-radius:4px;
   box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb;
 }

.noUi-connects{
   border-radius:3px;
 }

.noUi-connect{
   background:#D4FF46;
 }

.noUi-draggable{
   cursor:ew-resize;
 }

.noUi-vertical .noUi-draggable{
   cursor:ns-resize;
 }

.noUi-handle{
   background:#fff;
   border:1px solid #d9d9d9;
   border-radius:3px;
   box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb;
   cursor:default;
 }

.noUi-active{
   box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb;
 }

.noUi-handle:after,.noUi-handle:before{
   background:#e8e7e6;
   content:"";
   display:block;
   height:14px;
   left:14px;
   position:absolute;
   top:6px;
   width:1px;
 }

.noUi-handle:after{
   left:17px;
 }

.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{
   height:1px;
   left:6px;
   top:14px;
   width:14px;
 }

.noUi-vertical .noUi-handle:after{
   top:17px;
 }

[disabled] .noUi-connect{
   background:#b8b8b8;
 }

[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{
   cursor:not-allowed;
 }

.noUi-pips,.noUi-pips *{
   box-sizing:border-box;
 }

.noUi-pips{
   color:#999;
   position:absolute;
 }

.noUi-value{
   position:absolute;
   text-align:center;
   white-space:nowrap;
 }

.noUi-value-sub{
   color:#ccc;
   font-size:10px;
 }

.noUi-marker{
   background:#ccc;
   position:absolute;
 }

.noUi-marker-sub{
   background:#aaa;
 }

.noUi-marker-large{
   background:#aaa;
 }

.noUi-pips-horizontal{
   height:80px;
   left:0;
   padding:10px 0;
   top:100%;
   width:100%;
 }

.noUi-value-horizontal{
   transform:translate(-50%, 50%);
 }

.noUi-rtl .noUi-value-horizontal{
   transform:translate(50%, 50%);
 }

.noUi-marker-horizontal.noUi-marker{
   height:5px;
   margin-left:-1px;
   width:2px;
 }

.noUi-marker-horizontal.noUi-marker-sub{
   height:10px;
 }

.noUi-marker-horizontal.noUi-marker-large{
   height:15px;
 }

.noUi-pips-vertical{
   height:100%;
   left:100%;
   padding:0 10px;
   top:0;
 }

.noUi-value-vertical{
   padding-left:25px;
   transform:translateY(-50%);
 }

.noUi-rtl .noUi-value-vertical{
   transform:translateY(50%);
 }

.noUi-marker-vertical.noUi-marker{
   height:2px;
   margin-top:-1px;
   width:5px;
 }

.noUi-marker-vertical.noUi-marker-sub{
   width:10px;
 }

.noUi-marker-vertical.noUi-marker-large{
   width:15px;
 }

.noUi-tooltip{
   background:#fff;
   border:1px solid #d9d9d9;
   border-radius:3px;
   color:#000;
   display:block;
   padding:5px;
   position:absolute;
   text-align:center;
   white-space:nowrap;
 }

.noUi-horizontal .noUi-tooltip{
   bottom:120%;
   left:50%;
   transform:translate(-50%);
 }

.noUi-vertical .noUi-tooltip{
   right:120%;
   top:50%;
   transform:translateY(-50%);
 }

.noUi-horizontal .noUi-origin>.noUi-tooltip{
   bottom:10px;
   left:auto;
   transform:translate(50%);
 }

.noUi-vertical .noUi-origin>.noUi-tooltip{
   right:28px;
   top:auto;
   transform:translateY(-18px);
 }

tool-tip{
  display:none;
}

tool-tip[data-tool-tip-open=true]{
  align-items:center;
  display:flex;
  height:100%;
  justify-content:center;
  left:0;
  position:fixed;
  top:0;
  width:100%;
  z-index:10001;
}

tool-tip[data-tool-tip-open=true]:before{
    animation:overlay-on 0.3s forwards;
    background-color:#e0e0e0;
    background-color:var(--colorModalBg);
    content:"";
    cursor:pointer;
    height:100%;
    left:0;
    position:fixed;
    top:0;
    width:100%;
  }

.tool-tip__inner{
  animation:modal-close 0.3s forwards;
  opacity:0;
}

tool-tip[data-tool-tip-open=true] .tool-tip__inner{
    animation:modal-open 0.3s forwards;
    background:var(--colorBody);
    box-shadow:0 10px 20px #00000017;
    display:block;
    max-width:720px;
    min-height:250px;
    min-width:250px;
    padding:30px;
    position:fixed;
}

@media only screen and (max-width:768px){

tool-tip[data-tool-tip-open=true] .tool-tip__inner{
      max-width:93%;
      width:100%;
}
    }

.tool-tip__content{
  max-height:80vh;
  overflow:auto;
}

@media only screen and (max-width:768px){

.tool-tip__content{
    font-size:0.85em;
}
  }

.tool-tip__close{
  position:absolute;
  right:0;
  top:0;
}

.tool-tip__close .icon{
  height:28px;
  width:28px;
}

.tool-tip-trigger{
  background:none;
  border:0;
  cursor:pointer;
}

.tool-tip-trigger .icon{
  height:28px;
  width:28px;
}

.tool-tip-trigger__title{
  display:inline-block;
}

.tool-tip-trigger__title:focus,.tool-tip-trigger__title:hover{
  -webkit-text-decoration:underline;
  text-decoration:underline;
  text-underline-offset:2px;
}

.tool-tip-trigger__content{
  display:none !important;
}

.size-chart__standalone{
  margin:var(--sizeChartMargin);
}

.size-chart__standalone svg{
    margin-left:var(--sizeChartIconMargin);
  }

.text-with-icons__blocks{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin-left:-30px;
  margin-right:-30px;
}

@media only screen and (max-width:768px){

.text-with-icons__blocks{
    flex-direction:column;
    margin:0;
}
  }

.has-1-per-row .text-with-icons__block{
  width:100%;
}

.has-2-per-row .text-with-icons__block{
  width:50%;
}

.has-3-per-row .text-with-icons__block{
  width:33.333%;
}

.has-4-per-row .text-with-icons__block{
  width:25%;
}

.has-5-per-row .text-with-icons__block{
  width:20%;
}

.text-with-icons__blocks .text-with-icons__block{
  display:flex;
  flex:none;
  flex-direction:column;
  padding:30px;
}

@media only screen and (max-width:768px){

.text-with-icons__blocks .text-with-icons__block{
    padding:0 0 60px;
    width:100%;
}
  }

.text-with-icons__block-icon{
  display:block;
  margin-bottom:10px;
}

.text-with-icons__block-icon .icon{
    height:70px;
    width:70px;
  }

@media only screen and (max-width:768px){

.text-with-icons__block-icon .icon{
      height:60px;
      width:60px;
  }
    }

.text-with-icons__button{
  display:flex;
  justify-content:center;
}

newsletter-reminder{
  bottom:20px;
  box-shadow:0 12px 25px rgba(0,0,0,.15);
  left:20px;
  max-width:240px;
  position:fixed;
  transition:opacity 0.3s ease-in-out;
  z-index:10;
}

@media only screen and (max-width:768px){

newsletter-reminder{
    max-width:calc(100% - 40px);
}
  }

newsletter-reminder[data-enabled=false]{
    opacity:0;
    pointer-events:none;
    visibility:hidden;
  }

newsletter-reminder[class*=color-scheme-]:not(.color-scheme-none){
    position:fixed;
  }

newsletter-reminder .color-scheme-none{
    background-color:var(--colorBtnPrimary);
    color:var(--colorBtnPrimaryText);
  }

.newsletter-reminder__message.h3{
  cursor:pointer;
  margin:0;
  padding:var(--newsletterReminderPadding);
}

.parallax-image{
  height:100%;
  overflow:hidden;
  transition:transform 0.05s linear;
}

.countdown-wrapper{
  position:relative;
}

.countdown__background-image-wrapper{
  height:100%;
  position:absolute;
  width:100%;
}

.countdown__background-image{
  height:100%;
  left:0;
  -o-object-fit:cover;
     object-fit:cover;
  position:absolute;
  top:0;
  width:100%;
}

.countdown__mobile-image-wrapper{
  height:100%;
  position:absolute;
  width:100%;
}

.countdown__mobile-image{
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}

.countdown-layout--banner .countdown__content{
    padding:2rem;
  }

@media only screen and (min-width:769px){

.countdown-layout--banner .countdown__content{
      display:flex;
      flex-direction:row;
      flex-wrap:nowrap;
      gap:1rem;
      justify-content:space-around;
      padding:1.6rem 2rem;
  }
    }

.countdown-layout--banner.countdown-blocks--2.page-width .countdown__content{
      justify-content:space-around;
    }

.countdown-layout--banner.countdown-blocks--2 .countdown__content{
      justify-content:center;
    }

@media only screen and (min-width:769px){

.countdown-layout--banner .countdown__block{
      width:33%;
  }
    }

.countdown__content{
  align-items:center;
  display:flex;
  flex-direction:column;
  height:auto;
  justify-content:center;
  max-height:650px;
  padding:5rem 2rem;
  text-align:center;
  width:100%;
}

.page-width .countdown__content{
    position:relative;
}

@media only screen and (min-width:769px){

.countdown-layout--hero .countdown__content{
      height:100vh;
}
    }

.countdown__block{
  margin:1rem auto;
  width:100%;
  z-index:3;
}

.countdown__block--content{
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.countdown__block--content .countdown__block--button{
    margin:0;
    width:100%;
  }

@media only screen and (min-width:769px){

.countdown-blocks--2.countdown-layout--banner .countdown__block--content,.countdown-blocks--2.countdown-layout--banner .countdown__block--timer{
      width:50%;
}
    }

@media only screen and (min-width:769px){

.countdown-blocks--2.countdown-layout--banner .countdown__block--button.button-block-active{
      width:50%;
}
    }

.countdown__text-wrapper{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

@media only screen and (min-width:769px){

.countdown-layout--hero .countdown__text-wrapper{
      width:50%;
}
    }

.countdown__text-wrapper--content-alignment-left{
  text-align:left;
}

.countdown__text-wrapper--content-alignment-right{
  text-align:right;
}

.countdown__display{
  display:flex;
  justify-content:center;
  opacity:0;
  visibility:hidden;
}

.countdown__display--loaded{
  opacity:1;
  transition:opacity 0.3s ease-in;
  visibility:visible;
}

.countdown__display--visible+.countdown__timer-message--visible{
  margin-top:1.5rem;
}

.countdown__display--hidden{
  height:0;
  margin:0;
  opacity:0;
  transition:opacity 3s ease-out;
  visibility:hidden;
  width:0;
}

.countdown__display-block{
  align-content:center;
  border-right:1px solid;
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  padding:0 1rem;
}

.countdown__display-block h2{
    margin-bottom:16px;
  }

@media only screen and (min-width:769px){

.countdown__display-block h2{
      margin-bottom:4px;
  }
    }

.countdown__display-block span{
    font-size:0.6rem;
    letter-spacing: 0px;
  }

@media only screen and (min-width:769px){

.countdown__display-block span{
      font-size:0.75rem;
  }
    }

.countdown__display-block:last-child{
    border-right:none;
  }

[dir=rtl] .countdown__display-block:last-child{
      border-right:1px solid;
    }

[dir=rtl] .countdown__display-block:first-child{
      border-right:none;
    }

.countdown__timer-message{
  height:0;
  margin:0;
  opacity:0;
  visibility:hidden;
}

.countdown__timer-message--visible{
  height:auto;
  opacity:1;
  transition:opacity 1s ease-in;
  visibility:visible;
}

.countdown__block--hidden{
  width:0 !important;
}

.countdown__block--hidden{
  margin:0;
  opacity:0;
  transition:opacity 1s ease-out;
  visibility:hidden;
}

.countdown__overlay:after{
    background-color:var(--countdown-overlay-rgba);
    bottom:0;
    content:"";
    height:100%;
    left:0;
    position:absolute;
    right:0;
    top:0;
    width:100%;
    z-index:2;
  }

@media only screen and (max-width:768px){

.hotspots-section .index-section{
    margin-bottom:10px;
}
  }

.hotspots-section .hotspots-wrapper{
  display:flex;
  flex-wrap:wrap;
}

.hotspots-section .hotspots-wrapper.is-reverse{
    flex-direction:row-reverse;
  }

.hotspots__title{
  padding-top:1.5rem;
  width:100%;
}

.hotspots{
  position:relative;
  width:70%;
}

@media only screen and (max-width:768px){

.hotspots{
    width:100%;
}
  }

.hotspots .grid__image-ratio img{
    height:100%;
    left:0;
    -o-object-fit:cover;
       object-fit:cover;
    opacity:1;
    position:absolute;
    top:0;
    width:100%;
  }

[data-animate_images=true] .hotspots .grid__image-ratio img{
      opacity:1;
  }

.hotspots__buttons{
  background-color:transparent;
  border:0;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}

.hotspot__button{
  border-radius:50%;
  line-height:0;
  padding:10px;
  position:absolute;
  transform:translate(-50%, -50%);
}

@media only screen and (max-width:768px){

.hotspot__button{
    padding:6px;
}
  }

.hotspot__button:hover .hotspot__button-content{
    opacity:1;
    pointer-events:auto;
    visibility:visible;
  }

.hotspot__button-content{
  background-color:var(--colorBody);
  border-radius:5px;
  box-shadow:3px 3px 10px 3px rgba(0,0,0,.2);
  color:var(--colorTextBody);
  left:50%;
  min-width:5rem;
  opacity:0;
  padding:1rem;
  pointer-events:none;
  position:absolute;
  top:calc(100% + 1rem);
  transform:translateX(-50%);
  transition:opacity 0.3s ease-in-out;
  visibility:hidden;
}

.hotspot__button-content p,.hotspot__button-content span{
    margin-bottom:0;
    white-space:nowrap
  }

.hotspot__button-content:before{
    border-color:transparent transparent var(--colorBody) transparent;
    border-style:solid;
    border-width:0 5px 10px 5px;
    content:"";
    height:0;
    left:50%;
    position:absolute;
    top:-10px;
    transform:translateX(-50%);
    width:0;
  }

.hotspot__button-content .content__prices{
    display:flex;
    flex-wrap:nowrap;
  }

.hotspots__content{
  align-items:center;
  display:flex;
  padding:24px;
  width:30%;
}

.page-width .hotspots__content{
    padding-left:40px;
    padding-right:0;
}

@media only screen and (max-width:768px){

.page-width .hotspots__content{
      padding-left:0;
}
    }

.page-width.is-reverse .hotspots__content{
    padding-left:0;
    padding-right:40px;
}

@media only screen and (max-width:768px){

.page-width.is-reverse .hotspots__content{
      padding-right:20px;
}
    }

@media only screen and (max-width:768px){

.hotspots__content{
    padding:1rem 20px 0;
    width:100%;
}
  }

.hotspot-content__block{
  animation:fade-in .5s ease 0s forwards;
  display:none;
  max-height:0;
  position:sticky;
  top:0;
  width:100%;

}

.modal-closing .hotspot-content__block,.modal-open .hotspot-content__block{
    animation:none;
    position:static;

}

@media only screen and (max-width:768px){

.hotspot-content__block{
    align-items:center;
    padding-top:0;
    position:relative;

}
  }

.hotspot-content__block.is-active{
    display:block;
    max-height:none;
  }

.hotspot-content__block .grid-product__image-wrap{
    margin:0;
  }

.hotspot-content__block .grid__item{
    display:block;
    float:none;
    padding:0;
  }

.hotspot-content__block .grid-product__tags{
    margin-left:0;
  }

@media only screen and (max-width:768px){

.hotspot-content__block .grid-product__tag{
      left:0;
      right:auto;
  }
    }

.hotspot-content__block .grid-item__meta,.hotspot-content__block .grid-product__meta{
    padding-top:10px;
  }

@media only screen and (max-width:768px){

.hotspot-content__block .grid-item__meta,.hotspot-content__block .grid-product__meta{
      display:flex;
      flex-direction:column;
      flex-wrap:wrap;
      justify-content:center;
      padding-left:10px;
      padding-top:0;
      text-align:left;
  }

      .hotspot-content__block .grid-item__meta .grid-item__meta-main,.hotspot-content__block .grid-item__meta .grid-item__meta-secondary,.hotspot-content__block .grid-product__meta .grid-item__meta-main,.hotspot-content__block .grid-product__meta .grid-item__meta-secondary{
        flex:none;
        width:100%;
      }
    }

@media only screen and (max-width:768px){

    .hotspot-content__block .grid-product{
      padding-left:0;
      padding-right:0;
    }

    .hotspot-content__block .quick-add-btn{
      display:none;
    }
    .hotspot-content__block .grid__item-image-wrapper{
      display:flex;
    }

      .hotspot-content__block .grid__item-image-wrapper .grid-product__image-mask{
        flex:0 0 30%;
      }

    .hotspot-content__block .grid-item__link,.hotspot-content__block .grid-product__link{
      display:flex;
      flex-wrap:nowrap;
    }
    [data-grid-style=grey-round] .hotspot-content__block .grid-item__link{
        border-radius:10px 0 0 10px;
    }
    [data-grid-style=white-round] .hotspot-content__block .grid-item__link{
        border-radius:10px 0 0 10px;
    }

    .hotspot-content__block .grid-product__image-mask,.hotspot-content__block .grid-product__image-wrap,.hotspot-content__block .product-slider{
      width:30%;
    }

    .hotspot-content__block .grid-product__actions{
      left:10px;
      right:auto;
      top:10px;
    }
  }

.hotspot-content__block .modal .grid__item{
  float:left;
}

image-compare{
  background:#222;
  display:block;
  overflow:hidden;
  position:relative;
  width:100%;
}

.comparison__draggable{
  height:100%;
  overflow:hidden;
  position:absolute;
  top:0;
  width:50%;
  z-index:2;
}

.comparison__image{
  animation:none;
  display:block;
  height:100%;
  max-width:none;
  -o-object-fit:cover;
     object-fit:cover;
  opacity:1;
  -webkit-user-select:none;
             -moz-user-select:none;
          user-select:none;
  width:100%;
}

.comparison__image-wrapper{
  height:100%;
  width:100%;
}

.comparison__button{
  align-items:center;
  border:0;
  border:3px solid #fff;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  flex-wrap:nowrap;
  height:64px;
  justify-content:center;
  left:50%;
  padding:0;
  position:absolute;
  top:50%;
  transform:translate(-32px, -50%);
  width:64px;
  z-index:3;
}

.comparison--style-minimal .comparison__button{
    background:transparent;
    border:0;
    transform:translate(-56px, -50%);
    width:112px;
}

.comparison--style-minimal .comparison__button svg{
      margin:0 20px;
    }

@supports (-webkit-touch-callout:none){

.comparison--style-minimal .comparison__button svg{
        position:absolute;
    }

        .comparison--style-minimal .comparison__button svg.icon-chevron-left{
          left:2px;
          width:9px;
        }

        .comparison--style-minimal .comparison__button svg.icon-chevron-right{
          right:2px;
          width:9px;
        }
      }

@media only screen and (max-width:768px){

.comparison--style-classic .comparison__button{
      height:48px;
      transform:translate(-24px, -50%);
      width:48px;
}
    }

.comparison__button svg{
    height:auto;
    margin:0 5px;
    pointer-events:none;
    width:12px;
  }

.comparison__button:before{
    background-color:#fff !important;
  }

.comparison__button:before{
    content:"";
    position:absolute;
    width:2px;
  }

.comparison__button:after{
    background-color:#fff !important;
  }

.comparison__button:after{
    bottom:0;
    content:"";
    height:50%;
    left:50%;
    position:absolute;
    transform:translate(-50%);
    width:2px;
  }

.age-verification-popup .rte{
    margin-bottom:20px;
    margin-top:20px;
  }

@media only screen and (min-width:769px){

.age-verification-popup .rte{
      margin-bottom:30px;
  }
    }

.age-verification-popup .age-verification-popup__btns-wrapper{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
  }

.age-verification-popup__background-image-wrapper{
  height:100%;
  overflow:hidden;
  position:absolute;
  width:100%;
}

.age-verification-popup__background-image{
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}

.age-verification-popup__content--active{
  opacity:1;
  transition:opacity 1.5s ease-in;
}

.age-verification-popup__content--inactive,.age-verification-popup__content--inactive *,.age-verification-popup__content--inactive .btn{
  border:0;
  font-size:0;
  height:0;
  line-height:0;
  margin:0;
  opacity:0;
  padding:0;
  position:absolute;
  visibility:hidden;
  width:0;
}

.age-verification-popup__decline-content--inactive,.age-verification-popup__decline-content--inactive *,.age-verification-popup__decline-content--inactive .btn{
  border:0;
  font-size:0;
  height:0;
  line-height:0;
  margin:0;
  opacity:0;
  padding:0;
  position:absolute;
  visibility:hidden;
  width:0;
}

.age-verification-popup__decline-content--active{
  opacity:1;
  transition:opacity 1.5s ease-in;
}

.age-verification-popup__content-wrapper{
  margin:0 auto;
  max-width:520px;
  text-align:center;
}

product-recommendations[data-intent=complementary]{
  display:block;
  overflow:hidden;
}

product-recommendations[data-intent=complementary] .product-recommendations__title{
    margin-bottom:20px;
    margin-top:40px;
    max-width:72%;
    text-align:left;
    width:100%;
  }

product-recommendations[data-intent=complementary] .grid{
    margin-left:0;
  }

product-recommendations[data-intent=complementary] .grid-item,product-recommendations[data-intent=complementary] .grid__item{
    margin-bottom:1rem;
    padding-bottom:8px;
    padding-left:0;
  }

@media only screen and (max-width:768px){

product-recommendations[data-intent=complementary] .grid-item,product-recommendations[data-intent=complementary] .grid__item{
      margin-left:0 !important;
  }

product-recommendations[data-intent=complementary] .grid-item,product-recommendations[data-intent=complementary] .grid__item{
      flex:0 0 100%;
  }
    }

product-recommendations[data-intent=complementary] .grid-product__image-wrap{
    min-width:90px;
  }

product-recommendations[data-intent=complementary] .grid__image-ratio{
    background-color:transparent;
  }

product-recommendations[data-intent=complementary] img.image-style--circle{
    border-radius:50%;
    bottom:0;
    height:85%;
    left:0;
    margin:auto;
    -o-object-fit:cover;
       object-fit:cover;
    position:absolute;
    right:0;
    top:0;
    width:85%;
  }

product-recommendations[data-intent=complementary] .grid__item-image-wrapper .grid-product__link{
    display:block;
    width:100%;
  }

product-recommendations[data-intent=complementary] .grid-item__link,product-recommendations[data-intent=complementary] .grid-product__link,product-recommendations[data-intent=complementary] .grid__item-image-wrapper{
    align-items:center;
    display:flex;
  }

product-recommendations[data-intent=complementary] .grid-item__link .grid-product__image-mask,product-recommendations[data-intent=complementary] .grid-item__link .grid-product__image-wrap,product-recommendations[data-intent=complementary] .grid-item__link .image-wrap,product-recommendations[data-intent=complementary] .grid-product__link .grid-product__image-mask,product-recommendations[data-intent=complementary] .grid-product__link .grid-product__image-wrap,product-recommendations[data-intent=complementary] .grid-product__link .image-wrap,product-recommendations[data-intent=complementary] .grid__item-image-wrapper .grid-product__image-mask,product-recommendations[data-intent=complementary] .grid__item-image-wrapper .grid-product__image-wrap,product-recommendations[data-intent=complementary] .grid__item-image-wrapper .image-wrap{
      margin:0;
      width:112px;
    }

product-recommendations[data-intent=complementary] .grid-item__link .grid-product__meta,product-recommendations[data-intent=complementary] .grid-product__link .grid-product__meta,product-recommendations[data-intent=complementary] .grid__item-image-wrapper .grid-product__meta{
      margin-left:48px;
      text-align:left;
      width:calc(100% - 112px);
    }

product-recommendations[data-intent=complementary] .grid-product__actions{
    right:0;
    top:0;
  }

product-recommendations[data-intent=complementary] .grid-product__tag{
    bottom:0;
    left:0;
    right:auto;
    top:auto;
  }

product-recommendations[data-intent=complementary] .flickity-viewport{
    width:100%;
  }

product-recommendations[data-intent=complementary] .flickity-previous{
    left:auto;
    right:50px;
    top:-32px;
  }

@media only screen and (max-width:768px){

product-recommendations[data-intent=complementary] .flickity-previous{
      right:45px;
  }
    }

product-recommendations[data-intent=complementary] .flickity-next{
    right:0;
    top:-32px;
  }

product-recommendations[data-intent=complementary] .flickity-page-dots{
    bottom:auto;
    right:0;
    top:-41px;
    width:auto;
  }

product-recommendations[data-intent=complementary] .flickity-button:disabled{
    display:block;
    opacity:0.35;
  }

.product-recommendations__slide{
  display:block;
  margin:0;
  overflow:hidden;
  padding:0;
  width:100%;
}

@media only screen and (max-width:768px){

.product-recommendations__slide{
    display:flex;
    flex-wrap:wrap;
}
  }

.product-recommendations__slide .grid__item:last-child{
    margin-bottom:0;
    padding-bottom:0;
  }

.product-recommendations--title-missing{
  margin-top:80px;
}

.countdown__background-image-wrapper image-element,.fading-images__item-wrapper image-element,.grid__image-ratio image-element,.image-wrap:not(.image-wrap__thumbnail) image-element,.social-section__image-wrapper image-element,.svg-mask image-element{
    height:100%;
    left:0;
    position:absolute;
    top:0;
    width:100%;
  }

img{
  border:0 none;
  display:block;
  height:auto;
  max-width:100%;
}

.image-element{
  opacity:0;
}

.image-element[loading=eager]{
    opacity:1;
  }

.template-giftcard .image-element{
    opacity:1;
}

[data-animate_images=false] .image-element{
    opacity:1;
}

[data-media-gallery-layout=stacked] .image-element{
    opacity:1;
}

.aos-animate[data-aos=image-fade-in] .image-element{
    animation:fade-in 0.5s cubic-bezier(0.29, 0.65, 0.58, 1) forwards;
}

.aos-animate[data-aos=image-fade-in] .image-element.loader-logo__img{
      animation:pulse-fade 0.4s linear infinite;
    }

[data-animate_images=false] .aos-animate[data-aos=image-fade-in] .image-element{
      animation:none;
}

[data-media-gallery-layout=stacked] .aos-animate[data-aos=image-fade-in] .image-element{
      animation:none;
}

.aos-animate[data-aos=image-fade-in] .image-element.scheme-image{
      animation:none;
    }

.aos-animate[data-aos=image-fade-in] .image-element.hero__image{
      animation:none;
    }

.no-js .image-element{
    opacity:1;
}

.image-wrap img{
  height:auto;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}

.rte div[style*="text-align: center"] img,.rte p[style*="text-align: center"] img{
    margin-left:auto;
    margin-right:auto;
  }

.svg-mask{
  background:transparent !important;
  background-color:transparent !important;
  padding-bottom:100% !important;
  position:relative !important;
}

.svg-mask .grid__image-ratio{
    background:transparent !important;
    background-color:transparent !important;
  }

.svg-mask img,.svg-mask svg:not(.icon),.svg-mask video{
    height:100% !important;
    -o-object-fit:cover !important;
       object-fit:cover !important;
    position:absolute !important;
  }

.svg-mask img,.svg-mask svg:not(.icon),.svg-mask video{
    -webkit-mask-position:center;
            mask-position:center;
    -webkit-mask-repeat:no-repeat;
            mask-repeat:no-repeat;
    -webkit-mask-size:100% 100%;
            mask-size:100% 100%;
  }

.svg-mask--landscape{
  padding-bottom:56.25% !important;
}

.svg-mask--portrait{
  padding-bottom:150% !important;
}

.svg-mask--square{
  padding-bottom:100% !important;
}

.svg-mask--rounded-top img,.svg-mask--rounded-top svg:not(.icon),.svg-mask--rounded-top video{
  border-top-left-radius:50%;
  border-top-right-radius:50%;
}

.svg-mask--rounded img,.svg-mask--rounded svg:not(.icon),.svg-mask--rounded video{
  border-radius:50%;
}

.svg-mask--star img,.svg-mask--star svg:not(.icon),.svg-mask--star video{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjg0IiBoZWlnaHQ9IjEyNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Im02NDIgMCAxNzcuMDA3IDI5MC40NDEgMzM3LjQ0My00Mi42OTctMTE2LjcyIDMxOS40NzYgMjQzLjc3IDIzNy4xOTktMzIyLjU0NCAxMDcuOTQtMzMuNDYxIDMzOC40ODFMNjQyIDEwNjUuOTZsLTI4NS40OTYgMTg0Ljg4LTMzLjQ2LTMzOC40ODFMLjQ5NyA4MDQuNDE5IDI0NC4yNjggNTY3LjIyIDEyNy41NTUgMjQ3Ljc0NGwzMzcuNDM4IDQyLjY5N0w2NDIgMFoiLz48L3N2Zz4=");
          mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjg0IiBoZWlnaHQ9IjEyNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Im02NDIgMCAxNzcuMDA3IDI5MC40NDEgMzM3LjQ0My00Mi42OTctMTE2LjcyIDMxOS40NzYgMjQzLjc3IDIzNy4xOTktMzIyLjU0NCAxMDcuOTQtMzMuNDYxIDMzOC40ODFMNjQyIDEwNjUuOTZsLTI4NS40OTYgMTg0Ljg4LTMzLjQ2LTMzOC40ODFMLjQ5NyA4MDQuNDE5IDI0NC4yNjggNTY3LjIyIDEyNy41NTUgMjQ3Ljc0NGwzMzcuNDM4IDQyLjY5N0w2NDIgMFoiLz48L3N2Zz4=");
}

.svg-mask--rounded-wave img,.svg-mask--rounded-wave svg:not(.icon),.svg-mask--rounded-wave video{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDY2IiBoZWlnaHQ9IjEwNjYiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Ik00OTIuNTA5IDMxLjgzYzEwLjU0NS00Mi4xNDUgNzAuNDM3LTQyLjE0NSA4MC45ODIgMCA4LjkzMyAzNS43MDEgNTYuMzQyIDQzLjIxIDc1Ljg3IDEyLjAxNkM2NzIuNDEzIDcuMDIzIDcyOS4zNzQgMjUuNTMgNzI2LjM4IDY4Ljg3Yy0yLjUzNyAzNi43MTUgNDAuMjMxIDU4LjUwNiA2OC40NDMgMzQuODczIDMzLjMwMi0yNy44OTcgODEuNzU3IDcuMzA3IDY1LjUxNiA0Ny42LTEzLjc1OCAzNC4xMzQgMjAuMTgzIDY4LjA3NSA1NC4zMTcgNTQuMzE3IDQwLjI5My0xNi4yNDEgNzUuNDk3IDMyLjIxNCA0Ny42IDY1LjUxNi0yMy42MzMgMjguMjEyLTEuODQyIDcwLjk4IDM0Ljg3MyA2OC40NDMgNDMuMzQxLTIuOTk0IDYxLjg1MSA1My45NjcgMjUuMDIxIDc3LjAxOS0zMS4xOSAxOS41MjgtMjMuNjgxIDY2LjkzNyAxMi4wMiA3NS44NyA0Mi4xNCAxMC41NDUgNDIuMTQgNzAuNDM3IDAgODAuOTgyLTM1LjcwMSA4LjkzMy00My4yMSA1Ni4zNDItMTIuMDIgNzUuODcgMzYuODMgMjMuMDUyIDE4LjMyIDgwLjAxMy0yNS4wMjEgNzcuMDE5LTM2LjcxNS0yLjUzNy01OC41MDYgNDAuMjMxLTM0Ljg3MyA2OC40NDMgMjcuODk3IDMzLjMwMi03LjMwNyA4MS43NTctNDcuNiA2NS41MTYtMzQuMTM0LTEzLjc1OC02OC4wNzUgMjAuMTgzLTU0LjMxNyA1NC4zMTcgMTYuMjQxIDQwLjI5My0zMi4yMTQgNzUuNDk3LTY1LjUxNiA0Ny42LTI4LjIxMi0yMy42MzMtNzAuOTgtMS44NDItNjguNDQzIDM0Ljg3MyAyLjk5NCA0My4zNDEtNTMuOTY3IDYxLjg1MS03Ny4wMTkgMjUuMDIxLTE5LjUyOC0zMS4xOS02Ni45MzctMjMuNjgxLTc1Ljg3IDEyLjAyLTEwLjU0NSA0Mi4xNC03MC40MzcgNDIuMTQtODAuOTgyIDAtOC45MzMtMzUuNzAxLTU2LjM0Mi00My4yMS03NS44Ny0xMi4wMi0yMy4wNTIgMzYuODMtODAuMDEzIDE4LjMyLTc3LjAxOS0yNS4wMjEgMi41MzctMzYuNzE1LTQwLjIzMS01OC41MDYtNjguNDQzLTM0Ljg3My0zMy4zMDIgMjcuODk3LTgxLjc1Ny03LjMwNy02NS41MTYtNDcuNiAxMy43NTgtMzQuMTM0LTIwLjE4My02OC4wNzUtNTQuMzE3LTU0LjMxNy00MC4yOTMgMTYuMjQxLTc1LjQ5Ny0zMi4yMTQtNDcuNi02NS41MTYgMjMuNjMzLTI4LjIxMiAxLjg0Mi03MC45OC0zNC44NzMtNjguNDQzLTQzLjM0IDIuOTk0LTYxLjg0OC01My45NjctMjUuMDI1LTc3LjAxOSAzMS4xOTQtMTkuNTI4IDIzLjY4NS02Ni45MzctMTIuMDE3LTc1Ljg3LTQyLjE0NC0xMC41NDUtNDIuMTQ0LTcwLjQzNyAwLTgwLjk4MiAzNS43MDItOC45MzMgNDMuMjEtNTYuMzQyIDEyLjAxNy03NS44N0M3LjAyMyAzOTMuNTg3IDI1LjUzIDMzNi42MjYgNjguODcgMzM5LjYyYzM2LjcxNSAyLjUzNyA1OC41MDYtNDAuMjMxIDM0Ljg3My02OC40NDMtMjcuODk3LTMzLjMwMiA3LjMwNy04MS43NTcgNDcuNi02NS41MTYgMzQuMTM0IDEzLjc1OCA2OC4wNzUtMjAuMTgzIDU0LjMxNy01NC4zMTctMTYuMjQxLTQwLjI5MyAzMi4yMTQtNzUuNDk3IDY1LjUxNi00Ny42IDI4LjIxMiAyMy42MzMgNzAuOTggMS44NDIgNjguNDQzLTM0Ljg3My0yLjk5NC00My4zNCA1My45NjctNjEuODQ4IDc3LjAxOS0yNS4wMjUgMTkuNTI4IDMxLjE5NCA2Ni45MzcgMjMuNjg1IDc1Ljg3LTEyLjAxN1oiLz48L3N2Zz4=");
          mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDY2IiBoZWlnaHQ9IjEwNjYiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Ik00OTIuNTA5IDMxLjgzYzEwLjU0NS00Mi4xNDUgNzAuNDM3LTQyLjE0NSA4MC45ODIgMCA4LjkzMyAzNS43MDEgNTYuMzQyIDQzLjIxIDc1Ljg3IDEyLjAxNkM2NzIuNDEzIDcuMDIzIDcyOS4zNzQgMjUuNTMgNzI2LjM4IDY4Ljg3Yy0yLjUzNyAzNi43MTUgNDAuMjMxIDU4LjUwNiA2OC40NDMgMzQuODczIDMzLjMwMi0yNy44OTcgODEuNzU3IDcuMzA3IDY1LjUxNiA0Ny42LTEzLjc1OCAzNC4xMzQgMjAuMTgzIDY4LjA3NSA1NC4zMTcgNTQuMzE3IDQwLjI5My0xNi4yNDEgNzUuNDk3IDMyLjIxNCA0Ny42IDY1LjUxNi0yMy42MzMgMjguMjEyLTEuODQyIDcwLjk4IDM0Ljg3MyA2OC40NDMgNDMuMzQxLTIuOTk0IDYxLjg1MSA1My45NjcgMjUuMDIxIDc3LjAxOS0zMS4xOSAxOS41MjgtMjMuNjgxIDY2LjkzNyAxMi4wMiA3NS44NyA0Mi4xNCAxMC41NDUgNDIuMTQgNzAuNDM3IDAgODAuOTgyLTM1LjcwMSA4LjkzMy00My4yMSA1Ni4zNDItMTIuMDIgNzUuODcgMzYuODMgMjMuMDUyIDE4LjMyIDgwLjAxMy0yNS4wMjEgNzcuMDE5LTM2LjcxNS0yLjUzNy01OC41MDYgNDAuMjMxLTM0Ljg3MyA2OC40NDMgMjcuODk3IDMzLjMwMi03LjMwNyA4MS43NTctNDcuNiA2NS41MTYtMzQuMTM0LTEzLjc1OC02OC4wNzUgMjAuMTgzLTU0LjMxNyA1NC4zMTcgMTYuMjQxIDQwLjI5My0zMi4yMTQgNzUuNDk3LTY1LjUxNiA0Ny42LTI4LjIxMi0yMy42MzMtNzAuOTgtMS44NDItNjguNDQzIDM0Ljg3MyAyLjk5NCA0My4zNDEtNTMuOTY3IDYxLjg1MS03Ny4wMTkgMjUuMDIxLTE5LjUyOC0zMS4xOS02Ni45MzctMjMuNjgxLTc1Ljg3IDEyLjAyLTEwLjU0NSA0Mi4xNC03MC40MzcgNDIuMTQtODAuOTgyIDAtOC45MzMtMzUuNzAxLTU2LjM0Mi00My4yMS03NS44Ny0xMi4wMi0yMy4wNTIgMzYuODMtODAuMDEzIDE4LjMyLTc3LjAxOS0yNS4wMjEgMi41MzctMzYuNzE1LTQwLjIzMS01OC41MDYtNjguNDQzLTM0Ljg3My0zMy4zMDIgMjcuODk3LTgxLjc1Ny03LjMwNy02NS41MTYtNDcuNiAxMy43NTgtMzQuMTM0LTIwLjE4My02OC4wNzUtNTQuMzE3LTU0LjMxNy00MC4yOTMgMTYuMjQxLTc1LjQ5Ny0zMi4yMTQtNDcuNi02NS41MTYgMjMuNjMzLTI4LjIxMiAxLjg0Mi03MC45OC0zNC44NzMtNjguNDQzLTQzLjM0IDIuOTk0LTYxLjg0OC01My45NjctMjUuMDI1LTc3LjAxOSAzMS4xOTQtMTkuNTI4IDIzLjY4NS02Ni45MzctMTIuMDE3LTc1Ljg3LTQyLjE0NC0xMC41NDUtNDIuMTQ0LTcwLjQzNyAwLTgwLjk4MiAzNS43MDItOC45MzMgNDMuMjEtNTYuMzQyIDEyLjAxNy03NS44N0M3LjAyMyAzOTMuNTg3IDI1LjUzIDMzNi42MjYgNjguODcgMzM5LjYyYzM2LjcxNSAyLjUzNyA1OC41MDYtNDAuMjMxIDM0Ljg3My02OC40NDMtMjcuODk3LTMzLjMwMiA3LjMwNy04MS43NTcgNDcuNi02NS41MTYgMzQuMTM0IDEzLjc1OCA2OC4wNzUtMjAuMTgzIDU0LjMxNy01NC4zMTctMTYuMjQxLTQwLjI5MyAzMi4yMTQtNzUuNDk3IDY1LjUxNi00Ny42IDI4LjIxMiAyMy42MzMgNzAuOTggMS44NDIgNjguNDQzLTM0Ljg3My0yLjk5NC00My4zNCA1My45NjctNjEuODQ4IDc3LjAxOS0yNS4wMjUgMTkuNTI4IDMxLjE5NCA2Ni45MzcgMjMuNjg1IDc1Ljg3LTEyLjAxN1oiLz48L3N2Zz4=");
}

.svg-mask--splat-1 img,.svg-mask--splat-1 svg:not(.icon),.svg-mask--splat-1 video{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDQ4IiBoZWlnaHQ9IjEwNTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTU3MC45MDUgMTUyLjM0OEM2ODguNDQxIDE0MC4zMyA3NzEuMTg3LTI3LjkxNSA4ODQuOTQxIDQuMDI2IDk4Ny45OTcgMzIuOTYyIDEwMDYuMjMgMTc4LjE4OCAxMDMyLjYgMjgxLjk4NWMyMy4xNiA5MS4xNjkgMTkuNjUgMTg2LjE0OS02Ljg0IDI3Ni40MDMtMjQuMDYgODEuOTQ4LTg1LjQ2MiAxNDIuMTUxLTEzNi4yMDggMjEwLjgzMS01NS41MyA3NS4xNTYtOTQuMjUyIDE2NS4yNDEtMTc1LjYwMiAyMTEuMTc4LTkxLjYzMiA1MS43NDMtMjAzLjg0MiA5My4xMDMtMzAzLjUxNCA1OS4zNzMtOTkuMjUtMzMuNTktMTM0LjUwOS0xNTIuMzY1LTIwMy43NTktMjMxLjAzMy02OS45NzQtNzkuNDg5LTE5Mi4wMjMtMTI4Ljc1OS0yMDUuNDUzLTIzMy44My0xMy40MzktMTA1LjE0NCA4Ny4wNjYtMTg2LjQ3NCAxMzkuOTk3LTI3OC4yOTUgNDcuMzk1LTgyLjIxOCA2NC40MjItMjAyLjEzIDE1NC4zNTQtMjMyLjMyNCA5My4yMzQtMzEuMzAzIDE3Ny40OTYgOTguMDYzIDI3NS4zMyA4OC4wNloiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
          mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDQ4IiBoZWlnaHQ9IjEwNTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTU3MC45MDUgMTUyLjM0OEM2ODguNDQxIDE0MC4zMyA3NzEuMTg3LTI3LjkxNSA4ODQuOTQxIDQuMDI2IDk4Ny45OTcgMzIuOTYyIDEwMDYuMjMgMTc4LjE4OCAxMDMyLjYgMjgxLjk4NWMyMy4xNiA5MS4xNjkgMTkuNjUgMTg2LjE0OS02Ljg0IDI3Ni40MDMtMjQuMDYgODEuOTQ4LTg1LjQ2MiAxNDIuMTUxLTEzNi4yMDggMjEwLjgzMS01NS41MyA3NS4xNTYtOTQuMjUyIDE2NS4yNDEtMTc1LjYwMiAyMTEuMTc4LTkxLjYzMiA1MS43NDMtMjAzLjg0MiA5My4xMDMtMzAzLjUxNCA1OS4zNzMtOTkuMjUtMzMuNTktMTM0LjUwOS0xNTIuMzY1LTIwMy43NTktMjMxLjAzMy02OS45NzQtNzkuNDg5LTE5Mi4wMjMtMTI4Ljc1OS0yMDUuNDUzLTIzMy44My0xMy40MzktMTA1LjE0NCA4Ny4wNjYtMTg2LjQ3NCAxMzkuOTk3LTI3OC4yOTUgNDcuMzk1LTgyLjIxOCA2NC40MjItMjAyLjEzIDE1NC4zNTQtMjMyLjMyNCA5My4yMzQtMzEuMzAzIDE3Ny40OTYgOTguMDYzIDI3NS4zMyA4OC4wNloiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
}

.svg-mask--splat-2 img,.svg-mask--splat-2 svg:not(.icon),.svg-mask--splat-2 video{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5NzciIGhlaWdodD0iODk2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjYTQ5NWZiIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05NzUuNjg0IDM4MS44MzJjMTcuMjYzIDk1LjAzMy0xNDAuMjE0IDEyOS4yMzEtMTg3LjE3NyAyMTMuNjY2LTUyLjEzOCA5My43MzcgOC41MTUgMjg4LjA5NS05OC4yNTMgMjk5LjUwMy0xMjcuMTc1IDEzLjU4Ny0xMzguMDQ5LTExNS4zNjItMjYzLTE0Mi42My0xMDkuNTg1LTIzLjkxNC0yMjQuNTM1IDkxLjg5NC0zMDguNzE1IDE3Ljg2NC04NC41NDMtNzQuMzQ4IDExOC42ODgtMjA3LjM3MyA5My44MjktMzE3LjA5NEMxOTAuMjE5IDM1NS4zODEgOC4xNzEgMzQ4LjI2My4yOTcgMjQ4LjM0MS02LjU3IDE2MS4yMjMgMTA3LjMxOCAxMTIuMTY0IDE4MS44OTMgNjYuNDRjNjYuMTYzLTQwLjU2NyAxNDIuNTMxLTc2LjcwNSAyMTkuMDgyLTYzLjc3IDcxLjM4MyAxMi4wNjIgMTQwLjQ4NiA2Mi43NzMgMTY4Ljg1MiAxMjkuMzIgOS45MjkgMjMuMjkzIDI1LjgzOSA1NC41MjggNjkuOTIgNzguNTE3IDkxLjg1OSA0OS45OSAzMDQuODE2IDAgMzM1LjkzNyAxNzEuMzI1eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
          mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5NzciIGhlaWdodD0iODk2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjYTQ5NWZiIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05NzUuNjg0IDM4MS44MzJjMTcuMjYzIDk1LjAzMy0xNDAuMjE0IDEyOS4yMzEtMTg3LjE3NyAyMTMuNjY2LTUyLjEzOCA5My43MzcgOC41MTUgMjg4LjA5NS05OC4yNTMgMjk5LjUwMy0xMjcuMTc1IDEzLjU4Ny0xMzguMDQ5LTExNS4zNjItMjYzLTE0Mi42My0xMDkuNTg1LTIzLjkxNC0yMjQuNTM1IDkxLjg5NC0zMDguNzE1IDE3Ljg2NC04NC41NDMtNzQuMzQ4IDExOC42ODgtMjA3LjM3MyA5My44MjktMzE3LjA5NEMxOTAuMjE5IDM1NS4zODEgOC4xNzEgMzQ4LjI2My4yOTcgMjQ4LjM0MS02LjU3IDE2MS4yMjMgMTA3LjMxOCAxMTIuMTY0IDE4MS44OTMgNjYuNDRjNjYuMTYzLTQwLjU2NyAxNDIuNTMxLTc2LjcwNSAyMTkuMDgyLTYzLjc3IDcxLjM4MyAxMi4wNjIgMTQwLjQ4NiA2Mi43NzMgMTY4Ljg1MiAxMjkuMzIgOS45MjkgMjMuMjkzIDI1LjgzOSA1NC41MjggNjkuOTIgNzguNTE3IDkxLjg1OSA0OS45OSAzMDQuODE2IDAgMzM1LjkzNyAxNzEuMzI1eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
}

.svg-mask--splat-3 img,.svg-mask--splat-3 svg:not(.icon),.svg-mask--splat-3 video{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDcyIiBoZWlnaHQ9IjEwNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYxOC45MTMgMjE1LjM4M0M3NDUuNzc1IDIyNS42NTcgODQxLjc1IDE4LjAwNSA5NjAuNjc4IDYzLjMyM2MxMDkuMTcyIDQxLjYwMSAxMDkuNzUyIDIwNy45MzkgMTExLjMxMiAzMjQuNzA1IDEuMjYgOTQuMjYtOTkuOTY0IDE2Mi44MjctMTAzLjU0MSAyNTcuMDI3LTQuMzAyIDExMy4yNzYgMTM1LjI0MSAyMjMuMjQzIDgxLjUxMSAzMjMuMDcxLTQ5LjcyIDkyLjM3NC0xOTMuNDkyIDcwLjY5NC0yOTguMDg0IDc5LjI4NC04Ny41NiA3LjE5LTE3OC4yMTIgNy4wMy0yNTYuMDA2LTMzLjc3LTcxLjEzOS0zNy4zMDktODYuMDM2LTEzNC45NTEtMTUyLjI4OC0xODAuMzY4QzI0MS4zNDkgNzYzLjE5IDY2LjQgNzkzLjQxNiAxMi4xMTkgNjgyLjAyM2MtNDkuNjkzLTEwMS45NzkgNjcuMTU3LTIwOS40ODUgMTAzLjI4My0zMTcuMDE1IDQxLjI3LTEyMi44NDQtLjA4Mi0zMjMuMTUyIDEyNC4xOTYtMzYwLjA4MiAxNDEuNDgzLTQyLjA0NCAyMzIuMTkzIDE5OC41NDIgMzc5LjMxNSAyMTAuNDU3WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
          mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDcyIiBoZWlnaHQ9IjEwNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYxOC45MTMgMjE1LjM4M0M3NDUuNzc1IDIyNS42NTcgODQxLjc1IDE4LjAwNSA5NjAuNjc4IDYzLjMyM2MxMDkuMTcyIDQxLjYwMSAxMDkuNzUyIDIwNy45MzkgMTExLjMxMiAzMjQuNzA1IDEuMjYgOTQuMjYtOTkuOTY0IDE2Mi44MjctMTAzLjU0MSAyNTcuMDI3LTQuMzAyIDExMy4yNzYgMTM1LjI0MSAyMjMuMjQzIDgxLjUxMSAzMjMuMDcxLTQ5LjcyIDkyLjM3NC0xOTMuNDkyIDcwLjY5NC0yOTguMDg0IDc5LjI4NC04Ny41NiA3LjE5LTE3OC4yMTIgNy4wMy0yNTYuMDA2LTMzLjc3LTcxLjEzOS0zNy4zMDktODYuMDM2LTEzNC45NTEtMTUyLjI4OC0xODAuMzY4QzI0MS4zNDkgNzYzLjE5IDY2LjQgNzkzLjQxNiAxMi4xMTkgNjgyLjAyM2MtNDkuNjkzLTEwMS45NzkgNjcuMTU3LTIwOS40ODUgMTAzLjI4My0zMTcuMDE1IDQxLjI3LTEyMi44NDQtLjA4Mi0zMjMuMTUyIDEyNC4xOTYtMzYwLjA4MiAxNDEuNDgzLTQyLjA0NCAyMzIuMTkzIDE5OC41NDIgMzc5LjMxNSAyMTAuNDU3WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
}

.svg-mask--splat-4 img,.svg-mask--splat-4 svg:not(.icon),.svg-mask--splat-4 video{
  -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTgiIGhlaWdodD0iNTA0IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjQTQ5NUZCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMDMuNzkzIDg0LjY3M2MxNi4xNDkgMjMuODQ4IDMxLjczNyA0My41OCA1Ni40OTYgNDguNzI0IDQzLjM1NCA5LjAwNyA5NC4xMzItMzUuNjY1IDEzMC4xOS05Ljk0IDI5LjgzMiAyMS4yODIgMzMuMzIxIDg3LjE4OSAyMCAxMTIuNTQyLTE1LjUgMjkuNS01Mi4yMDEgNDQuMDQxLTY3LjUgNzQtMTguMzUgMzUuOTMyIDEwLjc2MSA3NC45NjgtMzIuNSAxMDMuNS0zMi45MDEgMjEuNjk5LTY4LjY2My0xNS42MjctMTA2LjY4Ni01LjMwMS01OS45MDcgMTYuMjY4LTk0LjU5MyA5Ni4zNDMtMTU2LjY0NSA5NC44MDEtNTcuODA3LTEuNDM2LTExNS42MzgtNDguMTYzLTEzNi42NjktMTAyLjA5MS0yMS4yMjctNTQuNDMxLTguMDQ0LTEyNS44NTIgMzAuNzM2LTE2OS41NDJDNjkuNSAxOTkuNSAxMDUgMTg5IDEyMi40OCAxMzljOS40NTUtMjcuMDQ3LTMtMTAzIDUxLjg5Ny0xMzIuMDUgNDUuMjQtMjMuOTQgOTIuMDY1IDE3LjA3MiAxMjkuNDE2IDc3LjcyM1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
          mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTgiIGhlaWdodD0iNTA0IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjQTQ5NUZCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMDMuNzkzIDg0LjY3M2MxNi4xNDkgMjMuODQ4IDMxLjczNyA0My41OCA1Ni40OTYgNDguNzI0IDQzLjM1NCA5LjAwNyA5NC4xMzItMzUuNjY1IDEzMC4xOS05Ljk0IDI5LjgzMiAyMS4yODIgMzMuMzIxIDg3LjE4OSAyMCAxMTIuNTQyLTE1LjUgMjkuNS01Mi4yMDEgNDQuMDQxLTY3LjUgNzQtMTguMzUgMzUuOTMyIDEwLjc2MSA3NC45NjgtMzIuNSAxMDMuNS0zMi45MDEgMjEuNjk5LTY4LjY2My0xNS42MjctMTA2LjY4Ni01LjMwMS01OS45MDcgMTYuMjY4LTk0LjU5MyA5Ni4zNDMtMTU2LjY0NSA5NC44MDEtNTcuODA3LTEuNDM2LTExNS42MzgtNDguMTYzLTEzNi42NjktMTAyLjA5MS0yMS4yMjctNTQuNDMxLTguMDQ0LTEyNS44NTIgMzAuNzM2LTE2OS41NDJDNjkuNSAxOTkuNSAxMDUgMTg5IDEyMi40OCAxMzljOS40NTUtMjcuMDQ3LTMtMTAzIDUxLjg5Ny0xMzIuMDUgNDUuMjQtMjMuOTQgOTIuMDY1IDE3LjA3MiAxMjkuNDE2IDc3LjcyM1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
}

.feature-row__item--overlap-images .feature-row__first-image{
    width:55%;
  }

.feature-row__item--overlap-images .feature-row__second-image{
    width:60%;
  }

.feature-row__item--placeholder-images .placeholder-image-wrap{
    width:50%;
  }

.feature-row-wrapper .feature-row__images{
  min-width:0;
  width:100%;
}

@media only screen and (max-width:959px){

.feature-row-wrapper .feature-row__images{
    padding-top:30px;
}
  }

.feature-row-wrapper .feature-row__text{
  min-width:0;
  width:100%;
}

@media only screen and (min-width:769px){

.feature-row-wrapper .feature-row__text{
    flex:0 1 43%;
    min-width:43%;
}
  }

.feature-row--33 .feature-row__images{
    max-width:50%;
  }

@media only screen and (min-width:769px){

.feature-row--33 .feature-row__images{
      flex:0 1 33.333%;
      max-width:none;
  }
    }

.feature-row--50 .feature-row__images{
    max-width:100%;
    padding-left:20px;
    padding-right:20px;
  }

@media only screen and (min-width:769px){

.feature-row--50 .feature-row__images{
      flex:0 1 50%;
      max-width:none;
      padding-left:0;
      padding-right:0;
  }
    }

.feature-row--66 .feature-row__images{
    max-width:100%;
    padding-left:20px;
    padding-right:20px;
  }

@media only screen and (min-width:769px){

.feature-row--66 .feature-row__images{
      flex:0 1 66.666%;
      max-width:none;
      padding-left:0;
      padding-right:0;
  }
    }

.scrolling-text{
  direction:ltr;
  overflow:hidden;
}

.scrolling-text__inner{
  animation:scrolling-text var(--move-speed) linear infinite;
  animation-play-state:running;
  display:inline-flex;
  margin:0.15em 0;
  visibility:visible;
  white-space:nowrap;
}

.scrolling-text__inner--right{
  animation:scrolling-text-right var(--move-speed) linear infinite;
}

.scrolling-text span{
  white-space:nowrap;
}

.scrolling-text:focus .scrolling-text__inner,.scrolling-text:hover .scrolling-text__inner{
  animation-play-state:paused;
}

@keyframes scrolling-text{
  0%{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

@keyframes scrolling-text-right{
  0%{
    transform:translateX(-50%);
  }
  to{
    transform:translateX(0);
  }
}

.newsletter-container{
  margin:0 auto !important;
  padding:0 !important;
}

.newsletter-section{
  align-items:center;
  display:flex;
  gap:40px;
  padding:60px 0;
}

@media only screen and (max-width:768px){

.newsletter-section{
    flex-direction:column;
    padding:30px 0;
}
  }

.newsletter-section--image-left{
  flex-direction:row-reverse;
}

@media only screen and (max-width:768px){

.newsletter-section--image-left{
    flex-direction:column-reverse;
}
  }

.newsletter-section__content{
  flex:100%;
  margin:0 auto;
  max-width:800px;
  padding-left:20px;
}

.newsletter-section--no-image .newsletter-section__content{
    flex:100%;
}

.newsletter-section__content form{
    display:flex;
    width:100%;
  }

.text-left .newsletter-section__content form{
      justify-content:flex-start;
  }

.text-center .newsletter-section__content form{
      justify-content:center;
  }

.text-right .newsletter-section__content form{
      justify-content:flex-end;
  }

.newsletter-section__content .newsletter__input-group{
    margin:0;
  }

.newsletter-section__image{
  width:100%;
}

.newsletter-section__image img{
    display:block;
    height:auto;
    margin:0 auto;
    -o-object-fit:cover;
       object-fit:cover;
  }

.newsletter-section__image--33{
  flex:33.333% 0 0;
}

.newsletter-section__image--50{
  flex:50% 0 0;
}

@media only screen and (max-width:768px){

.newsletter-section__image--50{
    max-width:100%;
}
  }

.newsletter-section__image--66{
  flex:66.666% 0 0;
}

@media only screen and (max-width:768px){

.newsletter-section__image--66{
    max-width:100%;
}
  }

.text-left .newsletter-form-group{
    margin:0;
}

.text-right .newsletter-form-group{
    margin:0;
}

.predictive-overflow-hidden{
  overflow:hidden;
}

@media only screen and (max-width:768px){

.predictive-overflow-hidden{
    overflow:auto;
}
  }

predictive-search{
  align-items:center;
  display:flex;
  margin:0 auto;
  max-width:960px;
  position:relative;
  width:100%;
}

predictive-search.is-active{
    flex:99;
  }

predictive-search.is-active .predictive__screen{
    display:block;
    z-index:3;
  }

predictive-search.is-active .btn--close-search{
    align-items:center;
    display:flex;
    justify-content:center;
  }

[data-dark=true] input{
    color:#fff !important;
  }

[data-dark=true] .btn--search path{
    stroke:#fff !important;
  }

[data-dark=false] input{
    color:#000 !important;
  }

[data-dark=false] .btn--search path{
    stroke:#000 !important;
  }

.predictive__screen{
  background:var(--colorModalBg);
  display:none;
  height:100vh;
  left:0;
  position:fixed;
  top:0;
  width:100vw;
}

predictive-search form{
  display:flex;
  flex-wrap:wrap;
  position:relative;
  width:100%;
  z-index:4;
}

.search__input-wrap{
  flex:5;
  position:relative;
  transition:flex 0.3s ease-in-out;
}

.search__input{
  background:var(--colorNavSearch, #fff);
  border-radius:calc(var(--roundness, 0)*2);
  color:var(--color-body-text);
  flex:1;
  padding-left:16px;
  padding-right:16px;
  width:100%;
}

.btn--search{
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
}

.btn--search .icon{
    height:25px;
    width:25px;
  }

@media only screen and (min-width:769px){

.btn--search{
    right:10px;
}
  }

[dir=rtl] .btn--search{
    left:15px;
    right:auto;
}

@media only screen and (min-width:769px){

[dir=rtl] .btn--search{
      left:10px;
}
    }

.btn--close-search{
  display:none;
  flex:30px 0 0;
  margin-left:10px;
}

.btn--close-search .icon{
    height:25px;
    width:25px;
  }

.btn--close-search .icon path{
    stroke:var(--colorNavText) !important;
  }

.search__results{
  background:var(--color-body);
  color:var(--color-body-text);
  container-type:inline-size;
  display:none;
  margin-top:10px;
  max-height:80vh;
  overflow-y:auto;
  padding:0;
  position:absolute;
  top:100%;
  width:100%;
}

@media only screen and (max-width:768px){

.search__results{
    margin-left:calc(var(--pageWidthPadding, 17px)*-1);
    margin-right:calc(var(--pageWidthPadding, 17px)*-1);
    max-height:75vh;
    width:calc(100% + var(--pageWidthPadding, 17px)*2);
}

.template-search .page-content .search__results{
      max-height:50vh;
}
  }

.results{
  display:block;
  padding:0 20px 20px;
  width:100%;
}

.results ul{
    list-style:none;
    margin:0;
    padding:0;
  }

.results li{
    margin-bottom:0;
    padding:10px;
    transition:background 0.2s ease;
  }

.results li:hover{
      background:rgba(0,0,0,.05);
    }

.results li a{
      align-items:center;
      display:flex;
    }

.results--queries span{
    font-weight:bolder;
  }

.results--queries mark{
    background-color:transparent;
    font-weight:400;
  }

.results--products span{
  margin-left:10px;
}

.results--products #predictive-search-products{
  margin-bottom:20px;
}

.results-products__image{
  height:80px;
  max-width:80px;
  min-width:80px;
  width:100%;
}

.results-products__info{
  display:flex;
  flex-direction:column;
}

.predictive-search-results{
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  overflow-y:auto;
  padding:40px 0 0;
}

.predictive-search-results h3{
    border-bottom:1px solid;
    border-color:var(--colorBorder);
    margin-bottom:10px;
    padding-bottom:10px;
  }

.predictive-search-results--none{
  padding-top:20px;
}

.predictive-search__no-results{
  display:block;
  width:100%;
}

.predictive-search__no-results:hover{
    opacity:0.5;
  }

.results__group-1{
  flex:100% 0 0;
}

.results__group-1>div:not(.results--queries){
    display:none;
  }

.results__group-2{
  flex:100% 0 0;
}

.results__search-btn{
  border:1px solid;
  border-color:var(--colorBorder);
  padding:10px;
  transition:background-color 0.2s ease;
  width:100%;
}

.results__search-btn:hover{
    background-color:rgba(0,0,0,.05);
  }

@container (min-width: 800px){
  .predictive-search-results{
    flex-direction:row;
    flex-wrap:nowrap;
  }

  .results{
    padding:0 40px 20px;
  }

  .results__group-1{
    flex:1 0 0;
  }

    .results__group-1 div:not(.results--queries){
      display:block;
    }

  .results__group-2{
    flex:2 0 0;
  }

    .results__group-2>div:not(.results--products){
      display:none;
    }

  .results__search-btn{
    padding:10px 0 10px 40px;
    text-align:left;
  }
}

.recipient-form{
  display:block;
  margin:2em auto;
  position:relative;
}

.recipient-form .field{
    position:relative;
  }

.recipient-form .field__label{
    color:inherit;
    left:0;
    margin:0;
    padding:8px 10px;
    pointer-events:none;
    position:absolute;
    top:0;
    transform-origin:0 0;
    transition:opacity .1s ease-in-out,transform .1s ease-in-out;
  }

@media only screen and (max-width:959px){

.recipient-form .field__label{
      padding:10px;
  }
    }

.recipient-form .field__label:not(.variant__button-label):not(.text-label),.recipient-form label:not(.variant__button-label):not(.text-label){
    font-weight:400;
  }

.recipient-form .field__input{
    margin-bottom:1.5em;
  }

@media only screen and (max-width:959px){

.recipient-form .field__input{
      margin-bottom:0.6em;
  }
    }

.recipient-form .field__input.text-area{
      height:150px;
      margin-bottom:0;
    }

.recipient-form .field__input::-webkit-input-placeholder{
      color:transparent;
    }

.recipient-form .field__input::-moz-placeholder{
      color:transparent;
    }

.recipient-form .field__input:not(:-moz-placeholder-shown)~label{
      font-size:0.8em;
      opacity:0.65;
      transform:scale(0.85) translateY(-0.4em) translateX(0.15em);
    }

.recipient-form .field__input:focus~label,.recipient-form .field__input:not(:placeholder-shown)~label{
      font-size:0.8em;
      opacity:0.65;
      transform:scale(0.85) translateY(-0.4em) translateX(0.15em);
    }

.recipient-form .field__input:not(:-moz-placeholder-shown){
      padding:16px 10px 0;
    }

.recipient-form .field__input:focus,.recipient-form .field__input:not(:placeholder-shown){
      padding:16px 10px 0;
    }

.recipient-form .field__input--error{
    background-color:#fff6f6;
    border-color:#d02e2e;
    color:#d02e2e;
  }

.recipient-form .field__input--error~label{
      color:#d02e2e;
    }

.recipient-form .recipient-form__checkbox-wrapper{
    align-items:center;
    display:flex;
    margin-bottom:2em;
  }

@media only screen and (max-width:959px){

.recipient-form .recipient-form__checkbox-wrapper{
      margin-bottom:1.5em;
  }
    }

.recipient-form input[type=checkbox]{
    background-color:inherit;
    border:1px solid;
    border-color:var(--colorBorder);
    border-radius:0;
    height:16px;
    width:16px;
  }

.recipient-form .checkbox-label{
    cursor:pointer;
    display:block;
    margin-bottom:0;
  }

.recipient-form .recipient-form-field-label--space-between>span{
    font-size:0.8em;
  }

.recipient-form .recipient-fields{
    display:none;
  }

*,:after,:before,input{
  box-sizing:border-box;
}

body,html{
  margin:0;
  padding:0;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{
  display:block;
}

audio,canvas,progress,video{
  display:inline-block;
  vertical-align:baseline;
}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{
  height:auto;
}

input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{
  -webkit-appearance:none;
}

.grid{
  list-style:none;
  margin:0;
  margin-left:-22px;
  padding:0;
}

.grid:after{clear:both;content:"";display:table;}

@media only screen and (max-width:768px){

.grid{
    margin-left:-17px;
}

html[dir=rtl] .grid{
      margin-left:0;
      margin-right:-17px;
}
  }

html[dir=rtl] .grid{
    margin-left:0;
    margin-right:-22px;
}

.grid--small{
  margin-left:-10px;
}

.grid--small .grid__item{
    padding-left:10px;
  }

.grid__item{
  float:left;
  min-height:1px;
  padding-left:22px;
  width:100%;
}

@media only screen and (max-width:768px){

.grid__item{
    padding-left:17px;
}

html[dir=rtl] .grid__item{
      padding-left:0;
      padding-right:17px;
}
  }

html[dir=rtl] .grid__item{
    float:right;
    padding-left:0;
    padding-right:22px;
}

.grid--no-gutters{
  margin-left:0;
}

.grid--no-gutters .grid__item{
    padding-left:0;
  }

.grid--flush-bottom{
  margin-bottom:-22px;
  overflow:auto;
}

.grid--flush-bottom>.grid__item{
    margin-bottom:22px;
  }

.grid--center{
  text-align:center;
}

.grid--center .grid__item{
    display:inline-block;
    float:none;
    text-align:left;
    vertical-align:top;
  }

html[dir=rtl] .grid--center .grid__item{
      text-align:right;
  }

.grid--full{
  margin-left:0;
}

.grid--full>.grid__item{
    padding-left:0;
  }

@media only screen and (min-width:769px){
  .grid--table-large{
    display:table;
    table-layout:fixed;
    width:100%;
  }

    .grid--table-large>.grid__item{
      display:table-cell;
      float:none;
      vertical-align:middle;
    }
}

@media only screen and (max-width:768px){
  .small--grid--flush{
    margin-left:-2px;
  }
  .page-width .small--grid--flush{
      margin-left:-17px;
      margin-right:-15px;
  }

    .small--grid--flush>.grid__item{
      padding-left:2px;
    }
}

.text-column__grid{
  display:grid;
  gap:-22px;
  grid-template-columns:1fr;
}

@media (min-width:769px){
  .text-column__grid{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
  }
  .text-column__grid>*{
    grid-column:span 3;
  }
  .text-column__grid:has(>:nth-child(3):last-child)>*{
    grid-column:span 2;
  }
  .text-column__grid:has(>:nth-child(odd):last-child:not(:nth-child(3)))>:nth-last-child(-n+3){
    grid-column:span 2;
  }
}

.one-whole{width:100%;}

.one-half{width:50%;}

.one-third{width:33.33333%;}

.two-thirds{width:66.66667%;}

.one-quarter{width:25%;}

.two-quarters{width:50%;}

.three-quarters{width:75%;}

.one-fifth{width:20%;}

.two-fifths{width:40%;}

.three-fifths{width:60%;}

.four-fifths{width:80%;}

.one-sixth{width:16.66667%;}

.two-sixths{width:33.33333%;}

.three-sixths{width:50%;}

.four-sixths{width:66.66667%;}

.five-sixths{width:83.33333%;}

@media only screen and (max-width:768px){.small--one-whole{width:100%;}.small--one-half{width:50%;}.small--one-third{width:33.33333%;}.small--two-thirds{width:66.66667%;}.grid--uniform .small--one-half:nth-of-type(odd),.grid--uniform .small--one-third:nth-of-type(3n+1){clear:both;}.small--one-quarter{width:25%;}.small--two-quarters{width:50%;}.small--three-quarters{width:75%;}.grid--uniform .small--one-quarter:nth-of-type(4n+1){clear:both;}.small--one-fifth{width:20%;}.small--two-fifths{width:40%;}.small--three-fifths{width:60%;}.small--four-fifths{width:80%;}.grid--uniform .small--one-fifth:nth-of-type(5n+1){clear:both;}.small--one-sixth{width:16.66667%;}.small--two-sixths{width:33.33333%;}.small--three-sixths{width:50%;}.small--four-sixths{width:66.66667%;}.small--five-sixths{width:83.33333%;}.grid--uniform .small--one-sixth:nth-of-type(6n+1),.grid--uniform .small--three-sixths:nth-of-type(odd),.grid--uniform .small--two-sixths:nth-of-type(3n+1){clear:both;}}

@media only screen and (min-width:769px){.medium-up--one-whole{width:100%;}.medium-up--one-half{width:50%;}.medium-up--one-third{width:33.33333%;}.medium-up--two-thirds{width:66.66667%;}.grid--uniform .medium-up--one-half:nth-of-type(odd),.grid--uniform .medium-up--one-third:nth-of-type(3n+1){clear:both;}.medium-up--one-quarter{width:25%;}.medium-up--two-quarters{width:50%;}.medium-up--three-quarters{width:75%;}.grid--uniform .medium-up--one-quarter:nth-of-type(4n+1){clear:both;}.medium-up--one-fifth{width:20%;}.medium-up--two-fifths{width:40%;}.medium-up--three-fifths{width:60%;}.medium-up--four-fifths{width:80%;}.grid--uniform .medium-up--one-fifth:nth-of-type(5n+1){clear:both;}.medium-up--one-sixth{width:16.66667%;}.medium-up--two-sixths{width:33.33333%;}.medium-up--three-sixths{width:50%;}.medium-up--four-sixths{width:66.66667%;}.medium-up--five-sixths{width:83.33333%;}.grid--uniform .medium-up--one-sixth:nth-of-type(6n+1),.grid--uniform .medium-up--three-sixths:nth-of-type(odd),.grid--uniform .medium-up--two-sixths:nth-of-type(3n+1){clear:both;}}

.show{display:block !important;}

.hide{display:none !important;}

.text-left{text-align:left !important;}

.text-right{text-align:right !important;}

.text-center{text-align:center !important;}

@media only screen and (max-width:768px){.small--show{display:block !important;}.small--hide{display:none !important;}.small--text-left{text-align:left !important;}.small--text-right{text-align:right !important;}.small--text-center{text-align:center !important;}}

@media only screen and (max-width:959px){.medium-down--show{display:block !important;}.medium-down--hide{display:none !important;}.medium-down--text-left{text-align:left !important;}.medium-down--text-right{text-align:right !important;}.medium-down--text-center{text-align:center !important;}}

@media only screen and (min-width:769px){.medium-up--show{display:block !important;}.medium-up--hide{display:none !important;}.medium-up--text-left{text-align:left !important;}.medium-up--text-right{text-align:right !important;}.medium-up--text-center{text-align:center !important;}}

.flex-grid{
  display:flex;
  flex:1 1 100%;
  flex-wrap:wrap;
}

[data-center-text=true] .flex-grid{
    justify-content:center;
}

.flex-grid--center{
  align-items:center;
}

.flex-grid--gutters{
  margin-left:-15px;
  margin-top:-15px;
}

.flex-grid__item{
  align-items:stretch;
  display:flex;
  flex:0 1 100%;
}

.flex-grid--gutters .flex-grid__item{
    padding-left:15px;
    padding-top:15px;
}

.flex-grid__item>*{
    flex:1 1 100%;
  }

.flex-grid__item--stretch{
  flex:1 1 100%;
}

.flex-grid__item--stretch:first-child{
    min-width:250px;
  }

@media only screen and (min-width:769px){
  .flex-grid__item--33{
    flex-basis:33.33%;
  }

  .flex-grid__item--50{
    flex-basis:50%;
  }
}

@media only screen and (max-width:768px){
  .flex-grid__item--mobile-second{
    order:2;
  }
}

.clearfix:after{clear:both;content:"";display:table;}

html:not(.no-js):not(.tab-outline) :focus{
  outline:none;
}

.is-transitioning{
  display:block !important;
  visibility:visible !important;
}

.display-table{
  display:table;
  table-layout:fixed;
  width:100%;
}

.display-table-cell{
  display:table-cell;
  float:none;
  vertical-align:middle;
}

@media only screen and (min-width:769px){
  .medium-up--display-table{
    display:table;
    table-layout:fixed;
    width:100%;
  }

  .medium-up--display-table-cell{
    display:table-cell;
    float:none;
    vertical-align:middle;
  }
}

.visually-hidden{
  clip:rect(0 0 0 0);
  border:0;
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
}

.visually-invisible{
  opacity:0 !important;
}

.skip-link:focus{
  clip:auto;
  background-color:var(--colorBody);
  color:var(--colorTextBody);
  height:auto;
  margin:0;
  opacity:1;
  padding:10px;
  transition:none;
  width:auto;
  z-index:10000;
}

html{
  touch-action:manipulation;
}

html[dir=rtl]{
  direction:rtl;
}

body,html{
  background-color:var(--colorBody);
  color:var(--colorTextBody);
}

@media only screen and (max-width:768px){
  .supports-touch.lock-scroll{
    overflow:hidden;
  }
    @supports (-webkit-touch-callout:none){
  .supports-touch.lock-scroll{
      overflow:initial;
  }
    }
}

.page-width{
  margin:0 auto;
  max-width:1500px;
}

.page-full,.page-width{
  padding:0 17px;
}

@media only screen and (min-width:769px){

.page-full,.page-width{
    padding:0 40px;
}
  }

.page-width--narrow{
  max-width:1000px;
}

.page-width--tiny{
  max-width:450px;
}

@media only screen and (max-width:768px){
  .page-width--flush-small{
    padding:0;
  }
}

.page-content,.shopify-email-marketing-confirmation__container,.shopify-policy__container{
  padding-bottom:40px;
  padding-top:40px;
}

@media only screen and (min-width:769px){

.page-content,.shopify-email-marketing-confirmation__container,.shopify-policy__container{
    padding-bottom:75px;
    padding-top:75px;
}
  }

.shopify-email-marketing-confirmation__container{
  text-align:center;
}

.page-content--top,.page-content--with-blocks{
  padding-bottom:0;
}

.page-content--bottom{
  padding-top:0;
}

.main-content{
  display:block;
  min-height:300px;
}

@media only screen and (min-width:769px){

.main-content{
    min-height:700px;
}
  }

.template-challange .main-content{
    min-height:0;
}

.hr--large,.hr--medium,.hr--small,hr{
  border:0;
  border-top:1px solid;
  border-top-color:var(--colorBorder);
  height:1px;
}

.hr--small{
  margin:15px auto;
}

.hr--medium{
  margin:25px auto;
}

@media only screen and (min-width:769px){

.hr--medium{
    margin:35px auto;
}
  }

.hr--large{
  margin:30px auto;
}

@media only screen and (min-width:769px){

.hr--large{
    margin:45px auto;
}
  }

.page-blocks+.hr--large,.page-blocks+[data-section-type=recently-viewed] .hr--large{
    margin-top:0;
}

.hr--clear{
  border:0;
}

@media only screen and (max-width:768px){
    .table--responsive thead{
      display:none;
    }

    .table--responsive tr{
      display:block;
    }

    .table--responsive td,.table--responsive tr{
      clear:both;
      float:left;
      width:100%;
    }

    .table--responsive td,.table--responsive th{
      display:block;
      padding:15px;
      text-align:right;
    }

    .table--responsive td:before{
      content:attr(data-label);
      float:left;
      font-size:12px;
      padding-right:10px;
    }
  }

@media only screen and (max-width:768px){
  .table--small-hide{
    display:none !important;
  }

  .table__section+.table__section{
    margin-top:10px;
    padding-top:15px;
    position:relative;
  }

    .table__section+.table__section:after{
      border-bottom:1px solid;
      border-bottom-color:var(--colorBorder);
      content:"";
      display:block;
      left:15px;
      position:absolute;
      right:15px;
      top:0;
    }
}

details summary::-webkit-details-marker{
  display:none;
}

.faux-select,body,button,input,select,textarea{
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
  font-family:var(--typeBasePrimary), var(--typeBaseFallback);
  font-size:calc(var(--typeBaseSize)*0.92);
  letter-spacing: 0px;
  line-height:var(--typeBaseLineHeight);
  text-rendering:optimizeSpeed;
}

@media only screen and (min-width:769px){

.faux-select,body,button,input,select,textarea{
    font-size:var(--typeBaseSize);
}
  }

body{
  font-weight:var(--typeBaseWeight);
}

p{
  margin:0 0 15px 0;
}

p img{
    margin:0;
  }

em{
  font-style:italic;
}

b,strong{
  font-weight:700;
}

p[data-spam-detection-disclaimer],small{
  font-size:0.85em;
}

sub,sup{
  font-size:60%;
  position:relative;
  vertical-align:baseline;
}

sup{
  top:-0.5em;
}

sub{
  bottom:-0.5em;
}

.rte blockquote,blockquote{
  margin:0;
  padding:15px 30px 40px;
}

.rte blockquote p,blockquote p{
    margin-bottom:0;
  }

.rte blockquote p+cite,blockquote p+cite{
      margin-top:15px;
    }

.rte blockquote cite,blockquote cite{
    display:block;
  }

code,pre{
  background-color:#faf7f5;
  border:0 none;
  color:#51ab62;
  font-family:Consolas,monospace;
  font-size:1em;
  padding:0 2px;
}

pre{
  margin:0 0 30px;
  overflow:auto;
  padding:15px;
}

.label,label:not(.variant__button-label):not(.text-label){
  font-size:0.8em;
  letter-spacing:0em;
  text-transform:uppercase;
}

label{
  display:block;
  margin-bottom:10px;
}

.label-info{
  display:block;
  margin-bottom:10px;
}

.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{
  display:block;
  margin:0 0 10px;
}

@media only screen and (min-width:769px){

.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{
    margin:0 0 15px;
}
  }

.h1 a,.h2 a,.h3 a,.h4 a,.h5 a,.h6 a,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{
    font-weight:inherit;
    -webkit-text-decoration:none;
    text-decoration:none;
  }

.h1,.h2,.h3,h1,h2,h3{
  font-family:var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight:var(--typeHeaderWeight);
  letter-spacing:var(--typeHeaderSpacing);
  line-height:var(--typeHeaderLineHeight);
}

[data-type_header_capitalize=true] .h1,[data-type_header_capitalize=true] .h2,[data-type_header_capitalize=true] .h3,[data-type_header_capitalize=true] h1,[data-type_header_capitalize=true] h2,[data-type_header_capitalize=true] h3{
    text-transform:uppercase;
}

.h1,h1{
  font-size:calc(var(--typeHeaderSize)*0.85);
}

.h2,h2{
  font-size:calc(var(--typeHeaderSize)*0.73);
}

.h3,h3{
  font-size:calc(var(--typeHeaderSize)*0.62);
}

@media only screen and (min-width:769px){
  .h1,h1{
    font-size:var(--typeHeaderSize);
  }

  .h2,h2{
    font-size:calc(var(--typeHeaderSize)*0.85);
  }

  .h3,h3{
    font-size:calc(var(--typeHeaderSize)*0.65);
  }
}

.h4,h4{
  font-size:0.8em;
  letter-spacing:0;
  text-transform:uppercase;
}

.h5,.h6,h5,h6{
  font-size:0.8em;
  letter-spacing:0em;
  margin-bottom:10px;
  text-transform:uppercase;
}

@media only screen and (max-width:768px){

.h5,.h6,h5,h6{
    margin-bottom:5px;
}
  }

.subheading{
  letter-spacing:0em;
  text-transform:uppercase;
}

.text-spacing,.text-spacing.rte:last-child{
  margin-bottom:15px;
}

@media only screen and (max-width:768px){

      .rte table td,.rte table th{
        padding:6px 8px;
      }
    }

.collapsible-content .rte table td,.collapsible-content .rte table th{
        padding:6px 8px;
      }

.comment-author{
  margin-bottom:0;
}

.comment-date{
  display:block;
  font-size:calc(var(--typeBaseSize)*0.85);
  margin-top:3px;
}

@media only screen and (max-width:768px){

.comment-date{
    margin-bottom:15px;
}
  }

.ajaxcart__subtotal{
  font-size:0.8em;
  letter-spacing:0em;
  text-transform:uppercase;
}

.rte .enlarge-text{
    font-size:1.3em;
    margin:0;
  }

@media only screen and (min-width:769px){

.rte .enlarge-text--offset p{
        padding-right:15%;
    }

.text-center .rte .enlarge-text--offset p{
          padding:0 5%;
    }
      }

@media only screen and (min-width:769px){
  .table--small-text{
    font-size:calc(var(--typeBaseSize)*0.85);
  }
}

.index-section--footer h3{
    font-size:1.5em;
  }

html[dir=rtl] .text-left{
    text-align:right !important;
  }

html[dir=rtl] .text-right{
    text-align:left !important;
  }

.icon-and-text{
  align-items:center;
  display:flex;
  flex-wrap:nowrap;
}

.icon-and-text .icon{
    flex:0 0 auto;
  }

ol,ul{
  margin:0 0 15px 30px;
  padding:0;
  text-rendering:optimizeLegibility;
}

ol ol{
  list-style:lower-alpha;
}

ol{ list-style:decimal; }

ol ol,ol ul,ul ol,ul ul{ margin:4px 0 5px 20px; }

li{ margin-bottom:0.25em; }

ul.square{ list-style:square outside; }

ul.disc{ list-style:disc outside; }

ol.alpha{ list-style:lower-alpha outside; }

.no-bullets{
  list-style:none outside;
  margin-left:0;
}

.inline-list{
  margin:0;
  padding:0;
}

.inline-list li{
    display:inline-block;
    margin-bottom:0;
    vertical-align:middle;
  }

table{
  background:var(--colorBorder);
  border:0 none;
  border-spacing:1px;
  position:relative;
  width:100%;
}

.table-wrapper{
  -webkit-overflow-scrolling:touch;
  max-width:100%;
  overflow:auto;
}

td,th{
  background:var(--colorBody);
  border:0 none;
  padding:10px 15px;
  text-align:left;
}

html[dir=rtl] td,html[dir=rtl] th{
    text-align:right;
}

th{
  font-weight:700;
}

.table__title,th{
  font-weight:700;
}

.text-link,a{
  background:transparent;
  color:var(--colorTextBody);
  -webkit-text-decoration:none;
  text-decoration:none;
}

.text-link:hover,a:hover{
    color:var(--colorTextBody);
  }

.text-link{
  background:none;
  border:0 none;
  display:inline;
  margin:0;
  padding:0;
}

.rte a,.shopify-email-marketing-confirmation__container a,.shopify-policy__container a{
  color:var(--colorLink);
}

button{
  color:currentColor;
  overflow:visible;
}

button[disabled],html input[disabled]{
  cursor:default;
}

.btn,.rte .btn,.shopify-payment-button .shopify-payment-button__button--unbranded{
  -webkit-appearance:none;
  -moz-appearance:none;
  background:var(--colorBtnPrimary);
  border:1px solid transparent;
  border-radius:var(--buttonRadius);
  color:var(--colorBtnPrimaryText);
  cursor:pointer;

  display:inline-block;

  font-size:calc(var(--typeBaseSize) - 4px);
  font-size:max(calc(var(--typeBaseSize) - 4px), 13px);
  font-weight:700;
  letter-spacing:0em;
  line-height:1.42;
  margin:0;
  min-width:90px;
  padding:11px 20px;
  text-align:center;
  -webkit-text-decoration:none;
  text-decoration:none;
  text-transform:uppercase;
  -webkit-user-select:none;
             -moz-user-select:none;
          user-select:none;
  vertical-align:middle;
  white-space:normal;
  width:auto;
}

@media only screen and (max-width:768px){

.btn,.rte .btn,.shopify-payment-button .shopify-payment-button__button--unbranded{
    font-size:calc(var(--typeBaseSize) - 5px);
    font-size:max(calc(var(--typeBaseSize) - 5px), 11px);
    padding:9px 17px;
}
  }

.btn:hover,.rte .btn:hover,.shopify-payment-button .shopify-payment-button__button--unbranded:hover{
    background-color:var(--colorBtnPrimary);
    color:var(--colorBtnPrimaryText);
  }

.btn.disabled,.btn[disabled],.rte .btn.disabled,.rte .btn[disabled],.shopify-payment-button .shopify-payment-button__button--unbranded.disabled,.shopify-payment-button .shopify-payment-button__button--unbranded[disabled]{
    background-color:#f6f6f6;
    color:#b6b6b6;
    cursor:default;
  }

.btn.disabled:hover,.btn[disabled]:hover,.rte .btn.disabled:hover,.rte .btn[disabled]:hover,.shopify-payment-button .shopify-payment-button__button--unbranded.disabled:hover,.shopify-payment-button .shopify-payment-button__button--unbranded[disabled]:hover{
      background-color:#f6f6f6;
      color:#b6b6b6;
    }

[data-button_style=angled] .btn.disabled:after,[data-button_style=angled] .btn.disabled:before,[data-button_style=angled] .btn[disabled]:after,[data-button_style=angled] .btn[disabled]:before,[data-button_style=angled] .rte .btn.disabled:after,[data-button_style=angled] .rte .btn.disabled:before,[data-button_style=angled] .rte .btn[disabled]:after,[data-button_style=angled] .rte .btn[disabled]:before,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded.disabled:after,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded.disabled:before,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded[disabled]:after,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded[disabled]:before{
        background-color:#f6f6f6;
        border-bottom:1px solid;
        border-bottom-color:#b6b6b6;
        border-top:1px solid;
        border-top-color:#b6b6b6;
      }

[data-button_style=angled] .btn,[data-button_style=angled] .rte .btn,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded{
    border:0;
    margin-left:10px;
    margin-right:10px;
    position:relative;
}

[data-button_style=angled] .btn:after,[data-button_style=angled] .btn:before,[data-button_style=angled] .rte .btn:after,[data-button_style=angled] .rte .btn:before,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded:after,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded:before{
      background-color:inherit;
      bottom:0;
      content:"";
      display:block;
      position:absolute;
      top:0;
      transform:skewX(-12deg);
      width:20px;
    }

[data-button_style=angled] .btn:before,[data-button_style=angled] .rte .btn:before,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded:before{
      left:-6px;
    }

[data-button_style=angled] .btn:after,[data-button_style=angled] .rte .btn:after,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded:after{
      right:-6px;
    }

[data-button_style=angled] .btn.btn--small:before,[data-button_style=angled] .rte .btn.btn--small:before,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded.btn--small:before{
        left:-5px;
      }

[data-button_style=angled] .btn.btn--small:after,[data-button_style=angled] .rte .btn.btn--small:after,[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded.btn--small:after{
        right:-5px;
      }

[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static),[data-button_style=square] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static),[data-button_style=square] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static),[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static),[data-button_style^=round] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static),[data-button_style^=round] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static){
      overflow:hidden;
      position:relative;
      transition:background 0.2s ease 0s;
    }

[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):after,[data-button_style=square] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):after,[data-button_style=square] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):after,[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):after,[data-button_style^=round] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):after,[data-button_style^=round] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):after{
        background-image:linear-gradient(90deg,transparent, hsla(0,0%,100%,.25),transparent);
        content:"";
        height:100%;
        left:150%;
        position:absolute;
        top:0;
        transform:skewX(-20deg);
        width:200%;
      }

[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after,[data-button_style=square] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after,[data-button_style=square] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after,[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after,[data-button_style^=round] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after,[data-button_style^=round] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after{
        animation:shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
      }

[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover,[data-button_style=square] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover,[data-button_style=square] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover,[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover,[data-button_style^=round] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover,[data-button_style^=round] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover{
        background:var(--colorBtnPrimaryLight);
        transition-delay:0.25s;
      }

[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):active,[data-button_style=square] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):active,[data-button_style=square] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):active,[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):active,[data-button_style^=round] .rte .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):active,[data-button_style^=round] .shopify-payment-button .shopify-payment-button__button--unbranded:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):active{
        background:var(--colorBtnPrimary);
        transition-delay:0s;
      }

.shopify-payment-button .shopify-payment-button__button--unbranded:hover:not([disabled]){
  background-color:var(--colorBtnPrimary);
  color:var(--colorBtnPrimaryText);
}

.shopify-payment-button__more-options{
  color:inherit;
}

.btn--secondary,.rte .btn--secondary{
  background-color:transparent;
  border:1px solid;
  border-color:var(--colorBorder);
  color:var(--colorTextBody);
}

[data-button_style=angled] .btn--secondary,[data-button_style=angled] .rte .btn--secondary{
    border-bottom:1px solid;
    border-bottom-color:var(--colorBorder);
    border-left:0;
    border-right:0;
    border-top:1px solid;
    border-top-color:var(--colorBorder);
}

[data-button_style=angled] .btn--secondary:after,[data-button_style=angled] .btn--secondary:before,[data-button_style=angled] .rte .btn--secondary:after,[data-button_style=angled] .rte .btn--secondary:before{
      background-color:transparent;
      bottom:-1px;
      top:-1px;
    }

[data-button_style=angled] .btn--secondary:before,[data-button_style=angled] .rte .btn--secondary:before{
      border-bottom:1px solid;
      border-bottom-color:var(--colorBorder);
      border-left:1px solid;
      border-left-color:var(--colorBorder);
    }

[data-button_style=angled] .btn--secondary:after,[data-button_style=angled] .rte .btn--secondary:after{
      border-right:1px solid;
      border-right-color:var(--colorBorder);
      border-top:1px solid;
      border-top-color:var(--colorBorder);
    }

.btn--secondary:hover,.rte .btn--secondary:hover{
    background-color:transparent;
    border-color:var(--colorTextBody);
    color:var(--colorTextBody);
    transition:border 0.3s ease;
  }

.btn--secondary:hover:before,.rte .btn--secondary:hover:before{
      border-color:var(--colorTextBody);
      transition:border 0.3s ease;
    }

.btn--secondary:hover:after,.rte .btn--secondary:hover:after{
      border-color:var(--colorTextBody);
      transition:border 0.3s ease;
    }

.btn--tertiary,.rte .btn--tertiary{
  background-color:transparent;
  border:1px solid;
  border-color:var(--colorBorder);
  color:var(--colorTextBody);
  font-weight:400;
  letter-spacing:normal;
  padding:8px 10px;
  text-transform:none;
  white-space:nowrap;
}

.btn--tertiary:hover,.rte .btn--tertiary:hover{
    background-color:transparent;
    color:var(--colorTextBody);
  }

.btn--tertiary.disabled,.btn--tertiary[disabled],.rte .btn--tertiary.disabled,.rte .btn--tertiary[disabled]{
    background-color:#f6f6f6;
    border-color:#b6b6b6;
    color:#b6b6b6;
    cursor:default;
  }

[data-button_style=angled] .btn--tertiary,[data-button_style=angled] .rte .btn--tertiary{
    margin-left:0;
    margin-right:0;
}

[data-button_style=angled] .btn--tertiary:after,[data-button_style=angled] .btn--tertiary:before,[data-button_style=angled] .rte .btn--tertiary:after,[data-button_style=angled] .rte .btn--tertiary:before{
      content:none;
    }

.btn--tertiary-active{
  background:var(--colorBtnPrimary);
  border-color:var(--colorBtnPrimary);
  color:var(--colorBtnPrimaryText);
}

.btn--tertiary-active:hover{
    background:var(--colorBtnPrimary);
    color:var(--colorBtnPrimaryText);
  }

.btn--body{
  background-color:var(--colorBody);
  border:1px solid;
  border-color:var(--colorBorder);
  color:var(--colorTextBody);
}

.btn--body:active,.btn--body:hover{
    background-color:var(--colorBody);
    border:1px solid;
    border-color:var(--colorBorder);
    color:var(--colorTextBody);
  }

.btn--circle{
  border-radius:50%;
  line-height:1;
  min-width:0;
  padding:10px;
}

.btn--circle .icon{
    height:20px;
    width:20px;
  }

.btn--circle:after,.btn--circle:before{
    background:none;
    content:none;
    width:auto;
  }

.btn--circle.btn--large .icon{
    height:30px;
    width:30px;
  }

.btn--circle.btn--large{
    padding:15px;
  }

[data-button_style=angled] .btn--circle{
    border:1px solid;
    border-color:var(--colorBorder);
}

[data-button_style=angled] .btn--circle:after,[data-button_style=angled] .btn--circle:before{
      display:none;
    }

.btn--small{
  background-position:150% 45%;
  font-size:calc(var(--typeBaseSize) - 6px);
  font-size:max(calc(var(--typeBaseSize) - 6px), 12px);
  min-width:90px;
  padding:8px 14px;
}

[data-button_style=angled] .btn--small{
    margin-left:10px;
    padding-left:16px;
    padding-right:16px;
}

.btn--secondary.btn--small{
  font-weight:400;
}

.btn--large{
  padding:15px 20px;
}

.btn--full{
  padding:11px 20px;
  padding:13px 20px;
  transition:none;
  width:100%;
}

[data-button_style=angled] .btn--full{
    max-width:94%;
}

[data-button_style=angled] .shopify-payment-button .shopify-payment-button__button--unbranded{
    max-width:94%;
}

.btn--inverse{
  background-color:transparent;
  border:2px solid #fff;
  color:#fff;
}

.btn--inverse:focus,.btn--inverse:hover{
    background-color:transparent;
  }

[data-button_style=angled] .btn--inverse{
    border-bottom:2px solid;
    border-left:0;
    border-right:0;
    border-top:2px solid;
}

[data-button_style=angled] .btn--inverse:after,[data-button_style=angled] .btn--inverse:before{
      background-color:transparent;
      border-color:#fff;
      bottom:-2px;
      top:-2px;
    }

[data-button_style=angled] .btn--inverse:before{
      border-bottom:2px solid;
      border-left:2px solid;
    }

[data-button_style=angled] .btn--inverse:after{
      border-right:2px solid;
      border-top:2px solid;
    }

.hero__link .btn--inverse{
    border-color:var(--colorHeroText);
    color:var(--colorHeroText);
}

[data-button_style=angled] .hero__link .btn--inverse:before{
        border-color:var(--colorHeroText);
      }

[data-button_style=angled] .hero__link .btn--inverse:after{
        border-color:var(--colorHeroText);
      }

.btn--loading{
  background-color:var(--colorBtnPrimaryDim);
  color:var(--colorBtnPrimaryDim);
  position:relative;
  text-indent:-9999px;
}

.btn--loading:active,.btn--loading:hover{
    background-color:var(--colorBtnPrimaryDim);
    color:var(--colorBtnPrimaryDim);
  }

.btn--loading:before{
    animation:spin 1s linear infinite;
    border:3px solid;
    border-color:var(--colorBtnPrimaryText);
    border-radius:50%;
    border-top-color:transparent;
    content:"";
    display:block;
    height:24px;
    left:50%;
    margin-left:-12px;
    margin-top:-12px;
    position:absolute;
    top:50%;
    width:24px;
  }

[data-button_style=angled] .btn--loading:before{
      border-color:var(--colorBtnPrimaryText) !important;
      border-top-color:transparent !important;
    }

[data-button_style=angled] .btn--loading:before{
      border:3px solid;
      height:24px;
      left:50%;
      top:50%;
      transform:none;
      width:24px;
    }

[data-button_style=angled] .btn--loading:after{
      background-color:var(--colorBtnPrimaryDim);
    }

[data-button_style=angled] .btn--loading.btn--secondary:after{
      bottom:1px;
    }

.btn--loading.btn--secondary{
  background:transparent;
  color:var(--colorTextBody);
}

.btn--loading.btn--secondary:before{
    border-color:var(--colorTextBody);
    border-top-color:transparent;
  }

.return-link{
  margin-top:50px;
  padding:15px 25px;
  text-align:center;
}

@media only screen and (max-width:768px){

.return-link{
    padding:22px 17px;
    width:100%;
}

[data-button_style=angled] .return-link{
      width:90%;
}
  }

.return-link .icon{
    margin-right:8px;
    width:20px;
  }

.collapsible-trigger-btn{
  text-align:left;
}

[data-center-text=true] .collapsible-trigger-btn{
    text-align:center;
}

.collapsible-trigger-btn{
  display:block;
  font-size:0.8em;
  letter-spacing:0em;
  padding:15px 10px 15px 0;
  text-transform:uppercase;
  width:100%;
}

.collection-sidebar__group .collapsible-trigger-btn{
    text-align:left;
}

.collapsible-trigger-btn--borders{
  border:1px solid;
  border-color:var(--colorBorder);
  border-bottom:0;
  padding:12px;
}

.collapsible-trigger-btn--borders .collapsible-trigger__icon{
    right:12px;
  }

@media only screen and (min-width:769px){

.collapsible-trigger-btn--borders{
    padding:15px;
}

    .collapsible-trigger-btn--borders .collapsible-trigger__icon{
      right:15px;
    }
  }

.collapsible-content+.collapsible-trigger-btn--borders{
    margin-top:-1px;
}

.collapsible-trigger-btn--borders+.collapsible-content .collapsible-content__inner{
    border:1px solid;
    border-color:var(--colorBorder);
    border-top:0;
    font-size:calc(var(--typeBaseSize)*0.92);
    padding:0 20px 20px;
  }

.collapsible-trigger-btn--borders+.collapsible-content--expanded{
    margin-bottom:30px;
  }

.collapsible-trigger-btn--borders+.collapsible-content--expanded:last-child{
      margin-bottom:-1px;
    }

.collapsible-trigger-btn--borders-top{
  border-top:1px solid;
  border-top-color:var(--colorBorder);
}

.shopify-payment-button{
  margin-top:10px;
}

.shopify-payment-button .shopify-payment-button__button--unbranded{
  display:block;
  transition:none;
  width:100%;
}

.payment-buttons .add-to-cart,.payment-buttons .shopify-payment-button,.payment-buttons .shopify-payment-button__button--unbranded{
    min-height:50px;
  }

.add-to-cart.btn--secondary{
  border:1px solid;
  border-color:var(--colorTextBody);
}

[data-button_style=angled] .add-to-cart.btn--secondary{
    border-left:0;
    border-right:0;
}

[data-button_style=angled] .add-to-cart.btn--secondary:after,[data-button_style=angled] .add-to-cart.btn--secondary:before{
      border-color:var(--colorTextBody);
    }

.add-to-cart.btn--secondary.disabled,.add-to-cart.btn--secondary[disabled]{
    border-color:#b6b6b6;
  }

[data-button_style=angled] .add-to-cart.btn--secondary.disabled:after,[data-button_style=angled] .add-to-cart.btn--secondary.disabled:before,[data-button_style=angled] .add-to-cart.btn--secondary[disabled]:after,[data-button_style=angled] .add-to-cart.btn--secondary[disabled]:before{
        border-color:#b6b6b6;
      }

.shopify-payment-button__button--hidden{
  display:none !important;
}

/* Hide "More payment options" link */
.shopify-payment-button__more-options {
  display: none !important;
}



svg:not(:root){
  overflow:hidden;
}

iframe{
  max-width:100%;
}

.video-wrapper{
  height:0;
  height:auto;
  max-width:100%;
  overflow:hidden;
  padding-bottom:56.25%;
  position:relative;
}

.video-wrapper iframe,.video-wrapper video{
    height:100%;
    left:0;
    position:absolute;
    top:0;
    width:100%;
  }

.video-wrapper--modal{
  width:1000px;
}

.grid__image-ratio{
  background-color:var(--colorSmallImageBg);
  position:relative;
}

.grid__image-ratio img{
    height:100%;
    left:0;
    -o-object-fit:cover;
       object-fit:cover;
    position:absolute;
    top:0;
    width:100%;
  }

.grid__image-ratio img.grid__image-contain{
      -o-object-fit:contain;
         object-fit:contain;
    }

.grid__image-ratio:before{
    content:"";
    display:block;
    height:0;
    width:100%;
  }

.grid__image-ratio .placeholder-svg{
    bottom:0;
    left:0;
    position:absolute;
    right:0;
    top:0;
  }

.grid__image-ratio--object{
  opacity:1;
}

.grid__image-ratio--wide:before{
  padding-bottom:56.25%;
}

.grid__image-ratio--landscape:before{
  padding-bottom:75%;
}

.grid__image-ratio--square:before{
  padding-bottom:100%;
}

.grid__image-ratio--portrait:before{
  padding-bottom:150%;
}

.image-fit{
  font-family:"object-fit: cover";
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  position:relative;
  width:100%;
  z-index:1;
}

.parallax-container{
  height:160%;
  left:0;
  position:absolute;
  top:-30%;
  width:100%;
}

.parallax-image{
  height:110%;
  left:0;
  position:absolute;
  top:-5%;
  width:100%;
}

.parallax-image img{
    display:block;
    height:100%;
    -o-object-fit:cover;
       object-fit:cover;
    width:100%;
  }

form{
  margin:0;
}

[data-center-text=true] .form-vertical{
    text-align:center;
}

.form-vertical{
  margin-bottom:15px;
}

.form-vertical label{
    text-align:left;
  }

.inline{
  display:inline;
}

@media only screen and (max-width:959px){
  input,select,textarea{
    font-size:16px !important;
  }
}

button,input,textarea{
  -webkit-appearance:none;
  -moz-appearance:none;
}

button{
  background:none;
  border:none;
  cursor:pointer;
  display:inline-block;
}

fieldset{
  border:1px solid;
  border-color:var(--colorBorder);
  padding:15px;
}

legend{
  border:0;
  padding:0;
}

button,input[type=submit]{
  cursor:pointer;
}

input,select,textarea{
  border:1px solid;
  border-color:var(--colorBorder);
  border-radius:0;
  max-width:100%;
  padding:8px 10px;
}

input.disabled,input[disabled],select.disabled,select[disabled],textarea.disabled,textarea[disabled]{
    border-color:#b6b6b6;
    cursor:default;
  }

input.input-full,select.input-full,textarea.input-full{
    width:100%;
  }

textarea{
  min-height:100px;
}

input[type=checkbox],input[type=radio]{
  margin:0 10px 0 0;
  padding:0;
  width:auto;
}

input[type=checkbox]{
  -webkit-appearance:checkbox;
  -moz-appearance:checkbox;
}

input[type=radio]{
  -webkit-appearance:radio;
  -moz-appearance:radio;
}

input[type=image]{
  padding-left:0;
  padding-right:0;
}

.faux-select,select{
  -webkit-appearance:none;
             -moz-appearance:none;
          appearance:none;
  background-color:transparent;
  color:inherit;
  cursor:pointer;
  padding-right:28px;
  text-indent:0.01px;
  text-overflow:"";
}

select{
  background-image:var(--urlIcoSelect);
  background-position:100%;
  background-position:right 10px center;
  background-repeat:no-repeat;
  background-size:11px;
}

.is-light select{
    background-image:var(--urlIcoSelectWhite);
}

.faux-select .icon{
  height:11px;
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:11px;
}

optgroup{
  font-weight:700;
}

option{
  background-color:#fff;
  color:#000;
}

option[disabled]{
    color:#ccc;
  }

select::-ms-expand{
  display:none;
}

.hidden-label{
  clip:rect(0 0 0 0);
  border:0;
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
}

label[for]{
  cursor:pointer;
}

.form-vertical input,.form-vertical select,.form-vertical textarea{
    display:block;
    margin-bottom:30px;
  }

.form-vertical .btn,.form-vertical input[type=checkbox],.form-vertical input[type=radio]{
    display:inline-block;
  }

.form-vertical .btn:not(:last-child){
    margin-bottom:30px;
  }

small{
  display:block;
}

input.error,textarea.error{
    background-color:#fff6f6;
    border-color:#d02e2e;
    color:#d02e2e;
  }

label.error{
  color:#d02e2e;
}

.selector-wrapper label{
    margin-right:10px;
  }

.selector-wrapper+.selector-wrapper{
    margin-top:15px;
  }

.input-group{
  display:flex;
}

.input-group .input-group-btn:first-child .btn,.input-group .input-group-field:first-child,.input-group input[type=hidden]:first-child+.input-group-field{
    border-radius:0 0 0 0;
  }

.input-group .input-group-field:last-child{
    border-radius:0 0 0 0;
  }

.input-group .input-group-btn:first-child .btn,.input-group input[type=hidden]:first-child+.input-group-btn .btn{
    border-radius:var(--buttonRadius) 0 0 var(--buttonRadius);
  }

.input-group .input-group-btn:last-child .btn{
    border-radius:0 var(--buttonRadius) var(--buttonRadius) 0;
  }

.input-group input::-moz-focus-inner{
      border:0;
      margin-bottom:-1px;
      margin-top:-1px;
      padding:0;
    }

.input-group-field{
  flex:1 1 auto;
  margin:0;
  min-width:0;
}

.input-group-btn{
  display:flex;
  flex:0 1 auto;
  margin:0;
}

.input-group-btn .icon{
    vertical-align:initial;
  }

[data-button_style=angled] .input-group-btn{
    left:-8px;
    position:relative;
}

.icon{
  fill:currentColor;
  display:inline-block;
  height:20px;
  vertical-align:middle;
  width:20px;
}

.no-svg .icon{
    display:none;
}

svg.icon circle,svg.icon ellipse,svg.icon g,svg.icon line,svg.icon path,svg.icon polygon,svg.icon polyline,svg.icon rect,symbol.icon circle,symbol.icon ellipse,symbol.icon g,symbol.icon line,symbol.icon path,symbol.icon polygon,symbol.icon polyline,symbol.icon rect{
      fill:inherit;
      stroke:inherit;
    }

svg.icon-bag circle,svg.icon-bag ellipse,svg.icon-bag g,svg.icon-bag line,svg.icon-bag path,svg.icon-bag polygon,svg.icon-bag polyline,svg.icon-bag rect,svg.icon-bag-minimal circle,svg.icon-bag-minimal ellipse,svg.icon-bag-minimal g,svg.icon-bag-minimal line,svg.icon-bag-minimal path,svg.icon-bag-minimal polygon,svg.icon-bag-minimal polyline,svg.icon-bag-minimal rect,svg.icon-cart circle,svg.icon-cart ellipse,svg.icon-cart g,svg.icon-cart line,svg.icon-cart path,svg.icon-cart polygon,svg.icon-cart polyline,svg.icon-cart rect,svg.icon-chevron-down circle,svg.icon-chevron-down ellipse,svg.icon-chevron-down g,svg.icon-chevron-down line,svg.icon-chevron-down path,svg.icon-chevron-down polygon,svg.icon-chevron-down polyline,svg.icon-chevron-down rect,svg.icon-circle-checkmark circle,svg.icon-circle-checkmark ellipse,svg.icon-circle-checkmark g,svg.icon-circle-checkmark line,svg.icon-circle-checkmark path,svg.icon-circle-checkmark polygon,svg.icon-circle-checkmark polyline,svg.icon-circle-checkmark rect,svg.icon-close circle,svg.icon-close ellipse,svg.icon-close g,svg.icon-close line,svg.icon-close path,svg.icon-close polygon,svg.icon-close polyline,svg.icon-close rect,svg.icon-email circle,svg.icon-email ellipse,svg.icon-email g,svg.icon-email line,svg.icon-email path,svg.icon-email polygon,svg.icon-email polyline,svg.icon-email rect,svg.icon-filter circle,svg.icon-filter ellipse,svg.icon-filter g,svg.icon-filter line,svg.icon-filter path,svg.icon-filter polygon,svg.icon-filter polyline,svg.icon-filter rect,svg.icon-gift circle,svg.icon-gift ellipse,svg.icon-gift g,svg.icon-gift line,svg.icon-gift path,svg.icon-gift polygon,svg.icon-gift polyline,svg.icon-gift rect,svg.icon-globe circle,svg.icon-globe ellipse,svg.icon-globe g,svg.icon-globe line,svg.icon-globe path,svg.icon-globe polygon,svg.icon-globe polyline,svg.icon-globe rect,svg.icon-hamburger circle,svg.icon-hamburger ellipse,svg.icon-hamburger g,svg.icon-hamburger line,svg.icon-hamburger path,svg.icon-hamburger polygon,svg.icon-hamburger polyline,svg.icon-hamburger rect,svg.icon-heart circle,svg.icon-heart ellipse,svg.icon-heart g,svg.icon-heart line,svg.icon-heart path,svg.icon-heart polygon,svg.icon-heart polyline,svg.icon-heart rect,svg.icon-leaf circle,svg.icon-leaf ellipse,svg.icon-leaf g,svg.icon-leaf line,svg.icon-leaf path,svg.icon-leaf polygon,svg.icon-leaf polyline,svg.icon-leaf rect,svg.icon-lock circle,svg.icon-lock ellipse,svg.icon-lock g,svg.icon-lock line,svg.icon-lock path,svg.icon-lock polygon,svg.icon-lock polyline,svg.icon-lock rect,svg.icon-package circle,svg.icon-package ellipse,svg.icon-package g,svg.icon-package line,svg.icon-package path,svg.icon-package polygon,svg.icon-package polyline,svg.icon-package rect,svg.icon-phone circle,svg.icon-phone ellipse,svg.icon-phone g,svg.icon-phone line,svg.icon-phone path,svg.icon-phone polygon,svg.icon-phone polyline,svg.icon-phone rect,svg.icon-ribbon circle,svg.icon-ribbon ellipse,svg.icon-ribbon g,svg.icon-ribbon line,svg.icon-ribbon path,svg.icon-ribbon polygon,svg.icon-ribbon polyline,svg.icon-ribbon rect,svg.icon-search circle,svg.icon-search ellipse,svg.icon-search g,svg.icon-search line,svg.icon-search path,svg.icon-search polygon,svg.icon-search polyline,svg.icon-search rect,svg.icon-shield circle,svg.icon-shield ellipse,svg.icon-shield g,svg.icon-shield line,svg.icon-shield path,svg.icon-shield polygon,svg.icon-shield polyline,svg.icon-shield rect,svg.icon-size-chart circle,svg.icon-size-chart ellipse,svg.icon-size-chart g,svg.icon-size-chart line,svg.icon-size-chart path,svg.icon-size-chart polygon,svg.icon-size-chart polyline,svg.icon-size-chart rect,svg.icon-tag circle,svg.icon-tag ellipse,svg.icon-tag g,svg.icon-tag line,svg.icon-tag path,svg.icon-tag polygon,svg.icon-tag polyline,svg.icon-tag rect,svg.icon-tcwi-bills circle,svg.icon-tcwi-bills ellipse,svg.icon-tcwi-bills g,svg.icon-tcwi-bills line,svg.icon-tcwi-bills path,svg.icon-tcwi-bills polygon,svg.icon-tcwi-bills polyline,svg.icon-tcwi-bills rect,svg.icon-tcwi-calendar circle,svg.icon-tcwi-calendar ellipse,svg.icon-tcwi-calendar g,svg.icon-tcwi-calendar line,svg.icon-tcwi-calendar path,svg.icon-tcwi-calendar polygon,svg.icon-tcwi-calendar polyline,svg.icon-tcwi-calendar rect,svg.icon-tcwi-cart circle,svg.icon-tcwi-cart ellipse,svg.icon-tcwi-cart g,svg.icon-tcwi-cart line,svg.icon-tcwi-cart path,svg.icon-tcwi-cart polygon,svg.icon-tcwi-cart polyline,svg.icon-tcwi-cart rect,svg.icon-tcwi-charity circle,svg.icon-tcwi-charity ellipse,svg.icon-tcwi-charity g,svg.icon-tcwi-charity line,svg.icon-tcwi-charity path,svg.icon-tcwi-charity polygon,svg.icon-tcwi-charity polyline,svg.icon-tcwi-charity rect,svg.icon-tcwi-chat circle,svg.icon-tcwi-chat ellipse,svg.icon-tcwi-chat g,svg.icon-tcwi-chat line,svg.icon-tcwi-chat path,svg.icon-tcwi-chat polygon,svg.icon-tcwi-chat polyline,svg.icon-tcwi-chat rect,svg.icon-tcwi-gears circle,svg.icon-tcwi-gears ellipse,svg.icon-tcwi-gears g,svg.icon-tcwi-gears line,svg.icon-tcwi-gears path,svg.icon-tcwi-gears polygon,svg.icon-tcwi-gears polyline,svg.icon-tcwi-gears rect,svg.icon-tcwi-gift circle,svg.icon-tcwi-gift ellipse,svg.icon-tcwi-gift g,svg.icon-tcwi-gift line,svg.icon-tcwi-gift path,svg.icon-tcwi-gift polygon,svg.icon-tcwi-gift polyline,svg.icon-tcwi-gift rect,svg.icon-tcwi-globe circle,svg.icon-tcwi-globe ellipse,svg.icon-tcwi-globe g,svg.icon-tcwi-globe line,svg.icon-tcwi-globe path,svg.icon-tcwi-globe polygon,svg.icon-tcwi-globe polyline,svg.icon-tcwi-globe rect,svg.icon-tcwi-open-envelope circle,svg.icon-tcwi-open-envelope ellipse,svg.icon-tcwi-open-envelope g,svg.icon-tcwi-open-envelope line,svg.icon-tcwi-open-envelope path,svg.icon-tcwi-open-envelope polygon,svg.icon-tcwi-open-envelope polyline,svg.icon-tcwi-open-envelope rect,svg.icon-tcwi-package circle,svg.icon-tcwi-package ellipse,svg.icon-tcwi-package g,svg.icon-tcwi-package line,svg.icon-tcwi-package path,svg.icon-tcwi-package polygon,svg.icon-tcwi-package polyline,svg.icon-tcwi-package rect,svg.icon-tcwi-phone circle,svg.icon-tcwi-phone ellipse,svg.icon-tcwi-phone g,svg.icon-tcwi-phone line,svg.icon-tcwi-phone path,svg.icon-tcwi-phone polygon,svg.icon-tcwi-phone polyline,svg.icon-tcwi-phone rect,svg.icon-tcwi-plant circle,svg.icon-tcwi-plant ellipse,svg.icon-tcwi-plant g,svg.icon-tcwi-plant line,svg.icon-tcwi-plant path,svg.icon-tcwi-plant polygon,svg.icon-tcwi-plant polyline,svg.icon-tcwi-plant rect,svg.icon-tcwi-recycle circle,svg.icon-tcwi-recycle ellipse,svg.icon-tcwi-recycle g,svg.icon-tcwi-recycle line,svg.icon-tcwi-recycle path,svg.icon-tcwi-recycle polygon,svg.icon-tcwi-recycle polyline,svg.icon-tcwi-recycle rect,svg.icon-tcwi-ribbon circle,svg.icon-tcwi-ribbon ellipse,svg.icon-tcwi-ribbon g,svg.icon-tcwi-ribbon line,svg.icon-tcwi-ribbon path,svg.icon-tcwi-ribbon polygon,svg.icon-tcwi-ribbon polyline,svg.icon-tcwi-ribbon rect,svg.icon-tcwi-sales-tag circle,svg.icon-tcwi-sales-tag ellipse,svg.icon-tcwi-sales-tag g,svg.icon-tcwi-sales-tag line,svg.icon-tcwi-sales-tag path,svg.icon-tcwi-sales-tag polygon,svg.icon-tcwi-sales-tag polyline,svg.icon-tcwi-sales-tag rect,svg.icon-tcwi-shield circle,svg.icon-tcwi-shield ellipse,svg.icon-tcwi-shield g,svg.icon-tcwi-shield line,svg.icon-tcwi-shield path,svg.icon-tcwi-shield polygon,svg.icon-tcwi-shield polyline,svg.icon-tcwi-shield rect,svg.icon-tcwi-stopwatch circle,svg.icon-tcwi-stopwatch ellipse,svg.icon-tcwi-stopwatch g,svg.icon-tcwi-stopwatch line,svg.icon-tcwi-stopwatch path,svg.icon-tcwi-stopwatch polygon,svg.icon-tcwi-stopwatch polyline,svg.icon-tcwi-stopwatch rect,svg.icon-tcwi-store circle,svg.icon-tcwi-store ellipse,svg.icon-tcwi-store g,svg.icon-tcwi-store line,svg.icon-tcwi-store path,svg.icon-tcwi-store polygon,svg.icon-tcwi-store polyline,svg.icon-tcwi-store rect,svg.icon-tcwi-thumbs-up circle,svg.icon-tcwi-thumbs-up ellipse,svg.icon-tcwi-thumbs-up g,svg.icon-tcwi-thumbs-up line,svg.icon-tcwi-thumbs-up path,svg.icon-tcwi-thumbs-up polygon,svg.icon-tcwi-thumbs-up polyline,svg.icon-tcwi-thumbs-up rect,svg.icon-tcwi-trophy circle,svg.icon-tcwi-trophy ellipse,svg.icon-tcwi-trophy g,svg.icon-tcwi-trophy line,svg.icon-tcwi-trophy path,svg.icon-tcwi-trophy polygon,svg.icon-tcwi-trophy polyline,svg.icon-tcwi-trophy rect,svg.icon-tcwi-truck circle,svg.icon-tcwi-truck ellipse,svg.icon-tcwi-truck g,svg.icon-tcwi-truck line,svg.icon-tcwi-truck path,svg.icon-tcwi-truck polygon,svg.icon-tcwi-truck polyline,svg.icon-tcwi-truck rect,svg.icon-tcwi-wallet circle,svg.icon-tcwi-wallet ellipse,svg.icon-tcwi-wallet g,svg.icon-tcwi-wallet line,svg.icon-tcwi-wallet path,svg.icon-tcwi-wallet polygon,svg.icon-tcwi-wallet polyline,svg.icon-tcwi-wallet rect,svg.icon-truck circle,svg.icon-truck ellipse,svg.icon-truck g,svg.icon-truck line,svg.icon-truck path,svg.icon-truck polygon,svg.icon-truck polyline,svg.icon-truck rect,svg.icon-user circle,svg.icon-user ellipse,svg.icon-user g,svg.icon-user line,svg.icon-user path,svg.icon-user polygon,svg.icon-user polyline,svg.icon-user rect{
      fill:none;
      stroke-width:var(--iconWeight);
      stroke:currentColor;
      stroke-linecap:var(--iconLinecaps);
      stroke-linejoin:var(--iconLinecaps);
    }

svg.icon-cart circle{
  fill:currentColor;
}

.icon__fallback-text{
  clip:rect(0 0 0 0);
  border:0;
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
}

.js-drawer-open{
  overflow:hidden;
}

.drawer{
  -webkit-overflow-scrolling:touch;
  background-color:var(--colorDrawers);
  bottom:0;
  box-shadow:0 0 150px rgba(0,0,0,.1);
  color:var(--colorDrawerText);
  display:none;
  max-width:95%;
  overflow:hidden;
  position:fixed;
  top:0;
  transition:transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index:30;
}

@media screen and (max-height:400px){

.drawer{
    overflow:scroll;
}

    .drawer .drawer__contents{
      height:auto;
    }
  }

.drawer a:not(.btn){
    color:var(--colorDrawerText);
  }

.drawer a:not(.btn):hover{
      color:var(--colorDrawerText);
    }

.drawer input,.drawer textarea{
    border-color:var(--colorDrawerBorder);
  }

.drawer .btn{
    background-color:var(--colorDrawerButton);
    color:var(--colorDrawerButtonText);
  }

.drawer--left{
  left:-350px;
  width:350px;
}

.drawer--left.drawer--is-open{
    display:block;
    transform:translateX(350px);
    transition-duration:0.45s;
  }

.drawer--right{
  right:-350px;
  width:350px;
}

@media only screen and (min-width:769px){

.drawer--right{
    right:-450px;
    width:450px;
}
  }

.drawer--right.drawer--is-open{
    display:block;
    transform:translateX(-350px);
    transition-duration:0.45s;
  }

@media only screen and (min-width:769px){

.drawer--right.drawer--is-open{
      transform:translateX(-450px);
  }
    }

.js-drawer-closing .main-content:after,.js-drawer-open .main-content:after{
  background-color:var(--colorModalBg);
  bottom:0;
  content:"";
  display:block;
  left:0;
  opacity:0;
  position:fixed;
  right:0;
  top:0;
  z-index:26;
}

.js-drawer-open .main-content:after{
  animation:overlay-on 0.35s forwards;
}

.js-drawer-closing .main-content:after{
  animation:overlay-off 0.25s forwards;
}

.drawer__fixed-header,.drawer__footer,.drawer__header,.drawer__scrollable{
  padding-left:var(--drawer-gutter);
  padding-right:var(--drawer-gutter);
}

.drawer__header{
  border-bottom:1px solid;
  border-bottom-color:var(--colorDrawerBorder);
  display:table;
  margin-bottom:0;
  min-height:70px;
  padding:11.53846px 0;
  width:100%;
}

.drawer__fixed-header{
  min-height:70px;
  overflow:visible;
}

.drawer__fixed-header,.drawer__header{
  height:auto;
}

@media only screen and (min-width:769px){
  .drawer__fixed-header,.drawer__header{
    min-height:80px;
  }
}

.drawer__close,.drawer__title{
  display:table-cell;
  vertical-align:middle;
}

.drawer__title{
  width:100%;
}

.drawer__close{
  text-align:center;
  width:1%;
}

.drawer__close-button{
  color:inherit;
  height:100%;
  padding:0 var(--drawer-gutter);
  position:relative;
  right:calc(var(--drawer-gutter)*-1);
}

.drawer__close-button:active{
    background-color:var(--colorDrawersDim);
  }

.drawer__close-button .icon{
    height:28px;
    width:28px;
  }

.drawer__close--left{
  text-align:left;
}

.drawer__close--left .drawer__close-button{
    left:calc(var(--drawer-gutter)*-1);
    right:auto;
  }

.drawer__contents{
  display:flex;
  flex-direction:column;
  height:100%;
}

.drawer__inner,.drawer__scrollable{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  overflow-y:hidden;
}

.drawer__scrollable{
  -webkit-overflow-scrolling:touch;
  overflow:hidden;
  overflow-y:auto;
  padding-top:var(--drawer-gutter);
}

.drawer__footer{
  border-top:1px solid;
  border-top-color:var(--colorDrawerBorder);
  padding-bottom:var(--drawer-gutter);
  padding-top:15px;
}

@media only screen and (min-width:769px){

.drawer__footer{
    padding-top:22.22222px;
}
  }

.drawer__inner.is-loading .drawer__scrollable{
    opacity:0.4;
    transition:opacity 0.3s ease 0.7s;
  }

.cart-notes{
  height:60px;
  margin-bottom:10px;
  margin-top:10px;
  min-height:60px;
}

@media only screen and (min-width:769px){

.cart-notes{
    height:80px;
    min-height:80px;
}
  }

.placeholder-svg{
  fill:#999;
  background-color:#e1e1e1;
  display:block;
  height:100%;
  max-height:100%;
  max-width:100%;
  padding:30px 0;
  width:100%;
}

.placeholder-noblocks{
  padding:40px;
  text-align:center;
}

.placeholder-content{
  animation:placeholder-shimmer 1.3s linear infinite;
  background-size:400% 100%;
  border-radius:4px;
  margin-bottom:20px;
  overflow:hidden;
}

@media only screen and (max-width:768px){

.placeholder-content{
    margin-left:auto;
    margin-right:auto;
}
  }

.animation-delay-20{animation-delay:1.2s;}

.animation-delay-19{animation-delay:1.14s;}

.animation-delay-18{animation-delay:1.08s;}

.animation-delay-17{animation-delay:1.02s;}

.animation-delay-16{animation-delay:0.96s;}

.animation-delay-15{animation-delay:0.9s;}

.animation-delay-14{animation-delay:0.84s;}

.animation-delay-13{animation-delay:0.78s;}

.animation-delay-12{animation-delay:0.72s;}

.animation-delay-11{animation-delay:0.66s;}

.animation-delay-10{animation-delay:0.6s;}

.animation-delay-9{animation-delay:0.54s;}

.animation-delay-8{animation-delay:0.48s;}

.animation-delay-7{animation-delay:0.42s;}

.animation-delay-6{animation-delay:0.36s;}

.animation-delay-5{animation-delay:0.3s;}

.animation-delay-4{animation-delay:0.24s;}

.animation-delay-3{animation-delay:0.18s;}

.animation-delay-2{animation-delay:0.12s;}

.appear-delay-20{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.3s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.4s;}

.appear-delay-19{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.24s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.34s;}

.appear-delay-18{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.18s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.28s;}

.appear-delay-17{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.12s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.22s;}

.appear-delay-16{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.06s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.16s;}

.appear-delay-15{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.1s;}

.appear-delay-14{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.94s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.04s;}

.appear-delay-13{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.88s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.98s;}

.appear-delay-12{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.82s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.92s;}

.appear-delay-11{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.76s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.86s;}

.appear-delay-10{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.7s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;}

.appear-delay-9{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.64s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.74s;}

.appear-delay-8{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.58s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.68s;}

.appear-delay-7{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.52s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.62s;}

.appear-delay-6{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.46s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.56s;}

.appear-delay-5{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;}

.appear-delay-4{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.34s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.44s;}

.appear-delay-3{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.28s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.38s;}

.appear-delay-2{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.22s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.32s;}

.appear-delay-1{transition:transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s,opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;}

.animation-cropper{
  display:inline-flex;
  overflow:hidden;
}

.image-wrap{
  background:var(--colorSmallImageBg);
  overflow:hidden;
  position:relative;
}

.image-wrap .animate-me,.image-wrap svg{
    opacity:0;
  }

.no-js .image-wrap .animate-me,.no-js .image-wrap svg{
      opacity:1;
  }

.aos-animate .image-wrap .animate-me,.aos-animate .image-wrap svg{
    animation:fade-in 1s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  }

.aos-animate[data-aos=row-of-3]:nth-child(3n+2) .image-wrap img{
    animation-delay:150ms;
}

.aos-animate[data-aos=row-of-3]:nth-child(3n+3) .image-wrap img{
    animation-delay:300ms;
}

.aos-animate[data-aos=row-of-4]:nth-child(4n+2) .image-wrap img{
    animation-delay:120ms;
}

.aos-animate[data-aos=row-of-4]:nth-child(4n+3) .image-wrap img{
    animation-delay:240ms;
}

.aos-animate[data-aos=row-of-4]:nth-child(4n+4) .image-wrap img{
    animation-delay:360ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+2) .image-wrap img{
    animation-delay:75ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+3) .image-wrap img{
    animation-delay:150ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+4) .image-wrap img{
    animation-delay:225ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+5) .image-wrap img{
    animation-delay:300ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+2) .image-wrap img{
    animation-delay:50ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+3) .image-wrap img{
    animation-delay:100ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+4) .image-wrap img{
    animation-delay:150ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+5) .image-wrap img{
    animation-delay:200ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+6) .image-wrap img{
    animation-delay:250ms;
}

.aos-animate[data-aos=row-of-3]:nth-child(3n+2) .collection-image{
    animation-delay:150ms;
}

.aos-animate[data-aos=row-of-3]:nth-child(3n+3) .collection-image{
    animation-delay:300ms;
}

.aos-animate[data-aos=row-of-4]:nth-child(4n+2) .collection-image{
    animation-delay:120ms;
}

.aos-animate[data-aos=row-of-4]:nth-child(4n+3) .collection-image{
    animation-delay:240ms;
}

.aos-animate[data-aos=row-of-4]:nth-child(4n+4) .collection-image{
    animation-delay:360ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+2) .collection-image{
    animation-delay:75ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+3) .collection-image{
    animation-delay:150ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+4) .collection-image{
    animation-delay:225ms;
}

.aos-animate[data-aos=row-of-5]:nth-child(5n+5) .collection-image{
    animation-delay:300ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+2) .collection-image{
    animation-delay:50ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+3) .collection-image{
    animation-delay:100ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+4) .collection-image{
    animation-delay:150ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+5) .collection-image{
    animation-delay:200ms;
}

.aos-animate[data-aos=row-of-6]:nth-child(6n+6) .collection-image{
    animation-delay:250ms;
}

.loading:after,.loading:before,.unload:after,.unload:before{
  background:var(--colorBody);
  content:"";
  height:3px;
  left:50%;
  margin:-1px 0 0 -50px;
  opacity:0;
  position:absolute;
  top:50%;
  width:100px;
  z-index:4;
}

.no-js .loading:after,.no-js .loading:before,.no-js .unload:after,.no-js .unload:before{
    display:none;
}

.loading:before,.unload:before{
  background:var(--colorTextBody);
  opacity:1;
}

.loading:after,.unload:after{
  animation:preloading 0.5s ease 0.3s infinite;
  opacity:0;
}

.loading--delayed:before{
  animation-delay:0.8s !important;
  animation-duration:1s !important;
}

.loading--delayed:after{
  animation-delay:1.3s !important;
}

.appear-animation{
  opacity:0;
  transform:translateY(60px);
}

[data-disable-animations=true] .appear-animation{
    opacity:1;
    transform:none;
}

.js-drawer-open .appear-animation{
  opacity:1;
  transform:translateY(0px);
}

.js-drawer-closing .appear-animation{
  transition-delay:0.5s;
  transition-duration:0s;
}

tool-tip[data-tool-tip-open=true] .tool-tip__inner{
  padding:45px;
}

@media only screen and (max-width:768px){

tool-tip[data-tool-tip-open=true] .tool-tip__inner{
    padding:45px 20px 20px;
}
  }

.tool-tip__close{
  padding:10px;
}

[data-center-text=true] product-recommendations[data-intent=complementary] .grid-product__colors{
    justify-content:flex-start;
  }

@media only screen and (max-width:768px){

predictive-search .search__results{
      margin-left:-20px;
      margin-right:-10px;
      width:calc(100% + 30px);
  }
    }

@media only screen and (max-width:768px){

predictive-search form{
      margin:0 10px 0 20px;
  }
    }

[data-center-text=true] .footer-promotions{
    text-align:center;
}

@media only screen and (max-width:768px){
    .footer-promotions .grid__item{
      margin-bottom:32px;
    }

      .footer-promotions .grid__item:last-child{
        margin-bottom:0;
      }
  }

.site-footer{
  background-color:var(--colorFooter);
  color:var(--colorFooterText);
  padding-bottom:30px;
}

@media only screen and (min-width:769px){

.site-footer{
    padding-bottom:60px;
    padding-top:60px;
}
  }

.site-footer .footer__collapsible{
    font-size:calc(var(--typeBaseSize)*0.85);
  }

@media only screen and (min-width:769px){
    .site-footer input,.site-footer select,.site-footer textarea{
      font-size:calc(var(--typeBaseSize)*0.85);
    }
  }

@media only screen and (max-width:768px){

[data-center-text=true] .site-footer{
    text-align:center;
}

.site-footer{
    padding-bottom:0;
}
      .site-footer .grid__item:after{
        border-bottom:1px solid;
        border-bottom-color:var(--colorFooterText);
        content:"";
        display:block;
        opacity:0.12;
      }

      .site-footer .grid__item:last-child:after{
        display:none;
      }

    .site-footer button.footer__title{
      margin:0;
    }
  }

.site-footer a{
    color:var(--colorFooterText);
  }

.footer__small-text{
  font-size:max(calc(var(--typeBaseSize)*0.7), 12px);
  margin:0;
  padding:7.5px 0;
  text-align:center;
}

ul+.footer__small-text{
    padding-top:15px;
}

.footer__clear{
  clear:both;
  height:30px;
}

.footer__section{
  margin-bottom:15px;
}

@media only screen and (min-width:769px){

.footer__section{
    margin-bottom:0;
    margin-top:30px;
}
  }

@media only screen and (min-width:769px){
  .footer__item-padding{
    padding-right:60px;
  }
}

.footer__title{
  color:var(--colorFooterText);
}

@media only screen and (min-width:769px){

.footer__title{
    margin-bottom:20px;
}
  }

@media only screen and (max-width:768px){

[data-center-text=true] .footer__title{
    text-align:center;
}
  }

.site-footer__linklist{
  margin:0;
}

.site-footer__linklist a{
    color:currentColor;
    display:inline-block;
    padding:4px 0;
  }

.footer__newsletter{
  display:inline-block;
  max-width:300px;
  position:relative;
  width:100%;
}

.footer__newsletter-input{
  background-color:var(--colorFooter);
  border:0;
  border-bottom:2px solid;
  border-bottom-color:var(--colorFooterText);
  border-radius:0;
  color:var(--colorFooterText);
  max-width:300px;
  padding:10px 45px 10px 0;
  width:100%;
}

.footer__newsletter-input:focus{
    border:0;
    border-bottom:2px solid;
    border-bottom-color:var(--colorFooterText);
  }

.footer__newsletter-input::-webkit-input-placeholder{
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input:-moz-placeholder{
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input::-moz-placeholder{
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input:-ms-input-placeholder{
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input::-ms-input-placeholder{
    color:var(--colorFooterText);
    opacity:1;
  }

.footer__newsletter-input--active{
  padding-right:80px;
}

.footer__newsletter-btn{
  color:var(--colorFooterText);
  padding:0;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

.footer__newsletter-btn .icon{
    height:24px;
    width:26px;
  }

.footer__newsletter-input--active+.footer__newsletter-btn .icon{
      display:none;
    }

.footer__newsletter-input--active+.footer__newsletter-btn .footer__newsletter-btn-label{
      display:block;
    }

.footer__newsletter-btn-label{
  display:none;
  font-size:calc(var(--typeBaseSize)*0.85);
}

.footer__logo{
  margin:15px 0;
}

@media only screen and (min-width:769px){

.footer__logo{
    margin:0 0 20px;
}
  }

.footer__logo a{
    display:block;
  }

.footer__logo img{
    display:inline-block;
    max-height:100%;
    transform:translateZ(0);
  }

.footer__social{
  margin:0;
}

form+.footer__social{
    margin-top:30px;
}

.footer__social li{
    display:inline-block;
    margin:0 15px 15px 0;
  }

.footer__social a{
    display:block;
  }

.footer__social .icon{
    height:22px;
    width:22px;
  }

@media only screen and (min-width:769px){

.footer__social .icon{
      height:24px;
      width:24px;
  }
    }

.footer__social .icon.icon--wide{
      width:40px;
    }

@media only screen and (max-width:768px){

.footer__collapsible{
    padding:0 0 15px 0;
}
  }

@media only screen and (max-width:768px){

.footer_collapsible--disabled{
    padding-top:15px;
}
  }

.collapsible-content__inner p a:after{
    border-bottom:2px solid;
    border-bottom-color:var(--colorFooterText);
    bottom:-2px;
    content:"";
    left:0;
    position:absolute;
    transition:width 0.5s ease;
    width:0;
  }

.collapsible-content__inner p a{
    border-bottom:2px solid;
    border-color:var(--colorFooterTextAlpha01);
    position:relative;
    -webkit-text-decoration:none;
    text-decoration:none;
  }

.collapsible-content__inner p a:focus:after,.collapsible-content__inner p a:hover:after{
      width:100%;
    }

.site-footer select{
    background-image:var(--urlIcoSelectFooter);
  }

[data-center-text=true] .payment-icons{
    text-align:center;
}

.payment-icons{
  cursor:default;
  -webkit-user-select:none;
             -moz-user-select:none;
          user-select:none;
}

.payment-icons li{
    cursor:default;
    margin:0 4px 0;
  }

@media only screen and (max-width:768px){

.footer__follow-on-shop{
    margin:15px 0;
}
  }

.errors,.note{
  border:1px solid transparent;
  border-radius:0;
  margin-bottom:15px;
  padding:6px 12px;
  text-align:left;
}

.errors ol,.errors ul,.note ol,.note ul{
    margin-bottom:0;
    margin-top:0;
  }

.errors li:last-child,.note li:last-child{
    margin-bottom:0;
  }

.errors p,.note p{
    margin-bottom:0;
  }

.note{
  border-color:var(--colorBorder);
}

.errors ul{
    list-style:disc outside;
    margin-left:20px;
  }

.note--success{
  background-color:#ecfef0;
  border-color:#56ad6a;
  color:#56ad6a;
}

.note--success a{
    color:#56ad6a;
    -webkit-text-decoration:underline;
    text-decoration:underline;
  }

.note--success a:hover{
      -webkit-text-decoration:none;
      text-decoration:none;
    }

.errors,.form-error{
  background-color:#fff6f6;
  border-color:#d02e2e;
  color:#d02e2e;
}

.errors a,.form-error a{
    color:#d02e2e;
    -webkit-text-decoration:underline;
    text-decoration:underline;
  }

.errors a:hover,.form-error a:hover{
      -webkit-text-decoration:none;
      text-decoration:none;
    }

.pagination{
  margin:0;
  padding:60px 0;
  text-align:center;
}

.pagination>span{
    display:inline-block;
    line-height:1;
    vertical-align:middle;
  }

.pagination a{
    display:inline-block;
  }

.pagination .page.current,.pagination a{
    padding:8px 12px;
  }

.pagination .page.current{
    opacity:0.3;
  }

.pagination .next,.pagination .prev{
    background:var(--colorBtnPrimary);
    color:var(--colorBtnPrimaryText);
    margin:0 10px;
    width:43px;
  }

@media only screen and (max-width:768px){

.pagination .next,.pagination .prev{
      width:35px;
  }
    }

.pagination .next a,.pagination .prev a{
      align-items:center;
      display:flex;
      justify-content:center;
      padding:15px;
    }

.pagination .next .icon,.pagination .prev .icon{
      color:var(--colorBtnPrimaryText);
      height:14px;
      width:13px;
    }

@media only screen and (max-width:768px){

.pagination .next .icon,.pagination .prev .icon{
        height:12px;
        width:12px;
    }
      }

.rte{
  margin-bottom:7.5px;
}

.rte:after{clear:both;content:"";display:table;}

@media only screen and (min-width:769px){

.rte{
    margin-bottom:15px;
}
  }

.rte:last-child{
    margin-bottom:0;
  }

.rte+.rte{
    margin-top:30px;
  }

.rte ol,.rte p,.rte table,.rte ul{
    margin-bottom:15px;
  }

@media only screen and (min-width:769px){

.rte ol,.rte p,.rte table,.rte ul{
      margin-bottom:25px;
  }
    }

.rte ol:last-child,.rte p:last-child,.rte table:last-child,.rte ul:last-child{
      margin-bottom:0;
    }

.rte ul ul{
      margin-bottom:0;
    }

.rte h1,.rte h2,.rte h3,.rte h4,.rte h5,.rte h6{
    margin-bottom:25px;
    margin-top:60px;
  }

.rte h1:first-child,.rte h2:first-child,.rte h3:first-child,.rte h4:first-child,.rte h5:first-child,.rte h6:first-child{
      margin-top:0;
    }

.rte h1 a,.rte h2 a,.rte h3 a,.rte h4 a,.rte h5 a,.rte h6 a{
      -webkit-text-decoration:none;
      text-decoration:none;
    }

.rte meta:first-child+h1,.rte meta:first-child+h2,.rte meta:first-child+h3,.rte meta:first-child+h4,.rte meta:first-child+h5,.rte meta:first-child+h6{
      margin-top:0;
    }

.rte>div{
    margin-bottom:15px;
  }

.rte>div:last-child{
      margin-bottom:0;
    }

.rte li{
    margin-bottom:0;
  }

.rte table{
    table-layout:fixed;
  }

.rte--block{
  margin-bottom:8px;
}

@media only screen and (min-width:769px){

.rte--block{
    margin-bottom:12px;
}
  }

.rte-setting>p:last-child{
    margin-bottom:0;
  }

.rte a,.rte-setting a{
    -webkit-text-decoration:none;
    text-decoration:none;
  }

.rte img,.rte-setting img{
    height:auto;
  }

.rte a:not(.rte__image):not(.btn),.rte-setting a:not(.rte__image):not(.btn){
    background-image:linear-gradient(currentColor, currentColor);
    background-position:0 100%;
    background-repeat:no-repeat;
    background-size:0% 2px;
    -webkit-text-decoration:underline;
    text-decoration:underline;
    text-decoration-color:var(--colorTextBodyAlpha015);
    text-decoration-thickness:1px;
    text-underline-offset:3px;
    transition:background-size 0.5s ease;
  }

.rte a:not(.rte__image):not(.btn):hover,.rte-setting a:not(.rte__image):not(.btn):hover{
    background-size:100% 2px;
  }

.rte a:not(.btn):focus:after,.rte a:not(.btn):hover:after,.rte-setting a:not(.btn):focus:after,.rte-setting a:not(.btn):hover:after{
      width:100%;
    }

.rte a.rte__image:after,.rte-setting a.rte__image:after{
    content:none;
  }

.text-center .rte ol,.text-center .rte ul,.text-center.rte ol,.text-center.rte ul{
    list-style-position:inside;
    margin-left:0;
  }

.rte--nomargin{
  margin-bottom:0;
}

.header-layout{
  display:flex;
  justify-content:space-between;
}

.header-layout--center{
  align-items:center;
}

.header-item{
  align-items:center;
  display:flex;
  flex:1 1 auto;
}

.header-item--logo{
  flex:0 0 auto;
}

.header-item--icons{
  flex:0 1 auto;
  justify-content:flex-end;
}

.header-layout--left-center .header-item--icons,.header-layout--left-center .header-item--logo{
    flex:0 0 200px;
    max-width:50%;
  }

@media only screen and (min-width:769px){

.header-layout--left-center .header-item--icons,.header-layout--left-center .header-item--logo{
      min-width:130px;
  }
    }

@media only screen and (min-width:769px){

.header-layout[data-logo-align=center] .header-item--logo{
      margin:0 30px;
  }
    }

.header-layout[data-logo-align=center] .header-item--icons,.header-layout[data-logo-align=center] .header-item--navigation{
    flex:1 1 130px;
  }

.header-layout[data-logo-align=left] .site-header__logo{
    margin-right:10px;
  }

.header-item--logo-split{
  align-items:center;
  display:flex;
  flex:1 1 100%;
  justify-content:center;
}

.header-item--logo-split .header-item:not(.header-item--logo){
    flex:1 1 20%;
    text-align:center;
  }

.header-item--split-left{
  justify-content:flex-end;
}

.header-item--left .site-nav{
    margin-left:-12px;
  }

@media only screen and (max-width:768px){

.header-item--left .site-nav{
      margin-left:-7.5px;
  }
    }

.header-item--icons .site-nav{
    margin-right:-12px;
  }

@media only screen and (max-width:768px){

.header-item--icons .site-nav{
      margin-right:-7.5px;
  }
    }

.site-header{
  background:var(--colorNav);
  padding:7px 0;
  position:relative;
}

@media only screen and (min-width:769px){

.site-header{
    padding:20px 0;
}

.toolbar+.header-sticky-wrapper .site-header{
      border-top:1px solid;
      border-top-color:var(--colorHeaderTextAlpha01);
}
  }

.site-header--stuck{
  left:0;
  position:fixed;
  right:0;
  top:0;
  transform:translate3d(0, -100%, 0);
  transition:none;
  z-index:20;
}

.js-drawer-open--search .site-header--stuck{
    z-index:28;
}

@media only screen and (min-width:769px){

.site-header--stuck{
    padding:10px 0;
}
  }

@media screen and (min-width:700px) and (max-height:550px){
  .site-header--stuck{
    position:static;
  }
}

.site-header--opening{
  transform:translateZ(0);
  transition:transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.site-header__logo{
  display:block;
  font-size:30px;
  margin:10px 0;
  position:relative;
  z-index:6;
}

@media only screen and (min-width:769px){

.text-center .site-header__logo{
      margin:10px auto;
      padding-right:0;
}
  }

.header-layout[data-logo-align=center] .site-header__logo{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
}

.site-header__logo a{
    max-width:100%;
  }

.site-header__logo a,.site-header__logo a:hover{
    -webkit-text-decoration:none;
    text-decoration:none;
  }

.site-header__logo img{
    display:block;
  }

.site-header .site-header__logo img{
      left:50%;
      position:absolute;
      top:50%;
      transform:translate(-50%, -50%);
  }

.site-header__logo-link{
  align-items:center;
  color:var(--colorNavText);
  display:flex;
  position:relative;
}

.site-header__logo-link:hover{
    color:var(--colorNavText);
  }

@media only screen and (max-width:768px){

.site-header__logo-link{
    margin:0 auto;
}
  }

.header-sticky-wrapper{
  position:relative;
  z-index:28;
}

.js-drawer-open:not(.js-drawer-open--search) .header-sticky-wrapper{
    z-index:6;
}

.header-wrapper--sticky{
  background:none;
  background:linear-gradient(180deg, rgba(0,0,0,.3) 0%,transparent);
  left:0;
  position:absolute;
  right:0;
  top:0;
  z-index:6;
}

.header-wrapper--sticky .site-header:not(.site-header--stuck){
    background:none;
  }

.js-drawer-open--search .header-wrapper--sticky{
    z-index:28;
}

.site-header__search-container{
  bottom:200%;
  display:none;
  height:100%;
  left:0;
  overflow:hidden;
  position:absolute;
  right:0;
  z-index:28;
}

.site-header__search-container.is-active{
    bottom:0;
    display:block;
    overflow:visible;
  }

.site-header__search{
  background-color:var(--colorBody);
  bottom:0;
  box-shadow:0 15px 45px rgba(0,0,0,.1);
  color:var(--colorTextBody);
  display:flex;
  left:0;
  position:absolute;
  right:0;
  top:0;
  transform:translate3d(0, -110%, 0);
  z-index:28;
}

.site-header__search .page-width{
    align-items:stretch;
    display:flex;
    flex:1 1 100%;
  }

@media only screen and (max-width:768px){

.site-header__search .page-width{
      padding:0;
  }
    }

.is-active .site-header__search{
    transform:translateZ(0);
}

.site-header__search .icon{
    height:30px;
    width:30px;
  }

.site-header__search-input{
  border:0;
  flex:1 1 auto;
  width:100px;
}

.site-header__search-input:focus{
    border:0;
    outline:0;
  }

.site-header__search-btn{
  padding:0 15px;
}

@media only screen and (min-width:769px){
  .site-header__search-btn--submit{
    padding:0 15px 0 0;
  }

    .site-header__search-btn--submit .icon{
      height:28px;
      position:relative;
      top:-1px;
      width:28px;
    }
}

.predictive-results{
  background-color:var(--colorBody);
  box-shadow:0 10px 20px rgba(0,0,0,.09);
  color:var(--colorTextBody);
  left:0;
  max-height:70vh;
  max-height:calc(90vh - 100%);
  overflow:auto;
  position:absolute;
  right:0;
  top:100%;
}

@media only screen and (min-width:769px){

.predictive-results{
    max-height:calc(100vh - 100% - 33px);
}
  }

.predictive__label{
  border-bottom:1px solid;
  border-bottom-color:var(--colorBorder);
  margin-bottom:20px;
  padding-bottom:5px;
}

.predictive-result__layout{
  display:flex;
  flex-wrap:wrap;
  margin-left:-10px;
  margin-right:-10px;
  padding:10px;
}

.predictive-result__layout>div{
    margin:0 10px 30px;
  }

.predictive-result__layout>div:last-child{
      margin-bottom:0;
    }

.predictive-result__layout [data-type-products]{
    flex:1 1 60%;
    margin-bottom:0;
  }

@media only screen and (max-width:768px){

.predictive-result__layout [data-type-products]{
      margin-left:-17px;
  }

html[dir=rtl] .predictive-result__layout [data-type-products]{
        margin-left:0;
        margin-right:-17px;
  }
    }

.predictive-result__layout [data-type-products] .grid-product__image{
      height:auto;
      opacity:1;
    }

.predictive-result__layout [data-type-collections],.predictive-result__layout [data-type-pages]{
    flex:1 1 200px;
  }

.predictive-result__layout [data-type-articles]{
    flex:1 1 60%;
  }

.predictive-result__layout [data-type-articles] .grid-product__link--inline{
      gap:10px;
    }

.predictive__image-wrap{
  bottom:0;
  left:0;
  position:absolute;
  right:0;
  top:0;
}

.predictive__image-wrap img{
    -o-object-position:50% 0;
       object-position:50% 0;
  }

.predictive-results__footer{
  padding:0 0 30px;
}

.search-bar{
  max-width:100%;
}

.search-bar--page{
  margin-top:-15px;
  max-width:300px;
}

[data-type_headers_align_text=true] .search-bar--page{
    margin:-15px auto 0;
}

.search-bar--drawer{
  border-bottom:1px solid;
  border-bottom-color:var(--colorDrawerBorder);
  margin-bottom:15px;
  padding-bottom:15px;
}

.search-bar--drawer input{
    border:0;
  }

.search-bar .icon{
  height:24px;
  vertical-align:middle;
  width:24px;
}

.toolbar{
  background:var(--colorNav);
  color:var(--colorNavText);
  font-size:calc(var(--typeBaseSize)*0.85);
}

.toolbar a{
    color:var(--colorNavText);
  }

.site-header--stuck .toolbar{
    display:none;
}

.toolbar--transparent{
  background-color:transparent;
  border-bottom:none;
  color:#fff;
}

.toolbar--transparent a{
    color:#fff;
  }

.toolbar--transparent .toolbar__content{
    border-bottom:1px solid hsla(0,0%,100%,.2);
  }

.toolbar__content{
  align-items:center;
  display:flex;
  justify-content:flex-end;
}

.toolbar__item{
  flex:0 1 auto;
  padding:0 5px;
}

.toolbar__item:first-child{
    padding-left:0;
  }

.toolbar__item:last-child{
    padding-right:0;
  }

.toolbar__item .faux-select,.toolbar__item select{
    font-size:14px;
    padding-bottom:5px;
    padding-left:5px;
    padding-top:5px;
  }

.toolbar__item--menu{
  flex:1 1 auto;
}

.toolbar__menu{
  margin-left:-10px;
}

.toolbar__menu a{
    display:block;
    padding:5px 10px;
  }

.toolbar__social{
  text-align:right;
}

.toolbar__social a{
    display:block;
    padding:5px;
  }

.toolbar__social .icon{
    height:16px;
    position:relative;
    top:-2px;
    width:16px;
  }

.section-header{
  margin-bottom:30px;
}

@media only screen and (min-width:769px){

.section-header{
    margin-bottom:50px;
}
  }

[data-type_headers_align_text=true] .section-header{
    text-align:center;
}

.section-header select{
    display:inline-block;
    vertical-align:middle;
  }

.section-header--flush{
  margin-bottom:0;
}

.section-header--with-link{
  align-items:center;
  display:flex;
}

.section-header--with-link select{
    flex:0 1 auto;
  }

.section-header--hero{
  color:var(--colorHeroText);
  flex:1 1 100%;
  margin-bottom:0;
  position:relative;
}

.section-header--hero a{
    color:var(--colorHeroText);
  }

.section-header__shadow{
  display:inline-block;
  position:relative;
}

.section-header__shadow:before{
    background:radial-gradient(rgba(0, 0, 0, var(--colorImageOverlayTextShadow)) 0%, transparent 60%);
    bottom:0;
    content:"";
    left:0;
    margin:-100px -200px -100px -200px;
    position:absolute;
    right:0;
    top:0;
    z-index:auto;
    z-index:-1;
  }

.section-header__shadow .breadcrumb,.section-header__shadow .section-header__title{
    position:relative;
  }

.section-header__title{
  margin-bottom:0;
}

.section-header--with-link .section-header__title{
    flex:1 1 auto;
}

@media only screen and (min-width:769px){

.section-header--hero .section-header__title{
      font-size:calc(var(--typeHeaderSize)*1.45);
}
  }

.section-header__link{
  flex:0 1 auto;
  margin-top:15px;
}

.section-header--with-link .section-header__link{
    margin-top:0;
}

.section-header--404{
  padding-top:80px;
}

.section-header select{
  margin:10px 0;
}

.section-header p{
  margin:10px 0;
}

.site-nav{
  margin:0;
}

.text-center .site-navigation{
    margin:0 auto;
}

.header-layout--left .site-navigation{
    padding-left:10px;
}

.site-nav__icons{
  white-space:nowrap;
}

.site-nav__item{
  display:inline-block;
  margin:0;
  position:relative;
}

.site-nav__item li{
    display:block;
  }

.site-nav__item .icon-chevron-down{
    height:10px;
    width:10px;
  }

.site-nav__link{
  color:var(--colorNavText);
  display:inline-block;
  padding:7.5px 15px;
  -webkit-text-decoration:none;
  text-decoration:none;
  vertical-align:middle;
  white-space:nowrap;
}

.site-header--heading-style .site-nav__link{
    font-family:var(--typeHeaderPrimary), var(--typeHeaderFallback);
    font-weight:var(--typeHeaderWeight);
    letter-spacing: 0;
    line-height:var(--typeHeaderLineHeight);
}

[data-type_header_capitalize=true] .site-header--heading-style .site-nav__link{
    text-transform:uppercase;
}

.site-nav__link:hover{
    color:var(--colorNavText);
  }

.is-light .site-nav__link{
    color:#fff;
}

.is-light .site-nav__link:hover{
      color:#fff;
    }

.site-nav--has-dropdown>.site-nav__link{
    position:relative;
    z-index:6;
}

.site-nav__link .icon-chevron-down{
    margin-left:5px;
  }

@media only screen and (max-width:959px){

.site-nav__link{
    padding:7.5px;
}

.header-layout--center .site-nav__link{
      padding-left:2px;
      padding-right:2px;
}
  }

.site-nav__link--underline{
  position:relative;
}

.site-nav__link--underline:after{
    border-bottom:2px solid;
    border-bottom-color:var(--colorNavText);
    bottom:0;
    content:"";
    display:block;
    left:0;
    margin:0 15px;
    position:absolute;
    right:100%;
    transition:right 0.5s;
  }

[data-disable-animations=true] .site-nav__link--underline:after{
      transition:none;
  }

.is-light .site-nav__item:not(.site-nav--has-dropdown) .site-nav__link--underline:after{
    border-bottom-color:#fff;
}

.site-nav--has-dropdown .site-nav__link--underline:after{
    border-bottom-color:var(--colorNavText);
}

.is-light .site-nav--has-dropdown .site-nav__link--underline:after{
    border-bottom-color:#fff;
}

.site-nav__item:hover .site-nav__link--underline:after{
    right:0;
}

.site-nav__details{
  cursor:pointer;
}

.site-nav--has-dropdown{
  z-index:6;
}

.site-nav--has-dropdown.is-focused,.site-nav--has-dropdown:hover{
    z-index:7;
  }

.site-nav--has-dropdown.is-focused>a,.site-nav--has-dropdown:hover>a{
  color:var(--colorTextBody) !important;
}

.site-nav--has-dropdown.is-focused>a,.site-nav--has-dropdown:hover>a{
  background-color:var(--colorBody);
  opacity:1;
  transition:none;
}

.site-nav__link--icon{
  padding-left:12px;
  padding-right:12px;
}

@media only screen and (max-width:768px){

.site-nav__link--icon{
    padding-left:7.5px;
    padding-right:7.5px;
}

    .site-nav__link--icon+.site-nav__link--icon{
      margin-left:-4px;
    }
  }

.site-nav__link--icon .icon{
    height:30px;
    width:30px;
  }

.site-nav__dropdown{
  background-color:var(--colorBody);
  box-shadow:0 10px 20px rgba(0,0,0,.09);
  display:block;
  left:0;
  margin:0;
  min-width:100%;
  padding:10px 0 5px;
  position:absolute;
  transform:translate3d(0, -12px, 0);
  visibility:hidden;
  z-index:5;
}

details[open]>.site-nav__dropdown{
    display:block;
    transform:translateZ(0);
    transition:all 300ms cubic-bezier(0.2, 0.06, 0.05, 0.95);
    visibility:visible;
}

.site-nav__dropdown li{
    margin:0;
  }

.site-nav__dropdown>li{
    position:relative;
  }

.site-nav__dropdown>li>a{
      position:relative;
      z-index:6;
    }

.site-nav__dropdown a{
    background-color:var(--colorBody);
  }

.site-nav__deep-dropdown{
  background-color:var(--colorBody);
  box-shadow:0 10px 20px rgba(0,0,0,.09);
  left:100%;
  margin:0;
  opacity:0;
  position:absolute;
  top:0;
  transform:translate3d(-12px, 0, 0);
  visibility:hidden;
  z-index:5;
}

.is-focused+.site-nav__deep-dropdown,.site-nav__deep-dropdown-trigger:hover .site-nav__deep-dropdown{
    opacity:1;
    transform:translateZ(0);
    transition:all 300ms cubic-bezier(0.2, 0.06, 0.05, 0.95);
    visibility:visible;
}

.site-nav__deep-dropdown:before{
    background-image:linear-gradient(90deg, rgba(0,0,0,.09), transparent);
    bottom:0;
    content:"";
    display:block;
    left:0;
    pointer-events:none;
    position:absolute;
    top:0;
    width:10px;
  }

.site-nav__deep-dropdown-trigger:hover .site-nav__dropdown-link--has-children{
    background-color:var(--colorBodyDim);
}

.site-nav__dropdown-link--has-children:focus,.site-nav__dropdown-link--has-children:hover{
    background-color:var(--colorBodyDim);
  }

.site-nav__deep-dropdown-trigger .icon-chevron-down{
  height:10px;
  position:absolute;
  right:10px;
  top:50%;
  transform:rotate(-90deg) translateX(50%);
  width:10px;
}

.site-nav__details[open] .site-nav__dropdown{
  z-index:8;
}

.mobile-nav{
  margin:calc(var(--drawer-gutter)*-1) calc(var(--drawer-gutter)*-1) 0;
}

.mobile-nav li{
    list-style:none;
    margin-bottom:0;
  }

.mobile-nav__search{
  padding:15px;
}

.mobile-nav__item{
  display:block;
  position:relative;
}

.mobile-nav>.mobile-nav__item{
    background-color:var(--colorDrawers);
}

.mobile-nav__item:after{
    border-bottom:1px solid;
    border-bottom-color:var(--colorDrawerBorder);
    bottom:0;
    content:"";
    left:var(--drawer-gutter);
    position:absolute;
    right:var(--drawer-gutter);
  }

.mobile-nav__faux-link,.mobile-nav__link{
  display:block;
}

.mobile-nav__link--top-level{
  font-size:1.4em;
}

.mobile-nav--heading-style .mobile-nav__link--top-level{
    font-family:var(--typeHeaderPrimary), var(--typeHeaderFallback);
    font-weight:var(--typeHeaderWeight);
    letter-spacing: 0;
    line-height:var(--typeHeaderLineHeight);
}

[data-type_header_capitalize=true] .mobile-nav--heading-style .mobile-nav__link--top-level{
    text-transform:uppercase;
}

.mobile-nav__faux-link,.mobile-nav__link,.mobile-nav__toggle .faux-button,.mobile-nav__toggle button{
  color:var(--colorDrawerText);
  padding:15px var(--drawer-gutter);
  -webkit-text-decoration:none;
  text-decoration:none;
}

.mobile-nav__faux-link:active,.mobile-nav__link:active,.mobile-nav__toggle .faux-button:active,.mobile-nav__toggle button:active{
    color:var(--colorDrawerTextDark);
  }

.mobile-nav__faux-link:active,.mobile-nav__link:active,.mobile-nav__toggle .faux-button:active,.mobile-nav__toggle button:active{
    background-color:var(--colorDrawersDim);
  }

.mobile-nav__child-item{
  display:flex;
}

.mobile-nav__child-item .mobile-nav__link,.mobile-nav__child-item a{
    flex:1 1 auto;
  }

.mobile-nav__child-item .collapsible-trigger:not(.mobile-nav__link--button){
    flex:0 0 43px;
  }

.mobile-nav__child-item .collapsible-trigger__icon{
    margin-right:15px;
    padding:0;
  }

[dir=rtl] .mobile-nav__child-item .collapsible-trigger__icon{
      margin-left:15px;
      margin-right:0;
    }

.mobile-nav__item--secondary a{
    padding-bottom:5px;
    padding-top:10px;
  }

.mobile-nav__item--secondary:after{
    display:none;
  }

.mobile-nav__item:not(.mobile-nav__item--secondary)+.mobile-nav__item--secondary{
  margin-top:10px;
}

.mobile-nav__has-sublist,.mobile-nav__link--button{
  display:flex;
}

.mobile-nav__has-sublist>*,.mobile-nav__link--button>*{
    flex:1 1 auto;
    word-break:break-word;
  }

.mobile-nav__link--button{
  padding:0;
  text-align:left;
  width:100%;
}

.mobile-nav__toggle{
  flex:0 1 auto;
}

.mobile-nav__toggle .icon{
    height:16px;
    width:16px;
  }

.mobile-nav__toggle .faux-button,.mobile-nav__toggle button{
    height:60%;
    margin:20% 0;
    padding:0 30px;
  }

.mobile-nav__toggle button{
    border-left:1px solid;
    border-left-color:var(--colorDrawerBorder);
  }

[dir=rtl] .mobile-nav__toggle button{
      border-left:none;
      border-right:1px solid;
      border-right-color:var(--colorDrawerBorder);
    }

.mobile-nav__sublist{
  margin:0;
}

.mobile-nav__sublist .mobile-nav__item:after{
    border-bottom:none;
    bottom:auto;
    top:0;
  }

.mobile-nav__sublist .mobile-nav__item:last-child{
    padding-bottom:15px;
  }

.mobile-nav__sublist .mobile-nav__faux-link,.mobile-nav__sublist .mobile-nav__link{
    font-weight:400;
    padding:7.5px 25px 7.5px var(--drawer-gutter);
  }

.mobile-nav__grandchildlist{
  margin:0;
}

.mobile-nav__grandchildlist:before{
    background:#000;
    bottom:10px;
    content:"";
    display:block;
    left:17px;
    position:absolute;
    top:10px;
    width:1px;
  }

[dir=rtl] .mobile-nav__grandchildlist:before{
      left:auto;
      right:17px;
    }

.mobile-nav__grandchildlist .mobile-nav__item:last-child{
    padding-bottom:0;
  }

.mobile-nav__grandchildlist .mobile-nav__link{
    padding-left:35px;
  }

.mobile-nav__social{
  display:flex;
  flex-wrap:wrap;
  justify-content:stretch;
  list-style:none outside;
  margin:15px 0 20px 0;
}

@media only screen and (min-width:769px){

.mobile-nav__social{
    margin-left:calc(var(--drawer-gutter)*-1);
    margin-right:calc(var(--drawer-gutter)*-1);
}
  }

.mobile-nav__social a{
    display:block;
    padding:12px 30px;
  }

.mobile-nav__social a .icon{
      position:relative;
      top:-1px;
    }

.mobile-nav__social-item{
  border:1px solid;
  border-color:var(--colorDrawerBorder);
  flex:0 1 33.33%;
  margin:0 0 -1px;
  text-align:center;
}

.mobile-nav__social-item:nth-child(3n-1){
    margin-left:-1px;
    margin-right:-1px;
  }

@media only screen and (min-width:769px){
  .site-nav__link--icon .icon{
    height:28px;
    width:28px;
  }

    .site-nav__link--icon .icon.icon-user{
      position:relative;
      top:1px;
    }
}

.cart-link{
  display:block;
  position:relative;
}

.cart-link__bubble{
  display:none;
}

.cart-link__bubble--visible{
  background-color:var(--colorCartDot);
  border:2px solid var(--colorBody);
  border-radius:50%;
  display:block;
  height:15px;
  position:absolute;
  right:0;
  top:50%;
  width:15px;
}

[data-icon=cart] .cart-link__bubble--visible{
    right:-4px;
    top:0;
}

[data-icon=bag-minimal] .cart-link__bubble--visible{
    right:0;
    top:50%;
}

[data-type_headers_align_text=true] .breadcrumb{
    text-align:center;
}

.breadcrumb{
  font-size:calc(var(--typeBaseSize)*0.85);
  margin:-25px 0 10px;
}

.template-product .breadcrumb{
    margin-top:10px;
}

@media only screen and (min-width:769px){

.template-product .breadcrumb{
      text-align:left;
}
    }

@media only screen and (max-width:768px){

.breadcrumb{
    margin-bottom:15px;
}
  }

.breadcrumb__divider{
  color:currentColor;
}

.megamenu{
  line-height:1.8;
  opacity:0;
  padding:39px 0;
  transform:none;
  transition:all 300ms cubic-bezier(0.2, 0.06, 0.05, 0.95);
  transition-delay:0.3s;
}

details[open]>.megamenu{
    opacity:1;
    transition-delay:0s;
}

details[open]>.megamenu .appear-animation{
      opacity:1;
      transform:none;
    }

.site-nav--is-megamenu.site-nav__item{
  position:static;
}

.megamenu__collection-image{
  display:block;
  height:100%;
  margin-bottom:20px;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}

.text-center .megamenu .grid{
  text-align:center;
}

.text-center .megamenu .grid .grid__item{
    display:inline-block;
    float:none;
    text-align:left;
    vertical-align:top;
  }

.megamenu .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level){
    font-size:calc(var(--typeBaseSize) - 1px);
    line-height:1.5;
}

.megamenu .h5,.megamenu h5{
  font-weight:700;
  margin-bottom:5px;
}

.modal{
  align-items:center;
  bottom:0;
  color:#fff;
  display:none;
  justify-content:center;
  left:0;
  opacity:1;
  overflow:hidden;
  position:fixed;
  right:0;
  top:0;
  z-index:30;
}

.modal.modal--quick-shop{
    align-items:flex-start;
  }

.modal a,.modal a:hover{
    color:inherit;
  }

.modal .btn:not([disabled]):not(.btn--secondary):not(.btn--body),.modal .btn:not([disabled]):not(.btn--secondary):not(.btn--body):hover{
    color:var(--colorBtnPrimaryText);
  }

.modal-open .modal .modal__inner{
      animation:modal-open 0.5s forwards;
    }

.modal-open .modal:before{
      animation:overlay-on 0.5s forwards;
      background-color:var(--colorModalBg);
      content:"";
      cursor:pointer;
      height:100%;
      left:0;
      position:fixed;
      top:0;
      width:100%;
    }

.modal-closing .modal .modal__inner{
      animation:modal-closing 0.5s forwards;
    }

.modal-closing .modal:before{
      animation:overlay-off 0.5s forwards;
      background-color:var(--colorModalBg);
      content:"";
      height:100%;
      left:0;
      position:fixed;
      top:0;
      width:100%;
    }

.modal-open--solid .modal:before{
    background-color:var(--colorModalBg);
}

.modal-open .modal--solid:before{
      animation:full-overlay-on 0.5s forwards;
      background-color:#000;
    }

.modal-closing .modal--solid:before{
      animation:full-overlay-off 0.5s forwards;
      background-color:#000;
    }

.modal--is-closing{
  display:flex !important;
}

.modal--is-closing{
  overflow:hidden;
}

.modal--is-active{
  display:flex !important;
}

.modal--is-active{
  overflow:hidden;
}

@media only screen and (min-width:769px){
  .modal-open{
    overflow:hidden;
  }
}

.modal__inner{
  align-items:center;
  display:flex;
  flex:0 1 auto;
  margin:15px;
  max-width:calc(100% - 15px);
  transform-style:preserve-3d;
}

@media only screen and (min-width:769px){

.modal__inner{
    margin:40px;
    max-width:calc(100% - 80px);
}
  }

.modal--square .modal__inner{
    background-color:var(--colorBody);
    box-shadow:0 15px 45px rgba(0,0,0,.1);
    color:var(--colorTextBody);
}

.modal__inner img{
    display:block;
    max-height:90vh;
  }

.modal__inner .image-wrap img{
    max-height:none;
  }

.modal__centered{
  flex:0 1 auto;
  max-width:100%;
  min-width:1px;
  position:relative;
}

.modal--square .modal__centered-content{
    -webkit-overflow-scrolling:touch;
    max-height:80vh;
    min-height:200px;
    min-width:200px;
    overflow:auto;
    padding:22.5px;
}

@media only screen and (min-width:769px){

.modal--square .modal__centered-content{
      max-height:90vh;
      max-width:1200px;
      padding:45px;
}
    }

.modal__close{
  border:0;
  color:#fff;
  padding:15px;
  position:fixed;
  right:0;
  top:0;
}

@media only screen and (min-width:769px){

.modal__close{
    padding:30px;
}
  }

.modal__close .icon{
    height:28px;
    width:28px;
  }

.modal__close:focus,.modal__close:hover{
    color:#fff;
  }

.modal--square .modal__close{
    color:var(--colorTextBody);
    padding:10px;
    position:absolute;
}

.modal--square .modal__close:focus,.modal--square .modal__close:hover{
      color:var(--colorTextBody);
    }

.modal .page-content,.modal .page-width{
    padding:0;
  }

.popup-cta{
  margin-bottom:15px;
}

@media only screen and (max-width:768px){
  .modal--mobile-friendly{
    bottom:0;
    overflow:auto;
    top:auto;
  }

    .modal--mobile-friendly.modal--square .modal__centered-content{
      padding:40px 20px;
    }

    .modal--mobile-friendly.modal--is-active{
      overflow:auto;
    }
      .modal-open .modal--mobile-friendly:before{
        display:none;
      }

    .modal--mobile-friendly .modal__inner{
      margin:0;
    }

    .modal--mobile-friendly .h1{
      padding-right:25px;
    }

    .modal--mobile-friendly input{
      font-size:16px !important;
    }

    .modal--mobile-friendly .text-close{
      display:none;
    }
}

.js-qty__wrapper{
  background-color:var(--colorBody);
  color:var(--colorTextBody);
  display:inline-block;
  max-width:80px;
  min-width:60px;
  overflow:visible;
  position:relative;
}

.js-qty__wrapper.is-loading{
    opacity:0.5;
    pointer-events:none;
  }

.js-qty__num{
  background:none;
  display:block;
  margin:0;
  padding:5px 20px;
  text-align:center;
  width:100%;
  z-index:1;
}

.js-qty__adjust{
  fill:var(--colorTextBody);
  backface-visibility:hidden;
  background:none;
  border:0 none;
  bottom:0;
  cursor:pointer;
  display:block;
  line-height:1;
  overflow:hidden;
  padding:0 10px;
  position:absolute;
  text-align:center;
  top:0;
  transition:background-color 0.1s ease-out;
  -webkit-user-select:none;
             -moz-user-select:none;
          user-select:none;
  z-index:2;
}

.js-qty__adjust .icon{
    fill:inherit;
    display:block;
    font-size:8px;
    height:10px;
    vertical-align:middle;
    width:10px;
  }

.js-qty__adjust:hover{
    background-color:var(--colorBodyDim);
    color:var(--colorTextBody);
  }

.js-qty__num:active~.js-qty__adjust,.js-qty__num:focus~.js-qty__adjust{
    border-color:var(--colorTextBody);
}

.js-qty__adjust--plus{
  right:0;
}

.js-qty__adjust--minus{
  left:0;
}

/* Cart / drawer line-item qty — base theme max-width:80px clips digits; fixed width beats shrink-to-fit */
.cart__item-qty .js-qty__wrapper {
  max-width: 132px !important;
  min-width: 132px !important;
  width: 132px !important;
  box-sizing: border-box !important;
}
.cart__item-qty .js-qty__num {
  box-sizing: border-box !important;
  padding-left: 38px !important;
  padding-right: 38px !important;
}
.cart__item-qty .js-qty__adjust {
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.drawer .js-qty__wrapper{
    background-color:transparent;
    border-color:var(--colorDrawerBorder);
  }

.drawer .js-qty__num{
    color:var(--colorDrawerText);
    padding-bottom:2px;
    padding-top:2px;
  }

.drawer .js-qty__adjust{
    fill:var(--colorDrawerText);
    color:var(--colorDrawerText);
  }

.drawer .js-qty__adjust:hover{
      fill:var(--colorDrawers);
      background-color:var(--colorDrawerText);
      color:var(--colorDrawers);
    }

.currency-flag{
  margin:-0.55rem;
  transform:scale(0.55);
}

@media only screen and (max-width:768px){
  [data-disclosure-currency] .disclosure-list{
    left:50%;
    max-width:95vw;
    transform:translateX(-50%);
  }
}

.collapsibles-wrapper--border-bottom{
  border-bottom:1px solid;
  border-bottom-color:var(--colorBorder);
}

.collapsibles-wrapper--border-bottom+.collapsibles-wrapper--border-bottom .collapsible-trigger-btn--borders{
  border-top:0;
}

.product-block--tab+.product-block--tab .collapsible-trigger-btn--borders{
  border-top:0;
}

.collapsible-trigger{
  color:inherit;
  position:relative;
}

.collapsible-trigger__icon{
  display:block;
  height:10px;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:10px;
}

@media only screen and (min-width:769px){

.collapsible-trigger__icon{
    height:12px;
    width:12px;
}
  }

.mobile-nav__has-sublist .collapsible-trigger__icon{
    right:25px;
}

.collapsible-trigger__icon .icon{
    display:block;
    height:10px;
    transition:all 0.1s ease-in;
    width:10px;
  }

@media only screen and (min-width:769px){

.collapsible-trigger__icon .icon{
      height:12px;
      width:12px;
  }
    }

.collapsible-trigger--inline{
  padding:11px 0 11px 40px;
}

.collapsible-trigger--inline .collapsible-trigger__icon{
    left:0;
    right:auto;
  }

.collapsible-trigger__icon--circle{
  border:1px solid;
  border-color:var(--colorBorder);
  border-radius:28px;
  height:28px;
  text-align:center;
  width:28px;
}

.collapsible-trigger__icon--circle .icon{
    left:50%;
    position:absolute;
    top:50%;
    transform:translate(-50%, -50%);
  }

.collapsible-trigger.is-open .collapsible-trigger__icon>.icon-chevron-down{
  transform:scaleY(-1);
}

.collapsible-trigger.is-open .collapsible-trigger__icon--circle>.icon-chevron-down{
  transform:translate(-50%, -50%) scaleY(-1);
}

.collapsible-content{
  transition:opacity 0.3s cubic-bezier(.25,.46,.45,.94),height 0.3s cubic-bezier(.25,.46,.45,.94);
}

.collapsible-content.is-open{
    opacity:1;
    transition:opacity 1s cubic-bezier(.25,.46,.45,.94),height 0.35s cubic-bezier(.25,.46,.45,.94);
    visibility:visible;
  }

.collapsible-content--all{
  backface-visibility:hidden;
  height:0;
  opacity:0;
  overflow:hidden;
  visibility:hidden;
}

.collapsible-content--all .collapsible-content__inner{
    transform:translateY(40px);
  }

@media only screen and (max-width:768px){
  .collapsible-content--small{
    backface-visibility:hidden;
    height:0;
    opacity:0;
    overflow:hidden;
    visibility:hidden;
  }

    .collapsible-content--small .collapsible-content__inner{
      transform:translateY(40px);
    }
}

.collapsible-content__inner{
  transition:transform 0.3s cubic-bezier(.25,.46,.45,.94);
}

.is-open .collapsible-content__inner{
    transform:translateY(0);
    transition:transform 0.5s cubic-bezier(.25,.46,.45,.94);
}

.rte.collapsible-content__inner--faq{
  padding-bottom:30px;
}

.collapsible-trigger[aria-expanded=true] .collapsible-label__closed{
    display:none;
}

.collapsible-label__open{
  display:none;
}

.collapsible-trigger[aria-expanded=true] .collapsible-label__open{
    display:inline-block;
}

.collapsible-content--sidebar{
  backface-visibility:hidden;
  height:0;
  opacity:0;
  overflow:hidden;
  visibility:hidden;
}

@media only screen and (min-width:769px){
    .collapsible-content--sidebar.is-open{
      height:auto;
      opacity:1;
      overflow:initial;
      visibility:visible;
    }
  }

.pswp{
  -webkit-text-size-adjust:100%;
  -webkit-backface-visibility:hidden;
  display:none;
  height:100%;
  left:0;
  outline:none;
  overflow:hidden;
  position:absolute;
  top:0;
  touch-action:none;
  width:100%;
  z-index:1500;
}

.pswp img{
  max-width:none;
}

.pswp--animate_opacity{
  opacity:0.001;
  transition:opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  will-change:opacity; }

.pswp--open{
  display:block; }

.pswp--zoom-allowed .pswp__img{
  cursor:zoom-in; }

.pswp--zoomed-in .pswp__img{
  cursor:grab; }

.pswp--dragging .pswp__img{
  cursor:grabbing; }

.pswp__bg{
  -webkit-backface-visibility:hidden;
  background:var(--colorBody);
  height:100%;
  left:0;
  opacity:0;
  position:absolute;
  top:0;
  transform:translateZ(0);
  width:100%; }

.pswp__scroll-wrap{
  height:100%;
  left:0;
  overflow:hidden;
  position:absolute;
  top:0;
  width:100%; }

.pswp__container,.pswp__zoom-wrap{
  bottom:0;
  left:0;
  position:absolute;
  right:0;
  top:0;
  touch-action:none; }

.pswp__container,.pswp__img{
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
             -moz-user-select:none;
          user-select:none; }

.pswp__zoom-wrap{
  position:absolute;
  transform-origin:left top;
  transition:transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  width:100%; }

.pswp__bg{
  transition:opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  will-change:opacity; }

.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{
  transition:none; }

.pswp__container,.pswp__zoom-wrap{
  -webkit-backface-visibility:hidden; }

.pswp__item{
  bottom:0;
  left:0;
  overflow:hidden;
  position:absolute;
  right:0;
  top:0; }

.pswp__img{
  height:auto;
  left:0;
  position:absolute;
  top:0;
  width:auto; }

.pswp__img--placeholder{
  -webkit-backface-visibility:hidden; }

.pswp--ie .pswp__img{
  height:auto !important;
  width:100% !important; }

.pswp--ie .pswp__img{
  left:0;
  top:0; }

.pswp__error-msg{
  color:#ccc;
  left:0;
  line-height:16px;
  margin-top:-8px;
  position:absolute;
  text-align:center;
  top:50%;
  width:100%; }

.pswp__error-msg a{
  color:#ccc;
  -webkit-text-decoration:underline;
  text-decoration:underline; }

.pswp__button{
  position:relative;
}

.pswp__button:after{
    bottom:0;
    content:"";
    display:block;
    left:0;
    position:absolute;
    right:0;
    top:0;
  }

.pswp__button svg{
    pointer-events:none;
  }

.pswp__button--arrow--left .icon,.pswp__button--arrow--right .icon{
  height:13px;
  margin:8px;
  width:13px;
}

.pswp__button[disabled]{
  opacity:0;
  pointer-events:none;
}

.pswp__ui{
  align-items:center;
  bottom:30px;
  display:flex;
  justify-content:center;
  left:0;
  position:absolute;
  right:0;
  transform:translateY(0);
  transition:transform 0.25s 0.6s;
}

.pswp__ui .btn{
    margin:15px;
  }

.pswp__ui--hidden{
  transform:translateY(150%);
  transition:transform 0.25s;
}

html.pswp-open-in-ios,html.pswp-open-in-ios body{
  background:#444;
  box-sizing:border-box;
  height:var(--window-inner-height);
  overflow:hidden;
}

.pswp-open-in-ios body>*{
  display:none; 
}

.pswp-open-in-ios body .pswp.pswp--open{
  display:block; 
}

.disclosure{
  position:relative;
}

.disclosure__toggle{
  white-space:nowrap;
}

.disclosure-list{
  background-color:var(--colorBody);
  border-radius:0;
  bottom:100%;
  box-shadow:0 0 20px rgba(0,0,0,.09);
  color:var(--colorTextBody);
  display:none;
  margin:0;
  max-height:60vh;
  min-height:92px;
  overflow-y:auto;
  padding:10px 0;
  position:absolute;
}

.disclosure-list a{
    color:currentColor;
  }

.disclosure-list--down{
  bottom:auto;
  top:100%;
  z-index:30;
}

.disclosure-list--left{
  right:0;
}

.disclosure-list--visible{
  display:block;
}

.disclosure-list__item{
  padding:5px 15px 4px;
  text-align:left;
  white-space:nowrap;
}

.disclosure-list__option:focus .disclosure-list__label,.disclosure-list__option:hover .disclosure-list__label{
      -webkit-text-decoration:underline;
      text-decoration:underline;
    }

.disclosure-list__item--current .disclosure-list__label{
    -webkit-text-decoration:underline;
    text-decoration:underline;
  }

.disclosure-list__label{
  display:inline-block;
  text-underline-offset:0.2rem;
  vertical-align:middle;
}

[data-disclosure-currency] .disclosure-list__label{
    padding-left:10px;
}

.disclosure-list__label span{
    border-bottom:2px solid transparent;
  }

.is-active .disclosure-list__label span{
      border-bottom:2px solid currentColor;
  }

.multi-selectors{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}

.multi-selectors__item{
  margin:0 20px 10px;
}

@media only screen and (max-width:768px){

.multi-selectors__item{
    margin:10px 20px;
}
  }

.toolbar .multi-selectors__item{
    margin-bottom:0;
    margin-right:0;
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__controls-area{
    background:var(--colorBody);
    border-color:var(--colorTextBodyAlpha005);
    border-radius:50px;
    opacity:1;
  }

.shopify-model-viewer-ui .shopify-model-viewer-ui__button{
    color:var(--colorTextBody);
  }

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:hover{
      color:var(--colorTextBody);
    }

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control.focus-visible:focus,.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:active{
      background-color:var(--colorTextBodyAlpha005);
      color:var(--colorTextBody);
    }

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:not(:last-child):after{
      border-color:var(--colorTextBodyAlpha005);
    }

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster{
    background-color:var(--colorTextBody);
    border:1px solid;
    border-color:var(--colorBodyAlpha05);
    border-radius:100%;
    color:var(--colorBody);
  }

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster:focus,.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster:hover{
      color:var(--colorBody);
    }

.product-single__view-in-space{
  background-color:var(--colorTextBodyAlpha008);
  color:var(--colorTextBody);
  display:block;
  margin:40px 10% 10px;
  padding:5px 10px 10px;
  width:80%;
  width:calc(80% - 4px);
}

.product-single__view-in-space[data-shopify-xr-hidden]{
    display:none;
  }

.product-single__view-in-space-text{
  display:inline-block;
  font-size:calc(var(--typeBaseSize)*0.85);
  margin-left:5px;
  vertical-align:middle;
}

.shopify-model-viewer-ui,.shopify-model-viewer-ui model-viewer{
  display:block;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}

.shopify-model-viewer-ui__button[hidden]{
  display:none;
}

.product-single__close-media{
  position:absolute;
  right:10px;
  top:10px;
  z-index:2;
}

.price-range__slider-wrapper{
  padding:0 8px 8px;
}

@media only screen and (max-width:768px){

.price-range__slider-wrapper{
    padding:0 10px 8px;
}
  }

.price-range__input{
  display:none;
}

.price-range__display-wrapper{
  display:flex;
  flex:1 1 auto;
  justify-content:space-between;
  padding:0;
  padding-bottom:8px;
  width:100%;
}

@media only screen and (max-width:768px){

.price-range__display-wrapper{
    padding:0;
}
  }

.noUi-horizontal .noUi-handle{
  background:var(--colorTextBody);
  border:0;
  border-radius:50%;
  box-shadow:0 0 1px 2px #fff;
  cursor:pointer;
  height:12px;
  right:-6px;
  top:-3px;
  width:12px;
}

.noUi-horizontal .noUi-handle:focus,.noUi-horizontal .noUi-handle:hover{
    height:14px;
    right:-7px;
    top:-4px;
    width:14px;
  }

.noUi-horizontal .noUi-handle:after,.noUi-horizontal .noUi-handle:before{
    content:none;
  }

.noUi-target{
  background:#f4f4f4;
  border:0;
  box-shadow:none;
}

.noUi-connect{
  background:var(--colorTextBody);
}

.noUi-horizontal{
  height:6px;
}

.countdown__content{
  background-color:var(--countdown-background-color);
  color:var(--countdown-text-color);
}

.countdown__block--button .btn.btn--secondary{
    color:var(--accent-color);
  }

::-webkit-input-placeholder{
   color:inherit;
   opacity:0.5;
}

:-moz-placeholder{
   color:inherit;
   opacity:0.5;
}

:-ms-input-placeholder{
   color:inherit;
   opacity:0.5;
}

::-ms-input-placeholder{
   color:inherit;
   opacity:1;
}

input,select,textarea{
  background-color:inherit;
  color:inherit;
}

input.disabled,input[disabled],select.disabled,select[disabled],textarea.disabled,textarea[disabled]{
    background-color:#f6f6f6;
    border-color:transparent;
  }

input:active,input:focus,select:active,select:focus,textarea:active,textarea:focus{
    border:1px solid;
    border-color:var(--colorTextBody);
  }

input[type=image]{
  background-color:transparent;
}

[data-center-text=true] .social-sharing{
    text-align:center;
}

.social-sharing .icon{
    height:18px;
    width:18px;
  }

.social-sharing__link{
  border-radius:2px;
  color:var(--colorTextBody);
  display:inline-block;
  font-weight:400;
  margin:0 18px 0 0;
  -webkit-text-decoration:none;
  text-decoration:none;
}

.social-sharing__link:last-child{
    margin-right:0;
  }

html[dir=rtl] .social-sharing__link{
    margin:0 0 0 18px;
}

html[dir=rtl] .social-sharing__link:last-child{
      margin-left:0;
    }

.social-sharing__title{
  display:inline-block;
  font-size:calc(var(--typeBaseSize)*0.85);
  padding-left:3px;
  padding-right:15px;
  vertical-align:middle;
}

html[dir=rtl] .social-sharing__title{
    padding-left:15px;
    padding-right:3px;
}

.grid-search{
  margin-bottom:30px;
}

.grid-search__product{
  position:relative;
  text-align:center;
}

.grid-search__page-link{
  background-color:var(--colorBodyLightDim);
  color:var(--colorTextBody);
  display:block;
  overflow:hidden;
  padding:20px;
  text-overflow:ellipsis;
}

.grid-search__page-link:focus,.grid-search__page-link:hover{
    background-color:var(--colorBodyMediumDim);
  }

.grid-search__page-content{
  display:block;
  height:100%;
  overflow:hidden;
}

.grid-search__page-content img{
  display:block;
  margin-bottom:10px;
}

.grid-search__image{
  display:block;
  margin:0 auto;
  max-height:100%;
  max-width:100%;
  padding:20px;
}

@media only screen and (min-width:769px){

.grid-search__image{
    left:50%;
    position:absolute;
    top:50%;
    transform:translate(-50%, -50%);
}
  }

.index-section{
  margin:40px 0;
}

.index-section--small{
  margin:18px 0;
}

.index-section+.index-section,.index-section+.index-section--hidden,.main-content+.index-section{
  margin-top:0;
}

.index-section--flush{
  margin:0;
}

.section--divider{
  border-top:1px solid;
  border-top-color:var(--colorBorder);
  padding-top:40px;
}

.index-section--faq{
  margin-bottom:40px;
}

.newsletter-section{
  padding:40px 0;
}

.newsletter-section--with-divider{
  border-top:1px solid;
  border-top-color:var(--colorBorder);
}

.template-challange .index-section--footer{
  display:none;
}

.testimonials-section{
  padding:25.5px 0;
}

.testimonials-section--with-divider{
  border-top:1px solid;
  border-top-color:var(--colorBorder);
}

@media only screen and (min-width:769px){
  .index-section{
    margin:75px 0;
  }

  .index-section--small{
    margin:30px 0;
  }

  .section--divider{
    padding-top:75px;
  }

  .index-section--faq{
    margin:75px 0 37.5px;
  }

  .newsletter-section{
    padding:75px 0;
  }

  .testimonials-section{
    padding:75px 0;
  }
}

.page-blocks--flush .page-width{
  padding:0;
}

.page-blocks>div:first-child .index-section{
    margin-top:0;
  }

.feature-row-wrapper{
  direction:ltr;
  overflow:hidden;
}

.feature-row{
  align-items:center;
  display:flex;
  justify-content:space-between;
  margin:0 auto;
}

@media only screen and (min-width:1050px){

.feature-row{
    margin:0 6%;
}
  }

@media only screen and (max-width:768px){

.feature-row{
    flex-direction:column;
    margin:0;
}
  }

@media only screen and (max-width:959px){
  .feature-row--small-none{
    display:block;
  }
}

.feature-row__item{
  flex:0 1 57%;
  margin:0 auto;
}

@media only screen and (max-width:768px){

.feature-row__item{
    flex:1 1 auto;
    max-width:100%;
    min-width:100%;
}
  }

.feature-row__item--overlap-images{
  align-items:center;
  display:flex;
  justify-content:space-between;
  margin:0 0 0 -30px;
  padding:0 0 15px;
}

@media only screen and (min-width:769px){

.feature-row__item--overlap-images{
    margin:0 auto;
    padding:50px 0;
}
  }

.feature-row__item--overlap-images>*{
    width:50%;
  }

.feature-row__item--overlap-images>:first-child{
      transform:translate(30px, 30px);
      z-index:1;
    }

@media only screen and (min-width:769px){

.feature-row__item--overlap-images>:first-child{
        transform:translate(50px, 50px);
    }
      }

.feature-row__item--overlap-images svg{
    border:2px solid;
    border-color:var(--colorBody);
  }

.feature-row__image{
  display:block;
  margin:0 auto;
  order:1;
}

@media only screen and (min-width:769px){

.feature-row__image{
    order:2;
}
  }

.feature-row__text{
  flex:0 1 43%;
  min-width:43%;
  padding:0;
}

@media only screen and (max-width:768px){

.feature-row__text{
    margin-top:0;
    order:2;
    padding:30px 20px 0;
    padding-bottom:0;
}
  }

.feature-row__text .rte{
    margin:0;
  }

.feature-row__text .btn{
    margin-top:15px;
  }

@media only screen and (min-width:769px){
  .feature-row__text--left{
    padding-left:60px;
  }

  .feature-row__text--right{
    padding-right:60px;
  }
}

.product-block{
  margin-bottom:25px;
}

.product-block hr{
    margin:0;
  }

.product-block--tab+.product-block--tab{
  margin-top:-25px;
}

.product-block--sales-point+.product-block--sales-point{
  margin-top:-20px;
}

.product-block--header+.product-block--price{
  margin-top:-20px;
}

.theme-block{
  margin-bottom:30px;
}

.theme-block:last-child{
    margin-bottom:0;
  }

.size-chart__standalone .tool-tip-trigger__title{
  font-size:0.8em;
  letter-spacing:0em;
}

.slideshow-wrapper{
  position:relative;
}

.slideshow__pause:focus{
  clip:auto;
  background-color:var(--colorBtnPrimary);
  color:var(--colorBtnPrimaryText);
  height:auto;
  margin:0;
  padding:10px;
  transition:none;
  width:auto;
  z-index:10000;
}

.video-is-playing .slideshow__pause:focus{
    display:none;
}

.slideshow__pause-stop{
  display:block;
}

.is-paused .slideshow__pause-stop{
    display:none;
}

.slideshow__pause-play{
  display:none;
}

.is-paused .slideshow__pause-play{
    display:block;
}

.slideshow__slide{
  display:none;
  height:100%;
  overflow:hidden;
  position:relative;
  width:100%;
}

.slideshow__slide:first-child{
    display:block;
  }

.flickity-slider .slideshow__slide{
    display:block;
}

.hero{
  background:var(--colorLargeImageBg);
  overflow:hidden;
  position:relative;
}

.hero__media-container{
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}

.hero__image-wrapper,.hero__media{
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}

.hero__image-wrapper:before,.hero__media:before{
    background-color:var(--colorImageOverlay);
    bottom:0;
    content:"";
    left:0;
    opacity:var(--colorImageOverlayOpacity);
    position:absolute;
    right:0;
    top:0;
    z-index:3;
  }

.video-interactable .hero__image-wrapper:before,.video-interactable .hero__media:before{
      pointer-events:none;
  }

.hero__image{
  height:100%;
  -o-object-fit:cover;
     object-fit:cover;
  position:relative;
  width:100%;
  z-index:1;
}

.hero__media{
  background-position:top;
  background-repeat:no-repeat;
  background-size:cover;
  z-index:1;
}

.hero__image-wrapper--no-overlay:before{
  content:none;
}

.hero__media iframe,.hero__media video{
  height:100%;
  pointer-events:none;
  width:100%;
}

.video-interactable .hero__media iframe,.video-interactable .hero__media video{
    pointer-events:auto;
}

.video-parent-section.loading .hero__media iframe,.video-parent-section.loading .hero__media video{
    opacity:0.01;
}

.video-parent-section.loaded .hero__media iframe,.video-parent-section.loaded .hero__media video{
    animation:zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
    opacity:1;
    transition:none;
}

.hero__media video{
  font-family:"object-fit: cover";
  -o-object-fit:cover;
     object-fit:cover;
  position:relative;
}

.hero__media iframe{
  left:0;
  left:-100%;
  max-width:none;
  position:absolute;
  top:0;
  width:300%;
}

@media screen and (min-width:1140px){

.hero__media iframe{
    height:300%;
    left:auto;
    top:-100%;
    width:100%;
}
  }

.vimeo-mobile-trigger{
  display:block;
  margin-top:90px;
  position:absolute;
  width:100%;
  z-index:2;
}

.hero__text-content .vimeo-mobile-trigger{
    bottom:120%;
}

.vimeo-mobile-trigger .icon{
    background-color:#fff;
    border-radius:50%;
    height:40px;
    padding:10px;
    width:40px;
  }

.hero__slide-link{
  display:block;
  height:100%;
  position:absolute;
  width:100%;
  z-index:5;
}

.hero__slide-link:hover~.hero__text-wrap .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse){
      background:var(--colorBtnPrimaryLight);
      transition-delay:0.25s;
    }

.hero__slide-link:hover~.hero__text-wrap .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after{
        animation:shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
      }

[data-button_style=angled] .hero__slide-link:hover~.hero__text-wrap .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after{
          animation:none;
        }

.hero__text-wrap{
  color:var(--colorHeroText);
  height:100%;
  position:relative;
}

.video-interactable .hero__text-wrap{
    pointer-events:none;
}

.hero__text-wrap .page-width{
    display:table;
    height:100%;
    width:100%;
  }

.hero__text-content{
  padding:15px 0;
  position:relative;
  z-index:4;
}

@media only screen and (min-width:769px){

.hero__text-content{
    padding:45px 0;
}
  }

[data-dots=true] .hero__text-content{
    padding-bottom:40px;
}

.hero__text-shadow{
  display:inline-block;
  position:relative;
}

.hero__text-shadow:before{
    background:radial-gradient(rgba(0, 0, 0, var(--colorImageOverlayTextShadow)) 0%, transparent 60%);
    bottom:0;
    content:"";
    left:0;
    margin:-100px -200px -100px -200px;
    position:absolute;
    right:0;
    top:0;
    z-index:auto;
    z-index:-1;
  }

.hero__top-subtitle{
  font-size:1.1em;
  letter-spacing:0em;
  margin-bottom:5px;
  text-transform:uppercase;
}

.hero__title{
  display:block;
  margin-bottom:0;
}

.hero__subtext{
  margin-top:20px;
}

.hero__subtitle{
  display:block;
  font-size:1.3em;
  margin-bottom:5px;
  margin-top:5px;
  vertical-align:middle;
}

.hero__link{
  display:block;
  position:relative;
}

.video-interactable .hero__link{
    pointer-events:auto;
}

.hero__link .btn{
    margin:4px 3px 2px 0;
  }

@media only screen and (min-width:769px){

.hero__link .btn{
      margin-right:5px;
      margin-top:0;
  }
    }

[data-button_style=angled] .hero__link .btn{
      margin-left:12px;
  }

.hero__link .btn+.btn{
    margin-left:2px;
  }

@media only screen and (min-width:769px){

.hero__link .btn+.btn{
      margin-left:10px;
  }
    }

[data-button_style=angled] .hero__link .btn+.btn{
      margin-left:12px;
  }

.hero__link .btn .icon-play{
    margin-right:5px;
    position:relative;
    top:-2px;
  }

[data-button_style=angled] .hero__link .animation-cropper{
      padding-right:10px;
    }

.hero__text-content{
  display:table-cell;
}

.hero__text-content .hero__link{
    margin-top:7.5px;
  }

@media only screen and (min-width:769px){

.hero__text-content .hero__link{
      margin-top:15px;
  }
    }

.hero__text-content.horizontal-left{
    text-align:left;
  }

.hero__text-content.horizontal-center{
    text-align:center;
  }

.hero__text-content.horizontal-right{
    text-align:right;
  }

.hero__text-content.vertical-center{
    vertical-align:middle;
  }

.hero__text-content.vertical-bottom{
    vertical-align:bottom;
  }

.overlaid-header .index-section--hero:first-child .hero__text-content.vertical-center{
  padding-top:50px;
}

@media only screen and (min-width:769px){

.overlaid-header .index-section--hero:first-child .hero__text-content.vertical-center{
    padding-top:90px;
}
  }

.hero--450px{
  height:292.5px;
}

.hero--550px{
  height:357.5px;
}

.hero--650px{
  height:422.5px;
}

.hero--750px{
  height:487.5px;
}

.hero--100vh{
  height:100vh;
}

@media only screen and (min-width:769px){
  .hero--natural[data-natural]{
    bottom:0;
    left:0;
    position:absolute;
    right:0;
    top:0;
  }
  .hero--450px{
    height:450px;
  }
  .hero--550px{
    height:550px;
  }
  .hero--650px{
    height:650px;
  }
  .hero--750px{
    height:750px;
  }
}

@media only screen and (max-width:768px){
  .hero--mobile--auto[data-mobile-natural=true]{
    bottom:0;
    height:auto;
    left:0;
    position:absolute;
    right:0;
    top:0;
  }
  .hero--natural[data-mobile-natural=false]{
    height:500px;
  }
  .hero--mobile--250px[data-mobile-natural=false]{
    height:250px;
  }
  .hero--mobile--300px[data-mobile-natural=false]{
    height:300px;
  }
  .hero--mobile--400px[data-mobile-natural=false]{
    height:400px;
  }
  .hero--mobile--500px[data-mobile-natural=false]{
    height:500px;
  }
  .hero--mobile--100vh[data-mobile-natural=false]{
    height:90vh;
  }
}

.slideshow__slide .animation-cropper,[data-aos=hero__animation] .animation-cropper{
    opacity:0;
  }

.slideshow__slide .animation-contents,[data-aos=hero__animation] .animation-contents{
    opacity:0;
    transform:translateY(15px);
    transition:none;
  }

.slideshow__slide:not(.animate-out) .hero__image,[data-aos=hero__animation]:not(.animate-out) .hero__image{
    opacity:0;
    transition:none;
  }

.slideshow__slide .hero__link .btn,[data-aos=hero__animation] .hero__link .btn{
    opacity:0;
    transition:none;
  }

.slideshow__slide .hero__image-wrapper,[data-aos=hero__animation] .hero__image-wrapper{
    opacity:0;
    transform:translateX(200px);
    transition:none;
  }

.loaded .slideshow__slide.is-selected .animation-cropper,.loaded[data-aos=hero__animation] .animation-cropper{
    opacity:1;
  }

.loaded .slideshow__slide.is-selected .animation-contents,.loaded[data-aos=hero__animation] .animation-contents{
    transform:translateY(0px);
  }

.loaded .slideshow__slide.is-selected .hero__title .animation-contents,.loaded[data-aos=hero__animation] .hero__title .animation-contents{
    animation:0.8s cubic-bezier(0.26, 0.54, 0.32, 1) 0.3s forwards;
    animation-name:rise-up;
  }

.loaded .slideshow__slide.is-selected .hero__subtitle .animation-contents,.loaded .slideshow__slide.is-selected .hero__top-subtitle .animation-contents,.loaded[data-aos=hero__animation] .hero__subtitle .animation-contents,.loaded[data-aos=hero__animation] .hero__top-subtitle .animation-contents{
    animation:1s cubic-bezier(0.26, 0.54, 0.32, 1) 0.7s forwards;
    animation-name:rise-up;
  }

.loaded .slideshow__slide.is-selected .hero__link .animation-contents,.loaded[data-aos=hero__animation] .hero__link .animation-contents{
    opacity:1;
  }

.loaded .slideshow__slide.is-selected .hero__link .btn,.loaded[data-aos=hero__animation] .hero__link .btn{
    animation:fade-in 2s ease 1.3s forwards;
  }

.loaded .slideshow__slide.is-selected .hero__link .btn:nth-child(2),.loaded[data-aos=hero__animation] .hero__link .btn:nth-child(2){
    animation:fade-in 2s ease 1.6s forwards;
  }

.loaded .slideshow__slide.is-selected .hero__image,.loaded .slideshow__slide.is-selected .hero__image--svg,.loaded .slideshow__slide.is-selected .hero__media,.loaded[data-aos=hero__animation] .hero__image,.loaded[data-aos=hero__animation] .hero__image--svg,.loaded[data-aos=hero__animation] .hero__media{
    opacity:1;
    transition:none;
  }

.loaded .slideshow__slide.is-selected .hero__image-wrapper,.loaded[data-aos=hero__animation] .hero__image-wrapper{
    opacity:1;
    transform:translateX(0px);
    transition:transform 0.7s ease,opacity 0.7s ease;
  }

.loaded[data-aos=hero__animation] .hero__image-wrapper{
    transition:opacity 0.7s ease !important;
  }

.no-js .hero__image,.no-js .hero__image-wrapper{
    opacity:1 !important;
  }

.no-js .hero__image,.no-js .hero__image-wrapper{
    transform:none;
  }

.slideshow__slide.animate-out .animation-cropper{
    opacity:0;
    transition:none;
  }

.slideshow__slide.animate-out .hero__image-wrapper{
    opacity:0;
    transform:translateX(-200px);
    transition:transform 0.5s ease-in 0.05s,opacity 0.5s ease-in 0.05s;
  }

.slideshow__slide.animate-out .hero__link{
    opacity:0;
    transition:none;
  }

.collection-content{
  padding-top:22.5px;
}

@media only screen and (min-width:769px){

.collection-content{
    padding-top:45px;
}
  }

.collection-filter{
  align-items:center;
  display:flex;
  justify-content:flex-end;
}

@media only screen and (max-width:768px){

.collection-filter{
    flex-wrap:wrap;
    justify-content:space-between;
    position:sticky;
    top:17px;
    z-index:5;
}

.sticky-header .collection-filter{
      top:86px;
}
  }

.collection-filter .btn,.collection-filter select{
    font-size:16px;
    height:44px;
  }

.collection-filter select{
    display:block;
    width:100%;
  }

.collection-filter .btn{
    border:1px solid;
    border-color:var(--colorBorder);
    padding:0 20px;
  }

@media only screen and (max-width:768px){

.collection-filter .btn{
      text-align:left;
      width:100%;
  }
    }

.collection-filter .btn .icon{
      margin-right:10px;
      position:relative;
      top:-2px;
    }

.collection-filter__item{
  flex:1 1 auto;
  margin-bottom:15px;
}

.collection-filter .btn:not(.btn--tertiary-active),.collection-filter__sort-container{
  background:var(--colorBody);
}

.collection-filter__item--drawer{
  flex:0 1 48%;
}

.collection-filter__item--count{
  flex:1 1 170%;
  text-align:center;
}

.collection-filter__item--sort{
  flex:0 1 48%;
}

@media only screen and (max-width:768px){
  .collection-filter__item--count{
    flex:1 1 100%;
    order:3;
  }
}

.image-filter__wrapper ul{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2, 1fr);
}

.image-filter__wrapper ul label{
    align-items:flex-start;
    border:1px solid transparent;
    height:100%;
  }

.image-filter__wrapper ul label:active,.image-filter__wrapper ul label:focus-within,.image-filter__wrapper ul label:hover{
      border-color:var(--colorBorder);
    }

.image-filter__wrapper ul .tag__text{
    margin-bottom:4px;
    margin-left:0;
  }

.image-filter__wrapper .tag--active label{
  border-color:var(--colorTextBody);
}

.image-filter__image-wrapper{
  display:flex;
  flex-direction:column;
  gap:10px;
  text-align:center;
}

.rte.collection__description{
  margin-bottom:45px;
}

.collection-hero{
  background:var(--colorLargeImageBg);
  box-sizing:initial;
  height:250px;
  overflow:hidden;
  position:relative;
  width:100%;
}

@media only screen and (min-width:769px){

.collection-hero{
    height:420px;
}
  }

.collection-hero__content{
  align-items:flex-end;
  bottom:0;
  display:flex;
  left:0;
  padding:15px 0;
  position:absolute;
  top:0;
  width:100%;
  z-index:1;
}

@media only screen and (min-width:769px){

.collection-hero__content{
    padding:30px 0;
}
  }

[data-type_headers_align_text=true] .collection-hero__content{
    align-items:center;
}

.overlaid-header .collection-hero__content{
    padding-top:70px;
}

@media only screen and (min-width:769px){

.overlaid-header .collection-hero__content{
      padding-top:100px;
}
    }

.collection-hero__content .page-width{
    width:100%;
  }

.collection-hero__content:before{
    background-color:var(--colorImageOverlay);
    bottom:0;
    content:"";
    display:block;
    left:0;
    opacity:var(--colorImageOverlayOpacity);
    position:absolute;
    right:0;
    top:0;
    z-index:auto;
  }

.collection-hero__content .section-header{
    animation:fade-in 0.5s 1s forwards;
    opacity:0;
  }

[data-disable-animations=true] .collection-hero__content .section-header{
      animation:none;
      opacity:1;
  }

.collection-hero__image{
  animation:zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  transition:none;
}

[data-disable-animations=true] .collection-hero__image{
    animation:none;
    opacity:1;
}

.collection-grid__wrapper.unload{
  min-height:180px;
  opacity:0.2;
  position:relative;
  transition:opacity 0.3s;
}

.collection-grid__wrapper.unload [data-section-type=collection-grid]{
    animation:grid-product__loading 1.5s ease 1.5s infinite;
  }

.collection-sidebar{
  margin-bottom:20px;
  padding-right:10px;
}

@media only screen and (min-width:769px){
  .grid__item--sidebar{
    max-height:90vh;
    overflow-y:auto;
    position:sticky;
    top:10px;
  }
}

.collection-sidebar__group{
  border-top:1px solid;
  border-top-color:var(--colorDrawerBorder);
  margin-bottom:5px;
  margin-top:5px;
  overflow:hidden;
  padding-top:5px;
}

.collection-sidebar__group:first-child{
    margin-top:0;
  }

.collection-sidebar__group .collapsible-content__inner{
    padding-bottom:5px;
  }

.filter-form div:first-of-type .collection-sidebar__group{
  border-top:0;
  padding-top:0;
}

.is-light .site-header__logo .logo--has-inverted{
    display:none;
}

.site-header__logo .logo--inverted{
  display:none;
}

.is-light .site-header__logo .logo--inverted{
    display:block;
}

@media only screen and (min-width:769px){

.site-header__logo{
    text-align:left;
}
  }

.header-logo a,.site-header__logo a{
  color:var(--colorNavText);
}

.is-light .header-logo a,.is-light .site-header__logo a{
    color:#fff;
}

.is-light .header-logo a:hover,.is-light .site-header__logo a:hover{
      color:#fff;
    }

.is-light .site-header{
    box-shadow:none;
}

.site-header--password{
  color:var(--colorNavText);
}

.site-header--password a,.site-header--password a:hover{
    color:var(--colorNavText);
  }

.is-light .site-header--password{
    color:#fff;
}

.is-light .site-header--password a,.is-light .site-header--password a:hover{
      color:#fff;
    }

.site-nav__dropdown-link{
  display:block;
  padding:8px 15px;
  white-space:nowrap;
}

.megamenu .site-nav__dropdown-link{
    padding:4px 0;
    white-space:normal;
}

.tag-list__header{
  text-align:left;
}

.tag-list .tag-list{
  margin-left:15px;
}

.tag-list a,.tag-list label{
  cursor:pointer;
  display:block;
  line-height:1.4;
}

.tag-list label:hover,.tag:focus-within label{
  -webkit-text-decoration:underline;
  text-decoration:underline;
  text-underline-offset:2px;
}

.tag--active>a,.tag--active>label{
  font-weight:900;
}

.tag-list--active-tags:empty{
  display:none;
}

.tag-list--checkboxes{
  padding-bottom:6px;
}

.tag-list--checkboxes a{
    font-size:calc(var(--typeBaseSize) - 2px);
    font-size:max(calc(var(--typeBaseSize) - 2px), 14px);
    padding-left:25px;
    position:relative;
  }

.tag-list--checkboxes a:before{
      content:"";
      left:0;
      position:absolute;
      top:50%;
      transform:translateY(-50%);
    }

.tag-list--checkboxes a:before{
      border:1px solid;
      border-color:var(--colorBorder);
      height:16px;
      width:16px;
    }

.tag--active .tag__checkbox:after,.tag-list--checkboxes .tag--active a:after,input:checked~.tag__checkbox:after{
  background-color:var(--colorTextBody);
  border-color:var(--colorTextBody);
}

.tag--remove{
  position:relative;
}

.tag--remove a{
    text-align:left;
  }

.tag--remove .icon{
    color:var(--colorBtnPrimaryText);
    pointer-events:none;
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
  }

.tag-list--swatches{
  margin-left:-2px;
  margin-top:2px;
}

.drawer .tag-list--swatches{
    margin-left:-2px;
}

.tag-list--swatches li{
    display:inline-block;
  }

label.tag__checkbox-wrapper{
  display:flex;
}

.tag__checkbox{
  padding-left:25px;
  position:relative;
}

.tag__checkbox:after,.tag__checkbox:before{
    content:"";
    left:0;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
  }

.tag__checkbox:before{
    border:1px solid;
    border-color:var(--colorBorder);
    height:16px;
    width:16px;
  }

.tag__checkbox:after{
    height:10px;
    left:3px;
    width:10px;
  }

.tag__input{
    cursor:pointer;
    height:0;
    opacity:0;
  position:absolute;
    width:0;
}

.variant-input-wrap{
  border:0;
  margin:0 0 -12px;
  padding:0;
  position:relative;
}

.variant-input-wrap input{
    clip:rect(0 0 0 0);
    border:0;
    height:1px;
    margin:-1px;
    overflow:hidden;
    padding:0;
    position:absolute;
    width:1px;
  }

.variant-input-wrap label{
    background-color:var(--colorBody);
    box-shadow:0 0 0 1px var(--colorBorder);
    display:inline-block;
    font-family:var(--typeBasePrimary), var(--typeBaseFallback);
    font-size:calc(var(--typeBaseSize)*0.92);
    font-weight:400;
    letter-spacing:var(--typeBaseSpacing);
    line-height:var(--typeBaseLineHeight);
    margin:0 8px 12px 0;
    overflow:hidden;
    padding:7px 15px 7px;
    position:relative;
  }

@media only screen and (min-width:769px){

.variant-input-wrap label{
    font-size:var(--typeBaseSize);
  }
  }

[data-center-text=true] .variant-input-wrap label{
      margin:0 4px 12px;
  }

.variant-input-wrap label.disabled{
      color:var(--colorBorder);
    }

.variant-input-wrap label.disabled:after{
      border-left:1px solid;
      border-color:var(--colorBorder);
      bottom:0;
      content:"";
      left:50%;
      position:absolute;
      top:0;
      transform:rotate(45deg);
    }

.variant-input-wrap input[type=radio]:focus+label{
    border-color:var(--colorTextBodyAlpha005);
    box-shadow:0 0 0 1px var(--colorTextBody);
  }

.variant-input-wrap input[type=radio]:checked+label{
    box-shadow:0 0 0 2px var(--colorTextBody);
  }

.variant-input{
  display:inline-block;
}

select .variant-input{
    display:block;
}

.variant-wrapper+.variant-wrapper{
  margin-top:25px;
}

.no-js .variant-wrapper{
  display:none;
}

.variant-wrapper--dropdown{
  display:inline-block;
  margin-bottom:0;
  margin-right:15px;
  max-width:100%;
}

.variant__label[for]{
  cursor:default;
  display:block;
  margin-bottom:10px;
}

.variant__label-info{
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}

.grid-product{
  margin-bottom:15px;
}

@media only screen and (min-width:769px){

.grid-product{
    margin-bottom:30px;
}
  }

@media only screen and (max-width:768px){

.grid-overflow-wrapper .grid-product{
      margin-bottom:0;
}
  }

.grid-product__content{
  position:relative;
  text-align:left;
}

html[dir=rtl] .grid-product__content{
    text-align:right;
}

.grid__item-image-wrapper{
  position:relative;
}

.grid-product__title--heading{
  font-family:var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight:var(--typeHeaderWeight);
  letter-spacing:0;
  line-height:var(--typeHeaderLineHeight);
}

[data-type_header_capitalize=true] .grid-product__title--heading{
    text-transform:uppercase;
}

.grid-product__title--heading{
  font-size:calc(var(--typeBaseSize) + 2px);
  line-height:1;
}

[data-type_product_capitalize=true] .grid-product__title{
    font-size:calc(var(--typeBaseSize) - 2px);
    letter-spacing:0em;
    text-transform:uppercase;
  }

@media only screen and (max-width:768px){

[data-type_product_capitalize=true] .grid-product__title{
      font-size:calc(var(--typeBaseSize) - 3px);
  }
    }

.grid-product__title{
  -webkit-hyphens:auto;
          hyphens:auto;
  word-break:break-word;
}

.grid-product__link{
  display:block;
}

.grid-product__link:after{
    bottom:0;
    content:"";
    left:0;
    position:absolute;
    right:0;
    top:0;
    z-index:1;
  }

.grid-product__link--inline{
  display:flex;
}

.grid-product__link--inline .grid-product__image-mask{
    flex:0 0 auto;
    margin-right:10px;
  }

.grid-product__link--inline .grid__image-ratio{
    width:80px;
  }

.grid-product__link--inline .grid-product__meta{
    text-align:left;
  }

.grid-product__image-mask{
  overflow:hidden;
  position:relative;
}

.grid-product__image{
  display:block;
  height:100%;
  margin:0 auto;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}

.grid-product__secondary-image{
  background-color:var(--colorBody);
  bottom:-1px;
  left:-1px;
  opacity:0;
  position:absolute;
  right:-1px;
  top:-1px;
}

.grid-product__secondary-image img{
    height:100%;
    -o-object-fit:cover;
       object-fit:cover;
    width:100%;
  }

.grid-product__content:hover .grid-product__secondary-image{
    animation:fade-in 0.2s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
}

@media only screen and (max-width:768px){

.supports-touch .grid-product__secondary-image{
      display:none;
}
  }

.grid-product__color-image{
  background-color:var(--colorBody);
  background-position:50%;
  background-repeat:no-repeat;
  background-size:cover;
  bottom:0;
  left:0;
  opacity:0;
  position:absolute;
  right:0;
  top:0;
  transition:opacity 0.4s ease;
}

.grid-product__color-image.is-active{
    animation:fade-in 0.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  }

[data-center-text=true] .grid-product__meta{
    text-align:center;
}

.grid-product__meta{
  line-height:var(--typeBaselineHeightMinus01);
  padding:10px 0 6px 0;
  position:relative;
}

@media only screen and (max-width:768px){

.small--grid--flush .grid-product__meta{
      padding-left:10px;
      padding-right:10px;
}
  }

.grid-product__vendor{
  font-size:0.8em;
  letter-spacing:0em;
  margin-top:5px;
  opacity:0.65;
  text-transform:uppercase;
}

.grid-product__price{
  color:var(--colorPrice);
  font-size:calc(var(--typeBaseSize)*0.85);
  margin-top:5px;
}

.grid-product__price--original{
  margin-right:5px;
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
}

.grid-product__price--savings{
  color:var(--colorTextSavings);
  margin-left:5px;
  white-space:nowrap;
}

.grid-product__tag{
  background-color:var(--colorBtnPrimary);
  color:var(--colorBtnPrimaryText);
  font-size:calc(var(--typeBaseSize)*0.65);
  line-height:1;
  padding:6px 5px 6px 7px;
  position:absolute;
  right:0;
  top:0;
  transition:opacity 0.4s ease;
  z-index:2;
}

.grid-product__tag.grid-product__tag--sold-out{
    background-color:var(--colorBody);
    color:var(--colorTextBody);
  }

@media only screen and (min-width:769px){

.grid-product__tag{
    font-size:calc(var(--typeBaseSize)*0.85);
    padding:7px 7px 7px 9px;
}
  }

.grid-product__tag--sale{
  background-color:var(--colorSaleTag);
  color:var(--colorSaleTagText);
}

.quick-product__btn{
  background-color:var(--colorBtnPrimary);
  bottom:10px;
  color:var(--colorBtnPrimaryText);
  cursor:pointer;
  font-size:calc(var(--typeBaseSize)*0.85);
  left:10px;
  opacity:0;
  overflow:hidden;
  padding:8px 5px;
  position:absolute;
  right:10px;
  text-align:center;
  transform:translateY(5px);
  transition:opacity 0.25s ease,transform 0.25s ease-out,background 0.4s ease;
  width:calc(100% - 20px);
  z-index:2;
}

.no-js .quick-product__btn{
    display:none;
}

.grid-product__content:hover .quick-product__btn{
    opacity:1;
    transform:translateY(0);
    transition:opacity 0.25s ease,transform 0.25s ease-out;
}

.supports-touch .quick-product__btn{
    display:none;
}

.grid-product:focus-within .quick-product__btn{
    opacity:1;
    transform:translateY(0);
    transition:opacity 0.25s ease,transform 0.25s ease-out;
}

.quick-product__btn.btn--not-ready{
    opacity:0 !important;
  }

@media only screen and (max-width:768px){
  .grid-overflow-wrapper{
    -webkit-overflow-scrolling:touch;
    overflow:hidden;
    overflow-x:scroll;
  }

    .grid-overflow-wrapper .grid{
      display:flex;
      white-space:nowrap;
    }

    .grid-overflow-wrapper .grid__item{
      display:inline-block;
      flex:0 0 39vw;
      float:none;
      white-space:normal;
      width:39vw;
    }

      .grid-overflow-wrapper .grid__item:first-child{
        margin-left:17px;
      }

      .grid-overflow-wrapper .grid__item:last-child:after{
        content:"";
        display:inline-block;
        margin-right:17px;
        width:100%;
      }

    .grid-overflow-wrapper .grid__item--view-all{
      align-self:center;
    }

    .grid-overflow-wrapper .grid-product__price,.grid-overflow-wrapper .grid__item{
      font-size:0.75rem;
    }

  [data-aos=overflow__animation]{
    transform:translateX(100vw);
    transition:all 0.8s cubic-bezier(.25, .46, .45, .94);
  }

    .aos-animate[data-aos=overflow__animation]{
      transform:translateX(0);
    }

  [data-disable-animations=true] [data-aos=overflow__animation]{
      transform:none;
      transition:none;
  }
}

.grid-product__see-all{
  border:1px solid;
  border-color:var(--colorBorder);
  display:inline-block;
  margin-top:-60px;
  padding:15px;
  text-align:center;
}

[data-center-text=true] .grid-product__colors{
    text-align:center;
}

.grid-product__colors{
  display:flex;
  flex-wrap:wrap;
  line-height:15px;
  margin-top:3px;
}

@media only screen and (min-width:769px){

.grid-product__colors{
    line-height:19px;
}
  }

[data-center-text=true] .grid-product__colors{
    align-items:center;
    justify-content:center;
}

.grid-product__colors+.grid-product__colors{
    margin-top:4px;
  }

.sales-points{
  list-style:none;
  margin:25px 0;
  padding:0;
}

.quick-add-modal .sales-points{
    display:none;
}

.sales-point{
  display:block;
  margin-bottom:10px;
}

.sales-point:last-child{
    margin-bottom:0;
  }

.sales-point .icon{
    height:25px;
    margin-right:10px;
    position:relative;
    width:25px;
  }

[dir=rtl] .sales-point .icon{
      margin-left:10px;
      margin-right:0;
  }

@media only screen and (max-width:768px){
  .sales-point .icon-and-text{
    justify-content:center;
  }
}

@keyframes inventory-pulse{
  0%{
    opacity:0.5;
  }
  to{
    opacity:0;
    transform:scale(2.5);
  }
}

.icon--inventory:after,.icon--inventory:before{
    background:#54c63a;
    border-radius:9px;
    content:"";
    height:9px;
    left:0;
    margin:8px;
    position:absolute;
    top:0;
    width:9px;
  }

.icon--inventory:before{
    animation:inventory-pulse 2s linear infinite;
  }

.inventory--low .icon--inventory:after,.inventory--low .icon--inventory:before{
      background:#f4af29;
    }

.color-swatch{
  background-position:50%;
  background-repeat:no-repeat;
  background-size:cover;
  box-shadow:0 0 0 1px var(--colorBorder);
  display:block;
  height:40px;
  margin:0 4px 4px;
  overflow:hidden;
  position:relative;
  text-indent:-9999px;
  transition:box-shadow 0.2s ease;
  width:40px;
}

[data-swatch_style=round] .color-swatch{
    border-radius:100%;
}

.color-swatch:before{
    bottom:0;
    content:"";
    left:0;
    position:absolute;
    right:0;
    top:0;
    z-index:2;
  }

.color-swatch:before{
    border:3px solid;
    border-color:var(--colorBody);
  }

[data-swatch_style=round] .color-swatch:before{
      border-radius:100%;
      border-width:4px;
      bottom:-1px;
      left:-1px;
      right:-1px;
      top:-1px;
  }

.tag:focus-within .color-swatch,.tag:not(.tag--active) label:hover .color-swatch:hover,a.color-swatch:hover{
  box-shadow:0 0 0 1px var(--colorTextBody);
}

.tag--active .color-swatch{
  box-shadow:0 0 0 2px var(--colorTextBody);
}

.color-swatch--small{
  height:15px;
  width:15px;
}

@media only screen and (min-width:769px){

.color-swatch--small{
    height:19px;
    width:19px;
}
  }

.color-swatch--small:before{
    border:2px solid;
    border-color:var(--colorBody);
  }

[data-swatch_style=round] .color-swatch--small:before{
      border-width:3px;
  }

.tag--swatch{
  display:inline-block;
}

.tag--swatch>label{
    margin-bottom:0;
  }

.tag--show-label{
  width:100%;
}

.tag--show-label label{
    align-items:center;
    display:flex;
  }

.tag--show-label .tag__text{
    display:block !important;
  }

.tag--show-label .tag__text{
    margin-left:0.5rem;
  }

.color-swatch--filter{
  height:35px;
  width:35px;
}

.tag--active .color-swatch--filter:hover:after{
  border-left:1px solid;
  border-color:var(--colorBorder);
  bottom:0;
  content:"";
  left:50%;
  position:absolute;
  top:0;
  transform:rotate(45deg);
}

.collection-item{
  display:block;
  margin-bottom:17px;
  overflow:hidden;
  position:relative;
}

@media only screen and (min-width:769px){

.collection-item{
    margin-bottom:22px;
}
  }

.grid--no-gutters .collection-item{
    margin-bottom:0;
}

.collection-item:hover .collection-image{
    transform:scale(1.03);
    transition:all 0.8s ease;
  }

[data-disable-animations=true] .collection-item:hover .collection-image{
      transform:none;
      transition:none;
  }

.collection-item:not(.collection-item--below):after{
    background-color:var(--colorGridOverlay);
    bottom:0;
    content:"";
    left:0;
    opacity:var(--colorGridOverlayOpacity);
    position:absolute;
    right:0;
    top:0;
    transition:opacity 0.8s ease;
    z-index:auto;
  }

.collection-item:not(.collection-item--below):hover:after{
    opacity:calc(var(--colorGridOverlayOpacity) + 0.15);
  }

.collection-image{
  position:relative;
  transition:transform 0.3s ease;
}

.collection-image img{
    height:100%;
    left:0;
    -o-object-fit:cover;
       object-fit:cover;
    position:absolute;
    top:0;
    width:100%;
  }

.collection-item--below img{
  -o-object-fit:contain;
     object-fit:contain;
}

.collection-image--placeholder{
  opacity:1;
}

.collection-image--placeholder svg{
    bottom:0;
    left:0;
    position:absolute;
    right:0;
    top:0;
  }

.collection-image--square{
  padding-bottom:100%;
}

.collection-image--landscape{
  padding-top:75%;
}

.collection-image--portrait{
  padding-top:150%;
}

.collection-item__title{
  display:block;
  font-size:calc(var(--typeCollectionTitle)*0.8);
  line-height:1em;
  z-index:2;
}

@media only screen and (min-width:769px){

.collection-item__title{
    font-size:var(--typeCollectionTitle);
}

.medium-up--one-fifth .collection-item__title{
      font-size:16px;
}
  }

[data-type_product_capitalize=true] .collection-item__title span{
      font-size:0.8em;
      letter-spacing:0em;
      text-transform:uppercase;
    }

.collection-item--below .collection-item__title{
    margin-top:5px;
}

.collection-item__title--heading{
  font-family:var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight:var(--typeHeaderWeight);
  letter-spacing:0;
  line-height:var(--typeHeaderLineHeight);
}

[data-type_header_capitalize=true] .collection-item__title--heading{
    text-transform:uppercase;
}

.collection-item__title--overlaid,.collection-item__title--overlaid-box{
  display:block;
  left:10px;
  position:absolute;
  right:10px;
}

.collection-item__title--overlaid{
  color:#fff;
  text-shadow:0 0 50px #000;
}

.collection-item__title--overlaid-box>span{
    background-color:var(--colorBody);
    -webkit-box-decoration-break:clone;
            box-decoration-break:clone;
    color:var(--colorTextBody);
    display:inline-block;
    padding:8px 15px;
  }

.collection-item__title--bottom-center,.collection-item__title--center,.collection-item__title--top-center{
  text-align:center;
}

.collection-item__title--bottom-right,.collection-item__title--top-right
.collection-item__title--right{
  text-align:right;
}

.collection-item__title--center[class*=collection-item__title--overlaid],.collection-item__title--left[class*=collection-item__title--overlaid],.collection-item__title--right[class*=collection-item__title--overlaid]{
    top:50%;
    transform:translateY(-50%);
  }

.collection-item__title--top-center[class*=collection-item__title--overlaid],.collection-item__title--top-left[class*=collection-item__title--overlaid],.collection-item__title--top-right[class*=collection-item__title--overlaid]{
    top:10px;
  }

@media only screen and (min-width:769px){

.collection-item__title--top-center[class*=collection-item__title--overlaid],.collection-item__title--top-left[class*=collection-item__title--overlaid],.collection-item__title--top-right[class*=collection-item__title--overlaid]{
      top:18px;
  }
    }

.collection-item__title--bottom-center[class*=collection-item__title--overlaid],.collection-item__title--bottom-left[class*=collection-item__title--overlaid],.collection-item__title--bottom-right[class*=collection-item__title--overlaid]{
    bottom:10px;
  }

@media only screen and (min-width:769px){

.collection-item__title--bottom-center[class*=collection-item__title--overlaid],.collection-item__title--bottom-left[class*=collection-item__title--overlaid],.collection-item__title--bottom-right[class*=collection-item__title--overlaid]{
      bottom:18px;
  }
    }

.custom-content{
  align-items:stretch;
  display:flex;
  flex-wrap:wrap;
  margin-bottom:-22px;
  margin-left:-22px;
  width:auto;
}

@media only screen and (max-width:768px){

.custom-content{
    margin-bottom:-17px;
    margin-left:-17px;
}
  }

.custom__item{
  flex:0 0 auto;
  margin-bottom:22px;
  max-width:100%;
  padding-left:22px;
}

@media only screen and (max-width:768px){

.custom__item{
    flex:0 0 auto;
    margin-bottom:17px;
    padding-left:17px;
}

    .custom__item.small--one-half{
      flex:1 0 50%;
      margin-left:auto;
      margin-right:auto;
      max-width:400px;
    }
  }

.custom__item img{
    display:block;
  }

.custom__item-inner{
  display:inline-block;
  max-width:100%;
  position:relative;
  text-align:left;
  width:100%;
}

.custom__item-inner--html,.custom__item-inner--video{
  display:block;
}

.custom__item-inner--image{
  width:100%;
}

.custom__item-inner--html img{
  display:block;
  margin:0 auto;
}

.custom__item-inner--placeholder-image{
  width:100%;
}

.align--top-middle{
  text-align:center;
}

.align--top-right{
  text-align:right;
}

.align--middle-left{
  align-self:center;
}

.align--center{
  align-self:center;
  text-align:center;
}

.align--middle-right{
  align-self:center;
  text-align:right;
}

.align--bottom-left{
  align-self:flex-end;
}

.align--bottom-middle{
  align-self:flex-end;
  text-align:center;
}

.align--bottom-right{
  align-self:flex-end;
  text-align:right;
}

.article__grid-image{
  display:block;
  margin-bottom:17px;
  text-align:center;
}

@media only screen and (min-width:769px){

.article__grid-image{
    margin-bottom:20px;
}
  }

.article__grid-image img{
    display:block;
  }

.article__title{
  font-size:calc(var(--typeBaseSize) + 2px);
}

.article__date{
  font-size:max(calc(var(--typeBaseSize)*0.7), 12px);
  margin-bottom:3px;
}

.section-header .article__date{
    margin-bottom:15px;
}

.article__author{
  font-size:max(calc(var(--typeBaseSize)*0.7), 12px);
  margin-top:2px;
}

.article__grid-meta{
  margin-bottom:30px;
}

@media only screen and (min-width:769px){

[data-center-text=true] .article__grid-meta{
    text-align:center;
}
  }

.article__excerpt{
  margin-top:10px;
}

.logo-bar{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:-30px;
  text-align:center;
}

.logo-bar__item{
  flex:0 1 110px;
  margin:0 15px 20px;
  vertical-align:middle;
}

@media only screen and (min-width:769px){

.logo-bar__item{
    flex:0 1 160px;
    margin:0 20px 30px;
}
  }

.logo-bar__image{
  display:block;
  height:100%;
  margin:0 auto;
  -o-object-fit:cover;
     object-fit:cover;
  width:100%;
}

.logo-bar__link{
  display:block;
}

[data-aos=logo__animation] .logo-bar__item{
  opacity:0;
}

[data-aos=logo__animation].aos-animate .logo-bar__item{
  animation:fade-in 0.5s ease 0s forwards;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(2){
  animation-delay:0.2s;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(3){
  animation-delay:0.4s;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(4){
  animation-delay:0.6s;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(5){
  animation-delay:0.8s;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(6){
  animation-delay:1.0s;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(7){
  animation-delay:1.2s
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(8){
  animation-delay:1.4s;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(9){
  animation-delay:1.6s;
}

[data-aos=logo__animation].aos-animate .logo-bar__item:nth-child(10){
  animation-delay:1.8s;
}

.background-media-text{
  background:var(--colorLargeImageBg);
  background-size:cover;
  overflow:hidden;
  position:absolute;
  width:100%;
}

.background-media-text__video{
  background-position:50% 50%;
  background-repeat:no-repeat;
  background-size:cover;
  bottom:0;
  left:0;
  position:absolute;
  top:0;
  width:100%;
  z-index:0;
}

@media only screen and (max-width:768px){

.background-media-text__video{
    left:-150%;
    width:400%;
}

    html[dir=rtl] .background-media-text__video{
      left:auto;
      right:-150%;
    }
  }

.background-media-text__video iframe,.background-media-text__video video{
    height:100%;
    left:0;
    pointer-events:none;
    position:absolute;
    top:0;
    width:100%;
  }

@media only screen and (min-width:769px){

.background-media-text__video iframe,.background-media-text__video video{
      height:120%;
      height:150%;
      left:-150%;
      max-width:none;
      width:400%;
  }
    }

@media screen and (min-width:1140px){

.background-media-text__video iframe,.background-media-text__video video{
      height:300%;
      left:auto;
      top:-100%;
      width:100%;
  }
    }

.video-interactable .background-media-text__video iframe,.video-interactable .background-media-text__video video{
    pointer-events:auto;
  }

.background-media-text__inner{
  height:100%;
  position:absolute;
  width:100%;
  z-index:2;
}

.background-media-text__aligner{
  margin:60px;
}

.background-media-text__text{
  background:var(--colorBody);
  font-size:1.1em;
  padding:30px;
  text-align:left;
  width:380px;
}

.background-media-text--left .background-media-text__text{
    text-align:left;
}

.background-media-text--right .background-media-text__text{
    text-align:right;
}

@media only screen and (max-width:768px){

.background-media-text__text{
    text-align:center;
}
  }

.background-media-text__text--framed{
  border:7px solid;
  border-color:var(--colorBody);
  box-shadow:inset 0 0 0 2px var(--colorTextBody);
}

@media only screen and (min-width:769px){

.background-media-text__text--framed{
    border-width:10px;
}
  }

.background-media-text__text .btn{
  margin-top:15px;
}

@media only screen and (min-width:769px){
  .background-media-text--left .animation-cropper{
    float:left;
  }

  .background-media-text--right .animation-cropper{
    float:right;
  }
}

.background-media-text__container{
  bottom:0;
  left:0;
  position:absolute;
  right:0;
  top:0;
}

@media only screen and (max-width:768px){
  .background-media-text{
    position:relative;
  }
  .background-media-text__inner{
    position:relative;
  }
  .background-media-text__container,.background-media-text__video{
    height:240px;
    position:relative;
  }
  .promo-video .background-media-text__container,.promo-video .background-media-text__video{
      height:550px;
  }
  .background-media-text__aligner{
    margin:-6px 6px 6px;
  }
  .background-media-text__text{
    padding:22.5px;
    width:auto;
  }
    .background-media-text.loading:after,.background-media-text.loading:before{
      top:117px;
    }
}

@media only screen and (min-width:769px){
  .background-media-text--450,.background-media-text--450 .background-media-text__video,.background-media-text__spacer.background-media-text--450{
    min-height:450px;
  }
  .background-media-text--550,.background-media-text--550 .background-media-text__video,.background-media-text__spacer.background-media-text--550{
    min-height:550px;
  }
  .background-media-text--650,.background-media-text--650 .background-media-text__video,.background-media-text__spacer.background-media-text--650{
    min-height:650px;
  }
  .background-media-text--750,.background-media-text--750 .background-media-text__video,.background-media-text__spacer.background-media-text--750{
    min-height:750px;
  }
}

[data-aos=background-media-text__animation] .background-media-text__image,[data-aos=background-media-text__animation] .background-media-text__image svg,[data-aos=background-media-text__animation] .background-media-text__video{
  animation:zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  transition:none;
}

[data-disable-animations=true] [data-aos=background-media-text__animation] .background-media-text__image,[data-disable-animations=true] [data-aos=background-media-text__animation] .background-media-text__image svg,[data-disable-animations=true] [data-aos=background-media-text__animation] .background-media-text__video{
    animation:none;
    opacity:1;
}

[data-aos=background-media-text__animation].aos-animate .background-media-text__image,[data-aos=background-media-text__animation].aos-animate .background-media-text__image svg,[data-aos=background-media-text__animation].loaded.aos-animate .background-media-text__video{
  animation:zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  transition:none;
}

[data-disable-animations=true] .aos-animate[data-aos=background-media-text__animation] .background-media-text__image,[data-disable-animations=true] .aos-animate[data-aos=background-media-text__animation] .background-media-text__image svg,[data-disable-animations=true] .loaded.aos-animate[data-aos=background-media-text__animation] .background-media-text__video{
    animation:none;
}

@media only screen and (min-width:769px){
  [data-aos=background-media-text__animation] .background-media-text__inner .animation-contents{
    opacity:0;
  }
  .no-js [data-aos=background-media-text__animation] .background-media-text__inner .animation-contents{
      animation:none;
      opacity:1;
  }

  [data-aos=background-media-text__animation].loaded.aos-animate .background-media-text__inner .animation-contents{
    animation:rise-up 1s cubic-bezier(0.26, 0.54, 0.32, 1) 0.5s forwards;
  }

  [data-disable-animations=true] .loaded.aos-animate[data-aos=background-media-text__animation] .background-media-text__inner .animation-contents{
      animation:none;
      opacity:1;
  }
}

.quote-icon{
  display:block;
  margin:0 auto 20px;
}

.testimonial-stars{
  display:block;
  font-size:16px;
  letter-spacing:0.2em;
  margin-bottom:10px;
}

@media only screen and (min-width:769px){

.testimonial-stars{
    font-size:18px;
    margin-bottom:15px;
}
  }

.testimonials-slide{
  display:none;
  opacity:0;
  padding:40px 0 55px;
  width:33%;
}

.testimonials-slide:first-child{
    display:block;
  }

.flickity-slider .testimonials-slide{
    display:block;
    opacity:1;
}

.testimonials-slide .testimonials-slider__text{
    transform:scale(0.95);
    transition:transform 0.5s ease,box-shadow 0.5s ease;
  }

.testimonials-slide.is-selected .testimonials-slider__text{
    box-shadow:0 10px 25px rgba(0,0,0,.1);
    position:relative;
    transform:scale(1.1);
    z-index:10;
  }

@media only screen and (max-width:768px){
    .testimonials-slide{
      width:100%;
    }

    .testimonials-slide .testimonials-slider__text{
      transform:scale(0.86);
    }

    .testimonials-slide.is-selected .testimonials-slider__text{
      transform:scale(1);
    }
  }

.testimonials-slider__text{
  background:var(--colorBody);
  color:var(--colorTextBody);
  margin:0 30px;
  margin-bottom:15px;
  padding:30px 15px;
}

@media only screen and (min-width:769px){

.testimonials-slider__text{
    margin:0;
    margin-bottom:0;
    padding:30px;
}
  }

.testimonials-slider__text cite{
    font-style:normal;
    font-weight:700;
  }

@media only screen and (min-width:769px){

.testimonials-slider__text cite{
      font-size:calc(var(--typeBaseSize) + 1px);
  }
    }

.testimonials-slider__text p{
    margin-bottom:7.5px;
  }

.testimonials-slider__text p+cite{
      margin-top:0;
    }

.testimonials__info{
  font-size:calc(var(--typeBaseSize) - 1px);
}

.testimonial-image{
  background-color:var(--colorBody);
  max-width:142px;
}

.text-center .testimonial-image{
    margin-left:auto;
    margin-right:auto;
}

.testimonial-image .image-wrap{
    background:none;
    height:100%;
    width:100%;
  }

.testimonial-image--round{
  border-radius:65px;
  height:65px;
  max-width:none;
  width:65px;
}

.testimonial-image--round img{
    border-radius:65px;
    height:100%;
    overflow:hidden;
  }

.testimonials-section .flickity-page-dots{
  bottom:0;
}

.announcement-bar{
  background-color:var(--colorAnnouncement);
  border-bottom-color:var(--colorBorder);
  color:var(--colorAnnouncementText);
  font-size:calc(var(--typeBaseSize)*0.75);
  padding:10px 0;
  position:relative;
  text-align:center;
}

@media only screen and (min-width:769px){

.announcement-bar{
    font-size:calc(var(--typeBaseSize)*0.85);
}
  }

.announcement-bar a,.announcement-bar a:visited{
    color:var(--colorAnnouncementText);
  }

.announcement-bar a:active,.announcement-bar a:hover,.announcement-bar a:visited:active,.announcement-bar a:visited:hover{
      color:var(--colorAnnouncementText);
    }

.announcement-slider__slide{
  overflow:hidden;
  padding:0 5px;
  position:relative;
  width:100%;
}

.announcement-link{
  color:var(--colorAnnouncementText);
  display:block;
}

.announcement-link:active,.announcement-link:hover{
    color:var(--colorAnnouncementText);
  }

.announcement-text{
  display:block;
  font-size:0.9em;
  font-weight:700;
  letter-spacing:0em;
  text-transform:uppercase;
}

.announcement-link-text{
  display:block;
}

.announcement-link .announcement-link-text{
    -webkit-text-decoration:underline;
    text-decoration:underline;
}

.announcement-link-text a{
    color:inherit;
  }

@media only screen and (min-width:769px){
    .announcement-slider[data-compact=true] .announcement-slider__slide{
      display:none;
    }

      .announcement-slider[data-compact=true] .announcement-slider__slide:first-child{
        display:block;
      }
    .announcement-slider[data-compact=true] .announcement-link-text,.announcement-slider[data-compact=true] .announcement-text{
      display:inline;
    }

    .announcement-slider[data-compact=true] .announcement-text+.announcement-link-text{
      padding-left:5px;
    }

    .announcement-slider.flickity-enabled[data-compact=true] .announcement-slider__slide{
      display:block;
    }
  .announcement-slider[data-compact=false]{
    display:flex;
  }

    .announcement-slider[data-compact=false] .announcement-slider__slide{
      flex:1 1 33%;
    }
}

@media only screen and (max-width:768px){
    .announcement-slider .announcement-slider__slide{
      display:none;
    }

      .announcement-slider .announcement-slider__slide:first-child{
        display:block;
      }

    .announcement-slider.flickity-enabled .announcement-slider__slide{
      display:block;
    }
}

.shopify-challenge__container{
  padding:30px 22px;
}

@media only screen and (min-width:769px){

.shopify-challenge__container{
    padding:120px 0;
}
  }

.newsletter{
  margin:0 auto;
  max-width:520px;
}

.newsletter-section .errors{
  margin-left:auto;
  margin-right:auto;
  max-width:520px;
}

.modal .newsletter .h1{
  margin-bottom:15px;
}

@media only screen and (min-width:769px){

.modal .newsletter .h1{
    margin-bottom:30px;
}
  }

.modal .newsletter .image-wrap{
  margin-bottom:7.5px;
}

@media only screen and (min-width:769px){

.modal .newsletter .image-wrap{
    margin-bottom:15px;
}
  }

.modal .newsletter .text-close{
  -webkit-text-decoration:underline;
  text-decoration:underline;
}

.newsletter__input-group{
  margin:0 auto 20px;
  max-width:400px;
}

.newsletter__input-group:last-child{
    margin-bottom:0;
  }

.newsletter__input::-webkit-input-placeholder{
    color:var(--colorTextBody);
    opacity:1;
  }

.newsletter__input:-moz-placeholder{
    color:var(--colorTextBody);
    opacity:1;
  }

.newsletter__input::-moz-placeholder{
    color:var(--colorTextBody);
    opacity:1;
  }

.newsletter__input:-ms-input-placeholder{
    color:var(--colorTextBody);
  }

.newsletter__input::-ms-input-placeholder{
    color:var(--colorTextBody);
    opacity:1;
  }

@media only screen and (max-width:768px){
  .form__submit--large{
    display:none;
  }

  .form__submit--small{
    display:block;
  }
}

@media only screen and (min-width:769px){
  .form__submit--large{
    display:block;
  }

  .form__submit--small{
    display:none;
  }
}

[data-has-image] .modal__close{
  background-color:var(--colorBody);
  border-radius:50%;
  padding:5px;
  right:10px;
  top:10px;
}

@media only screen and (max-width:768px){

[data-has-image] .modal__close{
    background-color:transparent;
    right:0;
    top:0;
}
  }

@media only screen and (max-width:768px){

[data-section-type=newsletter-popup]{
    bottom:20px;
    text-align:center;
}

    [data-section-type=newsletter-popup] .modal__inner{
      max-width:calc(100% - 40px);
    }

    .modal--square[data-section-type=newsletter-popup] .modal__close{
      padding:5px;
    }
  }

[data-section-type=newsletter-popup] .h2{
    margin-bottom:0;
  }

@media only screen and (min-width:769px){

[data-section-type=newsletter-popup] .h2{
      margin-bottom:0;
  }
    }

[data-section-type=newsletter-popup] .rte{
    margin-bottom:0;
    margin-top:20px;
  }

@media only screen and (min-width:769px){

[data-section-type=newsletter-popup] .rte{
      margin-bottom:0;
      margin-top:20px;
  }
    }

[data-section-type=newsletter-popup] .popup-cta{
    margin-bottom:0;
  }

[data-section-type=newsletter-popup] .note--success{
    margin-top:15px;
    text-align:center;
  }

[data-section-type=newsletter-popup] .newsletter__input-group{
    margin-bottom:0;
    margin-top:30px;
  }

@media only screen and (max-width:768px){

[data-section-type=newsletter-popup] .newsletter__input-group{
      margin-bottom:0;
      margin-top:20px;
  }
    }

[data-section-type=newsletter-popup] .newsletter-button{
    margin-top:30px;
  }

[data-section-type=newsletter-popup] .social-icons a{
    display:inline-block;
    margin-top:30px;
    padding:5px;

  }

.modal__centered-content.newsletter--has-image{
  padding:0;
}

@media only screen and (max-width:768px){

.modal__centered-content.newsletter--has-image{
    padding:0;
}
  }

.modal__centered-content.newsletter--has-image .newsletter-popup{
    display:flex;
    max-width:800px;
    min-width:650px;
  }

@media only screen and (max-width:768px){

.modal__centered-content.newsletter--has-image .newsletter-popup{
      max-width:none;
      min-width:0;
  }
    }

.modal__centered-content.newsletter--has-image .newsletter-popup.newsletter-popup--image-reversed{
      flex-direction:row-reverse;
    }

.modal__centered-content.newsletter--has-image .form__submit--large{
    display:none;
  }

.modal__centered-content.newsletter--has-image .form__submit--small{
    display:block;
  }

.modal__centered-content.newsletter--has-image .newsletter-popup__image-wrapper{
    position:relative;
    width:50%;
  }

@media only screen and (max-width:768px){

.modal__centered-content.newsletter--has-image .newsletter-popup__image-wrapper{
      display:none;
  }
    }

.modal__centered-content.newsletter--has-image .newsletter-popup__image{
    height:100%;
    -o-object-fit:cover;
       object-fit:cover;
    position:absolute;
    width:100%;
  }

.modal__centered-content.newsletter--has-image .newsletter-popup__content{
    padding:40px;
    width:50%;
  }

@media only screen and (max-width:768px){

.modal__centered-content.newsletter--has-image .newsletter-popup__content{
      padding:0 0 20px;
      width:100%;
  }
    }

newsletter-reminder{
  background-color:var(--colorBtnPrimary);
  color:var(--colorBtnPrimaryText);
}

newsletter-reminder.modal--square .modal__close{
    color:var(--colorBtnPrimaryText);
  }

newsletter-reminder.modal--square .modal__close:hover{
      color:var(--colorBtnPrimaryText);
      opacity:0.5;
    }

newsletter-reminder .newsletter-reminder__message{
    font-size:calc(var(--typeHeaderSize)*0.5);
  }

.form__submit--small{
  line-height:0;
}

.map-section{
  height:650px;
  overflow:hidden;
  position:relative;
  width:100%;
}

@media only screen and (min-width:769px){

.map-section{
    height:500px;
}
  }

.map-section .page-width{
    height:100%;
  }

.map-section--load-error{
  height:auto;
}

.map-onboarding{
  background-position:50% 50%;
  background-repeat:no-repeat;
  background-size:cover;
  bottom:0;
  left:0;
  position:absolute;
  top:0;
  width:100%;
  z-index:0;
}

.map-section__overlay-wrapper{
  height:100%;
  position:relative;
}

.map-section__overlay{
  background-color:var(--colorBody);
  display:inline-block;
  margin:30px;
  max-width:calc(100% - 60px);
  padding:30px;
  position:relative;
  width:100%;
  z-index:3;
}

@media only screen and (min-width:769px){

.map-section__overlay{
    left:30px;
    margin-top:0;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:30%;
}
  }

.map-section--load-error .map-section__overlay{
    position:static;
    transform:translateY(0);
}

.map-section__link{
  display:block;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
  z-index:2;
}

.map-section__container{
  position:absolute !important;
}

.map-section__container{
  height:150%;
  left:0;
  margin-bottom:-50%;
  top:0;
  width:100%;
}

@media only screen and (min-width:769px){

.map-section__container{
    height:100%;
    margin:0 -30% 0 0;
    width:130%;
}
  }

.display-map--false.bg-image--true .map-section__container{
    height:100%;
    width:100%;
}

.display-map--false.bg-image--true .map-section__container img{
      height:100%;
      -o-object-fit:cover;
         object-fit:cover;
      width:100%;
    }

[data-aos=map-section__animation] .map-section__container{
  animation:fade-out 0.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  opacity:0;
}

[data-aos=map-section__animation].aos-animate .map-section__container{
  animation:zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
}

.image-row:after{clear:both;content:"";display:table;}

.image-row__placeholder{
  float:left;
  width:33.33%;
}

.image-row--gutters .image-row__placeholder{
    margin:0 1% 2%;
    width:32%;
}

.image-row--gutters .image-row__placeholder:first-child{
      margin-left:0;
    }

.image-row--gutters .image-row__placeholder:last-child{
      margin-right:0;
    }

.image-row__image{
  float:left;
  min-height:1px;
  position:relative;
}

.image-row__image:after{
    content:"";
    display:block;
    height:0;
    width:100%;
  }

.image-row__image img{
    display:block;
    left:0;
    position:absolute;
    top:0;
  }

[data-zoom=true] .image-row__image .js-photoswipe__zoom{
    cursor:zoom-in;
  }

[data-zoom=true] .image-row__image a .js-photoswipe__zoom{
    cursor:pointer;
  }

.promo-grid--space-top{
  padding-top:40px;
}

@media only screen and (min-width:769px){

.promo-grid--space-top{
    padding-top:75px;
}
  }

.promo-grid--space-bottom{
  padding-bottom:40px;
}

@media only screen and (min-width:769px){

.promo-grid--space-bottom{
    padding-bottom:75px;
}
  }

.promo-grid__container{
  align-items:flex-start;
  background-repeat:no-repeat;
  display:flex;
  overflow:hidden;
  position:relative;
}

.promo-grid__container .btn{
    margin-right:10px;
  }

@media only screen and (max-width:768px){

.promo-grid__container .btn{
      margin-right:7px;
  }
    }

.promo-grid__container.horizontal-center{
    justify-content:center;
    text-align:center;
  }

.promo-grid__container.horizontal-center .btn{
      margin:2px 5px;
    }

.promo-grid__container.horizontal-right{
    justify-content:flex-end;
    text-align:right;
  }

@media only screen and (max-width:768px){
    .promo-grid__container--boxed .promo-grid__bg{
      height:60%;
    }

    .promo-grid__container--boxed .promo-grid__content{
      box-shadow:0 0 50px rgba(0,0,0,.1);
      margin-top:55%;
      width:100%;
    }
  }

.promo-grid__container--framed:not(.promo-grid__container--boxed):after{
  border:7px solid transparent;
  bottom:0;
  box-shadow:inset 0 0 0 2px var(--colorHeroText);
  content:"";
  left:0;
  position:absolute;
  right:0;
  top:0;
  z-index:auto;
  z-index:3;
}

@media only screen and (min-width:769px){

.promo-grid__container--framed:not(.promo-grid__container--boxed):after{
    border-width:10px;
}
  }

.type-banner .promo-grid__container--framed:not(.promo-grid__container--boxed):after,.type-product .promo-grid__container--framed:not(.promo-grid__container--boxed):after,.type-sale_collection .promo-grid__container--framed:not(.promo-grid__container--boxed):after{
    box-shadow:inset 0 0 0 2px var(--colorTextBody);
}

.video-interactable.promo-grid__container--framed:not(.promo-grid__container--boxed):after{
  pointer-events:none;
}

.promo-grid__container--tint:before{
  bottom:0;
  content:"";
  left:0;
  opacity:1;
  pointer-events:none;
  position:absolute;
  right:0;
  top:0;
  z-index:auto;
  z-index:2;
}

.promo-grid__slide-link{
  display:block;
  height:100%;
  position:absolute;
  width:100%;
  z-index:5;
}

.promo-grid__slide-link:hover~.promo-grid__content .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse){
      background:var(--colorBtnPrimaryLight);
      transition-delay:0.25s;
    }

[data-button_style=square] .promo-grid__slide-link:hover~.promo-grid__content .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after,[data-button_style^=round] .promo-grid__slide-link:hover~.promo-grid__content .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after{
          animation:shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
        }

.promo-grid__content{
  flex:0 1 auto;
  min-width:200px;
  padding:2em 2.5em;
  position:relative;
  z-index:4;
}

.promo-grid__container--framed:not(.promo-grid__container--boxed) .promo-grid__content{
    margin:1.5em;
}

.promo-grid__content p:last-child{
    margin-bottom:0;
  }

.vertical-top .promo-grid__content{
    align-self:flex-start;
}

.vertical-center .promo-grid__content{
    align-self:center;
}

.vertical-bottom .promo-grid__content{
    align-self:flex-end;
}

.video-interactable .promo-grid__content{
  pointer-events:none;
}

.promo-grid__content--boxed{
  background:var(--colorBody);
  color:var(--colorTextBody);
  margin:15px;
}

@media only screen and (max-width:768px){

.promo-grid__content--boxed{
    margin:10px;
}
  }

.promo-grid__content--framed.promo-grid__content--boxed{
  border:7px solid;
  border-color:var(--colorBody);
  box-shadow:inset 0 0 0 2px var(--colorTextBody);
}

@media only screen and (min-width:769px){

.promo-grid__content--framed.promo-grid__content--boxed{
    border-width:10px;
}
  }

.type-advanced .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale),.type-simple .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale){
    color:var(--colorHeroText);
  }

.type-advanced .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) a,.type-simple .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) a{
      border-bottom:2px solid;
      border-bottom-color:var(--colorHeroText);
      color:var(--colorHeroText);
    }

[data-button_style=square] .type-advanced .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) a:not(.btn--inverse),[data-button_style=square] .type-simple .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) a:not(.btn--inverse),[data-button_style^=round] .type-advanced .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) a:not(.btn--inverse),[data-button_style^=round] .type-simple .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) a:not(.btn--inverse){
          border-bottom:0;
        }

.type-advanced .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) .btn--inverse,.type-simple .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale) .btn--inverse{
      border-color:var(--colorHeroText);
    }

.type-advanced .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale):after,.type-simple .promo-grid__content:not(.promo-grid__content--boxed):not(.promo-grid__content--sale):after{
      background:radial-gradient(rgba(0, 0, 0, var(--colorImageOverlayTextShadow)) 0%, transparent 60%);
      bottom:0;
      content:"";
      left:0;
      margin:-100px -200px -100px -200px;
      position:absolute;
      right:0;
      top:0;
      z-index:auto;
      z-index:2;
    }

.type-advanced .rte--strong,.type-product .rte--strong,.type-sale_collection .rte--strong{
    font-family:var(--typeHeaderPrimary), var(--typeHeaderFallback);
    font-weight:var(--typeHeaderWeight);
    letter-spacing:0;
    line-height:var(--typeHeaderLineHeight);
  }

[data-type_header_capitalize=true] .type-advanced .rte--strong,[data-type_header_capitalize=true] .type-product .rte--strong,[data-type_header_capitalize=true] .type-sale_collection .rte--strong{
    text-transform:uppercase;
  }

.type-advanced .rte--strong,.type-product .rte--strong,.type-sale_collection .rte--strong{
    line-height:1.1;
  }

.type-advanced .rte--em,.type-product .rte--em,.type-sale_collection .rte--em{
    font-size:0.9375em;
    letter-spacing:0em;
    line-height:1.2;
    text-transform:uppercase;
  }

.type-advanced .rte--strong,.type-product .rte--strong{
    font-size:1.6em;
    line-height:1.1;
  }

@media only screen and (min-width:769px){
    .type-advanced .rte--strong,.type-product .rte--strong{
      font-size:2.125em;
    }
      .type-product.flex-grid__item--33 .rte--strong,.type-product.flex-grid__item--50 .rte--strong{
        font-size:1.6em;
      }
}

.promo-grid__bg{
  height:100%;
  left:0;
  position:absolute;
  text-align:left;
  top:0;
  width:100%;
}

.promo-grid__container:not(.promo-grid__container--boxed) .promo-grid__bg:before{
    background-color:var(--colorImageOverlay);
    bottom:0;
    content:"";
    left:0;
    opacity:var(--colorImageOverlayOpacity);
    position:absolute;
    right:0;
    top:0;
    z-index:3;
}

.promo-grid__bg .placeholder-svg{
    left:50%;
    max-width:none;
    padding:0;
    position:absolute;
    top:0;
    transform:translateX(-50%);
    width:auto;
  }

.video-interactable .promo-grid__bg:before{
  pointer-events:none;
}

.promo-grid__bg-image{
  z-index:1;
}

.aos-animate[data-aos=image-fade-in] .promo-grid__bg-image{
    animation:fade-in 1s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
    transition:none;
}

.promo-grid__text{
  position:relative;
  z-index:3;
}

.promo-grid__text .btn{
    margin-bottom:2px;
    margin-top:2px;
  }

.type-advanced .promo-grid__content{
    padding:2em;
  }

@media only screen and (max-width:768px){

.type-advanced .promo-grid__content{
      padding:1.5em;
  }
    }

.type-advanced .btn{
    margin-bottom:10px;
  }

@media only screen and (max-width:768px){

.type-advanced .btn{
      margin-bottom:7px;
  }
    }

.type-sale_collection{
  flex-grow:1;
  max-height:600px;
}

.type-sale_collection .promo-grid__container{
    align-items:center;
    background:var(--colorSmallImageBg);
  }

.type-sale_collection .promo-grid__content{
    flex:0 1 auto;
    min-width:0;
    padding:2em;
  }

@media only screen and (max-width:768px){

.type-sale_collection .promo-grid__content{
      font-size:0.9em;
      padding:1em;
  }
    }

@media only screen and (min-width:769px){
      .type-sale_collection .promo-grid__content:not(.promo-grid__content--small-text){
        font-size:1.5em;
      }
    }

.type-sale_collection .rte--block{
    margin-bottom:7.5px;
  }

.type-sale_collection .rte--block:last-child{
      margin-bottom:0;
    }

.type-sale_collection .rte--strong{
    display:block;
    font-size:3.375em;
    line-height:1;
    position:relative;
    white-space:nowrap;
  }

.type-sale_collection small{
    display:inline;
    font-size:0.25em;
    letter-spacing:0;
    margin-left:-2.9em;
  }

.type-sale-images{
  flex:1 1 50%;
}

.type-sale-images svg{
    display:block;
    float:left;
    width:50%;
  }

.type-sale-images__crop{
  overflow:hidden;
  width:100%;
}

.type-sale-images__image{
  float:left;
  width:50%;
}

.type-simple .promo-grid__content{
    padding:30px;
  }

@media only screen and (max-width:768px){

.type-simple .promo-grid__content{
      padding:15px;
  }
    }

.promo-grid__title:last-child{
  margin-bottom:0;
}

.type-image .promo-grid__container{
    background:none;
  }

.type-image .image-wrap,.type-image a,.type-image img{
    width:100%;
  }

.type-banner{
  flex:1 0 100%;
}

.type-banner .promo-grid__container{
    background:none;
  }

.type-banner .promo-grid__container--framed:not(.promo-grid__container--boxed){
    padding:1em;
  }

.type-banner p{
    display:inline-block;
    line-height:1.2;
    margin:5px 10px;
    vertical-align:middle;
  }

.type-banner__link{
  display:block;
  flex:1 1 100%;
}

.type-banner__content{
  align-items:center;
  display:flex;
  justify-content:center;
  padding:0 10px;
  width:100%;
}

.type-banner__text{
  flex:0 1 auto;
  padding:10px 20px;
  position:relative;
  z-index:3;
}

.type-banner__image{
  flex:0 0 45%;
}

@media only screen and (min-width:769px){

.type-banner__image{
    flex:0 0 200px;
}
  }

.type-product__wrapper{
  align-self:center;
  flex:1 1 100%;
  padding:2em 0;
  position:relative;
  z-index:4;
}

.type-product__wrapper.promo-grid__container--tint{
    padding:2em;
  }

.promo-grid__container--framed .type-product__wrapper{
    padding:2em;
}

@media only screen and (max-width:768px){

.type-product__content{
    margin-top:15px;
}
  }

.type-product__images{
  margin:10px 0 10px 10px;
  position:relative;
  width:100%;
}

.type-product__image{
  position:relative;
}

.type-product__image:first-child{
    max-width:75%;
    width:100%;
  }

.type-product__image:nth-child(2){
    bottom:40px;
    max-width:30%;
    position:absolute;
    right:0;
    width:100%;
  }

.type-product__labels{
  position:absolute;
  right:-10px;
  text-align:right;
  top:-10px;
  z-index:3;
}

@media only screen and (min-width:769px){
    .type-product__labels .flex-grid__item--33,.type-product__labels .flex-grid__item--50{
      font-size:0.9em;
    }
  }

.type-product__label{
  background-color:var(--colorBtnPrimary);
  clear:both;
  color:var(--colorBtnPrimaryText);
  float:right;
  padding:4px 12px;
}

.type-product__label--secondary{
  background-color:var(--colorBody);
  color:var(--colorTextBody);
}

.store-availability{
  display:flex;
  justify-content:space-around;
}

.store-availability .icon{
    height:12px;
    margin:6px 0 0;
    width:12px;
  }

.store-availability .icon-in-stock{
    fill:#56ad6a;
  }

.store-availability .icon-out-of-stock{
    fill:#d02e2e;
  }

.store-availability+.store-availability{
    margin-top:20px;
  }

.store-availability__info{
  flex:0 1 90%;
  margin-left:10px;
  text-align:left;
}

html[dir=rtl] .store-availability__info{
    margin-left:0;
    margin-right:10px;
    text-align:right;
}

.store-availability__info>div{
    margin-bottom:5px;
  }

.store-availability__info>div:last-child{
      margin-bottom:0;
    }

.store-availability__info a{
    -webkit-text-decoration:underline;
    text-decoration:underline;
  }

.store-availability__small{
  font-size:0.8em;
}

.store-availability__small a{
    display:block;
    margin-top:10px;
  }

.modal .store-availability__small--link{
    display:none;
}

.age-verification-popup{
  bottom:0;
  top:0;
}

.age-verification-popup.age-verification-popup--image-false{
    background-color:var(--colorBody);
  }

.age-verification-popup.age-verification-popup--image-false.modal:before{
      animation:none;
      background-color:var(--colorBody);
    }

.age-verification-popup.age-verification-popup--image-false .modal__inner{
      box-shadow:none;
    }

.age-verification-popup.modal--mobile-friendly.modal--square .modal__centered-content{
    background-color:var(--colorDrawers);
  }

@media only screen and (min-width:769px){
  .cart__page{
    align-items:flex-start;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
  }

  .cart__page-col:first-child{
    flex:1 1 60%;
    padding-right:100px;
  }

  .cart__page-col:last-child{
    flex:0 1 35%;
    padding:30px;
    position:sticky;
    top:10%;
  }

    .cart__page-col:last-child:after{
      background-color:var(--colorTextBody);
      bottom:0;
      content:"";
      left:0;
      opacity:0.03;
      position:absolute;
      right:0;
      top:0;
      z-index:-1;
    }
}

.cart__item{
  border-bottom:1px solid;
  border-bottom-color:var(--colorBorder);
  display:flex;
  margin-bottom:20px;
  padding-bottom:20px;
}

.cart__item:first-child{
    padding-top:10px;
  }

.cart__item:last-child{
    border-bottom:0;
    margin-bottom:0;
  }

.cart__image{
  flex:0 0 150px;
  margin-right:var(--grid-gutter);
  position:relative;
}

.cart__image a{
    display:block;
    height:100px;
    position:relative;
    width:100%;
  }

.cart__image img{
    display:block;
    height:100%;
    -o-object-fit:contain;
       object-fit:contain;
    position:absolute;
    width:100%;
  }

.drawer .cart__image{
    flex:0 0 100px;
}

.cart__item-details{
  display:flex;
  flex:1 1 auto;
  flex-wrap:wrap;
}

.cart__item-title{
  flex:1 1 100%;
}

.drawer .cart__item-title{
    font-size:calc(var(--typeBaseSize)*0.85);
}

.cart__item-sub{
  display:flex;
  flex:1 1 100%;
  justify-content:space-between;
  line-height:1;
}

.cart__item-sub>div:first-child{
    margin-right:10px;
  }

.cart__item-row{
  margin-bottom:20px;
}

.cart__remove a{
    display:inline-block;
    margin-top:10px;
  }

.drawer .cart__remove{
    display:none;
}

.cart__checkout{
  width:100%;
}

.cart__item-name{
  display:block;
  font-size:calc(var(--typeBaseSize) + 1px);
  margin-bottom:8px;
}

.cart__item--variants{
  margin-bottom:10px;
}

.cart__item--variants span{
    font-weight:700;
  }

.cart__price{
  display:block;
}

.cart__price--strikethrough{
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
}

.cart__discount{
  color:var(--colorTextSavings);
}

.cart__terms{
  align-items:center;
  display:flex;
  justify-content:center;
}

.cart__terms label{
    letter-spacing:0;
    margin-bottom:0;
    text-transform:none;
  }

.cart__checkout-wrapper{
  margin-top:20px;
}

.cart__checkout-wrapper .additional-checkout-buttons{
    margin-top:12px;
  }

.drawer .additional-checkout-buttons{
  margin:10px 0;
}

.drawer .additional-checkout-buttons [data-shopify-buttoncontainer]{
    justify-content:center;
  }

.drawer .additional-checkout-buttons [data-shopify-buttoncontainer]>*{
      height:auto !important;
    }

iframe.zoid-component-frame{
  z-index:1 !important;
}

.drawer__cart-empty{
  display:none;
}

.drawer.is-empty .drawer__inner{
    display:none;
  }

.drawer.is-empty .drawer__cart-empty{
    display:block;
  }

.cart__item--properties{
  font-size:calc(var(--typeBaseSize) - 2px);
  line-height:1.3;
  margin-bottom:10px;
}

.cart__item--properties span{
    font-weight:700;
  }

@media only screen and (min-width:769px){
  .product-single__sticky{
    position:sticky;
    top:20px;
  }
  .sticky-header .product-single__sticky{
      top:140px;
  }

  .modal--quick-shop .product-single__sticky{
    top:0;
  }
}

.page-content--product{
  padding-top:55px;
}

@media only screen and (max-width:768px){
  .page-content--product{
    padding-top:0;
  }

  .grid--product-images-right{
    display:flex;
    flex-wrap:wrap;
  }

    .grid--product-images-right .grid__item:first-child{
      order:2;
    }
}

.modal .page-content--product{
  max-width:100%;
  width:1500px;
}

.product-single__meta{
  padding-left:45px;
}

@media only screen and (max-width:768px){

.product-single__meta{
    margin-top:15px;
    padding-left:0;
    text-align:center;
}
  }

.grid--product-images-right .product-single__meta{
    padding-left:0;
    padding-right:45px;
}

@media only screen and (max-width:768px){

.grid--product-images-right .product-single__meta{
      padding-right:0;
}
    }

.product-single__meta .social-sharing{
    margin-top:30px;
  }

.product-single__meta .rte{
    text-align:left;
  }

html[dir=rtl] .product-single__meta .rte{
      text-align:right;
  }

.product-single__vendor{
  font-size:0.8em;
  letter-spacing:0em;
  margin-bottom:7.5px;
  text-transform:uppercase;
}

.product-single__title{
  word-wrap:break-word;
  margin-bottom:10px;
}

.product-single__sku{
  margin-bottom:5px;
}

.product-single__description-full{
  margin:30px 0;
}

.product-single__description-full+.collapsibles-wrapper{
    margin:0 0;
  }

@media only screen and (min-width:769px){

.product-single__description-full{
    margin:30px 95px;
}

    .product-single__description-full+.collapsibles-wrapper{
      margin:0 95px;
    }
  }

.product-single__variants{
  display:none;
}

.no-js .product-single__variants{
    display:block;
    margin-bottom:30px;
}

.product-image-main{
  position:relative;
}

[data-button_style=angled] .product-image-main .btn:not(.product__photo-zoom){
  display:inline-block;
  position:absolute;
  top:50%;
}

.product__video-wrapper{
  background-color:var(--colorSmallImageBg);
  height:auto;
  max-width:100%;
  overflow:hidden;
  padding-bottom:100%;
  position:relative;
}

.product__video-wrapper iframe{
    height:100%;
    transition:opacity 0.5s ease-in;
    width:100%;
  }

.product__video-wrapper.loaded[data-video-style=muted]:before{
    bottom:0;
    content:"";
    left:0;
    position:absolute;
    right:0;
    top:0;
    z-index:1;
  }

.product__video-wrapper.video-interactable:before{
    display:none;
  }

.product__video-wrapper.loaded:after{
    display:none;
  }

.product__video-wrapper.loading iframe{
    opacity:0.01;
  }

.product__video-wrapper.loaded iframe{
    opacity:1;
  }

.product__video{
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}

.product__video-overlay{
  bottom:40px;
  left:0;
  position:absolute;
  top:32px;
  width:40%;
  z-index:3;
}

.product__video-overlay:before{
    content:"";
    display:block;
    height:35%;
    left:100%;
    position:absolute;
    top:0;
    width:60%;
  }

.product__video-overlay+.product__video-overlay{
    left:auto;
    right:0;
  }

.product__video-overlay+.product__video-overlay:before{
      bottom:0;
      left:auto;
      right:100%;
      top:auto;
    }

.product-video-trigger{
  left:50%;
  position:absolute;
  top:50%;
  transform:translate(-50%, -50%);
}

.product__photos--beside{
  display:flex;
  width:100%;
}

.product__photos{
  direction:ltr;
}

.product__photos a{
    display:block;
    max-width:100%;
  }

.product__photos img{
    display:block;
    margin:0 auto;
    max-width:100%;
    width:100%;
  }

.product__main-photos{
  flex:1 1 auto;
  position:relative;
}

.product__main-photos .flickity-page-dots{
    display:none;
  }

@media only screen and (max-width:768px){

.product__main-photos{
    margin-bottom:30px;
    margin-left:-17px;
    margin-right:-17px;
}

    .product__main-photos .flickity-page-dots{
      display:block;
    }
  }

.product-main-slide:not(.is-selected) button,.product-main-slide:not(.is-selected) iframe,.product-main-slide:not(.is-selected) model-viewer,.product-main-slide:not(.is-selected) video{
    display:none;
  }

.product-main-slide{
  display:none;
  overflow:hidden;
  width:100%;
}

.product-main-slide:first-child{
    display:block;
  }

.flickity-slider .product-main-slide{
    display:block;
}

@media only screen and (max-width:768px){

.grid--product-images--partial .flickity-slider .product-main-slide{
        margin-right:4px;
        width:75%;
}
    }

.product__thumbs{
  position:relative;
}

.product__thumbs--below{
  margin-top:8.5px;
}

@media only screen and (min-width:769px){

.product__thumbs--below{
    margin-top:15px;
}
  }

.product__thumbs--beside{
  flex:0 0 60px;
  margin-left:8.5px;
  max-width:60px;
}

@media only screen and (min-width:769px){

.product__thumbs--beside{
    flex:0 0 80px;
    margin-left:15px;
    max-width:80px;
}

    .product__thumbs--beside.product__thumbs-placement--left{
      margin-left:0;
      margin-right:15px;
      order:-1;
    }
  }

.product__thumbs--scroller{
  -ms-overflow-style:-ms-autohiding-scrollbar;
  scroll-behavior:smooth;
  scrollbar-width:none;
}

.product__thumbs--scroller::-webkit-scrollbar{
    height:0;
    width:0;
  }

.product__thumbs--below .product__thumbs--scroller{
    overflow-x:scroll;
    white-space:nowrap;
}

.product__thumbs--beside .product__thumbs--scroller{
    bottom:0;
    left:0;
    overflow-y:scroll;
    position:absolute;
    right:0;
    top:0;
    width:100%;
}

.product__thumb-item{
  border:2px solid transparent;
}

.product__thumb-item a.is-active,.product__thumb-item a:focus{
    outline:none;
  }

.product__thumb-item a.is-active:before,.product__thumb-item a:focus:before{
      bottom:0;
      box-shadow:inset 0 0 0 2px var(--colorTextBody);
      content:"";
      display:block;
      left:0;
      position:absolute;
      right:0;
      top:0;
      z-index:1;
    }

.product__thumb-item a:active:before{
    content:none;
  }

.product__thumbs--beside .product__thumb-item{
    margin-bottom:8.5px;
}

@media only screen and (min-width:769px){

.product__thumbs--beside .product__thumb-item{
      margin-bottom:15px;
}
    }

.product__thumbs--beside .product__thumb-item:last-child{
      margin-bottom:0;
    }

.product__thumbs--below .product__thumb-item{
    display:inline-block;
    margin-right:8.5px;
    max-width:80px;
    vertical-align:middle;
}

@media only screen and (min-width:769px){

.product__thumbs--below .product__thumb-item{
      margin-right:15px;
}
    }

.product__thumbs--below .product__thumb-item:last-child{
      margin-right:0;
    }

.product__price{
  color:var(--colorPrice);
  font-size:calc(var(--typeBaseSize) + 2px);
  margin-right:5px;
}

.product__price.on-sale{
    padding-right:5px;
  }

.product__unit-price{
  font-size:0.8em;
  opacity:0.8;
}

.product__unit-price--spacing{
  margin-top:10px;
}

.product__price--compare{
  display:inline-block;
  padding-right:5px;
  -webkit-text-decoration:line-through;
  text-decoration:line-through;
}

.product__price-savings{
  color:var(--colorTextSavings);
  white-space:nowrap;
}

.product__quantity label{
    display:block;
    margin-bottom:10px;
  }

.product-form-holder--loaded{
  animation:fade-in 1s ease;
}

.add-to-cart[disabled]+.shopify-payment-button{
  display:none;
}

.product-slideshow.flickity-enabled .product-main-slide{
    display:none;
  }

.product-slideshow.flickity-enabled .flickity-viewport .product-main-slide{
    display:block;
  }

.product__photo-zoom{
  position:absolute !important;
}

.product__photo-zoom{
  bottom:0;
  cursor:zoom-in;
  right:0;
}

@media only screen and (max-width:768px){

.product__photo-zoom{
    padding:6px;
}

.product__main-photos .product__photo-zoom{
      margin-bottom:10px;
      margin-right:10px;
}

.product-slideshow .product__photo-zoom{
      opacity:0;
      transition:opacity 0.5s ease-out;
}

.product-slideshow .is-selected .product__photo-zoom{
      opacity:1;
}
  }

@media only screen and (min-width:769px){

.product__photo-zoom{
    border-radius:0;
    left:0;
    margin:0;
    opacity:0;
    top:0;
    width:100%;
}

    .product__photo-zoom span,.product__photo-zoom svg{
      display:none;
    }
  }

.product__thumb-arrow{
  background:var(--colorBody);
  border-radius:0;
  color:var(--colorTextBody);
  padding:0;
  position:absolute;
  transform:none;
  z-index:2;
}

.product__thumb-arrow .icon{
    display:inline-block;
    height:10px;
    width:6px;
  }

.product__thumbs[data-position=below] .product__thumb-arrow{
  height:100%;
  top:0;
  width:25px;
}

.product__thumbs[data-position=below] .product__thumb-arrow.product__thumb-arrow--prev{
    left:0;
    text-align:left;
  }

.product__thumbs[data-position=below] .product__thumb-arrow.product__thumb-arrow--next{
    right:0;
    text-align:right;
  }

.product__thumbs[data-position=beside] .product__thumb-arrow{
  width:100%;
}

.product__thumbs[data-position=beside] .product__thumb-arrow .icon{
    margin:0 auto;
    transform:rotate(90deg);
  }

.product__thumbs[data-position=beside] .product__thumb-arrow.product__thumb-arrow--prev{
    left:auto;
    padding-bottom:10px;
    top:0;
  }

.product__thumbs[data-position=beside] .product__thumb-arrow.product__thumb-arrow--next{
    bottom:0;
    padding-top:10px;
    right:auto;
    top:auto;
  }

.product__thumb{
  cursor:pointer;
  display:block;
  position:relative;
}

.product__thumb>.image-wrap img{
    height:auto;
    position:static;
  }

.product__thumb-icon{
  background-color:var(--colorTextBody);
  border-radius:100px;
  font-size:0;
  opacity:0;
  padding:6px;
  position:absolute;
  right:5px;
  top:5px;
  transition:opacity 0.5s ease;
  z-index:1;
}

.aos-animate .product__thumb-icon{
    opacity:1;
}

.product__thumb-icon .icon{
    fill:var(--colorBody);
    height:10px;
    width:10px;
  }

@media only screen and (min-width:769px){

.product__thumb-icon .icon{
      height:13px;
      width:13px;
  }
    }

.product__policies{
  font-size:0.85em;
}

.shopify-payment-terms{
  margin:12px 0;
}

.shopify-payment-terms:empty{
    display:none;
  }

.modal .shopify-payment-terms{
    display:none;
}

.template-blog .article{
  margin-bottom:45px;
}

@media only screen and (min-width:769px){

.template-blog .article{
    margin-bottom:90px;
}
  }

.template-blog .article:last-child{
  margin-bottom:0;
}

@media only screen and (min-width:769px){

.template-blog .article:last-child{
    margin-bottom:45px;
}
  }

.article__body{
  margin-bottom:15px;
}

@media only screen and (min-width:769px){

.article__body{
    margin-bottom:30px;
}
  }

.article__comment{
  margin-bottom:30px;
}

.article__comment:last-child{
    margin-bottom:0;
  }

.password-page__header__grid{
  align-items:center;
  display:flex;
  flex:1 1 auto;
  justify-content:space-between;
}

.password-page__logo h1{
    margin-bottom:0;
  }

.password-page__logo .logo{
    max-width:100%;
  }

.password-login{
  display:block;
  margin:0 auto;
  padding:7.5px 15px;
}

.password-form{
  margin-bottom:1em;
}

.password__lock .icon{
  height:24px;
  margin-right:4px;
  position:relative;
  top:-2px;
  width:24px;
}

.icon-shopify-logo{
  height:20px;
  width:60px;
}

@media only screen and (max-width:768px){

#LoginModal .modal__close{
    padding:20px;
}
  }

#LoginModal .modal__inner{
  background:var(--colorBody);
  color:var(--colorTextBody);
  padding:30px;
}

@media only screen and (max-width:768px){

#LoginModal .modal__inner{
    margin-bottom:40vh;
}
  }

.password-admin-link{
  margin:0;
}

.password-admin-link a{
    border-bottom:2px solid !important;
    border-bottom-color:var(--colorBorder) !important;
  }

.template-giftcard,.template-giftcard body{
  background:var(--colorBody);
}

.template-giftcard a,.template-giftcard body a{
    -webkit-text-decoration:none;
    text-decoration:none;
  }

.template-giftcard .page-width{
  max-width:588px;
}

.giftcard-header{
  font-size:1em;
  padding:60px 0;
  text-align:center;
}

.giftcard-header a{
    display:block;
    margin:0 auto;
  }

.template-giftcard .shop-url{
  display:none;
}

.giftcard__border{
  box-shadow:0 10px 30px rgba(0,0,0,.3);
  padding:1.5em;
}

.giftcard__content{
  background-color:var(--colorBody);
  color:var(--colorTextBody);
}

.giftcard__content:after{clear:both;content:"";display:table;}

.giftcard__header{
  padding:15px;
}

.giftcard__header:after{clear:both;content:"";display:table;}

.giftcard__title{
  float:left;
  margin-bottom:0;
}

.giftcard__tag{
  background-color:var(--colorTextBody);
  border:1px solid transparent;
  border-radius:4px;
  color:var(--colorBody);
  display:block;
  float:right;
  font-size:0.75em;
  letter-spacing:0em;
  line-height:1;
  padding:10px;
  text-transform:uppercase;
}

.giftcard__tag--active{
  background:transparent;
  border:1px solid;
  border-color:var(--colorBorder);
  color:var(--colorTextBody);
}

.giftcard__wrap{
  margin:15px 15px 30px;
  position:relative;
}

.giftcard__wrap img{
    border-radius:10px;
    display:block;
    position:relative;
    z-index:2;
  }

.giftcard__code{
  bottom:30px;
  position:absolute;
  text-align:center;
  width:100%;
  z-index:50;
}

.giftcard__code--medium{
  font-size:.875em;
}

.giftcard__code--small{
  font-size:.75em;
}

.giftcard__code__inner{
  background-color:#fff;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(0,0,0,.1);
  display:inline-block;
  max-width:450px;
  padding:.5em;
  vertical-align:baseline;
}

.giftcard__code--small .giftcard__code__inner{
    overflow:auto;
}

.giftcard__code__text{
  border:1px dashed;
  border-color:var(--colorBorder);
  border-radius:2px;
  color:var(--colorTextBody);
  display:inline-block;
  font-size:1.875em;
  font-weight:400;
  line-height:1;
  padding:.4em .5em;
  text-transform:uppercase;
  vertical-align:baseline;
}

.disabled .giftcard__code__text{
    color:#999;
    -webkit-text-decoration:line-through;
    text-decoration:line-through;
}

.giftcard__amount{
  color:#fff;
  font-size:2.75em;
  line-height:1.2;
  padding:15px;
  position:absolute;
  right:0;
  top:0;
  z-index:50;
}

.giftcard__amount strong{
    display:block;
    text-shadow:3px 3px 0 rgba(0,0,0,.1);
  }

.giftcard__amount--medium{
  font-size:2em;
}

.tooltip{
  color:#fff;
  display:block;
  margin-top:16px;
  position:absolute;
  right:50%;
  text-align:center;
  top:-50%;
  white-space:nowrap;
  z-index:3;
}

.tooltip:before{
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-top:5px solid #333;
    border-top:5px solid rgba(51,51,51,.9);
    bottom:0;
    content:"";
    display:block;
    height:0;
    left:100%;
    margin-bottom:-5px;
    margin-left:-5px;
    position:absolute;
    width:0;
  }

.tooltip__label{
  background:#333;
  background:rgba(51,51,51,.9);
  border:none;
  border-radius:4px;
  display:block;
  font-size:12px;
  font-weight:400;
  line-height:16px;
  margin-left:.25em;
  min-height:14px;
  padding:.5em .75em;
  position:relative;
  right:-50%;
  -webkit-text-decoration:none;
  text-decoration:none;
  text-shadow:none;
}

.tooltip__label small{
    color:#b3b3b3;
    font-size:.875em;
    letter-spacing:0em;
    text-transform:uppercase;
  }

.giftcard__instructions{
  margin:0 15px 30px;
  text-align:center;
}

.giftcard__actions{
  overflow:hidden;
  padding-bottom:1em;
  position:relative;
  text-align:center;
}

.template-giftcard .action-link{
  display:block;
  font-size:0.875em;
  font-weight:700;
  left:15px;
  letter-spacing:0em;
  margin-top:-10px;
  padding-top:4px;
  position:absolute;
  text-transform:uppercase;
  top:50%;
}

.template-giftcard .action-link:focus,.template-giftcard .action-link:hover{
    color:var(--colorTextBody);
  }

.template-giftcard .action-link__print{
  background-image:url(/cdn/s/assets/gift-card/icon-print-164daa1ae32d10d1f9b83ac21b6f2c70.png);
  background-position:0 0;
  background-repeat:no-repeat;
  display:inline-block;
  height:17px;
  margin-right:10px;
  opacity:1;
  vertical-align:baseline;
  vertical-align:middle;
  width:17px;
}

.giftcard__footer{
  padding:60px 0;
  text-align:center;
}

#QrCode img{
    border:1px solid;
    border-color:var(--colorBorder);
    border-radius:4px;
    margin:0 auto 30px;
    padding:30px;
  }

@media only screen and (max-width:768px){
  .giftcard{
    font-size:12px;
  }

  .giftcard-header{
    padding:30px 0;
  }

  .header-logo{
    font-size:2em;
  }

  .giftcard__border{
    padding:15px;
  }

  .giftcard__actions{
    padding:15px;
  }

  .giftcard__actions .btn{
    padding-left:0;
    padding-right:0;
    width:100%;
  }

  .template-giftcard .action-link{
    display:none;
  }
}

@media screen and (max-width:400px){
  .giftcard__amount strong{
    text-shadow:2px 2px 0 rgba(0,0,0,.1);
  }

  .giftcard__wrap:after,.giftcard__wrap:before{
    display:none;
  }

  .giftcard__code{
    font-size:.75em;
  }

  .giftcard__code--medium{
    font-size:.65em;
  }

  .giftcard__code--small{
    font-size:.55em;
  }
}

@media screen and (max-height:800px){
  .header-logo img{
    max-height:90px;
  }
}

@media print{
  @page{
    margin:0.5cm;
  }

  h2,h3,p{
    orphans:3;
    widows:3;
  }

  h2,h3{
    page-break-after:avoid;
  }

  body,html{
    background-color:#fff;
  }

  .giftcard-header{
    padding:10px 0;
  }

  .giftcard__border,.giftcard__content{
    border:0 none;
  }

  .add-to-apple-wallet,.giftcard__actions,.giftcard__wrap:after,.giftcard__wrap:before,.site-header__logo-link img:nth-child(2),.tooltip{
    display:none;
  }

  .giftcard__title{
    float:none;
    text-align:center;
  }

  .giftcard__code__text{
    color:#555;
  }

  .template-giftcard .shop-url{
    display:block;
  }

  .template-giftcard .logo{
    color:#58686f;
  }
}

/* Live Product Options â€“ Aligning with Impulse Theme v7.6.2 */
.lpo-root {
  font-family: var(--font-stack-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  font-size: 16px;
  color: var(--text-color, #1c1c1c);
  line-height: 1.5;
  max-width: 100%;
}

/* Headings and Titles */
.lpo-root h3,
.lpo-root h4,
.lpo-root .lpo-group-title {
  font-size: 18px;
  font-weight: 600;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 12px;
  padding-bottom: 6px;
  margin-top: 24px;
}

/* Form Field Wrappers */
.lpo-root .lpo-field-wrapper {
  margin-bottom: 20px;
}

/* Inputs and Selects */
.lpo-root input[type="text"],
.lpo-root input[type="number"],
.lpo-root select,
.lpo-root textarea {
  width: 100%;
  padding: 12px;
  font-size: 16px;
  border: 1px solid #d8d8d8;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: none;
  appearance: none;
}

/* Radio and Checkbox Inputs */
.lpo-root input[type="radio"],
.lpo-root input[type="checkbox"] {
  accent-color: var(--accent-color, #000000);
  margin-right: 6px;
}

/* Labels */
.lpo-root label,
.lpo-root .lpo-label {
  display: block;
  font-weight: 500;
  margin-bottom: 6px;
}

/* Price List Styling */
.lpo-root .lpo-price-list {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #ebebeb;
  font-size: 16px;
  font-weight: 500;
  color: var(--text-color, #1c1c1c);
}

/* Buttons inside LPO */
.lpo-root button {
  background-color: var(--button-background, #000000);
  color: #ffffff;
  padding: 12px 20px;
  font-weight: 600;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
}

/* Responsive Fixes */
@media screen and (max-width: 749px) {
  .lpo-root {
    font-size: 15px;
  }

  .lpo-root .lpo-field-wrapper {
    margin-bottom: 16px;
  }

  .lpo-root .lpo-price-list {
    font-size: 15px;
  }
}

/* =========================================================
   PROJECT PRINT â€” FULL CSS (BACKGROUND + FILM GRAIN + FIXED PILLS)
   - Background film gradient / grain / ambience EXACTLY as your â€œPP CINEMATIC BACKGROUND v3â€
   - Header/footer safety + short-page footer fix (exactly as your block)
   - Pills + Most Popular badge fixed (no grey wash, no diagonal highlights, single rim)
   ========================================================= */


/* =========================================================
   PP BACKGROUND — handled by header-premium.liquid section
   (Old cinematic background v3 removed to prevent conflicts)
   ========================================================= */

/* Main content sits above background FX */
#MainContent,
main{
  position: relative !important;
  z-index: 1 !important;
}

/* Header + drawers always on top (Impulse uses sticky header + overlays) */
header,
.header,
.shopify-section-header,
#shopify-section-header{
  position: relative !important;
  z-index: 50 !important;
}
/* Header z-index — positioning handled by header-premium.liquid */
.site-header{
  z-index: 50 !important;
}

/* Cart drawer / overlays — must sit above the fixed header (z-index:100) */
.drawer,
.ajaxcart,
.cart-drawer,
#CartDrawer,
.modal,
.overlay {
  z-index: 150 !important;
}
.shopify-section--header {
  z-index: 60 !important;
}

/* Old animations (pp-ink-drift, pp-grain-float) removed — now in header-premium.liquid */

/* =========================================================
   FIX: Footer sits at bottom on short pages (SAFE)
   - Does NOT clamp scroll height on long pages
   ========================================================= */

html{
  height: auto !important;
  min-height: 100% !important;
}

body{
  height: auto !important;          /* IMPORTANT: donâ€™t lock body height */
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

#MainContent,
main{
  flex: 1 0 auto !important;
}

footer,
.shopify-section-footer,
#shopify-section-footer{
  flex: 0 0 auto !important;
}



/* ============================================================
   PROJECT PRINT â€” FIXED TIER PILLS + MOST POPULAR (PILLS ONLY)
   - No diagonal highlights / inner sheens
   - No grey wash (deep navy surface)
   - Single rim only (no double borders)
   - Selected: clean cyan rim
   - Badge: darker, centred, half in/out
   - No movement / overlap
   ============================================================ */

:root{
  --pp-cyan:#D4FF46;
  --pp-cyan-rim: rgba(187,164,255,.70);

  --pp-pill-bg: rgba(0, 0, 0, 0.3);
  --pp-pill-rim: rgba(255,255,255,.03);
  --pp-pill-rim-hover: rgba(255,255,255,.06);

  --pp-text: rgba(255,255,255,.94);
  --pp-dim: rgba(255,255,255,.52);
  --pp-dim2: rgba(255,255,255,.56);
}

/* ---------- 1) GRID STABILITY (prevents any â€œfloating pillâ€ overlap) ---------- */
.cl-po--wrapper .pp-tier-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 12px 0 18px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
}

@media (max-width: 900px){
  .cl-po--wrapper .pp-tier-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px){
  .cl-po--wrapper .pp-tier-grid{
    grid-template-columns: 1fr !important;
  }
}

.cl-po--wrapper .pp-tier-grid .pp-tier-item{
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide native radio controls if present */
.cl-po--wrapper .pp-tier-grid .pp-tier-item input[type="radio"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
}

/* ---------- 2) HARD RESET (kills diagonal highlights / old overlays) ---------- */
.cl-po--wrapper .pp-tier{
  background-image: none !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.cl-po--wrapper .pp-tier::before,
.cl-po--wrapper .pp-tier::after{
  content: none !important;
  display: none !important;
}

/* ---------- 3) PILL SURFACE — GLASS CARD ALIGNED ---------- */
.cl-po--wrapper .pp-tier{
  position: relative !important;
  overflow: visible !important;
  border-radius: 14px !important;

  background: rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;

  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.4),
    0 8px 32px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;

  padding: 18px 16px !important;
  min-height: 84px !important;

  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  column-gap: 14px !important;
  row-gap: 4px !important;
  align-items: center !important;

  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Hover state — glass aligned */
@media (hover:hover){
  .cl-po--wrapper .pp-tier-grid .pp-tier-item:hover .pp-tier{
    border-color: rgba(255, 255, 255, 0.06) !important;
    background: rgba(0, 0, 0, 0.4) !important;
    box-shadow:
      0 4px 16px rgba(0, 0, 0, 0.2),
      0 12px 48px rgba(0, 0, 0, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  }
}

/* ---------- 4) SELECTED — teal accent aligned ---------- */
.cl-po--wrapper .pp-tier-grid .pp-tier-item.cl-po--selected .pp-tier,
.cl-po--wrapper .pp-tier-grid .pp-tier-item:has(input[type="radio"]:checked) .pp-tier{
  border-color: rgba(187,164,255, 0.25) !important;
  background: rgba(0, 0, 0, 0.5) !important;
  box-shadow:
    0 0 0 1px rgba(187,164,255, 0.15),
    0 4px 16px rgba(0, 0, 0, 0.2),
    0 0 30px rgba(187,164,255, 0.08) !important;
}

.cl-po--wrapper .pp-tier-grid .pp-tier-item.cl-po--selected,
.cl-po--wrapper .pp-tier-grid .pp-tier-item:has(input[type="radio"]:checked){
  z-index: 2 !important;
}

/* ---------- 5) TYPE (matches your screenshot layout) ---------- */
.cl-po--wrapper .pp-tier__qty{
  grid-column: 1 / 2 !important;
  grid-row: 1 / 2 !important;
  font-size: 28px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
  color: var(--pp-text) !important;
  margin: 0 !important;
}

.cl-po--wrapper .pp-tier__units{
  grid-column: 1 / 2 !important;
  grid-row: 2 / 3 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  color: var(--pp-dim) !important;
  margin-top: -2px !important;
}

.cl-po--wrapper .pp-tier__unit{
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
  text-align: right !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  color: rgba(255,255,255,.92) !important;
  margin: 0 !important;
}

/* EACH stays neutral/white-ish ALWAYS */
.cl-po--wrapper .pp-tier__each{
  grid-column: 2 / 3 !important;
  grid-row: 2 / 3 !important;
  text-align: right !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  color: var(--pp-dim2) !important;
  margin-top: -2px !important;
  margin-bottom: 0 !important;
}

/* Selected: ONLY the £ line goes teal */
.cl-po--wrapper .pp-tier-grid .pp-tier-item.cl-po--selected .pp-tier__unit,
.cl-po--wrapper .pp-tier-grid .pp-tier-item:has(input[type="radio"]:checked) .pp-tier__unit{
  color: #D4FF46 !important;
}

/* ---------- 6) MOST POPULAR BADGE (dark, centred, half-out) ---------- */
/* Supports either class name: .pp-badge-popular OR .pp-most-popular */
.cl-po--wrapper .pp-tier .pp-badge-popular,
.cl-po--wrapper .pp-tier .pp-most-popular{
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  transform: translate(-50%, -55%) !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;

  padding: 6px 10px !important;
  border-radius: 999px !important;

  background: rgba(0, 0, 0, 0.85) !important;
  border: 1px solid rgba(187,164,255, 0.35) !important;

  color: #D4FF46 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;

  box-shadow: 0 14px 34px rgba(0,0,0,.42) !important;

  pointer-events: none !important;
  z-index: 5 !important;
}

/* Clean â€œsparkâ€ (no extra lines, no double borders) */
.cl-po--wrapper .pp-tier .pp-badge-popular::before,
.cl-po--wrapper .pp-tier .pp-most-popular::before{
  content: "âœ¦" !important;
  color: #D4FF46 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

/* Give badge breathing room without adding any internal highlight */
.cl-po--wrapper .pp-tier-item.pp-most-popular .pp-tier{
  padding-top: 18px !important;
}

/* =========================================================
   PROJECT PRINT â€” PILL FIX (FINAL)
   - Forces full opacity (kills LPO dimming)
   - Clean deep-navy pill surface (no muddy wash)
   - Single border + cyan selected rim
   - "MOST POPULAR" badge half-in/half-out
   ========================================================= */

/* 1) HARD KILL ANY LPO DIMMING / GREY FILTERS ON RADIO ITEMS */
.cl-po--wrapper .cl-po--radio-item,
.cl-po--wrapper .cl-po--radio-card,
.cl-po--wrapper .cl-po--radio-label,
.cl-po--wrapper .pp-tier-item,
.cl-po--wrapper .pp-tier-item *{
  opacity: 1 !important;
  filter: none !important;
}

/* Some LPO themes dim â€œnot selectedâ€ specifically */
.cl-po--wrapper .cl-po--radio-item:not(.is-selected),
.cl-po--wrapper .pp-tier-item:not(.cl-po--selected){
  opacity: 1 !important;
}

/* 2) GRID STABILITY (keeps your 3x2 layout clean) */
.cl-po--wrapper .pp-tier-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}
@media (max-width: 900px){
  .cl-po--wrapper .pp-tier-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 520px){
  .cl-po--wrapper .pp-tier-grid{ grid-template-columns: 1fr !important; }
}

/* 3) BASE PILL — GLASS CARD ALIGNED */
.cl-po--wrapper .pp-tier,
.cl-po--wrapper .cl-po--radio-item{
  position: relative !important;
  overflow: visible !important;
  border-radius: 14px !important;

  background: rgba(0, 0, 0, 0.3) !important;
  
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  
  box-shadow: 
    0 4px 30px rgba(0, 0, 0, 0.4),
    0 8px 32px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;

  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  
  transform: none !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Kill pseudo-elements that create highlights/diagonals from app/theme */
.cl-po--wrapper .pp-tier::before,
.cl-po--wrapper .pp-tier::after,
.cl-po--wrapper .cl-po--radio-item::before,
.cl-po--wrapper .cl-po--radio-item::after{
  content: none !important;
  display: none !important;
}

/* HOVER — glass aligned */
@media (hover: hover) {
  .cl-po--wrapper .pp-tier:hover,
  .cl-po--wrapper .cl-po--radio-item:hover {
    border-color: rgba(255, 255, 255, 0.06) !important;
    background: rgba(0, 0, 0, 0.4) !important;
    box-shadow: 
      0 4px 16px rgba(0, 0, 0, 0.2),
      0 12px 48px rgba(0, 0, 0, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    transform: translateY(-1px) !important;
  }
}

/* 4) SELECTED — TEAL ACCENT ALIGNED */
.cl-po--wrapper .pp-tier-item.cl-po--selected .pp-tier,
.cl-po--wrapper .pp-tier-item:has(input[type="radio"]:checked) .pp-tier,
.cl-po--wrapper .cl-po--radio-item.is-selected,
.cl-po--wrapper .cl-po--radio-item:has(input[type="radio"]:checked){
  background: rgba(0, 0, 0, 0.5) !important;
  
  border-color: rgba(187,164,255, 0.25) !important;
  
  box-shadow:
    0 0 0 1px rgba(187,164,255, 0.15),
    0 4px 16px rgba(0, 0, 0, 0.2),
    0 12px 48px rgba(0, 0, 0, 0.15),
    0 0 30px rgba(187,164,255, 0.08) !important;
}

/* 5) TEXT COLOURS — NEUTRAL WHITES */
.cl-po--wrapper .pp-tier__qty{ color: rgba(255,255,255,.90) !important; font-weight: 950 !important; }
.cl-po--wrapper .pp-tier__units{ color: rgba(255,255,255,.35) !important; font-weight: 850 !important; letter-spacing: .22em !important; }
.cl-po--wrapper .pp-tier__each{ color: rgba(255,255,255,.30) !important; }
.cl-po--wrapper .pp-tier__unit{ color: rgba(255,255,255,.70) !important; }

/* Selected price teal */
.cl-po--wrapper .pp-tier-item.cl-po--selected .pp-tier__unit,
.cl-po--wrapper .pp-tier-item:has(input[type="radio"]:checked) .pp-tier__unit{
  color: #D4FF46 !important;
}

/* 6) MOST POPULAR BADGE (HALF IN / HALF OUT, CENTRED) */
/* Add class "pp-most-popular" to the correct tier item in your markup/JS */
.cl-po--wrapper .pp-tier-item.pp-most-popular .pp-tier{
  padding-top: 18px !important;
}

.cl-po--wrapper .pp-tier-item.pp-most-popular .pp-tier .pp-most-popular{
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  transform: translate(-50%, -55%) !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;

  padding: 6px 10px !important;
  border-radius: 999px !important;

  background: rgba(0, 0, 0, 0.85) !important;
  border: 1px solid rgba(187,164,255, 0.35) !important;

  color: #D4FF46 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;

  box-shadow: 0 14px 34px rgba(0,0,0,.42) !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

.cl-po--wrapper .pp-tier-item.pp-most-popular .pp-most-popular::before{
  content: "✦" !important;
  color: #D4FF46 !important;
  text-shadow: 0 0 14px rgba(187,164,255, 0.18) !important;
}

/* =========================================================
   PROJECT PRINT â€” LPO â€œBUY: 50+â€ + GREEN TOTALS KILL (TARGETED)
   - Targets ONLY the tier grid area
   - Hides the â€œBUY: 50+ / BUY: 100+â€ helper text and green totals
   - Hides the LPO qty stepper if it appears
   ========================================================= */

/* 1) HARD HIDE any leftover helper rows inside the tier grid */
.cl-po--wrapper .pp-tier-grid *{
  /* no-op safety: do not add display rules here */
}

/* Kill any element that contains BUY: (common LPO helper label) */
.cl-po--wrapper .pp-tier-grid [class*="buy"],
.cl-po--wrapper .pp-tier-grid [class*="Buy"],
.cl-po--wrapper .pp-tier-grid [class*="threshold"],
.cl-po--wrapper .pp-tier-grid [class*="Threshold"],
.cl-po--wrapper .pp-tier-grid [class*="min"],
.cl-po--wrapper .pp-tier-grid [class*="Min"],
.cl-po--wrapper .pp-tier-grid [class*="note"],
.cl-po--wrapper .pp-tier-grid [class*="hint"],
.cl-po--wrapper .pp-tier-grid [class*="helper"],
.cl-po--wrapper .pp-tier-grid small,
.cl-po--wrapper .pp-tier-grid em,
.cl-po--wrapper .pp-tier-grid i{
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2) KILL the green â€œÂ£xxx.xxâ€ totals that sit behind the pills
   (these are usually separate spans/divs coloured green) */
.cl-po--wrapper .pp-tier-grid [style*="color: green"],
.cl-po--wrapper .pp-tier-grid [style*="color:green"],
.cl-po--wrapper .pp-tier-grid [style*="color:#0"],
.cl-po--wrapper .pp-tier-grid [style*="color: #0"],
.cl-po--wrapper .pp-tier-grid [style*="rgb(0, 128, 0)"],
.cl-po--wrapper .pp-tier-grid [style*="rgb(0,128,0)"]{
  display:none !important;
  visibility:hidden !important;
}

/* 3) If LPO prints a â€œprice/totalâ€ line outside inline styles, kill common money helpers ONLY in the grid */
.cl-po--wrapper .pp-tier-grid .money:not(.pp-tier__unit):not(.pp-tier__each),
.cl-po--wrapper .pp-tier-grid .price:not(.pp-tier__unit):not(.pp-tier__each),
.cl-po--wrapper .pp-tier-grid ._price,
.cl-po--wrapper .pp-tier-grid [class*="total"],
.cl-po--wrapper .pp-tier-grid [class*="Total"]{
  display:none !important;
}

/* 4) HIDE the LPO quantity stepper (if itâ€™s the app one) */
.cl-po--wrapper .cl-po--quantity,
.cl-po--wrapper .cl-po--quantity-wrap,
.cl-po--wrapper .cl-po--quantity-wrapper,
.cl-po--wrapper .cl-po__quantity,
.cl-po--wrapper .cl-po__quantity-wrap,
.cl-po--wrapper .cl-po__quantity-wrapper,
.cl-po--wrapper [class*="quantity"][class*="wrap"],
.cl-po--wrapper [class*="qty"][class*="wrap"]{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* 5) Extra: some LPO themes print discount text blocks near options */
.cl-po--wrapper .cl-po--discount-text,
.cl-po--wrapper .cl-po__discount-text,
.cl-po--wrapper [data-cl-po-discount],
.cl-po--wrapper [data-cl-po-discount-text]{
  display:none !important;
}

/* =========================================================
   PP FIX â€” REMOVE THE â€œOUTER BOXâ€ BEHIND EACH PILL
   (Keep ONLY your .pp-tier pill visible)
   Paste at VERY BOTTOM
   ========================================================= */

/* 1) Neutralise any LPO outer wrappers that may still have a background/border */
.cl-po--wrapper .pp-tier-grid .pp-tier-item,
.cl-po--wrapper .pp-tier-grid .cl-po--radio-item,
.cl-po--wrapper .pp-tier-grid .cl-po__radio-item,
.cl-po--wrapper .pp-tier-grid .cl-po--radio-card,
.cl-po--wrapper .pp-tier-grid .cl-po__radio-card,
.cl-po--wrapper .pp-tier-grid .cl-po--radio-label,
.cl-po--wrapper .pp-tier-grid .cl-po__radio-label,
.cl-po--wrapper .pp-tier-grid label{
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* 2) Kill any â€œrowâ€ padding that creates a visible rectangle behind the pill */
.cl-po--wrapper .pp-tier-grid .cl-po--radio-item,
.cl-po--wrapper .pp-tier-grid .cl-po__radio-item{
  padding: 0 !important;
  margin: 0 !important;
}

/* 3) Ensure the pill is the only surface + sits above anything leftover */
.cl-po--wrapper .pp-tier-grid .pp-tier{
  position: relative !important;
  z-index: 2 !important;
}

/* 4) Make sure the MOST POPULAR badge can sit half-out cleanly */
.cl-po--wrapper .pp-tier-grid{
  overflow: visible !important;
}
.cl-po--wrapper .pp-tier-grid .pp-tier-item{
  overflow: visible !important;
}

/* 5) If LPO injects any pseudo overlays on the outer row, kill them */
.cl-po--wrapper .pp-tier-grid .cl-po--radio-item::before,
.cl-po--wrapper .pp-tier-grid .cl-po--radio-item::after,
.cl-po--wrapper .pp-tier-grid .cl-po__radio-item::before,
.cl-po--wrapper .pp-tier-grid .cl-po__radio-item::after{
  content: none !important;
  display: none !important;
}

/* =========================================================
   PP FIX â€” REMOVE THE OUTER â€œPANEL/BOXâ€ AROUND THE TIER AREA
   (Does NOT change your page background. LPO block only.)
   Paste at VERY BOTTOM
   ========================================================= */

.cl-po--wrapper,
.cl-po--wrapper .cl-po--options,
.cl-po--wrapper .cl-po--option,
.cl-po--wrapper .cl-po--option-wrap,
.cl-po--wrapper .cl-po--option-inner,
.cl-po--wrapper .cl-po--group,
.cl-po--wrapper .cl-po--fieldset,
.cl-po--wrapper .cl-po--field,
.cl-po--wrapper .cl-po--radio-group,
.cl-po--wrapper .cl-po--radio-list,
.cl-po--wrapper .cl-po--radio-wrap,
.cl-po--wrapper .cl-po--content,
.cl-po--wrapper .cl-po--container,
.cl-po--wrapper .cl-po--container-inner{
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* If the â€œboxâ€ is coming from spacing on a wrapper, flatten it */
.cl-po--wrapper .cl-po--options,
.cl-po--wrapper .cl-po--radio-group,
.cl-po--wrapper .cl-po--radio-list,
.cl-po--wrapper .pp-tier-grid{
  padding: 0 !important;
  margin: 0 !important;
}

/* Keep your grid spacing between pills */
.cl-po--wrapper .pp-tier-grid{
  gap: 14px !important; /* tweak if you want tighter */
  margin-top: 10px !important; /* small breathing room under title */
}

/* Belt + braces: kill any wrapper pseudo â€œpanelâ€ overlays */
.cl-po--wrapper .cl-po--options::before,
.cl-po--wrapper .cl-po--options::after,
.cl-po--wrapper .cl-po--radio-group::before,
.cl-po--wrapper .cl-po--radio-group::after,
.cl-po--wrapper .cl-po--radio-list::before,
.cl-po--wrapper .cl-po--radio-list::after{
  content: none !important;
  display: none !important;
}

/* =========================================================
   PP FIX â€” REMOVE THE OUTER â€œPANEL/BOXâ€ AROUND THE TIER AREA
   (Does NOT change your page background. LPO block only.)
   Paste at VERY BOTTOM
   ========================================================= */

.cl-po--wrapper,
.cl-po--wrapper .cl-po--options,
.cl-po--wrapper .cl-po--option,
.cl-po--wrapper .cl-po--option-wrap,
.cl-po--wrapper .cl-po--option-inner,
.cl-po--wrapper .cl-po--group,
.cl-po--wrapper .cl-po--fieldset,
.cl-po--wrapper .cl-po--field,
.cl-po--wrapper .cl-po--radio-group,
.cl-po--wrapper .cl-po--radio-list,
.cl-po--wrapper .cl-po--radio-wrap,
.cl-po--wrapper .cl-po--content,
.cl-po--wrapper .cl-po--container,
.cl-po--wrapper .cl-po--container-inner{
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* If the â€œboxâ€ is coming from spacing on a wrapper, flatten it */
.cl-po--wrapper .cl-po--options,
.cl-po--wrapper .cl-po--radio-group,
.cl-po--wrapper .cl-po--radio-list,
.cl-po--wrapper .pp-tier-grid{
  padding: 0 !important;
  margin: 0 !important;
}

/* Keep your grid spacing between pills */
.cl-po--wrapper .pp-tier-grid{
  gap: 14px !important; /* tweak if you want tighter */
  margin-top: 10px !important; /* small breathing room under title */
}

/* Belt + braces: kill any wrapper pseudo â€œpanelâ€ overlays */
.cl-po--wrapper .cl-po--options::before,
.cl-po--wrapper .cl-po--options::after,
.cl-po--wrapper .cl-po--radio-group::before,
.cl-po--wrapper .cl-po--radio-group::after,
.cl-po--wrapper .cl-po--radio-list::before,
.cl-po--wrapper .cl-po--radio-list::after{
  content: none !important;
  display: none !important;
}

/* =========================================================
   PP FIX â€” MAKE TIER PILLS FULL-WIDTH IN EACH GRID CELL
   Paste at VERY BOTTOM
   ========================================================= */

/* Ensure the grid stretches items */
.cl-po--wrapper .pp-tier-grid{
  width: 100% !important;
  justify-items: stretch !important;
  align-items: stretch !important;
}

/* The grid item itself must be allowed to stretch */
.cl-po--wrapper .pp-tier-grid .pp-tier-item,
.cl-po--wrapper .pp-tier-grid .cl-po--radio-item{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: block !important;
}

/* If the clickable label/card is the width culprit, force it */
.cl-po--wrapper .pp-tier-grid :is(label, .cl-po--radio-label, .cl-po--radio-card, .cl-po--radio-inner){
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

/* Your pill surface must fill the full tile */
.cl-po--wrapper .pp-tier-grid .pp-tier{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* If LPO is adding an inline layout wrapper around each option, kill shrink */
.cl-po--wrapper .pp-tier-grid :is(.cl-po--radio-wrap, .cl-po--radio, .cl-po__radio){
  width: 100% !important;
  flex: 0 0 100% !important;
}

/* Optional: make heights consistent so the grid looks premium */
.cl-po--wrapper .pp-tier-grid .pp-tier{
  min-height: 86px !important;
}

/* =========================================================
   MOST POPULAR â€” INLINE, DARKER, PREMIUM
   ========================================================= */

.cl-po--wrapper .pp-tier-item.pp-most-popular .pp-badge-popular{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;   /* FORCE single line */

  gap: 6px !important;
  padding: 5px 10px !important;

  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;

  color: rgba(255,255,255,.82) !important;

  /* Darker chip */
  background: rgba(6,10,18,.85) !important;
  border: 1px solid rgba(255,255,255,.14) !important;

  border-radius: 999px !important;

  box-shadow:
    0 10px 28px rgba(0,0,0,.45),
    inset 0 0 0 1px rgba(255,255,255,.04) !important;

  backdrop-filter: none !important;
}

/* Star / accent â€” quieter */
.cl-po--wrapper .pp-tier-item.pp-most-popular .pp-badge-popular::before{
  content: "âœ¦";
  font-size: 10px !important;
  line-height: 1 !important;

  color: #D4FF46 !important;
  text-shadow: none !important;
}

/* When the tier itself is selected, add a subtle teal hint */
.cl-po--wrapper
.pp-tier-item.pp-most-popular:has(input:checked) .pp-badge-popular{
  border-color: rgba(187,164,255,.28) !important;
  background: rgba(0,0,0,.85) !important;
}

/* ============================================================
   PROJECT PRINT â€” LPO ADD-ONS (POLISHED FINAL v3)
   - Header weight 750
   - Ultra-subtle radio pulse on selection
   - Clean spacing, premium finish
   ============================================================ */

.cl-po--wrapper{
  --pp-neon: #D4FF46;
  --pp-white: rgba(255,255,255,0.96);
  --pp-white-2: rgba(255,255,255,0.88);
  --pp-muted: rgba(255,255,255,0.60);
}

/* =========================
   HEADERS
   ========================= */
.cl-po--wrapper .cl-po--label{
  display: block !important;
  padding: 0 !important;
  margin: 16px 0 7px !important;

  font-weight: 750 !important;          /* â¬… slightly heavier */
  font-size: 16px !important;
  letter-spacing: 0.025em !important;

  color: var(--pp-white) !important;
  opacity: 1 !important;

  background: none !important;
}

/* Remove any icons/ticks/arrows */
.cl-po--wrapper .cl-po--label::before,
.cl-po--wrapper .cl-po--label::after,
.cl-po--wrapper .cl-po--label svg,
.cl-po--wrapper .cl-po--label i{
  display: none !important;
  content: none !important;
}

/* =========================
   OPTION ROWS — fused glass card container
   ========================= */
.cl-po--wrapper label.cl-po--checkbox-item{
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  overflow: visible !important;

  margin: 0 !important;
  padding: 12px 16px !important;

  cursor: pointer !important;

  font-size: 11px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;

  color: rgba(255, 255, 255, 0.50) !important;

  border-radius: 0 !important;

  background: rgba(0, 0, 0, 0.3) !important;
  
  border: none !important;
  
  box-shadow: none !important;

  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  
  transform: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

/* Adjacent checkbox — no borders */
.cl-po--wrapper label.cl-po--checkbox-item + label.cl-po--checkbox-item {
  border: none !important;
}

/* Last checkbox — no borders */
.cl-po--wrapper label.cl-po--checkbox-item:last-child,
.cl-po--wrapper label.cl-po--checkbox-item:last-of-type {
  border: none !important;
}

/* Ensure wrapped text inherits cleanly */
.cl-po--wrapper label.cl-po--checkbox-item *{
  color: inherit !important;
}

/* Hide native checkbox */
.cl-po--wrapper label.cl-po--checkbox-item input[type="checkbox"]{
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* =========================
   RADIO DOT (smaller, refined)
   ========================= */
.cl-po--wrapper label.cl-po--checkbox-item::before{
  content: "" !important;

  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;

  border-radius: 999px !important;
  border: 1.5px solid rgba(255,255,255,0.25) !important;

  margin-top: 0 !important;

  background: transparent !important;

  transition:
    border-color 140ms ease,
    background-color 140ms ease,
    box-shadow 160ms ease !important;
}

/* =========================
   SELECTED STATE + PULSE
   ========================= */
.cl-po--wrapper
label.cl-po--checkbox-item:has(input[type="checkbox"]:checked)::before{
  background: radial-gradient(circle, #D4FF46 40%, transparent 45%) !important;
  border-color: #D4FF46 !important;
  box-shadow: 0 0 8px rgba(187,164,255,0.35) !important;
  animation: pp-radio-pulse 420ms ease-out 1;
}

/* Ultra-subtle single pulse (no loop, no scale jump) */
@keyframes pp-radio-pulse{
  0%{
    box-shadow: 0 0 0 rgba(187,164,255,0.0);
  }
  40%{
    box-shadow: 0 0 14px rgba(187,164,255,0.45);
  }
  100%{
    box-shadow: 0 0 9px rgba(187,164,255,0.22);
  }
}

/* Selected state — glass aligned with teal accent */
.cl-po--wrapper
label.cl-po--checkbox-item:has(input[type="checkbox"]:checked){
  color: rgba(255, 255, 255, 0.85) !important;
  font-weight: 600 !important;
  
  background: rgba(0, 0, 0, 0.5) !important;
  
  border: none !important;
  
  box-shadow:
    0 0 0 1px rgba(187,164,255, 0.15),
    0 4px 16px rgba(0, 0, 0, 0.2),
    0 12px 48px rgba(0, 0, 0, 0.15),
    0 0 30px rgba(187,164,255, 0.08) !important;
  
  transform: translateY(0) !important;
}

/* Gentle hover refinement */
.cl-po--wrapper label.cl-po--checkbox-item:hover::before{
  border-color: rgba(187,164,255, 0.4) !important;
}

/* Hover state — glass aligned */
.cl-po--wrapper label.cl-po--checkbox-item:hover{
  border: none !important;
  background: rgba(0, 0, 0, 0.4) !important;
  color: rgba(255, 255, 255, 0.70) !important;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.2),
    0 12px 48px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  transform: translateY(-1px) !important;
}

/* Price styling — neutral whites */
.cl-po--wrapper label.cl-po--checkbox-item .pp-addon-price,
.cl-po--wrapper .pp-addon-price {
  color: rgba(255, 255, 255, 0.40) !important;
  font-weight: 500 !important;
  margin-left: auto !important;
  white-space: nowrap !important;
  transition: color 0.2s ease !important;
}

/* Hover - brighten the price slightly */
.cl-po--wrapper label.cl-po--checkbox-item:hover .pp-addon-price,
.cl-po--wrapper label.cl-po--checkbox-item:hover .pp-addon-price {
  color: rgba(255, 255, 255, 0.60) !important;
}

/* Selected - cyan price */
.cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked) .pp-addon-price {
  color: #D4FF46 !important;
  font-weight: 600 !important;
}

/* Collapse gaps on checkbox container */
.cl-po--wrapper .cl-po--checkbox-group,
.cl-po--wrapper [class*="checkbox-group"],
.cl-po--wrapper [class*="options-group"] {
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* First item no negative margin */
.cl-po--wrapper label.cl-po--checkbox-item:first-child {
  margin-top: 0 !important;
}

/* ============================================================
   PP â€” Total HUD (premium single-line layout)
   ============================================================ */

#pp-qty-summary.pp-qty-summary{
  margin-top: 18px;
  padding-top: 14px;
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  position: relative;
}

#pp-qty-summary.pp-qty-summary::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background: rgba(255,255,255,0.08);
}

#pp-qty-summary .pp-qty-summary__label{
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .75;
  white-space: nowrap;
}

#pp-qty-summary .pp-qty-summary__pricewrap{
  display:flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 12px; /* this is the â€œnot touchingâ€ fix */
  white-space: nowrap;
}

#pp-qty-summary .pp-qty-summary__ex{
  font-size: 18px;
  font-weight: 850;
  letter-spacing: .02em;
  color: rgba(255,255,255,0.98);
}

#pp-qty-summary .pp-qty-summary__sep{
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(187,164,255,0.65);
  transform: translateY(-1px);
  flex: 0 0 auto;
}

#pp-qty-summary .pp-qty-summary__inc{
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .62;
}

@keyframes ppPriceLock{
  0%{ transform: translateY(0); filter:none; }
  35%{ transform: translateY(-1px); filter: drop-shadow(0 0 10px rgba(187,164,255,0.25)); }
  100%{ transform: translateY(0); filter:none; }
}
#pp-qty-summary.pp-price-locked .pp-qty-summary__ex{
  animation: ppPriceLock 260ms ease-out;
}

@keyframes ppGlowRamp{
  0%{ filter: drop-shadow(0 0 0 rgba(187,164,255,0)); }
  40%{ filter: drop-shadow(0 0 18px rgba(187,164,255,0.28)); }
  100%{ filter: drop-shadow(0 0 0 rgba(187,164,255,0)); }
}
.pp-cta-glow{
  animation: ppGlowRamp 420ms ease-out;
}

/* Mobile: keep single line but tighten */
@media (max-width: 749px){
  #pp-qty-summary .pp-qty-summary__ex{ font-size: 17px; }
  #pp-qty-summary .pp-qty-summary__inc{ font-size: 10px; }
  #pp-qty-summary .pp-qty-summary__pricewrap{ gap: 10px; }
}

/* ===== PP TOTAL â€” Neon divider + layout polish ===== */
#pp-qty-summary {
  position: relative;
  padding-top: 14px;
  margin-top: 18px;
}

#pp-qty-summary::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background: rgba(0, 255, 240, 0.35);
  box-shadow: 0 0 0 rgba(0,0,0,0), 0 0 14px rgba(0, 255, 240, 0.18);
  opacity: 0.9;
}

#pp-qty-summary .pp-qty-summary__label{
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
  opacity: .9;
}

#pp-qty-summary .pp-qty-summary__pricewrap{
  display: inline-flex;
  align-items: baseline;
  gap: 10px; /* gives you the separator spacing */
}

#pp-qty-summary .pp-qty-summary__sep{
  opacity: .45;
}

#pp-qty-summary .pp-qty-summary__inc{
  opacity: .65;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ==========================================================
   PROJECT PRINT â€” TOTAL BAR (V4) â€” PREMIUM CSS
   Scoped: .pp-ui-v4
   ========================================================== */

.pp-ui-v4 #pp-qty-summary.pp-qty-summary{
  width: 100%;
  margin: 18px 0 12px;
  padding: 0;
}

/* Hairline divider — teal accent */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__divider{
  height: 1px;
  width: 100%;
  margin: 0 0 12px;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0) 0%,
    rgba(187,164,255, .14) 25%,
    rgba(187,164,255, .28) 50%,
    rgba(187,164,255, .14) 75%,
    rgba(0,0,0,0) 100%
  );
  box-shadow: 0 0 14px rgba(187,164,255,.12);
  opacity: .9;
}

/* Row layout */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__row{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

/* Left label */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__label{
  font-weight: 650;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.68);
  white-space: nowrap;
}

/* Price wrap on the right */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__pricewrap{
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 10px;
  white-space: nowrap;
  min-width: 0;
}

/* EX VAT price (hero) */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__ex{
  font-weight: 750;
  font-size: 18px;
  letter-spacing: .01em;
  color: rgba(255,255,255,.95);
  text-shadow: 0 0 18px rgba(187,164,255,.10);
}

/* (ex VAT) meta tag */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__meta{
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  transform: translateY(-1px);
}

/* Separator dot */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__sep{
  font-size: 11px;
  line-height: 1;
  color: rgba(187,164,255,.55);
  transform: translateY(-2px);
}

/* INC VAT (secondary) */
.pp-ui-v4 #pp-qty-summary .pp-qty-summary__inc{
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.50);
  transform: translateY(-1px);
}

/* Micro â€œlock-inâ€ animation when total updates */
.pp-ui-v4 #pp-qty-summary.pp-price-locked .pp-qty-summary__ex{
  animation: ppLockIn 320ms ease-out;
}
@keyframes ppLockIn{
  0%{ transform: translateY(0); filter: brightness(1); }
  35%{ transform: translateY(-1px); filter: brightness(1.18); }
  100%{ transform: translateY(0); filter: brightness(1); }
}

/* CTA glow ramp when total updates (class applied in JS) */
.pp-ui-v4 .pp-cta-glow{
  box-shadow:
    0 0 0 1px rgba(187,164,255,.18),
    0 0 22px rgba(187,164,255,.18),
    0 0 44px rgba(187,164,255,.12) !important;
  transition: box-shadow 260ms ease;
}

/* Mobile refinement: keep one line, tighten spacing */
@media (max-width: 768px){
  .pp-ui-v4 #pp-qty-summary{
    margin: 16px 0 10px;
  }
  .pp-ui-v4 #pp-qty-summary .pp-qty-summary__divider{
    margin-bottom: 10px;
  }
  .pp-ui-v4 #pp-qty-summary .pp-qty-summary__ex{
    font-size: 16px;
  }
  .pp-ui-v4 #pp-qty-summary .pp-qty-summary__pricewrap{
    gap: 8px;
  }
}

/* =========================================================
   PROJECT PRINT â€” TOTAL ROW (EX VAT + INC VAT) â€” FINAL CSS
   Targets: #pp-qty-summary markup confirmed via console debug
   ========================================================= */

#pp-qty-summary{
  width: 100%;
  margin: 14px 0 10px;
}

/* subtle neon divider above the price row (premium, not tacky) */
#pp-qty-summary::before{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin: 0 0 12px;
  background: linear-gradient(
    90deg,
    rgba(0, 255, 240, 0.00),
    rgba(0, 255, 240, 0.35),
    rgba(0, 255, 240, 0.00)
  );
  opacity: .9;
}

/* row layout */
#pp-qty-summary .pp-qty-summary__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  white-space: nowrap;
}

/* left label (TOTAL) */
#pp-qty-summary .pp-qty-summary__label{
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: .85;
}

/* right side wrapper: EX + (ex VAT) + dot + INC */
#pp-qty-summary .pp-qty-summary__pricewrap{
  display:flex;
  align-items:baseline; /* consistent baseline */
  gap: 8px;            /* default spacing between parts */
  white-space: nowrap;
}

/* EX VAT price â€” make it SMALLER (same vibe as INC VAT) */
#pp-qty-summary .pp-qty-summary__ex{
  font-size: 12px;     /* smaller than before */
  font-weight: 650;
  letter-spacing: .02em;
  opacity: .95;
}

/* (ex VAT) meta */
#pp-qty-summary .pp-qty-summary__meta{
  font-size: 11px;
  letter-spacing: .08em;
  opacity: .65;
  transform: translateY(-0.5px); /* tiny optical alignment */
}

/* separator dot â€” THIS was your â€œrandom dotâ€
   Make it neon blue + fix float/baseline weirdness */
#pp-qty-summary .pp-qty-summary__sep{
  color: rgba(0, 255, 240, .95); /* neon cyan */
  font-size: 12px;
  line-height: 1;
  display:inline-block;
  transform: translateY(-1px);   /* stops â€œdot above dotâ€ feel */
  margin: 0 6px;                 /* clear separation */
  opacity: .95;
}

/* INC VAT â€” keep subtle */
#pp-qty-summary .pp-qty-summary__inc{
  font-size: 11px;
  letter-spacing: .08em;
  opacity: .65;
}

/* Make TOTAL + EX side feel less â€œfar apartâ€ on wide screens */
@media (min-width: 990px){
  #pp-qty-summary .pp-qty-summary__row{
    gap: 12px;
  }
  #pp-qty-summary .pp-qty-summary__pricewrap{
    gap: 7px;
  }
}

/* Mobile: still one line, but tighten spacing a touch */
@media (max-width: 749px){
  #pp-qty-summary .pp-qty-summary__row{
    gap: 10px;
  }
  #pp-qty-summary .pp-qty-summary__label{
    font-size: 10px;
  }
  #pp-qty-summary .pp-qty-summary__ex{
    font-size: 12px;
  }
  #pp-qty-summary .pp-qty-summary__sep{
    margin: 0 5px;
  }
}

#pp-qty-summary .pp-qty-summary__sep{
  content:"";
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: rgba(0, 255, 240, .95);
  display:inline-block;
  line-height: 0;
  font-size: 0;        /* hides the bullet character */
  transform: translateY(-1px);
  margin: 0 10px;
  box-shadow: 0 0 10px rgba(0, 255, 240, .25);
}

/* =========================================================
   PROJECT PRINT â€” TOTAL ROW (PREMIUM ALIGNMENT PASS)
   Goal: fill space, centre weight, increase presence
   ========================================================= */

/* Container */
#pp-qty-summary{
  width: 100%;
  margin: 18px 0 14px;
}

/* Neon divider â€” now wider + calmer */
#pp-qty-summary::before{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin: 0 0 14px;
  background: linear-gradient(
    90deg,
    rgba(0,255,240,0.05),
    rgba(0,255,240,0.45),
    rgba(0,255,240,0.05)
  );
}

/* Main row layout */
#pp-qty-summary .pp-qty-summary__row{
  display:grid;
  grid-template-columns: auto 1fr;
  align-items:center;
  gap: 22px;
  white-space: nowrap;
}

/* TOTAL label (left) */
#pp-qty-summary .pp-qty-summary__label{
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .9;
}

/* Right side price group â€” fills space */
#pp-qty-summary .pp-qty-summary__pricewrap{
  display:flex;
  align-items:baseline;
  justify-content:flex-start;
  gap: 12px;
}

/* EX VAT price â€” hero */
#pp-qty-summary .pp-qty-summary__ex{
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .02em;
}

/* (ex VAT) */
#pp-qty-summary .pp-qty-summary__meta{
  font-size: 12px;
  letter-spacing: .12em;
  opacity: .65;
  margin-left: 2px;
}

/* Separator dot â€” premium neon */
#pp-qty-summary .pp-qty-summary__sep{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(0,255,240,.95);
  display:inline-block;
  margin: 0 10px;
  transform: translateY(-1px);
  box-shadow: 0 0 10px rgba(0,255,240,.25);
  font-size: 0; /* hides bullet char */
}

/* INC VAT â€” supportive, not dominant */
#pp-qty-summary .pp-qty-summary__inc{
  font-size: 12px;
  letter-spacing: .12em;
  opacity: .6;
}

/* Desktop: give it breathing room */
@media (min-width: 990px){
  #pp-qty-summary .pp-qty-summary__row{
    gap: 28px;
  }
  #pp-qty-summary .pp-qty-summary__ex{
    font-size: 19px;
  }
}

/* Mobile: still one line, slightly tighter */
@media (max-width: 749px){
  #pp-qty-summary .pp-qty-summary__row{
    gap: 14px;
  }
  #pp-qty-summary .pp-qty-summary__ex{
    font-size: 16px;
  }
}

/* =========================================================
   PP â€” TOTAL ROW (CENTRED + REAL DOT)
   ========================================================= */

/* Centre the entire line */
#pp-qty-summary .pp-qty-summary__row{
  display:flex !important;
  justify-content:center !important;
  align-items:baseline !important;
  gap: 14px !important;
  text-align:center !important;
  width:100% !important;
  white-space:nowrap !important;
}

/* Keep label + prices as one centred cluster */
#pp-qty-summary .pp-qty-summary__label{
  margin: 0 !important;
}

#pp-qty-summary .pp-qty-summary__pricewrap{
  display:flex !important;
  justify-content:center !important;
  align-items:baseline !important;
  gap: 10px !important;
}

/* EX price slightly less dominant if you want */
#pp-qty-summary .pp-qty-summary__ex{
  font-size: 16px !important;   /* match your preference */
  font-weight: 700 !important;
}

/* Meta + inc blend */
#pp-qty-summary .pp-qty-summary__meta,
#pp-qty-summary .pp-qty-summary__inc{
  font-size: 12px !important;
  letter-spacing: .12em !important;
  opacity: .65 !important;
}

/* âœ… Real neon dot (NOT the bullet character) */
#pp-qty-summary .pp-qty-summary__sep{
  position: relative !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: rgba(0,255,240,.95) !important;
  box-shadow: 0 0 10px rgba(0,255,240,.25) !important;

  /* hide the actual "â€¢" text */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;

  /* alignment tweak */
  transform: translateY(-1px) !important;
}

/* Safety: if bullet still renders via font fallback */
#pp-qty-summary .pp-qty-summary__sep::before{
  content: "" !important;
}

/* =========================================================
   PP â€” NEON DOT VERTICAL ALIGN FIX
   ========================================================= */

#pp-qty-summary .pp-qty-summary__sep{
  transform: translateY(-4px) !important;
}

/* =========================================================
   PP â€” SPACING BETWEEN TOTAL & ADD TO CART
   ========================================================= */

#pp-qty-summary{
  margin-bottom: 22px; /* was visually tight */
}

/* =========================================================
   PP â€” FINAL POLISH (V5)
   - Subtle divider glow ramp (only when total updates)
   - CTA hover easing refinement (premium, not tacky)
   - Mobile spacing pass
   ========================================================= */

/* ---------- TOTAL ROW / DIVIDER ---------- */
#pp-qty-summary{
  margin-bottom: 26px;              /* a touch more breathing room */
  position: relative;
}

/* hairline divider — REMOVED */
#pp-qty-summary::after{
  display: none !important;
  content: none !important;
}

/* when JS adds .pp-price-locked (your lock-in), ramp the divider glow */
#pp-qty-summary.pp-price-locked::after{
  background: rgba(0,255,245,.26);
  box-shadow:
    0 0 18px rgba(0,255,245,.22),
    0 0 42px rgba(0,255,245,.12);
  opacity: 1;
}

/* ---------- TOTAL ROW ALIGNMENT TWEAKS ---------- */
#pp-qty-summary .pp-qty-summary__row{
  display:flex;
  align-items:center;
  justify-content:center;           /* keeps it centred */
  gap: 18px;                        /* overall breathing */
}

#pp-qty-summary .pp-qty-summary__pricewrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 14px;                        /* space between ex/meta/dot/inc */
}

#pp-qty-summary .pp-qty-summary__ex{
  font-size: 15px;                  /* keep it premium, not shouty */
  font-weight: 700;
  letter-spacing: .01em;
}

#pp-qty-summary .pp-qty-summary__inc{
  font-size: 12.5px;
  opacity: .78;
  letter-spacing: .02em;
}

#pp-qty-summary .pp-qty-summary__meta{
  font-size: 12px;
  opacity: .62;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* dot: blue + aligned */
#pp-qty-summary .pp-qty-summary__sep{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(0,255,245,.9);
  box-shadow: 0 0 12px rgba(0,255,245,.25);
  transform: translateY(-1px);      /* <â€” aligns it with text */
  font-size: 0;                     /* hide the bullet character */
  line-height: 0;
}

/* ---------- CTA HOVER (EASING REFINEMENT) ---------- */
.product-form__submit,
button[name="add"],
.add-to-cart{
  transform: translateZ(0);
  transition:
    box-shadow 420ms cubic-bezier(.16, 1, .3, 1),
    filter 420ms cubic-bezier(.16, 1, .3, 1),
    transform 420ms cubic-bezier(.16, 1, .3, 1);
  will-change: box-shadow, filter, transform;
}

/* hover/focus: gentle lift + cleaner glow (not bigger, just nicer) */
.product-form__submit:hover,
button[name="add"]:hover,
.add-to-cart:hover,
.product-form__submit:focus-visible,
button[name="add"]:focus-visible,
.add-to-cart:focus-visible{
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow:
    0 0 0 1px rgba(0,255,245,.18),
    0 10px 28px rgba(0,0,0,.35),
    0 0 44px rgba(0,255,245,.16);
}

/* when JS adds .pp-cta-glow (your update pulse), slightly stronger then fades */
.pp-cta-glow{
  box-shadow:
    0 0 0 1px rgba(0,255,245,.22),
    0 14px 34px rgba(0,0,0,.38),
    0 0 64px rgba(0,255,245,.22) !important;
}

/* ---------- MOBILE PASS ---------- */
@media (max-width: 749px){
  #pp-qty-summary{
    margin-top: 14px;
    margin-bottom: 22px;
  }

  #pp-qty-summary .pp-qty-summary__row{
    gap: 12px;
    flex-wrap: wrap;                /* still one line unless it MUST wrap */
  }

  #pp-qty-summary .pp-qty-summary__pricewrap{
    gap: 10px;
  }

  #pp-qty-summary .pp-qty-summary__ex{
    font-size: 14px;
  }

  #pp-qty-summary .pp-qty-summary__inc{
    font-size: 12px;
  }

  /* button spacing feels better on mobile */
  .product-form__submit,
  button[name="add"],
  .add-to-cart{
    margin-top: 2px;
  }
}

/* =========================================================
   PP â€” FINAL SPACING POLISH
   - Extra air below divider
   - Cleaner separation before CTA
   ========================================================= */

/* Space between TOTAL row and divider */
#pp-qty-summary{
  padding-bottom: 12px; /* pushes divider down slightly */
}

/* Divider removed */

/* Space between divider and Add to Cart */
#pp-qty-summary + .product-form__submit,
#pp-qty-summary + button[name="add"],
#pp-qty-summary + .add-to-cart{
  margin-top: 20px;     /* key spacing increase */
}

/* Mobile fine-tune */
@media (max-width: 749px){
  #pp-qty-summary{
    padding-bottom: 10px;
  }

  #pp-qty-summary::after{
    bottom: -16px;
  }

  #pp-qty-summary + .product-form__submit,
  #pp-qty-summary + button[name="add"],
  #pp-qty-summary + .add-to-cart{
    margin-top: 18px;
  }
}

/* =========================================================
   PP â€” FINAL SUMMARY CENTRING + SPACING
   ========================================================= */

/* Centre the entire TOTAL row */
#pp-qty-summary{
  display: flex;
  justify-content: center;   /* â¬… centres horizontally */
  align-items: center;
  text-align: center;

  padding-top: 18px;         /* space from content above */
  padding-bottom: 26px;      /* space before divider */
}

/* Inner row alignment */
#pp-qty-summary .pp-qty-summary__row{
  display: flex;
  align-items: center;
  gap: 14px;                 /* space between TOTAL / price / dot / inc VAT */
}

/* Divider removed */

/* Space between divider and CTA */
#pp-qty-summary + .product-form__submit,
#pp-qty-summary + button[name="add"],
#pp-qty-summary + .add-to-cart{
  margin-top: 26px;          /* â¬… main visual improvement */
}

/* ---------------------------------------------------------
   Mobile refinement
   --------------------------------------------------------- */
@media (max-width: 749px){
  #pp-qty-summary{
    padding-top: 16px;
    padding-bottom: 22px;
  }

  #pp-qty-summary::after{
    bottom: -20px;
  }

  #pp-qty-summary + .product-form__submit,
  #pp-qty-summary + button[name="add"],
  #pp-qty-summary + .add-to-cart{
    margin-top: 22px;
  }
}

/* =========================================================
   PP â€” SUMMARY POSITION HELPER + SOLID DIVIDERS
   ========================================================= */

/* 1) Helper: adjust vertical position of the entire summary contents
   - Negative = moves UP
   - Positive = moves DOWN
   Tweak this one value only ðŸ‘‡
*/
:root{
  --pp-summary-y: 9px;
}

/* Apply the offset to the whole row (safe, doesnâ€™t affect layout width) */
#pp-qty-summary .pp-qty-summary__row{
  position: relative;
  transform: translateY(var(--pp-summary-y));
}

/* Optional: if you ever need ONLY the prices nudged (not the "TOTAL" label),
   uncomment this and comment the rule above.

#pp-qty-summary .pp-qty-summary__pricewrap{
  position: relative;
  transform: translateY(var(--pp-summary-y));
}
*/

/* 2) SOLID divider — REMOVED */
#pp-qty-summary::before,
#pp-qty-summary::after{
  display: none !important;
  content: none !important;
}

/* ============================================================
   PROJECT PRINT â€” FILEPOND UI POLISH (SAFE CSS ONLY)
   - No positioning overrides
   - No transforms
   - No height/overflow changes
   - Just typography, spacing, colour, subtle row styling
   Scope: .filepond--root.cl-upload--area
   ============================================================ */

/* Variables only - keeps base vars for later rules */
.filepond--root.cl-upload--area{
  --pp-cyan: #D4FF46;
  --pp-line: rgba(255,255,255,.10);
  --pp-text: rgba(255,255,255,.92);
  --pp-muted: rgba(255,255,255,.58);
}

/* DISABLED for new styled upload area - content positioning
.filepond--root.cl-upload--area .filepond--wrapper,
.filepond--root.cl-upload--area .filepond--drop-label,
.filepond--root.cl-upload--area .filepond--list-scroller,
.filepond--root.cl-upload--area .filepond--list{
  position: relative;
  z-index: 3;
}
*/


/* Label text styling */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area .filepond--drop-label label{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: rgba(255, 255, 255, 0.40) !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  cursor: pointer !important;
}

.filepond--root.cl-upload--area .filepond--drop-label label u{
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: all 0.2s ease !important;
}
*/

.filepond--root.cl-upload--area .filepond--drop-label label:hover u{
  color: #D4FF46 !important;
}

/* Hide default panels */
.filepond--root.cl-upload--area .filepond--panel-root{
  background: transparent !important;
  border: none !important;
}

/* List spacing */
.filepond--root.cl-upload--area .filepond--list{
  margin: 0;
  padding: 0;
}

/* Each item row: transparent, clean dividers */
.filepond--root.cl-upload--area .filepond--item{
  border-bottom: 1px solid var(--pp-line);
}
.filepond--root.cl-upload--area .filepond--item:last-child{
  border-bottom: 0;
}

/* The â€œfileâ€ inner bar â€” give it a subtle dark film (not a box) */
.filepond--root.cl-upload--area .filepond--file{
  background: linear-gradient(90deg, rgba(0,0,0,.22), rgba(0,0,0,.12)) !important;
  border-radius: 12px;
  padding: 10px 12px;
}

/* Typography */
.filepond--root.cl-upload--area .filepond--file-info-main{
  color: var(--pp-text) !important;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .01em;
}
.filepond--root.cl-upload--area .filepond--file-info-sub{
  color: var(--pp-muted) !important;
  font-weight: 600;
  font-size: 11px;
}
.filepond--root.cl-upload--area .filepond--file-status-main{
  color: var(--pp-text) !important;
  font-weight: 800;
  font-size: 11px;
}
.filepond--root.cl-upload--area .filepond--file-status-sub{
  color: var(--pp-muted) !important;
  font-weight: 600;
  font-size: 11px;
}

/* Progress indicators / icons (safe: just colour) */
.filepond--root.cl-upload--area .filepond--file-action-button{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.filepond--root.cl-upload--area .filepond--file-action-button svg,
.filepond--root.cl-upload--area .filepond--processing-complete-indicator svg,
.filepond--root.cl-upload--area .filepond--progress-indicator svg{
  stroke: var(--pp-cyan) !important;
  fill: none !important;
}

/* DISABLED - focus ring removed
.filepond--root.cl-upload--area:focus-within::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:16px;
  pointer-events:none;
  border: 1px solid rgba(187,164,255,.35);
  box-shadow: 0 0 0 3px rgba(187,164,255,.08);
  z-index:1;
}
*/

/* Mobile tightening */
@media (max-width: 749px){
  .filepond--root.cl-upload--area .filepond--drop-label{
    padding: 12px 14px;
    font-size: 11px;
  }
  .filepond--root.cl-upload--area .filepond--file{
    padding: 9px 10px;
  }
}

/* ============================================================
   PROJECT PRINT â€” FILEPOND (CLEAN CSS)
   - Crop marks only (no container/outline)
   - Label uses Shopify theme font (inherit), left aligned
   - Tight spacing to top line (less dead space)
   - Rows minimal + readable on dark bg
   - NO layout mechanics (no heights/positioning that breaks JS)
   Scope: .filepond--root.cl-upload--area
   ============================================================ */

/* DISABLED for new styled upload area
.filepond--root.cl-upload--area{
  --pp-cyan: #D4FF46;
  --pp-line: rgba(255,255,255,.10);
  --pp-text: rgba(255,255,255,.92);
  --pp-muted: rgba(255,255,255,.58);

  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 14px !important;
  overflow: visible !important;
  position: relative !important;
}

.filepond--root.cl-upload--area .filepond--wrapper,
.filepond--root.cl-upload--area .filepond--drop-label,
.filepond--root.cl-upload--area .filepond--list-scroller,
.filepond--root.cl-upload--area .filepond--list{
  position: relative;
  z-index: 3;
}
*/

/* No pseudo elements - clean container */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area::before,
.filepond--root.cl-upload--area::after{
  display: none !important;
}
*/

/* ---------- LABEL (standard text, left, tight spacing) ---------- */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area .filepond--drop-label{
  padding: 10px 14px 6px 14px !important;
  margin: 0 0 6px 0 !important;

  background: transparent !important;
  color: var(--pp-text) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;

  font-family: inherit !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: geometricPrecision !important;
  filter: none !important;
}
*/

/* Keep default FilePond label, just style it */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area .filepond--drop-label label{
  font-family: inherit !important;
  font-weight: 800 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
*/

/* Upload icon BEFORE the existing label text (does not replace text) */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area .filepond--drop-label label::before{
  content: "" !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-block !important;
  background: var(--pp-cyan) !important;
  opacity: .95 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l4.5 4.5-1.4 1.4L13 6.9V16h-2V6.9L8.9 8.9 7.5 7.5 12 3zm-7 16h14v2H5v-2z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3l4.5 4.5-1.4 1.4L13 6.9V16h-2V6.9L8.9 8.9 7.5 7.5 12 3zm-7 16h14v2H5v-2z'/%3E%3C/svg%3E") no-repeat center / contain;
}
*/

/* Browse link look */
.filepond--root.cl-upload--area .filepond--label-action{
  color: rgba(255,255,255,.92) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,.35) !important;
  padding-bottom: 2px !important;
}
.filepond--root.cl-upload--area .filepond--label-action:hover{
  border-bottom-color: rgba(187,164,255,.75) !important;
}

/* ---------- ITEMS (minimal) ---------- */

.filepond--root.cl-upload--area .filepond--list{
  margin: 0 !important;
  padding: 0 !important;
}

/* Clean divider only */
.filepond--root.cl-upload--area .filepond--item{
  border-bottom: 1px solid var(--pp-line) !important;
}
.filepond--root.cl-upload--area .filepond--item:last-child{
  border-bottom: 0 !important;
}

/* Keep the visible file bar subtle and dark (no â€œboxyâ€ feel) */
.filepond--root.cl-upload--area .filepond--file{
  background: rgba(0,0,0,.14) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
}

/* Text styling */
.filepond--root.cl-upload--area .filepond--file-info-main{
  color: var(--pp-text) !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}
.filepond--root.cl-upload--area .filepond--file-info-sub{
  color: var(--pp-muted) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
}
.filepond--root.cl-upload--area .filepond--file-status-main{
  color: var(--pp-text) !important;
  font-weight: 800 !important;
  font-size: 11px !important;
}
.filepond--root.cl-upload--area .filepond--file-status-sub{
  color: var(--pp-muted) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
}

/* Icons */
.filepond--root.cl-upload--area .filepond--file-action-button{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.filepond--root.cl-upload--area .filepond--file-action-button svg,
.filepond--root.cl-upload--area .filepond--processing-complete-indicator svg,
.filepond--root.cl-upload--area .filepond--progress-indicator svg{
  stroke: var(--pp-cyan) !important;
  fill: none !important;
}

/* Mobile tighten */
/* DISABLED for new styled upload area
@media (max-width: 749px){
  .filepond--root.cl-upload--area .filepond--drop-label{
    padding: 9px 12px 6px 12px !important;
    margin-bottom: 6px !important;
  }
  .filepond--root.cl-upload--area .filepond--drop-label label{
    font-size: 11px !important;
  }
}
*/

/* ============================================================
   PROJECT PRINT â€” FILEPOND TWEAKS (SAFE)
   Scope: .filepond--root.cl-upload--area
   ============================================================ */

/* =========================
   EASY TWEAKS
   ========================= */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area{
  --pp-label-pad-top: 10px;
  --pp-label-pad-x: 14px;
  --pp-label-pad-bottom: 8px;
  --pp-label-minh: 0px;
}
*/

/* =========================
   1) KILL HOVER / FOCUS BOX - OUTLINE ONLY
   ========================= */
.filepond--root.cl-upload--area,
.filepond--root.cl-upload--area:hover,
.filepond--root.cl-upload--area:focus,
.filepond--root.cl-upload--area:focus-within{
  outline: 0 !important;
  /* box-shadow now set in main container styling */
}

/* DISABLED - was killing the header text
.filepond--root.cl-upload--area::after,
.filepond--root.cl-upload--area:hover::after,
.filepond--root.cl-upload--area:focus-within::after{
  content: none !important;
}
*/

/* =========================
   2) LABEL POSITIONING
   - centred within crop marks
   - adjustable top spacing / "first line height"
   ========================= */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area .filepond--drop-label{
  padding:
    var(--pp-label-pad-top)
    var(--pp-label-pad-x)
    var(--pp-label-pad-bottom)
    var(--pp-label-pad-x) !important;

  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  min-height: var(--pp-label-minh) !important;
}

.filepond--root.cl-upload--area .filepond--drop-label label{
  justify-content: center !important;
  text-align: center !important;
}

.filepond--root.cl-upload--area .filepond--label-action{
  display: inline-block !important;
}
*/

/* ============================================================
   PROJECT PRINT â€” KILL WHITE BAR (POST DOM-MOVE SAFETY)
   Scope: .filepond--root.cl-upload--area
   ============================================================ */

/* The â€œwhite barâ€ is the drop label + its internal label element background */
.filepond--root.cl-upload--area .filepond--drop-label,
.filepond--root.cl-upload--area .filepond--drop-label *{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* FilePondâ€™s panel system can also flash white */
.filepond--root.cl-upload--area .filepond--panel-root,
.filepond--root.cl-upload--area [class*="filepond--panel"]{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Safety: some themes apply a white "focus ring" background via pseudo elements */
/* DISABLED for new styled upload area
.filepond--root.cl-upload--area .filepond--drop-label::before,
.filepond--root.cl-upload--area .filepond--drop-label::after{
  background: transparent !important;
  box-shadow: none !important;
  content: none !important;
}
*/

/* ============================================================
   PROJECT PRINT â€” FILEPOND LABEL TEXT CENTRING (TEXT ONLY)
   ============================================================ */

/* DISABLED for new styled upload area
.filepond--root.cl-upload--area{
  --pp-label-text-offset: 28px;
  --pp-label-line-height: 1.2;
}

.filepond--root.cl-upload--area .filepond--drop-label label{
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  line-height: var(--pp-label-line-height) !important;

  transform: translateY(var(--pp-label-text-offset)) !important;

  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: geometricPrecision !important;
}
*/

/* =========================================================
   PROJECT PRINT â€” CUSTOM CSS (CLEANED)
   ---------------------------------------------------------
   - ALL product image & thumbnail styling REMOVED
   - Impulse product gallery restored to DEFAULT
   - Everything else preserved exactly as before
   ========================================================= */


/* =========================================================
   GLOBAL VARIABLES (UNCHANGED)
   ========================================================= */
:root {
  --pp-bg-main: #050914;
  --pp-bg-soft: #08111f;
  --pp-bg-deep: #020610;

  --pp-text-main: #e8f1ff;
  --pp-text-muted: rgba(232, 241, 255, 0.65);

  --pp-accent: #D4FF46;
  --pp-accent-soft: rgba(187,164,255, 0.35);

  --pp-border-subtle: rgba(255, 255, 255, 0.08);
}


/* =========================================================
   GENERAL PRODUCT PAGE LAYOUT (UNCHANGED)
   ========================================================= */
.template-product {
  background: transparent;
}


/* ============================================================
   PP PRODUCT THUMBNAILS - CLEAN STYLE
   ============================================================ */

/* Remove ALL borders from thumbnail items */
html body.template-product .product__thumb-item,
html body.template-product .product__thumb-item a,
html body.template-product .product__thumb,
html body.template-product .product__thumb .image-wrap {
  border: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* All thumbnails - dimmed by default */
html body.template-product .product__thumb-item {
  opacity: 0.4 !important;
  transition: opacity 0.2s ease !important;
}

html body.template-product .product__thumb-item:hover {
  opacity: 0.7 !important;
}

/* Active thumbnail - full opacity only */
html body.template-product .product__thumb-item:has(a.is-active),
html body.template-product .product__thumb-item a.is-active {
  opacity: 1 !important;
}

/* Kill ALL pseudo-elements that might add borders */
html body.template-product .product__thumb-item a:before,
html body.template-product .product__thumb-item a:after,
html body.template-product .product__thumb-item a.is-active:before,
html body.template-product .product__thumb-item a.is-active:after,
html body.template-product .product__thumb-item a:focus:before,
html body.template-product .product__thumb-item a:focus:after,
html body.template-product .product__thumb:before,
html body.template-product .product__thumb:after {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
  border: none !important;
}


/* ============================================================
   PP HIDE ORIGINAL PRODUCT TABS (moved to Build Intel section)
   ============================================================ */
html body.template-product .collapsibles-wrapper.collapsibles-wrapper--border-bottom {
  display: none !important;
}


/* ============================================================
   PP PRODUCT TITLE - MATCH PRICE FONT
   ============================================================ */
html body.template-product .product-single__title,
html body.template-product h1.product-single__title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 950 !important;
  font-style: normal !important;
  letter-spacing: 0.01em !important;
  line-height: 1.05 !important;
}

/* ============================================================
   PP HISTORY_LOG - RECENTLY VIEWED SECTION
   ============================================================ */

/* Header styling */
.pp-history-section .pp-history__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
  margin-bottom: 50px !important;
}

/* Line divider between title and counter */
.pp-history-section .pp-history__header::before {
  content: '' !important;
  display: block !important;
  flex: 1 !important;
  height: 1px !important;
  background: rgba(40, 70, 110, 0.4) !important;
  order: 2 !important;
  margin: 0 30px !important;
}

/* Title - EXACT same font as Studio Support (950 weight, thick bold) */
.pp-history-section .pp-history__title {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 48px !important;
  font-weight: 950 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin: 0 !important;
  order: 1 !important;
  line-height: 1.0 !important;
}

/* Counter - navy-tinted grey, positioned on RIGHT after divider */
.pp-history-section .pp-history__counter {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.40) !important;
  order: 3 !important;
  white-space: nowrap !important;
}

/* Recently-viewed reinforces the global card style — no overrides needed */
/* Price: show in recently-viewed (matches global) */
.pp-history-section .grid-product__price {
  display: block !important;
}
.pp-history-section .grid-product__tag {
  display: none !important;
}


/* Kill theme pseudo-elements (angled corners etc) on ATC button */
html body.template-product .payment-buttons .add-to-cart::before,
html body.template-product .payment-buttons .add-to-cart::after,
html body.template-product form[action*="/cart/add"] button[name="add"]::before,
html body.template-product form[action*="/cart/add"] button[name="add"]::after {
  display: none !important;
  content: none !important;
}


/* ============================================================
   PP UPLOAD AREA - CLEAN SIMPLE STYLE
   ============================================================ */

/* Main container — glass card aligned */
html body .filepond--root.cl-upload--area {
  position: relative !important;
  overflow: visible !important;
  border-radius: 14px !important;

  background: rgba(0, 0, 0, 0.3) !important;
  
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  
  box-shadow: 
    0 4px 30px rgba(0, 0, 0, 0.4),
    0 8px 32px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;

  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  
  transform: none !important;
  transition: all 0.25s ease !important;
  
  min-height: 110px !important;
  height: auto !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0 !important;
  cursor: pointer !important;
  contain: none !important;
}

/* When files exist, stack from the top to make room for the list */
html body .filepond--root.cl-upload--area.filepond--has-items{
  justify-content: flex-start !important;
  gap: 12px !important; /* Only add space between label and list when items exist */
  padding-bottom: 4px !important; /* Keep bottom tight when files exist */
  padding-top: 12px !important;   /* Preserve top breathing room */
}

/* Hide default panels - but NOT list-scroller */
html body .filepond--root.cl-upload--area .filepond--panel-root,
html body .filepond--root.cl-upload--area .filepond--panel {
  display: none !important;
}

/* Wrapper - allow expansion */
html body .filepond--root.cl-upload--area .filepond--wrapper {
  width: 100% !important;
  position: relative !important;
  contain: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important; /* center label in empty state */
  flex: 1 1 auto !important;
  min-height: 100% !important;
}

/* Drop label - FLEX row: icon | text | browse */
html body .filepond--root.cl-upload--area .filepond--drop-label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 8px 0 !important; /* Balanced vertical padding */
  margin: 0 !important;
  position: relative !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* Icon box - LEFT with more padding */
html body .filepond--root.cl-upload--area .filepond--drop-label::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(0, 180, 220, 0.08) !important;
  border: 1px solid rgba(0, 200, 240, 0.15) !important;
  border-radius: 6px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300d4ff' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px !important;
}

/* Label text - TRUE CENTER */
html body .filepond--root.cl-upload--area .filepond--drop-label label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  color: transparent !important;
  text-align: center !important;
}

/* Main text - matching pricing/units font */
html body .filepond--root.cl-upload--area .filepond--drop-label label::before {
  content: "DRAG & DROP YOUR FILES" !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  font-style: normal !important;
  color: #fff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 4px !important;
}

/* File types - fixed bullets */
html body .filepond--root.cl-upload--area .filepond--drop-label label::after {
  content: "AI  \2022  EPS  \2022  PDF  \2022  SVG  \2022  PNG  \2022  JPG" !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  color: rgba(187,164,255, 0.5) !important;
  letter-spacing: 0.08em !important;
}

/* Browse button - RIGHT positioned */
html body .filepond--root.cl-upload--area .filepond--drop-label label u {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 4px !important;
  padding: 6px 14px !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  letter-spacing: 0.1em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

html body .filepond--root.cl-upload--area .filepond--drop-label label u:hover {
  border-color: #D4FF46 !important;
  color: #D4FF46 !important;
}

/* Remove focus/active/selection outlines for INNER elements only (not container) */
html body .filepond--root.cl-upload--area .filepond--wrapper,
html body .filepond--root.cl-upload--area .filepond--drop-label,
html body .filepond--root.cl-upload--area .filepond--drop-label label,
html body .filepond--root.cl-upload--area .filepond--drop-label label u,
html body .filepond--root.cl-upload--area input {
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

html body .filepond--root.cl-upload--area *:focus,
html body .filepond--root.cl-upload--area *:focus-within,
html body .filepond--root.cl-upload--area *:focus-visible,
html body .filepond--root.cl-upload--area *:active {
  outline: none !important;
}

/* ============================================================
   SHOW UPLOADED FILES - INSIDE CONTAINER
   ============================================================ */

/* File list scroller - INSIDE the dotted container */
html body .filepond--root.cl-upload--area .filepond--list-scroller {
  position: relative !important;
  width: 100% !important;
  margin-top: 0 !important;        /* No extra bottom space when empty */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  transform: none !important;
  contain: none !important;
  display: block !important;
}

/* Add breathing room only once files exist */
html body .filepond--root.cl-upload--area.filepond--has-items .filepond--list-scroller {
  margin-top: 10px !important;
  padding-top: 4px !important;
  padding-bottom: 0 !important; /* Trim bottom space */
}

/* When items exist, let wrapper stack from the top */
html body .filepond--root.cl-upload--area.filepond--has-items .filepond--wrapper {
  align-items: flex-start !important;
  justify-content: flex-start !important;
  flex: 0 1 auto !important;
}

html body .filepond--root.cl-upload--area .filepond--list {
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  display: block !important;
}

/* Style uploaded file items */
html body .filepond--root.cl-upload--area .filepond--item {
  position: relative !important;
  width: 100% !important;
  height: 50px !important;
  margin: 0 0 6px 0 !important; /* Slightly tighter vertical spacing */
  transform: none !important;
  left: 0 !important;
  top: 0 !important;
}

html body .filepond--root.cl-upload--area .filepond--item:last-child {
  margin-bottom: 0 !important;
}

html body .filepond--root.cl-upload--area .filepond--item-panel {
  background: rgba(6, 18, 38, 0.8) !important;
  border: 1px solid rgba(0, 200, 240, 0.12) !important;
  border-radius: 6px !important;
}

html body .filepond--root.cl-upload--area .filepond--file {
  color: #fff !important;
}

html body .filepond--root.cl-upload--area .filepond--file-info {
  color: rgba(255, 255, 255, 0.8) !important;
}

html body .filepond--root.cl-upload--area .filepond--file-info-main {
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  max-width: 200px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body .filepond--root.cl-upload--area .filepond--file-info-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 8px !important;
  color: rgba(187,164,255, 0.5) !important;
}

/* File status text */
html body .filepond--root.cl-upload--area .filepond--file-status {
  font-family: 'Inter', sans-serif !important;
}

html body .filepond--root.cl-upload--area .filepond--file-status-main {
  font-size: 10px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

html body .filepond--root.cl-upload--area .filepond--file-status-sub {
  font-size: 8px !important;
  color: rgba(255, 255, 255, 0.40) !important;
}

/* Progress indicator */
html body .filepond--root.cl-upload--area .filepond--progress-indicator {
  color: #D4FF46 !important;
}

html body .filepond--root.cl-upload--area .filepond--load-indicator {
  color: #D4FF46 !important;
}

/* Action buttons on uploaded files */
html body .filepond--root.cl-upload--area .filepond--action-remove-item,
html body .filepond--root.cl-upload--area .filepond--action-abort-item-load,
html body .filepond--root.cl-upload--area .filepond--action-retry-item-load,
html body .filepond--root.cl-upload--area .filepond--action-abort-item-processing,
html body .filepond--root.cl-upload--area .filepond--action-retry-item-processing,
html body .filepond--root.cl-upload--area .filepond--action-revert-item-processing {
  color: rgba(255, 255, 255, 0.40) !important;
  cursor: pointer !important;
}

html body .filepond--root.cl-upload--area .filepond--action-remove-item:hover,
html body .filepond--root.cl-upload--area [class*="filepond--action"]:hover {
  color: #ff6b6b !important;
}

/* Error state styling */
html body .filepond--root.cl-upload--area [data-filepond-item-state="load-invalid"] .filepond--item-panel,
html body .filepond--root.cl-upload--area [data-filepond-item-state="processing-error"] .filepond--item-panel {
  background: rgba(255, 80, 80, 0.1) !important;
  border-color: rgba(255, 80, 80, 0.25) !important;
}

/* Success state */
html body .filepond--root.cl-upload--area [data-filepond-item-state="processing-complete"] .filepond--item-panel {
  background: rgba(0, 200, 150, 0.1) !important;
  border-color: rgba(0, 200, 150, 0.2) !important;
}

html body .filepond--root.cl-upload--area .filepond--drop-label label u:hover {
  border-color: #D4FF46 !important;
  color: #D4FF46 !important;
  box-shadow: 0 0 12px rgba(187,164,255, 0.25) !important;
}

/* ============================================================
   FINAL OVERRIDES - SUBTLE GLASS EFFECT + NEON SELECTED
   ============================================================ */

/* BASE STYLE — GLASS CARD ALIGNED */
html body.template-product .cl-po--wrapper .pp-tier,
html body.template-product .cl-po--wrapper .cl-po--radio-item {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 30px rgba(0,0,0,0.4), 0 8px 32px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.03) !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
}

/* SELECTED TIER — teal accent */
html body.template-product .cl-po--wrapper .pp-tier-item.cl-po--selected .pp-tier,
html body.template-product .cl-po--wrapper .pp-tier-item:has(input:checked) .pp-tier,
html body.template-product .cl-po--wrapper .cl-po--radio-item.cl-po--selected,
html body.template-product .cl-po--wrapper .cl-po--radio-item:has(input:checked) {
  background: rgba(0, 0, 0, 0.5) !important;
  border-color: rgba(187,164,255, 0.25) !important;
  box-shadow: 0 0 0 1px rgba(187,164,255,0.15), 0 4px 16px rgba(0,0,0,0.2), 0 0 30px rgba(187,164,255,0.08) !important;
}

/* CHECKBOX ITEMS — glass card aligned */
html body.template-product .cl-po--wrapper label.cl-po--checkbox-item {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 30px rgba(0,0,0,0.4), 0 8px 32px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.03) !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
}

/* SELECTED CHECKBOX — teal accent */
html body.template-product .cl-po--wrapper label.cl-po--checkbox-item:has(input:checked) {
  background: rgba(0, 0, 0, 0.5) !important;
  border-color: rgba(187,164,255, 0.25) !important;
  box-shadow: 0 0 0 1px rgba(187,164,255,0.15), 0 4px 16px rgba(0,0,0,0.2), 0 0 30px rgba(187,164,255,0.08) !important;
}

/* UPLOAD AREA — glass card aligned */
html body.template-product .filepond--root.cl-upload--area {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 30px rgba(0,0,0,0.4), 0 8px 32px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.03) !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
}

/* ============================================================
   GLOBAL PREMIUM TYPOGRAPHY SYSTEM
   Matches the product page aesthetic across entire site
   ============================================================ */

/* Import Inter font with all weights */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* Root typography variables */
:root {
  --pp-font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --pp-font-weight-light: 300;
  --pp-font-weight-normal: 400;
  --pp-font-weight-medium: 500;
  --pp-font-weight-semibold: 600;
  --pp-font-weight-bold: 700;
  --pp-font-weight-extrabold: 800;
  --pp-font-weight-black: 900;
  
  /* Premium colors */
  --pp-text-primary: #ffffff;
  --pp-text-secondary: #D2CDDF;
  --pp-text-muted: rgba(255, 255, 255, 0.40);
  --pp-accent: #D4FF46;
  --pp-accent-hover: #BBA4FF;
  --pp-lime: #D4FF46;
  --pp-lavender: #BBA4FF;
  --pp-dark: #0C0B14;
}

/* Global body font */
html body {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-normal);
  color: var(--pp-text-primary);
  background-color: var(--pp-dark);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* All headings - Bold premium style */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .h1,
html body .h2,
html body .h3,
html body .h4,
html body .h5,
html body .h6 {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-black) !important;
  letter-spacing: 0.02em;
  line-height: 1.1;
}

/* Page titles */
html body .page-title,
html body .section-header__title,
html body .collection-hero__title {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-black) !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Navigation */
html body .site-nav__link,
html body .site-nav__dropdown-link,
html body .mobile-nav__link {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-semibold) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Buttons - Premium style */
html body .btn,
html body button,
html body input[type="submit"],
html body input[type="button"],
html body .shopify-payment-button__button {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-bold) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Product titles in grids - BOLD like units (NOT italic) */
html body .grid-product__title,
html body .product-single__title,
html body .cart__product-title {
  font-family: var(--pp-font-primary) !important;
  font-weight: 950 !important;
  letter-spacing: 0.03em;
  font-style: normal !important;
}

/* Product title parts - FORCE thick bold, NO italic */
html body .product-single__title .title-part-main,
html body .product-single__title .title-part-highlight,
html body .title-part-main,
html body .title-part-highlight {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 950 !important;
  font-style: normal !important;
  letter-spacing: 0.02em !important;
}

/* PP Label Title (SOFT PVC KEYRINGS on product image) - FORCE thick bold, NO italic */
html body .pp-label-title {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 950 !important;
  font-style: normal !important;
  letter-spacing: 0.02em !important;
}

/* Product card badge - FORCE position to RIGHT */
html body .grid-product__content .grid-product__tag,
html body .grid-product__tag.grid-product__tag--custom,
html body .grid-product__tag.grid-product__tag--sale,
html body .grid-product__tag.grid-product__tag--sold-out,
html body div.grid-product__tag {
  position: absolute !important;
  left: auto !important;
  right: 12px !important;
  top: 12px !important;
  font-family: var(--pp-font-primary) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 9px !important;
  padding: 6px 10px !important;
  border-radius: 6px !important;
}

/* Per-product "from" price on collection grid */
.grid-product__pp-from {
  display: block;
  font-size: 12px;
  font-family: var(--pp-font-primary);
  font-weight: 400;
  color: rgba(255,255,255,0.65);
  line-height: 1.3;
  margin-top: 2px;
}
.grid-product__pp-from strong {
  color: #D4FF46;
  font-weight: 700;
  font-size: 14px;
}
.grid-product__excl-vat {
  font-size: 10px;
  opacity: 0.6;
  font-weight: 400;
}

/* Prices */
html body .grid-product__price,
html body .product__price,
html body .price,
html body .money {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-bold) !important;
}

/* Body text / paragraphs */
html body p,
html body .rte,
html body .product-description {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-normal);
  line-height: 1.7;
  color: var(--pp-text-secondary);
}

/* Labels and small text */
html body label,
html body .form__label,
html body .cart__meta,
html body small {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-medium) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 11px;
  color: var(--pp-text-muted);
}

/* Input fields */
html body input,
html body textarea,
html body select {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-medium);
}

/* Footer */
html body .site-footer,
html body .site-footer__linklist-item a,
html body .footer__title {
  font-family: var(--pp-font-primary) !important;
}

html body .footer__title {
  font-weight: var(--pp-font-weight-bold) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Announcement bar */
html body .announcement-bar {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-semibold) !important;
  letter-spacing: 0.08em;
}

/* Breadcrumbs */
html body .breadcrumb a,
html body .breadcrumb span {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-medium) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 10px;
  color: var(--pp-text-muted);
}

/* Collection page */
html body .collection-hero__title {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-black) !important;
  letter-spacing: 0.05em;
}

/* Cart drawer */
html body .drawer__title,
html body .cart__title {
  font-family: var(--pp-font-primary) !important;
  font-weight: var(--pp-font-weight-black) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Links */
html body a {
  transition: color 0.2s ease;
}

html body a:hover {
  color: var(--pp-accent);
}

/* All teal (#D4FF46) buttons: lock black text on hover so it never disappears */
html body [class*="pp-"][class*="btn"]:hover,
html body [class*="pp-"][class*="cta"]:hover,
html body [class*="pp-"][class*="quote"]:hover,
html body .pp-sticky-quote:hover,
html body .pp-pc__cta:hover {
  color: #000 !important;
}

/* Accent color for interactive elements */
html body .accent-text,
html body .link--accent {
  color: var(--pp-accent) !important;
}

/* Section headers */
html body .section-header {
  text-align: center;
}

html body .section-header__title {
  font-size: clamp(24px, 4vw, 42px);
  margin-bottom: 1rem;
}

/* Ensure consistent styling on all templates */
html body.template-index,
html body.template-collection,
html body.template-product,
html body.template-page,
html body.template-blog,
html body.template-article,
html body.template-cart,
html body.template-search {
  font-family: var(--pp-font-primary) !important;
}

/* ============================================================
   FINAL OVERRIDES - Product Card Tag Position & Title Font
   ============================================================ */

/* Product title - thick bold, NO italic */
.grid-product__title {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 950 !important;
  font-style: normal !important;
  letter-spacing: 0.02em !important;
}

/* Product card tag/badge - MUST be on RIGHT */
.grid-product__tag {
  position: absolute !important;
  left: auto !important;
  right: 12px !important;
  top: 12px !important;
}

/* PP Studio Badge - FORCE to RIGHT, pill shape, solid dark blue */
.pp-studio-badge {
  position: absolute !important;
  left: auto !important;
  right: 20px !important;
  top: 20px !important;
  z-index: 10 !important;
  border-radius: 50px !important;
  background: #0C0B14 !important;
  border: none !important;
  padding: 8px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  color: #D4FF46 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

/* Product card title - thick bold font like units (NO italic) */
.pp-product-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 950 !important;
  font-style: normal !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  color: #ffffff !important;
}

/* ============================================================
   COOKIE CONSENT - Match dark theme
   ============================================================ */
.shopify-pc__banner,
.shopify-pc-wrapper,
[class*="cookie-consent"],
[class*="CookieConsent"],
.cc-window {
  background: linear-gradient(165deg, rgba(12,11,20, 0.98) 0%, rgba(12,11,20, 0.99) 50%, rgba(12,11,20, 1) 100%) !important;
  border: 1px solid rgba(187,164,255, 0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: blur(16px) !important;
  color: #ffffff !important;
}

.shopify-pc__banner *,
.shopify-pc-wrapper *,
[class*="cookie-consent"] *,
[class*="CookieConsent"] * {
  color: rgba(180, 200, 220, 0.9) !important;
  font-family: 'Inter', sans-serif !important;
}

.shopify-pc__banner h1,
.shopify-pc__banner h2,
.shopify-pc__banner h3,
.shopify-pc__banner strong,
.shopify-pc-wrapper h1,
.shopify-pc-wrapper h2,
.shopify-pc-wrapper h3,
[class*="cookie"] h1,
[class*="cookie"] h2,
[class*="cookie"] strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Cookie consent buttons */
.shopify-pc__banner button,
.shopify-pc-wrapper button,
[class*="cookie-consent"] button,
[class*="CookieConsent"] button {
  background: #0C0B14 !important;
  border: 1px solid rgba(187,164,255, 0.5) !important;
  border-radius: 8px !important;
  color: #D4FF46 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  transition: all 0.2s ease !important;
}

.shopify-pc__banner button:hover,
.shopify-pc-wrapper button:hover,
[class*="cookie-consent"] button:hover {
  background: #0f2240 !important;
  border-color: #D4FF46 !important;
}

/* Primary/Accept button */
.shopify-pc__banner button[class*="accept"],
.shopify-pc__banner button[class*="Accept"],
.shopify-pc-wrapper button[class*="accept"] {
  background: #D4FF46 !important;
  color: #0C0B14 !important;
  border-color: #D4FF46 !important;
}

.shopify-pc__banner button[class*="accept"]:hover,
.shopify-pc-wrapper button[class*="accept"]:hover {
  background: #BBA4FF !important;
}

/* ============================================================
   CART DRAWER styling has moved to sections/cart-overlay-premium
   Only cart PAGE and product tier rules remain here
   ============================================================ */

/* Cart Page specific */
html body .template-cart .main-content,
html body .template-cart .page-content {
  background: linear-gradient(165deg, rgba(12,11,20, 0.99) 0%, rgba(12,11,20, 1) 50%, rgba(12,11,20, 1) 100%) !important;
}

html body .template-cart .cart__page {
  background: transparent !important;
}

/* =========================================================
   FIX: Hide stray LPO junk in the tier grid — NEVER target swatches
   (Swatches live as siblings inside .pp-tier-grid; old rules hid
   child 7+ and every non-.pp-tier-item, which capped colours at 6
   and set pointer-events:none so nothing was clickable.)
   ========================================================= */

/* Hide pricing tier pills beyond the 6th tier row only */
html body.template-product .cl-po--wrapper .pp-tier-grid > .pp-tier-item:nth-child(n+7) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Hide stray quantity wrappers that appear in the tier grid */
html body.template-product .cl-po--wrapper .pp-tier-grid .cl-po--quantity,
html body.template-product .cl-po--wrapper .pp-tier-grid .cl-po--quantity-wrap,
html body.template-product .cl-po--wrapper .pp-tier-grid .cl-po--quantity-wrapper,
html body.template-product .cl-po--wrapper .pp-tier-grid [class*="quantity"],
html body.template-product .cl-po--wrapper .pp-tier-grid [class*="qty-"]:not(.pp-tier__qty) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* ============================================================
   PP — GLOBAL CARD ALIGNMENT  (v2)
   Exact copy of pp-services__card values from homepage.
   High-specificity to override earlier LPO rules.
   ============================================================ */

/* ---------- Pricing Tier Pills ---------- */
html body .cl-po--wrapper .pp-tier,
html body.template-product .cl-po--wrapper .pp-tier{
  border-radius: 16px !important;
  background: rgba(0, 0, 0, 0.3) !important;
  background-image: none !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.3),
    0 8px 60px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html body .cl-po--wrapper .pp-tier-grid .pp-tier-item:hover .pp-tier{
  border-color: rgba(255, 255, 255, 0.08) !important;
  background: rgba(0, 0, 0, 0.4) !important;
  box-shadow:
    0 8px 40px rgba(0, 0, 0, 0.5),
    0 16px 80px rgba(0, 0, 0, 0.2),
    0 0 40px rgba(187,164,255, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  transform: translateY(-4px) !important;
}

/* Selected tier pill */
html body .cl-po--wrapper .pp-tier-grid .pp-tier-item.cl-po--selected .pp-tier,
html body .cl-po--wrapper .pp-tier-grid .pp-tier-item:has(input[type="radio"]:checked) .pp-tier{
  border-color: rgba(187,164,255, 0.25) !important;
  background: rgba(0, 0, 0, 0.4) !important;
  box-shadow:
    0 0 0 1px rgba(187,164,255, 0.15),
    0 4px 16px rgba(0, 0, 0, 0.2),
    0 0 30px rgba(187,164,255, 0.04),
    inset 0 1px 0 rgba(187,164,255, 0.06) !important;
}

/* "MOST POPULAR" badge */
html body .cl-po--wrapper .pp-tier__badge,
html body .cl-po--wrapper [class*="badge"],
html body .cl-po--wrapper [class*="popular"]{
  background: #D4FF46 !important;
  color: #000 !important;
  border-color: #D4FF46 !important;
  border-radius: 100px !important;
}

/* Tier unit price */
html body .cl-po--wrapper .pp-tier__each,
html body .cl-po--wrapper .pp-tier__unit{
  color: rgba(187,164,255, 0.7) !important;
}

/* ---------- Addon / Upgrade Rows — fused glass container ---------- */
html body .cl-po--wrapper label.cl-po--checkbox-item{
  border-radius: 0 !important;
  background: rgba(0, 0, 0, 0.3) !important;
  background-image: none !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.48) !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  transform: none !important;
}
html body .cl-po--wrapper label.cl-po--checkbox-item + label.cl-po--checkbox-item{
  border-top: none !important;
}

html body .cl-po--wrapper label.cl-po--checkbox-item:hover{
  background: rgba(0, 0, 0, 0.4) !important;
  color: rgba(255, 255, 255, 0.75) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Selected addon */
html body .cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked){
  color: #ffffff !important;
  border-bottom-color: transparent !important;
  background: rgba(187,164,255, 0.06) !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Radio dot → teal */
html body .cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked)::before{
  background: radial-gradient(circle, #D4FF46 40%, transparent 45%) !important;
  border-color: #D4FF46 !important;
  box-shadow: 0 0 8px rgba(187,164,255, 0.35) !important;
}

html body .cl-po--wrapper label.cl-po--checkbox-item:hover::before{
  border-color: rgba(187,164,255, 0.5) !important;
}

/* Addon price */
html body .cl-po--wrapper label.cl-po--checkbox-item .pp-addon-price,
html body .cl-po--wrapper .pp-addon-price{
  color: rgba(255, 255, 255, 0.30) !important;
}
html body .cl-po--wrapper label.cl-po--checkbox-item:hover .pp-addon-price{
  color: rgba(255, 255, 255, 0.48) !important;
}
html body .cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked) .pp-addon-price{
  color: rgba(187,164,255, 0.7) !important;
}

/* ---------- Upload Area ---------- */
html body .filepond--root.cl-upload--area{
  border-radius: 16px !important;
  background: rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.04) !important;
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.3),
    0 8px 60px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* Upload icon box */
html body .filepond--root.cl-upload--area .filepond--drop-label::before{
  background: rgba(187,164,255, 0.06) !important;
  border: 1px solid rgba(187,164,255, 0.10) !important;
  border-radius: 10px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4FF46' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") !important;
}

/* Upload file types */
html body .filepond--root.cl-upload--area .filepond--drop-label label::after{
  color: rgba(187,164,255, 0.40) !important;
}

/* Browse button */
html body .filepond--root.cl-upload--area .filepond--drop-label label u{
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  color: rgba(255, 255, 255, 0.6) !important;
}
html body .filepond--root.cl-upload--area .filepond--drop-label label u:hover{
  border-color: rgba(187,164,255, 0.25) !important;
  color: rgba(187,164,255, 0.7) !important;
}

/* ---------- Section headers ---------- */
html body .cl-po--wrapper .cl-po--label,
html body .cl-po--wrapper [class*="section-header"],
html body .cl-po--wrapper [class*="group-title"],
html body .cl-po--wrapper h3,
html body .cl-po--wrapper h4{
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.40) !important;
}

/* ============================================================
   PP — HOMEPAGE GLASS ALIGNMENT (PRODUCT PAGE LPO ELEMENTS)
   Matches: --glass-bg, --glass-border, --glass-radius, --accent
   Source:  pp-liquid-glass.liquid homepage design system
   ============================================================ */

/* ── 1. TIER PILLS — match glass cards ── */
html body .cl-po--wrapper .pp-tier {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.4),
    0 8px 32px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
  padding: 18px 16px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Tier hover */
@media (hover:hover){
  html body .cl-po--wrapper .pp-tier-grid .pp-tier-item:hover .pp-tier {
    border-color: rgba(255, 255, 255, 0.06) !important;
    background: rgba(0, 0, 0, 0.4) !important;
    box-shadow:
      0 4px 16px rgba(0, 0, 0, 0.2),
      0 12px 48px rgba(0, 0, 0, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  }
}

/* Tier selected */
html body .cl-po--wrapper .pp-tier-grid .pp-tier-item.cl-po--selected .pp-tier,
html body .cl-po--wrapper .pp-tier-grid .pp-tier-item:has(input[type="radio"]:checked) .pp-tier {
  border-color: rgba(187,164,255, 0.25) !important;
  background: rgba(0, 0, 0, 0.5) !important;
  box-shadow:
    0 0 0 1px rgba(187,164,255, 0.15),
    0 4px 16px rgba(0, 0, 0, 0.2),
    0 12px 48px rgba(0, 0, 0, 0.15),
    0 0 30px rgba(187,164,255, 0.08) !important;
}

/* Tier selected price colour — teal accent */
html body .cl-po--wrapper .pp-tier-grid .pp-tier-item.cl-po--selected .pp-tier__unit,
html body .cl-po--wrapper .pp-tier-grid .pp-tier-item:has(input[type="radio"]:checked) .pp-tier__unit {
  color: #D4FF46 !important;
}

/* Tier text colours */
html body .cl-po--wrapper .pp-tier__qty {
  color: rgba(255, 255, 255, 0.90) !important;
}
html body .cl-po--wrapper .pp-tier__units {
  color: rgba(255, 255, 255, 0.35) !important;
}
html body .cl-po--wrapper .pp-tier__unit {
  color: rgba(255, 255, 255, 0.70) !important;
}
html body .cl-po--wrapper .pp-tier__each {
  color: rgba(255, 255, 255, 0.30) !important;
}

/* Most Popular badge — teal accent */
html body .cl-po--wrapper .pp-tier .pp-badge-popular,
html body .cl-po--wrapper .pp-tier .pp-most-popular,
html body .cl-po--wrapper .pp-tier-item.pp-most-popular .pp-tier .pp-badge-popular,
html body .cl-po--wrapper .pp-tier-item.pp-most-popular .pp-badge-popular {
  background: rgba(0, 0, 0, 0.85) !important;
  border: 1px solid rgba(187,164,255, 0.35) !important;
  color: #D4FF46 !important;
}
html body .cl-po--wrapper .pp-tier .pp-badge-popular::before,
html body .cl-po--wrapper .pp-tier .pp-most-popular::before {
  color: #D4FF46 !important;
}

/* ── 2. ADDON CARDS — fused glass container ── */
html body .cl-po--wrapper label.cl-po--checkbox-item {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
  border-radius: 0 !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.50) !important;
  margin: 0 !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
html body .cl-po--wrapper label.cl-po--checkbox-item + label.cl-po--checkbox-item {
  border-top: none !important;
}
html body .cl-po--wrapper label.cl-po--checkbox-item:last-child,
html body .cl-po--wrapper label.cl-po--checkbox-item:last-of-type {
  border-bottom-color: rgba(255, 255, 255, 0.03) !important;
}

/* Addon hover */
@media (hover:hover){
  html body .cl-po--wrapper label.cl-po--checkbox-item:hover {
    background: rgba(0, 0, 0, 0.4) !important;
  }
}

/* Addon radio dot — teal */
html body .cl-po--wrapper label.cl-po--checkbox-item::before {
  border-color: rgba(255, 255, 255, 0.15) !important;
}
html body label.cl-po--checkbox-item:has(input[type="checkbox"]:checked)::before {
  background: radial-gradient(circle, #D4FF46 40%, transparent 45%) !important;
  border-color: #D4FF46 !important;
  box-shadow: 0 0 8px rgba(187,164,255, 0.35) !important;
}

/* Addon selected state */
html body label.cl-po--checkbox-item:has(input[type="checkbox"]:checked) {
  color: rgba(255, 255, 255, 0.85) !important;
  background: rgba(0, 0, 0, 0.5) !important;
  border-color: rgba(187,164,255, 0.25) !important;
  box-shadow:
    0 0 0 1px rgba(187,164,255, 0.15),
    0 4px 16px rgba(0, 0, 0, 0.2),
    0 12px 48px rgba(0, 0, 0, 0.15),
    0 0 30px rgba(187,164,255, 0.08) !important;
}

/* ── 3. UPLOAD AREA — match glass cards ── */
html body .filepond--root.cl-upload--area {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.4),
    0 8px 32px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
html body .filepond--root.cl-upload--area:hover {
  border-color: rgba(255, 255, 255, 0.06) !important;
  background: rgba(0, 0, 0, 0.4) !important;
}

/* ── 4. PRICE SUMMARY — match glass ── */
html body .pp-qty-summary {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.4),
    0 8px 32px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
  padding: 16px 20px !important;
  margin: 16px 0 !important;
}
html body .pp-qty-summary__divider {
  display: none !important;
}
html body .pp-qty-summary__label {
  color: rgba(255, 255, 255, 0.40) !important;
}
html body .pp-qty-summary__ex {
  color: rgba(255, 255, 255, 0.90) !important;
}
html body .pp-qty-summary__inc {
  color: rgba(255, 255, 255, 0.40) !important;
}
html body .pp-qty-summary__sep {
  background: #D4FF46 !important;
  box-shadow: 0 0 10px rgba(187,164,255, 0.25) !important;
}

/* ── 5. PRICE BAR — outer wrapper is transparent, only __content gets glass ── */
html body .pp-price-bar {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
html body .pp-price-bar__price {
  color: #D4FF46 !important;
}
html body .pp-price-bar__run-value {
  color: rgba(255, 255, 255, 0.90) !important;
}
html body .pp-price-bar__vat,
html body .pp-price-bar__run-label,
html body .pp-price-bar__prod-label,
html body .pp-price-bar__prod-note {
  color: rgba(255, 255, 255, 0.40) !important;
}
html body .pp-price-bar__prod-value {
  color: rgba(255, 255, 255, 0.70) !important;
}

/* ── 6. QUANTITY CONTROLS — match glass ── */
html body .cl-po--quantity-wrap {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
html body .cl-po--quantity-btn {
  color: rgba(255, 255, 255, 0.50) !important;
  background: transparent !important;
  border: none !important;
}
html body .cl-po--quantity-btn:hover {
  color: #D4FF46 !important;
}
html body .cl-po--quantity {
  color: rgba(255, 255, 255, 0.90) !important;
  background: transparent !important;
  border: none !important;
}

/* ── 7. ADD TO CART — teal accent ── */
html body.template-product .payment-buttons .add-to-cart,
html body.template-product .payment-buttons button[name="add"],
html body.template-product form[action*="/cart/add"] button[name="add"] {
  background: #D4FF46 !important;
  background-color: #D4FF46 !important;
  border: none !important;
  border-radius: 14px !important;
  color: #000 !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(187,164,255, 0.25) !important;
}
html body.template-product .payment-buttons .add-to-cart:hover,
html body.template-product .payment-buttons button[name="add"]:hover,
html body.template-product form[action*="/cart/add"] button[name="add"]:hover {
  background: #BBA4FF !important;
  background-color: #BBA4FF !important;
  box-shadow: 0 6px 28px rgba(187,164,255, 0.35) !important;
}
html body.template-product .payment-buttons .add-to-cart span,
html body.template-product form[action*="/cart/add"] button[name="add"] span {
  color: #000 !important;
}

/* ── 8. SECTION HEADERS in LPO — tighter spacing ── */
html body .cl-po--wrapper .cl-po--option.pp-tier-grid {
  gap: 10px !important;
}

/* ── 9. SALES POINT — match theme ── */
html body .product-block--sales-point .sales-point {
  color: rgba(255, 255, 255, 0.50) !important;
}

/* ── END GLASS ALIGNMENT ── */

/* ==============================================================
   PP REFINEMENTS — icon box, build overview, addon container, prices
   ============================================================== */

/* ── 1. UPLOAD ICON — remove box, smaller icon ── */
html body .filepond--root.cl-upload--area .filepond--drop-label::before {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 26px !important;
  height: 26px !important;
  flex: 0 0 26px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4FF46' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") !important;
  background-size: 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  border-radius: 0 !important;
}

/* ── 2. BUILD OVERVIEW — extend container full width ── */
html body.template-product .pp-price-bar__content {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-radius: 14px !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.4),
    0 8px 32px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
  padding: 18px 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── 3. ADDON CHECKBOXES — fused glass container (highest specificity) ── */

html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item {
  background: rgba(0, 0, 0, 0.3) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, 0.03) !important;
  border-bottom-color: rgba(255, 255, 255, 0.06) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.6) brightness(0.9) !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  transform: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

/* Adjacent checkbox — remove doubled border */
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item + label.cl-po--checkbox-item {
  border: none !important;
}

/* Last checkbox — no border */
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:last-child,
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:last-of-type {
  border: none !important;
}

/* Hover */
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:hover {
  background: rgba(0, 0, 0, 0.4) !important;
  border: none !important;
  transform: none !important;
}

/* Selected — teal tint */
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked) {
  background: rgba(187,164,255, 0.06) !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked):last-child,
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked):last-of-type {
  border: none !important;
}

/* Strip parent group containers — items themselves form the fused container */
html body.template-product .cl-po--wrapper .cl-po--checkbox-group,
html body.template-product .cl-po--wrapper .cl-po--options-group,
html body.template-product .cl-po--wrapper .cl-po--option:not(.pp-tier-grid) {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── 4. ADDON PRICE — dark teal default, bright teal selected ── */
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item .pp-addon-price,
html body.template-product.template-product .cl-po--wrapper .pp-addon-price {
  color: rgba(187,164,255, 0.4) !important;
  transition: color 0.2s ease !important;
}
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:hover .pp-addon-price {
  color: rgba(187,164,255, 0.6) !important;
}
html body.template-product.template-product .cl-po--wrapper label.cl-po--checkbox-item:has(input[type="checkbox"]:checked) .pp-addon-price {
  color: #D4FF46 !important;
}

/* ── END PP REFINEMENTS ── */

/* ============================================================
   PP COLLECTION CARDS — floating image, no container box
   ============================================================ */

/* ============================================================
   PP PRODUCT CARDS — unified floating-image style (global)
   Matches the recently-viewed look: no container, 48px radius,
   shadow on the image itself, text clean on the dark background.
   ============================================================ */

/* ══════════════════════════════════════════════
   PP UNIFIED PRODUCT CARDS
   Matches collection cards: portrait 3:4, 24px radius, shadow on image only
   ══════════════════════════════════════════════ */

/* Strip ALL container backgrounds/borders */
.grid-product .grid-product__content,
.grid-product .grid-product__link,
.grid-product .grid__item-image-wrapper,
.grid-product .grid-product__image-mask,
.grid-product .grid__image-ratio,
.grid-product .image-wrap {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.grid-product .grid-product__content {
  padding: 0 !important;
  overflow: visible !important;
}
.grid-product .grid__item-image-wrapper {
  overflow: visible !important;
  border-radius: 0 !important;
}

/* image-element web component — fill parent */
.grid-product image-element {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
}

/* ── Portrait ratio on the image wrapper ── */
.grid-product .grid-product__image-mask,
.grid-product .grid__image-ratio,
.grid-product .grid__image-ratio--square,
.grid-product .grid__image-ratio--portrait,
.grid-product .grid__image-ratio--landscape,
.grid-product .image-wrap {
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #0d0d0d !important;
  box-shadow:
    0 8px 32px rgba(0,0,0,0.55),
    0 2px 8px rgba(0,0,0,0.35) !important;
  transition: box-shadow 0.4s cubic-bezier(0.16,1,0.3,1), transform 0.4s cubic-bezier(0.16,1,0.3,1) !important;
  margin-bottom: 14px !important;
}
/* Kill the padding-bottom trick Shopify uses to enforce square/landscape ratios */
.grid-product .grid__image-ratio::before,
.grid-product .grid__image-ratio--square::before,
.grid-product .grid__image-ratio--portrait::before,
.grid-product .grid__image-ratio--landscape::before,
.grid-product .image-wrap::before {
  display: none !important;
  content: none !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  height: 0 !important;
}

/* Actual img — fills container, portrait */
.grid-product .grid-product__image,
.grid-product .grid__image-ratio img,
.grid-product .image-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 24px !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  transition: transform 0.55s cubic-bezier(0.22,1,0.36,1) !important;
}

/* Hover — lift image shadow, scale image */
.grid-product .grid-product__content:hover .grid-product__image-mask,
.grid-product .grid-product__content:hover .grid__image-ratio,
.grid-product .grid-product__content:hover .image-wrap {
  transform: translateY(-5px) !important;
  box-shadow:
    0 16px 48px rgba(0,0,0,0.70),
    0 4px 12px rgba(0,0,0,0.45),
    0 0 24px rgba(187,164,255,0.08) !important;
}
.grid-product .grid-product__content:hover .grid-product__image,
.grid-product .grid-product__content:hover .grid__image-ratio img,
.grid-product .grid-product__content:hover .image-wrap img {
  transform: scale(1.05) !important;
}

/* Meta block */
.grid-product .grid-product__meta {
  background: transparent !important;
  border: none !important;
  padding: 0 4px !important;
}

/* Title — matches collection card title */
.grid-product .grid-product__title {
  font-family: 'Archivo Black', 'Arial Black', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin: 0 0 5px !important;
  overflow: visible !important;
  white-space: normal !important;
}
.grid-product .grid-product__content:hover .grid-product__title {
  color: #fff !important;
}

/* Price + "From as little as" */
.grid-product .grid-product__price {
  display: block !important;
  margin-top: 0 !important;
}
.grid-product .grid-product__pp-from {
  display: block !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: rgba(255,255,255,0.45) !important;
  line-height: 1.4 !important;
}
.grid-product .grid-product__pp-from strong {
  color: rgba(187,164,255,0.85) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
.grid-product .grid-product__excl-vat {
  color: rgba(255,255,255,0.28) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
}

/* Sale / tag badges */
.grid-product .grid-product__tag {
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
}

/* Mobile */
@media (max-width: 640px) {
  .grid-product .grid-product__image-mask,
  .grid-product .grid__image-ratio,
  .grid-product .image-wrap {
    border-radius: 18px !important;
  }
  .grid-product .grid-product__image,
  .grid-product .grid__image-ratio img,
  .grid-product .image-wrap img {
    border-radius: 18px !important;
  }
}

/* ── END UNIFIED PRODUCT CARDS ── */

/* ============================================================
   PP COLOUR CONSISTENCY — final pass
   Remove blue-grey / slate / soft-grey / default Shopify blue.
   Keep ONLY: black/near-black, white/off-white, teal accent.
   ============================================================ */

/* ── Global link colour — override Shopify default blue ── */
a,
.rte a,
.page-width a:not([class]),
.template-page a:not([class]),
.template-collection a:not([class]),
.template-blog a:not([class]),
.template-article a:not([class]) {
  color: inherit;
}

/* Any leftover Shopify theme link that renders blue */
.link,
.text-link {
  color: rgba(187,164,255, 0.8) !important;
}
.link:hover,
.text-link:hover {
  color: #D4FF46 !important;
}

/* ── Breadcrumbs — remove blue link colour ── */
.breadcrumb a,
.breadcrumbs a,
.breadcrumb__item a {
  color: rgba(255,255,255,.38) !important;
  text-decoration: none !important;
}
.breadcrumb a:hover,
.breadcrumbs a:hover {
  color: rgba(255,255,255,.7) !important;
}

/* ── Collection meta / info panels — no blue/grey bg ── */
.collection__description,
.collection-description,
.collection-header,
.collection-hero__description {
  background: transparent !important;
  color: rgba(255,255,255,.6) !important;
}

/* ── Product grid text — off-white, no blue ── */
.grid-product__title,
.product-listing__title {
  color: rgba(255,255,255,.88) !important;
}
.grid-product__price,
.product-listing__price {
  color: rgba(255,255,255,.55) !important;
}
.grid-product__price--original,
.product-listing__price--original {
  color: rgba(255,255,255,.28) !important;
  text-decoration: line-through;
}
.grid-product__tag,
.product-badge {
  background: rgba(187,164,255,.12) !important;
  color: rgba(187,164,255,.85) !important;
  border: 1px solid rgba(187,164,255,.2) !important;
}

/* ── Pagination — no blue ── */
.pagination a,
.pagination button,
.pagination .page {
  background: transparent !important;
  color: rgba(255,255,255,.55) !important;
  border-color: rgba(255,255,255,.08) !important;
}
.pagination .is-current,
.pagination a:hover,
.pagination button:hover {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.14) !important;
}

/* ── Filter sidebar — dark, no blue ── */
.facets__summary,
.filter-block__button,
.facets__count {
  color: rgba(255,255,255,.55) !important;
}
.facets__checkbox:checked + .facets__label,
.facets--active {
  color: #D4FF46 !important;
}
.facets__label:hover {
  color: rgba(255,255,255,.85) !important;
}

/* ── Form inputs — global ── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
select {
  background: rgba(0,0,0,.35) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 8px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
textarea::placeholder {
  color: rgba(255,255,255,.28) !important;
  -webkit-text-fill-color: rgba(255,255,255,.28) !important;
}
input:focus,
textarea:focus,
select:focus {
  border-color: rgba(187,164,255,.35) !important;
  box-shadow: 0 0 0 3px rgba(187,164,255,.07) !important;
  outline: none !important;
}

/* ── Buttons — ensure no blue/grey default Shopify btn colours ── */
.btn,
.btn--primary,
button.btn {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.btn:hover,
.btn--primary:hover {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}
/* Preserve teal buttons where they're intentional */
.btn--teal,
.btn--accent,
.pp-contact__submit {
  background: #D4FF46 !important;
  color: #000 !important;
  border-color: transparent !important;
}

/* ── Tags/chips on product pages — teal, not blue ── */
.tag,
.tag-list__item a,
.tag-list a {
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.5) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 6px !important;
}
.tag:hover,
.tag-list a:hover {
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.8) !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* ── Utility: kill any remaining Shopify cool blue-grey ── */
.icon-fallback-text { color: inherit !important; }

/* ── Policy / page content — ensure off-white text, teal links ── */
.template-page .rte h1,
.template-page .rte h2,
.template-page .rte h3,
.pp-policy h1,
.pp-policy h2,
.pp-policy h3 {
  color: #fff !important;
}
.template-page .rte a,
.pp-policy a {
  color: rgba(187,164,255,.8) !important;
}
.template-page .rte a:hover,
.pp-policy a:hover {
  color: #D4FF46 !important;
}

/* ── Account / customer pages — no blue ── */
.customer a,
.account a {
  color: rgba(187,164,255,.75) !important;
}
.customer a:hover,
.account a:hover {
  color: #D4FF46 !important;
}

/* ── Footer links ensure off-white, not blue ── */
.pp-footer__links a {
  color: rgba(255,255,255,.48) !important;
}
.pp-footer__links a:hover {
  color: #fff !important;
}

/* ── END PP COLOUR CONSISTENCY ── */

/* ═══════════════════════════════════════════════════════════════
   PP PALETTE ENFORCEMENT — approved colours only
   Approved: #050505 (bg), #0c0c0c (secondary), #101010 (panel),
   #1b1b1b (border), #f5f5f5 (primary text), #b8b8b8 (secondary text),
   #D4FF46 (green accent only)
   ═══════════════════════════════════════════════════════════════ */

/* Remove blue from generic links only — do NOT touch buttons */
.rte a,
.product-description a,
.page-content a {
  color: rgba(187,164,255,0.8);
}

/* Collection category filter chips — clean flat look */
.pp-all-cats__card {
  background: transparent !important;
  border: 1px solid #1b1b1b !important;
  color: #b8b8b8 !important;
}
.pp-all-cats__card:hover {
  border-color: rgba(187,164,255,0.3) !important;
  color: #f5f5f5 !important;
}
.pp-all-cats__card--active {
  background: #D4FF46 !important;
  border-color: #D4FF46 !important;
  color: #000 !important;
}

/* Collection combos chips */
.pp-coll-combos__chip {
  background: transparent !important;
  border: 1px solid #1b1b1b !important;
  color: #b8b8b8 !important;
}
.pp-coll-combos__chip:hover {
  border-color: rgba(187,164,255,0.3) !important;
  color: #f5f5f5 !important;
}

/* FAQ and accordion items — minimal, flat, no heavy panel */
.pp-faq__item {
  background: transparent !important;
  border-top: 1px solid #1b1b1b !important;
  border-radius: 0 !important;
}
.pp-faq__item:last-child {
  border-bottom: 1px solid #1b1b1b !important;
}

/* Trust strip items — subtle, no dark pill backgrounds */
.pp-coll-hero__trust-strip {
  background: transparent !important;
}

/* Stats strip — clean, no boxed cards */
.pp-why__stat {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Utility banners and mid-CTA panels — use border only, no dark grey fill */
.pp-mg-midcta__inner {
  background: transparent !important;
  border: none !important;
}

/* Product accordion sections — flat, no grey fill */
.pp-artwork__accordion {
  background: transparent !important;
  border: 1px solid #1b1b1b !important;
  border-radius: 0 !important;
}

/* Drawer background — use approved dark */
.pp-mob-drawer__panel {
  background: rgba(5,5,5,0.98) !important;
}

/* Qty stepper in cart drawer — always black text on white background */
.drawer .js-qty__num,
.drawer .cart__item-qty .js-qty__num {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

/* Remove any Shopify-injected light background from global sections */
.shopify-section {
  background: transparent;
}
.shopify-section--footer {
  background: transparent !important;
}

/* ── Flatten UI — remove heavy boxed/panelled elements ────────────────────
   Reduces visual weight. No dark grey fills. Borders only where structural.
   Base: near-black bg, off-white text, green accent restrained.
   ────────────────────────────────────────────────────────────────────────── */

/* Strip box borders from utility support rows */
.pp-hero__trust-strip,
.pp-hero__services,
.pp-hero__cta-note { border: none !important; background: transparent !important; }

/* Remove any remaining card box-shadows */
.pp-why__block,
.pp-why__card,
.pp-capabilities__card,
.pp-bundle__card { box-shadow: none !important; }

/* Flatten chips / pills — border only, no background fill */
.pp-hero__service-item {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
}

/* ── Strip all grey/white tint panel backgrounds sitewide ──────────────────
   Keeps borders and spacing intact. Removes the subtle dark-grey fill.
   ────────────────────────────────────────────────────────────────────────── */

/* Service pages — Screen Printing */
.sp-benefit, .sp-industry, .sp-product-card,
.sp-garment-card, .sp-quality__card, .sp-choose__option,
.sp-compare-table, .sp-moq__content { background: transparent !important; }

/* Service pages — Embroidery */
.em-benefit, .em-industry, .em-product-card,
.em-choose__option, .em-compare-table { background: transparent !important; }

/* Service pages — DTF */
.dtf-benefit, .dtf-industry, .dtf-product-card,
.dtf-method-card-box, .dtf-compare-table { background: transparent !important; }

/* Service pages — DTG */
.dtg-benefit, .dtg-when-card--bad, .dtg-product-card,
.dtg-choose__option, .dtg-compare-table { background: transparent !important; }

/* Collection pages */
.pp-coll-bot__midcta, .pp-all-bot__midcta,
.pp-coll-bot__faq-item, .pp-all-bot__faq-item { background: transparent !important; }

/* Homepage sections */
.pp-bundle__card, .pp-trade-block__inner,
.pp-home-seo__use-item, .pp-why__card { background: transparent !important; }

/* Merch grid mid-CTA panel */
.pp-mg-midcta { background: transparent !important; }

/* Product sections */
.pp-art__accordion, .pp-prod-conv__block,
.pp-product-faq__item { background: transparent !important; }

/* Shipping / policy tables */
.pp-shipping__table td, .pp-terms__table td,
.pp-refund__table td { background: transparent !important; }

/* ═══════════════════════════════════════════════════════════════
   PP PREMIUM CLEANUP — charcoal panel removal pass
   Approved palette: #050505 bg, #0a0a0a secondary, #1b1b1b border,
   #f5f5f5 primary text, #b8b8b8 secondary text, green accent only.
   No filled dark grey/charcoal panels. Borders + spacing only.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --pp-bg:       #050505;
  --pp-bg-soft:  #0a0a0a;
  --pp-panel:    #101010;
  --pp-border:   #1b1b1b;
  --pp-text:     #f5f5f5;
  --pp-muted:    #b8b8b8;
  --pp-accent:   #D4FF46;
}

/* ── Base page background ── */
body, .site-wrap { background: var(--pp-bg) !important; }

/* ── Strip remaining filled panel backgrounds ── */
.pp-coll-bot__midcta,
.pp-coll-bot__finalcta,
.pp-coll-bot__internal-links,
.pp-coll-bot__uses,
.pp-all-explore__card { background: transparent !important; }

/* Explore category cards keep a minimal background when needed */
.pp-all-explore__card {
  background: var(--pp-bg-soft) !important;
  border-color: var(--pp-border) !important;
  border-radius: 0 !important;
}
.pp-all-explore__card:hover {
  background: rgba(187,164,255,0.04) !important;
  border-color: rgba(187,164,255,0.2) !important;
}

/* ── FAQ — flat accordion, no glass effect ── */
.pp-faq__item {
  background: transparent !important;
  border-top: 1px solid var(--pp-border) !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.pp-faq__item:last-child {
  border-bottom: 1px solid var(--pp-border) !important;
}
.pp-faq__item[open] {
  background: transparent !important;
  box-shadow: none !important;
}

/* ── Filter chips — all collection/category pages ── */
.pp-all-cats__card,
.pp-coll-combos__chip,
[class*="filter-chip"],
[class*="facet-chip"] {
  background: transparent !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: 0 !important;
  color: var(--pp-muted) !important;
  box-shadow: none !important;
}
.pp-all-cats__card:hover,
.pp-coll-combos__chip:hover {
  border-color: rgba(187,164,255,0.3) !important;
  color: var(--pp-text) !important;
  background: transparent !important;
}
.pp-all-cats__card--active {
  background: transparent !important;
  border-color: var(--pp-accent) !important;
  color: var(--pp-accent) !important;
}

/* ── Contact page — remove all boxed containers ── */
.pp-contact__form-card {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--pp-border) !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.pp-contact__reassurance,
.pp-contact__urgent {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--pp-border) !important;
  border-radius: 0 !important;
}
.pp-contact__detail-icon {
  background: transparent !important;
  border: none !important;
}
.pp-contact__btn--sec {
  background: transparent !important;
  border-color: var(--pp-border) !important;
}

/* ── Collections combos bar — transparent ── */
.pp-coll-combos {
  background: transparent !important;
  border-top: 1px solid var(--pp-border) !important;
  border-bottom: 1px solid var(--pp-border) !important;
}
.pp-coll-combos__chip {
  background: transparent !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: 0 !important;
}

/* ── Hero service items — plain text, no pill ── */
.pp-hero__service-item {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: rgba(255,255,255,0.35) !important;
}

/* ── Remove any remaining dark grey section fills ── */
.pp-why,
.pp-cap,
.pp-how,
.pp-geo,
.pp-services,
.pp-showcase,
.pp-testimonials,
.pp-deployments {
  background: transparent !important;
}

/* ── Capabilities / service cards ── */
.pp-services__card {
  background: var(--pp-bg-soft) !important;
  border-color: var(--pp-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ── CTA wrappers on service pages — border only ── */
.sp-cta, .em-cta, .dtf-cta, .dtg-cta {
  background: transparent !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: 0 !important;
}
.pp-coll-bot__midcta {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ── All intro block on collection pages ── */
.pp-all-intro {
  background: transparent !important;
}

/* ── Merch grid mid-CTA ── */
.pp-mg-midcta,
.pp-mg-midcta__inner {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ── Remove rounded radius on most pp- cards (collection cards excluded — they use rounded images) ── */
[class*="pp-"][class*="__card"]:not(.pp-coll__card):not(.pp-coll__card-img),
[class*="pp-"][class*="__inner"][style*="border-radius"] {
  border-radius: 0 !important;
}
/* Collection cards: keep radius on the image wrapper, strip from the card itself */
.pp-coll__card {
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.pp-coll__card-img {
  border-radius: 24px !important;
}

/* ── END PP PREMIUM CLEANUP ── */

/* ═══════════════════════════════════════════════════════════════════════════
   PP SURGICAL CLEANUP — v3 (safe, targeted only)
   No broad attribute selectors. Named classes only.
   DO NOT USE [class*="wrapper"], [class*="container"] etc — breaks layout.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Body always #050505 ── */
html, body {
  background: #050505 !important;
}

/* ── Shopify section wrappers — named classes only, safe ── */
.index-section,
.index-section--flush,
.shopify-section {
  background: transparent !important;
  box-shadow: none !important;
}

/* ── All top-level pp- section components ── */
.pp-hero,
.pp-why,
.pp-cap,
.pp-how,
.pp-geo,
.pp-faq,
.pp-services,
.pp-showcase,
.pp-testimonials,
.pp-deployments,
.pp-contact,
.pp-coll-bot,
.pp-coll-hero,
.pp-coll-combos,
.pp-all-cats,
.pp-all-intro,
.pp-all-explore,
.pp-bundle,
.pp-studio-support,
.pp-capabilities,
.pp-product-schema,
.pp-product-faq,
.pp-product-trust,
.pp-product-features,
.pp-product-ideal,
.pp-product-timeline,
.pp-product-why,
.pp-quick-shop {
  background: transparent !important;
}

/* ── Sticky bars — must always be solid, never transparent ── */
.pp-sticky-atc,
.pp-sticky-bar {
  background: rgba(5, 5, 5, 0.97) !important;
  backdrop-filter: blur(30px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(30px) saturate(1.4) !important;
  box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.5) !important;
}

/* Sticky ATC quantity — fixed-width centre (flex:1 was shrinking to a sliver beside Add to cart) */
.pp-sticky-atc__qty {
  min-width: 176px !important;
  flex-shrink: 0 !important;
}
.pp-sticky-atc__qty-input {
  flex: 0 0 auto !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: none !important;
  padding: 0 12px !important;
}
.pp-sticky-atc__qty-btn {
  flex-shrink: 0 !important;
}

/* ── pp- sub-element backgrounds stripped (uses compound selector — safe) ── */
/* Note: .pp-mega__inner and .pp-mob-drawer__panel excluded via :not() */
[class^="pp-"][class*="__inner"]:not(.pp-mega__inner):not(.pp-mob-drawer__inner),
[class^="pp-"][class*="__wrap"]:not(.pp-mega__wrap),
[class^="pp-"][class*="__section"],
[class^="pp-"][class*="__stats"],
[class^="pp-"][class*="__trust"],
[class^="pp-"][class*="__eyebrow"],
[class^="pp-"][class*="__pill"],
[class^="pp-"][class*="__badge"],
[class^="pp-"][class*="__note"],
[class^="pp-"][class*="__uses"],
[class^="pp-"][class*="__seo"],
[class^="pp-"][class*="__links-section"],
[class^="pp-"][class*="__breadcrumb"],
[class^="sp-"],
[class^="em-"],
[class^="dtf-"],
[class^="dtg-"] {
  background: transparent !important;
  box-shadow: none !important;
}

/* ── Named CTA containers — border only, no fill ── */
.pp-coll-bot__midcta,
.pp-coll-bot__finalcta,
.pp-coll-bot__internal-links,
.pp-mg-midcta,
.pp-mg-midcta__inner {
  background: transparent !important;
  box-shadow: none !important;
}

/* ── FAQ and accordion — flat, no glass ── */
.pp-faq__item,
.pp-coll-bot__faq-item,
details {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.pp-faq__item[open],
details[open] {
  background: transparent !important;
}
details summary {
  background: transparent !important;
}

/* ── Why section accordion rows ── */
.pp-why__block {
  background: transparent !important;
  box-shadow: none !important;
}
.pp-why__icon {
  background: transparent !important;
  border-color: rgba(187,164,255,0.1) !important;
}

/* ── Service page containers ── */
.sp-benefit, .sp-industry, .sp-product-card, .sp-garment-card,
.sp-quality__card, .sp-choose__option, .sp-compare-table, .sp-moq__content,
.em-benefit, .em-industry, .em-product-card, .em-choose__option, .em-compare-table,
.dtf-benefit, .dtf-industry, .dtf-product-card, .dtf-method-card-box, .dtf-compare-table,
.dtg-benefit, .dtg-when-card--bad, .dtg-product-card, .dtg-choose__option, .dtg-compare-table {
  background: transparent !important;
  box-shadow: none !important;
}

/* ── Filter / category chips — border only ── */
.pp-all-cats__card,
.pp-coll-combos__chip {
  background: transparent !important;
  border: 1px solid #1b1b1b !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.pp-all-cats__card:hover,
.pp-coll-combos__chip:hover {
  background: transparent !important;
  border-color: rgba(187,164,255,0.3) !important;
  color: #f5f5f5 !important;
}
.pp-all-cats__card--active {
  background: transparent !important;
  border-color: #D4FF46 !important;
  color: #D4FF46 !important;
}

/* ── Contact containers ── */
.pp-contact__form-card,
.pp-contact__reassurance,
.pp-contact__urgent {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.pp-contact__detail-icon {
  background: transparent !important;
  border: none !important;
}

/* ── Collection combos bar ── */
.pp-coll-combos {
  background: transparent !important;
}

/* ── Hero service items — plain text ── */
.pp-hero__service-item {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* ══════════════════════════════════════════════════════════
   RE-ALLOW: elements that MUST keep a background
   ══════════════════════════════════════════════════════════ */

/* Product cards — inherit section background, no forced container */
.pp-all-explore__card {
  background: #0a0a0a !important;
  border: 1px solid #1b1b1b !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.pp-mg-card {
  background: transparent !important;
  border: none !important;
}
/* Capabilities cards — no background or border */
.pp-cap__card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Form inputs */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
input[type="date"],
select,
textarea,
.pp-contact__input,
.pp-contact__textarea,
.product__quantity .js-qty {
  background: #0a0a0a !important;
  border: 1px solid #1b1b1b !important;
}

/* Cart qty number — always visible */
.drawer .js-qty__num,
.product__quantity .js-qty__num {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
}

/* Mobile nav drawer */
.pp-mob-drawer__panel {
  background: rgba(5,5,5,0.98) !important;
}

/* Cart drawer */
#CartDrawer,
.drawer--right {
  background: #050505 !important;
}

/* Mega menu + dropdowns — solid dark, must be readable over any page content */
/* Double-class selector raises specificity to 0-2-0 to beat compound attribute rules */
.pp-mega__inner.pp-mega__inner {
  background: rgba(5, 5, 5, 0.99) !important;
  backdrop-filter: blur(40px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(40px) saturate(1.4) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,0.85) !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.pp-nav__dropdown.pp-nav__dropdown {
  background: rgba(5, 5, 5, 0.99) !important;
  backdrop-filter: blur(40px) !important;
  -webkit-backdrop-filter: blur(40px) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.7) !important;
}

/* Header — unscrolled = transparent, scrolled = glass (handled by header CSS) */
.site-header:not(.is-scrolled) {
  background: transparent !important;
}

/* Tier pricing cards on product page */
.cl-po--wrapper .pp-tier {
  background: #0a0a0a !important;
  border: 1px solid #1b1b1b !important;
}
.cl-po--wrapper .pp-tier-item.cl-po--selected .pp-tier,
.cl-po--wrapper .pp-tier-item:has(input:checked) .pp-tier {
  background: #0f1f1e !important;
  border-color: rgba(187,164,255,0.35) !important;
}

/* ── Service page CTA buttons ── */
.sp-btn--primary,
.em-btn--primary,
.dtf-btn--primary,
.dtg-btn--primary {
  background: #D4FF46 !important;
  color: #000 !important;
  border: 2px solid #D4FF46 !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}
.sp-btn--primary:hover,
.em-btn--primary:hover,
.dtf-btn--primary:hover,
.dtg-btn--primary:hover {
  background: #3bbcb3 !important;
  border-color: #3bbcb3 !important;
  color: #000 !important;
}
.sp-btn--ghost,
.em-btn--ghost,
.dtf-btn--ghost,
.dtg-btn--ghost {
  background: transparent !important;
  color: rgba(255,255,255,0.75) !important;
  border-color: rgba(255,255,255,0.18) !important;
}
.sp-btn--ghost:hover,
.em-btn--ghost:hover,
.dtf-btn--ghost:hover,
.dtg-btn--ghost:hover {
  border-color: rgba(255,255,255,0.4) !important;
  color: #fff !important;
}

/* ── Service page hero sections — no extra section spacing, hero has own margin-top ── */
.shopify-section:has(.sp-hero),
.shopify-section:has(.em-hero),
.shopify-section:has(.dtf-hero),
.shopify-section:has(.dtg-hero) {
  margin-top: 0 !important;
  padding: 0 !important;
}

/* ── Service page hero overlay — restore background stripped by [class^="sp-"] rule ── */
.sp-hero__overlay,
.em-hero__overlay,
.dtf-hero__overlay,
.dtg-hero__overlay {
  background: linear-gradient(to right, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.85) 30%, rgba(0,0,0,0.2) 55%, rgba(0,0,0,0) 100%) !important;
}

/* ── Service pages — shared large print quality gallery (Screen / DTG / DTF / Embroidery) ── */
.pp-svc-quality__head { text-align: center; max-width: 680px; margin: 0 auto 48px; }
.pp-svc-quality__eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #D4FF46;
  margin: 0 0 12px;
}
.pp-svc-quality__h2 {
  font-family: 'Archivo Black', 'Arial Black', sans-serif;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 400;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1.1;
  margin: 0 0 16px;
}
.pp-svc-quality__sub {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
  margin: 0 0 28px;
}
.pp-svc-quality__tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pp-svc-quality__tags span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(187,164,255,0.08);
  border: 1px solid rgba(187,164,255,0.22);
  border-radius: 100px;
  padding: 7px 15px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #D4FF46;
  letter-spacing: 0.02em;
}
.pp-svc-quality__tags span svg { color: #D4FF46; flex-shrink: 0; }
.pp-svc-quality__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pp-svc-quality__img-wrap {
  position: relative;
  aspect-ratio: 2 / 3;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 56px rgba(0,0,0,0.6), 0 4px 16px rgba(0,0,0,0.4) !important;
}
.pp-svc-quality__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.pp-svc-quality__img-wrap:hover .pp-svc-quality__img { transform: scale(1.04); }
.pp-svc-quality__img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.04);
  aspect-ratio: 2 / 3;
  border-radius: 20px;
}
.pp-svc-quality__caption {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.4);
  margin: 10px 0 0;
  text-align: center;
  letter-spacing: 0.02em;
}
.pp-svc-quality__meta-caption {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,0.45);
  text-align: center;
  margin: 20px 0 0;
  line-height: 1.5;
}
@media (max-width: 860px) {
  .pp-svc-quality__gallery { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 480px) {
  .pp-svc-quality__gallery { grid-template-columns: 1fr; }
}

/* ── Service page MOQ / gallery image wrappers — restore box-shadow stripped by [class^="sp-"] rule ── */
.sp-moq__img-wrap,
.em-moq__img-wrap,
.dtf-moq__img-wrap,
.dtg-moq__img-wrap,
.sp-quality__img-wrap,
.em-suited__img-wrap,
.dtg-works__img-wrap,
.dtg-works-best__img-wrap,
.em-trade__img-wrap,
.dtf-trade__img-wrap,
.sp-garment-card__img-wrap,
.sp-trade__img-wrap,
.em-trade__img-wrap,
.dtf-trade__img-wrap,
.dtg-trade__img-wrap {
  box-shadow: 0 12px 40px rgba(0,0,0,0.55), 0 4px 12px rgba(0,0,0,0.35) !important;
}
.sp-garment-card:hover .sp-garment-card__img-wrap {
  box-shadow: 0 18px 50px rgba(0,0,0,0.6), 0 6px 16px rgba(0,0,0,0.4) !important;
}

/* ── Service page explore-links — restore pill + callout backgrounds stripped by [class^="sp-"] rule ── */
.sp-explore-links__link {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
}
.sp-explore-links__link:hover {
  background: rgba(187,164,255,0.08) !important;
  border-color: rgba(187,164,255,0.3) !important;
  color: #D4FF46 !important;
}
.sp-explore-links__p--intro {
  background: rgba(187,164,255,0.04) !important;
  border: 1px solid rgba(187,164,255,0.10) !important;
  border-radius: 10px !important;
}

/* ── pp-support primary CTA — ensure teal fill not stripped ── */
.pp-support__cta-btn--primary {
  background: #D4FF46 !important;
  color: #000 !important;
  border-color: #D4FF46 !important;
}
.pp-support__cta-btn--primary:hover {
  background: #3bbcb3 !important;
  border-color: #3bbcb3 !important;
}

/* ── Collection / all-products primary CTA buttons ── */
.pp-coll-bot__btn--primary {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}
.pp-coll-bot__btn--primary:hover {
  background: transparent !important;
  color: #fff !important;
}
.pp-coll-bot__midcta-btn {
  background: #D4FF46 !important;
  color: #000 !important;
}

/* ── Button hover — clean, no flash ── */
/* Remove the 0.25s delayed colour shift and the sweeping shine animation
   from round-style primary buttons. Replace with a simple darken. */
[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static),
[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static) {
  transition: background 0.18s ease, filter 0.18s ease !important;
}
[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover,
[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover {
  background: #fff !important;
  color: #000 !important;
  filter: none !important;
  border-color: #D4FF46 !important;
  transition-delay: 0s !important;
}
[data-button_style^=round] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover::after,
[data-button_style=square] .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(.btn--body):not(.btn--static):hover::after {
  animation: none !important;
}
/* ── Collection product grid — 4-per-row CSS grid, 1:1 square cards ── */
/* Use CSS grid to guarantee 4 columns regardless of float-based classes */
@media only screen and (min-width: 769px) {
  .collection-content .grid.grid--uniform {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    float: none !important;
    margin-left: 0 !important;
  }
  .collection-content .grid.grid--uniform > .grid__item.grid-product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
  }
}
@media only screen and (max-width: 768px) {
  .collection-content .grid.grid--uniform {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    float: none !important;
    margin-left: 0 !important;
  }
  .collection-content .grid.grid--uniform > .grid__item.grid-product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
  }
}

/* ── Collection card images — 1:1 square, rounded corners, drop shadow ── */
/* Force the image mask AND all inner wrappers to 1:1 */
.collection-content .grid-product__image-mask,
.collection-content .grid__item-image-wrapper .grid-product__image-mask {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.45), 0 1px 4px rgba(0,0,0,0.3) !important;
  background: rgba(255,255,255,0.03) !important;
  height: auto !important;
}
/* Override the 3:4 portrait set by PP Unified Cards — make inner wrappers 1:1 too */
.collection-content .grid-product__image-mask .image-wrap,
.collection-content .grid-product__image-mask .grid__image-ratio,
.collection-content .grid-product__image-mask .grid__image-ratio--square,
.collection-content .grid-product__image-mask .grid__image-ratio--landscape,
.collection-content .grid-product__image-mask .grid__image-ratio--portrait {
  aspect-ratio: 1 / 1 !important;
  height: 100% !important;
  width: 100% !important;
  padding-bottom: 0 !important;
  position: relative !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* Kill Shopify's padding-bottom pseudo-element height trick */
.collection-content .grid-product__image-mask .image-wrap::before,
.collection-content .grid-product__image-mask .grid__image-ratio::before {
  display: none !important;
  content: none !important;
  padding-bottom: 0 !important;
}
/* Images fill the square */
.collection-content .grid-product__image-mask img,
.collection-content .grid-product__image-mask image-element img,
.collection-content .grid-product__image-mask .grid-product__image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
}
/* Remove border/background from the content wrapper */
.collection-content .grid-product__content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
/* ── END PP SURGICAL CLEANUP v3 ── */

/* ═══════════════════════════════════════════════════════════════
   CART PAGE — compact qty (see also layout/theme.liquid head + main-cart section)
   ═══════════════════════════════════════════════════════════════ */
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__wrapper {
  display: inline-block !important;
  position: relative !important;
  width: 132px !important;
  max-width: 132px !important;
  min-width: 132px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__num {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 9px 38px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  fill: rgba(255, 255, 255, 0.92) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust .icon,
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust svg {
  fill: rgba(255, 255, 255, 0.92) !important;
  color: rgba(255, 255, 255, 0.92) !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust svg path {
  fill: rgba(255, 255, 255, 0.92) !important;
  stroke: none !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust:hover {
  fill: #D4FF46 !important;
  color: #D4FF46 !important;
  -webkit-text-fill-color: #D4FF46 !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust:hover svg path {
  fill: #D4FF46 !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust--minus {
  left: 0 !important;
  right: auto !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty .js-qty__adjust--plus {
  right: 0 !important;
  left: auto !important;
}
form#CartPageForm[data-location="page"] .cart__item .cart__item-qty {
  display: inline-flex !important;
  justify-self: start !important;
  align-self: start !important;
  width: auto !important;
  max-width: none !important;
}
