.im-block{margin:32px 0}.im-block h2{font-size:clamp(24px,3vw,36px);line-height:1.3;margin:0 0 20px}.im-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.im-tile{min-width:0;border:1px solid #dfe2e5;border-radius:16px;overflow:hidden;background:#fff}.im-tile a{display:block}.im-tile img{width:100%;height:auto;aspect-ratio:3/2;object-fit:var(--im-fit,contain);object-position:var(--im-x,50%) var(--im-y,50%);display:block;background:#f3f4f5}.im-copy{padding:18px}.im-copy h3{font-size:20px;margin:0 0 8px}.im-copy p{margin:0;line-height:1.65}.im-gallery .im-tile:first-child{grid-column:1/-1}.im-gallery .im-tile:first-child img{aspect-ratio:16/9;max-height:650px}.im-single .im-grid{grid-template-columns:1fr}.im-pair .im-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.im-gallery .im-grid:has(>.im-tile:last-child:nth-child(3n+2)){grid-template-columns:repeat(2,minmax(0,1fr))}.im-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.im-admin-block{border:1px solid #ccd0d4;border-radius:16px;padding:20px;margin:24px 0;background:#fff}.im-admin-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.im-edit-item{padding:15px;background:#f4f5f6;border-radius:12px;min-width:0}.im-edit-item img{width:100%;height:180px;object-fit:contain;background:white}.im-edit-item label,.im-admin-block>label{display:block;margin:10px 0}.im-edit-item input,.im-edit-item select,.im-admin-block input,select{max-width:100%;box-sizing:border-box}.im-edit-item input[type=text]{width:100%}.im-edit-item button{margin:4px}.im-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#im-library{width:min(980px,90vw);max-height:85vh;overflow:auto;border:0;border-radius:20px}#im-assets button{background:#fff;border:1px solid #bbb;text-align:left;padding:8px}#im-assets img{width:100%;aspect-ratio:3/2;object-fit:contain}.im-viewer{border:0;padding:16px;width:min(1200px,94vw);max-height:95vh;background:#111;color:#fff;z-index:2147483647}.im-viewer::backdrop{background:#000c}.im-viewer img{width:100%;height:70vh;object-fit:contain}.im-viewer-controls{display:flex;gap:15px;justify-content:space-between}.im-viewer button{padding:12px;font-size:16px}.im-viewer p{color:white}#im-status{position:sticky;top:0;background:#fff9d7;padding:14px;z-index:2}.im-unsaved{outline:2px solid #ca8400}@media(max-width:767px){.im-grid,.im-pair .im-grid,.im-gallery .im-grid:has(>.im-tile:last-child:nth-child(3n+2)){grid-template-columns:repeat(2,minmax(0,1fr))}.im-cards .im-grid,.im-admin-items{grid-template-columns:1fr}.im-gallery .im-tile:first-child img{aspect-ratio:4/3}.im-tile img{object-position:var(--im-mx,50%) var(--im-my,50%)}.im-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.im-viewer img{height:65vh}.im-admin-block{padding:12px}.im-single .im-grid{grid-template-columns:1fr}}
.im-gallery .im-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.im-gallery .im-grid:has(>.im-tile:last-child:nth-child(3n+2)){grid-template-columns:repeat(3,minmax(0,1fr))}.im-gallery .im-tile:last-child:nth-child(3n+2){grid-column:1/-1}.im-gallery .im-tile:last-child:nth-child(3n){grid-column:span 2}.im-crop-previews{display:grid;grid-template-columns:2fr 1fr;gap:10px}.im-edit-item .im-crop-previews img{height:auto;aspect-ratio:3/2}.im-edit-item .im-crop-previews [data-crop-mobile]{aspect-ratio:4/3}.article-model-visual [data-im-fit]{object-fit:var(--im-fit,contain);object-position:var(--im-x,50%) var(--im-y,50%)}
@media(max-width:767px){.im-gallery .im-grid,.im-gallery .im-grid:has(>.im-tile:last-child:nth-child(3n+2)){grid-template-columns:repeat(2,minmax(0,1fr))}.im-gallery .im-tile:last-child{grid-column:auto}.im-gallery .im-tile:last-child:nth-child(even),.im-gallery .im-tile:first-child{grid-column:1/-1}.article-model-visual [data-im-fit]{object-position:var(--im-mx,50%) var(--im-my,50%)}}
.article-model-visual img[data-im-fit]{aspect-ratio:3/2}
img[data-image-inline]{object-fit:var(--im-fit,contain);object-position:var(--im-x,50%) var(--im-y,50%)}
@media(max-width:767px){img[data-image-inline]{object-position:var(--im-mx,50%) var(--im-my,50%)}}
