.sh-file-picker{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:150px;width:100%;min-width:0;padding:24px 16px;border:1px dashed #97bbb1;border-radius:16px;background:linear-gradient(135deg,#f8fcfa,#eef6f3);color:#353b61;transition:border-color .18s,background .18s,box-shadow .18s}
.checkout-upload .sh-file-picker{border:0;background:transparent;border-radius:12px;padding:18px 8px;min-height:145px}
.sh-file-picker input.sh-file-input[type=file]{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0;overflow:hidden;clip-path:inset(50%);border:0!important}
.sh-file-picker .sh-file-choose{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 25px;border:1px solid #286c69;border-radius:12px;background:#286c69;color:#fff;font-family:inherit;font-size:12px;font-weight:800;line-height:1.8;cursor:pointer;box-shadow:0 5px 16px #286c6920;transition:background .18s,box-shadow .18s,transform .18s}
.sh-file-picker .sh-file-choose:hover:not(:disabled){background:#205957;box-shadow:0 8px 20px #286c6930;transform:translateY(-1px)}
.sh-file-picker .sh-file-choose:focus-visible{outline:3px solid #b88b20;outline-offset:3px}.sh-file-picker:focus-within{border-color:#36827f}
.sh-file-picker .sh-file-choose:disabled{cursor:wait;opacity:.75;transform:none}
.sh-file-picker>small{font-size:11px;line-height:2;color:#657973;text-align:center}
.sh-file-name{max-width:100%;font-size:10px;line-height:1.9;overflow-wrap:anywhere;text-align:center;direction:auto}.sh-file-name:empty{display:none}
.sh-file-error{color:#9c2743;font-size:11px;line-height:2;text-align:center}.sh-file-error[hidden]{display:none!important}
.sh-file-picker.is-file-dragover,.checkout-upload.is-file-dragover{border-color:#286c69;background:#e5f4ee;box-shadow:inset 0 0 0 2px #36827f40}
.sh-file-picker.is-file-busy .sh-file-choose:before{content:'';width:15px;height:15px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:sh-file-spin .7s linear infinite}
.checkout-upload [data-artwork-status][data-state=error]{color:#9c2743;background:#fff1f3;padding:10px 12px;border-radius:10px}
.checkout-upload [data-artwork-status][data-state=success]{color:#205957}
@keyframes sh-file-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sh-file-picker,.sh-file-picker .sh-file-choose{transition:none}.sh-file-picker.is-file-busy .sh-file-choose:before{animation:none;border-style:dotted}}
