/* =========================================
   APPLY PAGE FORM ENHANCEMENTS
   (Overrides style.css safely)
========================================= */

/* Apply Section Card Enhancement */
#apply-now .container {
    max-width: 760px;
  }
  
  #apply-now form {
    background: linear-gradient(180deg, #ffffff, #f9fafc);
    padding: 2.2rem 2rem;
    border-radius: 1.25rem;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(0,0,0,0.04);
  }
  
  /* Better Vertical Spacing */
  #apply-now .form-row {
    margin-bottom: 1.25rem;
  }
  
  /* Label Styling Upgrade */
  #apply-now label {
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.2px;
  }
  
  /* Input Modern Look */
  #apply-now input,
  #apply-now select {
    height: 44px;
    border-radius: 0.75rem;
    padding: 0 0.85rem;
    transition: all 0.2s ease;
    background-color: #ffffff;
  }
  
  /* Smooth Hover */
  #apply-now input:hover,
  #apply-now select:hover {
    border-color: var(--primary-color);
  }
  
  /* Focus Effect Premium */
  #apply-now input:focus,
  #apply-now select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(11, 60, 125, 0.12);
    background-color: #ffffff;
  }
  
  /* Error State Styling */
  #apply-now input.error,
  #apply-now select.error {
    border-color: var(--error-color);
    background-color: #fff5f5;
  }
  
  /* Error Message */
  #apply-now .error-message {
    font-size: 0.78rem;
    margin-top: 0.25rem;
  }
  
  /* Submit Button Enhancement */
  #apply-now .primary-btn {
    width: 100%;
    height: 48px;
    font-size: 1rem;
    border-radius: 999px;
    letter-spacing: 0.3px;
    transition: all 0.25s ease;
  }
  
  /* Button Hover Glow */
  #apply-now .primary-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(6, 34, 73, 0.35);
  }
  
  /* Success Message Styling */
  #apply-now .form-success {
    margin-top: 1rem;
    font-weight: 500;
    text-align: center;
    animation: fadeInSuccess 0.4s ease;
  }
  
  @keyframes fadeInSuccess {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
  
  /* Mobile Improvements */
  @media (max-width: 600px) {
    #apply-now form {
      padding: 1.6rem 1.4rem;
    }
  
    #apply-now input,
    #apply-now select {
      height: 42px;
    }
  }
  