/* public/css/indicator.css */
/* 14/03/2026 */

/* ============================================================================ */
/* HTMX - Indicadores de carregamento */
/* ============================================================================ */
/* Estilos para indicadores de carregamento em requisições HTMX */
/* Este arquivo é carregado diretamente no HTML (não processado pelo Tailwind) */
/* ============================================================================ */

/**
 * Oculta indicadores HTMX por padrão
 * Quando uma requisição HTMX está em andamento, o elemento recebe a classe .htmx-request
 * e os indicadores se tornam visíveis
 */
.htmx-indicator {
    opacity: 0;
    transition: opacity 200ms ease-in;
    pointer-events: none;
}

/**
 * Mostra o indicador quando há uma requisição HTMX ativa
 * Funciona tanto quando o indicador é filho do elemento com .htmx-request
 * quanto quando o próprio indicador tem a classe .htmx-request
 */
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    opacity: 1;
    pointer-events: auto;
}

/**
 * Desabilita botões durante requisições HTMX
 * Previne múltiplos cliques e melhora a UX
 */
.htmx-request .btn,
.htmx-request.btn {
    pointer-events: none;
    opacity: 0.6;
    cursor: not-allowed;
}

/**
 * Previne scroll do body quando o overlay de loading está ativo
 * (opcional, usar se necessário)
 */
body:has(.htmx-request.htmx-indicator) {
    overflow: hidden;
}
