/* Shared page chrome for the fullscreen map pages (index.html, test.html).
   Framework/theme styles come from map-lib/map.css + a theme, and the dropdown
   menus of the consumer-side controls from shared.css; this file only covers
   the host page's own layout. */

/* Fullscreen map: lock the page so a drag inside a scrollable menu popup
   that hits its scroll boundary cannot chain up to move the viewport
   (which triggers the browser's pull-to-refresh / rubber-band gesture).
   Inner scroll containers keep their own overscroll bounce. This is only
   safe here because these pages always host a fullscreen map — the
   framework itself must not assume this, as it may be embedded
   non-fullscreen where viewport scrolling is desirable. */
html,
body {
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

#map {
    width: 100%;
    height: 100vh;
}

.controls {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1000;
    background: white;
    padding: 10px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    max-width: 200px;
}

.controls button {
    display: block;
    width: 100%;
    margin: 5px 0;
    padding: 8px;
    cursor: pointer;
    border: 1px solid #ccc;
    background: white;
    border-radius: 4px;
}

.controls button:hover {
    background: #f0f0f0;
}

.controls label {
    display: block;
    margin: 8px 0;
    font-size: 0.9rem;
    cursor: pointer;
}

.controls input[type="checkbox"] {
    margin-right: 6px;
    cursor: pointer;
}
