/* Interaction-only additions: source layout and resting geometry remain authoritative. */
.ffbuy-spa { margin: 0; }
.ffbuy-spa :focus-visible { outline: 2px solid #f43f5e; outline-offset: 3px; }
.ffbuy-spa #loading-screen { background: #fff !important; }
.ffbuy-spa #loading-screen .spinner { border-color: #e2e8f0 !important; border-top-color: #f43f5e !important; }
.ffbuy-spa #loading-screen .text { color: #475569 !important; }
.ffbuy-spa .ff-reveal { transition: opacity 560ms cubic-bezier(.2,.7,.2,1), translate 560ms cubic-bezier(.2,.7,.2,1); transition-delay: var(--ff-delay,0ms); }
.ffbuy-spa .ff-reveal-pending { opacity: 0; translate: 0 14px; }
.ffbuy-spa [data-ff-card] { position: relative; transform-style: preserve-3d; will-change: auto; }
.ffbuy-spa [data-ff-card]::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none; opacity: 0; box-shadow: inset 0 0 0 1px rgba(244,63,94,.12); background: radial-gradient(180px circle at var(--ff-x,50%) var(--ff-y,50%),rgba(255,255,255,.13),transparent 70%); transition: opacity 220ms ease; }
.ffbuy-spa [data-ff-card]:hover::after { opacity: 1; }
.ffbuy-spa [data-ff-card] img { transition: opacity 240ms ease, transform 550ms cubic-bezier(.2,.7,.2,1); }
.ffbuy-spa .ff-magnet { transition: translate 200ms cubic-bezier(.2,.7,.2,1); }
.ffbuy-spa header { transition: box-shadow 220ms ease; }
.ffbuy-spa.ff-scrolled header { box-shadow: 0 5px 22px rgba(15,23,42,.09); }
.ffbuy-spa img.ff-image-ready { animation: ff-image-in 260ms ease-out both; }
.ffbuy-spa [data-ff-banner] { position: relative; overflow: hidden; background: #f8fafc; }
.ffbuy-spa [data-ff-banner] img { width: 100%; max-height: 480px; object-fit: cover; }
.ffbuy-spa [data-ff-banner] .ff-banner-copy { position: absolute; bottom: 0; padding: clamp(20px,4vw,56px); max-width: 640px; color: #0f172a; }
.ffbuy-spa [data-ff-banner] a { display: inline-flex; padding: 12px 24px; margin-top: 16px; border-radius: 8px; background: #f43f5e; color: #fff; }
.ffbuy-spa [data-ff-inquiry] { display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; padding: 12px 24px; background: #f43f5e; color: #fff; font-weight: 500; min-height: 44px; }
.ffbuy-spa [data-ff-inquiry]:disabled { opacity: .6; cursor: wait; }
.ffbuy-spa [data-ff-commerce] { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ffbuy-spa [data-ff-commerce] p { color: #64748b; font-size: 14px; flex-basis: 100%; }
.ffbuy-spa [data-ff-announcement] { text-align:center; padding:8px 16px; background:#fff1f2; color:#881337; font-size:13px; }
@keyframes ff-image-in { from { opacity: .35; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .ffbuy-spa *, .ffbuy-spa *::before, .ffbuy-spa *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .ffbuy-spa .ff-reveal-pending { opacity:1; translate:none; }
  .ffbuy-spa [data-ff-card], .ffbuy-spa .ff-magnet { transform: none !important; translate:none !important; }
}
@media (min-width: 1024px) {
  .ffbuy-spa header .h-16 > .flex-shrink-0 {
    min-inline-size: 317.46875px;
  }
}
