/**
Theme Name: Resona Health
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: resona-health
Template: astra
*/
/* ========================================
 * Accessibility additions (a11y child theme)
 * ======================================== */

/* RH-04: Marquee Pause/Play button */
.elementor-widget-container:has(> .mq-track){
  position:relative;
  padding-right:90px;
}
.mq-pause-btn{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 8px;
  background:transparent;
  color:#ffffff;
  border:1px solid #ffffff;
  border-radius:4px;
  line-height:1;
  cursor:pointer;
  z-index:5;
}
.mq-pause-btn:hover{
  background:#ffffff;
  color:#000000;
}
.mq-pause-btn:focus-visible{
  outline:2px solid #ffffff;
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(0,0,0,0.6);
}
.mq-pause-btn .mq-pause-icon{position:relative;display:inline-block;width:10px;height:12px;}
/* Pause: two vertical bars */
.mq-pause-btn[aria-pressed="false"] .mq-pause-icon::before,
.mq-pause-btn[aria-pressed="false"] .mq-pause-icon::after{
  content:"";position:absolute;top:0;width:3px;height:12px;background:currentColor;
}
.mq-pause-btn[aria-pressed="false"] .mq-pause-icon::before{left:1px;}
.mq-pause-btn[aria-pressed="false"] .mq-pause-icon::after{right:1px;}
/* Play: triangle */
.mq-pause-btn[aria-pressed="true"] .mq-pause-icon::before{
  content:"";position:absolute;top:0;left:1px;
  width:0;height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:9px solid currentColor;
}
.mq-track.is-paused{animation-play-state:paused !important;}
.mq-track.is-paused *{animation-play-state:paused !important;}
@media (prefers-reduced-motion: reduce){
  .mq-track{animation-play-state:paused !important;}
}

/* RH-05: Hero CTA row — force button row, keep "Explore Devices" on one line */
.elementor-page-65908 .elementor-element-4cf01b1b{
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:12px !important;
}
.elementor-page-65908 .elementor-element-4cf01b1b .elementor-button .elementor-button-text,
.elementor-page-65908 .elementor-element-4cf01b1b .elementor-button{
  white-space:nowrap !important;
}
@media (max-width:480px){
  .elementor-page-65908 .elementor-element-4cf01b1b .elementor-button,
  .elementor-page-65908 .elementor-element-4cf01b1b .elementor-button .elementor-button-text{
    white-space:normal !important;
  }
}

/* RH-07: keep caret tight against the parent link after toggle is moved out of <a> */
.menu-item-has-children{
  display:inline-flex;
  align-items:center;
  gap:0 !important;
  column-gap:0 !important;
}
.menu-item-has-children > .dropdown-menu-toggle,
.menu-item-has-children > .ast-menu-toggle,
.menu-item-has-children > .sub-arrow,
.menu-item-has-children > .premium-submenu-indicator,
.menu-item-has-children > .premium-dropdown-icon{
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
  margin-left:-2px;
  margin-right:7px;
  padding-left:0;
}
.menu-item-has-children > a.premium-menu-link,
.menu-item-has-children > a.menu-link{
  display:inline-flex;
  align-items:center;
  padding-right:0 !important;
  margin-right:0 !important;
}
/* Astra caret SVG sizing */
.menu-item-has-children > .dropdown-menu-toggle .ast-arrow-svg{
  width:10px;
  height:10px;
}

