/*
 * Mighty Generation Network public typography tokens, October 2026.
 * Inter = body/readable text. Nunito Sans = headings, navigation and CTAs.
 * This stylesheet intentionally preserves hero scale, artful serif accents,
 * small metadata, and existing mobile breakpoints.
 */
:root {
  --mgn-font-body: "Inter", Arial, sans-serif;
  --mgn-font-display: "Nunito Sans", "Inter", Arial, sans-serif;
  --mgn-text-regular: 16px;
  --mgn-text-card: 15px;
  --mgn-text-lead: 18px;
}
body,
body .prose,
body :is(
  .mgn-hs, .mgn-about, .mgn-programme-page, .mgn-bible-page,
  .mgn-interest-section, .mgn-gallery-page, .mgng-experience,
  .mgno-directory, .mgno-single-page, .mgnlp-page,
  .mgnlp-landing, .woocommerce, .mgnop, .mgn-client-portal
) {
  font-family: var(--mgn-font-body);
}
/* Main section/heading typography shared by the site */
body :is(.mgn-hs,.mgn-about,.mgn-programme-page,.mgn-bible-page,
  .mgn-interest-section,.mgn-gallery-page,.mgng-experience,
  .mgno-directory,.mgno-single-page,.mgnlp-page,.mgnlp-landing,
  .woocommerce,.prose) :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--mgn-font-display);
}
body .mgng-experience .mgng-hero h1,
body .mgno-directory .mgno-directory-hero h1,
body .mgno-single-body .mgno-single-hero h1 {
  font-family: var(--mgn-font-display) !important;
}
/* Preserve intentionally distinct serif words inside editorial hero headings */
body :is(.mgng-hero,.mgno-directory-hero,.mgnlp-hero) h1 em {
  font-family: Georgia, serif;
}
/* Other programme, gallery and event landing pages use the same families.
   The Georgia accent words in editorial hero headings are intentionally kept. */
body .mgnlp-hero h1,
body .mgng-experience .mgng-hero h1,
body .mgno-directory .mgno-directory-hero h1,
body .mgno-single-body .mgno-single-page :is(h1,h2,h3,h4),
body .mgn-gallery-page :is(h1,h2,h3),
body .mgnop :is(h1,h2,h3) {
  font-family: var(--mgn-font-display) !important;
}
body :is(.mgnlp-hero,.mgng-hero,.mgno-directory-hero,
  .mgno-single-page,.mgn-gallery-page) :is(p,li) {
  font-family: var(--mgn-font-body);
}
body .prose {
  font-size: var(--mgn-text-regular);
  line-height: 1.7;
}
/* All reading text should use Inter instead of inherited heading faces */
body :is(.mgn-about,.mgn-programme-page,.mgn-bible-page,
  .mgn-interest-section,.mgng-experience,.mgno-directory,
  .mgno-single-page,.mgnlp-page,.mgn-gallery-page)
  :is(p,li,blockquote) {
  font-family: var(--mgn-font-body);
}
body .elementor-widget-text-editor,
body .elementor-widget-text-editor p,
body .prose :is(p,li) {
  font-family: var(--mgn-font-body);
}
/* Header text: 14px desktop is consistent with the site's theme nav */
@media (min-width: 821px) {
  body .mgn-hs-header .mgn-hs-nav > a,
  body .mgn-site-header .mgn-nav a {
    font-family: var(--mgn-font-display);
    font-size: 14px;
  }
}
body :is(.mgn-hs-btn,.mgn-hs-club-btn,.mgn-programme-btn,
  .mgn-bible-btn,.mgn-interest-form-card .wpcf7 input[type="submit"],
  .mgn-hs-action-item,.mgn-hs-donate,.mgn-club-detail-link) {
  font-family: var(--mgn-font-display);
}
/* Main introductions and descriptive card copy use repeatable text steps */
body :is(.mgn-about-intro-copy p,.mgn-programme-intro-text > p,
  .mgn-interest-intro > p,.mgn-bible-copy > p,.mgno-single-prose) {
  font-family: var(--mgn-font-body);
  font-size: 17px;
  line-height: 1.7;
}
body :is(.mgn-about-reason-grid p,.mgn-about-audience-grid p,
  .mgn-about-programme-card p,.mgn-about-guide-card p,
  .mgn-programme-benefit-grid p,.mgn-bible-card-grid p) {
  font-family: var(--mgn-font-body);
  font-size: var(--mgn-text-card);
  line-height: 1.65;
}
body :is(.mgn-about-copy > p,.mgn-programme-hero p,
  .mgn-bible-hero p) {
  font-family: var(--mgn-font-body);
  font-size: var(--mgn-text-lead);
  line-height: 1.65;
}
/* Programme signup form: readable uniform fields and labels */
body .mgn-interest-form-card .wpcf7 label {
  font-family: var(--mgn-font-body);
  font-size: 14px;
  line-height: 1.5;
}
body .mgn-interest-form-card .wpcf7
  :is(input[type="text"],input[type="email"],input[type="tel"],
      input[type="number"],select,textarea) {
  font-family: var(--mgn-font-body);
  font-size: 15px;
  line-height: 1.5;
}
body .mgn-interest-form-card .wpcf7 input[type="submit"] {
  font-family: var(--mgn-font-display);
  font-size: 15px;
}
/* Registered CIC identity on About Us, and compact company details in footer. */
body .mgn-about .mgn-about-registration {
  display: block;
  background: #f0f7f0;
  color: #1b5139;
  border-left: 4px solid #4c9a63;
  border-radius: 0 10px 10px 0;
  padding: 13px 17px;
  margin: 17px 0 21px;
  font-family: var(--mgn-font-body);
  font-size: 14px;
  line-height: 1.65;
}
body .mgn-about .mgn-about-registration strong {
  font-weight: 800;
  color: #133b28;
}
body .mgn-hs-footer .mgn-cic-registration {
  display: block;
  margin-top: 6px;
  color: #d8eae2;
  font-family: var(--mgn-font-body);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 400;
}
body .mgn-hs-footer .mgn-cic-registration strong {
  color: #fff;
  font-weight: 700;
}

