/* Aividance Annuaire — styles (scopés sous .dtl-annuaire).
   Tailles en PIXELS = maquette v2, indépendantes de la base du thème (Penci = 10px). */
.dtl-annuaire{--b:#1b5e9c;--bf:#134372;--v:#1f8a5b;--g:#5b6470;--bd:#d9dfe7;--bg:#f4f8fd;--r:14px;
  max-width:980px;margin:0 auto;padding:0 16px;color:#1d2530;line-height:1.6 !important;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:16px !important}
.dtl-annuaire *{box-sizing:border-box}
.dtl-annuaire a{color:var(--b)}
.dtl-annuaire p{margin:0 0 12px}
.dtl-annuaire .bc{font-size:16px !important;color:var(--g);padding:14px 0 4px}
.dtl-annuaire .bc a{text-decoration:none}
.dtl-annuaire h1{font-size:35px !important;line-height:1.15 !important;margin:8px 0 6px !important;color:var(--bf) !important;font-weight:800}
.dtl-annuaire h2{font-size:26px !important;line-height:1.3 !important;color:var(--bf) !important;margin:0 0 14px !important;font-weight:700}
.dtl-annuaire .sub{font-size:20px !important;color:var(--g);margin:0 0 6px}
.dtl-annuaire .meta{font-size:15px !important;color:#8a94a2;border-top:1px dashed var(--bd);margin-top:14px;padding-top:12px}
.dtl-annuaire .meta b{color:var(--g)}
.dtl-annuaire .tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.dtl-annuaire .tag{font-size:16px !important;background:var(--bg);border:1px solid #cfe0f2;color:var(--bf);border-radius:999px;padding:6px 14px;line-height:1.4 !important}
.dtl-annuaire .tag.ok{background:#e9f7ef;border-color:#bfe6cf;color:#166b45}
.dtl-annuaire .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}
.dtl-annuaire .fact{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:16px;text-align:center}
.dtl-annuaire .fact .n{font-size:30px !important;font-weight:800;color:var(--bf);line-height:1.1 !important}
.dtl-annuaire .fact .l{font-size:16px !important;color:var(--g);margin-top:4px}
.dtl-annuaire section.an,.dtl-annuaire .card{background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:24px;margin-top:18px}
.dtl-annuaire table{width:100%;border-collapse:collapse}
.dtl-annuaire th,.dtl-annuaire td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--bd);font-size:18px !important}
.dtl-annuaire th{color:var(--g);font-weight:600}
.dtl-annuaire td.v{font-weight:800;color:var(--bf);white-space:nowrap;text-align:right}
.dtl-annuaire .src{font-size:15px !important;color:#8a94a2;margin-top:10px}
.dtl-annuaire .intro-txt{font-size:18px !important}
.dtl-annuaire .insight{font-size:19px !important;background:var(--bg);border-left:4px solid var(--b);border-radius:8px;padding:14px 18px;margin-bottom:18px}
.dtl-annuaire .bars .bar{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:12px;margin:10px 0;font-size:18px !important}
.dtl-annuaire .bars .track{background:#eef2f7;border-radius:8px;height:24px;overflow:hidden}
.dtl-annuaire .bars .fill{height:100%;border-radius:8px;background:#9db8d6}
.dtl-annuaire .bars .bar.me .fill{background:var(--b)}
.dtl-annuaire .bars .amt{font-weight:800;color:var(--bf);white-space:nowrap}
.dtl-annuaire .esti{background:linear-gradient(180deg,#f4f8fd,#eaf2fb);border:2px solid #cfe0f2}
.dtl-annuaire .esti .row{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end}
.dtl-annuaire .esti .field{flex:1;min-width:210px}
.dtl-annuaire .esti label{display:block;font-size:18px !important;font-weight:600;margin-bottom:6px}
.dtl-annuaire .esti input{width:100%;font-size:24px !important;padding:12px 14px;border:2px solid var(--bd);border-radius:10px}
.dtl-annuaire .esti .seg{display:flex;gap:10px}
.dtl-annuaire .esti .seg button{flex:1;font-size:18px !important;padding:12px;border:2px solid var(--bd);background:#fff;border-radius:10px;cursor:pointer}
.dtl-annuaire .esti .seg button.on{border-color:var(--b);background:#eff5fc;color:var(--bf);font-weight:700}
.dtl-annuaire .esti .out{margin-top:20px;text-align:center}
.dtl-annuaire .esti .out .val{font-size:48px !important;font-weight:800;color:var(--v);line-height:1.1 !important}
.dtl-annuaire .esti .out .lib{font-size:18px !important;color:var(--g)}
.dtl-annuaire .esti-intro{font-size:18px !important;color:var(--g);margin:0 0 16px}
.dtl-annuaire .esti-break{margin-top:18px;background:#fff;border:1px solid var(--bd);border-radius:12px;padding:4px 16px}
.dtl-annuaire .esti-break .lir{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bd);font-size:17px !important;color:var(--g)}
.dtl-annuaire .esti-break .lir:last-child{border-bottom:0}
.dtl-annuaire .esti-break .lir b{font-size:19px !important;color:var(--bf);white-space:nowrap}
.dtl-annuaire .esti-break .lir.aid b{color:var(--v)}
.dtl-annuaire .cta{display:inline-block;margin-top:12px;background:var(--b);color:#fff !important;font-size:18px !important;font-weight:700;text-decoration:none;padding:12px 22px;border-radius:10px}
.dtl-annuaire .aides{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dtl-annuaire .aides a{display:block;background:var(--bg);border:1px solid #cfe0f2;border-radius:12px;padding:16px;text-decoration:none;color:inherit;font-size:17px !important}
.dtl-annuaire .aides a .t{font-weight:700;color:var(--bf);font-size:19px !important;margin-bottom:4px}
.dtl-annuaire .chips{display:flex;flex-wrap:wrap;gap:10px}
.dtl-annuaire .chip{font-size:17px !important;background:#fff;border:1px solid var(--bd);border-radius:999px;padding:8px 16px}
.dtl-annuaire .faq details{border:1px solid var(--bd);border-radius:12px;padding:4px 18px;margin-bottom:10px;background:#fff}
.dtl-annuaire .faq summary{font-size:19px !important;font-weight:700;color:var(--bf);cursor:pointer;padding:12px 0;list-style:none}
.dtl-annuaire .faq summary::-webkit-details-marker{display:none}
.dtl-annuaire .faq summary::before{content:"＋ ";color:var(--b)}
.dtl-annuaire .faq details[open] summary::before{content:"－ "}
.dtl-annuaire .faq p{font-size:18px !important;margin:0 0 14px}
.dtl-annuaire .etabs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.dtl-annuaire .etab{display:block;background:#fff;border:1px solid var(--bd);border-radius:12px;padding:16px;text-decoration:none;color:inherit}
.dtl-annuaire .etab:hover{border-color:var(--b);box-shadow:0 4px 14px rgba(20,40,80,.08)}
.dtl-annuaire .etab .nom{font-weight:700;color:var(--bf);font-size:19px !important}
.dtl-annuaire .etab .info{font-size:17px !important;color:var(--g);margin-top:4px}
.dtl-annuaire .etab .prix{font-weight:800;color:var(--v)}
.dtl-annuaire .depts{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.dtl-annuaire .depts a{background:var(--bg);border:1px solid #cfe0f2;border-radius:999px;padding:8px 16px;text-decoration:none;font-size:17px !important}
.dtl-annuaire h3.reg{font-size:19px !important;color:var(--bf);margin:20px 0 8px;font-weight:700}
.dtl-annuaire .depts a .cnt{color:var(--g);font-size:14px !important;font-weight:600}
.dtl-annuaire .an-map{margin-top:14px}
.dtl-annuaire .an-map iframe{width:100%;height:320px;border:0;border-radius:12px;display:block}
.dtl-annuaire .contact{font-size:18px !important}
.dtl-annuaire .contact a{font-weight:700}
.dtl-annuaire .tag.qual{background:#fff5e9;border-color:#f0d3a8;color:#8a5a12}
.dtl-annuaire .tag.qual.good{background:#e9f7ef;border-color:#bfe6cf;color:#166b45}
.dtl-annuaire .qbloc{font-size:18px !important;margin:6px 0}
/* Formulaire de demande (prospects) */
.dtl-annuaire .dtl-lead{background:var(--bg);border-color:#cfe0f2}
.dtl-annuaire .dtl-leadform .lf-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:6px}
.dtl-annuaire .dtl-leadform label{display:block;font-size:16px !important;color:var(--g);font-weight:600}
.dtl-annuaire .dtl-leadform label span{color:#c0392b;margin-left:2px}
.dtl-annuaire .dtl-leadform input,.dtl-annuaire .dtl-leadform textarea{width:100%;margin-top:6px;padding:12px 14px;font-size:17px !important;border:1px solid var(--bd);border-radius:10px;background:#fff;font-family:inherit}
.dtl-annuaire .dtl-leadform input:focus,.dtl-annuaire .dtl-leadform textarea:focus{outline:2px solid var(--b);border-color:var(--b)}
.dtl-annuaire .dtl-leadform .lf-msg{display:block;margin-top:14px}
.dtl-annuaire .dtl-leadform .lf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dtl-annuaire .dtl-leadform .cta{border:0;cursor:pointer}
.dtl-annuaire .dtl-leadform .lf-legal{font-size:14px !important;color:#8a94a2;margin-top:10px}
.dtl-annuaire .dtl-leadform .lf-feedback{font-size:17px !important;margin-top:8px;font-weight:600}
.dtl-annuaire .dtl-leadform .lf-feedback.ok{color:#166b45}
.dtl-annuaire .dtl-leadform .lf-feedback.err{color:#c0392b}
/* Comparateur */
.dtl-annuaire .etab-wrap{display:flex;flex-direction:column;gap:8px}
.dtl-annuaire .dtl-cmp-line{margin:12px 0 0}
.dtl-annuaire .dtl-cmp-btn{cursor:pointer;font-size:15px !important;font-weight:600;color:var(--b);background:#fff;border:1px solid var(--b);border-radius:8px;padding:8px 14px;align-self:flex-start;line-height:1.2 !important}
.dtl-annuaire .dtl-cmp-btn.on{background:var(--v);border-color:var(--v);color:#fff}
.dtl-cmpbar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:14px;background:#134372;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:0 8px 28px rgba(10,30,60,.32);font-family:"Segoe UI",system-ui,-apple-system,sans-serif;font-size:16px}
.dtl-cmpbar[hidden]{display:none}
.dtl-cmpbar-go{background:#fff;color:#134372 !important;text-decoration:none;font-weight:800;padding:8px 16px;border-radius:999px}
.dtl-cmpbar-clear{background:transparent;border:0;color:#cfe0f2;font-size:18px;cursor:pointer;line-height:1}
.dtl-annuaire.dtl-comparateur{max-width:1000px}
.dtl-annuaire .cmp-scroll{overflow-x:auto;margin-top:8px}
.dtl-annuaire .cmp-table{border-collapse:collapse;min-width:600px;width:100%}
.dtl-annuaire .cmp-table th,.dtl-annuaire .cmp-table td{border:1px solid var(--bd);padding:12px 14px;text-align:left;font-size:16px !important;vertical-align:top}
.dtl-annuaire .cmp-table thead th{background:var(--bg);color:var(--bf);font-size:17px !important}
.dtl-annuaire .cmp-table thead th a{color:var(--bf);text-decoration:none;font-weight:800}
.dtl-annuaire .cmp-table th.lab{background:#fafbfd;color:var(--g);font-weight:600;white-space:nowrap}
.dtl-annuaire .cmp-table tr.hl td,.dtl-annuaire .cmp-table tr.hl th{background:#eef6ff}
.dtl-annuaire .cmp-table .cmp-auto{display:block;font-size:13px !important;font-weight:600;color:var(--g);margin-top:4px}
/* Tableau de classement triable */
.dtl-annuaire .dtl-rank-table{border-collapse:collapse;width:100%;min-width:760px}
.dtl-annuaire .dtl-rank-table th,.dtl-annuaire .dtl-rank-table td{border-bottom:1px solid var(--bd);padding:12px 12px;text-align:left;font-size:16px !important;vertical-align:middle}
.dtl-annuaire .dtl-rank-table thead th{background:var(--bg);color:var(--bf);font-weight:700;white-space:nowrap}
.dtl-annuaire .dtl-rank-table th.sortable{cursor:pointer;user-select:none}
.dtl-annuaire .dtl-rank-table th.sortable::after{content:'⇅';opacity:.4;margin-left:6px;font-size:13px}
.dtl-annuaire .dtl-rank-table th.asc::after{content:'↑';opacity:1}
.dtl-annuaire .dtl-rank-table th.desc::after{content:'↓';opacity:1}
.dtl-annuaire .dtl-rank-table td a{font-weight:700;color:var(--b);text-decoration:none}
.dtl-annuaire .dtl-rank-table .c-rank{font-weight:800;color:var(--bf);text-align:center;width:46px}
.dtl-annuaire .dtl-rank-table .c-num{text-align:right;white-space:nowrap;font-weight:600}
.dtl-annuaire .dtl-rank-table tbody tr:hover{background:#f7fbff}
.dtl-annuaire .dtl-rank-table .c-cmp{text-align:right}
.dtl-annuaire .dtl-rank-table .c-cmp .dtl-cmp-btn{font-size:13px !important;padding:6px 10px}
/* Cartes de classement (podium) + bascule cartes/tableau */
.dtl-annuaire .rank-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:15px !important;color:var(--g)}
.dtl-annuaire .rank-view{cursor:pointer;border:1px solid var(--bd);background:#fff;color:var(--bf);border-radius:8px;padding:7px 14px;font-size:15px !important;font-weight:600}
.dtl-annuaire .rank-view.on{background:var(--b);border-color:var(--b);color:#fff}
.dtl-annuaire .rank-cards{display:flex;flex-direction:column;gap:14px}
.dtl-annuaire .rc{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--bd);border-radius:14px;padding:18px 20px}
.dtl-annuaire .rc-medal{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--bf);color:#fff;font-weight:800;font-size:20px !important;display:flex;align-items:center;justify-content:center}
.dtl-annuaire .rc-medal.m1{background:#e3b341}.dtl-annuaire .rc-medal.m2{background:#9aa7b4}.dtl-annuaire .rc-medal.m3{background:#c9853f}
.dtl-annuaire .rc-body{flex:1 1 auto;min-width:0}
.dtl-annuaire .rc-name{font-size:21px !important;font-weight:800;color:var(--bf);text-decoration:none;display:block}
.dtl-annuaire .rc-sub{font-size:16px !important;color:var(--g);margin-top:2px}
.dtl-annuaire .rc-badges{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.dtl-annuaire .rc-badges .pill{font-size:14px !important;background:var(--bg);border:1px solid #cfe0f2;color:var(--bf);border-radius:999px;padding:4px 12px}
.dtl-annuaire .rc-badges .pill.ok{background:#e9f7ef;border-color:#bfe6cf;color:#166b45}
.dtl-annuaire .rc-side{flex:0 0 auto;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.dtl-annuaire .rc-price .a{font-size:24px !important;font-weight:800;color:var(--v)}
.dtl-annuaire .rc-price .u{font-size:15px !important;color:var(--g)}
.dtl-annuaire .rc-side .cta{margin-top:0}
.dtl-annuaire .rc-side .dtl-cmp-btn{font-size:13px !important;padding:6px 12px}
@media(max-width:760px){
 .dtl-annuaire .rc{flex-wrap:wrap;gap:12px}
 .dtl-annuaire .rc-side{width:100%;text-align:left;align-items:flex-start;flex-direction:row;justify-content:space-between;flex-wrap:wrap}
}
/* Classements numérotés */
.dtl-annuaire .etabs.ranked .etab{position:relative;padding-left:60px}
.dtl-annuaire .etabs.ranked .rank{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--b);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px !important}
/* Carte interactive (pages hub) */
.dtl-annuaire .dtl-map-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:0 0 14px}
.dtl-annuaire .dtl-map-filters label{font-size:16px !important;color:var(--bf);display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.dtl-annuaire .dtl-map-filters input{width:16px;height:16px}
.dtl-annuaire .dtl-map-count{font-size:15px !important;color:var(--g);margin-left:auto}
.dtl-annuaire #dtl-map{height:460px;width:100%;border:1px solid var(--bd);border-radius:12px;z-index:0}
.dtl-annuaire #dtl-map a{color:var(--b)}
/* Page de vente premium */
.dtl-annuaire.dtl-prem-page{max-width:900px}
.dtl-annuaire .prem-hero{background:linear-gradient(180deg,#eef6ff,#f7fbff);border-color:#cfe0f2;text-align:center}
.dtl-annuaire .prem-hero h1{font-size:34px !important}
.dtl-annuaire .prem-hero .cta{font-size:19px !important;margin-top:16px}
.dtl-annuaire .prem-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.dtl-annuaire .prem-card{display:flex;gap:14px;align-items:flex-start;background:var(--bg);border:1px solid #cfe0f2;border-radius:12px;padding:16px}
.dtl-annuaire .prem-card .ic{font-size:26px;line-height:1}
.dtl-annuaire .prem-card b{color:var(--bf);font-size:18px !important}
.dtl-annuaire .prem-card .d{font-size:16px !important;color:var(--g);margin-top:4px}
.dtl-annuaire .prem-price{text-align:center}
.dtl-annuaire .price-box{margin:6px 0 14px}
.dtl-annuaire .price-box .amount{font-size:52px !important;font-weight:800;color:var(--v);line-height:1}
.dtl-annuaire .price-box .amount span{font-size:22px !important;color:var(--g);font-weight:600;margin-left:6px}
.dtl-annuaire .price-box .price-sub{font-size:17px !important;color:var(--g);margin-top:6px}
/* Bandeau premium (gestionnaires) */
.dtl-annuaire .dtl-premium-cta{background:linear-gradient(180deg,#fff8ec,#fdeecf);border-color:#f0d3a8}
.dtl-annuaire .dtl-premium-cta .pc-in{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.dtl-annuaire .dtl-premium-cta .pc-txt{font-size:18px !important;color:#7a5a12;max-width:640px}
.dtl-annuaire .dtl-premium-cta .cta{margin-top:0;background:#b7791f;white-space:nowrap}
@media(max-width:760px){
 .dtl-annuaire .facts{grid-template-columns:1fr 1fr}
 .dtl-annuaire .aides,.dtl-annuaire .etabs{grid-template-columns:1fr}
 .dtl-annuaire .dtl-leadform .lf-row{grid-template-columns:1fr}
 .dtl-annuaire .prem-grid{grid-template-columns:1fr}
 .dtl-annuaire .dtl-premium-cta .pc-in{flex-direction:column;align-items:flex-start}
 .dtl-annuaire .bars .bar{grid-template-columns:110px 1fr auto}
 .dtl-annuaire h1{font-size:29px !important}
}
/* Moteur de recherche (autocomplétion) — non scopé pour fonctionner aussi via shortcode */
.dtl-search{position:relative;max-width:680px;margin:8px 0 18px;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
.dtl-search-input{width:100%;font-size:19px;padding:16px 18px;border:2px solid #1b5e9c;border-radius:12px;background:#fff;box-sizing:border-box}
.dtl-search-input:focus{outline:2px solid #1b5e9c;border-color:#134372}
.dtl-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #d9dfe7;border-radius:12px;box-shadow:0 12px 34px rgba(20,40,80,.16);max-height:430px;overflow-y:auto;z-index:60}
.dtl-search-results .grp{font-size:12px;font-weight:700;color:#5b6470;text-transform:uppercase;letter-spacing:.04em;padding:12px 16px 6px;border-top:1px solid #eef1f5}
.dtl-search-results .grp:first-child{border-top:0}
.dtl-search-results a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;color:#134372;font-size:17px;font-weight:600}
.dtl-search-results a:hover{background:#f4f8fd}
.dtl-search-results a em{font-style:normal;color:#5b6470;font-size:14px;font-weight:500;white-space:nowrap}
/* Bandeau hero de la page racine + barre de recherche façon portail */
.dtl-annuaire .dtl-hero{background:linear-gradient(180deg,#1b5e9c,#134372);border-radius:16px;padding:40px 28px;text-align:center;margin-top:12px}
.dtl-annuaire .dtl-hero h1{color:#fff !important;font-size:34px !important;margin:0 0 8px !important}
.dtl-annuaire .dtl-hero .dtl-hero-sub{color:#dbe8f6;font-size:19px !important;margin:0 0 22px}
.dtl-annuaire .dtl-hero .dtl-search{margin:0 auto}
.dtl-search{max-width:760px}
.dtl-search-bar{display:flex;gap:12px;align-items:stretch;position:relative}
.dtl-search-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;color:#8a94a2;pointer-events:none}
.dtl-search-input{flex:1 1 auto;padding-left:46px;border:2px solid #d9dfe7}
.dtl-search-btn{flex:0 0 auto;background:#1f8a5b;color:#fff;border:0;border-radius:12px;padding:0 28px;font-size:18px;font-weight:800;cursor:pointer;white-space:nowrap;font-family:inherit}
.dtl-search-btn:hover{background:#18744c}
@media(max-width:620px){
 .dtl-search-bar{flex-wrap:wrap}
 .dtl-search-input{flex:1 1 100%}
 .dtl-search-btn{flex:1 1 100%;padding:14px}
}
/* Champ de recherche : forcer un encadré blanc lisible (prioritaire sur le thème) */
.dtl-search-input{
  background:#fff !important;
  color:#1d2530 !important;
  border:1px solid #d9dfe7 !important;
  border-radius:12px !important;
  padding:16px 18px 16px 46px !important;
  font-size:19px !important;
  box-shadow:0 2px 10px rgba(10,30,60,.12);
  -webkit-appearance:none;appearance:none;height:auto !important;line-height:1.3 !important}
.dtl-search-input::placeholder{color:#8a94a2 !important;opacity:1}
.dtl-search-ico{color:#8a94a2;z-index:1}

/* ---- Enrichissement gestionnaire + avis + galerie (ajouts) ---- */
.dtl-annuaire .dtl-rating-line{font-size:18px !important;color:var(--g);margin:2px 0 8px}
.dtl-annuaire .dtl-rating-line a{text-decoration:none;font-weight:600}
.dtl-annuaire .dtl-stars{color:#f5a623;letter-spacing:1px}
.dtl-annuaire .dtl-stars .s-off{color:#dcdce3}
/* Galerie */
.dtl-annuaire .dtl-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:18px 0}
.dtl-annuaire .dtl-gallery .dtl-ph{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--bd)}
.dtl-annuaire .dtl-gallery .dtl-ph img{width:100%;height:100%;object-fit:cover;display:block}
.dtl-annuaire .dtl-gallery .dtl-ph-main{grid-row:span 2}
.dtl-annuaire .dtl-gallery .dtl-ph-main img{min-height:240px}
.dtl-annuaire .dtl-gallery .dtl-ph:not(.dtl-ph-main) img{height:116px}
@media(max-width:600px){.dtl-annuaire .dtl-gallery{grid-template-columns:1fr 1fr}.dtl-annuaire .dtl-gallery .dtl-ph-main{grid-column:span 2;grid-row:auto}}
/* Formulaires (enrichissement + avis) */
.dtl-annuaire .ef-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}
.dtl-annuaire .dtl-enrichform label,.dtl-annuaire .dtl-reviewform label{display:block;font-size:15px !important;color:#42505f;font-weight:600}
.dtl-annuaire .dtl-enrichform label span,.dtl-annuaire .dtl-reviewform label span{color:#c62828}
.dtl-annuaire .dtl-enrichform input,.dtl-annuaire .dtl-enrichform select,.dtl-annuaire .dtl-enrichform textarea,
.dtl-annuaire .dtl-reviewform input,.dtl-annuaire .dtl-reviewform textarea{width:100%;box-sizing:border-box;margin-top:4px;padding:10px 12px;border:1px solid var(--bd);border-radius:8px;font-size:16px !important;font-weight:400}
.dtl-annuaire .dtl-enrichform .ef-full,.dtl-annuaire .dtl-reviewform .ef-full{display:block;margin-bottom:14px}
.dtl-annuaire .dtl-enrichform .ef-hp,.dtl-annuaire .dtl-reviewform .ef-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.dtl-annuaire .dtl-enrichform .ef-legal,.dtl-annuaire .dtl-reviewform .ef-legal{font-size:14px !important;color:var(--g)}
.dtl-annuaire .dtl-enrichform input[type=file]{width:100%;box-sizing:border-box;margin-top:4px;padding:10px 12px;border:1px dashed var(--bd);border-radius:8px;font-size:15px !important;background:#fff}
.dtl-annuaire .ef-photos-preview{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.dtl-annuaire .ef-photos-preview .ef-thumb{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid var(--bd)}
.dtl-annuaire .dtl-enrich-toggle{cursor:pointer;font-weight:700;color:var(--bf);padding:8px 0;list-style:none;font-size:18px !important}
.dtl-annuaire .dtl-enrich-toggle::-webkit-details-marker{display:none}
.dtl-annuaire .ef-feedback{margin-top:10px;font-weight:600}
.dtl-annuaire .ef-feedback.ok{color:#2e7d32}
.dtl-annuaire .ef-feedback.err{color:#c62828}
.dtl-annuaire .dtl-enrichform .cta,.dtl-annuaire .dtl-reviewform .cta{border:0;cursor:pointer}
/* Avis : liste + widget étoiles */
.dtl-annuaire .dtl-rev-summary{font-size:22px !important;margin:6px 0 10px}
.dtl-annuaire .dtl-rev-summary b{color:#1d2530}
.dtl-annuaire .dtl-rev-list{margin:14px 0}
.dtl-annuaire .dtl-rev{border:1px solid var(--bd);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff}
.dtl-annuaire .dtl-rev-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dtl-annuaire .dtl-rev-author{font-weight:700;color:var(--bf)}
.dtl-annuaire .dtl-rev-date{font-size:14px !important;color:var(--g)}
.dtl-annuaire .dtl-rev-txt{margin:.5em 0 0;color:#2a333d}
.dtl-annuaire .rv-stars{display:flex;align-items:center;gap:4px;margin-bottom:14px;flex-wrap:wrap}
.dtl-annuaire .rv-stars .rv-label{font-size:15px !important;color:#42505f;font-weight:600;margin-right:6px}
.dtl-annuaire .rv-s{border:0;background:none;font-size:32px !important;line-height:1;color:#dcdce3;cursor:pointer;padding:0}
.dtl-annuaire .rv-s.on{color:#f5a623}

/* ---- Spécifique annuaire dialyse ---- */
.dtl-annuaire .tags .tag{display:inline-block;padding:5px 11px;border:1px solid var(--bd);border-radius:999px;background:#f4f8fd;color:#42505f;font-size:14px !important}
.dtl-annuaire .tags .tag.ok{border-color:#bfe3cf;background:#eafaf1;color:#1f7a48}
.dtl-annuaire .dtl-mods{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.dtl-annuaire .dtl-mod{display:inline-block;padding:8px 14px;border:1px solid #bfe3cf;background:#eafaf1;color:#1f7a48;border-radius:10px;font-weight:600;font-size:16px !important}
.dtl-annuaire .dtl-vac{background:#fff8ec;border-color:#f0dfae}
.dtl-annuaire .dtl-map{margin-top:12px;border-radius:12px;overflow:hidden;border:1px solid var(--bd)}
.dtl-annuaire .dtl-lmap{width:100%;height:340px}
.dtl-annuaire .dtl-mapwrap #dtl-map{width:100%;height:420px;border-radius:12px;overflow:hidden;border:1px solid var(--bd);margin-top:10px}
.dtl-annuaire .dtl-map-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:6px 0}
.dtl-annuaire .dtl-map-filters label{font-size:16px !important;color:#42505f}
.dtl-annuaire .dtl-map-count{color:var(--g);font-size:15px !important}
.dtl-annuaire .dtl-map .leaflet-container a,.dtl-annuaire .dtl-mapwrap .leaflet-container a{color:var(--b)}
.dtl-annuaire .etabs.ranked .etab{position:relative;padding-left:58px}
.dtl-annuaire .etabs.ranked .rank{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--b);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px !important}
.dtl-annuaire .dtl-rating-line{font-size:18px !important;color:var(--g);margin:2px 0 8px}
.dtl-annuaire .dtl-rating-line a{text-decoration:none;font-weight:600}

.dtl-annuaire .dtl-ad{margin:22px 0;text-align:center;min-height:1px;overflow:hidden}

/* ---- Finder de proximité ---- */
.dtl-annuaire .dtl-finder-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dtl-annuaire .dtl-finder-controls .cta{margin-top:0;cursor:pointer;border:0}
.dtl-annuaire .dtl-finder-or{color:var(--g)}
.dtl-annuaire .dtl-finder input{flex:1 1 220px;min-width:180px;padding:11px 12px;border:1px solid var(--bd);border-radius:8px;font-size:16px !important}
.dtl-annuaire .dtl-finder-msg{margin:10px 0 6px;color:var(--g);font-weight:600}
.dtl-annuaire .dtl-finder-results{margin-top:6px}
.dtl-annuaire h3.reg{font-size:20px !important;margin:18px 0 8px !important}
.dtl-annuaire h3.reg a{text-decoration:none}
.dtl-annuaire h3.reg .cnt{color:var(--b);font-weight:700;font-size:15px !important}

/* ---- Dentistes : nuage villes + encart RGPD ---- */
.dtl-annuaire .dtl-villes{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.dtl-annuaire .dtl-villes .dtl-ville{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--bd);border-radius:999px;background:#f4f8fd;color:var(--bf);text-decoration:none;font-size:15px !important}
.dtl-annuaire .dtl-villes .dtl-ville:hover{border-color:var(--b)}
.dtl-annuaire .dtl-villes .dtl-ville .c{font-size:12px !important;color:var(--g);font-weight:700}
.dtl-annuaire .dtl-rgpd{background:#f4f8fd;border-color:#d9e3f0}
.dtl-annuaire .dtl-enrichwrap{margin-top:8px}

/* Tableau tarifs dentaires */
.dtl-annuaire .dtl-tarifs th{width:auto;text-align:left;background:#eef3fb;color:var(--bf);font-weight:700}
.dtl-annuaire .dtl-tarifs td.v{width:auto}
