 /* =============================================
       FULL-PAGE SUBMISSION LOADER OVERLAY
    ============================================= */
 #form-loader-overlay {
     display: none;
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(255, 255, 255, 0.92);
     z-index: 99999;
     justify-content: center;
     align-items: center;
     flex-direction: column;
 }

 #form-loader-overlay.active {
     display: flex;
 }

 .loader-spinner {
     width: 64px;
     height: 64px;
     border: 6px solid #e0e0e0;
     border-top: 6px solid #27ae60;
     border-radius: 50%;
     animation: spin 0.9s linear infinite;
     margin-bottom: 20px;
 }

 @keyframes spin {
     0% {
         transform: rotate(0deg);
     }

     100% {
         transform: rotate(360deg);
     }
 }

 .loader-text {
     font-size: 17px;
     color: #333;
     font-weight: 600;
     letter-spacing: 0.3px;
     text-align: center;
 }

 .loader-subtext {
     font-size: 13px;
     color: #888;
     margin-top: 6px;
     text-align: center;
 }

 /* =============================================
       SUBMIT BUTTON LOADING STATE
    ============================================= */
 #submitBtn {
     position: relative;
     transition: opacity 0.2s ease;
 }

 #submitBtn:disabled {
     opacity: 0.75;
     cursor: not-allowed;
 }

 /* =============================================
       INLINE ERROR MESSAGE
    ============================================= */
 #form-error-msg {
     display: none;
     background: #fdecea;
     color: #c0392b;
     border: 1px solid #e74c3c;
     border-radius: 6px;
     padding: 12px 16px;
     margin-top: 15px;
     font-size: 14px;
 }