/* --- CONTAINER PRINCIPAL (FORÇADO) --- */
.aw-form {
  max-width: 1000px !important;
  margin: 40px auto !important;
  padding: 50px !important;
  background-color: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.08) !important;
  color: #2d3436 !important;
  box-sizing: border-box !important;
  line-height: 1.6 !important;
}

/* --- TÍTULOS COM INDICADOR AZUL --- */
.aw-form h1 {
  font-size: 1.6rem !important;
  color: #1e293b !important;
  margin: 40px 0 25px 0 !important;
  display: flex !important;
  align-items: center !important;
  border: none !important;
  font-family: sans-serif !important;
}

.aw-form h1::before {
  content: "" !important;
  width: 6px !important;
  height: 28px !important;
  background: #007bff !important;
  margin-right: 15px !important;
  border-radius: 10px !important;
  display: inline-block !important;
}

/* --- GRID E COLUNAS (CORREÇÃO DE BOOTSTRAP) --- */
.aw-form-row.row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
}

.aw-form-row .aw-column {
  padding: 0 15px !important;
  box-sizing: border-box !important;
  float: none !important; /* Desabilita o float do outro CSS */
}

/* --- INPUTS MODERNOS --- */
.aw-form .form-group {
  margin-bottom: 25px !important;
}

.aw-form-label {
  display: block !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
  font-size: 1.4rem !important;
  color: #475569 !important;
}

.aw-form .form-control {
  width: 100% !important;
  height: 55px !important;
  padding: 12px 20px !important;
  font-size: 1.5rem !important;
  border: 2px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background-color: #f8fafc !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.aw-form .form-control:focus {
  border-color: #007bff !important;
  background-color: #fff !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.1) !important;
}

/* --- UPLOAD DE ARQUIVO (ESQUEMA MODERNO) --- */
.aw-form-file{
  position: relative !important;
  border: 2px dashed #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 30px !important;
  text-align: center !important;
  background: #f8fafc !important;
  transition: all 0.3s ease !important;
  display: block !important;
}

.aw-form-file:hover {
  border-color: #007bff !important;
  background: #f1f7ff !important;
}

/* Estilização interna do input file */
.aw-form .form-control-file {
  width: 100% !important;
  cursor: pointer !important;
  height: inherit !important;
}

.aw-form input[type="file"]::file-selector-button {
  background: #1e293b !important;
  color: white !important;
  border: none !important;
  padding: 12px 24px !important;
  border-radius: 8px !important;
  margin-right: 15px !important;
  cursor: pointer !important;
  font-weight: 600 !important;
  transition: 0.2s !important;
  height:initial !important;
}

.aw-form input[type="file"]::file-selector-button:hover {
  background: #334155 !important;
}

/* --- RADIOS (ESTILO CARD) --- */
.aw-form .radio-inline {
  display: inline-flex !important;
  align-items: center !important;
  background: #f8fafc !important;
  padding: 15px 25px !important;
  border-radius: 10px !important;
  margin-right: 10px !important;
  margin-bottom: 10px !important;
  border: 1.5px solid #e2e8f0 !important;
  cursor: pointer !important;
  transition: 0.2s !important;
}
.aw-form .radio-inline span {
  display:block;
  margin: 0 5px
}

.aw-form .radio-inline:hover {
  border-color: #cbd5e1 !important;
  background: #f1f5f9 !important;
}

.aw-form .form-check-input {
  width: 20px !important;
  height: 20px !important;
  margin-top: 0 !important;
  margin-right: 12px !important;
}

/* --- BOTÃO ENVIAR --- */
.aw-form .btn {
  width: 100% !important;
  height: 60px !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 1.6rem !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  cursor: pointer !important;
  box-shadow: 0 10px 20px rgba(0, 86, 179, 0.2) !important;
  transition: all 0.3s ease !important;
}

/* --- CLASSES DE ERRO/STATUS DO SEU CSS --- */
.aw-input-error {
  border-color: #ef4444 !important;
  background-color: #fef2f2 !important;
}

.aw-text-error {
  color: #ef4444 !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
}

/* Título quando existir token */
.aw-form-titulo-token {
  text-align: center !important;
  padding: 20px 0 !important;
  margin-bottom: 20px !important;
}

/* Responsividade */
@media (max-width: 768px) {
  .aw-form { padding: 30px 20px !important; }
  .aw-form-row .aw-column { width: 100% !important; }
}