/* Locked card chrome */
.fp-su-locked {
    position: relative;
    filter: grayscale(1);
    transition: filter 400ms ease;
}
.fp-su-locked.fp-su-unlocking {
    filter: grayscale(0);
}
.fp-su-locked .fp-su-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    z-index: 2;
}
.fp-su-locked[data-fp-su-qualified="1"] .fp-su-badge {
    animation: fp-su-pulse 1200ms ease-in-out infinite;
    background: #1aa779;
}
@keyframes fp-su-pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.12); }
}

/* Locked add-to-cart button */
.fp-su-locked-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    opacity: 0.85;
    cursor: not-allowed;
}
.fp-su-locked-button[data-fp-su-qualified="1"] {
    opacity: 1;
    cursor: pointer;
}

/* Product page overlay */
.fp-su-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(10, 10, 10, 0.85);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.fp-su-overlay__panel {
    background: #fff;
    color: #111;
    padding: 32px 40px;
    border-radius: 12px;
    max-width: 480px;
    width: calc(100% - 32px);
    text-align: center;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);
}
.fp-su-overlay__title { margin: 0 0 16px; font-size: 1.5rem; }
.fp-su-overlay__progress { font-weight: 600; }

.fp-su-claim-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #1aa779;
    color: #fff;
    border: 0;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
    .fp-su-locked, .fp-su-locked.fp-su-unlocking { transition: none; }
    .fp-su-locked[data-fp-su-qualified="1"] .fp-su-badge { animation: none; }
}
