/* Greenfield Communications - public site.
   The templates carry the design prototype's inline styles verbatim; this
   file only holds what inline styles cannot express: base typography,
   hover/focus states, responsive switches and a few stateful widgets. */

html { scroll-behavior: auto; }
body {
  margin: 0; background: #fff; color: #0b1d12;
  font-family: 'Source Sans 3', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased; text-wrap: pretty;
}
* { box-sizing: border-box; }
a { color: #006327; }
a:hover { color: #59ad40; }
input, select, textarea, button { font-family: inherit; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible {
  outline: 3px solid #59ad40; outline-offset: 2px;
}
[hidden] { display: none !important; }
@keyframes gfpulse { 0%, 100% { opacity: .35 } 50% { opacity: 1 } }
@media print { .gf-noprint { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* header */
.nav-link { color: #fff; text-decoration: none; padding: 10px 14px; border-radius: 8px; background: transparent; }
.nav-link:hover { color: #fff; background: rgba(255,255,255,.1); }
.nav-link[aria-current="page"] { background: rgba(255,255,255,.16); }

/* hover states the prototype expressed as style-hover */
.hov-bg:hover { background: #f4f6f3; color: #0b1d12; }
.hov-border:hover { border-color: #006327 !important; color: #0b1d12; }
.hov-ip:hover { color: #006327 !important; background: #f4f6f3; }
.toc-link:hover { color: #006327 !important; }
.bar-link:hover { background: rgba(255,255,255,.1); border-bottom-color: #59ad40 !important; color: #fff; }

/* community section bar: the order button appears only once the bar is stuck */
.bar-cta { opacity: 0; transform: translateY(-10px); pointer-events: none; transition: opacity .2s, transform .2s; }
#sectionbar[data-stuck="true"] .bar-cta { opacity: 1; transform: none; pointer-events: auto; }

/* finder dropdown */
.finder-hit { display: flex; justify-content: space-between; align-items: center; gap: 12px; text-decoration: none; color: #0b1d12; padding: 12px 14px; border-radius: 8px; font-size: 17px; font-weight: 600; }
.finder-hit:hover, .finder-hit:focus { background: #f4f6f3; color: #0b1d12; }
.finder-hit span:last-child { color: #3c4a40; font-weight: 400; font-size: 16px; }

/* support FAQ */
.faq-tab { background: #fff; color: #006327; }
.faq-tab[aria-selected="true"] { background: #006327; color: #fff; }

/* order form interest tiles */
.interest:has(input:checked) { border-color: #006327 !important; background: #f4f6f3 !important; }

/* responsive switches (the prototype's isDesktop / isMobile at 760px) */
@media (max-width: 759px) {
  .only-desktop { display: none !important; }
  .site-footer { margin-bottom: 56px; }
}
@media (min-width: 760px) {
  .only-mobile { display: none !important; }
}
