/* =========================================================
   HOPE APPRENTISSAGE — Annuaire & Carte des Praticiens (Module 2)
   Feuille de style autonome (fonctionne sans le thème Hope
   Apprentissage ni le plugin de widgets Module 1 — reprend un
   sous-ensemble de la charte graphique commune : Or/Écru/Ardoise,
   Lexend/Nunito, coins arrondis).
   ========================================================= */

:root{
  --or: #D4AF37;
  --or-fonce: #7A6332;
  --ecru: #F7F5F0;
  --ecru-2: #F0ECE2;
  --ardoise: #2C3E50;
  --ardoise-douce: #5b6b78;
  --radius: 12px;
  --radius-lg: 20px;
  --ombre: 0 6px 20px rgba(122,99,50,0.10);
  --ombre-hover: 0 12px 28px rgba(122,99,50,0.18);
  --region: var(--or);
  --region-fonce: var(--or-fonce);
}

.hope-annuaire{ font-family:'Lexend', sans-serif; color:var(--ardoise); }
.hope-annuaire h1, .hope-annuaire h3{ font-family:'Nunito', sans-serif; color:var(--ardoise); }
.hope-annuaire .mt-0{ margin-top:0; }
.hope-annuaire .petit{ font-size:.8rem; color:var(--ardoise-douce); }
.hope-annuaire .centre{ text-align:center; }

.hope-annuaire .btn{
  display:inline-block; border:none; border-radius:var(--radius); font-family:'Lexend', sans-serif;
  font-weight:600; cursor:pointer; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
}
.hope-annuaire .btn-region{ background:var(--region); color:#fff; padding:12px 22px; }
.hope-annuaire .btn-region:hover{ transform:translateY(-2px); box-shadow:var(--ombre-hover); filter:brightness(0.96); }
.hope-annuaire .btn-sm{ padding:8px 16px; font-size:.82rem; }

.recherche-layout{ display:grid; grid-template-columns:340px 1fr; gap:24px; align-items:start; }
.panneau-filtres{
  background:#fff; border-radius:var(--radius); padding:22px; box-shadow:var(--ombre);
  display:flex; flex-direction:column; gap:18px;
}
.panneau-filtres label{ font-weight:600; font-size:.85rem; display:block; margin-bottom:6px; }
.panneau-filtres input[type="text"], .panneau-filtres select{
  width:100%; padding:10px 12px; border:1px solid #ddd0a5; border-radius:var(--radius);
  font-family:inherit; background:var(--ecru);
}
.check-ligne{ display:flex; align-items:center; gap:8px; font-size:.88rem; font-weight:500; }
.check-ligne label{ margin:0 !important; }
.check-ligne input[type="checkbox"], .check-ligne input[type="radio"]{ accent-color:var(--region); }
.chip-groupe{ display:flex; flex-wrap:wrap; gap:14px; }
.slider-radius{ width:100%; accent-color:var(--region); }

.carte-zone{
  background:linear-gradient(135deg,#e9f3ec,#f7f5f0);
  border-radius:var(--radius); min-height:460px; position:relative; overflow:hidden;
  box-shadow:var(--ombre); border:1px solid #e2ead0;
}
.carte-zone .carte-label{
  position:absolute; top:14px; left:14px; background:#fff; padding:6px 14px; z-index:500;
  border-radius:99px; font-size:.78rem; font-weight:700; box-shadow:var(--ombre); pointer-events:none;
}
.carte-zone .leaflet-container{ width:100%; height:100%; border-radius:var(--radius); font-family:'Lexend', sans-serif; }

.pastille{ display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:6px; }
.pastille.vert{ background:#2ECC71; } .pastille.jaune{ background:#F1C40F; } .pastille.rouge{ background:#E74C3C; }

.hope-pin{
  width:16px; height:16px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  border:2px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.hope-pin.vert{ background:#2ECC71; } .hope-pin.jaune{ background:#F1C40F; } .hope-pin.rouge{ background:#E74C3C; }
.hope-pin-centre{
  width:14px; height:14px; border-radius:50%; background:var(--region); border:3px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.35);
}

.carte-praticien{
  background:#fff; border-radius:var(--radius); padding:16px; box-shadow:var(--ombre);
  display:flex; gap:14px; margin-bottom:14px; align-items:center;
}
.carte-praticien a.btn-region{ margin-left:auto; flex-shrink:0; white-space:nowrap; }
.avatar-rond{
  width:56px; height:56px; border-radius:50%; flex-shrink:0; overflow:hidden; object-fit:cover;
  display:flex; align-items:center; justify-content:center; color:#fff;
  font-family:'Nunito', sans-serif; font-weight:800; font-size:1.1rem;
}

.hope-marqueur-popup{ font-family:'Lexend', sans-serif; min-width:180px; }
.hope-marqueur-popup .avatar-rond{ width:40px; height:40px; font-size:.85rem; margin-bottom:6px; }
.hope-marqueur-popup strong{ display:block; font-family:'Nunito', sans-serif; }
.hope-marqueur-popup a.btn-region{ display:inline-block; margin-top:8px; }

.hope-annuaire-message{ min-height:1.2em; }
.hope-annuaire-message.erreur{ color:#c0392b; font-weight:600; }

.grille-cartes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.fil-ariane{ font-size:.82rem; color:var(--ardoise-douce); margin-bottom:18px; }
.fil-ariane a:hover{ color:var(--or-fonce); }

@media (max-width:900px){
  .recherche-layout{ grid-template-columns:1fr; }
}
