/* Fiche terrain — Option A. Styles préfixés .act- pour éviter les collisions. */
.act-wrap{
  --act-card:#fff; --act-ink:#1d1d1b; --act-muted:#6b6b66; --act-line:#e3e0d8;
  --act-accent:#7a5c3e; --act-accent2:#3a5a40;
  --act-ok:#2e7d32; --act-warn:#c77f0a; --act-bad:#c0392b; --act-na:#9a9a95;
  display:flex; gap:0; border:1px solid var(--act-line); border-radius:12px; overflow:hidden;
  min-height:520px; background:var(--act-card); color:var(--act-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height:1.45;
}
.act-left{flex:1 1 55%; position:relative; min-height:520px}
.act-wrap #act-map{position:absolute; inset:0}
.act-maperr{padding:20px; color:var(--act-muted); font-size:14px}
.act-searchbar{position:absolute; z-index:600; top:14px; left:14px; right:14px; max-width:520px}
.act-searchbar input{width:100%; padding:12px 14px; border:1px solid var(--act-line); border-radius:10px;
  font-size:15px; box-shadow:0 4px 16px rgba(0,0,0,.10); outline:none}
.act-sugg{background:var(--act-card); border:1px solid var(--act-line); border-radius:10px; margin-top:4px;
  box-shadow:0 6px 20px rgba(0,0,0,.12); overflow:hidden}
.act-sugg > div{padding:9px 14px; font-size:14px; cursor:pointer; border-bottom:1px solid var(--act-line)}
.act-sugg > div:last-child{border-bottom:0}
.act-sugg > div:hover{background:#f0ede7}
.act-sugg-err{color:var(--act-bad); cursor:default}
.act-right{flex:1 1 45%; max-width:480px; background:var(--act-card); border-left:1px solid var(--act-line);
  padding:22px; overflow-y:auto; max-height:640px}
.act-hint{color:var(--act-muted); font-size:14px}
.act-source{color:var(--act-muted); font-size:12px; margin-top:8px}
.act-source a{color:inherit}
.act-addr{font-size:16px; font-weight:600; margin:0 0 2px}
.act-sub{color:var(--act-muted); font-size:13px; margin:0 0 16px}
.act-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:8px}
.act-kpi{background:#faf9f6; border:1px solid var(--act-line); border-radius:10px; padding:12px 14px}
.act-lab{font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--act-muted)}
.act-val{font-size:19px; font-weight:650; margin-top:3px}
.act-val small{font-size:12px; font-weight:500; color:var(--act-muted)}
.act-sec{font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--act-accent);
  margin:20px 0 8px; border-bottom:1px solid var(--act-line); padding-bottom:5px}
.act-risk{display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px dashed var(--act-line); font-size:14px}
.act-risk:last-child{border-bottom:0}
.act-dot{width:10px; height:10px; border-radius:50%; flex:none}
.act-name{flex:1}
.act-tag{font-size:12px; padding:2px 8px; border-radius:20px; white-space:nowrap}
.act-tag{font-weight:600}
.lvl-ok{background:#2e7d32; color:#fff} .act-dot.ok{background:#2e7d32}
.lvl-warn{background:#d9791f; color:#fff} .act-dot.warn{background:#d9791f}
.lvl-low{background:#f2c200; color:#5c4600; font-weight:600} .act-dot.low{background:#f2c200}
.lvl-bad{background:#c0392b; color:#fff; font-weight:700} .act-dot.bad{background:#c0392b}
.lvl-na{background:#e9e9e6; color:#6b6b66} .act-dot.na{background:#9a9a95}
.act-reg{display:block; margin-top:6px; font-size:13px; color:var(--act-accent2); text-decoration:none}
.act-reg:hover{text-decoration:underline}
.act-loading{color:var(--act-muted); font-size:14px}
.act-err{color:var(--act-bad); font-size:13px}
.act-spin{display:inline-block; width:14px; height:14px; border:2px solid var(--act-line);
  border-top-color:var(--act-accent); border-radius:50%; animation:act-s .8s linear infinite;
  vertical-align:-2px; margin-right:6px}
@keyframes act-s{to{transform:rotate(360deg)}}
@media (max-width:780px){
  .act-wrap{flex-direction:column}
  .act-left{min-height:340px} .act-right{max-width:none}
}

/* ── Page « Étudier un terrain » : carte pleine largeur + fiche en tiroir off-canvas ── */
.act-wrap.act-fullmap{display:block; position:relative}
.act-wrap.act-fullmap .act-left{width:100%; min-height:74vh; position:relative}
.act-wrap.act-fullmap #act-map{position:absolute; inset:0}

/* Tiroir ancré au bord droit de la fenêtre, comme l'off-canvas des projets. */
.act-drawer{
  position:fixed; top:7.5rem; right:0; height:calc(100vh - 7.5rem); width:min(460px, 92vw);
  display:flex; flex-direction:column; background:var(--act-card,#fff);
  box-shadow:-8px 0 24px rgba(0,0,0,.25);
  transform:translateX(100%); transition:transform .25s ease; z-index:1000;
}
/* Sous le header réduit en mobile. */
@media (max-width:60rem){
  .act-drawer{ top:4rem; height:calc(100vh - 4rem); width:100%; }
}
.act-drawer.open{transform:translateX(0)}
.act-drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  background:#2b2b2b; color:#fff; padding:12px 16px; flex:none;
}
.act-drawer-title{font-weight:600; font-size:15px}
.act-drawer-close{
  background:none; border:0; color:#fff; font-size:24px; line-height:1;
  cursor:pointer; padding:0 4px; opacity:.85;
}
.act-drawer-close:hover{opacity:1}
.act-wrap.act-fullmap .act-right{
  flex:1 1 auto; max-width:none; max-height:none; border-left:0;
  overflow-y:auto; padding:18px;
}
