/* SWA Google Recenzije */
.swa-gr {
	--swa-gr-bg: #213156;
	--swa-gr-ink: #26365a;
	--swa-gr-muted: #5b6680;
	--swa-gr-star: #e7b531;
	--swa-gr-star-off: rgba(231, 181, 49, .25);
	--swa-gr-gap: 40px;
	--swa-gr-per: 3;
	background: var(--swa-gr-bg);
	color: #fff;
	padding: 56px 16px 80px;
	font-family: inherit;
	box-sizing: border-box;
}
.swa-gr *, .swa-gr *::before, .swa-gr *::after { box-sizing: border-box; }
.swa-gr__inner { max-width: 1230px; margin: 0 auto; }

/* Zaglavlje */
.swa-gr__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	margin-bottom: 38px;
}
.swa-gr__eyebrow {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	margin-bottom: 2px;
	color: #fff;
}
.swa-gr .swa-gr__title {
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.15;
	font-weight: 500;
	margin: 0;
	color: #fff;
}
.swa-gr__badge {
	text-align: center;
	flex: 0 0 auto;
	margin-right: 55px;
}
.swa-gr__badge-label {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.2;
}
.swa-gr__badge-count { font-size: 16px; line-height: 1.3; margin-top: 2px; }
.swa-gr__badge-count strong { font-weight: 700; }
.swa-gr__wordmark {
	font-size: 30px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.01em;
}
.swa-gr__wordmark span:nth-child(1), .swa-gr__wordmark span:nth-child(4) { color: #4285f4; }
.swa-gr__wordmark span:nth-child(2), .swa-gr__wordmark span:nth-child(6) { color: #ea4335; }
.swa-gr__wordmark span:nth-child(3) { color: #fbbc05; }
.swa-gr__wordmark span:nth-child(5) { color: #34a853; }

/* Zvjezdice */
.swa-gr__stars {
	position: relative;
	display: inline-block;
	line-height: 0;
	white-space: nowrap;
}
.swa-gr__stars svg { width: 19px; height: 19px; margin-right: 2px; fill: currentColor; }
.swa-gr__stars-bg { color: var(--swa-gr-star-off); display: inline-block; }
.swa-gr__stars-fg {
	color: var(--swa-gr-star);
	position: absolute;
	inset: 0 auto 0 0;
	overflow: hidden;
	display: inline-block;
}
.swa-gr__stars--lg { margin: 4px 0 2px; }
.swa-gr__stars--lg svg { width: 29px; height: 29px; margin: 0 1px; }

/* Karusel */
.swa-gr__carousel { position: relative; }
.swa-gr__track {
	display: flex;
	gap: var(--swa-gr-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	align-items: stretch;
	outline: none;
	padding: 2px 0;
}
.swa-gr__track::-webkit-scrollbar { display: none; }

.swa-gr__card {
	flex: 0 0 calc((100% - (var(--swa-gr-per) - 1) * var(--swa-gr-gap)) / var(--swa-gr-per));
	scroll-snap-align: start;
	background: #fff;
	color: var(--swa-gr-ink);
	border-radius: 8px;
	padding: 26px 22px 28px;
	min-height: 246px;
}
.swa-gr__card-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
}
.swa-gr__name {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--swa-gr-ink);
}
.swa-gr__date {
	font-size: 13px;
	color: var(--swa-gr-muted);
	margin: 5px 0 10px;
}
.swa-gr__g { width: 32px; height: 32px; flex: 0 0 32px; margin: 4px 26px 0 0; }
.swa-gr__card .swa-gr__stars { margin-bottom: 18px; }
.swa-gr__text {
	font-size: 16px;
	line-height: 1.75;
	color: var(--swa-gr-ink);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
}
.swa-gr__card.is-open .swa-gr__text { -webkit-line-clamp: unset; display: block; }
.swa-gr button.swa-gr__more {
	background: none;
	border: 0;
	padding: 0;
	margin-top: 6px;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	color: var(--swa-gr-ink);
	text-decoration: underline;
	cursor: pointer;
}

.swa-gr button.swa-gr__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 0;
	padding: 0 0 3px;
	background: rgba(110, 110, 110, .85);
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s, opacity .2s;
}
.swa-gr button.swa-gr__nav:hover, .swa-gr button.swa-gr__nav:focus-visible { background: #444; }
.swa-gr__nav--prev { left: 0; }
.swa-gr__nav--next { right: 0; }
.swa-gr__nav[disabled] { opacity: 0; pointer-events: none; }

@media (max-width: 1024px) {
	.swa-gr { --swa-gr-per: 2; --swa-gr-gap: 24px; }
	.swa-gr__badge { margin-right: 0; }
}
@media (max-width: 680px) {
	.swa-gr { --swa-gr-per: 1; padding: 40px 16px 56px; }
	.swa-gr__head { flex-direction: column; align-items: center; text-align: center; }
	.swa-gr__card { padding: 22px 20px 24px; }
	.swa-gr__g { margin-right: 0; }
	.swa-gr__nav--prev { left: -8px; }
	.swa-gr__nav--next { right: -8px; }
}
@media (prefers-reduced-motion: reduce) {
	.swa-gr__track { scroll-behavior: auto; }
}
