/* ====== Map Module — Desktop: full-screen map, no padding ====== */

/* Container — no padding, fill the space */
#container {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    height: calc(100vh - 60px) !important;
    overflow: hidden;
}

/* Toolbar — search bar on top of map */
#toolbar {
    position: relative;
    z-index: 100;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 10px 16px;
    margin: 0;
}
#toolbar .inputcombo {
    height: auto !important;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: visible !important;
    margin: 0 !important;
    border: none !important;
}
#toolbar .searchwrapper {
    position: static !important;
    left: auto !important;
    right: auto !important;
    flex: 1;
}
#toolbar .searchwrapper input,
#toolbar .search-form,
#toolbar input[type="text"] {
    width: 100% !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    background: #f8fafc !important;
    height: auto !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
}
#toolbar .searchwrapper input:focus,
#toolbar .search-form:focus,
#toolbar input[type="text"]:focus {
    border-color: #142E91 !important;
    box-shadow: 0 0 0 3px rgba(20,46,145,0.08) !important;
    outline: none !important;
    background: #fff !important;
}

/* Toolbar buttons */
#toolbar-buttons {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}
#toolbar-buttons .toolbar-button a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f1f5f9;
    transition: background 0.15s;
    padding: 0 !important;
    margin: 0 !important;
}
#toolbar-buttons .toolbar-button a::after { display: none !important; }
#toolbar-buttons .toolbar-button a:hover { background: #e2e8f0; }
#toolbar-buttons .toolbar-button img { width: 20px; height: 20px; }

/* Search options — compact row */
#search-options {
    position: static !important;
    padding: 0 !important;
    top: auto !important;
}
#toolbar.expanded #search-options {
    display: block !important;
}
#searchbar-buttons {
    display: flex !important;
    gap: 8px;
    margin: 10px 0 0 !important;
    height: auto !important;
    float: none !important;
    clear: both;
}
#searchbar-buttons > div {
    float: none !important;
    width: auto !important;
    text-align: center;
}
#searchbar-buttons input[type="button"],
#search-options input[type="button"] {
    width: auto !important;
    padding: 9px 22px !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    -webkit-appearance: none !important;
    transition: all 0.15s;
    height: auto !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    background-image: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}
#searchButton input[type="button"] {
    background: #142E91 !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(20,46,145,0.2) !important;
}
#searchButton input[type="button"]:hover {
    background: #1e40af !important;
}
#clearButton input[type="button"] {
    background: #f1f5f9 !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0 !important;
}
#clearButton input[type="button"]:hover {
    background: #e2e8f0 !important;
}
#cancelButton input[type="button"] {
    background: transparent !important;
    color: #94a3b8 !important;
}
#cancelButton input[type="button"]:hover {
    background: #f8fafc !important;
    color: #64748b !important;
}
/* Pressed state */
#searchbar-buttons input[type="button"].pressedaction {
    background: #0f1d5e !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    color: #fff !important;
}
#clearButton input[type="button"].pressedaction {
    background: #cbd5e1 !important;
    color: #334155 !important;
}

/* Expanded toolbar — search input full width */
#toolbar.expanded {
    padding-bottom: 12px !important;
}
#toolbar.expanded .searchwrapper {
    position: static !important;
    left: auto !important;
    right: auto !important;
}
#toolbar.expanded #toolbar-buttons {
    display: none !important;
}

/* Map container — fill remaining space */
#container .mapimage {
    position: absolute !important;
    top: 52px !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
}

/* Fullmap */
.fullmap {
    position: absolute !important;
    top: 0; right: 0; bottom: 0; left: 0;
    margin: 0 !important;
}

/* Category/browse lists inside map */
#container .nav {
    margin: 12px 16px !important;
}
#container .nonfocal {
    padding: 12px 16px !important;
}

/* Loading indicator */
#loadingimage,
#loadingimage2 {
    z-index: 200 !important;
}
