/* Motion accompanies discovery and confirms actions; the catalogue stays readable without JS. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--motion-press:140ms;--motion-ui:220ms}
.button,.menu,.add-to-cart button,.book-art .cover,.saga-art .cover,.text-link span,[data-cart-count]{transition:transform var(--motion-ui) var(--ease-out),opacity var(--motion-ui) var(--ease-out)}
.button:active,.menu:active,.add-to-cart button:active{transform:scale(.97);transition-duration:var(--motion-press)}
.book-art:active .cover,.saga-art:active .cover{transform:scale(.98)}
.add-to-cart button{min-width:180px}
.add-to-cart button.is-added{background:#375a48;color:#fff;border-color:#375a48}
[data-cart-count]{display:inline-flex;align-items:center;justify-content:center;transform-origin:center}
[data-cart-count].cart-pulse{transform:scale(1.18)}
.hero-art{isolation:isolate}
.hero-art .star{color:#a87c43}
@media(hover:hover) and (pointer:fine){
 .book-art:hover .cover,.book-art:focus-visible .cover{transform:perspective(850px) translateY(-5px) rotateY(-5deg)}
 .saga-art:hover .cover,.saga-art:focus-visible .cover{transform:translateY(-5px) rotate(-1deg)}
 .button:hover{transform:translateY(-2px)}
 .text-link:hover span{transform:translate(2px,-2px)}
}
@media(max-width:650px) and (prefers-reduced-motion:no-preference){
 #nav.open{transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out);transform-origin:top;opacity:1;transform:translateY(0)}
 @starting-style{#nav.open{opacity:0;transform:translateY(-6px)}}
}
@media(prefers-reduced-motion:reduce){
 .button,.menu,.add-to-cart button,.book-art .cover,.saga-art .cover,.text-link span,[data-cart-count],#nav.open{transition:none!important;animation:none!important;transform:none!important}
}
