/* Only the embedded native Elementor form is adapted to the supplied model. */
.ss-model-page .ss-native-form {
  min-width: 0;
  width: 100%;
  color: var(--texto, #54595f);
  font-family: var(--fonte, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .elementor,
.ss-model-page .ss-native-form .e-con,
.ss-model-page .ss-native-form .e-con-inner,
.ss-model-page .ss-native-form .elementor-section,
.ss-model-page .ss-native-form .elementor-container,
.ss-model-page .ss-native-form .elementor-column,
.ss-model-page .ss-native-form .elementor-widget-wrap,
.ss-model-page .ss-native-form .elementor-widget-form {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0 !important;
  margin: 0;
  background: transparent !important;
  box-shadow: none;
  border: 0;
  --container-widget-width: 100%;
  --container-widget-flex-grow: 0;
}

/* The model already has a heading immediately above this embedded template. */
.ss-model-page .ss-native-form .elementor-widget-heading {
  display: none;
}

.ss-model-page .ss-native-form .elementor-widget-container,
.ss-model-page .ss-native-form form.elementor-form {
  padding: 0;
  margin: 0;
}

.ss-model-page .ss-native-form .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100%;
  min-width: 0;
  gap: 12px;
  margin: 0 !important;
}

.ss-model-page .ss-native-form .elementor-field-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch;
  gap: 5px;
  flex-basis: 100%;
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  margin: 0 !important;
}

.ss-model-page .ss-native-form .elementor-field-group[hidden] {
  display: none !important;
}

.ss-model-page .ss-native-form .elementor-field-label {
  display: block !important;
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  margin: 0;
  color: var(--titulo, #101010) !important;
  font: 600 13.5px/1.45 var(--fonte, system-ui, sans-serif) !important;
}

.ss-model-page .ss-native-form .elementor-field-textual {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 11px 13px !important;
  border: 1px solid #cfd3db !important;
  border-radius: 2px !important;
  background: #fff !important;
  box-shadow: none;
  color: var(--titulo, #101010) !important;
  font: 400 15px/1.35 var(--fonte, system-ui, sans-serif) !important;
}

.ss-model-page .ss-native-form .elementor-field-textual::placeholder {
  color: #676c74;
  opacity: 1;
}

.ss-model-page .ss-native-form .elementor-field-textual:focus {
  outline: 2px solid var(--marinho, #1b2143);
  outline-offset: 0;
  border-color: var(--marinho, #1b2143) !important;
}

.ss-model-page .ss-native-form .elementor-field-type-radio .elementor-field-subgroup {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

.ss-model-page .ss-native-form .elementor-field-type-radio .elementor-field-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 90px;
  min-width: 0;
  min-height: 44px;
  padding: 10px !important;
  margin: 0 !important;
  border: 1px solid #cfd3db;
  border-radius: 2px;
}

.ss-model-page .ss-native-form .elementor-field-type-radio .elementor-field-option:has(input:checked) {
  border-color: var(--marinho, #1b2143);
  background: #eef0f7;
}

.ss-model-page .ss-native-form .elementor-field-type-radio .elementor-field-option label {
  flex: 1;
  padding: 0;
  cursor: pointer;
  color: var(--titulo, #101010) !important;
  font: 500 14.5px/1.4 var(--fonte, system-ui, sans-serif) !important;
}

.ss-model-page .ss-native-form input[type="radio"],
.ss-model-page .ss-native-form input[type="checkbox"] {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--marinho, #1b2143);
}

.ss-model-page .ss-native-form .elementor-field-type-acceptance .elementor-field-option,
.ss-model-page .ss-native-form .elementor-field-type-checkbox .elementor-field-option {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.ss-model-page .ss-native-form .elementor-field-type-acceptance label,
.ss-model-page .ss-native-form .elementor-field-type-checkbox .elementor-field-option label {
  color: var(--texto, #54595f);
  font: 400 12.5px/1.45 var(--fonte, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .elementor-button[type="submit"] {
  width: 100%;
  min-height: 48px;
  padding: 15px !important;
  border: 0;
  border-radius: 2px !important;
  background: var(--marinho, #1b2143) !important;
  color: #fff !important;
  font: 600 15px/1.3 var(--fonte-titulo, system-ui, sans-serif) !important;
  cursor: pointer;
}

.ss-model-page .ss-native-form .elementor-button[type="submit"]:hover {
  background: var(--marinho-hover, #2a3263) !important;
}

.ss-model-page .ss-native-form .elementor-button[type="submit"]:disabled {
  cursor: wait;
  opacity: .7;
}

.ss-model-page .ss-native-form .elementor-button:focus-visible,
.ss-model-page .ss-native-form input[type="radio"]:focus-visible,
.ss-model-page .ss-native-form input[type="checkbox"]:focus-visible,
.ss-model-page .ss-native-form a:focus-visible {
  outline: 2px solid var(--marinho, #1b2143);
  outline-offset: 3px;
}

.ss-model-page .ss-native-form .elementor-widget-text-editor,
.ss-model-page .ss-native-form .ss-return-note {
  margin: 10px 0 0;
  color: var(--texto, #54595f);
  font: 400 12.5px/1.45 var(--fonte, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

/* Preserve Elementor's actual response; never simulate success or hide errors. */
.ss-model-page .ss-native-form .elementor-message {
  width: 100%;
  margin: 12px 0 0;
  font: 400 13px/1.5 var(--fonte, system-ui, sans-serif);
  overflow-wrap: anywhere;
}

.ss-model-page .ss-native-form .elementor-message-success {
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  padding: 12px;
}

.ss-model-page .ss-native-form .elementor-message-danger,
.ss-model-page .ss-native-form .elementor-error,
.ss-model-page .ss-native-form .elementor-help-inline {
  color: #b3261e;
}

.ss-model-page .ss-native-form .elementor-field[aria-invalid="true"] {
  border-color: #b3261e !important;
}

/* Age counters stay inside the original lead form, including its native submission. */
.ss-model-page .ss-native-form .campo-idades {
  min-width: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
}

.ss-model-page .ss-native-form .campo-idades[hidden],
.ss-model-page .ss-native-form .ss-age-error[hidden] {
  display: none !important;
}

.ss-model-page .ss-native-form .idades-titulo {
  padding: 0;
  margin: 0 0 6px;
  color: var(--titulo, #101010);
  font: 600 13.5px/1.45 var(--fonte, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .idades-ajuda {
  margin: 0 0 10px;
  color: var(--texto, #54595f);
  font: 400 12.5px/1.45 var(--fonte, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .faixas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.ss-model-page .ss-native-form .faixa {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 5px;
  min-width: 0;
  padding: 7px 4px 4px;
  border: 1px solid #cfd3db;
  border-radius: 2px;
  background: #fff;
}

.ss-model-page .ss-native-form .faixa.ativa {
  border-color: var(--marinho, #1b2143);
  background: #eef0f7;
}

.ss-model-page .ss-native-form .faixa-nome {
  min-width: 0;
  text-align: center;
  white-space: normal;
  color: var(--titulo, #101010);
  font: 600 12.5px/1.3 var(--fonte, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .stepper {
  display: grid;
  grid-template-columns: 44px minmax(18px, 1fr) 44px;
  align-items: center;
  gap: 0;
  width: 100%;
  min-width: 0;
}

.ss-model-page .ss-native-form .stepper button {
  display: grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: #e5e7eb;
  color: var(--titulo, #101010);
  font: 600 20px/1 var(--fonte, system-ui, sans-serif);
  cursor: pointer;
  touch-action: manipulation;
}

.ss-model-page .ss-native-form .stepper .mais {
  background: var(--marinho, #1b2143);
  color: #fff;
}

.ss-model-page .ss-native-form .stepper .mais:hover:not(:disabled) {
  background: var(--marinho-hover, #2a3263);
}

.ss-model-page .ss-native-form .stepper button:disabled {
  visibility: visible;
  opacity: .35;
  cursor: default;
}

.ss-model-page .ss-native-form .stepper button:focus-visible {
  outline: 2px solid var(--marinho, #1b2143);
  outline-offset: 2px;
}

.ss-model-page .ss-native-form .qtd {
  min-width: 18px;
  padding: 0;
  text-align: center;
  color: var(--titulo, #101010);
  font: 600 14px/1.4 var(--fonte-titulo, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .idades-total {
  margin: 8px 0 0;
  color: var(--marinho, #1b2143);
  font: 600 13px/1.4 var(--fonte, system-ui, sans-serif);
}

.ss-model-page .ss-native-form .ss-age-error {
  margin: 8px 0 0;
  color: #b3261e;
  font: 500 13px/1.4 var(--fonte, system-ui, sans-serif);
}

@media (max-width: 320px) {
  .ss-model-page .ss-native-form .faixas { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
  .ss-model-page .ss-native-form .elementor-field-textual {
    /* Avoid input-focus zoom on mobile without disabling user zoom. */
    font-size: 16px !important;
  }
}
