/* =============================================================
   IDATA Elementor Widgets – PROCESS
   Phụ thuộc: idata-core
============================================================= */

/* =========================================================
   2. PROCESS TIMELINE
========================================================= */
/* 7 bước xếp 4 cột: bước cuối chiếm 2 cột để hai hàng đều nhau (4 + 3×2 ô).
   Không dùng đường kẻ ngang chạy sau card vì card nền trắng sẽ cắt vụn đường kẻ. */
.idata-process__timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--idata-space-4);
}
.idata-process__step:last-child { grid-column: span 2; }

.idata-process__step {
  position: relative;
  padding: var(--idata-space-6) var(--idata-space-5);
  background: var(--idata-surface);
  border: 1px solid var(--idata-border);
  border-radius: var(--idata-radius-md);
  transition: transform var(--idata-transition), box-shadow var(--idata-transition),
              border-color var(--idata-transition);
}
.idata-process__step:hover {
  transform: translateY(-4px);
  border-color: var(--idata-primary);
  box-shadow: var(--idata-shadow-md);
}

.idata-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--idata-gradient-primary);
  color: #fff;
  font-size: var(--idata-fs-sm);
  font-weight: var(--idata-font-weight-bold);
  margin-bottom: var(--idata-space-4);
}
.idata-process__step:last-child .idata-process__num { background: var(--idata-gradient-accent); }

.idata-process__title {
  font-size: var(--idata-fs-h4);
  font-weight: var(--idata-font-weight-bold);
  color: var(--idata-heading);
  margin-bottom: 8px;
  text-wrap: balance;
}
.idata-process__desc { font-size: var(--idata-fs-sm); color: var(--idata-muted); line-height: 1.65; }


/* ============ RESPONSIVE ============ */

@media (max-width: 768px) {
  .idata-process__timeline { grid-template-columns: repeat(2, 1fr); }
  .idata-process__step:last-child { grid-column: span 2; }
}

@media (max-width: 480px) {
  .idata-process__timeline { grid-template-columns: 1fr; }
  .idata-process__step:last-child { grid-column: span 1; }
}

/* ============ MODIFIER ============ */
.idata-process__step--wide { grid-column: span 2; }
.idata-process__step--accent .idata-process__num { background: var(--idata-gradient-accent); }

@media (max-width: 480px) {
  .idata-process__step--wide { grid-column: span 1; }
}
