/*
 * assets/css/reviews.css -- Google recenze na stránce Reference
 * (page-templates/template-reference.php, sekce .gbp-reviews).
 *
 * PŘEVZATO Z TERRAHUNTU (pokyn Jirky 26. 8.: „reference zkopíruj styl ze
 * terrahunt; napřed dej ty Google recenze, pod ně bannery, co jsou na
 * aktuálním z-agency webu"). Změněné jsou jen dvě značkové barvy:
 * terrahuntí tmavá tyrkysová #083331 -> z-agency antracit #1c2727,
 * tyrkysový akcent #0f766e -> z-agency červená #f5074c (obě změřené
 * z mirrorovaného main.css, ne odhadnuté).
 *
 * [Jirka 23. 8. 2026] Zarovnaná mřížka, NE diagonální karty -- rozhodnutí
 * podložené rešerší (uspořádanost = kredibilita: Fogg 2003, Robins & Holmes
 * 2008; fluency->důvěra: Schwarz 2021; rotate() navíc trvale rozmazává text
 * v Chromu). "Život" dodává jemný translateY hover místo náklonu.
 *
 * Mirrorovaný main.css zůstává nedotčený -- vše tady je nová komponenta
 * klonu (stejný princip jako search.css / thankyou.css). Root font-size
 * webu je 10px (1rem = 10px).
 */

.gbp-reviews {
	margin: 0 0 5rem;
}

/* Nadpis nese .h2 utility z mirroru (vizuálně stejná kategorie jako
   „Spolupracují s námi tyto firmy:"); tady jen srovnaný spodní odstup
   obou nadpisů. */
.gbp-reviews-heading,
.gbp-companies-heading {
	margin: 0 0 2rem;
}

/* Souhrnná lišta: G logo + hvězdy + skóre + počet + odkaz na Google */
.gbp-reviews-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 1rem;
	margin: 0 0 2.4rem;
	font-size: 1.6rem;
	color: #1c2727;
}

.gbp-stars {
	color: #fbbc04;
	font-size: 1.9rem;
	letter-spacing: 0.2rem;
	line-height: 1;
}

/* [23. 8., korekce Jirky] Bez skóre/počtu/data -- jen zdrojový štítek. */
.gbp-source {
	font-size: 1.6rem;
	font-weight: 700;
	color: #1c2727;
}

.gbp-reviews-all {
	margin-left: auto;
	display: inline-block;
	border: 0.2rem solid #1c2727;
	border-radius: 0.8rem;
	padding: 0.8rem 1.6rem;
	font-size: 1.4rem;
	font-weight: 700;
	color: #1c2727;
	transition: background 200ms, color 200ms;
}

.gbp-reviews-all:hover {
	background: #1c2727;
	color: #ffffff;
}

/* Mřížka karet -- uniformní, nejnovější první (pořadí dat) */
.gbp-reviews-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
	gap: 1.6rem;
}

.gbp-review-card {
	background: #ffffff;
	border: 1px solid #e8eaed;
	border-radius: 1.2rem;
	padding: 1.8rem 1.8rem 1.6rem;
	display: flex;
	flex-direction: column;
	transition: transform 200ms ease, box-shadow 200ms ease;
}

.gbp-review-card:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 0.8rem 2.4rem rgba(8, 51, 49, 0.12);
}

@media (prefers-reduced-motion: reduce) {
	.gbp-review-card,
	.gbp-review-card:hover {
		transform: none;
		transition: none;
	}
}

.gbp-review-head {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin: 0 0 1rem;
}

.gbp-review-avatar {
	flex-shrink: 0;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: #f5074c;
	color: #ffffff;
	font-size: 1.4rem;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.gbp-review-who {
	min-width: 0;
	line-height: 1.3;
}

.gbp-review-name {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	color: #202124;
}

.gbp-review-date {
	display: block;
	font-size: 1.2rem;
	color: #5f6368;
}

.gbp-review-g {
	margin-left: auto;
	flex-shrink: 0;
}

.gbp-review-stars {
	color: #fbbc04;
	font-size: 1.5rem;
	letter-spacing: 0.1rem;
	line-height: 1;
	margin: 0 0 0.8rem;
}

.gbp-review-text {
	font-size: 1.4rem;
	line-height: 1.55;
	color: #3c4043;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gbp-review-text.gbp-expanded {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

.gbp-review-more {
	align-self: flex-start;
	margin-top: 0.8rem;
	padding: 0;
	border: none;
	background: none;
	font-size: 1.3rem;
	font-weight: 700;
	color: #f5074c;
	cursor: pointer;
	text-decoration: underline;
}

.gbp-review-more[hidden] {
	display: none;
}

@media (max-width: 767px) {
	.gbp-reviews-grid {
		grid-template-columns: 1fr;
	}

	.gbp-reviews-all {
		margin-left: 0;
	}
}
