/* Scope limited to the existing directory article. Load after theme styles. */
.md-annuaire-active { --md-ink:#61262a; --md-link:#a94f4f; --md-line:#e5d9d7; --md-soft:#faf6f5; }
.md-annuaire-active [hidden] { display:none !important; }
.md-annuaire-active .md-lite-notice,.md-annuaire-active .md-lite-status,.md-annuaire-active .md-lite-counter { margin:1rem 0; font-size:.95rem; line-height:1.6; }
.md-annuaire-active .md-lite-notice { padding:1rem 1.15rem; border-left:3px solid var(--md-ink); background:var(--md-soft); color:#4e3a3c; }
.md-annuaire-active .md-lite-status { min-height:1.5em; color:#4e3a3c; }
.md-annuaire-active .md-lite-counter { font-weight:600; }
.md-annuaire-active .md-lite-map-toolbar { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin:1rem 0; }
.md-annuaire-active .md-lite-map-toolbar .md-lite-small { flex:1 1 15rem; }
.md-annuaire-active #map.md-lite-map { height:440px; width:100%; margin:1rem 0; border:1px solid var(--md-line); border-radius:12px; box-shadow:none; z-index:0; }
.md-annuaire-active .md-lite-map .leaflet-control-attribution { display:block !important; color:#333; background:rgba(255,255,255,.96); font-size:12px; line-height:1.5; }
.md-annuaire-active .md-lite-map .leaflet-control-attribution a { color:#174c7a; }
.md-annuaire-active .md-lite-list { display:grid; gap:1rem; padding:0; }
.md-annuaire-active .md-lite-card { padding:1.35rem; background:#fff; border:1px solid var(--md-line); border-radius:12px; margin:0; }
.md-annuaire-active .md-lite-card .md-lite-name { margin:0 0 .4rem; color:var(--md-ink); font:600 1.2rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; }
.md-annuaire-active .md-lite-card p,.md-annuaire-active .md-lite-popup p { margin:.4rem 0; line-height:1.55; }
.md-annuaire-active .md-lite-location { font-weight:600; }
.md-annuaire-active .md-lite-address,.md-annuaire-active .md-lite-distance { font-size:.95rem; color:#4e3a3c; }
.md-annuaire-active .md-lite-badges { display:flex; flex-wrap:wrap; gap:.5rem; margin:.85rem 0; }
.md-annuaire-active .md-lite-badge { display:inline-block; color:#61262a; background:#faf6f5; border:1px solid var(--md-line); border-radius:6px; padding:.3rem .6rem; font-size:.85rem; line-height:1.5; }
.md-annuaire-active .md-lite-small { font-size:.85rem; line-height:1.55; color:#4e3a3c; }
.md-annuaire-active .md-lite-contact { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem 1.2rem; margin-top:1rem; }
.md-annuaire-active .md-lite-button,.md-annuaire-active button.md-lite-button,.md-annuaire-active .md-lite-choice { display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; padding:.65rem 1rem; background:var(--md-ink); border:1px solid var(--md-ink); border-radius:8px; color:#fff; font:600 .95rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; text-decoration:none; cursor:pointer; }
.md-annuaire-active .md-lite-button:hover { background:#814147; color:#fff; }
.md-annuaire-active .md-lite-button-secondary,.md-annuaire-active button.md-lite-button-secondary,.md-annuaire-active .md-lite-choice { color:var(--md-ink); background:#fff; }
.md-annuaire-active .md-lite-button-secondary:hover,.md-annuaire-active .md-lite-choice:hover { color:var(--md-ink); background:var(--md-soft); }
.md-annuaire-active .md-lite-phone,.md-annuaire-active .md-lite-small a { color:var(--md-link); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.md-annuaire-active .md-lite-phone { display:inline-flex; align-items:center; min-height:44px; }
.md-annuaire-active .md-lite-choices { display:flex; flex-wrap:wrap; gap:.5rem; }
.md-annuaire-active .md-lite-choices p { flex-basis:100%; margin:0; }
.md-annuaire-active .md-lite-empty { padding:1.25rem; background:var(--md-soft); border-radius:10px; }
.md-annuaire-active .md-lite-popup { max-width:260px; font:14px/1.5 system-ui,sans-serif; }
.md-annuaire-active .md-lite-popup .md-lite-button { font-size:13px; }
.md-annuaire-active .md-lite-map-placeholder { display:flex; min-height:100%; align-items:center; justify-content:center; margin:0; padding:2rem; background:#f4f0eb; color:#4e3a3c; text-align:center; font:500 16px/1.6 system-ui,sans-serif; }
.md-annuaire-active .md-lite-marker { background:transparent; border:0; }
.md-annuaire-active .md-lite-marker > span { display:block; width:25px; height:25px; margin:2px; border:3px solid #fff; border-radius:50% 50% 50% 0; background:#61262a; box-shadow:0 1px 5px #38262790; transform:rotate(-45deg); }
.md-annuaire-active .md-lite-marker:focus-visible { outline:3px solid #244c76; outline-offset:4px; border-radius:6px; }
.md-annuaire-active .md-lite-popup { overflow-wrap:anywhere; }
.md-annuaire-active .md-lite-leaflet-popup .leaflet-popup-content { margin:14px 14px 12px !important; }
.md-annuaire-active .md-lite-leaflet-popup .md-lite-popup { max-width:100%; padding-right:8px; box-sizing:border-box; }
.md-annuaire-active .md-lite-leaflet-popup .leaflet-popup-scrolled { overscroll-behavior:contain; }
.md-annuaire-active .md-lite-popup .md-lite-name { display:block; color:#61262a; font:700 17px/1.4 system-ui,sans-serif; }
.md-annuaire-active .md-lite-profession { color:#4e3a3c; font-size:14px; }
.md-annuaire-active .md-lite-popup .md-lite-photo { display:block; width:80px !important; height:80px !important; max-width:100%; border-radius:8px; object-fit:cover; margin:.7rem 0; }
.md-annuaire-active .md-lite-popup .md-lite-popup-notice { font-size:11px; line-height:1.5; color:#665554; border-top:1px solid #e5d9d7; padding-top:.65rem; margin-top:.8rem; }
.md-annuaire-active .md-lite-popup .md-lite-contact { display:flex; flex-direction:column; align-items:stretch; gap:.4rem; }
.md-annuaire-active .md-lite-popup .md-lite-badges { gap:.35rem; }
.md-annuaire-active .md-lite-popup .md-lite-badge { font-size:12px; padding:.25rem .4rem; }
body .md-annuaire-active .md-lite-filter-group { display:block !important; flex:1 1 100% !important; min-width:0 !important; width:100% !important; padding:16px !important; margin:12px 0 !important; border:1px solid #c8b6b1 !important; border-radius:8px !important; background:#faf6f5 !important; }
body .md-annuaire-active .md-lite-filter-title { display:block !important; width:auto !important; padding:0 6px !important; margin:0 !important; color:#61262a !important; font:700 16px/1.5 system-ui,sans-serif !important; }
body .md-annuaire-active .md-lite-filter-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
body .md-annuaire-active .md-lite-filter-label { position:relative !important; display:flex !important; align-items:center !important; gap:10px !important; min-height:48px !important; height:auto !important; width:auto !important; padding:11px 12px !important; margin:0 !important; border:1px solid #b9a49e !important; border-radius:6px !important; background:#fff !important; color:#4d242b !important; font:600 14px/1.45 system-ui,sans-serif !important; cursor:pointer !important; text-align:left !important; }
body .md-annuaire-active .md-lite-filter-label[data-checked="true"] { border:2px solid #61262a !important; padding:10px 11px !important; background:#f0ddd8 !important; }
body .md-annuaire-active .md-lite-filter-input { display:inline-block !important; position:static !important; visibility:visible !important; opacity:1 !important; appearance:auto !important; -webkit-appearance:checkbox !important; flex:0 0 20px !important; width:20px !important; height:20px !important; margin:0 !important; padding:0 !important; accent-color:#61262a; clip:auto !important; clip-path:none !important; }
body .md-annuaire-active .md-lite-filter-text { flex:1; white-space:normal !important; }
body .md-annuaire-active .md-lite-filter-state { color:#61262a; font-size:11px; font-weight:700; }
@media(max-width:520px) { body .md-annuaire-active .md-lite-filter-grid { grid-template-columns:1fr !important; } .md-annuaire-active #map.md-lite-map { height:390px; } }
.md-annuaire-active button:focus-visible,.md-annuaire-active a:focus-visible,.md-annuaire-active input:focus-visible { outline:3px solid #61262a; outline-offset:3px; }
.md-annuaire-active button:disabled { opacity:.65; cursor:wait; }
.md-annuaire-active .search-row { display:flex !important; gap:.75rem; flex-wrap:wrap; align-items:flex-end; }
.md-annuaire-active .search-input-container { display:flex; flex:1 1 28rem; flex-wrap:wrap; max-width:none; padding:0; gap:.5rem; border:0; background:transparent; box-shadow:none; overflow:visible; }
.md-annuaire-active #md-address-search { flex:1 1 100%; width:100%; min-width:0; min-height:48px; padding:.7rem .85rem !important; border:1px solid #9d7878; border-radius:8px; background:#fff; font:16px/1.5 system-ui,sans-serif; box-sizing:border-box; }
.md-annuaire-active #md-search-btn,.md-annuaire-active #md-geoloc-btn { position:static !important; transform:none !important; width:auto; min-width:0; min-height:44px; height:auto; padding:.65rem 1rem; border-radius:8px; background:#61262a; color:#fff; font:600 15px/1.4 system-ui,sans-serif; }
.md-annuaire-active #md-geoloc-btn { background:#fff; color:#61262a; border:1px solid #61262a; }
.md-annuaire-active .radius-input-container { border:0; margin:0; padding:0; }
.md-annuaire-active #md-radius { min-height:44px; font-size:16px; }
.md-annuaire-active .filter-button-row { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin:.9rem 0; }
.md-annuaire-active .toggle-checkbox { display:inline-block; appearance:auto; width:18px; height:18px; position:absolute; opacity:0; }
.md-annuaire-active .toggle-checkbox:focus-visible + .toggle-button { outline:3px solid #61262a; outline-offset:3px; }
.md-annuaire-active .toggle-button { display:inline-flex; width:auto; min-height:44px; margin:0; padding:.5rem .75rem; gap:.35rem; font-size:14px; border:1px solid #9d7878; background:#fff; color:#61262a; box-sizing:border-box; }
.md-annuaire-active .toggle-checkbox:checked + .toggle-button { background:#61262a; color:#fff; border-color:#61262a; }
.md-annuaire-active .filter-buttons button,.md-annuaire-active #reset-map-button,.md-annuaire-active #reset-map-button-bottom,.md-annuaire-active #load-more-button { min-height:44px; font-size:14px; color:#61262a; border-color:#9d7878; }
@media(max-width:768px) {
 .md-annuaire-active .search-row { flex-direction:row; }
 .md-annuaire-active .search-input-container { flex-basis:100%; width:100%; }
 .md-annuaire-active .filter-button-row,.md-annuaire-active .filter-buttons { flex-direction:row; }
 .md-annuaire-active .toggle-button { flex:1 1 42%; justify-content:flex-start; font-size:14px; }
 .md-annuaire-active #map.md-lite-map { height:340px; }
 .md-annuaire-active .md-lite-card { padding:1rem; }
 .md-annuaire-active .md-lite-contact { align-items:stretch; flex-direction:column; gap:.35rem; }
 .md-annuaire-active .md-lite-contact .md-lite-button { width:100%; }
 .md-annuaire-active .md-lite-badge { display:inline-block; font-size:.85rem; }
}

/* Targeted overrides for legacy inline map CSS on local CPT pages. */
body .md-annuaire-active .toggle-button img,
body .md-annuaire-active #reset-map-button img,
body .md-annuaire-active #reset-map-button-bottom img,
body .md-annuaire-active #reviews-filter img,
body .md-annuaire-active #rating-filter img,
body .md-annuaire-active #distance-filter img { display:none !important; }
body .md-annuaire-active .toggle-button,
body .md-annuaire-active #reset-map-button,
body .md-annuaire-active #reset-map-button-bottom,
body .md-annuaire-active #reviews-filter,
body .md-annuaire-active #rating-filter,
body .md-annuaire-active #distance-filter {
 min-height:44px !important; height:auto !important; max-width:100% !important;
 padding:10px 12px !important; border-radius:8px !important; margin:0 !important;
 font:600 14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif !important;
 letter-spacing:normal !important; text-transform:none !important;
 white-space:normal !important; word-break:normal !important; overflow-wrap:normal !important;
}
body .md-annuaire-active #md-search-btn,
body .md-annuaire-active #md-geoloc-btn {
 position:static !important; inset:auto !important; transform:none !important;
 width:auto !important; min-width:0 !important; max-width:none !important;
 min-height:48px !important; height:auto !important; margin:0 !important;
 display:flex !important; align-items:center !important; justify-content:center !important;
 padding:12px 14px !important; border-radius:8px !important;
 font:600 15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif !important;
 letter-spacing:normal !important; text-transform:none !important;
 white-space:normal !important; word-break:normal !important; overflow-wrap:normal !important;
 writing-mode:horizontal-tb !important; text-align:center !important; box-sizing:border-box !important;
}
body .md-annuaire-active #md-search-btn img,
body .md-annuaire-active #md-geoloc-btn img,
body .md-annuaire-active #md-search-btn svg,
body .md-annuaire-active #md-geoloc-btn svg { display:none !important; }
@media(max-width:768px) {
 body .md-annuaire-active .search-row {
  display:grid !important; grid-template-columns:minmax(0,1fr) !important;
  width:100% !important; max-width:none !important; min-width:0 !important;
  gap:12px !important; align-items:start !important; margin:0 0 16px !important;
 }
 body .md-annuaire-active .search-input-container {
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  width:100% !important; max-width:none !important; min-width:0 !important;
  gap:8px !important; padding:0 !important; margin:0 !important;
  border:0 !important; box-shadow:none !important; overflow:visible !important;
  box-sizing:border-box !important;
 }
 body .md-annuaire-active #md-address-search {
  grid-column:1 / -1 !important; grid-row:1 !important;
  width:100% !important; max-width:none !important; min-width:0 !important;
  min-height:48px !important; height:auto !important; padding:12px !important;
  margin:0 !important; font:16px/1.5 system-ui,sans-serif !important;
  box-sizing:border-box !important;
 }
 body .md-annuaire-active #md-search-btn { grid-column:1 !important; grid-row:2 !important; width:100% !important; }
 body .md-annuaire-active #md-geoloc-btn { grid-column:2 !important; grid-row:2 !important; width:100% !important; }
 body .md-annuaire-active .radius-input-container {
  grid-column:1 !important; display:flex !important; justify-self:start !important;
  align-items:center !important; gap:8px !important; width:auto !important;
  margin:0 !important; padding:0 !important; border:0 !important;
 }
 body .md-annuaire-active .radius-input-container img,
 body .md-annuaire-active .radius-input-container svg { max-width:24px !important; max-height:24px !important; width:24px !important; height:24px !important; flex:0 0 24px !important; }
 body .md-annuaire-active #md-radius {
  width:88px !important; min-height:44px !important; height:44px !important;
  padding:8px 30px 8px 10px !important; margin:0 !important;
  font:16px/1.5 system-ui,sans-serif !important; box-sizing:border-box !important;
 }
 body .md-annuaire-active .filter-button-row {
  display:flex !important; flex-flow:row wrap !important; gap:8px !important;
  align-items:stretch !important; width:100% !important; margin:12px 0 !important;
 }
 body .md-annuaire-active .filter-button-row .toggle-button {
  flex:1 1 calc(50% - 8px) !important; width:auto !important; min-width:0 !important;
  display:flex !important; justify-content:flex-start !important; align-items:center !important;
  text-align:left !important; box-sizing:border-box !important;
 }
}
@media(max-width:520px) { body .md-annuaire-active #map.md-lite-map { height:390px; } }
