/* =============================================================
   form-controls.css — Estilos globais de campos de formulário
   Fonte de verdade para inputs, selects e textareas do projeto.
   Carregado após modal.css e text-fields.css para ter precedência.
   ============================================================= */

input,
select,
textarea,
.form-control {
    padding: 10px 14px;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #374151;
    background-color: #f1f5f9;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    font-family: inherit;
}

.form-control {
    width: 100%;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus {
    outline: none;
    border-color: var(--primary-color);
    background-color: #fff; /* background-color apenas — shorthand resetaria background-repeat/size do select */
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1);
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder {
    color: #9CA3AF;
    font-weight: 400;
}

input:disabled,
select:disabled,
textarea:disabled,
.form-control:disabled {
    background: #F3F4F6;
    color: #9CA3AF;
    cursor: not-allowed;
    border-color: #E5E7EB;
    opacity: 1;
}

/* ------------------------------------------------------------------
   Seta dropdown para todos os <select> — remove a nativa do SO e
   adiciona chevron SVG consistente. Padding-right preserva espaço.
   ------------------------------------------------------------------ */
select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
    cursor: pointer;
}

select:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232E86AB' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------
   Labels globais — leve e consistente com o padrão das Configurações
   ------------------------------------------------------------------ */
/* Contextos não-flex: margin-bottom ativo pois não há gap no container */
.form-group label,
.form-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 6px;
    display: block;
}

/* Flex container: gap: 0.4rem do .input-group-default já resolve o espaçamento */
.input-group-default label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
}

/* ------------------------------------------------------------------
   Checkboxes e radios usam o estilo próprio do Bootstrap.
   Não sobrescrever dimensões, borda ou fundo aqui: `.form-check-input`
   usa `appearance: none` e depende dessas propriedades para desenhar
   o controle.
   ------------------------------------------------------------------ */
input[type="checkbox"],
input[type="radio"] {
    cursor: pointer;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
    cursor: pointer;
}
