body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="text"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="number"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="email"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="url"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="password"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="search"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=reset],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=tel],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row select,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row textarea,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row .select2-container--default .select2-selection--single {
  border: 1px solid var(--ast-border-color);
  border-radius: 4px;
  padding: 0.9em 0.8em;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="text"]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="number"]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="email"]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="url"]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="password"]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="search"]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=reset]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=tel]:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row select:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row textarea:focus:-ms-input-placeholder, body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row .select2-container--default .select2-selection--single:focus:-ms-input-placeholder {
  opacity: 1 !important;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="text"]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="number"]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="email"]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="url"]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="password"]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="search"]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=reset]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=tel]:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row select:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row textarea:focus::placeholder,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row .select2-container--default .select2-selection--single:focus::placeholder {
  opacity: 1 !important;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="text"].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="number"].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="email"].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="url"].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="password"].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="search"].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=reset].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=tel].field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row select.field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row textarea.field-required,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row .select2-container--default .select2-selection--single.field-required {
  border-color: #d65d67;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row label:not(.checkbox):not(.radio):not(.woocommerce-form__label-for-checkbox) {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  position: absolute;
  color: var(--ast-global-color-3);
  font-size: 0.7em;
  font-weight: inherit;
  margin-top: 0.35em;
  padding: 0 1.1em;
  line-height: 1.625;
  opacity: 0;
  height: auto;
  width: auto;
  clip-path: none;
  clip: unset;
  white-space: nowrap;
  overflow: hidden;
  max-width: 95%;
  text-overflow: ellipsis;
  z-index: 1;
  transition: all 0.2s ease-out;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row [ID*="mailchimp_woocommerce"] {
  pointer-events: visible;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
  opacity: 1;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type="text"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type="number"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type="email"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type="url"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type="password"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type="search"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type=reset],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input input[type=tel],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input select,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input textarea,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input .select2-container--default .select2-selection--single {
  padding: 1.45em 0.8em 0.35em;
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type="text"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type="number"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type="email"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type="url"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type="password"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type="search"],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type=reset],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid input[type=tel],
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid select,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid textarea,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
  border-color: #d65d67;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods .payment_method_stripe label {
  opacity: 1;
  padding: 0;
  position: relative;
}


/* 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;
}
