/* Cards still + sharp product images (logo spin uses rotate, not transform) */
#storeGrid .sf-card:not(.sf-skeleton):not(.sf-decor),
.sf-card:not(.sf-skeleton):not(.sf-decor),
#storeGrid .sf-card:not(.sf-skeleton):not(.sf-decor) .sf-card-inner,
.sf-card:not(.sf-skeleton):not(.sf-decor) .sf-card-inner,
.product-card-new:not(.disabled),
.shop-product-card:not(.disabled) {
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
}
#storeGrid .sf-card:not(.sf-skeleton) .sf-card-inner,
.sf-card:not(.sf-skeleton) .sf-card-inner {
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
#storeGrid .sf-card:not(.sf-skeleton):not(:hover) .sf-img,
.sf-card:not(.sf-skeleton):not(:hover) .sf-img,
#storeGrid .sf-card:not(.sf-skeleton):not(:hover) .sf-card-inner img:not(.sf-view-btn-logo),
.sf-card:not(.sf-skeleton):not(:hover) .sf-card-inner img:not(.sf-view-btn-logo) {
  filter: none !important;
  -webkit-filter: none !important;
  transform: none !important;
  image-rendering: auto !important;
  object-fit: cover !important;
}
/* Orbit rings must be able to animate */
#storeGrid .sf-card .sf-view-logo-ring,
.sf-card .sf-view-logo-ring {
  animation-play-state: running !important;
}
#storeGrid .sf-card .sf-view-btn-logo,
.sf-card .sf-view-btn-logo {
  filter: none !important;
  -webkit-filter: none !important;
  transform: none !important;
  object-fit: cover !important;
}

/* ===== Fourty-style SVG orbit (thin arc + dashed ring) ===== */
@keyframes sfViewOrbitSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes sfViewLogoIn {
  from { opacity: 0; transform: scale(0.86); }
  to { opacity: 1; transform: scale(1); }
}

#storeGrid .sf-card .sf-img,
.sf-card .sf-img,
.store-sections .sf-card .sf-img,
#unbanStoreGrid .sf-card .sf-img {
  transition: filter .35s cubic-bezier(.16,1,.3,1), transform .45s cubic-bezier(.16,1,.3,1) !important;
}
#storeGrid .sf-card:hover .sf-img,
.sf-card:hover .sf-img,
.store-sections .sf-card:hover .sf-img,
#unbanStoreGrid .sf-card:hover .sf-img {
  filter: blur(6px) brightness(0.42) !important;
  transform: scale(1.05) !important;
}

#storeGrid .sf-card .sf-view-overlay,
.sf-card .sf-view-overlay,
.store-sections .sf-card .sf-view-overlay,
#unbanStoreGrid .sf-card .sf-view-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0,0,0,.28) !important;
  opacity: 0 !important;
  transition: opacity .3s ease !important;
  pointer-events: none !important;
}
#storeGrid .sf-card:hover .sf-view-overlay,
.sf-card:hover .sf-view-overlay,
.store-sections .sf-card:hover .sf-view-overlay,
#unbanStoreGrid .sf-card:hover .sf-view-overlay {
  opacity: 1 !important;
}

#storeGrid .sf-card .sf-view-orbit,
.sf-card .sf-view-orbit,
.store-sections .sf-card .sf-view-orbit,
#unbanStoreGrid .sf-card .sf-view-orbit {
  position: relative !important;
  width: 84px !important;
  height: 84px !important;
}
#storeGrid .sf-card:hover .sf-view-orbit,
.sf-card:hover .sf-view-orbit {
  animation: sfViewLogoIn .32s cubic-bezier(.16,1,.3,1) both !important;
}

#storeGrid .sf-card .sf-view-orbit-arc,
.sf-card .sf-view-orbit-arc,
#storeGrid .sf-card .sf-view-orbit-dots,
.sf-card .sf-view-orbit-dots {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  opacity: 0 !important;
  transform-origin: 50% 50% !important;
  will-change: transform !important;
  /* do NOT set transform:!important — blocks spin */
}
#storeGrid .sf-card:hover .sf-view-orbit-arc,
.sf-card:hover .sf-view-orbit-arc {
  opacity: 1 !important;
  animation: sfViewOrbitSpin 2.4s linear infinite !important;
}
#storeGrid .sf-card:hover .sf-view-orbit-dots,
.sf-card:hover .sf-view-orbit-dots {
  opacity: 1 !important;
  animation: sfViewOrbitSpin 3.2s linear infinite reverse !important;
}

#storeGrid .sf-card .sf-view-orbit-logo,
.sf-card .sf-view-orbit-logo {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
}
#storeGrid .sf-card .sf-view-orbit-logo img,
.sf-card .sf-view-orbit-logo img,
#storeGrid .sf-card .sf-view-btn-logo,
.sf-card .sf-view-btn-logo {
  width: 56px !important;
  height: 56px !important;
  border-radius: 10px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 12px rgba(106,160,220,.55)) !important;
  transform: none !important;
  animation: none !important;
}

/* hide legacy pill / text if any remain */
#storeGrid .sf-card .sf-view-btn-text,
.sf-card .sf-view-btn-text,
#storeGrid .sf-card .sf-view-btn:not(.sf-view-orbit),
.sf-card .sf-view-btn:not(.sf-view-orbit) {
  /* keep empty */
}
#storeGrid .sf-card .sf-view-btn-text,
.sf-card .sf-view-btn-text { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  #storeGrid .sf-card:hover .sf-img,
  .sf-card:hover .sf-img {
    filter: brightness(0.45) !important;
    transform: none !important;
  }
  #storeGrid .sf-card:hover .sf-view-orbit-arc,
  .sf-card:hover .sf-view-orbit-arc,
  #storeGrid .sf-card:hover .sf-view-orbit-dots,
  .sf-card:hover .sf-view-orbit-dots,
  #storeGrid .sf-card:hover .sf-view-orbit,
  .sf-card:hover .sf-view-orbit {
    animation: none !important;
  }
  #storeGrid .sf-card:hover .sf-view-orbit-arc,
  .sf-card:hover .sf-view-orbit-arc,
  #storeGrid .sf-card:hover .sf-view-orbit-dots,
  .sf-card:hover .sf-view-orbit-dots { opacity: 0.9 !important; }
}








/* Allow decor float/fire to animate transform */
.sf-card.sf-decor-float .sf-card-inner,
.sf-card.sf-decor-fire .sf-card-inner::before {
  /* do not force transform:none here */
}

#storeGrid .sf-card.sf-decor-float .sf-card-inner,
.store-sections .sf-card.sf-decor-float .sf-card-inner,
.sf-card.sf-decor-float .sf-card-inner {
  /* transform controlled by store-card-decor.css animation */
}
