/**
 * Bouton public « retour en haut ».
 *
 * L'identifiant unique et le reset ciblé empêchent les styles globaux du thème
 * ou d'Elementor de modifier l'apparence configurée dans le module.
 */
html body #prtt-return-to-top.prtt-button {
    all: unset;
    position: fixed;
    right: var(--prtt-right, 24px);
    bottom: var(--prtt-bottom, 24px);
    z-index: 99999;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--prtt-button-size, 48px);
    height: var(--prtt-button-size, 48px);
    min-width: var(--prtt-button-size, 48px);
    min-height: var(--prtt-button-size, 48px);
    margin: 0;
    padding: 0;
    overflow: visible;
    color: var(--prtt-icon-color, #ffffff) !important;
    background-color: var(--prtt-background, #f57c00) !important;
    background-image: none !important;
    border: var(--prtt-border-width, 0) solid var(--prtt-border-color, #ffffff) !important;
    text-decoration: none !important;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 12px, 0);
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease,
        color 180ms ease, background-color 180ms ease;
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

html body #prtt-return-to-top.prtt-button::before,
html body #prtt-return-to-top.prtt-button::after {
    content: none !important;
    display: none !important;
}

html body #prtt-return-to-top.prtt-button.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
}

html body #prtt-return-to-top.prtt-button:hover,
html body #prtt-return-to-top.prtt-button:active {
    color: var(--prtt-hover-icon-color, #ffffff) !important;
    background-color: var(--prtt-hover-background, #222222) !important;
    background-image: none !important;
    text-decoration: none !important;
}

html body #prtt-return-to-top.prtt-button:focus {
    color: var(--prtt-icon-color, #ffffff) !important;
    background-color: var(--prtt-background, #f57c00) !important;
}

html body #prtt-return-to-top.prtt-button:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

html body #prtt-return-to-top.prtt-button--circle {
    border-radius: 50% !important;
}

html body #prtt-return-to-top.prtt-button--rounded {
    border-radius: 12px !important;
}

html body #prtt-return-to-top.prtt-button--square {
    border-radius: 0 !important;
}

html body #prtt-return-to-top.prtt-button--shadow {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22) !important;
}

html body #prtt-return-to-top.prtt-button:not(.prtt-button--shadow) {
    box-shadow: none !important;
}

html body #prtt-return-to-top.prtt-button i,
html body #prtt-return-to-top.prtt-button svg {
    display: block;
    flex: 0 0 auto;
    box-sizing: border-box;
    width: var(--prtt-icon-size, 18px);
    height: var(--prtt-icon-size, 18px);
    margin: 0;
    padding: 0;
    color: inherit !important;
    font-size: var(--prtt-icon-size, 18px);
    line-height: 1;
    fill: currentColor !important;
}

html body #prtt-return-to-top.prtt-button svg {
    max-width: none;
    max-height: none;
}

@media (prefers-reduced-motion: reduce) {
    html body #prtt-return-to-top.prtt-button {
        transition: none;
    }
}
