.ast-cart-non-sticky .cross-sells { border-width: 1px; border-style: solid; border-color: var(--ast-border-color); border-radius: 0; margin-bottom: 2em; padding-right: 1em; padding-left: 1em; } .ast-cart-non-sticky .cross-sells > h2 { background-color: var(--ast-global-color-secondary, --ast-global-color-4); border-bottom: 1px solid var(--ast-border-color); padding-right: 1em; padding-left: 1em; margin: 0 -15px 15px; font-size: 1.2rem; padding: .7em 1em; font-weight: 700; } .woocommerce-cart .woocommerce-cart-form .blockOverlay, .woocommerce-cart .cart_totals .blockOverlay { opacity: 1 !important; border: 1px solid var(--ast-border-color) !important; border-radius: 4px; z-index: 90 !important; } .woocommerce-cart .woocommerce-cart-form .blockOverlay::before, .woocommerce-cart .cart_totals .blockOverlay::before { background-repeat: no-repeat; top: -4px; background-position: center; right: -5px; background-size: cover; animation: none; height: 100%; width: 100%; margin: 0; transform: scale(0.92); } .woocommerce-cart table.shop_table { border: 1px solid var(--ast-border-color); } .woocommerce-cart table.shop_table thead { background-color: var(--ast-global-color-secondary, --ast-global-color-4); } .woocommerce-cart table.shop_table td { border-top: 1px solid var(--ast-border-color); } .woocommerce-cart table.shop_table td.product-remove a { border-color: var(--ast-border-color); } .woocommerce-cart .cart-collaterals .cart_totals { border-color: var(--ast-border-color); } .woocommerce-cart .cart-collaterals .cart_totals > h2 { background-color: var(--ast-global-color-secondary, --ast-global-color-4); border-bottom: 1px solid var(--ast-border-color); } .woocommerce-cart .cart-collaterals .cart_totals tr th, .woocommerce-cart .cart-collaterals .cart_totals tr td { border-top: 1px solid var(--ast-border-color); } .woocommerce .woocommerce-cart-form__cart-item .product-name .ast-product-name > a { display: inline-block; } /* Focus Management Styles - WCAG 2.1 Compliance */ /* Added for keyboard accessibility and screen reader support */ /* Button Focus Styles */ .hvac-button:focus, .hvac-content .button:focus, .hvac-content button:focus, .hvac-content input[type="submit"]:focus, .hvac-email-submit:focus, .hvac-filter-submit:focus, .hvac-certificate-actions button:focus, .hvac-certificate-actions a:focus { outline: 2px solid #005fcc; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); border-radius: 4px; } /* Input Focus Styles */ .hvac-form-input:focus, .hvac-content input[type="text"]:focus, .hvac-content input[type="email"]:focus, .hvac-content input[type="password"]:focus, .hvac-content input[type="url"]:focus, .hvac-content textarea:focus, .hvac-content select:focus, .hvac-email-form-row input:focus, .hvac-email-form-row textarea:focus, .hvac-filter-group input:focus, .hvac-filter-group select:focus { outline: 2px solid #005fcc; outline-offset: 2px; border-color: #005fcc; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); } /* Link Focus Styles */ .hvac-content a:focus, .hvac-event-link:focus, .hvac-certificate-link:focus, .hvac-attendee-profile-icon:focus, .hvac-dashboard-nav a:focus, .hvac-email-navigation a:focus { outline: 2px solid #005fcc; outline-offset: 2px; text-decoration: underline; background-color: rgba(0, 95, 204, 0.1); border-radius: 2px; } /* Interactive Element Focus Styles */ .hvac-attendee-checkbox:focus, .hvac-select-all-container input[type="checkbox"]:focus, .hvac-modal-close:focus, .hvac-certificate-table tr:focus { outline: 2px solid #005fcc; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); } /* High Contrast Mode Support */ @media (prefers-contrast: high) { .hvac-content *:focus { outline: 3px solid #000000; outline-offset: 2px; background-color: #ffff00; color: #000000; } } /* Focus-visible polyfill support */ /* Reset focus for mouse users while preserving keyboard accessibility */ .js-focus-visible :focus:not(.focus-visible) { outline: none; box-shadow: none; } /* Ensure focus is visible for keyboard users */ .js-focus-visible .focus-visible { outline: 2px solid #005fcc; outline-offset: 2px; }