html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

#map {
    width: 100%;
    height: 100%;
}

.info {
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;

    z-index: 1000;

    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(12px);

    color: white;

    padding: 14px 18px;

    border-radius: 14px;

    box-shadow:
        0 4px 15px rgba(0, 0, 0, 0.25);

    max-width: 400px;
}

.info h1 {
    margin: 0 0 8px 0;
    font-size: 1.4rem;
}

.info p {
    margin: 0;
    line-height: 1.4;
}

@media (max-width: 768px) {

    .info {
        top: auto;
        bottom: 15px;
        left: 10px;
        right: 10px;

        max-width: none;

        padding: 16px;
        border-radius: 16px;
    }

    .info h1 {
        font-size: 1.2rem;
    }

    .info p {
        font-size: 0.95rem;
    }

    .leaflet-control-zoom {
        margin-top: 80px !important;
    }
}

@media (max-width: 480px) {

    .info {
        left: 8px;
        right: 8px;
        bottom: 8px;
        padding: 14px;
    }

    .info h1 {
        font-size: 1.1rem;
    }

    .info p {
        font-size: 0.9rem;
    }
}