/* Product image click-to-zoom affordance and lightbox surface. */
.knphc-template__media,
.knphc-template__story-image { position: relative !important; }
.knphc-template__media img,
.knphc-template__story-image img,
.knphc-carousel img,
.knphc-rebuild__fallback img,
body.asa-product-detail-v3 .entry-content img { cursor: zoom-in !important; }
.knphc-zoomable-image:focus-visible { outline: 3px solid #1882ff !important; outline-offset: 3px !important; }
.knphc-template__media::after,
.knphc-template__story-image::after { content: "⌕"; position: absolute; right: 14px; top: 14px; z-index: 3; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(12,66,130,.16); border-radius: 50%; background: rgba(255,255,255,.94); color: #176bd4; font-size: 23px; line-height: 1; box-shadow: 0 6px 18px rgba(17,52,94,.18); opacity: 0; pointer-events: none; transform: scale(.9); transition: opacity .18s ease, transform .18s ease; }
.knphc-template__media:hover::after,
.knphc-template__media:focus-within::after,
.knphc-template__story-image:hover::after,
.knphc-template__story-image:focus-within::after { opacity: 1; transform: scale(1); }
.asa-imported-page .asa-hero-image a,
.asa-imported-page .asa-import-image a,
.asa-imported-page .elementor-widget-image a { position: relative !important; cursor: zoom-in !important; }
.asa-imported-page .asa-hero-image a::before,
.asa-imported-page .asa-import-image a::before,
.asa-imported-page .elementor-widget-image a::before,
.asa-imported-page .asa-hero-image a::after,
.asa-imported-page .asa-import-image a::after,
.asa-imported-page .elementor-widget-image a::after { opacity: 0 !important; transition: opacity .18s ease, transform .18s ease !important; }
.asa-imported-page .elementor-widget-image a::before,
.asa-imported-page .asa-import-image a::before { transform: scale(.9) !important; }
.asa-imported-page .asa-hero-image a:hover::before,
.asa-imported-page .asa-hero-image a:focus-visible::before,
.asa-imported-page .asa-hero-image a:hover::after,
.asa-imported-page .asa-hero-image a:focus-visible::after,
.asa-imported-page .elementor-widget-image a:hover::before,
.asa-imported-page .elementor-widget-image a:focus-visible::before,
.asa-imported-page .asa-import-image a:hover::before,
.asa-imported-page .asa-import-image a:focus-visible::before,
.asa-imported-page .elementor-widget-image a:hover::after,
.asa-imported-page .elementor-widget-image a:focus-visible::after,
.asa-imported-page .asa-import-image a:hover::after,
.asa-imported-page .asa-import-image a:focus-visible::after { opacity: 1 !important; transform: scale(1) !important; }
@media (hover: none) {
  .knphc-template__media::after,
  .knphc-template__story-image::after { opacity: .92; transform: scale(1); }
  .asa-imported-page .elementor-widget-image a::before,
  .asa-imported-page .asa-import-image a::before,
  .asa-imported-page .elementor-widget-image a::after,
  .asa-imported-page .asa-import-image a::after { opacity: .92 !important; }
}
.knphc-lightbox { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 28px; background: rgba(3, 18, 42, .86); opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility .18s ease; }
.knphc-lightbox.is-open { opacity: 1; visibility: visible; }
.knphc-lightbox__image { display: block; max-width: min(94vw, 1440px); max-height: 88vh; width: auto; height: auto; object-fit: contain; border-radius: 10px; box-shadow: 0 20px 70px rgba(0,0,0,.35); background: #fff; }
.knphc-lightbox__close { position: fixed; top: 18px; right: 22px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(3,18,42,.7); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.knphc-lightbox__close:focus-visible { outline: 2px solid #8dc8ff; outline-offset: 3px; }
