/* Bajka 2.7: WCAG 2.1 AA accessibility strengthening.
   Controls, focus, contrast, reflow and reduced motion. No overlays and no JS dependencies. */

/* An accessible name or long document title must never be visually clipped. */
.bajka-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;clip-path:inset(50%)!important;}

/* Skip to the page content regardless of the sticky header and WP admin bar. */
.skip-link {position:fixed;left:12px;top:-200px;z-index:99999!important;background:#fff;color:#123c45;font-size:1rem;font-weight:700;border:2px solid #06666d;border-radius:6px;padding:12px 19px;text-decoration:underline;}
.skip-link:focus,.skip-link:focus-visible {top:12px;outline:3px solid #093d49;outline-offset:3px;}
#main-content:focus {outline:none;} /* Programmatic focus target is not an interactive control. */
#main-content {scroll-margin-top:120px;}

/* Focus indication visible for all interactive elements, not only links in the opening section. */
:where(a,button,input,select,textarea,summary,[role="button"],[tabindex]:not([tabindex="-1"])):focus-visible {outline:3px solid #005b63!important;outline-offset:3px!important;}
.site-footer :where(a,button):focus-visible,
.utility-strip :where(a,button):focus-visible,
.section-gradient :where(a,button):focus-visible,
.b9-closer :where(a,button):focus-visible,
.b9-home .b9-closer :where(a,button):focus-visible {outline-color:#fff!important;box-shadow:0 0 0 5px #143b43;}

/* Avoid content hidden under a sticky header when navigating via anchors. */
[id] {scroll-margin-top:110px;}

/* Standard text 4.5:1 (small labels previously used low-contrast blue-grey). */
.b9-home .b9-slider-index {color:#4e6971!important;}
.b9-home .b9-slider-facts small {color:#536b72!important;}
.b9-home .b9-slider-dot {color:#3d5d65;}
.b9-home .b9-slider-dot.is-current {color:#045c65;}
.b9-home .b20-booking-eyebrow {color:#4a656b;}
.b9-home .b20-booking-hours {color:#506a70;}
.b9-home .b21-care-label {color:#3b6269!important;}
.gallery-page .gallery-tag {color:#245e61;}

/* Hit areas for the primary menu and carousel, on mouse and touch. */
.nav-toggle {min-height:44px;min-width:44px;cursor:pointer;}
.b9-home .b9-slider-control,
.b9-home .b9-slider-pause,
.b9-home .b9-slider-dot {min-height:44px;}
.b9-home .b9-slider-control {width:44px;}

/* Don't render hidden slides as interactive, after JS has enhanced the carousel. */
.b9-slider[data-b9-enhanced="true"] .b9-slider-slide[inert] {pointer-events:none;}
/* No JavaScript: show every place in a readable sequence with functioning links. */
.b9-slider:not([data-b9-enhanced="true"]) .b9-slider-stage {display:grid;grid-template-columns:minmax(0,1fr);gap:22px;border:0;box-shadow:none;background:transparent;overflow:visible;}
.b9-slider:not([data-b9-enhanced="true"]) .b9-slider-slide {grid-area:auto;visibility:visible;opacity:1;pointer-events:auto;position:static;}
.b9-slider:not([data-b9-enhanced="true"]) .b9-slider-toolbar {display:none;}

/* Allow users to enlarge text / reflow within narrow viewports. */
.site-header,.header-inner,.main-nav,.b9-home,.page-shell {min-width:0;}
.b9-home a,.b9-home button,.contact-page a,.bajka-clinic a,.bajka-dir a {overflow-wrap:break-word;}
@media(max-width:820px) {
  .main-nav.is-open {max-height:min(75dvh,650px);overscroll-behavior:contain;}
  .main-nav .nav-items a {min-height:44px;}
}
@media(max-width:420px) {
  .b9-home .b9-slider-controls {flex-wrap:wrap;}
  .b9-home .b9-slider-dot {padding:10px 9px;}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto!important;}
  *,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .b9-slider-slide {transition:none!important;}
}
@media(forced-colors:active) {
  :where(a,button,input,select,textarea,summary):focus-visible {outline:3px solid Highlight!important;}
  .b9-home .b9-slider-dot.is-current {border-bottom:3px solid Highlight!important;}
  .b9-home .b9-slider-control,.b9-home .b9-slider-pause {border:1px solid ButtonText;}
}

/* v2.8: keyboard-accessible informational links and correct 320 CSS px reflow. */
.b28-mobile-utility {display:none;}
@media(max-width:820px) {
  /* Without JS the navigation is visible by default rather than completely inaccessible. */
  .main-nav {display:block;position:static;order:5;flex-basis:100%;max-height:none;overflow:visible;box-shadow:none;border-top:1px solid #d9e7e7;}
  body.b28-js .main-nav {display:none;position:absolute;order:initial;flex-basis:auto;top:100%;left:0;right:0;max-height:min(75dvh,650px);overflow-y:auto;box-shadow:0 15px 35px rgba(15,48,55,.12);background:#fff;}
  body.b28-js .main-nav.is-open {display:block;}
  body:not(.b28-js) .nav-toggle {display:none;}
  .b28-mobile-utility {display:flex;flex-direction:column;align-items:stretch;gap:2px;border-top:1px solid #dce8e9;margin:0 22px 15px;padding-top:10px;}
  .b28-mobile-utility a {display:block;min-height:44px;padding:11px 8px;color:#153b45;font-size:.94rem;text-decoration:underline;text-underline-offset:3px;}
  .b28-mobile-utility a:focus-visible {outline:3px solid #005b63;outline-offset:2px;}
}
@media(max-width:420px) {
  .site-container.header-inner {gap:6px;flex-wrap:wrap;}
  .header-inner .logo-image {width:140px;max-width:100%;}
  .header-inner .bajka-eu-brand {width:62px;flex:0 0 62px;}
  .header-inner .bajka-eu-brand img {width:62px;}
  .header-inner .nav-toggle {flex:0 0 44px;width:44px;min-width:44px;height:44px;overflow:hidden;display:flex;justify-content:center;padding:8px;gap:0;}
  .nav-toggle span:last-child {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);}
  .header-inner .main-nav {min-width:0;width:100%;}
  .main-nav .nav-items {width:100%;}
}
