/* Village Family Project - readability & accessibility polish.
   Layered on top of the original Divi styles; delete this file (and its <link>) to return to the original look. */

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Body copy: larger, a little darker, more open leading */
#page-container .et_pb_text_inner p,
#page-container .et_pb_text_inner li { font-size: 17px !important; line-height: 1.75 !important; }
#page-container .et_pb_bg_layout_light .et_pb_text_inner p,
#page-container .et_pb_bg_layout_light .et_pb_text_inner li { color: #2e2e2e !important; }
#page-container .et_pb_text_inner li { margin-bottom: .25em; }
/* Text placed straight inside a block (no <p>), e.g. the In Memoriam tributes */
#page-container .et_pb_text_inner { font-size: 17px; line-height: 1.75; }
#page-container .et_pb_bg_layout_light .et_pb_text_inner { color: #2e2e2e; }

/* Card / blurb text (staff, board, tributes): same readable size and colour */
#page-container .et_pb_blurb_description,
#page-container .et_pb_blurb_description p,
#page-container .et_pb_blurb_content p { font-size: 16px !important; line-height: 1.7 !important; }
#page-container .et_pb_bg_layout_light .et_pb_blurb_description,
#page-container .et_pb_bg_layout_light .et_pb_blurb_description p { color: #2e2e2e !important; }
#page-container .et_pb_bg_layout_light .et_pb_module_header { color: #1d1d1d; }

/* Keep comfortable line lengths on wide screens */
#page-container .et_pb_text_inner p { max-width: 68ch; }
#page-container .et_pb_text_align_center .et_pb_text_inner p { margin-left: auto; margin-right: auto; }

/* Buttons that sit on the light-orange brand colour: dark text for readable contrast */
#page-container .vfp-onorange,
#page-container .vfp-onorange .et_pb_text_inner,
#page-container .vfp-onorange p,
#page-container .vfp-onorange a { color: #1d1d1d !important; }
#page-container .vfp-onorange { font-weight: 700; }

/* Clearly visible keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
.et_clickable:focus-visible { outline: 3px solid #1a73e8 !important; outline-offset: 3px !important; }

/* Skip link (visible only when focused) */
.vfp-skip { position: absolute; left: -9999px; top: 8px; z-index: 100000; background: #fff; color: #111;
  padding: 10px 16px; border-radius: 4px; font-weight: 700; text-decoration: none; }
.vfp-skip:focus { left: 8px; }

/* Bigger tap targets for phone / email links */
.et_pb_text_inner a[href^="mailto"], .et_pb_text_inner a[href^="tel"],
#main-footer a[href^="mailto"], #main-footer a[href^="tel"],
.et_pb_section a[href^="mailto"], .et_pb_section a[href^="tel"] { display: inline-block; padding: 8px 0; min-height: 44px; line-height: 1.5; }

/* Phones: a touch more breathing room */
@media (max-width: 767px) {
  #page-container .et_pb_text_inner p,
  #page-container .et_pb_text_inner li { font-size: 17px !important; line-height: 1.7 !important; }
}
