.phone-input-local {
    position: relative;
    display: flex;
    width: 100%;
}

.phone-input-local > .form-control {
    min-width: 0;
    padding-left: .75rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.phone-input-local__country {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .35rem;
    min-width: 6.7rem;
    padding: .375rem .6rem;
    color: var(--bs-body-color);
    background: var(--bs-tertiary-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-right: 0;
    border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius);
}

.phone-input-local__country:hover,
.phone-input-local__country:focus-visible {
    background: var(--bs-secondary-bg);
}

.phone-input-local__flag,
.phone-input-local__option-flag {
    display: inline-block;
    width: 1.5rem;
    height: 1rem;
    flex: 0 0 1.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: .12rem;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
}

.phone-input-local__flag[data-flag-missing],
.phone-input-local__option-flag[data-flag-missing] {
    background: var(--bs-secondary-bg);
}

.phone-input-local__dial {
    font-variant-numeric: tabular-nums;
}

.phone-input-local__caret {
    margin-left: auto;
    color: var(--bs-secondary-color);
    font-size: .7rem;
}

.phone-input-local__menu {
    position: absolute;
    z-index: 1090;
    top: calc(100% + .25rem);
    left: 0;
    width: min(24rem, 100%);
    max-height: 20rem;
    overflow-y: auto;
    padding: .35rem;
    background: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
}

.phone-input-local__menu[hidden] {
    display: none !important;
}

.phone-input-local__option {
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: center;
    width: 100%;
    padding: .5rem .6rem;
    color: var(--bs-body-color);
    text-align: left;
    background: transparent;
    border: 0;
    border-radius: var(--bs-border-radius);
}

.phone-input-local__option:hover,
.phone-input-local__option:focus-visible {
    background: var(--bs-tertiary-bg);
    outline: 0;
}

.phone-input-local__option-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.phone-input-local__option-dial {
    color: var(--bs-secondary-color);
    font-variant-numeric: tabular-nums;
}
