/* CareerPort Scroll SVG: no page, image or scrollbar overrides. */
#careerport-scroll-svg-widget {
    --cpsv-accent: #e400ac;
    position: fixed !important;
    top: 50%;
    right: 13px;
    bottom: auto;
    left: auto;
    transform: translateY(-50%);
    z-index: 9000;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    width: 55px;
    padding: 5px 0;
    margin: 0;
    color: var(--cpsv-accent) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    isolation: isolate;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}
#careerport-scroll-svg-widget *,
#careerport-scroll-svg-widget *::before,
#careerport-scroll-svg-widget *::after {
    box-sizing: border-box;
}
#careerport-scroll-svg-widget .cpsv-control {
    appearance: none;
    -webkit-appearance: none;
    flex: none;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: auto;
    padding: 0 !important;
    margin: 0 !important;
    color: var(--cpsv-accent) !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 10px;
    outline-offset: 3px;
    box-shadow: none !important;
    line-height: 1;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    touch-action: manipulation;
    transition: transform .22s ease, filter .22s ease, opacity .22s ease;
}
#careerport-scroll-svg-widget .cpsv-control svg {
    display: block;
    flex: none;
    width: 100%;
    height: 100%;
    color: var(--cpsv-accent);
    fill: none;
    overflow: visible;
}
#careerport-scroll-svg-widget .cpsv-arrow {
    width: 40px;
    height: 24px;
}
#careerport-scroll-svg-widget .cpsv-mouse {
    width: 49px;
    height: 76px;
}
#careerport-scroll-svg-widget .cpsv-control:hover:not(:disabled),
#careerport-scroll-svg-widget .cpsv-control:focus-visible {
    filter: drop-shadow(0 0 6px rgba(228, 0, 172, .64)) drop-shadow(0 0 12px rgba(228, 0, 172, .25));
}
#careerport-scroll-svg-widget .cpsv-arrow-up:hover:not(:disabled) { transform: translateY(-3px); }
#careerport-scroll-svg-widget .cpsv-arrow-down:hover:not(:disabled) { transform: translateY(3px); }
#careerport-scroll-svg-widget .cpsv-mouse:hover:not(:disabled) { transform: scale(1.07); }
#careerport-scroll-svg-widget .cpsv-control:focus-visible {
    outline: 2px solid var(--cpsv-accent);
}
#careerport-scroll-svg-widget .cpsv-control:disabled {
    cursor: default;
    opacity: .4;
}
#careerport-scroll-svg-widget .cpsv-wheel {
    animation: cpsv-scroll-wheel 1.85s ease-in-out infinite;
    transform-origin: 35px 36px;
}
@keyframes cpsv-scroll-wheel {
    0%, 100% { opacity: 1; transform: translateY(-2px); }
    55% { opacity: .4; transform: translateY(5px); }
}
@media (max-width: 767px) {
    #careerport-scroll-svg-widget {
        top: 50%;
        right: max(4px, env(safe-area-inset-right));
        width: 39px;
        padding: 4px 0;
    }
    #careerport-scroll-svg-widget .cpsv-control { width: 38px; }
    #careerport-scroll-svg-widget .cpsv-arrow { width: 31px; height: 19px; }
    #careerport-scroll-svg-widget .cpsv-mouse { width: 35px; height: 56px; }
}
@media (prefers-reduced-motion: reduce) {
    #careerport-scroll-svg-widget .cpsv-wheel { animation: none; }
    #careerport-scroll-svg-widget .cpsv-control { transition: none; }
}
@media print {
    #careerport-scroll-svg-widget { display: none !important; }
}
