body > div.main-content {
    margin-top: 0;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.c-post-hero {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    background-color: #FEF4EC;
}

.c-post-hero__container {
    /* Đảm bảo container nằm chính giữa màn hình */
    max-width: 86.773vw;
    margin-left: auto;
    margin-right: auto;
    padding: 0;

    /* Dùng Flexbox cột để quản lý các thẻ con */
    display: flex;
    flex-direction: column;
    align-items: stretch; /* Hoặc center nếu muốn các phần tử con tự căn giữa */
    width: 100%;
}

/* Triệt tiêu margin mặc định có thể gây lệch của thẻ con */
.c-post-hero__container > nav,
.c-post-hero__container > div {
    width: 100%;
    box-sizing: border-box;
}

.c-post-hero__breadcrumb {
    padding-top: 135px;
    padding-left: 20px;
}

.breadcrumb-item, .breadcrumb-item a {
    font-style: normal;
    font-weight: 500;
    font-size: 17px;
    line-height: 28px;
    color: #707070;
}

.breadcrumb-item:hover, .breadcrumb-item a:hover {
    text-decoration: underline;
    cursor: pointer;
}

.c-post-hero__col-main {
    margin-top: 29px;
    padding: 0 20px;
}

.c-post-hero__badges {
    /* height: 42px; */
    gap: 15px;
    margin-bottom: 36px;
}

.c-post-hero__badge {
    padding: 10px 15px;
    font-weight: 500;
    font-size: 17px;
    line-height: 22px;
    display: flex;
    align-items: center;
    text-align: center;
    color: #DD2E37;
    background: #FAFAFA;
    border: 2px solid #DD2E37;
    border-radius: 100px;
}

.c-post-hero__badge__danger {
    background: #DD2E37;
    color: #fff;
}

.c-post-hero__title {
    font-weight: 700;
    font-size: 60px;
    line-height: 80px;
    letter-spacing: -0.01em;
    color: #171717;
    margin-bottom: 18px;
}

.c-post-hero__preview {
    font-weight: 500;
    font-size: 22px;
    line-height: 40px;
    letter-spacing: -0.03em;
    color: #737373;
    margin-bottom: 28px;
}

.c-post-meta {
    gap: 40px;
    margin-bottom: 29px;
}

.c-post-meta__item {
    font-weight: 500;
    font-size: 17px;
    line-height: 20px;
    color: #10161F;

    /* Căn giữa icon và text theo chiều dọc */
    display: inline-flex;
    align-items: center;

    /* Inside auto layout */
    flex: none;
    order: 1;
    flex-grow: 0;
}

.c-post-meta__item i {
    margin-right: 10px;
    width: 30px;
    height: 30px;

    /* Căn giữa icon bên trong khung 30x30px */
    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* Đảm bảo kích thước icon chuẩn */
    font-size: 20px; /* Tăng/giảm kích thước icon font tại đây */
    flex-shrink: 0; /* Tránh icon bị méo khi flex container co lại */
}

.c-post-hero__stats-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1;
}

.c-post-hero__stats-label {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  color: #737373;
}

.c-post-hero__stats-value {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #282828;
}

.c-post-hero__stats-divider {
  width: 1px;
  height: 40px;
  background: #E9E9E9;
  flex-shrink: 0;
}

.c-post-hero__row {
    width: 100%;
}

.c-post-hero__col-stats {
    padding: 0;
    margin-top: 0;
    margin-bottom: 77px;
}

/* Parent container allows children to overflow outside its boundaries */
.c-post-hero__image-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible; /* CRITICAL: Enables overlay bottom: -20px to show */
}

/* Dedicated clip box for image & border */
.c-post-hero__image-box {
    width: 100%;
    height: 100%;
    border: 3.7px solid #F5F5F5;
    box-shadow: 0px 0px 9.2px rgba(68, 68, 68, 0.25);
    border-radius: 36px;
    overflow: hidden; /* Clips image corners */
}

