/* VEONET — Avant/Après (comparateur glissant) */
.veo-ba { --veo-ba-blue: #1457B8; }
.veo-ba * { box-sizing: border-box; }
.veo-ba-frame {
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: #dfeaf2;
	box-shadow: 0 18px 48px rgba(11,31,63,.16);
	touch-action: pan-y;
	cursor: ew-resize;
	--pos: 50;
	-webkit-user-select: none;
	user-select: none;
}
.veo-ba-frame img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}
.veo-ba-before {
	clip-path: inset(0 calc(100% - var(--pos) * 1%) 0 0);
}
.veo-ba-tag {
	position: absolute;
	top: 14px;
	z-index: 3;
	font: 600 12px/1 system-ui, sans-serif;
	color: #fff;
	padding: 6px 12px;
	border-radius: 100px;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.veo-ba-tag.before { left: 14px; background: rgba(22,26,31,.62); }
.veo-ba-tag.after  { right: 14px; background: #1FA463; }
.veo-ba-divider {
	position: absolute;
	top: 0; bottom: 0;
	left: calc(var(--pos) * 1%);
	width: 2px;
	margin-left: -1px;
	background: #fff;
	z-index: 4;
	box-shadow: 0 0 12px rgba(0,0,0,.35);
	pointer-events: none;
}
.veo-ba-handle {
	position: absolute;
	top: 50%;
	left: calc(var(--pos) * 1%);
	z-index: 5;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #fff;
	transform: translate(-50%,-50%);
	box-shadow: 0 6px 18px rgba(11,31,63,.32);
	display: grid;
	place-items: center;
	color: #1457B8;
	pointer-events: none;
}
.veo-ba-handle svg { width: 22px; height: 22px; }
.veo-ba-cap {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 2px 0;
	font: 400 13.5px/1.4 system-ui, sans-serif;
	color: #41474E;
}
.veo-ba-cap svg { width: 16px; height: 16px; color: #1FA463; flex: none; }
.veo-ba-frame:focus-visible { outline: 2px solid #1457B8; outline-offset: 2px; }
.veo-ba-rooms {
	display: flex;
	gap: 10px;
	margin-top: 14px;
}
.veo-ba-room {
	flex: 1;
	border: none;
	padding: 0;
	border-radius: 13px;
	overflow: hidden;
	aspect-ratio: 1;
	position: relative;
	cursor: pointer;
	opacity: .55;
	transition: opacity .2s, box-shadow .2s, transform .2s;
	background: #dfeaf2;
}
.veo-ba-room:hover { opacity: .85; }
.veo-ba-room.on { opacity: 1; box-shadow: 0 0 0 2px #1457B8; transform: translateY(-2px); }
.veo-ba-room img { width: 100%; height: 100%; object-fit: cover; display: block; }
.veo-ba-room span {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	font: 600 10px/1.2 system-ui, sans-serif;
	color: #fff;
	background: linear-gradient(transparent, rgba(0,0,0,.65));
	padding: 10px 4px 4px;
}
