.pfu-upload-wrap {
	display: block;
	width: 100%;
	clear: both;
	margin: 12px 0;
}

/* Keep the browser's native Choose File / No file chosen control completely hidden,
   even when a theme overrides the HTML hidden attribute. */
.pfu-upload-wrap .pfu-file-input,
.pfu-upload-wrap input[type="file"].pfu-file-input,
.pfu-upload-wrap .pfu-file-input[hidden] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.pfu-upload-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	max-width: 100%;
	cursor: pointer;
	font-family: Karla, sans-serif !important;
}

.pfu-upload-button.is-uploading {
	opacity: .7;
	cursor: wait;
}

.pfu-file-note {
	margin: 7px 0 0;
	font-family: Karla, sans-serif !important;
	font-size: 13px;
	line-height: 1.4;
}

.pfu-file-status {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	margin-top: 7px;
	font-family: Karla, sans-serif !important;
	font-size: 13px;
	line-height: 1.4;
}

.pfu-file-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pfu-file-remove {
	appearance: none;
	border: 0;
	background: transparent;
	color: #d63638;
	font-size: 20px;
	line-height: 1;
	padding: 0 3px;
	cursor: pointer;
}

.pfu-error-msg {
	color: #d63638;
	font-family: Karla, sans-serif !important;
	font-size: 13px;
	line-height: 1.4;
	margin: 7px 0 0;
}
