/*
------------------------------------------------
Photo Upload
------------------------------------------------
*/

.tl-entry-image-editor {
	width: 100%;
}


.tl-entry-image-editor h3 {
	margin-top: 0;
}


/*
------------------------------------------------
Existing Photos
------------------------------------------------
*/

.tl-photo-existing-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}


.tl-photo-existing-item {
	flex: 0 0 auto;
}


.tl-photo-existing-image img {
	display: block;

	width: 100px;
	height: 100px;

	object-fit: cover;
	border-radius: var(--tl-radius);
}


.tl-photo-remove-existing {
	display: flex;
	align-items: center;
	gap: 5px;

	margin-top: 6px;

	color: var(--tl-color-text-secondary);

	font-size: .8125em;
	line-height: 1.3;

	cursor: pointer;
}


/*
------------------------------------------------
File Input
------------------------------------------------
*/

.tl-photo-upload-input {
	position: absolute;

	width: 1px;
	height: 1px;

	overflow: hidden;

	clip: rect(0 0 0 0);
	clip-path: inset(50%);

	white-space: nowrap;
}


.tl-photo-upload-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 40px;
	padding: 8px 12px;

	box-sizing: border-box;

	background: var(--tl-color-surface);
	border: 1px solid var(--tl-color-border);
	border-radius: var(--tl-radius);

	color: var(--tl-color-text-secondary);

	font-size: .875em;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;

	cursor: pointer;
}

.tl-photo-upload-button:hover,
.tl-photo-upload-button:focus {
	background: var(--tl-color-border-soft);
	border-color: var(--tl-color-border);

	color: var(--tl-color-text);
}


/*
------------------------------------------------
Upload Count
------------------------------------------------
*/

.tl-photo-upload-count {
	margin: 6px 0 0;

	color: var(--tl-color-text-secondary);

	font-size: .8125em;
	line-height: 1.4;
}


/*
------------------------------------------------
Selected Photo Previews
------------------------------------------------
*/

.tl-photo-upload-preview {
	display: flex;
	flex-direction: column;
	gap: 10px;

	margin-top: 16px;
}


.tl-photo-upload-preview-item {
	display: flex;
	align-items: center;
	gap: 12px;
}


.tl-photo-upload-preview-item img {
	flex: 0 0 70px;

	width: 70px;
	height: 70px;

	object-fit: cover;
	border-radius: var(--tl-radius);
}


.tl-photo-upload-preview-details {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;

	min-width: 0;
}


.tl-photo-upload-preview-name {
	max-width: 100%;

	overflow: hidden;

	text-overflow: ellipsis;
	white-space: nowrap;
}


.tl-photo-upload-preview-remove {
	padding: 0;

	background: transparent;
	border: 0;

	color: var(--tl-color-text-secondary);

	font: inherit;
	font-size: .8125em;
	font-weight: 600;
	text-decoration: none;

	cursor: pointer;
}

.tl-photo-upload-preview-remove:hover,
.tl-photo-upload-preview-remove:focus {
	color: var(--tl-color-danger);
}


/*
------------------------------------------------
Upload Status
------------------------------------------------
*/

.tl-photo-upload-status {
	margin-top: 10px;
}