/* Victor Scientific — Grocia-inspired smooth motion v5
 * Smooth, restrained ecommerce motion. Existing Victor layout/commerce markup
 * remains the source of truth; this layer only controls entrance/hover motion.
 */
:root{--vsc-motion-ease:cubic-bezier(.22,.68,.18,1)}

/* Generic non-home page shell: one small fade/rise, never zoom. */
html.vsc-motion-enabled #content.vsc-page-shell,
html.vsc-motion-enabled #content.vsc-page-shell.vsc-page-shell-ready{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

/* One-time visual-unit reveal. No scale, no diagonal travel. */
html.vsc-motion-enabled .vsc-motion-reveal,
html.vsc-motion-enabled .vsc-motion-reveal.vsc-motion-visible{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
  will-change:auto;
}

/* Homepage hero: render immediately. No page-opening fade/flash. */
html.vsc-motion-enabled .vsc-main-slider.vsc-motion-hero-ready .vsc-slide.is-active > img{
  animation:none!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

/* Product/card hover: calm and premium, not an entrance zoom. */
.vsc-product-card,
.main_product_inner .product_item,
.product_item.wist_item{
  border-radius:20px!important;
  overflow:hidden;
  border:1px solid #dfe4ea;
  background:#fff;
  backface-visibility:hidden;
}
.vsc-product-card{transition:transform .24s var(--vsc-motion-ease),box-shadow .24s var(--vsc-motion-ease),border-color .2s ease}
.vsc-product-card__media{border-radius:20px 20px 0 0;overflow:hidden}
@media (hover:hover) and (pointer:fine){
  .vsc-product-card:hover{transform:translate3d(0,-3px,0);box-shadow:0 13px 30px rgba(27,35,50,.09)}
  .vsc-product-card__media img{transition:transform .34s var(--vsc-motion-ease)}
  .vsc-product-card:hover .vsc-product-card__media img{transform:scale(1.018)}
  .main_product_inner .product_item:hover,.product_item.wist_item:hover{transform:translate3d(0,-3px,0);box-shadow:0 13px 28px rgba(20,31,48,.09)}
}
.main_product_inner .product_item,.product_item.wist_item{box-shadow:0 5px 18px rgba(20,31,48,.045);transition:transform .24s var(--vsc-motion-ease),box-shadow .24s var(--vsc-motion-ease),border-color .2s ease}

/* Product gallery: let Owl own the horizontal slide. Only the image content gets
   a calm vertical settle after Owl has finished positioning. */
body.product-refresh-page .details_slider{border-radius:20px!important;overflow:hidden}
body.product-refresh-page .details_right{border-radius:20px!important}
body.product-refresh-page .details_slider .owl-stage,
body.product-refresh-page .details_slider .owl-item{transition:none!important}
body.product-refresh-page .details_slider.vsc-gallery-preparing{visibility:visible!important;opacity:1!important}
body.product-refresh-page .details_slider.vsc-gallery-ready{visibility:visible!important;opacity:1!important}
html.vsc-motion-enabled body.product-refresh-page .details_slider .dimage_item{
  opacity:1!important;
  transform:none;
}
@keyframes vscProductGalleryRise{
  from{opacity:.01;transform:translate3d(0,22px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
html.vsc-motion-enabled body.product-refresh-page .details_slider.vsc-gallery-ready .owl-item.active .dimage_item.vsc-gallery-enter{
  animation:vscProductGalleryRise 420ms cubic-bezier(.22,.8,.2,1) both!important;
}
html.vsc-motion-enabled body.product-refresh-page.vsc-product-page-ready .details_right,
html.vsc-motion-enabled body.product-refresh-page.vsc-product-page-ready .indicator_thumb{
  animation:none!important;transform:none!important;opacity:1!important;
}

/* Related products retain full content and premium rounded footprint. */
body.product-refresh-page .related-product-section{padding-top:20px;padding-bottom:18px}
body.product-refresh-page .related-product-section .product-inner{margin-left:-6px;margin-right:-6px}
body.product-refresh-page .related-product-section .product_item{
  box-sizing:border-box;min-height:390px;height:auto;margin:6px 6px 18px;padding:12px;
  display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfe4ea;border-radius:20px!important;
  background:#fff;box-shadow:0 7px 22px rgba(20,31,48,.055)
}
body.product-refresh-page .related-product-section .product_item_inner{height:auto!important;flex:0 0 auto;display:block;border-radius:15px;overflow:hidden}
body.product-refresh-page .related-product-section .pro_img{height:190px;border-radius:15px;overflow:hidden;background:#fff}
body.product-refresh-page .related-product-section .pro_img img{height:100%;width:100%;object-fit:contain}
body.product-refresh-page .related-product-section .pro_des{padding:0 2px;display:flex;flex-direction:column;flex:1}
body.product-refresh-page .related-product-section .pro_name{min-height:50px;height:auto;margin-top:10px}
body.product-refresh-page .related-product-section .pro_name a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:#293143;font-size:13px;line-height:1.5;font-weight:700}
body.product-refresh-page .related-product-section .related-rating{min-height:17px;margin-top:6px;line-height:1}
body.product-refresh-page .related-product-section .related-rating i{color:#efb21a;font-size:10px}
body.product-refresh-page .related-product-section .pro_price{margin-top:auto!important;margin-bottom:7px!important;padding-top:7px}
body.product-refresh-page .related-product-section .pro_price p{font-size:14px;font-weight:800}
body.product-refresh-page .related-product-section .related-stock-status{font-size:9px;font-weight:800}
body.product-refresh-page .related-product-section .pro_btn{gap:6px}
body.product-refresh-page .related-product-section .order-btn,
body.product-refresh-page .related-product-section .order-btn-link,
body.product-refresh-page .related-product-section .cart-icon-btn,
body.product-refresh-page .related-product-section .cart-icon-link{min-height:38px;border-radius:999px!important}
@media (hover:hover) and (pointer:fine){
  body.product-refresh-page .related-product-section .product_item:hover{transform:translate3d(0,-4px,0);border-color:#d1d8e0;box-shadow:0 15px 32px rgba(20,31,48,.10)}
  body.product-refresh-page .related-product-section .product_item_inner:hover .pro_img img{transform:scale(1.018);transition:transform .32s var(--vsc-motion-ease)}
}

.vsc-product-card .vsc-icon-btn,.vsc-product-card .vsc-cart-btn,
.related-product-section .order-btn,.related-product-section .order-btn-link,
.related-product-section .cart-icon-btn,.related-product-section .cart-icon-link{transition:transform .12s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.vsc-product-card .vsc-icon-btn:active,.vsc-product-card .vsc-cart-btn:active,
.related-product-section .order-btn:active,.related-product-section .order-btn-link:active,
.related-product-section .cart-icon-btn:active,.related-product-section .cart-icon-link:active{transform:translateY(1px) scale(.985)}

/* Page-opening motion is intentionally disabled: no zoom, flash, corner travel, or repeated rise. */
html.vsc-motion-enabled body:not(.vsc-homepage) #content,
html.vsc-motion-enabled body:not(.vsc-homepage) #content *{
  animation-timing-function:linear;
}
html.vsc-motion-enabled body.product-refresh-page .details_slider .dimage_item{
  transform:none!important;
}

@media (prefers-reduced-motion:reduce){
  html.vsc-motion-enabled #content.vsc-page-shell,
  html.vsc-motion-enabled #content.vsc-page-shell.vsc-page-shell-ready,
  html.vsc-motion-enabled .vsc-motion-reveal,
  html.vsc-motion-enabled .vsc-motion-reveal.vsc-motion-visible,
  html.vsc-motion-enabled .vsc-main-slider.vsc-motion-hero-ready .vsc-slide.is-active > img,
  html.vsc-motion-enabled body.product-refresh-page .details_right,
  html.vsc-motion-enabled body.product-refresh-page .indicator_thumb,
  html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-item.active .dimage_item.vsc-gallery-enter{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
}
@media(max-width:767.98px){
  .vsc-product-card,.main_product_inner .product_item,.product_item.wist_item{border-radius:17px!important}
  .vsc-product-card__media{border-radius:17px 17px 0 0}
  body.product-refresh-page .details_slider,body.product-refresh-page .details_right{border-radius:17px!important}
  body.product-refresh-page .related-product-section .product_item{min-height:350px;padding:9px;border-radius:17px!important}
  body.product-refresh-page .related-product-section .pro_img{height:154px;border-radius:13px}
  body.product-refresh-page .related-product-section .pro_name{min-height:46px}
  body.product-refresh-page .related-product-section .pro_name a{font-size:11px}
  body.product-refresh-page .related-product-section .pro_price p{font-size:12px}
}

/* FINAL DEEP CALM LOAD: no page-open zoom/flash and no legacy entrance animation. */
html.vsc-motion-enabled,
html.vsc-motion-enabled body{scroll-behavior:auto!important;overflow-anchor:auto}
html.vsc-motion-enabled #content,
html.vsc-motion-enabled #content *{animation-timing-function:linear}
html.vsc-motion-enabled .vsc-main-slider .vsc-slide.is-active > img{animation:none!important;transform:none!important;opacity:1!important}
html.vsc-motion-enabled .fixed-top{transition:box-shadow .2s ease,background-color .2s ease!important;transform:none!important;top:0!important}
html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-stage{will-change:transform}

/* MOBILE PRODUCT PAGE SCROLL FIX
 * Owl Carousel must yield vertical gestures to the browser immediately.
 * Do not put a transition on the Owl stage/items: Owl owns horizontal movement.
 */
@media (max-width:767.98px){
  html.vsc-motion-enabled body.product-refresh-page,
  html.vsc-motion-enabled body.product-refresh-page #content,
  html.vsc-motion-enabled body.product-refresh-page .main-details-page{
    touch-action: pan-y;
  }
  /* Keep Owl's stage/outer native. The item-level pan-y rule below lets
     vertical swipes scroll while preserving horizontal Owl dragging. */
  html.vsc-motion-enabled body.product-refresh-page .details_slider.owl-drag .owl-item{
    touch-action: pan-y!important;
    -webkit-user-select:none;
    user-select:none;
  }
  html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-stage,
  html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-item{
    transition:none!important;
  }
}


/* FINAL VERIFIED CALM ENTRY / MOBILE SCROLL OVERRIDES
 * Page navigation must paint directly with no entrance animation. Interactive
 * hover/press transitions elsewhere are intentionally left untouched.
 */
html.vsc-motion-enabled .vsc-motion-reveal,
html.vsc-motion-enabled .vsc-motion-reveal.vsc-motion-visible,
html.vsc-motion-enabled #content.vsc-page-shell,
html.vsc-motion-enabled #content.vsc-page-shell.vsc-page-shell-ready,
html.vsc-motion-enabled body.product-refresh-page .main-details-page .product-section,
html.vsc-motion-enabled .related-product-section .vsc-premium-product-enter,
html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-item.active .dimage_item.vsc-gallery-enter{
  animation:none!important;
  opacity:1!important;
  transform:none!important;
}

/* Prevent any delayed product-gallery entrance transform from being re-added. */
html.vsc-motion-enabled body.product-refresh-page .details_slider .dimage_item{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
}

@media(max-width:767.98px){
  /* Smooth mobile product-gallery gestures: Owl owns horizontal swipes while
     the browser keeps native vertical page scrolling. */
  html.vsc-motion-enabled body.product-refresh-page .details_slider,
  html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-stage-outer,
  html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-stage,
  html.vsc-motion-enabled body.product-refresh-page .details_slider .owl-item,
  html.vsc-motion-enabled body.product-refresh-page .details_slider .dimage_item{
    touch-action:pan-y!important;
    -webkit-user-select:none;
    user-select:none;
    -webkit-user-drag:none;
  }
  html.vsc-motion-enabled body.product-refresh-page .details_slider .dimage_item img{
    -webkit-user-drag:none;
    user-select:none;
  }

  /* Final mobile gesture policy: browser owns vertical page scrolling;
     Owl owns horizontal gallery dragging on its items. */
  html.vsc-motion-enabled body.product-refresh-page,
  html.vsc-motion-enabled body.product-refresh-page #content,
  html.vsc-motion-enabled body.product-refresh-page .main-details-page{
    touch-action:pan-y!important;
  }
  html.vsc-motion-enabled body.product-refresh-page .details_slider.owl-drag .owl-item{
    touch-action:pan-y!important;
  }
}

/* First-paint safeguard: these are page-entry effects, so disable them without
   waiting for JavaScript to add the motion state class. */
body.product-refresh-page .main-details-page .product-section,
.related-product-section .vsc-premium-product-enter{
  animation:none!important;
  opacity:1!important;
  transform:none!important;
}
