/*
 * Forest Finance approved palette and interaction states.
 * Version 0.51.14. Loaded after the page-family styles so legacy Enfold and
 * earlier component colours cannot leak into public controls.
 */

:root {
  --ffw-error: #8a351f;
}

/* Shared interactive controls. */
.ffw-site .ffw-btn,
.ffw-site .ffw-header-cta,
.ffw-site .ffw-mobile-menu-cta,
.ffw-site .ffw-footer__cta,
.ffw-site .ffw-crm-step-next,
.ffw-site .ffw-crm-step-submit,
.ffw-site button[type="submit"] {
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease !important;
}

.ffw-site :is(
  .ffw-btn--primary,
  .ffw-btn--accent,
  .ffw-header-cta,
  .ffw-mobile-menu-cta,
  .ffw-crm-step-next,
  .ffw-crm-step-submit,
  button[type="submit"]
) {
  border-color: #364b39 !important;
  background: #364b39 !important;
  color: #f7f3ea !important;
}

.ffw-site :is(
  .ffw-btn--primary,
  .ffw-btn--accent,
  .ffw-header-cta,
  .ffw-mobile-menu-cta,
  .ffw-crm-step-next,
  .ffw-crm-step-submit,
  button[type="submit"]
):is(:hover, :focus-visible) {
  border-color: #66513b !important;
  background: #66513b !important;
  color: #f7f3ea !important;
  box-shadow: none !important;
  transform: none !important;
}

.ffw-site :is(
  .ffw-btn--ghost,
  .ffw-btn--secondary,
  .ffw-btn--light,
  .ffw-crm-step-prev
) {
  border-color: #d3cbbf !important;
  background: #ffffff !important;
  color: #364b39 !important;
}

.ffw-site :is(
  .ffw-btn--ghost,
  .ffw-btn--secondary,
  .ffw-btn--light,
  .ffw-crm-step-prev
):is(:hover, :focus-visible) {
  border-color: #364b39 !important;
  background: #364b39 !important;
  color: #f7f3ea !important;
  box-shadow: none !important;
  transform: none !important;
}

.ffw-site .ffw-footer :is(.ffw-footer__cta, .ffw-btn--light) {
  border-color: #f7f3ea !important;
  background: #f7f3ea !important;
  color: #2d2e2e !important;
}

.ffw-site .ffw-footer :is(.ffw-footer__cta, .ffw-btn--light):is(:hover, :focus-visible) {
  border-color: #d3cbbf !important;
  background: #d3cbbf !important;
  color: #2d2e2e !important;
}

.ffw-site :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #66513b !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

.ffw-site :is(input, select, textarea):is(:hover, :focus) {
  border-color: #364b39 !important;
}

.ffw-site :is(button, input, select, textarea):disabled,
.ffw-site [aria-disabled="true"] {
  border-color: #d3cbbf !important;
  background: #d3cbbf !important;
  color: #2d2e2e !important;
  opacity: 1 !important;
}

/* Persistent navigation. */
.ffw-site .ffw-nav-link:is(:hover, :focus-visible),
.ffw-site .ffw-nav-item.is-active > .ffw-nav-link,
.ffw-site .ffw-subnav__link:is(:hover, :focus-visible),
.ffw-site .ffw-header-login:is(:hover, :focus-visible),
.ffw-site .ffw-mobile-menu-login:is(:hover, :focus-visible) {
  background: #d3cbbf !important;
  color: #364b39 !important;
}

.ffw-site .ffw-mobile-toggle {
  color: #2d2e2e !important;
}

.ffw-site .ffw-mobile-toggle span {
  background: #364b39 !important;
}

/* Related-guidance cards use the approved White-section/Ivory-card pairing. */
.ffw-site .ffw-seo-link-card {
  border-color: #d3cbbf !important;
  background: #f7f3ea !important;
  color: #2d2e2e !important;
  box-shadow: none !important;
  transform: none !important;
}

.ffw-site .ffw-seo-link-card span {
  color: #364b39 !important;
}

.ffw-site .ffw-seo-link-card small {
  color: #2d2e2e !important;
}

.ffw-site .ffw-seo-link-card b {
  border: 1px solid #d3cbbf !important;
  background: #ffffff !important;
  color: #364b39 !important;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease,
    translate 120ms ease !important;
}

