/* --------------------
 * Основни стилове
 * -------------------- */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #333;
    background-color: #f8f8f8;
    transition: background-color 0.3s, color 0.3s;
}

#map {
	position: relative;
	top: 0;
	left: 0;
    height: 100%; /* Запълва цялата налична височина на iframe-а */
    width: 100%;
    z-index: 1;
}

/* --------------------
 * Контролни елементи на картата (Търсене и Тъмна тема)
 * -------------------- */
#search-icon-container, #dark-mode-toggle {
    position: absolute;
    top: 10px;
    z-index: 1001; 
    background-color: white;
/*    padding: 8px; */
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: background-color 0.3s, box-shadow 0.3s;
}

#search-icon-container {
    left: 55px; 
}

#dark-mode-toggle {
    left: 105px; /* Разположено до иконата за търсене */
    font-size: 1.5em;
    line-height: 1;
}

#search-icon-container img {
    width: 24px;
    height: 24px;
    filter: invert(0); /* По подразбиране */
}

/* --------------------
 * Меню за търсене
 * -------------------- */
#search-menu {
    position: absolute;
    top: 10px;
    left: 160px; /* Преместено вдясно, за да не закрива иконите */
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0,0,0,0.3);
    color: #333;
    display: none; 
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
    opacity: 0;
    transform: translateX(-10px);
    width: 250px;
    max-width: 90vw;
}
#search-menu.visible {
    opacity: 1;
    transform: translateX(0);
    display: block; 
}
#search-menu h3 {
    margin-top: 0;
    color: #007bff;
    font-size: 1.1em;
    margin-bottom: 10px;
}
#search-menu input {
    display: block;
    width: 100%;
    padding: 10px;
    margin-bottom: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 1em;
    background-color: #fff;
    color: #333;
}

/* --------------------
 * Стил за бутона за копиране в попапа
 * -------------------- */
.copy-link-btn {
    background-color: #28a745; 
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
    margin-top: 10px;
    transition: background-color 0.2s ease;
}
.copy-link-btn:hover {
    background-color: #218838;
}

/* --------------------
 * Тъмна тема (Dark Mode)
 * -------------------- */
.dark-mode body, .dark-mode html {
    color: #f1f1f1;
    background-color: #1e1e1e;
}
.dark-mode #search-icon-container, .dark-mode #dark-mode-toggle {
    background-color: #333;
    box-shadow: 0 2px 5px rgba(255, 255, 255, 0.2);
    color: white;
}
.dark-mode #search-icon-container img {
    filter: invert(1); /* Обръщане на цвета на лупата за по-добра видимост */
}
.dark-mode #search-menu {
    background-color: rgba(45, 45, 45, 0.95);
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
    color: #f1f1f1;
}
.dark-mode #search-menu h3 {
    color: #6cace4;
}
.dark-mode #search-menu input {
    border: 1px solid #555;
    background-color: #444;
    color: #f1f1f1;
}
.dark-mode .leaflet-popup-content-wrapper, .dark-mode .leaflet-popup-tip {
    background: #333;
    color: #f1f1f1;
}

/* --------------------
 * Мобилна оптимизация (Media Queries)
 * -------------------- */
@media (max-width: 600px) {
    /* На мобилни устройства:
       - Преместване на иконите по-близо една до друга
       - Разширяване на менюто за търсене, за да заеме по-голяма част от екрана
    */
    
    #search-icon-container {
        left: 10px; /* По-близо до ръба */
    }

    #dark-mode-toggle {
        left: 60px;
    }

    #search-menu {
        top: 60px; /* Под иконите */
        left: 50%;
        transform: translateX(-50%); /* Центриране */
        width: 95vw;
        max-width: 95vw;
        padding: 10px;
    }
    
    #search-menu.visible {
        transform: translateX(-50%); /* Запазване на центрирането при видимост */
    }
}