/* Visible first image, before optional carousel enhancement. */
.woocommerce-product-gallery { opacity: 1; }
.product-images.slider-layout:not(.slick-initialized) > :not(:first-child) { display: none; }
.product-images.slider-layout:not(.slick-initialized) > :first-child { display: block; width: 100%; }
.product-images img { height: auto; }
.product-thumbnails:not(.slick-initialized) { display: flex; overflow: hidden; }
.product-thumbnails:not(.slick-initialized) > * { flex: 0 0 16.6667%; }
.mh-carousel-pending:not(.slick-initialized) { display: flex !important; flex-wrap: nowrap; overflow: hidden; }
.mh-carousel-pending:not(.slick-initialized) > * { max-width: none; flex: 0 0 calc(100% / var(--mh-carousel-columns, 4)); width: auto; }
@media(prefers-reduced-motion: reduce) { .slick-slider-block *, .mh-sticky-cart, .woocommerce-product-gallery { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }

.rt-slideshow.mh-carousel-pending { --mh-carousel-columns: 1 !important; }
.rt-slideshow:not(.slick-initialized) > :not(:first-child) { display: none; }

.product-images.column-desktop-3.slider-layout:not(.slick-initialized) > :first-child { width: 33.3333%; }
@media(max-width: 767px) {
 .product-images.column-desktop-3.slider-layout:not(.slick-initialized) > :first-child { width: 50%; }
 .product-thumbnails:not(.slick-initialized) > * { flex-basis: 25%; }
}
.layout-thumnail-left .product-thumbnails:not(.slick-initialized) { flex-direction: column; }

/* Keep Slick controls independent of vendor icon fonts and CSS load order. */
.slick-slider .slick-arrow::before {
 content: '' !important;
 position: absolute;
 top: 50%;
 left: 50%;
 display: block;
 box-sizing: border-box;
 width: 10px;
 height: 10px;
 border: 0;
 border-right: 2px solid currentColor;
 border-bottom: 2px solid currentColor;
 border-radius: 0;
 background: none;
 opacity: 1;
}
.slick-slider .slick-prev::before { transform: translate(-50%, -50%) rotate(135deg); }
.slick-slider .slick-next::before { transform: translate(-50%, -50%) rotate(-45deg); }
[dir='rtl'] .slick-slider:not(.slick-vertical) .slick-prev::before { transform: translate(-50%, -50%) rotate(-45deg); }
[dir='rtl'] .slick-slider:not(.slick-vertical) .slick-next::before { transform: translate(-50%, -50%) rotate(135deg); }
.slick-slider.slick-vertical .slick-prev::before { transform: translate(-50%, -50%) rotate(225deg); }
.slick-slider.slick-vertical .slick-next::before { transform: translate(-50%, -50%) rotate(45deg); }
.slick-slider .slick-arrow.slick-disabled::before { opacity: .25; }
.slick-slider .slick-arrow.slick-hidden { display: none; }
.slick-slider .slick-arrow:focus-visible,
.slick-slider .slick-dots button:focus-visible {
 outline: 2px solid #df001b !important;
 outline-color: var(--primarycolor, #df001b) !important;
 outline-offset: 3px;
}
.slick-slider .slick-arrow:focus-visible { opacity: 1; }
.slick-slider .slick-dots li button {
 padding: 0;
 border: 0;
 border-radius: 50%;
 background: #ddd;
}
.slick-slider:not(.rt-slideshow) .slick-dots li button { width: 13px; height: 13px; }
.slick-slider .slick-dots li button::before { display: none; }
.slick-slider .slick-dots li.slick-active button { background: var(--primarycolor, #df001b); }
@media (hover: hover) and (pointer: fine) {
 .slick-slider .slick-dots li button:hover { background: var(--primarycolor, #df001b); }
}

/* Product, image and brand pagination takes its own row below the slides. */
.slick-slider:not(.rt-slideshow) > .slick-dots {
 position: static;
 top: auto;
 right: auto;
 bottom: auto;
 left: auto;
 z-index: auto;
 clear: both;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: 4px;
 width: 100%;
 margin: 16px 0 0;
 padding: 0;
}

/* Touch controls are present before a tap; hovering must not reveal or move them. */
@media (hover: none), (pointer: coarse) {
 .slick-slider .slick-arrow { opacity: 1; }
 .slick-slider:not(.slick-vertical) .slick-prev { left: 0 !important; }
 .slick-slider:not(.slick-vertical) .slick-next { right: 0 !important; }
 .product-inner .product-image .product_thumbnail_hover { display: none !important; }
 .product-inner .product-content .product-cart { opacity: 1; right: 0; }

 /* Layouts 2/3 put their purchase action in the image actions, so keep it usable. */
 .product-layout-2 .product-inner .action-links,
 .product-layout-3 .product-inner .action-links {
  display: block !important;
  position: static;
  margin-top: 12px;
  transform: none;
  opacity: 1;
  pointer-events: auto;
 }
 .product-layout-2 .product-inner .action-links > ul,
 .product-layout-3 .product-inner .action-links > ul { display: block; }
 .product-layout-2 .product-inner .action-links > ul > li,
 .product-layout-3 .product-inner .action-links > ul > li { display: none !important; }
 .product-layout-2 .product-inner .action-links > ul > li.product-cart,
 .product-layout-3 .product-inner .action-links > ul > li.product-cart {
  display: block !important;
  float: none;
  margin: 0;
  transform: none;
  opacity: 1;
  pointer-events: auto;
 }
 .product-layout-2 .product-inner .action-links .product-cart a,
 .product-layout-3 .product-inner .action-links .product-cart a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  border-radius: 999px;
  font-size: 12px;
  touch-action: manipulation;
 }
}
