.address-form { display: grid; gap: 1rem; }
.address-form__field { display: grid; gap: .35rem; min-width: 0; }
.address-form__field label { font-weight: 600; }
.address-form__field input,
.address-form__field select,
.address-form__search {
  box-sizing: border-box;
  min-height: 44px;
  width: 100%;
  border: 1px solid #aeb7c2;
  border-radius: .45rem;
  padding: .65rem .75rem;
  font: inherit;
  font-size: 16px;
  background-color: #fff;
}
.address-form--public .address-form__field { gap: 0; }
.address-form--public .address-form__field label {
  margin-bottom: .5rem;
  font-weight: 400;
}
.address-form--public .address-form__field input:not([type="hidden"]),
.address-form--public .address-form__field select {
  min-height: calc(1.5em + .75rem + 2px);
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color, #212529);
  background-color: var(--bs-body-bg, #fff);
  border: var(--bs-border-width, 1px) solid var(--bs-border-color, #dee2e6);
  border-radius: var(--bs-border-radius, .375rem);
}
.address-form--public .address-form__field input:not([type="hidden"]):focus,
.address-form--public .address-form__field select:focus {
  color: var(--bs-body-color, #212529);
  background-color: var(--bs-body-bg, #fff);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 .12rem rgba(13, 110, 253, .15);
}
.address-form__cep-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; }
.address-form__search { cursor: pointer; background: #1558a6; border-color: #1558a6; color: #fff; font-weight: 700; }
.address-form__search:disabled { cursor: wait; opacity: .7; }
.address-form__combobox { position: relative; min-width: 0; }
.address-form__city-results {
  position: absolute;
  z-index: 20;
  top: calc(100% + .2rem);
  right: 0;
  left: 0;
  max-height: 15rem;
  overflow-y: auto;
  border: 1px solid #aeb7c2;
  border-radius: .45rem;
  background: #fff;
  box-shadow: 0 .35rem .9rem rgba(15, 23, 42, .14);
}
.address-form__city-results[hidden] { display: none; }
.address-form__city-option,
.address-form__city-empty { padding: .65rem .75rem; }
.address-form__city-option { cursor: pointer; }
.address-form__city-option + .address-form__city-option { border-top: 1px solid #e5e7eb; }
.address-form__city-option:hover,
.address-form__city-option[aria-selected="true"] { background: #eaf2fb; }
.address-form__city-empty { color: #52606d; }
.address-form__row { display: grid; gap: 1rem; }
.address-form__uf { max-width: 8rem; }
.address-form__status { min-height: 1.35em; margin: 0; color: #334155; }
.address-form__status[data-state="error"] { color: #a01919; }
.address-form__status[data-state="success"] { color: #176b39; }
.address-form__error { color: #a01919; font-size: .875rem; }
.address-form small { color: #52606d; }
.address-form__legacy { border-left: 4px solid #6c757d; padding: .75rem 1rem; margin-bottom: 1rem; background: #f5f6f7; }
.address-form__legacy p { margin: 0 0 .5rem; }
.address-form.js-address [data-address-neighborhood-wrap][hidden],
.address-form.js-address [data-address-territory-wrap][hidden] { display: none; }
@media (min-width: 600px) {
  .address-form__cep-row { grid-template-columns: minmax(0, 15rem) max-content; align-items: end; }
  .address-form__search {
    width: auto;
    min-height: 40px;
    padding: .45rem .75rem;
    font-size: .9375rem;
  }
  .address-form__row { grid-template-columns: minmax(7rem, .35fr) minmax(0, 1fr); }
}
