/* ===== RESPONSIVE FIXES - CORREÇÕES ADICIONAIS ===== */

/* Garantir que o layout nunca ultrapasse a viewport */
html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
}

/* Prevenir quebras de layout em componentes específicos */
.main-wrapper {
    box-sizing: border-box;
    max-width: 100%;
}

/* Melhorar comportamento em dispositivos touch */
.table-responsive {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.table-responsive::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

.table-responsive::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

/* Correções específicas para mobile */
@media (max-width: 575.98px) {
    /* Ajustar padding do container principal */
    .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    
    /* Reduzir espaçamento em cards */
    .card {
        margin-bottom: 0.75rem;
    }
    
    .card-body {
        padding: 0.75rem;
    }
    
    /* Melhorar legibilidade em tabelas */
    .table {
        font-size: 0.8rem;
    }
    
    .table th,
    .table td {
        padding: 0.5rem 0.25rem;
        vertical-align: middle;
    }
    
    /* Ajustar botões para touch */
    .btn {
        min-height: 2.5rem;
        padding: 0.5rem 1rem;
    }
    
    .btn-sm {
        min-height: 2rem;
        padding: 0.375rem 0.75rem;
    }
}

/* Correções para tablet */
@media (min-width: 576px) and (max-width: 991.98px) {
    .container-fluid {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Melhorar performance em animações */
.main-wrapper,
.card,
.accordion,
.modal {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* ===== CORREÇÕES ESPECÍFICAS PARA PAGINAÇÃO ===== */

/* Garantir que a paginação nunca saia da tela */
.pagination-container {
    overflow-x: auto !important;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.pagination-container::-webkit-scrollbar {
    height: 6px;
}

.pagination-container::-webkit-scrollbar-track {
    background: transparent;
}

.pagination-container::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

/* Garantir que o flexbox da paginação seja responsivo */
.pagination-container .d-flex {
    min-width: fit-content;
}

/* Para telas muito pequenas - simplificar paginação */
@media (max-width: 480px) {
    .pagination .page-item:not(.active):not(:first-child):not(:last-child):not(.disabled) {
        display: none;
    }
    
    .pagination .page-item.active ~ .page-item:nth-child(n+3):not(:last-child),
    .pagination .page-item.active ~ .page-item:nth-child(n+3):not(:last-child) ~ .page-item:not(:last-child) {
        display: none;
    }
}

/* Prevenir zoom em inputs em iOS */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    select,
    textarea,
    input[type="text"],
    input[type="password"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="date"],
    input[type="month"],
    input[type="time"],
    input[type="week"],
    input[type="number"],
    input[type="email"],
    input[type="url"],
    input[type="search"],
    input[type="tel"],
    input[type="color"] {
        font-size: 1rem;
    }
}