/* ============================================
   ФАЙЛ: mobile-enhancements.css
   ОПИСАНИЕ: Дополнительные стили для мобильных устройств
   ============================================ */

/* ========== ОТКЛЮЧЕНИЕ HOVER НА ТАЧ-УСТРОЙСТВАХ ========== */

@media (hover: none) and (pointer: coarse) {
    .card:hover,
    .btn:hover,
    .nav-link:hover {
        transform: none;
        box-shadow: inherit;
    }
}

.touch-device .card:hover,
.touch-device .btn:hover {
    transform: none;
}

/* ========== УЛУЧШЕННОЕ МОБИЛЬНОЕ МЕНЮ ========== */

@media (max-width: 991px) {
    .navbar-collapse {
        position: fixed;
        top: 60px;
        left: 0;
        right: 0;
        background: rgba(30, 41, 59, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        padding: var(--spacing-lg);
        max-height: calc(100vh - 60px);
        overflow-y: auto;
        z-index: var(--z-index-dropdown);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        animation: slideDown 0.3s ease;
    }
    
    .navbar-collapse {
        background: rgba(15, 23, 42, 0.98);
    }
    
    .navbar-nav {
        flex-direction: column;
        gap: var(--spacing-sm);
    }
    
    .nav-link {
        padding: var(--spacing-md);
        border-radius: var(--border-radius);
        transition: var(--transition);
    }
    
    .nav-link:hover,
    .nav-link:active {
        background-color: rgba(99, 102, 241, 0.1);
        transform: translateX(5px);
    }
    
    /* Анимация иконки гамбургера */
    .navbar-toggler.active .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M6 18L18 6M6 6l12 12'/%3e%3c/svg%3e");
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========== УЛУЧШЕНИЕ КАРТОЧЕК НА МОБИЛЬНЫХ ========== */

@media (max-width: 768px) {
    .card {
        margin-bottom: var(--spacing-md);
    }
    
    .card-body {
        padding: var(--spacing-md);
    }
    
    /* Увеличенные области нажатия */
    .btn,
    .nav-link,
    .card-link {
        min-height: 44px;
        min-width: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* ========== ОПТИМИЗАЦИЯ ФОРМ НА МОБИЛЬНЫХ ========== */

@media (max-width: 768px) {
    .form-control,
    .form-select {
        font-size: 16px; /* Предотвращает зум на iOS */
        padding: var(--spacing-md);
    }
    
    .form-label {
        font-size: var(--font-size-base);
        margin-bottom: var(--spacing-sm);
    }
    
    /* Увеличенные кнопки */
    .btn {
        padding: var(--spacing-md) var(--spacing-lg);
        font-size: var(--font-size-base);
    }
}

/* ========== УЛУЧШЕНИЕ ТАБЛИЦ НА МОБИЛЬНЫХ ========== */

@media (max-width: 768px) {
    .table-responsive {
        border-radius: var(--border-radius);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    table {
        min-width: 600px;
    }
}

/* ========== ОПТИМИЗАЦИЯ ИЗОБРАЖЕНИЙ ========== */

@media (max-width: 768px) {
    img {
        max-width: 100%;
        height: auto;
    }
    
    /* Ленивая загрузка изображений */
    img[data-src] {
        min-height: 200px;
        background: var(--neutral-200);
    }
}

/* ========== УЛУЧШЕНИЕ МОДАЛЬНЫХ ОКОН ========== */

@media (max-width: 768px) {
    .modal-dialog {
        margin: 0;
        max-width: 100%;
        height: 100%;
    }
    
    .modal-content {
        border-radius: 0;
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    
    .modal-body {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* ========== УЛУЧШЕНИЕ ПОИСКА НА МОБИЛЬНЫХ ========== */

@media (max-width: 768px) {
    .search-container {
        width: 100%;
        margin-bottom: var(--spacing-md);
    }
    
    .search-input {
        font-size: 16px; /* Предотвращает зум на iOS */
    }
}

/* ========== УЛУЧШЕНИЕ ФУТЕРА НА МОБИЛЬНЫХ ========== */

@media (max-width: 768px) {
    footer {
        padding: var(--spacing-xl) 0;
    }
    
    footer .row > div {
        margin-bottom: var(--spacing-lg);
    }
    
    .social-links {
        justify-content: center;
    }
}

/* ========== ПРЕДОТВРАЩЕНИЕ ВЫДЕЛЕНИЯ ТЕКСТА ========== */

@media (max-width: 768px) {
    .btn,
    .nav-link,
    .card-link {
        -webkit-tap-highlight-color: rgba(99, 102, 241, 0.2);
        -webkit-touch-callout: none;
        user-select: none;
    }
}

/* ========== УЛУЧШЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ========== */

@media (max-width: 768px) {
    /* Упрощенные анимации для мобильных */
    * {
        will-change: auto;
    }
    
    /* Отключаем сложные эффекты */
    .card::before,
    .card::after {
        display: none;
    }
}

/* ========== ЛАНДШАФТНАЯ ОРИЕНТАЦИЯ ========== */

@media (max-width: 991px) and (orientation: landscape) {
    .hero-section {
        padding: var(--spacing-lg) 0 !important;
    }
    
    .navbar-collapse {
        max-height: calc(100vh - 60px);
    }
}
