/* Mapa Brasil Veteranos — modo ⛰️ Terreno (05/11/2026) */
#b-terreno .t { margin-left:4px; }
@media (max-width:640px) { #b-terreno .t { display:none; } }

/* painel: no PC um cartão à direita; no celular folha de baixo */
#terreno { position:absolute; top:54px; right:10px; z-index:1250; width:min(360px, calc(100vw - 20px)); max-height:calc(100vh - 70px);
  overflow:auto; background:var(--painel); border:1px solid var(--borda); border-radius:12px; display:none;
  box-shadow:0 6px 18px rgba(0,0,0,.5); font-size:14px; }
#terreno h2 { margin:0; padding:10px 14px; font-size:16px; display:flex; justify-content:space-between; align-items:center;
  border-bottom:1px solid var(--borda); position:sticky; top:0; background:#11151c; z-index:1; }
#terreno h2 .x { cursor:pointer; color:var(--fraco); font-size:28px; line-height:1; min-width:44px; min-height:44px;
  display:flex; align-items:center; justify-content:center; margin:-10px -10px -10px 4px; background:none; border:0; }
#terreno .alca { display:none; }
#terreno .sec { padding:8px 14px 10px; border-bottom:1px solid #1d2230; }
#terreno .sec h3 { margin:0 0 4px; font-size:12px; color:var(--ouro); text-transform:uppercase; letter-spacing:.5px; }
#terreno label { display:flex; align-items:center; gap:10px; padding:7px 0; cursor:pointer; user-select:none; }
#terreno label input { width:18px; height:18px; accent-color:var(--ac); flex:none; }
#terreno label small { color:var(--fraco); margin-left:auto; text-align:right; font-size:12px; }
#terreno label.off { opacity:.5; cursor:default; }
#terreno .fundos { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
#terreno .fundos label { border:1px solid var(--borda); border-radius:8px; padding:8px; gap:6px; }
#terreno .fundos label:has(input:checked) { border-color:var(--ac); background:#1a2538; }
#terreno .lado2 { display:flex; gap:8px; align-items:center; margin-top:4px; }
#terreno select { flex:1; background:#0f1217; color:var(--texto); border:1px solid var(--borda); border-radius:8px; padding:7px; font:inherit; }
#terreno .dica { color:var(--fraco); font-size:12px; margin:2px 0 0; }
@media (max-width:640px) {
  #terreno { top:auto; bottom:0; left:0; right:0; width:auto; max-height:62vh; border-radius:14px 14px 0 0; z-index:1160;
    box-shadow:0 -6px 18px rgba(0,0,0,.5); }
  #terreno .alca { display:flex; position:sticky; top:0; height:22px; align-items:center; justify-content:center; background:#11151c; z-index:2; }
  #terreno .alca i { width:46px; height:5px; border-radius:3px; background:#5a6272; }
  #terreno h2 { top:22px; }
  body.terreno-aberto #coord, body.terreno-aberto .leaflet-control-zoom { display:none !important; }
}

/* legenda da altitude (canto de baixo, à esquerda) */
#t-legalt { position:absolute; left:10px; bottom:10px; z-index:1000; background:var(--painel); border:1px solid var(--borda);
  border-radius:8px; padding:6px 8px; font:12px system-ui, sans-serif; display:none; pointer-events:none; }
#t-legalt b { display:block; font-size:11px; color:var(--ouro); margin-bottom:4px; text-transform:uppercase; letter-spacing:.4px; }
#t-legalt .esc { display:flex; gap:6px; align-items:stretch; }
#t-legalt .barra { width:14px; border-radius:3px; border:1px solid #000a; }
#t-legalt .num { display:flex; flex-direction:column; justify-content:space-between; font:11px ui-monospace, Consolas, monospace; }
@media (max-width:640px) { #t-legalt { bottom:52px; } }

/* cortina de comparação */
#t-cortina { position:absolute; top:46px; bottom:0; width:0; z-index:990; display:none; touch-action:none; }
#t-cortina .linha { position:absolute; top:0; bottom:0; left:-2px; width:4px; background:#fff; box-shadow:0 0 4px #000; }
#t-cortina .pega { position:absolute; top:50%; left:-22px; width:44px; height:44px; margin-top:-22px; border-radius:50%;
  background:#fff; color:#111; display:flex; align-items:center; justify-content:center; font:700 16px system-ui;
  box-shadow:0 1px 6px rgba(0,0,0,.6); cursor:ew-resize; touch-action:none; }
#t-cortina .faixa { position:absolute; top:0; bottom:0; left:-16px; width:32px; cursor:ew-resize; touch-action:none; }
#t-cortina .nome { position:absolute; top:10px; white-space:nowrap; background:rgba(11,13,16,.85); border:1px solid var(--borda);
  border-radius:6px; padding:3px 8px; font-size:12px; pointer-events:none; }
#t-cortina .nome.e { right:10px; }  #t-cortina .nome.d { left:10px; }

/* picos e terreno plano */
.t-pico { background:none; border:0; }
.t-pico div { position:absolute; left:0; top:0; transform:translate(-50%, -8px); white-space:nowrap; display:flex; flex-direction:column;
  align-items:center; font:800 12.5px system-ui, sans-serif; color:#fff; line-height:1;
  text-shadow:0 0 3px #000, 0 0 2px #000, 1px 1px 0 #000; pointer-events:auto; cursor:pointer; }
.t-pico i { font-style:normal; color:#5d3a1a; font-size:16px; text-shadow:0 0 2px #fff, 0 0 2px #fff; }
.t-plano { background:none; border:0; }
.t-plano div { position:absolute; left:-11px; top:-11px; width:22px; height:22px; border-radius:6px; background:#2e7d32;
  border:2px solid #e8f5e9; color:#fff; font:800 12px system-ui; display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 4px #000; cursor:pointer; }
.t-plano.top div { background:#1b5e20; border-color:#ffd54f; }
.rot.t-cont { font-size:13px; color:#fff59d; }
.rot small.ru { display:block; font-size:.74em; font-weight:600; opacity:.85; letter-spacing:0; text-align:center; line-height:1.15; }
#terreno .fundos label { flex-wrap:wrap; }
#terreno .fundos label small { margin-left:26px; text-align:left; flex-basis:100%; }
/* com o Meu mapa: o cartão do Terreno fica à esquerda do botão 👥 e esconde a lista do clã enquanto aberto */
@media (min-width:641px) { body:has(#mm-mini) #terreno { right:66px; } }
body.terreno-aberto #mm-menu { display:none !important; }
