/* Local rebuild: the original theme expects Shopify JS for these states.
   Everything else is the untouched theme CSS. */
.site-nav, .site-navigation { visibility: visible !important; }
[data-aos] { opacity: 1 !important; visibility: visible !important; }
/* The theme hides .image-element until its own JS fades it in. */
.image-element, image-element img { opacity: 1 !important; }
.image-wrap:not(.image-wrap__thumbnail) image-element { height:100%; left:0;
  position:absolute; top:0; width:100%; }
.icartShopifyCartContent { width: 100%; }
.custom-carousel-section, .carousel-container { overflow: hidden; }
.custom-carousel-section { position: relative; }
.carousel-slide__media picture, .carousel-slide__media img { display: block; width: 100%; }
.carousel-slide__media video { width: 100%; height: 100%; object-fit: cover; }
.wb-dot { width: 28px; height: 4px; border: 0; padding: 0; cursor: pointer;
  background: rgba(255,255,255,.35); border-radius: 2px; }
.wb-dot.on { background: #fff; }
.wb-dots { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 8px; z-index: 5; }
.wb-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: 38px; height: 38px; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(0,0,0,.35); color: #fff; font-size: 20px; line-height: 1; }
.wb-arrow.prev { left: 16px; } .wb-arrow.next { right: 16px; }
.swiper-wrapper { overflow-x: auto !important; gap: 16px; scroll-snap-type: x mandatory; }
.swiper-wrapper > .swiper-slide { flex: 0 0 25% !important; width: 25% !important;
  min-width: 240px; scroll-snap-align: start; }
.drawer.wb-open { display: block !important; }
.drawer--right.wb-open { right: 0; } .drawer--left.wb-open { left: 0; }
@media (max-width: 768px) {
  .swiper-wrapper > .swiper-slide { flex-basis: 75% !important; width: 75% !important; }
}
