/* Static-restore layer: replaces behaviour the Shopify storefront runtime used to provide. */

/* 1. WOW.js scroll-reveal failsafe — theme ships .wow{visibility:hidden} */
.wow,
[class*="wow"] {
  visibility: visible !important;
  animation: none !important;
  -webkit-animation: none !important;
}
.animated {
  animation: none !important;
  -webkit-animation: none !important;
  opacity: 1 !important;
}

/* 2. Desktop dropdown menus (were opened by theme JS) */
.nav-pills li.dropdown .mega-menu--dropdown-wrapper { position: relative; }
.nav-pills li.dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  width: auto;
  display: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity .15s ease;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
  border: 1px solid rgba(0, 0, 0, .08);
  padding: 6px 0;
  z-index: 1200;
}
.nav-pills li.dropdown:hover > .mega-menu--dropdown-wrapper > .dropdown-menu,
.nav-pills li.dropdown:focus-within > .mega-menu--dropdown-wrapper > .dropdown-menu,
.nav-pills li.dropdown.is-open > .mega-menu--dropdown-wrapper > .dropdown-menu {
  display: block;
  visibility: visible;
  opacity: 1;
}
.nav-pills li.dropdown .dropdown-menu li { display: block; width: 100%; }
.nav-pills li.dropdown .dropdown-menu a {
  display: block;
  padding: 10px 18px;
  min-height: 44px;
  line-height: 24px;
  white-space: nowrap;
}

/* 3. Homepage slideshow (flexslider replacement) */
.flexslider-homepage { position: relative; overflow: hidden; }
.flexslider-homepage .slides { width: 100% !important; margin: 0; padding: 0; list-style: none; }
.flexslider-homepage .slides > li {
  width: 100% !important;
  float: none !important;
  display: none !important;
  margin: 0;
}
.flexslider-homepage .slides > li.is-active { display: block !important; }
.flexslider-homepage .slides > li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.flexslider-homepage:not(.slideshow--full-screen) .slides > li img { height: auto; }
.flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.flex-direction-nav a {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .85);
  border-radius: 50%;
  color: #111;
  text-indent: 0;
  font-size: 0;
}
.flex-direction-nav .flex-prev { left: 12px; }
.flex-direction-nav .flex-next { right: 12px; }
.flex-direction-nav a::after { content: ""; }
.flex-direction-nav a svg { width: 22px; height: 22px; }
.slider-pagination-container {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 5;
}
.slider-pagination-container button {
  width: 12px;
  height: 12px;
  padding: 0;
  margin: 0 5px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .55);
  cursor: pointer;
}
.slider-pagination-container button.is-active { background: #fff; }
.slider-pagination-container .dot-hit { display: inline-block; padding: 16px 6px; border: 0; background: none; }

/* text-advert mobile "flexslider" — show as a simple stack instead of a dead slider */
.mobile-homepage-text-adverts .slides { display: block; width: 100% !important; }
.mobile-homepage-text-adverts .slides > li,
.mobile-homepage-text-adverts .grid__item {
  width: 100% !important;
  float: none !important;
  display: block !important;
  margin-bottom: 18px;
}

/* 4. Product gallery (theme JS used to clone <template> into .product-single__medias) */
.product-single__medias { position: relative; }
/* theme hides the thumb rail until Swiper initialises, and the media until it is "loaded" */
.product-single__thumbnails .swiper-container:not(.swiper-container-initialized) { visibility: visible !important; }
.product-single__medias .product-single__media,
.product-single__medias .product-single__media--selected { display: block !important; }
.product-single__medias .product-single__media__wrapper { padding-top: 0 !important; }
.product-single__medias img { max-height: 760px; width: auto; margin: 0 auto; }
.product-single__medias .product-single__media__wrapper > video { display: block !important; width: 100%; height: auto; }
.product-single__medias .product-single__media__icon { display: none !important; }
.product-single__medias .product-single__media__image img,
.product-single__medias .product-single__media video { width: 100%; height: auto; display: block; }
.product-single__thumbnails .swiper-container { overflow-x: auto; overflow-y: hidden; }
.product-single__thumbnails .swiper-wrapper {
  display: flex;
  flex-direction: row !important;
  gap: 8px;
  transform: none !important;
  height: auto !important;
}
.product-single__thumbnails .swiper-slide {
  flex: 0 0 84px;
  width: 84px;
  cursor: pointer;
  border: 2px solid transparent;
  min-height: 44px;
}
.product-single__thumbnails .swiper-slide.product-single__thumbnail--selected { border-color: #111; }
.product-single__thumbnails .swiper-slide img { width: 100%; height: auto; display: block; }
.product-single__thumbnails .swiper-slide .product-single__thumbnail__wrapper { position: relative; }
.product-single__thumbnails .swiper-slide .product-single__thumbnail__wrapper img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.thumbs-direction-nav { display: none; }
.featured-image-loader { display: none !important; }

/* 5. Inert commerce controls — kept for fidelity, no dead endpoint behind them */
button#purchase,
.shopify-product-form button {
  cursor: default;
}
.delinked { cursor: default; }
span.delinked { text-decoration: none; }
/* slideshow captions are faded in by flexslider — reveal them statically */
.slideshow-fade-content, .slider-caption--text, .slider-caption { opacity: 1 !important; }

/* 6. Custom-element selects (wetheme-dropdown is an undefined element without theme JS) */
wetheme-dropdown { display: block; position: relative; }
wetheme-dropdown select {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  font-size: 16px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .25);
}
select.original-select.no-js { display: none; }

/* 7. Mobile menu (slide-out) */
.slideout-panel-hidden { display: none; }
#theme-menu.is-open { display: block; }
#slideout-overlay.is-open {
  display: block;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .45);
  z-index: 900;
}
.mobile-menu-hidden { display: none; }
.mobile-menu.is-open { display: block; }
.mobile-menu-link { min-height: 44px; display: flex; align-items: center; }

