/* Align react-phone-number-input with the portal's Mantine field styling:
   44px height, 10px radius, edr border, brand-green focus ring. */

.edr-phone-wrapper .PhoneInput {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

/* Country selector — a compact pill matching the input height/radius. */
.edr-phone-wrapper .PhoneInputCountry {
  margin: 0;
  padding: 0 10px;
  height: 2.25rem;
  border: 0.0625rem  solid #b0bfce;
  border-radius: 6px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
  transition:
    border-color 120ms ease,
    box-shadow 120ms ease;
}

.edr-phone-wrapper .PhoneInputCountryIcon {
  width: 22px;
  height: 16px;
  box-shadow: none;
}

.edr-phone-wrapper .PhoneInputCountrySelectArrow {
  color: #6b7c8e;
  opacity: 0.8;
}

/* The number input itself. */
.edr-phone-input {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #e6ecf2;
  border-radius: 10px;
  font-size: 14px;
  color: #10202f;
  background: #fff;
  outline: none;
  transition:
    border-color 120ms ease,
    box-shadow 120ms ease;
}

.edr-phone-input::placeholder {
  color: #9aa8b5;
}

.edr-phone-input:focus {
  border-color: #0ea371;
  box-shadow: 0 0 0 3px rgba(14, 163, 113, 0.15);
}

.edr-phone-wrapper .PhoneInputCountry:focus-within {
  border-color: #0ea371;
  box-shadow: 0 0 0 3px rgba(14, 163, 113, 0.15);
}

.edr-phone-input:disabled,
.edr-phone-wrapper .PhoneInputCountrySelect:disabled + .PhoneInputCountryIcon {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Error state mirrors Mantine's invalid styling. */
.edr-phone-wrapper--error .edr-phone-input,
.edr-phone-wrapper--error .PhoneInputCountry {
  border-color: #e03131;
}

.edr-phone-wrapper--error .edr-phone-input:focus {
  box-shadow: 0 0 0 3px rgba(224, 49, 49, 0.12);
}
