/* sportdimona - accessibility remediation 2026-10-14 (step s5-contrast), loaded by mu-plugins/sd-a11y-contrast.php
   C3: in-text link underlines (WCAG 1.4.1), HOD consent colours on dark forms (1.4.3), hero tint (1.4.3),
       320px reflow (1.4.10), tenders load-more text (1.4.3), select2 placeholder (1.4.3).
   fix-wave (2026-10-15): blocks H (background-colour under image layers, hero classes set by core.js), I (home counter, /acfoot/ + /hogim24/ CTA overlay), J (hidden text).
   Revert: delete mu-plugins/sd-a11y-contrast.php and this file. */

/* A. In-text links: underline. The Customizer Additional CSS (post 1177) has a{text-decoration:none!important};
      "body .x p a" (0,1,3) + !important beats "a" (0,0,1) + !important. Scoped to running text only:
      text-editor / post-content paragraphs and list items, the HOD consent line and the cookie-banner privacy link.
      Menus, buttons, cards, icon lists and headings keep their current look. */
body .elementor-widget-text-editor p a:not(.elementor-button),
body .elementor-widget-text-editor li a:not(.elementor-button),
body .elementor-widget-theme-post-content p a:not(.elementor-button),
body .elementor-widget-theme-post-content li a:not(.elementor-button),
body .elementor-tab-content p a:not(.elementor-button),
body .elementor-tab-content li a:not(.elementor-button),
body .entry-content p a:not(.elementor-button),
body .eli-consent-text a,
body #eli-cookie-banner a.eli-cookie-privacy{text-decoration:underline!important;text-underline-offset:.18em}
/* list items of classic / block-editor content only: Elementor icon lists and menus (inside .elementor) are excluded.
   Kept as its own rule so a browser without complex :not() drops only this rule. */
body .entry-content li a:not(.elementor a):not(.elementor-button){text-decoration:underline!important;text-underline-offset:.18em}

/* B. HOD consent line injected into Elementor forms on dark backgrounds (plugin paints the wrapper #222 and links #0a66c2 inline).
      White on #243668 = 11.65:1, on #0377B3 = 4.89:1; #1a1a1a on the lime extreme-park footer = 9.8:1. */
