        /* Make the webpage fully responsive */
        html,
        body {
            margin: 0;
            padding: 0;
            height: 100%;
            width: 100%;
            overflow: hidden;
            font-family: sans-serif;
        }

        #map {
            width: 100%;
            height: 100%;
            position: absolute;
            inset: 0;
        }


        /* Move OpenLayers rotation (north) control lower */
        .ol-rotate {
            top: 140px !important;
            /* original default is 0 or 15px */
            right: 10px !important;
            z-index: 900;
            /* keep it below layer switcher */
        }

        /* If using compass icon inside it */
        .ol-rotate button {
            width: 32px;
            height: 32px;
        }



        /* LAYER SWITCHER ROOT */
        .layer-switcher {
            position: absolute;
            top: 12px;
            right: 12px;
            z-index: 1200;
            user-select: none;
            text-align: right;
        }

        /* Toggle Button */
        .layer-toggle-btn {
            background: rgba(0, 60, 136, 0.7);
            color: #fff;
            padding: 8px 12px;
            border-radius: 6px;
            font-size: 15px;
            cursor: pointer;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        }

        /* Layer Switcher Dropdown */
        .layer-panel {
            display: none;
            background: #fff;
            padding: 10px;
            margin-top: 8px;
            border-radius: 6px;
            width: 190px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
        }

        .layer-panel.open {
            display: block;
        }

        .layer-panel h4 {
            margin: 6px 0 4px 0;
            padding-bottom: 4px;
            border-bottom: 1px solid #ddd;
            font-size: 14px;
        }

        .layer-panel label {
            display: block;
            padding: 3px 0;
            font-size: 13px;
            cursor: pointer;
        }

        /* MOBILE OPTIMIZATION */
        @media (max-width: 768px) {
            .layer-switcher {
                top: 80px;
                right: 10px;
            }

            .layer-toggle-btn {
                font-size: 16px;
                padding: 10px 14px;
            }

            .layer-panel {
                width: 200px;
            }


            .ol-zoom {
                top: 70px !important;
            }

            .ol-zoom button {
                width: 30px;
                height: 30px;
                border-radius: 50%;
                background: white !important;
                border: 1px solid #ddd;
                box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
                font-size: 20px;
            }

        }

        /* HOME BUTTON – Fixed Bottom */
        .home-btn {
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            width: 45px;
            height: 45px;
            background: #f1f5da;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
            cursor: pointer;
            z-index: 2000;
            transition: transform .2s ease, box-shadow .2s ease;
        }

        .home-btn:hover {
            transform: translateX(-50%) scale(1.05);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
        }

        .home-btn img {
            width: 36px;
            height: 36px;
        }

        /* CENTERED POPUP (Modal Style) */
        #popup {
            position: fixed !important;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            z-index: 9999;
            background: white;
            padding: 15px 18px;
            border-radius: 12px;
            width: 85vw;
            max-width: 320px;
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
            display: none;
        }

        /* Popup Content */
        #popup-content {
            font-size: 15px;
            text-align: center;
        }

        /* Popup Buttons */
        #popup button {
            width: 100%;
            margin-top: 10px;
            padding: 10px;
            border-radius: 8px;
            font-size: 15px;
            border: none;
            cursor: pointer;
        }

        /* Blue button */
        #popup-goto {
            background: #0275d8;
            color: white;
        }

        /* Red button */
        #popup-close {
            background: #d9534f;
            color: white;
        }

        /* Better on very small phones */
        @media (max-width: 380px) {
            #popup {
                width: 90vw;
                max-width: 260px;
                padding: 12px;
            }

            #popup button {
                padding: 8px;
                font-size: 14px;
            }
        }

        /* SEARCH BAR CONTAINER (centered) */
        #search-container {
            position: fixed;
            top: 12px;
            left: 50%;
            transform: translateX(-50%);

            width: 90vw;
            max-width: 600px;

            display: flex;
            flex-direction: column;
            gap: 6px;

            z-index: 999999;
            pointer-events: none;
        }

        /* WRAPPER ENABLES CLICKING */
        #search-wrapper {
            width: 100%;
            pointer-events: auto;
            position: relative;
        }

        /* SEARCH INPUT */
        #searchBox {
            width: 100%;
            padding: 12px 45px 12px 14px;
            /* room for icon */
            font-size: 16px;
            border-radius: 14px;
            border: 1px solid #d9d9d9;
            outline: none;
            background: #ffffff;

            box-sizing: border-box;
            direction: rtl;

            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
            transition: all 0.2s ease;
        }

        #searchBox:focus {
            border-color: #4a90e2;
            box-shadow: 0 4px 18px rgba(0, 123, 255, 0.25);
        }

        /* SEARCH ICON INSIDE INPUT */
        #search-wrapper::before {
            content: "🔍";
            position: absolute;

            left: 14px;
            top: 50%;
            transform: translateY(-50%);

            font-size: 18px;
            opacity: 0.6;
            pointer-events: none;
        }

        /* SEARCH RESULTS DROPDOWN */
        #searchResults {
            width: 100%;
            background: white;
            border-radius: 12px;
            padding: 6px 0;

            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);

            max-height: 300px;
            overflow-y: auto;

            display: none;
            pointer-events: auto;
        }

        /* EACH RESULT ITEM */
        .search-item {
            padding: 12px 16px;
            font-size: 15px;
            cursor: pointer;
            direction: rtl;
        }

        .search-item:hover {
            background: #f0f4ff;
        }

        .pv-whatsapp-button {
            position: fixed;
            bottom: 20px;
            right: 20px;

            display: flex;
            align-items: center;
            gap: 8px;

            background: #0a8d7e;
            /* WhatsApp teal-green like your image */
            color: #fff;
            padding: 10px 16px;

            border-radius: 10px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);

            text-decoration: none;
            font-size: 15px;
            font-weight: 600;

            z-index: 999999;
            transition: 0.2s ease;
        }

        .pv-whatsapp-button:hover {
            transform: scale(1.04);
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
        }

        .pv-whatsapp-button img {
            width: 24px;
            height: 24px;
            filter: brightness(0) invert(1);
            /* makes the icon white like yours */
        }