body { background-color: #f5f5f5; }
header, footer { background: #111; }
.brand-logo { max-height: 60px; }
.footer-text { color: #fff; }
.flag-icon { width: 32px; height: 20px; border-radius: 3px; cursor: pointer; }
.menu-toggler { border: none; background: transparent; color: #fff; font-size: 1.7rem; }
.lang-menu { display: none; background: #222; border-radius: 6px; padding: 10px; position: absolute; right: 20px; top: 56px; z-index: 99; }
.lang-menu .flag-icon { margin: 4px; }

html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

#wrapper-main {
    flex: 1;
    display: flex;
    flex-direction: column;
}

@media (max-width: 768px) {
    .brand-logo { max-height: 40px; }
    .lang-menu { right: 10px; top: 50px; }
}

/* Assicura che la mappa sia visibile */
#mappa { width: 100%; height: 60vh; min-height: 380px; }
/* opzionale: input più largo nel geocoder */
.leaflet-control-geocoder-form input { width: 240px; }

/* Barra filtri raggio */
#radiusbar { display:flex; gap:.75rem; align-items:center; padding:.5rem .75rem; border:1px solid #e5e7eb; border-top:0; background:#fff; }
#radiusbar select { padding:.4rem .5rem; }
.badge-muted { background:#e5e7eb; color:#374151; padding:.15rem .5rem; border-radius:.5rem; font-size:.8rem; }
