/* Zynto Motion Engine v3.1.0 — luxury motion system, dependency-free */
:root{
  --zm-ease:cubic-bezier(.22,1,.36,1);
  --zm-ease-soft:cubic-bezier(.16,1,.3,1);
  --zm-ease-snap:cubic-bezier(.2,.8,.2,1);
  --zm-gold:#c6a15b;
  --zm-blue:#2f67f6;
  --zm-rx:0deg;--zm-ry:0deg;--zm-mx:0px;--zm-my:0px;
}
html{scroll-behavior:smooth}
html.zm-capable body{opacity:0;transform:translateY(7px);filter:saturate(.92);transition:opacity .7s var(--zm-ease),transform .9s var(--zm-ease),filter .9s var(--zm-ease)}
html.zm-capable.zm-ready body{opacity:1;transform:none;filter:none}
html.zm-capable.zm-leaving body{opacity:0;transform:translateY(-5px);transition-duration:.22s}

/* cinematic route veil */
.zm-page-veil{position:fixed;inset:0;z-index:2147483000;pointer-events:none;background:linear-gradient(135deg,#07090d 0%,#111827 54%,#06070a 100%);transform:scaleY(1);transform-origin:top;transition:transform .9s var(--zm-ease);will-change:transform}
.zm-page-veil:after{content:"ZYNTO  BAZAAR";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:600 clamp(15px,2vw,25px)/1 Georgia,serif;letter-spacing:.34em;color:rgba(255,255,255,.88);opacity:1;transition:opacity .32s ease}
html.zm-ready .zm-page-veil{transform:scaleY(0);transform-origin:top}
html.zm-ready .zm-page-veil:after{opacity:0}
html.zm-leaving .zm-page-veil{transform:scaleY(1);transform-origin:bottom;transition-duration:.24s}

/* premium fixed ambient layers */
.zm-scroll-progress{position:fixed;z-index:2147482000;left:0;top:0;width:100%;height:2px;pointer-events:none;background:linear-gradient(90deg,var(--zm-blue),#7ca6ff,var(--zm-gold));transform:scaleX(var(--zm-progress,0));transform-origin:left center;will-change:transform;box-shadow:0 0 18px rgba(47,103,246,.35)}
.zm-pointer-light{position:fixed;z-index:1;width:520px;height:520px;left:0;top:0;border-radius:50%;pointer-events:none;opacity:.16;background:radial-gradient(circle,rgba(47,103,246,.20) 0,rgba(198,161,91,.08) 28%,transparent 67%);transform:translate3d(calc(var(--zm-px,50vw) - 260px),calc(var(--zm-py,50vh) - 260px),0);filter:blur(2px);mix-blend-mode:multiply;will-change:transform}
[data-theme="dark"] .zm-pointer-light,body.zynto-admin .zm-pointer-light{mix-blend-mode:screen;opacity:.11}
.zm-grain{position:fixed;inset:0;z-index:2147481000;pointer-events:none;opacity:.022;background-image:repeating-radial-gradient(circle at 0 0,transparent 0,rgba(0,0,0,.7) .7px,transparent 1px);background-size:5px 5px}

/* reveal choreography */
.zm-reveal{opacity:0;transform:translate3d(0,34px,0) scale(.985);filter:blur(5px);transition:opacity .85s var(--zm-ease),transform 1s var(--zm-ease),filter .9s var(--zm-ease);transition-delay:var(--zm-delay,0ms);will-change:transform,opacity,filter}
.zm-reveal.zm-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.zm-reveal[data-zm-kind="heading"]{transform:translate3d(0,22px,0);filter:blur(3px);transition-duration:.72s,.9s,.72s}
.zm-reveal[data-zm-kind="card"]{transform:translate3d(0,28px,0) scale(.97)}

/* hero cinematic depth */
.zr-hero{position:relative;isolation:isolate;overflow:hidden!important;--zm-hx:0px;--zm-hy:0px}
.zr-hero:before{content:"";position:absolute;z-index:-1;inset:-20%;pointer-events:none;background:radial-gradient(circle at 72% 36%,rgba(47,103,246,.14),transparent 30%),radial-gradient(circle at 20% 72%,rgba(198,161,91,.10),transparent 26%);transform:translate3d(calc(var(--zm-hx)*-.45),calc(var(--zm-hy)*-.45),0) scale(1.06);transition:transform .9s var(--zm-ease-soft)}
.zr-hero img,.zr-hero picture,.hero-card,.zr-hero-media{will-change:transform;transform:translate3d(var(--zm-hx),var(--zm-hy),0) scale(1.012);transition:transform 1.1s var(--zm-ease-soft)!important}
.zr-hero h1,.zr-hero h2{letter-spacing:-.035em;text-wrap:balance}

/* elevated navigation */
.zr-zinto-header{transition:transform .55s var(--zm-ease),background .35s ease,box-shadow .35s ease,border-color .35s ease!important}
.zr-zinto-header.scrolled{backdrop-filter:blur(22px) saturate(1.25)!important;-webkit-backdrop-filter:blur(22px) saturate(1.25)!important;box-shadow:0 14px 42px rgba(12,18,31,.07)!important}
.zr-zinto-nav a{position:relative;transition:color .3s ease,transform .35s var(--zm-ease)!important}
.zr-zinto-nav a:hover{transform:translateY(-1px)}
.zr-zinto-nav a:after{height:1px!important;transform-origin:left;transition:right .4s var(--zm-ease)!important}
.zr-icon{transition:transform .45s var(--zm-ease),background .3s ease,border-color .3s ease!important}
.zr-icon:hover{transform:translateY(-2px) rotate(-2deg)}

/* luxury product interaction */
.product,.zr-ref-hot-card,.zr-ref-collection-card,.zr-spotlight-card,.category,.zr-category-item{
  --zm-lx:50%;--zm-ly:50%;
  transform:perspective(1100px) rotateX(var(--zm-rx,0deg)) rotateY(var(--zm-ry,0deg)) translate3d(var(--zm-mx,0px),var(--zm-my,0px),0);
  transform-style:preserve-3d;will-change:transform;
  transition:transform .5s var(--zm-ease),box-shadow .45s var(--zm-ease),border-color .3s ease!important;
}
.product:before,.zr-ref-hot-card:before,.zr-ref-collection-card:before,.zr-spotlight-card:before{
  content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;
  background:radial-gradient(circle at var(--zm-lx) var(--zm-ly),rgba(255,255,255,.32),transparent 30%);
  transition:opacity .35s ease;border-radius:inherit;
}
.product:hover:before,.zr-ref-hot-card:hover:before,.zr-ref-collection-card:hover:before,.zr-spotlight-card:hover:before{opacity:.55}
.product:hover,.zr-ref-hot-card:hover,.zr-ref-collection-card:hover,.zr-spotlight-card:hover{box-shadow:0 28px 70px rgba(15,23,42,.12)!important}
.product-media,.zr-ref-hot-media,.zr-ref-collection-media{overflow:hidden!important;position:relative;transform:translateZ(12px)}
.product-media img,.zr-ref-hot-media img,.zr-ref-collection-media img{transition:transform .8s var(--zm-ease),filter .5s ease!important;will-change:transform}
.product:hover .product-media img,.product:hover .zr-ref-hot-media img,.product:hover .zr-ref-collection-media img,.zr-ref-hot-card:hover img,.zr-ref-collection-card:hover img{transform:scale(1.055) translate3d(0,-2px,18px)!important;filter:saturate(1.04) contrast(1.02)}
.pbody,.zr-ref-hot-info,.zr-ref-collection-info{transform:translateZ(16px)}
.heart,.cart-add,.buy-card{transition:transform .42s var(--zm-ease),box-shadow .35s ease!important}
.heart:hover,.cart-add:hover,.buy-card:hover{transform:translateY(-3px) scale(1.06)!important}

/* magnetic CTAs */
.zm-magnetic{transform:translate3d(var(--zm-mx,0px),var(--zm-my,0px),0);transition:transform .45s var(--zm-ease),box-shadow .3s ease,background .3s ease,color .3s ease!important;will-change:transform}
.zm-magnetic:hover{box-shadow:0 16px 38px rgba(15,23,42,.12)}
.zm-magnetic:active{transform:translate3d(calc(var(--zm-mx,0px)*.4),calc(var(--zm-my,0px)*.4),0) scale(.975)}

/* drawers/modals feel physical */
.zr-drawer aside,.zr-cart-drawer aside{transition:transform .58s var(--zm-ease)!important;will-change:transform}
.zr-search-panel{transition:opacity .4s ease,transform .58s var(--zm-ease)!important}
.zr-search.open .zr-search-panel{animation:zmSearchIn .55s var(--zm-ease) both}
@keyframes zmSearchIn{from{opacity:0;transform:translateY(-22px) scale(.985)}to{opacity:1;transform:none}}

/* premium section separators and titles */
main section{position:relative}
.zr-section h2,.zr-reviews h2,.zr-features h2,.pagehead h1,.content-page h1{position:relative}
.zr-section h2:after,.zr-reviews h2:after,.zr-features h2:after{content:"";display:block;width:42px;height:1px;margin:.7em auto 0;background:linear-gradient(90deg,transparent,var(--zm-blue),transparent);transform:scaleX(0);transition:transform .8s var(--zm-ease) .25s}
.zm-visible .zr-section h2:after,.zr-section.zm-visible h2:after,.zr-reviews.zm-visible h2:after,.zr-features.zm-visible h2:after{transform:scaleX(1)}

/* admin OS: restrained executive motion */
body.zynto-admin .adminbar{transition:box-shadow .35s ease,background .35s ease!important}
body.zynto-admin .adminnav>a{transition:transform .35s var(--zm-ease),background .3s ease,color .3s ease!important}
body.zynto-admin .adminnav>a:hover{transform:translateX(5px)!important}
body.zynto-admin .stat,body.zynto-admin .admin-card,body.zynto-admin .card,body.zynto-admin .quick-tool-grid>a{
  --zm-lx:50%;--zm-ly:50%;position:relative;overflow:hidden;
  transform:perspective(1200px) rotateX(var(--zm-rx,0deg)) rotateY(var(--zm-ry,0deg)) translate3d(var(--zm-mx,0px),var(--zm-my,0px),0);
  transform-style:preserve-3d;will-change:transform;
  transition:transform .52s var(--zm-ease),border-color .3s ease,box-shadow .45s var(--zm-ease)!important;
}
body.zynto-admin .stat:before,body.zynto-admin .admin-card:before,body.zynto-admin .quick-tool-grid>a:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--zm-lx) var(--zm-ly),rgba(47,103,246,.11),transparent 38%);transition:opacity .3s ease}
body.zynto-admin .stat:hover:before,body.zynto-admin .admin-card:hover:before,body.zynto-admin .quick-tool-grid>a:hover:before{opacity:1}
body.zynto-admin .stat:hover,body.zynto-admin .admin-card:hover,body.zynto-admin .quick-tool-grid>a:hover{box-shadow:0 24px 70px rgba(0,0,0,.10)!important;border-color:rgba(47,103,246,.28)!important}
body.zynto-admin .toolbar h1{transform-origin:left center}
body.zynto-admin table tbody tr{transition:background .3s ease,transform .35s var(--zm-ease)}
body.zynto-admin table tbody tr:hover{transform:translateX(2px)}
body.zynto-admin .btn{transition:transform .4s var(--zm-ease),background .3s ease,color .3s ease,border-color .3s ease!important}

/* focus UX remains first-class */
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--zm-blue)!important;outline-offset:3px!important}

