/* =====================================================================
   Latitude Key — page "Savor the experience" (ID 2280)
   Visuals that Elementor cannot express: the collection-image hover and the
   partner-logo marquee. Enqueued only on that page (see inc/lk-savor.php).
   Dimensions (16/10, object-fit) are set on the widgets in Elementor.
   ===================================================================== */

/* ---- Collection images: lift the frame, zoom the photo inside it ----
   Same figures as the reference design: wrapper translateY(-4px)/.26s,
   image scale(1.035)/.42s, the wrapper clipping the overflow. */
#lk-savor-collection-1-media,
#lk-savor-collection-2-media,
#lk-savor-collection-3-media {
	overflow: hidden;
	transition: transform .26s ease;
	will-change: transform;
}
#lk-savor-collection-1-media:hover,
#lk-savor-collection-2-media:hover,
#lk-savor-collection-3-media:hover { transform: translateY(-4px); }
#lk-savor-collection-1-media img,
#lk-savor-collection-2-media img,
#lk-savor-collection-3-media img { transition: transform .42s ease; }
#lk-savor-collection-1-media:hover img,
#lk-savor-collection-2-media:hover img,
#lk-savor-collection-3-media:hover img { transform: scale(1.035); }
@media (prefers-reduced-motion: reduce) {
	#lk-savor-collection-1-media, #lk-savor-collection-2-media, #lk-savor-collection-3-media,
	#lk-savor-collection-1-media img, #lk-savor-collection-2-media img, #lk-savor-collection-3-media img { transition: none; }
	#lk-savor-collection-1-media:hover, #lk-savor-collection-2-media:hover, #lk-savor-collection-3-media:hover { transform: none; }
	#lk-savor-collection-1-media:hover img, #lk-savor-collection-2-media:hover img, #lk-savor-collection-3-media:hover img { transform: none; }
}

/* ---- [lk_logo_marquee] — endless partner-logo band ----
   The set is printed twice and the track translated by -50%: no visible seam. */
.lk-marquee {
	--lk-marquee-speed: 34s;
	--lk-marquee-height: 62px;
	--lk-marquee-gap: 72px;
	width: 100vw;
	margin-left: 50%;
	transform: translateX(-50%);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.lk-marquee-track {
	display: flex;
	width: max-content;
	animation: lk-marquee var(--lk-marquee-speed) linear infinite;
}
.lk-marquee:hover .lk-marquee-track,
.lk-marquee:focus-within .lk-marquee-track { animation-play-state: paused; }
.lk-marquee-set {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: var(--lk-marquee-gap);
	padding-right: var(--lk-marquee-gap);
}
.lk-marquee-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 190px;
	width: 190px;
	height: calc(var(--lk-marquee-height) + 24px);
}
.lk-marquee-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: var(--lk-marquee-height);
	object-fit: contain;
}
@keyframes lk-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.lk-marquee { -webkit-mask-image: none; mask-image: none; overflow-x: auto; }
	.lk-marquee-track { animation: none; }
}
@media (max-width: 767px) {
	.lk-marquee { --lk-marquee-gap: 44px; --lk-marquee-height: 44px; }
	.lk-marquee-logo { flex-basis: 132px; width: 132px; }
}
.lk-marquee-empty { color: #5B6B73; font-size: 14px; text-align: center; margin: 0; }
