/* Аплоадер проєктів — модалка (доповнює базові .vz-modal* з theme.css). */

.vz-up-modal .vz-modal__dialog {
	max-width: 560px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
}

.vz-up__intro {
	margin: -8px 0 18px;
	color: var(--pp-text-muted, #666);
	font-size: var(--pp-fs-md, 14px);
	line-height: 1.5;
}

.vz-up-form { display: flex; flex-direction: column; gap: 14px; }

.vz-up__field { display: flex; flex-direction: column; gap: 6px; }
.vz-up__field > span { font-size: var(--pp-fs-sm, 13px); font-weight: 600; color: var(--pp-text, #1a1a1a); }
.vz-up__field input,
.vz-up__field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--pp-border, #ddd);
	border-radius: 8px;
	font: inherit;
	color: var(--pp-text, #1a1a1a);
	background: #fff;
}
.vz-up__field textarea { resize: vertical; min-height: 80px; }
.vz-up__field input:focus,
.vz-up__field textarea:focus { outline: none; border-color: var(--pp-orange, #2b6cff); }

.vz-up__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 480px) { .vz-up__row { grid-template-columns: 1fr; } }

/* Dropzone */
.vz-up-drop {
	position: relative;
	border: 2px dashed var(--pp-border, #ccc);
	border-radius: 12px;
	padding: 26px 16px;
	text-align: center;
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.vz-up-drop.is-dragover { border-color: var(--pp-orange, #2b6cff); background: rgba(43,108,255,.05); }
.vz-up-drop__input {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	opacity: 0; cursor: pointer;
}
.vz-up-drop__hint { display: flex; flex-direction: column; gap: 3px; pointer-events: none; }
.vz-up-drop__hint strong { font-size: var(--pp-fs-lg, 15px); color: var(--pp-text, #1a1a1a); }
.vz-up-drop__hint span { font-size: var(--pp-fs-sm, 13px); color: var(--pp-text-muted, #777); }
.vz-up-drop__hint small { font-size: var(--pp-fs-xs, 12px); color: var(--pp-text-muted, #999); margin-top: 4px; }

/* Список обраних файлів */
.vz-up-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.vz-up-list__item {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 8px 12px;
	background: var(--pp-bg, #f5f6f8);
	border-radius: 8px;
	font-size: var(--pp-fs-sm, 13px);
}
.vz-up-list__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vz-up-list__rm {
	flex: none;
	border: none; background: none; cursor: pointer;
	color: var(--pp-text-muted, #999); font-size: var(--pp-fs-sm, 13px);
}
.vz-up-list__rm:hover { color: #d33; }

/* Стани */
.vz-up__error { margin: 0; color: #d33; font-size: var(--pp-fs-sm, 13px); }
.vz-up__success { margin: 12px 0; color: #1a8a3b; font-size: var(--pp-fs-lg, 15px); font-weight: 600; }

.vz-up__submit { margin-top: 4px; }
.vz-up__submit[disabled] { opacity: .6; cursor: default; }
.vz-up__fee { font-weight: 600; }

/* Bot trap stays focus-inert and outside the visual flow. */
.vz-up__trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
