
/* GlowStrong Health APEX v4.8.0
   Accessibility + usability hardening */

/* Strong, consistent focus */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #d7192a!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}

/* Prevent invisible focus on dark red elements */
.gs-btn-red:focus-visible,
.gs-site-start-journey:focus-visible{
  outline-color:#fff!important;
  box-shadow:0 0 0 6px #d7192a!important;
}

/* Minimum interactive target */
:where(button,.button,.gs-btn,.gs-site-start-journey,.gs-market-cta,.gs-prod-link,.gs-blog-read,.gs-category-read){
  min-height:44px;
}

/* Form labels and errors */
.woocommerce form .form-row label,
.gs-shop-search label,
.gs-site-search label{
  font-weight:800;
  color:#0b2342;
}
.woocommerce-invalid input,
.woocommerce-invalid select,
.woocommerce-invalid textarea{
  border-color:#b91c1c!important;
}
.woocommerce-error,
.woocommerce-message,
.woocommerce-info{
  border-radius:0!important;
  line-height:1.55;
}
.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a{
  font-weight:900;
}

/* Readability */
.gs-article-content,
.gs-policy-detail p,
.gs-faq-group details p,
.gs-contact-direct p,
.gs-science-body>p:not(.gs-kicker),
.gs-blog-body>p:not(.gs-kicker){
  max-width:75ch;
}

/* Link visibility in long-form content */
.gs-article-content a:not(.gs-btn),
.gs-policy-detail a:not(.gs-btn),
.gs-faq-content a:not(.gs-btn){
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Accordions */
.gs-faq-group summary{
  min-height:52px;
}
.gs-faq-group summary span{
  flex:0 0 auto;
}

/* Tables */
.woocommerce table.shop_table th{
  text-align:left;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th{
  vertical-align:middle;
}

/* Screen reader helper */
.gs-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Better contrast for secondary copy */
.gs-kicker{letter-spacing:.09em}
.gs-footer-journey-note,
.gs-market-card small,
.gs-product-stage small{
  color:var(--gs-text-muted);
}
body:not(.gs-dark-context) .gs-market-card small{
  color:#5f6974;
}

/* Motion */
@media (prefers-reduced-motion: reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Zoom/reflow */
@media(max-width:500px){
  .gs-article-content{font-size:1rem}
  .gs-faq-group summary{font-size:1rem}
}
