.registration-address, .registration-address * { box-sizing: border-box; }
.registration-address { border: 0; padding: 0; margin: 24px 0; min-width: 0; }
.registration-address legend { float: none; width: auto; font-size: 18px; font-weight: 600; margin-bottom: 16px; }
.address-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.address-field { min-width: 0; }
.address-field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.address-field input, .address-field select { width: 100%; min-width: 0; height: 48px; padding: 10px 12px; border: 1px solid #d8e0d4; border-radius: 8px; background: #fff; color: #263238; font: inherit; font-size: 16px; }
.address-field input:focus { outline: 2px solid #43506a; outline-offset: 1px; }
.address-wide { grid-column: 1 / -1; }
.address-cep { display: flex; gap: 8px; }
.address-cep input { flex: 1; }
.address-cep button { border: 1px solid #637168; border-radius: 8px; padding: 6px 10px; background: #fff; color: #263238; cursor: pointer; font: inherit; font-size: 14px; flex-shrink: 0; }
.address-status { margin: 12px 0 0; font-size: 13px; color: #637168; }
.address-error { margin: 8px 0 0; color: #b42318; font-size: 13px; }
.registration-address .select2-container { max-width: 100%; }
.registration-address .select2-selection--single { min-height: 48px; border-color: #d8e0d4; border-radius: 8px; }
.registration-address .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 12px; }
.registration-address .select2-selection--single .select2-selection__arrow { height: 46px; }
.select2-search__field { font-size: 16px; }
@media (max-width: 575px) { .address-grid { grid-template-columns: minmax(0,1fr); } }
