/* Fade has no .flex-viewport: contain FlexSlider's overlapping floats so
   the thumbnail row starts below the images/zoom, also at speed 0. */
body.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { display:flow-root; }
/* Full-color thumbnails: opacity never indicates selection. Outrank Woo. */
body.woocommerce div.product div.images ol.flex-control-thumbs { display:flex; flex-wrap:wrap; gap:8px; }
body.woocommerce div.product div.images ol.flex-control-thumbs li { float:none; width:calc((100% - 24px) / 4); margin:0; }
body.woocommerce div.product .flex-control-thumbs li img,
body.woocommerce div.product .flex-control-thumbs li img:not(.flex-active) {
    opacity:1; border-radius:var(--lp-radius-sm); box-shadow:inset 0 0 0 1px var(--lp-color-line);
    outline:1px solid var(--lp-color-line); outline-offset:-1px;
}
body.woocommerce div.product .flex-control-thumbs li img.flex-active {
    opacity:1; box-shadow:inset 0 0 0 2px var(--lp-color-pink-deep);
    outline:2px solid var(--lp-color-pink-deep); outline-offset:-2px;
}
/* Keep the selected border, including sticky hover after a touch. */
body.woocommerce div.product .flex-control-thumbs li img:not(.flex-active):hover,
body.woocommerce div.product .flex-control-thumbs li img:not(.flex-active):focus-visible {
    opacity:1; box-shadow:inset 0 0 0 2px var(--lp-color-pink);
    outline:2px solid var(--lp-color-pink); outline-offset:-2px;
}
@media (max-width:767px) {
    body.woocommerce div.product .flex-control-thumbs li img { min-width:64px; min-height:64px; }
}
@media (min-width:768px) and (prefers-reduced-motion:no-preference) {
    #site-header .lp-cart__count.lp-bump { animation:lp-cart-bump 300ms cubic-bezier(.2,.7,.2,1) 1; }
    @keyframes lp-cart-bump { 0%,100% { transform:scale(1); } 50% { transform:scale(1.2); } }
}
