/* GEDeko Galerie fuer Classic 1.7.8.11; nur Produktseiten. */
#product .product-cover { position: relative; }
/* Original-Zoom bleibt erhalten, solange unser JS nicht geladen ist. */
#product .product-cover.gd-gallery-enhanced > .layer { display: none !important; }
#product .product-cover > .gd-gallery-btn { position: absolute; z-index: 4; }

#product .gd-gallery-btn,
#product .gd-lightbox-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #8ab88d;
  border-radius: 50%;
  background: #e6f0e7;
  color: #2f7d32;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
  opacity: 1;
}
#product .gd-gallery-btn .material-icons,
#product .gd-lightbox-close .material-icons { font-size: 28px; color: inherit; }
#product .gd-gallery-btn:hover, #product .gd-lightbox-close:hover,
#product .gd-gallery-btn:focus-visible, #product .gd-lightbox-close:focus-visible {
  background: #d4e9d6;
  border-color: #2f7d32;
  color: #205b28;
}
#product .product-cover > .gd-main-prev { left: 10px; top: 50%; transform: translateY(-50%); }
#product .product-cover > .gd-main-next { right: 10px; top: 50%; transform: translateY(-50%); }
#product .product-cover > .gd-main-zoom { right: 10px; bottom: 10px; }
#product .product-cover > .js-qv-product-cover { cursor: zoom-in; }
#product .images-container .thumb.js-thumb-selected,
#product .images-container .thumb.selected { border-color: #2f7d32 !important; }
#product .quickview .gd-gallery-btn { display: none !important; }

/* Lightbox Korrektur 2: Classic-Layout im Modal vollstaendig isolieren.
   Classic setzt eigene Figure-/Modal-Body-Masse; darum explizite Positionierung. */
#product #product-modal.gd-lightbox { padding-right: 0 !important; }
#product #product-modal.gd-lightbox .modal-dialog {
  width: calc(100vw - 32px) !important;
  max-width: 1200px !important;
  height: calc(100vh - 32px) !important;
  height: calc(100dvh - 32px) !important;
  margin: 16px auto !important;
}
#product #product-modal.gd-lightbox .modal-dialog > .modal-content {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: hidden !important;
}
#product #product-modal.gd-lightbox .modal-content > .modal-body {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: none !important;
  overflow: hidden !important;
}
#product #product-modal.gd-lightbox .modal-body > figure.gd-lightbox-stage {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  padding: 58px 66px !important;
  margin: 0 !important;
  flex: none !important;
  overflow: hidden !important;
}
#product #product-modal.gd-lightbox .modal-body > figure.gd-lightbox-stage > img.js-modal-product-cover {
  position: static !important;
  display: block !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  transform-origin: center center;
  user-select: none;
  -webkit-user-drag: none;
}
#product #product-modal.gd-lightbox aside.gd-modal-native-thumbs {
  display: none !important;
  visibility: hidden !important;
}
#product #product-modal.gd-lightbox .gd-lightbox-close,
#product #product-modal.gd-lightbox .gd-modal-prev,
#product #product-modal.gd-lightbox .gd-modal-next {
  position: absolute !important;
  z-index: 11;
}
#product #product-modal.gd-lightbox .gd-lightbox-close {
  top: 12px !important;
  right: 12px !important;
}
#product #product-modal.gd-lightbox .gd-modal-prev {
  top: 50% !important;
  left: 12px !important;
  right: auto !important;
  transform: translateY(-50%) !important;
}
#product #product-modal.gd-lightbox .gd-modal-next {
  top: 50% !important;
  left: auto !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
}
#product #product-modal.gd-lightbox .gd-modal-counter {
  position: absolute !important;
  z-index: 10;
  bottom: 12px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  padding: 4px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  color: #343434;
  font-size: 14px;
}
#product #product-modal.gd-lightbox.gd-image-zoomed .gd-modal-prev,
#product #product-modal.gd-lightbox.gd-image-zoomed .gd-modal-next { display: none !important; }
@media (max-width: 767.98px) {
  #product .gd-gallery-btn, #product .gd-lightbox-close { width: 40px; height: 40px; }
  #product #product-modal.gd-lightbox .modal-dialog {
    width: 100vw !important;
    max-width: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
  }
  #product #product-modal.gd-lightbox .modal-content { border-radius: 0 !important; }
  #product #product-modal.gd-lightbox .modal-body { touch-action: none !important; overscroll-behavior: contain; }
  #product #product-modal.gd-lightbox .modal-body > figure.gd-lightbox-stage {
    padding: 48px 12px !important;
    touch-action: none;
    overscroll-behavior: contain;
  }
  #product #product-modal.gd-lightbox .js-modal-product-cover { touch-action: none; }
  #product #product-modal.gd-lightbox .gd-modal-prev { left: 6px !important; }
  #product #product-modal.gd-lightbox .gd-modal-next { right: 6px !important; }
}
@media (min-width: 768px) {
  #product .gd-gallery-btn,
  #product .gd-lightbox-close {
    width: 56px;
    height: 56px;
    background: rgba(230, 240, 231, 0.72);
    border: 1px solid rgba(47, 125, 50, 0.45);
    box-shadow: 0 1px 3px rgba(0,0,0,.10);
    opacity: 0.82;
  }

  #product .gd-gallery-btn .material-icons,
  #product .gd-lightbox-close .material-icons {
    font-size: 24px;
  }

  #product .product-cover > .gd-main-prev { left: 8px; }
  #product .product-cover > .gd-main-next { right: 8px; }
  #product .product-cover > .gd-main-zoom { right: 8px; bottom: 8px; }

  #product .gd-gallery-btn:hover,
  #product .gd-gallery-btn:focus-visible,
  #product .gd-lightbox-close:hover,
  #product .gd-lightbox-close:focus-visible {
    background: rgba(230, 240, 231, 0.95);
    border-color: rgba(47, 125, 50, 0.75);
    opacity: 1;
  }
}