/* Row 9: Keyboard-opened navigation submenus */
.menu-item-has-children.rh-submenu-open:not(.premium-nav-menu-item) > .sub-menu,
.premium-nav-menu-item.menu-item-has-children.rh-submenu-open:not(:has(> .premium-mega-content-container, > .premium-mega-menu-content)) > .premium-sub-menu,
.premium-nav-menu-item.menu-item-has-children.rh-submenu-open > .premium-mega-content-container,
.premium-nav-menu-item.menu-item-has-children.rh-submenu-open > .premium-mega-menu-content{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.premium-nav-menu-item.menu-item-has-children.rh-submenu-open:has(> .premium-mega-content-container, > .premium-mega-menu-content) > .premium-sub-menu{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.menu-item-has-children > .ast-menu-toggle:focus-visible,
.menu-item-has-children > a .sub-arrow:focus-visible,
.menu-item-has-children > a .dropdown-menu-toggle:focus-visible,
.premium-nav-menu-item.menu-item-has-children > .premium-submenu-indicator:focus-visible,
.premium-nav-menu-item.menu-item-has-children > .premium-dropdown-icon:focus-visible,
.premium-nav-menu-item.menu-item-has-children > a .premium-submenu-indicator:focus-visible,
.premium-nav-menu-item.menu-item-has-children > a .premium-dropdown-icon:focus-visible{
  outline:2px solid currentColor !important;
  outline-offset:4px !important;
  border-radius:2px;
  box-shadow:none !important;
}

/* Row 8: Home hero contrast panel */
.rh-row11-orange-btn,
.rh-row11-orange-btn:visited{
  background:#AE282E !important;
  background-color:#AE282E !important;
  color:#ffffff !important;
  border-color:#AE282E !important;
}
.rh-row11-orange-btn:hover,
.rh-row11-orange-btn:focus{
  background:#8f2026 !important;
  background-color:#8f2026 !important;
  color:#ffffff !important;
  border-color:#8f2026 !important;
}

/* Row 12: Only text rendered as #E8820C */
.rh-row12-orange-text{
  color:#AA5F09 !important;
}

/* Row 14: Sitewide two-color keyboard focus indicator */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[role="link"]:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible,
.ast-button:focus-visible,
.button:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible{
  outline:2px solid #000000 !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px #ffffff !important;
}

/* Row 16: Product Buy Now buttons need a clear keyboard focus state */
.woocommerce-loop-product__buttons .button:focus-visible,
.products .product .astra-shop-summary-wrap > .button:focus-visible,
.products .product .ast-on-card-button.add_to_cart_button:focus-visible,
.products .product .button.add_to_cart_button:focus-visible,
.woocommerce .products .product a.button.add_to_cart_button:focus-visible{
  outline:3px solid #000000 !important;
  outline-offset:4px !important;
  box-shadow:0 0 0 3px #ffffff, 0 0 0 7px #000000 !important;
  transform:none !important;
}

/* Product gallery thumbnails need a visible keyboard focus state */
.woocommerce-product-gallery .flex-control-thumbs img[role="button"]{
  cursor:pointer;
}
.woocommerce-product-gallery .flex-control-thumbs img[role="button"]:focus-visible{
  outline:3px solid #000000 !important;
  outline-offset:4px !important;
  box-shadow:0 0 0 3px #ffffff, 0 0 0 7px #000000 !important;
}

/* Row 20: Orange/gold product-card text needs sufficient contrast on white */
.woocommerce .price,
.woocommerce .price ins,
.woocommerce .price ins .woocommerce-Price-amount,
.woocommerce .price ins .woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins{
  color:#A85E00 !important;
}

.woocommerce .price del,
.woocommerce .price del .woocommerce-Price-amount,
.woocommerce .price del .woocommerce-Price-currencySymbol,
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del{
  color:#AA5F09 !important;
  opacity:1 !important;
}

.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category,
.woocommerce-shop ul.products li.product .ast-woo-product-category,
.archive.woocommerce ul.products li.product .ast-woo-product-category,
.tax-product_cat ul.products li.product .ast-woo-product-category,
.elementor-widget-woocommerce-products ul.products li.product .ast-woo-product-category,
.elementor-65908 .elementor-element.elementor-element-b89171d .ast-woo-product-category,
.elementor-65908 .elementor-element.elementor-element-2fa67247 .ast-woo-product-category{
  color:#8B500A !important;
  opacity:1 !important;
  font-weight:700 !important;
}

.woocommerce .star-rating,
.woocommerce .star-rating::before,
.woocommerce .comment-form-rating .stars a,
.elementor-star-rating,
.elementor-star-rating i,
.elementor-star-rating svg{
  color:#A85E00 !important;
  fill:#A85E00 !important;
}

/* Row 15: Reviews section bypass link */
.rh-skip-reviews{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.rh-skip-reviews:focus,
.rh-skip-reviews:focus-visible{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  overflow:visible !important;
  display:inline-block !important;
  margin:0 0 16px !important;
  padding:10px 14px !important;
  background:#ffffff !important;
  color:#000000 !important;
  border:2px solid #000000 !important;
  border-radius:4px !important;
  text-decoration:none !important;
  z-index:10 !important;
  outline:2px solid #000000 !important;
  outline-offset:2px !important;
  box-shadow:0 0 0 4px #ffffff !important;
}

/* Row 22: Replace FAQ image-of-text rates table with semantic HTML */
.rh-hidden-image-of-text{
  display:none !important;
}

.rh-rates-table-wrap{
  width:100%;
  overflow-x:auto;
  margin:1.5rem 0;
}

.rh-rates-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  background:#ffffff;
  color:#1f2933;
  font-size:16px;
  line-height:1.45;
}

.rh-rates-table caption{
  padding:0 0 .75rem;
  color:#1f2933;
  font-weight:700;
  text-align:left;
}

.rh-rates-table th,
.rh-rates-table td{
  padding:.75rem .9rem;
  border:1px solid #cbd5e1;
  text-align:left;
  vertical-align:top;
}

.rh-rates-table thead th{
  background:#26345f;
  color:#ffffff;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0;
}

.rh-rates-table thead th:nth-child(1){ background:#8b500a; }
.rh-rates-table thead th:nth-child(2){ background:#9a3f1e; }
.rh-rates-table thead th:nth-child(3){ background:#8c2f4f; }
.rh-rates-table thead th:nth-child(4){ background:#5c315f; }
.rh-rates-table thead th:nth-child(5){ background:#26345f; }

.rh-rates-table tbody th{
  font-weight:700;
}

/* Row 8: Home hero contrast panel */
.elementor-page-65908 .elementor-element-113dc5ac{
  --justify-content:flex-start !important;
  justify-content:flex-start !important;
}

.elementor-page-65908 .elementor-element-113dc5ac .elementor-element-5b159af1{
  --flex-grow:0 !important;
  --flex-shrink:1 !important;
  --flex-basis:auto !important;
  --height:auto !important;
  --min-height:0 !important;
  --align-self:flex-start !important;
  --padding-top:clamp(24px, 3vw, 40px) !important;
  --padding-right:clamp(24px, 3vw, 40px) !important;
  --padding-bottom:clamp(24px, 3vw, 40px) !important;
  --padding-left:clamp(24px, 3vw, 40px) !important;
  max-width:640px;
  min-height:0 !important;
  height:auto !important;
  align-self:flex-start !important;
  flex:0 1 auto !important;
  margin-top:100px;
  margin-left:0;
  padding:clamp(24px, 3vw, 40px);
  background:rgba(0,0,0,0.55);
  border-radius:16px;
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}

@media (max-width:767px){
  .elementor-page-65908 .elementor-element-113dc5ac .elementor-element-5b159af1{
    --padding-top:24px !important;
    --padding-right:20px !important;
    --padding-bottom:24px !important;
    --padding-left:20px !important;
    width:calc(100% - 32px);
    max-width:none;
    min-height:0 !important;
    height:auto !important;
    margin:75px auto 32px;
    padding:24px 20px;
  }
}

@media (max-width:1024px){
  .elementor-page-65908 .elementor-element-113dc5ac{
    --justify-content:flex-end !important;
    justify-content:flex-end !important;
  }

  .elementor-page-65908 .elementor-element-113dc5ac .elementor-element-5b159af1{
    margin-top:0;
    margin-bottom:70px;
  }
}

/* Row 27 / RH-24: Join Affiliate white-on-purple contrast */
.elementor-page-51605 .elementor-element-6c30816,
.elementor-page-51605 .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-page-51605 .elementor-button.elementor-button-link{
  background-color:#A05CA3 !important;
}

.elementor-page-51605 .e-n-accordion-item[open] > .e-n-accordion-item-title,
.elementor-page-51605 .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text,
.elementor-page-51605 .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon,
.elementor-page-51605 .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon i,
.elementor-page-51605 .elementor-button.elementor-button-link,
.elementor-page-51605 .elementor-button.elementor-button-link:hover,
.elementor-page-51605 .elementor-button.elementor-button-link:focus{
  color:#ffffff !important;
}

.elementor-page-51605 .e-n-accordion-item[open] > .e-n-accordion-item-title:hover,
.elementor-page-51605 .e-n-accordion-item[open] > .e-n-accordion-item-title:focus,
.elementor-page-51605 .elementor-button.elementor-button-link:hover,
.elementor-page-51605 .elementor-button.elementor-button-link:focus{
  background-color:#965399 !important;
}

/* Row 34 / RH-31: keep accordion focus indicator visible on all four sides */
.elementor-page-51605 .e-n-accordion .e-n-accordion-item-title:focus,
.elementor-page-51605 .e-n-accordion .e-n-accordion-item-title:focus-visible{
  outline:3px solid #000000 !important;
  outline-offset:2px !important;
  box-shadow:inset 0 0 0 3px #000000, inset 0 0 0 6px #ffffff, 0 0 0 5px #ffffff !important;
  border-radius:2px;
}

/* Row 28 / RH-25: Join Affiliate purple-on-white contrast */
.elementor-page-51605 .fa-chevron-right{
  color:#A05CA3 !important;
}

.elementor-page-51605 .elementor-button.elementor-button-link{
  border:2px solid #A05CA3 !important;
  box-sizing:border-box;
}

.elementor-page-51605 .elementor-location-footer .elementor-widget-text-editor,
.elementor-page-51605 .elementor-location-footer .elementor-widget-text-editor p,
.elementor-page-51605 .elementor-51127 .elementor-widget-text-editor,
.elementor-page-51605 .elementor-51127 .elementor-widget-text-editor p{
  color:#3f3f3f !important;
}

/* Row 37 / RH-34: identify text links without relying on color alone */
.entry-content a:not(.button):not(.elementor-button):not(.wp-block-button__link):not(.ast-button),
.post-navigation a,
.nav-links a,
.woocommerce-product-details__short-description a,
.woocommerce-Tabs-panel a,
.woocommerce-product-details__short-description a:visited,
.woocommerce-Tabs-panel a:visited,
.elementor-location-footer .elementor-widget-text-editor a,
.elementor-location-footer .elementor-widget-icon-list a,
.elementor-location-footer .elementor-widget-nav-menu a.elementor-item,
.elementor-location-footer .elementor-widget-nav-menu a.elementor-sub-item,
.site-footer .widget_text a,
.site-footer .menu a{
  text-decoration:underline !important;
  text-decoration-thickness:1px;
  text-underline-offset:0.18em;
}

.entry-content a:not(.button):not(.elementor-button):not(.wp-block-button__link):not(.ast-button):hover,
.entry-content a:not(.button):not(.elementor-button):not(.wp-block-button__link):not(.ast-button):focus,
.post-navigation a:hover,
.post-navigation a:focus,
.nav-links a:hover,
.nav-links a:focus,
.woocommerce-product-details__short-description a:hover,
.woocommerce-product-details__short-description a:focus,
.woocommerce-Tabs-panel a:hover,
.woocommerce-Tabs-panel a:focus,
.elementor-location-footer .elementor-widget-text-editor a:hover,
.elementor-location-footer .elementor-widget-text-editor a:focus,
.elementor-location-footer .elementor-widget-icon-list a:hover,
.elementor-location-footer .elementor-widget-icon-list a:focus,
.elementor-location-footer .elementor-widget-nav-menu a.elementor-item:hover,
.elementor-location-footer .elementor-widget-nav-menu a.elementor-item:focus,
.elementor-location-footer .elementor-widget-nav-menu a.elementor-sub-item:hover,
.elementor-location-footer .elementor-widget-nav-menu a.elementor-sub-item:focus,
.site-footer .widget_text a:hover,
.site-footer .widget_text a:focus,
.site-footer .menu a:hover,
.site-footer .menu a:focus{
  text-decoration-thickness:2px;
}

/* Row 38 / RH-35: visible instructions for required account forms */
.rh-form-instructions{
  margin:0 0 1rem;
  color:#3f3f3f;
  font-size:0.95rem;
  line-height:1.5;
}

@media (max-width:1024px) and (min-width:768px){
  .elementor-page-65908 .elementor-element-113dc5ac .elementor-element-5b159af1{
    --justify-content:center !important;
    --padding-bottom:0px !important;
    margin-top:24px !important;
  }
}

/* ===== Trustpilot placement fix (2026-06-11 v3) =====
 * The Trustpilot plugin injects its review widget into TWO spots:
 *  - near heading element 1061b15c (ABOVE the "Real stories" subtext) — unwanted here
 *  - inside n-carousel element 90852d5 (BELOW the subtext) — the desired location,
 *    but 90852d5 is hidden on all devices and also holds a native testimonial carousel.
 * Goal: show ONLY the Trustpilot widget inside 90852d5 (below subtext); hide the
 * upper copy near 1061b15c; keep 90852d5's native testimonial carousel hidden.
 * WCAG-safe: display:none removes hidden bits from a11y tree + tab order.
 * Reversible: delete this block. */

/* 1) hide the upper Trustpilot copy that injects next to the heading */
.elementor-element-1061b15c + .trustpilot-widget,
.elementor-element-1061b15c ~ .trustpilot-widget,
.elementor-element-1061b15c .trustpilot-widget {
  display: none !important;
}

/* 2) reveal the lower container, but ONLY its injected Trustpilot widget */
.elementor-element-90852d5 {
  display: block !important;
}
.elementor-element-90852d5 > .elementor-widget-container > .e-n-carousel {
  display: none !important;            /* keep native testimonial carousel hidden */
}
.elementor-element-90852d5 .trustpilot-widget,
.elementor-element-90852d5 .trustpilot-widget iframe {
  display: block !important;
}

/* hide the native Elementor n-carousel swiper navigation arrows in 90852d5
 * (they are siblings of .e-n-carousel under .elementor-widget-container, so the
 * earlier .e-n-carousel rule missed them — these were the stray duplicate arrows) */
.elementor-element-90852d5 .elementor-swiper-button,
.elementor-element-90852d5 .swiper-pagination,
.elementor-element-90852d5 .elementor-swiper-button-prev,
.elementor-element-90852d5 .elementor-swiper-button-next {
  display: none !important;
}

/* Homepage performance pass (2026-06-11):
 * Stabilize the mobile stat counters flagged as the primary CLS culprit.
 * Elementor's default counter wrapper flexes the empty prefix and suffix,
 * causing the row to re-balance while animated numbers change width. */
@media (max-width: 767px) {
  .elementor-page-65908 .elementor-element-662a4694 {
    min-height: 409px;
  }

  .elementor-page-65908 .elementor-element-662a4694 .elementor-widget-counter {
    min-height: 76px;
  }

  .elementor-page-65908 .elementor-element-662a4694 .elementor-counter-number-wrapper {
    justify-content: center;
    min-height: 36px;
    font-variant-numeric: tabular-nums;
  }

  .elementor-page-65908 .elementor-element-662a4694 .elementor-counter-number-prefix {
    display: none;
  }

  .elementor-page-65908 .elementor-element-662a4694 .elementor-counter-number,
  .elementor-page-65908 .elementor-element-662a4694 .elementor-counter-number-suffix {
    flex: 0 0 auto;
  }

  .elementor-page-65908 .elementor-element-662a4694 .elementor-counter-title {
    min-height: 40px;
  }

  .elementor-page-65908 .elementor-element-1ae4e18,
  .elementor-page-65908 .elementor-element-1ae4e18 .elementor-widget-container {
    aspect-ratio: 1061 / 1658;
    min-height: 609px;
  }

  .elementor-page-65908 .elementor-element-1ae4e18 img {
    display: block;
    width: 100%;
    height: auto;
  }
}
