    .form-container {
      max-width: 480px;
      margin: 40px auto;
      padding: 0 16px 32px 16px;
    }
    .form-container form {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .form-field {
      display: flex;
      flex-direction: column;
    }
    .form-field > select, 
    input[type="text"], 
    input[type="email"], 
    input[type="tel"], 
    input[type="date"] {
      border: 1.5px solid #cfd8dc;
      border-radius: 16px;
      padding: 16px 14px;
      font-size: 1rem;
      outline: none;
      transition: border 0.2s;
      background: #fff;
    }

    .form-field select:focus, input:focus {
      border-color: #2B5AAD;
    }
    ::placeholder {
      color: #757575;
      opacity: 1;
    }
    label {
      font-size: 1rem;
      color: #22223B;
      margin-bottom: 6px;
      font-weight: 500;
      /* display: none; */
    }
    .required {
      color: #f44336;
      margin-left: 2px;
    }
    .checkbox-container {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      margin-top: 4px;
    }
    .checkbox-container input[type="checkbox"] {
      margin-top: 2px;
      accent-color: #2B5AAD;
    }
    .checkbox-text {
      font-size: 0.85rem;
      color: #22223B;
      line-height: 1.3;
    }
    .checkbox-text a,
    .checkbox-text a:visited,
    .checkbox-text a:hover,
    .checkbox-text a:active {
      color: #0000ee;
    }
    .submit-buttons {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: 12px;
    }
    .submit-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      flex: 1 1 40px;
      background: #2B5AAD;
      color: #fff;
      font-size: 1rem;
      font-weight: 600;
      border: none;
      border-radius: 16px;
      padding: 16px 12px;
      cursor: pointer;
      transition: background 0.2s, transform 0.1s;
    }
    .submit-btn-icon {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
      filter: brightness(0) invert(1);
    }
    .submit-btn:hover {
      background: #1e4182;
    }
    .submit-btn:active {
      transform: scale(0.98);
    }
    .submit-btn:disabled {
      opacity: 0.6;
      cursor: not-allowed;
    }
    @media (max-width: 600px) {
      .form-container {
        padding: 0 4px 24px 4px;
      }
      h2 {
        font-size: 1.2rem;
      }
      .submit-btn {
        font-size: 0.9rem;
        padding: 14px 0;
      }
    }

    .form-field > select {
        -webkit-appearance: none;
      appearance: none;
      background-repeat: no-repeat;
      background-position: right;
      border: 1px solid #AAA;
      -webkit-padding-end: 30px;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
      background-size: 20px;
      background-position: 98%;
    }

    .form-field > select:focus {
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdjdXJyZW50Q29sb3InIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHlsZT0ndHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSgxODBkZWcpOyc+PHBvbHlsaW5lIHBvaW50cz0nNiA5IDEyIDE1IDE4IDknLz48L3N2Zz4=");
    }
        
.iti--allow-dropdown input {
	width: 100%;
}

.invalid { border-color: #f44336 !important; }
