/* PB Google recenzije (koncept: naslov sekcije, lijevo ocjena s Google "G", desno recenzije u retcima s tankim linijama) */
.pbw-rev__title {
	max-width: 18em;
	margin: 0 0 clamp(28px, 4vw, 48px);
}

.pbw-rev {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(28px, 5vw, 80px);
	align-items: start;
}

.pbw-rev--with-summary {
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
}

.pbw-rev__side {
	display: grid;
	justify-items: start;
	gap: 12px;
}

.pbw-rev__sum {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	justify-content: start;
	gap: 12px 16px;
}

.pbw-rev__logo {
	display: inline-flex;
	align-items: center;
}

.pbw-rev__logo img {
	display: block;
	width: auto;
	height: 28px;
}

.pbw-rev__g svg {
	display: block;
	width: 34px;
	height: 34px;
}

.pbw-rev__big {
	font-family: var(--pbw-f-display);
	font-size: clamp(3.2rem, 5vw, 4.4rem);
	font-weight: 500;
	font-stretch: 108%;
	letter-spacing: -.035em;
	line-height: 1;
}

.pbw-rev__meta {
	display: grid;
	grid-column: 1 / -1;
	gap: 6px;
}

/* Zvjezdice u recenzijama: isti SVG kao uz ocjenu u zaglavlju, popunjen Google žutom; veličina ide preko font-size (1em) */
.pbw-rev__stars {
	display: inline-flex;
	gap: .18em;
	color: #FBBC04;
	font-size: 1.15rem;
	line-height: 1;
	vertical-align: middle;
}

.pbw-rev__stars svg {
	display: block;
	width: 1em;
	height: 1em;
	overflow: visible;
	fill: currentColor;
}

.pbw-rev__count {
	color: var(--text);
	font-weight: 600;
}

.pbw-rev__desc {
	margin: 0;
	color: var(--text-secondary);
	font-size: .92rem;
}

/* Link u teal boji za linkove na svijetloj podlozi, bez podcrtavanja; na hover tamniji */
.pbw-rev a.pbw-rev__link {
	color: var(--accent-hover);
	font-weight: 500;
	text-decoration: none;
	transition: color .15s;
}

.pbw-rev a.pbw-rev__link:hover {
	color: var(--accent-active);
	text-decoration: none;
}

.pbw-rev__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(24px, 3vw, 40px);
	align-content: start;
	border-top: 1px solid var(--text);
}

.pbw-rev__item {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 22px 0;
	border-bottom: 1px solid var(--border);
}

.pbw-rev__item .pbw-rev__stars {
	font-size: .95rem;
}

.pbw-rev__text {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1rem;
	font-style: normal;
}

.pbw-rev__who {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	color: var(--text-secondary);
	font-size: .88rem;
}

.pbw-rev__who b {
	display: block;
	color: var(--text);
	font-size: .92rem;
	font-weight: 500;
}

.pbw-rev__who small {
	display: block;
	font-size: .84rem;
}

.pbw-rev__av {
	position: relative;
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 34px;
	height: 34px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--bg-alt);
	color: var(--text);
	font-size: .76rem;
	font-weight: 600;
}

.pbw-rev__av img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Sažetak iznad recenzija (stranica proizvoda) */
.pbw-rev--top {
	gap: 24px;
}

.pbw-rev--top .pbw-rev__side {
	grid-auto-flow: column;
	align-items: center;
	justify-content: space-between;
}

.pbw-rev--top .pbw-rev__desc {
	display: none;
}

.pbw-rev--top .pbw-rev__big {
	font-size: 2.2rem;
}

.pbw-rev--top .pbw-rev__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.pbw-rev--top .pbw-rev__grid {
		grid-template-columns: 1fr;
	}

	.pbw-rev--with-summary {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 640px) {
	.pbw-rev__grid {
		grid-template-columns: 1fr;
	}
}

/* Istaknuti dio teksta: u mreži bez razlike, u traci tamniji od ostatka */
.pbw-rev__hl {
	padding: 0;
	background: none;
	color: inherit;
	font-weight: inherit;
}

