/* Увеличение скриншотов галереи поверх страницы (gallery с zoom: true, tools/pages/core/blocks.mjs). */
.kp-shot-zoom { position: relative; width: 100%; padding: 0; border: 0; font: inherit; color: inherit; cursor: zoom-in; }
.kp-shot-zoom::after {
  content: ""; position: absolute; right: 12px; bottom: 12px; width: 34px; height: 34px; border-radius: 50%;
  background: rgba(10, 10, 10, .72) no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3M11 8v6M8 11h6'/%3E%3C/svg%3E");
  border: 1px solid rgba(255, 255, 255, .18); transition: transform .15s;
}
.kp-shot-zoom:hover::after { transform: scale(1.08); }
.kp-shot-zoom:focus-visible { outline: 2px solid var(--kp-accent, #14B8A6); outline-offset: -2px; }

.kp-zoom {
  position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
  padding: 56px 16px 24px; background: rgba(5, 5, 5, .9); cursor: zoom-out;
}
.kp-zoom img { max-width: min(1400px, 100%); max-height: 100%; width: auto; height: auto; border-radius: 12px; box-shadow: 0 20px 60px rgba(0, 0, 0, .6); }
.kp-zoom-close {
  position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .08); color: #fff;
  font-size: 24px; line-height: 1; cursor: pointer;
}
.kp-zoom-close:focus-visible { outline: 2px solid var(--kp-accent, #14B8A6); outline-offset: 2px; }
html.kp-zoom-open { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .kp-zoom { animation: kp-zoom-in .15s ease-out; }
  @keyframes kp-zoom-in { from { opacity: 0; } to { opacity: 1; } }
}
