﻿/* consultation_form.css - Styles for consultation form only (scoped and !important for anti-conflict) */

/* Form container - High specificity */
#consultationForm {
    font-family: 'Tahoma', sans-serif !important;
    background: #f4f4f4 !important;
    padding: 30px !important;
    border-radius: 10px !important;
    box-shadow: 0 0 10px rgba(0,0,0,0.1) !important;
    max-width: 600px !important;
    margin: 20px auto !important;
    line-height: 1.6 !important;
    direction: ltr !important;
    box-sizing: border-box !important;
}

/* Title */
#consultationForm h1 {
    text-align: center !important;
    color: #333 !important;
    margin-bottom: 30px !important;
    font-size: 1.8rem !important;
}

/* Fieldsets */
#consultationForm fieldset {
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    margin-bottom: 25px !important;
    padding: 20px !important;
    background: white !important;
}

#consultationForm fieldset legend {
    font-weight: bold !important;
    color: #555 !important;
    padding: 0 10px !important;
    font-size: 1.1rem !important;
}

/* Labels */
#consultationForm label {
    display: block !important;
    margin: 15px 0 5px !important;
    font-weight: bold !important;
    color: #555 !important;
}

/* Inputs and Textarea */
#consultationForm input[type="text"],
#consultationForm input[type="tel"],
#consultationForm input[type="number"],
#consultationForm textarea {
    width: 100% !important;
    padding: 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    background: white !important;
}

#consultationForm input[type="number"] {
    width: 100px !important; /* Small for age and captcha */
}

#consultationForm input[type="tel"]::placeholder {
    color: #999 !important;
    font-size: 14px !important;
}

#consultationForm textarea {
    resize: vertical !important;
    min-height: 100px !important;
}

/* Radio Groups */
#consultationForm .radio-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}

#consultationForm .radio-group label {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    margin: 0 !important;
    flex: 1 !important;
    min-width: 200px !important;
}

/* Submit Button */
#submitBtn {
    background: #28a745 !important;
    color: white !important;
    padding: 15px 30px !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    width: 100% !important;
    font-size: 18px !important;
    margin-top: 20px !important;
    transition: background 0.3s !important;
    font-family: 'Tahoma', sans-serif !important;
}

#submitBtn:hover:not(:disabled) {
    background: #218838 !important;
}

#submitBtn:disabled {
    background: #6c757d !important;
    cursor: not-allowed !important;
}

/* CAPTCHA Section */
#consultationForm .captcha-section {
    margin: 20px 0 !important;
    padding: 15px !important;
    background: #f9f9f9 !important;
    border-radius: 5px !important;
    text-align: center !important;
}

#consultationForm .captcha-section label {
    font-size: 1rem !important;
    margin-bottom: 10px !important;
    display: block !important;
    color: #666 !important;
}

#consultationForm .captcha-section input[type="number"] {
    width: 60px !important;
    padding: 8px !important;
    margin: 0 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px !important;
    text-align: center !important;
    font-size: 18px !important;
    background: white !important;
}

#consultationForm .captcha-section .numbers {
    font-weight: bold !important;
    font-size: 20px !important;
    color: #333 !important;
    margin: 0 5px !important;
}

/* Required Star */
#consultationForm .required {
    color: red !important;
}

/* Upload Table */
#consultationForm .upload-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 20px 0 !important;
}

#consultationForm .upload-table td {
    text-align: center !important;
    padding: 10px !important;
    vertical-align: top !important;
    border: 1px solid #ddd !important;
}

#consultationForm .placeholder-img {
    width: 100px !important;
    height: 100px !important;
    object-fit: cover !important;
    border-radius: 5px !important;
    margin-bottom: 10px !important;
    display: block !important;
    cursor: pointer !important;
}

#consultationForm .upload-table input[type="file"] {
    display: none !important;
}

#consultationForm .upload-table label {
    display: block !important;
    padding: 8px !important;
    background: #eee !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    transition: background 0.3s !important;
    color: #555 !important;
}

#consultationForm .upload-table label:hover {
    background: #ddd !important;
}

/* Modal */
#successModal {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0,0,0,0.5) !important;
    z-index: 1000 !important;
}

#successModal .modal-content {
    background: white !important;
    margin: 20% auto !important;
    padding: 30px !important;
    border-radius: 10px !important;
    text-align: center !important;
    max-width: 400px !important;
    box-shadow: 0 0 20px rgba(0,0,0,0.3) !important;
}

#successModal .modal-content h2 {
    color: #28a745 !important;
    margin-bottom: 10px !important;
    font-size: 1.5rem !important;
}

#successModal .modal-content button {
    background: #28a745 !important;
    color: white !important;
    padding: 10px 20px !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-size: 16px !important;
}

/* Error Styling */
#consultationForm input.error,
#consultationForm textarea.error,
#consultationForm fieldset.error {
    border-color: #dc3545 !important;
    background: #f8d7da !important;
    box-shadow: 0 0 5px rgba(220, 53, 69, 0.25) !important;
}

/* Responsive Design - High priority */
@media (max-width: 768px) {
    #consultationForm {
        padding: 20px !important;
        margin: 10px !important;
    }

    #consultationForm .radio-group {
        flex-direction: column !important;
        gap: 10px !important;
    }

    #consultationForm .radio-group label {
        min-width: auto !important;
        flex: none !important;
    }

    #consultationForm .captcha-section input[type="number"] {
        width: 50px !important;
        margin: 5px !important;
    }

    #consultationForm .upload-table td {
        padding: 5px !important;
        display: block !important; /* Pre-stack */
    }

    #consultationForm .placeholder-img {
        width: 80px !important;
        height: 80px !important;
    }

    #submitBtn {
        padding: 12px !important;
        font-size: 16px !important;
    }

    #successModal .modal-content {
        margin: 10% auto !important;
        padding: 20px !important;
        max-width: 90% !important;
    }
}

@media (max-width: 480px) {
    #consultationForm .captcha-section {
        padding: 10px !important;
    }

    #consultationForm .captcha-section .numbers {
        font-size: 18px !important;
    }

    #consultationForm .upload-table {
        display: block !important;
    }

    #consultationForm .upload-table tr,
    #consultationForm .upload-table td {
        display: block !important;
        width: 100% !important;
        margin-bottom: 10px !important;
        border: none !important;
        padding: 10px 0 !important;
    }

    #consultationForm .upload-table label {
        width: 100% !important;
        text-align: center !important;
    }

    #consultationForm h1 {
        font-size: 1.5rem !important;
    }
}



