.woo-checkout-title-common {
  padding: 0;
  margin-top: 1em;
  margin-bottom: 0.7em;
  border-bottom: 0;
  font-size: 1.5em;
  font-weight: 600;
  border: 0;
}

.ast-modern-checkout .woocommerce .woocommerce-form-coupon-toggle {
  display: none;
}

.ast-modern-checkout .woocommerce .woocommerce-checkout-review-order-table .blockUI.blockOverlay, .ast-modern-checkout .woocommerce #payment .blockUI.blockOverlay {
  opacity: 1 !important;
  border: 1px solid var(--ast-border-color) !important;
  border-radius: 4px;
  z-index: 90 !important;
  background: var(--ast-global-color-5) !important;
}

.ast-modern-checkout .woocommerce .woocommerce-checkout-review-order-table .blockUI.blockOverlay::before, .ast-modern-checkout .woocommerce #payment .blockUI.blockOverlay::before {
  background-repeat: no-repeat;
  top: -4px;
  background-position: center;
  left: -15px;
  background-size: cover;
  animation: none;
  height: 100%;
  width: 100%;
  margin: 0;
  transform: scale(0.92);
}

.ast-modern-checkout .woocommerce form #ast-payment_options_heading {
  padding: 0;
  margin-top: 1em;
  margin-bottom: 0.7em;
  border-bottom: 0;
  border: 0;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row {
  padding: 7px;
  position: relative;
  width: 100%;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.form-row-first, .ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.form-row-last {
  width: 50%;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.ast-column-33 {
  width: 33.33%;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.ast-column-50 {
  width: 50%;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row.form-row-full {
  width: 100%;
  margin-top: 0 !important;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row .ast-email-validation-block {
  font-size: .9em;
  display: block;
  margin-top: .5em;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row .ast-email-validation-block.success {
  color: #69bf29;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .form-row .ast-email-validation-block.error {
  color: #d65d67;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields .woocommerce-shipping-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields .woocommerce-additional-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .woocommerce-billing-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .woocommerce-additional-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-additional-fields .woocommerce-billing-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-additional-fields .woocommerce-shipping-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-additional-fields .woocommerce-additional-fields__field-wrapper {
  margin: 0 -7px;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields .woocommerce-shipping-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .woocommerce-billing-fields__field-wrapper, .ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields-custom .woocommerce-billing-fields__customer-info-wrapper .form-row {
  padding-left: 0;
  padding-right: 0;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields-custom .woocommerce-billing-fields__customer-info-wrapper .ast-customer-login-actions {
  -js-display: flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields-custom .woocommerce-billing-fields__customer-info-wrapper .ast-login-section-message {
  padding: .5em 0;
  font-size: .9em;
  margin: 0;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields-custom .ast-checkout-form-heading {
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .woocommerce-billing-fields-custom .ast-checkout-form-heading .woocommerce-billing-fields__customer-login-label {
  text-transform: none;
  font-weight: 600;
  margin-top: 0.9em;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .ast-customer-info__notice {
  display: none;
}

.ast-modern-checkout .woocommerce form.woocommerce-checkout .ast-customer-info__notice.active {
  display: block;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table {
  border-style: hidden;
  border-radius: 4px;
  box-shadow: 0 0 0 1px var(--ast-border-color);
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr th, .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr td, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr th, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr td {
  padding: 1.5em 1.2em 1.5em 1.2em;
  line-height: 1.4em;
  border-color: var(--ast-border-color);
  font-weight: 400;
  border-top: 0;
  border-right: 0;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr td:nth-last-child(1), .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr th:nth-last-child(1), .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr td:nth-last-child(1), .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr th:nth-last-child(1) {
  text-align: right;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr td:nth-last-child(1) .amount, .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tr th:nth-last-child(1) .amount, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr td:nth-last-child(1) .amount, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tr th:nth-last-child(1) .amount {
  font-weight: 400;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table thead tr th, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table thead tr th {
  padding: 1em 1.2em 1em 1.2em;
  font-weight: 500;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr td.product-name {
  -js-display: flex;
  display: flex;
  width: 100%;
  align-items: center;
  padding-right: 0;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image {
  height: auto;
  -js-display: flex;
  display: flex;
  vertical-align: middle;
  justify-content: space-between;
  flex-wrap: wrap;
  border-radius: 5px;
  align-items: center;
  width: auto;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image .ast-product-thumbnail img, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image .ast-product-thumbnail img {
  height: auto;
  max-width: 100%;
  height: 50px;
  border-radius: 4px;
  width: 50px;
  margin-right: 10px;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image.ast-enable-image .ast-product-name, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr td.product-name .ast-product-image.ast-enable-image .ast-product-name {
  width: calc(100% - 60px);
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name .product-quantity, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr td.product-name .product-quantity {
  font-weight: 400;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name {
  flex-wrap: wrap;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name .ast-product-image, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name .ast-product-image {
  padding-bottom: .3em;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name .product-quantity, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name .product-quantity {
  width: auto;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name .variation, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr.ast-variable-product .product-name .variation {
  width: 100%;
  padding-top: .2em;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr:nth-last-child(1) th, .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr:nth-last-child(1) td, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr:nth-last-child(1) th, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr:nth-last-child(1) td {
  border-bottom: 0;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr.order-total th, .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr.order-total td, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr.order-total th, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: large;
  padding: 1em 1.1em 1em 1.1em;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr.order-total th, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr.order-total th {
  font-weight: 600;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr.order-total .amount, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr.order-total .amount {
  font-weight: 700;
}

.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td, .ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
  padding-left: 0;
  width: 40%;
}

.ast-modern-checkout .woocommerce #ast-order-review-content thead {
  display: none;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods {
  padding: 0;
  margin: 0 0 0.5em 0;
  border: 1px solid var(--ast-border-color);
  border-radius: 4px;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods > li:first-child {
  border-radius: 4px 4px 0 0;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods > li:not(.woocommerce-info) {
  padding: 15px 15px 0 15px;
  min-height: 2.7em;
  border-bottom: 1px solid var(--ast-border-color);
  display: inline-table;
  width: 100%;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods > li:not(.woocommerce-info):nth-last-child(1) {
  border-bottom: 0;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method > [type="radio"]:not(:checked) + label {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 0.9em;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods div.payment_box {
  margin: 15px 0 0 -15px;
  border-top: 1px solid var(--ast-border-color);
  background-color: var(--ast-global-color-secondary, --ast-global-color-4);
  padding: 1.5em;
  width: calc( 100% + 30px);
  border-radius: 0 0 4px 4px;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods div.payment_box:before {
  display: none;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method label {
  font-weight: 500;
  display: inline-block;
  width: calc( 100% - 10%);
  color: var(--ast-global-color-3);
  font-size: 1em;
}

.ast-modern-checkout .woocommerce #payment .blockUI.blockOverlay::before {
  left: -5px;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap {
  display: block;
  background-color: var(--ast-global-color-secondary, --ast-global-color-4);
  margin-bottom: 1em;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle {
  -js-display: flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5em 1.2em;
  border: 1px solid var(--ast-border-color);
  border-left: none;
  border-right: none;
  color: var(--ast-global-color-3);
  font-weight: 500;
  cursor: pointer;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle .ast-order-review-toggle-button-wrap {
  -js-display: flex;
  display: flex;
  align-items: center;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle .ast-order-review-toggle-button-wrap .ast-order-review-toggle-text {
  padding-right: 0.5em;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle .ahfb-svg-iconset {
  width: 1em;
  height: 1em;
  transition: .3s;
  fill: var(--ast-global-color-0);
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle.active .ahfb-svg-iconset {
  transform: rotate(180deg);
}

.ast-modern-checkout .woocommerce #ast-order-review-content, .ast-modern-checkout .woocommerce #ast-customer-login-section {
  max-height: 0;
  overflow: hidden;
  transition: .3s;
}

.ast-modern-checkout .ast-two-column-checkout {
  margin-bottom: 3em;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout {
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout .woocommerce-NoticeGroup, .ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #cpsw-payment-request-wrapper {
  flex: 1 0 100%;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #customer_details {
  margin-bottom: 0;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #customer_details .place-order {
  padding-bottom: 1.5em;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #ast-order-review-wrapper {
  width: 40%;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #ast-order-review-wrapper #order_review_heading {
  width: 100%;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #ast-order-review-wrapper #order_review {
  float: none;
  width: 100%;
}

form #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading) {
  padding: 0;
  margin-top: 1em;
  margin-bottom: 0.7em;
  border-bottom: 0;
  border: 0;
}

form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) {
  border: 0;
  padding: 0;
}

#customer_details .woocommerce-account-fields,
#ast-customer-info .ast-customer-info__notice a {
  display: none;
}

/**
 * As orders strcture updated on desktop & on responsive device, there is trigger issue with shipping radio buttons, where on label click the radio buttons are not click on dektop. So this CSS is resolves that scenario.
 */
.woocommerce ul#shipping_method li {
  position: relative;
}

input[name^="shipping_method"]::after {
  cursor: pointer;
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


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