:root{
  --gh-green: #1f7a4a;
  --gh-green-dark: #145233;
  --gh-surface: #0f1a14;
}

.bg-greenhouse{
  background: linear-gradient(90deg, var(--gh-green-dark), var(--gh-green));
}

.border-greenhouse{
  border-color: rgba(31, 122, 74, 0.4) !important;
}

.navbar-brand{
  letter-spacing: 0.3px;
}

.card{
  border-radius: 14px;
}

.table thead th{
  white-space: nowrap;
}

.text-truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.btn-primary{
  --bs-btn-bg: var(--gh-green);
  --bs-btn-border-color: var(--gh-green);
  --bs-btn-hover-bg: var(--gh-green-dark);
  --bs-btn-hover-border-color: var(--gh-green-dark);
  --bs-btn-active-bg: var(--gh-green-dark);
  --bs-btn-active-border-color: var(--gh-green-dark);
}

/* Kleine Akzente */
.badge.text-bg-success{
  background-color: var(--gh-green) !important;
}

/* ===== RESPONSIVE / TABLET / MOBILE ===== */

/* --- Mobile Artikel-Cards --- */
.article-cards .article-card{
  border-radius: 12px;
  transition: box-shadow .15s;
}
.article-cards .article-card:hover{
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.article-cards .article-card .article-thumb{
  width: 52px;
  height: 52px;
  object-fit: cover;
  flex-shrink: 0;
}
.article-cards .article-card .article-thumb-placeholder{
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Tablet: Tabelle kompakter machen (md bis lg) --- */
@media (min-width: 768px) and (max-width: 991.98px){
  .table-articles td,
  .table-articles th{
    padding: .5rem .4rem;
    font-size: .875rem;
  }
  .table-articles .col-actions{
    width: auto;
  }
  .table-articles .col-actions .btn{
    font-size: .75rem;
    padding: .25rem .5rem;
  }
  .table-articles .desc-text{
    max-width: 220px;
  }
}

/* --- Kategorien: Mobile Optimierung --- */
@media (max-width: 767.98px){
  .category-node{
    flex-direction: column;
    align-items: flex-start !important;
    gap: .5rem;
  }
  .category-node .category-actions{
    width: 100%;
    display: flex;
    gap: .5rem;
  }
  .category-node .category-actions .btn{
    flex: 1;
    font-size: .8rem;
  }
  .category-node .category-actions form{
    flex: 1;
  }
  .category-node .category-actions form .btn{
    width: 100%;
  }
}

/* Tablet: Kategorien kompakter */
@media (min-width: 768px) and (max-width: 991.98px){
  .category-node .btn{
    font-size: .8rem;
    padding: .25rem .5rem;
  }
}

/* --- Navbar Mobile --- */
@media (max-width: 991.98px){
  .navbar .nav-user-info{
    flex-direction: column;
    align-items: flex-start !important;
    gap: .5rem;
    padding-top: .5rem;
    border-top: 1px solid rgba(255,255,255,.15);
    margin-top: .5rem;
  }
}

/* --- Allgemein: Touch-freundlichere Elemente --- */
@media (max-width: 991.98px){
  .btn-sm{
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Container etwas breiter nutzen auf Tablet */
  .container{
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 575.98px){
  main.container{
    padding-left: .75rem;
    padding-right: .75rem;
  }
  h1.h3{
    font-size: 1.25rem;
  }
}
