/**
 * Cinematic hero: <img> u .hero__media, overflow hidden, keyframe zoom + drift.
 * Parallax: .hero__parallax dobiva --hero-parallax-x/y iz cmrok-hero.js (max 10px).
 *
 * Brzina i pomak: sve se podešava na .hero (inline style ili u CSS-u):
 *   --hero-anim-duration     trajanje jednog smjera (alternate = tamo-nazad)
 *   --hero-anim-timing       npr. ease-in-out, linear
 *   --hero-drift-x-start/end, --hero-drift-y-start/end  translate u % (ili px)
 *   --hero-drift-scale-start/end  zoom (bez jedinice, npr. 1 i 1.1)
 *   --hero-object-position-x/y, --hero-transform-origin-x/y  kadar i ishodište zooma
 *   --hero-parallax-max  max pomak miša u px (čita cmrok-hero.js)
 */

.hero {
	--hero-parallax-max: 10px;
	--hero-anim-duration: 16s;
	--hero-anim-timing: ease-in-out;
	--hero-drift-x-start: -1.6%;
	--hero-drift-x-end: 1.6%;
	--hero-drift-y-start: 0.35%;
	--hero-drift-y-end: 0.15%;
	--hero-drift-scale-start: 1;
	--hero-drift-scale-end: 1.1;
	--hero-object-position-x: 50%;
	--hero-object-position-y: 18%;
	--hero-transform-origin-x: 50%;
	--hero-transform-origin-y: 32%;

	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 65vh;
	overflow: hidden;
	isolation: isolate;
}

@media (min-width: 768px) {
	.hero {
		min-height: 70vh;
	}
}

.hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	background: #0f172a;
}

/* Veći od viewporta da scale 1.1 ne pokaže rubove */
.hero__parallax {
	--hero-parallax-x: 0px;
	--hero-parallax-y: 0px;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 115%;
	height: 115%;
	min-width: 100%;
	min-height: 100%;
	transform: translate3d(calc(-50% + var(--hero-parallax-x)), calc(-50% + var(--hero-parallax-y)), 0);
	will-change: transform;
}

.hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--hero-object-position-x) var(--hero-object-position-y);
	transform-origin: var(--hero-transform-origin-x) var(--hero-transform-origin-y);
	will-change: transform;
	animation: hero-cinematic-drift var(--hero-anim-duration) var(--hero-anim-timing) infinite alternate;
}

@keyframes hero-cinematic-drift {
	0% {
		transform: translate3d(var(--hero-drift-x-start), var(--hero-drift-y-start), 0)
			scale(var(--hero-drift-scale-start));
	}
	100% {
		transform: translate3d(var(--hero-drift-x-end), var(--hero-drift-y-end), 0)
			scale(var(--hero-drift-scale-end));
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero__img {
		animation: none;
		will-change: auto;
		transform: none;
	}

	.hero__parallax {
		will-change: auto;
		transform: translate3d(-50%, -50%, 0);
	}
}

.hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		rgba(15, 23, 42, 0.25) 0%,
		rgba(15, 23, 42, 0.45) 40%,
		rgba(15, 23, 42, 0.78) 72%,
		rgba(15, 23, 42, 0.92) 100%
	);
}

.hero__content {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 64rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	text-align: center;
	text-shadow:
		0 1px 2px rgba(0, 0, 0, 0.45),
		0 4px 32px rgba(0, 0, 0, 0.55);
}

.hero__placeholder {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #1e293b;
}
