.intl-phone-field {
  --intl-phone-border: var(--qs-border, #d8e2dc);
  --intl-phone-bg: #fff;
  --intl-phone-radius: 0.75rem;
}

.intl-phone-field__group {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--intl-phone-border);
  border-radius: var(--intl-phone-radius);
  background: var(--intl-phone-bg);
  overflow: visible;
}

.intl-phone-field__group.is-invalid,
.intl-phone-field__group:focus-within {
  border-color: var(--bs-primary, #064f3c);
  box-shadow: 0 0 0 0.15rem rgba(6, 79, 60, 0.12);
}

.intl-phone-field__group.is-invalid {
  border-color: var(--bs-danger, #dc3545);
}

.intl-phone-field__country {
  position: relative;
  flex: 0 0 min(46%, 13.5rem);
  min-width: 9.5rem;
  border-inline-end: 1px solid var(--intl-phone-border);
}

.intl-phone-field__trigger {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  min-height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  border: 0;
  background: transparent;
  text-align: start;
  color: inherit;
}

.intl-phone-field__trigger.is-invalid {
  box-shadow: none;
}

.intl-phone-field__flag {
  font-size: 1.15rem;
  line-height: 1;
}

.intl-phone-field__dial {
  font-weight: 600;
  direction: ltr;
  unicode-bidi: isolate;
}

.intl-phone-field__placeholder {
  color: var(--qs-muted, #596861);
  font-size: 0.92rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.intl-phone-field__dropdown {
  position: absolute;
  inset-inline-start: 0;
  top: calc(100% + 0.35rem);
  z-index: 1080;
  width: min(22rem, calc(100vw - 2rem));
  max-width: 22rem;
  padding: 0.65rem;
  border: 1px solid var(--intl-phone-border);
  border-radius: var(--intl-phone-radius);
  background: #fff;
  box-shadow: 0 16px 40px rgba(23, 35, 30, 0.14);
}

.intl-phone-field__dropdown[hidden] {
  display: none !important;
}

.intl-phone-field__search {
  margin-bottom: 0.55rem;
}

.intl-phone-field__list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 15rem;
  overflow: auto;
}

.intl-phone-field__option {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.55rem 0.6rem;
  border: 0;
  border-radius: 0.55rem;
  background: transparent;
  text-align: start;
  cursor: pointer;
}

.intl-phone-field__option:hover,
.intl-phone-field__option.is-active {
  background: rgba(6, 79, 60, 0.08);
}

.intl-phone-field__option-name {
  flex: 1 1 auto;
  min-width: 0;
}

.intl-phone-field__option-dial {
  flex: 0 0 auto;
  font-weight: 600;
  direction: ltr;
  unicode-bidi: isolate;
  color: var(--qs-muted, #596861);
}

.intl-phone-field__number {
  flex: 1 1 auto;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  direction: ltr;
  text-align: left;
}

.intl-phone-field__number:focus {
  box-shadow: none !important;
}

@media (max-width: 575.98px) {
  .intl-phone-field__group {
    flex-direction: column;
  }

  .intl-phone-field__country {
    flex-basis: auto;
    width: 100%;
    border-inline-end: 0;
    border-bottom: 1px solid var(--intl-phone-border);
  }

  .intl-phone-field__dropdown {
    width: min(22rem, calc(100vw - 2rem));
  }
}

[dir='rtl'] .intl-phone-field__number {
  text-align: left;
}
