
/* D101 Core v1.3.1 — Dynamisme au survol + Galerie activités */
.d101-card,
.d101-project-card,
.d101-activity-card,
.d101-team-member-card,
.d101-pro-card,
.d101-pro-contact-box,
.d101-pro-section,
.d101ws-card,
.d101ws-box,
.d101ws-stat,
.d101ws-meta-panel{
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.d101-card:hover,
.d101-project-card:hover,
.d101-activity-card:hover,
.d101-team-member-card:hover,
.d101-pro-card:hover,
.d101-pro-contact-box:hover,
.d101-pro-section:hover{
  transform: translateY(-7px);
  box-shadow: 0 24px 55px rgba(21,19,23,.14)!important;
}
.d101-card-media img,
.d101-project-media img,
.d101-activity-card img,
.d101-team-photo img{
  transition: transform .55s ease, filter .35s ease;
}
.d101-card:hover .d101-card-media img,
.d101-project-card:hover .d101-project-media img,
.d101-activity-card:hover img,
.d101-team-member-card:hover .d101-team-photo img{
  transform: scale(1.055);
  filter: saturate(1.08) contrast(1.04);
}
.d101-btn,
.d101ws-btn,
.d101-pro-social{
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}
.d101-btn:hover,
.d101ws-btn:hover,
.d101-pro-social:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(25,134,65,.16);
}
.d101-menu > li > a{
  transition: transform .22s ease, background .22s ease, color .22s ease;
}
.d101-menu > li > a:hover{
  transform: translateY(-2px);
}

/* Grille propre des activités : tous les posts publiés visibles */
.d101-activities-pro-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.d101-activity-pro-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100%;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(25,134,65,.15);
  box-shadow:0 12px 34px rgba(21,19,23,.07);
  text-decoration:none!important;
  color:inherit!important;
  transition:transform .28s ease, box-shadow .28s ease;
}
.d101-activity-pro-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 55px rgba(21,19,23,.14);
}
.d101-activity-pro-media{
  height:210px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(25,134,65,.12),rgba(192,181,13,.12));
}
.d101-activity-pro-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s ease;
}
.d101-activity-pro-card:hover .d101-activity-pro-media img{transform:scale(1.06)}
.d101-activity-pro-placeholder{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:52px;
  font-weight:950;
  color:#198641;
}
.d101-activity-pro-body{
  padding:20px;
}
.d101-activity-pro-body h3{
  margin:0 0 10px!important;
  color:#198641!important;
  font-size:21px!important;
  line-height:1.2!important;
}
.d101-activity-pro-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
.d101-activity-pro-meta span{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(25,134,65,.07);
  color:#115D2D;
  font-weight:850;
  font-size:12px;
}
.d101-activity-pro-body p{
  margin:0!important;
  color:#545454!important;
  line-height:1.6!important;
}

/* Galerie sur la fiche activité */
.d101-activity-gallery{
  margin-top:34px;
  padding:26px;
  border-radius:28px;
  background:#fff;
  border:2px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,#198641,#C0B50D,#B51D30) border-box;
  box-shadow:0 18px 46px rgba(21,19,23,.08);
}
.d101-activity-gallery h2{
  margin:0 0 18px!important;
  color:#151317!important;
  font-size:30px!important;
}
.d101-activity-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.d101-activity-gallery-grid a{
  display:block;
  overflow:hidden;
  border-radius:18px;
  background:#f6f6f2;
  aspect-ratio:4/3;
}
.d101-activity-gallery-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease, filter .35s ease;
}
.d101-activity-gallery-grid a:hover img{
  transform:scale(1.07);
  filter:saturate(1.08) contrast(1.04);
}
@media(max-width:980px){
  .d101-activities-pro-grid,
  .d101-activity-gallery-grid{grid-template-columns:1fr!important}
}
