/* Motion uses transform and opacity; touch screens keep stable cards. */
:root { --ease-svetlo: cubic-bezier(.22,1,.36,1); }
.product-card { animation-duration: .65s; animation-timing-function: var(--ease-svetlo); transition: transform .4s var(--ease-svetlo),box-shadow .4s; }
.product-gallery img { transition: transform .75s var(--ease-svetlo); }
@media (hover:hover) and (pointer:fine) {
  .product-card:hover { transform:translateY(-7px);box-shadow:0 22px 50px #0d241d24; }
  .product-card:hover .product-gallery img { transform:scale(1.035); }
  .button:hover { transform:translateY(-2px); }
}
.button,.icon-button,.filter-chip { transition:background .25s,transform .3s var(--ease-svetlo),box-shadow .3s; }
.button:active,.icon-button:active { transform:scale(.96); }
.js-ready .reveal { transition-duration:.85s;transition-timing-function:var(--ease-svetlo); }
dialog[open] { animation:dialog-arrive .3s var(--ease-svetlo); }
dialog::backdrop { backdrop-filter:blur(5px); }
@keyframes dialog-arrive { from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none} }
.motion-control { margin-top:22px;padding:8px 0;color:#e4dac6;background:none;border:0;border-bottom:1px solid #ffffff35;font:inherit;font-size:12px;cursor:pointer; }
.back-to-top { position:fixed;right:20px;bottom:100px;z-index:35;width:44px;height:44px;border:1px solid #cfb575;border-radius:50%;background:#123a2e;color:#fff5df;box-shadow:0 6px 22px #0002;font-size:24px;cursor:pointer; }
:focus-visible { outline:3px solid #c59b46;outline-offset:4px; }
.calm-mode *, .calm-mode *::before, .calm-mode *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
.calm-mode .reveal { opacity:1!important;transform:none!important; }
.calm-mode .hero__snow,.calm-mode .holiday-flight-layer,.calm-mode .frost-corners,.calm-mode .confetti { display:none!important; }
@media(prefers-reduced-motion:reduce) { dialog[open],.product-card {animation:none!important;} }
