/* Shared keyboard navigation and form affordances. Loaded after theme styles. */
:focus-visible {
  outline: 3px solid #111 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}

.skip-link {
  position: fixed;
  z-index: 10000;
  top: 1rem;
  left: 1rem;
  padding: .75rem 1rem;
  background: #fff;
  color: #111;
  font-size: 1rem;
  text-decoration: underline;
  transform: translateY(calc(-100% - 2rem));
}

.skip-link:focus {
  transform: translateY(0);
}

#main-content {
  scroll-margin-top: 2rem;
}

.woocommerce form .form-row label {
  display: block;
  margin-bottom: .35rem;
}

.link-shop,
.link-social {
  min-width: 24px;
  min-height: 24px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Preserve the palette while meeting normal-text contrast requirements. */
.section.section-green {
  background-color: #506858 !important;
  color: #fff;
}

.loop-add-to-cart,
.simple-button:not(.tags-button):not(.is-green),
.text-product-price.is-promo,
.add-to-cart-button {
  background-color: #b63b0e;
  color: #fff;
}

.simple-button.is-green {
  background-color: #237642;
  color: #fff;
}

.simple-button:hover,
.text-product-price.is-promo:hover,
.add-to-cart-button:hover {
  opacity: 1;
}

.span-red {
  color: #a30c0c;
}

#fupi_agree_to_all_cookies_btn {
  background-color: #237642 !important;
}

#fupi_agree_text {
  color: #fff !important;
}

.filters-wrapper .filter-heading {
  font-size: 18px;
  line-height: 24px;
}

.filters-wrapper .text-filters-header {
  font-size: inherit;
  line-height: inherit;
}

button.add-to-cart-simple,
button.add-to-wishlist {
  border: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  cursor: pointer;
}

button.add-to-wishlist {
  padding: 0;
  background: transparent;
}

button.loop-add-to-cart {
  width: 100%;
  border: 0;
  font-size: 1.25rem;
  font-weight: 700;
}

.product-loop-item:focus-within .loop-add-to-cart {
  transform: translateY(0);
  opacity: 1;
}

button.image-close-popup,
button.deleteFromWishlist {
  padding: 0;
  border: 0;
  background: transparent;
}

button.image-close-popup img,
button.deleteFromWishlist img {
  width: 100%;
  height: 100%;
}

#added-to-cart-title {
  padding-right: 2.5rem;
  font-size: 1.4rem;
  line-height: 1.4;
}

.ep-sr-only,
.ep-accessibility-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.ep-accessibility-error:empty {
  display: none;
}

.ep-accessibility-error:not(:empty) {
  position: fixed;
  z-index: 10001;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  width: fit-content;
  max-width: calc(100% - 2rem);
  margin: 0 auto;
  padding: 1rem;
  border: 2px solid #a30c0c;
  background: #fff;
  color: #111;
  box-shadow: 0 2px 8px #0003;
}

.woocommerce form .show-password-input {
  min-width: 28px;
  min-height: 28px;
}
.product-info-single .a-link-category { text-decoration: underline; }
.woocommerce-checkout #payment { color: #344b3b; }
.ep-cookie-settings {
  background: transparent;
  border: 1px solid currentColor;
  padding: .6rem .8rem;
  font: inherit;
  cursor: pointer;
}
.logo-text { color: #344b3b; }
.div-bfooter-box > a { min-height: 24px; display: inline-flex; align-items: center; }
.navlink, .link-nav-details { color: #344b3b; }

/* Text equivalents retain native disclosure and table semantics. */
.ep-document-details { margin: 1rem 0; max-width: 100%; }
.ep-document-details summary { cursor: pointer; padding: .75rem; border: 1px solid #506858; }
.ep-accessible-document { padding: 1rem 0; overflow-wrap: anywhere; }
.ep-accessible-document table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.ep-accessible-document th, .ep-accessible-document td { padding: .5rem; border: 1px solid #506858; text-align: left; }
.ep-accessible-document caption { font-weight: 700; text-align: left; margin-bottom: .5rem; }
.gallery-item-el { min-width: 0; }
.a-lightbox-gal span { display: block; text-decoration: underline; margin-top: .5rem; }
.ep-document-table { max-width: 100%; overflow-x: auto; margin: 1rem 0; }
.ep-document-table table { min-width: 40rem; overflow-wrap: normal; }
.ep-accessible-document dd { margin: 0 0 .75rem; }
.ep-accessible-document dt { font-weight: 700; }
.newsletter-box .wpcf7-list-item-label { color: #344b3b; }

/* Blog headings keep the established card typography at their semantic level. */
.heading-post-loop {
  font-size: 18px;
  line-height: 24px;
}

.post-pagination {
  flex-wrap: wrap;
}

.post-pagination .page-numbers.prev,
.post-pagination .page-numbers.next {
  min-width: 2.25rem;
  min-height: 2.25rem;
}

@media (max-width: 767px) {
  .navmenu-blog {
    flex-flow: row wrap;
    overflow: visible;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    gap: .75rem 1.5rem;
  }
}
.single-product-details-grid > .details-column { width: 100%; min-width: 0; max-width: 100%; }
.add-gallery-item { display: grid; grid-template-columns: minmax(0, 1fr); }
.post-content .wp-element-caption { background: #fff; color: #344b3b; }
.navlink.w--current { color: #344b3b; }
.post-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption.wp-element-caption { background: #fff; color: #344b3b; }

/* Preserve the presentation of the newly structured shared About section. */
.diamon-content .simple-text .ep-about-heading,
.diamon-content .simple-text .ep-about-subheading {
    margin: 0;
    font: inherit;
    font-weight: 700;
}
