/** Shopify CDN: Minification failed

Line 7:68 Expected identifier but found whitespace
Line 7:69 Unexpected "@media"

**/
make link bigger in size, and add space between paragraph and links: @media (max-width: 1024px) { .products-grid { column-count: 3; } }
@media (max-width: 768px)  { .products-grid { column-count: 2; } }
@media (max-width: 480px)  { .products-grid { column-count: 1; } }

body, html,* {
 
letter-spacing: 1.5px;
  font-family: 'Amiri', serif;

body, html {
  overflow-x: hidden !important;    /* prevent sideways scroll */
  overflow-y: auto !important;      /* normal scrolling */
}

}

.sticky-header {
  position: fixed !important;
  top: 0;
  width: 100vw; /* use viewport width */
  display: flex;
  justify-content: space-between; /* About on right, empty left */
  align-items: center;
  padding: 15px 15px;
  background-color: #fff;
  font-family: 'Amiri', serif;
  font-size: 1rem;
  z-index: 9999;
      letter-spacing: 2px;
}

/* Center filter links */
.header-center {
  position: absolute; /* center independently */
  left: 50%;
  top: 50%; /* vertically center */
  transform: translate(-50%, -50%);
  display: flex;
  gap: 40px; /* spacing between all / available */
}

.header-filter {
  cursor: pointer;
  margin: 0 4px;

}

.header-filter:hover,
.header-about:hover {
    transition: color 0.2s;
  color: #111;


}



/* About on right */
.header-filter.active,
.header-about.active {
    text-decoration: underline;
  font-weight: bold;
  color: #000;
    font-size: 1rem;
     text-underline-offset: 3px;
           letter-spacing: 1px;


}
.header-right {
  position: relative;   /* allows stacking above other elements */
  z-index: 10;          /* higher than header-center */
  cursor: pointer;      /* ensures pointer shows */
  margin-right: 60px;
}
.header-about:hover {
  color: #000;
  cursor: pointer;      /* just to be safe */
}

/* Hide Available filter in header */
.header-filter[data-filter="available"] {
  display: none !important;
}


.about-section {
  display: none; /* hidden by default */
  justify-content: center;
  align-items: flex-start;
  min-height: 500vh;
  width: 100%;
  padding: 200px 20px 80px; /* top space for header */
  background-color: #fff;
  text-align: center;
  overflow-y: auto; /* normal scroll */
  box-sizing: border-box;
  position: relative; /* no longer fixed */
}

.about-section.active {
  display: flex; /* show when active */
}

.about-section .about-content p {
  max-width: 750px;
  margin: 0 auto;
  text-align: center;
  line-height: 1.6;
  font-size: 3rem;
  letter-spacing: 0.5px;
    font-family: 'Amiri', serif;


}
.about-section .contact-links {
  display: none !important;
  justify-content: center;
  gap: 40px;                 /* wider spacing between links */
  margin-top: 25px;          /* adds more space between paragraph and links */
  margin-bottom: 15px;      /* adds breathing room at bottom */
    font-family: 'Amiri', serif;

  font-size: 1.2rem;
}
.about-section .contact-links a {
  color: #333;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
    text-align: center;        /* center text */
    
}

.about-section .contact-links a:hover {
  color: #000;
  text-decoration: underline;
   text-underline-offset: 5px;

}

/* --- FIX FOR MOBILE --- */
@media (max-width: 768px) {
  .sticky-header {
    flex-direction: row;
    justify-content: center;
    padding: 10px;
  }

  .header-center {
    position: static;        /* stop absolute center */
    transform: none;
    gap: 20px;
    justify-content: center; /* keep all available centered */
  }

  .header-right {
    position: absolute;
    right: 15px;   /* small gap from right edge */
    top: 50%;
    transform: translateY(-50%); /* vertically align */
    margin-right: 20px;
  }

}

.products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(250px, 1fr));
  grid-auto-rows: 10px;
  grid-auto-flow: dense;
  gap: 0;
  width: 100%;
  margin: 0 auto;
  padding-top: 45px;

  /* 👇 hidden visually at first but clickable */
  opacity: 0;
  visibility: hidden;
  pointer-events: auto; /* keep clicks alive */
  transition: opacity 0.35s ease;
}

