/** Shopify CDN: Minification failed

Line 102:20 Unexpected "{"
Line 102:29 Expected ":"
Line 379:22 Unexpected "{"
Line 379:31 Expected ":"

**/
.modal-backdrop.show{
    display:none !important;
  }
  #productrelated {
    margin-top: 40px
  }
  .product-modal__image {
    display: block;
    position: relative;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
    max-height: 95%;
    max-width: 95%;
    margin: 0 auto;
    cursor: auto
  }

  .no-csstransforms .product-modal__image {
    top: 2.5%
  }

  #nav-tab-info .nav-tabs {
    border-bottom: none;
    text-align: center;
    justify-content: center;
    box-shadow: 0 -1px var(--g-input-border) inset;
  }

  #nav-tab-info .nav-tabs .nav-link {
    border: none;
    color: var(--g-color-heading);
    position: relative;
  }
  #nav-tab-info .nav-tabs .nav-link:before{
    content: "";
    width: 0;
    transition: width .3s ease;
    border-bottom: 2px solid var(--g-color-heading);
    position: absolute;
    bottom: 1px;
    left: 0;
  }

  #nav-tab-info .nav-tabs .nav-link.active:before{
    width: 100%;
  }

  #nav-tab-info .nav-tabs .nav-item {
    padding:0;
    margin:0 5rem -2px 0;
    font-weight: var(--g-h6-font-weight);
    font-size: var(--g-h6-font-size);
    line-height: var(--g-h6-font-lineheight);
    letter-spacing: var(--g-h6-font-spacing);
    text-transform: var(--g-h6-font-transform);
    background-color: transparent;
    padding:0px 0px 16px;
  }

  .nav-link .spr-badge-starrating {
    display: none
  }

  .social-sharing .col-title {
    line-height: 1.8;
    min-width: 75px;
  }

  .safe-checkout-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .product-form__quantity-submit {
    display: flex;
    align-items: center;
    padding-top: 10px;
  }

  .product-form__quantity-submit .product-form__item--submit {
    margin-left: 10px;
  }

  .selector-wrapper {
    margin: 0 0 1.2rem;
  }
  #shopify-section-{{ section.id }} .product-single__info-wrapper{
      padding:0rem 0rem 0rem 1.5rem;
  }
  .template-product .main-content{
    padding-top:50px;
  }
  .product-form-select .selector-wrapper{
    flex: 0 0 50%;
    max-width: 50%;
  }
  .salepoint .icon{
    width: 24px;
    height: 24px;
    margin-right: 8px;
    fill: none;
    stroke-width: 4px;
    stroke:currentColor !important;
    stroke-linecap:miter;
    stroke-linejoin:miter;
  }
  .tabcustom{
    padding: 12px 18px 12px 0;
    position: relative;
    border-bottom: 1px solid var( --g-input-border);
    cursor: pointer;
  }

/* Default Down Arrow */
.tabcustom::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 24px; /* Adjust based on design */
    height: 16px;
    background-color: currentColor; /* Matches text color */
    clip-path: polygon(
        50% 100%, 22% 50%, 27% 45%, 
        50% 75%, 73% 45%, 78% 50%
    ); /* Down arrow shape */
    transform: translateY(-50%);
    transition: clip-path 0.3s ease, transform 0.3s ease;
}