/* ---------- Pokretna traka ---------- */
.pbw-rev--marquee {
	display: block;
}

/* Zaglavlje trake: lijevo naslov i Zaustavi, desno ocjena; oba bloka okomito centrirana, rubovi kao sadržaj sekcije */
.pbw-rev__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	margin-bottom: clamp(28px, 4vw, 48px);
}

.pbw-rev__lead {
	display: grid;
	justify-items: start;
	gap: 20px;
}

.pbw-rev--marquee .pbw-rev__title {
	margin: 0;
}

/* Podnaslov ispod naslova: kao podnaslovi ostalih sekcija (17 px, sivo) */
.pbw-rev .pbw-rev__sub {
	max-width: 40em;
	margin: 10px 0 0;
	color: var(--text-secondary);
	font-size: var(--t-body, 17px);
	line-height: 1.47;
}

.pbw-rev__sub--block {
	margin: -16px 0 clamp(28px, 4vw, 48px);
}

.pbw-rev__score {
	display: grid;
	justify-items: start;
	gap: 10px;
}

.pbw-rev--marquee .pbw-rev__sum {
	grid-template-columns: auto auto auto;
	gap: 12px 14px;
}

.pbw-rev--marquee .pbw-rev__meta {
	grid-column: auto;
	gap: 4px;
}

.pbw-rev--marquee .pbw-rev__big {
	font-size: clamp(2.4rem, 4vw, 3.2rem);
}

/* Link ispod ocjene: pb-reviews.js mu podesi veličinu slova da završi točno gdje i zvjezdice */
.pbw-rev__score .pbw-rev__link {
	white-space: nowrap;
}

/* Google zvjezdice u zaglavlju, bez animacije */
.pbw-rev__gstars {
	display: inline-flex;
	gap: 3px;
}

.pbw-rev__gstars span {
	display: block;
	width: 17px;
	height: 17px;
}

.pbw-rev__gstars svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: #FBBC04;
}

/* Računalo: ocjena desno okomito centrirana s naslovom (ne s naslovom + gumbom Zaustavi ispod njega) */
@media (min-width: 641px) {
	.pbw-rev--marquee .pbw-rev__bar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 20px 48px;
	}

	.pbw-rev--marquee .pbw-rev__lead {
		display: contents;
	}

	/* Naslov i podnaslov su jedan blok; ocjena desno je okomito centrirana uz taj blok */
	.pbw-rev--marquee .pbw-rev__head {
		grid-column: 1;
		grid-row: 1;
	}

	.pbw-rev--marquee .pbw-rev__pause {
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
	}

	.pbw-rev--marquee .pbw-rev__score {
		grid-column: 2;
		grid-row: 1;
	}
}

/* Mobitel: naslov, ocjena s linkom, pa Zaustavi */
@media (max-width: 640px) {
	.pbw-rev__bar {
		display: grid;
		justify-items: start;
		gap: 20px;
	}

	.pbw-rev__lead {
		display: contents;
	}

	.pbw-rev__score {
		order: 1;
	}

	.pbw-rev--marquee .pbw-rev__pause {
		order: 2;
	}
}

.pbw-rev__acts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin-left: auto;
}

/* Zaustavi / Pokreni: sekundarni gumb. Veličinu i boje (sivi, teal na hover) daju zajednička pravila gumba u pbw-global.css. */
.pbw-rev .pbw-rev__pause:not(#pb-x):not(#pb-y) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: inherit;
	cursor: pointer;
}

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

.pbw-rev__pause svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}

.pbw-rev__pause .pbw-rev__ico-play,
.pbw-rev__pause[aria-pressed="true"] .pbw-rev__ico-pause {
	display: none;
}

.pbw-rev__pause[aria-pressed="true"] .pbw-rev__ico-play {
	display: block;
}

/* Osigurač: glavna sekcija s trakom obreže višak (npr. scrollbar prije nego JS izmjeri --pbw-sbw) */
.elementor > .e-con:has(.pbw-rev--marquee) {
	overflow-x: clip;
}

