.customize-control-ast-divider hr {
	margin-top: 0;
    margin-bottom: 0;
	border-bottom: none;
}

.customize-control-ast-divider .customize-control-title {
  font-size: 15px;
  margin: 1em 0 0.2em;
}

.customize-control-ast-divider .customize-control-suffix {
    position: absolute;
    right: 0;
    bottom: 0;
    font-weight: 600;
    color: var(--ast-customizer-color-1);
    display: inline-block;
    font-size: 11px;
    text-transform: uppercase;
  }

.customize-control-ast-divider .customizer-text {
    margin-top: -10px;
    display: block;
}

.ast-field-settings-modal .customize-control-ast-divider {
  background-color: #f5f5f5;
  display: block;
  padding: 6px 14px;
  margin: 0;
  border-width: 1px 0;
  border-style: solid;
  border-color: #dddddd;
  line-height: 1;
  margin-top: 15px;
}

.customize-control-ast-settings-group .ast-field-settings-modal .customize-control-ast-divider .customizer-text {
	margin-top: 0;
}

.customize-control-ast-settings-group .ast-field-settings-modal .customize-control-ast-divider .customize-control-title {
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 11px;
  margin: 0;
  text-transform: uppercase;
}

/*
 * CSS for ast-divider attribute started.
 */
.ast-bottom-divider {
    border-bottom: 1px solid var(--ast-customizer-color-7);
	padding-bottom: 25px;
}

.ast-top-divider {
    border-top: 1px solid var(--ast-customizer-color-7);
	padding-top: 25px;
}

.ast-top-divider > label.ast-divider-title, .ast-bottom-divider > label.ast-divider-title,
.customize-control-ast-color-group > .ast-divider-title {
	display: block;
	width: 100%;
	font-size: 15px;
	font-weight: 600;
}

.ast-top-divider .ast-control-wrap .ast-color-btn-reset-wrap {
    top: 25px;
}

.ast-top-divider .ast-control-wrap .astra-color-picker-wrap {
    top: 55px;
    background-color: transparent;
}

.ast-top-divider .ast-divider-title + .ast-control-wrap .astra-color-picker-wrap {
    top: 100px;
    background-color: transparent;
}

.ast-top-divider .ast-control-wrap .color-button-wrap {
    top: 20.5px;
}

.ast-top-divider.customize-control-ast-select .ast-divider-title {
    margin-bottom: 25px;
}


/*
* CSS for ast-spacing attribute started.
*/

.customize-control.ast-bottom-spacing, .ast-field-settings-modal .customize-control.ast-bottom-spacing {
	margin-bottom: 16px;
}
.customize-control.ast-top-spacing, .ast-field-settings-modal .customize-control.ast-top-spacing {
	margin-top: 16px;
}
li.customize-control.ast-bottom-section-spacing {
	margin-bottom: 24px;
}
li.customize-control.ast-top-section-spacing {
	margin-top: 24px;
}

/*
* CSS for ast-divider attribute started.
*/

.customize-control.ast-top-dotted-divider,
#customize-control-astra-settings-edd-archive-variable-button-text,
#customize-control-astra-settings-header-account-logged-out-text,
#customize-control-astra-settings-shop-load-more-text,
#customize-control-astra-settings-single-product-shipping-text,
#customize-control-astra-settings-checkout-back-to-cart-button-text,
#customize-control-astra-settings-ast-header-retina-logo,
#customize-control-astra-settings-product-sale-percent-value,
#customize-control-astra-settings-header-account-create-menu-link,
#customize-control-astra-settings-woo-cart-button-text,
#customize-control-astra-settings-single-product-recently-viewed-text,
#customize-control-astra-settings-sticky-header-retina-logo {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px dashed var(--ast-customizer-color-7);
}

#customize-control-blogname, #customize-control-blogdescription, {
	margin-top: 16px;
}

#customize-control-astra-settings-product-sale-percent-value .ast-control-tooltip {
    top: 24px;
}

.customize-control.ast-top-dotted-divider .ast-adv-toggle-icon {
    top: 25px;
}

.customize-control.ast-bottom-dotted-divider,
#customize-control-astra-settings-header-account-logged-in-text {
    margin-bottom: 8px;
    padding-bottom: 24px;
    border-bottom: 1px dashed var(--ast-customizer-color-7);
}

.customize-control.ast-bottom-dotted-divider .ast-adv-toggle-icon {
    bottom: 25px;
}

/*
* CSS for ast-section-divider attribute started.
*/

.customize-control.ast-top-section-divider,
.customize-control.ast-bottom-section-divider {
    position: relative;
}

.customize-control.ast-top-section-divider {
    padding-top: 32px;
    margin-top: 32px;
}

.customize-control.ast-bottom-section-divider {
    padding-bottom: 32px;
    margin-bottom: 16px;
}

.customize-control.ast-sub-top-dotted-divider {
    padding-top: 20px;
}

.customize-control.ast-sub-bottom-dotted-divider {
    padding-bottom: 20px;
}

.customize-control.ast-top-section-divider::before,
.customize-control.ast-bottom-section-divider::after {
    content: '';
    position: absolute;
    left: -100%;
    background-color: var(--ast-customizer-color-7);
    width: 500%;
    height: 1px;
}

.customize-control.ast-sub-top-dotted-divider::before,
.customize-control.ast-top-section-divider::before {
    top: 0;
}

.customize-control.ast-sub-bottom-dotted-divider::after,
.customize-control.ast-bottom-section-divider::after {
    bottom: 0;
}

.customize-control.ast-sub-top-dotted-divider::before,
.customize-control.ast-sub-bottom-dotted-divider::after {
    content: '';
    border-top: 1px dashed var(--ast-customizer-color-7);
    width: calc(100% - 30px);
    height: 1px;
    position: absolute;
    left: 15px;
}


/*
* CSS for ast-first-control-spacing attribute started.
*/
[ID*="-create-menu-link"] .ahfb-builder-item-start {
    margin-bottom: 0;
}

.customize-control.ast-section-spacing,
#customize-control-astra-settings-footer-create-menu-link,
#customize-control-astra-settings-footer-language-switcher-options,
#customize-control-astra-settings-header-mobile-menu-create-menu-link,
#customize-control-astra-settings-header-language-switcher-options,
#customize-control-astra-settings-site-icon-link,
#customize-control-custom_logo,
#customize-control-astra-settings-header-above-stick,
[ID*="sub-accordion-section-section-hb-menu-"] [ID*="-create-menu-link"],
[ID*="customize-control-astra-settings-header-button"][ID*="-text"],
[ID*="customize-control-astra-settings-footer-button"][ID*="-text"] {
    margin-top: 32px;
}

#customize-control-body-font-variant,
#customize-control-headings-font-variant {
    margin-top: 0;
}

/* sidebar specific  */
#sub-accordion-section-section-sidebars > .customize-control-ast-heading {
    margin-top: 16px;
}

#sub-accordion-section-section-sidebars > .customize-control-ast-heading ~ .customize-control-ast-heading  {
    margin-top: 32px;
}

/* Sub controls divider support */
.ast-fields-wrap .customize-control.ast-bottom-section-divider::after, .ast-fields-wrap .customize-control.ast-top-section-divider::before {
    width: 100%;
    left: 0px;
}

.ast-top-dotted-divider .ast-control-tooltip {
    top: 22px;
}
.ast-top-section-divider .ast-control-tooltip {
    top: 30px;
}
.ast-field-settings-modal .customize-control.ast-top-dotted-divider {
    margin-top: 0;
}


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