/* WCAG AA Accessibility - accessibility-only helpers (no logo/menu/hero text changes) */

:root {
  --wcag-aa-focus: #111111;
  --wcag-aa-focus-bg: #ffffff;
}


/* Header/menu/logo color is intentionally not changed by this plugin. */

/* Contrast fixes only for shop/product content. Do not target header/menu/hero text. */
body .main-page-wrapper :is(.price, .price *, .amount, .amount *, bdi, .woocommerce-Price-amount, .woocommerce-Price-amount *) {
  color: #242424 !important;
}

body .main-page-wrapper :is(.product-title, .product-title a, .wd-entities-title, .wd-entities-title a, .woocommerce-loop-product__title, .woocommerce-loop-product__title a) {
  color: #242424 !important;
}

body .main-page-wrapper :is(.elementor-button, .button, button, input[type="submit"]):not(.mfp-close):not(.lumiira-mobile-close) {
  color: #ffffff !important;
  background-color: #242424 !important;
}


/* Do not change colors/backgrounds in header/menu/hero. Only slightly increase header text/icons as requested. */
.whb-header .wd-nav > li > a,
.wd-header .wd-nav > li > a,
.whb-main-header .wd-nav > li > a {
  font-size: 17px;
}

.whb-header .wd-tools-element,
.wd-header .wd-tools-element,
.whb-main-header .wd-tools-element {
  font-size: 20px;
}

.whb-header .wd-tools-icon,
.wd-header .wd-tools-icon,
.whb-main-header .wd-tools-icon {
  font-size: 22px;
}

.whb-header .wd-tools-icon svg,
.wd-header .wd-tools-icon svg,
.whb-main-header .wd-tools-icon svg,
.whb-header .wd-tools-element svg,
.wd-header .wd-tools-element svg,
.whb-main-header .wd-tools-element svg {
  width: 22px;
  height: 22px;
}

/* Keep clickable icon targets large enough without changing visual colors. */
.wd-tools-element > a,
.wd-header-cart > a,
.wd-header-wishlist > a,
.wd-header-my-account > a,
.wd-search-opened .wd-search-close,
.wd-action-btn > a,
.wd-action-btn > button,
.wd-wishlist-btn > a,
.wd-compare-btn > a,
.wd-quick-view-btn > a,
.wd-clear-search,
.mfp-close,
button.mfp-close,
.owl-prev,
.owl-next,
.slick-prev,
.slick-next,
.swiper-button-prev,
.swiper-button-next {
  min-width: 44px;
  min-height: 44px;
}

/* Keyboard focus visibility. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible,
.wd-fill:focus-visible,
.elementor-button:focus-visible,
.add_to_cart_button:focus-visible,
.single_add_to_cart_button:focus-visible,
.owl-prev:focus-visible,
.owl-next:focus-visible,
.slick-arrow:focus-visible,
.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible {
  outline: 3px solid var(--wcag-aa-focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px var(--wcag-aa-focus-bg) !important;
}

/* Screen-reader text helper. */
.screen-reader-text,
.sr-only,
.wcag-aa-sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  word-wrap: normal !important;
}

.screen-reader-text:focus,
.sr-only:focus,
.wcag-aa-sr-only:focus {
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  width: auto !important;
  display: block !important;
  z-index: 1000000 !important;
  left: 8px !important;
  top: 8px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  color: #111111 !important;
  border: 3px solid #111111 !important;
  text-decoration: none !important;
}

/* Skip links must become visible and keyboard-focusable when tabbed. */
a.wd-skip-navigation:focus,
a.wd-skip-navigation:focus-visible,
a.skip-link:focus,
a.skip-link:focus-visible,
a.ea11y-skip-to-content-link:focus,
a.ea11y-skip-to-content-link:focus-visible,
a.ea11y-skip-to-content:focus,
a.ea11y-skip-to-content:focus-visible {
  position: fixed !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 1000000 !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  color: #111111 !important;
  border: 3px solid #111111 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

/* Prevent motion issues for users who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Keep Woodmart skip links valid for audits, but visually hidden until focus. */
.wd-skip-links a.wd-skip-navigation,
.wd-skip-links a.wd-skip-content,
a.ea11y-skip-to-content-link {
  position: absolute !important;
  left: 8px !important;
  top: 8px !important;
  z-index: 1000000 !important;
}
.wd-skip-links a.wd-skip-navigation:not(:focus):not(:focus-visible),
.wd-skip-links a.wd-skip-content:not(:focus):not(:focus-visible),
a.ea11y-skip-to-content-link:not(:focus):not(:focus-visible) {
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px,1px,1px,1px) !important;
  clip-path: inset(50%) !important;
}


/* v1.9: sticky Woodmart header background should be white, not grey/dark. */
body .whb-sticky-header,
body .whb-sticky-header.whb-clone,
body .whb-clone.whb-sticked,
body .whb-header.whb-sticked,
body .whb-sticked .whb-row,
body .whb-sticked .whb-general-header,
body .whb-sticked .whb-header-bottom,
body .whb-sticked .whb-main-header,
body .whb-sticky-header .whb-row,
body .whb-sticky-header .whb-general-header,
body .whb-sticky-header .whb-header-bottom {
  background-color: #ffffff !important;
  background: #ffffff !important;
}

body .whb-sticky-header,
body .whb-clone.whb-sticked {
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
}

/* v2.0: Ultimate Addons / UC product grid price contrast fixes. */
body .main-page-wrapper .uc_regular_price,
body .main-page-wrapper .uc_regular_price--single {
  opacity: 1 !important;
  color: #242424 !important;
  background-color: #ffffff !important;
}

body .main-page-wrapper .uc_regular_price *,
body .main-page-wrapper .uc_regular_price--single *,
body .main-page-wrapper .uc_sale_currency,
body .main-page-wrapper .uc_price,
body .main-page-wrapper .uc_price *,
body .main-page-wrapper .ue-grid-item-meta-data,
body .main-page-wrapper .ue-grid-item-meta-data * {
  color: #242424 !important;
}

body .main-page-wrapper .uc-button-addcart,
body .main-page-wrapper a.uc-button-addcart,
body .main-page-wrapper .ue-variable-btn,
body .main-page-wrapper a.ue-variable-btn {
  color: #ffffff !important;
  background-color: #242424 !important;
  border-color: #242424 !important;
}

body .main-page-wrapper .uc-button-addcart i,
body .main-page-wrapper .ue-variable-btn i {
  color: inherit !important;
}

