.ebc-cp-total {margin:0 0 24px;color:#666;font-size:15px}
.ebc-cp-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px;row-gap:30px;align-items:start}
.ebc-cp-card {min-width:0}
.ebc-cp-card-link {display:block;color:inherit;text-decoration:none}
.ebc-cp-card-link:hover {color:inherit;text-decoration:none}
.ebc-cp-card img {display:block;width:100%;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.07);-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.ebc-cp-card h3 {font-size:12px;line-height:1.55;letter-spacing:.15em;text-transform:uppercase;margin:16px 0 0;font-weight:600}
.ebc-cp-meta {font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.1em;margin-top:6px}
.ebc-cp-footer {text-align:center;margin:42px 0 24px}
.ebc-cp-progress {font-size:13px;color:#777}
.ebc-cp-more {margin-top:12px}
.ebc-cp-error {color:#a12b2b;margin-top:10px}
@media(max-width:900px){.ebc-cp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.ebc-cp-grid{grid-template-columns:1fr;gap:26px}}

/* Effet Scale Up uniforme sur les cartes initiales et celles ajoutées en AJAX. */
.ebc-cp-image-wrap { display:block; overflow:hidden; border-radius:4px; }
.ebc-cp-image-wrap img { transition: transform .4s ease; transform-origin:center center; }
@media (hover:hover) and (pointer:fine) {
  .ebc-cp-card-link:hover .ebc-cp-image-wrap img,
  .ebc-cp-card-link:focus-visible .ebc-cp-image-wrap img { transform:scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .ebc-cp-image-wrap img { transition:none; }
}

/* Disposition Masonry fluide. Chaque carte occupe exactement la hauteur necessaire. */
.ebc-cp-grid {
  grid-auto-rows: 2px;
  row-gap: 20px;
  align-items: start;
}
.ebc-cp-card { grid-row-end: span 1; }
@media(max-width:900px) { .ebc-cp-grid { row-gap: 18px; } }
@media(max-width:600px) { .ebc-cp-grid { row-gap: 18px; } }
