/**
 * Hover and focus animations across the site.
 *
 * Only where a mouse can hover and only when the visitor has not asked for
 * less motion. They use the individual `translate` / `scale` / `rotate`
 * properties, so they never fight the scroll-reveal `transform`, and nothing
 * changes layout. Photos are never cropped or zoomed beyond a few percent;
 * product photos lift together with their white stage (a transform on the
 * link alone would break their multiply blending).
 */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {

	:root {
		--tlm-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
		--tlm-ease: cubic-bezier(0.16, 1, 0.3, 1);
	}

	/* ------------------------------------------------------------
	 * Cards that lift: product cards, reviews, steps, experience photos
	 * ------------------------------------------------------------ */
	.woocommerce ul.products li.product,
	.vb-quote,
	.tlm-tour-reviews__card,
	.tlm-step-card,
	.tlm-xp-guests__tall, .tlm-xp-guests__top, .tlm-xp-guests__bottom,
	.tls-photo,
	.tlm-gallery-item {
		transition: translate 0.45s var(--tlm-ease), box-shadow 0.45s var(--tlm-ease), background-color 0.3s ease;
	}

	.woocommerce ul.products li.product:hover {
		translate: 0 -8px;
	}

	.woocommerce ul.products li.product:hover .woocommerce-LoopProduct-link {
		box-shadow: 0 22px 34px -18px rgba(27, 36, 64, 0.45);
	}

	.vb-quote:hover,
	.tlm-tour-reviews__card:hover {
		translate: 0 -6px;
		background-color: rgba(255, 255, 255, 0.2);
		box-shadow: 0 20px 30px -18px rgba(0, 0, 0, 0.55);
	}

	.tlm-step-card:hover { translate: 0 -6px; }
	.tlm-step-card .tlm-step-card__num { display: inline-block; transition: scale 0.4s var(--tlm-spring), color 0.3s ease; }
	.tlm-step-card:hover .tlm-step-card__num { scale: 1.25; color: var(--vb-tangerine, #F59A3B); }

	.tlm-xp-guests__tall:hover, .tlm-xp-guests__top:hover, .tlm-xp-guests__bottom:hover,
	.tls-photo:hover,
	.tlm-gallery-item:hover { translate: 0 -6px; }

	.tls-photo:hover img,
	.tlm-xp-guests__tall:hover img, .tlm-xp-guests__top:hover img, .tlm-xp-guests__bottom:hover img {
		box-shadow: 0 22px 34px -16px rgba(27, 36, 64, 0.55);
	}

	/* ------------------------------------------------------------
	 * Home: facts, flavours, intro photos
	 * ------------------------------------------------------------ */
	.vb-facts__icon { transition: rotate 0.45s var(--tlm-spring), scale 0.45s var(--tlm-spring); }
	.vb-facts__row li:hover .vb-facts__icon { rotate: -10deg; scale: 1.18; }

	.vb-flavor { transition: scale 0.35s var(--tlm-spring), rotate 0.35s var(--tlm-spring), box-shadow 0.3s ease; }
	.vb-flavor:hover { scale: 1.12; rotate: -2deg; box-shadow: 0 10px 18px -8px rgba(0, 0, 0, 0.5); }

	.vb-intro__main, .vb-intro__inset { transition: translate 0.5s var(--tlm-ease), rotate 0.5s var(--tlm-ease); }
	.vb-intro__main:hover { translate: 0 -6px; rotate: -0.8deg; }
	.vb-intro__inset:hover { translate: 0 -6px; rotate: 1.5deg; }

	/* ------------------------------------------------------------
	 * Lists: FAQ, what's included, our-story values, footer links
	 * ------------------------------------------------------------ */
	.tlm-plan-visit summary { transition: translate 0.35s var(--tlm-ease), color 0.25s ease; }
	.tlm-plan-visit summary:hover { translate: 8px 0; }

	.tlm-manifest-list li { transition: translate 0.35s var(--tlm-ease); }
	.tlm-manifest-list li:hover { translate: 8px 0; }

	.tls-values__row h3 { transition: translate 0.4s var(--tlm-ease); }
	.tls-values__row h3::before { transition: scale 0.4s var(--tlm-spring); }
	.tls-values__row:hover h3 { translate: 10px 0; }
	.tls-values__row:hover h3::before { scale: 1.7; }

	.tlm-footer a { transition: translate 0.3s var(--tlm-ease), color 0.2s ease; }
	.tlm-footer__body a:hover { translate: 4px 0; }
	.tlm-footer__social-row a { transition: scale 0.35s var(--tlm-spring), rotate 0.35s var(--tlm-spring), background-color 0.2s ease; }
	.tlm-footer__social-row a:hover { scale: 1.18; rotate: -8deg; translate: 0 0; }

	/* ------------------------------------------------------------
	 * Header, floating buttons, controls
	 * ------------------------------------------------------------ */
	.ct-header .site-logo-container img { transition: scale 0.4s var(--tlm-spring); }
	.ct-header .site-logo-container:hover img { scale: 1.05; }

	.tlm-mode-toggle > a svg { transition: rotate 0.6s var(--tlm-spring); }
	.tlm-mode-toggle > a:hover svg { rotate: 90deg; }

	.tlm-lang-switch .tlm-lang__globe { transition: rotate 0.6s var(--tlm-ease); }
	.tlm-lang-switch > a:hover .tlm-lang__globe { rotate: 180deg; }

	.tlm-floating-whatsapp, .tlm-wa-float, [class*="floating-whatsapp"] { transition: scale 0.35s var(--tlm-spring), rotate 0.35s var(--tlm-spring); }
	.tlm-floating-whatsapp:hover, .tlm-wa-float:hover, [class*="floating-whatsapp"]:hover { scale: 1.12; rotate: -6deg; }

	.vb-hero__dots button, .tlg-hero__dots button { transition: scale 0.25s var(--tlm-spring), background-color 0.2s ease; }
	.vb-hero__dots button:hover, .tlg-hero__dots button:hover { scale: 1.4; }

	/* ------------------------------------------------------------
	 * Contact: fields and map
	 * ------------------------------------------------------------ */
	.tlc .tlc-field input, .tlc .tlc-field textarea { transition: border-color 0.2s ease, box-shadow 0.25s ease, translate 0.25s var(--tlm-ease); }
	.tlc .tlc-field input:hover, .tlc .tlc-field textarea:hover { border-color: var(--vb-lagoon, #1C628D); translate: 0 -1px; }

	.tlc-map__frame { transition: translate 0.45s var(--tlm-ease), box-shadow 0.45s var(--tlm-ease); border-radius: 14px; }
	.tlc-map__frame:hover { translate: 0 -6px; box-shadow: 0 24px 36px -18px rgba(27, 36, 64, 0.5); }

	/* ------------------------------------------------------------
	 * Buttons: a small press-and-spring on every pill
	 * ------------------------------------------------------------ */
	.vb-btn svg, .tlc-submit { transition: translate 0.3s var(--tlm-spring), transform 0.25s ease, background-color 0.2s ease, box-shadow 0.2s ease; }
	.vb-btn:hover svg { translate: 4px 0; }

	/* headings of sections nudge their kicker */
	.vb-kicker { transition: scale 0.3s var(--tlm-spring); transform-origin: left center; }
	.vb-kicker:hover { scale: 1.06; }
}

/* touch screens: a quick press feedback instead of hover */
@media (hover: none) and (prefers-reduced-motion: no-preference) {
	.woocommerce ul.products li.product:active,
	.vb-quote:active, .tlm-step-card:active, .tlc-channel:active { scale: 0.98; transition: scale 0.15s ease; }
}
