/* Témoignages — sections d'avis clients (accueil + services, France & Antilles) */

.testimonials {
  background: var(--paper, #fffaf0);
  padding: clamp(4rem, 9vw, 8rem) 6vw;
}
.testimonials .section-heading { max-width: 820px; }
.testimonials .section-heading > span {
  color: var(--terra); letter-spacing: .16em; text-transform: uppercase;
  font-size: .7rem; font-weight: 800;
}
.testimonials .section-heading h2 { margin: .8rem 0; }
.testimonials .disclosure {
  max-width: 640px; margin: 1rem 0 0; color: var(--muted);
  font-size: .82rem; line-height: 1.6;
}

/* Mur d'avis : colonnes typographiques pour absorber des longueurs très inégales */
.testimonial-wall { columns: 1; column-gap: 1.25rem; margin-top: 2.5rem; }
.testimonial-wall > .testimonial { break-inside: avoid; margin: 0 0 1.25rem; }

.testimonial {
  background: var(--cream, #f4ead8);
  border: 1px solid #223b3021;
  border-radius: 28px;
  padding: 1.6rem 1.5rem 1.35rem;
  display: grid;
  gap: 1.1rem;
  align-content: start;
}
.testimonial blockquote { margin: 0; position: relative; }
.testimonial blockquote::before {
  content: "\201C";
  display: block;
  font: 400 3.2rem/0.6 var(--serif, Georgia, serif);
  color: var(--terra);
  margin-bottom: .35rem;
}
.testimonial blockquote p {
  margin: 0; max-width: 46ch;
  font-size: .95rem; line-height: 1.72; color: var(--ink, #202a24);
}
.testimonial figcaption {
  display: flex; align-items: center; gap: .8rem;
  border-top: 1px solid #223b3021; padding-top: 1rem;
}
.testimonial-initial {
  flex: 0 0 auto;
  display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 99px;
  background: var(--deep, #142a22); color: var(--sun, #edbd67);
  font: 400 1.15rem var(--serif, Georgia, serif);
}
.testimonial-who { display: grid; gap: .15rem; }
.testimonial-who b { font: 700 .92rem var(--sans, Arial, sans-serif); letter-spacing: 0; }
.testimonial-who small {
  color: var(--muted); text-transform: uppercase;
  letter-spacing: .11em; font-size: .64rem; font-weight: 700;
}

/* Bandeau d'avis sous chaque service (page Services) */
.testimonial-band {
  display: block;
  background: var(--deep, #142a22);
  color: #fff;
  padding: clamp(3.5rem, 7vw, 6rem) 6vw;
}
.testimonial-band .band-heading { max-width: 760px; margin-bottom: 2.25rem; }
.testimonial-band .band-heading > span {
  color: var(--sun, #edbd67); letter-spacing: .16em; text-transform: uppercase;
  font-size: .7rem; font-weight: 800;
}
.testimonial-band .band-heading h2 { margin: .7rem 0 0; font-size: 1.75rem; }
.testimonial-band .band-heading p {
  margin: .9rem 0 0; max-width: 620px; color: #c8d7cf; font-size: .85rem; line-height: 1.65;
}
.testimonial-band .testimonial-set { display: grid; gap: 1.25rem; }
.testimonial-band .testimonial {
  background: #ffffff0d;
  border: 1px solid #ffffff24;
  color: #fff;
}
.testimonial-band .testimonial blockquote::before { color: var(--sun, #edbd67); }
.testimonial-band .testimonial blockquote p { color: #dfe8e3; }
.testimonial-band .testimonial figcaption { border-top-color: #ffffff24; }
.testimonial-band .testimonial-initial { background: var(--sun, #edbd67); color: var(--deep, #142a22); }
.testimonial-band .testimonial-who small { color: #b9c9c1; }

/* Un seul avis : traitement en citation mise en avant */
.testimonial-band .testimonial-set.single { max-width: 900px; }
.testimonial-band .testimonial-set.single .testimonial { padding: 2rem 1.9rem 1.6rem; }
.testimonial-band .testimonial-set.single blockquote p {
  max-width: 62ch; font: 400 1.15rem/1.65 var(--serif, Georgia, serif); color: #eaf1ed;
}
.testimonial-band .testimonial-set.single blockquote::before { font-size: 4rem; }

@media (width >= 720px) {
  .testimonial-wall { columns: 2; }
  .testimonial-band .testimonial-set.pair,
  .testimonial-band .testimonial-set.trio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (width >= 1080px) {
  .testimonial-wall { columns: 3; }
  .testimonial-band .testimonial-set.trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
