/* MPO accessibility fixes — dentistinmtvernon.com (2026-10-09). Source of truth: _a11y/apply-a11y.py */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* skip link + its target */
.mpo-skip-link{position:absolute;left:8px;top:-200px;z-index:100001;background:#fff;color:#1b1b1b!important;padding:10px 16px;font:700 16px/1.2 'Open Sans',Arial,sans-serif;border:2px solid #1b1b1b;border-radius:4px;text-decoration:underline;transition:none!important}
.mpo-skip-link:focus{top:8px}
#main-content:focus{outline:none}

/* visible keyboard focus everywhere: dark ring + white halo, readable on the green header, white body and black footer */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role="button"]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid #1b1b1b!important;outline-offset:2px!important;box-shadow:0 0 0 2px #fff!important}

/* colour contrast — closest darker shade of the site's own link blue (#0c71c3 -> #0b66b0) on the grey jump-link bands */
.et_pb_section.sec_bullets a,.et-db #et-boc .et-l .et_pb_section.sec_bullets a,ul.ulRow.cosmetic_row li a{color:#0b66b0!important}
/* WP search button (archive pages): #666 on #ddd = 4.22 -> #555 */
.wp-block-search__button{color:#555!important}

/* footer credit — CLAUDE.md standard ("Designed By" + monitor icon), never nowrap */
.ft-credit{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}
.ft-credit svg{flex:none}
.et_pb_blurb_6_tb_footer.et_pb_blurb{background-image:none!important;padding-left:0!important}

/* Divi slider dots: 24x24 target, same 7px visible dot */
.et-pb-controllers a{box-sizing:content-box!important;padding:8.5px!important;background-clip:content-box!important;margin-right:0!important}

/* homepage promo cards: text over photos — strengthen the existing overlays (measured worst case 3.7:1 -> >=5.1:1) */
.et_pb_cta_0.et_pb_promo,.et_pb_cta_2.et_pb_promo{background-color:rgba(34,34,34,.66)!important}
.et_pb_cta_1.et_pb_promo{background-color:rgba(154,206,214,.82)!important}

/* legal/statement contents rail: 24px targets on phones */
.lg-toc a{display:inline-block;min-height:24px;padding:2px 0}

/* enlarged text (accessibility preferences 125%/150%): let the header contact links wrap instead of
   pushing the page sideways; keep the phone-width icon bar inside its four columns */
html.a11y-text-1 .header_saw .et_pb_blurb_description,html.a11y-text-2 .header_saw .et_pb_blurb_description,
html.a11y-text-1 .header_saw .et_pb_blurb_container,html.a11y-text-2 .header_saw .et_pb_blurb_container,
html.a11y-text-1 .header_saw .et_pb_blurb_container a,html.a11y-text-2 .header_saw .et_pb_blurb_container a{white-space:normal!important}
html.a11y-text-1 .mobomenu .et_pb_main_blurb_image,html.a11y-text-2 .mobomenu .et_pb_main_blurb_image{max-width:100%;overflow:hidden}

/* homepage promo buttons, hover: #6488dd with white = 3.44:1 -> closest darker shade #4570d6 (4.62:1) */
body #page-container .et_pb_section .et_pb_cta_0.et_pb_promo .et_pb_promo_button.et_pb_button:hover,
body #page-container .et_pb_section .et_pb_cta_2.et_pb_promo .et_pb_promo_button.et_pb_button:hover{border-color:#4570d6!important;background-color:#4570d6!important}
body #page-container .et_pb_section .et_pb_cta_1.et_pb_promo .et_pb_promo_button.et_pb_button:hover{color:#4570d6!important}
.et_pb_cta_1.et_pb_promo h2.et_pb_module_header:hover{color:#000!important} /* heading turned white on the pale card on hover */

/* phone-width menu: the CSS-generated "Menu" caption duplicates the button's name for screen readers */
@media only screen and (max-width:1000px){
  .et-db #et-boc .et-l .et_pb_menu_inner_container.clearfix:after{content:"Menu" / ""}
}
.mpo-toggle-btn{display:block;cursor:pointer}

/* phone-width header bar becomes fixed on scroll: keep keyboard focus from landing underneath it (WCAG 2.4.11) */
@media only screen and (max-width:980px){html{scroll-padding-top:90px}}
