
.back-top{
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none;
    background: #e5e3ff;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    opacity: 0;
    pointer-events: none;
    /* Caché, le bouton n'était que transparent : il restait atteint au clavier
       et gardait le focus après le retour en haut. visibility le retire de la
       tabulation, une fois le fondu terminé (délai de 0,2 s). */
    visibility: hidden;
    transform: translateY(10px) scale(0.9);
    transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
    z-index: 999;
}

.back-top.show{
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
}

/* L'icône (64 px) déborde du rond : sans cela, ses bords transparents
   prolongeaient la zone cliquable du bouton sur le contenu voisin. */
.back-top svg{
    pointer-events: none;
}

/* Survol à la souris seulement : au doigt, le bouton restait grossi après
   l'appui */
@media (hover: hover){
    .back-top:hover{
        transform: translateY(0) scale(1.06);
    }
}

.back-top:active{
  transform: translateY(0) scale(0.92);
}

/* Sous 768 px (téléphones, paysage compris) : 44 px à 12 px des bords. À 52 px
   et 24 px, il se posait sur les boutons des cartes des listes (« Nous
   contacter ») et sur le bord droit des contenus. La fiche d'un pro le remonte
   au-dessus de sa barre d'action (profil.css, chargée après). */
@media (max-width: 767px){
    .back-top{
        width: 44px;
        height: 44px;
        right: 12px;
        bottom: calc(12px + env(safe-area-inset-bottom));
    }

    .back-top svg{
        width: 54px;
        height: 54px;
    }
}

/* Menu mobile ouvert : le bouton (z-index 999) passerait au-dessus du menu plein
   écran (z-index 100), masquant ses dernières entrées tout en restant cliquable */
body.nav-open .back-top{
    display: none;
}
