/*!
 * Themeasy — Scroll to Top
 *
 * Floating back-to-top button: shape modifiers (circle / rounded / square), a
 * shape-matched scroll progress outline (SVG stroke-dashoffset, drawn by the
 * widget JS on the frontend), the icon-contract rules, the transition handover
 * that lets the shared hover effects own the button's transform, an opt-in
 * mobile override of the shared side-widget hide, and the editor's static
 * partial preview. Structure is pure CSS; motion lives in scroll-to-top.min.js
 * (plus core.min.js for the hover effects) and degrades to a fully drawn
 * outline without JS/GSAP or under reduced motion.
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-scroll-to-top .link{font:inherit;color:inherit;box-shadow:none;-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;padding:0}.tms-scroll-to-top .icon-wrapper{justify-content:center;align-items:center;width:40px;height:40px;padding:5px;font-size:22px;transition:all .3s;display:flex;position:relative}.tms-scroll-to-top .icon-wrapper .icon{font-size:inherit;color:var(--tms-heading-color,#1d2023);transition:all .3s}.tms-scroll-to-top .icon-wrapper svg:not(.tms-scroll-to-top__progress){width:1em;height:1em;color:var(--tms-heading-color,#1d2023);fill:currentColor;transition:all .3s}.tms-scroll-to-top .icon-wrapper svg:not(.tms-scroll-to-top__progress)[fill=none]{fill:none;stroke:currentColor}.tms-scroll-to-top .icon-wrapper img{width:1em;height:1em}.tms-scroll-to-top .link:hover .icon-wrapper .icon,.tms-scroll-to-top .link:hover .icon-wrapper svg:not(.tms-scroll-to-top__progress){color:var(--tms-heading-color,#1d2023)}.tms-scroll-to-top--shape-circle .icon-wrapper{border-radius:50%}.tms-scroll-to-top--shape-rounded .icon-wrapper{border-radius:min(var(--tms-radius-sm,12.5%), 25%)}.tms-scroll-to-top--shape-square .icon-wrapper{border-radius:0}.tms-scroll-to-top .icon-wrapper .tms-scroll-to-top__progress{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.tms-scroll-to-top .tms-scroll-to-top__progress-track{fill:none;stroke:var(--tms-border-color,#e5e7eb);stroke-width:28px;shape-rendering:geometricprecision}.tms-scroll-to-top .tms-scroll-to-top__progress-indicator{fill:none;stroke:var(--tms-border-strong-color,#1d2023);stroke-width:28px;stroke-linecap:round;shape-rendering:geometricprecision}.tms-scroll-to-top .tms-hover-animation .icon-wrapper{transition:background-color .3s,border-color .3s,box-shadow .3s,color .3s}.tms-scroll-to-top--static .tms-scroll-to-top__progress-indicator{stroke-dasharray:100;stroke-dashoffset:35px}@media (max-width:991px){.tms-scroll-to-top.tms-scroll-to-top--show-mobile{display:block}}@media (prefers-reduced-motion:reduce){.tms-scroll-to-top .icon-wrapper,.tms-scroll-to-top .tms-hover-animation .icon-wrapper,.tms-scroll-to-top .icon-wrapper .icon,.tms-scroll-to-top .icon-wrapper svg:not(.tms-scroll-to-top__progress){transition:none}}