/* RC with Curly — Premium Motion System v5.0.2 */
:root{
  --rcm-fast:160ms;
  --rcm-base:320ms;
  --rcm-slow:560ms;
  --rcm-ease:cubic-bezier(.22,1,.36,1);
  --rcm-soft:cubic-bezier(.2,.8,.2,1);
}
html{scroll-behavior:smooth}
body.rcm-ready{--rcm-ready:1}
body.rcm-page-leaving{opacity:.94;transform:translateY(-2px);transition:opacity 140ms ease,transform 140ms ease}

/* Reveal engine. JS adds .rcm-reveal only to selected components. */
.rcm-reveal{opacity:0;transform:translate3d(0,18px,0) scale(.992);filter:blur(2px);will-change:transform,opacity,filter;transition:opacity var(--rcm-slow) var(--rcm-ease),transform var(--rcm-slow) var(--rcm-ease),filter var(--rcm-base) ease}
.rcm-reveal.rcm-from-left{transform:translate3d(-18px,0,0) scale(.992)}
.rcm-reveal.rcm-from-right{transform:translate3d(18px,0,0) scale(.992)}
.rcm-reveal.rcm-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}

/* Premium interactive lift — restrained, not bouncy. */
.rcm-interactive{transition:transform var(--rcm-base) var(--rcm-ease),box-shadow var(--rcm-base) var(--rcm-ease),border-color var(--rcm-fast) ease,background-color var(--rcm-fast) ease,opacity var(--rcm-fast) ease}
@media (hover:hover) and (pointer:fine){
  .rcm-interactive:hover{transform:translateY(-3px)}
  .rcm-interactive:active{transform:translateY(-1px) scale(.992);transition-duration:90ms}
  .rcm-media-hover img,.rcm-media-hover picture{transition:transform 700ms var(--rcm-ease),filter 500ms ease}
  .rcm-media-hover:hover img{transform:scale(1.025)}
}

/* Buttons and controls */
button,a.button,.button,.single_add_to_cart_button,.jcm-session-primary,.jcm-session-secondary,.jcm-service-submit,.jcm-settings-save,.jcm-add-complete-setup,.jcm-bundle-add,.jcm-alert-button,.jcm-compare-shop,.jcm-customer-link,.jcm-build-view{
  transition:transform var(--rcm-fast) var(--rcm-ease),box-shadow var(--rcm-base) var(--rcm-ease),background-color var(--rcm-fast) ease,color var(--rcm-fast) ease,border-color var(--rcm-fast) ease,opacity var(--rcm-fast) ease!important;
}
@media (hover:hover) and (pointer:fine){
  button:hover,a.button:hover,.button:hover,.single_add_to_cart_button:hover,.jcm-session-primary:hover,.jcm-session-secondary:hover,.jcm-service-submit:hover,.jcm-settings-save:hover,.jcm-add-complete-setup:hover,.jcm-bundle-add:hover,.jcm-alert-button:hover,.jcm-compare-shop:hover,.jcm-customer-link:hover,.jcm-build-view:hover{transform:translateY(-2px)}
}
button:active,a.button:active,.button:active,.single_add_to_cart_button:active{transform:scale(.985)!important;transition-duration:80ms!important}

/* Inputs focus softly instead of jumping. */
input,select,textarea{transition:border-color var(--rcm-fast) ease,box-shadow var(--rcm-base) var(--rcm-ease),background-color var(--rcm-fast) ease,transform var(--rcm-fast) var(--rcm-ease)}
input:focus,select:focus,textarea:focus{transform:translateY(-1px)}

/* Accordion/details content */
details>summary{transition:color var(--rcm-fast) ease,background var(--rcm-fast) ease,transform var(--rcm-fast) var(--rcm-ease)}
details[open]>summary{transform:translateY(-1px)}
.jcm-dashboard-submenu-panel,.jcm-delivery-result,.jcm-compare-output,.jcm-finder-results{transform-origin:top center;animation:rcmPanelIn 320ms var(--rcm-ease) both}
@keyframes rcmPanelIn{from{opacity:0;transform:translateY(-8px) scaleY(.97)}to{opacity:1;transform:none}}

