/* Section « Avis clients » de la page d'accueil (avis Google recopiés à la main) */
.avis-section { padding: 4rem 0; background: #fff; }
@media (min-width: 640px) { .avis-section { padding: 6rem 0; } }

.avis-entete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2.5rem; }
.avis-entete p { color: #4b5563; font-size: 1.125rem; font-weight: 400; max-width: 40rem; }

.avis-notes { display: flex; flex-direction: column; gap: .4rem; }
.avis-note {
    display: grid; grid-template-columns: 5.5rem auto auto auto; align-items: center; column-gap: .6rem;
    font-size: .875rem; color: #6b7280; text-decoration: none;
}
.avis-note:hover .avis-note-magasin { color: #dc2626; }
.avis-note-magasin { font-weight: 700; color: #111827; transition: color .2s; }
.avis-note-chiffre { font-weight: 700; color: #111827; }
.avis-note-nombre { color: #9ca3af; }

/* Étoiles au prorata de la note : 5 étoiles grises, recouvertes en jaune sur (note / 5) de leur largeur */
.avis-etoiles-note {
    --note: 5;
    position: relative; display: inline-block; font-size: .8rem; letter-spacing: .08em; line-height: 1; color: #e5e7eb;
}
.avis-etoiles-note::before { content: "★★★★★"; }
.avis-etoiles-note::after {
    content: "★★★★★"; position: absolute; left: 0; top: 0; color: #f5b301;
    width: calc(var(--note) / 5 * 100%); overflow: hidden; white-space: nowrap;
}

.avis-etoiles { color: #f5b301; letter-spacing: .1em; font-size: 1rem; line-height: 1; }

.avis-grille { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 768px) { .avis-grille { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .avis-grille { grid-template-columns: repeat(3, 1fr); } }

.avis-carte {
    display: flex; flex-direction: column; gap: 1rem; margin: 0;
    padding: 1.5rem; background: #f9fafb; border: 1px solid #f3f4f6; border-radius: 1rem;
}
.avis-carte blockquote { margin: 0; color: #374151; line-height: 1.6; flex: 1; }
.avis-carte figcaption { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-size: .875rem; }
.avis-auteur { font-weight: 700; color: #111827; }
.avis-magasin {
    font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
    color: #dc2626; background: #fef2f2; padding: .25rem .6rem; border-radius: 999px;
}

.avis-source { margin-top: 1.5rem; font-size: .8rem; color: #9ca3af; }
.avis-source a { color: #6b7280; text-decoration: underline; }
.avis-source a:hover { color: #dc2626; }
