/** Shopify CDN: Minification failed

Line 17:4 Unexpected "{"
Line 17:5 Expected identifier but found "%"
Line 18:6 Unexpected "{"
Line 18:7 Expected identifier but found "%"
Line 19:24 Unexpected "{"
Line 19:33 Expected ":"
Line 23:6 Unexpected "{"
Line 23:7 Expected identifier but found "%"
Line 24:8 Unexpected "{"
Line 24:9 Expected identifier but found "%"
... and 46 more hidden warnings

**/
  @media (min-width: 750px) {
    {% case section.settings.layout_type %}
      {% when 'grid' %}
        .product-grid--{{ section.id }}:is(.product-grid--grid) {
          /* --product-grid-columns-desktop: repeat(4, minmax({{ product_card_size }}, 1fr)); */
          --product-grid-columns-desktop: repeat(4, minmax(auto, 1fr));
        }
      {% when 'organic' %}
        {% assign large_span = 2 %}
        {% assign row_cycle = 3 %}
        {% assign product_cycle = row_cycle | times: 2 %}
        {% assign right_large_start_col = 3 %}
        .product-grid--{{ section.id }}:not([product-grid-view='zoom-out']):is(.product-grid--organic) .product-grid__item:nth-child({{ product_cycle }}n + 1) {
          grid-column: 1 / span {{ large_span }};
        }

        .product-grid--{{ section.id }}:not([product-grid-view='zoom-out']):is(.product-grid--organic) .product-grid__item:nth-child({{ product_cycle }}n + 2),
        .product-grid--{{ section.id }}:not([product-grid-view='zoom-out']):is(.product-grid--organic) .product-grid__item:nth-child({{ product_cycle }}n + 5) {
          align-self: end;
        }

        .product-grid--{{ section.id }}:not([product-grid-view='zoom-out']):is(.product-grid--organic) .product-grid__item:nth-child({{ product_cycle }}n + {{ product_cycle }}) {
          grid-column: {{ right_large_start_col }} / span {{ large_span }};
        }

        .product-grid--{{ section.id }}:not([product-grid-view='zoom-out']):is(.product-grid--organic) {
          --product-grid-columns-desktop: repeat(4, 1fr);
        }
    {% endcase %}

    /* This logic helps prevent displaying one column for an large or extra-large product card size on a small screen. We want it to display at least two columns. */
    {% case section.settings.product_card_size %}
      {% when 'extra-large' or 'large' %}
        @container product-grid (max-width: calc({{ product_card_size }} * 3 + {{ section.settings.columns_gap_horizontal }}px * 2)) {
          .product-grid--{{ section.id }}:is(.product-grid--grid) {
            --product-grid-columns-desktop: repeat(2, 1fr);
          }
        }
    {% endcase %}

    /* When zoomed out, fit as many 100px-wide columns as possible */
    .product-grid--{{ section.id }}:is([product-grid-view='zoom-out']) {
      --product-grid-columns-desktop: repeat(auto-fill, minmax(6.25rem, 1fr));
    }

    .product-grid--{{ section.id }}:is([product-grid-view='zoom-out']) .product-grid-view-zoom-out--details {
      display: block;
    }

    .product-grid--{{ section.id }}:is([product-grid-view='zoom-out']) .product-grid__card {
      padding-inline-start: var(--zoom-out-padding-inline-start, 0);
      padding-inline-end: var(--zoom-out-padding-inline-end, 0);
      padding-block-start: var(--zoom-out-padding-block-start, 0);
      padding-block-end: var(--zoom-out-padding-block-end, 0);
    }
  }
#collectionmodalcontainer .st-collection-content #searchModalContainer{
  padding: 0 !important;
}

