/* Leaflet + shared css/mappa.css are loaded in <head> via the page's
   `headStyles` frontmatter (parallel, non-blocking) instead of @import. */

body.mappe-city-v2 {
    --font-display: 'Overlock', 'Overlock Fallback', Georgia, 'Times New Roman', serif;
    --font-body: 'Source Serif 4', Georgia, 'Times New Roman', serif;
}

body.mappe-city-v2::before {
    display: none;
}

/* Header-on-light skin centralised in components.css: body:is(.mappe-city-v2, …) .header */

body.mappe-city-v2 #content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: calc(var(--header-height) + var(--space-md));
}

body.mappe-city-v2 .mappa-title-strip {
    flex: 0 0 auto;
    padding: var(--space-sm) var(--space-xl) var(--space-md);
    text-align: center;
    background: var(--cream);
    border-bottom: 1px solid var(--stone);
}

body.mappe-city-v2 .mappa-title-strip h1 {
    margin: 0;
    color: var(--olive-deep);
    font-size: clamp(1.2rem, 2.2vw, 1.75rem);
    font-weight: var(--weight-bold);
}

body.mappe-city-v2 .last-updated {
    flex: 0 0 auto;
    margin: 0.25rem 0 0;
    color: var(--earth);
    font-size: 0.9rem;
}

body.mappe-city-v2 .main-content {
    flex: 1;
    min-height: min(740px, calc(100vh - var(--header-height) - 120px));
}

body.mappe-city-v2 .footer-mini {
    flex: 0 0 auto;
}

body.mappe-city-v2 .footer {
    flex: 0 0 auto;
}

@media (max-width: 768px) {
    body.mappe-city-v2 .header {
        padding: var(--space-md);
    }

    body.mappe-city-v2 #content {
        padding-top: calc(var(--header-height) + var(--space-sm));
    }

    body.mappe-city-v2 .main-content {
        min-height: auto;
    }
}
