.tbl-marketing-wrap {
  overflow-x: auto;
  position: relative;
  width: 100%;
}

/* table custom agar gak bentrok */
.tbl-marketing {
  width: 100%;
  border-collapse: collapse;
  min-width: 1300px; /* sesuaikan */
}

/* cell umum */
.tbl-marketing th,
.tbl-marketing td {
  border: 1px solid #dee2e6;
  padding: 0.45rem 0.6rem;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  background: #fff;
}

/* header sticky (di atas saat vertical scroll) */
.tbl-marketing thead th {
  position: sticky;
  top: 0;
  background: #f8f9fa;
  /* z-index header default */
  z-index: 9;
}

/* kolom freeze (sticky left) untuk semua row (thead & tbody) */
.tbl-marketing .freeze-col {
  position: sticky;
  left: 0;
  background: #fff;
  /* z-index default untuk kolom freeze */
  z-index: 7;
  /* beri sedikit box-shadow agar lebih jelas */
  box-shadow: 2px 0 5px rgba(0,0,0,0.03);
}

/* ketika sebuah header juga freeze (intersection top+left), beri z-index paling tinggi
   agar tidak tertutup oleh header lain atau sel body. */
.tbl-marketing thead th.freeze-col,
.tbl-marketing thead td.freeze-col {
  z-index: 11; /* paling atas untuk intersection */
  left: 0;
  top: 0;
}

/* header biasa sedikit di bawah intersection */
.tbl-marketing thead th:not(.freeze-col) {
  z-index: 10;
}

/* body freeze-col di bawah header intersection */
.tbl-marketing tbody td.freeze-col {
  z-index: 8;
}

/* tambahan responsif kecil */
@media (max-width: 768px) {
  .tbl-marketing { min-width: 1000px; } /* sesuaikan agar tetap scroll */
}