/* intl-tel-input layout tweaks for TEG forms */

.teg-phone-wrap,
.form-group:has(> .iti),
.teg-quote-field:has(> .iti) {
    position: relative;
}

.iti {
    width: 100%;
    display: block;
}

.iti__tel-input.form-control,
.iti input.teg-quote-input,
.iti input.form-control {
    width: 100%;
    height: auto;
}

/* Keep dropdown above Bootstrap modals / signup overlays */
.iti--container {
    z-index: 2000 !important;
}

.teg-quote-modal .iti__dropdown-content,
.sig-up .iti__dropdown-content {
    z-index: 2010;
}

.teg-phone-invalid .iti__tel-input,
.iti .teg-phone-input.is-invalid {
    border-color: #dc3545;
}

.teg-phone-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.teg-phone-invalid + .teg-phone-feedback,
.teg-phone-input.is-invalid ~ .teg-phone-feedback {
    display: block;
}

/* Quote modal inputs already have custom padding */
.teg-quote-modal .iti--allow-dropdown input.teg-quote-input {
    padding-left: var(--iti-selected-country-arrow-padding);
}

@media (max-width: 575.98px) {
    .iti--fullscreen-popup.iti--container {
        z-index: 2100 !important;
    }
}