div#st-back-to-top-collection {
  position: fixed;
  bottom: 60px;
  left: auto;
  right: 25px;
  z-index: 12;
  height: 40px;
  width: 40px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background-color: #a32829;
  text-align: center;
  font-size: 30px;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  transition-duration: .15s;
}
@media only screen and (min-width: 769px){
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-desktop{
    min-height: 59px;
  }
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-desktop-inner-sort-wrap{
    align-items: center;
    justify-content: space-between;
  }
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-desktop-inner-sort-wrap .st-products-count-wrapper{
    text-transform: uppercase;
    padding: 8px 0;
  }
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-overlay-sidebar.st-filter-opened .st-desktop-overlay {
    opacity: 1;
    visibility: visible;
    display: block;
  }
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-sidebar,
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-sidebar .st-sidebar-bottom-content {
    transition: all .3s ease-in-out;
  }
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-sidebar.st-filter-opened,
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-sidebar.st-filter-opened .st-sidebar-bottom-content {
    left: 0;
  }
}
@media only screen and (max-width: 768px){
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-desktop{
    display: none;
  }
  #collectionmodalcontainer .st-collection-content .searchtap-temp .st-collection-mobile-toolbar{
    min-height: 45px;
    margin-bottom: 32px;
  }
  #collectionmodalcontainer .st-collection-content .searchtap-temp #ResultsList{
    padding: 0;
  }
}
/* ---------------------------------------------------------------------------
   Stopgap for two SearchTap mobile-panel bugs. Both live in the app's own
   bundle (assets/searchtap.js); these only neutralise the symptoms so the page
   stays usable. Remove once SearchTap ships a fix.

   1. The filter backdrop can outlive the drawer it belongs to, leaving a
      full-viewport fixed z-9999 layer that swallows every tap — including the
      drawer's own close X. The overlay is rendered as the drawer's preceding
      sibling, so only let it block input while the drawer is genuinely open.

   2. The closed sort drawer is position:fixed with every inset left auto, so it
      parks at its static position and is merely shoved down by its own height.
      Give it the same anchoring the open state already sets, so translateY(100%)
      actually clears the viewport.
   --------------------------------------------------------------------------- */
.mobilesearch-overlay:not(:has(~ .mobilesearch.open))::before {
  display: none;
}

.st-overlay-active .mobileSearchSort {
  left: 0;
  right: 0;
  bottom: 0;
}

/* ---------------------------------------------------------------------------
   Sticky filter/sort bar (2026-08-09). The announcement bar AND the header
   are both sticky; the header itself sticks at
   top: var(--nalli-announcement-height) (35px desktop / 28px mobile — NOT
   the full announcement height, the theme tucks the header up over it), so
   the bar's resting line is announcement offset + header height. -1px
   absorbs subpixel rounding so no content hairline shows between the two.
   Falls back to bare --header-height when the announcement section is
   removed (header then sticks at top:-1px). Covers both SearchTap render states:
     State A (theme SSR, inside .searchtap-temp): desktop bar
       .st-collection-desktop.st-toolbox, mobile bar .st-collection-mobile-toolbar.
     State B (Vue takeover): the row sitting directly in the tall
       .st-main-content is .st-filter-count-sort-wrap — the .st-toolbox there
       is nested in a 57px flex wrap, where sticky cannot travel. z-index --layer-sticky(8) stays under the
   header (18) and under SearchTap's fixed overlays (sidebar z-666, mobile
   drawers z-9999).

   2026-08-13: the calc below is now only the pre-JS fallback.
   snippets/nalli-head.liquid measures the real pinned header edge into
   --st-sticky-toolbar-offset, because the calc overshot by 4px on desktop
   (it resolved to 116px against a header ending at 112px).
   --------------------------------------------------------------------------- */
#collectionmodalcontainer .st-collection-desktop.st-toolbox,
#collectionmodalcontainer .st-filter-count-sort-wrap {
  position: sticky;
  top: var(
    --st-sticky-toolbar-offset,
    calc(var(--nalli-announcement-height, 0px) + var(--header-height, 60px) - 1px)
  );
  z-index: var(--layer-sticky, 8);
  background-color: var(--color-background, #fff);
}

@media only screen and (max-width: 768px) {
  #collectionmodalcontainer .st-collection-mobile-toolbar {
    position: sticky;
    top: var(
    --st-sticky-toolbar-offset,
    calc(var(--nalli-announcement-height, 0px) + var(--header-height, 60px) - 1px)
  );
    z-index: var(--layer-sticky, 8);
    background-color: var(--color-background, #fff);
  }
}
.st-filter-btn-wrap .st-items-center > :nth-child(2) 
{
  cursor:pointer;
}