.c-post-hero__image {
    width: 100%;
    height: 100%;
    max-height: 661px;
    object-fit: cover;
    object-position: center;
    display: block; 
}

/* Overlay sits absolute on wrapper, above the image box */
.c-post-hero__stats-overlay {
    position: absolute;
    bottom: -49px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    padding: 30px;
    background: #FFFFFF;
    box-shadow: 0px 0px 9.2px rgba(68, 68, 68, 0.25);
    border-radius: 17px;
    margin: 0 auto;
    z-index: 2; /* Keeps overlay on top of image container */
    max-width: 71.76vw;
    height: 122px;
}

.c-post-hero__stats-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.c-post-hero__stats-label {
    font-weight: 500;
    font-size: 18px;
    line-height: 25px;
    color: #737373;
}

.c-post-hero__stats-value {
    font-weight: 700;
    font-size: 18px;
    line-height: 25px;
    color: #282828;
}

.c-post-hero__stats-divider {
    width: 1px;
    height: 40px;
    background: #E9E9E9;
    flex-shrink: 0;
}

.c-post-detail__content  {
    padding-top: 33px;
}

.c-related-post {
  border-bottom: 2px solid #E9E9E9;
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Thêm transition ở đây */
  will-change: transform; /* Tối ưu hiệu suất */
}

.c-related-post:hover {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Thêm bóng đổ để nổi bật hơn */
}

.c-post-article, .c-related-posts, .c-post-toc {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
    gap: 30px;
    background: #FFFFFF;
    box-shadow: 0px 0px 9.2px rgba(68, 68, 68, 0.25);
    border-radius: 17px;
}

.c-related-posts {
  gap: 19px;
}

.c-post-detail__main {
    padding: 0 18px 0 0;
    display: flex;
    flex-direction: column;
    gap: 26px;
    align-items: stretch;
    justify-content: flex-start; /* Dồn tất cả card lên trên, không kéo giãn chiều cao */
}

/* ====== ARTICLE CONTENT ====== */
.c-post-article {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  /* nếu card có chiều rộng cố định, thêm max-width: 100%; */
}

/* Nội dung bài viết */
.c-post-article__body {
  font-size: 1rem;
  line-height: 1.8;
  color: #212529;
}

/* Hình ảnh trong nội dung */
.c-post-article__body img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin: 1.5rem 0;
  display: block;
}

/* Bảng */
.c-post-article__body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.c-post-article__body table th,
.c-post-article__body table td {
  padding: 0.75rem;
  border: 1px solid #dee2e6;
  text-align: left;
  vertical-align: top;
}
.c-post-article__body table th {
  background-color: #f8f9fa;
  font-weight: 600;
}

/* Code, Pre */
.c-post-article__body pre,
.c-post-article__body code {
  white-space: pre-wrap;
  word-break: break-all;
}
.c-post-article__body pre {
  background-color: #f8f9fa;
  padding: 1rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  font-size: 0.875rem;
  line-height: 1.6;
}
.c-post-article__body code {
  background-color: #f1f3f5;
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.875em;
}
.c-post-article__body pre code {
  background-color: transparent;
  padding: 0;
}

/* Trích dẫn */
.c-post-article__body blockquote {
  margin: 1.5rem 0;
  padding: 0.5rem 1.5rem;
  border-left: 4px solid #dee2e6;
  background-color: #f8f9fa;
  color: #495057;
  font-style: italic;
}
.c-post-article__body blockquote p:last-child {
  margin-bottom: 0;
}

/* Danh sách */
.c-post-article__body ul,
.c-post-article__body ol {
  padding-left: 1.5rem;
  margin: 1rem 0;
}
.c-post-article__body li {
  margin-bottom: 0.25rem;
}

/* Headings trong nội dung */
.c-post-article__body h1,
.c-post-article__body h2,
.c-post-article__body h3,
.c-post-article__body h4,
.c-post-article__body h5,
.c-post-article__body h6 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
}
.c-post-article__body h1 { font-size: 2rem; }
.c-post-article__body h2 { font-size: 1.75rem; }
.c-post-article__body h3 { font-size: 1.5rem; }
.c-post-article__body h4 { font-size: 1.25rem; }
.c-post-article__body h5 { font-size: 1.1rem; }
.c-post-article__body h6 { font-size: 1rem; }

