
/* =========================================================
   LIMA ENGENHARIA
   INTERFACE PRINCIPAL
   MOBILE FIRST
   ========================================================= */

:root{
  --lima-verde:#176c3a;
  --lima-verde-hover:#125d31;
  --lima-verde-topo:#258347;

  --lima-verde-claro:#f1f7f3;
  --lima-verde-borda:#b9d4c2;

  --lima-texto:#263129;
  --lima-muted:#6f7a73;

  --lima-branco:#ffffff;
}


/* =========================================================
   CONTROLE PRINCIPAL
   ========================================================= */

#map .lima-busca{
  position:relative !important;

  font-family:
    Arial,
    Helvetica,
    sans-serif !important;
}


/* =========================================================
   CAMPO DE BUSCA
   ========================================================= */

#map .lima-busca #buscaCar{
  background:#fff !important;

  color:#263129 !important;

  border:1px solid rgba(23,108,58,.35) !important;

  border-radius:10px !important;

  outline:none !important;

  padding:0 13px !important;

  box-shadow:
    0 2px 9px rgba(0,0,0,.15) !important;

  transition:
    border-color .15s ease,
    box-shadow .15s ease !important;
}


#map .lima-busca #buscaCar:focus{
  border-color:var(--lima-verde) !important;

  box-shadow:
    0 0 0 3px rgba(23,108,58,.12),
    0 2px 9px rgba(0,0,0,.12) !important;
}


/* =========================================================
   BOTOES
   ========================================================= */

#map .lima-busca button{
  min-width:0 !important;

  border-radius:10px !important;

  font-weight:700 !important;

  display:flex !important;

  align-items:center !important;

  justify-content:center !important;

  gap:7px !important;

  cursor:pointer !important;

  transition:
    background .15s ease,
    border-color .15s ease,
    transform .08s ease,
    box-shadow .15s ease !important;
}


#map .lima-busca button:active{
  transform:scale(.98);
}


.lima-btn-icone{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  flex:0 0 auto;
}


.lima-btn-icone svg{
  width:18px;

  height:18px;

  display:block;

  fill:none;

  stroke:currentColor;

  stroke-width:2;

  stroke-linecap:round;

  stroke-linejoin:round;
}


/* =========================================================
   ACOES PRINCIPAIS
   ========================================================= */

#map #btnBusca,
#map #btnCompararImagens{
  color:#fff !important;

  border:1px solid var(--lima-verde) !important;

  background:
    linear-gradient(
      180deg,
      var(--lima-verde-topo) 0%,
      var(--lima-verde) 100%
    ) !important;

  box-shadow:
    0 2px 5px rgba(0,0,0,.14) !important;
}


@media(hover:hover){

  #map #btnBusca:hover,
  #map #btnCompararImagens:hover{
    background:
      linear-gradient(
        180deg,
        #207a41 0%,
        var(--lima-verde-hover) 100%
      ) !important;
  }

}


/* =========================================================
   ACOES SECUNDARIAS
   ========================================================= */

#map #btnFiltros,
#map #btnFerramentas,
#map #btnLocalizacao{
  color:var(--lima-verde) !important;

  background:
    rgba(255,255,255,.96) !important;

  border:
    1px solid var(--lima-verde-borda) !important;

  box-shadow:
    0 1px 4px rgba(0,0,0,.10) !important;
}


@media(hover:hover){

  #map #btnFiltros:hover,
  #map #btnFerramentas:hover,
  #map #btnLocalizacao:hover{
    background:
      var(--lima-verde-claro) !important;

    border-color:
      var(--lima-verde) !important;
  }

}


/* Remove simbolo antigo de Meu local */

#map #btnLocalizacao::before{
  content:none !important;
}


/* =========================================================
   BOTAO ANTIGO DO SATELITE
   ========================================================= */

.lima-sat-original-oculto{
  display:none !important;
}


/* =========================================================
   MENU FERRAMENTAS
   ========================================================= */

#lima-tools-menu{
  position:absolute;

  top:calc(100% + 8px);

  right:0;

  width:285px;

  display:none;

  padding:8px;

  box-sizing:border-box;

  background:#fff;

  border:1px solid rgba(0,0,0,.12);

  border-radius:13px;

  box-shadow:
    0 12px 32px rgba(0,0,0,.22);

  z-index:10050;

  color:var(--lima-texto);
}


#lima-tools-menu.ativo{
  display:block;
}


