/* Scroll rail: final, page-independent overrides. Original Webversa theme preserved. */
html body .wv-scroll-tools,
body.clientele-page .wv-scroll-tools,
body.contact-page-body .wv-scroll-tools {
    position: fixed !important;
    z-index: 7000 !important;
    inset: 0 0 0 auto !important;
    width: 32px !important;
    height: 100vh !important;
    height: 100dvh !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: transparent !important;
    pointer-events: none !important;
}
html body .wv-scroll-tools .wv-scroll-progress,
body.clientele-page .wv-scroll-tools .wv-scroll-progress,
body.contact-page-body .wv-scroll-tools .wv-scroll-progress {
    position: absolute !important;
    inset: max(15px, env(safe-area-inset-top)) 0 max(74px, calc(64px + env(safe-area-inset-bottom))) auto !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 28px !important;
    height: auto !important;
    min-height: 75px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 14px 0 0 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: ns-resize !important;
    pointer-events: auto !important;
    touch-action: none !important;
    user-select: none !important;
}
html body .wv-scroll-tools .wv-scroll-progress::before,
body.clientele-page .wv-scroll-tools .wv-scroll-progress::before,
body.contact-page-body .wv-scroll-tools .wv-scroll-progress::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 auto 0 12px !important;
    display: block !important;
    width: 5px !important;
    height: 100% !important;
    border-radius: 999px !important;
    opacity: 1 !important;
    background: rgba(249,249,249,.20) !important;
}
html body .wv-scroll-tools .wv-scroll-progress__thumb,
body.clientele-page .wv-scroll-tools .wv-scroll-progress__thumb,
body.contact-page-body .wv-scroll-tools .wv-scroll-progress__thumb {
    position: absolute !important;
    top: var(--wv-thumb-offset, 0px) !important;
    left: 10px !important;
    display: block !important;
    width: 9px !important;
    height: var(--wv-thumb-height, 56px) !important;
    max-height: 100% !important;
    min-height: 0 !important;
    border-radius: 999px !important;
    transform: none !important;
    transition: none !important;
    background: #ED202A !important;
    box-shadow: 0 0 12px rgba(237,32,42,.50) !important;
    pointer-events: none !important;
}
html body .wv-scroll-tools .wv-scroll-progress__thumb::after {display:none !important;}
html body .wv-scroll-tools .wv-scroll-progress:focus-visible {
    outline: 2px solid #F9F9F9 !important;
    outline-offset: -2px !important;
}
html body .wv-scroll-tools .wv-scroll-progress.is-not-scrollable {opacity: .3 !important; cursor: default !important;}
html body .wv-scroll-tools .wv-scroll-top-button,
body.clientele-page .wv-scroll-tools .wv-scroll-top-button,
body.contact-page-body .wv-scroll-tools .wv-scroll-top-button {
    position: absolute !important;
    inset: auto 4px max(10px, env(safe-area-inset-bottom)) auto !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
}
html body .wv-scroll-tools.has-scrolled .wv-scroll-top-button,
body.clientele-page .wv-scroll-tools.has-scrolled .wv-scroll-top-button,
body.contact-page-body .wv-scroll-tools.has-scrolled .wv-scroll-top-button {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}
html body .wv-scroll-tools .wv-scroll-top-button:focus-visible {
    outline: 2px solid #F9F9F9 !important;
    outline-offset: 3px !important;
}
@media (max-width: 700px) {
    html body .wv-scroll-tools .wv-scroll-progress,
    body.clientele-page .wv-scroll-tools .wv-scroll-progress,
    body.contact-page-body .wv-scroll-tools .wv-scroll-progress {width: 28px !important;}
    html body .wv-scroll-tools .wv-scroll-top-button,
    body.clientele-page .wv-scroll-tools .wv-scroll-top-button,
    body.contact-page-body .wv-scroll-tools .wv-scroll-top-button {
        width: 40px !important; min-width: 40px !important;
        height: 40px !important; min-height: 40px !important;
        right: 2px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body .wv-scroll-tools .wv-scroll-top-button {transition: none !important;}
}

/* This arrow works even if a third-party icon font is blocked. */
html body .wv-scroll-tools .wv-scroll-top-glyph {
    position: relative !important;
    z-index: 12 !important;
    display: block !important;
    color: #F9F9F9 !important;
    font: 700 25px/1 Arial, sans-serif !important;
    transform: translateY(-1px) !important;
    pointer-events: none !important;
}
