﻿/* 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: rtl !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;
    }
}




/* Fix for lightbox navigation arrows in x-requests2.php - smaller circles, bottom position */
.lightbox-overlay,
.fancybox-container,
.mfp-container {
    /* Base lightbox styles if needed - increase image fit */
    .fancybox-image,
    .lightbox-image,
    .mfp-img {
        max-width: 95% !important; /* Slightly smaller image to avoid overlap */
        max-height: 95% !important;
    }
}

/* Navigation arrows - half size circles, bottom position */
.fancybox-nav,
.lightbox-nav .arrow,
.mfp-arrow,
.lightbox-arrow {
    width: 40px !important; /* Half size (from ~80px) */
    height: 40px !important;
    bottom: 20px !important; /* Bottom of image (lowest position) */
    top: auto !important; /* Override top position */
    margin: 0 !important;
    opacity: 0.7 !important; /* Semi-transparent to not cover image */
    transition: all 0.3s ease !important;
}

.fancybox-nav:hover,
.lightbox-nav .arrow:hover,
.mfp-arrow:hover {
    opacity: 1 !important; /* Full on hover */
    transform: scale(1.1) !important; /* Slight zoom on hover */
}

/* Left arrow */
.fancybox-nav--left,
.lightbox-nav-left,
.mfp-arrow-left {
    left: 20px !important; /* 20px from left edge */
    right: auto !important;
}

.fancybox-nav--left::before,
.lightbox-nav-left::before,
.mfp-arrow-left::before {
    font-size: 18px !important; /* Smaller arrow icon (half from ~36px) */
    left: 12px !important; /* Center in smaller circle */
    content: "\f053" !important; /* Font Awesome left arrow - adjust if different */
}

/* Right arrow */
.fancybox-nav--right,
.lightbox-nav-right,
.mfp-arrow-right {
    right: 20px !important; /* 20px from right edge */
    left: auto !important;
}

.fancybox-nav--right::before,
.lightbox-nav-right::before,
.mfp-arrow-right::before {
    font-size: 18px !important; /* Smaller arrow icon */
    right: 12px !important; /* Center in smaller circle */
    content: "\f054" !important; /* Font Awesome right arrow - adjust if different */
}

/* Close button (X) - optional smaller if covering */
.fancybox-close-small,
.lightbox-close,
.mfp-close {
    top: 15px !important;
    right: 15px !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 20px !important;
    opacity: 0.8 !important;
}

/* Responsive for mobile - even smaller */
@media (max-width: 768px) {
    .fancybox-nav,
    .lightbox-nav .arrow,
    .mfp-arrow {
        width: 35px !important;
        height: 35px !important;
        bottom: 15px !important;
        left: 15px !important; /* Adjust for small screens */
    }

    .fancybox-nav--right,
    .lightbox-nav-right,
    .mfp-arrow-right {
        right: 15px !important;
    }

    .fancybox-nav::before,
    .lightbox-nav::before,
    .mfp-arrow::before {
        font-size: 16px !important;
    }

    /* Hide arrows on very small screens if needed */
    @media (max-width: 480px) {
        .fancybox-nav,
        .lightbox-nav .arrow,
        .mfp-arrow {
            display: none !important; /* Optional: hide on mobile */
        }
    }
}

/* Custom circle style if not Fancybox (black circles) */
.lightbox-nav-circle,
.arrow-circle {
    background: rgba(0, 0, 0, 0.6) !important; /* Semi-black, transparent */
    border-radius: 50% !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important; /* White border for visibility */
    width: 40px !important;
    height: 40px !important;
}