/* Modals / floating panels */
.jcm-command-backdrop,.jcm-command,.rchc-drawer,.rchc-modal,[role="dialog"]{transition:opacity var(--rcm-base) ease,transform var(--rcm-base) var(--rcm-ease),visibility var(--rcm-base) ease}
.jcm-command{transform-origin:50% 15%}

/* Product/account/admin cards */
.jcm-product,.jcm-section,.jcm-account-module,.jcm-history-card,.jcm-order-product,.jcm-smart-bundle,.jcm-buying-essentials,.jcm-downloads,.jcm-ownership-hub,.jcm-service-module,.jcm-guide,.jcm-match-actions,.jcm-compare-product,.jcm-complete-build,.jcm-delivery-check,.custom-info-box,.rcft,.woocommerce-message,.woocommerce-info,.woocommerce-error{
  backface-visibility:hidden;
}

/* Tiny icon life — only on hover/focus. */
@media (hover:hover) and (pointer:fine){
  a:hover svg,button:hover svg,.rcm-interactive:hover svg{transform:translateY(-1px) scale(1.04)}
}
svg{transition:transform var(--rcm-base) var(--rcm-ease),opacity var(--rcm-fast) ease}

/* Cart/notification pulse when state changes. */
.rcm-pop{animation:rcmPop 420ms var(--rcm-ease)}
@keyframes rcmPop{0%{transform:scale(1)}45%{transform:scale(1.08)}100%{transform:scale(1)}}

/* Login/session state */
.jcm-admin-login,.jcm-admin-session,.jcm-session-card{animation:rcmAuthIn 620ms var(--rcm-ease) both}
@keyframes rcmAuthIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}

/* Footer should arrive calmly, not dramatically. */
.rcft.rcm-reveal{transform:translate3d(0,10px,0);filter:none}

@media(max-width:768px){
  :root{--rcm-base:260ms;--rcm-slow:420ms}
  .rcm-reveal{transform:translate3d(0,11px,0) scale(.996);filter:none}
  .rcm-reveal.rcm-from-left,.rcm-reveal.rcm-from-right{transform:translate3d(0,11px,0) scale(.996)}
  @media (hover:none){.rcm-interactive:hover{transform:none}}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rcm-reveal,.rcm-reveal.rcm-from-left,.rcm-reveal.rcm-from-right{opacity:1!important;transform:none!important;filter:none!important}
  body.rcm-page-leaving{opacity:1!important;transform:none!important}
}


