/* Accessibility fixes — dentistryinthehighlands.com (2026-10-09, SOP-A11Y-WIDGET-ROLLOUT).
   Loaded after the Divi/customizer CSS. Every rule is scoped to the element it fixes. */

/* Screen-reader-only text + skip link */
.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{position:absolute;left:-9999px;top:0;z-index:1000000;background:#014365;color:#fff!important;padding:10px 16px;font-size:16px;font-weight:600;text-decoration:underline}
.skip-link:focus{left:8px;top:8px;outline:3px solid #fff;outline-offset:2px}

/* Appointment page hides its theme title with display:none; keep it for screen readers only */
body.page-id-1218 #left-area > h1.entry-title{display:block!important;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}

/* Link colour: Divi default #2ea3f2 is 2.74:1 on white. Closest darker shade of the same blue
   (4.5:1+ on #fff/#f7f7f7/#f2f2f2 — the jump-link boxes). */
a{color:#0b72b6}
.et_pb_bg_layout_light .et_pb_more_button,.more-link{color:#0b72b6}
.et_pb_bg_layout_light.et_pb_button,.et_pb_bg_layout_light .et_pb_button{color:#0b72b6}
.pricing__button{color:#2ea3f2}             /* on the dark #1c1e24 plan cards the original blue passes (6.06:1) */
.cosmetic_row li a{color:#0a68a8}           /* on the #e2e2e2 service menu band */
/* Links inside running text need more than colour to stand out (WCAG 1.4.1) */
:where(.entry-content,.et_pb_text_inner,.post-content,.et_pb_post) :where(p,li) a:not(.et_pb_button):not(.pricing__button){text-decoration:underline}

/* Footer credit (CLAUDE.md standard) — wraps, never nowrap */
.ft-credit{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px}
.ft-credit svg{flex:none}
#footer-info .ft-credit a{display:inline}
/* Legal row added to footers that had none */
.ft-legal{text-align:center;margin:0 0 6px;padding:0;color:#333;font-size:15px}
.ft-legal a{color:#000;text-decoration:underline}

/* Service listing cards: <article> -> <div>, look kept */
.svc-card{border-bottom:1px dashed #000;padding-bottom:60px}

/* Gallery slider dots: 24px click target (WCAG 2.5.8) with the same 7px dot drawn inside it;
   inactive dot darkened from 15% black to #767676 so it is visible against white (WCAG 1.4.11) */
.et_pb_gallery .et-pb-controllers a{position:relative;width:24px;height:24px;margin:0 1px;border-radius:0;background:transparent!important;opacity:1!important}
.et_pb_gallery .et-pb-controllers a::after{content:"";position:absolute;left:8.5px;bottom:0;width:7px;height:7px;border-radius:7px;background:#767676}
.et_pb_gallery .et-pb-controllers a.et-pb-active-control::after{background:#333}

/* Mobile menu toggle is now a keyboard button */
.mobile_menu_bar_toggle:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* Footer "Schedule a consultation" band: thin white/cyan text over a photo; a soft backing shadow keeps
   the lighter patches of the photo (roofline, the 673 sign) from washing it out (WCAG 1.4.3 judgment) */
.schedule h2,.schedule h2 a{text-shadow:0 1px 4px rgba(0,0,0,.75)}


/* Extra <h1>s retagged to <h2> (one h1 per page); look pinned to the measured original */
#page-container h2[data-pin="cta"]{font-family:"Josefin Sans", Helvetica, Arial, Lucida, sans-serif;font-size:48px;font-weight:300;font-style:normal;line-height:48px;color:rgb(255, 255, 255)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
@media (max-width:980px){#page-container h2[data-pin="cta"]{font-size:38px;line-height:38px}}
@media (max-width:767px){#page-container h2[data-pin="cta"]{font-size:29px;line-height:29px}}
#page-container h2[data-pin="home-dentists"]{font-family:"Open Sans", Arial, sans-serif;font-size:30px;font-weight:500;font-style:normal;line-height:30px;color:rgb(51, 51, 51)!important;letter-spacing:normal;text-transform:none;text-align:left;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
#page-container h2[data-pin="team-1"]{font-family:"Open Sans", Arial, sans-serif;font-size:30px;font-weight:500;font-style:normal;line-height:30px;color:rgb(3, 127, 174)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
@media (max-width:767px){#page-container h2[data-pin="team-1"]{font-size:25px;line-height:0px}}
#page-container h2[data-pin="team-2"]{font-family:"Open Sans", Arial, sans-serif;font-size:30px;font-weight:500;font-style:normal;line-height:30px;color:rgb(3, 127, 174)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
@media (max-width:767px){#page-container h2[data-pin="team-2"]{font-size:21px;line-height:21px}}
#page-container h2[data-pin="team-3"]{font-family:"Open Sans", Arial, sans-serif;font-size:30px;font-weight:500;font-style:normal;line-height:30px;color:rgb(3, 127, 174)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
@media (max-width:767px){#page-container h2[data-pin="team-3"]{font-size:22px;line-height:22px}}
#page-container h2[data-pin="team-4"]{font-family:"Open Sans", Arial, sans-serif;font-size:30px;font-weight:500;font-style:normal;line-height:30px;color:rgb(3, 127, 174)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
@media (max-width:767px){#page-container h2[data-pin="team-4"]{font-size:25px;line-height:25px}}
#page-container h2[data-pin="np-1"]{font-family:"Open Sans", Arial, sans-serif;font-size:48px;font-weight:600;font-style:normal;line-height:67.2px;color:rgb(255, 255, 255)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
#page-container h2[data-pin="np-2"]{font-family:"Josefin Sans", Helvetica, Arial, Lucida, sans-serif;font-size:37px;font-weight:500;font-style:normal;line-height:37px;color:rgb(0, 179, 204)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
#page-container h2[data-pin="np-3"]{font-family:"Josefin Sans", Helvetica, Arial, Lucida, sans-serif;font-size:37px;font-weight:500;font-style:normal;line-height:37px;color:rgb(0, 179, 204)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
#page-container h2[data-pin="np-4"]{font-family:"Josefin Sans", Helvetica, Arial, Lucida, sans-serif;font-size:37px;font-weight:500;font-style:normal;line-height:37px;color:rgb(0, 179, 204)!important;letter-spacing:normal;text-transform:none;text-align:center;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
#page-container h2[data-pin="cp-1"]{font-family:"Open Sans", Arial, sans-serif;font-size:30px;font-weight:500;font-style:normal;line-height:30px;color:rgb(51, 51, 51)!important;letter-spacing:normal;text-transform:none;text-align:left;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
#page-container h2[data-pin="impl-1"]{font-family:"Open Sans", Arial, sans-serif;font-size:30px;font-weight:500;font-style:normal;line-height:30px;color:rgb(51, 51, 51)!important;letter-spacing:normal;text-transform:none;text-align:left;margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:10px;text-shadow:none}
