/* ============================================================
   custom-ngw.css — косметический патч интерфейса NextGIS Web
   Подключается через Nginx sub_filter, саму установку не трогает.
   Безопасно убрать в любой момент.
   ============================================================ */

/* --- 1. Типографика: современный системный шрифт --------------- */
body,
.ngw-pyramid-layout,
.ant-btn,
.ant-tree,
.ant-menu {
    font-family: "Inter", -apple-system, BlinkMacSystemFont,
                 "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* --- 2. Панели поверх карты: скругление + мягкая тень ---------- */
/* Панель «Слои», поиск, всплывающие карточки                       */
.ngw-webmap-panel,
.ngw-webmap-layers-panel,
.ngw-panel,
[class*="panel"][class*="ngw"],
.ant-card {
    border-radius: 14px !important;
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.14),
                0 1px 3px rgba(15, 23, 42, 0.08) !important;
    border: none !important;
    overflow: hidden;
    backdrop-filter: saturate(1.1);
}

/* Чуть отодвинем панели от края для «воздуха» */
.ngw-webmap-panel,
.ngw-webmap-layers-panel {
    margin: 12px !important;
}

/* --- 3. Кнопки масштабирования OpenLayers ---------------------- */
/* Классы .ol-* стабильны во всех версиях OpenLayers               */
.ol-control {
    background: transparent !important;
}

.ol-control button,
.ol-zoom button,
.ol-zoom-in,
.ol-zoom-out {
    background: #ffffff !important;
    color: #1e293b !important;
    border-radius: 10px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.16) !important;
    transition: transform .12s ease, background .12s ease,
                box-shadow .12s ease;
    margin: 3px 0 !important;
}

.ol-control button:hover,
.ol-zoom button:hover {
    background: #f1f5f9 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.22) !important;
}

.ol-control button:active {
    transform: translateY(0);
}

/* --- 4. Кнопки интерфейса (antd) ------------------------------ */
.ant-btn {
    border-radius: 10px !important;
    font-weight: 500 !important;
    transition: transform .1s ease, box-shadow .12s ease !important;
}

.ant-btn:hover {
    transform: translateY(-1px);
}

.ant-btn-primary {
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.28) !important;
}

/* --- 5. Шапка приложения -------------------------------------- */
/* Тонкая нижняя тень вместо жёсткой границы                       */
.ngw-pyramid-layout__header,
[class*="layout"][class*="header"] {
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.12) !important;
    border-bottom: none !important;
}

/* --- 6. Дерево слоёв: интерактивность -------------------------- */
.ant-tree .ant-tree-node-content-wrapper {
    border-radius: 8px !important;
    transition: background .12s ease;
}

.ant-tree .ant-tree-node-content-wrapper:hover {
    background: #f1f5f9 !important;
}

.ant-tree .ant-tree-node-selected {
    background: #e0ecff !important;
}

/* --- 7. Скроллбары: тонкие и аккуратные ------------------------ */
.ngw-webmap-panel ::-webkit-scrollbar,
.ant-tree ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.ngw-webmap-panel ::-webkit-scrollbar-thumb,
.ant-tree ::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 8px;
}

.ngw-webmap-panel ::-webkit-scrollbar-thumb:hover,
.ant-tree ::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* --- 8. Всплывающие окна / попапы карты ------------------------ */
.ol-popup,
[class*="popup"] {
    border-radius: 12px !important;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.18) !important;
    border: none !important;
}