.es-upload-telemetry {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.45;
	color: #667085;
}

.es-upload-telemetry.is-success {
	color: #027a48;
}

.es-upload-telemetry.is-warning {
	color: #b54708;
}

.es-upload-telemetry.is-error {
	color: #b42318;
}

.es-upload-telemetry__text {
	display: inline-block;
}

.es-upload-telemetry__action {
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	cursor: pointer;
}

/* Keep EasySocial confirm dialogs above photo pages, popups, and template chrome. */
body > #es.es-dialog,
body > #es.es-dialog + .o-popover--es {
	z-index: 2147483647 !important;
}

body > #es.es-dialog {
	isolation: isolate;
}

body > #es.es-dialog .es-dialog-modal {
	z-index: 1;
}

html[dir="rtl"] #es.o-popover--es {
	right: auto !important;
}

body > #es.es-dialog .o-popover--es,
body > #es.es-dialog .tooltip-es {
	z-index: 2147483647 !important;
}

#es .es-photo-hint.tag-hint {
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .65);
}

#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 74px;
	min-height: 36px;
	margin-inline-start: 10px;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, .36) !important;
	border-radius: 4px;
	background: #2f7f7a !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .38);
	color: #fff !important;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: none;
	opacity: 1 !important;
	pointer-events: auto;
	touch-action: manipulation;
}

#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"] i,
#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"] span {
	color: inherit !important;
}

#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"]:hover,
#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"]:focus {
	border-color: rgba(255, 255, 255, .58) !important;
	background: #256b68 !important;
	color: #fff !important;
	text-decoration: none;
}

#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"]:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"]:active {
	background: #1f5a57 !important;
	transform: translateY(1px);
}

.rtl #es .es-photo-hint.tag-hint [data-photo-tag-button="disable"],
[dir="rtl"] #es .es-photo-hint.tag-hint [data-photo-tag-button="disable"] {
	margin-inline-start: 0;
	margin-inline-end: 10px;
}

.es-photo-uploader-panel {
	display: block;
	float: none;
	clear: both;
	position: relative;
	isolation: isolate;
	z-index: 20;
	width: 100%;
	margin-bottom: 14px;
}

.es-photo-uploader-queue {
	display: none;
	position: relative;
	float: none;
	clear: both;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	isolation: isolate;
	z-index: 2;
}

.es-photo-uploader-queue.has-items {
	display: block;
}

.es-photo-uploader-queue[hidden] {
	display: none !important;
}

