/** * navbar.css * Стили навбара: меню-тогглер, поиск, уведомления */ /* Navbar overflow visible для dropdown */ .app-navbar { overflow: visible !important; } .app-navbar .container-fluid { overflow: visible !important; } /* ───────────────────────────────────────────────────────────── MOBILE NAVBAR HEIGHT ────────────────────────────────────────────────────────────── */ /* Увеличенная высота navbar для мобильных устройств */ @media (max-width: 767.98px) { .app-navbar { min-height: 90px; } .app-navbar .container-fluid { min-height: 64px; padding-top: 0.75rem; padding-bottom: 0.75rem; } } /* ───────────────────────────────────────────────────────────── MENU TOGGLE (гамбургер) ────────────────────────────────────────────────────────────── */ /* Кнопка «гамбургера» — без круга/рамки */ .menu-toggle { padding: 0; border: 0; background: transparent; line-height: 1; color: #fff; } .menu-toggle:focus { outline: none; box-shadow: none; } /* ───────────────────────────────────────────────────────────── DROPDOWN AVATAR ────────────────────────────────────────────────────────────── */ /* Спрятать стрелочку у dropdown-аватара */ .dropdown-toggle.no-caret::after { display: none !important; } /* ───────────────────────────────────────────────────────────── MOBILE SEARCH OVERLAY ────────────────────────────────────────────────────────────── */ .mobile-search-overlay { position: fixed; top: var(--navbar-h); left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1030; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; } .mobile-search-overlay.active { opacity: 1; pointer-events: auto; } /* Светлая тема - забеливание */ [data-bs-theme="light"] .mobile-search-overlay { background-color: rgba(255, 255, 255, 0.85); } /* Темная тема - затемнение */ [data-bs-theme="dark"] .mobile-search-overlay { background-color: rgba(0, 0, 0, 0.7); } /* ───────────────────────────────────────────────────────────── BOTTOM NAVBAR (только для мобильных) ────────────────────────────────────────────────────────────── */ .bottom-navbar { position: fixed; bottom: 0; left: 0; right: 0; background-color: var(--bs-primary); border-top: 0.5px solid var(--bs-border-color); z-index: 1040; padding: 0; box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.08); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } /* Темная тема */ [data-bs-theme="dark"] .bottom-navbar { background-color: var(--bs-tertiary-bg); border-top-color: var(--bs-border-color); box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.3); } .bottom-navbar-container { display: flex; justify-content: space-around; align-items: center; height: 60px; padding: 0 8px; max-width: 100%; } .bottom-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; height: 100%; color: rgba(255, 255, 255, 0.7); text-decoration: none; border: none; background: transparent; padding: 4px 8px; transition: all 0.2s ease; position: relative; cursor: pointer; } /* Темная тема - другой цвет кнопок */ [data-bs-theme="dark"] .bottom-nav-item { color: var(--bs-secondary-color); } .bottom-nav-item:hover, .bottom-nav-item:focus, .bottom-nav-item:active { color: #fff; background: rgba(255, 255, 255, 0.1); outline: none; } [data-bs-theme="dark"] .bottom-nav-item:hover, [data-bs-theme="dark"] .bottom-nav-item:focus, [data-bs-theme="dark"] .bottom-nav-item:active { color: var(--bs-emphasis-color); background: var(--bs-secondary-bg); } .bottom-nav-item i { font-size: 1.4rem; margin-bottom: 2px; line-height: 1; } .bottom-nav-label { font-size: 0.65rem; font-weight: 500; text-align: center; line-height: 1; margin-top: 2px; } /* Иконка с бейджем для уведомлений */ .bottom-nav-icon-wrapper { position: relative; display: inline-block; } .bottom-nav-badge { position: absolute; top: -4px; right: -8px; background: var(--bs-danger); color: white; border-radius: var(--badge-radius); padding: 2px 5px; font-size: 0.65rem; font-weight: 600; min-width: 18px; text-align: center; line-height: 1; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); } /* Padding для body, чтобы контент не перекрывался нижней панелью */ @media (max-width: 767.98px) { body { padding-bottom: 60px; } /* Скрыть bottom navbar на странице чата - композер заменяет навигацию */ .chat-container ~ .bottom-navbar, .chat-page ~ .bottom-navbar, body:has(.chat-container) .bottom-navbar, body:has(.chat-page) .bottom-navbar { display: none; } /* Убрать padding, когда navbar скрыт */ body:has(.chat-container), body:has(.chat-page) { padding-bottom: 0; } }