/* Scoped to gallery instances: never reset the WordPress theme or Elementor page. */
.gg-gallery[data-sgg-root],.gg-gallery[data-sgg-root] *,.gg-gallery[data-sgg-root] *::before,.gg-gallery[data-sgg-root] *::after{box-sizing:border-box}
.gg-gallery[data-sgg-root]{position:relative;width:100%;height:var(--gg-height,720px);min-height:280px;perspective:var(--gg-perspective,1800px);overflow:hidden;background:var(--gg-background,#f6f7f9);color:#0b0b0b;isolation:isolate;contain:layout paint style;font:12px/1.4 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.gg-gallery[data-sgg-root].gg-height-viewport{height:100vh;height:100svh}
.gg-gallery[data-sgg-root] .gg-background{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;filter:blur(24px) saturate(1.05);pointer-events:none}
.gg-gallery[data-sgg-root] .gg-cards{position:relative;display:flex;gap:var(--gg-gap,28px);overflow-x:auto;align-items:center;height:100%;padding:20px;outline-offset:-4px;touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain}
.gg-gallery[data-sgg-root].gg-ready .gg-cards{position:absolute;inset:0;display:block;padding:0;overflow:visible;transform-style:preserve-3d;cursor:grab;user-select:none;-webkit-user-select:none;z-index:1}
.gg-gallery[data-sgg-root].gg-dragging .gg-cards{cursor:grabbing}
.gg-gallery[data-sgg-root] .gg-card{position:relative;flex:0 0 auto;width:min(var(--gg-card-vw,26%),var(--gg-card-width,360px));aspect-ratio:var(--gg-ratio,4/5);margin:0;padding:0;border:0;background:transparent;border-radius:0;isolation:isolate;transform-origin:90% center;backface-visibility:hidden;contain:layout paint}
.gg-gallery[data-sgg-root].gg-ready .gg-card{position:absolute;top:50%;left:50%;width:var(--gg-measured-width,min(var(--gg-card-vw,26%),var(--gg-card-width,360px)));height:auto;aspect-ratio:auto;contain:layout;overflow:visible;transform-style:preserve-3d}
.gg-gallery[data-sgg-root] .gg-slide-link,.gg-gallery[data-sgg-root] .gg-slide-content{display:block;width:100%;margin:0;padding:0;color:inherit;text-decoration:none!important;background:transparent;border:0;box-shadow:none}
.gg-gallery[data-sgg-root] .gg-slide-link{position:relative;z-index:2;cursor:pointer;pointer-events:auto!important;-webkit-tap-highlight-color:transparent}
.gg-gallery[data-sgg-root] .gg-media{position:relative;width:100%;height:var(--gg-measured-height,auto);aspect-ratio:var(--gg-ratio,4/5);overflow:hidden;border-radius:var(--gg-radius,15px)}
.gg-gallery[data-sgg-root] .gg-image{width:100%;height:100%;max-width:none;display:block;object-fit:cover;border-radius:var(--gg-radius,15px);opacity:1;pointer-events:none;-webkit-user-drag:none;user-select:none;box-shadow:none;border:0}
.gg-gallery[data-sgg-root] .gg-card[hidden]{display:none!important}
.gg-gallery[data-sgg-root] .gg-caption{position:absolute;left:12px;right:12px;bottom:12px;margin:0;border-radius:6px;background:rgba(0,0,0,.7);padding:10px 12px;color:#fff;font:inherit;overflow-wrap:anywhere;text-align:left}
.gg-gallery[data-sgg-root] .gg-slide-text{display:block;width:100%;margin:var(--gg-r-text-gap) 0 0;padding:0;font-family:var(--gg-r-text-font);font-size:var(--gg-r-text-size);font-weight:var(--gg-r-text-weight);line-height:var(--gg-r-text-line-height);letter-spacing:var(--gg-r-text-letter-spacing);color:var(--gg-r-text-color);text-align:var(--gg-r-text-align);text-decoration:none!important;overflow-wrap:anywhere;word-break:normal}

/* Category navigation is a compact single-row scroller on every device. The shell owns
   placement while the inner row owns overflow, so 20+ categories never wrap into a tall block. */
.gg-gallery[data-sgg-root] .gg-filter-shell{position:absolute!important;z-index:5000!important;left:var(--gg-r-tab-offset)!important;right:var(--gg-r-tab-offset)!important;top:auto!important;bottom:var(--gg-r-tab-offset)!important;width:auto!important;display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;pointer-events:none!important;isolation:isolate!important}
.gg-gallery[data-sgg-root][data-gg-placement=top] .gg-filter-shell{top:var(--gg-r-tab-offset)!important;bottom:auto!important}
.gg-gallery[data-sgg-root][data-gg-placement=custom] .gg-filter-shell{left:var(--gg-r-tab-x)!important;top:var(--gg-r-tab-y)!important;right:auto!important;bottom:auto!important;width:var(--gg-r-tab-width)!important;transform:translate(calc(-1 * var(--gg-r-tab-x)),calc(-1 * var(--gg-r-tab-y)))!important}
.gg-gallery[data-sgg-root] .gg-filters{position:relative!important;z-index:1!important;display:flex!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;align-items:center!important;justify-content:var(--gg-r-tab-align)!important;gap:var(--gg-r-tab-gap)!important;flex-wrap:nowrap!important;max-height:none!important;margin:0!important;padding:2px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth!important;scroll-snap-type:x proximity!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch;scrollbar-width:none!important;pointer-events:auto!important;touch-action:pan-x pan-y pinch-zoom!important}
.gg-gallery[data-sgg-root] .gg-filters::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.gg-gallery[data-sgg-root] .gg-filter-shell.gg-filter-overflow .gg-filters{justify-content:flex-start!important}
.gg-gallery[data-sgg-root] .gg-filter{position:relative!important;flex:0 0 auto!important;max-width:none!important;white-space:nowrap!important;overflow-wrap:normal!important;scroll-snap-align:center;transition:background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;pointer-events:auto!important}
.gg-gallery[data-sgg-root] .gg-filter:hover{--gg-tab-current-color:var(--gg-tab-hover-color,#000000)}
.gg-gallery[data-sgg-root] .gg-filter.is-active{--gg-tab-current-color:var(--gg-r-tab-active-color)}
.gg-gallery[data-sgg-root].gg-tabs-text .gg-filter{--gg-tab-render-border-width:0px;--gg-tab-current-bg:transparent;padding-left:0!important;padding-right:0!important;border-radius:0!important}
.gg-gallery[data-sgg-root].gg-tabs-text .gg-filter:hover{--gg-tab-current-bg:transparent}
.gg-gallery[data-sgg-root].gg-tabs-text .gg-filter.is-active{--gg-control-decoration:underline;text-underline-offset:4px}
.gg-gallery[data-sgg-root].gg-tabs-underline .gg-filter{--gg-tab-render-border-width:0px;--gg-tab-current-bg:transparent;border-radius:0!important}
.gg-gallery[data-sgg-root].gg-tabs-underline .gg-filter:hover{--gg-tab-current-bg:transparent}
.gg-gallery[data-sgg-root].gg-tabs-underline .gg-filter.is-active{box-shadow:inset 0 -2px var(--gg-tab-border)!important}
.gg-gallery[data-sgg-root].gg-tabs-pill .gg-filter{--gg-tab-render-border-width:var(--gg-tab-border-width,1px);--gg-tab-current-bg:var(--gg-r-tab-bg)}
.gg-gallery[data-sgg-root].gg-tabs-pill .gg-filter.is-active{--gg-tab-current-bg:var(--gg-r-tab-active-bg)}
.gg-gallery[data-sgg-root] .gg-filter-scroll{appearance:none!important;-webkit-appearance:none!important;display:none!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid var(--gg-tab-border)!important;border-radius:999px!important;background:var(--gg-r-tab-bg)!important;color:var(--gg-r-tab-color)!important;box-shadow:0 4px 16px rgba(0,0,0,.10)!important;pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important;line-height:1!important}
.gg-gallery[data-sgg-root] .gg-filter-shell.gg-filter-overflow .gg-filter-scroll{display:grid!important;visibility:hidden!important;pointer-events:none!important}
.gg-gallery[data-sgg-root] .gg-filter-shell.gg-filter-overflow.gg-filter-can-left .gg-filter-scroll-prev,.gg-gallery[data-sgg-root] .gg-filter-shell.gg-filter-overflow.gg-filter-can-right .gg-filter-scroll-next{visibility:visible!important;pointer-events:auto!important}
.gg-gallery[data-sgg-root] .gg-filter-scroll-prev .gg-filter-scroll-icon{transform:scaleX(-1)}
.gg-gallery[data-sgg-root] .gg-filter-scroll-icon{display:block!important;width:18px!important;height:18px!important;pointer-events:none!important}

.gg-gallery[data-sgg-root] .gg-controls{position:absolute!important;z-index:5001!important;inset:0!important;display:block!important;pointer-events:none!important}
.gg-gallery[data-sgg-root] .gg-controls .gg-nav{appearance:none!important;position:absolute!important;top:50%!important;display:grid!important;place-items:center!important;width:max(44px,calc(var(--gg-nav-size,30px) + 14px))!important;height:max(44px,calc(var(--gg-nav-size,30px) + 14px))!important;margin:0!important;padding:7px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--gg-nav-color,#111)!important;opacity:var(--gg-nav-opacity,.72)!important;box-shadow:none!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;transform:translateY(-50%)!important;transition:opacity .18s ease,transform .18s ease!important}
.gg-gallery[data-sgg-root] .gg-controls .gg-nav-prev{left:8px!important}
.gg-gallery[data-sgg-root] .gg-controls .gg-nav-next{right:8px!important}
.gg-gallery[data-sgg-root] .gg-controls .gg-nav-icon{display:block!important;width:var(--gg-nav-size,30px)!important;height:var(--gg-nav-size,30px)!important;overflow:visible!important}
.gg-gallery[data-sgg-root] .gg-controls .gg-nav-prev .gg-nav-icon{transform:scaleX(-1)}
.gg-gallery[data-sgg-root] .gg-controls .gg-nav:hover{opacity:min(1,calc(var(--gg-nav-opacity,.72) + .18))!important}
.gg-gallery[data-sgg-root] .gg-controls .gg-nav:disabled{opacity:.22!important;cursor:default!important}
@media(max-width:1024px){.gg-gallery[data-sgg-root] .gg-controls .gg-nav-prev{left:2px!important}.gg-gallery[data-sgg-root] .gg-controls .gg-nav-next{right:2px!important}}
.gg-gallery[data-sgg-root] :focus-visible{outline:2px solid currentColor!important;outline-offset:3px!important}
.gg-gallery[data-sgg-root] .gg-cards:focus-visible{outline-offset:-5px!important}
.gg-gallery[data-sgg-root] .gg-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gg-gallery[data-sgg-root]:not(.gg-ready) .gg-background,.gg-gallery[data-sgg-root]:not(.gg-ready) .gg-filter-shell,.gg-gallery[data-sgg-root]:not(.gg-ready) .gg-controls{display:none}

/* Responsive controls. Values come from server-validated device settings. */
.gg-gallery[data-sgg-root]{--gg-r-height:var(--gg-desktop-height);--gg-r-card-vw:var(--gg-desktop-card-vw);--gg-r-card-width:var(--gg-desktop-card-width);--gg-r-card-height:var(--gg-desktop-card-height);--gg-r-tab-align:var(--gg-desktop-tab-align);--gg-r-tab-x:var(--gg-desktop-tab-x);--gg-r-tab-y:var(--gg-desktop-tab-y);--gg-r-tab-width:var(--gg-desktop-tab-width);--gg-r-tab-offset:var(--gg-desktop-tab-offset);--gg-r-tab-font:var(--gg-desktop-tab-font);--gg-r-tab-size:var(--gg-desktop-tab-size);--gg-r-tab-weight:var(--gg-desktop-tab-weight);--gg-r-tab-gap:var(--gg-desktop-tab-gap);--gg-r-tab-padding-x:var(--gg-desktop-tab-padding-x);--gg-r-tab-padding-y:var(--gg-desktop-tab-padding-y);--gg-r-tab-color:var(--gg-desktop-tab-color);--gg-r-tab-active-color:var(--gg-desktop-tab-active-color);--gg-r-tab-bg:var(--gg-desktop-tab-bg);--gg-r-tab-active-bg:var(--gg-desktop-tab-active-bg);--gg-r-text-font:var(--gg-desktop-text-font);--gg-r-text-size:var(--gg-desktop-text-size);--gg-r-text-weight:var(--gg-desktop-text-weight);--gg-r-text-color:var(--gg-desktop-text-color);--gg-r-text-line-height:var(--gg-desktop-text-line-height);--gg-r-text-letter-spacing:var(--gg-desktop-text-letter-spacing);--gg-r-text-gap:var(--gg-desktop-text-gap);--gg-r-text-align:var(--gg-desktop-text-align);--gg-r-space-top:var(--gg-desktop-space-top);--gg-r-space-bottom:var(--gg-desktop-space-bottom)}
@media(min-width:768px) and (max-width:1024px){.gg-gallery[data-sgg-root]{--gg-r-height:var(--gg-tablet-height);--gg-r-card-vw:var(--gg-tablet-card-vw);--gg-r-card-width:var(--gg-tablet-card-width);--gg-r-card-height:var(--gg-tablet-card-height);--gg-r-tab-align:var(--gg-tablet-tab-align);--gg-r-tab-x:var(--gg-tablet-tab-x);--gg-r-tab-y:var(--gg-tablet-tab-y);--gg-r-tab-width:var(--gg-tablet-tab-width);--gg-r-tab-offset:var(--gg-tablet-tab-offset);--gg-r-tab-font:var(--gg-tablet-tab-font);--gg-r-tab-size:var(--gg-tablet-tab-size);--gg-r-tab-weight:var(--gg-tablet-tab-weight);--gg-r-tab-gap:var(--gg-tablet-tab-gap);--gg-r-tab-padding-x:var(--gg-tablet-tab-padding-x);--gg-r-tab-padding-y:var(--gg-tablet-tab-padding-y);--gg-r-tab-color:var(--gg-tablet-tab-color);--gg-r-tab-active-color:var(--gg-tablet-tab-active-color);--gg-r-tab-bg:var(--gg-tablet-tab-bg);--gg-r-tab-active-bg:var(--gg-tablet-tab-active-bg);--gg-r-text-font:var(--gg-tablet-text-font);--gg-r-text-size:var(--gg-tablet-text-size);--gg-r-text-weight:var(--gg-tablet-text-weight);--gg-r-text-color:var(--gg-tablet-text-color);--gg-r-text-line-height:var(--gg-tablet-text-line-height);--gg-r-text-letter-spacing:var(--gg-tablet-text-letter-spacing);--gg-r-text-gap:var(--gg-tablet-text-gap);--gg-r-text-align:var(--gg-tablet-text-align);--gg-r-space-top:var(--gg-tablet-space-top);--gg-r-space-bottom:var(--gg-tablet-space-bottom)}}
@media(max-width:767px){
  .gg-gallery[data-sgg-root]{--gg-r-height:var(--gg-mobile-height);--gg-r-card-vw:var(--gg-mobile-card-vw);--gg-r-card-width:var(--gg-mobile-card-width);--gg-r-card-height:var(--gg-mobile-card-height);--gg-r-tab-align:var(--gg-mobile-tab-align);--gg-r-tab-x:var(--gg-mobile-tab-x);--gg-r-tab-y:var(--gg-mobile-tab-y);--gg-r-tab-width:var(--gg-mobile-tab-width);--gg-r-tab-offset:var(--gg-mobile-tab-offset);--gg-r-tab-font:var(--gg-mobile-tab-font);--gg-r-tab-size:var(--gg-mobile-tab-size);--gg-r-tab-weight:var(--gg-mobile-tab-weight);--gg-r-tab-gap:var(--gg-mobile-tab-gap);--gg-r-tab-padding-x:var(--gg-mobile-tab-padding-x);--gg-r-tab-padding-y:var(--gg-mobile-tab-padding-y);--gg-r-tab-color:var(--gg-mobile-tab-color);--gg-r-tab-active-color:var(--gg-mobile-tab-active-color);--gg-r-tab-bg:var(--gg-mobile-tab-bg);--gg-r-tab-active-bg:var(--gg-mobile-tab-active-bg);--gg-r-text-font:var(--gg-mobile-text-font);--gg-r-text-size:var(--gg-mobile-text-size);--gg-r-text-weight:var(--gg-mobile-text-weight);--gg-r-text-color:var(--gg-mobile-text-color);--gg-r-text-line-height:var(--gg-mobile-text-line-height);--gg-r-text-letter-spacing:var(--gg-mobile-text-letter-spacing);--gg-r-text-gap:var(--gg-mobile-text-gap);--gg-r-text-align:var(--gg-mobile-text-align);--gg-r-space-top:var(--gg-mobile-space-top);--gg-r-space-bottom:var(--gg-mobile-space-bottom)}
  .gg-gallery[data-sgg-root] .gg-background{filter:blur(14px) saturate(1.03)}
  .gg-gallery[data-sgg-root] .gg-filter-shell{gap:4px!important}
  .gg-gallery[data-sgg-root] .gg-filter-scroll{flex-basis:30px!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}
  .gg-gallery[data-sgg-root] .gg-filter-scroll-icon{width:16px!important;height:16px!important}
  .gg-gallery[data-sgg-root][data-gg-placement=custom] .gg-filter-shell{max-width:calc(100% - 16px)!important}
}

.gg-gallery[data-sgg-root].gg-gallery[data-sgg-root]{height:var(--gg-r-height)!important;min-height:0}
@media(prefers-reduced-motion:reduce){.gg-gallery[data-sgg-root] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Touch-first rendering: keep the native page scroll available vertically while the
   carousel owns deliberate horizontal swipes. Expensive full-stage blur/3D composition
   is reserved for precise-pointer devices where it does not hurt finger tracking. */
@media (pointer:coarse){
  .gg-gallery[data-sgg-root] .gg-background{filter:none}
  .gg-gallery[data-sgg-root].gg-ready .gg-cards{transform-style:flat;touch-action:pan-y pinch-zoom}
  .gg-gallery[data-sgg-root].gg-ready .gg-card{transform-style:flat;backface-visibility:hidden;will-change:transform}
  .gg-gallery[data-sgg-root].gg-touch-active .gg-slide-link{-webkit-tap-highlight-color:transparent}
}

/* v1.3 native touch carousel -------------------------------------------------
   Phones/tablets do not use the JS transform/momentum engine at all. The browser
   owns horizontal panning, inertia and direction changes; JS only observes the
   settled card to update controls/background. */
.gg-gallery[data-sgg-root].gg-native-touch.gg-ready .gg-cards{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  gap:var(--gg-native-gap,var(--gg-gap,28px))!important;
  height:100%!important;
  padding:var(--gg-native-pad-top,var(--gg-r-space-top,28px)) var(--gg-native-side-pad,16px) var(--gg-native-pad-bottom,var(--gg-r-space-bottom,28px))!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  transform:none!important;
  transform-style:flat!important;
  cursor:auto!important;
  user-select:auto!important;
  -webkit-user-select:auto!important;
  touch-action:auto!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scroll-padding-inline:var(--gg-native-side-pad,16px);
  scroll-behavior:auto;
  scrollbar-width:none;
  z-index:1;
}
.gg-gallery[data-sgg-root].gg-native-touch.gg-ready .gg-cards::-webkit-scrollbar{display:none;width:0;height:0}
.gg-gallery[data-sgg-root].gg-native-touch.gg-ready .gg-card{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  flex:0 0 var(--gg-measured-width,min(var(--gg-r-card-vw),var(--gg-r-card-width)))!important;
  width:var(--gg-measured-width,min(var(--gg-r-card-vw),var(--gg-r-card-width)))!important;
  height:auto!important;
  aspect-ratio:auto!important;
  margin:0!important;
  transform:none!important;
  transform-style:flat!important;
  transform-origin:center!important;
  filter:none!important;
  visibility:visible!important;
  opacity:1!important;
  will-change:auto!important;
  backface-visibility:visible!important;
  scroll-snap-align:center;
  scroll-snap-stop:normal;
  contain:layout paint;
}
.gg-gallery[data-sgg-root].gg-native-touch .gg-background{filter:none!important}
.gg-gallery[data-sgg-root].gg-native-touch .gg-slide-link,
.gg-gallery[data-sgg-root].gg-native-touch .gg-slide-content{touch-action:auto}

/* Automatic touch layouts: 2 or 3 complete cards fit the viewport. Width, gap and
   container height are calculated by the runtime from the actual embed width and ratio. */
.gg-gallery[data-sgg-root].gg-native-touch.gg-auto-count{height:var(--gg-native-auto-height,var(--gg-r-height))!important}
.gg-gallery[data-sgg-root].gg-native-touch.gg-auto-count.gg-ready .gg-card{scroll-snap-align:start}

/* Continuous autoplay is a constant drift, not slide-by-slide snapping. Touching the
   carousel removes this class immediately, restoring native snap for manual swipes. */
.gg-gallery[data-sgg-root].gg-native-touch.gg-autoplaying .gg-cards,
.gg-gallery[data-sgg-root].gg-native-touch.gg-native-interacting .gg-cards{scroll-snap-type:none!important}
.gg-gallery[data-sgg-root].gg-native-touch.gg-autoplaying .gg-card,
.gg-gallery[data-sgg-root].gg-native-touch.gg-native-interacting .gg-card{transform:translate3d(var(--gg-auto-subpixel,0px),0,0)!important;will-change:transform!important}
