/**
 * Address Validator Styles
 * Visual feedback for address validation
 */


/* Valid input (green indicator) */

input.valid,
select.valid {
    border-color: #10b981 !important;
    background-color: rgba(16, 185, 129, 0.05);
}

input.valid:focus,
select.valid:focus {
    outline: none;
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}


/* Invalid input (red indicator) */

input.invalid,
select.invalid {
    border-color: #ef4444 !important;
    background-color: rgba(239, 68, 68, 0.05);
}

input.invalid:focus,
select.invalid:focus {
    outline: none;
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}


/* Validation message */

.address-validation-message {
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    display: none;
    line-height: 1.4;
}

.address-validation-message.show {
    display: block;
}

.address-validation-message.success {
    background-color: rgba(16, 185, 129, 0.1);
    color: #10b981;
    border-left: 3px solid #10b981;
}

.address-validation-message.error {
    background-color: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border-left: 3px solid #ef4444;
}


/* Address group styling */

.address-group {
    position: relative;
}

.address-group input[type="text"],
.address-group select {
    transition: border-color 200ms ease, background-color 200ms ease, box-shadow 200ms ease;
}


/* Helper text */

.address-helper-text {
    font-size: 12px;
    color: var(--text-muted, #9ca3af);
    margin-top: 4px;
    display: block;
}