/* General Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    font-family: Arial, sans-serif;
    background-color: #ffffff;
  }
  
  /* Container Setup */
  .container {
    display: flex;
    min-height: 100vh;
  }
  
  /* Row for Layout (if needed) */
  /* In this design we use two sections directly within the container */
  
  /* Left Section */
  .left-section {
    flex: 1;
    background-color: #d3e0f1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem;
  }

  .left-section img {
    max-width: 100%;
    margin-top: 2rem;
  }
  
  /* Right Section */
  .right-section {
    flex: 1;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
  }
  
  /* Form Container */
  .form-container {
    max-width: 400px;
    margin: 0 auto;
  }
  .form-container h3 {
    text-align: center;
    margin-bottom: 1.5rem;
  }
  
  /* Form Group */
  .form-group {
    margin-bottom: 1rem;
  }
  .form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: #333;
  }
  
  /* Input Group */
  .input-group {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    background-color: #fff;
  }
  .input-group .input-group-text {
    /* background-color: #c40000; */
    padding: 0.5rem 0.75rem;
    color: #999;
    font-size: 16px;
  }
  .input-group input {
    flex: 1;
    border: none;
    padding: 0.75rem;
    outline: none;
    font-size: 0.95rem;
    color: #333;
  }
  .input-group button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0 0.75rem;
    color: #999;
    font-size: 1rem;
  }
  .input-group button:hover {
    background-color: #ddd;
  }
  
  /* OTP Input */
  .otp-input {
    margin-top: 0.5rem;
    padding: 0.5rem;
    font-size: 14px;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 4px;
  }
  
  /* Signup Button */
  .btn-submit {
    width: 100%;
    padding: 0.75rem;
    background-color: #007bff;
    border: none;
    border-radius: 4px;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    margin-top: 1rem;
  }
  .btn-submit:hover {
    background-color: #0056b3;
  }
  
  /* Login Link */
  .login-link {
    text-align: center;
    margin-top: 1rem;
  }
  .login-link p {
    color: gray;
    font-size: 13px;
  }
  
  /* Spinner Styling */
  .spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 0.15em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner 0.75s linear infinite;
  }
  @keyframes spinner {
    to { transform: rotate(360deg); }
  }
  .d-none {
    display: none;
  }
  
  /* Utility Classes */
  .text-primary {
    color: #007bff;
    text-decoration: none;
  }
  .text-primary:hover {
    text-decoration: underline;
  }
  
  /* Captcha Section Styling */
  .captcha-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .captcha-wrapper .captcha-text {
    /* background-color: #ff0000; */
    border: 1px solid #ccc;
    border-radius: 4px 0 0 4px;
    padding: 0.5rem 0.75rem;
    font-size: 16px;
    min-width: 80px;
    text-align: center;
  }
  .captcha-wrapper .refresh-btn {
    /* background-color: #eee; */
    border: none;
    border-radius: 0 4px 4px 0;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
  }
  .captcha-input {
    width: 100%;
    border: 1px solid #ccc;
    padding: 0.75rem;
    outline: none;
    font-size: 0.95rem;
    color: #333;
  }
  
  @media (max-width: 768px) {
    .container {
      flex-direction: column;
    }
    .left-section, .right-section {
      flex: unset;
      width: 100%;
    }
    .left-section {
      padding: 2rem 1rem;
    }
    .right-section {
      padding: 2rem 1rem;
    }
    .left-section img {
      max-width: 80%;
    }
  }