/* Vahid reusable, stackable background overlays for Elementor Containers. */
.vg-has-background-effects{position:relative;isolation:isolate;overflow:hidden}
.vg-has-background-effects>.vg-background-effect-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.vg-has-background-effects>.vg-grid-layer{z-index:0}
.vg-has-background-effects>.vg-journey-layer{z-index:1}
.vg-has-background-effects.vg-bg-order-grid-over-journey>.vg-grid-layer{z-index:1}
.vg-has-background-effects.vg-bg-order-grid-over-journey>.vg-journey-layer{z-index:0}
.vg-has-background-effects>.e-con-inner,
.vg-has-background-effects>.elementor-element:not(.vg-background-effect-layer){position:relative;z-index:2}

/* Grid layer. */
.vg-has-background-effects{--vg-bg-grid-color:rgba(20,84,61,.16);--vg-bg-grid-opacity:.18;--vg-bg-grid-size:34px;--vg-bg-grid-width:1px}
.vg-grid-theme-dark{--vg-bg-grid-color:rgba(255,255,255,.16)}
.vg-bg-variant-dark{--vg-bg-grid-color:rgba(255,255,255,.16)} /* legacy */
.vg-background-effect-layer.vg-grid-layer{opacity:var(--vg-bg-grid-opacity);background-image:linear-gradient(to bottom,var(--vg-bg-grid-color) 0 var(--vg-bg-grid-width),transparent var(--vg-bg-grid-width)),linear-gradient(to right,var(--vg-bg-grid-color) 0 var(--vg-bg-grid-width),transparent var(--vg-bg-grid-width));background-size:var(--vg-bg-grid-size) var(--vg-bg-grid-size)}

/* Journey layer — geometry is supplied by a selected Demo-v4 preset. */
.vg-has-background-effects{--vg-bg-journey-line:rgba(20,84,61,.105);--vg-bg-journey-head:rgba(245,130,32,.76);--vg-bg-journey-opacity:.56;--vg-bg-journey-duration:5.6s}
.vg-journey-theme-dark{--vg-bg-journey-line:rgba(255,255,255,.09);--vg-bg-journey-head:rgba(245,130,32,.85)}
.vg-bg-variant-dark{--vg-bg-journey-line:rgba(255,255,255,.09);--vg-bg-journey-head:rgba(245,130,32,.85)} /* legacy */
.vg-journey-preset-product-downloads.vg-journey-theme-dark{--vg-bg-journey-line:rgba(255,255,255,.09);--vg-bg-journey-head:rgba(245,130,32,.85)}
.vg-journey-preset-product-rfq.vg-journey-theme-dark{--vg-bg-journey-line:rgba(255,255,255,.075);--vg-bg-journey-head:rgba(245,130,32,.85)}
.vg-background-effect-layer.vg-journey-layer{opacity:var(--vg-bg-journey-opacity)}
.vg-journey-svg{position:absolute;inset:0;width:100%;height:100%;transform-origin:center}
.vg-journey-line,.vg-journey-head{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.vg-journey-line{stroke:var(--vg-bg-journey-line);stroke-width:2.35;stroke-dasharray:1;stroke-dashoffset:1}
.vg-journey-head{stroke:var(--vg-bg-journey-head);stroke-width:3;stroke-dasharray:.04 .96;stroke-dashoffset:0;opacity:0;filter:drop-shadow(0 0 7px rgba(245,130,32,.18))}
.vg-bg-journey-yes.is-vg-effect-visible .vg-journey-line,
.vg-bg-effect-journey.is-vg-effect-visible .vg-journey-line{animation:vgJourneyDraw var(--vg-bg-journey-duration) cubic-bezier(.5,0,.22,1) var(--d,0ms) forwards}
.vg-bg-journey-yes.is-vg-effect-visible .vg-journey-head,
.vg-bg-effect-journey.is-vg-effect-visible .vg-journey-head{animation:vgJourneyTravel var(--vg-bg-journey-duration) cubic-bezier(.5,0,.22,1) var(--d,0ms) forwards}
.vg-bg-motion-paused .vg-journey-line,.vg-bg-motion-paused .vg-journey-head{animation-play-state:paused!important}
@keyframes vgJourneyDraw{to{stroke-dashoffset:0}}
@keyframes vgJourneyTravel{0%{stroke-dashoffset:0;opacity:0}4%{opacity:.58}90%{opacity:.58}100%{stroke-dashoffset:-.96;opacity:0}}

@media(prefers-reduced-motion:reduce){
  .vg-journey-line{stroke-dashoffset:0!important}
  .vg-journey-head{display:none!important}
  .vg-bg-journey-yes .vg-journey-line,.vg-bg-journey-yes .vg-journey-head,
  .vg-bg-effect-journey .vg-journey-line,.vg-bg-effect-journey .vg-journey-head{animation:none!important}
}
