/* Subtle interaction layer; business and payment flows remain unchanged. */
:root { --motion-ease: cubic-bezier(.2,.75,.25,1); }
button, .primary, .desktop-nav a, .mobile-nav a {
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease,
    box-shadow 220ms ease, transform 220ms var(--motion-ease);
}
.primary, .secondary { position: relative; isolation: isolate; }
.primary:active:not(:disabled), .secondary:active:not(:disabled),
.icon-button:active:not(:disabled), .slide-arrow:active:not(:disabled) { transform: scale(.96); }
.desktop-nav a::after { transform-origin: right; transition: transform 260ms var(--motion-ease); }
.desktop-nav a:focus-visible::after { transform: scaleX(1); }
.mobile-nav { transform-origin: top right; box-shadow: 0 12px 28px #24100633; }
.mobile-nav a { border-radius: 8px; min-height: 44px; }
.menu-toggle svg { transition: transform 260ms var(--motion-ease); }
.menu-toggle[aria-expanded="true"] svg { transform: rotate(90deg); }
.slider-dots button { transition: background-color 220ms ease, transform 260ms var(--motion-ease), box-shadow 220ms ease; }
.slider-dots button.selected { transform: scale(1.18); box-shadow: 0 0 0 3px #ffffff20; }
.product-image img { transition: transform 350ms var(--motion-ease); }
.motion-ripple { position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  clip-path: inset(0 round 12px); background: radial-gradient(circle at var(--tap-x) var(--tap-y), #ffffff66 0, #ffffff20 38%, transparent 70%); }
dialog[open] { animation: motion-dialog-in 240ms var(--motion-ease) both; }
dialog[open]::backdrop { animation: motion-backdrop-in 220ms ease both; }
@keyframes motion-dialog-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes motion-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@media (hover: hover) and (pointer: fine) {
  .primary:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 5px 14px #e9003026; }
  .icon-button:hover:not(:disabled), .slide-arrow:hover:not(:disabled) { transform: translateY(-2px); }
  .desktop-nav a:hover { transform: translateY(-1px); }
  .mobile-nav a:hover { background: #ffffff13; transform: translateX(-3px); }
  .product-card:hover .product-image img { transform: scale(1.035); }
  .admin-sidebar nav button:hover { transform: translateX(-3px); }
  .primary:active:not(:disabled), .secondary:active:not(:disabled),
  .icon-button:active:not(:disabled), .slide-arrow:active:not(:disabled) { transform: scale(.96); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
  .slider-dots button.selected { transform: none; }
}
