/* Campo de localização e modal do mapa — compartilhado pelo site e pelo painel.
   Usa as variáveis --azul/--borda/--texto2 já definidas em cada página. */

.geo { margin-top: 7px; }
.geo-acoes { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.geo-btn {
  background: #fff; border: 1px solid var(--borda, #e3e6f0); color: var(--texto2, #5a5f6e);
  border-radius: 8px; padding: 7px 12px; font-size: 12.5px; cursor: pointer;
  font-weight: 600; white-space: nowrap; font-family: inherit;
}
.geo-btn:hover { border-color: var(--azul, #1E1EA8); color: var(--azul, #1E1EA8); }
.geo-btn:disabled { opacity: .45; cursor: not-allowed; }
.geo-cola { flex: 1; min-width: 150px; padding: 8px 11px !important; font-size: 13px !important; }
.geo-erro { color: #a12020; font-size: 12.5px; margin-top: 6px; display: none; }

.geo-mapa { margin-top: 8px; border: 1px solid var(--borda, #e3e6f0); border-radius: 10px;
            overflow: hidden; display: none; }
.geo-mapa.on { display: block; }
.geo-mapa iframe { width: 100%; height: 155px; border: 0; display: block; }
.geo-pe { display: flex; justify-content: space-between; gap: 8px; padding: 7px 10px;
          background: var(--azul-claro, #EEF0FF); font-size: 12.5px; flex-wrap: wrap; }
.geo-pe a { color: var(--azul, #1E1EA8); font-weight: 700; text-decoration: none; }
.geo-pe a:hover { text-decoration: underline; }

/* ---- modal ---- */
#geo-modal { position: fixed; inset: 0; background: rgba(15,16,40,.6); z-index: 200;
             display: none; align-items: center; justify-content: center; padding: 16px; }
#geo-modal.on { display: flex; }
.geo-modal-caixa { background: #fff; border-radius: 14px; width: 100%; max-width: 720px;
                   box-shadow: 0 18px 50px rgba(0,0,0,.3); overflow: hidden;
                   display: flex; flex-direction: column; max-height: 92vh; }
.geo-modal-topo { display: flex; justify-content: space-between; align-items: center;
                  padding: 13px 16px; border-bottom: 1px solid var(--borda, #e3e6f0); font-size: 16px; }
.geo-x { background: none; border: 0; font-size: 17px; cursor: pointer; color: #888; line-height: 1; }
.geo-busca { display: flex; gap: 8px; padding: 12px 16px 8px; }
.geo-busca input { flex: 1; padding: 9px 12px; border: 1px solid var(--borda, #e3e6f0);
                   border-radius: 8px; font-size: 14px; font-family: inherit; }
.geo-busca input:focus { outline: 0; border-color: var(--azul, #1E1EA8); }
#geo-sugestoes { padding: 0 16px; max-height: 148px; overflow-y: auto; }
.geo-sug { display: block; width: 100%; text-align: left; background: #fff; cursor: pointer;
           border: 0; border-bottom: 1px solid #f0f2f8; padding: 9px 4px; font-size: 13px;
           font-family: inherit; color: #15161c; }
.geo-sug:hover { background: var(--azul-claro, #EEF0FF); }
.geo-sug-vazio { padding: 9px 4px; font-size: 13px; color: var(--texto2, #5a5f6e); }
#geo-mapa-vivo { height: 340px; margin: 10px 16px 0; border-radius: 10px; overflow: hidden;
                 border: 1px solid var(--borda, #e3e6f0); background: #eef0f5; }
@media (max-width: 640px) { #geo-mapa-vivo { height: 260px; } }
.geo-modal-pe { display: flex; justify-content: space-between; align-items: center; gap: 10px;
                padding: 12px 16px; flex-wrap: wrap; }
#geo-coord { font-size: 12.5px; color: var(--texto2, #5a5f6e); flex: 1; min-width: 190px; }
.geo-modal-pe .geo-ok { background: var(--azul, #1E1EA8); color: #fff; border-color: var(--azul, #1E1EA8); }
.geo-modal-pe .geo-ok:hover:not(:disabled) { background: var(--azul-esc, #14146e); color: #fff; }

/* Alfinete desenhado em CSS — dispensa as imagens que o Leaflet traz por padrão. */
.geo-pin-bola { width: 20px; height: 20px; border-radius: 50% 50% 50% 0;
                background: #e11d2e; border: 2px solid #fff; transform: rotate(-45deg);
                box-shadow: 0 2px 6px rgba(0,0,0,.4); }

/* Dica ao lado dos botões, agora que o campo de endereço aceita o link colado */
.geo-hint { font-size: 11.5px; color: var(--texto2, #5a5f6e); }
@media (max-width: 560px) { .geo-hint { display: none; } }

/* Seletor de camadas do Leaflet no padrão visual do sistema */
.leaflet-control-layers { border-radius: 9px !important; border: 1px solid var(--borda, #e3e6f0) !important;
                          box-shadow: 0 2px 10px rgba(0,0,0,.15) !important; font-size: 13px; }
.leaflet-control-layers-list { padding: 4px 8px 4px 4px; }
.leaflet-control-layers label { margin: 3px 0 !important; font-weight: 600 !important;
                                font-size: 12.5px !important; color: #15161c !important; }
