/*----------  Media Query min-width Structure   ----------*/
/*----------  Media Query max-width Structure   ----------*/
/*----------  Break-point min-width Structure   ----------*/
/*----------  Break-point max-width Structure   ----------*/
/**
 * Infinite Scroll
 */
.ast-shop-pagination-infinite {
  text-align: center;
  margin: 2.5em 0 0;
}

.ast-page-builder-template .ast-shop-pagination-infinite {
  margin: 2.5em 0;
}

.ast-shop-load-more {
  cursor: pointer;
  display: none;
  border: 2px solid var(--ast-border-color);
  transition: all 0.2s linear;
  color: #000;
}

.ast-shop-load-more.active {
  display: inline-block;
  padding: 0 1.5em;
  line-height: 3em;
}

.ast-shop-load-more.no-more:hover {
  border-color: var(--ast-border-color);
  color: #000;
}

/**
 * Globally hidden elements when Infinite Scroll is supported and in use.
 */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/**
 * When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before.
 */
.infinity-end.neverending .site-footer {
  display: block;
}

.ast-shop-load-more.no-more:hover {
  background-color: inherit;
}

.no-more {
  cursor: default;
}

/* Loader */
.ast-loader {
  display: none;
  margin: 0 auto;
  min-height: 58px;
  line-height: 58px;
  width: 70px;
  text-align: center;
}

