.iti,
.iti--allow-dropdown,
.chm-intl-phone {
  width: 100%;
}

.chm-intl-phone {
  position: relative;
  display: block;
}

.chm-intl-phone input.iti__tel-input,
.chm-intl-phone input.iti__tel-input[type=text],
.chm-intl-phone input.iti__tel-input[type=tel] {
  width: 100%;
  margin: 0 !important;
  padding-right: 1rem;
  padding-left: 7.35rem !important;
  letter-spacing: 0.01em;
}

.chm-intl-phone .iti__country-container {
  left: 0.5rem;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  height: calc(100% - 0.9rem);
  padding: 0;
  z-index: 4;
}

.chm-intl-phone .iti__selected-country {
  min-width: 6.25rem;
  justify-content: flex-start;
  position: relative;
  z-index: 5;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(14,20,31,0.96);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.chm-intl-phone .iti__selected-country:hover {
  border-color: rgba(255,255,255,0.18);
  background: rgba(18,26,38,0.98);
}

.chm-intl-phone .iti__selected-country:focus-visible {
  outline: none;
  border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.42);
  box-shadow: 0 0 0 4px rgba(var(--country-primary-light-rgb, 0,168,107),0.12);
}

.chm-intl-phone .iti__selected-country-primary {
  width: auto;
  justify-content: flex-start;
  gap: 0.4rem;
  padding: 0 0.45rem 0 0.72rem;
  border-radius: 12px;
}

.chm-intl-phone .iti__flag {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08);
}

.chm-intl-phone .iti__selected-dial-code,
.chm-intl-phone .iti__arrow {
  color: #f5f7fb;
}

.chm-intl-phone .iti__selected-dial-code {
  font-size: 0.9rem;
  font-weight: 800;
  color: #f5f7fb;
  letter-spacing: 0.01em;
  margin-right: 0.65rem;
}

.chm-intl-phone .iti__arrow {
  margin-left: 0.1rem;
}

.chm-intl-phone .iti__dropdown-content {
  margin-top: 0.8rem;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(10,15,24,0.98);
  box-shadow: 0 24px 56px rgba(0,0,0,0.34);
  color: #f5f7fb;
  overflow: hidden;
}

.chm-intl-phone .iti__search-input {
  min-height: 46px;
  margin: 0.75rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.09);
  background: rgba(255,255,255,0.04);
  color: #f5f7fb;
}

.chm-intl-phone .iti__country {
  padding: 0.82rem 0.95rem;
  color: #f5f7fb;
  transition: background 0.16s ease;
}

.chm-intl-phone .iti__country.iti__highlight,
.chm-intl-phone .iti__country:hover {
  background: rgba(var(--country-primary-light-rgb, 0,168,107),0.12);
}

.chm-intl-phone .iti__dial-code {
  color: rgba(255,255,255,0.64);
}

.qt-group .chm-intl-phone input.iti__tel-input,
.ct-form-group .chm-intl-phone input.iti__tel-input,
.mx-wa-gate__field .chm-intl-phone input.iti__tel-input {
  min-height: 56px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--soft-white, #fff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
}

.qt-group .chm-intl-phone input.iti__tel-input,
.ct-form-group .chm-intl-phone input.iti__tel-input {
  background:
    linear-gradient(180deg, rgba(13,19,31,0.90), rgba(7,13,24,0.84));
}

.mx-wa-gate__field .chm-intl-phone input.iti__tel-input {
  background:
    linear-gradient(180deg, rgba(22,28,39,0.90), rgba(12,18,28,0.86));
  border-color: rgba(255,255,255,0.10);
}

.qt-group .chm-intl-phone input.iti__tel-input:focus,
.ct-form-group .chm-intl-phone input.iti__tel-input:focus,
.mx-wa-gate__field .chm-intl-phone input.iti__tel-input:focus {
  outline: none;
  border-color: rgba(var(--country-primary-light-rgb, 0,168,107),0.46);
  box-shadow:
    0 0 0 4px rgba(var(--country-primary-light-rgb, 0,168,107),0.12),
    inset 0 1px 0 rgba(255,255,255,0.03);
}

.qt-group .chm-intl-phone .iti__selected-country,
.ct-form-group .chm-intl-phone .iti__selected-country {
  background: rgba(16,23,34,0.96);
}

.mx-wa-gate__field .chm-intl-phone .iti__selected-country {
  background: rgba(20,27,39,0.98);
}

.chm-intl-phone--gate input.iti__tel-input {
  font-size: 0.98rem;
}

.chm-intl-phone--quote input.iti__tel-input {
  font-size: 0.96rem;
}

.mx-wa-gate .chm-intl-phone {
  z-index: 1;
}

.mx-wa-gate .chm-intl-phone .iti__dropdown-content {
  z-index: 2305;
}

@media (max-width: 768px) {
  .chm-intl-phone input.iti__tel-input,
  .chm-intl-phone input.iti__tel-input[type=text],
  .chm-intl-phone input.iti__tel-input[type=tel] {
    padding-left: 6.95rem !important;
  }

  .chm-intl-phone .iti__country-container {
    left: 0.5rem;
    height: calc(100% - 0.9rem);
  }

  .chm-intl-phone .iti__selected-country {
    min-width: 5.85rem;
  }

  .chm-intl-phone .iti__selected-country-primary {
    padding: 0 0.48rem 0 0.62rem;
    gap: 0.34rem;
  }
}
