/* Wilson Dental Associates: small additions on top of the live stylesheet. */

.wda-hero-video{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);object-fit:cover;object-position:center;pointer-events:none}

/* Footer hours: one platform-rendered row per line, same look as the live <br>-separated text. */


/* Nav "solid" state for pages without the live scroll interaction (platform-generated pages). Same values as the live end-of-scroll state. */
.component_nav.is-solid{background-color:#fff}
.component_nav.is-solid .component_header_link,.component_nav.is-solid .component_mega_menu_toggle,.component_nav.is-solid .component_top_nav_card,
.component_nav.is-solid .component_header_dropdown_toggle,.component_nav.is-solid a.component_header_button[href^="tel:"]{color:#3e4264}
.component_nav.is-solid .component_header_button{border-color:#babbce}
.component_nav.is-solid .component_header_logo{filter:invert(100%)}

/* Sliders (comfort + testimonials) are only sliders on mobile, like live. */
[data-wda-slider] .swiper-wrapper{transition-property:transform;transition-timing-function:ease}

/* Respect reduced-motion. */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v1.5: homepage card buttons are a curated list. If the client does not offer one of the services, the platform removes that
   link and leaves its empty wrapper; hide the wrapper so the grid closes up instead of showing a hole. No effect otherwise. */
.home_services_link_item:empty{display:none}

/* v1.5: homepage card buttons carry the APEX Library service name; the live all-caps look is CSS (the text is not typed in caps) */
.home_services_link_description p { text-transform: uppercase; }

/* v1.5: Library names on the homepage card buttons are longer than live's one-word labels. From 1280px the buttons are
   162-203px wide and EMERGENCY DENTISTRY / FLUORIDE TREATMENTS wrapped to 2 lines (live: 1 line). Keep every label on one
   line (no effect on labels that already fit) and tighten only the 2 long ones by .02em so they stay inside the padding. */
@media screen and (min-width:1280px){.home_services_link_description p{white-space:nowrap}.home_services_link[data-rdp-service-link="emergency-dentistry"] .home_services_link_description p,.home_services_link[data-rdp-service-link="fluoride-treatments"] .home_services_link_description p{letter-spacing:-.02em}}
/* v1.5: footer group links (#cosmetic-dentistry, #family-preventive, #restorative-care) land below the sticky nav */
[data-rdp-services-directory],[data-rdp-services-directory] [data-rdp-menu-group]{scroll-margin-top:var(--wda-anchor-offset,0px)}




/* v1.9e: insurance card intro paragraphs */
.wda-insurance-intro{display:flex;flex-direction:column;gap:.75rem}
.wda-insurance-intro p{margin:0}
.home_financing_bullet_wrap[role="list"]{display:flex;flex-direction:column;gap:.75rem}

/* Skip link: hidden until focused, then shown top-left above the header. */
a[data-rdp-skip-link]:focus,a[data-rdp-skip-link]:focus-visible{position:fixed !important;top:.75rem !important;left:.75rem !important;width:auto !important;height:auto !important;margin:0 !important;padding:.75rem 1.25rem !important;overflow:visible !important;clip:auto !important;clip-path:none !important;white-space:nowrap !important;border:0 !important;z-index:10000 !important;background-color:#3e4264 !important;color:#fff !important;font-family:var(--_font---font-body);font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;outline:2px solid #bacebb !important;outline-offset:2px}

/* Desktop nav: invisible hover bridge between dropdown toggles and their panels */
@media screen and (min-width: 992px) {
  .component_header_dropdown_toggle,
  .component_mega_menu_toggle { position: relative; }
  .component_header_dropdown_toggle::after,
  .component_mega_menu_toggle::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 2.25rem;
  }
}
