
    /* Базовые цвета iOS */
    :root { --z-blue: #007AFF; --z-red: #FF3B30; --z-gray: #8E8E93; --z-bg: #F2F2F7; }

    /* Ограничиваем область радара, чтобы не ломать основной Header сайта */
    .z-radar-main-container { 
        background-color: var(--z-bg); 
        padding: 20px 0; 
        position: relative; 
        z-index: 1; /* Важно: ниже чем меню сайта */
    }
    
    .z-radar-inner { max-width: 1200px; margin: 0 auto; padding: 0 15px; }

    /* Локальная шапка Радара */
    .z-ios-header { text-align: center; padding-bottom: 20px; }
    .z-status-bar { font-size: 11px; font-weight: 800; color: var(--z-gray); text-transform: uppercase; letter-spacing: 1px; }
    .z-live-dot { height: 7px; width: 7px; background: var(--z-red); border-radius: 50%; display: inline-block; animation: blink 1.5s infinite; margin-right: 5px; }
    .z-main-heading { font-size: 30px; font-weight: 900; margin: 5px 0; letter-spacing: -1px; color: #000; }
    .z-sub-branding { font-size: 10px; font-weight: 700; color: var(--z-gray); text-transform: uppercase; }

    /* Контейнер-карточка */
    .z-ios-card { 
        background: #fff; border-radius: 35px; display: flex; overflow: hidden; 
        box-shadow: 0 20px 50px rgba(0,0,0,0.1); min-height: 650px; 
        border: 1px solid rgba(0,0,0,0.05); 
    }
    
    /* Сайдбар */
    .z-sidebar { 
        width: 320px; padding: 20px; background: #F2F2F7; 
        border-right: 1px solid #E5E5EA; display: flex; flex-direction: column; gap: 15px; 
    }
    
    .z-widget { background: #fff; border-radius: 22px; padding: 18px; box-shadow: 0 2px 10px rgba(0,0,0,0.04); }
    .z-control-label, .z-widget-label { font-size: 10px; font-weight: 800; color: var(--z-gray); margin-bottom: 12px; display: block; }

    /* Кнопки */
    .z-action-grid-row { display: flex; gap: 10px; }
    .z-ios-btn { 
        flex: 1; border: 1px solid #F2F2F7; border-radius: 16px; padding: 12px 5px; 
        cursor: pointer; background: #F9F9FB; display: flex; flex-direction: column; 
        align-items: center; gap: 5px; transition: 0.2s; 
    }
    .z-ios-btn.active { border-color: var(--z-blue); background: #EBF5FF; border-width: 2px; }
    .z-emoji { font-size: 22px; }
    .z-btn-label { font-size: 11px; font-weight: 800; color: #1c1c1e; }
    .sos-btn { background: #FFF0F0; border-color: #FFDADA; }

    /* Чат с фиксированным скроллом */
    .chat-widget { 
        height: 350px; 
        display: flex; 
        flex-direction: column; 
    }
    .z-chat-messages { 
        flex: 1; 
        overflow-y: auto !important; 
        display: flex; 
        flex-direction: column; 
        gap: 8px; 
        padding-right: 5px;
    }
    /* Тонкий скроллбар в стиле iOS */
    .z-chat-messages::-webkit-scrollbar { width: 4px; }
    .z-chat-messages::-webkit-scrollbar-thumb { background: #C7C7CC; border-radius: 10px; }

    .chat-msg { background: #F2F2F7; padding: 10px 12px; border-radius: 15px; font-size: 13px; line-height: 1.4; word-wrap: break-word; }
    .z-chat-input-area { display: flex; background: #F2F2F7; border-radius: 20px; padding: 5px 12px; margin-top: 10px; align-items: center; flex-shrink: 0; }
    .z-chat-input-area input { border: none; background: none; flex: 1; outline: none; font-size: 14px; padding: 5px 0; }
    .z-chat-input-area button { background: var(--z-blue); color: #fff; border: none; border-radius: 50%; width: 28px; height: 28px; cursor: pointer; }

    /* Футер Сайдбара */
    .z-sidebar-footer { padding: 15px; background: #fff; border-radius: 20px; text-align: center; margin-top: auto; }
    .z-stat-mini { font-size: 14px; font-weight: 800; color: #000; }
    .z-copyright { font-size: 9px; color: var(--z-gray); margin-top: 3px; }

    /* Карта */
    .z-map-viewport { flex-grow: 1; position: relative; background: #e5e3df; }
    .z-canvas { width: 100%; height: 100%; z-index: 1; }
    .z-map-hint { 
        position: absolute; 
        top: 20px; 
        left: 50%; 
        transform: translateX(-50%) !important; /* Центрируем ОДИН раз */
        background: rgba(0,122,255,0.95); 
        color: #fff; 
        padding: 12px 25px; 
        border-radius: 50px; 
        font-size: 12px; 
        font-weight: 800; 
        z-index: 100; 
        display: none; 
        align-items: center; 
        gap: 10px;
        white-space: nowrap; /* Чтобы текст не прыгал на новую строку */
    }

    .z-map-hint.active { 
        display: flex; 
        animation: pulse 2s infinite; /* Теперь пульсирует только ТЕНЬ, сама кнопка не шевелится */
    }
    .z-action-mini-btn { background: var(--z-red); border: none; color: #fff; border-radius: 10px; padding: 3px 8px; font-size: 9px; cursor: pointer; font-weight: bold; }
    .z-float-up-btn { position: absolute; bottom: 25px; right: 25px; background: var(--z-blue); color: #fff; border: none; border-radius: 20px; padding: 12px 18px; font-size: 12px; font-weight: 800; z-index: 100; display: none; box-shadow: 0 8px 20px rgba(0,122,255,0.4); }

    /* Анимации — ИСПРАВЛЕНО (кнопка больше не ездит) */
    @keyframes pulse { 
        0% { box-shadow: 0 0 0 0 rgba(0, 122, 255, 0.7); }
        70% { box-shadow: 0 0 0 15px rgba(0, 122, 255, 0); }
        100% { box-shadow: 0 0 0 0 rgba(0, 122, 255, 0); }
    }
    
    @keyframes blink { 50% { opacity: 0.3; } }
    
    @keyframes slideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
    
    .animate-slide-up { animation: slideUp 0.8s cubic-bezier(0.2, 1, 0.3, 1); }
    
    .z-map-overlay { position: absolute; inset: 0; background: #fff; z-index: 200; display: flex; align-items: center; justify-content: center; }
    
    .z-spinner-ios { width: 30px; height: 30px; border: 3px solid #f3f3f3; border-top: 3px solid var(--z-blue); border-radius: 50%; animation: spin 1s linear infinite; }
    
    @keyframes spin { 100% { transform: rotate(360deg); } }

    /* Мобильная версия */
    @media (max-width: 900px) {
        .z-ios-card { flex-direction: column; border-radius: 0; min-height: auto; }
        .z-sidebar { width: 100%; border-right: none; order: 1; padding: 15px; }
        .z-map-viewport { height: 450px; order: 2; border-top: 1px solid #E5E5EA; }
        .z-float-up-btn { display: block; }
    }
    /* Стиль для юридического дисклеймера */
.z-legal-disclaimer {
    font-size: 10px;               /* Компактный размер */
    line-height: 1.4;              /* Комфортный межстрочный интервал */
    color: #8E8E93;                /* Спокойный серый цвет iOS */
    background: #FFFFFF;           /* Чистый белый фон */
    padding: 12px;                 /* Внутренние отступы */
    border-radius: 14px;           /* Скругление в стиле виджетов */
    margin: 10px 0;                /* Отступ сверху и снизу */
    text-align: left;              /* Выравнивание по левому краю */
    border: 1px solid #E5E5EA;     /* Тонкая рамка */
    box-shadow: 0 2px 5px rgba(0,0,0,0.02); /* Легкая тень */
}

/* Выделение важных слов (112 и информационный характер) */
.z-legal-disclaimer b {
    color: #1c1c1e;                /* Почти черный для акцента */
    font-weight: 700;
}
.section-promo-download-app {
    display: none !important;
}
body > footer, #footer, .site-footer, .footer-container { 
    display: none !important; 
}
.z-live-indicator {
    display: inline-block;
    width: 8px; height: 8px;
    background-color: #FF3B30;
    border-radius: 50%;
    margin-right: 5px;
    box-shadow: 0 0 8px rgba(255, 59, 48, 0.6);
    animation: pulse-live 1.5s infinite;
}
@keyframes pulse-live {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.2); }
    100% { opacity: 1; transform: scale(1); }
}
.z-btn-loc { 
    display: block; 
    width: 100%; 
    margin-top: 8px; 
    padding: 8px; 
    background: #007AFF; 
    color: #fff !important; 
    text-align: center; 
    border-radius: 12px; 
    font-size: 10px; 
    font-weight: 800; 
    border: none; 
    cursor: pointer;
}
.z-alert-sidebar {
    background: #fff;
    border-radius: 18px;
    padding: 12px 15px;
    margin-bottom: 10px; /* Отступ до чата */
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 800;
    border: 1px solid #E5E5EA;
    transition: all 0.4s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

/* Когда есть опасность - краснеет прямо в колонке чата */
.z-alert-sidebar.critical {
    background: #FF3B30 !important;
    color: #fff !important;
    border-color: #FF3B30;
    box-shadow: 0 5px 15px rgba(255, 59, 48, 0.3);
    animation: alert-mini-shake 0.5s ease-in-out;
}

@keyframes alert-mini-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px); }
    75% { transform: translateX(3px); }
}

.z-alert-icon { font-size: 16px; }
/* Кнопка геолокации "Где я?" */
.z-geo-btn {
    position: absolute;
    bottom: 85px; /* Находится над синей кнопкой "Вверх" */
    right: 20px;
    width: 46px;
    height: 46px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
}

/* Эффект при нажатии */
.z-geo-btn:active {
    transform: scale(0.9);
    background: #F2F2F7;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Адаптация для мобилок (делаем чуть крупнее для пальца) */
@media (max-width: 900px) {
    .z-geo-btn {
        bottom: 80px;
        right: 15px;
        width: 50px;
        height: 50px;
    }
}
