/* Static-clone overrides: make Squarespace markup render fully without its JS runtime. */

/* images: never stay hidden waiting for the JS loader */
img[data-loaded] { opacity: 1 !important; }
[data-animation-role] { opacity: 1 !important; transform: none !important; }

/* kill the JS-driven entrance animations (content stays hidden without the runtime) */
header, footer, section > .content-wrapper { animation: none !important; }
.block-animation-fade-in, .block-animation-slide-up, .block-animation-reveal,
.block-animation-focus-in { opacity: 1 !important; transform: none !important; }

/* product grid: items wait for a scroll-reveal that never comes */
.product-list .product-list-item { opacity: 1 !important; transform: none !important; }
/* cover image visible by default; :hover rules still outrank this (no !important) */
.has-hover-img .grid-image-cover { opacity: 1; }

/* section background photos: JS normally flips visibility after the FX canvas boots */
.background-image-fx { visibility: visible !important; }

/* product detail gallery: size the slide image (the JS loader used to) */
.product-gallery-slides-item-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.product-gallery-thumbnails-item {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.product-gallery-thumbnails-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* blog list thumbnails: the runtime used to give the wrapper its padding-based height */
.blog-masonry .image-wrapper,
.blog-alternating-side-by-side .image-wrapper,
.blog-basic-grid .image-wrapper,
.blog-side-by-side .image-wrapper {
  height: auto !important;
  width: 100%;
  aspect-ratio: 1 / 1;
}

/* masonry: neutralize the unsupported native display:masonry; JS positions items */
.gallery-masonry-wrapper { display: block !important; }
.gallery-masonry-item { opacity: 1 !important; }
.gallery-masonry-item:not([data-show]) .gallery-masonry-item-wrapper { opacity: 1 !important; }

/* video embeds: iframe fills the intrinsic-ratio wrapper */
.embed-block-wrapper { position: relative; }
.sqs-video-wrapper { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* commerce chrome that can't work statically */
.floating-cart, #floatingCart, .sqs-cart-dropzone { display: none !important; }

/* lightbox */
.ssg-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ssg-lightbox img {
  max-width: 92vw;
  max-height: 92vh;
  object-fit: contain;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
}
.ssg-lightbox button {
  position: absolute;
  background: none;
  border: none;
  color: #fff;
  font-size: 44px;
  line-height: 1;
  cursor: pointer;
  padding: 12px 18px;
  opacity: 0.75;
}
.ssg-lightbox button:hover { opacity: 1; }
.ssg-lb-close { top: 10px; right: 14px; }
.ssg-lb-prev { left: 6px; top: 50%; transform: translateY(-50%); font-size: 60px; }
.ssg-lb-next { right: 6px; top: 50%; transform: translateY(-50%); font-size: 60px; }
