.vic-composer {
	--vic-border: #d8dde3;
	--vic-bg: #f5f1e8;
	--vic-panel: #fffdf9;
	--vic-text: #1f2933;
	--vic-accent: #d16b2f;
	--vic-accent-dark: #9d4317;
	margin: 24px 0;
	color: var(--vic-text);
}

.vic-stage {
	width: 100%;
}

.vic-canvas {
	position: relative;
	width: 100%;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(209, 107, 47, 0.12), rgba(255, 255, 255, 0.4)),
		var(--vic-bg);
	border: 1px solid var(--vic-border);
	border-radius: 18px;
	box-shadow: 0 20px 50px rgba(39, 54, 68, 0.12);
}

.vic-background-image,
.vic-top-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vic-top-image {
	z-index: 2;
}

.vic-placeholder {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	text-align: center;
	background:
		radial-gradient(circle at top, rgba(255, 255, 255, 0.4), transparent 45%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(0, 0, 0, 0.05));
}

.vic-placeholder span {
	max-width: 420px;
	padding: 14px 18px;
	background: rgba(255, 253, 249, 0.86);
	border: 1px solid rgba(31, 41, 51, 0.12);
	border-radius: 999px;
	font-weight: 600;
}

.vic-toolbar {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 18px;
}

.vic-upload-button,
.vic-remove-button,
.vic-download-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
	transition: transform 0.15s ease, opacity 0.15s ease, background 0.15s ease;
}

.vic-upload-button {
	position: relative;
	background: var(--vic-accent);
	color: #fff;
}

.vic-upload-button:hover {
	transform: translateY(-1px);
	background: var(--vic-accent-dark);
}

.vic-upload-button input {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.vic-remove-button,
.vic-download-button {
	background: var(--vic-panel);
	border: 1px solid var(--vic-border);
	color: var(--vic-text);
}

.vic-remove-button:disabled,
.vic-download-button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.vic-help-text {
	margin-top: 14px;
	font-size: 14px;
	color: #52606d;
}

@media (max-width: 640px) {
	.vic-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.vic-upload-button,
	.vic-remove-button,
	.vic-download-button {
		width: 100%;
	}

	.vic-placeholder span {
		border-radius: 24px;
	}
}
