/*
 * Ajustes para aparelhos de toque — change OpenSpec `campos-toque-mobile`.
 *
 * Por quê:
 *  - O Safari do iOS aplica zoom automático ao focar um campo com letra
 *    menor que 16px; por isso os campos passam a 16px em vez de bloquear o zoom.
 *  - Alvos de toque devem ter ao menos 44px (Apple HIG / WCAG 2.5.5).
 *
 * Escopo: somente `pointer: coarse` (celular e tablet). Com mouse, nada muda.
 *
 * Este arquivo é carregado por último em layouts/master.php, depois de todos
 * os CSS de página; assim vence com a mesma especificidade, sem `!important`.
 */
@media (pointer: coarse) {
    /* Campos */
    .gl-select-control,
    .gl-export-select-control,
    .gl-search-input,
    .gl-search-extra-input,
    #form-manifesto-transparencia .form-control,
    #form-denuncia-ouvidoria .form-control {
        font-size: 16px;
        min-height: 44px;
    }

    /*
     * Alturas fixas que impediriam o min-height: Bootstrap (.form-control, 34px),
     * barra de Diárias (42px) e formulário de referência (36px).
     */
    #form-manifesto-transparencia .form-control,
    #form-denuncia-ouvidoria .form-control,
    .gl-diarias-toolbar .gl-select-control,
    .gl-reference-form .gl-select-control {
        height: auto;
        min-height: 44px; /* essas regras também fixam min-height, com especificidade maior */
    }

    /*
     * select2 (UF do Manifesto e busca de atalhos do cabeçalho): a caixa tocada é `.select2-selection`
     * (o select nativo fica escondido) e a busca que abre dentro dele é um input nativo.
     */
    .select2-container .select2-selection--single,
    .select2-container .select2-selection--multiple {
        display: flex;
        align-items: center;
        height: auto; /* o select2 fixa a altura (28px; 32px na múltipla escolha) */
        min-height: 44px;
    }

    .select2-container .select2-selection--single .select2-selection__rendered,
    .select2-container .select2-selection--multiple .select2-selection__rendered,
    .select2-container .select2-search__field,
    .select2-container .select2-search--inline .select2-search__field {
        font-size: 16px;
    }

    /* A busca do painel do select2 simples é um alvo de toque à parte. */
    .select2-container .select2-search--dropdown .select2-search__field {
        min-height: 44px;
    }

    .select2-container .select2-selection--single .select2-selection__arrow {
        top: 50%;
        transform: translateY(-50%);
    }

    /* Botões */
    .gl-pbtn {
        min-height: 44px;
        min-width: 44px;
    }

    /* Com botões de 44px a lista de páginas quebra linha em vez de rolar/vazar */
    .gl-pages {
        flex-wrap: wrap;
        overflow-x: visible;
    }

    /* Só chips clicáveis: o rótulo de fase do modal (.gl-chip--label) é texto e não é alvo de toque. */
    .gl-chip:not(.gl-chip--label) {
        min-height: 44px;
        max-width: 100%;
        white-space: normal;
        text-align: left;
    }

    .ceap-export-notas {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    #form-manifesto-transparencia button[type="submit"],
    #form-denuncia-ouvidoria button[type="submit"] {
        min-height: 44px;
    }
}