/* Discoverable founder-story link on the existing About Us hero. */
body .mgn-about .mgn-about-actions .mgn-founder-about-link{
 display:inline-flex;align-items:center;gap:10px;
 color:#174c35;font-family:var(--mgn-font-display);
 font-size:14px;font-weight:900;line-height:1.35;
 padding:12px 4px;text-decoration:none;
 border-bottom:2px solid #eaa54a;white-space:nowrap;
 transition:color .18s,border-color .18s;
}
body .mgn-about .mgn-about-actions .mgn-founder-about-link:hover{
 color:#df542d;border-color:#df542d;
}
body .mgn-about .mgn-about-actions .mgn-founder-about-link:focus-visible{
 outline:3px solid #f0ae1d;outline-offset:4px;
}
/* Single official footer: SAME typography and social icon dimensions
   whether rendered on the Elementor homepage or another WordPress page. */
body .mgn-hs-footer {
  font-family: var(--mgn-font-display);
}
body .mgn-hs-footer .mgn-hs-footer-logo strong {
  font-family: var(--mgn-font-display);
  font-size: 17px;
  line-height: .9;
}
body .mgn-hs-footer .mgn-hs-footer-brand p {
  font-family: var(--mgn-font-body);
  font-size: 12px;
  line-height: 1.3;
}
body .mgn-hs-footer .mgn-hs-footer-links a {
  font-family: var(--mgn-font-display);
  font-size: 11px;
  line-height: 1.4;
}
body .mgn-hs-footer .mgn-hs-footer-social > strong {
  font-family: var(--mgn-font-display);
  font-size: 12px;
}
body .mgn-hs-footer .mgn-hs-footer-social > div {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
}
body .mgn-hs-footer .mgn-hs-footer-social a {
  font-family: var(--mgn-font-display);
  font-size: 11px;
  width: 25px;
  height: 25px;
  min-width: 25px;
  flex: 0 0 25px;
  line-height: 1;
}
body .mgn-hs-footer .mgn-hs-footer-message {
  font-family: var(--mgn-font-display);
  font-size: 15px;
  line-height: 1.18;
}
body .mgn-hs-footer .mgn-hs-footer-bottom,
body .mgn-hs-footer .mgn-hs-footer-bottom a {
  font-family: var(--mgn-font-display);
  font-size: 10px;
}
/* Do not shrink long reading paragraphs or enlarge labels on mobile */
@media(max-width:640px) {
  body :is(.mgn-about-copy > p,.mgn-programme-hero p,.mgn-bible-hero p) {
    font-size: 16px;
    line-height: 1.6;
  }
  body :is(.mgn-about-intro-copy p,.mgn-programme-intro-text > p,
    .mgn-interest-intro > p,.mgn-bible-copy > p,.mgno-single-prose) {
    font-size: 16px;
    line-height: 1.7;
  }
  body .mgn-hs-footer .mgn-hs-footer-social > div {
    flex-wrap: wrap;
  }
}