.lima-tools-titulo{
  display:flex;

  align-items:center;

  gap:8px;

  padding:7px 8px 10px;

  margin-bottom:4px;

  color:var(--lima-verde);

  border-bottom:1px solid #e6ebe7;

  font-size:13px;

  font-weight:800;
}


.lima-tool-item{
  width:100% !important;

  min-height:45px !important;

  display:flex !important;

  justify-content:flex-start !important;

  gap:10px !important;

  padding:9px 10px !important;

  background:#fff !important;

  color:var(--lima-texto) !important;

  border:0 !important;

  box-shadow:none !important;

  text-align:left !important;

  font-size:13px !important;
}


.lima-tool-item .lima-tool-icone{
  width:24px;

  display:flex;

  align-items:center;

  justify-content:center;

  color:var(--lima-verde);

  flex:0 0 24px;
}


.lima-tool-item .lima-tool-icone svg{
  width:19px;

  height:19px;

  fill:none;

  stroke:currentColor;

  stroke-width:2;

  stroke-linecap:round;

  stroke-linejoin:round;
}


@media(hover:hover){

  .lima-tool-item:hover{
    background:#f2f7f4 !important;
  }

}


/* =========================================================
   TOAST
   ========================================================= */

#lima-ui-toast{
  position:fixed;

  left:50%;

  bottom:24px;

  transform:translateX(-50%);

  z-index:110000;

  display:none;

  max-width:calc(100vw - 30px);

  padding:10px 15px;

  box-sizing:border-box;

  background:#263129;

  color:#fff;

  border-radius:22px;

  box-shadow:
    0 5px 18px rgba(0,0,0,.28);

  font:
    600 12px Arial,
    sans-serif;

  text-align:center;
}


#lima-ui-toast.ativo{
  display:block;
}


/* =========================================================
   GPS FLUTUANTE MOBILE
   ========================================================= */

#lima-gps-flutuante{
  display:none;

  position:absolute;

  right:12px;

  bottom:74px;

  z-index:1000;

  width:46px;

  height:46px;

  padding:0;

  align-items:center;

  justify-content:center;

  border:1px solid rgba(23,108,58,.22);

  border-radius:50%;

  background:#fff;

  color:var(--lima-verde);

  box-shadow:
    0 2px 8px rgba(0,0,0,.28);

  cursor:pointer;
}


#lima-gps-flutuante svg{
  width:21px;

  height:21px;

  fill:none;

  stroke:currentColor;

  stroke-width:2;

  stroke-linecap:round;

  stroke-linejoin:round;
}


/* =========================================================
   AJUDA
   ========================================================= */

.lima-ajuda-btn{
  width:auto !important;

  min-width:36px !important;

  height:38px !important;

  padding:0 12px !important;

  display:flex !important;

  align-items:center !important;

  justify-content:center !important;

  gap:6px !important;

  border-radius:20px !important;

  font-size:12px !important;

  font-weight:700 !important;
}


.lima-ajuda-btn svg{
  width:18px;

  height:18px;

  fill:none;

  stroke:currentColor;

  stroke-width:2;

  stroke-linecap:round;

  stroke-linejoin:round;
}


/* =========================================================
   DESKTOP / NOTEBOOK
   ========================================================= */

@media(min-width:701px){

  #map .lima-busca{
    display:grid !important;

    grid-template-columns:
      repeat(5,minmax(0,1fr)) !important;

    width:min(760px,calc(100vw - 80px)) !important;

    max-width:calc(100vw - 80px) !important;

    gap:7px !important;

    left:50vw !important;

    transform:translateX(-50%) !important;

    margin-left:0 !important;

    margin-right:0 !important;

    box-sizing:border-box !important;
  }


  #map .lima-busca #buscaCar{
    grid-column:1 / -1 !important;

    grid-row:1 !important;

    width:100% !important;

    height:44px !important;

    font-size:15px !important;

    box-sizing:border-box !important;
  }


  #map .lima-busca button{
    width:100% !important;

    height:42px !important;

    padding:8px 8px !important;

    box-sizing:border-box !important;

    font-size:13px !important;
  }


  #btnBusca{
    grid-column:1 !important;
    grid-row:2 !important;
  }


  #btnFiltros{
    grid-column:2 !important;
    grid-row:2 !important;
  }


  #btnLocalizacao{
    grid-column:3 !important;
    grid-row:2 !important;
  }


  #btnFerramentas{
    grid-column:4 !important;
    grid-row:2 !important;
  }


  #btnCompararImagens{
    grid-column:5 !important;
    grid-row:2 !important;
  }

}


