.bocage{max-width:1040px}
.bocage .chapo{max-width:760px}
.bocage-chiffres{list-style:none;padding:0;margin:var(--s3) 0 var(--s4);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.bocage-chiffres li{background:var(--mousse);border-left:3px solid var(--feuille);border-radius:var(--r-carte);padding:var(--s2) var(--s2) 14px;margin:0}
.bocage-val{display:block;font-family:var(--police-titre);font-weight:700;font-size:1.65rem;line-height:1.15;color:var(--sombre)}
.bocage-lib{display:block;font-size:var(--fs-petit);color:var(--encre-douce);margin-top:4px}
.bocage-carte{width:100%;height:440px;border:1px solid var(--filet);border-radius:var(--r-carte);background:var(--mousse);margin:var(--s2) 0;position:relative;z-index:0}
.bocage-carte--hub{height:520px}
.bocage-legende{list-style:none;padding:0;margin:0 0 var(--s3);display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);font-size:var(--fs-petit);color:var(--encre-douce)}
.bocage-legende li{display:flex;align-items:center;gap:8px;margin:0;color:var(--encre-douce)}
.bocage-trait{display:inline-block;width:28px;height:0;border-top:2px solid #5b8f3a}
.bocage-trait--prot{border-top:5px solid #1f5c2e}
.bocage-trait--arbre{border-top:3px dashed #9a5b1e}
.bocage-pastille{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #1f3d2a}
.bocage-table-wrap{overflow-x:auto;margin:var(--s3) 0 var(--s4);-webkit-overflow-scrolling:touch}
.bocage-table-wrap table{min-width:640px;margin-bottom:0}
.bocage-table-wrap caption{caption-side:top;text-align:left;font-family:var(--police-titre);font-weight:600;padding-bottom:var(--s1);color:var(--encre)}
.bocage-table-wrap th button{all:unset;cursor:pointer;font:inherit;color:inherit;text-decoration:underline dotted;text-underline-offset:3px}
.bocage-table-wrap th button:focus-visible{outline:2px solid var(--feuille);outline-offset:2px}
.bocage-table-wrap td.num,.bocage-table-wrap th.num{text-align:right;white-space:nowrap}
.bocage-voisines{list-style:none;padding:0;margin:var(--s2) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s2)}
.bocage-voisines li{border:1px solid var(--filet);border-radius:var(--r-carte);padding:var(--s2);margin:0}
.bocage-voisines a{font-weight:600}
.bocage-voisines span{display:block;font-size:var(--fs-petit);color:var(--encre-douce);margin-top:4px}
.bocage-liens{list-style:none;padding:0;margin:var(--s2) 0;display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3)}
.bocage-liens li{margin:0}
.bocage-faq h3{font-size:1.15rem;margin:var(--s3) 0 var(--s1)}
.bocage-communes-pnr{columns:2 220px;list-style:none;padding:0;margin:var(--s2) 0}
.bocage-communes-pnr li{margin:0 0 6px}
.bocage-popup{font-family:var(--police-corps);font-size:.9rem;line-height:1.45}
.bocage-popup strong{display:block;font-family:var(--police-titre);font-size:1.05rem}
.bocage-voir{padding-block:var(--s3)}
.bocage-voir p{margin:0}
@media (max-width:600px){.bocage-carte{height:340px}.bocage-carte--hub{height:400px}.bocage-val{font-size:1.4rem}}
.bocage-acces{padding-block:var(--s4)}
.bocage-liens--col{flex-direction:column;gap:var(--s1)}
.bocage-acces h2{margin-top:0}
@media (max-width:560px){.bocage-chiffres{grid-template-columns:repeat(2,1fr)}}
.bocage-filtre{display:flex;flex-wrap:wrap;gap:var(--s1);align-items:center;margin:var(--s2) 0}
.bocage-filtre button{font:inherit;font-size:var(--fs-petit);padding:6px 14px;border:1px solid var(--filet);background:var(--clair);color:var(--encre);border-radius:var(--r-bouton);cursor:pointer}
.bocage-filtre button[aria-pressed=true]{background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}
.bocage-filtre button:focus-visible{outline:2px solid var(--feuille);outline-offset:2px}
.outil-haie{background:var(--mousse);border-left:3px solid var(--feuille);border-radius:var(--r-carte);padding:var(--s3);margin:var(--s3) 0;position:relative}
.outil-haie label{display:block;font-weight:600;margin-bottom:var(--s1)}
.outil-haie-champ{display:flex;gap:var(--s1);flex-wrap:wrap}
.outil-haie-champ input{flex:1 1 280px;font:inherit;padding:12px 14px;border:1px solid var(--seve);border-radius:var(--r-champ);background:var(--clair);color:var(--encre)}
.outil-haie-champ input:focus-visible{outline:2px solid var(--feuille);outline-offset:1px}
.outil-haie-sugg{list-style:none;margin:4px 0 0;padding:0;background:var(--clair);border:1px solid var(--filet);border-radius:var(--r-carte);box-shadow:var(--ombre-douce);position:relative;z-index:2}
.outil-haie-sugg li{padding:10px 14px;margin:0;cursor:pointer;border-bottom:1px solid var(--filet)}
.outil-haie-sugg li:hover,.outil-haie-sugg li:focus{background:var(--mousse);outline:none}
.outil-haie [data-haie-resultat] h3{margin:var(--s3) 0 var(--s1);font-size:1.2rem}
.outil-haie [data-haie-carte]{height:380px;margin-top:var(--s2)}
.outil-haie [hidden]{display:none}
.meteo-table th[scope=row]{white-space:nowrap}
.meteo-table td strong{display:block}
.meteo-why{display:block;font-size:.78rem;color:var(--encre-douce);line-height:1.3;margin-top:2px;max-width:170px}
.meteo-oui{background:oklch(.93 .05 150)}
.meteo-non{background:oklch(.94 .03 25)}
.meteo-mid{background:oklch(.95 .05 90)}
.meteo-choix{display:flex;gap:var(--s1);flex-wrap:wrap;align-items:center}
.meteo-choix select{font:inherit;padding:10px 12px;border:1px solid var(--seve);border-radius:var(--r-champ);background:var(--clair);color:var(--encre)}
.meteo-outil .bocage-table-wrap table{min-width:900px}
