/** Shopify CDN: Minification failed

Line 91:20 Unexpected "{"
Line 91:29 Expected ":"
Line 92:17 Expected identifier but found whitespace
Line 92:19 Unexpected "{"
Line 92:28 Expected ":"
Line 92:77 Unexpected "{"
Line 92:86 Expected ":"
Line 94:18 Expected identifier but found whitespace
Line 94:20 Unexpected "{"
Line 94:29 Expected ":"
... and 7 more hidden warnings

**/
/* FF — Collection helpers (sticky filters + full-bleed divider) */
.ff-full-bleed{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.ff-grid-divider{ height:var(--ff-grid-divider-h,1px); background:var(--ff-grid-divider-color,#e5e5e5); opacity:var(--ff-grid-divider-op,.5); }

/* Desktop base layout – the *row* itself is no longer sticky or scrollable.
   Stickiness is handled on the filters sidebar instead. */
@media (min-width: 990px){
  .template-collection .facets-wrapper{
    align-items: flex-start;
  }

  .template-collection .facets-vertical{
    position: static;
    top: auto;
    align-self: stretch;
    max-height: none;
    overflow: visible;
  }
}

/* Ensure no ancestor overflow breaks sticky on desktop */
@media (min-width: 990px){
  .template-collection .facets-vertical.page-width{ overflow: visible; }
  .template-collection .product-grid-container{ overflow: visible; }
}

@media (min-width: 990px){
  .template-collection #main-collection-filters{
    position: sticky !important;
    top: calc(var(--ff-header-height, var(--header-height, 64px)) + var(--ff-sticky-extra, 0px));
    align-self: start;

    /* The shell is just sticky; the inner .facets-container does the scrolling */
    max-height: none;
    overflow: visible;
  }
}

/* Unblock sticky: any overflow on ancestors breaks position: sticky */
@media (min-width: 990px){
  .template-collection .facets-vertical.page-width { overflow: visible; }
  .template-collection .product-grid-container    { overflow: visible; }
}
/* 3a) Unblock sticky: any ancestor overflow can break sticky */
@media (min-width: 990px){
  .template-collection .facets-vertical.page-width { overflow: visible; } /* wrapper around aside + grid */
  .template-collection .product-grid-container    { overflow: visible; }  /* grid column */
}

/* 3b) Stick the actual inner container that scrolls */
@media (min-width: 990px){
  #main-collection-filters .facets-container{
    position: sticky;
    top: calc(var(--ff-header-height, var(--header-height, 64px)) + var(--ff-sticky-extra, 0px));
    max-height: calc(100dvh - (var(--ff-header-height, var(--header-height, 64px)) + var(--ff-sticky-extra, 0px)));
    overflow: auto;
  }
}
/* Full-bleed that *does not* create a horizontal scrollbar */
:root{ --ff-viewport-noscroll: calc(100vw - (100vw - 100%)); }

.ff-full-bleed{
  width: var(--ff-viewport-noscroll);
  margin-left: calc(50% - var(--ff-viewport-noscroll) / 2);
  margin-right: calc(50% - var(--ff-viewport-noscroll) / 2);
}
/* Only clip overflow on desktop - mobile needs overflow:visible for sticky bar */
@media (min-width: 750px) {
  .template-collection{
    overflow-x: clip;
  }
}

@media (min-width: 990px){
  /* Only when you toggle it on at the section level */
  #shopify-section-{{ section.id }}.ff-vert-divider-on #main-collection-filters{
    border-right: {{ section.settings.ff_vdiv_width | default: 1 }}px solid {{ section.settings.ff_vdiv_color | default: '#e5e5e5' }};
    /* provide breathing room so text doesn't hug the line */
    padding-right: {{ section.settings.ff_vdiv_pad | default: 12 }}px;
    /* increase gap to the grid to visually match a “line + gap” */
    margin-right: {{ section.settings.ff_vdiv_gap | default: 24 }}px;
    /* allow the sticky inner container to scroll without clipping the border */
    box-sizing: border-box;
  }
}
@media (min-width: 990px) {
  .facets-vertical {
    display: flex;
    align-items: flex-start;
    column-gap: 32px; /* adjust to taste */
  }

  .facets-vertical .facets-wrapper {
    position: sticky;
    top: calc(var(--ff-header-height, 80px) + var(--ff-sticky-extra, 0px));
    align-self: flex-start;

    /* NEW: keep the filters column width stable so scrollbars don't shove the grid */
    flex: 0 0 280px;    /* tweak 260–320px to taste */
    max-width: 280px;
    box-sizing: border-box;
  }
.facets-vertical .ff-collection-v-divider {
    display: block;
    width: var(--ff-vdiv-w, 1px);
    background-color: var(--ff-vdiv-color, #e5e5e5);
    opacity: var(--ff-vdiv-op, 0.5);
    align-self: stretch; /* stretch to match height of filters+grid */
  }
  .facets-vertical .product-grid-container {
    flex: 1 1 auto;
    min-width: 0;
  }
    /* Let the sidebar take the width it actually needs, instead of a cramped fixed basis */
  .template-collection .facets-vertical #main-collection-filters.facets-wrapper{
    flex: 0 0 auto;   /* width driven by content */
    width: auto;
    max-width: none;  /* don't re-clamp it to Dawn's default */
    padding-right: 0; /* no extra internal padding on the sidebar itself */
  }
}


/* FF: hide native pagination when using infinite scroll */
[data-pagination] {
  display: none;
}
@media (min-width: 990px){
  /* Make the vertical divider span the *full* visual height of the section,
     not just the inner content between paddings. */
  #shopify-section-{{ section.id }} .facets-vertical .ff-collection-v-divider{
    margin-top: calc(-1 * var(--ff-sec-pt, 0px));
    margin-bottom: calc(-1 * var(--ff-sec-pb, 0px));
  }
}
@media (min-width: 990px){

  /* Single scroll container INSIDE the shell */
  .template-collection #main-collection-filters .facets-container{
    position: static;
    max-height: calc(
      100dvh - (var(--ff-header-height, var(--header-height, 64px)) + var(--ff-sticky-extra, 0px))
    );
    overflow-y: auto;
    overflow-x: hidden;          /* absolutely no horizontal scrollbar */
    scrollbar-gutter: stable;    /* so vertical bar doesn't shove things / nudge grid */
    padding-right: 12px;         /* room for the vertical scrollbar so chevrons don't get clipped */
    box-sizing: border-box;
  }
}
