/* Annuaire revendeurs robot-tonte.fr : pages hub, departement, ville, fiche.
   S'appuie sur les jetons de css/rt-v2.css (--grn, --ink, --slate, --bd, --fdisplay...). */
:root{--an-bg:#f6f8f4;--an-card:#fff;--an-lime:#BEFF3B;--an-soft:#eef5ea;--an-part:#0f3d22}
body.an{background:#fff}
.an-wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.an-narrow{max-width:820px}

/* fil d'ariane */
.an-crumb{font-size:.84rem;color:var(--muted);padding:14px 0 0;display:flex;flex-wrap:wrap;gap:4px 6px}
.an-crumb a{color:var(--grn-d);text-decoration:none}
.an-crumb a:hover{text-decoration:underline}
.an-crumb span[aria-hidden]{color:#b8c2b5}

/* en-tete compact : la liste reste au-dessus de la ligne de flottaison */
.an-head{background:var(--an-bg);border-bottom:1px solid var(--bd);padding:4px 0 22px}
.an-head h1{font-family:var(--fdisplay);font-weight:800;font-size:clamp(1.5rem,4.2vw,2.3rem);line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:14px 0 8px;max-width:860px}
.an-lead{color:var(--slate);font-size:1.02rem;line-height:1.55;margin:0;max-width:760px}
.an-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 0;padding:0;list-style:none;font-size:.9rem;color:var(--slate)}
.an-facts b{color:var(--ink);font-family:var(--fdisplay);font-weight:800}

/* recherche commune */
.an-search{position:relative;margin-top:16px;max-width:620px}
.an-search-row{display:flex;gap:8px}
.an-search input{flex:1;min-width:0;height:50px;border:1.5px solid #cdd8c8;border-radius:12px;padding:0 14px 0 42px;font-size:16px;font-family:var(--fbody);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23228B22' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 14px 50%/18px no-repeat}
.an-search input:focus{outline:none;border-color:var(--grn);box-shadow:0 0 0 3px rgba(34,139,34,.14)}
.an-geo{flex:none;height:50px;padding:0 14px;border:1.5px solid #cdd8c8;border-radius:12px;background:#fff;color:var(--grn-d);font-weight:700;font-family:var(--fdisplay);font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.an-geo:hover{border-color:var(--grn)}
.an-geo svg{width:18px;height:18px}
.an-sugg{position:absolute;left:0;right:0;top:54px;z-index:40;background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:var(--sh-lg);list-style:none;margin:0;padding:6px;display:none}
.an-sugg.on{display:block}
.an-sugg li{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:.95rem;color:var(--ink)}
.an-sugg li small{color:var(--muted);margin-left:6px}
.an-sugg li[aria-selected=true],.an-sugg li:hover{background:var(--an-soft)}
.an-origin{display:none;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:.92rem;color:var(--slate)}
.an-origin.on{display:flex}
.an-origin b{color:var(--ink)}
.an-origin button{background:none;border:0;color:var(--grn-d);font-weight:700;cursor:pointer;padding:0;font-size:.9rem;text-decoration:underline}
.an-search-help{font-size:.82rem;color:var(--muted);margin:8px 0 0}

/* filtres marques : une ligne defilante sur mobile */
.an-filters{display:flex;gap:8px;overflow-x:auto;padding:14px 0 4px;margin:0;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.an-chip{flex:none;background:#fff;border:1px solid #d6e0d2;border-radius:999px;padding:7px 13px;font-size:.86rem;font-weight:600;color:#33543a;cursor:pointer;font-family:var(--fbody);white-space:nowrap}
.an-chip b{color:var(--grn-d);font-weight:700;margin-left:3px}
.an-chip:hover{border-color:var(--grn)}
.an-chip[aria-pressed=true]{background:var(--grn);border-color:var(--grn);color:#fff}
.an-chip[aria-pressed=true] b{color:#fff}
.an-chip-robot[aria-pressed=true]{background:var(--an-lime);border-color:var(--an-lime);color:#0a1f0d}
.an-chip-robot[aria-pressed=true] b{color:#0a1f0d}

/* liste + carte */
.an-main{padding:22px 0 10px}
.an-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
@media(min-width:980px){.an-layout{grid-template-columns:minmax(0,1fr) 430px}.an-mapcol{position:sticky;top:70px;align-self:start}}
.an-count{font-size:.92rem;color:var(--slate);margin:0 0 12px}
.an-count b{color:var(--ink)}
.an-list{display:flex;flex-direction:column;gap:12px}
.an-group-h{font-family:var(--fdisplay);font-weight:800;font-size:1.08rem;color:var(--ink);margin:14px 0 0;padding-bottom:6px;border-bottom:2px solid var(--bd);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;scroll-margin-top:80px}
.an-group-h:first-child{margin-top:0}
.an-group-h small{font-weight:500;color:var(--muted);font-size:.8rem}
.an-group-h a{font-size:.8rem;font-weight:600;color:var(--grn-d);text-decoration:none;margin-left:auto}
.an-group-h a:hover{text-decoration:underline}
.an-list.by-dist .an-group-h{display:none}
.an-hide{display:none!important}
.an-empty{display:none;background:var(--an-bg);border:1px dashed #cdd8c8;border-radius:12px;padding:18px;color:var(--slate);text-align:center}
.an-empty.on{display:block}

/* carte revendeur */
.an-card{background:var(--an-card);border:1px solid var(--bd);border-radius:14px;padding:15px 16px 14px;display:flex;flex-direction:column;gap:8px;scroll-margin-top:90px;transition:border-color .15s,box-shadow .15s}
.an-card:hover{border-color:#b9d3b1}
.an-card.is-focus{border-color:var(--grn);box-shadow:0 0 0 3px rgba(34,139,34,.15)}
.an-card-top{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}
.an-name{font-family:var(--fdisplay);font-weight:800;font-size:1.02rem;line-height:1.25;margin:0;color:var(--ink)}
.an-name a{color:inherit;text-decoration:none}
.an-name a:hover{color:var(--grn-d);text-decoration:underline}
.an-dist{flex:none;font-size:.8rem;font-weight:700;color:var(--grn-d);background:var(--an-soft);border-radius:999px;padding:3px 9px;white-space:nowrap}
.an-badges{display:flex;flex-wrap:wrap;gap:6px}
.an-b{font-size:.7rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;border-radius:6px;padding:3px 8px}
.an-b-robot{background:var(--an-lime);color:#0a1f0d}
.an-b-part{background:var(--an-part);color:#fff}
.an-addr{margin:0;color:var(--slate);font-size:.9rem;line-height:1.4}
.an-brands{display:flex;flex-wrap:wrap;gap:5px}
.an-brand{background:#eef4ea;color:#2f5a39;border:1px solid #dce9d5;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:700}
.an-brand-o{background:#f4f6f8;color:#586a79;border-color:#e3e8ee}
.an-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.an-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border-radius:10px;border:1px solid #cfdccb;background:#fff;color:var(--ink);font-weight:700;font-size:.88rem;text-decoration:none;font-family:var(--fdisplay)}
.an-btn:hover{border-color:var(--grn);color:var(--grn-d)}
.an-btn svg{width:16px;height:16px;flex:none}
.an-btn-call{background:var(--grn);border-color:var(--grn);color:#fff}
.an-btn-call:hover{background:var(--grn-d);border-color:var(--grn-d);color:#fff}
.an-btn-vit{background:var(--an-part);border-color:var(--an-part);color:#fff}
.an-btn-vit:hover{background:#0a2c18;color:#fff}
.an-card.is-part{border:1.5px solid var(--an-part);background:linear-gradient(#fff,#f7fbf3)}
.an-part-txt{margin:0;font-size:.88rem;color:#2c4a34}
@media(max-width:520px){.an-actions .an-btn{flex:1 1 auto}}

/* carte geographique */
.an-mapbox{background:var(--an-bg);border:1px solid var(--bd);border-radius:14px;overflow:hidden}
.an-map{height:calc(100vh - 110px);max-height:720px;min-height:360px;width:100%}
.an-map-toggle{display:none}
@media(max-width:979px){
  .an-mapcol{order:-1}
  .an-map-toggle{display:flex;width:100%;justify-content:center;align-items:center;gap:8px;min-height:44px;border:1px solid #cfdccb;border-radius:12px;background:#fff;font-weight:700;font-family:var(--fdisplay);color:var(--grn-d);cursor:pointer;font-size:.92rem}
  .an-mapbox{display:none;margin-top:10px}
  .an-mapcol.open .an-mapbox{display:block}
  .an-map{height:58vh;min-height:300px}
}
.an-map-note{font-size:.75rem;color:var(--muted);padding:6px 10px;margin:0;background:#fff;border-top:1px solid var(--bd)}
.an-pop b{display:block;font-family:var(--fdisplay);margin-bottom:2px}
.an-pop a{color:var(--grn-d);font-weight:700}

/* sections de contenu */
.an-sec{padding:34px 0}
.an-sec-soft{background:var(--an-bg);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.an-sec h2{font-family:var(--fdisplay);font-weight:800;font-size:clamp(1.25rem,3.2vw,1.65rem);color:var(--ink);margin:0 0 10px;line-height:1.2}
.an-sec h3{font-family:var(--fdisplay);font-weight:700;font-size:1.02rem;color:var(--ink);margin:0 0 6px}
.an-sec p{color:var(--slate);line-height:1.65;margin:0 0 12px}
.an-sub{color:var(--slate);margin:0 0 16px}
.an-links{display:flex;flex-wrap:wrap;gap:8px}
.an-links a{background:#fff;border:1px solid var(--bd);border-radius:999px;padding:7px 13px;font-size:.88rem;font-weight:600;color:#2b6b39;text-decoration:none}
.an-links a:hover{border-color:var(--grn);background:var(--an-soft)}
.an-links a i{font-style:normal;color:var(--muted);font-weight:500;font-size:.8rem;margin-left:3px}
.an-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.an-tile{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:16px 18px}
.an-tile p{margin:0;font-size:.95rem}
.an-rg{margin:0 0 18px}
.an-rg h3{font-size:.98rem;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--bd)}

/* topo local */
.an-topo{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:760px){.an-topo{grid-template-columns:1fr 1fr}}
.an-reco{background:var(--an-part);color:#fff;border-radius:14px;padding:14px 18px;margin:0 0 14px}
.an-reco p{color:#fff;margin:0}
.an-reco b{color:var(--an-lime)}
.an-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.an-meta span{background:var(--an-soft);border-radius:6px;padding:3px 8px;font-size:.76rem;font-weight:600;color:#33543a}
.an-src{font-size:.8rem;color:var(--muted)}
.an-src a{color:var(--grn-d)}

/* FAQ */
.an-faq details{background:#fff;border:1px solid var(--bd);border-radius:12px;padding:0 16px;margin-bottom:10px}
.an-faq summary{cursor:pointer;font-family:var(--fdisplay);font-weight:700;color:var(--ink);padding:14px 0;list-style:none}
.an-faq summary::-webkit-details-marker{display:none}
.an-faq summary::after{content:"+";float:right;color:var(--grn);font-weight:800}
.an-faq details[open] summary::after{content:"–"}
.an-faq details p{margin:0 0 14px}

/* encart professionnels */
.an-pro{background:#fff;border:1.5px solid var(--an-part);border-radius:16px;padding:20px 22px;display:grid;gap:12px}
@media(min-width:760px){.an-pro{grid-template-columns:1fr auto;align-items:center}}
.an-pro h2{font-size:1.2rem;margin:0 0 4px}
.an-pro p{margin:0;font-size:.95rem}
.an-pro .an-btn{background:var(--an-part);border-color:var(--an-part);color:#fff;white-space:nowrap}

/* fiche revendeur */
.an-fiche{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding-top:22px;padding-bottom:8px}
@media(min-width:900px){.an-fiche{grid-template-columns:minmax(0,1fr) 380px}}
.an-info{background:#fff;border:1px solid var(--bd);border-radius:14px;padding:18px}
.an-info dl{margin:0;display:grid;gap:12px}
.an-info dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.an-info dd{margin:2px 0 0;color:var(--ink);font-size:.97rem;line-height:1.45}
.an-info dd a{color:var(--grn-d);font-weight:600}
.an-frame{width:100%;height:260px;border:0;border-radius:12px;background:var(--an-bg)}
.an-hl{margin:0 0 12px;padding-left:18px;color:var(--slate)}
.an-hl li{margin:4px 0}
.an-partner-band{background:var(--an-part);color:#fff;border-radius:14px;padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:14px}
.an-partner-band p{margin:0;color:#fff}
.an-partner-band .an-btn{background:var(--an-lime);border-color:var(--an-lime);color:#0a1f0d}

.an-note{font-size:.84rem;color:var(--muted);line-height:1.55}
.an-note a{color:var(--grn-d)}

/* rt-v2.css colore tous les liens de <main article> (specificite 0,5,3) : on reprend la main */
body.an{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
.an .an-card .an-name a{color:var(--ink)!important;text-decoration:none!important}
.an .an-card .an-name a:hover{color:var(--grn-d)!important;text-decoration:underline!important}
.an .an-btn{color:var(--ink)!important;text-decoration:none!important}
.an .an-btn:hover{color:var(--grn-d)!important}
.an .an-btn-call,.an .an-btn-call:hover,.an .an-btn-vit,.an .an-btn-vit:hover,.an .an-pro .an-btn{color:#fff!important}
.an .an-partner-band .an-btn{color:#0a1f0d!important}

/* bandeau d'apercu local */
.an-demo{background:#fff4d6;border-bottom:1px solid #f0d58a;color:#5b4508;font-size:.86rem;padding:9px 16px;text-align:center}
.an-blurb{margin:0;color:var(--slate);font-size:.9rem;line-height:1.5}
.an-emptybox{background:var(--an-bg);border:1px solid var(--bd);border-radius:14px;padding:18px 20px}
.an-emptybox h2{font-size:1.15rem;margin:0 0 6px}
.an-emptybox p{margin:0 0 12px}

/* carte de France (hub) */
.an-frwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:start}
@media(min-width:980px){.an-frwrap{grid-template-columns:minmax(0,560px) minmax(0,1fr)}.an-frmap{position:sticky;top:70px}}
.an-frmap{background:var(--an-bg);border:1px solid var(--bd);border-radius:16px;padding:14px}
.an-fr{width:100%;height:auto;display:block}
.an-fr a path{fill:#e3ebe0;stroke:#fff;stroke-width:.8;transition:fill .12s}
.an-fr a.on path{fill:#3f9b4f}
.an-fr a:hover path,.an-fr a:focus path{fill:#BEFF3B}
.an-fr a.on:hover path,.an-fr a.on:focus path{fill:#0f3d22}
.an-fr a:focus{outline:none}
.an-fr .dot{fill:#0f3d22;stroke:#fff;stroke-width:1.5;pointer-events:none}
.an-frtip{min-height:1.4em;margin:8px 0 0;font-family:var(--fdisplay);font-weight:700;color:var(--ink);text-align:center}
.an-frleg{background:none;border:0;text-align:center}
.an-frleg .lg{display:inline-block;width:11px;height:11px;border-radius:3px;background:#e3ebe0;vertical-align:-1px;margin-left:6px}
.an-frleg .lg.on{background:#3f9b4f}
.an-links a.on{background:var(--an-soft);border-color:#b9d3b1;color:var(--grn-dd)}

/* carte de France : zoom par region (mobile) */
.an-fr a path{vector-effect:non-scaling-stroke}
.an-fr .lb{display:none;font:700 7px var(--fdisplay,sans-serif);fill:#0f3d22;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.an-fr .lb.act{display:inline}
.an-fr.zoomed a:not(.act) path{opacity:.3}
.an-fr.zoomed .dot:not(.act){opacity:.3}
.an-frbar{min-height:0}
.an-frback{margin:0 0 8px;background:#fff;border:1px solid #cfdccb;border-radius:999px;padding:8px 14px;font-weight:700;font-family:var(--fdisplay);color:var(--grn-d);cursor:pointer;font-size:.9rem}
@media(max-width:760px){
  .an-frwrap{gap:18px}
  .an-frmap{margin:0 -16px;border-radius:0;border-left:0;border-right:0;padding:12px 0}
  .an-frbar{padding:0 10px}
  .an-frtip{font-size:1.02rem}
}
.an-fr .lb{font-family:'Rubik',sans-serif;font-size:7px;font-weight:800;fill:#33543a}
.an-fr .lb.on{fill:#fff}

/* tableau des modeles (pages marque) */
.an-tablewrap{overflow-x:auto;border:1px solid var(--bd);border-radius:12px;background:#fff}
.an-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.an-table th,.an-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--bd-soft)}
.an-table th{font-family:var(--fdisplay);font-weight:700;color:var(--ink);background:var(--an-bg);font-size:.85rem}
.an-table td a{color:var(--grn-d);font-weight:600}
.an-table .num{text-align:right;white-space:nowrap}
.an-table tr:last-child td{border-bottom:0}
.an-rg h3 small{font-weight:500;color:var(--muted);font-size:.8rem;margin-left:4px}
.an-tile-link{display:block;text-decoration:none;transition:border-color .15s}
.an-tile-link:hover{border-color:var(--grn)}
.an-tile-link h3{color:var(--grn-d)}
.an-tile-link p{color:var(--slate)}
@media(max-width:600px){
  .an-table{min-width:0}
  .an-table thead{display:none}
  .an-table,.an-table tbody,.an-table tr{display:block}
  .an-table tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:11px 12px;border-bottom:1px solid var(--bd-soft)}
  .an-table td{border:0;padding:0;font-size:.86rem;color:var(--slate)}
  .an-table td:first-child{flex:1 1 100%;font-size:.95rem}
  .an-table td:nth-child(2):not(:empty)::after{content:" ·";color:var(--muted)}
  .an-table td.num{margin-left:auto;font-weight:800;color:var(--ink);font-family:var(--fdisplay)}
}

/* raccourcis marque sous la recherche (hub) */
.an-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:.9rem}
.an-quick span{color:var(--slate);font-weight:600;margin-right:2px}
.an-quick a{background:#fff;border:1px solid #cfdccb;border-radius:999px;padding:6px 14px;font-weight:700;font-family:var(--fdisplay);color:var(--grn-d);text-decoration:none}
.an-quick a:hover{border-color:var(--grn);background:var(--an-soft)}
.an-quick a.an-quick-more{background:none;border:0;padding:6px 4px;font-weight:600;font-family:inherit;color:var(--slate);text-decoration:underline}
#par-marque{scroll-margin-top:70px}
