/**
 * Gallery Media — calm hover enhancement (outside ZTV hashed CSS).
 *
 * Soft card lift + gentle media zoom inside clipped frame.
 * Touch devices: no hover simulation (hover:hover + pointer:fine only).
 *
 * Respects frozen `--hover-none` (no enhancement).
 * Softens / completes frozen `--hover-zoom` and `--hover-lift` toward one calm language.
 *
 * @package italplast2
 */

@media (hover: hover) and (pointer: fine) {
	/* Base transitions for zoom/lift modes (overrides frozen 220ms when both apply). */
	.ital-gallery-media--hover-zoom .ital-gallery-media__img,
	.ital-gallery-media--hover-zoom .ital-gallery-media__poster,
	.ital-gallery-media--hover-lift .ital-gallery-media__img,
	.ital-gallery-media--hover-lift .ital-gallery-media__poster {
		transition: transform 340ms cubic-bezier(0.33, 1, 0.68, 1);
		transform-origin: center center;
	}

	.ital-gallery-media--hover-zoom .ital-gallery-media__frame,
	.ital-gallery-media--hover-lift .ital-gallery-media__frame {
		transition:
			transform 340ms cubic-bezier(0.33, 1, 0.68, 1),
			box-shadow 340ms cubic-bezier(0.33, 1, 0.68, 1);
	}

	.ital-gallery-media--hover-zoom .ital-gallery-media__play,
	.ital-gallery-media--hover-lift .ital-gallery-media__play {
		transition:
			transform 340ms cubic-bezier(0.33, 1, 0.68, 1),
			opacity 340ms cubic-bezier(0.33, 1, 0.68, 1);
		transform-origin: center center;
	}

	/* Soften frozen zoom (1.035) → 1.03; also give lift mode the same soft zoom. */
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:hover .ital-gallery-media__img,
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:hover .ital-gallery-media__poster,
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:focus-visible .ital-gallery-media__img,
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:focus-visible .ital-gallery-media__poster,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:hover .ital-gallery-media__img,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:hover .ital-gallery-media__poster,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:focus-visible .ital-gallery-media__img,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:focus-visible .ital-gallery-media__poster {
		transform: scale(1.03);
	}

	/* Soft lift for both zoom and lift modes (2–3px). */
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:hover .ital-gallery-media__frame,
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:focus-visible .ital-gallery-media__frame,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:hover .ital-gallery-media__frame,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:focus-visible .ital-gallery-media__frame {
		transform: translateY(-3px);
		box-shadow: 0 12px 28px rgba(16, 24, 20, 0.12);
	}

	.ital-gallery-media--hover-zoom .ital-gallery-media__media:hover .ital-gallery-media__play,
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:focus-visible .ital-gallery-media__play,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:hover .ital-gallery-media__play,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:focus-visible .ital-gallery-media__play {
		transform: scale(1.03);
		opacity: 0.96;
	}

	/* Native video: no forced zoom on the playing surface. */
	.ital-gallery-media--hover-zoom .ital-gallery-media__media:hover .ital-gallery-media__video,
	.ital-gallery-media--hover-lift .ital-gallery-media__media:hover .ital-gallery-media__video {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ital-gallery-media__img,
	.ital-gallery-media__poster,
	.ital-gallery-media__frame,
	.ital-gallery-media__play,
	.ital-gallery-media__video {
		transition: none !important;
		transform: none !important;
	}
}
