/* Avis Google – adaptez les variables à la charte du site */
.ag {
	--ag-texte: #3b3330;
	--ag-texte-doux: #7a6f69;
	--ag-fond-carte: #ffffff;
	--ag-bordure: #e6dad0;
	--ag-etoile: #f4b400;
	--ag-bouton: #3b3330;
	--ag-rayon: 10px;

	color: var(--ag-texte);
	font-family: inherit;
	max-width: 1180px;
	margin: 0 auto;
	padding: 8px 16px;
	box-sizing: border-box;
}
.ag *, .ag *::before, .ag *::after { box-sizing: border-box; }

/* En-tête */
.ag-head { text-align: center; margin-bottom: 28px; }
.ag .ag-name { margin: 0 0 4px; font-size: 28px; font-weight: 400; letter-spacing: .03em; color: var(--ag-texte); }
.ag-address { margin: 0 0 10px; font-size: 14px; color: var(--ag-texte-doux); letter-spacing: .03em; }
.ag-summary { margin: 0; display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; }
.ag-score { font-size: 30px; line-height: 1; color: var(--ag-texte); }
.ag-summary .ag-stars { font-size: 24px; }
.ag-count { font-size: 15px; color: var(--ag-texte-doux); }

/* Étoiles (remplissage partiel possible : 4,6 / 5) */
.ag-stars { position: relative; display: inline-block; line-height: 1; letter-spacing: 2px; font-size: 15px; white-space: nowrap; }
.ag-stars-bg { color: #ddd3cb; }
.ag-stars-fg { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: var(--ag-etoile); }

/* Grille de cartes */
.ag-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
	align-items: start;
}
.ag-card {
	min-width: 0;
	background: var(--ag-fond-carte);
	border: 1px solid var(--ag-bordure);
	border-radius: var(--ag-rayon);
	padding: 20px;
	box-shadow: 0 2px 10px rgba(59, 51, 48, .05);
}
.ag-author { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.ag-avatar { width: 44px; height: 44px; border-radius: 50%; flex: 0 0 44px; object-fit: cover; }
.ag-initial { display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 19px; }
.ag-author-name { display: block; font-weight: 600; font-size: 15px; color: var(--ag-texte); text-decoration: none; line-height: 1.3; }
a.ag-author-name:hover { text-decoration: underline; }
.ag-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 3px; }
.ag-when { font-size: 13px; color: var(--ag-texte-doux); }
.ag .ag-text { margin: 0; font-size: 15px; line-height: 1.6; letter-spacing: .01em; }
.ag-toggle {
	display: inline; margin: 0 0 0 4px; padding: 0; border: 0; background: none;
	font: inherit; color: var(--ag-texte); text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}

/* Pied */
.ag-foot { margin-top: 28px; text-align: center; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.ag .ag-btn {
	display: inline-block; padding: 11px 22px; border-radius: 6px; border: 1px solid var(--ag-bouton);
	background: var(--ag-bouton); color: #fff; text-decoration: none; font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
	transition: background .2s, color .2s;
}
.ag .ag-btn:hover, .ag .ag-btn-alt { background: transparent; color: var(--ag-bouton); }
.ag .ag-btn-alt:hover { background: var(--ag-bouton); color: #fff; }
.ag-attrib { flex-basis: 100%; margin: 6px 0 0; font-family: Roboto, Arial, sans-serif; font-size: 12px; color: #5e5e5e; }

.ag-admin-error { padding: 10px 14px; border: 1px solid #d63638; color: #8a1f11; background: #fcf0f1; }
