/* FashionWorld — Notyf overrides (right-top + bottom timeline) */
:root {
    --fw-notify-duration: 4500ms;
}

.notyf {
    top: 24px !important;
    right: 20px !important;
    left: auto !important;
    bottom: auto !important;
    max-width: min(380px, calc(100vw - 40px));
}

.notyf__toast {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.16);
    padding: 14px 40px 16px 18px;
    font-size: 0.9375rem;
    line-height: 1.45;
    min-width: 220px;
}

.notyf__message {
    font-weight: 500;
}

/* Countdown timeline (bottom bar) */
.notyf__toast.fw-notyf-toast::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: rgba(255, 255, 255, 0.22);
    z-index: 1;
}

.notyf__toast.fw-notyf-toast::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    height: 4px;
    width: 100%;
    background: rgba(255, 255, 255, 0.92);
    transform-origin: left center;
    animation: fw-notyf-timeline var(--fw-notify-duration, 4500ms) linear forwards;
    z-index: 2;
}

@keyframes fw-notyf-timeline {
    from {
        transform: scaleX(1);
    }
    to {
        transform: scaleX(0);
    }
}

.notyf__dismiss-btn {
    top: 50% !important;
    transform: translateY(-50%);
    right: 12px !important;
}

/* Storefront fixed header */
body.has-fixed-header .notyf {
    top: 88px !important;
}

@media (max-width: 767.98px) {
    .notyf {
        top: 72px !important;
        right: 12px !important;
        max-width: calc(100vw - 24px);
    }

    body.fw-admin-notify .notyf {
        top: 16px !important;
    }
}

/* Admin panel */
body.fw-admin-notify .notyf {
    top: 24px !important;
    right: 24px !important;
}
