/* Canonical adaptive media layout. Preserve natural image ratios.
 * --kp-adaptive-min is set from validated data-kp-min-width by the co-located
 * external JavaScript to comply with strict style-src-attr CSP.
 * Compact/listing declarations below are progressive-enhancement fallbacks. */
.kp-adaptive-gallery { display:block; width:100%; min-width:0; column-width:var(--kp-adaptive-min,190px); column-gap:9px; }
.kp-adaptive-gallery--compact { --kp-adaptive-min:140px; }
.kp-adaptive-gallery--listing { --kp-adaptive-min:110px; }
.kp-adaptive-gallery > * { display:inline-block; box-sizing:border-box; width:100%; max-width:100%; min-width:0; margin:0 0 9px; vertical-align:top; break-inside:avoid; -webkit-column-break-inside:avoid; }
.kp-adaptive-gallery img { display:block; width:100%; height:auto; object-fit:contain; }
.kp-adaptive-gallery--listing > .kp-listing-gallery__thumb { height:auto; min-height:48px; flex:none; }
.kp-adaptive-gallery--listing .kp-listing-gallery__thumb-media:is(img) { height:auto; max-height:350px; object-fit:contain; }
.kp-adaptive-gallery--listing .kp-listing-gallery__thumb-media:is(video) { width:100%; height:110px; object-fit:contain; }
/* On narrow screens, 2 is a maximum: large minimum widths retain one column. */
@media(max-width:520px) { .kp-adaptive-gallery { column-count:2; } }
@media(prefers-reduced-motion:reduce) { .kp-adaptive-gallery * { transition:none !important; } }
