body {
    font-family: 'Inter', sans-serif;
}
header {
  background-image: url('../logo.png');
  background-repeat: no-repeat;
  background-position: 1rem center; /* ajusta posição lateral e vertical */
  background-size: 120px auto;      /* controla tamanho da logo */
  padding-left: 160px;              /* dá espaço pro conteúdo não sobrepor */
}

.loader {
    border: 4px solid #f3f3f3;
    border-radius: 50%;
    border-top: 4px solid #3498db;
    width: 40px;
    height: 40px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

#map-container {
    position: relative;
    background-image: url('../mapa-fundo.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    width: 100%;
    max-width: 1550px; /* <-- LARGURA ATUALIZADA */
    margin: 0 auto;
    aspect-ratio: 1550 / 2000; /* <-- PROPORÇÃO ATUALIZADA */
}

.lote-dot {
    position: absolute;

    /* Tamanho base ajustado para 0.7vw */
    width: 0.7vw;

    aspect-ratio: 1 / 1;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    transform: translate(-50%, -50%);

    /* * AJUSTE PROPORCIONAL:
     * Borda branca: 0.07vw
     * Sombra de projeção: 0.07vw (offset) e 0.14vw (blur)
    */
    box-shadow: 0 0 0 0.07vw rgba(255, 255, 255, 0.7), /* Borda branca */
                0 0.07vw 0.14vw rgba(0,0,0,0.4);       /* Sombra de projeção */

    z-index: 1;
}

.lote-dot:hover {
    transform: translate(-50%, -50%) scale(1.5);
    z-index: 10;
}