.annuaire-wrap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1C1C2B;}
.annuaire-filters{
    display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;align-items:center;
    background:#1A1A2E;border-radius:14px;padding:22px;
}
.annuaire-select{
    flex:1;min-width:190px;padding:13px 16px;border-radius:8px;border:none;
    background:#F7F3ED;font-size:.95rem;color:#1C1C2B;font-family:inherit;cursor:pointer;
}
.annuaire-btn-locate{
    padding:13px 24px;border-radius:8px;border:1.5px solid rgba(247,243,237,.35);
    background:transparent;color:#F7F3ED;font-weight:600;font-size:.95rem;
    cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;
}
.annuaire-btn-locate:hover,.annuaire-btn-locate.is-active{
    background:rgba(247,243,237,.1);border-color:#F7F3ED;
}
.annuaire-btn-submit{
    padding:13px 28px;border-radius:8px;border:none;background:#C4521A;color:#fff;
    font-weight:600;font-size:.95rem;cursor:pointer;white-space:nowrap;
    font-family:inherit;transition:background .15s;
}
.annuaire-btn-submit:hover{background:#a8451a;}
@media(max-width:720px){.annuaire-filters{flex-direction:column;align-items:stretch;}}
.annuaire-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;}
.annuaire-empty{grid-column:1/-1;text-align:center;color:#4A5568;padding:40px 0;}
.annuaire-card{display:block;text-decoration:none;color:inherit;border:1px solid #e6e1d4;border-radius:12px;overflow:hidden;background:#fff;transition:transform .15s,box-shadow .15s;}
.annuaire-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(20,36,43,.4);}
.annuaire-card-img{position:relative;height:150px;background:#1A1A2E;}
.annuaire-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.annuaire-card-img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1A1A2E,#2d2d4e);}
.annuaire-badge{position:absolute;top:10px;left:10px;font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:#fff;color:#1A1A2E;}
.annuaire-badge-sante{background:#E1F5EE;color:#085041;}
.annuaire-badge-juridique{background:#EEEDFE;color:#3C3489;}
.annuaire-badge-immobilier{background:#FDEEE4;color:#C4521A;}
.annuaire-badge-quotidien{background:#FBF3DE;color:#8A6A16;}
.annuaire-card-body{padding:14px 16px;}
.annuaire-card-body h3{font-size:1rem;font-weight:600;margin:0 0 4px;color:#1A1A2E;}
.annuaire-card-spec{font-size:.8rem;color:#C4521A;font-weight:600;margin:0 0 4px;}
.annuaire-card-city{font-size:.85rem;color:#4A5568;margin:0;}
.annuaire-card-distance{font-size:.78rem;color:#C4521A;font-weight:600;margin:6px 0 0;}
.annuaire-fiche{display:grid;grid-template-columns:340px 1fr;gap:32px;align-items:start;}
.annuaire-fiche-media{position:relative;border-radius:12px;overflow:hidden;background:#1A1A2E;}
.annuaire-fiche-media img{width:100%;display:block;object-fit:cover;}
.annuaire-fiche-body h1{font-size:1.6rem;margin:0 0 6px;color:#1A1A2E;}
.annuaire-fiche-loc{color:#4A5568;margin:0 0 10px;}
.annuaire-fiche-langs{font-size:.88rem;color:#4A5568;margin:0 0 18px;}
.annuaire-fiche-langs span{font-weight:600;color:#1A1A2E;}
.annuaire-fiche-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.annuaire-btn{display:inline-flex;align-items:center;padding:10px 18px;border-radius:8px;background:#1A1A2E;color:#fff;text-decoration:none;font-weight:600;font-size:.88rem;}
.annuaire-btn-whatsapp{background:#25D366;color:#0b3d1f;}
.annuaire-fiche-content{border-top:1px solid #e6e1d4;padding-top:18px;line-height:1.65;}
@media(max-width:720px){.annuaire-fiche{grid-template-columns:1fr;}}
