.photo-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.photo-controls button,.photo-card button,.photo-upload button{min-height:44px}.photo-count{margin-left:auto;color:var(--muted,#64748b);font-size:1rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin-top:14px}.photo-card{min-width:0;border:1px solid var(--border,#cbd5e1);border-radius:12px;padding:12px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:10px}.photo-card>img{display:block;width:100%;height:190px;object-fit:contain;background:#f3f4f6;border-radius:7px;color:#172b42;font-size:1rem}.photo-caption{display:flex;flex-direction:column;gap:6px;font-size:1rem;color:var(--ink,#172b42)}.photo-caption input{min-height:44px;width:100%;box-sizing:border-box}.photo-include{display:flex;align-items:center;gap:9px;min-height:44px;font-size:1rem;cursor:pointer;color:var(--ink,#172b42)}.photo-include input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:var(--gold,#a57b24)}.photo-remove{margin-top:auto;align-self:flex-start}.photo-pending{display:grid;gap:10px;margin-top:12px}.photo-pending:empty{display:none}.photo-upload{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;border:1px solid var(--border,#cbd5e1);padding:12px;border-radius:10px}.photo-upload-name{font-weight:700;overflow-wrap:anywhere}.photo-upload-status{flex:1 1 230px;overflow-wrap:anywhere}.photo-upload-error{border-color:var(--danger,#c34646)}.photo-card input:focus-visible,.photo-card button:focus-visible,.photo-controls button:focus-visible,.photo-upload button:focus-visible{outline:3px solid var(--gold,#c4a256);outline-offset:3px}@media(max-width:520px){.photo-grid{grid-template-columns:1fr}.photo-controls button{flex:1 1 150px}.photo-card>img{height:210px}.photo-upload button{flex:1 1 140px}}
