    .custom-logo-ctrl {
      pointer-events: none;
      position: absolute;
      bottom: 0px;
      right: 0;
      z-index: 10000 !important;
      /* Forces the logo above all map layers and popups */
    }

    .custom-logo-ctrl img {
      height: 110px;
      /* Adjust this value to scale the logo */
      width: auto;
      display: block;
      /* filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)); */
      /* Optional: helps it stand out on the map */
    }

    /* Target mobile devices more specifically, rather than just window size */
    @media screen and (max-width: 768px) and (hover: none) and (pointer: coarse) {
      .custom-logo-ctrl {
        display: none !important;
      }
    }

    html,
    body {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
    }

    body {
      display: flex;
      flex-direction: column;
    }

    #header-banner {
      height: 60px;
      width: 100%;
      flex-shrink: 0;
      background-color: #f26422;
      display: flex;
      align-items: center;
      padding: 0 20px;
      z-index: 10;
    }

    #header-banner h1 {
      font-family: 'Inter', sans-serif;
      margin: 0;
      font-size: 1.75rem;
      letter-spacing: 1px;
      color: white;
    }

    #map {
      width: 100%;
      flex: 1;
      position: relative;
    }

    html,
    body,
    input,
    button,
    select,
    textarea,
    li,
    .ts-wrapper,
    .ts-dropdown {
      font-family: 'Overpass', sans-serif !important;
    }

    #geocode-container {
      display: flex;
      align-items: center;
      width: 100%;
    }

    #geocode-input {
      flex: 1;
      height: 100%;
      border: none;
      outline: none;
      font-size: 16px;
      background: transparent;
      padding: 0;
      margin: 0;
    }

    #clear-button {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      border: none;
      background: none;
      color: #70757a;
      cursor: pointer;
      font-size: 22px;
      margin-left: 8px
    }

    #suggestions {
      display: none;
      position: absolute;
      top: 100%;
      margin-top: 8px;
      left: 0;
      background: white;
      list-style: none;
      padding: 0;
      border-radius: 8px;
      z-index: 10000;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    #suggestions li {
      padding: 6px 8px;
      border: 1px solid transparent;
      box-sizing: border-box;
    }

    #suggestions li:hover {
      background-color: #f0f0f0;
    }

    #suggestions li.selected {
      border-color: #000000;
    }

    .custom-search-wrapper {
      position: relative;
      margin-top: 10px;
      margin-left: 10px;
      width: 360px;
      z-index: 1000;
    }

    #geocode-container {
      display: flex;
      align-items: center;
      background-color: #ffffff;
      height: 48px;
      padding: 0 16px;
      border-radius: 8px;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 -1px 0px rgba(0, 0, 0, 0.02);
      box-sizing: border-box;
    }

    #geocode-input:focus {
      outline: none !important;
      border: none !important;
    }

    .maplibregl-ctrl-group {
      background: white !important;
      border: none !important;
      box-shadow: none !important;
    }

    #geocode-container:hover,
    #geocode-container:focus-within {
      border: 1px solid transparent !important;
      outline: none !important;
    }

    .maplibregl-ctrl-top-right {
      display: flex !important;
      flex-direction: row !important;
      align-items: flex-start;
      gap: 12px;
      margin-top: 15px !important;
      margin-right: 15px !important;
    }

    .maplibregl-ctrl-top-right>.maplibregl-ctrl {
      margin: 0 !important;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .maplibregl-ctrl-group {
      display: flex;
      flex-direction: column;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
      border: none !important;
      border-radius: 8px !important;
    }

    .custom-basemap-ctrl {
      display: flex;
      background: white;
      padding: 4px;
      border-radius: 8px;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
      gap: 4px;
      pointer-events: auto !important;
    }

    .basemap-btn {
      border: 1px solid #ccc;
      background: #fff;
      padding: 6px 10px;
      border-radius: 4px;
      cursor: pointer;
      font-size: 12px;
      font-weight: bold;
      transition: background 0.2s;
    }

    .basemap-btn:hover {
      background: #f26422;
      color: white;
      border-color: #f26422;
    }

    .basemap-btn.active {
      background: #f26422;
      color: white;
      border-color: #f26422;
    }

    .maplibregl-ctrl-bottom-right {
      margin-bottom: 10px;
    }

    .header-logo {
      height: 50px;
      width: auto;
      margin-right: 15px;
      display: block;
    }

    /* Added display: none here to prevent FOUC / CLS */
    .filter-ctrl {
      display: none;
      position: relative;
      top: auto;
      left: auto;
      width: 100%;
      background: white;
      padding: 12px;
      border-radius: 8px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      box-sizing: border-box;
      z-index: 10;
    }

    /* Visibility class added dynamically once the map handles the layout */
    .filter-ctrl.is-visible {
      display: block;
      animation: fadeIn 0.3s ease-in;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
      }

      to {
        opacity: 1;
      }
    }

    #search-filter-column {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      gap: 12px;
      width: auto;
    }

    .maplibregl-ctrl-top-right {
      display: flex !important;
      flex-direction: row !important;
      align-items: flex-start;
      gap: 15px;
      margin-top: 15px !important;
      margin-right: 15px !important;
      pointer-events: none !important;
    }

    .custom-search-wrapper {
      margin: 0 !important;
      width: 360px !important;
      pointer-events: auto !important;
    }

    .maplibregl-ctrl-top-right .maplibregl-ctrl {
      display: flex;
      flex-direction: column;
      margin: 0 !important;
      pointer-events: auto !important;
    }

    .maplibregl-ctrl-group {
      border: none !important;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
      border-radius: 8px !important;
      overflow: hidden;
    }

    #map-buttons-column {
      display: flex;
      flex-direction: column;
      gap: 10px;
      pointer-events: auto !important;
    }

    #map-buttons-column .maplibregl-ctrl {
      margin: 0 !important;
    }

    #search-filter-column {
      pointer-events: auto !important;
      z-index: 1000 !important;
    }

    /* Existing duplicate .filter-ctrl override */
    .filter-ctrl {
      width: 250px;
      background: white;
      padding: 12px;
      border-radius: 8px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      box-sizing: border-box;
      pointer-events: auto !important;
    }

    .ts-dropdown {
      z-index: 2000 !important;
    }

    .maplibregl-ctrl-top-right {
      pointer-events: none !important;
    }

    .filter-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      cursor: pointer;
    }

    .filter-header h3 {
      margin: 0;
      font-size: 14px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: #333;
    }

    #toggle-btn {
      background: #f0f0f0;
      border: none;
      border-radius: 4px;
      padding: 2px 8px;
      cursor: pointer;
      font-weight: bold;
      margin-left: 10px;
      flex-shrink: 0;
    }

    #filter-content {
      margin-top: 12px;
      display: block;
    }

    .ts-control {
      max-height: 120px;
      overflow-y: auto !important;
      padding: 5px !important;
    }

    .ts-control::-webkit-scrollbar {
      width: 4px;
    }

    .ts-control::-webkit-scrollbar-thumb {
      background: #ccc;
      border-radius: 4px;
    }

    small {
      color: #888;
      display: block;
      margin-top: 8px;
      font-size: 11px;
    }

    @media (max-width: 768px) {
      .ts-dropdown {
        max-height: 200px !important;
      }

      #suggestions {
        max-height: 200px;
        overflow-y: auto;
      }

      .maplibregl-ctrl-top-right {
        flex-direction: column !important;
        align-items: flex-end;
        width: 100%;
        padding-right: 10px;
      }

      .custom-search-wrapper,
      .filter-ctrl {
        width: calc(100vw - 40px) !important;
        max-width: none !important;
      }

      #map-buttons-column {
        flex-direction: row;
        gap: 8px;
      }

      .maplibregl-ctrl-group,
      .maplibregl-ctrl-group button {
        width: 44px !important;
        height: 44px !important;
      }

      .maplibregl-ctrl-zoom-in,
      .maplibregl-ctrl-zoom-out {
        height: 44px !important;
      }

      .maplibregl-ctrl-zoom-in,
      .maplibregl-ctrl-zoom-out,
      .maplibregl-ctrl-compass {
        display: none !important;
      }

      .maplibregl-ctrl-fullscreen {
        display: none !important;
      }

      .maplibregl-ctrl-group:has(.maplibregl-ctrl-zoom-in),
      .maplibregl-ctrl-group:has(.maplibregl-ctrl-fullscreen) {
        display: none !important;
      }
    }
