
/* ============================================================================
   ADA / WCAG 2.2 AA remediation — global rules (child theme ADA-Child)
   Added 2026-10-05. Each block names the barrier ID of the initial audit.
   ========================================================================== */

/* AX-05 Focus visible (2.4.7): double ring works on light and dark backgrounds */
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, summary:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 0 !important;
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px #0d00cc !important;
  border-radius: 2px;
}
.main-nav a:focus-visible, .lqd-mobile-main-nav a:focus-visible, .main-footer a:focus-visible {
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px #0d00cc !important;
}

/* AX-11 / AX-01 Skip links (2.4.3, 2.4.7, 2.5.8): visible and large enough when they receive focus */
.liquid-skip-link { position: absolute; top: 0; left: 0; z-index: 100000; }
.liquid-skip-link:focus-within { clip: auto !important; clip-path: none !important; width: auto !important; height: auto !important; overflow: visible !important; margin: 0 !important; }
.liquid-skip-link a.screen-reader-shortcut:focus {
  position: fixed !important; top: 8px !important; left: 8px !important;
  width: auto !important; height: auto !important; clip: auto !important; clip-path: none !important;
  padding: 12px 18px !important; min-height: 24px; background: #0d00cc !important; color: #ffffff !important;
  font-size: 16px !important; line-height: 1.4 !important; text-decoration: underline; z-index: 100001 !important;
}

/* AX-01 Target size (2.5.8): menu, footer and inline links reach 24 px of height */
.main-nav > li > a, .main-nav .nav-item-children > li > a,
.lqd-mobile-main-nav li > a, #mobile-primary-nav li > a,
.ld-dropdown-menu-content li > a, #menu-account li > a {
  display: inline-flex; align-items: center; min-height: 24px; padding-top: 3px; padding-bottom: 3px; box-sizing: border-box;
}
.main-footer .ld-fh-element a, .main-footer p a, .main-footer li a, .site-header .ld-fh-element a,
.lqd-site-content p a:not(.btn):not(.button), .lqd-site-content li a:not(.btn):not(.button), .wpb_text_column a:not(.btn):not(.button),
.entry-header a[rel="category tag"], .post-meta a, .entry-meta a {
  display: inline-block; min-height: 24px; padding-top: 3px; padding-bottom: 3px; box-sizing: border-box; vertical-align: middle;
}
.lqd-site-content p a img, .main-footer a img { vertical-align: middle; }

/* AX-02 Links in text distinguished only by color (1.4.1): underline links that sit inside text */
.lqd-site-content p a:not(.btn):not(.button):not(.ld-sp-btn), .lqd-site-content li a:not(.btn):not(.button),
.wpb_text_column a:not(.btn):not(.button), .main-footer .ld-fh-element a, .woocommerce-privacy-policy-link,
.entry-content a:not(.btn):not(.button) {
  text-decoration: underline !important; text-underline-offset: 0.15em; text-decoration-thickness: from-font;
}
.main-nav a, .lqd-mobile-main-nav a, .btn, .button, .ld-sp-btn, .navbar-brand { text-decoration: none; }

