.wkf-product-gallery{
  --wkf-gallery-gap:14px;
  --wkf-gallery-thumb-width:92px;
  --wkf-gallery-thumb-height:76px;
  --wkf-gallery-control-size:42px;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"stage" "thumbs";
  gap:var(--wkf-gallery-gap);
  width:100%;
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#1d2935;
  font:inherit;
}
.wkf-product-gallery *{box-sizing:border-box}
.wkf-product-gallery button{font:inherit}
.wkf-product-gallery__stage{
  grid-area:stage;
  position:relative;
  display:grid;
  place-items:center;
  min-width:0;
  min-height:440px;
  padding:8px;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  isolation:isolate;
}
.wkf-product-gallery__figure{display:grid;place-items:center;width:100%;height:100%;margin:0;min-width:0}
.wkf-product-gallery__main-link{display:grid;place-items:center;width:100%;height:100%;min-width:0;margin:0;padding:0;border:0!important;outline:0!important;background:transparent!important;color:inherit;text-decoration:none;box-shadow:none!important;cursor:zoom-in;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}
.wkf-product-gallery[data-open-on-click="0"] .wkf-product-gallery__main-link{cursor:default}
.wkf-product-gallery__main-image{display:block;width:auto;height:auto;max-width:100%;max-height:560px;object-fit:contain;object-position:center;transition:opacity .15s ease,transform .15s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.wkf-product-gallery.is-gallery-leaving .wkf-product-gallery__main-image,.wkf-product-gallery.is-gallery-entering .wkf-product-gallery__main-image{opacity:0}
.wkf-product-gallery.is-gallery-leaving.wkf-gallery-direction-next .wkf-product-gallery__main-image{transform:translate3d(-10px,0,0) scale(.996)}
.wkf-product-gallery.is-gallery-entering.wkf-gallery-direction-next .wkf-product-gallery__main-image{transform:translate3d(10px,0,0) scale(.996)}
.wkf-product-gallery.is-gallery-leaving.wkf-gallery-direction-previous .wkf-product-gallery__main-image{transform:translate3d(10px,0,0) scale(.996)}
.wkf-product-gallery.is-gallery-entering.wkf-gallery-direction-previous .wkf-product-gallery__main-image{transform:translate3d(-10px,0,0) scale(.996)}
.wkf-product-gallery__caption{align-self:end;width:100%;margin-top:8px;color:#657487;font-size:.86rem;line-height:1.45;text-align:center}
.wkf-product-gallery__caption:empty{display:none}
.wkf-product-gallery__zoom-button,.wkf-product-gallery__arrow{
  position:absolute;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--wkf-gallery-control-size);
  height:var(--wkf-gallery-control-size);
  padding:0;
  border:1px solid #dce3ea;
  border-radius:12px;
  background:rgba(255,255,255,.94);
  color:#1d2935;
  box-shadow:0 7px 22px rgba(22,42,62,.14);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease;
}
.wkf-product-gallery__zoom-button:hover,.wkf-product-gallery__zoom-button:focus-visible{border-color:#0055ad!important;background:#0055ad!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 9px 24px rgba(0,85,173,.24)}
.wkf-product-gallery__arrow:hover,.wkf-product-gallery__arrow:focus-visible{border-color:#0055ad!important;background:#0055ad!important;color:#fff!important;transform:translateY(-50%);box-shadow:0 9px 24px rgba(0,85,173,.24)}
.wkf-product-gallery__zoom-button:focus-visible,.wkf-product-gallery__arrow:focus-visible{outline:3px solid rgba(0,85,173,.2);outline-offset:2px}
.wkf-product-gallery__zoom-button{top:14px;right:14px}
.wkf-product-gallery__arrow{top:50%;opacity:0;transform:translateY(-50%)}
.wkf-product-gallery__stage:hover .wkf-product-gallery__arrow,.wkf-product-gallery__arrow:focus-visible{opacity:1}
.wkf-product-gallery__arrow--previous{left:14px}
.wkf-product-gallery__arrow--next{right:14px}
.wkf-product-gallery__arrow svg,.wkf-product-gallery__zoom-button svg{width:52%;height:52%;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.wkf-product-gallery__counter{position:absolute;right:14px;bottom:12px;z-index:2;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.9);color:#536273;font-size:.76rem;line-height:1;box-shadow:0 2px 9px rgba(22,42,62,.08)}
.wkf-product-gallery__thumbnails{
  grid-area:thumbs;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:var(--wkf-gallery-thumb-width);
  gap:10px;
  min-width:0;
  max-width:100%;
  padding:2px;
  justify-content:center;
  justify-content:safe center;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline proximity;
  scrollbar-width:thin;
}
.wkf-product-gallery__thumbnail{
  display:grid;
  place-items:center;
  width:var(--wkf-gallery-thumb-width);
  height:var(--wkf-gallery-thumb-height);
  min-width:0;
  padding:6px;
  overflow:hidden;
  border:1px solid #dce3ea!important;
  border-radius:7px;
  outline:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  opacity:.82;
  cursor:pointer;
  scroll-snap-align:center;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  transition:opacity .14s ease,border-color .14s ease,background-color .14s ease;
}
.wkf-product-gallery__thumbnail:hover,
.wkf-product-gallery__thumbnail:focus,
.wkf-product-gallery__thumbnail:focus-visible,
.wkf-product-gallery__thumbnail:active{border:1px solid #0055ad!important;outline:0!important;background:#fff!important;background-image:none!important;box-shadow:none!important;opacity:1;transform:none!important}
.wkf-product-gallery__thumbnail.is-active,
.wkf-product-gallery__thumbnail.is-active:hover,
.wkf-product-gallery__thumbnail.is-active:focus,
.wkf-product-gallery__thumbnail.is-active:focus-visible,
.wkf-product-gallery__thumbnail.is-active:active{border:1px solid #0055ad!important;outline:0!important;background:#fff!important;background-image:none!important;box-shadow:none!important;opacity:1;transform:none!important}
.wkf-product-gallery__thumbnail::before,.wkf-product-gallery__thumbnail::after{display:none!important;content:none!important}
/* Produktgalerie: Vorschaubilder dürfen niemals durch Theme-, Elementor- oder WooCommerce-Regeln beschnitten werden. */
.wkf-product-gallery .wkf-product-gallery__thumbnail > img[data-wkf-gallery-thumbnail-image]{
  display:block!important;
  position:static!important;
  inset:auto!important;
  float:none!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  aspect-ratio:auto!important;
  transform:none!important;
  translate:none!important;
  scale:none!important;
  clip:auto!important;
  clip-path:none!important;
  filter:none!important;
  pointer-events:none;
}
.wkf-product-gallery__editor-notice{padding:14px 16px;border:1px dashed #dce3ea;border-radius:7px;background:#f7f9fb;color:#657487}

.wkf-product-gallery--desktop-left,.wkf-product-gallery--desktop-right{grid-template-rows:minmax(0,1fr)}
.wkf-product-gallery--desktop-left{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"thumbs stage"}
.wkf-product-gallery--desktop-right{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stage thumbs"}
.wkf-product-gallery--desktop-left .wkf-product-gallery__thumbnails,.wkf-product-gallery--desktop-right .wkf-product-gallery__thumbnails{justify-content:start;grid-auto-flow:row;grid-auto-rows:var(--wkf-gallery-thumb-height);grid-auto-columns:none;max-height:440px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:block proximity}
.wkf-product-gallery--desktop-hidden .wkf-product-gallery__thumbnails{display:none}

.wkf-product-gallery__lightbox{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  height:100dvh;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#fff;
  color:#1d2935;
  box-shadow:none;
}
.wkf-product-gallery__lightbox[open],.wkf-product-gallery__lightbox.is-open{display:grid;grid-template-rows:minmax(0,1fr)}
.wkf-product-gallery__lightbox::backdrop{background:rgba(8,18,29,.82)}
.wkf-product-gallery__lightbox-toolbar{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));z-index:8;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0;border:0;background:transparent;pointer-events:none}
.wkf-product-gallery__lightbox-count{margin-right:auto;padding:7px 11px;border:1px solid #dce3ea;border-radius:999px;background:rgba(255,255,255,.96);color:#1d2935;font-size:.86rem;line-height:1;box-shadow:0 4px 18px rgba(22,42,62,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}
.wkf-product-gallery__lightbox-close,.wkf-product-gallery__lightbox-zoom,.wkf-product-gallery__lightbox-arrow{display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #dce3ea;background:rgba(255,255,255,.96);color:#1d2935;cursor:pointer;box-shadow:0 5px 18px rgba(22,42,62,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}
.wkf-product-gallery__lightbox-close,.wkf-product-gallery__lightbox-zoom{width:44px;height:44px;border-radius:50%;pointer-events:auto}
.wkf-product-gallery__lightbox-close{border-color:#c62828!important;background:#c62828!important;color:#fff!important}
.wkf-product-gallery__lightbox-close svg,.wkf-product-gallery__lightbox-zoom svg,.wkf-product-gallery__lightbox-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wkf-product-gallery__lightbox-zoom:hover,.wkf-product-gallery__lightbox-zoom:focus-visible,.wkf-product-gallery__lightbox-arrow:hover,.wkf-product-gallery__lightbox-arrow:focus-visible{border-color:#0055ad!important;background:#0055ad!important;color:#fff!important;box-shadow:0 7px 20px rgba(0,85,173,.32)}
.wkf-product-gallery__lightbox-close:hover,.wkf-product-gallery__lightbox-close:focus-visible{border-color:#9f1f1f!important;background:#9f1f1f!important;color:#fff!important;box-shadow:0 7px 20px rgba(159,31,31,.34)}
.wkf-product-gallery__lightbox-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
.wkf-product-gallery__lightbox-arrow{position:absolute;top:50%;z-index:7;width:48px;height:58px;border-radius:14px;transform:translateY(-50%)}
.wkf-product-gallery__lightbox-arrow--previous{left:max(18px,env(safe-area-inset-left))}
.wkf-product-gallery__lightbox-arrow--next{right:max(18px,env(safe-area-inset-right))}
.wkf-product-gallery__lightbox-scroll{position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;padding:72px 82px 58px;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;-webkit-user-select:none}
.wkf-product-gallery__lightbox-image{display:block;width:auto;height:auto;max-width:none;max-height:none;object-fit:contain;transform:translate3d(0,0,0) scale(1);transform-origin:center center;will-change:transform;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;transition:transform .06s linear}
.wkf-product-gallery__lightbox.is-zoomed .wkf-product-gallery__lightbox-scroll{cursor:grab;touch-action:none}
.wkf-product-gallery__lightbox.is-dragging .wkf-product-gallery__lightbox-scroll{cursor:grabbing}
.wkf-product-gallery__lightbox.is-dragging .wkf-product-gallery__lightbox-image{transition:none}
.wkf-product-gallery__lightbox-caption{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:6;max-width:min(760px,calc(100vw - 120px));min-height:0;padding:8px 13px;border:1px solid #dce3ea;border-radius:9px;background:rgba(255,255,255,.96);color:#1d2935;font-size:.88rem;line-height:1.45;text-align:center;transform:translateX(-50%);box-shadow:0 4px 18px rgba(22,42,62,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}
.wkf-product-gallery__lightbox-caption:empty{display:none}
body.wkf-gallery-lightbox-open{overflow:hidden}

@media(max-width:1024px) and (min-width:768px){
  .wkf-product-gallery--tablet-bottom{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "thumbs"}
  .wkf-product-gallery--tablet-bottom .wkf-product-gallery__thumbnails{display:grid;grid-auto-flow:column;grid-auto-rows:none;grid-auto-columns:var(--wkf-gallery-thumb-width);max-height:none;overflow-x:auto;overflow-y:hidden}
  .wkf-product-gallery--tablet-left{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"thumbs stage"}
  .wkf-product-gallery--tablet-right{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stage thumbs"}
  .wkf-product-gallery--tablet-left .wkf-product-gallery__thumbnails,.wkf-product-gallery--tablet-right .wkf-product-gallery__thumbnails{display:grid;justify-content:start;grid-auto-flow:row;grid-auto-rows:var(--wkf-gallery-thumb-height);grid-auto-columns:none;max-height:380px;overflow-x:hidden;overflow-y:auto}
  .wkf-product-gallery--tablet-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage"}
  .wkf-product-gallery--tablet-hidden .wkf-product-gallery__thumbnails{display:none}
}
@media(max-width:767px){
  .wkf-product-gallery{--wkf-gallery-thumb-width:74px;--wkf-gallery-thumb-height:62px;--wkf-gallery-control-size:38px}
  .wkf-product-gallery__stage{min-height:300px}
  .wkf-product-gallery__arrow{opacity:1}
  .wkf-product-gallery__zoom-button{top:8px;right:8px}
  .wkf-product-gallery__arrow--previous{left:7px}.wkf-product-gallery__arrow--next{right:7px}
  .wkf-product-gallery__counter{right:8px;bottom:8px}
  .wkf-product-gallery--mobile-bottom{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "thumbs"}
  .wkf-product-gallery--mobile-bottom .wkf-product-gallery__thumbnails{display:grid;grid-auto-flow:column;grid-auto-rows:none;grid-auto-columns:var(--wkf-gallery-thumb-width);max-height:none;overflow-x:auto;overflow-y:hidden}
  .wkf-product-gallery--mobile-left{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"thumbs stage"}
  .wkf-product-gallery--mobile-right{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"stage thumbs"}
  .wkf-product-gallery--mobile-left .wkf-product-gallery__thumbnails,.wkf-product-gallery--mobile-right .wkf-product-gallery__thumbnails{display:grid;justify-content:start;grid-auto-flow:row;grid-auto-rows:var(--wkf-gallery-thumb-height);grid-auto-columns:none;max-height:300px;overflow-x:hidden;overflow-y:auto}
  .wkf-product-gallery--mobile-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage"}
  .wkf-product-gallery--mobile-hidden .wkf-product-gallery__thumbnails{display:none}
  .wkf-product-gallery__lightbox-scroll{padding:68px 52px 52px}
  .wkf-product-gallery__lightbox-arrow{width:40px;height:50px}
  .wkf-product-gallery__lightbox-arrow--previous{left:8px}
  .wkf-product-gallery__lightbox-arrow--next{right:8px}
}
@media(max-width:420px){
  .wkf-product-gallery__stage{min-height:260px}
  .wkf-product-gallery__caption{font-size:.8rem}
  .wkf-product-gallery__lightbox-scroll{padding-left:42px;padding-right:42px}
  .wkf-product-gallery__lightbox-arrow{width:34px;height:46px}
}
@media(prefers-reduced-motion:reduce){.wkf-product-gallery *{scroll-behavior:auto!important;transition:none!important}}

/* 2.3.4: Theme-/Elementor-Hover vollständig innerhalb der Galerie neutralisieren. */
.wkf-product-gallery .wkf-product-gallery__main-link,
.wkf-product-gallery .wkf-product-gallery__main-link:hover,
.wkf-product-gallery .wkf-product-gallery__main-link:focus,
.wkf-product-gallery .wkf-product-gallery__main-link:focus-visible,
.wkf-product-gallery .wkf-product-gallery__main-link:active{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:inherit!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  text-decoration:none!important;
  border:0!important;
  outline:0!important;
}
.wkf-product-gallery .wkf-product-gallery__main-link::-moz-focus-inner{border:0!important;padding:0!important}
.wkf-product-gallery .wkf-product-gallery__main-link::before,
.wkf-product-gallery .wkf-product-gallery__main-link::after{
  display:none!important;
  content:none!important;
  background:transparent!important;
}
.wkf-product-gallery .wkf-product-gallery__main-image,
.wkf-product-gallery .wkf-product-gallery__main-image:hover,
.wkf-product-gallery .wkf-product-gallery__main-image:focus{
  background:transparent!important;
  opacity:1;
  filter:none!important;
  mix-blend-mode:normal!important;
}
.wkf-product-gallery.is-gallery-leaving .wkf-product-gallery__main-image,.wkf-product-gallery.is-gallery-entering .wkf-product-gallery__main-image{opacity:0}

/* Fremde Floating-Buttons bleiben außerhalb des Widget-CSS. */
.elementor-widget-weber-kauf-flir-product-gallery{isolation:isolate}
.elementor-widget-weber-kauf-flir-product-gallery .wkf-product-gallery button,
.elementor-widget-weber-kauf-flir-product-gallery .wkf-product-gallery svg{
  font-family:inherit;
}

/* 2.3.7: Lightbox-Pfeile behalten nach Maus-/Touchklick immer einen konsistenten Zustand. */
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow,
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow:visited{
  background:rgba(255,255,255,.96)!important;
  border-color:#dce3ea!important;
  color:#44505c!important;
}
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow:hover,
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow:focus,
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow:focus-visible,
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow:active{
  background:#0055ad!important;
  border-color:#0055ad!important;
  color:#fff!important;
  outline:0!important;
}
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow svg,
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow svg path,
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow svg polyline,
.wkf-product-gallery .wkf-product-gallery__lightbox-arrow svg line{
  color:inherit!important;
  fill:none!important;
  stroke:currentColor!important;
}


/* 2.3.10: Geschlossene Lightbox niemals am Seitenlayout beteiligen. */
.wkf-product-gallery__lightbox:not([open]):not(.is-open){display:none!important;visibility:hidden!important;pointer-events:none!important}

/* 2.3.10: Die Galerie bleibt vollständig gekapselt und erzeugt keinen seitlichen/unteren Überlauf. */
.elementor-widget-weber-kauf-flir-product-gallery,.elementor-widget-weber-kauf-flir-product-gallery .elementor-widget-container{max-width:100%;overflow:visible}
.wkf-product-gallery,.wkf-product-gallery__stage,.wkf-product-gallery__figure{max-width:100%}
