/* Site-wide button contrast and focus-state safeguards. */
.site-header__cta,
.site-header__mobile-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .75rem 1.25rem;
  border: 1px solid #1a3b28;
  border-radius: 999px;
  background: #1a3b28;
  color: #f7f5f0 !important;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
}
.site-header__cta:hover,
.site-header__mobile-cta:hover { background: #a64b2a; border-color: #a64b2a; color: #fffdf8 !important; }
.site-header__mobile-cta { display: none; }

/* Keep compact navigation and form controls legible regardless of page-specific styles. */
.site-header__toggle {
  background: #fffdf8;
  color: #1a3b28;
  border-color: #1a3b28;
}
.site-header__toggle:hover {
  background: #1a3b28;
  color: #fffdf8;
  border-color: #1a3b28;
}
.bulk-page .bulk-submit {
  background: #1a3b28;
  color: #f7f5f0;
  border: 1px solid #1a3b28;
}
.bulk-page .bulk-submit:hover {
  background: #a64b2a;
  color: #fffdf8;
  border-color: #a64b2a;
}
.bulk-page .bulk-submit:focus-visible {
  outline: 3px solid #d4a64a;
  outline-offset: 3px;
}

/* Generic content buttons use deep green + cream, a high-contrast brand pairing. */
a.button, .button {
  background: #1a3b28;
  color: #f7f5f0;
  border-color: #1a3b28;
}
.bulk-page .about-why__cta .button { background: #1a3b28; color: #f7f5f0; border-color: #1a3b28; }
.content-page .about-why__cta .button { background: #f7f5f0; color: #1a3b28; border-color: #f7f5f0; }
.about-contact__where .button { background: #203d2d; color: #fffdf8; border-color: #203d2d; }
.grade-button--primary { background: #1a3b28; color: #fffdf8; border-color: #1a3b28; }
.grade-button--primary:hover { background: #254d35; color: #fffdf8; }
.grade-button--light { background: #fffdf8; color: #1a3b28; border-color: #1a3b28; }
.grade-button--light:hover { background: #eee3c7; color: #1a3b28; }
.origin-button { background: #1a3b28; color: #fffdf8; border-color: #1a3b28; }
.origin-button:hover { background: #a64b2a; color: #fffdf8; border-color: #a64b2a; }
.process-button--light { background: #f7f5f0; color: #1a3b28; border: 1px solid #f7f5f0; }
.ex-button { background: #1a3b28; color: #f7f5f0 !important; border-color: #1a3b28; }
.ex-button:hover { background: #a64b2a; color: #fffdf8 !important; border-color: #a64b2a; }
.ex-button--outline { background: transparent; color: #1a3b28 !important; border-color: #1a3b28; }
.ex-button--outline:hover { background: #1a3b28; color: #fffdf8 !important; border-color: #1a3b28; }
.ex-button--light { background: #f7f5f0; color: #1a3b28 !important; border-color: #f7f5f0; }
.ex-button--light:hover { background: #e3c17b; color: #1a3b28 !important; border-color: #e3c17b; }
.ex-button--outline-light { background: transparent; color: #f7f5f0 !important; border-color: rgb(247 245 240 / 65%); }
.ex-button--outline-light:hover { background: #f7f5f0; color: #1a3b28 !important; border-color: #f7f5f0; }
.blog-button { background: #1a3b28; color: #f7f5f0; border-color: #1a3b28; }
.blog-button:hover { background: #a64b2a; color: #fffdf8; border-color: #a64b2a; }
.blog-button--outline { background: transparent; color: #1a3b28; border-color: #1a3b28; }
.blog-button--outline:hover { background: #1a3b28; color: #fffdf8; border-color: #1a3b28; }
.blog-cta .blog-button { background: #f7f5f0; color: #1a3b28; border-color: #f7f5f0; }
.blog-cta .blog-button:hover { background: #d4a64a; color: #1a3b28; border-color: #d4a64a; }
.blog-cta .blog-button--outline { background: transparent; color: #f7f5f0; border-color: rgb(247 245 240 / 65%); }
.blog-cta .blog-button--outline:hover { background: #f7f5f0; color: #1a3b28; border-color: #f7f5f0; }
.error-actions .primary { background: #1a3b28; color: #f7f5f0; }
.error-actions .secondary { background: #fffdf8; color: #1a3b28; border-color: #d8d2c5; }

/* Preserve the homepage's intentionally reversed hero buttons. */
.home-page #home a.bg-brand-cream { background: #f7f5f0; color: #1a3b28; }
.home-page #home a.bg-brand-cream:hover { background: #e8e3d9; color: #1a3b28; }
.home-page #home a.border { background: rgb(26 59 40 / 92%); color: #f7f5f0; border-color: rgb(247 245 240 / 80%); }
.home-page #home a.border:hover { background: #a64b2a; color: #fffdf8; border-color: #a64b2a; }
.home-page a.bg-brand-deepgreen { background: #1a3b28; color: #f7f5f0; }
.home-page a.bg-brand-deepgreen:hover { background: #a64b2a; color: #fffdf8; }

.site-header a:focus-visible,
.site-header button:focus-visible,
.bulk-page .bulk-submit:focus-visible,
a.button:focus-visible,
.button:focus-visible,
a[class*="-button"]:focus-visible,
button:focus-visible,
.error-actions a:focus-visible {
  outline: 3px solid #c59a5c;
  outline-offset: 3px;
}

@media (max-width: 800px) {
  /* Keep the primary Bulk Quote action visible in the compact mobile header. */
  .site-header__mobile-cta {
    display: inline-flex;
    align-self: stretch;
    width: 100%;
    min-height: 46px;
    padding: .85rem 1.1rem;
    margin-top: .15rem;
    border-radius: 999px;
    background: #1a3b28;
    color: #f7f5f0 !important;
    text-align: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header__cta, .site-header__mobile-cta { transition: none; }
}


/* Center the label in the full-width enquiry submit button. */
.bulk-page .bulk-submit{display:flex;align-items:center;justify-content:center!important;text-align:center;gap:0}
.bulk-page .bulk-submit>span{display:block;flex:0 1 auto;text-align:center}
