/* PB Galerija ugradnji: mozaik 4 / 3 / 2 stupca; svaka 9. fotografija je velika (2 x 2), naizmjence lijevo i desno.
   Visina retka računa se iz širine (container query), pa je svaka mala pločica 4:5, a velika točno 2 x 2. */
/* Od ruba do ruba ekrana; 6 stupaca na velikim ekranima (blok od 9 = 2 puna retka), 4 / 3 / 2 na manjima */
.pbw-gal {
	--gal-cols: 6;
	--gal-gap: 8px;
	container-type: inline-size;
	width: 100%;
}

.pbw-gal__grid {
	display: grid;
	grid-template-columns: repeat(var(--gal-cols), minmax(0, 1fr));
	grid-auto-rows: calc((100cqw - (var(--gal-cols) - 1) * var(--gal-gap)) / var(--gal-cols) * 1.25);
	grid-auto-flow: dense;
	gap: var(--gal-gap);
}

.pbw-gal__item {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--pbw-r-lg, 14px);
	background: var(--bg-alt);
}

.pbw-gal__item[hidden] {
	display: none;
}

.pbw-gal__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}

/* Velike: svaka 9. fotografija, naizmjence lijevo (1., 19., 37. ...) i desno (10., 28., 46. ...) */
.pbw-gal--big .pbw-gal__item:nth-child(18n + 1) {
	grid-column: span 2;
	grid-row: span 2;
}

.pbw-gal--big .pbw-gal__item:nth-child(18n + 10) {
	grid-column: -3 / -1;
	grid-row: span 2;
}

/* Novo prikazane fotografije lagano izrone */
.pbw-gal__item.is-new {
	animation: pbw-gal-in .5s cubic-bezier(.22, .61, .36, 1) both;
}

@keyframes pbw-gal-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

@media (hover: hover) {
	.pbw-gal__item:hover img {
		transform: scale(1.04);
	}
}

.pbw-gal__item:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

.pbw-gal__more {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}

.pbw-gal__more[hidden] {
	display: none;
}

/* Sekundarni gumb (isti kao ostali sekundarni gumbi u shopu) */
body.elementor-kit-6 .pbw-gal .pbw-gal__btn:not(#pb-x):not(#pb-y) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	box-sizing: border-box;
	min-height: 41px;
	padding: 11px 20px;
	border: 1px solid var(--fill);
	border-radius: 980px;
	background: var(--fill);
	color: var(--text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 17px;
	letter-spacing: -.01em;
	text-transform: none;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
}

body.elementor-kit-6 .pbw-gal .pbw-gal__btn:not(#pb-x):not(#pb-y):is(:hover, :focus-visible) {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--on-accent);
}

.pbw-gal__left {
	opacity: .6;
}

@media (max-width: 1199px) {
	.pbw-gal {
		--gal-cols: 4;
	}
}

@media (max-width: 899px) {
	.pbw-gal {
		--gal-cols: 3;
	}
}

@media (max-width: 640px) {
	.pbw-gal {
		--gal-cols: 2;
		--gal-gap: 6px;
	}

	body.elementor-kit-6 .pbw-gal .pbw-gal__btn:not(#pb-x):not(#pb-y) {
		padding-inline: 16px;
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pbw-gal__item img,
	.pbw-gal__item.is-new {
		transition: none;
		animation: none;
	}
}

/* ---------- Pokretni redovi (kao Google recenzije): sve fotografije, od ruba do ruba ---------- */
.pbw-gal--marquee {
	--gal-h: 240px;
	--gal-gap: 8px;
	display: grid;
	gap: var(--gal-gap);
	overflow: hidden;
	container-type: normal;
}

.pbw-gal__row {
	overflow: hidden;
}

.pbw-gal__track {
	display: flex;
	width: max-content;
	animation: pbw-gal-mq var(--gal-dur, 80s) linear infinite;
	will-change: transform;
}

/* Susjedni red ide u suprotnom smjeru */
.pbw-gal__row--rev .pbw-gal__track {
	animation-direction: reverse;
}

.pbw-gal--marquee.is-off .pbw-gal__track {
	animation-play-state: paused;
}

@media (hover: hover) {
	.pbw-gal__row:hover .pbw-gal__track {
		animation-play-state: paused;
	}
}

.pbw-gal__row:focus-within .pbw-gal__track {
	animation-play-state: paused;
}

@keyframes pbw-gal-mq {
	to {
		transform: translate3d(-50%, 0, 0);
	}
}

.pbw-gal__set {
	display: flex;
	gap: var(--gal-gap);
	padding-right: var(--gal-gap);
}

.pbw-gal--marquee .pbw-gal__item {
	flex: none;
	width: calc(var(--gal-h) * .8);
	height: var(--gal-h);
	border-radius: var(--pbw-r, 8px);
}

/* Fotografije u redovima nisu klikabilne, pa bez povećanja na hover (miš samo zaustavi red) */
.pbw-gal--marquee .pbw-gal__item:hover img {
	transform: none;
}

@media (max-width: 1100px) {
	.pbw-gal--marquee {
		--gal-h: 200px;
	}
}

@media (max-width: 640px) {
	.pbw-gal--marquee {
		--gal-h: 150px;
		--gal-gap: 6px;
	}
}

/* Bez animacije: redovi se listaju prstom ili trackpadom, kopije se skrivaju */
@media (prefers-reduced-motion: reduce) {
	.pbw-gal__track {
		animation: none;
	}

	.pbw-gal__row {
		overflow-x: auto;
		scrollbar-width: none;
	}

	.pbw-gal__set[aria-hidden="true"],
	.pbw-gal--marquee .pbw-gal__item[data-pbw-dup] {
		display: none;
	}
}
