/**
 * Formulário de Cadastro - Inputs Compactos
 * 
 * Força altura reduzida dos campos de input para melhor UX
 * DEVE ser carregado por último para sobrescrever outros estilos
 */

/* ===== INPUTS COMPACTOS - ALTA PRIORIDADE ===== */

/* Campos de formulário principais */
.ec-form-control,
.ec-modern-form-container .ec-form-control,
body.ec-cadastro-page .ec-form-control,
input[type="text"],
input[type="email"], 
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="date"],
textarea,
select {
    min-height: 38px !important;
    height: 38px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* Textareas podem ser um pouco maiores */
textarea.ec-form-control,
textarea {
    min-height: 80px !important;
    height: auto !important;
    resize: vertical !important;
}

/* Selects personalizados */
.ec-form-control select,
select.ec-form-control {
    min-height: 38px !important;
    height: 38px !important;
    padding: 8px 12px !important;
}

/* Campos de documento upload ULTRA COMPACTOS */
.ec-file-input-wrapper {
    min-height: 35px !important;
    padding: 6px !important;
    margin-bottom: 4px !important;
}

.ec-file-input-label {
    padding: 4px 8px !important;
    min-height: 32px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.ec-document-field {
    margin-bottom: 4px !important;
    padding: 4px !important;
}

.ec-documents-container {
    gap: 4px !important;
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    padding: 6px !important;
}

/* Botões compactos */
.ec-btn,
.ec-button,
button[type="submit"],
button[type="button"] {
    min-height: 38px !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
}

/* Botões primários um pouco maiores */
.ec-btn-primary {
    min-height: 40px !important;
    padding: 10px 18px !important;
}

/* Espaçamento entre grupos de campos ULTRA MÍNIMO */
.ec-form-group {
    margin-bottom: 4px !important;
    padding-bottom: 0px !important;
}

.ec-form-group.full-width {
    margin-bottom: 6px !important;
    padding-bottom: 0px !important;
}

/* Labels compactos */
.ec-form-label {
    margin-bottom: 1px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Dicas de campo MUITO compactas */
.ec-field-help,
.ec-field-tip,
.field-help,
.help-text,
.form-help {
    margin-top: 1px !important;
    margin-bottom: 4px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    padding: 0 !important;
}

/* Espaçamento entre label e input MÍNIMO */
.ec-form-label + .ec-form-control,
.ec-form-label + input,
.ec-form-label + select,
.ec-form-label + textarea {
    margin-top: 1px !important;
}

/* Espaçamento entre input e dica MÍNIMO */
.ec-form-control + .ec-field-help,
.ec-form-control + .ec-field-tip,
input + .ec-field-help,
input + .field-help,
select + .ec-field-help,
textarea + .ec-field-help {
    margin-top: 1px !important;
    margin-bottom: 3px !important;
}

/* Containers de seção */
.ec-form-section {
    padding: 20px !important;
    margin-bottom: 20px !important;
}

/* Header do formulário */
.ec-form-header {
    padding: 16px 20px !important;
    margin-bottom: 12px !important;
}

/* Progress bar compacto */
.ec-progress-container {
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
}

.ec-progress-step {
    width: 36px !important;
    height: 36px !important;
    font-size: 13px !important;
}

/* Responsive - Mobile ainda menor */
@media (max-width: 767.98px) {
    .ec-form-control,
    input[type="text"],
    input[type="email"], 
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    select {
        min-height: 36px !important;
        height: 36px !important;
        padding: 6px 10px !important;
        font-size: 14px !important;
    }
    
    .ec-btn,
    .ec-button {
        min-height: 36px !important;
        padding: 6px 14px !important;
        font-size: 14px !important;
    }
    
    .ec-form-group {
        margin-bottom: 6px !important;
    }
    
    .ec-form-section {
        padding: 12px !important;
        margin-bottom: 12px !important;
    }
    
    /* Mobile - espaçamentos ULTRA menores */
    .ec-form-label {
        margin-bottom: 0px !important;
        font-size: 11px !important;
    }
    
    .ec-field-help,
    .ec-field-tip {
        margin-top: 1px !important;
        margin-bottom: 2px !important;
        font-size: 10px !important;
    }
    
    /* Mobile - grids super compactos */
    .ec-form-grid,
    .ec-fields-grid {
        gap: 6px 10px !important;
        row-gap: 6px !important;
        column-gap: 10px !important;
    }
}

/* Força aplicação em elementos específicos do plugin */
.ec-modern-form-container input,
.ec-modern-form-container select,
.ec-modern-form-container textarea,
body.ec-cadastro-page input,
body.ec-cadastro-page select,
body.ec-cadastro-page textarea {
    min-height: 38px !important;
    padding: 8px 12px !important;
}

/* Campos com erro ou sucesso mantêm altura compacta */
.ec-form-control.error,
.ec-form-control.success {
    min-height: 38px !important;
    height: 38px !important;
}

/* Checkboxes e radio buttons - área clicável compacta mas acessível */
.ec-checkbox-label,
.ec-radio-label {
    min-height: 36px !important;
    padding: 8px 0 !important;
}

/* File upload inputs */
input[type="file"] {
    min-height: 38px !important;
    padding: 6px 8px !important;
}

/* Campos de endereço (CEP, cidade, etc) */
.ec-endereco-fields .ec-form-control {
    min-height: 38px !important;
    height: 38px !important;
}

/* Força override em todas as variações possíveis */
[class*="ec-form"] input,
[class*="ec-form"] select,
[class*="ec-form"] textarea {
    min-height: 38px !important;
    padding: 8px 12px !important;
}

/* Espaçamentos de validação */
.ec-form-control.error + .error-message,
.ec-form-control.success + .success-message,
.field-error,
.field-success {
    margin-top: 3px !important;
    margin-bottom: 6px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

/* Grids de formulário - gaps MÍNIMOS */
.ec-form-grid,
.ec-fields-grid {
    gap: 8px 12px !important;
    row-gap: 8px !important;
    column-gap: 12px !important;
}

/* Containers de documentos */
.ec-documents-container {
    gap: 8px !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

.ec-document-field {
    margin-bottom: 8px !important;
}

/* Seções específicas */
.ec-step-content {
    padding: 16px 20px !important;
}

.ec-form-actions {
    margin-top: 16px !important;
    padding-top: 12px !important;
}

/* OVERRIDE ULTRA AGRESSIVO - MÁXIMA COMPACTAÇÃO */

/* Todos os elementos com margin-bottom ZERO */
.ec-form-group,
.ec-form-field,
.form-group,
.field-group {
    margin-bottom: 3px !important;
    padding-bottom: 0px !important;
}

/* Todas as dicas de campo INVISIBILIZADAS */
.ec-field-help,
.ec-field-tip,
.field-help,
.help-text,
.form-help,
small,
.description {
    font-size: 9px !important;
    margin-top: 0px !important;
    margin-bottom: 1px !important;
    line-height: 1.0 !important;
    padding: 0 !important;
    opacity: 0.8 !important;
}

/* Dicas específicas de usuário/senha ainda menores */
.user-creation-help,
.password-help,
.login-help {
    font-size: 8px !important;
    margin: 0px !important;
    padding: 0px !important;
    line-height: 1.0 !important;
    opacity: 0.7 !important;
}

/* Todos os labels */
.ec-form-label,
.form-label,
label {
    margin-bottom: 0px !important;
    font-size: 11px !important;
    display: block !important;
}

/* Força gap mínimo em todos os grids */
.ec-form-grid,
.ec-fields-grid,
.form-grid,
[class*="grid"] {
    gap: 6px 10px !important;
    row-gap: 6px !important;
    column-gap: 10px !important;
}

/* Força espaçamento mínimo em todos os containers */
.ec-step-content,
.ec-form-section,
.form-section,
.step-content {
    padding: 12px !important;
    margin-bottom: 8px !important;
}

/* Override de qualquer margem grande que ainda exista */
[class*="ec-"] {
    margin-bottom: 3px !important;
    padding-bottom: 0px !important;
}

[class*="ec-"] .ec-field-help {
    margin-top: 0px !important;
    margin-bottom: 1px !important;
    font-size: 8px !important;
    opacity: 0.7 !important;
}

/* Campos específicos ainda mais compactos */
.ec-account-creation,
.ec-user-creation,
.login-section {
    margin-bottom: 2px !important;
    padding: 4px !important;
}

.ec-account-creation .ec-field-help,
.ec-user-creation .ec-field-help,
.login-section .ec-field-help {
    font-size: 7px !important;
    margin: 0px !important;
    opacity: 0.6 !important;
}

/* Upload de arquivo - remoção de espaços excessivos */
.ec-file-upload-area,
.ec-upload-zone,
.file-upload-container {
    padding: 4px !important;
    margin: 2px 0 !important;
    min-height: 30px !important;
}

/* Botões de upload compactos */
.ec-file-button,
.upload-button {
    padding: 3px 8px !important;
    font-size: 11px !important;
    min-height: 28px !important;
}

/* FOCO DESABILITADO - Controlado pelo ultra-compact.css e template inline */
/*
.ec-form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus, 
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
textarea:focus,
select:focus {
    outline: none !important;
    outline-width: 0 !important;
    outline-offset: 0 !important;
    outline-color: transparent !important;
    border: 2px solid #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
    background-color: #eff6ff !important;
}
*/

/* Debug: classe para identificar se este CSS está sendo aplicado */
.ec-modern-form-container::before {
    content: "";
    /* Marcador invisível para debug */
}