/* =============================================================================
   ПЛАВАЮЩАЯ НАВИГАЦИЯ
   =============================================================================
   Современная плавающая нижняя навигация с большим радиусом скругления.
   Использует дизайн-токены из tokens.css
   ============================================================================= */

/* Основной контейнер навигации - ПЛАВАЮЩИЙ */
.bottom-nav {
    position: fixed;
    bottom: var(--space-4);
    left: var(--space-4);
    right: var(--space-4);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: var(--space-3) var(--space-2);
    box-shadow: var(--shadow-nav);
    border-radius: var(--radius-2xl);
    z-index: 999;
    border: 1px solid transparent;
    background: 
        linear-gradient(var(--color-nav-bg), var(--color-nav-bg)) padding-box,
        linear-gradient(to bottom left, var(--border-gradient-start), var(--border-gradient-end)) border-box;
    max-width: 500px;
    margin: 0 auto;
    will-change: transform;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform var(--transition-normal), opacity var(--transition-normal);
}

/* Скрытие навигации при скролле вниз (опционально, управляется JS) */
.bottom-nav.nav-hidden {
    transform: translateY(calc(100% + var(--space-6)));
    opacity: 0;
}

/* Элемент навигации */
.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-1) var(--space-2);
    cursor: pointer;
    transition: transform var(--transition-fast), color var(--transition-fast);
    pointer-events: auto;
    position: relative;
    border-radius: var(--radius-m);
    min-width: 52px;
}

.nav-item:active {
    transform: scale(0.92);
}

/* Контейнер иконки */
.nav-icon {
    margin-bottom: var(--space-1);
    transition: transform var(--transition-fast);
    height: 28px;
    width: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* SVG иконки навигации */
.nav-icon-svg {
    width: 24px;
    height: 24px;
    transition: color var(--transition-fast), transform var(--transition-fast);
    color: var(--color-text-tertiary);
    fill: currentColor;
    display: block;
    vertical-align: middle;
}

/* Коррекция выравнивания для отдельных иконок */
.leaderboard-icon .nav-icon-svg {
    transform: translateY(1px);
}

.tasks-icon .nav-icon-svg {
    transform: translateY(0.5px);
}

.events-icon .nav-icon-svg {
    transform: translateY(-0.5px);
}

/* Активные иконки */
.nav-item.active .nav-icon-svg {
    color: var(--color-nav-active);
}

/* Текст навигации */
.nav-text {
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    text-align: center;
    transition: color var(--transition-fast);
    color: var(--color-text-tertiary);
    line-height: 1;
}

/* Активный элемент */
.nav-item.active .nav-text {
    color: var(--color-nav-active);
    font-weight: var(--weight-semibold);
}

/* Индикатор активного пункта отключён */

/* Hover эффект (только для desktop) */
@media (hover: hover) {
    .nav-item:hover .nav-icon-svg {
        color: var(--color-text-secondary);
    }
    
    .nav-item:hover .nav-text {
        color: var(--color-text-secondary);
    }
    
    .nav-item.active:hover .nav-icon-svg {
        color: var(--color-nav-active);
    }
    
    .nav-item.active:hover .nav-text {
        color: var(--color-nav-active);
    }
}

/* Учитываем коррекцию позиционирования в активном/hover состоянии */
.nav-item.active .leaderboard-icon .nav-icon-svg,
.nav-item:hover .leaderboard-icon .nav-icon-svg {
    transform: translateY(1px);
}

.nav-item.active .tasks-icon .nav-icon-svg,
.nav-item:hover .tasks-icon .nav-icon-svg {
    transform: translateY(0.5px);
}

.nav-item.active .events-icon .nav-icon-svg,
.nav-item:hover .events-icon .nav-icon-svg {
    transform: translateY(-0.5px);
}

/* Заблокированный элемент */
.nav-item.disabled {
    pointer-events: none;
    opacity: 0.4;
}

/* Индикатор уведомления */
.notification-dot {
    position: relative;
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-error);
    margin-left: 3px;
    vertical-align: 1px;
    animation: notification-pulse 1.5s infinite;
}

/* @keyframes notification-pulse - определён в foundations/_animations.css */

/* =============================================================================
   АДАПТИВНОСТЬ
   ============================================================================= */

/* Маленькие экраны */
@media (max-width: 380px) {
    .bottom-nav {
        left: var(--space-3);
        right: var(--space-3);
        bottom: var(--space-3);
        padding: var(--space-2) var(--space-1);
    }
    
    .nav-item {
        min-width: 44px;
        padding: var(--space-1);
    }
    
    .nav-icon-svg {
        width: 22px;
        height: 22px;
    }
    
    .nav-text {
        font-size: 9px;
    }
}

/* Очень маленькие экраны */
@media (max-width: 320px) {
    .bottom-nav {
        left: var(--space-2);
        right: var(--space-2);
        bottom: var(--space-2);
        border-radius: var(--radius-xl);
    }
    
    .nav-item {
        min-width: 40px;
    }
    
    .nav-text {
        display: none;
    }
    
    .nav-icon {
        margin-bottom: 0;
    }
}

/* Большие экраны - ограничиваем ширину */
@media (min-width: 600px) {
    .bottom-nav {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: calc(100% - var(--space-8));
        max-width: 480px;
    }
    
    .bottom-nav.nav-hidden {
        transform: translateX(-50%) translateY(calc(100% + var(--space-6)));
    }
}