.ffw-site .ffw-seo-link-card:is(:hover, :focus-visible) {
  border-color: #364b39 !important;
  background: #f7f3ea !important;
  box-shadow: none !important;
  transform: none !important;
}

.ffw-site .ffw-seo-link-card:is(:hover, :focus-visible) b {
  border-color: #364b39 !important;
  background: #364b39 !important;
  color: #f7f3ea !important;
  translate: 2px 0;
}

/* Remove legacy Enfold lime from media overlays inside Forest Finance pages. */
.ffw-site .image-overlay-inside::before {
  background: #364b39 !important;
  color: #f7f3ea !important;
}

/* Forms: approved inactive, active, focus and validation colours. */
.ffw-site .ffw-crm-stepper__item {
  color: #2d2e2e !important;
}

.ffw-site .ffw-crm-stepper__item .ffw-crm-stepper__dot {
  border-color: #d3cbbf !important;
  background: #d3cbbf !important;
  color: #2d2e2e !important;
}

.ffw-site .ffw-crm-stepper__item:is(.is-active, .is-complete) .ffw-crm-stepper__dot {
  border-color: #364b39 !important;
  background: #364b39 !important;
  color: #f7f3ea !important;
}

.ffw-site .ffw-crm-field__label,
.ffw-site .ffw-form-smallprint,
.ffw-site .ffw-consent {
  color: #2d2e2e !important;
}

.ffw-site .ffw-crm-field__required,
.ffw-site .ffw-form-status.ffw-form-status--error,
.ffw-site .ffw-form-status.ffw-form-status--spam {
  color: var(--ffw-error) !important;
}

.ffw-site .ffw-form-status.ffw-form-status--error,
.ffw-site .ffw-form-status.ffw-form-status--spam,
.ffw-site [aria-invalid="true"] {
  border-color: var(--ffw-error) !important;
}

.ffw-site .ffw-form-status.ffw-form-status--error,
.ffw-site .ffw-form-status.ffw-form-status--spam {
  background: #f7f3ea !important;
}

/* Repeated dividers and decorative surfaces. */
.ffw-site .ffw-footer__trust,
.ffw-site .ffw-footer__bottom,
.ffw-site .ffw-placeholder-panel,
.ffw-site .ffw-audience-highlight,
.ffw-site .ffw-source-pill,
.ffw-site .ffw-partner-flow__steps {
  border-color: #d3cbbf !important;
}

.ffw-site .ffw-interior-scene__arch {
  background: #d3cbbf !important;
}

.ffw-site .ffw-interior-scene__card {
  background: #ffffff !important;
}

.ffw-site .ffw-pricing-table,
.ffw-site .ffw-pricing-table tr {
  background: #ffffff !important;
  color: #2d2e2e !important;
}

.ffw-site .ffw-price-card__best {
  border-color: #d3cbbf !important;
  background: #f7f3ea !important;
  color: #2d2e2e !important;
}

.ffw-site .ffw-price-card__flag {
  border-color: #66513b !important;
  background: #66513b !important;
  color: #f7f3ea !important;
}

.ffw-site--partner-route .ffw-page-body--partner-route {
  background: #f7f3ea !important;
}

.ffw-site .ffw-partner-route-card h2,
.ffw-site .ffw-partner-route-card p,
.ffw-site .ffw-partner-route-note {
  color: #2d2e2e !important;
}

.ffw-site .ffw-partner-route-note,
.ffw-site .ffw-partner-disclosure {
  border-color: #66513b !important;
  background: #f7f3ea !important;
  color: #2d2e2e !important;
}

.ffw-site .ffw-partner-topic-card {
  border-color: #d3cbbf !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.ffw-site .ffw-partner-topic-card span {
  background: #f7f3ea !important;
  color: #66513b !important;
}

.ffw-site .ffw-partner-topic-card:is(:hover, :focus-visible) {
  border-color: #364b39 !important;
  box-shadow: none !important;
  transform: none !important;
}

/*
 * Singular guide/blog posts still use the Enfold article shell outside the
 * plugin wrapper. Keep that shell cohesive without touching wp-admin chrome.
 */
body.single-post {
  background: #f7f3ea !important;
  color: #2d2e2e !important;
}

body.single-post :is(#header, .header_bg, .container_wrap_logo) {
  border-color: #d3cbbf !important;
  background: #f7f3ea !important;
  color: #2d2e2e !important;
}