.products-grid.fade-in {
  opacity: 1;
  visibility: visible;
}

.products-grid,
.about-section {
  transition: opacity 0.25s ease;
}



.product-item {
  width: 100%;
  object-fit: cover; /* keep image aspect */
  margin: 0;
   max-width: 100%;
  max-height: 800px; /* optional */
  object-fit: cover;  /* keeps aspect ratio nicely */
  vertical-align: middle; /* prevents descender gap */

}
img {
  display: block;
}

/* Dynamically set grid-row based on image height */
.product-item {
  grid-row-end: span 1; /* will be updated by JS */
}

/* Tablet */
@media (max-width: 1024px) {
  .products-grid {
    grid-template-columns: repeat(3, minmax(200px, 1fr)); /* 3 columns */
  }
}

/* Tablet */
@media (max-width: 768px) {
  .products-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}

/* Mobile: 2 images per row */
@media (max-width: 480px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr); /* exactly 2 columns */

  }
  
}



.add-to-cart {
  background-color: black;      /* black background */
  color: white;                 /* white text */
  padding: 12px 32px;           /* bigger button */
  font-size: .9;            /* bigger text */
  font-family: 'Amiri', serif;
  border: none;
  border-radius: 50px;          /* rounded corners */
  cursor: pointer;
  transition: background 0.2s ease;
 margin-top: 10px;             /* slightly less gap above button */
  text-align: center;            /* center text inside button */
    display: none !important;

letter-spacing: 1.5px;
}

.add-to-cart:hover {
  background-color: #333;
    display: none !important;

}

.header-cart {
 position: fixed;
  bottom: 20px;           /* 💡 20px above bottom edge */
  right: 20px;            /* 💡 20px from right edge */
  z-index: 9999;
  pointer-events: none;   /* allows clicks only on button itself */
}

.cart-button {
  background-color: #fff;     
  color: #222;
  font-family: 'Amiri', serif;
  font-size: 1rem;
  font-weight: bold;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 70px;
  height: 50px;
  border-radius: 50px;
  display: none !important;
  align-items: center;
  justify-content: center;
  pointer-events: auto;       /* re-enable click for button */
}

.cart-button:hover {
  background-color: #222;

}

.cart-button svg {
  width: 24px;
  height: 24px;
  fill: #222;

}
.cart-button svg:hover {
  fill: #fff;
}
/* Hide the cart button when on the cart page */
/* universal fade */
.fade-target {
  visibility: hidden;
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}

.fade-target.fade-visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 768px) {
  .header-cart {
    position: fixed;
    bottom: 30px !important;  /* ✅ stays at bottom */
    right: 30Px !important;
    top: auto !important;     /* overrides any "top" rules */
    z-index: 10000;
  }

  .cart-button {
    width: 60px;
    height: 45px;
    font-size: 0.9rem;
    border-radius: 40px;
      display: none !important;

  }

  .cart-button svg {
    width: 22px;
    height: 22px;
    fill: #fff;
  }
}
/* Hide all "Out of stock" text or labels sitewide */
*[class*="out-of-stock"],
*[data-label*="Out of stock"],
.product-form__inventory,
.product__inventory,
.product__availability,
span:contains("Out of stock"),
div:contains("Out of stock"),
p:contains("Out of stock") {
  display: none !important;
}
/* === Universal fade effect after page load === */


/* Items start visible for correct measurement */
.products-grid .product-item {
  opacity: 1;
  transition: opacity 5s ease;
}

/* Fade starts only after .fade-now is added */

@keyframes softFade {
  to { opacity: 1; }
}

html,
body {
  overflow-x: hidden;
}

/* Prevent scroll flicker and layout gaps */
.products-grid {
  overflow: hidden;
  position: relative;
  will-change: opacity, transform;
}

