/* Shared, low-risk accessibility baseline. Theme-specific contrast fixes
 * remain in the Warehouse theme remediation backlog. */

.rao-accessibility-page {
  max-width: 980px;
  margin: 0 auto;
  padding: 1.5rem 1rem 3rem;
  line-height: 1.6;
}

.rao-accessibility-page h1,
.rao-accessibility-page h2 {
  line-height: 1.25;
}

.rao-accessibility-page h1 {
  margin-bottom: 1.25rem;
}

.rao-accessibility-page h2 {
  margin-top: 2rem;
}

.rao-accessibility-home {
  box-sizing: border-box;
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1rem;
}

.rao-accessibility-home__inner {
  padding: 1.25rem 1.5rem;
  border-left: 4px solid #005fcc;
  background: #f3f7fc;
  color: #1f1f1f;
}

.rao-accessibility-home h2 {
  margin: 0 0 0.65rem;
  color: #1f1f1f;
  font-size: 1.45rem;
  line-height: 1.3;
}

.rao-accessibility-home p {
  max-width: 75ch;
  margin: 0 0 0.8rem;
}

.rao-accessibility-home__link {
  color: #0053a0;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.rao-accessibility-status {
  border-left: 4px solid #005fcc;
  padding: 0.9rem 1rem;
  background: #f3f7fc;
}

.rao-accessibility-page a:focus-visible,
.rao-accessibility-home a:focus-visible,
.rao-accessibility-footer a:focus-visible,
body :focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 3px;
}

.rao-accessibility-footer {
  margin: 0.75rem 0;
}

/* The desktop header uses #278d3f with white labels (4.22:1 at the tested
 * size). This darker green raises the ratio above the 4.5:1 AA threshold. */
#header,
#mobile-header,
#checkout-header,
.sticky-desktop-wrapper #desktop-header.stuck-header,
.sticky-desktop-wrapper .stuck-menu {
  background-color: #1f7a32 !important;
}

/* Contrast corrections observed on the live Warehouse/Elementor pages.
 * Keep the selectors tied to the affected home-page actions. White text on
 * these replacement greens is >= 4.5:1. */
body#index .elementor-button.btn-primary.elementor-size-medium {
  background-color: #1f7a32 !important;
  border-color: #1f7a32 !important;
  color: #ffffff !important;
}

body#index .elementor-button.btn-primary.elementor-size-medium:hover,
body#index .elementor-button.btn-primary.elementor-size-medium:focus,
body#index .elementor-button.btn-primary.elementor-size-medium:active {
  background-color: #1f7a32 !important;
  border-color: #1f7a32 !important;
  color: #ffffff !important;
}

body#index .elementor-button.btn-primary.elementor-size-medium .elementor-button-text,
body#index .elementor-button.btn-primary.elementor-size-medium:hover .elementor-button-text,
body#index .elementor-button.btn-primary.elementor-size-medium:focus .elementor-button-text,
body#index .elementor-button.btn-primary.elementor-size-medium:active .elementor-button-text {
  color: #ffffff !important;
}

body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"] {
  background-color: #006b18 !important;
  border-color: #006b18 !important;
  color: #ffffff !important;
}

body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"]:hover,
body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"]:focus,
body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"]:active {
  background-color: #006b18 !important;
  border-color: #006b18 !important;
  color: #ffffff !important;
}

body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"] .elementor-button-text,
body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"]:hover .elementor-button-text,
body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"]:focus .elementor-button-text,
body#index .elementor-button.btn-secondary[href*="api.whatsapp.com/send"]:active .elementor-button-text {
  color: #ffffff !important;
}

/* Review controls use a theme-editor background (#ffd814) and a later
 * reviews-module rule that forces white text/fill. Dark text and icon fill
 * provide a passing contrast ratio without changing the existing background. */
body#product button.ets-rv-post-product-comment.ets-rv-btn-comment-big.background2,
body#product button.btn-question.ets-rv-btn-question-big.background2 {
  color: #1f1f1f !important;
  fill: #1f1f1f !important;
}

