/* Annuaire public des membres — charte T2A (bleu #242B63, bleu clair #00669F, Futura). */
.lrs-annuaire { --lrs-bleu: #242B63; --lrs-bleu-l: #00669F; --lrs-gris: #f3f5f8; --lrs-rayon: 1.2rem; margin: 2.4rem 0 4rem; }

.lrs-annuaire__filtres { display: flex; flex-wrap: wrap; gap: 1.2rem 2rem; align-items: center; margin-bottom: 2.4rem; }
.lrs-annuaire__recherche { flex: 1 1 28rem; }
.lrs-annuaire__recherche input { width: 100%; height: 4.4rem; padding: 0 1.4rem; border: 0.1rem solid #cfd6e0; border-radius: var(--lrs-rayon); font: inherit; font-size: 1.4rem; background: #fff; }
.lrs-annuaire__recherche input:focus { outline: 0.2rem solid var(--lrs-bleu-l); outline-offset: 0.1rem; }
.lrs-annuaire__spheres { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.lrs-annuaire__spheres button { cursor: pointer; height: 3.4rem; padding: 0 1.2rem; border: 0.1rem solid var(--lrs-bleu-l); border-radius: 2rem; background: #fff; color: var(--lrs-bleu-l); font: inherit; font-size: 1.3rem; line-height: 1; transition: background .15s, color .15s; }
.lrs-annuaire__spheres button span { opacity: .7; margin-left: .3rem; }
.lrs-annuaire__spheres button:hover, .lrs-annuaire__spheres button.est-actif { background: var(--lrs-bleu-l); color: #fff; }

.lrs-annuaire__grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr)); gap: 2.4rem; }
.lrs-annuaire__vide { margin: 2rem 0; font-style: italic; }
.lrs-annuaire__tous { margin-top: 3.2rem; display: flex; justify-content: center; }
.lrs-annuaire__tous .btn { width: auto; }

.lrs-carte { display: flex; flex-direction: column; background: #fff; border: 0.1rem solid #e3e8ef; border-radius: var(--lrs-rayon); overflow: hidden; transition: transform .15s, box-shadow .15s; }
.lrs-carte:hover { transform: translateY(-0.2rem); box-shadow: 0 0.8rem 2.4rem rgba(36, 43, 99, .12); }
.lrs-carte[hidden] { display: none; }

.lrs-carte__logo { height: 11rem; display: flex; align-items: center; justify-content: center; padding: 1.6rem; background: var(--lrs-gris); }
.lrs-carte__logo img { max-height: 100%; max-width: 70%; width: auto; object-fit: contain; }
.lrs-carte__logo-vide { font-family: 'Futura-bold', sans-serif; font-size: 1.6rem; color: var(--lrs-bleu); text-align: center; }

.lrs-carte__corps { position: relative; flex: 1; display: flex; flex-direction: column; gap: 0.4rem; padding: 4.4rem 2rem 2rem; }
.lrs-carte__photo { position: absolute; top: -3.6rem; left: 2rem; width: 7.2rem; height: 7.2rem; border-radius: 50%; object-fit: cover; border: 0.3rem solid #fff; box-shadow: 0 0.2rem 0.8rem rgba(0,0,0,.15); background: #fff; }
.lrs-carte__nom { margin: 0; font-size: 1.8rem; line-height: 1.2; color: var(--lrs-bleu); font-weight: normal; }
.lrs-carte__nom strong { font-family: 'Futura-bold', sans-serif; }
.lrs-carte__entreprise { margin: 0; font-family: 'Futura-bold', sans-serif; font-size: 1.4rem; color: var(--lrs-bleu-l); }
.lrs-carte__activite { margin: 0; font-size: 1.3rem; color: #4a5160; }
.lrs-carte__sphere { align-self: flex-start; margin-top: 0.4rem; padding: 0.3rem 0.9rem; border-radius: 2rem; background: var(--lrs-gris); color: var(--lrs-bleu); font-size: 1.1rem; text-transform: uppercase; letter-spacing: .04em; }

.lrs-carte__liens { list-style: none; margin: auto 0 0; padding: 1.2rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem; }
.lrs-carte__liens .btn { width: auto; height: 3.4rem; padding: 0 1.2rem; font-size: 1.3rem; }
.lrs-carte__reseau { display: flex; width: 3.2rem; height: 3.2rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--lrs-gris); transition: background .15s; }
.lrs-carte__reseau:hover { background: #dfe6ef; }
.lrs-carte__reseau img { width: 1.8rem; height: 1.8rem; object-fit: contain; }

@media (max-width: 575px) {
    .lrs-annuaire__grille { grid-template-columns: 1fr; }
}

.lrs-annuaire__tri { display: flex; align-items: center; gap: .6rem; font-size: 1.3rem; color: var(--lrs-bleu); }
.lrs-annuaire__tri select { height: 3.6rem; width: auto; padding: 0 .8rem; border: 0.1rem solid #cfd6e0; border-radius: var(--lrs-rayon); font: inherit; font-size: 1.3rem; background: #fff; }
