/* Site-specific additions on top of the ported theme CSS.
   Core palette / typography tokens extracted from the original
   (source-truth/tokens/*.json) — the ported CSS defines the canonical
   --awb-* custom properties; these aliases document the design system. */
:root {
  --ff-color-dark-green: #1d3934;   /* --awb-color8 / header & hero background */
  --ff-color-gold: #b99052;         /* --awb-color4 / accent */
  --ff-color-body-bg: #d7d6d6;      /* body background */
  --ff-font-body: "Work Sans", Arial, Helvetica, sans-serif;
  --ff-font-display: "Bebas Neue", Arial, Helvetica, sans-serif;
}

/* TODO: remove when reCAPTCHA is re-enabled with the form backend.
   The original page renders an invisible reCAPTCHA v2 widget whose container
   occupies 60px of layout height; this placeholder preserves that spacing. */
.fusion-form-recaptcha-wrapper .recaptcha-container {
  min-height: 60px;
}

/* On small screens #main carries a 4% top padding (--main_padding-top), whose
   white background shows as a gap between the header and a dark full-bleed hero.
   Pull a leading full-width section up by exactly that padding so the hero sits
   flush under the header. calc cancels whatever the padding resolves to, so this
   is a no-op on desktop (--main_padding-top: 0). */
@media screen and (max-width: 782px) {
  #main.width-100 .post-content > .fusion-fullwidth:first-child {
    margin-top: calc(0px - var(--main_padding-top, 0px));
  }
}

/* Hyperlinks on the dark green sections (--awb-custom_color_1, incl. the footer)
   render in the brand gold instead of black/white. The theme resolves every link
   color from var(--link_color) (`body a{color:var(--link_color)}`), so overriding
   that variable on any green-background container recolors its links; !important
   beats the inline --link_color some sections set. Buttons/social icons use their
   own color vars and are unaffected. */
[style*="--awb-background-color:var(--awb-custom_color_1)"] {
  --link_color: var(--awb-color4) !important;
  --link_hover_color: var(--awb-color1) !important;
}

/* Contact hero call-to-action: two buttons centered side-by-side on desktop,
   stacked as equal full-width buttons on mobile (avoids ragged/off-center wrap). */
.ff-hero-cta { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
@media screen and (max-width: 640px) {
  .ff-hero-cta { flex-direction: column; }
  .ff-hero-cta .fusion-button { width: 100%; max-width: 340px; }
}

/* justified-gallery base positioning (the original loaded these rules from
   the justifiedGallery library bundled with the Modula plugin JS) */
.modula-items.justified-gallery {
  position: relative;
}
.modula-items.justified-gallery .modula-item {
  position: absolute;
  overflow: hidden;
}