.ast-loader > div {
  width: 18px;
  height: 18px;
  background-color: #0085ba;
  border-radius: 100%;
  display: inline-block;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.ast-loader .ast-loader-1 {
  animation-delay: -0.32s;
}

.ast-loader .ast-loader-2 {
  animation-delay: -0.16s;
}

@keyframes sk-bouncedelay {
  0%,
  80%,
  100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

/* Hiding 'woocommerce-pagination' for infinite-scroll page. */
.ast-woocommerce-pagination-type-infinite .woocommerce-pagination {
  display: none;
}

.logged-in.admin-bar.woocommerce .astra-off-canvas-sidebar, .logged-in.admin-bar.woocommerce-page .astra-off-canvas-sidebar {
  top: 32px;
  height: calc(100% - 32px);
}

.logged-in.admin-bar.woocommerce .close, .logged-in.admin-bar.woocommerce-page .close {
  top: 5px;
}

.woocommerce .ast-shop-toolbar-container {
  margin-bottom: 2.5em;
  -js-display: flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.woocommerce .ast-shop-toolbar-container > *, .woocommerce .ast-shop-toolbar-container .woocommerce-ordering {
  margin: 0;
}

.woocommerce .ast-shop-toolbar-container > *:last-child {
  float: left;
}

.woocommerce .ast-shop-toolbar-container .ast-shop-toolbar-aside-wrap {
  -js-display: inline-flex;
  display: inline-flex;
  align-items: center;
  column-gap: 20px;
}

.woocommerce .ast-shop-toolbar-container .ast-shop-toolbar-aside-wrap .woocommerce-result-count {
  margin: 0;
}

.woocommerce .ast-shop-toolbar-container .ast-shop-toolbar-aside-wrap .astra-shop-filter-button {
  -js-display: flex;
  display: flex;
  align-items: center;
}

.ast-woo-mini-cart-wrapper {
  display: inline-block;
  line-height: 4;
}

.ast-woo-mini-cart-wrapper.top .widget_shopping_cart {
  box-shadow: 0px -2px 8px 1px rgba(0, 0, 0, 0.07);
}

.ast-woo-mini-cart-wrapper.top .ast-site-header-cart .widget_shopping_cart {
  bottom: 100%;
  top: auto;
}

.ast-woo-mini-cart-wrapper.top .ast-site-header-cart .widget_shopping_cart:before {
  bottom: -18px;
  transform: rotateX(180deg);
}

.ast-woo-mini-cart-wrapper.top .ast-site-header-cart .widget_shopping_cart:after {
  bottom: -12px;
  transform: rotateX(180deg);
}

.ast-woo-mini-cart-wrapper.bottom .widget_shopping_cart {
  box-shadow: 0px 2px 8px 1px rgba(0, 0, 0, 0.07);
}

.ast-woo-mini-cart-wrapper.bottom .widget_shopping_cart:focus .widget_shopping_cart,
.ast-woo-mini-cart-wrapper.bottom .widget_shopping_cart:hover .widget_shopping_cart {
  bottom: 100%;
  top: auto;
}

.ast-woo-mini-cart-wrapper.left .ast-site-header-cart .widget_shopping_cart {
  left: 0;
  right: auto;
}

.ast-woo-mini-cart-wrapper.left .ast-site-header-cart .widget_shopping_cart:before {
  left: 10px;
  right: auto;
}

.ast-woo-mini-cart-wrapper.left .ast-site-header-cart .widget_shopping_cart:after {
  left: 13px;
  right: auto;
}

.ast-woo-mini-cart-wrapper.right .ast-site-header-cart .widget_shopping_cart {
  left: auto;
  right: 0;
}

.ast-woo-mini-cart-wrapper.right .ast-site-header-cart .widget_shopping_cart:before {
  left: auto;
  right: 10px;
}

.ast-woo-mini-cart-wrapper.right .ast-site-header-cart .widget_shopping_cart:after {
  left: auto;
  right: 14px;
}

.ast-separate-container #secondary .ast-woo-mini-cart-wrapper .widget_shopping_cart {
  padding: 0;
}

.ast-off-canvas-overlay .woocommerce .astra-off-canvas-sidebar-wrapper,
.ast-off-canvas-overlay .woocommerce-page .astra-off-canvas-sidebar-wrapper {
  visibility: visible;
  opacity: 1;
}

.ast-off-canvas-overlay .woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar,
.ast-off-canvas-overlay .woocommerce-page .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar {
  right: 0;
}

.ast-off-canvas-overlay body > .select2-container {
  /* Make the select2 container wrapper visible on filter sidebar */
  z-index: 99;
}

/**
 * Shop page content alignment.
 */
.woocommerce .astra-shop-filter-button,
.woocommerce button.astra-shop-filter-button,
.woocommerce-page .astra-shop-filter-button,
.woocommerce-page button.astra-shop-filter-button {
  float: right;
  outline: none;
  margin: 0;
}

.woocommerce .astra-shop-filter-button .ast-icon.icon-close,
.woocommerce button.astra-shop-filter-button .ast-icon.icon-close,
.woocommerce-page .astra-shop-filter-button .ast-icon.icon-close,
.woocommerce-page button.astra-shop-filter-button .ast-icon.icon-close {
  display: none;
}

.woocommerce .astra-shop-filter-button .astra-woo-filter-text,
.woocommerce button.astra-shop-filter-button .astra-woo-filter-text,
.woocommerce-page .astra-shop-filter-button .astra-woo-filter-text,
.woocommerce-page button.astra-shop-filter-button .astra-woo-filter-text {
  margin-right: 0.5em;
  font-size: 1.07em;
  color: var(--ast-global-color-2);
}

.woocommerce .astra-shop-filter-button .astra-woo-filter-icon,
.woocommerce button.astra-shop-filter-button .astra-woo-filter-icon,
.woocommerce-page .astra-shop-filter-button .astra-woo-filter-icon,
.woocommerce-page button.astra-shop-filter-button .astra-woo-filter-icon {
  display: inline-block;
  font-size: 1.30em;
  line-height: 1;
  font-weight: normal;
  vertical-align: middle;
  width: 0.8em;
}

.woocommerce .astra-shop-filter-button .astra-woo-filter-icon svg,
.woocommerce button.astra-shop-filter-button .astra-woo-filter-icon svg,
.woocommerce-page .astra-shop-filter-button .astra-woo-filter-icon svg,
.woocommerce-page button.astra-shop-filter-button .astra-woo-filter-icon svg {
  font-size: 1em;
  width: 0.8em;
  height: 0.8em;
  color: var(--ast-global-color-3);
}

.woocommerce .astra-shop-filter-button.active .ast-icon.icon-menu-bars,
.woocommerce button.astra-shop-filter-button.active .ast-icon.icon-menu-bars,
.woocommerce-page .astra-shop-filter-button.active .ast-icon.icon-menu-bars,
.woocommerce-page button.astra-shop-filter-button.active .ast-icon.icon-menu-bars {
  display: none;
}

.woocommerce .astra-shop-filter-button.active .ast-icon.icon-close,
.woocommerce button.astra-shop-filter-button.active .ast-icon.icon-close,
.woocommerce-page .astra-shop-filter-button.active .ast-icon.icon-close,
.woocommerce-page button.astra-shop-filter-button.active .ast-icon.icon-close {
  display: inline-block;
}

.woocommerce button.astra-shop-filter-button,
.woocommerce-page button.astra-shop-filter-button {
  padding: 0.67em 1em;
  font-weight: 600;
  -js-display: flex;
  display: flex;
  align-items: center;
}

.woocommerce button.astra-shop-filter-button .astra-woo-filter-text,
.woocommerce-page button.astra-shop-filter-button .astra-woo-filter-text {
  color: inherit;
}

.woocommerce button.astra-shop-filter-button .astra-woo-filter-icon svg,
.woocommerce-page button.astra-shop-filter-button .astra-woo-filter-icon svg {
  color: inherit;
}

.woocommerce button.astra-shop-filter-button ~ .woocommerce-result-count,
.woocommerce-page button.astra-shop-filter-button ~ .woocommerce-result-count {
  padding: 4px 0;
}

.woocommerce .ast-woocommerce-container .widget_layered_nav_filters,
.woocommerce-page .ast-woocommerce-container .widget_layered_nav_filters {
  clear: both;
  margin: 0px 0 1.5em;
}

.woocommerce .astra-off-canvas-sidebar-wrapper,
.woocommerce-page .astra-off-canvas-sidebar-wrapper {
  width: 100%;
  top: 0;
  position: fixed;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  transition: .25s ease-in-out;
}

.woocommerce .astra-off-canvas-sidebar-wrapper .close,
.woocommerce-page .astra-off-canvas-sidebar-wrapper .close {
  position: absolute;
  left: 5px;
  top: 5px;
  line-height: 1;
  cursor: pointer;
  color: var(--ast-global-color-3);
  z-index: 1;
  opacity: 0.8;
}

.woocommerce .astra-off-canvas-sidebar-wrapper .close .ast-icon,
.woocommerce-page .astra-off-canvas-sidebar-wrapper .close .ast-icon {
  pointer-events: none;
}

.woocommerce .astra-off-canvas-sidebar-wrapper .close:hover,
.woocommerce-page .astra-off-canvas-sidebar-wrapper .close:hover {
  opacity: 1;
}

.woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar,
.woocommerce-page .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar {
  position: absolute;
  background: var(--ast-global-color-primary, --ast-global-color-5);
  height: 100%;
  top: 0;
  right: -100%;
  padding: 35px;
  box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.4);
  width: 325px;
  overflow: auto;
  transition: .3s ease-in-out;
}

.woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar .widget_shopping_cart .woocommerce-mini-cart__buttons a,
.woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar .widget_price_filter .price_slider_amount .button,
.woocommerce-page .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar .widget_shopping_cart .woocommerce-mini-cart__buttons a,
.woocommerce-page .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar .widget_price_filter .price_slider_amount .button {
  padding: 10px 15px;
  font-weight: normal;
}

.woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar ul.product_list_widget li a,
.woocommerce-page .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar ul.product_list_widget li a {
  margin-bottom: 4px;
  line-height: 1.2;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  padding-bottom: 1.2em;
  transition: all 300ms ease-in-out;
}

.woocommerce ul.products li.product .ast-woo-shop-product-description p:last-child,
.woocommerce ul.products li.product > *:last-child,
.woocommerce ul.products li.product > .button:last-child,
.woocommerce ul.products li.product > .ast-loop-product__link:last-child .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .ast-woo-shop-product-description p:last-child,
.woocommerce-page ul.products li.product > *:last-child,
.woocommerce-page ul.products li.product > .button:last-child,
.woocommerce-page ul.products li.product > .ast-loop-product__link:last-child .woocommerce-loop-product__title {
  margin-bottom: 0;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
  padding: 0 1.2em;
}

.woocommerce ul.products li.product.box-shadow-0.box-shadow-0-hover,
.woocommerce-page ul.products li.product.box-shadow-0.box-shadow-0-hover {
  padding-bottom: 0;
}

.woocommerce ul.products li.product.box-shadow-0.box-shadow-0-hover .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product.box-shadow-0.box-shadow-0-hover .astra-shop-summary-wrap {
  padding: 0;
}

.woocommerce ul.products li.product.box-shadow-0.box-shadow-0-hover .added_to_cart,
.woocommerce-page ul.products li.product.box-shadow-0.box-shadow-0-hover .added_to_cart {
  margin: 0;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  margin: 0.5em 0;
}

.woocommerce ul.products li.product .button.added,
.woocommerce-page ul.products li.product .button.added {
  margin-bottom: 0;
  transition: none;
}

.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart {
  margin: 0 1.2em;
}

.woocommerce ul.products li.product .description p,
.woocommerce-page ul.products li.product .description p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.5;
}

