/* ── Button loading spinners ─────────────────────────────────────────── */
@keyframes fe-spin {
    to { transform: rotate(360deg); }
}

/* Add-to-cart button loading state */
.btn-cart-loading {
    pointer-events: none;
    opacity: 0.8;
}

.btn-cart-spinner {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: fe-spin 0.65s linear infinite;
    vertical-align: middle;
    margin-right: 6px;
}

/* Cart + button loading state */
.btn-inc-loading {
    pointer-events: none;
}

.btn-inc-spinner {
    display: block;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    border: 2px solid rgba(201, 150, 0, 0.2);
    border-top-color: #c96;
    border-radius: 50%;
    animation: fe-spin 0.65s linear infinite;
}

/* ── Stock limit toast ───────────────────────────────────────────────── */
.stock-toast-popup {
    background: linear-gradient(135deg, #e84393, #c0392b) !important;
    border-radius: 14px !important;
    padding: 0 !important;
    box-shadow: 0 12px 32px rgba(200, 30, 80, 0.45) !important;
    min-width: 270px !important;
    overflow: hidden !important;
    border: none !important;
}

.stock-toast-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
}

.stock-toast-emoji {
    font-size: 32px;
    line-height: 1;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.2));
}

.stock-toast-body {
    flex: 1;
}

.stock-toast-title {
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.2px;
    line-height: 1.3;
}

.stock-toast-sub {
    color: rgba(255, 255, 255, 0.8);
    font-size: 12px;
    margin-top: 3px;
    line-height: 1.4;
}

.stock-toast-sub b {
    color: #fff;
    font-weight: 700;
}

.stock-toast-bar {
    height: 3px;
    background: rgba(255, 255, 255, 0.25);
    animation: stock-toast-shrink 3s linear forwards;
}

@keyframes stock-toast-shrink {
    from { width: 100%; }
    to   { width: 0%; }
}
