html, body {
    margin: 0;
    height: 100%;
    font-family: system-ui, sans-serif;
}

#map {
    height: 90%;
    width: 100%;
    position: relative;
}

#statusbar {
    height: 10%;
    line-height: 30px;
    padding: 0 10px;
    background: rgba(255,255,255,0.8);
    position: relative;
    font-weight: bold;
}

.wp {
    width: 7px;
    height: 7px;
    background: #800020;
    border-radius: 50%;
    border: 2px solid red;
}

.wp.start {
    width: 18px;
    height: 18px;
    background: darkgreen;
    color: white;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    line-height: 18px;
    border-radius: 50%;
    border: 2px solid green;
}

.km {
    width: 14px;
    height: 14px;
    background: white;
    border: 1px solid black;
    border-radius: 50%;
    text-align: center;
    line-height: 14px;
    font-size: 10px;
}

.dir {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 10px solid black;
}

.user-location {
    width: 16px;
    height: 16px;
    background: blue;
    border: 2px solid white;
    border-radius: 50%;
}

.menu {
    position: absolute;
    top: 10px;
    left: 10px;

    background: #800020;
    padding: 10px;
    border-radius: 10px;

    width: 240px;          /* standaard breed menu */
    z-index: 1000;

    box-shadow: 0 2px 10px rgba(0,0,0,0.25);

    transition: width 0.3s ease;
    overflow: hidden;
}

.menu.collapsed {
    width: 50px;           /* breedte = alleen hamburger */
    background: transparent; /* helemaal weg */
    padding: 10px;          /* alleen klein rondje voor hamburger */
    box-shadow: none;
}

.menu-toggle {
    width: 40px;            /* klein vierkantje */
    height: 40px;
    font-size: 20px;
    border-radius: 8px;
    border: none;
    background: white;
    color: #800020;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

.menu-buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* hide buttons when collapsed */
.menu.collapsed .menu-buttons {
    display: none;
}

/* alle menu items = buttons */
.menu-btn {
    display: flex;
    align-items: center;
    gap: 8px;

    width: 100%;
    box-sizing: border-box;

    background: #a00030;
    color: white;

    padding: 10px 12px;
    border-radius: 10px;

    cursor: pointer;
    user-select: none;

    font-size: 14px;
    border: none;
}

/* hide the checkbox itself */
.menu-btn input[type="checkbox"] {
    display: none;
}

/* hover */
.menu-btn:hover {
    background: #b00038;
}

/* checked state */
.menu-btn:has(input[type="checkbox"]:checked) {
    background: white;
    color: #800020;
    font-weight: bold;
}
