/**
 * LBCD v9 — Complete color palette overhaul based on actual logo.
 * Logo colors: Sky Blue #8DA4B5, Leaf Green #7D9A6A, Bark Brown #3F3028, Light Blue #B8D4E8
 */

/* ============================================================
   NEW COLOR PALETTE — From the beaver/tree logo
   ============================================================ */
/* ============================================================
   CALMING PALETTE — Muted, desaturated versions of logo colors.
   Think: quiet Montana morning, not a tech startup.

   From logo:  Sky Blue #8DA4B5  →  Dusty Blue #8DA4B5
               Leaf Green #7D9A6A →  Sage #7D9A6A
               Bark Brown #3F3028 →  Warm Bark #3F3028
   ============================================================ */
:root {
  --dusty-blue: #8DA4B5 !important;
  --dusty-blue-light: #E8EEF2 !important;
  --dusty-blue-dark: #6B8A9C !important;
  --sage: #7D9A6A !important;
  --sage-light: #ECF0E8 !important;
  --sage-dark: #5E7E4C !important;
  --bark: #3F3028 !important;
  --bark-soft: #5C4A3A !important;
  --cream: #F8F6F1 !important;
  --sand: #EDE9E0 !important;
  --mist: #E5EDF2 !important;
  --warm-white: #FFFFFF !important;
  --border: #D8D3CA !important;
  --text: #3A322B !important;
  --text-light: #8A8078 !important;
  --gold: #B8A06A !important;

  /* Override GP */
  --base: #EDE9E0 !important;
  --base-2: #F8F6F1 !important;
  --base-3: #FFFFFF !important;
  --contrast: #3A322B !important;
  --accent: #6B8A9C !important;
}

body {
  background-color: #F8F6F1 !important;
  color: #3A322B !important;
  font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif !important;
  overflow-x: hidden !important;
}

/* ============================================================
   SKIP LINK
   ============================================================ */
.lbcd-skip {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important;
}
.lbcd-skip:focus {
  position: fixed !important; top: 8px !important; left: 8px !important;
  width: auto !important; height: auto !important;
  padding: 12px 24px !important; margin: 0 !important;
  overflow: visible !important; clip: auto !important;
  white-space: normal !important; z-index: 100000 !important;
  background: #5E7E4C !important; color: #fff !important;
  font-size: 14px !important; font-weight: 600 !important;
  border-radius: 6px !important; box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
  text-decoration: none !important;
}

/* ============================================================
   UTILITY BAR — Sky blue accent on dark bark
   ============================================================ */
