.address-component .address-display {
    background-color: #fff;
    cursor: default;
}

.was-validated .address-component .form-control.address-display:valid,
.was-validated .address-component .form-control.address-display:invalid,
.was-validated .address-component .form-control.address-display.is-valid,
.was-validated .address-component .form-control.address-display.is-invalid,
.address-component .form-control.address-display:valid,
.address-component .form-control.address-display:invalid,
.address-component .form-control.address-display.is-valid,
.address-component .form-control.address-display.is-invalid {
    border-color: #dee2e6 !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Валидация: рамка на .address-component видна пользователю через display-input */
.address-component.is-invalid .address-display.form-control,
.address-component.ErrBrd .address-display.form-control {
    border-color: #dc3545 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right calc(.375em + .1875rem) center !important;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem) !important;
    padding-right: calc(1.5em + .75rem) !important;
}
.address-component.is-valid .address-display.form-control {
    border-color: #198754 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right calc(.375em + .1875rem) center !important;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem) !important;
    padding-right: calc(1.5em + .75rem) !important;
}
.address-component.is-invalid .address-display.form-control:focus,
.address-component.ErrBrd .address-display.form-control:focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, .25) !important;
}
.address-component.is-valid .address-display.form-control:focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, .25) !important;
}

/* В режиме редактирования инпут кликабелен */
.address-component:not(.address-component--degraded) .address-display {
    cursor: pointer;
}

.address-component__preview {
    min-height: 1.4em;
    font-style: italic;
    display: flex;
    align-items: center;
    line-height: 1.35;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}

/* Кнопка закрытия вынесена за рамку .modal-content — разрешаем её отображение */
.address-modal .modal-content {
    overflow: visible;
}

/* DaData-дропдаун внутри модалки должен перекрывать её контент */
.modal .suggestions-wrapper {
    z-index: 1060;
}

/* Поля модалки не участвуют в Bootstrap-валидации формы — сбрасываем :invalid стили */
.modal .address-modal-field:invalid {
    border-color: #dee2e6;
    background-image: none;
    box-shadow: none;
}
.was-validated .modal .form-control.address-modal-field:valid,
.was-validated .modal .form-control.address-modal-field:invalid,
.was-validated .modal .form-control.address-modal-field.is-valid,
.was-validated .modal .form-control.address-modal-field.is-invalid,
.modal .form-control.address-modal-field:valid,
.modal .form-control.address-modal-field:invalid,
.modal .form-control.address-modal-field.is-valid,
.modal .form-control.address-modal-field.is-invalid {
    border-color: #dee2e6 !important;
    background-image: none !important;
    box-shadow: none !important;
}
.modal .form-control.address-modal-field.address-modal-field--invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, .18) !important;
}
.modal .address-modal-field:focus {
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, .25) !important;
}
.modal .address-modal-field.address-modal-field--invalid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, .25) !important;
}
