/* ── Global ── */
body { font-size: 15px; padding-bottom: 80px; }

/* ── Sticky tabs below navbar ── */
.sticky-tabs {
  position: sticky;
  top: 56px;
  z-index: 1020;
  border-bottom: 2px solid #dee2e6;
}
.sticky-tabs .nav-link { color: #555; padding: 10px 6px; font-size: 14px; }
.sticky-tabs .nav-link.active { color: #198754; border-bottom: 3px solid #198754; background: #f8f9fa; }

/* ── Category filter pills ── */
.cat-pill {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 20px;
  border: 1px solid #ced4da;
  background: #fff;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.cat-pill.active, .cat-pill:hover { background: #198754; color: #fff; border-color: #198754; }

/* ── Category group header ── */
.category-header {
  background: #e9f5ee;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #198754;
  border-top: 1px solid #c3e6cb;
  border-bottom: 1px solid #c3e6cb;
}

/* ── Item row ── */
.item-row {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
  transition: background .1s;
}
.item-row:last-child { border-bottom: none; }
.item-row:active { background: #f8f9fa; }
.item-row .item-name { flex: 1; font-size: 15px; }
.item-row .item-name.in-cart { color: #198754; font-weight: 600; }

.btn-add-item {
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 2px solid #198754;
  background: transparent;
  color: #198754;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  transition: all .15s;
  flex-shrink: 0;
}
.btn-add-item.added { background: #198754; color: #fff; }
.btn-add-item:active { transform: scale(.9); }

/* ── Cart list ── */
#cartList .list-group-item { padding: 10px 12px; }
.cart-item-name { font-weight: 600; font-size: 14px; }
.cart-qty-badge {
  background: #198754;
  color: #fff;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
}

/* ── Manage items list ── */
#manageItemsList .list-group-item { padding: 10px 14px; }
.manage-item-name { font-weight: 600; font-size: 14px; }
.manage-cat-badge {
  font-size: 11px;
  background: #e9f5ee;
  color: #198754;
  padding: 2px 8px;
  border-radius: 10px;
}

/* ── Qty preset buttons ── */
.qty-preset {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 16px;
}
.qty-preset:active { transform: scale(.95); }

/* ── Empty state ── */
.empty-state {
  text-align: center;
  padding: 40px 20px;
  color: #adb5bd;
}
.empty-state i { font-size: 48px; display: block; margin-bottom: 10px; }

/* ── PDF button ── */
#generatePdf { font-size: 16px; border-radius: 8px; }

/* ── Cart card show animation ── */
#cartCard { transition: all .2s; }

/* ── Navbar badge ── */
#cartBadge { font-size: 14px; min-width: 42px; }

/* ── Input focus green ── */
.form-control:focus, .form-select:focus {
  border-color: #198754;
  box-shadow: 0 0 0 .2rem rgba(25,135,84,.2);
}