/* performance & accessibility guardrails */
@media (max-width:900px),(pointer:coarse){
  .zm-pointer-light{display:none}
  .product,.zr-ref-hot-card,.zr-ref-collection-card,.zr-spotlight-card,.category,.zr-category-item,body.zynto-admin .stat,body.zynto-admin .admin-card,body.zynto-admin .quick-tool-grid>a{transform:none!important}
  .zm-reveal{filter:none;transform:translateY(18px)}
  .zr-hero img,.zr-hero picture,.hero-card,.zr-hero-media{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  html.zm-capable body,html.zm-capable.zm-ready body,html.zm-capable.zm-leaving body{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .zm-page-veil,.zm-scroll-progress,.zm-pointer-light,.zm-grain{display:none!important}
  .zm-reveal,.zm-reveal.zm-visible,.zm-magnetic,.product,.zr-ref-hot-card,.zr-ref-collection-card,.zr-spotlight-card,.category,.zr-category-item,body.zynto-admin .stat,body.zynto-admin .admin-card,body.zynto-admin .quick-tool-grid>a{opacity:1!important;filter:none!important;transform:none!important;transition:none!important;animation:none!important}
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Motion engine authority over legacy hover transforms */
.product,.zr-ref-hot-card,.zr-ref-collection-card,.zr-spotlight-card,
.product:hover,.zr-ref-hot-card:hover,.zr-ref-collection-card:hover,.zr-spotlight-card:hover,
body.zynto-admin .stat,body.zynto-admin .stat:hover,
body.zynto-admin .admin-card,body.zynto-admin .admin-card:hover,
body.zynto-admin .quick-tool-grid>a,body.zynto-admin .quick-tool-grid>a:hover{
  transform:perspective(1100px) rotateX(var(--zm-rx,0deg)) rotateY(var(--zm-ry,0deg)) translate3d(var(--zm-mx,0px),var(--zm-my,0px),0)!important;
}
@media (max-width:900px),(pointer:coarse),(prefers-reduced-motion:reduce){
  .product,.zr-ref-hot-card,.zr-ref-collection-card,.zr-spotlight-card,
  .product:hover,.zr-ref-hot-card:hover,.zr-ref-collection-card:hover,.zr-spotlight-card:hover,
  body.zynto-admin .stat,body.zynto-admin .stat:hover,
  body.zynto-admin .admin-card,body.zynto-admin .admin-card:hover,
  body.zynto-admin .quick-tool-grid>a,body.zynto-admin .quick-tool-grid>a:hover{transform:none!important}
}