/* AX-09 Text contrast (1.4.3): grey note in the header bar (#757a83 on #f5f5f5 = 3.95:1 -> #595d66 = 5.6:1) */
.ld-fancy-heading .semi-round.ld-fh-element, .ld-fancy-heading .ld-fh-element.semi-round { color: #595d66 !important; }
/* YITH / WooCommerce add-on labels (#808080 on white = 3.9:1 -> #5c5c5c = 6.3:1) */
.yith-wapo-addon label, .yith-wapo-option label, table.variations th label, .wapo-addon-title { color: #5c5c5c; }
/* Price table "Customer Account" (black on #004d9b = 2.5:1): make strong text white on the blue boxes */
.vc_row-has-fill[style*="004d9b"] strong, .wpb_wrapper .vc_custom_1710613553722 strong { color: #ffffff; }

/* AX-03 Focus not obscured (2.4.11): leave room for the sticky header and the cookie banner when scrolling to a focused control */
html { scroll-padding-top: 120px; scroll-padding-bottom: 140px; }
.lqd-gdpr.lqd-gdpr-visible ~ * { scroll-margin-bottom: 140px; }

/* AX-13 Submenus operable with the keyboard (2.1.1): open on focus / Enter, see JS */
.main-nav li.menu-item-has-children.lqd-a11y-open > .nav-item-children,
.main-nav li.menu-item-has-children:focus-within > .nav-item-children {
  display: block !important; opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto !important;
}

/* AX-04 / AX-11 Keep hidden slides and collapsed panels out of the Tab order (handled in JS); cursor hint for toggles */
.ld-module-trigger[role="button"] { cursor: pointer; }

/* Reduced motion: respect user preference (2.3.3 best practice, no layout change) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* v1.0.1 — AX-01 extra targets: small image links in the header bar, footer menus, social icons */
.site-header .ld-fh-element a, .lqd-head-sec-wrap .ld-fh-element a { display: inline-flex !important; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; }
.main-footer ul li a, #footer ul li a, .main-footer .menu a, .lqd-fh-element a { display: inline-block; min-height: 24px; padding-top: 3px; padding-bottom: 3px; box-sizing: border-box; }
.social-icon a, .lqd-social a, .main-footer a[href*="facebook"], .main-footer a[href*="linkedin"], .main-footer a[href*="twitter"], .main-footer a[href*="instagram"], .main-footer a[href*="youtube"] { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; }

/* v1.0.2 — submenus and skip links must appear instantly for keyboard users (no fade), 1.4.1 bold text on colored footer rows */
.main-nav li.menu-item-has-children.lqd-a11y-open > .nav-item-children,
.main-nav li.menu-item-has-children:focus-within > .nav-item-children,
.main-nav li.menu-item-has-children.lqd-a11y-open > .nav-item-children > li,
.main-nav li.menu-item-has-children:focus-within > .nav-item-children > li { transition: none !important; animation: none !important; }
.liquid-skip-link a.screen-reader-shortcut:focus { transition: none !important; }
.main-footer .ld-fh-element strong, .main-footer .ld-fh-element b, .vc_row-has-fill .ld-fh-element strong, .vc_row-has-fill .ld-fh-element b { color: inherit !important; }
body.lqd-a11y-gdpr-open { padding-bottom: 72px; }

/* v1.0.3 — AX-02 links inside WPBakery fancy headings / text elements; AX-09 Affiliate dashboard greys (3.2:1 / 2.5:1 -> >= 5:1) */
.lqd-site-content .ld-fh-element a:not(.btn):not(.button), .lqd-site-content .ld-fancy-heading a:not(.btn):not(.button) { text-decoration: underline !important; text-underline-offset: 0.15em; }
.afwc-kpi-title, .afwc-kpi-box .afwc-kpi-title { color: #5b6471 !important; }
.afwc-dashboard .nav-tab, a.nav-tab, #afwc_date_range_container div, #afwc_date_range_container span, .afwc-date-range-label { color: #5c5c5c !important; }
.afwc-dashboard .nav-tab.nav-tab-active, a.nav-tab.nav-tab-active { color: #1d2327 !important; }

/* v1.0.4 — AX-01: skip links and footer menu items keep a 24 px box and 4 px spacing even when not focused */
.liquid-skip-link a.screen-reader-shortcut { display: inline-block; min-height: 26px; line-height: 26px; padding: 0 4px; margin: 2px; }
.main-footer ul li a, #footer ul li a, .main-footer .menu a { min-height: 26px; padding: 4px 6px; margin: 2px 0; }
/* v1.0.4 — AX-11 / 2.4.7: hover-revealed "Add to cart" controls in product grids stay visible while focused */
.lqd-site-content figure:focus-within, .lqd-site-content figure:focus-within *, .ld-sp:focus-within .ld-sp-btn, .ld-sp-btn:focus-visible { opacity: 1 !important; visibility: visible !important; transform: none !important; transition: none !important; }

/* v1.0.4 — submenu visibility for every menu copy (header, sticky bar, mobile) when opened from the keyboard */
li.menu-item-has-children.lqd-a11y-open > ul, li.menu-item-has-children:focus-within > ul,
li.menu-item-has-children.lqd-a11y-open > ul > li, li.menu-item-has-children:focus-within > ul > li,
li.menu-item-has-children.lqd-a11y-open > ul > li > a, li.menu-item-has-children:focus-within > ul > li > a {
  display: block !important; opacity: 1 !important; visibility: visible !important; transform: none !important; transition: none !important; pointer-events: auto !important;
}

/* v1.0.6 — AX-02: links inside WPBakery fancy headings anywhere on the page (e.g. "Read More" in column text) */
.ld-fh-element a:not(.btn):not(.button):not(.ld-sp-btn), .ld-fancy-heading a:not(.btn):not(.button):not(.ld-sp-btn) { text-decoration: underline !important; text-underline-offset: 0.15em; }
.site-header .navbar-brand, .site-header .ld-fh-element a img { text-decoration: none !important; }
