.zip14-article-photo{display:block;position:relative}.zip14-article-photo:not(.is-sized):not(.is-loaded){min-height:120px}.zip14-article-photo.is-loaded{min-height:0}.zip14-article-photo:not(.is-sized) img:not([src]){display:block;min-height:120px;aspect-ratio:16/9;background:var(--elev)}.zip14-article-photo:not(.is-loaded)>img{opacity:0;color:transparent}.zip14-article-photo.is-loaded>img{opacity:1;transition:opacity .15s ease}.zip14-image-load{position:absolute;inset:0;margin:auto;max-width:calc(100% - 32px);height:44px;padding:8px 14px;border-radius:10px;background:var(--elev);color:var(--text);font:inherit;font-size:14px}.zip14-image-load[hidden],.zip14-feed-image-load[hidden]{display:none!important}.zip14-feed-image-load{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;background:var(--elev);color:var(--muted);font-size:11px;z-index:2}

.ytc>.zip14-article-photo{position:absolute;inset:0;width:100%;height:100%}.ytc .zip14-image-load{z-index:2}
/* A video poster occupies its 16:9 card, not the ordinary square photo slot. */
.ytc>.zip14-article-photo:not(.is-sized):not(.is-loaded){aspect-ratio:auto;min-height:0}
.dbody .ytc>.zip14-article-photo>img{width:100%!important;height:100%!important;min-height:0;aspect-ratio:auto;object-fit:cover;margin:0!important}
.dbody iframe{height:auto}

/* Wrapped article photos follow the same natural-size rule as direct photos. */
html:root body.in-detail #detail .dbody>.post-media-body>.zip14-article-photo>img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0 auto!important}

/* Unknown intrinsic dimensions get a temporary square, matching the native photo slot. */
.zip14-article-photo:not(.is-sized):not(.is-loaded){aspect-ratio:1;min-height:0;background:var(--elev)}
