.tapn-file-upload{display:grid;gap:16px}
.tapn-file-upload__heading{display:grid;gap:4px}
.tapn-file-upload__heading p{max-width:65ch;margin:0;color:#6b6b70;font:400 .875rem/1.45 "Tapn Lato",Lato,Arial,sans-serif}
.tapn-file-upload__heading p:first-child{color:#0a0a0a;font-size:1rem;font-weight:700;line-height:1.4}
.tapn-file-upload__heading p:first-child span{color:#6b6b70;font-weight:400}
.tapn-file-upload input.tapn-file-upload__input,.tapn-file-upload__visually-hidden{position:absolute;width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.tapn-file-upload button.tapn-file-upload__dropzone{display:grid;width:100%;min-height:128px;place-content:center;justify-items:center;gap:8px;border:1px dashed #a8aaae;border-radius:8px;background:#f7f7f7;padding:24px;color:#6b6b70;font:400 .8125rem/1.45 "Tapn Lato",Lato,Arial,sans-serif;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.tapn-file-upload__dropzone svg{width:24px;height:24px;color:#6b6b70}
.tapn-file-upload__dropzone span:first-of-type{color:#0a0a0a;font-size:.875rem;font-weight:700}
.tapn-file-upload__dropzone:hover,.tapn-file-upload__dropzone.is-dragging{border-color:#36363a;background:#fff}
.tapn-file-upload__dropzone.is-dragging{color:#0a0a0a}
.tapn-file-upload button.tapn-file-upload__dropzone.is-invalid,.tapn-file-upload button.tapn-file-upload__dropzone.is-invalid:hover{border-color:#b42318;background:#fef2f2;color:#b42318}
.tapn-file-upload__dropzone.is-invalid svg{color:inherit}
.tapn-file-upload button.tapn-file-upload__dropzone:focus-visible,.tapn-file-upload button[data-tapn-file-upload-remove]:focus-visible{outline:2px solid #111827;outline-offset:2px}
.tapn-file-upload__constraints{margin:0;color:#6b6b70;font:400 .75rem/1.4 "Tapn Lato",Lato,Arial,sans-serif}
.tapn-file-upload__selected{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #e5e5e5;border-radius:8px;background:#fff;padding:12px 16px}
.tapn-file-upload__selected[hidden],.tapn-file-upload__error[hidden]{display:none}
.tapn-file-upload__selected div{display:grid;min-width:0;gap:4px}
.tapn-file-upload__selected span:first-child{overflow:hidden;color:#0a0a0a;font:700 .8125rem/1.4 "Tapn Lato",Lato,Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.tapn-file-upload__selected span:last-child{color:#6b6b70;font:400 .75rem/1.4 "Tapn Lato",Lato,Arial,sans-serif}
.tapn-file-upload button[data-tapn-file-upload-remove]{display:grid;width:48px;height:48px;place-items:center;border:0;border-radius:8px;background:transparent;padding:0;color:#6b6b70;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.tapn-file-upload button[data-tapn-file-upload-remove]:hover{background:#f7f7f7;color:#0a0a0a}
.tapn-file-upload button[data-tapn-file-upload-remove] svg{width:20px;height:20px}
.tapn-file-upload__error{display:flex;align-items:flex-start;gap:8px;margin:0;color:#b42318;font:400 .75rem/1.4 "Tapn Lato",Lato,Arial,sans-serif}
.tapn-file-upload__error svg{width:16px;height:16px;flex:0 0 16px;margin-top:1px}
.tapn-file-upload__turnstile{min-width:0}

@media (prefers-reduced-motion:reduce){
  .tapn-file-upload button.tapn-file-upload__dropzone,.tapn-file-upload button[data-tapn-file-upload-remove]{transition:none}
}