/* =========================================================
   CELULAR
   ========================================================= */

@media(max-width:700px){

  #map .lima-busca{
    display:grid !important;

    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr) !important;

    width:calc(100% - 24px) !important;

    max-width:calc(100% - 24px) !important;

    min-width:0 !important;

    left:0 !important;

    right:auto !important;

    transform:none !important;

    margin-left:12px !important;

    margin-right:12px !important;

    gap:6px !important;

    box-sizing:border-box !important;
  }


  #map .lima-busca #buscaCar{
    grid-column:1 / -1 !important;

    grid-row:1 !important;

    width:100% !important;

    min-width:0 !important;

    height:45px !important;

    padding:0 11px !important;

    box-sizing:border-box !important;

    font-size:16px !important;
  }


  #map .lima-busca button{
    width:100% !important;

    min-width:0 !important;

    height:44px !important;

    min-height:44px !important;

    padding:7px 6px !important;

    box-sizing:border-box !important;

    font-size:12px !important;

    white-space:nowrap !important;
  }


  #btnBusca{
    grid-column:1 !important;
    grid-row:2 !important;
  }


  #btnFiltros{
    grid-column:2 !important;
    grid-row:2 !important;
  }


  #btnFerramentas{
    grid-column:1 !important;
    grid-row:3 !important;
  }


  #btnCompararImagens{
    grid-column:2 !important;
    grid-row:3 !important;
  }


  /* Meu local vira botao flutuante */

  #map #btnLocalizacao{
    display:none !important;
  }


  #lima-gps-flutuante{
    display:flex;
  }


  /* Menu vira painel inferior */

  #lima-tools-menu{
    position:fixed !important;

    top:auto !important;

    left:10px !important;

    right:10px !important;

    bottom:12px !important;

    width:auto !important;

    max-width:none !important;

    padding:10px !important;

    border-radius:16px !important;

    z-index:10050 !important;
  }


  .lima-tools-titulo{
    font-size:14px;
  }


  .lima-tool-item{
    min-height:49px !important;

    font-size:14px !important;
  }


  /* Comparador preparado para painel mobile */

  #lima-sat-panel{
    position:fixed !important;

    top:auto !important;

    left:8px !important;

    right:8px !important;

    bottom:8px !important;

    width:auto !important;

    max-width:none !important;

    max-height:76vh !important;

    overflow-y:auto !important;

    transform:none !important;

    border-radius:16px !important;

    box-sizing:border-box !important;
  }


  #lima-sat-panel input,
  #lima-sat-panel select{
    font-size:16px !important;
  }


  .lima-ajuda-btn{
    width:40px !important;

    min-width:40px !important;

    padding:0 !important;
  }


  .lima-ajuda-texto{
    display:none !important;
  }

}


/* =========================================================
   RESPEITA PEDIDO DO COMPARADOR PARA ESCONDER A BUSCA
   Esta regra apenas corrige a briga de CSS.
   ========================================================= */

#map .lima-busca.lima-busca-oculta,
#map .lima-busca[style*="display: none"]{
  display:none !important;
}



/* =========================================================
   MENU FERRAMENTAS - REFINO VISUAL DOS ICONES
   ========================================================= */

.lima-tool-item .lima-tool-icone{
  width:34px !important;
  height:34px !important;

  flex:0 0 34px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:10px !important;

  background:#eef7f1 !important;
  color:#176c3a !important;

  border:1px solid rgba(23,108,58,.10) !important;
}

.lima-tool-item .lima-tool-icone svg{
  width:18px !important;
  height:18px !important;
}

.lima-tools-titulo .lima-tool-icone{
  width:28px !important;
  height:28px !important;

  flex:0 0 28px !important;

  border-radius:8px !important;

  background:#eef7f1 !important;
  border:1px solid rgba(23,108,58,.10) !important;
}

.lima-tools-titulo .lima-tool-icone svg{
  width:16px !important;
  height:16px !important;
}

@media(max-width:700px){

  .lima-tool-item .lima-tool-icone{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
  }

  .lima-tool-item .lima-tool-icone svg{
    width:19px !important;
    height:19px !important;
  }

}


/* =========================================================
   MENU FERRAMENTAS COMPACTO V2
   ========================================================= */