/* Up Arrow when collapsed */
.tabcustom.collapsed::after {
    clip-path: polygon(
        50% 0%, 22% 50%, 27% 55%, 
        50% 25%, 73% 55%, 78% 50%
    ); /* Up arrow shape */
}
  .tabcustom i{
    font-size: 14px;
    transition: transform .2s ease;
    position: absolute;
    top: 22px;
    right: 0;
    transform: rotate(270deg);
  }
  .tabcustom svg{
    width: 24px;
    height: 24px;
    margin-right: 8px;
    fill: none;
    stroke-width: 4px;
    stroke: currentColor !important;
    stroke-linecap: miter;
    stroke-linejoin: miter;
  }
  .tabcustom.collapsed i{
    transform: rotate(90deg);
  }
  /* .tabcustom:after,.tabcustom:before{
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 10px;
    height: 1.5px;
    background-color: currentColor;
  }
  .tabcustom.collapsed::before{
    transform: rotate(-90deg);
  } */
  .product-single__meta .product-block{
    margin:0 0 .5rem;
  }
  .product-single__meta .review + .product-block{
    margin:-0.5rem 0 1rem;
  }
  .product-single__meta .ptrust-badge{
    padding-top: 1rem;
  }
  .product-single__meta-price{
    display: flex;
    align-items: center;
  }
  .product-single__meta-price li{
    display: flex;
    align-items: center;
  }
  .product-single__meta .accordion + .accordion{
    margin:0;
  }
  .product-single__meta .product-block + .accordion{
    margin:-1rem 0 0 ;
  }
  .product-single__meta .accordion + .product-block{
    margin:1.5rem 0  ;
  }
  .product-single__meta .product-title{
    margin: 0 0 0.5rem;
  }
  .product-single__meta hr{
    margin:0 0 1.5rem;
  }
  .product-single__meta .product-title + .product-single__meta-list{
    margin:0 0 0.5rem;
  }
  .product-single__meta .salepoint + .salepoint{
    margin:-1rem 0 1.5rem ;
  }
  .product-single__meta .salepoint + .product-freeship{
    margin:-1rem 0 1.5rem ;
  }
  .product-single__meta .shopify-block{
    margin:0 0 1.5rem;
  }
  .product-single__meta .fake-view + .product__text{
    margin:-1rem 0 1.5rem ;
  }
   .product-single__meta .shopify-block + .product-short__description{
    margin-top: -0.7rem;
   }
  .product-title .product-label{
    position: static;
    transform:none;
    
  }
  .product-title .product-label .product-tag--absolute{
    margin-bottom: 0.75rem !important;
    border:1px solid var( --g-input-border);
    margin-right: 0.5rem;
  }
  .photos__item--thumbs{
    padding:0 0px 24px;
  }
  .product-single__video iframe,.product-single__video video,.product-single__video model-viewer{ 
    position: absolute;
    width: 100%;
    top:0;
    left:0;
    height: 100%;
  }
  .product-single__video model-viewer{
    width: 100%;
  }
  .media__poster-button{
    background-color:#fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4.5rem;
    width: 4.5rem;
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(1);
    z-index: 1;
  }
  .square{
    padding-top:100% !important;
    overflow:hidden;
  }
  .portrait{
    /* padding-top:120% !important; */
    /* overflow:hidden; */
  }
  .square img,.portrait img{
    width: 100%;
    height:100%;
    object-fit:cover;
  }
  .portrait video,.portrait iframe,.square video,.square iframe{
    object-fit: cover;
  }
  /*.spr-summary-actions .spr-summary-actions-newreview{
    color:white !important;
  }*/
  
  .product-grid-buywith .js-grid-cart{
    cursor: pointer;
  }
  .product-countdown{
    border:1px solid var(--g-main);
    padding: 1rem;
    --g-color-heading:var(--g-main);
    --color-body-text:var(--g-main);
  }
  .product-countdown .js-countdown ul {
    display: flex;
    flex-direction: row;
    column-gap: 1rem;
    
  }
  .product-countdown .js-countdown ul li{
    line-height: 1;
    position: relative;
  }
  .product-countdown .js-countdown ul li:not(:last-child)::before{
    content: ":";
    position: absolute;
    right: -0.6rem;
    color:var(--g-main);
  }
  .product-countdown .js-countdown .countdown-time{
    display: inline-flex;
    min-width: 22px;
    color:var(--g-main);
    font-size: var(--g-h5-font-size);
    margin-right: 2px;
    font-weight:500;
  }
  .product-countdown .js-countdown .countdown-time b{
    font-weight:500;
  }
  .product-countdown .js-countdown .countdown-text, .product-countdown .js-countdown span.countdown-time-single{
    font-size: 80%;
    color:var(--g-main);
    text-transform: uppercase;
  }
  .product-countdown .js-countdown span.countdown-text{
    display: none;
  }
  .product-countdown .js-countdown span.countdown-time-single{
    display: inline-block !important;
  }
  .ptrust-badge-heading{
    position: absolute;
    top:-10px;
    background-color: var(--color-body);
    left:50%;
    transform: translateX(-50%);
    white-space: nowrap;
    text-align: center;
  }
  .ptrust-badge .payment-icons svg{
    width: 40px;
    height: auto;
  }
  .product-block__banner img{
    width: 40px !important;
  }
  .product-block__banner .img_svg svg{
    width: 40px !important;
    height:40px !important;
    stroke: currentColor;
    fill: none;
  }
  .product-block__iwt svg{
    width: 24px;
    height: 24px;
    fill: none;
    stroke-width: 4px;
    stroke: currentColor !important;
  }
  @media (min-width:991px) {
    .photos-sticky{
      position: sticky;
      top:6.65rem;
    }
    .template-product .page-container{
      overflow: visible;
    }
  }
  @media (max-width:1100px) {
    #shopify-section-{{ section.id }} .product-single__info-wrapper{
      padding:0rem 0rem 0rem 0rem;
    }
    .product-form__quantity-submit{
      display: block;
    }
    .product-form__item--quantity{
      width: 130px;
      margin-bottom: 10px;
    }
    .product-form__quantity-submit .product-form__item--submit{
      margin:0 0 10px 20px !important;
    }
    .product-form__buynow{
      margin:0;
    }
  }
  .spr-header-title{
    font-weight: var(--g-h4-font-weight);
    font-size: var(--g-h4-font-size);
    line-height: var(--g-h4-font-lineheight);
    letter-spacing: var(--g-h4-font-spacing);
    text-transform: var(--g-h4-font-transform);;
  }
  @media (max-width:767px) {
    /* Mobile: 10px top padding. Uses the same selector as the desktop 50px
       rule (.template-product .main-content) so it actually wins; a plain
       .main-content rule loses on specificity. */
    .main-content,
    .template-product .main-content {
      padding-top: 10px;
    }

    img.custom-icon {
    width: 8% !important;
}
  }
  .tab-content ul {
    padding-left: 1rem;
  }
  .siblings-product{
    margin-bottom: 1.5rem;
  }
  .siblings-product__item {
    width: 60px;
    height: 60px;
    background-color: #fafafa;
    border:1px solid rgba(var(--g-color-heading-rgb),.05);
    position: relative;
  }
  .siblings-product__item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .siblings-product__item.active{
    box-shadow: 0 0 0 2px rgba(var(--g-color-heading-rgb),1);
  }
  @media (min-width: 992px){
    .modal-dialog-form-product{
      max-width: 600px;
    }
  }

  /* =====================================================================
     CLASSIC PDP RESPONSIVE LAYOUT
     Desktop (>=1280px) looks the same as before. Below that, the layout
     scales down smoothly, then stacks (gallery on top, info below) under
     992px. This replaces the old fixed 100px padding / min(750px,65%)
     gallery rule that caused the info column to wrap underneath the sticky
     gallery and overlap it at in-between widths.
     ===================================================================== */

  /* Side padding scales with the viewport (still 100px at >=1200px) */
  @media (min-width: 768px) {
    .template-product .main-content .container-fluid {
      padding-left: clamp(24px, 8.33vw, 100px);
      padding-right: clamp(24px, 8.33vw, 100px);
    }
  }

  /* Side-by-side: gallery + info (992px and up) */
  @media (min-width: 992px) {
    .col-md-5.col-12.photos-sticky {
      flex: 0 0 56%;
      max-width: 56%;
    }
    .col-md-5.col-12.photos-sticky + [class*='col-'] {
      flex: 1 1 0;
      min-width: 0; /* lets the info column shrink instead of wrapping under the gallery */
      max-width: none;
      width: auto;
    }
  }

  /* Wide desktop: original wider gallery */
  @media (min-width: 1280px) {
    .col-md-5.col-12.photos-sticky {
      flex: 0 0 min(750px, 65%);
      max-width: min(750px, 65%);
    }
  }

  /* Stacked: below 992px gallery on top, info underneath, no sticky */
  @media (max-width: 991.98px) {
    .cpdp-product-overview .product-single > [class*='col-'] {
      flex: 0 0 100%;
      width: 100%;
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;
    }
    .cpdp-product-overview .photos-sticky {
      position: static;
    }
  }

  /* Tablet (750-991px): follow the MOBILE gallery layout — main image on top
     at its natural ratio, thumbnails in a row underneath. The theme's own
     gallery <style> applies desktop-style left-thumbnail sizing from 750px
     (80px wide, order -1, right margin) while its slider is already in
     horizontal mode below 992px, which squashed the thumbnails. Undo that. */
  @media (min-width: 750px) and (max-width: 991.98px) {
    .cpdp-product-overview .photos-thumb-left .photos__item--thumbs {
      flex: 0 1 auto;
      order: 0;
      width: auto;
      max-width: none;
      margin: 0;
    }
    .cpdp-product-overview .photos-thumb-left .product-single__photo {
      margin: 0;
    }
  }

  /* Info column is narrower below 1280px: let trust badges wrap, scale title */
  @media (max-width: 1279.98px) {
    .cpdp-product-overview .cpdp-trust-badges-block {
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      column-gap: 20px;
    }
    .cpdp-product-overview .cpdp-trust-badges-block__label {
      white-space: normal;
    }
  }
  @media (min-width: 992px) and (max-width: 1279.98px) {
    .cpdp-product-overview .cpdp-product-info .cpdp-product-info__title {
      font-size: clamp(30px, 3.5vw, 42px);
    }
  }

  /* =====================================================================
     CLASSIC PDP GALLERY (desktop only: 992px and up)
     Below 992px the theme switches the gallery to its mobile layout, so
     none of this applies there.
     - Main image height is set by --cpdp-main-h
     - Thumbnails are 94px wide, 12px apart, 12px from the main image
     - The thumbnail strip is exactly as tall as the main image, so it
       runs top-to-bottom with no extra whitespace (5 thumbs + 4 gaps)
     Change the three variables below to tweak the whole gallery.
     ===================================================================== */
  @media (min-width: 992px) {
    .cpdp-product-overview {
      --cpdp-main-h: 600px;
      --cpdp-thumb-w: 94px;
      --cpdp-gap: 12px;
      --cpdp-thumb-h: calc((var(--cpdp-main-h) - (4 * var(--cpdp-gap))) / 5);
    }

    .cpdp-product-overview .photos-thumb-left {
      align-items: flex-start;
    }

    /* ---- Main image ---- */
    .cpdp-product-overview .photos-thumb-left .photos__item--main {
      flex: 1 1 0;
      min-width: 0;
    }
    .cpdp-product-overview .photos-thumb-left .product-single__photo {
      margin: 0;
    }
    .cpdp-product-overview .photos__item--main .product__photo-wrapper {
      display: block;
      position: relative;
      height: var(--cpdp-main-h) !important;
      padding-top: 0 !important;
      overflow: hidden;
    }
    .cpdp-product-overview .photos__item--main .product__photo-wrapper img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover;
    }
    .cpdp-product-overview .photos__item--main .deferred-media {
      padding-top: 0 !important;
      height: var(--cpdp-main-h);
    }

    /* ---- Thumbnail strip ---- */
    .cpdp-product-overview .photos-thumb-left .photos__item--thumbs {
      flex: 0 0 var(--cpdp-thumb-w);
      width: var(--cpdp-thumb-w);
      max-width: var(--cpdp-thumb-w);
      height: var(--cpdp-main-h);
      margin: 0 var(--cpdp-gap) 0 0;
      padding: 0 !important;
      position: relative;
    }
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnails {
      margin: 0 !important;
      height: var(--cpdp-main-h);
    }
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnails:not(.slick-initialized) {
      overflow: hidden;
    }
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnails .slick-list {
      height: var(--cpdp-main-h) !important;
    }

    /* Each thumbnail slot = tile + 12px gap underneath */
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnails .product-single__thumbnail-item {
      padding: 0 0 var(--cpdp-gap) !important;
      margin: 0 !important;
      border: 0;
      outline: 0;
      box-shadow: none;
      background: none;
    }
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnail {
      display: block;
      position: relative;
      width: 100%;
      height: var(--cpdp-thumb-h);
      padding: 0;
      margin: 0;
      border: 0;
      outline: 0;
      box-shadow: none;
      overflow: hidden;
    }
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnail .image-wrap {
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      padding-top: 0 !important;
      overflow: hidden;
    }
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnail .image-wrap img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* Active thumbnail: indicator is drawn inside the tile so it never
       shifts the spacing or gets clipped by the slider */
    .cpdp-product-overview .photos-thumb-left .product-single__thumbnail-item.is-active .product-single__thumbnail::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      border: 3px solid #262626;
      box-shadow: inset 0 0 0 2px #fff;
      pointer-events: none;
    }
  }

  /* Collapsible Row (meta) — Description / How to use / Ingredients text styling.
     No !important: the extra class in each selector out-ranks the hero
     section's own .cpdp-details rules and the theme's global span/p rules. */
  .cpdp-details .cpdp-details__item .cpdp-details__summary,
  .cpdp-details .cpdp-details__item .cpdp-details__summary ,
  .cpdp-details .cpdp-details__item .cpdp-details__content,
  .cpdp-details .cpdp-details__item .cpdp-details__content p,
  .cpdp-details .cpdp-details__item .cpdp-details__content span,
  .cpdp-details .cpdp-details__item .cpdp-details__content ul,
  .cpdp-details .cpdp-details__item .cpdp-details__content ol,
  .cpdp-details .cpdp-details__item .cpdp-details__content li {
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.8px;
    color: rgb(137 136 144);
  }


  .cpdp-details__label{
     font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.8px;
    color: #5D5B5C;
  }

  /* =====================================================================
     RECHARGE SUBSCRIPTION WIDGET
     .rc_popup_label_wrapper is injected by the Recharge app (its markup is
     not in the theme), so !important is used here to win over Recharge's own
     stylesheet. The label text and its popup icon sit in a flex row with
     BASELINE alignment: an icon's baseline is its bottom edge, so the bottom
     of the icon lines up with the bottom of the text (the baseline the letters
     sit on), rather than the bottom of the text's taller line box.
     ===================================================================== */
  .rc_popup_label_wrapper {
    display: flex !important;
    align-items: baseline !important;
  }
  .rc_popup_label_wrapper > * {
    align-self: baseline !important;
  }
  .rc_popup_label_wrapper svg,
  .rc_popup_label_wrapper img,
  .rc_popup_label_wrapper [class*='icon'] {
    vertical-align: baseline !important;
    margin-bottom: 0 !important;
    position: static !important;
    top: auto !important;
  }

  /* Recharge selling plan label: 10px right padding. The data-v-335eb9f1
     attribute is a Vue scoped-style hash generated by the widget, so the
     plain class is listed too in case Recharge changes the hash. */
  .rc-selling-plans__label[data-v-335eb9f1],
  .rc-selling-plans__label {
    padding-right: 10px !important;
  }

  /* Product overview: top padding is 15px. This overrides the 62px set in the
     hero section's own {% stylesheet %} (sections/classic-pdp-hero.liquid); the
     extra .template-product class makes it win regardless of load order. */
  .template-product .cpdp-product-overview {
    padding-top: 15px;
  }