/* === FINAL IPHONE FIX (Balanced Header + Cart Button) === */
@supports (-webkit-touch-callout: none) {
  @media screen and (max-width: 500px) {
    html, body {
      font-size: 17px !important;
    }

    /* HEADER */
    .sticky-header {
      font-size: 1.1rem !important;
      padding: 16px 14px !important;
      letter-spacing: 1.1px !important;
    }

    .header-filter,
    .header-about {
      font-size: 1rem !important;
      letter-spacing: 0.7px !important;
    }

    /* CART BUTTON */
    .cart-button {
      width: 50px !important;
      height: 40px !important;
      font-size: 1.5rem !important;
      border-radius: 20px !important;
      margin-top: 8px !important;
      margin-right: 12px !important;
      background-color: #000 !important;
      color: #fff !important;
  display: none !important;
      align-items: center !important;
      justify-content: center !important;
    }

    .cart-button svg {
      width: 17px !important;
      height: 17px !important;
      fill: #fff !important;

    }

    .header-cart {
      right: 10px !important;
      top: 18px !important;
    }
  }
}


/* === FIX: Remove unnecessary horizontal scroll on iPhone === */
html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

.products-grid {
  margin: 0 auto !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}





/* === 💥 FINAL MOBILE FIX: FORCE CART TO BOTTOM RIGHT ON iPHONE === */
@supports (-webkit-touch-callout: none) {

  
  @media screen and (max-width: 900px) {
    html, body {
      overflow-x: hidden !important;
    }

    .header-cart {
      position: fixed !important;
      bottom: 20px !important;
      right: 20px !important;
      top: auto !important;
      left: auto !important;
      z-index: 999999 !important;
      pointer-events: none !important;
        display: none !important;

    }

    .header-cart .cart-button {
      pointer-events: auto !important;
      background-color: #000 !important;
      color: #222 !important;
      width: 65px !important;
      height: 50px !important;
      border-radius: 50px !important;
  display: none !important;
      align-items: center !important;
      justify-content: center !important;
      font-size: 1rem !important;
    }

    .header-cart .cart-button svg {
      width: 26px !important;
      height: 26px !important;
      fill: #fff !important;
        display: none !important;

    }
  }
}

/* === FIX: Header cutting top of products on mobile === */
@media (max-width: 768px) {
  .products-grid {
    padding-top:50px !important; /* space for sticky header */
  }

  .product-page {
    padding-top: 60px !important; /* for product page too */
  }

  .sticky-header {
    height: auto;
    min-height: 3px; /* helps consistent header height */
  }
}

/* === FINAL iPhone Fix: Prevent right-side cropping of About link === */
@supports (-webkit-touch-callout: none) {
  @media screen and (max-width: 500px) {
    .sticky-header {
      width: 100vw !important;          /* full viewport width */
      max-width: 100% !important;
      overflow-x: visible !important;
      justify-content: center !important;
      padding: 10px 100px !important;    /* balanced left/right padding */
      box-sizing: border-box;
    }

    .header-center {
      position: relative !important;    /* stop absolute offset issues */
      left: auto !important;
      transform: none !important;
      gap: 25px !important;
      justify-content: center !important;
      width: 100% !important;
      text-align: center !important;
    }

    .header-right {
      position: absolute !important;
      right: 15px !important;
      top: 50%;
      transform: translateY(-50%) !important;
    }

    .header-filter,
    .header-about {
      font-size: 0.95rem !important;
      letter-spacing: 1.3px !important;
      white-space: nowrap !important; /* prevents wrap */
    }

    html, body {
      width: 100% !important;
      max-width: 100% !important;
       margin: 0;
      padding: 0;
      overflow-x: hidden !important;
    }
  }
}
/* === PERFECT ABOUT FIX: visible links, scrollable, justified === */
@media (max-width: 800px) {
  .about-section {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 70px 30px 40px;     /* space for header */
    overflow-y: auto;            /* full scroll */
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    text-align: center;
    z-index: 9998;
  }

  .about-section .about-content {
    max-width: 700px;
    width: 100%;
    text-align: center;
    font-size: 2rem;
    color: #111;
    box-sizing: border-box;
    padding-bottom: 100px;       /* ✅ ensures links at bottom are visible */
  }

  .about-section .about-content p {
    margin-bottom: 10px;
    text-align: center;
        font-size: 2rem;

  }

  .about-section .contact-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 25px;
    margin-top: 30px;
    margin-bottom: 60px;         /* ✅ adds breathing space at end */
  }

  .about-section .contact-links a {
    font-size: 1.1rem;
    color: #333;
    text-decoration: none;
    font-weight: 500;
  }

  .about-section .contact-links a:hover {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 5px;
  }

