/* Readability overrides for older members (added 2026-10-22).
   Loaded last on every page. Keeps the theme's colors, fonts and layout. */

:root {
  /* Theme type scale (was 14/16/18/24/26px) */
  --font-primary-small: 17px;
  --font-primary-normal: 20px;
  --font-primary-medium: 22px;
  --font-primary-large: 28px;
  --font-secondary-small: 17px;
  --font-secondary-normal: 20px;
  --font-secondary-medium: 22px;
  --font-secondary-large: 30px;
  --font-secondary-xl: 36px;
  --font-secondary-xxl: 44px;
  /* WordPress block presets (was 13/16/20/36/42px) */
  --wp--preset--font-size--small: 17px;
  --wp--preset--font-size--normal: 20px;
  --wp--preset--font-size--medium: 23px;
  --wp--preset--font-size--large: 38px;
  --wp--preset--font-size--x-large: 44px;
  --wp--preset--font-size--huge: 46px;
  /* Darker gray for secondary text (was #717171) */
  --minimalistique-dark-1: #3d3d3d;
  /* Darker brand orange so white button text passes contrast (was #f96300 / #e15a01) */
  --minimalistique-primary: #c24d00;
  --minimalistique-primary-dark: #9a3d00;
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  font-size: 20px;
  line-height: 1.6;
  color: #000;
}

/* ---- Body text ---- */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content td,
.entry-content th,
.entry-content figcaption,
.entry-content blockquote,
.page-content p,
.site-main p,
.site-main li {
  font-size: 20px;
  line-height: 1.6;
  color: #000;
}
.entry-content em, .entry-content i { font-weight: 500; }
.entry-content small, .entry-content .has-small-font-size { font-size: 17px !important; }

/* Links: always underlined in body text, thicker underline, clear focus */
.entry-content a:not(.wp-block-button__link),
.site-main p a,
.site-footer a {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  color: inherit;
}
.entry-content a:not(.wp-block-button__link):hover { text-decoration-thickness: 3px; }
a:focus-visible, button:focus-visible {
  outline: 3px solid #1a4fd1;
  outline-offset: 3px;
}

/* ---- Headings ---- */
.entry-title, .entry-content h1, h1.page-title { font-size: 44px; line-height: 1.2; }
.entry-content h2 { font-size: 34px; line-height: 1.25; }
.entry-content h3 { font-size: 28px; line-height: 1.3; }
.entry-content h4 { font-size: 24px; line-height: 1.3; }
.entry-content h5, .entry-content h6 { font-size: 21px; }

/* ---- Desktop navigation ---- */
.main-navigation ul li a,
#primary-menu > li > a {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  padding: 24px 1.4rem 25px;
  letter-spacing: 0.01em;
}
.main-navigation ul li a:hover,
.main-navigation ul li a:focus { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.main-navigation ul li .sub-arrow { font-size: 18px; line-height: 78px; }
.main-navigation ul li .arrow-sub-menu::before { font-size: 16px; }
/* Dropdown (York Rite > bodies) */
.site-header #primary-menu ul.sub-menu { min-width: 390px; left: 0; right: auto; }
.site-header #primary-menu ul.sub-menu li a {
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.35;
  padding: 14px 20px;
  white-space: normal;
  color: #000;
}
.site-header #primary-menu ul.sub-menu li { border-bottom: 1px solid #ccc; }
.site-header #primary-menu ul.sub-menu li:last-child { border-bottom: 0; }

/* ---- Buttons (dues / Stripe payment links, etc.) ---- */
.wp-block-button__link,
.wp-element-button,
.entry-content button,
.entry-content input[type="submit"] {
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1.25;
  padding: 0.75em 1.5em !important;
  min-height: 52px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}
/* Pale-blue Knights Templar buttons: white text was unreadable; use dark navy text */
.wp-block-button__link.has-pale-cyan-blue-background-color {
  color: #0b2545 !important;
  text-shadow: none;
}

/* ---- Footer ---- */
.site-footer, .site-footer .site-info, .site-info { font-size: 18px; color: #fff; }

/* ---- Embeds, images and tables never wider than the screen ---- */
.entry-content iframe, .entry-content embed, .entry-content video { max-width: 100%; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content table { display: block; max-width: 100%; overflow-x: auto; }
.entry-content { overflow-wrap: break-word; }

/* ---- Mobile / tablet (theme switches to the slide-out menu below 1024px) ---- */
@media screen and (max-width: 1023px) {
  .entry-title, .entry-content h1, h1.page-title { font-size: 34px; }
  .entry-content h2 { font-size: 28px; }
  .entry-content h3 { font-size: 24px; }

  /* Big, obvious "MENU" button */
  .primary-menu a.nav-pull { padding-right: 120px; }
  .navigation-icon-nav {
    right: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 2px solid #000;
    border-radius: 8px;
    background: #fff;
    min-height: 48px;
  }
  .navigation-icon-nav svg { width: 28px; height: 22px; }
  .navigation-icon-nav::after {
    content: "MENU";
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #000;
  }

  /* Slide-out menu: wider panel, large bold items, big tap targets */
  #smobile-menu { width: 85%; left: -85.1%; }
  #smobile-menu.show .main-navigation ul li a {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
    padding-top: 16px;
    padding-bottom: 16px;
    min-height: 56px;
    color: #000;
  }
  #smobile-menu.show .main-navigation ul ul.sub-menu li a,
  #smobile-menu.show .main-navigation ul ul.children li a {
    font-size: 20px;
    font-weight: 600;
  }
  #smobile-menu.show .main-navigation ul li { border-bottom: 1px solid #bbb; }
  #smobile-menu .main-navigation ul li .sub-arrow { font-size: 36px; width: 64px; line-height: 64px; top: 0; }
  #smobile-menu .navigation-icon-nav::after { content: "CLOSE"; }

  /* Page-header menu button (stacked icon + label so the site title keeps room) */
  a.nav-pull.toggle-mobile-menu:not(.smenu-hide) { width: 68px; height: 64px; padding: 0; }
  a.toggle-mobile-menu:not(.smenu-hide) .navigation-icon {
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 10px 6px;
    border: 2px solid #000;
    border-radius: 8px;
    background: #fff;
    min-width: 64px;
  }
  a.toggle-mobile-menu:not(.smenu-hide) .navigation-icon svg { width: 30px; height: 22px; }
  a.toggle-mobile-menu:not(.smenu-hide) .navigation-icon::after {
    content: "MENU";
    font-family: var(--font-primary);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #000;
  }
}

@media screen and (max-width: 480px) {
  body, .entry-content p, .entry-content li, .site-main p, .site-main li { font-size: 19px; }
  .entry-title, .entry-content h1, h1.page-title { font-size: 32px; }
  .wp-block-button__link, .wp-element-button { font-size: 20px !important; }
}

/* Keep the site title clear of the MENU button on phones */
@media screen and (max-width: 1023px) {
  .header-content-container .mob-logo-wrap { padding-right: 78px; box-sizing: border-box; }
}
@media screen and (max-width: 400px) {
  .mob-logo-wrap .logofont, .mob-logo-wrap .site-title { font-size: 28px; }
}


/* Facebook follow link (added 2026-11-09). Inline SVG only; no Facebook scripts. */
.site-footer .footer-facebook-wrap {
  margin-top: 0.5em;
}
.site-footer .footer-facebook {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  flex-wrap: wrap;
  color: #fff;
}
.site-footer .footer-facebook .facebook-icon,
.entry-content a.follow-facebook .facebook-icon {
  width: 1.05em;
  height: 1.05em;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: -0.15em;
}
.entry-content a.follow-facebook {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}