body.single-post #header :is(div, nav, ul, li, a, span, strong, .av-hamburger-inner) {
  color: #2d2e2e !important;
}

body.single-post #header .av-hamburger-inner,
body.single-post #header .av-hamburger-inner::before,
body.single-post #header .av-hamburger-inner::after {
  background: #364b39 !important;
}

body.single-post #main,
body.single-post .main_color,
body.single-post .main_color .container_wrap {
  border-color: #d3cbbf !important;
  background: #ffffff !important;
  color: #2d2e2e !important;
}

body.single-post .title_container,
body.single-post .title_container .container {
  border-color: #d3cbbf !important;
  background: #f7f3ea !important;
  color: #2d2e2e !important;
}

body.single-post .title_container :is(strong, span) {
  color: #2d2e2e !important;
}

body.single-post .title_container a {
  color: #364b39 !important;
}

body.single-post .title_container a:is(:hover, :focus-visible) {
  color: #66513b !important;
  text-decoration: underline !important;
}

body.single-post .main_color :is(h1, h2, h3, h4, h5, h6) {
  color: #364b39 !important;
}

body.single-post .main_color :is(p, li, strong, em, time, .minor-meta) {
  color: #2d2e2e !important;
}

body.single-post .main_color :is(.minor-meta, .minor-meta *, .text-sep) {
  color: #66513b !important;
}

body.single-post .main_color a:not(.ffw-btn):not(.ffw-seo-link-card) {
  color: #364b39 !important;
}

body.single-post .main_color a:not(.ffw-btn):not(.ffw-seo-link-card):is(:hover, :focus-visible) {
  color: #66513b !important;
  text-decoration: underline !important;
}

body.single-post :is(.footer_color, .socket_color) {
  border-color: #d3cbbf !important;
  background: #364b39 !important;
  color: #f7f3ea !important;
}

body.single-post :is(.footer_color, .socket_color) :is(h1, h2, h3, h4, p, a, li) {
  color: #f7f3ea !important;
}

/* Final inheritance cleanup found by the post-deployment public-route audit. */
.ffw-site .ffw-page-body strong {
  color: inherit !important;
}

.ffw-site .ffw-page-body a:not(.ffw-btn):not(.ffw-seo-link-card):not(.ffw-route-card):not(.ffw-card):not(.ffw-price-card):not(.ffw-home-price-card):not(.ffw-resource-card) {
  color: #364b39 !important;
}

.ffw-site .ffw-page-body a:not(.ffw-btn):not(.ffw-seo-link-card):not(.ffw-route-card):not(.ffw-card):not(.ffw-price-card):not(.ffw-home-price-card):not(.ffw-resource-card) :is(span, strong, b) {
  color: inherit !important;
}

.ffw-site .ffw-page-body a:not(.ffw-btn):not(.ffw-seo-link-card):not(.ffw-route-card):not(.ffw-card):not(.ffw-price-card):not(.ffw-home-price-card):not(.ffw-resource-card):is(:hover, :focus-visible) {
  color: #66513b !important;
  text-decoration: underline !important;
}

.ffw-site :is(
  .ffw-faq,
  .ffw-table-scroll,
  .ffw-pricing-missing,
  .ffw-referral-card
),
.ffw-site :is(.ffw-audience-highlight, .ffw-pricing-missing) li,
.ffw-site .ffw-pricing-table :is(th, td),
.ffw-site .ffw-section--journey-form {
  border-color: #d3cbbf !important;
}

.ffw-site[data-ffw-page="home"] .ffw-home-hero__chips span {
  box-shadow: none !important;
}

.ffw-site[data-ffw-page="home"] .ffw-hero-form-panel__head .ffw-eyebrow {
  border-color: transparent !important;
  background: transparent !important;
  color: #66513b !important;
}

.ffw-site.ffw-site[data-ffw-page="home"] .ffw-section--journey-form-lower-home .ffw-crm-form--placement-lower > .ffw-eyebrow {
  border: 0 !important;
  background: transparent !important;
  color: #66513b !important;
}

.ffw-site.ffw-site .ffw-crm-form .ffw-crm-step-actions {
  border-color: #d3cbbf !important;
}

.ffw-site.ffw-site .ffw-cta-band .ffw-container p {
  color: #f7f3ea !important;
}

@media (prefers-reduced-motion: reduce) {
  .ffw-site *,
  .ffw-site *::before,
  .ffw-site *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
