.timeline-mobile-group {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}

.timeline-mobile-header {
  background: #ecfdf5;
  padding: 12px 16px;
  font-weight: 600;
  color: #065f46;
  
}

.timeline-mobile-event {
  padding: 12px 16px;
  border-top: 1px solid #e5e7eb;
}

.timeline-mobile-title {
  font-size: 14px;
  font-weight: 600;
}

.timeline-mobile-meta {
  font-size: 12px;
  color: #6b7280;
}

.timeline-mobile-card {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

.timeline-mobile-card-header {
  background: linear-gradient(
    135deg,
    #d1fae5,
    #ecfeff
  );
  padding: 0.75rem 1rem;
  font-weight: 600;
  color: #065f46;
  border-radius: 1rem 1rem 0 0;
}

/* ===============================
   MOBILE TIMELINE (CARD MODE)
=============================== */

.timeline-mobile-card {
  background: #ffffff;
  border-radius: 1rem;            /* rounded-2xl */
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  border: 1px solid #e5e7eb;
  overflow: hidden;
}

.timeline-mobile-card-header {
  padding: 0.75rem 1rem;
  background: #ecfdf5;            /* emerald-50 */
  color: #047857;                 /* emerald-700 */
  font-weight: 600;
}

.timeline-mobile-card .snap-x {
  scroll-snap-type: x mandatory;
}

.timeline-mobile-card .snap-start {
  scroll-snap-align: start;
}

/* swipe item */
.timeline-mobile-item {
  min-width: 220px;
  border-radius: 0.75rem;
  padding: 0.75rem;
  color: #ffffff;
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}

.timeline-mobile-item:active {
  transform: scale(.97);
}


/* ใน timeline.mobile.css */
.timeline-mobile-title {
  font-size: 14px;
  font-weight: 600;
  word-wrap: break-word;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: 1.4;
}