/**
 * Pincode Auto-fill Common CSS
 * Styles for pincode validation and auto-fill functionality
 */

/* Pincode validation styling */
.pincode-loading {
    position: relative;
}

.pincode-loading::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #007bff;
    border-radius: 50%;
    animation: pincode-spin 1s linear infinite;
}

.pincode-success {
    border-color: #28a745 !important;
    background-color: #ffffff !important;
}

.pincode-error {
    border-color: #dc3545 !important;
    background-color: #fff5f5 !important;
}

.pincode-message {
    font-size: 12px;
    margin-top: 5px;
    padding: 5px 8px;
    border-radius: 4px;
    line-height: 1.4;
    display: block;
}

.pincode-message.error {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

/* Loading spinner animation */
@keyframes pincode-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Form group spacing improvements for pincode fields */
.form-group.contact-forms:has(.pincode-loading),
.form-group.contact-forms:has(.pincode-success),
.form-group.contact-forms:has(.pincode-error) {
    margin-bottom: 25px;
}

/* Ensure pincode messages don't break layout */
.pincode-message {
    word-wrap: break-word;
    max-width: 100%;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .pincode-message {
        font-size: 11px;
        padding: 4px 6px;
    }
    
    .pincode-loading::after {
        width: 14px;
        height: 14px;
        right: 8px;
    }
}

/* Dark mode support (if needed) */
@media (prefers-color-scheme: dark) {
    .pincode-success {
        background-color: #ffffff !important;
        border-color: #28a745 !important;
    }
    
    .pincode-error {
        background-color: #fff5f5 !important;
        border-color: #dc3545 !important;
    }
    
    .pincode-message.success {
        color: #ffffff !important;
        background-color: #28a745 !important;
        border-color: #28a745 !important;
    }
    
    .pincode-message.error {
        background-color: #fff5f5;
        border-color: #dc3545;
        color: #721c24;
    }
}
