.indydtf-review-media-upload {
	display: grid;
	gap: var(--indy-space-2, 8px);
	margin: var(--indy-space-4, 16px) 0;
}

.indydtf-review-media-upload__label {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--indy-space-1, 4px);
	align-items: baseline;
	font-weight: 850;
}

.indydtf-review-media-upload__label span,
.indydtf-review-media-upload__help {
	color: var(--indy-color-muted, #4b5563);
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.35;
}

.indydtf-review-media-upload__input {
	width: 100%;
	min-height: var(--indy-button-height-md, 42px);
	padding: var(--indy-space-2, 8px);
	border: 1px solid var(--indy-color-border, #d8e0ec);
	border-radius: var(--indy-radius-sm, 4px);
	background: var(--indy-color-surface, #fff);
	color: var(--indy-color-ink, #111827);
	box-sizing: border-box;
}

.indydtf-review-media-upload__input:focus-visible,
.indydtf-review-media-upload__remove:focus-visible {
	outline: none;
	box-shadow: var(--indy-button-focus-ring, 0 0 0 3px rgba(245, 180, 0, 0.35));
}

.indydtf-review-media-upload__errors {
	min-height: 1.25em;
	color: var(--indy-color-danger, #b42318);
	font-size: 0.86rem;
	font-weight: 750;
	line-height: 1.35;
}

.indydtf-review-media-upload__previews {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
	gap: var(--indy-space-2, 8px);
}

.indydtf-review-media-upload__preview {
	position: relative;
	display: grid;
	gap: var(--indy-space-1, 4px);
	min-width: 0;
}

.indydtf-review-media-upload__preview img {
	width: 100%;
	aspect-ratio: 1;
	border: 1px solid var(--indy-color-border, #d8e0ec);
	border-radius: var(--indy-radius-sm, 4px);
	object-fit: cover;
}

.indydtf-review-media-upload__name {
	overflow: hidden;
	color: var(--indy-color-muted, #4b5563);
	font-size: 0.76rem;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.indydtf-review-media-upload__remove {
	min-height: 30px;
	border: 1px solid var(--indy-color-border, #d8e0ec);
	border-radius: var(--indy-radius-sm, 4px);
	background: var(--indy-color-surface, #fff);
	color: var(--indy-color-ink, #111827);
	font-size: 0.78rem;
	font-weight: 800;
}
