/* Sections added during on-page SEO work (FAQ, contact form, CTA, Google reviews) */

/* keyword content */
.seo-content-section { padding: 20px 0 60px; }
.seo-content-section h2 { font-size: 34px; line-height: 44px; margin-bottom: 25px; }
.seo-content-section h3 { font-size: 24px; line-height: 32px; margin: 25px 0 12px; }
.seo-content-section p { margin-bottom: 15px; }
.seo-content-section .list-item li { margin-bottom: 8px; }

/* FAQ */
.seo-faq-section { padding: 70px 0; background: #f6f7fb; }
.seo-faq-section .sec-title { margin-bottom: 40px; }
.seo-faq-section .accordion-box .block { border: 1px solid #e5e5ea; border-radius: 6px; overflow: hidden; }
.seo-faq-section .accordion-box .block .acc-btn { padding: 20px 70px 20px 25px; }
.seo-faq-section .accordion-box .block .acc-btn h5 { font-size: 18px; line-height: 26px; margin: 0; color: #070719; }
.seo-faq-section .accordion-box .block .acc-btn.active h5 { color: #d6b894; }
.seo-faq-section .accordion-box .block .acc-btn .icon-outer { top: 16px; right: 20px; color: #070719; background: #f1ece5; border-radius: 50%; }
.seo-faq-section .accordion-box .block .acc-content { background: #fff; padding: 0 25px 22px; }
.seo-faq-section .accordion-box .block .acc-content p { margin: 0; }

/* contact form on service pages */
.seo-contact-section { padding: 70px 0; }
.seo-contact-section .title-box { text-align: center; margin-bottom: 35px; }
.seo-contact-section .title-box h2 { font-size: 36px; line-height: 46px; }
.seo-contact-section .captcha-label { display: block; margin-bottom: 6px; color: #d6b894; font-weight: 500; }

/* CTA above footer */
.seo-cta-section { position: relative; padding: 80px 0; background: #070719 url(../images/background/page-title.webp) center / cover no-repeat; }
.seo-cta-section:before { content: ""; position: absolute; inset: 0; background: rgba(7, 7, 25, 0.82); }
.seo-cta-section .auto-container { position: relative; z-index: 1; }
.seo-cta-section .wave-text { color: #d6b894; font-size: 18px; letter-spacing: 1px; text-transform: uppercase; }
.seo-cta-section h2 { color: #fff; font-size: 40px; line-height: 50px; margin: 10px 0 15px; }
.seo-cta-section p { color: #d9d9e0; max-width: 620px; margin-bottom: 30px; }
.seo-cta-section .btn-group-cta { display: flex; flex-wrap: wrap; gap: 15px; }
.seo-cta-section .theme-btn.outline { background: transparent; border: 1px solid #fff; color: #fff; }

/* Google reviews CTA (homepage) */
.google-reviews-cta { padding: 20px 0 60px; }
.google-reviews-cta .inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 25px; padding: 30px 40px; background: #fafafa; border: 1px solid #ececf0; border-radius: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); }
.google-reviews-cta .g-logo { width: 72px; height: 72px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08); flex-shrink: 0; }
.google-reviews-cta .text { flex: 1; min-width: 240px; }
.google-reviews-cta .eyebrow { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; color: #555; }
.google-reviews-cta h2 { font-size: 30px; line-height: 38px; margin: 6px 0; }
.google-reviews-cta .stars { color: #fbbc05; font-size: 20px; letter-spacing: 3px; }
.google-reviews-cta .theme-btn { white-space: nowrap; }

/* Mobile tap targets: service card links at least 48px high */
.service-section .service-block h3 a { display: inline-flex; flex-direction: column; justify-content: center; min-height: 48px; }

@media only screen and (max-width: 767px) {
    .seo-content-section h2, .seo-contact-section .title-box h2 { font-size: 28px; line-height: 36px; }
    .seo-cta-section h2 { font-size: 30px; line-height: 38px; }
    .google-reviews-cta .inner { padding: 25px 20px; }
    .google-reviews-cta h2 { font-size: 24px; line-height: 32px; }
}
