.scheduler-phone-field .iti {
  width: 100%;
}

.scheduler-phone-field input[type="tel"] {
  width: 100%;
  min-width: 0;
  height: 54px;
  padding: 0 16px;
  border: 1px solid var(--ring, #e1e1e1);
  border-radius: 10px;
  background: #fff;
  color: #333;
  font: inherit;
  font-size: 17px;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.scheduler-phone-field input[type="tel"]:focus {
  outline: none;
  border-color: var(--blue, #3155d9);
  box-shadow: 0 0 0 3px var(--tint, #eef2ff);
}

.scheduler-phone-field input.invalid {
  border-color: var(--error, #bf002f);
}

.scheduler-phone-field .iti__selected-country {
  padding: 0 12px;
  border-right: 1px solid var(--hairline, #e1e1e1);
  border-radius: 10px 0 0 10px;
}

.scheduler-phone-field .iti__selected-country:focus-visible {
  outline: 2px solid var(--blue, #3155d9);
  outline-offset: -3px;
}

.iti {
  --iti-border-color: var(--ring, #e1e1e1);
  --iti-hover-color: var(--tint, #eef2ff);
  --iti-spacer-horizontal: 12px;
}

.iti__country-selector {
  border-radius: 10px;
  overflow: hidden;
  color: #333;
}

.iti__search-input:focus {
  outline: 2px solid var(--blue, #3155d9);
  outline-offset: -2px;
}

.scheduler-phone-field .field-note {
  margin-top: 7px;
  font-size: 14px;
  color: var(--graphite, #667085);
}

.scheduler-phone-field .error-message {
  margin-top: 7px;
  font-size: 14px;
  color: var(--error, #bf002f);
}

.scheduler-phone-field .error-message:empty {
  display: none;
}
