/* Unified UX for all service pages — spacing, nested sections, mobile polish */

.service-page .svc-block {
  scroll-margin-top: 88px;
}

.service-page .svc-section-header,
.service-page .section-header {
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}

.service-page .svc-section-header .section-description,
.service-page .section-header .section-description {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

/* Flatten nested testimonial wrapper */
.service-page .testimonials-section .testimonial-section {
  padding: 0;
  margin: 0;
  background: transparent;
}

.service-page .testimonials-section .testimonial-card-slider {
  margin-top: 0;
}

/* Flatten nested FAQ wrapper */
.service-page .faq-section .all-faq-section {
  padding: 0;
  margin: 0;
  background: transparent;
}

.service-page .faq-section .all-faq-section > .max-width {
  padding: 0;
  max-width: none;
}

.service-page .all-faq-container {
  max-width: 920px;
  margin: 0 auto;
}

/* Flatten nested contact form wrapper */
.service-page .contact-form-section .cta-form-section {
  padding: 0;
  margin: 0;
  background: transparent;
}

.service-page .contact-form-section .form-container {
  max-width: 720px;
  margin: 0 auto;
}

/* Consistent section rhythm */
.service-page .testimonials-section,
.service-page .faq-section,
.service-page .contact-form-section,
.service-page .final-cta,
.service-page .service-pricing-v2 {
  padding-top: clamp(3.5rem, 7vw, 5rem);
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
}

.service-page .final-cta {
  padding-bottom: clamp(4rem, 8vw, 5.5rem);
}

.service-page .final-cta .cta-content {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.service-page .final-cta .cta-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
  margin: 1.5rem 0;
}

.service-page .trust-indicators {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 1.5rem;
}

.service-page .trust-indicators .indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.85rem;
  color: var(--text-secondary, #bbb);
}

.service-page .trust-indicators .indicator i {
  color: var(--primary-color, #ff8a00);
}

/* Pricing → testimonials flow */
.service-page .service-pricing-v2 + .testimonials-section {
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
}

/* FAQ accordion touch targets */
.service-page .all-faq-question {
  min-height: 56px;
}

/* Form UX */
.service-page .cta-form-section .form-container h1 {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  text-align: center;
}

.service-page .cta-form-section .subtitle {
  text-align: center;
  margin-bottom: 1.25rem;
}

.service-page #contactForm input,
.service-page #contactForm select,
.service-page #contactForm textarea {
  font-size: 16px;
}

.service-page #submitBtn {
  width: 100%;
  min-height: 48px;
}

/* Section quick nav (optional anchor strip on wide screens) */
.service-page-nav-hint {
  display: none;
}

@media (min-width: 992px) {
  .service-page .hero-cta .btn-large {
    min-width: 200px;
  }
}

@media (max-width: 768px) {
  .service-page .svc-block {
    scroll-margin-top: 72px;
  }

  .service-page .testimonials-section,
  .service-page .faq-section,
  .service-page .contact-form-section,
  .service-page .final-cta,
  .service-page .service-pricing-v2 {
    padding-top: 2.75rem;
    padding-bottom: 2.5rem;
  }

  .service-page .final-cta .cta-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .service-page .final-cta .cta-buttons .btn-large {
    width: 100%;
    justify-content: center;
  }

  .service-page .all-faq-question {
    padding: 1rem 1.1rem;
    font-size: 0.95rem;
  }

  .service-page .testimonial-card {
    padding: 1.5rem 1.15rem;
  }
}

@media (max-width: 480px) {
  .service-page .trust-indicators {
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-page .faq-item,
  .service-page .all-faq-item,
  .service-page .testimonial-card {
    transition: none;
  }
}
