.envi-ba {
	position: relative;
	width: 100%;
	max-width: 100%;
}

.envi-ba-frame {
	position: relative;
	width: 100%;
	aspect-ratio: var(--envi-ba-ratio, 4 / 3);
	overflow: hidden;
	border-radius: 4px;
	background: #ddd;
	user-select: none;
	-webkit-user-select: none;
}

.envi-ba-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}

/* Ez a lényeg: a "before" képet CSS clip-path vágja, nem JS-ből
   számolt pixel-szélesség. Ezért azonnal, betöltéskor is helyes
   az osztott állapot, függetlenül attól, hogy a kép már ténylegesen
   letöltődött-e vagy sem. */
.envi-ba-before {
	clip-path: inset(0 calc(100% - var(--envi-ba-pos, 50%)) 0 0);
}

.envi-ba-divider {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--envi-ba-pos, 50%);
	width: 2px;
	margin-left: -1px;
	background: var(--envi-ba-handle, #fff);
	box-shadow: 0 0 4px rgba(0, 0, 0, .4);
	pointer-events: none;
	z-index: 2;
}

.envi-ba-handle {
	position: absolute;
	top: 50%;
	left: var(--envi-ba-pos, 50%);
	width: 40px;
	height: 40px;
	margin-left: -20px;
	margin-top: -20px;
	background: var(--envi-ba-handle, #fff);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 6px rgba(0, 0, 0, .4);
	pointer-events: none;
	z-index: 3;
}

.envi-ba-arrow {
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

.envi-ba-arrow-left {
	border-right: 8px solid #333;
	margin-right: 4px;
}

.envi-ba-arrow-right {
	border-left: 8px solid #333;
	margin-left: 4px;
}

.envi-ba-label {
	position: absolute;
	bottom: 12px;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font-size: 13px;
	padding: 4px 10px;
	border-radius: 3px;
	z-index: 2;
	pointer-events: none;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.envi-ba-label-before {
	left: 12px;
}

.envi-ba-label-after {
	right: 12px;
}

/* Láthatatlan natív range input a teljes felület felett -
   ez adja az egér/érintő/billentyűzet-vezérlést, de vizuálisan
   a fenti divider + handle elemek jelenítik meg a csúszkát. */
.envi-ba-range {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: ew-resize;
	-webkit-appearance: none;
	appearance: none;
	z-index: 4;
}

.envi-ba-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 40px;
	height: 100%;
}

.envi-ba-range::-moz-range-thumb {
	width: 40px;
	height: 100%;
	border: none;
	background: transparent;
}

.envi-ba-range::-moz-range-track {
	background: transparent;
	border: none;
}