/* v5.0.4 — Custom RC catalogue motion + single Compare action. */
.rch-card.rcm-reveal{
  opacity:0!important;
  transform:translate3d(0,20px,0) scale(.988)!important;
  filter:blur(1.5px)!important;
  transition:opacity 560ms var(--rcm-ease),transform 560ms var(--rcm-ease),filter 320ms ease,box-shadow 320ms var(--rcm-ease)!important;
  will-change:transform,opacity,filter!important;
}
.rch-card.rcm-reveal.rcm-visible{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:none!important;
}
@media (hover:hover) and (pointer:fine){
  .rch-card.rcm-reveal.rcm-visible.rcm-interactive:hover{transform:translate3d(0,-4px,0) scale(1.004)!important}
  .rch-card.rcm-media-hover .rch-media img{transition:transform 720ms var(--rcm-ease),filter 420ms ease!important;transform:none!important}
  .rch-card.rcm-media-hover:hover .rch-media img{transform:scale(1.035)!important}
}
.rch-console.rcm-reveal,.rch-tool-dock.rcm-reveal,.rch-heading.rcm-reveal,.rch-heading--compact.rcm-reveal{
  transition:opacity 460ms var(--rcm-ease),transform 460ms var(--rcm-ease),filter 260ms ease!important;
}
.rch-actions .rch-compare-text{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  min-width:54px!important;
  height:36px!important;
  margin:0!important;
  padding:0 9px!important;
  border:1px solid rgba(6,64,137,.15)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#064089!important;
  box-shadow:0 5px 14px rgba(6,64,137,.055)!important;
  font:750 10px/1 Inter,system-ui,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
  cursor:pointer!important;
  transition:transform 180ms var(--rcm-ease),border-color 180ms ease,background 180ms ease,box-shadow 260ms var(--rcm-ease)!important;
}
.rch-actions .rch-compare-text:hover{transform:translateY(-2px)!important;border-color:rgba(6,64,137,.32)!important;background:#f7fbff!important;box-shadow:0 8px 18px rgba(6,64,137,.09)!important}
.rch-actions .rch-compare-text:active{transform:translateY(0) scale(.98)!important}
@media(max-width:760px){
  .rch-card.rcm-reveal{transform:translate3d(0,12px,0) scale(.994)!important;filter:none!important}
  .rch-card.rcm-reveal.rcm-visible{transform:none!important}
  .rch-actions .rch-compare-text{min-width:48px!important;height:31px!important;padding:0 7px!important;border-radius:9px!important;font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){
  .rch-card.rcm-reveal,.rch-card.rcm-reveal.rcm-visible{opacity:1!important;transform:none!important;filter:none!important}
  .rch-card.rcm-media-hover .rch-media img{transition:none!important;transform:none!important}
}

/* v5.0.7 — true incoming + outgoing motion across plugin-owned commerce UI. */
.rcm-reveal{
  transition-delay:var(--rcm-delay,0ms)!important;
}
.rcm-reveal.rcm-exiting{
  opacity:0!important;
  filter:blur(1.5px)!important;
  transition-delay:0ms!important;
  transition-duration:300ms!important;
}
.rcm-reveal.rcm-exiting.rcm-exit-up{transform:translate3d(0,-13px,0) scale(.994)!important}
.rcm-reveal.rcm-exiting.rcm-exit-down{transform:translate3d(0,13px,0) scale(.994)!important}
.rcm-reveal.rcm-page-component-exit{
  opacity:0!important;
  transform:translate3d(0,-8px,0) scale(.995)!important;
  filter:blur(1px)!important;
  transition-delay:var(--rcm-exit-delay,0ms)!important;
  transition-duration:150ms!important;
}
body.rcm-page-leaving{opacity:.985;transition:opacity 175ms ease!important}

/* Catalogue: animate inner information separately so cards do not merely hover. */
.rch-card .rch-media.rcm-reveal,
.rch-card .rch-name.rcm-reveal,
.rch-card .rch-stock.rcm-reveal,
.rch-card .price.rcm-reveal,
.rch-card .rch-price.rcm-reveal,
.rch-card .rch-actions.rcm-reveal{
  transform:translate3d(0,10px,0)!important;
  filter:none!important;
  transition:opacity 420ms var(--rcm-ease),transform 480ms var(--rcm-ease)!important;
}
.rch-card .rch-media.rcm-reveal.rcm-visible,
.rch-card .rch-name.rcm-reveal.rcm-visible,
.rch-card .rch-stock.rcm-reveal.rcm-visible,
.rch-card .price.rcm-reveal.rcm-visible,
.rch-card .rch-price.rcm-reveal.rcm-visible,
.rch-card .rch-actions.rcm-reveal.rcm-visible{opacity:1!important;transform:none!important}
.rch-card .rch-media.rcm-reveal.rcm-exiting,
.rch-card .rch-name.rcm-reveal.rcm-exiting,
.rch-card .rch-stock.rcm-reveal.rcm-exiting,
.rch-card .price.rcm-reveal.rcm-exiting,
.rch-card .rch-price.rcm-reveal.rcm-exiting,
.rch-card .rch-actions.rcm-reveal.rcm-exiting{opacity:0!important}

/* Single product: controlled left/right entrances around the buying flow. */
.single-product .woocommerce-product-gallery.rcm-reveal{transform:translate3d(-18px,0,0) scale(.994)!important}
.single-product .product .summary>.rcm-reveal,
.single-product .product .summary .rcm-reveal{transform:translate3d(15px,0,0) scale(.995)!important;filter:none!important}
.single-product .woocommerce-product-gallery.rcm-reveal.rcm-visible,
.single-product .product .summary>.rcm-reveal.rcm-visible,
.single-product .product .summary .rcm-reveal.rcm-visible{transform:none!important;opacity:1!important}
.single-product .woocommerce-tabs.rcm-reveal,
.single-product .related.products.rcm-reveal,
.single-product .upsells.products.rcm-reveal{transform:translate3d(0,16px,0) scale(.996)!important;filter:none!important}
.single-product .woocommerce-tabs.rcm-reveal.rcm-visible,
.single-product .related.products.rcm-reveal.rcm-visible,
.single-product .upsells.products.rcm-reveal.rcm-visible{transform:none!important}

/* Trust rows and metadata receive a subtle staggered micro-arrival. */
.rch-assurances>*{transition:transform 360ms var(--rcm-ease),opacity 360ms ease,background-color 180ms ease!important}

@media(max-width:768px){
  .rcm-reveal.rcm-exiting.rcm-exit-up{transform:translate3d(0,-8px,0) scale(.997)!important}
  .rcm-reveal.rcm-exiting.rcm-exit-down{transform:translate3d(0,8px,0) scale(.997)!important}
  .single-product .woocommerce-product-gallery.rcm-reveal,
  .single-product .product .summary>.rcm-reveal,
  .single-product .product .summary .rcm-reveal{transform:translate3d(0,10px,0) scale(.997)!important}
  .single-product .woocommerce-product-gallery.rcm-reveal.rcm-visible,
  .single-product .product .summary>.rcm-reveal.rcm-visible,
  .single-product .product .summary .rcm-reveal.rcm-visible{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .rcm-reveal.rcm-exiting,.rcm-reveal.rcm-page-component-exit{opacity:1!important;transform:none!important;filter:none!important}
}
/* Preserve direction-aware outgoing motion on the single-product rules above. */
.single-product .woocommerce-product-gallery.rcm-reveal.rcm-exiting,
.single-product .product .summary>.rcm-reveal.rcm-exiting,
.single-product .product .summary .rcm-reveal.rcm-exiting{opacity:0!important;filter:blur(1px)!important}
.single-product .woocommerce-product-gallery.rcm-reveal.rcm-exiting.rcm-exit-up,
.single-product .product .summary>.rcm-reveal.rcm-exiting.rcm-exit-up,
.single-product .product .summary .rcm-reveal.rcm-exiting.rcm-exit-up{transform:translate3d(0,-12px,0) scale(.995)!important}
.single-product .woocommerce-product-gallery.rcm-reveal.rcm-exiting.rcm-exit-down,
.single-product .product .summary>.rcm-reveal.rcm-exiting.rcm-exit-down,
.single-product .product .summary .rcm-reveal.rcm-exiting.rcm-exit-down{transform:translate3d(0,12px,0) scale(.995)!important}

/* v5.0.7 — RC Signature Motion: softer, layered, luxury catalogue choreography. */
:root{--rcm-luxe-ease:cubic-bezier(.16,1,.3,1);--rcm-luxe-out:cubic-bezier(.55,0,1,.45)}
.rch-card.rcm-reveal{
  perspective:1100px!important;
  transform-origin:50% 90%!important;
  opacity:0!important;
  transform:translate3d(0,34px,0) scale(.972) rotateX(2.2deg)!important;
  filter:blur(5px) saturate(.94)!important;
  clip-path:inset(9% 1.5% 0 1.5% round 18px)!important;
  transition:
    opacity 760ms var(--rcm-luxe-ease),
    transform 900ms var(--rcm-luxe-ease),
    filter 620ms ease,
    clip-path 900ms var(--rcm-luxe-ease),
    box-shadow 420ms var(--rcm-luxe-ease)!important;
  transition-delay:var(--rcm-delay,0ms)!important;
}
.rch-card.rcm-reveal::after{
  content:"";position:absolute;z-index:5;pointer-events:none;
  inset:-35% auto -35% -42%;width:27%;opacity:0;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.03) 22%,rgba(255,255,255,.48) 49%,rgba(255,255,255,.06) 72%,transparent 100%);
  transform:skewX(-14deg) translateX(-30%);
}
.rch-card.rcm-reveal.rcm-visible{
  opacity:1!important;transform:translate3d(0,0,0) scale(1) rotateX(0)!important;
  filter:none!important;clip-path:inset(0 0 0 0 round 0)!important;
}
.rch-card.rcm-reveal.rcm-visible::after{animation:rcmLuxeSweep 1050ms var(--rcm-luxe-ease) calc(var(--rcm-delay,0ms) + 120ms) 1 both}
@keyframes rcmLuxeSweep{0%{left:-42%;opacity:0}18%{opacity:.7}72%{opacity:.16}100%{left:128%;opacity:0}}

/* Image, copy and actions arrive on separate beats. */
.rch-card .rch-media.rcm-reveal{
  opacity:0!important;transform:translate3d(0,18px,0) scale(1.045)!important;
  clip-path:inset(5% 4% 9% 4% round 16px)!important;filter:blur(2px)!important;
  transition:opacity 620ms var(--rcm-luxe-ease),transform 900ms var(--rcm-luxe-ease),clip-path 850ms var(--rcm-luxe-ease),filter 520ms ease!important;
}
.rch-card .rch-name.rcm-reveal{opacity:0!important;transform:translate3d(0,13px,0)!important;transition:opacity 520ms ease,transform 720ms var(--rcm-luxe-ease)!important}
.rch-card .rch-stock.rcm-reveal{opacity:0!important;transform:translate3d(-8px,7px,0)!important;transition:opacity 480ms ease,transform 680ms var(--rcm-luxe-ease)!important}
.rch-card .price.rcm-reveal,.rch-card .rch-price.rcm-reveal{opacity:0!important;transform:translate3d(-11px,7px,0)!important;transition:opacity 520ms ease,transform 720ms var(--rcm-luxe-ease)!important}
.rch-card .rch-actions.rcm-reveal{opacity:0!important;transform:translate3d(14px,8px,0) scale(.975)!important;transition:opacity 520ms ease,transform 760ms var(--rcm-luxe-ease)!important}
.rch-card .rch-media.rcm-visible,.rch-card .rch-name.rcm-visible,.rch-card .rch-stock.rcm-visible,.rch-card .price.rcm-visible,.rch-card .rch-price.rcm-visible,.rch-card .rch-actions.rcm-visible{opacity:1!important;transform:none!important;filter:none!important;clip-path:inset(0 0 0 0 round 0)!important}

/* Premium exit reverses the hierarchy instead of abruptly fading. */
.rch-card.rcm-reveal.rcm-exiting{opacity:0!important;filter:blur(3px) saturate(.95)!important;clip-path:inset(0 1.5% 9% 1.5% round 18px)!important;transition-duration:430ms!important;transition-timing-function:var(--rcm-luxe-out)!important}
.rch-card.rcm-reveal.rcm-exiting.rcm-exit-up{transform:translate3d(0,-22px,0) scale(.982) rotateX(-1.4deg)!important}
.rch-card.rcm-reveal.rcm-exiting.rcm-exit-down{transform:translate3d(0,22px,0) scale(.982) rotateX(1.4deg)!important}
.rch-card .rcm-reveal.rcm-exiting{opacity:0!important;transition-duration:260ms!important}

/* Catalogue controls arrive as one deliberate instrument panel. */
.rch-heading.rcm-reveal,.rch-heading--compact.rcm-reveal{opacity:0!important;transform:translate3d(-18px,0,0)!important;filter:blur(2px)!important;transition:opacity 620ms ease,transform 820ms var(--rcm-luxe-ease),filter 480ms ease!important}
.rch-console.rcm-reveal,.rch-tool-dock.rcm-reveal{opacity:0!important;transform:translate3d(0,18px,0) scale(.988)!important;filter:blur(2px)!important;transition:opacity 650ms ease,transform 860ms var(--rcm-luxe-ease),filter 500ms ease!important}
.rch-heading.rcm-visible,.rch-heading--compact.rcm-visible,.rch-console.rcm-visible,.rch-tool-dock.rcm-visible{opacity:1!important;transform:none!important;filter:none!important}

/* Single-product signature sequence. */
.single-product .woocommerce-product-gallery.rcm-reveal{
  opacity:0!important;transform:translate3d(-28px,16px,0) scale(.978)!important;
  clip-path:inset(3% 8% 3% 0 round 24px)!important;filter:blur(4px)!important;
  transition:opacity 720ms ease,transform 980ms var(--rcm-luxe-ease),clip-path 980ms var(--rcm-luxe-ease),filter 600ms ease!important;
}
.single-product .product .summary>.rcm-reveal,.single-product .product .summary .rcm-reveal{
  opacity:0!important;transform:translate3d(22px,12px,0) scale(.986)!important;filter:blur(2px)!important;
  transition:opacity 600ms ease,transform 860ms var(--rcm-luxe-ease),filter 480ms ease!important;
}
.single-product .woocommerce-product-gallery.rcm-visible,
.single-product .product .summary>.rcm-visible,.single-product .product .summary .rcm-visible{opacity:1!important;transform:none!important;clip-path:inset(0 0 0 0 round 0)!important;filter:none!important}
.single-product .custom-info-box.rcm-visible,.single-product .rchc-machine-brief.rcm-visible,.single-product .rch-assurances.rcm-visible{box-shadow:0 16px 46px rgba(18,55,89,.055)!important}
.single-product .woocommerce-tabs.rcm-reveal,.single-product .related.products.rcm-reveal,.single-product .upsells.products.rcm-reveal{
  opacity:0!important;transform:translate3d(0,28px,0) scale(.988)!important;filter:blur(3px)!important;
  transition:opacity 680ms ease,transform 920ms var(--rcm-luxe-ease),filter 520ms ease!important;
}
.single-product .woocommerce-tabs.rcm-visible,.single-product .related.products.rcm-visible,.single-product .upsells.products.rcm-visible{opacity:1!important;transform:none!important;filter:none!important}

@media(hover:hover) and (pointer:fine){
  .rch-card.rcm-visible.rcm-interactive:hover{transform:translate3d(0,-6px,0) scale(1.006)!important;box-shadow:0 22px 52px rgba(11,55,96,.10)!important}
  .rch-card.rcm-media-hover .rch-media img{transition:transform 1100ms var(--rcm-luxe-ease),filter 600ms ease!important}
  .rch-card.rcm-media-hover:hover .rch-media img{transform:scale(1.045) translate3d(0,-2px,0)!important;filter:saturate(1.03) contrast(1.01)!important}
}
@media(max-width:760px){
  .rch-card.rcm-reveal{transform:translate3d(0,22px,0) scale(.982)!important;filter:blur(2px)!important;clip-path:inset(6% 1% 0 1% round 15px)!important;transition-duration:650ms!important}
  .rch-card.rcm-reveal.rcm-visible{transform:none!important;filter:none!important;clip-path:inset(0)!important}
  .single-product .woocommerce-product-gallery.rcm-reveal,.single-product .product .summary>.rcm-reveal,.single-product .product .summary .rcm-reveal{transform:translate3d(0,16px,0) scale(.989)!important}
}
@media(prefers-reduced-motion:reduce){.rch-card.rcm-reveal::after{display:none!important}}
