﻿/* wwwroot/styles/city-modal.css */

/* Кнопка города - контейнер для позиционирования */
.city-button {
    position: relative !important;
}

/* Уведомление о городе */
.city-notification {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: calc(-40%) !important;
    min-width: 280px !important;
    background: #FCFCFC !important;
    border-radius: 24px !important;
    padding: 16px 20px !important;
    box-shadow: 4px 4px 50px 0px rgba(38, 68, 92, 0.2) !important;
    z-index: 10000 !important;
    display: none !important;
    flex-direction: column !important;
    gap: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
}

    .city-notification.visible {
        display: flex !important;
    }

.city-notification__text {
    color: #77797D !important;
    text-align: center !important;
    font-family: 'OpenRunde-Medium', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 150% !important;
    letter-spacing: -0.011em !important;
    margin: 0 !important;
}

.city-notification__buttons {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

.city-notification__btn {
    border-radius: 16px !important;
    padding: 8px 16px !important;
    height: 40px !important;
    cursor: pointer !important;
    border: none !important;
    font-family: 'OpenRunde-Medium', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 150% !important;
    letter-spacing: -0.011em !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
}

.city-notification__btn--confirm {
    background: #26445C !important;
    color: #F4F4F4 !important;
}

    .city-notification__btn--confirm:hover {
        background: #51697D !important;
    }

.city-notification__btn--change {
    background: #D4DADE !important;
    color: #77797D !important;
}

    .city-notification__btn--change:hover {
        background: #C9D0D6 !important;
        color: #494C51 !important;
    }

/* Оверлей выбора города */
.city-selector-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 10001 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(2px) !important;
}

    .city-selector-overlay.visible {
        display: flex !important;
    }

.city-selector-modal {
    background: #F4F6F7 !important;
    border-radius: 24px !important;
    width: 100% !important;
    max-width: 500px !important;
    max-height: 80vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-shadow: 4px 4px 50px 0px rgba(38, 68, 92, 0.2) !important;
}

.city-selector-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px 24px !important;
    border-bottom: 1px solid #D4DADE !important;
    background: #F4F6F7 !important;
}

.city-selector-title {
    color: #1C1F26 !important;
    font-family: 'OpenRunde-Bold', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 150% !important;
    letter-spacing: -0.011em !important;
    margin: 0 !important;
}

.city-selector-close {
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    border-radius: 8px !important;
    transition: background 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

    .city-selector-close:hover {
        background: #D4DADE !important;
    }

    .city-selector-close img {
        width: 20px !important;
        height: 20px !important;
    }

.city-selector-search {
    padding: 16px 24px !important;
    border-bottom: 1px solid #D4DADE !important;
    background: #F4F6F7 !important;
}

.city-search-input {
    width: 100% !important;
    background: #FCFCFC !important;
    border-radius: 16px !important;
    padding: 12px 16px !important;
    border: none !important;
    outline: none !important;
    font-family: 'OpenRunde-Regular', sans-serif !important;
    font-size: 16px !important;
    color: #1C1F26 !important;
}

    .city-search-input::placeholder {
        color: #A4A5A8 !important;
    }

    .city-search-input:focus {
        box-shadow: 0 0 0 2px #A8B4BE !important;
    }

.city-selector-content {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 16px 24px !important;
    background: #F4F6F7 !important;
}

.city-suggestions-title,
.city-list-title {
    color: #77797D !important;
    font-family: 'OpenRunde-Medium', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 150% !important;
    letter-spacing: -0.011em !important;
    margin-bottom: 12px !important;
}

.city-suggestions-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.city-suggestion-item,
.city-grid-item {
    padding: 12px 16px !important;
    border-radius: 16px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    font-family: 'OpenRunde-Regular', sans-serif !important;
    font-size: 16px !important;
    color: #1C1F26 !important;
}

    .city-suggestion-item:hover,
    .city-grid-item:hover {
        background: #D4DADE !important;
    }

.city-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
    gap: 8px !important;
}

.city-no-results {
    text-align: center !important;
    padding: 40px 20px !important;
    color: #77797D !important;
    font-family: 'OpenRunde-Regular', sans-serif !important;
    font-size: 16px !important;
}

/* Мобильная версия */
@media (max-width: 768px) {
    @media (max-width: 768px) {
        .city-notification__btn {
            white-space: normal !important;
            width: 100% !important;
            text-align: center !important;
        }

        .city-notification__buttons {
            flex-direction: column !important;
            width: 100% !important;
        }

        .city-notification__btn {
            width: 100% !important;
        }

        .city-selector-modal {
            max-width: calc(100vw - 40px) !important;
            max-height: 90vh !important;
        }

        .city-grid {
            grid-template-columns: 1fr !important;
        }
    }
