/* sportdimona a11y – interactive widgets
   Accessibility remediation 2026-10-14, step s4-widgets (W7 + critic X8) + fix-widgets round, loaded by mu-plugins/sd-a11y-widgets.php.
   Revert: delete mu-plugins/sd-a11y-widgets.php (stops loading this file) and this file. */

/* WCAG 2.2.2 pause/play control injected by widgets.js */
.sd-motion-toggle {
  position: absolute;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: rgba(17, 24, 39, .78);
  color: #ffffff;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
}
/* beat Astra button:hover / button:focus (0,1,1) colours */
.sd-motion-toggle:hover,
.sd-motion-toggle:focus { background: rgba(17, 24, 39, .95); border-color: #ffffff; color: #ffffff; }
.sd-motion-toggle:focus-visible { outline: 3px solid #ff9029; outline-offset: 2px; }
.sd-motion-toggle svg { width: 18px; height: 18px; pointer-events: none; }
.sd-motion-toggle--bg { top: 16px; left: 16px; bottom: auto; }
/* fix-widgets R1: z-index above Swiper's full-width .swiper-pagination (z-index 10), which covered the button
   for mouse and touch. The dots row keeps 40px free at both ends, so the button never covers a dot. */
.sd-motion-toggle--carousel { bottom: 0; left: 0; width: 30px; height: 30px; z-index: 11; }
.sd-motion-toggle--carousel svg { width: 14px; height: 14px; }
.elementor-widget:has(> .sd-motion-toggle--carousel) .swiper-pagination { padding-left: 40px; padding-right: 40px; box-sizing: border-box; }

/* fix-widgets: image-carousel slide links (/waterspinning/ lightbox gallery). The inline <a> wraps a block <figure>,
   so core.css's ring was painted under the image (2.4.7). While focused, shrink the link to the image (same
   position: it was centred by text-align) and paint core.css's two-tone ring (3px #11214D + 2px white) over it.
   The transparent outline shows in Windows high-contrast mode, where box-shadow is dropped. */
:root body .elementor-widget-image-carousel .swiper-slide > a:focus-visible:not(#sd-a11y) {
  display: block; position: relative; width: -moz-fit-content; width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto;
  outline: 3px solid transparent !important; outline-offset: -3px !important; box-shadow: none !important;
}
:root body .elementor-widget-image-carousel .swiper-slide > a:focus-visible:not(#sd-a11y)::after {
  content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; pointer-events: none;
  box-shadow: inset 0 0 0 3px #11214D, inset 0 0 0 5px #ffffff;
}

/* Elementor Tabs: one ARIA pattern (tabs) on every breakpoint – the
   accordion-style mobile titles are stripped of ARIA by the PHP filter */
.elementor-widget-tabs .elementor-tab-mobile-title { display: none !important; }
@media (max-width: 767px) {
  .elementor-widget-tabs .elementor-tabs-wrapper { display: flex !important; flex-wrap: wrap; }
}

/* e-signature display-only signature is not interactive */
.signature-wrapper-displayonly-signed .signed { cursor: default !important; }

/* The HOD cookie banner (z-index 2147483645) sits on top of the contact FAB until a choice is made
   (desktop 728-1348 x 771-882; mobile 12-378 x 608-766). fix-widgets: instead of hiding the FAB, lift it above
   the banner while the banner is shown. The FAB box (post-20.css) is a 0-height anchor: the 56px button hangs
   below it and the menu opens above it, so anchor = banner top - 56px - 12px gap.
   --sd-cookie-h (core.js) = viewport height - banner top; never lower than the FAB's own 80px. */
body:has(#eli-cookie-banner:not([hidden])) .fab-container { bottom: max(80px, calc(var(--sd-cookie-h, 0px) + 68px)); }

/* Carousel dots (now real buttons): WCAG 2.5.8 target spacing (≥24px between dot centres, was 18px)
   and 1.4.11 non-text contrast (inactive dot was rgba(0,0,0,.2) ≈ #ccc on white = 1.6:1). */
.elementor-widget .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 10px !important; opacity: .6; }
.elementor-widget .swiper-pagination-bullets .swiper-pagination-bullet-active { opacity: 1; transform: scale(1.35); }

/* X8 (from G6): Ken Burns zoom stops with HOD "עצירת אנימציות" and with the OS reduce-motion setting (WCAG 2.2.2, 2.3.3) */
html.eli-a11y-stop-animations .elementor-ken-burns { transition: none !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  .elementor-ken-burns { transition: none !important; transform: none !important; }
  .elementor-motion-effects-element, .elementor-motion-effects-layer { transform: none !important; transition: none !important; }
  html { scroll-behavior: auto !important; }
}
