:root{
  --gam-violet:#6C4F94;
  --gam-violet-light:#9B7FC7;
  --gam-green:#4A8C6B;
  --gam-green-light:#8FC79E;
  --gam-lavande:#F6F3FA;
  --gam-charcoal:#2E2A33;
}

/* Grille de cartes générée par le shortcode [gam_cards] */
.gam-cards-grid{
  display:grid;
  grid-template-columns:repeat(var(--gam-columns,3), 1fr);
  gap:28px;
  margin:32px 0;
}
@media (max-width:900px){
  .gam-cards-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .gam-cards-grid{ grid-template-columns:1fr; }
}

.gam-card{
  display:flex;
  flex-direction:column;
  background:var(--gam-lavande);
  border:0.5px solid #e9e2f2;
  border-radius:18px;
  overflow:hidden;
  text-decoration:none;
  color:var(--gam-charcoal);
  box-shadow:0 4px 14px rgba(43,43,38,0.06);
  transition:transform .25s ease, box-shadow .25s ease;
}
.gam-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 28px rgba(43,43,38,0.15);
}

.gam-card-image{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
}
.gam-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.gam-card:hover .gam-card-image img{
  transform:scale(1.06);
}
.gam-card-image-placeholder{
  width:100%;
  height:100%;
  background:linear-gradient(135deg,var(--gam-violet-light),var(--gam-violet));
}

.gam-card-badge{
  position:absolute;
  top:12px;
  left:12px;
  background:var(--gam-violet);
  color:#fff;
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
  padding:5px 12px;
  border-radius:999px;
  text-transform:uppercase;
}

.gam-card-body{
  padding:20px 22px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}
.gam-card-title{
  font-size:1.15rem;
  font-weight:700;
  margin:0;
  line-height:1.3;
}
.gam-card-excerpt{
  font-size:.92rem;
  color:#5a5a52;
  margin:0;
  line-height:1.5;
  flex:1;
}
.gam-card-link{
  font-size:.9rem;
  font-weight:600;
  color:var(--gam-green);
  margin-top:auto;
}
.gam-cards-empty{
  color:#8a8a80;
  font-style:italic;
}

/* Grille de témoignages générée par le shortcode [gam_testimonials] */
.gam-testimonials-grid{
  display:grid;
  grid-template-columns:repeat(var(--gam-columns,3), 1fr);
  gap:24px;
  margin:32px 0;
}
@media (max-width:900px){
  .gam-testimonials-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .gam-testimonials-grid{ grid-template-columns:1fr; }
}

.gam-testimonial-card{
  background:#fff;
  border:0.5px solid #e9e2f2;
  border-radius:18px;
  padding:28px 26px 22px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.gam-testimonial-mark{
  font-size:2.6rem;
  line-height:1;
  color:var(--gam-violet-light);
  font-family:Georgia, serif;
}
.gam-testimonial-text{
  font-size:.95rem;
  font-style:italic;
  color:var(--gam-charcoal);
  line-height:1.65;
  margin:0;
  flex:1;
}
.gam-testimonial-footer{
  display:flex;
  align-items:center;
  gap:10px;
  padding-top:12px;
  border-top:0.5px solid #eee6f7;
}
.gam-testimonial-avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  display:inline-block;
}
.gam-testimonial-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gam-testimonial-name{
  font-size:.9rem;
  font-weight:600;
  color:var(--gam-violet);
}
