/* Contact Page Custom Styles */
.contact .row.mt-none-30 {
    justify-content: center;
}

.contact .xb-contact-items {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact .xb-contact-items:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.xb-input-field input:focus,
.xb-input-field textarea:focus {
    border-color: #6366f1;
    outline: none;
}

.xb-input-field input:valid ~ label,
.xb-input-field textarea:valid ~ label {
    transform: translateY(-20px);
    font-size: 12px;
    color: #6366f1;
}

.xb-select-file input[type="file"] {
    cursor: pointer;
}

.xb-select-file span {
    pointer-events: none;
}

.form-submit-btn button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.alert {
    border-radius: 8px;
    padding: 15px 20px;
    margin-top: 20px;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.google-map iframe {
    border-radius: 12px;
    filter: grayscale(20%);
    transition: filter 0.3s ease;
}

.google-map iframe:hover {
    filter: grayscale(0%);
}

@media (max-width: 991px) {
    .xb-contact-wrap {
        flex-direction: column;
    }
    
    .google-map {
        margin-top: 30px;
        height: 400px;
    }
}

@media (max-width: 767px) {
    .xb-contact-items {
        margin-bottom: 20px;
    }
    
    .form-heading .title {
        font-size: 24px;
    }
}
