/**
 * Оптимизации производительности для мобильных устройств
 * Уменьшает нагрузку на WebView при открытии модальных окон
 */

/* Аппаратное ускорение для модальных окон */
.modal,
.modal-content,
.modal-body,
.modal-header,
.modal-footer {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Оптимизация анимаций */
.modal.fade .modal-dialog {
    transition: transform 0.2s ease-out;
    transform: translate(0, 0);
}

.modal.fade .modal-content {
    will-change: opacity;
}

/* Упрощаем тени для мобильных */
@media (max-width: 768px) {
    .modal-content {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    }
    
    .card {
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) !important;
    }
    
    .btn,
    .azs-btn {
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    }
    
    .btn:hover,
    .azs-btn:hover {
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) !important;
        transform: none !important; /* Отключаем transform для производительности */
    }
}

/* Отключаем тяжёлые градиенты на мобильных */
@media (max-width: 768px) {
    .btn-primary,
    .btn-check-in,
    .btn-check-out,
    .azs-btn {
        background: #dc3545 !important;
    }
    
    .navbar-custom {
        background: #ffffff !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) !important;
    }
}

/* Оптимизация таблиц */
.table-responsive {
    -webkit-overflow-scrolling: touch;
}

/* Убираем лишние анимации */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Оптимизация для Android WebView */
.webview-android * {
    -webkit-tap-highlight-color: transparent;
}

/* Предотвращаем перерисовку при скролле */
body {
    overflow-x: hidden;
}

/* Оптимизация изображений и аватарок */
img,
.avatar-option img,
.user-avatar img {
    will-change: transform;
    transform: translateZ(0);
}

/* Упрощаем эффекты для кнопок */
button,
.btn {
    position: relative;
    overflow: hidden;
}

/* Отключаем hover эффекты на touch устройствах */
@media (hover: none) {
    .btn:hover,
    .azs-btn:hover,
    .card:hover {
        transform: none !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    }
}
