.jx-preview-locked img:not(.jx-image-placeholder), img.jx-preview-locked:not(.jx-image-placeholder){filter:blur(7px);transform:scale(1.015)}
.jx-preview-hint{display:block;color:#73777d;font-size:.78rem;font-style:normal;line-height:1.4;text-align:center}
.jx-image-placeholder{background:#eef0f2;object-fit:contain;filter:none!important;transform:none!important}
.knowledge-map-preview.jx-preview-locked .kmp-frame>i,.kmp-frame>.jx-preview-hint{color:#73777d;background:#f0f1f2;font-style:normal}
.map-image:has(.jx-preview-hint){position:relative;padding-bottom:26px;box-sizing:content-box}
.map-image>.jx-preview-hint{position:absolute;bottom:0;left:0;right:0;padding:5px 8px;background:#f0f1f2}
.knowledge-map-preview .kmp-frame>.jx-preview-hint{position:static;display:block;padding:7px 4px;border-radius:0;color:#73777d;background:transparent;font-size:12px;line-height:1.4;backdrop-filter:none}
body.client-ui.client-ui .cq-gallery-card .kmp-frame:has(>.jx-preview-hint){height:auto!important;padding-bottom:0}
body.client-ui.client-ui .cq-gallery-card .kmp-frame:has(>.jx-preview-hint) img{height:125px!important}
/* An in-flow hint must not make the shrink-to-fit legacy frame collapse. */
.knowledge-map-preview .kmp-frame:has(>.jx-preview-hint){display:block;width:100%;box-sizing:border-box}
.knowledge-map-preview .kmp-frame:has(>.jx-preview-hint) img{width:100%;height:auto;object-fit:contain}
/* SVG fallback must also size a legacy shrink-to-fit frame after its hint clears. */
.knowledge-map-preview .kmp-frame:has(>img.jx-image-placeholder){display:block;width:100%;box-sizing:border-box}
.knowledge-map-preview img.jx-image-placeholder{width:100%;height:auto;min-height:120px;object-fit:contain}

/* Failed assets keep their layout without browser alt text or a caption. */
:is(.kmp-frame,.map-image,.cq-gallery-card,.ci-map-card):has(img.jx-image-placeholder) :is(.jx-preview-hint,i){display:none!important}
.map-image:has(img.jx-image-placeholder){padding-bottom:0}
/* Keep poster titles in their own space beside the close control. */
.knowledge-map-lightbox-bar{display:flex;align-items:center;gap:16px}
.knowledge-map-lightbox-bar>b{flex:1;min-width:0;overflow-wrap:anywhere}
.knowledge-map-lightbox-bar>div{display:flex;align-items:center;gap:12px;flex-shrink:0}
.knowledge-map-lightbox-bar button{flex-shrink:0;min-width:44px;min-height:44px}
body .poster-modal-context .spot-modal-scroll{padding-top:64px}
body .poster-modal-context>.spot-modal>.spot-modal-close{display:block;position:absolute;top:12px;right:16px;background:#edf2f3;color:#52646b;border-color:#dce5e7}
body .poster-modal-context>.spot-modal>.spot-modal-close:hover{background:#dce5e7}
figure:has(img.jx-image-placeholder)>figcaption{display:none!important}
