.elementor-3336 .elementor-element.elementor-element-b0a96df{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3336 .elementor-element.elementor-element-0b89d0b{padding:30px 30px 30px 30px;}.elementor-3336 .elementor-element.elementor-element-0b89d0b .elementor-heading-title{color:var( --e-global-color-61d675b );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3336 .elementor-element.elementor-element-26c9987{padding:20px 20px 20px 20px;}.elementor-3336 .elementor-element.elementor-element-23b0fd2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3336 .elementor-element.elementor-element-3194f17{padding:50px 50px 0px 50px;}.elementor-3336 .elementor-element.elementor-element-6cf6288{padding:0px 30px 30px 30px;color:#F30404;}.elementor-3336 .elementor-element.elementor-element-6cf6288.elementor-element{--align-self:center;}/* Start custom CSS for shortcode, class: .elementor-element-3194f17 *//* Sistema de grid responsivo para campos lado a lado */
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
  align-items: flex-end;
}

/* Tamanhos dos campos */
.field-xxsmall { flex: 0 0 8%; min-width: 80px; }
.field-xsmall  { flex: 0 0 15%; min-width: 120px; }
.field-small   { flex: 0 0 20%; min-width: 150px; }
.field-medium  { flex: 0 0 30%; min-width: 180px; }
.field-large   { flex: 0 0 50%; min-width: 250px; }
.field-xlarge  { flex: 0 0 70%; min-width: 300px; }
.field-full    { flex: 0 0 100%; }

/* Estilo dos labels */
.form-row label {
  display: block;
  font-weight: 500;
  margin-bottom: 6px;
  font-size: 13px;
  color: #333;
}

/* Títulos em azul marinho e negrito */
.section-title-box {
  background: #f0f8ff;
  padding: 15px;
  margin: 25px 0 15px 0;
  border-radius: 8px;
  border-left: 4px solid #1e3a8a;
}

.section-title-box label {
  color: #1e3a8a; /* Azul marinho */
  font-weight: 700 !important; /* Negrito */
  font-size: 16px;
  margin: 0;
  display: block;
}

/* Títulos h5 */
h5 {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e7eb;
  font-weight: 500;
}

/* Estilo dos campos de entrada - BORDAS ARREDONDADAS */
.wpcf7-text, 
.wpcf7-date, 
.wpcf7-tel,
.wpcf7-email,
.wpcf7-select,
.wpcf7-number {
  width: 100% !important;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  height: 42px;
  box-sizing: border-box;
  transition: all 0.2s;
  background-color: white;
}

/* Campos de arquivo - BORDAS ARREDONDADAS */
.wpcf7-file {
  width: 100%;
  padding: 8px 0;
  font-size: 13px;
  border-radius: 8px;
}

/* Select específico */
.wpcf7-select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' 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;
}

/* Foco nos campos */
.wpcf7-text:focus, 
.wpcf7-date:focus,
.wpcf7-tel:focus,
.wpcf7-email:focus,
.wpcf7-select:focus,
.wpcf7-number:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Checkbox e aceitação */
.wpcf7-acceptance {
  margin: 20px 0;
  padding: 15px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.wpcf7-list-item {
  margin: 8px 0;
  display: flex;
  align-items: flex-start;
}

.wpcf7-list-item-label {
  font-size: 13px;
  line-height: 1.4;
  margin-left: 8px;
}

/* Botão de enviar - BORDAS ARREDONDADAS */
.wpcf7-submit {
  background: #3b82f6;
  color: white;
  padding: 14px 32px;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s;
  display: block;
  width: 100%;
  max-width: 200px;
  margin: 30px auto 0;
}

.wpcf7-submit:hover {
  background: #2563eb;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
}

.wpcf7-submit:active {
  transform: translateY(0);
}

/* Para textos longos (termos e informações) */
label:has(+ .wpcf7-acceptance) {
  display: block;
  padding: 15px;
  background: #f9fafb;
  border-radius: 8px;
  margin: 15px 0;
  font-size: 13px;
  line-height: 1.5;
  color: #4b5563;
  border: 1px solid #e5e7eb;
}

/* Labels principais (fora das seções) */
.section-title-box + label:not(.form-row label) {
  display: block;
  margin: 10px 0;
  font-size: 13px;
  line-height: 1.5;
}

/* Responsividade */
@media (max-width: 1024px) {
  .field-xxsmall { flex: 0 0 15%; min-width: 100px; }
  .field-xsmall  { flex: 0 0 25%; min-width: 120px; }
  .field-small   { flex: 0 0 30%; min-width: 140px; }
  .field-medium  { flex: 0 0 45%; min-width: 160px; }
  .field-large   { flex: 0 0 100%; min-width: 100%; }
  .field-xlarge  { flex: 0 0 100%; min-width: 100%; }
}

@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
    gap: 15px;
  }
  
  .field-xxsmall,
  .field-xsmall,
  .field-small,
  .field-medium,
  .field-large,
  .field-xlarge,
  .field-full {
    flex: 0 0 100%;
    min-width: 100%;
    width: 100%;
  }
  
  .wpcf7-submit {
    max-width: 100%;
  }
  
  .section-title-box {
    padding: 12px;
    font-size: 14px;
  }
}

/* Validação - campos obrigatórios */
.wpcf7-not-valid {
  border-color: #ef4444 !important;
}

.wpcf7-not-valid-tip {
  font-size: 12px;
  color: #ef4444;
  margin-top: 4px;
  display: block;
}

.wpcf7-response-output {
  padding: 15px;
  border-radius: 8px;
  margin: 20px 0 !important;
  font-size: 14px;
}

/* Campo UF específico (apenas 2 letras) */
.wpcf7-form-control-wrap-UF input {
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 1px;
  font-weight: bold;
  border-radius: 8px;
}

/* Campos obrigatórios - asterisco vermelho */
.wpcf7-form-control-wrap .wpcf7-form-control:required + label::after {
  content: " *";
  color: #ef4444;
}

/* Aviso campos obrigatórios no topo */
h5:first-child {
  background: #fff3cd;
  color: #856404;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ffeaa7;
  margin-bottom: 25px;
  font-size: 13px;
}

/* Ajuste para campos de arquivo */
.wpcf7-file + label {
  display: inline-block;
  margin-top: 5px;
  font-size: 12px;
  color: #6b7280;
}/* End custom CSS */