/* Traka ide od ruba do ruba ekrana (--pbw-sbw = širina scrollbara, postavlja pb-reviews.js) */
.pbw-rev__mq {
	--pbw-mq-w: calc(100vw - var(--pbw-sbw, 17px));
	--pbw-mq-gap: 12px;
	display: grid;
	gap: var(--pbw-mq-gap);
	width: var(--pbw-mq-w);
	margin-left: calc(50% - var(--pbw-mq-w) / 2);
	overflow: hidden;
}

/* Svaki red je zasebna traka; broj vidljivih redova (--pbw-mq-rows) primjenjuje pb-reviews.js */
.pbw-rev__row {
	overflow: hidden;
}

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

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

.pbw-rev__mq.is-paused .pbw-rev__track,
.pbw-rev__mq.is-off .pbw-rev__track {
	animation-play-state: paused;
}

/* Miš na redu zaustavlja samo taj red */
@media (hover: hover) {
	.pbw-rev__row:hover .pbw-rev__track {
		animation-play-state: paused;
	}
}

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

/* Kartice u redu su iste visine, pa je razmak između redova uvijek samo --pbw-mq-gap */
.pbw-rev__set {
	display: flex;
	align-items: stretch;
	gap: var(--pbw-mq-gap);
	padding-right: var(--pbw-mq-gap);
}

/* Širina kartice prati duljinu teksta, pa kratke recenzije ne ostavljaju prazninu */
.pbw-rev__card {
	display: flex;
	flex: none;
	flex-direction: column;
	gap: 12px;
	width: max-content;
	min-width: 250px;
	max-width: 440px;
	margin: 0;
	padding: 18px 20px 16px;
	border: 1px solid var(--border);
	border-radius: var(--pbw-r-lg);
	background: var(--bg);
}

.pbw-rev__card--long {
	max-width: 680px;
}

/* Izvor na vrhu kartice: Google "G" i "Google recenzija" */
.pbw-rev__src {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--text-secondary);
	font-size: .8rem;
	line-height: 1;
}

/* Najviše 6 redaka: jedna vrlo duga recenzija inače podigne visinu cijelog reda */
.pbw-rev--marquee .pbw-rev__text {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	color: var(--text-secondary);
	font-size: .98rem;
	line-height: 1.55;
}

.pbw-rev--marquee .pbw-rev__hl {
	color: var(--text);
	font-weight: 500;
}

.pbw-rev--marquee .pbw-rev__who {
	align-items: flex-end;
	font-style: normal;
}

.pbw-rev--marquee .pbw-rev__who .pbw-rev__stars {
	display: flex;
	margin-bottom: 5px;
	font-size: 13px;
}

.pbw-rev--marquee .pbw-rev__who b {
	font-size: .88rem;
}

.pbw-rev__gs svg {
	display: block;
	width: 14px;
	height: 14px;
}

@media (max-width: 640px) {
	.pbw-rev__mq {
		--pbw-mq-gap: 10px;
	}

	.pbw-rev__card,
	.pbw-rev__card--long {
		min-width: 220px;
		max-width: 290px;
		padding: 16px 16px 14px;
	}

	.pbw-rev--marquee .pbw-rev__text {
		font-size: .92rem;
	}

	.pbw-rev__acts {
		flex-wrap: nowrap;
		width: 100%;
		justify-content: space-between;
		margin-left: 0;
	}

}

/* Bez animacije: traka se lista prstom ili trackpadom, druga kopija i gumb se skrivaju */
@media (prefers-reduced-motion: reduce) {
	.pbw-rev__track {
		animation: none;
	}

	.pbw-rev__row {
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.pbw-rev__row[aria-hidden="true"],
	.pbw-rev__set[aria-hidden="true"],
	.pbw-rev__card[aria-hidden="true"],
	.pbw-rev .pbw-rev__pause {
		display: none;
	}

	.pbw-rev__card {
		scroll-snap-align: start;
	}
}
