:root {
  --primary: #4f46e5;
  --accent: #f472b6;
  --dark: #1e293b;
  --light: #f8fafc;
  --border: #cbd5e1;
  --hover-dark: #0f172a;
}

.form-container {
  position: relative;
  z-index: 2;
  margin: auto;
  background: white;
  padding: 2.5rem;
  border-radius: 15px;
  max-width: 700px;
  width: 100%;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}


.background-wave svg {
  width: 100%;
  height: auto;
  display: block;
}
.background-wave {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  z-index: -2;
  pointer-events: none;
  overflow: hidden;
}

.form-header {
  text-align: center;
  margin-bottom: 2rem;
}

.form-header h1 {
  font-size: 2rem;
  letter-spacing: 2px;
  color: var(--dark);
}

.form-group {
  margin-bottom: 1.5rem;
  position: relative;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 0.9rem;
  font-size: 1rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background-color: #fff;
  transition: border 0.3s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--primary);
  outline: none;
}

.form-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.form-row .form-group {
  flex: 1;
}

.privacy-policy {
  position: relative;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  color: var(--dark);
}

.privacy-policy a {
  color: var(--primary);
  cursor: pointer;
  position: relative;
  text-decoration: underline;
}

.privacy-policy a:hover::after {
  content: "By submitting this form, you confirm that all the information provided is accurate and truthful to the best of your knowledge. You grant us the right to use this data for internal assessment, verification, and professional services. In case of any misinformation or falsified input, you acknowledge that you may be liable for applicable penalties or corrective measures.";
  position: absolute;
  top: -140px;
  left: 0;
  width: 300px;
  padding: 1rem;
  background: var(--hover-dark);
  color: white;
  border-radius: 10px;
  font-size: 0.8rem;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.submit-btn {
  width: 100%;
  padding: 1rem;
  font-size: 1rem;
  background-color: var(--primary);
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  position: relative;
}

.submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.spinner {
  display: none;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top: 3px solid white;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.submit-btn.loading .spinner {
  display: block;
}

.submit-btn.loading span {
  opacity: 0;
}


@media (max-width: 600px) {
  .form-row {
      flex-direction: column;
  }
}
.form-wrapper {
  position: relative;
  max-width: 700px;
  width: 100%;
  margin: auto;
}

.form-wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 80px;
  z-index: 0;
}