.elementor-14357 .elementor-element.elementor-element-b1ef79d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-14357 .elementor-element.elementor-element-16f6942{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14357 .elementor-element.elementor-element-e807f99{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for shortcode, class: .elementor-element-52bf5e3 */.elementor-14357 .elementor-element.elementor-element-52bf5e3 .annuaire-filters {
    display: flex;
    flex-direction: row;
    gap: 30px;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-4b02b0e */.elementor-14357 .elementor-element.elementor-element-4b02b0e .members-photos{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: clamp(12px, 2.5vw, 20px);
  align-items: stretch;
}

/***** Carte vignette *****/
.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo{
  position:relative;
  background: var(--e-surface, #fff);
  border: 1px solid rgba(0,0,0,.06);

  overflow:hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

/* État hover/focus accessible */
.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo:focus-within,
.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.10);
}

/***** Image *****/
.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 1 / 1;        /* carré, moderne */
  object-fit: cover;           /* recadre proprement */
  background: #f3f3f3;         /* fond neutre pour placeholders */
}

/***** Zone infos *****/
.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo .member-name,
.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo > div:last-child{
  padding-inline: 12px;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo .member-name{
  display:block;
  margin:10px 0 4px;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.25;
  letter-spacing: .1px;
  color: #171c8f;
  /* Gère les noms longs sur une ligne */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo .member-name a{
  color: inherit;
  text-decoration: none;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo .member-name a:focus{
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 6px;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo > div:last-child{
  margin-bottom: 12px;
  font-size: 0.85rem;
  color: var(--e-global-color-text, #555);
  opacity:.9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/***** Compact sur petits écrans *****/
@media (max-width: 480px){
  .elementor-14357 .elementor-element.elementor-element-4b02b0e .members-photos{
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo{
    border-radius: 12px;
  }
  .elementor-14357 .elementor-element.elementor-element-4b02b0e .member-photo .member-name{
    font-size: .9rem;
  }
}

/***************************
 *   PAGINATION
 ***************************/
.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination {
  display: flex;
  justify-content: center;
  margin-top: clamp(1rem, 3vw, 2rem);
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers {
  display: flex;
  list-style: none;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers li {
  margin: 0;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers a,
.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers span {
  display: inline-block;
  padding: 0.45rem 0.85rem;

  font-size: 0.9rem;
  font-weight: 500;
  color: var(--e-global-color-text, #333);
  background: #f5f5f5;
  text-decoration: none;
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: all 0.2s ease;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers a:hover {
  background: var(--e-global-color-accent, #b12b2b);
  color: #fff;
  border-color: var(--e-global-color-accent, #b12b2b);
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers .current {
  background: var(--e-global-color-accent, #b12b2b);
  color: #fff;
  border-color: var(--e-global-color-accent, #b12b2b);
  cursor: default;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers .prev,
.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers .next {
  font-weight: 600;
  padding-inline: 0.9rem;
}

.elementor-14357 .elementor-element.elementor-element-4b02b0e .annuaire-pagination .page-numbers .dots {
  background: transparent;
  border: none;
  color: #999;
}/* End custom CSS */