/* Cultivera footer system
   Single source of truth for all public and project pages. */

body footer.site-footer {
  display: block !important;
  margin-top: 0 !important;
  padding: clamp(42px, 4.8vw, 64px) 0 clamp(34px, 3.2vw, 44px) !important;
  border-top: 0 !important;
  background: #0d2117 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  color: rgba(235, 241, 235, 0.72) !important;
}

body footer.site-footer .footer-grid,
body footer.site-footer .footer-inner {
  display: grid !important;
  width: min(100%, calc(1180px + (var(--gutter, clamp(20px, 5vw, 72px)) * 2))) !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(240px, 1.18fr) minmax(220px, 0.78fr) minmax(260px, 0.88fr) !important;
  gap: clamp(28px, 5vw, 78px) !important;
  align-items: start !important;
  border-top: 0 !important;
  padding-inline: var(--gutter, clamp(20px, 5vw, 72px)) !important;
  padding-top: 0 !important;
}

body footer.site-footer .footer-col,
body footer.site-footer .footer-brand-block,
body footer.site-footer .footer-nav,
body footer.site-footer .footer-contact-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 11px !important;
  text-align: left !important;
}

body footer.site-footer .footer-brand-logo {
  display: block !important;
  width: clamp(128px, 10vw, 156px) !important;
  height: auto !important;
  margin: 0 0 2px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body footer.site-footer .footer-summary,
body footer.site-footer .footer-brand-block p {
  max-width: 19rem !important;
  margin: 10px 0 0 !important;
  color: rgba(245, 249, 241, 0.76) !important;
  font-size: clamp(0.88rem, 0.92vw, 0.98rem) !important;
  line-height: 1.42 !important;
}

body footer.site-footer .footer-col-label,
body footer.site-footer .footer-meta,
body footer.site-footer .footer-credit {
  color: rgba(213, 181, 107, 0.62) !important;
}

body footer.site-footer .footer-col-label {
  margin: 0 0 2px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding-bottom: 7px !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

body footer.site-footer .footer-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 22px !important;
}

body footer.site-footer a,
body footer.site-footer .footer-contact-block a {
  color: rgba(245, 249, 241, 0.78) !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}

body footer.site-footer a:hover,
body footer.site-footer a:focus-visible {
  color: #a7e75a !important;
}

body footer.site-footer .footer-contact-block > a:first-of-type {
  min-height: auto !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(183, 223, 98, 0.28) !important;
  border-radius: 0 !important;
  padding: 2px 0 6px !important;
  background: transparent !important;
  color: #f2f8df !important;
  font-family: var(--sans, system-ui, sans-serif) !important;
  font-size: clamp(0.98rem, 1.05vw, 1.08rem) !important;
  font-weight: 520 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body footer.site-footer .footer-credit {
  font-family: var(--mono, ui-monospace, monospace) !important;
  font-size: 0.76rem !important;
  letter-spacing: 0 !important;
  color: rgba(245, 249, 241, 0.48) !important;
}

@media (max-width: 900px) {
  body footer.site-footer .footer-grid,
  body footer.site-footer .footer-inner {
    grid-template-columns: 1.2fr 0.8fr !important;
  }

  body footer.site-footer .footer-contact-block {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 700px) {
  body footer.site-footer .footer-grid,
  body footer.site-footer .footer-inner {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  body footer.site-footer .footer-contact-block {
    grid-column: auto !important;
  }

  body footer.site-footer .footer-links {
    grid-template-columns: 1fr !important;
  }
}
