/*230402*/

body { font-family: 'Roboto', sans-serif; }

:root {
    --bs-primary: #008B95;
    --bs-primary-rgb: 0, 139, 149;
    --bs-link-color: #008B95;
    --bs-link-color-rgb: 0, 139, 149;
    --bs-link-hover-color: #006b74;
    --bs-link-hover-color-rgb: 0, 107, 116;
}

* {
    box-sizing: border-box;
}

.tab-content, .tab-pane {
    width: 100%;
}

html {
    font-family: sans-serif;
}

.logo {
    height: 50px;
    width: auto;
}

body {
    font-family: sans-serif;
    display: flex;
    min-height: 100vh;
    align-items: center;
    flex-direction: column;
    background-color: #fdfdfd;
}

.search-container {
    width: 400px;
    position: relative;
    display: flex;
    margin-top: .8rem;
}

@media only screen and (max-width: 600px) {
    .search-container {
        width: 90%;
    }
}

.map {
    width: 100%;
    margin: 3rem auto 0;
    padding: 0 3rem;
}

/* Вкладка «Мониторинг»: карта локатора на всю ширину окна браузера
   (убираем боковые отступы 3rem, заданные общим правилом .map выше).
   Карту расписания (.map в #Timetable) не трогаем. */
#Locator .map {
    padding: 0;
}

#map2 {
    width: 100%;
    position: relative;
}

#locatorSpinner {
    position: absolute;
    inset: 0;
    background: white;
    height: 500px;
}


#selected-place {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.timeTable {
    margin-top: 1.5rem;
    font-size: 14px;
}

.timetable-stopname {
    white-space: nowrap;
    font-weight: 500;
    position: sticky;
    left: 0;
    z-index: 1;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.08);
}

.timetable-time {
    text-align: center;
    white-space: nowrap;
}

.scroll-wrapp {
    margin: 1rem auto;
    width: 80vw;
}

@media only screen and (max-width: 600px) {
    .scroll-wrapp {
        width: 90vw;
        overflow: hidden;
        overflow-x: auto;
    }
}

.wrapp-inputs {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tabs-container {
    width: 400px;
    margin: 0 auto;
}

@media only screen and (max-width: 600px) {
    .tabs-container {
        width: 90%;
    }
}

svg.leaflet-attribution-flag {
    display: none !important;
}

.timetable-row-from > td {
    background-color: rgba(0, 139, 149, 0.15) !important;
}

.timetable-row-to > td {
    background-color: rgba(0, 139, 149, 0.4) !important;
}

/* sticky первый столбец — непрозрачный цвет чтобы не просвечивало */
.timetable-row-from > td.timetable-stopname {
    background-color: #d9eeef !important;
}

.timetable-row-to > td.timetable-stopname {
    background-color: #99d1d5 !important;
}

/* Подсветка «где сейчас автобус» (см. updateTimeHighlight в index.html).
   Пройденные времена приглушаем; ячейка, где рейс можно поймать
   (первое будущее время в столбце-рейсе), — бирюзовый акцент.
   !important и позиция ПОСЛЕ правил .timetable-row-* обязательны:
   фоны строк «от»/«до» тоже с !important, ячейка должна их перебивать. */
.timetable-past {
    color: #a8b0b5 !important;
}

td.timetable-next {
    background-color: #008B8C !important;
    color: #fff !important;
    font-weight: 700;
}

/* Tom Select: пункт «ничего не найдено» в выпадающем списке */
.ts-dropdown .no-results {
    padding: 8px 12px;
    color: #6c757d;
}

.custom-marker-icon {
    background-color: #ffffff;
    border: 3px solid #008B95;
    border-radius: 50%;
    box-sizing: border-box;
}