.elementor-element-14421c2 .eli-consent-field,.elementor-element-14421c2 .eli-consent-field label,.elementor-element-14421c2 .eli-consent-field a,
.elementor-element-eaf7584 .eli-consent-field,.elementor-element-eaf7584 .eli-consent-field label,.elementor-element-eaf7584 .eli-consent-field a,
.elementor-element-d9d7018 .eli-consent-field,.elementor-element-d9d7018 .eli-consent-field label,.elementor-element-d9d7018 .eli-consent-field a{color:#fff!important}
.elementor-element-018ab8e .eli-consent-field a{color:#1a1a1a!important}

/* C. Hero sections (first top section of every page / single template: photo or slideshow + PNG wave overlay):
      35% navy tint under the wave so the white headings keep >= 3:1 on every slideshow frame. */
[data-elementor-type="wp-page"]>.elementor-top-section:first-child>.elementor-background-overlay,
[data-elementor-type="single-post"]>.elementor-top-section:first-child>.elementor-background-overlay,
[data-elementor-type="single-page"]>.elementor-top-section:first-child>.elementor-background-overlay{background-color:rgba(17,33,77,.35)}

/* D. Reflow at 320px: the long e-mail address in icon lists wraps; mobile form fields (all 100% wide) lose the 45px column-gap gutters. */
.elementor-icon-list-text{overflow-wrap:anywhere}
@media (max-width:767px){
 .elementor-widget-form .elementor-form-fields-wrapper{margin-left:0!important;margin-right:0!important}
 .elementor-widget-form .elementor-field-group{padding-left:0!important;padding-right:0!important}
}

/* F. /tenders/ loop-grid "load more" button: orange background with default white text (2.26:1) -> navy (5.14:1).
      Scoped to the load-more container so the navy buttons inside the loop items are untouched. */
.elementor-element-9dbbcdc .e-load-more-container .elementor-button{color:#243668!important}

/* E. ACF / select2 placeholder #999 (2.84:1) -> #666 (5.74:1). */
.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#666!important}

/* G. /countryclub/ facilities strip (page 536, HTML widget 3589e3a) under prefers-reduced-motion: reduce (fix round 2026-10-14, key countryclub).
      The widget's own reduced-motion fallback stacks the six cards instead of the 400vh sticky side-scroller. Two Elementor
      offsets that used to land on the empty white parts of the 100vh sticky viewport now land on content:
      - section 1f93f93 has margin-top:-186px, which slid the top 179px of the strip under the opaque white #about-section
        (a2d2b16, z-index 3): the first card's title 'חדרי סטודיו', its text and the top of its photo were hidden -> offset removed.
      - #regi (inner section 9baf62d, margin-top -113px / -101px on mobile) covered the bottom 93px / 62px of the last photo
        -> card starts below the strip (about 40px clear gap at every width).
      Normal motion is untouched: everything is inside this media query. Revert: delete block G. */
@media (prefers-reduced-motion:reduce){
 .elementor-536 .elementor-section.elementor-element.elementor-element-1f93f93{margin-top:0}
 .elementor-536 .elementor-section.elementor-element.elementor-element-9baf62d{margin-top:20px}
}
@media (prefers-reduced-motion:reduce) and (max-width:767px){
 .elementor-536 .elementor-section.elementor-element.elementor-element-9baf62d{margin-top:0}
}

/* H. fix-wave (2026-10-15, revised r2): background-COLOUR under image layers for colour-only checkers (WCAG 1.4.3, F24).
      WebAIM WAVE takes the nearest background-color and ignores background images, slideshows, videos and overlay layers,
      so white text over a photo was measured against the white <body> (1:1). The image carriers get the colour that is
      visually behind the text, in a way that is never painted where it could be seen:
      H1 hero = first top section of a page / single template with the overlay of block C. core.js adds the class only
         while the picture is really there, so nothing changes on screen, also not while the page loads:
         .sd-bgfill        own background image loaded + decoded, background slideshow built, or background video shown
                           with a frame: brand navy #243668 (white 11.65:1) painted under the picture.
         .sd-bgfill-blank  hero without any picture (single template without featured image, /extremepark/ on phones):
                           the same navy plus a white ::before over it, i.e. the white page that showed before.
         Elementor's "background .3s" transition is dropped on these two classes only (no hero has a hover background),
         so a checker never catches a half-faded colour.
      Slideshow layer white: Elementor's "fade" lets whatever is under the slides show through (up to 25% mid-crossfade,
         fully while a lazy-loaded slide is still downloading); that used to be the white page, so the layer is white.
      /extremepark/ on phones: the video layer is elementor-hidden-phone; a white ::before keeps the white page under the
         overlay at once when a window is narrowed below 768px (core.js switches the class on resize).
      H2 Call-to-Action cover cards (home, /hogim24/, /acfoot/): their overlay colour #125EAD (white 6.5:1) on the card, clipped
         to the text (background-clip:text, so it is not painted at the rounded, anti-aliased card edges) and covered by a white
         ::before under the image layer (z-index 1), the white Elementor showed at the 1px seam.
      Verified 2026-10-15 (r2): two-colour paint test (fallback magenta vs lime) after load with every slide, crossfade
      and CTA hover frame, and from first paint during load (phone, CPU 4x): fallback never visible. Revert: delete block H. */
.sd-bghero{transition:border .3s,border-radius .3s,box-shadow .3s!important}
.sd-bgfill,.sd-bgfill-blank{background-color:#243668}
.sd-bgfill-blank::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}
[data-elementor-type="wp-page"]>.elementor-top-section:first-child>.elementor-background-slideshow,
[data-elementor-type="single-post"]>.elementor-top-section:first-child>.elementor-background-slideshow,
[data-elementor-type="single-page"]>.elementor-top-section:first-child>.elementor-background-slideshow{background-color:#fff}
@media (max-width:767px){
 [data-elementor-type="wp-page"]>.elementor-top-section:first-child:has(>.elementor-background-video-container.elementor-hidden-phone)::before,
 [data-elementor-type="single-post"]>.elementor-top-section:first-child:has(>.elementor-background-video-container.elementor-hidden-phone)::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}
}
.elementor-widget-call-to-action.elementor-cta--skin-cover .elementor-cta{background-color:#125EAD;-webkit-background-clip:text;background-clip:text}
.elementor-widget-call-to-action.elementor-cta--skin-cover .elementor-cta::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff}

/* I. Real contrast fixes found by the pixel check (screenshot with the text hidden, 10th percentile of the pixels behind the glyphs).
      I1 home counter "+20" (widget 39e34e1): white on the flat orange of allhogim.jpg = 2.26:1 (fails 3:1 even at 100px)
         -> navy #243668 = 5.16:1. Same navy as the site's buttons.
      I2 /acfoot/ CTA cards 188a65e7 + 5c718533 up to 1024px (titles 20px, not large text): white over the photo through the 70%
         (hover 65%) #125EAD overlay, 10th percentile 3.81:1 (390px) / 4.30:1 (600px) -> overlay 85%: 4.95:1 / 5.34:1.
         Desktop (26px, large text, 4.9:1) keeps the 70% overlay.
      I3 /hogim24/ CTA cards 2512d88 'אומנויות לחימה' + 9e005de 'שחייה וקאנטרי' at 768-1024px (titles 20px between 768 and 959px):
         4.44:1 / 4.06:1 through the 70% overlay -> overlay 85%: 5.42:1 / 5.15:1. Phone and desktop keep the 70% overlay. */
.elementor-element.elementor-element-39e34e1 .elementor-counter-number-wrapper{color:#243668!important}
@media (max-width:1024px){
 .elementor-element-188a65e7 .elementor-cta .elementor-cta__bg-overlay,
 .elementor-element-5c718533 .elementor-cta .elementor-cta__bg-overlay{background-color:rgba(18,94,173,.85)!important}
}
@media (min-width:768px) and (max-width:1024px){
 .elementor-element-2512d88 .elementor-cta .elementor-cta__bg-overlay,
 .elementor-element-9e005de .elementor-cta .elementor-cta__bg-overlay{background-color:rgba(18,94,173,.85)!important}
}

/* J. Visually hidden text (clipped 1px boxes that are never seen): colour-only checkers still measure it (#69727d on the #353535
      footer social icons 2.51:1, #1a1a1a newsletter label on navy 1.49:1). Explicit passing pair, 21:1, no visible change.
      The focused skip link (.skip-link.screen-reader-text:focus, core.css) is excluded by :not(:focus) and keeps navy/white. */
.elementor-screen-only,.sd-sr-only,.screen-reader-text:not(:focus){color:#fff!important;background-color:#000!important}
@media (min-width:768px) and (max-width:1024px){
 .elementor-element-dc212b4 .elementor-cta:hover .elementor-cta__bg-overlay{background-color:rgba(18,94,173,.85)!important}
}