body#product button.ets-rv-post-product-comment.ets-rv-btn-comment-big.background2:hover,
body#product button.ets-rv-post-product-comment.ets-rv-btn-comment-big.background2:focus,
body#product button.ets-rv-post-product-comment.ets-rv-btn-comment-big.background2:active,
body#product button.btn-question.ets-rv-btn-question-big.background2:hover,
body#product button.btn-question.ets-rv-btn-question-big.background2:focus,
body#product button.btn-question.ets-rv-btn-question-big.background2:active {
  color: #1f1f1f !important;
  fill: #1f1f1f !important;
}

body#product button.ets-rv-post-product-comment.ets-rv-btn-comment-big.background2 *,
body#product button.btn-question.ets-rv-btn-question-big.background2 *,
body#product button.ets-rv-post-product-comment.ets-rv-btn-comment-big.background2 svg *,
body#product button.btn-question.ets-rv-btn-question-big.background2 svg * {
  color: #1f1f1f !important;
  fill: #1f1f1f !important;
}

body#product span[data-default="Recensioni (0)"] {
  color: #1f1f1f !important;
}

/* Phone links in the light contact column inherited a near-identical color
 * from the paragraph and had no non-color distinction. */
body#contact #content .contact-page-info a[href^="tel:"] {
  color: #005fcc !important;
  text-decoration: underline !important;
}

/* Footer contact text is light on a dark background. A small white label with
 * dark, underlined text keeps the link distinguishable from both contexts. */
#footer a[href^="tel:"] {
  color: #1f1f1f !important;
  background-color: #ffffff !important;
  text-decoration: underline !important;
  padding: 0.1em 0.25em;
  border-radius: 0.15em;
}

/* Metadata in the blog cards inherited #bfbfbf on white. */
.ybc-blog-wrapper .post-date > span,
.ybc-blog-wrapper .post-author-label,
.ybc-blog-wrapper .ybc-blog-tags > .be-label,
.ybc-blog-wrapper .be-categories > .be-label,
.ybc_blog_content_block .post-date > span,
.ybc_blog_content_block .post-author-label,
.ybc_blog_content_block .ybc-blog-tags > .be-label,
.ybc_blog_content_block .be-categories > .be-label {
  color: #595959 !important;
}

/* The shipping CMS tabs are click-driven in the source. JavaScript adds the
 * tab semantics; these rules provide matching focus and passing contrast. */
.custom-container > .menu .menu-item[role="tab"] {
  cursor: pointer;
}

.custom-container > .menu .menu-item.active,
.custom-container > .menu .menu-item[aria-selected="true"] {
  color: #006b18 !important;
}

.custom-container > .menu .menu-item[role="tab"]:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: -3px;
}

.custom-container > .content table th {
  background-color: #1f7a32 !important;
  color: #ffffff !important;
}

.rao-accessibility-repaired-list {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

/* Orange text used in the terms CMS page was below the AA contrast target. */
body#cms.cms-id-3 .page-content [style*="#ff8400" i],
body#cms.cms-id-3 .page-content [style*="rgb(255, 132, 0)" i],
body#cms.cms-id-3 .page-content [color="#ff8400" i] {
  color: #8a4300 !important;
}

/* Preserve the white Google sign-in label while darkening only the affected
 * interactive control from #4285f4 to an AA-compliant blue. */
body#authentication #content a.btn-google,
body#authentication #content button.btn-google,
body#authentication #content a[class*="google" i],
body#authentication #content button[class*="google" i],
body#authentication #content a[style*="#4285f4" i],
body#authentication #content button[style*="#4285f4" i] {
  background-color: #185abc !important;
  border-color: #185abc !important;
  color: #ffffff !important;
}

body#authentication #content a.btn-google *,
body#authentication #content button.btn-google *,
body#authentication #content a[class*="google" i] *,
body#authentication #content button[class*="google" i] * {
  color: #ffffff !important;
}

.PM_ASCritRange.ui-slider .ui-slider-handle:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
