/* ===== GFT Smooth Scroll (Lenis) — klimintaal, red overlay scrollbar. Self-contained, removable ===== */

/* Lenis required rules */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

/* hide the native window scrollbar only while Lenis is active */
html.lenis { scrollbar-width: none; -ms-overflow-style: none; }
html.lenis::-webkit-scrollbar,
html.lenis body::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* custom auto-hiding overlay scrollbar (window) */
.gft-sb {
  position: fixed; top: 0; right: 3px; width: 12px; height: 100vh;
  z-index: 99998; pointer-events: none;
}
.gft-sb__thumb {
  position: absolute; top: 0; right: 3px; width: 6px; min-height: 40px;
  box-sizing: border-box;
  border-radius: 0;                                   /* rectangle */
  background: var(--e-global-color-primary, #FF001C);  /* brand red */
  pointer-events: auto; cursor: grab;
  opacity: 0;
  transition: opacity .7s ease !important;            /* slow fade-out */
}
.gft-sb.is-visible .gft-sb__thumb { opacity: 1; transition: opacity .12s ease !important; }  /* quick fade-in */
.gft-sb__thumb:hover, .gft-sb.is-dragging .gft-sb__thumb { width: 7px; }
.gft-sb.is-dragging .gft-sb__thumb { cursor: grabbing; }

/* window bar hidden while an Elementor popup is open (the popup gets its own bar) */
.gft-sb.gft-sb--under-popup { display: none !important; }

/* inner overlay scrollbar for a popup's native-scroll element (geometry set inline by JS) */
.gft-sb--inner { right: auto; height: auto; z-index: 100000; }

/* hide the native scrollbar on any element we drive ourselves */
.gft-has-sb { scrollbar-width: none; -ms-overflow-style: none; }
.gft-has-sb::-webkit-scrollbar { width: 0; height: 0; display: none; }

@media (prefers-reduced-motion: reduce) { .gft-sb { display: none; } }
