/* Dedicated Elementor widgets — Universal Marquee v1.0.0 */
.um-widget-marquee {
	--umw-speed: 45;
	--umw-gap: 18px;
	--umw-item-width: 360px;
	--umw-item-height: 280px;
	--umw-fade: 70px;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.um-widget-marquee.umw-edge-fade {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--umw-fade), #000 calc(100% - var(--umw-fade)), transparent 100%);
	mask-image: linear-gradient(to right, transparent 0, #000 var(--umw-fade), #000 calc(100% - var(--umw-fade)), transparent 100%);
}

.um-widget-track,
.um-widget-group {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	width: max-content;
	min-width: max-content;
	max-width: none;
	margin: 0;
	padding: 0;
}

.um-widget-track {
	gap: 0;
	will-change: transform;
	transform: translate3d(0,0,0);
}

.um-widget-group {
	gap: var(--umw-gap);
	padding-right: var(--umw-gap);
}

.um-widget-group > * {
	flex: 0 0 var(--umw-item-width);
	width: var(--umw-item-width);
	max-width: var(--umw-item-width);
}

.um-media-item {
	position: relative;
	display: block;
	height: var(--umw-item-height);
	padding: 0;
	border: 0;
	background: #111;
	overflow: hidden;
	cursor: pointer;
	font: inherit;
	text-align: left;
}

.um-media-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.um-media-item:hover img { transform: scale(1.035); }
.um-media-placeholder { display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;background:#191919; }
.um-media-play-overlay { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none; }
.um-media-play { display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.45);font-size:24px;padding-left:4px; }
.um-media-caption { position:absolute;left:16px;right:16px;bottom:14px;color:#fff;font-size:14px;line-height:1.35;text-shadow:0 1px 10px rgba(0,0,0,.8); }

.um-review-card {
	box-sizing: border-box;
	padding: 26px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 16px;
	box-shadow: 0 12px 35px rgba(0,0,0,.07);
}
.um-review-top { display:flex;align-items:center;gap:14px;margin-bottom:14px; }
.um-review-avatar { width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto; }
.um-review-name { font-weight:700;font-size:17px;line-height:1.25; }
.um-review-role { margin-top:3px;color:#777;font-size:13px;line-height:1.35; }
.um-review-stars { margin-bottom:12px;color:#d29531;font-size:17px;letter-spacing:2px;white-space:nowrap; }
.um-review-text { color:#333;font-size:15px;line-height:1.7; }

@media (prefers-reduced-motion: reduce) {
	.um-widget-track { transform:none !important; }
}
