/**
 * Bootleggers Accessibility stylesheet.
 * WCAG 2.1 AA overrides for the Adrenalin theme, WooCommerce, WPBakery,
 * YITH, and Iconic Swatches. Loaded after theme styles.
 * Work unit references per block. Author: Indelible.
 */

/* The injected <main> wrapper (04-output-filter.php). */
main#bla11y-main {
    display: block;
}

/* ==========================================================================
   Focus visibility. 1,296 work units / 132,060 findings (focus-visible).
   The theme and bundled Bootstrap suppress outlines (outline: none / 0)
   across interactive elements. A two-color ring keeps at least 3:1
   contrast against any adjacent background, light or dark.
   ========================================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 0 !important;
    box-shadow: 0 0 0 5px #1a4d8f !important;
}

/* Fallback for browsers without :focus-visible support. */
@supports not selector(:focus-visible) {
    a:focus,
    button:focus,
    input:focus,
    select:focus,
    textarea:focus,
    [tabindex]:focus {
        outline: 2px solid #ffffff !important;
        outline-offset: 0 !important;
        box-shadow: 0 0 0 5px #1a4d8f !important;
    }
}

/* ==========================================================================
   Color contrast. 16 work units / 21,404 findings (color-contrast).
   Rules and replacement colors from contrast-source-analysis.md.
   ========================================================================== */

/* Pair 1: #B2B2B2 on white, product loop cart buttons (13,166 findings).
   Source: Redux option cg_product_loop_cart_button_text_color. */
.products .button.add_to_cart_button,
.products .button.product_type_variable,
.products .button.product_type_simple {
    color: #595959 !important; /* 7.0:1 on white */
}

/* Pair 2: black on #3E663F, footer address (4,924 findings).
   Source: Redux option cg_first_footer_bg. */
.footer-address,
.footer-address li,
.footer-address a {
    color: #ffffff !important; /* 5.09:1 on #3E663F */
}

/* Pair 4: #888888 on white, View Cart button and Iconic Swatches
   "No selection" text (1,249 findings). */
.wc-forward.button,
.button.wc-forward {
    color: #595959 !important;
}

/* Iconic Swatches mutes text with opacity, which blends it below 4.5:1
   no matter what color is set (#595959 at 0.5 opacity over white renders
   as #acacac). Replace the transparency with a solid passing gray. */
.iconic-was-chosen-attribute__no-selection {
    opacity: 1 !important;
    color: #767676 !important;
}

/* Out-of-stock / disabled text swatches: same opacity trick (#666 at 0.3
   renders as #d1d1d1). Solid gray + the existing line-through keeps the
   muted look without failing contrast. Color and image swatches keep the
   plugin's opacity; they are non-text and carry a strike-through overlay. */
.iconic-was-swatch--disabled.iconic-was-swatch--text-swatch,
.iconic-was-swatches__item--out-of-stock .iconic-was-swatch--text-swatch,
.iconic-was-swatches--text-swatch .iconic-was-swatch--disabled {
    opacity: 1 !important;
    color: #767676 !important;
    border-color: #c5c5c5 !important;
    text-decoration: line-through;
}

/* Pair 5: #999999 on white, strikethrough prices and form feedback
   (933 findings). Source: bundled Bootstrap. */
del .woocommerce-Price-amount,
del .amount,
.feedback {
    color: #767676 !important; /* 4.54:1, minimum passing */
}

/* Pair 6: white on #0088CC, WPBakery primary buttons (420 findings).
   Source: js_composer LESS defaults. */
.vc_btn3.vc_btn3-color-primary,
.vc_btn3.vc_btn3-style-flat.vc_btn3-color-primary {
    background-color: #0069a6 !important; /* 4.58:1 with white text */
}

/* Pair 7: #777777 on white in small text contexts (334 findings). */
.widget-area .textwidget,
.sidebar small,
.meta-info {
    color: #595959 !important;
}

/* Small price text in cart cross-sells and mini-cart lists renders at
   12px in #777, which needs 4.5:1 and measures 4.47:1. */
ul.cart_list .woocommerce-Price-amount,
ul.product_list_widget .woocommerce-Price-amount,
.tiny-cart .woocommerce-Price-amount,
.tiny-cart .quantity {
    color: #595959 !important;
}

/* Pair 9: #B3ABAB on white, product card category and strikethrough price
   (80 findings). Source: commercegurus.css. Verification 2026-07-06: the
   theme also sets ".price del span" to #B3ABAB with !important, which is
   more specific than the del rule below and was still winning on the
   inner amount span. Matched span-level so the override lands. */
.cg-product-wrap a .category,
.single-product-details .price del,
.single-product-details .price del span,
.cg-product-info .price del span.amount {
    color: #767676 !important;
}

/* Pair 10: #5B9D4C on white, "In Stock" badge (18 findings). */
.stock.in-stock {
    color: #3d7a30 !important; /* 4.86:1 on white */
}

/* Pagination links: theme sets .page-numbers to #777, which fails at the
   13px size the theme renders them at. The hover state keeps white text
   because the theme paints the primary color behind it. */
.page-numbers li a,
.pagination li a {
    color: #595959 !important;
}

.page-numbers li a:hover,
.pagination li a:hover {
    color: #ffffff !important;
}

/* ==========================================================================
   Links in text blocks. 11 work units / 5,329 findings (link-in-text-block).
   In-content links are distinguished by color alone. Underline them inside
   running text. Buttons and standalone UI links are excluded.
   ========================================================================== */

#bla11y-main p a:not(.button):not(.vc_btn3),
.wpb_text_column a:not(.button):not(.vc_btn3),
.entry-content p a:not(.button),
.woocommerce-product-details__short-description a,
.footercontainer p a,
.subfooter .textwidget a {
    text-decoration: underline !important;
}

/* ==========================================================================
   Widget title parity. The heading fix (02-widget-markup.php) swaps
   h4.widget-title to h2.widget-title; these mirror the theme's h4 rules
   from commercegurus.css so nothing changes visually. Skin colors are
   applied via inline style in 05-assets.php.
   ========================================================================== */

h2.widget-title {
    margin-top: -4px;
    margin-bottom: 10px;
    font-size: 16px;
    border-bottom: 1px solid #ccc;
}

h2.widget-title span {
    display: inline-block;
    border-bottom: 2px solid #df440b;
    padding-bottom: 7px;
    position: relative;
    bottom: -1px;
}

#secondary .widget_mc4wp_form_widget h2.widget-title,
.shop-sidebar-left .widget_mc4wp_form_widget h2.widget-title,
.shop-sidebar-right .widget_mc4wp_form_widget h2.widget-title {
    margin-bottom: 20px;
}

.subfooter h2.widget-title {
    border: none;
    font-size: 16px;
    clear: both;
    padding-top: 0;
    margin-bottom: 15px;
    line-height: 1.5em;
    font-weight: 400;
}
