/* Shared image presentation; scoped to the portal/plugin admin only. */
.rvcp-work-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),220px)); gap:12px; margin:16px 0; }
.rvcp-work-gallery a { display:block; border:1px solid #d5dcd7; border-radius:8px; overflow:hidden; background:#f6f8f6; }
.rvcp-work-gallery img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.rvcp-work-gallery a:focus-visible,.rvcp-image-input:focus-visible { outline:3px solid #2271b1; outline-offset:3px; }
.rvcp-image-input { padding:16px; border:2px dashed var(--rvcp-line,#c3cbc5); border-radius:10px; background:var(--rvcp-panel,#fff); min-width:0; }
.rvcp-image-input p { margin:8px 0; }
.rvcp-image-input small { display:block; margin-top:8px; }
.rvcp-image-choose { position:relative; display:inline-flex!important; align-items:center; min-height:44px; overflow:hidden; cursor:pointer; }
.rvcp-image-choose input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.rvcp-image-choose:focus-within { outline:3px solid #2271b1; outline-offset:3px; }
.rvcp-image-previews { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),180px)); gap:12px; margin-top:12px; }
.rvcp-image-previews figure { margin:0; min-width:0; }
.rvcp-image-previews img { display:block; width:100%; height:110px; object-fit:contain; background:#f6f8f6; border:1px solid #d5dcd7; border-radius:6px; }
.rvcp-image-previews figcaption { overflow-wrap:anywhere; font-size:12px; margin:6px 0; }
.rvcp-image-previews button { min-height:44px; }
.rvcp-image-message { color:#24362b; overflow-wrap:anywhere; }
.rvcp-image-input :disabled { cursor:wait; opacity:.6; }
@media(max-width:480px) { .rvcp-work-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
