.customize-control-ast-toggle-control .components-toggle-control .components-base-control__field, .ast-togglecontrol-wrapper .components-base-control__field { margin: 0; } .customize-control-ast-toggle-control .components-toggle-control .components-form-toggle, .customize-control-ast-link .ast-togglecontrol-wrapper .components-form-toggle, .customize-control-ast-toggle .components-toggle-control .components-form-toggle { margin: 0; order: 2; } .customize-control-ast-link .ast-togglecontrol-wrapper .components-base-control__field { margin: 24px 0 0; } .ast-togglecontrol-wrapper .toggle-control-label, .ast-togglecontrol-wrapper .components-toggle-control__label { font-size: 14px; } .customize-control-ast-toggle-control .components-toggle-control .components-toggle-control__label, .ast-togglecontrol-wrapper label { display: flex; flex: 1 1 auto; font-size: 14px; } .ast-switch ~ label { position: relative; display: block; width: 35px; height: 14px; background-color: var(--ast-customizer-color-7); color: transparent; border-radius: 50px; cursor: pointer; transition: all 0.2s ease-in; } .ast-switch ~ label:after { content: ''; position: absolute; top: -3px; left: -1px; display: block; width: 20px; height: 20px; border-radius: 50px; background: var(--ast-customizer-color-9); box-shadow: 0 2px 4px 0 rgba(72, 72, 72, 0.50); transition: all 0.2s ease-in; } .ast-switch:checked ~ label { background: var(--ast-customizer-color-1); } .ast-switch:checked ~ label:after { transform: translateX(16px); background: var(--ast-customizer-color-9); } .ast-switch:disabled ~ label { background: #f0f0f0; pointer-events: none; } .ast-switch:disabled ~ label:after { background: #d1d1d1; box-shadow: 0 1px 2px 0 rgba(72, 72, 72, 0.50); } .ast-switch:not(:checked), .ast-switch:checked { opacity: 0; } .customize-control-ast-section-toggle .components-form-toggle { margin-left: 5px; text-align: right; } /* Wordpress 6.1 Compatibility CSS for toggle UI */ .components-toggle-control .components-base-control__field { display: flex; margin-bottom: 12px; line-height: initial; align-items: center; } /* 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; }