/* Motion layer v1.2. Base content never depends on .reveal or an observer. */
.hero-vial img,.hero-vial:hover img { transform:none; animation:none; }
.hero-art-lines { animation:none; transition:translate 260ms ease-out; }
.hero-art { box-shadow:inset 0 1px 0 #ffffff88,0 18px 48px #102e3510; }
.product-card {
  min-width:0; position:relative; padding:12px; border:1px solid var(--line);
  border-radius:16px; background:linear-gradient(180deg,#fff,#fbfcfb);
  box-shadow:0 6px 22px #102e3507;
}
.product-media { border-radius:11px; }
.product-media img { mix-blend-mode:normal; }
.hero-vial img { mix-blend-mode:normal; border-radius:8px; object-fit:contain; }
.document-window { animation:none; }
.button,.quick-button,.round-link,.add-button { transition:background 180ms,border-color 180ms,transform 180ms; }
.button .icon,.text-link .icon { transition:transform 180ms ease; }
.product-card { transition:transform 240ms ease,box-shadow 240ms ease,border-color 180ms; }
.add-button[data-feedback],.button[data-feedback] { background:var(--mint);color:var(--ink);border-color:#86aa9a; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .product-card:hover,.product-card:focus-within { transform:translateY(-3px);box-shadow:0 16px 38px #102e3512;border-color:#bdd0c4; }
  .product-card:hover .product-media img { transform:scale(1.025); }
  .button:hover>.icon:last-child,.text-link:hover>.icon:last-child { transform:translateX(3px); }
  [dir=rtl] .button:hover>.icon:last-child,[dir=rtl] .text-link:hover>.icon:last-child { transform:translateX(-3px); }
  .quick-button:hover { transform:rotate(90deg); }
}
@media (hover:none) { .button:hover,.product-card:hover .product-media img { transform:none; } }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .hero-vial img,.product-card,.product-media img,.hero-art-lines { transform:none!important;translate:none!important; }
}
@media print { .product-card { transform:none!important;box-shadow:none; } }
