/* FEF Page Scroll to ID — frontend styles */

/* Target flash highlight on arrival */
.fef-ps-flash {
    animation: fef-ps-flash-anim 1.4s ease-out;
    border-radius: 6px;
}
@keyframes fef-ps-flash-anim {
    0%   { box-shadow: 0 0 0 9999px var(--fef-ps-flash, rgba(255, 235, 59, 0.4)) inset; }
    100% { box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0) inset; }
}

/* Back-to-top floating button */
.fef-ps-btt {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background: var(--btt-bg, #111827);
    color: var(--btt-color, #fff);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px) scale(0.9);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
    z-index: 99990;
}
.fef-ps-btt.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
.fef-ps-btt:hover { transform: translateY(-2px) scale(1.06); }
.fef-ps-btt:focus-visible { outline: 3px solid rgba(59, 130, 246, 0.6); outline-offset: 2px; }

@media (max-width: 640px) {
    .fef-ps-btt { right: 14px; bottom: 14px; width: 42px; height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
    .fef-ps-flash { animation: none; }
    .fef-ps-btt { transition: opacity .15s ease, visibility .15s; }
}
