/*
 * Local fallback for the footer "Scam Alert" ticker. These rules also live in
 * public/css/footer-modern.css in the Laravel repo, but the IAPP_CDN copy lags
 * until it's re-synced -- this file is enqueued after the CDN stylesheet so the
 * ticker renders correctly before that sync happens. Safe to remove once the
 * CDN copy is confirmed current. Markup: partial-footer.php (.footer-scam-alert).
 */

footer.footer-v2 .footer-bottom-bar {
    gap: 16px;
}

footer.footer-v2 .footer-scam-alert {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

footer.footer-v2 .footer-scam-label {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

footer.footer-v2 .footer-scam-label svg {
    color: #ffb020;
}

footer.footer-v2 .footer-scam-marquee {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    border-radius: 999px;
    background: #e53935;
    box-shadow: 0 6px 18px rgba(229, 57, 53, 0.3);
}

footer.footer-v2 .footer-scam-track {
    display: flex;
    width: max-content;
    animation: footerScamMarquee 60s linear infinite;
    will-change: transform;
}

footer.footer-v2 .footer-scam-marquee:hover .footer-scam-track,
footer.footer-v2 .footer-scam-marquee:focus-within .footer-scam-track {
    animation-play-state: paused;
}

footer.footer-v2 .footer-scam-text {
    flex: none;
    margin: 0;
    padding: 7px 48px 7px 18px;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    white-space: nowrap;
}

footer.footer-v2 .footer-scam-text a {
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@keyframes footerScamMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (max-width: 767.98px) {
    footer.footer-v2 .footer-bottom-bar {
        flex-direction: column;
        align-items: stretch;
    }

    footer.footer-v2 .footer-scam-alert {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    footer.footer-v2 .footer-scam-marquee {
        width: 100%;
    }

    footer.footer-v2 .footer-top-btn {
        align-self: flex-end;
    }
}

/* Motion off (animations are killed footer-wide below): show the notice once,
   wrapped, instead of a frozen strip cut off mid-sentence. */
@media (prefers-reduced-motion: reduce) {
    footer.footer-v2 .footer-scam-marquee {
        border-radius: 12px;
    }

    footer.footer-v2 .footer-scam-track {
        width: auto;
    }

    footer.footer-v2 .footer-scam-text {
        padding-right: 18px;
        white-space: normal;
    }

    footer.footer-v2 .footer-scam-text[aria-hidden="true"] {
        display: none;
    }
}