.lbcd-utility-bar {
  background: #3F3028 !important;
  padding: 7px 0 !important;
  font-size: 0.82rem !important;
}
.lbcd-utility-bar, .lbcd-utility-bar *, .lbcd-utility-bar a, .lbcd-utility-bar span {
  color: #FFFFFF !important;
  text-decoration: none !important;
  letter-spacing: 0.01em !important;
}
.lbcd-utility-bar a:hover, .lbcd-utility-bar a:hover * { color: #8DA4B5 !important; }
.lbcd-utility-bar svg { stroke: #FFFFFF !important; opacity: 0.7 !important; }

/* ============================================================
   HEADER — with logo
   ============================================================ */
.lbcd-header {
  background: #FFFFFF !important;
  border-bottom: 1px solid #D8D3CA !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
  overflow: visible !important;
}
.lbcd-header__logo {
  height: 56px !important;
  width: auto !important;
  border-radius: 4px !important;
}
.lbcd-header__name {
  font-family: 'League Spartan', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #3F3028 !important;
}
.lbcd-header__tagline {
  font-size: 0.72rem !important;
  color: #7A7062 !important;
}

/* Nav links */
.lbcd-nav a {
  color: #3F3028 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 22px 16px !important;
  font-size: 0.88rem !important;
  border-bottom: 3px solid transparent !important;
  transition: all 200ms ease !important;
  display: block !important;
}
.lbcd-nav a:hover, .lbcd-nav .current-menu-item a, .lbcd-nav .current_page_item a {
  color: #5E7E4C !important;
  border-bottom-color: #7D9A6A !important;
}

/* ============================================================
   GP LAYOUT KILL
   ============================================================ */
.site-header, .site-footer, .site-info, .page-header,
#right-sidebar, #left-sidebar, .footer-widgets,
.is-right-sidebar, .is-left-sidebar, .widget-area { display: none !important; }
.site-content, .content-area, .inside-article, #primary, #page, .site,
.grid-container, .site-content .content-area, article.page {
  padding: 0 !important; margin: 0 !important; max-width: 100% !important;
  width: 100% !important; float: none !important; background: transparent !important;
}
.entry-title { display: none !important; }
.separate-containers .site-main > .post,
.separate-containers .site-main > .page { margin-bottom: 0 !important; }

/* ============================================================
   HERO — Photo with overlay
   ============================================================ */
.lbcd-hero--photo {
  position: relative !important;
  min-height: clamp(480px, 60vh, 680px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #3F3028 !important;
}
.lbcd-hero__image,
.lbcd-hero__video {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center 40% !important;
  z-index: 1 !important;
}
.lbcd-hero--video { overflow: hidden !important; }
.lbcd-hero__overlay {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(to bottom, rgba(61,43,31,0.45) 0%, rgba(61,43,31,0.25) 40%, rgba(61,43,31,0.6) 100%) !important;
  z-index: 2 !important;
}
.lbcd-hero--photo .lbcd-hero__content,
.lbcd-hero--video .lbcd-hero__content {
  position: relative !important; z-index: 3 !important;
  text-align: center !important; padding: 80px 32px !important;
  max-width: 900px !important; margin: 0 auto !important;
}
.lbcd-hero__content--with-logo {
  display: flex !important; align-items: center !important;
  gap: 40px !important; text-align: left !important;
}
.lbcd-hero__logo-wrap {
  width: 200px !important; height: 200px !important;
  min-width: 200px !important;
  border-radius: 50% !important; flex-shrink: 0 !important;
  background: rgba(255,255,255,0.95) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.3) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 20px !important;
  overflow: hidden !important;
}
.lbcd-hero__logo-wrap img {
  width: 100% !important; height: auto !important;
  max-width: none !important;
}
.lbcd-hero__text { flex: 1 !important; }
.lbcd-hero__content--with-logo .lbcd-hero__title { text-align: left !important; }
.lbcd-hero__content--with-logo .lbcd-hero__subtitle { text-align: left !important; margin-left: 0 !important; }
.lbcd-hero__content--with-logo .lbcd-hero__actions { justify-content: flex-start !important; }

@media (max-width: 600px) {
  .lbcd-hero__content--with-logo { flex-direction: column !important; text-align: center !important; gap: 20px !important; }
  .lbcd-hero__content--with-logo .lbcd-hero__title,
  .lbcd-hero__content--with-logo .lbcd-hero__subtitle { text-align: center !important; }
  .lbcd-hero__content--with-logo .lbcd-hero__actions { justify-content: center !important; }
  .lbcd-hero__logo-wrap { width: 140px !important; height: 140px !important; min-width: 140px !important; }
}
.lbcd-hero--photo .lbcd-hero__title {
  font-family: 'League Spartan', sans-serif !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  font-weight: 800 !important; color: #ffffff !important;
  line-height: 1.05 !important; letter-spacing: -0.02em !important;
  text-shadow: 0 3px 30px rgba(0,0,0,0.4) !important;
  margin-bottom: 20px !important;
}
.lbcd-hero--photo .lbcd-hero__subtitle {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: clamp(1.05rem, 2vw, 1.3rem) !important;
  color: rgba(255,255,255,0.92) !important;
  max-width: 580px !important; margin: 0 auto 32px !important;
  line-height: 1.65 !important; text-shadow: 0 1px 8px rgba(0,0,0,0.3) !important;
}

/* Hero buttons — sky blue primary, ghost secondary */
.lbcd-hero__actions { display: flex !important; gap: 16px !important; justify-content: center !important; flex-wrap: wrap !important; }
.lbcd-hero__actions a:first-child {
  background: #8DA4B5 !important; color: #ffffff !important;
  border: 2px solid #8DA4B5 !important; padding: 14px 36px !important;
  border-radius: 8px !important; font-weight: 700 !important;
  font-size: 1rem !important; text-decoration: none !important;
  min-height: 48px !important; display: inline-flex !important; align-items: center !important;
  transition: all 250ms ease !important;
}
.lbcd-hero__actions a:first-child:hover {
  background: #6B8A9C !important; border-color: #6B8A9C !important;
  transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(123,175,212,0.4) !important;
}
.lbcd-hero__actions a:last-child {
  background: #FFFFFF !important; color: #3F3028 !important;
  border: 2px solid #FFFFFF !important; padding: 14px 36px !important;
  border-radius: 8px !important; font-weight: 700 !important;
  font-size: 1rem !important; text-decoration: none !important;
  min-height: 48px !important; display: inline-flex !important; align-items: center !important;
  transition: all 250ms ease !important;
}
.lbcd-hero__actions a:last-child:hover {
  background: #EDE9E0 !important; border-color: #EDE9E0 !important; color: #3F3028 !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   STATS BAR — Leaf green
   ============================================================ */
.lbcd-stats-bar {
  background: #5E7E4C !important;
  padding: 28px 0 !important;
}
.lbcd-stats-bar__value { color: #ffffff !important; font-family: 'League Spartan', sans-serif !important; font-weight: 800 !important; }
.lbcd-stats-bar__label { color: rgba(255,255,255,0.75) !important; }

/* ============================================================
   WAVE DIVIDER
   ============================================================ */
.lbcd-wave-divider {
  background: #5E7E4C !important;
  color: #F8F6F1 !important;
  line-height: 0 !important; overflow: hidden !important; margin-top: -1px !important;
}
.lbcd-wave-divider svg { display: block !important; width: 100% !important; height: 40px !important; }
.lbcd-wave-divider--sand { background: #F8F6F1 !important; color: #EDE9E0 !important; margin-top: 0 !important; }

/* ============================================================
   SECTION BACKGROUNDS — Alternating for scroll rhythm
   ============================================================ */
.lbcd-section { padding: 72px 32px !important; }
.lbcd-section__inner { max-width: 1100px !important; margin: 0 auto !important; }
.lbcd-section__title {
  font-family: 'League Spartan', sans-serif !important;
  color: #3F3028 !important; text-align: center !important;
}
.lbcd-section__subtitle { text-align: center !important; color: #7A7062 !important; }
.lbcd-section--alt { background: #EDE9E0 !important; }

/* ============================================================
   SERVICE CARDS — Sky blue icon bg, leaf green hover
   ============================================================ */
.lbcd-service-card {
  background: #FFFFFF !important; border: 1px solid #D8D3CA !important;
  border-radius: 12px !important; border-top: 3px solid transparent !important;
  transition: box-shadow 250ms ease, transform 250ms ease, border-top-color 250ms ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.lbcd-service-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.08) !important;
  border-top-color: #8DA4B5 !important;
}
.lbcd-service-card__icon {
  background: #E8EEF2 !important;
}
.lbcd-service-card__icon svg { stroke: #6B8A9C !important; }
.lbcd-service-card:hover .lbcd-service-card__icon { background: #8DA4B5 !important; }
.lbcd-service-card:hover .lbcd-service-card__icon svg { stroke: #ffffff !important; }
.lbcd-service-card__link { color: #5E7E4C !important; text-decoration: none !important; font-weight: 600 !important; }
.lbcd-service-card__link:hover { color: #7D9A6A !important; }

/* ============================================================
   ABOUT SECTION — Warm quote block
   ============================================================ */
.lbcd-about-quote {
  background: #E8EEF2 !important;
  border-left: 4px solid #8DA4B5 !important;
  border-radius: 8px !important; padding: 24px 28px !important; margin: 0 !important;
}
.lbcd-about-quote p { color: #3F3028 !important; font-family: 'League Spartan', sans-serif !important; font-size: 1.2rem !important; font-weight: 600 !important; line-height: 1.5 !important; }
.lbcd-about-quote cite { color: #7A7062 !important; font-size: 0.85rem !important; font-style: normal !important; font-weight: 600 !important; }

.lbcd-about-photo { border-radius: 12px !important; overflow: hidden !important; box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important; margin-bottom: 20px !important; }
.lbcd-about-photo img { width: 100% !important; height: 260px !important; object-fit: cover !important; display: block !important; }

/* All .lbcd-btn buttons — explicit white text */
a.lbcd-btn,
a.lbcd-btn:link,
a.lbcd-btn:visited,
.lbcd-section--alt a.lbcd-btn,
.lbcd-about-grid a.lbcd-btn,
.lbcd-page-content a.lbcd-btn {
  background: #5E7E4C !important; color: #ffffff !important;
  border: none !important; padding: 12px 28px !important;
  border-radius: 8px !important; font-weight: 600 !important;
  text-decoration: none !important; display: inline-flex !important;
  align-items: center !important; min-height: 44px !important;
  transition: background 200ms ease !important;
}
a.lbcd-btn:hover,
.lbcd-section--alt a.lbcd-btn:hover,
.lbcd-about-grid a.lbcd-btn:hover { background: #7D9A6A !important; color: #ffffff !important; }

/* ============================================================
   NEWS CARDS
   ============================================================ */
.lbcd-post-card {
  background: #FFFFFF !important; border: 1px solid #D8D3CA !important;
  border-radius: 12px !important; overflow: hidden !important;
  transition: transform 250ms ease, box-shadow 250ms ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.lbcd-post-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
}
.lbcd-post-card__image { height: 180px !important; overflow: hidden !important; }
.lbcd-post-card__image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.lbcd-post-card__category {
  background: #ECF0E8 !important; color: #5E7E4C !important;
  font-size: 0.72rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.05em !important;
  padding: 3px 10px !important; border-radius: 20px !important;
  display: inline-block !important; margin-bottom: 8px !important;
}
.lbcd-post-card__title a { color: #3F3028 !important; text-decoration: none !important; }
.lbcd-post-card__title a:hover { color: #5E7E4C !important; }
.lbcd-post-card__link { color: #5E7E4C !important; text-decoration: none !important; font-weight: 600 !important; }

/* "View All News" button */
.lbcd-section__action { text-align: center !important; margin-top: 40px !important; }
.lbcd-section__action .lbcd-btn--secondary {
  background: transparent !important; color: #5E7E4C !important;
  border: 2px solid #7D9A6A !important; padding: 12px 28px !important;
  border-radius: 8px !important; font-weight: 600 !important;
  text-decoration: none !important; display: inline-flex !important;
  align-items: center !important; transition: all 200ms ease !important;
}
.lbcd-section__action .lbcd-btn--secondary:hover {
  background: #7D9A6A !important; color: #ffffff !important;
}

/* ============================================================
   MEETING BANNER — Clean horizontal strip before footer
   ============================================================ */
.lbcd-meeting-banner {
  background: #EDE9E0 !important;
  padding: 24px 32px !important;
}
.lbcd-meeting-banner__inner {
  max-width: 1100px !important; margin: 0 auto !important;
  display: flex !important; align-items: center !important; gap: 20px !important;
  flex-wrap: wrap !important;
}
.lbcd-meeting-banner__icon svg { stroke: #8DA4B5 !important; }
.lbcd-meeting-banner__content { flex: 1 !important; min-width: 280px !important; }
.lbcd-meeting-banner__title {
  font-family: 'League Spartan', sans-serif !important;
  font-weight: 700 !important; font-size: 1rem !important;
  color: #3F3028 !important; margin: 0 0 2px !important;
}
.lbcd-meeting-banner__details {
  font-size: 0.88rem !important; color: #5C4A3A !important;
  margin: 0 !important; line-height: 1.5 !important;
}
.lbcd-meeting-banner__details strong { color: #3F3028 !important; }
.lbcd-meeting-banner__link {
  background: #5E7E4C !important; color: #ffffff !important;
  padding: 10px 24px !important; border-radius: 8px !important;
  font-weight: 600 !important; font-size: 0.88rem !important;
  text-decoration: none !important; white-space: nowrap !important;
  transition: background 200ms ease !important;
}
.lbcd-meeting-banner__link:hover { background: #7D9A6A !important; }

/* ============================================================
   FOOTER — Dark bark brown, compact
   ============================================================ */
.lbcd-footer {
  background: #3F3028 !important;
  padding: 48px 0 0 !important;
}
.lbcd-footer__main {
  max-width: 1100px !important; margin: 0 auto !important;
  display: grid !important; grid-template-columns: 1.2fr 1fr 1.5fr !important;
  gap: 40px !important; padding: 0 32px !important;
}
.lbcd-footer, .lbcd-footer *, .lbcd-footer p, .lbcd-footer span,
.lbcd-footer li, .lbcd-footer div { color: rgba(255,255,255,0.75) !important; font-size: 0.9rem !important; }
.lbcd-footer h3, .lbcd-footer .lbcd-footer__heading {
  color: #ffffff !important; font-family: 'League Spartan', sans-serif !important;
  font-size: 0.95rem !important; font-weight: 700 !important;
  margin-bottom: 16px !important; padding-bottom: 8px !important;
  border-bottom: 2px solid #8DA4B5 !important; display: inline-block !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
}
.lbcd-footer a, .lbcd-footer a * { color: rgba(255,255,255,0.7) !important; text-decoration: none !important; }
.lbcd-footer a:hover, .lbcd-footer a:hover * { color: #8DA4B5 !important; }
.lbcd-footer svg { stroke: #8DA4B5 !important; fill: none !important; }
.lbcd-footer svg[fill="currentColor"] { fill: #8DA4B5 !important; stroke: none !important; }
.lbcd-footer__links { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.lbcd-footer__links li { margin-bottom: 6px !important; }
.lbcd-footer__contact-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.lbcd-footer__contact-list li { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 10px !important; }
.lbcd-footer__bottom { margin-top: 32px !important; padding: 16px 0 !important; border: none !important; border-top: 1px solid rgba(255,255,255,0.08) !important; }
.lbcd-footer__bottom-inner { max-width: 1100px !important; margin: 0 auto !important; text-align: center !important; padding: 0 32px !important; border: none !important; }
.lbcd-footer__bottom p, .lbcd-footer__bottom * { font-size: 0.78rem !important; color: rgba(255,255,255,0.5) !important; margin: 0 !important; }

/* ============================================================
   PAGE HEADER — Inner pages with hero images
   ============================================================ */
.lbcd-page-header {
  position: relative !important; min-height: 220px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  overflow: hidden !important; background: linear-gradient(135deg, #5E7E4C 0%, #3F3028 100%) !important;
}
.lbcd-page-header__bg {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; z-index: 1 !important;
}
.lbcd-page-header__overlay {
  position: absolute !important; inset: 0 !important;
  background: linear-gradient(to bottom, rgba(61,43,31,0.5), rgba(61,43,31,0.65)) !important;
  z-index: 2 !important;
}
.lbcd-page-header__inner {
  position: relative !important; z-index: 3 !important;
  max-width: 860px !important; margin: 0 auto !important;
  text-align: center !important; padding: 48px 32px !important;
}
.lbcd-page-header__breadcrumb, .lbcd-page-header__breadcrumb * { color: rgba(255,255,255,0.7) !important; font-size: 0.85rem !important; }
.lbcd-page-header__breadcrumb a { color: rgba(255,255,255,0.8) !important; text-decoration: none !important; }
.lbcd-page-header__breadcrumb a:hover { color: #8DA4B5 !important; }
.lbcd-page-header__title {
  font-family: 'League Spartan', sans-serif !important;
  font-size: clamp(1.8rem, 4vw, 2.4rem) !important; font-weight: 800 !important;
  color: #ffffff !important; margin: 8px 0 0 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3) !important;
}
.lbcd-page-header__description {
  color: rgba(255,255,255,0.8) !important;
  font-size: 1rem !important;
  margin-top: 8px !important;
}

/* ============================================================
   INNER PAGE CONTENT
   ============================================================ */
.lbcd-page-content {
  max-width: 800px !important; margin: 0 auto !important; padding: 48px 32px 64px !important;
}
.lbcd-page-content h2, .lbcd-page-content__body h2 {
  font-family: 'League Spartan', sans-serif !important;
  font-size: 1.45rem !important; font-weight: 700 !important; color: #3F3028 !important;
  border-left: none !important; border-bottom: 2px solid #8DA4B5 !important;
  padding: 0 0 8px 0 !important;
  margin: 48px 0 20px !important;
}
.lbcd-page-content h2:first-child, .lbcd-page-content__body h2:first-child { margin-top: 0 !important; }
.lbcd-page-content h3, .lbcd-page-content__body h3 {
  font-family: 'League Spartan', sans-serif !important;
  font-size: 1.15rem !important; font-weight: 600 !important; color: #3F3028 !important;
  margin: 28px 0 8px !important;
}
.lbcd-page-content p, .lbcd-page-content__body p {
  line-height: 1.75 !important;
  margin-bottom: 16px !important; color: #3A322B !important; font-size: 1.02rem !important;
}
.lbcd-page-content a, .lbcd-page-content__body a { color: #6B8A9C !important; font-weight: 500 !important; }
.lbcd-page-content a:hover { color: #5E7E4C !important; }

/* Lists */
.lbcd-page-content ul, .lbcd-page-content__body ul { padding-left: 0 !important; list-style: none !important; }
.lbcd-page-content li, .lbcd-page-content__body li { position: relative !important; padding-left: 20px !important; margin-bottom: 8px !important; line-height: 1.65 !important; }
.lbcd-page-content li::before, .lbcd-page-content__body li::before {
  content: '' !important; position: absolute !important; left: 0 !important; top: 10px !important;
  width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #7D9A6A !important;
}

/* Tables */
.lbcd-page-content table { width: 100% !important; border-collapse: collapse !important; margin: 20px 0 28px !important; border-radius: 8px !important; overflow: hidden !important; box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important; }
.lbcd-page-content th { background: #5E7E4C !important; color: #ffffff !important; padding: 10px 14px !important; text-align: left !important; font-family: 'League Spartan', sans-serif !important; font-weight: 600 !important; }
.lbcd-page-content td { padding: 10px 14px !important; border-bottom: 1px solid #D8D3CA !important; }
.lbcd-page-content tr:nth-child(even) td { background: #F8F6F1 !important; }

/* Contact form — full width of container */
.lbcd-page-content .wpcf7 { max-width: 100% !important; background: #FFFFFF !important; padding: 32px !important; border-radius: 12px !important; border: 1px solid #D8D3CA !important; box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important; }

/* ============================================================
   CF7 CONTACT FORM
   ============================================================ */
.wpcf7-form label { display: block !important; font-weight: 600 !important; color: #3A322B !important; margin-bottom: 6px !important; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"],
.wpcf7-form textarea, .wpcf7-form select {
  width: 100% !important; border: 1px solid #D8D3CA !important; border-radius: 8px !important;
  padding: 12px 14px !important; background: #FFFFFF !important; color: #3A322B !important;
  margin-bottom: 20px !important; font-family: 'Source Sans 3', sans-serif !important; font-size: 1rem !important;
}
.wpcf7-form input:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
  border-color: #8DA4B5 !important; box-shadow: 0 0 0 3px rgba(123,175,212,0.2) !important; outline: none !important;
}
.wpcf7-form input[type="submit"] {
  background: #7D9A6A !important; color: #fff !important; border: none !important;
  padding: 14px 36px !important; font-weight: 700 !important; border-radius: 8px !important;
  cursor: pointer !important; min-height: 48px !important;
}
.wpcf7-form input[type="submit"]:hover { background: #5E7E4C !important; }

/* ============================================================
   BLOG/NEWS PAGE — Centered layout (item #6)
   ============================================================ */
.lbcd-post-grid, .lbcd-posts-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Breadcrumbs — centered like content */
.lbcd-breadcrumbs {
  max-width: 800px !important; margin: 0 auto !important;
  padding: 20px 32px 0 !important;
  font-size: 0.85rem !important; color: #8A8078 !important;
}
.lbcd-breadcrumbs a { color: #6B8A9C !important; text-decoration: none !important; }
.lbcd-breadcrumbs ol {
  list-style: none !important; display: flex !important; flex-wrap: wrap !important;
  gap: 4px !important; margin: 0 !important; padding: 0 !important;
}

/* Single post — centered, matching inner page layout */
main.lbcd-single,
#primary.lbcd-single,
.lbcd-single {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 24px 32px 64px !important;
}
.lbcd-single h1, .lbcd-single .lbcd-single__title {
  font-family: 'League Spartan', sans-serif !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important; color: #3F3028 !important;
  margin-bottom: 8px !important; line-height: 1.2 !important;
}
.lbcd-single .lbcd-single__meta {
  color: #8A8078 !important; font-size: 0.88rem !important; margin-bottom: 24px !important;
}
.lbcd-single .entry-content p { line-height: 1.75 !important; color: #3A322B !important; }
.lbcd-single .entry-content h2 {
  font-family: 'League Spartan', sans-serif !important;
  font-size: 1.35rem !important; font-weight: 700 !important; color: #3F3028 !important;
  border-bottom: 2px solid #8DA4B5 !important; padding-bottom: 8px !important;
  margin: 40px 0 16px !important;
}
.lbcd-single .entry-content h3 {
  font-family: 'League Spartan', sans-serif !important;
  font-size: 1.1rem !important; font-weight: 600 !important; color: #3F3028 !important;
}
.lbcd-single .entry-content a { color: #6B8A9C !important; }
.lbcd-single .entry-content ul { padding-left: 0 !important; list-style: none !important; }
.lbcd-single .entry-content li {
  position: relative !important; padding-left: 20px !important; margin-bottom: 8px !important;
}
.lbcd-single .entry-content li::before {
  content: '' !important; position: absolute !important; left: 0 !important; top: 10px !important;
  width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #7D9A6A !important;
}

/* Single post featured image */
.lbcd-single .wp-post-image,
.lbcd-single .lbcd-single__featured-image img {
  max-height: 400px !important; width: 100% !important;
  object-fit: cover !important; border-radius: 12px !important; margin-bottom: 32px !important;
}

/* Share buttons */
.lbcd-share {
  margin: 40px 0 0 !important; padding: 24px 0 !important;
  border-top: 1px solid #D8D3CA !important;
}
.lbcd-share__label {
  font-family: 'League Spartan', sans-serif !important;
  font-weight: 600 !important; font-size: 0.88rem !important;
  color: #5C4A3A !important; margin: 0 0 12px !important;
  text-transform: uppercase !important; letter-spacing: 0.05em !important;
}
.lbcd-share__buttons {
  display: flex !important; gap: 10px !important;
}
.lbcd-share__btn {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important;
  border-radius: 50% !important; transition: transform 200ms ease, opacity 200ms ease !important;
  text-decoration: none !important;
}
.lbcd-share__btn:hover { transform: scale(1.1) !important; opacity: 0.85 !important; }
.lbcd-share__btn--facebook { background: #1877F2 !important; color: #fff !important; }
.lbcd-share__btn--twitter { background: #0F1419 !important; color: #fff !important; }
.lbcd-share__btn--linkedin { background: #0A66C2 !important; color: #fff !important; }
.lbcd-share__btn--email { background: #5E7E4C !important; color: #fff !important; }
.lbcd-share__btn svg { fill: #ffffff !important; stroke: none !important; }
.lbcd-share__btn--email svg { fill: none !important; stroke: #ffffff !important; }

/* Author box */
.lbcd-author-box {
  display: flex !important; gap: 16px !important; align-items: center !important;
  padding: 24px !important; background: #F0EDE5 !important;
  border-radius: 12px !important; margin: 40px 0 !important;
}
.lbcd-author-box__avatar {
  width: 56px !important; height: 56px !important;
  min-width: 56px !important; min-height: 56px !important;
  border-radius: 50% !important; overflow: hidden !important;
  flex-shrink: 0 !important;
}
.lbcd-author-box__avatar img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center top !important;
  border-radius: 0 !important;
}
.lbcd-author-box__name {
  font-family: 'League Spartan', sans-serif !important;
  font-weight: 700 !important; font-size: 1rem !important;
  color: #3F3028 !important; margin: 0 0 2px !important;
}
.lbcd-author-box__bio {
  font-size: 0.88rem !important; color: #8A8078 !important;
  margin: 0 !important; line-height: 1.4 !important;
}

/* Social sharing (Sassy Social Share) — style to match theme */
.heateor_sss_sharing_container {
  margin: 32px 0 !important; padding: 20px 0 !important;
  border-top: 1px solid #D8D3CA !important;
}
.heateor_sss_sharing_title {
  font-family: 'League Spartan', sans-serif !important;
  font-weight: 600 !important; font-size: 0.9rem !important;
  color: #5C4A3A !important; margin-bottom: 12px !important;
}

/* Post navigation */
.lbcd-post-nav { margin-top: 48px !important; padding-top: 32px !important; border-top: 1px solid #D8D3CA !important; }
.lbcd-post-nav__links { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
.lbcd-post-nav__link {
  display: block !important; padding: 16px !important;
  background: #F0EDE5 !important; border-radius: 8px !important;
  text-decoration: none !important; transition: background 200ms ease !important;
}
.lbcd-post-nav__link:hover { background: #E8EEF2 !important; }
.lbcd-post-nav__direction {
  display: flex !important; align-items: center !important; gap: 4px !important;
  font-size: 0.8rem !important; color: #8A8078 !important;
  text-transform: uppercase !important; letter-spacing: 0.05em !important;
  margin-bottom: 4px !important;
}
.lbcd-post-nav__direction svg { stroke: #8A8078 !important; }
.lbcd-post-nav__title {
  font-family: 'League Spartan', sans-serif !important;
  font-weight: 600 !important; font-size: 0.95rem !important;
  color: #3F3028 !important;
}
.lbcd-post-nav__link--next { text-align: right !important; }
.lbcd-post-nav__link--next .lbcd-post-nav__direction { justify-content: flex-end !important; }

/* Related posts section */
.lbcd-related { margin-top: 48px !important; padding: 48px 0 !important; }
.lbcd-related__inner { max-width: 100% !important; }

/* Inline images on inner pages */
.lbcd-page-content .lbcd-inline-image img,
.lbcd-page-content .wp-block-image.lbcd-inline-image img {
  width: 100% !important; max-height: 320px !important;
  object-fit: cover !important; border-radius: 12px !important;
  margin-bottom: 8px !important;
}

/* Section separators on inner pages */
.lbcd-page-content .wp-block-separator,
.lbcd-page-content hr {
  border: none !important; border-top: 1px solid #D8D3CA !important;
  margin: 40px 0 !important; opacity: 1 !important;
}

/* Columns on inner pages */
.lbcd-page-content .wp-block-columns {
  gap: 32px !important; margin-bottom: 24px !important;
}
.lbcd-page-content .wp-block-column img {
  border-radius: 8px !important;
}
.lbcd-page-content figcaption {
  font-size: 0.82rem !important; color: #8A8078 !important;
  text-align: center !important; margin-top: 8px !important;
  font-style: italic !important;
}

/* Board member card grid */
.lbcd-board-grid {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important; margin: 24px 0 !important;
}
.lbcd-board-card {
  text-align: center !important;
  background: #FFFFFF !important; border: 1px solid #D8D3CA !important;
  border-radius: 12px !important; overflow: hidden !important;
  transition: transform 200ms ease, box-shadow 200ms ease !important;
}
.lbcd-board-card:hover {
  transform: translateY(-3px) !important; box-shadow: 0 8px 20px rgba(0,0,0,0.06) !important;
}
.lbcd-board-card__photo {
  width: 100% !important; height: 200px !important;
  overflow: hidden !important;
}
.lbcd-board-card__photo img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center 15% !important;
  display: block !important;
}
.lbcd-board-card__name,
p.lbcd-board-card__name {
  font-family: 'League Spartan', sans-serif !important;
  font-weight: 700 !important; font-size: 1rem !important;
  color: #3F3028 !important; margin: 10px 0 0 !important;
  padding: 0 8px !important; line-height: 1.2 !important;
}
.lbcd-board-card__role,
p.lbcd-board-card__role {
  font-size: 0.76rem !important; color: #A09890 !important;
  margin: 2px 0 10px !important; font-weight: 400 !important;
  line-height: 1.2 !important; padding: 0 8px !important;
}

/* Staff card — full-width horizontal, photo left, text right */
.lbcd-staff-highlight {
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  background: #FFFFFF !important;
  border: 1px solid #D8D3CA !important; border-radius: 12px !important;
  margin: 24px 0 !important; overflow: hidden !important;
}
.lbcd-staff-highlight__photo {
  height: 100% !important; min-height: 280px !important;
  overflow: hidden !important;
}
.lbcd-staff-highlight__photo img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center 20% !important;
  display: block !important;
}
.lbcd-staff-highlight > div:last-child {
  padding: 28px 28px 28px 28px !important;
  display: flex !important; flex-direction: column !important; justify-content: center !important;
}
.lbcd-staff-highlight__name {
  font-family: 'League Spartan', sans-serif !important;
  font-weight: 700 !important; font-size: 1.3rem !important;
  color: #3F3028 !important; margin: 0 0 4px !important;
}
.lbcd-staff-highlight__title {
  font-size: 0.9rem !important; color: #7D9A6A !important;
  margin: 0 0 16px !important; font-weight: 600 !important;
}
.lbcd-staff-highlight__bio {
  font-size: 0.95rem !important; color: #3A322B !important;
  line-height: 1.7 !important; margin: 0 !important;
}
@media (max-width: 600px) {
  .lbcd-staff-highlight { grid-template-columns: 1fr !important; }
  .lbcd-staff-highlight__photo { min-height: 250px !important; }
}

@media (max-width: 960px) {
  .lbcd-board-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .lbcd-board-grid { grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
  .lbcd-staff-highlight { flex-direction: column !important; text-align: center !important; }
}

/* Archive/blog listing — spacing around cards */
main.lbcd-archive,
#primary.lbcd-archive,
.lbcd-archive {
  max-width: 1100px !important; margin: 0 auto !important;
  padding: 48px 32px 64px !important;
}
.lbcd-archive .lbcd-posts-grid {
  margin-top: 0 !important;
}

/* ============================================================
   SCROLL ANIMATIONS — CSS-only, 2026 modern
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
  .lbcd-service-card, .lbcd-post-card, .lbcd-about-grid__text,
  .lbcd-about-grid__aside, .lbcd-stats-bar__item {
    opacity: 0; transform: translateY(24px);
    animation: lbcd-fade-in linear both;
    animation-timeline: view(); animation-range: entry 0% entry 35%;
  }
  .lbcd-service-card:nth-child(2) { animation-delay: 100ms; }
  .lbcd-service-card:nth-child(3) { animation-delay: 200ms; }
  .lbcd-post-card:nth-child(2) { animation-delay: 100ms; }
  .lbcd-post-card:nth-child(3) { animation-delay: 200ms; }

  .lbcd-hero__image {
    animation: lbcd-hero-parallax linear both;
    animation-timeline: scroll(root); animation-range: 0% 40%;
  }
  @keyframes lbcd-hero-parallax {
    from { transform: scale(1) translateY(0); }
    to { transform: scale(1.08) translateY(-5%); }
  }
}
@keyframes lbcd-fade-in {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .lbcd-footer__main { grid-template-columns: 1fr !important; gap: 32px !important; }
  .lbcd-contact-section__inner { grid-template-columns: 1fr !important; }
  .lbcd-post-grid, .lbcd-posts-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .lbcd-nav--desktop { display: none !important; }
  .lbcd-nav--mobile-toggle { display: block !important; }
  .lbcd-nav--desktop.lbcd-nav--open {
    display: block !important; position: absolute !important; top: 100% !important;
    left: 0 !important; right: 0 !important; background: #ffffff !important;
    border-bottom: 1px solid #D8D3CA !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important; z-index: 999 !important; padding: 8px 0 !important;
  }
  .lbcd-nav--desktop.lbcd-nav--open ul { flex-direction: column !important; }
  .lbcd-nav--desktop.lbcd-nav--open a { padding: 14px 24px !important; border-bottom: none !important; }
  .lbcd-nav--desktop.lbcd-nav--open a:hover { background: #ECF0E8 !important; }
}
@media (max-width: 600px) {
  .lbcd-utility-bar { display: none !important; }
  .lbcd-footer { padding: 32px 0 0 !important; }
  .lbcd-footer__main { padding: 0 20px !important; }
  .lbcd-page-header { min-height: 160px !important; }
  .lbcd-page-content { padding: 32px 20px 48px !important; }
  .lbcd-post-grid, .lbcd-posts-grid { grid-template-columns: 1fr !important; }
  .lbcd-section { padding: 48px 20px !important; }
}

/* ============================================================
   LAST-WORD OVERRIDES — These MUST be at the very end of the file.
   They win every specificity battle by being last + !important.
   ============================================================ */

/* Buttons — white text, always */
.lbcd-btn,
a.lbcd-btn,
a.lbcd-btn:link,
a.lbcd-btn:visited,
a.lbcd-btn:hover,
a.lbcd-btn:active,
a.lbcd-btn:focus,
.lbcd-about-grid a.lbcd-btn,
.lbcd-section a.lbcd-btn,
.lbcd-page-content a.lbcd-btn,
.lbcd-section--alt a.lbcd-btn {
  color: #ffffff !important;
  background: #5E7E4C !important;
  text-decoration: none !important;
}
a.lbcd-btn:hover,
.lbcd-about-grid a.lbcd-btn:hover,
.lbcd-section a.lbcd-btn:hover {
  background: #4A6A3B !important;
  color: #ffffff !important;
}

/* "View All" outline button */
.lbcd-btn--secondary,
a.lbcd-btn--secondary,
a.lbcd-btn--secondary:link,
a.lbcd-btn--secondary:visited {
  background: transparent !important;
  color: #5E7E4C !important;
  border: 2px solid #7D9A6A !important;
}
a.lbcd-btn--secondary:hover {
  background: #5E7E4C !important;
  color: #ffffff !important;
}

/* Hero "Contact Us" button — solid white, override secondary transparent */
.lbcd-hero__actions .lbcd-btn--hero-secondary,
.lbcd-hero__actions a.lbcd-btn--hero-secondary,
.lbcd-hero__actions a.lbcd-btn--hero-secondary:link,
.lbcd-hero__actions a.lbcd-btn--hero-secondary:visited {
  background: #FFFFFF !important;
  color: #3F3028 !important;
  border: 2px solid #FFFFFF !important;
}
.lbcd-hero__actions a.lbcd-btn--hero-secondary:hover {
  background: #EDE9E0 !important;
  color: #3F3028 !important;
  border-color: #EDE9E0 !important;
}

/* Utility bar — pure white text, always readable */
.lbcd-utility-bar,
.lbcd-utility-bar a,
.lbcd-utility-bar a:link,
.lbcd-utility-bar a:visited,
.lbcd-utility-bar span,
.lbcd-utility-bar *:not(svg) {
  color: #FFFFFF !important;
  font-weight: 500 !important;
}
.lbcd-utility-bar a:hover { opacity: 0.8 !important; }

/* Footer — all text readable */
.lbcd-footer *:not(svg):not(h3),
.lbcd-footer a:not(:hover),
.lbcd-footer p,
.lbcd-footer li,
.lbcd-footer span {
  color: rgba(255,255,255,0.78) !important;
}
.lbcd-footer h3,
.lbcd-footer .lbcd-footer__heading {
  color: #FFFFFF !important;
}
.lbcd-footer a:hover {
  color: #8DA4B5 !important;
}
