/* ===== АДАПТИВНАЯ СИСТЕМА TEAMMESH ===== */

/* Улучшенная адаптивная система для всех компонентов */

/* Адаптивные формы */
.form-control, .form-select {
    font-size: var(--font-size-base);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--border-radius);
    min-height: clamp(2.5rem, 5vw, 3rem);
}

.form-label {
    font-size: var(--font-size-base);
    font-weight: 500;
    margin-bottom: var(--spacing-sm);
}

/* Адаптивные таблицы */
.table {
    font-size: var(--font-size-base);
}

.table th {
    font-size: var(--font-size-sm);
    font-weight: 600;
    padding: var(--spacing-md);
}

.table td {
    padding: var(--spacing-md);
    vertical-align: middle;
}

/* Адаптивные модальные окна */
.modal-header {
    padding: var(--spacing-lg);
}

.modal-body {
    padding: var(--spacing-lg);
    font-size: var(--font-size-base);
}

.modal-title {
    font-size: var(--font-size-h4);
}

/* Адаптивные алерты */
.alert {
    font-size: var(--font-size-base);
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--border-radius);
    margin-bottom: var(--spacing-lg);
}

/* Адаптивная навигация */
.navbar {
    padding: var(--spacing-sm) var(--container-padding);
}

.navbar-brand {
    font-size: var(--font-size-lg);
    font-weight: 600;
}

.nav-link {
    font-size: var(--font-size-base);
    padding: var(--spacing-sm) var(--spacing-md);
}

.navbar .nav-link {
    padding: var(--spacing-sm) var(--spacing-sm);
}

/* Адаптивные бейджи */
.badge {
    font-size: var(--font-size-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
}

/* Адаптивные списки */
.list-group-item {
    font-size: var(--font-size-base);
    padding: var(--spacing-md) var(--spacing-lg);
}

/* Адаптивные хлебные крошки */
.breadcrumb {
    font-size: var(--font-size-sm);
    padding: var(--spacing-sm) var(--spacing-md);
}

/* Адаптивные пагинации */
.pagination .page-link {
    font-size: var(--font-size-base);
    padding: var(--spacing-sm) var(--spacing-md);
}

/* Адаптивные карусели */
.carousel-caption h5 {
    font-size: var(--font-size-h4);
}

.carousel-caption p {
    font-size: var(--font-size-base);
}

/* Адаптивные аккордеоны */
.accordion-button {
    font-size: var(--font-size-base);
    padding: var(--spacing-md) var(--spacing-lg);
}

.accordion-body {
    font-size: var(--font-size-base);
    padding: var(--spacing-lg);
}

/* Специальные правила для мобильных устройств */
@media (max-width: 575px) {
    /* Улучшенные формы на мобильных */
    .form-control, .form-select {
        font-size: 16px; /* Предотвращает зум на iOS */
        min-height: 44px; /* Минимальный размер для касания */
    }
    
    /* Улучшенные модальные окна */
    .modal-dialog {
        margin: var(--spacing-sm);
        max-height: calc(100vh - 2rem);
    }
    
    /* Улучшенные таблицы */
    .table-responsive {
        border: none;
    }
    
    .table th, .table td {
        padding: var(--spacing-sm);
        font-size: var(--font-size-sm);
    }
    
    /* Стэкинг навигации */
    .navbar-nav {
        text-align: center;
    }
    
    .nav-link {
        padding: var(--spacing-md) var(--spacing-sm);
    }
}

/* Правила для планшетов */
@media (min-width: 576px) and (max-width: 991px) {
    /* Оптимизированные формы для планшетов */
    .form-control, .form-select {
        min-height: clamp(2.8rem, 4vw, 3.2rem);
    }
    
    /* Двухколоночные формы на планшетах */
    .row .col-md-6 .form-group {
        margin-bottom: var(--spacing-lg);
    }
}

/* Правила для больших экранов */
@media (min-width: 1200px) {
    /* Увеличенные интерактивные элементы */
    .btn-lg {
        font-size: var(--font-size-xl);
        padding: var(--spacing-lg) var(--spacing-xxl);
    }
    
    /* Увеличенные модальные окна */
    .modal-lg {
        max-width: 900px;
    }
    
    .modal-xl {
        max-width: 1200px;
    }
}

/* Утилитарные классы для адаптивности */
.text-responsive {
    font-size: var(--font-size-base) !important;
}

.text-responsive-sm {
    font-size: var(--font-size-sm) !important;
}

.text-responsive-lg {
    font-size: var(--font-size-lg) !important;
}

.padding-responsive {
    padding: var(--card-padding) !important;
}

.margin-responsive {
    margin: var(--spacing-lg) !important;
}

/* Улучшенные анимации и переходы */
.smooth-transition {
    transition: var(--transition);
}

.hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: var(--box-shadow-lg);
}

/* Адаптивные сетки */
@media (max-width: 767px) {
    .row > [class*="col-"] {
        margin-bottom: var(--spacing-md);
    }
    
    .row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }
}

/* Высокие экраны */
@media (min-height: 900px) {
    .min-vh-100 {
        min-height: 100vh;
    }
    
    .py-5 {
        padding-top: calc(var(--section-margin) * 1.5) !important;
        padding-bottom: calc(var(--section-margin) * 1.5) !important;
    }
}

/* Очень широкие экраны */
@media (min-width: 1600px) {
    .container {
        max-width: 1400px;
    }
    
    .container-xl {
        max-width: 1500px;
    }
}