/* Avaliações do Google — estilos base.
   Para adaptar ao tema, sobrescreva só as variáveis abaixo. */
.agp-section,
.agp-badge {
	--agp-ink: #2c2c2a;
	--agp-muted: #706f6a;
	--agp-line: #e8e1d7;
	--agp-card: #ffffff;
	--agp-bg: transparent;
	--agp-accent: #8f5f37;
	--agp-accent-soft: rgba(192, 138, 91, .12);
	--agp-star: #f4a017;
	--agp-star-off: #ddd6cc;
	--agp-radius: 14px;
	--agp-shadow: 0 4px 14px rgba(52, 42, 31, .07);
	--agp-font-title: inherit;
}

/* Estrelas proporcionais */
.agp-stars {
	position: relative;
	display: inline-block;
	line-height: 1;
	font-size: 15px;
	letter-spacing: 1px;
	color: var(--agp-star-off);
	white-space: nowrap;
	vertical-align: middle;
}
.agp-stars::before {
	content: "★★★★★";
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--agp-fill, 0%);
	overflow: hidden;
	color: var(--agp-star);
}
.agp-stars--lg { font-size: 20px; }

.agp-g { flex-shrink: 0; vertical-align: middle; }

/* ---------- Selo ---------- */
.agp-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px 6px 10px;
	border: 1px solid var(--agp-line);
	border-radius: 999px;
	background: var(--agp-card);
	color: var(--agp-ink);
	font-size: 13px;
	text-decoration: none;
	box-shadow: var(--agp-shadow);
	transition: border-color .15s, transform .15s;
}
.agp-badge:hover { border-color: var(--agp-accent); color: var(--agp-ink); transform: translateY(-1px); }
.agp-badge__num { font-size: 15px; font-weight: 800; }
.agp-badge__count { color: var(--agp-muted); }

/* ---------- Seção ---------- */
.agp-section { background: var(--agp-bg); padding: 24px 0; color: var(--agp-ink); }

.agp-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 16px;
}
.agp-title { font-family: var(--agp-font-title); font-size: 22px; letter-spacing: -.02em; margin: 0 0 4px; color: var(--agp-ink); }
.agp-intro { margin: 0; font-size: 13px; color: var(--agp-muted); }

.agp-summary { display: flex; align-items: center; gap: 10px; }
.agp-summary__num { font-size: 36px; font-weight: 800; line-height: 1; }
.agp-summary__meta { display: flex; flex-direction: column; gap: 4px; }
.agp-summary__count { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--agp-muted); }

/* Lista: 3 colunas no desktop; carrossel com "snap" + bolinhas abaixo de 992px */
.agp-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.agp-list--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.agp-list--n1 { grid-template-columns: minmax(0, 560px); }
.agp-list:focus-visible { outline: 2px solid var(--agp-accent); outline-offset: 4px; border-radius: var(--agp-radius); }

.agp-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 18px;
	background: var(--agp-card);
	border: 1px solid var(--agp-line);
	border-radius: var(--agp-radius);
	box-shadow: var(--agp-shadow);
}
.agp-card__quote { margin: 0; padding: 0; border: 0; flex-grow: 1; }
.agp-card__text {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #4e4d48;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	overflow: hidden;
}
.agp-card.is-open .agp-card__text { display: block; -webkit-line-clamp: unset; line-clamp: unset; }
.agp-card__more {
	align-self: flex-start;
	padding: 0;
	border: 0;
	background: none;
	color: var(--agp-accent);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}
.agp-card__more:hover { text-decoration: underline; }

.agp-card__author { display: flex; align-items: center; gap: 10px; padding-top: 10px; border-top: 1px solid var(--agp-line); }
.agp-card__photo,
.agp-card__initial { width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0; object-fit: cover; }
.agp-card__initial {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--agp-accent-soft);
	color: var(--agp-accent);
	font-weight: 800;
	font-size: 14px;
}
.agp-card__who { display: flex; flex-direction: column; min-width: 0; }
.agp-card__name { font-size: 13px; font-weight: 700; color: var(--agp-ink); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
a.agp-card__name:hover { color: var(--agp-accent); }
.agp-card__when { font-size: 11.5px; color: var(--agp-muted); }

.agp-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 16px; }
.agp-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 1px solid var(--agp-accent);
	border-radius: 8px;
	color: var(--agp-accent);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background .15s, color .15s;
}
.agp-btn:hover { background: var(--agp-accent); color: #fff; }
.agp-link { font-size: 12.5px; font-weight: 700; color: var(--agp-accent); }
.agp-source { margin-left: auto; font-size: 11px; color: var(--agp-muted); }

.agp-ext { flex-shrink: 0; }

/* Bolinhas do carrossel (criadas pelo agp.js; só aparecem quando há rolagem) */
.agp-dots { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.agp-dots[hidden] { display: none; }
.agp-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--agp-line);
	cursor: pointer;
	transition: width .2s, background .2s;
}
.agp-dot[aria-current="true"] { width: 22px; background: var(--agp-accent); }

@media (max-width: 991.98px) {
	.agp-list,
	.agp-list--n2 {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 46%;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.agp-list::-webkit-scrollbar { display: none; }
	.agp-card { scroll-snap-align: start; }
	.agp-card__text { -webkit-line-clamp: 5; line-clamp: 5; }
}

@media (max-width: 575.98px) {
	.agp-section { padding: 16px 0; }
	.agp-head { align-items: flex-start; margin-bottom: 12px; }
	.agp-list,
	.agp-list--n2 { grid-auto-columns: 86%; gap: 10px; }
	.agp-list--n1 { grid-auto-columns: 100%; }
	.agp-card { padding: 16px; gap: 8px; }
	.agp-card__text { font-size: 12.5px; -webkit-line-clamp: 5; line-clamp: 5; }
	.agp-summary__num { font-size: 30px; }
	.agp-foot { margin-top: 12px; }
	.agp-btn { width: 100%; justify-content: center; }
	.agp-link { width: 100%; text-align: center; }
	.agp-source { margin-left: 0; width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.agp-badge, .agp-btn, .agp-dot { transition: none; }
	.agp-list { scroll-behavior: auto; }
	.agp-badge:hover { transform: none; }
}
