.shelfPhotos { margin-block:12px; }
.shelfPhotos__tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.shelfPhotos button,.shelfPhotos input,.shelfPhotos summary { min-height:44px; }
.shelfPhotos__search { display:flex; width:100%; gap:8px; }
.shelfPhotos__search input { min-width:0; flex:1; }
.shelfPhotos__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-block:12px; }
.shelfPhotos__tile { padding:0; overflow:hidden; border:1px solid var(--line,#8885); border-radius:12px; background:var(--surface,#fff); color:inherit; text-align:left; font:inherit; }
.shelfPhotos__tile img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.shelfPhotos__tile span,.shelfPhotos__tile small { display:block; padding:6px 8px; overflow-wrap:anywhere; }
.shelfPhotos__status:empty { display:none; }
.shelfPhotos__dialog { box-sizing:border-box; width:min(720px,calc(100vw - 20px)); max-height:calc(100dvh - 24px); padding:12px; border:1px solid var(--line,#8885); border-radius:16px; background:var(--surface,#fff); color:var(--ink,#182030); overflow:auto; }
.shelfPhotos__dialog::backdrop { background:#000b; }
.shelfPhotos__dialog button,.shelfPhotos__dialog input { min-height:44px; margin-block:4px; }
.shelfPhotos__dialog > input { box-sizing:border-box; width:100%; }
.shelfPhotos__full { display:block; width:100%; max-height:60dvh; object-fit:contain; touch-action:pan-y pinch-zoom; }
.shelfPhotos__preview { display:block; width:100%; max-height:42dvh; object-fit:contain; }
.shelfPhotos__location { overflow-wrap:anywhere; font-weight:600; }
.shelfPhotos__dialog p { margin-block:8px; }
.shelfPhotos__dialog > .btn { margin-right:8px; }
@media(min-width:600px) { .shelfPhotos__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
