/* ==========================================================================
   kb-sticky-x.css
   X mereu vizibil la scroll. NU mută textele/imaginile — layout ca înainte.
   Un singur X când e deschis modalul de imagine.
   ========================================================================== */

:root {
  --kb-sticky-x-top-page: calc(var(--site-header-height, 10.5rem) + 0.35rem);
}

/* —— Pagini: X flotant (nu schimbă padding-ul conținutului) —— */
.kb-gal-cat__close,
#kurse-flow.kb-kf-page .kb-kf-page-close,
.kb-legal-close {
  position: fixed !important;
  top: var(--kb-sticky-x-top-page) !important;
  right: max(0.65rem, env(safe-area-inset-right, 0px)) !important;
  left: auto !important;
  z-index: 480 !important;
  margin: 0 !important;
  box-shadow: 0 4px 14px rgba(41, 28, 58, 0.12) !important;
}

/* Când e deschisă o imagine: ascunde X-ul de layout — rămâne doar X-ul imaginii */
body:has(#kb-gal-work-modal) .kb-gal-cat__close,
body:has(.kb-gal-work-modal) .kb-gal-cat__close,
body:has(#kb-kf-lightbox) .kb-gal-cat__close,
body:has(#kb-kf-lightbox) #kurse-flow.kb-kf-page .kb-kf-page-close,
body:has(#kb-kf-lightbox) .kb-kf-page-close,
body:has(#galerie-work-modal) .kb-gal-cat__close,
body:has(#galerie-category-modal) .kb-gal-cat__close,
body:has(#kontakt-modal) .kb-gal-cat__close,
body:has(#vita-modal) .kb-gal-cat__close,
body:has(#service-modal) .kb-gal-cat__close,
body:has(#kontakt-modal) #kurse-flow.kb-kf-page .kb-kf-page-close,
body:has(#vita-modal) #kurse-flow.kb-kf-page .kb-kf-page-close,
body:has(#service-modal) #kurse-flow.kb-kf-page .kb-kf-page-close {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* —— Modal Kontakt / Vita / etc.: X flotant, fără a muta textul —— */
#kontakt-modal .kb-kontakt-modal-close,
#vita-modal .kb-vita-modal-close,
#service-modal .kb-modal-close,
#kurse-modal .kb-modal-close,
#kursprogramm-modal .kb-modal-close,
#kurse-picker-modal .kb-modal-close,
#kurse-gallery-modal .kb-modal-close,
#galerie-category-modal .kb-modal-close,
#galerie-work-modal .kb-modal-close,
#galerie-category-modal .galerie-cat-close,
#galerie-work-modal .galerie-work-close {
  position: fixed !important;
  top: max(0.75rem, env(safe-area-inset-top, 0px)) !important;
  right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
  left: auto !important;
  z-index: 700 !important;
  margin: 0 !important;
  box-shadow: 0 4px 14px rgba(41, 28, 58, 0.14) !important;
}

/* —— Imagine Galerie / Kurse lightbox: un singur X sticky pe panel —— */
.kb-gal-work-modal__panel {
  position: relative !important;
}

.kb-gal-work-modal__close,
.kb-gal-work-modal .kb-gal-work-modal__close {
  position: sticky !important;
  top: 0.5rem !important;
  align-self: flex-end !important;
  flex-shrink: 0 !important;
  z-index: 20 !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  margin: 0 0.25rem 0.75rem auto !important;
  box-shadow: 0 4px 14px rgba(41, 28, 58, 0.12) !important;
}

.kb-kf-lb__panel {
  position: relative !important;
  overflow: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.kb-kf-lb__btn--close {
  position: sticky !important;
  top: 0.5rem !important;
  align-self: flex-end !important;
  flex-shrink: 0 !important;
  z-index: 20 !important;
  margin: 0.5rem 0.5rem 0.75rem auto !important;
  box-shadow: 0 4px 14px rgba(41, 28, 58, 0.12) !important;
}

.kb-modal-chrome {
  position: sticky !important;
  top: 0 !important;
  z-index: 90 !important;
}

#kb-einblick-lightbox .kb-modal-close,
.kb-einblick-lightbox .kb-modal-close {
  position: fixed !important;
  top: max(0.75rem, env(safe-area-inset-top, 0px)) !important;
  right: max(0.75rem, env(safe-area-inset-right, 0px)) !important;
  z-index: 700 !important;
}


/* kb-gal-lupa-force — lupa vizibilă pe desktop + mobile */
.kb-gal-work-modal .kb-gal-work-modal__zoom,
.kb-gal-work-modal__media-wrap .kb-gal-work-modal__zoom {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 30 !important;
}