/* 8. Mobile-first hardening */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
img, video, iframe, svg { max-width: 100%; }
img { height: auto; }
.container { max-width: 100%; }
@media (max-width: 767px) {
  body, p, li, .rte { font-size: 16px; }
  .header-icons a, .mobile-menu-link, .footer a, .site-nav a { min-height: 44px; }
  table { display: block; overflow-x: auto; }
}

/* 9. Skip link target */
#skip-to-content { position: absolute; left: -9999px; }
#skip-to-content:focus {
  left: 12px;
  top: 12px;
  z-index: 2000;
  background: #fff;
  color: #111;
  padding: 10px 16px;
  border: 2px solid #111;
}

/* 10. Cart delete icon asset was never archived — never request it */
.cart-item-delete, .ajax-cart--delete { background-image: none !important; }


/* 11. Overlay header sits on top of the hero photo — keep nav legible and clear of the caption */
.header-wrapper--overlay,
.header-wrapper--overlay * {
  text-shadow: 0 1px 4px rgba(0, 0, 0, .7);
}
.header-wrapper--overlay .dropdown-menu,
.header-wrapper--overlay .dropdown-menu * { text-shadow: none; }
@media (min-width: 768px) {
  .flexslider-homepage .slider-caption.vertical-align--middle { transform: translateY(74px); }
}

/* 12. Hero captions: slides with a transparent panel put white text straight on the photo */
body .flexslider-homepage .slider-caption,
body .flexslider-homepage .slider-caption * { text-shadow: 0 2px 6px rgba(0, 0, 0, .85); }
body .flexslider-homepage .slider-caption .btn { text-shadow: none; }

/* 13. Touch targets >= 44px on small screens */
@media (max-width: 991px) {
  .notification-bar a { display: block; padding: 13px 12px; }
  .slide-menu,
  .slide-menu-mobile,
  .mobile-menu-close {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .links-footer a,
  .content-footer a,
  .bottom-footer a,
  .copyright a { display: inline-block; padding: 11px 8px; min-height: 44px; }
  .social-sharing a { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 10px; }
  .hp-title > a,
  .homepage-collection-link a,
  .button--text-subdued,
  .title-bar a,
  .article__title a,
  .article-title a,
  h2 > a,
  h3 > a,
  .blog-title-wrapper a,
  .breadcrumb a { display: inline-block; padding: 12px 4px; min-height: 44px; }
  #newsletter_submit, .newsletter-wrapper button { min-width: 44px; min-height: 44px; }
  .entry-content strong > a { display: inline-block; padding: 12px 2px; min-height: 44px; }
}
