.form-container { max-width: 600px; margin: 40px auto; padding: 20px; }
.form-wrapper { background: #fff; padding: 40px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.05); }
.form-header { text-align: center; margin-bottom: 30px; }

/* Steps Indicator */
.steps-indicator { display: flex; align-items: center; justify-content: center; margin-bottom: 40px; }
.step-dot { width: 35px; height: 35px; border-radius: 50%; background: #eee; display: flex; align-items: center; justify-content: center; font-weight: bold; color: #aaa; transition: 0.3s; }
.step-dot.active { background: #0056b3; color: #fff; }
.step-line { height: 4px; width: 50px; background: #eee; margin: 0 10px; transition: 0.3s; }

/* Form Elements */
.form-step { display: none; animation: fadeIn 0.4s ease-in-out; }
.form-step.active { display: block; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 500; color: #333; }

/* CORREÇÃO: Aplica 100% de largura apenas em texto, ignorando radio e checkbox */
.form-group input:not([type="radio"]):not([type="checkbox"]), 
.form-group select, 
.form-group textarea { 
    width: 100%; 
    padding: 12px; 
    border: 1px solid #ddd; 
    border-radius: 8px; 
    font-family: 'Inter', sans-serif; 
    font-size: 16px; 
    transition: border-color 0.2s;
}

.form-group input:focus, .form-group select:focus { border-color: #0056b3; outline: none; }
.form-group textarea { resize: vertical; min-height: 100px; }

/* Estrutura flexível para Radios e Checkbox (LGPD) */
.radio-options { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; margin-bottom: 20px; }
.radio-options label, .checkbox-label { display: flex !important; flex-direction: row; align-items: center; gap: 8px; font-weight: 400 !important; cursor: pointer; margin: 0; }
.checkbox-label { align-items: flex-start; line-height: 1.5; padding: 16px; background: #f8f9fa; border-radius: 8px; border: 1px solid #0056b3; margin-top: 20px; }
.checkbox-label input { margin-top: 4px; }

.form-actions { display: flex; justify-content: space-between; margin-top: 30px; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) {
    .form-container { margin: 20px auto; padding: 15px; }
    .form-wrapper { padding: 24px 16px; }
    .form-actions { flex-direction: column-reverse; gap: 10px; }
    .form-actions .btn { width: 100%; justify-content: center; }
    .step-line { width: 30px; }
}

@media (max-width: 480px) {
    .form-container { margin: 0; padding: 10px; }
    .form-wrapper { padding: 20px 14px; border-radius: 8px; }
    .steps-indicator { gap: 4px; }
    .step-dot { width: 28px; height: 28px; font-size: 0.85rem; }
    .step-line { width: 20px; margin: 0 4px; }
}

/* Modal — confirmação de empresa similar */
.modal-empresa { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; }
.modal-empresa-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.modal-empresa-box { position: relative; background: #fff; border-radius: 12px; padding: 32px 28px; max-width: 440px; width: calc(100% - 32px); box-shadow: 0 8px 32px rgba(0,0,0,.18); }
.modal-empresa-box h3 { margin: 0 0 12px; font-size: 1.05rem; color: #0056b3; }
.modal-empresa-box p { margin: 0 0 24px; color: #444; line-height: 1.6; font-size: 0.95rem; }
.modal-empresa-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.modal-empresa-actions .btn { flex: 1; min-width: 130px; justify-content: center; text-align: center; }

@media (max-width: 480px) {
    .modal-empresa-box { padding: 24px 18px; }
    .modal-empresa-actions { flex-direction: column; }
    .modal-empresa-actions .btn { flex: none; width: 100%; }
}