/* Training */
.ctd-training .training-card{
  position:relative;display:block;color:#fff;border-radius:12px;overflow:hidden;
  min-height:240px;background-size:cover;background-position:center
}
.ctd-training .training-card img{visibility:hidden;width:100%;height:100%}
.ctd-training .training-card .label{
  position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.5);
  padding:8px 12px;border-radius:8px;font-weight:600
}
.ctd-training .training-card .ext{
  position:absolute;right:12px;top:12px;background:#fff;border-radius:999px;padding:6px
}
.ctd-training .training-card .ext svg{width:16px;height:16px;display:block}

/* Research */
.research-card{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;display:block}
.research-card .research-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-weight:600}
.research-card .research-thumb img{width:100%;height:180px;object-fit:cover;display:block}

/* Coop */
.coop-block{background:#1a1f2b}
.coop-card{
  display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;
  border:1px solid rgba(255,255,255,.2);padding:16px;border-radius:12px;transition:.2s background
}
.coop-card:hover{background:rgba(255,255,255,.06)}
.coop-card .coop-icon{font-size:28px}
.coop-card .ext svg{width:16px;height:16px}
/* overlay màu (nếu thiếu) */
.overlay { position:absolute; inset:0; opacity:.4; }
.overlay-blue{background:#2260ff}
.overlay-red{background:#ff3b3b}
.overlay-green{background:#22a06b}
.overlay-brown{background:#7a5230}
.overlay-purple{background:#7c3aed}
.overlay-dark{background:#000}

/* eco-item nền ảnh (giữ như gốc) */
.eco-item{
  position:relative; display:block;
  background:#ccc center/cover no-repeat;
  background-image:var(--img);
  border-radius:.5rem; overflow:hidden;
}
.eco-item::before{ content:""; display:block; height:100%; }

/* nội dung (giữ như gốc) */
.eco-content{ position:absolute; inset:0; padding:18px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; }
.eco-content.eco-top{ justify-content:flex-start; }
.eco-content h5{ margin:0 0 .35rem 0; color:#fff; font-weight:800; text-transform:uppercase; }
.eco-content p{ margin:0 0 .5rem 0; font-size:.925rem; line-height:1.35; }

/* nút mở ngoài (giữ như gốc) */
.ext{ width:32px; height:32px; border:2px solid #fff; border-radius:.35rem; display:flex; align-items:center; justify-content:center; }
.ext svg{ width:16px; height:16px; }
.ecogrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(4,1fr);
  gap:18px;
  grid-template-areas:
    "lab art studio studio"
    "lab makers vuon sangtao"
    "lab makers vuon sangtao"
    "lab makers vuon eco";
  min-height:820px;
}
.eco-item.lab{grid-area:lab}
.eco-item.art{grid-area:art}
.eco-item.studio{grid-area:studio}
.eco-item.makers{grid-area:makers}
.eco-item.vuon{grid-area:vuon}
.eco-item.sangtao{grid-area:sangtao}
.eco-item.eco{grid-area:eco}

@media(max-width:991.98px){
  .ecogrid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    grid-template-areas:
      "lab" "art" "studio" "makers" "vuon" "sangtao" "eco";
    min-height:auto;
  }
  .eco-item{ min-height:260px; }
}

/* Counter */
.counter-block .stat-card{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px;text-align:center}
.counter-block .stat-num{font-size:40px;font-weight:800}
.counter-block .stat-divider{height:2px;background:#f5f5f5;margin:10px auto;width:40%}
.counter-block .stat-label{font-weight:600;color:#333}
/* Rút gọn tiêu đề bài viết, chỉ hiển thị tối đa 2 dòng và thêm dấu "..." nếu quá dài */
.card-body p.small.mb-0 {
    display: -webkit-box;         /* Đảm bảo sử dụng kiểu hiển thị theo kiểu flex box */
    -webkit-box-orient: vertical; /* Đặt chiều dọc cho box */
    -webkit-line-clamp: 2;        /* Giới hạn tối đa 2 dòng */
    overflow: hidden;             /* Ẩn phần thừa nếu vượt quá 2 dòng */
    text-overflow: ellipsis;      /* Thêm dấu "..." nếu văn bản vượt quá 2 dòng */
}
