/** Shopify CDN: Minification failed

Line 343:18 Unexpected "{"
Line 343:27 Expected ":"
Line 347:20 Unexpected "{"
Line 347:29 Expected ":"
Line 351:18 Unexpected "{"
Line 351:27 Expected ":"
Line 355:18 Unexpected "{"
Line 355:27 Expected ":"
Line 359:18 Unexpected "{"
Line 359:27 Expected ":"

**/


/* CSS from section stylesheet tags */
/* Tailwind utilities are used for layout and spacing; this block is intentionally minimal */
.collections {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--collection-card-size), 100%), 1fr));
    gap: var(--grid-gap);
  }
  .collections--compact {
    --collection-card-size: 160px;
  }
  .collections--full {
    --collection-card-size: 280px;
  }
  .collection-card {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
.header {
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: 0 1rem;
  }

  /* Mobile hamburger menu */
  .header__menu-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .header__hamburger {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 1.5rem;
    height: 1rem;
  }

  .header__hamburger-line {
    width: 100%;
    height: 2px;
    background-color: var(--color-foreground);
    transition: all 0.3s ease;
  }

  /* Brand title/logo */
  .header__title {
    margin: 0;
  }

  .header__title a {
    text-decoration: none;
    color: var(--color-foreground);
    font-weight: bold;
    font-size: 1.25rem;
  }

  .header__logo {
    max-width: var(--logo-max-width, {{ settings.logo_max_width | default: 150 }}px);
    height: auto;
    display: block;
  }

  /* Desktop menu */
  .header__desktop-menu {
    display: flex;
    gap: 2rem;
  }

  .header__desktop-menu-link {
    text-decoration: none;
    color: var(--color-foreground);
    font-weight: 500;
    transition: color 0.2s ease;
  }

  .header__desktop-menu-link:hover {
    color: var(--color-foreground);
    opacity: 0.7;
  }

  /* Right side icons */
  .header__icons {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .header__account,
  .header__cart {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    text-decoration: none;
    color: var(--color-foreground);
  }

  .header__account svg,
  .header__cart svg {
    width: 1.5rem;
    height: 1.5rem;
  }

  .header__cart-count {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--color-foreground);
    color: var(--color-background);
    border-radius: 50%;
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: bold;
  }

  /* Mobile menu overlay */
  .header__menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }

  .header__menu-overlay[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
  }

  .header__mobile-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    max-width: 20rem;
    height: 100%;
    background-color: var(--color-background);
    padding: 5rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }

  .header__menu-overlay[aria-hidden="false"] .header__mobile-menu {
    transform: translateX(0);
  }

  .header__mobile-menu-link {
    text-decoration: none;
    color: var(--color-foreground);
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .header__mobile-menu-link svg {
    width: 1.25rem;
    height: 1.25rem;
  }

  /* Hide desktop menu on mobile */
  @media screen and (max-width: 767px) {
    .header__desktop-menu {
      display: none;
    }
  }

  /* Desktop styles */
  @media screen and (min-width: 768px) {
    .header {
      padding: 0 2rem;
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
    }

    /* Hide mobile elements */
    .header__menu-toggle {
      display: none;
    }

    .header__menu-overlay {
      display: none;
    }

    /* Adjust layout for desktop */
    .header__title {
      grid-column: 1;
    }

    .header__desktop-menu {
      grid-column: 2;
      justify-content: center;
      justify-self: center;
    }

    .header__icons {
      grid-column: 3;
      justify-self: end;
    }
  }
.welcome {
    display: grid;
    grid-template-columns: var(--content-grid);
    background-color: #f6f6f7;
    padding: 72px 0;
  }

  .welcome-content {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 24px;
  }

  .welcome-description {
    max-width: 80ch;
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  .icon {
    width: 300px;
  }

  .highlights {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
  }

  @media (max-width: 1100px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border-radius: 8px;
    background-color: #eef3ff;
    color: rgb(92, 95, 98);
    line-height: 1.4;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight h3 {
    font-size: 1rem;
    color: rgb(32, 34, 35);
  }

  .highlight-description {
    flex: 1 1;
  }

  .highlight a {
    display: flex;
    width: fit-content;
    background-color: rgb(250, 251, 251);
    box-shadow: rgba(0, 0, 0, 0.2) 0px -3px 0px 0px inset, rgba(255, 255, 255, 0.9) 0px 2px 0px 0px inset;
    border: 1px solid rgb(140, 145, 150);
    border-radius: 4px;
    color: rgb(92, 95, 98);
    padding: 3px 10px 5px;
    text-decoration: none;
  }
.product-section-{{ section.id }} .md-fixed-height {
  height: auto;
}
@media screen and (min-width: 768px) {
  .product-section-{{ section.id }} .md-fixed-height {
    height: var(--product-gallery-md-height);
  }
}
.product-section-{{ section.id }} .additional-content {
  margin-bottom: 0;
  padding-bottom: 0;
}
.product-section-{{ section.id }} .additional-content > .product-content-block:last-child {
  margin-bottom: 0;
}
/* Rotate chevron when details open */
.product-section-{{ section.id }} details[open] summary svg {
  transform: rotate(180deg);
}
.questions-answers-section [data-answer-content].open {
    max-height: 500px !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
.search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .search-results .prev,
  .search-results .page,
  .search-results .next {
    grid-column: 1 / -1;
  }

/* CSS from block stylesheet tags */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }

/* CSS from snippet stylesheet tags */
.cart-drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh; /* Use dynamic viewport to account for Safari toolbars */
    border: 0;
    padding: 0;
    background: transparent;
    display: block;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .cart-drawer::backdrop {
    display: none;
  }

  .cart-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    height: 100dvh; /* Match dynamic viewport height on mobile Safari */
    background: var(--color-background);
    color: inherit;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Prevent the entire drawer from scrolling; constrain to inner scroll area */
    transform: translateX(100%);
    transition: transform .3s ease;
  }

  .cart-drawer__loading {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }

  .cart-drawer__loading[hidden] {
    display: none !important;
  }

  .cart-drawer__spinner {
    width: 36px;
    height: 36px;
    border-radius: 9999px;
    border: 3px solid rgba(0,0,0,0.15);
    border-top-color: rgba(0,0,0,0.6);
    animation: cartDrawerSpin 0.8s linear infinite;
  }

  @keyframes cartDrawerSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
  }

  .cart-drawer:popover-open .cart-drawer__panel,
  .cart-drawer.is-open .cart-drawer__panel {
    transform: translateX(0);
  }

  /* Ensure flex children can shrink so the list can scroll within the panel */
  .cart-drawer__content {
    min-height: 0;
  }

  /* Constrain scrolling to the items list only */
  .cart-drawer__list {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  /* Show overlay only when open */
  .cart-drawer:popover-open,
  .cart-drawer.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    background: rgba(0, 0, 0, 0.5);
  }

  .cart-drawer__item-media img, .cart-drawer__item-media svg { width: 80px; height: 80px; object-fit: cover; border-radius: .5rem; }

  @media screen and (min-width: 768px) {
    .cart-drawer__panel { width: min(480px, 100%); }
  }
  
  @media screen and (max-width: 767px) {
    .cart-drawer__footer {
      padding-bottom: 24px;
      padding-bottom: calc(24px + env(safe-area-inset-bottom));
    }
  }

  /* Promo banner */
  .cart-drawer__promo { background-color: #3f6212; }
  .cart-drawer__promo-inner { text-align: center; }
  .cart-drawer__promo-line-track {
    position: relative;
    height: 6px;
    background-color: #ef4444;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* padding-left: 9px;
    padding-right: 9px; */
  }
  .cart-drawer__promo-line-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background-color: #86efac; /* light green */
    transition: width .25s ease;
  }
  .cart-drawer__promo-dot {
    position: relative;
    width: 18px;
    height: 18px;
    border-radius: 9999px;
    background-color: white;
    border: 3px solid #ef4444;
    z-index: 1;
  }
  .cart-drawer__promo-dot svg {
    display: none;
    width: 14px;
    height: 14px;
    stroke: #14532d; /* dark green for contrast */
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .cart-drawer__promo-dot.is-filled {
    background-color: #86efac; /* light green */
    border-color: #86efac;
  }
  .cart-drawer__promo-dot.is-filled svg { display: block; }
  /* nth-child left offsets removed in favor of flex spacing */
.product-gallery {
  display: block;
  height: 100%;
}

/* Mobile: Allow images to scale naturally with aspect ratio while maintaining arrow positioning */
@media screen and (max-width: 767px) {
  .product-gallery .relative {
    min-height: 0;
    height: auto;
    aspect-ratio: 1; /* Maintain square aspect ratio on mobile */
  }
  
  .product-gallery [data-gallery-main-image] img {
    object-fit: contain !important;
  }
}

@media screen and (min-width: 768px) {
  .product-gallery {
    min-height: auto;
  }
}