@import url('https://fonts.googleapis.com/css2?family=Signika:wght@400;500;600;700&display=swap');

:root {
  --lgc-green: #1f5e34;
  --lgc-green-soft: #66a95b;
  --lgc-green-dark: #0f321f;
  --lgc-green-deep: #071f13;
  --lgc-green-center: #dff1d8;
  --lgc-green-panel: #f4fbef;
  --lgc-ink: #102116;
  --lgc-accent: #d9b44a;

  --bs-primary: var(--lgc-green);
  --bs-primary-rgb: 47, 122, 69;
}

body,
.humhub-content,
#layout-content {
  font-family: 'Signika', system-ui, -apple-system, sans-serif;
  color: var(--lgc-ink);
}

html,
body {
  background: var(--lgc-green-center) !important;
}

.humhub-content,
#layout-content {
  background: transparent !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand,
.topbar .navbar-brand,
.page-topic h1,
.panel-heading h2 {
  font-family: 'Signika', system-ui, -apple-system, sans-serif;
  color: var(--lgc-ink);
}

.topbar,
.navbar,
#topbar,
nav.navbar {
  background: var(--lgc-green-center) !important;
  box-shadow: 0 6px 20px rgba(31, 45, 35, 0.14);
  border-bottom: 1px solid rgba(15, 50, 31, 0.28);
}

#layout-container,
.layout-content-container,
.container,
.container-fluid,
.humhub-content > .container {
  background: var(--lgc-green-center) !important;
  color: var(--lgc-ink);
}

body.login-container,
body.login-container #layout-content,
body.login-container .container,
.container-password {
  background: var(--lgc-green-center) !important;
  color: var(--lgc-ink) !important;
}

body.login-container #app-title,
body.login-container .text,
body.login-container .powered,
body.login-container h1,
body.login-container h2,
body.login-container h3,
body.login-container p,
body.login-container label,
body.login-container .panel-heading,
body.login-container .panel-body {
  color: var(--lgc-ink) !important;
  text-shadow: none !important;
}

.topbar .nav-link,
.topbar .navbar-brand,
.topbar .btn,
.nav-link,
.navbar-brand,
.navbar-nav .nav-link,
.topbar .dropdown-toggle,
#topbar .menu a {
  color: var(--lgc-ink) !important;
  text-shadow: none !important;
}

.topbar .nav-link:hover,
.topbar .nav-link:focus,
.topbar .navbar-brand:hover,
.topbar .navbar-brand:focus,
.nav-link:hover,
.nav-link:focus,
.navbar-brand:hover,
.navbar-brand:focus,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.topbar .dropdown-toggle:hover,
.topbar .dropdown-toggle:focus,
#topbar .menu a:hover,
#topbar .menu a:focus {
  color: #000 !important;
}

.topbar .dropdown-menu,
#topbar .dropdown-menu,
.dropdown-menu {
  background: var(--lgc-green-panel) !important;
  color: var(--lgc-ink) !important;
}

.topbar .dropdown-menu a,
#topbar .dropdown-menu a,
.dropdown-menu a,
.dropdown-item {
  color: var(--lgc-ink) !important;
  text-shadow: none !important;
}

.topbar .dropdown-menu a:hover,
.topbar .dropdown-menu a:focus,
#topbar .dropdown-menu a:hover,
#topbar .dropdown-menu a:focus,
.dropdown-menu a:hover,
.dropdown-menu a:focus,
.dropdown-item:hover,
.dropdown-item:focus {
  color: #000 !important;
  background: #d4ebcc !important;
}

.topbar .btn,
.btn-primary,
.btn.btn-primary {
  background-color: var(--lgc-green) !important;
  border-color: var(--lgc-green) !important;
  border-radius: 999px;
}

.btn-primary:hover,
.btn.btn-primary:hover {
  background-color: #2a6e3f !important;
}

a.btn,
.btn.btn-outline-primary,
.btn-outline-primary {
  border-color: var(--lgc-accent) !important;
  border-radius: 999px;
}

.page-topic,
.panel,
.card,
.space-summary,
.module-space-preview,
.modal-content,
.panel-default {
  border-radius: 12px;
  border: 1px solid rgba(15, 50, 31, 0.32) !important;
  background: var(--lgc-green-panel) !important;
  color: var(--lgc-ink);
  box-shadow: 0 8px 22px rgba(31, 45, 35, 0.07);
}

.sidebar-right .panel,
.sidebar-left .panel {
  background: #eaf7e3 !important;
  color: var(--lgc-ink);
}

.space-menu,
#space-menu-wrapper,
#space-menu {
  border-radius: 12px;
  border: 1px solid rgba(47, 122, 69, 0.12);
}

.navbar-nav .dropdown-menu {
  border: 1px solid rgba(47, 122, 69, 0.18);
  box-shadow: 0 10px 28px rgba(31, 45, 35, 0.14);
  background: var(--lgc-green-panel) !important;
  color: var(--lgc-ink);
}

.activity-entry,
.comment-entry,
.stream-entry {
  border-radius: 12px;
  border: 1px solid rgba(15, 50, 31, 0.24);
  padding: 0.8rem;
  background: rgba(244, 251, 239, 0.98) !important;
  color: var(--lgc-ink);
}

.media,
.content,
.wall-entry-content,
.media-body,
.panel-body,
.card-body,
.form-control,
.form-select {
  color: var(--lgc-ink);
}

a {
  color: #174a2a;
}

a:hover,
a:focus {
  color: #000;
}

.humhub-card-grid,
.humhub-content > .container,
.container,
.container-fluid {
  background: var(--lgc-green-center);
}

.form-control,
.form-select,
input,
textarea,
select {
  background-color: #fff !important;
  color: var(--lgc-ink) !important;
  border-color: rgba(15, 50, 31, 0.35) !important;
}

.text-muted,
.help-block,
.help-text,
.metadata,
.wall-entry-controls,
.comment .time,
.media .time {
  color: #385c42 !important;
}

.lgc-hub-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.5rem 1rem;
  background: linear-gradient(120deg, var(--lgc-green), var(--lgc-green-soft));
  color: #fff !important;
  text-decoration: none;
}

.humhub-top-actions {
  margin-top: 0.7rem;
}

@media (max-width: 767px) {
  .topbar {
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
  }

  .topbar .nav-item,
  .navbar-nav .nav-item {
    padding: 0.05rem 0;
  }

  .topbar .nav-link,
  .navbar-nav .nav-link {
    padding: .55rem .75rem;
  }

  .page-topic,
  .panel,
  .card {
    border-radius: 10px;
  }
}
