/* Match original SearchableSelect, InputNumber and PhotoUpload components.
   A reveal transform is a stacking context: the entire address field must be
   above later animated fields, not just the listbox inside that field. */
.valuation-address-field { position: relative; z-index: 30; }
.valuation-location-menu { background: #fff; isolation: isolate; }

/* Original SubmitValuationStep: gap-1 group, gap-2 rows, items-center. */
.valuation-contact-checks { display: flex; flex-direction: column; gap: 4px; width: 100%; }
.valuation-contact-check { align-items: center; gap: 8px; margin: 0; cursor: pointer; }
.valuation-contact-check > input[type=checkbox] { flex: 0 0 auto; margin: 0; }
.valuation-contact-check > span { min-width: 0; }

.valuation-number-control {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 48px;
  border: 1px solid #c4c4c4;
  background: #fff;
  font-weight: 500;
}
.valuation-number-control:focus-within { border-color: #212529; }
.valuation-field .valuation-number-control input[type=number] {
  flex: 1;
  min-width: 0;
  width: 0;
  height: auto;
  border: 0;
  padding: 9px 12px;
  appearance: textfield;
  -moz-appearance: textfield;
}
.valuation-number-control input::-webkit-inner-spin-button,
.valuation-number-control input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.valuation-number-control > button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-left: 1px solid #c4c4c4;
  border-radius: 0;
  background: transparent;
  color: #212529;
  cursor: pointer;
}
.valuation-number-control > button img { width: 16px; height: 16px; }
.valuation-number-unit { flex: 0 0 48px; width: 48px; padding: 12px; text-align: center; color: #c4c4c4; }
.valuation-number-control > button:focus-visible { outline: 2px solid #e4002b; outline-offset: -3px; }
.floor-fields > .valuation-number-control { min-width: 0; }

.valuation-file { display: flex; flex-direction: column; gap: 14px; width: 100%; color: #212529; font-weight: 500; }
.valuation-photo-picker { position: relative; display: flex; align-items: center; gap: 24px; padding: 16px 20px; border: 1px solid #c4c4c4; background: #fff; cursor: pointer; }
.valuation-photo-picker > img { width: 32px; height: 32px; flex: 0 0 32px; }
.valuation-photo-picker > label { display: block; width: 100%; cursor: pointer; }
.valuation-file .valuation-photo-picker > input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%!important; padding: 0!important; opacity: 0; cursor: pointer; }
.valuation-photo-picker:focus-within { outline: 2px solid #e4002b; outline-offset: 2px; }
.valuation-photo-picker.is-disabled, .valuation-photo-picker.is-disabled > label, .valuation-photo-picker.is-disabled > input { cursor: default; }
.valuation-uploaded-files { display: flex; flex-direction: column; gap: 8px; }
.valuation-uploaded-files > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.valuation-uploaded-files > div > span { min-width: 0; overflow-wrap: anywhere; }
.valuation-uploaded-files button { flex: 0 0 20px; border: 0; background: transparent; padding: 0; cursor: pointer; }
.valuation-uploaded-files button img { width: 15px; height: auto; }
