:root {
  --kemove-motion-blue: 0 145 255;
  --kemove-motion-border: 0 145 255;
  --kemove-motion-shadow: 0 8px 22px rgb(15 23 42 / 10%);
  --kemove-motion-ease: cubic-bezier(0.23, 1, 0.32, 1);
}

.kemove-page-loader {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  height: 2px;
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
  transition: opacity 140ms ease;
}

.kemove-page-loader__bar {
  display: block;
  width: 100%;
  height: 100%;
  background: #0091ff;
  box-shadow: 0 0 6px rgb(0 145 255 / 24%);
  transform: scaleX(0.06);
  transform-origin: left center;
  transition: transform 760ms var(--kemove-motion-ease);
}

.kemove-page-loader.is-started .kemove-page-loader__bar {
  transform: scaleX(0.52);
}

.kemove-page-loader.is-progressed .kemove-page-loader__bar {
  transform: scaleX(0.74);
}

.kemove-page-loader.is-complete .kemove-page-loader__bar {
  transform: scaleX(1);
  transition-duration: 160ms;
}

.kemove-page-loader.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.kemove-is-animating {
  will-change: opacity, transform;
}

.slideshow__item {
  overflow: hidden;
}

.slideshow__image--desktop img,
.slideshow__image--mobile img,
.featured-collection-list__collection-image,
.featured-collection-list__collection-recommend-image,
.kemove-shop-category__image,
.block-product-image img,
.media-gallery__image {
  backface-visibility: hidden;
}

.featured-collection-list__collection,
.featured-collection-list__cover,
.kemove-shop-category__card,
.block-product-card,
.kemove-exclusive-offers__card,
.kemove-featured-blogs__card,
.kemove-community-gallery__item {
  transition:
    transform 220ms var(--kemove-motion-ease),
    box-shadow 220ms var(--kemove-motion-ease),
    border-color 180ms ease;
}

.block-product-card__quick-add,
.kemove-shop-category__quick-add {
  transition:
    transform 200ms var(--kemove-motion-ease),
    box-shadow 200ms var(--kemove-motion-ease),
    background-color 180ms ease;
}

.featured-collection-list__collection::after,
.featured-collection-list__cover::after,
.kemove-shop-category__media-wrap::after,
.block-product-image__layer-image-wrapper::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  border: 1px solid rgb(var(--kemove-motion-border) / 0%);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0%);
  opacity: 0;
  transition:
    opacity 280ms var(--kemove-motion-ease),
    border-color 280ms var(--kemove-motion-ease),
    box-shadow 280ms var(--kemove-motion-ease);
}

.featured-collection-list__collection::after,
.featured-collection-list__cover::after {
  border-radius: inherit;
}

.kemove-shop-category__media-wrap::after,
.block-product-image__layer-image-wrapper::after {
  z-index: 2;
}

.header__container {
  transition:
    background-color 280ms ease,
    box-shadow 280ms ease,
    backdrop-filter 280ms ease;
}

.theme-sticky-header--sticky .header__container {
  background-color: rgba(var(--header-background), 1);
  box-shadow: none;
  backdrop-filter: none;
}

.header-nav__menu-item > a,
theme-dropdown-menu .dropdown-menu__label {
  transition:
    color 220ms ease,
    opacity 180ms ease;
}

.product-detail__media-gallery .media-gallery__thumbnail {
  transition:
    transform 200ms var(--kemove-motion-ease),
    box-shadow 200ms var(--kemove-motion-ease),
    opacity 180ms ease;
}

body:not([data-page-type="cart"]) .button:not(.button--link, .button--text, .button--icon),
body:not([data-page-type="cart"]) .shopline-element-buy-now {
  overflow: hidden;
  transition:
    transform 200ms var(--kemove-motion-ease),
    background-color 180ms ease,
    box-shadow 200ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .featured-collection-list__collection:hover,
  .featured-collection-list__cover:hover,
  .kemove-shop-category__card:hover,
  .block-product-card:hover,
  .kemove-exclusive-offers__card:hover,
  .kemove-featured-blogs__card:hover,
  .kemove-community-gallery__item:hover {
    z-index: 2;
    box-shadow: var(--kemove-motion-shadow);
    transform: translateY(-3px);
  }

  .featured-collection-list__collection:hover::after,
  .featured-collection-list__cover:hover::after,
  .kemove-shop-category__card:hover .kemove-shop-category__media-wrap::after,
  .block-product-card:hover .block-product-image__layer-image-wrapper::after {
    border-color: rgb(var(--kemove-motion-border) / 32%);
    box-shadow:
      inset 0 0 0 1px rgb(255 255 255 / 42%),
      0 0 12px rgb(var(--kemove-motion-blue) / 10%);
    opacity: 1;
  }

  .block-product-card:hover .block-product-card__quick-add,
  .kemove-shop-category__card:hover .kemove-shop-category__quick-add {
    box-shadow: 0 6px 14px rgb(0 72 128 / 16%);
    transform: translateY(-1px);
  }

  .product-detail__media-gallery .media-gallery__thumbnail:hover {
    box-shadow: 0 6px 14px rgb(15 23 42 / 10%);
    transform: translateY(-2px);
  }

  body:not([data-page-type="cart"]) .button:not([disabled], .button--link, .button--text, .button--icon):hover,
  body:not([data-page-type="cart"]) .shopline-element-buy-now:hover {
    box-shadow: 0 6px 14px rgb(0 72 128 / 14%);
    transform: translateY(-1px);
  }
}

body:not([data-page-type="cart"]) .button:not([disabled], .button--link, .button--text, .button--icon):active,
body:not([data-page-type="cart"]) .shopline-element-buy-now:active,
.product-detail__buy-buttons .button:active,
.product-detail__form .button:active {
  transform: scale(0.98);
}

@media (prefers-reduced-motion: reduce) {
  .kemove-page-loader,
  .kemove-page-loader__bar,
  .featured-collection-list__collection,
  .featured-collection-list__cover,
  .kemove-shop-category__card,
  .block-product-card,
  .kemove-exclusive-offers__card,
  .kemove-featured-blogs__card,
  .kemove-community-gallery__item,
  .header__container,
  .header-nav__menu-item > a,
  theme-dropdown-menu .dropdown-menu__label,
  .product-detail__media-gallery .media-gallery__thumbnail,
  body:not([data-page-type="cart"]) .button:not(.button--link, .button--text, .button--icon),
  body:not([data-page-type="cart"]) .shopline-element-buy-now {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}