/* Paragraph */
.c-post-article__body p {
  margin-bottom: 1.25rem;
}
.c-post-article__body p:last-child {
  margin-bottom: 0;
}

/* ====== FOOTER TAGS ====== */
.c-post-article__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  padding-top: 30px;
  border-top: 2px solid #E9E9E9;
  width: 100%;
}

.c-post-article__tag-label {
  flex-shrink: 0;
  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  color: #707070;
}

.c-post-article__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1 1 auto;
}

.c-post-article__tag-item {
  display: inline-flex;
}

.c-post-article__tag-link {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 5px;
  gap: 3px;
  background: #F0F1F2;
  border-radius: 13px;

  font-weight: 600;
  font-size: 13px;
  line-height: 16px;
  color: #444444;
}
.c-post-article__tag-link:hover {
  background-color: #ced4da;
  color: #212529;
}

/* Khi không có tag */
.c-post-article__tag-item .text-muted {
  font-style: italic;
  font-size: 0.875rem;
}

.c-post-detail__container {
    padding: 0;
}

.c-post-article__meta-top {
    width: 100%;
}

.c-post-article__meta-left {
    gap: 19px;
}

.c-post-article__meta-text {
    gap: 4px;
    display: grid;
}

.c-post-article__author {
    font-weight: 700;
    font-size: 18px;
    line-height: 25px;
    color: #282828;
}

.c-post-article__date {
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    color: #737373;
}

.btn-follow {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 15px 20px;
    gap: 10px;
    background: #FFFFFF;
    border: 1.5px solid #FF4500;
    border-radius: 10px;
    font-weight: 600;
    font-size: 17px;
    line-height: 20px;
    text-align: center;
    color: #FF4500;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

/* Hover state ONLY when button is active (NOT disabled) */
.btn-follow:hover:not(:disabled) {
    border: 1.5px solid #FF4500;
    color: #FFFFFF;
    background: #FF4500;
    cursor: pointer;
}

/* Disabled state: Displays the block cursor and disables interactions */
.btn-follow:disabled,
.btn-follow[disabled] {
    cursor: not-allowed !important; /* Forces the block cursor */
    opacity: 0.6;                   /* Visual cue for disabled state */
    /* Optional: Uncomment below if you want to keep white background on hover */
    /* background: #FFFFFF !important; */
    /* color: #FF4500 !important; */
}

.c-related-posts__heading {
  font-weight: 700;
  font-size: 18px;
  line-height: 25px;
  text-align: right;
  color: #282828;
  margin-bottom: 0;
}

.c-related-post__number {
  font-weight: 500;
  font-size: 23px;
  line-height: 25px;
  display: flex;
  color: #2B2B2B;
}

.c-related-post {
  gap: 26px;
  padding: 13px 20px;
}

.c-related-post__title {
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  color: #2B2B2B;
  margin-bottom: 0;
}

.c-post-detail__sidebar {
  padding-left: 18px;
  padding-right: 0;
}

.c-post-toc__heading {
  font-weight: 700;
  font-size: 18px;
  line-height: 25px;
  color: #282828;
  margin-bottom: 0;
}

.c-post-toc__nav {
  width: 100%;
}

#toc-list {
  width: 100%;
}

