/* ==========================================================================
   WooCommerce Product File Upload Manager — Front-end Styles
   ========================================================================== */

.wcpfu-upload-wrapper {
	margin-bottom: 20px;
	font-family: inherit;
}

/* ---------- Label ---------- */
.wcpfu-upload-label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 0.95em;
}

.wcpfu-required {
	color: #c00;
	margin-left: 2px;
}

/* ---------- Drop zone ---------- */
.wcpfu-upload-area {
	border: 2px dashed #c3c3c3;
	border-radius: 6px;
	padding: 28px 20px;
	text-align: center;
	background: #fafafa;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
	position: relative;
}

.wcpfu-upload-area:hover,
.wcpfu-upload-area.wcpfu-drag-over {
	border-color: #96588a;
	background: #f5eef8;
}

.wcpfu-drop-icon {
	font-size: 2.5em;
	color: #96588a;
	line-height: 1;
	margin-bottom: 6px;
}

.wcpfu-drop-text {
	margin: 0 0 10px;
	color: #555;
	font-size: 0.9em;
}

.wcpfu-browse-link {
	color: #96588a;
	text-decoration: underline;
	cursor: pointer;
	font-weight: 600;
}

.wcpfu-browse-link:hover {
	color: #6d3a6b;
}

/* ---------- File info line ---------- */
.wcpfu-file-info {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	font-size: 0.8em;
	color: #888;
}

/* ---------- Progress bar ---------- */
.wcpfu-upload-progress {
	margin-top: 10px;
}

.wcpfu-progress-bar {
	background: #e5e5e5;
	border-radius: 4px;
	height: 8px;
	overflow: hidden;
}

.wcpfu-progress-fill {
	height: 100%;
	background: linear-gradient( 90deg, #96588a, #c78dc7 );
	width: 0%;
	transition: width 0.2s;
}

.wcpfu-progress-text {
	display: block;
	font-size: 0.8em;
	color: #555;
	margin-top: 4px;
	text-align: right;
}

/* ---------- Success state ---------- */
.wcpfu-upload-success {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: #edf7ed;
	border: 1px solid #7dba68;
	border-radius: 6px;
	margin-top: 0;
}

.wcpfu-success-icon {
	font-size: 1.3em;
	color: #4a9e3a;
}

.wcpfu-success-name {
	flex: 1;
	font-size: 0.9em;
	word-break: break-all;
	color: #2d6a20;
}

.wcpfu-remove-btn {
	background: none;
	border: 1px solid #c00;
	color: #c00;
	border-radius: 4px;
	padding: 3px 10px;
	font-size: 0.8em;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.wcpfu-remove-btn:hover {
	background: #c00;
	color: #fff;
}

/* ---------- Error state ---------- */
.wcpfu-upload-error {
	margin-top: 8px;
	padding: 10px 14px;
	background: #fdecea;
	border: 1px solid #e0776e;
	border-radius: 4px;
	color: #a91f1f;
	font-size: 0.875em;
}

/* ---------- Responsive ---------- */
@media ( max-width: 600px ) {
	.wcpfu-upload-area {
		padding: 18px 12px;
	}

	.wcpfu-file-info {
		flex-direction: column;
		gap: 4px;
	}
}
