/* ===============================
   Volunteer Hero Section (Final with Figma padding)
=============================== */
.volunteer-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  /* or 80px if Figma specifies more spacing */
  width: 100%;
  height: 520px;
  /* fixed height */
  /* padding: 112px 40.2px; */
  /* Figma padding */
  padding: 7% 0%;
  margin: 0 auto;
  background-image: url('../img/Volunteer/Volunteer-hero.png');
  background-size: cover;
  background-position: center;
  position: relative;
  color: #fff;
  text-align: center;
}

.volunteer-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  /* overlay for readability */
}

.volunteer-hero__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
}

.volunteer-hero__title {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
}

.volunteer-hero__subtitle {
  font-size: 20px;
  line-height: 1.5;
  max-width: 700px;
  margin: 0 auto;
}

/* ===============================
   Volunteer Intro Text
=============================== */
.volunteer-intro {
  padding: 80px 64px;
  background: #fff;
  /* Figma background */
}

.volunteer-intro__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 120%;
  letter-spacing: 0;
  color: #146782;
  /* teal */
  max-width: 1312px;
  margin: 0 auto;
  text-align: left;
}

/* ===============================
   You Make the Difference Section
=============================== */
.difference-section {
  padding: 80px 64px;
  background: #fff;
}

.difference-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  /* spacing between image and text */
  align-items: center;
  max-width: 1312px;
  margin: 0 auto;
}

.difference-image img {
  width: 100%;
  height: 426px;
  /* from Figma */
  object-fit: cover;
  border-radius: 10px;
}

.difference-content {
  text-align: left;
}

.difference-title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 120%;
  color: #146782;
  margin-bottom: 20px;
}

.difference-content p {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  line-height: 150%;
  color: #333;
  margin-bottom: 16px;
}

.difference-content a {
  color: #146782;
  text-decoration: underline;
  font-weight: 500;
}

/* Responsive */
@media (max-width: 992px) {
  .difference-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .difference-image img {
    height: auto;
  }
}

/* ============================
   Get Involved Section
============================= */
.volunteer-form {
  padding: 112px 64px;
  background: #f9f9f7;
  text-align: center;
}

.volunteer-form__header {
  margin-bottom: 48px;
}

.volunteer-form__illustration {
  width: 407px;
  /* Exact width */
  height: auto;
  /* Keep aspect ratio */
  margin: 0 auto 24px auto;
  display: block;
}

.volunteer-form__title {
  font-family: 'Roboto', sans-serif;
  font-size: 42px;
  font-weight: 700;
  color: #000;
  margin-bottom: 12px;
}

.volunteer-form__subtitle {
  font-size: 18px;
  font-weight: 400;
  color: #333;
  margin-bottom: 48px;
}

.volunteer-form__wrapper {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
}

/* WPForms field layout */
.wpforms-field {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.wpforms-field-name .wpforms-field-row,
.wpforms-field-email-phone {
  display: flex;
  gap: 20px;
}

.wpforms-field input,
.wpforms-field textarea {
  width: 100%;
  padding: 14px 16px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 16px;
}

/* Submit button centered */
.wpforms-submit {
  background-color: #146782;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 32px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
  display: block;
  margin: 40px auto 0 auto;
  /* Centered */
}

.wpforms-submit:hover {
  background-color: #0f4d61;
}


/* Center WPForms submit button */
.wpforms-submit-container {
  text-align: center !important;
}

.wpforms-submit {
  display: inline-block;
  background-color: #146782;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 32px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

.wpforms-submit:hover {
  background-color: #0f4d61;
}


/* ============================
   Testimonial Section
============================= */
.volunteer-testimonial {
  background: #f9f9f7;
  padding: 60px 64px;
  text-align: center;
}

.testimonial-quote {
  font-family: 'Roboto', sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 140%;
  color: #000;
  max-width: 900px;
  margin: 0 auto 48px auto;
}

.testimonial-author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.author-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 8px;
}

.author-name {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin: 0;
}

.author-role {
  font-size: 14px;
  font-weight: 400;
  color: #555;
  margin: 0;
}

/* =========================
   FAQ Section
========================= */
.faq-section {
  padding: 112px 64px;
  background-color: #fdfdfb;
}

.faq-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* ✅ was flex-start */
  gap: 64px;
  max-width: 1312px;
  margin: 0 auto;
}


.faq-info {
  flex: 1;
}

.faq-title {
  font-family: 'Roboto', sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: #146782;
  margin-bottom: 16px;
}

.faq-subtitle {
  font-size: 18px;
  font-weight: 500;
  color: #000;
  margin-bottom: 32px;
}