/* Nền & Border cho Item */
.c-post-toc__item {
  padding: 13px 20px;
  border-bottom: 2px solid #E9E9E9;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Nền khi hover */
.c-post-toc__item:hover {
  background: #FDF4ED;
  border-left: 2px solid #FF4500;
  border-radius: 12px;
}

/* Target trực tiếp vào link và toàn bộ thẻ con bên trong khi hover vào li */
.c-post-toc__item:hover .c-post-toc__link,
.c-post-toc__item:hover .c-post-toc__number,
.c-post-toc__item:hover .c-post-toc__title {
  color: #FF4500 !important;
}

.c-post-toc__link {
  gap: 26px;
}

.c-post-toc__number {
  font-weight: 500;
  font-size: 23px;
  line-height: 25px;
  display: flex;
  align-items: center;
  color: #2B2B2B;
}

.c-post-toc__title {
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  color: #2B2B2B;

  /* --- Thêm phần giới hạn --- */
  display: inline-block;         /* hoặc block */
  max-width: 250px;             /* giới hạn chiều rộng, điều chỉnh theo thiết kế */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-related-posts__badge {
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  display: flex;
  align-items: center;
  letter-spacing: -0.01em;
  color: #FA530E;
  text-transform: uppercase;
}

.c-related-post__meta {
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  color: #2B2B2B;
}

.c-related-post__title {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: -0.01em;
  color: #171717;
}

.c-related-post__time {
  font-weight: 500;
  font-size: 13px;
  line-height: 17px;
  color: #737373;
}

.c-post-hero__image__suggestion {
  width: 139px;
  height: 172px;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  background-color: #FDF4ED;
  
  /* Giữ đúng tỉ lệ ảnh, tự động fit vừa khung */
  object-fit: cover; 
  /* Căn giữa trọng tâm của ảnh */
  object-position: center; 
}

.c-related-posts__list {
  gap: 19px;
}

.c-related-post {
  align-items: center;
  padding: 0px 30px 0px 0px;
  gap: 17px;
  background: #FDFCFB;
  border: 1.7px solid #F5F5F5;
  box-shadow: 0px 0px 9.2px rgba(68, 68, 68, 0.25);
  border-radius: 20px;
}

.c-related-post__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 7px;
}

.c-post-nav-widget {
  align-items: center;
  padding: 13px 20px;
  gap: 15px;
  background: #FDF4ED;
  border-radius: 12px;
  top: -24px;
  position: relative;
  display: grid;
}

.c-post-nav-widget__heading {
  font-weight: 700;
  font-size: 18px;
  line-height: 25px;
  text-align: center;
  color: #282828;
  margin-bottom: 0;
}

.c-post-nav-widget__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 14px;
}

.c-post-nav-widget__btn {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0px;
  gap: 10px;


  background: #FF4500;
  border-radius: 10px;

  font-weight: 600;
  font-size: 15px;
  line-height: 20px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #FFFFFF;
  height: 48px;
}

.c-post-nav-widget__btn__second {
  background: #FFFFFF;
  border: 1.5px solid #FF4500;
  color: #FF4500;
}

.c-post-nav-widget__btn:hover {
  text-decoration: underline;
}

.c-post-share {
  display: grid;
  gap: 10px;
  /* Giúp thẻ share chỉ cao vừa đúng bằng nội dung bên trong, không bị stretch */
  align-self: start; 
  height: fit-content; 
}

.c-post-share__title {
  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  color: #707070;
  margin-bottom: 0;
  height: fit-content;
}

.c-post-share__list {
  display: flex;
  gap: 12px;
  height: fit-content;
}

.c-post-share__link {
  box-sizing: border-box;

  /* Auto layout */
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 3px 10px;
  gap: 3px;

  height: 28px;
  border-radius: 8px;

  /* Inside auto layout */
  flex: none;
  order: 0;
  flex-grow: 0;

  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
}

.btn-outline-linkedin {
  background: #FAFAF8;
  border: 1px solid #E0E0E0;
}

.btn-outline-linkedin i {
  color: #0163A5;
  background: #fff;
}

/* Khi hover vào button, thay đổi nền button */
.btn-outline-linkedin:hover {
  background: #0163A5;
  border-color: #0163A5;
  color: #fff;
}

/* Khi hover vào button, icon bên trong cũng thay đổi màu */
.btn-outline-linkedin:hover i {
  color: #fff;
  background: transparent; /* hoặc #0163A5 nếu muốn nền icon cùng màu */
}