/* Template-owned control: no icon font or extension dependency. */
.syfal-back-to-top {
    position: fixed;
    right: max(20px, env(safe-area-inset-right));
    bottom: max(20px, env(safe-area-inset-bottom));
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(64, 102, 89, .25);
    border-radius: 50%;
    background: var(--blanc-color, #fff);
    color: var(--vert-titre-color, #406659);
    box-shadow: 0 2px 8px #0002;
    cursor: pointer;
    transition: background-color .15s, color .15s;
}
.syfal-back-to-top[hidden] { display: none; }
.syfal-back-to-top:hover {
    background: var(--vert-titre-color, #406659);
    color: #fff;
}
.syfal-back-to-top:focus-visible {
    outline: 3px solid var(--vert-titre-color, #406659);
    outline-offset: 3px;
}
.syfal-back-to-top svg { pointer-events: none; }
#syfal-page-top:focus { outline: none; }
@media (prefers-reduced-motion: reduce) {
    .syfal-back-to-top { transition: none; }
}