.faq-illustration {
  max-width: 100%;
  height: auto;
}

/* FAQ Accordion */
.faq-accordion {
  flex: 2;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* .faq-item {
  border-bottom: 1px solid #ccc;
} */
/* FAQ Accordion */
.faq-item {
  border-top: 1px solid #ccc;
  /* ✅ adds line above each item */
}

.faq-item:last-child {
  border-bottom: 1px solid #ccc;
  /* ✅ adds line below last item */
}


/* Question Button */
.faq-question {
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  color: #000;
  transition: color 0.3s ease;
}

.faq-question:hover {
  color: #146782;
}

/* Arrow */
.faq-question .arrow {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
  margin-left: 12px;
}

.faq-question.active .arrow {
  transform: rotate(-135deg);
}

/* Answer */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  padding: 0;
  font-size: 16px;
  color: #333;
  line-height: 1.6;
}

.faq-answer.open {
  max-height: 500px;
  /* big enough for your text */
  padding: 10px 0;
}

/* =====================================================
   VOLUNTEER PAGE — MOBILE ONLY FIXES
   (Desktop remains untouched)
===================================================== */
@media (max-width: 768px) {



  /* ---------------------------------
     2. REDUCE SIDE PADDING (CONTENT)
     - Makes layout breathe on mobile
  ---------------------------------- */
  .volunteer-intro,
  .difference-section,
  .volunteer-form,
  .volunteer-testimonial,
  .faq-section {
    padding-left: 16px;
    padding-right: 16px;
  }


  /* ---------------------------------
     3. YOU MAKE THE DIFFERENCE SECTION
     - Stack image + text
     - Prevent overflow
  ---------------------------------- */
  .difference-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .difference-title {
    font-size: 32px;
  }

  .difference-image img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
  }


  /* ---------------------------------
     4. ILLUSTRATIONS FIX
     - Prevent right-side overflow
  ---------------------------------- */
  .volunteer-form__illustration,
  .faq-illustration {
    max-width: 100%;
    height: auto;
    margin: 0 auto 24px auto;
    display: block;
  }


  /* ---------------------------------
     5. WPFORMS — MOBILE FRIENDLY
     - Stack fields cleanly on all phones
  ---------------------------------- */
  .wpforms-field-name .wpforms-field-row,
  .wpforms-field-email-phone {
    flex-direction: column;
    gap: 16px;
  }

  .wpforms-field input,
  .wpforms-field textarea {
    width: 100%;
  }


  /* ---------------------------------
     6. TESTIMONIAL TEXT SCALING
  ---------------------------------- */
  .testimonial-quote {
    font-size: 20px;
    line-height: 1.5;
  }


  /* ---------------------------------
     7. FAQ SECTION — LINE BY LINE
     - No side-by-side layout
  ---------------------------------- */
  .faq-container {
    flex-direction: column;
    gap: 32px;
  }

  .faq-title {
    font-size: 36px;
  }

  .faq-question {
    font-size: 16px;
  }

}

/* ==================================================
   MOBILE FIX — VOLUNTEER HERO (IMAGE + TEXT STACKED)
   Desktop remains unchanged
================================================== */
@media (max-width: 768px) {

  /* Hero wrapper */
  .volunteer-hero {
    display: block;
    height: auto;
    padding: 0;
    background-image: url('../img/Volunteer/Volunteer-hero.png');
    background-size: cover;          /* ✅ image visible */
    background-position: center top; /* avoid cutting faces */
    background-repeat: no-repeat;
    aspect-ratio: 18 / 10;           /* ✅ gives image height */
  }

  /* Disable overlay on mobile image */
  .volunteer-hero::before {
    display: none;
  }

  /* Text block BELOW image */
  .volunteer-hero__content {
    position: relative;
    padding: 32px 16px 40px;
    text-align: center;
  }

  .volunteer-hero__title {
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 12px;
    color: #fff;
  }

  .volunteer-hero__subtitle {
    font-size: 16px;
    line-height: 1.5;
    color: #fff;
  }

}

/* =========================================
   VOLUNTEER HERO — MOBILE TEXT VISIBILITY FIX
   Desktop remains untouched
========================================= */
@media (max-width: 768px) {

  /* Strengthen overlay only on mobile */
  .volunteer-hero::before {
    background: rgba(0, 0, 0, 0.45); /* darker for readability */
  }

  /* Ensure text stays crisp */
  .volunteer-hero__title,
  .volunteer-hero__subtitle {
    color: #ffffff;
    text-shadow: 0 2px 6px rgba(0,0,0,0.55);
  }
}
