/* Hero Section */
.hero-section {
  min-height: min(85vh, 500px);
  position: relative;
  align-content: center;
  .hero-background {
    position: absolute;
    margin: 0;
    inset: 0;
    > img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }
    .hero-overlay {
      background: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.5), transparent);
      position: absolute;
      inset: 0;
    }
  }

  .hero-content {
    position: relative;
    text-align: center;
    color: white;
    .hero-title {
      font-size: clamp(2.5rem, 5.5vw, 4rem);
      font-weight: normal;
    }

    .hero-subtitle {
      font-size: var(--text-subheading);
      margin: auto;
      max-width: 38rem;
    }
  }
}

/* =============================================================================
   CONTACT FORM CARD SECTION
   ============================================================================= */

.contact-form-section {
  position: relative;
  z-index: 20;
  margin: auto;

  .contact-form-card {
    margin-top: -3rem;
    margin-bottom: 8rem;
  }

  .contact-form-card .card {
    max-width: calc(100vw - 15vw);
    margin: auto;
    background: white;
    border: none;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0px 20px 80px -10px #02569b26;
  }

  /* Benefits Section (Left Side) */
  .benefits-section {
    background: linear-gradient(to bottom right, #dbeafe, #bfdbfe);
    padding: 3rem;
    align-content: center;

    .benefits-title {
      color: var(--theme-blue);
      font-size: var(--sub-heading);
      font-weight: 400;
      position: relative;
      display: inline-block;
      max-width: 55%;
      &::after {
        content: "";
        position: absolute;
        bottom: -8px;
        left: 0;
        width: 30%;
        height: 4px;
        background-color: var(--theme-blue);
        border-radius: 2px;
      }
    }
  }

  .wave-emoji {
    animation: wave 1.5s ease-in-out infinite;
    transform-origin: 70% 70%;
    display: inline-block;
  }

  .benefit-check {
    width: 1.6rem;
    height: 1.6rem;
    background: var(--theme-blue);
    border-radius: 50%;
    padding: 4px;
    color: white;
  }

  .benefit-text {
    color: #374151;
    font-size: var(--description-para);
    line-height: 1.4;
  }

  /* Need Help Card */
  .need-help-card {
    background: white;
    color: #6b7280;
    font-size: 0.875rem;
    border-radius: 1rem;
    padding: 1.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.05);
  }

  .help-profile-image {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--theme-blue);
    flex-shrink: 0;
    position: relative;
    margin-right: 0.5rem;
  }

  .help-title {
    color: var(--theme-blue);
    font-size: 1.25rem;
    font-weight: 600;
  }

  .help-dot {
    width: 0.5rem;
    height: 0.5rem;
    background: var(--theme-blue);
    border-radius: 50%;
    flex-shrink: 0;
  }

  @media (max-width: 576px) {
    .benefits-section {
      padding: 1rem;
      .benefits-title {
        max-width: 65%;
      }
    }
  }
}

@keyframes wave {
  0% {
    transform: rotate(0deg);
  }

  10% {
    transform: rotate(14deg);
  }

  20% {
    transform: rotate(-8deg);
  }

  30% {
    transform: rotate(14deg);
  }

  40% {
    transform: rotate(-4deg);
  }

  50% {
    transform: rotate(10deg);
  }

  60% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

/* Form Section (Right Side) */
.form-section {
  padding: 2rem;
}

/* Contact Form 7 Custom Styling */
.wpcf7-form {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wpcf7-form label {
  display: block;
  font-weight: 600;
  color: #374151;
  font-size: 0.95rem;
  margin-bottom: 5px;
}

.wpcf7-text,
.wpcf7-email,
.wpcf7-tel,
.wpcf7-textarea,
.wpcf7-select {
  width: 100% !important;
  border: 2px solid #e5e7eb;
  border-radius: 0.75rem;
  padding: 0.6rem 1rem;
  font-size: small;
  background: #f9fafb;
  transition: all 0.3s ease;
  font-family: inherit;
}

.wpcf7-text:focus,
.wpcf7-email:focus,
.wpcf7-tel:focus,
.wpcf7-textarea:focus,
.wpcf7-select:focus {
  outline: none;
  border-color: #0563bb;
  box-shadow: 0 0 0 3px rgba(5, 99, 187, 0.1);
  background: white;
}

.wpcf7-textarea {
  resize: vertical;
  min-height: 50px;
}

.wpcf7-submit {
  background: var(--theme-blue);
  border: none;
  color: white;
  padding: 0.875rem 2rem;
  border-radius: 1rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
  margin-top: auto;
  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(5, 99, 187, 0.3);
  }
}

.wpcf7-not-valid-tip {
  font-size: smaller;
}

.submit-group {
  position: relative;

  .wpcf7-spinner {
    position: absolute;
    left: 25%;
    top: 50%;
    transform: translateY(-50%);
  }
}

.wpcf7-response-output {
  display: none;
}

.wpcf7-form-control:disabled {
  background-color: #6b7280;
}

/* Validation Styling */
.wpcf7-not-valid {
  font-size: small;
  border-color: #ef4444;
}

/* Responsive Contact Form */
@media (max-width: 991px) {
  .contact-form-card {
    margin-top: -4rem;
    margin-bottom: 4rem;
  }
}

@media (max-width: 576px) {
  .submit-btn {
    width: 100%;
    min-width: auto;
  }
}
