/* Container styling */
.tff-block-table-wrapper {
  margin: 30px 0;
  padding: 20px;
  background: var(--color-bg, #ffffff);
  border: 1.5px solid var(--color-border, #E2EBE4);
  border-radius: var(--radius-lg, 16px);
}

.tff-block-table-title {
  font-family: var(--font-display), sans-serif;
  font-size: var(--text-2xl, 1.5rem);
  font-weight: 800;
  color: var(--color-text, #1A1F1A);
  margin-bottom: 20px;
  border-bottom: 2px solid var(--color-border, #E2EBE4);
  padding-bottom: 10px;
}

/* Table Style */
.tff-block-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.tff-block-table th {
  padding: 12px;
  background: var(--color-bg-2, #F7F9F7);
  font-weight: 700;
  font-size: 14px;
  color: var(--color-text, #1A1F1A);
  border-bottom: 1.5px solid var(--color-border, #E2EBE4);
}

.tff-block-table td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--color-border, #E2EBE4);
  vertical-align: middle;
  font-size: 14px;
}

/* Custom Add Button Style */
.tff-block-table .menu-item-add {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-primary, #1A7F4B);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  border: none;
  cursor: pointer;
  transition: transform 0.15s ease;
}

.tff-block-table .menu-item-add:hover {
  transform: scale(1.1);
  background: var(--color-primary-dark, #145E38);
}

/* Rich tags style */
.tff-table-item-tags .tff-tag {
  background: var(--color-bg-3, #EEF3EE);
  color: var(--color-primary, #1A7F4B);
  font-weight: 700;
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 50px;
  display: inline-block;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .tff-block-table, 
  .tff-block-table thead, 
  .tff-block-table tbody, 
  .tff-block-table th, 
  .tff-block-table td, 
  .tff-block-table tr { 
    display: block; 
  }
  
  .tff-block-table thead { 
    display: none; 
  }
  
  .tff-block-table tr {
    margin-bottom: 15px;
    border: 1px solid var(--color-border, #E2EBE4);
    border-radius: 8px;
    padding: 10px;
    background: var(--color-bg-2, #F7F9F7);
  }
  
  .tff-block-table td {
    border-bottom: none;
    padding: 6px 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .tff-block-table td::before {
    content: attr(class);
    font-weight: 700;
    color: var(--color-text-3, #7A917E);
    font-size: 12px;
  }
}