/** Shopify CDN: Minification failed

Line 230:0 Expected "}" to go with "{"

**/
/* === Header definitive mobile layout (wins by load order) === */
@media (max-width: 1023.98px){
  .header__top {
    display: grid;
    grid-template-columns: 44px 1fr auto; /* [hamburger] [logo] [icons] */
    align-items: center;
    gap: .5rem;
    padding-block: .6rem;
  }
  .header__icons--left{ order:1; }
  .header__logo{ order:2; justify-self:center; }
  .header__icons--right{ order:3; display:flex; align-items:center; gap:.5rem; }

  /* Hamburger: guarantee a visible, tappable icon */
  .menu-drawer-button{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; }
  .menu-drawer-button .hamburger-line,
  .menu-drawer-button .hamburger-line::before,
  .menu-drawer-button .hamburger-line::after{
    content:""; position:absolute; left:50%; transform:translateX(-50%);
    width:22px; height:2px; background: currentColor; border-radius:2px;
  }
  .menu-drawer-button .hamburger-line{ top:50%; }
  .menu-drawer-button .hamburger-line::before{ top:-6px; }
  .menu-drawer-button .hamburger-line::after { top: 6px; }

  /* Make search icon-only until opened; keep input from stealing width */
  .header__search .search__form,
  .header__search .search__field{ width:auto; }
  .header__search .search__input{ width:0; opacity:0; padding:0; border:0; pointer-events:none; }
  .header__search .search__icon-search{ position:static !important; display:inline-flex !important; }
  .header__search .header__search-close{ display:none; }

  /* When opened (your JS toggles this), expand input nicely */
  body.is-search-open .header__search .search__input{
    width:70vw; max-width:320px; opacity:1; pointer-events:auto;
    padding:10px 42px 10px 12px; border:1px solid rgba(0,0,0,.12); border-radius:999px;
  }
  body.is-search-open .header__search .header__search-close{ display:inline-flex; }
}

/* Trim long labels on the tiniest phones so the icons fit */
@media (max-width: 389.98px){
  .header .reversed-link__text{ display:none !important; }
}
/* Disable header overlay on desktop so it can't block clicks */
@media (min-width: 990px){
  .fixed-overlay.fixed-overlay--header-section{
    pointer-events: none !important;
    opacity: 0 !important;
  }
}
/* Make the overall header group sticky, not each child */
.header-sticky {
  position: sticky;
  top: var(--announcement-height, 0px);
  z-index: 30;
  pointer-events: none; /* sections inside will re-enable clicks */
}

/* Announcement / top bars live *inside* the sticky group and are static */
.shopify-section--announcement-bar,
.announcement-bar,
.header {
  position: static !important;
  pointer-events: auto; /* restore clicks for actual header elements */
}

/* Desktop overlay should never trap clicks after a close */
@media (min-width: 990px){
  .fixed-overlay.fixed-overlay--header-section{
    pointer-events: none !important;
    opacity: 0 !important;
  }
}
/* Fixed header heights; keep them the same whether scrolled or not */
:root{
  --sc-header-h-m: 72px;   /* mobile header height */
  --sc-header-h-d: 92px;   /* desktop header height */
}

/* Lock the header rows to a steady height */
.header__top {
  min-height: var(--sc-header-h-m);
  transition: none !important;   /* kill padding/height animations */
}

@media (min-width: 990px){
  .header__top { min-height: var(--sc-header-h-d); }
}

/* Keep logo size steady; some themes shrink it on scroll */
.header__logo .logo,
.header__logo img {
  height: auto;
  max-height: calc(var(--sc-header-h-m) - 24px);
}

@media (min-width: 990px){
  .header__logo .logo,
  .header__logo img {
    max-height: calc(var(--sc-header-h-d) - 28px);
  }
}

/* Disable any “on-scroll” padding transitions that cause bounce */
.header .section--padding {
  transition: none !important;
}
.header--scrolled .header__top,
.header--transparent .header__top {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}/* 1) Reserve scrollbar space at all times (supported in modern Chromium/Firefox) */
html { scrollbar-gutter: stable both-edges; }

/* 2) Don’t let desktop interactions lock page scroll (which removes the gutter) */
@media (min-width: 1024px) {
  html, body { overflow-y: auto !important; }
  /* Neutralize common “page lock” classes many themes add */
  html.is-locked, body.is-locked,
  html.js-drawer-open, body.js-drawer-open,
  html.menu-open, body.menu-open,
  html.search-open, body.search-open {
    overflow-y: auto !important;
  }

  /* Desktop header overlay must not trap clicks nor force layout changes */
  .fixed-overlay.fixed-overlay--header-section {
    pointer-events: none !important;
    opacity: 0 !important;
  }
}
/* Hide the desktop-only toggle to eliminate flicker entirely */
@media (min-width: 1024px) {
  .toggle-navigation-button { display: none !important; }
}
/* === SIMPLY CONTROLLED – MOBILE SLIDESHOW HEIGHT TUNE === */
/* Keep this AFTER all theme CSS so it always wins. */

@media (max-width: 749px) {
  :root {
    /* Adjust this to taste: 28–36 is a good range */
    --sc-hero-mobile-h: 28vh;
  }

  /* Core containers */
  .shopify-section.section-slideshow,
  .slider-component:has(.slideshow),
  .slideshow {
    --slide-mobile-height: var(--sc-hero-mobile-h);
  }

  /* Force the visible height */
  .slideshow,
  .slideshow .slideshow__slide,
  .slideshow .slideshow__media,
  .slideshow .slideshow__image,
  .slideshow .swiper,
  .slideshow .swiper-wrapper,
  .slideshow .swiper-slide {
    height: var(--slide-mobile-height) !important;
    min-height: 0 !important;
    max-height: var(--slide-mobile-height) !important;
  }

  /* Kill the adaptive “padding-top” ratio that makes slides too tall */
  .slideshow .media--adapt,
  .slideshow .slideshow__media.media--adapt {
    padding-top: 0 !important;
    height: 100% !important;
  }

  /* Make the actual image/video cover the new height cleanly */
  .slideshow .slideshow__media > img,
  .slideshow .slideshow__media > video,
  .slideshow .slideshow__media picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  /* Reduce extra vertical padding from caption/text wrappers */
  .slideshow .slideshow__text,
  .slideshow .slideshow__text-wrapper,
  .slideshow .slideshow__content {
    padding-block: clamp(6px, 1.6vh, 14px) !important;
  }

  /* Keep bullets/arrows from adding extra height */
  .slideshow .swiper-pagination {
    bottom: 6px !important;
  }
  .slideshow .swiper-button-next,
  .slideshow .swiper-button-prev {
    top: auto !important;
    bottom: 10px !important;
    transform: none !important;
  }
  /* --- Slideshow height sanity on mobile --- */
@media (max-width: 989px){
  /* The slide container should define the height, not the content */
  .slideshow .slideshow__item-wrap{
    /* pick the sizing you want: tweak the middle value to match your toggle */
    height: clamp(280px, 40vh, 520px);
    min-height: unset;          /* beat theme min-heights */
  }

  /* Make the background and content fill that height */
  .slideshow .slideshow__bg,
  .slideshow .slideshow__content{
    height: 100% !important;
    min-height: 100% !important;
  }

  /* Ensure the image actually covers the set height */
  .slideshow .media-wrapper,
  .slideshow .slideshow__bg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
