.photo-slot{cursor:default}.photo-slot strong{font-size:.8rem}.photo-placeholder{color:var(--text-muted);border:1px dashed var(--brown-mid);width:140px;height:140px;display:grid;place-items:center;font-size:.8rem}.photo-upload{position:relative;overflow:hidden;text-align:center;cursor:pointer}.photo-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.photo-upload:focus-within{outline:2px solid var(--accent-dark);outline-offset:2px}.photo-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.photo-slot .qty-btn:disabled{opacity:.4;cursor:default}.photo-help{font-size:.85rem;line-height:1.5;margin:0 0 1rem;color:var(--text-secondary)}.crop-overlay[hidden]{display:none}.crop-overlay{position:fixed;inset:0;z-index:300;background:#2c1f14aa;display:flex;align-items:center;justify-content:center;padding:12px}.crop-box{background:var(--warm-white);padding:20px;border-radius:12px;max-width:460px;width:100%;max-height:95dvh;overflow:auto}.crop-box h2{font-size:1.1rem}.crop-box p{font-size:.85rem;margin:8px 0}.crop-box canvas{display:block;width:min(100%,340px);height:auto;aspect-ratio:1;margin:12px auto;touch-action:none;cursor:grab;border:1px solid var(--border)}.crop-box canvas:active{cursor:grabbing}.crop-box label{display:flex;align-items:center;gap:10px;margin:10px 0}.crop-box input{width:100%;min-width:0}.crop-buttons{display:flex;justify-content:space-between;gap:8px;margin-top:14px;flex-wrap:wrap}
