/* Accessibility fixes — simplealigner.com, 2026-10-09 (a11y rollout, SOP Step 5/5a).
   Loaded after the page's own Divi CSS. Each rule is scoped to the element that failed.
   Source of truth: /opt/site-builder/_in-progress/simplealigner.com/_a11y/a11y-fixes.css (40-layout.py copies it to public/). */

/* Skip link (visible on keyboard focus only) */
.a11y-skip{position:absolute;left:-9999px;top:0;z-index:100001;background:#014365;color:#fff;padding:10px 16px;font:600 16px/1.2 "Open Sans",Arial,sans-serif;text-decoration:underline}
.a11y-skip:focus{left:8px;top:8px;outline:3px solid #fff;outline-offset:2px}
.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}
main#main-content{display:block}
main#main-content:focus{outline:none}

/* Second h1s are now h2s: look pinned to the old h1 */
#page-container .et_pb_text_5 h2.a11y-h1look-bp{font-size:30px;line-height:30px;font-weight:500;padding-bottom:10px}
#page-container h2.a11y-h1look-media{font-size:24px;line-height:24px;font-weight:500;color:#333;padding-bottom:10px}

/* Contrast: footer widget text #888 / links #7d7d7d on #fafafa (3.4-3.9:1) -> #6e6e6e (4.89:1) */
#main-footer .footer-widget li,#main-footer .footer-widget li a,#main-footer .footer-widget a{color:#6e6e6e!important}
/* Contrast: Divi link colour #2ea3f2 on white (2.74:1) -> #0c79c2 (4.64:1) inside page content.
   The homepage dark office-hours band (.et_pb_section_4) keeps its original link colours. */
body:not(.home) #main-content a:not(.et_pb_button),body.home #main-content .et_pb_section:not(.et_pb_section_4) a:not(.et_pb_button){color:#0c79c2}
/* Links inside body text must not rely on colour alone (link-in-text-block) */
#main-content .et_pb_text_inner p a:not(.et_pb_button),#main-content .et_pb_text_inner li a:not(.et_pb_button),#sidebar .textwidget p a{text-decoration:underline;text-underline-offset:2px}
/* Contrast: current menu item was black on the #3f7093 menu bar (3.95:1) -> white (5.32:1), underlined to stay distinct */
#top-menu li.current-menu-item>a,#top-menu li.current-menu-ancestor>a,#top-menu li.current-menu-parent>a{color:#fff!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
/* Contrast: homepage "SCHEDULE YOUR APPOINTMENT TODAY" band, white on #6f8fab (3.39:1) -> #557694 (4.77:1) */
body.home #page-container .et_pb_section_2.et_pb_section{background-color:#557694!important}
/* Contrast: homepage "The BRACES PLACE" / "Orthodontics at Davis Square" #6f8fab on #282828 (4.34:1) -> #7795b0 (4.71:1) */
body.home #page-container .et_pb_text_5 h2,body.home #page-container .et_pb_text_6 h2{color:#7795b0!important}
/* Contrast: Forgiver Retainers table header text #666 on #3366ff (1.22:1) -> white (4.68:1) */
tr[bgcolor="#3366ff"] .style2{color:#fff!important}

/* Forms (decision 5): visible labels, field borders with 3:1 contrast, readable placeholder */
.et_pb_contact_form .et_pb_contact_form_label{display:block!important;margin:0 0 6px;font-weight:600;font-size:15px;line-height:1.4;color:#333}
.et_pb_contact_form .input,.et_pb_contact_form select.input,.et_pb_contact_form textarea.input{border:1px solid #767676!important}
.et_pb_contact_form .input::placeholder{color:#595959;opacity:1}
.et_pb_contact_form .et-pb-contact-message,.et_pb_contact_form_container .et-pb-contact-message{color:#a00000}

/* Visible keyboard focus (site navy); white on the dark top bar, menu bar and credits bar */
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,[role="slider"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,table[tabindex]:focus-visible{outline:3px solid #014365!important;outline-offset:2px}
#top-header a:focus-visible,#top-menu a:focus-visible,[aria-label="Footer links"] a:focus-visible,body.home .et_pb_section_4 a:focus-visible{outline-color:#fff!important}
/* Desktop dropdowns open for keyboard users too */
#top-menu li:focus-within>.sub-menu{visibility:visible!important;opacity:1!important;display:block}
/* Mobile menu toggle is keyboard-operable (see BaseLayout script) */
.mobile_nav[role="button"]:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* Before/after sliders: keyboard handle (see BaseLayout script) */
.twentytwenty-handle:focus-visible{outline:3px solid #fff!important;box-shadow:0 0 0 6px #014365}

/* Target size: legal/statement contents links get a 24px-tall hit area */
.lg-toc li a{display:inline-block;min-height:24px;padding:2px 0}

/* Divi icon-font glyphs are CSS content letters ("3", "5"); screen readers read them.
   Same glyph, empty alternative text. */
#top-menu .menu-item-has-children>a:first-child::after{content:"3" / ""}
#page-container .et_pb_button:not(.et_pb_custom_button_icon)::after,#page-container .et_pb_button:not(.et_pb_custom_button_icon)::before{content:"\35" / ""}
#page-container .et_pb_custom_button_icon.et_pb_button::after,#page-container .et_pb_custom_button_icon.et_pb_button::before{content:attr(data-icon) / ""}

/* Footer social links and the homepage map link wrap a floated image, so the <a> itself was 0x0 and
   its keyboard focus ring could not be seen. inline-block makes the link box contain the image. */
#main-footer .textwidget p>a,body.home .et_pb_text_6 a:has(>img){display:inline-block;vertical-align:top;max-width:100%}
body.home .et_pb_text_6 a>img{max-width:100%;height:auto}

/* Homepage "SCHEDULE YOUR APPOINTMENT TODAY" band: the whole band is a transparent (opacity 0) Divi button,
   so its focus ring was invisible. Draw the ring on the band while the button has keyboard focus. */
body.home #page-container .et_pb_section_2:has(.et_pb_button:focus-visible){outline:3px solid #fff;outline-offset:-6px}

/* Target size (2.5.8): small header/footer links get a >=24px hit area without moving anything */
#top-header #et-info-phone a,#top-header .et-social-icon a{display:inline-block;padding:5px;margin:-5px}
#main-footer .footer-widget .menu li a{display:inline-block;padding:3px 0;margin:-3px 0}
[aria-label="Footer links"] .et_pb_text_inner a,[aria-label="Footer links"] .ft-credit a{display:inline-block;padding:4px 0}

/* More Divi icon-font glyphs read aloud: footer list bullets ("E") and the homepage Invisalign button ("9") */
#footer-widgets .footer-widget li::before{content:'\45' / ""}
body #page-container .et_pb_section .et_pb_button_3.et_pb_button::before{content:attr(data-icon) / ""}
