/* ============================================================
   Compact overrides — eliminate all large gaps
   ============================================================ */

/* Hero spacing handled in redesign.css */
.hero-subtitle { margin-bottom: 20px !important; }
.hero-actions { margin-bottom: 16px !important; }

/* Stats bar */
.stats-bar { padding: 24px !important; }

/* ALL sections — 40px vertical padding max */
.how-it-works,
.features-section,
.before-after,
.ai-tutor,
.pricing-section,
.free-tools,
.contact-section,
#how-it-works,
#features,
#comparison,
#tutor-promo,
#pricing-section,
#free-tools-section,
#contact-section,
section[class]:not(.hero) {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Hero must clear the sticky nav — never override this */
.hero {
  padding-top: calc(var(--nav-h) + 56px) !important;
  padding-bottom: 48px !important;
}

/* Section headers — tight */
.section-header {
  margin-bottom: 28px !important;
}
.section-header h2 {
  margin-bottom: 8px !important;
}
.section-header p {
  margin-bottom: 0 !important;
}
.section-badge {
  margin-bottom: 12px !important;
}

/* Grids — reduce all gaps */
.steps-grid { gap: 20px !important; }
.features-grid { gap: 16px !important; }
.comparison-grid { gap: 16px !important; }
.pricing-grid { gap: 16px !important; margin-top: 16px !important; }
.free-tools-grid { gap: 14px !important; margin-bottom: 20px !important; }
.contact-grid { gap: 20px !important; margin-top: 16px !important; }

/* Cards — tighter internal padding */
.step-card { padding: 24px 20px !important; }
.feature-card { padding: 20px !important; }
.pricing-card { padding: 24px 20px !important; }
.comparison-card { padding: 24px !important; }
.demo-card { padding: 20px !important; }

/* Feature icon smaller margin */
.feature-icon { margin-bottom: 12px !important; }
.feature-card h3 { margin-bottom: 6px !important; }

/* Tutor promo */
.tutor-layout { gap: 32px !important; }
.tutor-features { gap: 8px !important; margin-bottom: 20px !important; }

/* Pricing trust strip */
.pricing-trust { margin-top: 16px !important; padding-top: 16px !important; }
.pricing-link { margin-top: 8px !important; }

/* Blog resources box */
.blog-resources { padding: 20px !important; margin-top: 16px !important; }

/* Subscribe */
.subscribe-section { padding: 24px !important; }
.subscribe-inner { gap: 24px !important; }

/* Footer */
.site-footer { padding-top: 36px !important; }
.footer-grid { gap: 24px !important; padding-bottom: 24px !important; }
.footer-bottom { padding: 16px 0 !important; }

/* Cookie bar */
.cookie-bar { padding: 12px 24px !important; }

/* Step numbers */
.step-number { margin-bottom: 12px !important; }
.step-icon { margin-bottom: 10px !important; }
.step-card h3 { margin-bottom: 6px !important; }

/* Comparison — without/with headings */
.comparison-card h3 { margin-bottom: 12px !important; }
.comparison-card ul { gap: 6px !important; }
.comparison-stat { padding: 24px !important; }

/* Pricing card internals */
.pricing-card .pricing-header { margin-bottom: 12px !important; }
.pricing-card .pricing-price { margin-bottom: 8px !important; }
.pricing-card .pricing-savings { margin-bottom: 16px !important; }
.pricing-card .pricing-features { margin-bottom: 16px !important; gap: 8px !important; }

/* Contact form */
.contact-form { gap: 12px !important; }
.contact-info { gap: 12px !important; }

/* Reduce all h2 bottom margins globally */
h2 { margin-bottom: 8px; }

/* Kill any remaining large gaps */
.section-inner > *:last-child { margin-bottom: 0 !important; }

/* ── Mobile ── */
@media (max-width: 768px) {
  .hero {
    padding: calc(var(--nav-h) + 40px) 16px 32px !important;
  }
  section[class]:not(.hero),
  .how-it-works, .features-section, .before-after, .ai-tutor,
  .pricing-section, .free-tools, .contact-section {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .section-header { margin-bottom: 20px !important; }
  .stats-bar { padding: 16px !important; }
  .subscribe-section { padding: 20px 16px !important; }
  .site-footer { padding-top: 28px !important; }
}