.es-photo-uploader-queue__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 280px));
	gap: 14px;
	align-items: stretch;
	justify-content: start;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item {
	display: block !important;
	float: none !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	transform: none !important;
	z-index: 0 !important;
	min-width: 0;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item > div,
.es-photo-uploader-queue__grid > .es-photo-upload-item > div > div {
	height: 100%;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile {
	position: relative;
	min-height: 0;
	height: 100%;
	aspect-ratio: auto;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__media {
	height: 100%;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__preview {
	height: auto;
	aspect-ratio: 4 / 3;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__remove {
	top: 12px;
	right: 12px;
	width: 34px;
	height: 34px;
	z-index: 3;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__body {
	position: static;
	right: auto;
	bottom: auto;
	left: auto;
	z-index: auto;
	gap: 10px;
	padding: 12px 12px 14px;
	background: none;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__status {
	min-height: 0;
	font-size: 12px;
	color: #64748b;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__name {
	font-size: 14px;
	line-height: 1.35;
	color: #0f172a;
	white-space: nowrap;
	display: block;
	-webkit-line-clamp: initial;
	-webkit-box-orient: initial;
	overflow: hidden;
	text-overflow: ellipsis;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__meta {
	font-size: 11px;
	line-height: 1.4;
	color: #64748b;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__meta-separator {
	color: #94a3b8;
}

.es-photo-uploader-queue__grid > .es-photo-upload-item .upload-percentage {
	color: #0f172a;
	text-shadow: none;
}

.es-album-photos [data-photo-item-group] {
	position: relative;
	clear: both;
	z-index: 1;
}

.es-album-photos [data-photo-item-group] > [data-photo-upload-item],
.es-album-photos [data-photo-item-group] > .es-photo-upload-item {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.es-photo-uploader-queue__grid > [data-photo-upload-item],
.es-photo-uploader-queue__grid > .es-photo-upload-item {
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto;
}

.es-photo-uploader-queue__grid > [data-photo-item]:not([data-photo-upload-item]),
.es-photo-uploader-queue__grid > .es-photo-item:not(.es-photo-upload-item) {
	display: none !important;
}

.es-photo-uploader-panel.is-collapsible {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .2s ease, margin .2s ease, transform .2s ease;
}

.es-photo-uploader-panel.is-collapsible.is-collapsed {
	overflow: hidden;
	max-height: 0;
	margin-bottom: 0;
	opacity: 0;
	transform: translateY(-8px);
	pointer-events: none;
}

.es-photo-uploader-panel.is-collapsible.is-expanded {
	max-height: none;
	overflow: visible;
}

.es-photo-uploader-panel__surface {
	position: relative;
	z-index: 20;
	display: grid !important;
	float: none;
	width: 100%;
	max-width: none;
	min-width: 0;
	box-sizing: border-box;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 18px 20px;
	border: 1px dashed #bfdbfe;
	border-radius: 16px;
	background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
	color: #334155;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.es-photo-uploader-panel__surface:hover,
.es-photo-uploader-panel__surface.is-dragover {
	border-color: #60a5fa;
	background: linear-gradient(180deg, #f8fbff 0%, #e0efff 100%);
	box-shadow: 0 12px 30px rgba(37, 99, 235, .1);
}

.es-photo-uploader-panel__surface.is-uploading {
	border-color: #93c5fd;
	background: linear-gradient(180deg, #f8fbff 0%, #dbeafe 100%);
}

.es-photo-uploader-panel__surface.is-processing {
	border-color: #c7d2fe;
	background: linear-gradient(180deg, #f8fbff 0%, #eef2ff 100%);
}

.es-photo-uploader-panel__surface.is-success {
	border-color: #bbf7d0;
	background: linear-gradient(180deg, #f8fbff 0%, #ecfdf3 100%);
}

.es-photo-uploader-panel__surface.is-error {
	border-color: #fecaca;
	background: linear-gradient(180deg, #fff7f7 0%, #fef2f2 100%);
}

.es-photo-uploader-panel__surface .moxie-shim {
	position: absolute !important;
	inset: 0 !important;
}

.es-photo-uploader-panel__surface .moxie-shim input {
	cursor: pointer;
}

.es-photo-uploader-panel__icon {
	width: 56px;
	height: 56px;
	border-radius: 18px;
	background: #dbeafe;
	color: #2563eb;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
}

.es-photo-uploader-panel__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}

.es-photo-uploader-panel__title {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	color: #0f172a;
}

.es-photo-uploader-panel__helper {
	font-size: 13px;
	line-height: 1.6;
	color: #64748b;
}

.es-photo-uploader-panel__summary {
	width: 100%;
	padding: 12px 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .72);
	border: 1px solid #dbeafe;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6);
}

.es-photo-uploader-panel__summary.is-uploading {
	border-color: #93c5fd;
	background: rgba(239, 246, 255, .92);
}

.es-photo-uploader-panel__summary.is-processing {
	border-color: #c7d2fe;
	background: rgba(238, 242, 255, .95);
}

.es-photo-uploader-panel__summary.is-success {
	border-color: #bbf7d0;
	background: rgba(240, 253, 244, .92);
}

.es-photo-uploader-panel__summary.is-error {
	border-color: #fecaca;
	background: rgba(254, 242, 242, .95);
}

.es-photo-uploader-panel__summary-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.es-photo-uploader-panel__summary-label {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	color: #0f172a;
}

.es-photo-uploader-panel__summary-percent {
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	color: #1d4ed8;
	flex-shrink: 0;
}

.es-photo-uploader-panel__summary.is-processing .es-photo-uploader-panel__summary-percent {
	color: #4338ca;
}

.es-photo-uploader-panel__summary.is-success .es-photo-uploader-panel__summary-percent {
	color: #15803d;
}

.es-photo-uploader-panel__summary.is-error .es-photo-uploader-panel__summary-percent {
	color: #b91c1c;
}

.es-photo-uploader-panel__summary-progress {
	position: relative;
	height: 8px;
	margin-top: 8px;
	border-radius: 999px;
	background: #dbe5f0;
	overflow: hidden;
}

.es-photo-uploader-panel__summary-bar {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, #3b82f6 0%, #2563eb 100%);
	box-shadow: 0 0 0 1px rgba(37, 99, 235, .06);
	transition: width .2s ease;
}

.es-photo-uploader-panel__summary.is-processing .es-photo-uploader-panel__summary-bar {
	background: linear-gradient(90deg, #818cf8 0%, #6366f1 100%);
}

.es-photo-uploader-panel__summary.is-success .es-photo-uploader-panel__summary-bar {
	background: linear-gradient(90deg, #22c55e 0%, #16a34a 100%);
}

.es-photo-uploader-panel__summary.is-error .es-photo-uploader-panel__summary-bar {
	background: linear-gradient(90deg, #ef4444 0%, #dc2626 100%);
}

.es-photo-uploader-panel__summary-detail {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
}

.es-photo-uploader-panel__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.es-photo-uploader-panel__browse {
	pointer-events: none;
}

.es-photo-uploader-panel__status {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .85);
	border: 1px solid #dbeafe;
	color: #2563eb;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

.es-photo-uploader-panel__surface.is-success .es-photo-uploader-panel__status {
	border-color: #bbf7d0;
	color: #047857;
}

.es-photo-uploader-panel__surface.is-processing .es-photo-uploader-panel__status {
	border-color: #c7d2fe;
	color: #4338ca;
}

.es-photo-uploader-panel__surface.is-error .es-photo-uploader-panel__status {
	border-color: #fecaca;
	color: #b91c1c;
}

.btn-album-add-photos {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

.btn-album-add-photos.is-active {
	background: #eff6ff;
	border-color: #60a5fa;
	color: #1d4ed8;
}

.es-photo-upload-item .es-photo-upload-tile {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	background: #fff;
	border: 1px solid #dbe5f0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}

.es-photo-upload-item.pending .es-photo-upload-tile,
.es-photo-upload-item.preparing .es-photo-upload-tile {
	border-color: #dbe5f0;
	background: #f8fafc;
}

.es-photo-upload-item.uploading .es-photo-upload-tile {
	border-color: #bfdbfe;
	background: #f8fbff;
}

.es-photo-upload-item.processing .es-photo-upload-tile {
	border-color: #c7d2fe;
	background: #f6f7ff;
}

.es-photo-upload-item.done .es-photo-upload-tile {
	border-color: #bbf7d0;
}

.es-photo-upload-item.failed .es-photo-upload-tile {
	border-color: #fecaca;
	background: #fff7f7;
}

.es-photo-upload-tile__media {
	position: relative;
}

.es-photo-upload-tile__preview {
	position: relative;
	aspect-ratio: 4 / 3;
	background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.es-photo-upload-tile__preview.has-preview .es-photo-upload-tile__placeholder {
	opacity: 0;
}

.es-photo-upload-tile__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #2563eb;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.es-photo-upload-tile__placeholder i {
	font-size: 26px;
}

.es-photo-upload-tile__remove {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 999px;
	background: rgba(15, 23, 42, .72);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}

.es-photo-upload-tile__remove:hover {
	background: rgba(15, 23, 42, .88);
	transform: scale(1.04);
}

.es-photo-upload-tile__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px;
}

.es-photo-upload-tile__status {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #64748b;
}

.es-photo-upload-tile__status > span {
	display: none;
}

.es-photo-upload-item.pending .upload-title-pending,
.es-photo-upload-item.preparing .upload-title-preparing,
.es-photo-upload-item.uploading .upload-title-uploading,
.es-photo-upload-item.processing .upload-title-processing,
.es-photo-upload-item.failed .upload-title-failed,
.es-photo-upload-item.done .upload-title-done {
	display: inline-flex;
}

.es-photo-upload-item.processing .es-photo-upload-tile__status {
	color: #4338ca;
}

.es-photo-upload-item.processing .upload-title > span {
	display: none;
}

.es-photo-upload-item.processing .upload-title-processing {
	display: inline-flex;
}

.es-photo-upload-item.uploading .es-photo-upload-tile__status {
	color: #2563eb;
}

.es-photo-upload-item.done .es-photo-upload-tile__status {
	color: #047857;
}

.es-photo-upload-item.failed .es-photo-upload-tile__status {
	color: #b91c1c;
}

.upload-title-failed .upload-details-button {
	display: none;
}

.es-photo-upload-tile__name {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.es-photo-upload-tile__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
}

.es-photo-upload-tile__meta-separator {
	color: #94a3b8;
}

.es-photo-upload-tile__progress {
	position: relative;
	height: 10px;
	margin: 0;
	border-radius: 999px;
	background: #e2e8f0;
	overflow: hidden;
}

.es-photo-upload-tile__progress-bar {
	position: static;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #3b82f6 0%, #2563eb 100%);
	box-shadow: none;
	transition: width .2s ease;
}

.es-photo-upload-item.done .es-photo-upload-tile__progress-bar {
	background: linear-gradient(90deg, #22c55e 0%, #16a34a 100%);
}

.es-photo-upload-item.failed .es-photo-upload-tile__progress-bar {
	background: linear-gradient(90deg, #ef4444 0%, #dc2626 100%);
}

.es-photo-upload-item.processing .es-photo-upload-tile__progress-bar {
	background: linear-gradient(90deg, #818cf8 0%, #6366f1 100%);
}

.es-photo-upload-tile__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.es-photo-upload-tile__actions[hidden] {
	display: none;
}

.es-photo-upload-tile__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #0f172a;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.es-photo-upload-tile__action:hover {
	border-color: #94a3b8;
	background: #f8fafc;
	transform: translateY(-1px);
}

.es-photo-upload-tile__action:disabled {
	opacity: .45;
	cursor: not-allowed;
	transform: none;
}

.es-photo-upload-tile__action--retry {
	border-color: #2563eb;
	background: #2563eb;
	color: #fff;
}

.es-photo-upload-tile__action--retry:hover {
	border-color: #1d4ed8;
	background: #1d4ed8;
}

.es-photo-upload-tile__action--details {
	border-color: #fecaca;
	color: #b91c1c;
}

.es-photo-upload-tile__action--details:hover {
	border-color: #fca5a5;
	background: #fff1f2;
}

[data-photo-item].is-removing,
.es-photo-item.is-removing {
	opacity: 0;
	transform: scale(.985);
	transition: opacity .16s ease, transform .16s ease;
	pointer-events: none;
}

[data-photo-done-button].is-busy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	opacity: .78;
	cursor: wait;
	pointer-events: none;
}

[data-photo-done-button].is-busy .peace-photo-done-button__content {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	white-space: nowrap;
}

.es-photo-upload-tile .upload-percentage {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	color: #0f172a;
	text-shadow: 0 1px 0 rgba(255, 255, 255, .4);
	z-index: 1;
	pointer-events: none;
}

.es-photo-upload-item .es-upload-telemetry {
	margin-top: 0;
}

.es-photo-upload-item .upload-details-button {
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

@media (max-width: 767px) {
	.es-photo-uploader-panel__surface {
		grid-template-columns: 1fr;
		padding: 16px;
	}

	.es-photo-uploader-panel__icon {
		width: 48px;
		height: 48px;
		font-size: 20px;
	}

	.es-photo-uploader-panel__summary-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.es-photo-uploader-queue {
		margin-bottom: 18px;
	}

	.es-photo-uploader-queue__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.es-photo-uploader-queue__grid > .es-photo-upload-item .es-photo-upload-tile__body {
		padding: 12px;
	}
}

.es-upload-error-dialog {
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.6;
	color: #0f172a;
}

.es-video-dropzone {
	position: relative;
	border: 2px dashed #bfdbfe;
	border-radius: 14px;
	padding: 22px;
	background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
	color: #334155;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
	overflow: hidden;
}

.es-video-dropzone.is-empty:hover {
	border-color: #60a5fa;
	background: linear-gradient(180deg, #f8fbff 0%, #e6f1ff 100%);
	box-shadow: 0 10px 30px rgba(37, 99, 235, .08);
}

.es-video-dropzone.is-dragover {
	border-color: #2563eb;
	background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
	box-shadow: 0 12px 30px rgba(37, 99, 235, .14);
}

.es-video-dropzone.is-success {
	border-color: #bbf7d0;
	background: linear-gradient(180deg, #f8fbff 0%, #f0fdf4 100%);
}

.es-video-dropzone.is-error {
	border-color: #fecaca;
	background: linear-gradient(180deg, #fff7f7 0%, #fef2f2 100%);
}

.es-video-dropzone__empty {
	position: relative;
}

.es-video-dropzone__surface {
	position: relative;
	display: block;
	cursor: default;
}

.es-video-dropzone__icon {
	width: 58px;
	height: 58px;
	border-radius: 18px;
	background: #dbeafe;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #2563eb;
	font-size: 24px;
	flex-shrink: 0;
}

.es-video-dropzone__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
}

.es-video-dropzone__text {
	display: block;
	font-weight: 700;
	font-size: 15px;
	color: #0f172a;
}

.es-video-dropzone__helper {
	display: block;
	font-size: 12px;
	line-height: 1.55;
	color: #64748b;
}

.es-video-dropzone__browse {
	position: relative;
	z-index: 2;
}

.es-video-dropzone__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
}

.es-video-dropzone__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.es-video-dropzone__fact {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #dbeafe;
	color: #334155;
	font-size: 12px;
	line-height: 1.3;
}

.es-video-dropzone__fact i {
	color: #2563eb;
}

.es-audio-upload-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.es-audio-upload-actions .es-audio-upload-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
	cursor: pointer;
}

.es-audio-upload-actions .es-audio-upload-hint {
	margin: 0;
	color: #64748b;
}

.es-video-dropzone__message {
	display: none;
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	font-size: 13px;
}

.es-video-dropzone__message.is-visible {
	display: block;
}

.es-video-dropzone__message.is-error {
	background: #fef2f2;
	border-color: #fecaca;
	color: #b91c1c;
}

#es .es-story-video-form .video-upload-progress {
	display: none;
	margin-top: 16px;
}

#es .es-story-video-form .video-upload-progress[hidden] {
	display: none !important;
}

#es .es-story-video-form.is-waiting .video-upload-progress,
#es .es-story-video-form.is-uploading .video-upload-progress,
#es .es-story-video-form.is-encoding .video-upload-progress {
	display: block;
}

#es .es-story-audio-form .audio-upload-progress {
	display: none;
	margin-top: 16px;
}

#es .es-story-audio-form .audio-upload-progress[hidden] {
	display: none !important;
}

#es .es-story-audio-form.is-waiting .audio-upload-progress,
#es .es-story-audio-form.is-uploading .audio-upload-progress,
#es .es-story-audio-form.is-encoding .audio-upload-progress {
	display: block !important;
}

#es .es-story-files-content .es-story-files-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#es .es-story-files-content .es-story-files-progress[hidden] {
	display: none !important;
}

#es .es-story-files-content [data-files-upload-item] {
	width: 100%;
}

.es-video-upload-card {
	background: #fff;
	border: 1px solid #dbe5f0;
	border-radius: 14px;
	padding: 14px;
	box-shadow: 0 4px 16px rgba(15, 23, 42, .04);
}

.es-video-upload-card.is-queued {
	border-color: #dbe5f0;
	background: #f8fafc;
}

.es-video-upload-card.is-uploading {
	border-color: #bfdbfe;
	background: #f8fbff;
}

.es-video-upload-card.is-retrying {
	border-color: #c7d2fe;
	background: #eef2ff;
}

.es-video-upload-card.is-success {
	border-color: #bbf7d0;
}

.es-video-upload-card.is-error {
	border-color: #fecaca;
	background: #fff7f7;
}

.es-video-upload-card__main {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: flex-start;
}

.es-video-upload-card__fileicon {
	position: relative;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #f5f3ff;
	color: #7c3aed;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}

.es-video-upload-card__filetag {
	position: absolute;
	left: 50%;
	bottom: 4px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	padding: 1px 5px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .96);
	color: #7c3aed;
	font-size: 8px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(15, 23, 42, .08);
}

.es-video-upload-card__body {
	min-width: 0;
}

.es-video-upload-card__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px 12px;
}

.es-video-upload-card__name {
	display: block;
	font-weight: 700;
	color: #0f172a;
	word-break: break-word;
	overflow-wrap: anywhere;
	min-width: 0;
}

.es-video-upload-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.es-video-upload-card__action {
	padding: 0;
	border: 0;
	background: transparent;
	color: #1d4ed8;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
}

.es-video-upload-card__meta {
	margin-top: 4px;
	font-size: 12px;
	color: #64748b;
	word-break: break-word;
}

.es-video-upload-card__status {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #1e3a8a;
}

.es-video-upload-card.is-queued .es-video-upload-card__status {
	color: #475569;
}

.es-video-upload-card.is-retrying .es-video-upload-card__status {
	color: #4338ca;
}

.es-video-upload-card.is-success .es-video-upload-card__status {
	color: #15803d;
}

.es-video-upload-card.is-error .es-video-upload-card__status {
	color: #b91c1c;
}

.es-video-upload-card__timing {
	display: none;
	margin-top: 4px;
	font-size: 12px;
	color: #64748b;
	word-break: break-word;
}

.es-video-upload-card__timing.is-visible {
	display: block;
}

.es-video-upload-card.is-retrying .es-video-upload-card__timing {
	color: #6366f1;
}

.es-video-upload-card.is-success .es-video-upload-card__timing {
	color: #15803d;
}

.es-video-upload-card.is-error .es-video-upload-card__timing {
	color: #b91c1c;
}

.es-video-upload-card__progress {
	margin-top: 10px;
	height: 8px;
	background: #e2e8f0;
	border-radius: 999px;
	overflow: hidden;
}

.es-video-upload-card__progress-bar {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #2563eb 0%, #38bdf8 100%);
	transition: width .2s ease;
}

#es button.es-search-filter-toggle {
	display: none;
}

#es.is-mobile [data-es-search] [data-es-search-filter-wrap] {
	clear: both;
	position: relative;
	width: 100%;
	z-index: 1;
}

#es.is-mobile [data-es-search] .es-search-advance {
	position: relative;
	z-index: 2;
}

#es.is-mobile [data-es-search] .es-search-advance a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	pointer-events: auto;
	touch-action: manipulation;
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced {
	margin-top: 12px;
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced button.es-search-filter-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 42px;
	border-radius: 6px;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #1f2937;
	font-weight: 700;
	line-height: 1.3;
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced .es-search-filter-toggle__summary {
	min-width: 0;
	max-width: 62%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 500;
	color: #475569;
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced .es-search-filter-toggle__summary:empty {
	display: none;
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced .es-search-filter-toggle__icon {
	font-size: 11px;
	transition: transform .18s ease;
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced.is-open .es-search-filter-toggle__icon {
	transform: rotate(180deg);
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced [data-es-search-filter-panel] {
	display: none;
	margin-top: 8px;
	float: none !important;
	clear: both;
	width: 100% !important;
	max-width: none;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #d7dee8;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
	max-height: 52vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#es.is-mobile [data-es-search-filter-wrap].is-enhanced.is-open [data-es-search-filter-panel] {
	display: grid;
	grid-template-columns: repeat(2, minmax(128px, 1fr));
	gap: 6px 12px;
}

#es.is-mobile [data-es-search-filter-panel] .es-search-filter-item {
	display: flex;
	align-items: center;
	min-width: 0;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

#es.is-mobile [data-es-search-filter-panel] .es-search-filter-item label {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 8px 8px 8px 32px;
	font-weight: 500;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	cursor: pointer;
}

#es.is-mobile [data-es-search-filter-panel] .es-search-filter-item label::before,
#es.is-mobile [data-es-search-filter-panel] .es-search-filter-item label::after {
	left: 8px;
	top: 50%;
	margin-top: 0;
	transform: translateY(-50%);
}

[dir="rtl"] #es.is-mobile [data-es-search-filter-panel] .es-search-filter-item label {
	padding: 8px 32px 8px 8px;
	text-align: right;
}

[dir="rtl"] #es.is-mobile [data-es-search-filter-panel] .es-search-filter-item label::before,
[dir="rtl"] #es.is-mobile [data-es-search-filter-panel] .es-search-filter-item label::after {
	right: 8px;
	left: auto;
}

@media (max-width: 768px) {
	/* The album grid renders the photo header as a full-tile overlay by default.
	   On mobile that blocks taps on the photo thumbnail itself. */
	#es.is-mobile .es-photo-item.layout-item [data-photo-header] {
		bottom: auto;
		height: auto;
		pointer-events: none;
	}

	#es.is-mobile .es-photo-item.layout-item [data-photo-header] a,
	#es.is-mobile .es-photo-item.layout-item [data-photo-header] button,
	#es.is-mobile .es-photo-item.layout-item [data-photo-header] [data-es-toggle],
	#es.is-mobile .es-photo-item.layout-item [data-photo-header] .dropdown-menu,
	#es.is-mobile .es-photo-item.layout-item [data-photo-header] .dropdown-menu * {
		pointer-events: auto;
	}

	.es-photo-uploader-panel__surface {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.es-photo-uploader-panel__summary-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.es-photo-uploader-panel__summary-percent {
		font-size: 16px;
	}

	.es-photo-uploader-panel__icon {
		width: 54px;
		height: 54px;
		border-radius: 18px;
		font-size: 24px;
	}

	.es-photo-uploader-panel__title {
		font-size: 16px;
	}

	.es-photo-uploader-panel__actions {
		width: 100%;
	}

	.es-video-dropzone__surface {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.es-video-dropzone__icon {
		width: 52px;
		height: 52px;
	}

	#es [data-es-search] [data-es-search-filter-wrap] {
		clear: both;
		position: relative;
		margin-top: 12px;
		width: 100%;
		z-index: 1;
	}

	#es [data-es-search] .es-search-advance {
		position: relative;
		z-index: 2;
	}

	#es [data-es-search] .es-search-advance a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		pointer-events: auto;
		touch-action: manipulation;
	}

	#es [data-es-search-filter-wrap].is-enhanced button.es-search-filter-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		min-height: 42px;
		border-radius: 6px;
		border: 1px solid #cbd5e1;
		background: #fff;
		color: #1f2937;
		font-weight: 700;
		line-height: 1.3;
	}

		#es [data-es-search-filter-wrap].is-enhanced .es-search-filter-toggle__summary {
			min-width: 0;
			max-width: 62%;
			overflow: hidden;
			text-overflow: ellipsis;
		white-space: nowrap;
		font-weight: 500;
			color: #475569;
		}

		#es [data-es-search-filter-wrap].is-enhanced .es-search-filter-toggle__summary:empty {
			display: none;
		}

		#es [data-es-search-filter-wrap].is-enhanced .es-search-filter-toggle__icon {
			font-size: 11px;
			transition: transform .18s ease;
		}

	#es [data-es-search-filter-wrap].is-enhanced.is-open .es-search-filter-toggle__icon {
		transform: rotate(180deg);
	}

	#es [data-es-search-filter-wrap].is-enhanced [data-es-search-filter-panel] {
		display: none;
			margin-top: 8px;
			float: none !important;
			clear: both;
			width: 100% !important;
			max-width: none;
			box-sizing: border-box;
			padding: 10px 12px;
			border: 1px solid #d7dee8;
			border-radius: 6px;
			background: #fff;
		box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
		max-height: 52vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

		#es [data-es-search-filter-wrap].is-enhanced.is-open [data-es-search-filter-panel] {
			display: grid;
			grid-template-columns: repeat(2, minmax(128px, 1fr));
			gap: 6px 12px;
		}

		#es [data-es-search-filter-panel] .es-search-filter-item {
			display: flex;
			align-items: center;
			min-width: 0;
			float: none !important;
			width: auto !important;
			margin: 0 !important;
		}

		#es [data-es-search-filter-panel] .es-search-filter-item label {
			position: relative;
			display: block;
			width: 100%;
			margin: 0;
			padding: 8px 8px 8px 32px;
			font-weight: 500;
			line-height: 1.3;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
			cursor: pointer;
		}

		#es [data-es-search-filter-panel] .es-search-filter-item label::before,
		#es [data-es-search-filter-panel] .es-search-filter-item label::after {
			left: 8px;
			top: 50%;
			margin-top: 0;
			transform: translateY(-50%);
		}

		[dir="rtl"] #es [data-es-search-filter-panel] .es-search-filter-item label {
			padding: 8px 32px 8px 8px;
			text-align: right;
		}

		[dir="rtl"] #es [data-es-search-filter-panel] .es-search-filter-item label::before,
		[dir="rtl"] #es [data-es-search-filter-panel] .es-search-filter-item label::after {
			right: 8px;
			left: auto;
		}
	}

	@media (max-width: 420px) {
		#es [data-es-search-filter-wrap].is-enhanced.is-open [data-es-search-filter-panel] {
			grid-template-columns: 1fr;
		}
	}

@media (max-width: 640px) {
	#es .es-photo-hint.tag-hint {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 8px;
		padding: 10px 12px;
	}

	#es .es-photo-hint.tag-hint [data-photo-tag-button="disable"] {
		min-height: 42px;
		margin-inline-start: 8px;
		padding: 10px 16px;
	}

	.rtl #es .es-photo-hint.tag-hint [data-photo-tag-button="disable"],
	[dir="rtl"] #es .es-photo-hint.tag-hint [data-photo-tag-button="disable"] {
		margin-inline-start: 0;
		margin-inline-end: 8px;
	}

	.es-photo-upload-tile__body {
		padding: 12px;
	}

	.es-photo-uploader-panel__summary {
		padding: 12px 14px;
	}

	.es-video-dropzone {
		padding: 18px;
	}

	.es-video-dropzone__facts {
		flex-direction: column;
		align-items: stretch;
	}

	.es-video-dropzone__fact {
		justify-content: flex-start;
	}

	.es-video-upload-card {
		padding: 12px;
	}
}
