*,
::after,
::before {
    box-sizing: border-box;
}

.phone-container {
    font-size: 16px;
    line-height: 1.2;
    width: 100%;
    margin-bottom: 12px;
}

.phone-group {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    grid-gap: 8px;
    padding: 0 var(--pr-spacing-03)
}

.phone-group .code-gr {
    height: 54px;
    border: var(--pr-size-border-width-small) solid var(--pr-color-neutral-100);
    border-radius: var(--pr-radius-small);
    padding: 4px 24px 4px 8px;
    background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23888888" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" ><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>');
    background-position: calc(100% - 2px) 50%;
    background-repeat: no-repeat;
    background-size: 20px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    grid-gap: 3px;
    -webkit-border-radius: var(--pr-radius-small);
    -moz-border-radius: var(--pr-radius-small);
    -ms-border-radius: var(--pr-radius-small);
    -o-border-radius: var(--pr-radius-small);
    cursor: pointer;
    user-select: none;
    font-size: 15px;
    min-width: 105px;
}

.phone-group .code-gr:hover {
    background-color: #f8f8f8;
}

.suggestion-phone.show .phone-group .code-gr {
    border-color: #2792ce;
}

.phone-group .code-gr img {
    border: none;
}

.suggestion-phone {
    position: relative;
}

.code-text-input {
    border: 1px solid #d1d1d1;
    background-color: #fff;
    border-radius: 5px;
    width: 100%;
    display: block;
    padding: 9px 8px;
    font-size: 16px;
    outline: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.suggestion-input-gp {
    background-color: #f1f1f1;
    border-radius: 5px;
    padding: 4px 8px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    grid-gap: 4px;
}

.suggestion-input-gp input {
    border: none;
    outline: none;
    background-color: transparent;
}

.suggestion-input-gp button {
    border: none;
    outline: none;
    padding: 0;
    background-color: transparent;
}

.suggestion-list {
    position: absolute;
    top: 100%;
    left: 8px;
    width: calc(100% - 22px);
    padding: 0;
    background-color: #fff;
    box-shadow: 0 6px 36px rgba(11 11 11 / 11%);
    max-height: 420px;
    overflow-y: auto;
    position: relative;
    display: none;
}

.suggestion-sticky {
    background-color: #fff;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1;
    padding: 10px;
}

.list-phone {
    margin: 0;
    padding: 4px;
    list-style: none;
}

.phone-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    grid-gap: 10px;
    padding: 6px 8px;
    cursor: pointer;
    user-select: none;
    position: relative;
    color: #595959;
}

.phone-item-head {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #212121;
    padding: 2px 12px;
}

.suggestion-phone.show .suggestion-list {
    display: block;
}

.phone-item:hover {
    background-color: rgba(225 241 249 / 30%);
    color: #111;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}
#cart-module-content .country-code {
    margin-left: auto;
    text-align: right;
    color: #797979;
    font-size: 14px;
    font-weight: 400 !important;
}

.country-flag {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

#selectedCode br {
    display: none;
}

.phone-item.selected {
    background-color: rgba(248 255 0 / 10%);
}

input[type="tel"]::-webkit-outer-spin-button,
input[type="tel"]::-webkit-inner-spin-button,
input[type="tel"]::-webkit-contacts-auto-fill-button {
    display: none !important;
    appearance: none;
}

@media (max-width: 760px) {
    .phone-group {
        padding: 0;
    }

    .code-text .address-tooltip,
    #cart-module-content #email_parent .address-tooltip,
    #cart-module-content .code-text .address-tooltip {
        right: 12px !important;
    }

    #cart-module-content .address-col.active label {
        left: 14px;
    }

    .phone-group .code-gr {
        height: 38px;
        border-radius: 4px;
        border: 1px solid var(--Neutral-300, #D4D4D4);
        /* background: var(--Neutral-50, #FAFAFA); */
    }

    .phone-group .code-gr:hover {
        background-color: transparent;
    }
}