/* Global LOCAL control only; never style Elementor buttons or contact links. */
#newsun-back-to-top {
    position: fixed; right: 24px; bottom: 24px; z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    width: 54px; height: 54px; min-width: 54px; padding: 0;
    border: 0; border-radius: 14px; background: #D62828; color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(0,0,0,.12); cursor: pointer;
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease, background-color .2s ease, visibility .2s;
}
#newsun-back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
#newsun-back-to-top:hover { background: #B72020; color: #FFFFFF; }
#newsun-back-to-top:focus-visible { outline: 3px solid #D62828; outline-offset: 3px; }
#newsun-back-to-top svg { width: 24px; height: 24px; color: inherit; flex-shrink: 0; }
/* JS checks actual popup visibility, rather than guessing from inline style text. */
#newsun-back-to-top.is-modal-open { visibility: hidden; pointer-events: none; opacity: 0; }
@media (max-width: 767px) { #newsun-back-to-top { width: 50px; height: 50px; min-width: 50px; right: 16px; bottom: max(20px, env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { #newsun-back-to-top { transition: none; transform: none; } }