.woocommerce ul.products li.product .categories,
.woocommerce-page ul.products li.product .categories {
  font-size: .857rem;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
  margin-bottom: .8em;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link {
  overflow: hidden;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link img {
  margin-bottom: 0;
  backface-visibility: hidden;
  transition: filter .6s, opacity .6s, transform .6s;
}

.woocommerce ul.products li.product.astra-woo-hover-zoom:hover img,
.woocommerce-page ul.products li.product.astra-woo-hover-zoom:hover img {
  transform: scale(1.1);
}

.woocommerce ul.products li.product.astra-woo-hover-zoom-fade:hover img,
.woocommerce-page ul.products li.product.astra-woo-hover-zoom-fade:hover img {
  opacity: .7;
  transform: scale(1.1);
}

.woocommerce ul.products li.product.astra-woo-hover-fade:hover img,
.woocommerce-page ul.products li.product.astra-woo-hover-fade:hover img {
  opacity: .7;
}

/**
 * Checkout
 */
.woocommerce-checkout.distraction-free .main-header-container {
  text-align: center;
  justify-content: center;
}

.woocommerce-checkout.distraction-free .site-branding .site-title {
  justify-content: center;
}

/**
 * Sale Flash
 */
.woocommerce,
.woocommerce-page {
  /**
	 * Sale Flash on Shop Page
	 */
  /**
	 * Sale Flash
	 */
}

.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
  border-radius: 999px;
  padding: 0 2px;
}

.woocommerce ul.products li.product .onsale.square, .woocommerce ul.products li.product .onsale.square-outline,
.woocommerce-page ul.products li.product .onsale.square,
.woocommerce-page ul.products li.product .onsale.square-outline {
  border-radius: 0;
  padding: 0;
}

.woocommerce .onsale.circle-outline,
.woocommerce-page .onsale.circle-outline {
  line-height: 2.7;
}

.woocommerce div.product .onsale.circle-outline,
.woocommerce-page div.product .onsale.circle-outline {
  line-height: 3.1;
}

.woocommerce .onsale.square,
.woocommerce .onsale.square-outline,
.woocommerce div.product .onsale.square,
.woocommerce div.product .onsale.square-outline,
.woocommerce-page .onsale.square,
.woocommerce-page .onsale.square-outline,
.woocommerce-page div.product .onsale.square,
.woocommerce-page div.product .onsale.square-outline {
  border-radius: 0;
  padding: 0;
  line-height: 3;
}

.woocommerce.single-product .related.products {
  width: 100%;
}

/* Pagination */
.ast-woocommerce-pagination-default .woocommerce-pagination .page-numbers,
.ast-woocommerce-pagination-default .woocommerce-pagination .page-numbers li {
  border: 0;
}

.ast-woocommerce-pagination-default.woocommerce nav.woocommerce-pagination ul li a:focus,
.ast-woocommerce-pagination-default.woocommerce nav.woocommerce-pagination ul li a:hover,
.ast-woocommerce-pagination-default.woocommerce nav.woocommerce-pagination ul li span.current {
  background: transparent;
  color: inherit;
}

.ast-woocommerce-pagination-circle .woocommerce-pagination .page-numbers {
  border: 0;
}

.ast-woocommerce-pagination-circle.woocommerce nav.woocommerce-pagination ul li {
  margin: 0 3px;
  border: none;
}

.ast-woocommerce-pagination-circle.woocommerce nav.woocommerce-pagination ul li > span,
.ast-woocommerce-pagination-circle.woocommerce nav.woocommerce-pagination ul li > a {
  border-width: 1px;
  border-style: solid;
  border-radius: 50%;
  min-width: calc(2.5em + 2px);
}

/**
 * Single product Tabs Layout.
 *
 * (vertical/horizontal)
 */
@media all and (min-width: 421px) {
  .woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-product-gallery {
    margin-bottom: 3em;
  }
  .woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs {
    margin-bottom: 3.5em;
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
  }
  .woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs:after {
    content: "";
    display: table;
    clear: both;
  }
  .woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs {
    padding: 0;
    width: 200px;
    float: right;
    margin: 0;
    border: none;
  }
  .woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs .panel {
    border: 1px solid var(--ast-border-color);
    border-width: 0 1px 0 0;
    padding: 0 1.5em 1.5em 1.5em;
    margin-bottom: 0;
    width: calc(100% - 200px);
  }
  .ast-product-tabs-layout-vertical .woocommerce-Tabs-panel h1,
  .ast-product-tabs-layout-vertical .woocommerce-Tabs-panel h2,
  .ast-product-tabs-layout-vertical .woocommerce-Tabs-panel h3,
  .ast-product-tabs-layout-vertical .woocommerce-Tabs-panel h4,
  .ast-product-tabs-layout-vertical .woocommerce-Tabs-panel h5,
  .ast-product-tabs-layout-vertical .woocommerce-Tabs-panel h6 {
    clear: none;
  }
}

.woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs {
  border-top: 0;
}

.woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li {
  width: 100%;
  margin: 0;
  border-bottom: none;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: var(--ast-border-color);
}

.woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li.active {
  z-index: 0;
  border-left-color: var(--ast-border-color);
  border-bottom-color: var(--ast-border-color);
}

.woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li.active:before {
  opacity: 1;
}

.woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li:last-child {
  border-bottom: 0;
}

.woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li a {
  width: 100%;
  padding: 0.5em 0.8em 0.5em 0;
}

.woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li:before {
  top: auto;
  bottom: 0;
  left: 0;
  z-index: 1;
  right: auto;
  width: 3px;
  height: 100%;
  opacity: 0;
  transition: .3s;
}

@media all and (min-width: 421px) {
  .woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li:hover::before {
    opacity: 1;
  }
}

@media all and (min-width: 421px) {
  .woocommerce div.product.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs:hover > li:not(:hover):before {
    opacity: 0;
  }
}

/**
 * Single product.
 */
.ast-product-navigation-wrapper {
  z-index: 1;
  position: relative;
  display: inline-block;
  float: left;
}

.ast-product-navigation-wrapper.circle-outline .product-links a, .ast-product-navigation-wrapper.circle .product-links a {
  border-radius: 50%;
}

.product-links a {
  display: inline-block;
  height: 2em;
  height: calc( 1.8em + 2px);
  width: 2em;
  width: calc( 1.8em + 2px);
  text-align: center;
  border: 1px solid;
  margin-right: 0.4em;
}

.product-links a.ast-disable {
  opacity: .5;
  pointer-events: none;
}

.product-links a i {
  display: inline-grid;
}

.product-links a[rel="prev"] i {
  margin-right: -1px;
}

.product-links a[rel="next"] i {
  margin-left: -1px;
}

li.woocommerce-custom-menu-item .ast-site-header-cart i.astra-icon:after {
  padding-right: 2px;
}

.astra-hfb-header .ast-addon-cart-wrap {
  padding: 0.2em .6em;
}

.ast-header-break-point.ast-header-custom-item-outside .ast-woo-header-cart-info-wrap {
  display: none;
}

.eael-woo-product-carousel-container .woocommerce ul.products li.product,
.eael-woo-product-carousel-container .woocommerce-page ul.products li.product {
  transition: inherit;
}


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