.cc-assos-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
.cc-asso-item {
    background: #fff;
    padding: 1rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
}

.cc-thumb img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 0.5rem;
}

.cc-content { flex: 1; display: flex; flex-direction: column; gap:0.2rem; justify-content: flex-start;}

.cc-content > * { margin-bottom: 0.5rem; font-size: 1em;}
.cc-icons { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: auto; }

.cc-content p {
    margin-bottom: 0.5em !important;
}

.cc-content a {
    font-size: .9rem;
}
.page-numbers a {
    text-decoration: none !important;
    color: var(--ast-global-color-3) !important;
}
.cc-content h4 {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight:bold;
}
.cc-icons {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  font-size: 1.4rem;
}

.asso-objet .asso-objet-full[hidden] { display:none; }
.asso-objet-toggle {
    margin-left: .4rem;
    text-decoration: underline;
    color: var(--ast-global-color-0) !important;
}

.ae-contact-email{
  display:flex;
  align-items:center;
  gap:.4rem;
  min-width:0;                 /* important */
}

.ae-contact-email i{
  flex:0 0 auto;
}

.ae-contact-email a{
  flex:1 1 auto;
  min-width:0;                 /* important aussi ici */
  display:block;
}

.ae-email-truncate{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  max-width:100%;              /* optionnel mais aide selon les navigateurs */
}