html, body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
  }

.product-inquiry {
  font-family: 'Amiri', serif;
  font-size: 1rem;
  color: #222;
  margin-top: 10px;
  letter-spacing: 1px;
}

.product-inquiry a {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.product-inquiry a:hover {
  color: #333;
}

/* === FIX: Smooth zoom + no gaps/cropping flash === */
.products-grid {
  transition: all 0.35s ease-in-out;
  grid-auto-rows: masonry;        /* allows natural height flow */
  align-items: start;             /* align from top */
    transition: grid-template-columns 0.15s ease, opacity 0.15s ease;
  backface-visibility: hidden;
}

.product-item {
  transition: transform 0.35s ease-in-out, opacity 0.35s ease-in-out;
  will-change: transform, opacity;
    pointer-events: auto;
  cursor: pointer;

}

/* During zoom animation */
body.mode-change .product-item {
  transform: scale(2);
  opacity: 2;
}

/* Prevent white gaps between reflows */
.products-grid::after {
  content: "";
  flex: auto;
}

/* Helps browsers handle reflow while zooming */
@supports not (grid-template-rows: masonry) {
  .products-grid {
    display: grid;
    grid-auto-flow: dense;
  }
}
.products-grid {
  transition: opacity 0.08s ease, grid-template-columns 0.22s ease;
  backface-visibility: hidden;
}

.products-grid.transitioning {
  opacity: 0.85;
  transform: scale(0.99);
}

body.mode-change .products-grid {
  opacity: 0.95;
  transform: scale(0.98);
}
/* Desktop: force 4 columns only on wide screens */
@media (min-width: 1025px) {
  .products-grid.products-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}


/* === Desktop header fix: keep centered, just shorter === */
@media (min-width: 1025px) {
  .sticky-header {
    padding: 25px 0 !important;       /* less vertical height */
    height: auto !important;
  }

  .header-center {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important; /* perfectly centered */
  }

  .header-right {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}
/* prevent product images from being cut under the fixed header */
@media (min-width: 1025px) {
  .products-grid {
    padding-top: 50px !important; /* space for header height */
  }

  .product-page {
    padding-top: 50px !important; /* also for single product pages */
  }
}
/* === Fix: prevent right-side cutoff on desktop === */
@media (min-width: 1025px) {
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .products-grid {
width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  img.product-item {
    display: block;
    width: 100%;
    height: auto;
  }
}

.products-grid.ready .product-item {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeIn .3s ease forwards;
  animation-delay: calc(var(--delay) * 0.05s);
}
@keyframes fadeIn {
  to { opacity: 1; transform: translateY(0); }
}

.products-grid {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
              grid-template-columns 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center center;
}








body.view-1 .products-grid { grid-template-columns: 1fr; }
body.view-4 .products-grid { grid-template-columns: repeat(4, 1fr); }
body.view-8 .products-grid { grid-template-columns: repeat(8, 1fr); }







.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0px;
  transition: grid-template-columns 2s ease-in-out, transform 2s ease-in-out;
  
}

.product-container {
  transition: transform 0.4s ease, width 0.4s ease, height 0.4s ease;
}



/* Ensure images scale correctly */
.product-container img {
  width: 100%;
  height: auto;
  display: block;
}



.products-grid {
  transition: grid-template-columns 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: filter, opacity;

}

.product-container {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}


.products-grid.is-transitioning {
  filter: blur(.02px);
  opacity: 0.95;
  transition: filter 20ms ease, opacity 20ms ease;
}

.products-grid.is-transitioning .product-container {
    transform: scale(0.955);

}

.products-grid.is-settling .product-container {
  transform: scale(1.01);
}


.product-container {
  pointer-events: none;

}

.product-container .product-item {
  pointer-events: auto;

}