#btnFerramentas.lima-menu-aberto{
  color:#176c3a !important;
  background:#eaf5ee !important;
  border-color:#176c3a !important;

  box-shadow:
    0 0 0 2px rgba(23,108,58,.08) !important;
}


/* remove cabecalho antigo caso reste estilo */

.lima-tools-titulo{
  display:none !important;
}


/* desktop */

#lima-tools-menu{
  right:auto !important;

  padding:7px !important;

  border-radius:13px !important;

  overflow:hidden !important;

  box-sizing:border-box !important;
}


.lima-tools-handle{
  display:none;
}


.lima-tool-item{
  min-height:46px !important;

  padding:6px 8px !important;

  gap:10px !important;

  border-radius:9px !important;
}


.lima-tool-item + .lima-tool-item{
  margin-top:2px !important;
}


/* =========================================================
   CELULAR
   ========================================================= */

@media(max-width:700px){

  #lima-tools-menu{
    position:fixed !important;

    left:10px !important;
    right:10px !important;

    top:auto !important;
    bottom:10px !important;

    width:auto !important;

    max-width:none !important;
    max-height:none !important;

    padding:
      6px 8px 8px !important;

    border-radius:16px !important;

    overflow:visible !important;

    box-sizing:border-box !important;
  }


  .lima-tools-handle{
    display:block;

    width:38px;
    height:4px;

    margin:
      2px auto 6px;

    border-radius:999px;

    background:#c9d4cd;
  }


  .lima-tool-item{
    min-height:47px !important;

    padding:5px 7px !important;

    font-size:14px !important;

    border-radius:10px !important;
  }


  .lima-tool-item .lima-tool-icone{
    width:34px !important;
    height:34px !important;

    flex:0 0 34px !important;
  }

}



/* =========================================================
   FERRAMENTAS V3
   alinhamento uniforme + painel compacto
   ========================================================= */

#lima-tools-menu{
  width:300px !important;

  padding:7px !important;

  background:#ffffff !important;

  border:1px solid rgba(0,0,0,.10) !important;

  border-radius:14px !important;

  box-shadow:
    0 10px 28px rgba(0,0,0,.22) !important;
}


/* sem cabeçalho e sem barra */

.lima-tools-titulo,
.lima-tools-handle{
  display:none !important;
}


/* todos os itens exatamente iguais */

#lima-tools-menu .lima-tool-item{
  width:100% !important;

  height:50px !important;
  min-height:50px !important;

  display:grid !important;

  grid-template-columns:
    38px minmax(0,1fr) !important;

  align-items:center !important;

  justify-content:stretch !important;

  column-gap:10px !important;

  margin:0 !important;

  padding:5px 8px !important;

  box-sizing:border-box !important;

  background:#ffffff !important;

  color:#263129 !important;

  border:1px solid transparent !important;

  border-radius:10px !important;

  box-shadow:none !important;

  text-align:left !important;

  font-size:14px !important;

  font-weight:700 !important;

  line-height:1.2 !important;
}


#lima-tools-menu .lima-tool-item +
.lima-tool-item{
  margin-top:3px !important;
}


/* coluna fixa dos ícones */

#lima-tools-menu
.lima-tool-item
.lima-tool-icone{
  grid-column:1 !important;

  width:36px !important;
  height:36px !important;

  min-width:36px !important;

  display:flex !important;

  align-items:center !important;

  justify-content:center !important;

  margin:0 !important;

  border-radius:10px !important;

  background:#eef7f1 !important;

  color:#176c3a !important;

  border:
    1px solid rgba(23,108,58,.12) !important;
}


/* texto sempre começa na mesma posição */

#lima-tools-menu
.lima-tool-item > span:not(.lima-tool-icone){
  grid-column:2 !important;

  min-width:0 !important;

  margin:0 !important;

  padding:0 !important;

  text-align:left !important;

  justify-self:stretch !important;
}


@media(hover:hover){

  #lima-tools-menu
  .lima-tool-item:hover{
    background:#f4f8f5 !important;

    border-color:
      rgba(23,108,58,.15) !important;
  }

}


/* =========================================================
   CELULAR
   ========================================================= */

@media(max-width:700px){

  #lima-tools-menu{
    position:fixed !important;

    top:auto !important;

    bottom:12px !important;

    left:50% !important;
    right:auto !important;

    transform:
      translateX(-50%) !important;

    width:
      min(
        320px,
        calc(100vw - 24px)
      ) !important;

    padding:7px !important;

    border-radius:15px !important;
  }


  #lima-tools-menu
  .lima-tool-item{
    height:51px !important;
    min-height:51px !important;

    font-size:14px !important;
  }

}



