.mm-ticker-wrap{overflow:hidden;background:#fff;border-bottom:1px solid var(--mm-border);white-space:nowrap;padding:8px 0;}
.mm-ticker-track{display:inline-flex;animation:mm-scroll 22s linear infinite;}
.mm-ticker-set{display:inline-flex;align-items:center;}
.mm-ticker-item{font-size:12px;font-weight:600;color:var(--mm-black);padding:0 14px;}
.mm-ticker-sep{color:var(--mm-accent);font-weight:700;}
@keyframes mm-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.mm-ticker-wrap:hover .mm-ticker-track{animation-play-state:paused;}

.mm-card{transition:transform .25s ease, box-shadow .25s ease;}
.mm-card:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(0,0,0,.1);}
.mm-card-img{position:relative;overflow:hidden;}
.mm-card-img img{transition:transform .4s ease, opacity .4s ease;}
.mm-card:hover .mm-card-img img.mm-img-primary{transform:scale(1.06);}
.mm-card-img img.mm-img-hover{position:absolute;inset:0;opacity:0;}
.mm-card:hover .mm-card-img img.mm-img-hover{opacity:1;}
.mm-card:hover .mm-card-img img.mm-img-primary.has-hover-swap{opacity:0;}
.mm-btn{transition:background .2s ease, transform .2s ease;}
.mm-card:hover .mm-btn{transform:translateY(-1px);}

.mm-cat-img{position:relative;}
.mm-cat-img::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px dashed var(--mm-gold);animation:mm-spin 9s linear infinite;}
@keyframes mm-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.mm-cat{transition:transform .2s ease;}
.mm-cat:hover{transform:translateY(-4px);}

.mm-spotlight img, .mm-promo img{transition:transform .4s ease;}
.mm-spotlight:hover img{transform:scale(1.03);}
