.product-photo-gallery{padding:1rem;border:1px solid #ddd;border-radius:12px;background:#faf9f6}
.product-photo-gallery__requirement{font-weight:600;margin-bottom:.25rem}
.product-photo-gallery__count{margin:.75rem 0;font-size:.9rem}
.product-photo-gallery__picker-button{position:relative;overflow:hidden}
.product-photo-gallery__picker-button .js-gallery-picker{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.product-photo-gallery__picker-button:focus-within{outline:2px solid #155f56;outline-offset:3px}
.product-photo-gallery__picker-button.disabled{opacity:.65}
.product-photo-gallery__progress{margin:.75rem 0;font-size:.9rem;color:#155f56}
.product-photo-gallery__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;padding:0;margin:0;list-style:none}
.product-photo-gallery__item{min-width:0;padding:8px;border:1px solid #ddd;border-radius:8px;background:#fff}
.product-photo-gallery__image{display:block;width:100%;height:130px;object-fit:cover;border-radius:5px;background:#eee}
.product-photo-gallery__placeholder{display:flex;align-items:center;justify-content:center;padding:8px;overflow-wrap:anywhere;text-align:center;font-size:.8rem;color:#666}
.product-photo-gallery__name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;margin:6px 0}
.product-photo-gallery__actions{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}
.product-photo-gallery__actions button{font-size:.75rem;padding:3px 6px}
.product-photo-gallery[aria-busy=true]{opacity:.75}
@media(max-width:400px){.product-photo-gallery__list{grid-template-columns:repeat(2,minmax(0,1fr))}.product-photo-gallery__image{height:100px}}
