/* WCAG AA contrast and keyboard focus fixes scoped to the affected templates. */
.home .section-facts p,
.home .section-services p,
.home .section-industries p,
.home .section-process p,
.home .section-why p,
.home .section-cta p,
.home .hestia-shop .card-description,
.home .hestia-shop .description,
.home .hestia-testimonials .description,
.home .hestia-testimonials .card-description,
.home .hestia-testimonials .category,
.home .hestia-blogs .description,
.home .hestia-blogs .card-description,
.home .hestia-blogs .category {
  color: #595959 !important;
}

.home .service-card a,
.home .section-industries a,
.home .section-process a,
.home .section-why a,
.home .section-cta a:not(.btn),
.home .hestia-shop .category a,
.home .hestia-testimonials .category a,
.home .hestia-blogs .category a {
  color: #9f241c !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.home .service-card a:hover,
.home .service-card a:focus-visible,
.home .section-cta a:not(.btn):hover,
.home .section-cta a:not(.btn):focus-visible,
.home .hestia-shop .category a:hover,
.home .hestia-testimonials .category a:hover,
.home .hestia-blogs .category a:hover {
  color: #741a15 !important;
  text-decoration: underline;
}

.fact-number {
  margin: 20px 0 10px;
  color: #3c4858 !important;
  font-family: "Roboto Slab", "Times New Roman", serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
}

.home .hestia-shop h3.card-title,
.home .hestia-blogs h3.card-title,
.home .hestia-contact h3.card-title,
.home .hestia-contact h3.description {
  font-size: 18px;
  line-height: 1.4;
}

.home p.description,
.home p.subscribe-description,
.home p.category,
.home p.info-title,
.home p.balansspb-contact-detail {
  font-style: inherit;
}

.footer.footer-black .widget_custom_html p,
.footer.footer-black .footer-vibromera,
.footer.footer-black .copyright,
.footer.footer-black .copyright::after {
  color: #e6e9ec !important;
  opacity: 1;
}

.footer.footer-black .widget_custom_html a,
.footer.footer-black .footer-vibromera a {
  color: #b9dcff !important;
  opacity: 1;
}

.footer.footer-black .widget_custom_html a:hover,
.footer.footer-black .widget_custom_html a:focus-visible,
.footer.footer-black .footer-vibromera a:hover,
.footer.footer-black .footer-vibromera a:focus-visible {
  color: #ffffff !important;
  text-decoration: underline;
}

body:not(.home) article[role="main"] a:not(.btn) {
  color: #9f241c !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

body:not(.home) article[role="main"] a:not(.btn):hover,
body:not(.home) article[role="main"] a:not(.btn):focus-visible {
  color: #741a15 !important;
  text-decoration: underline;
}

body:not(.home) article[role="main"] #zayavka .btn-primary {
  border-color: #0e7a3b !important;
  background: #0e7a3b !important;
  color: #ffffff !important;
}

body:not(.home) article[role="main"] #zayavka .btn-primary:hover,
body:not(.home) article[role="main"] #zayavka .btn-primary:focus-visible {
  border-color: #0c6633 !important;
  background: #0c6633 !important;
  color: #ffffff !important;
}

.footer.footer-black .footer-widget-title {
  margin: 0 0 15px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 3px !important;
}

#wpforms-71 .wpforms-submit {
  border-color: #0e7a3b !important;
  background: #0e7a3b !important;
  color: #ffffff !important;
}

#wpforms-71 .wpforms-submit:hover,
#wpforms-71 .wpforms-submit:focus-visible {
  border-color: #0c6633 !important;
  background: #0c6633 !important;
  color: #ffffff !important;
}

@media (max-width: 600px) {
  .cmplz-cookiebanner {
    max-height: calc(100vh - 24px) !important;
    overflow-y: auto !important;
    padding: 14px !important;
    gap: 8px !important;
  }

  .cmplz-cookiebanner .cmplz-message {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .cmplz-cookiebanner .cmplz-buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    width: auto !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    font-size: 13px !important;
  }

  .cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences {
    min-height: 34px !important;
    grid-column: 1 / -1;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #365f73 !important;
    text-decoration: underline;
  }
}