/* =========================================================
   FERRAMENTAS V4
   Dropdown compacto preso à barra superior
   ========================================================= */


/* Caixa geral */

#lima-tools-menu{
  position:absolute !important;

  top:calc(100% + 7px) !important;

  left:0 !important;
  right:auto !important;
  bottom:auto !important;

  transform:none !important;

  width:268px !important;
  max-width:calc(100vw - 24px) !important;

  padding:5px !important;

  background:#fff !important;

  border:1px solid rgba(0,0,0,.10) !important;

  border-radius:12px !important;

  box-shadow:
    0 8px 24px rgba(0,0,0,.20) !important;

  box-sizing:border-box !important;

  overflow:hidden !important;
}


/* Sem título e sem alça */

#lima-tools-menu .lima-tools-titulo,
#lima-tools-menu .lima-tools-handle{
  display:none !important;
}


/* Cada opção ocupa exatamente a mesma estrutura */

#lima-tools-menu .lima-tool-item{
  width:100% !important;

  height:44px !important;
  min-height:44px !important;

  display:grid !important;

  grid-template-columns:
    34px minmax(0,1fr) !important;

  align-items:center !important;

  justify-items:start !important;

  column-gap:9px !important;

  margin:0 !important;

  padding:4px 7px !important;

  box-sizing:border-box !important;

  border:1px solid transparent !important;

  border-radius:8px !important;

  background:#fff !important;

  color:#263129 !important;

  box-shadow:none !important;

  text-align:left !important;

  font-size:13px !important;

  font-weight:700 !important;

  line-height:1.1 !important;
}


#lima-tools-menu .lima-tool-item +
.lima-tool-item{
  margin-top:2px !important;
}


/* Ícones todos na mesma coluna */

#lima-tools-menu
.lima-tool-item
.lima-tool-icone{
  width:32px !important;
  height:32px !important;

  min-width:32px !important;

  margin:0 !important;

  padding:0 !important;

  display:flex !important;

  align-items:center !important;
  justify-content:center !important;

  justify-self:start !important;

  border-radius:9px !important;

  background:#eef7f1 !important;

  border:
    1px solid rgba(23,108,58,.12) !important;

  color:#176c3a !important;

  box-sizing:border-box !important;
}


#lima-tools-menu
.lima-tool-item
.lima-tool-icone svg{
  width:17px !important;
  height:17px !important;
}


/* Todos os textos começam no mesmo ponto */

#lima-tools-menu
.lima-tool-item > span:not(.lima-tool-icone){
  grid-column:2 !important;

  width:100% !important;

  min-width:0 !important;

  margin:0 !important;

  padding:0 !important;

  display:block !important;

  justify-self:start !important;

  text-align:left !important;

  white-space:nowrap !important;
}


/* Sem aquela caixa enorme ao passar/tocar */

#lima-tools-menu
.lima-tool-item:hover{
  background:#f4f8f5 !important;

  border-color:
    rgba(23,108,58,.12) !important;
}


#lima-tools-menu
.lima-tool-item:focus{
  outline:none !important;

  box-shadow:none !important;
}


#lima-tools-menu
.lima-tool-item:focus-visible{
  outline:
    2px solid rgba(23,108,58,.35) !important;

  outline-offset:-2px !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:700px){

  #lima-tools-menu{
    position:absolute !important;

    /*
      Fica logo abaixo dos quatro botões,
      e não mais no rodapé do mapa.
    */
    top:calc(100% + 6px) !important;

    left:0 !important;
    right:auto !important;
    bottom:auto !important;

    transform:none !important;

    width:258px !important;

    max-width:
      calc(100vw - 36px) !important;

    padding:5px !important;

    border-radius:11px !important;
  }


  #lima-tools-menu
  .lima-tool-item{
    height:43px !important;
    min-height:43px !important;

    grid-template-columns:
      32px minmax(0,1fr) !important;

    column-gap:8px !important;

    padding:4px 6px !important;

    font-size:12.5px !important;
  }


  #lima-tools-menu
  .lima-tool-item
  .lima-tool-icone{
    width:30px !important;
    height:30px !important;

    min-width:30px !important;

    border-radius:8px !important;
  }


  #lima-tools-menu
  .lima-tool-item
  .lima-tool-icone svg{
    width:16px !important;
    height:16px !important;
  }

}

