.author-hero { background:#fff; border-bottom:1px solid #e5e7eb; padding:40px 0; }
.author-hero-inner { display:flex; gap:30px; align-items:flex-start; flex-wrap:wrap; }
.author-avatar-wrap { flex-shrink:0; }
.author-avatar-img { width:170px; height:170px; border-radius:50%; object-fit:cover; border:3px solid #e2e8f0; box-shadow:0 4px 16px rgba(0,0,0,.12); display:block; }
.author-avatar-placeholder { width:110px; height:110px; border-radius:50%; background:#e8ecf0; display:flex; align-items:center; justify-content:center; font-size:42px; color:#657384; }
.author-info { flex:1; min-width:200px; }
.author-info h1 { font-size:1.5rem; font-weight:600; margin:0 0 5px;letter-spacing: -0.029em; }
.author-position-txt { font-size:0.875rem; color:#657384; margin:0 0 12px; }
.author-bio {margin-bottom:16px; }
.author-desc-block { background:#fff; padding:16px 0 40px; }
.author-posts-section { padding:40px 0 60px; background:#f7f9fb; }
.author-posts-header { display:flex; align-items:baseline; gap:12px; margin-bottom:24px; }
.author-posts-header h2 {line-height: inherit; font-size:1.5rem; font-weight:600; margin:0; letter-spacing: -0.029em; }
.author-posts-count { font-size:0.875rem; color:#657384; }
@media (max-width:575.98px) { .author-posts-header { flex-direction:column; align-items:flex-start; gap:4px; } }
#authorLoadMoreWrap { text-align:center; margin-top:32px; }
.btn-load-more-author { display:inline-block; padding:16px 48px; color:#fff; border:none; border-radius:50px; font-size:0.875rem; font-weight:500; cursor:pointer; transition:opacity .2s; }
.btn-load-more-author:disabled { opacity:.55; cursor:default; }

.author-breadcrumb-wrap { padding:16px 0; }

/* Card bai viet — clone cau truc/style tu .kb-item (Kien thuc in an, home.css),
   prefix rieng vi CSS cua .kb-item chi nap o trang chu (home.css), khong dung
   chung class duoc voi trang tac gia. */
.author-posts-grid { display:grid; grid-template-columns:repeat(1,1fr); gap:16px; }
@media (min-width:576px) { .author-posts-grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:768px) { .author-posts-grid { grid-template-columns:repeat(3,1fr); }  }
@media (max-width:768px) { .author-posts-grid {gap:12px; } .author-posts-header h2 {font-size: 1.25rem} }
@media (min-width:992px) { .author-posts-grid { grid-template-columns:repeat(4,1fr); } }
.author-posts-empty { text-align:center; padding:48px 0; color:#657384; font-size:16px; }

.author-post-card { position:relative; border-radius:12px; overflow:hidden; background:linear-gradient(rgba(255, 255, 255, .2) 0%, #fff 100%); border:1px solid #D8E2E6; padding:12px; transition:box-shadow .2s, transform .2s; }
.author-post-card:hover { box-shadow:0 10px 24px rgba(16,24,40,.1); transform:translateY(-2px); }
.author-post-card__link { display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.author-post-card__link:hover { text-decoration:none; color:inherit; }
.author-post-card__img { position:relative; width:100%; }
.author-post-card__img::before { content:''; display:block; padding-top:54.375%; }
.author-post-card__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; border-radius:8px; }
.author-post-card__footer { padding-top:16px; }
.author-post-card__text { min-width:0; }
.author-post-card__title { margin:0; font-size:0.875rem; font-weight:600; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height: inherit;}
.author-post-card__bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:8px; }
.author-post-card__arrow { flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; color:var(--ivd-brand, #1d52d7); background:#eef3fd; font-size:1rem; transition:background .2s, color .2s; }
.author-post-card:hover .author-post-card__arrow { background:var(--ivd-brand, #1d52d7); color:#fff; }
.author-post-card__meta { display:flex; align-items:center; margin:0; font-size:0.75rem; color:#657384; white-space:nowrap; overflow:hidden; min-width:0; flex:1 1 auto; }
.author-post-card__time { flex:0 0 auto; }
.author-post-card__author { flex:0 1 auto; overflow:hidden; text-overflow:ellipsis; color:#657384; font-weight:500; text-decoration:none; }
.author-post-card__author:hover { color:#1250DC; }
.author-post-card__author::before { content:'•'; display:inline-block; margin:0 6px; color:#cbd5e1; }
.author-icon-heading { display: inline-block; }
.author-icon-heading i { font-size: 1.125rem; margin-right: 10px; color: #005EDB; font-weight: 500; }
.author-desc-block h2 {line-height: inherit; display: inline-block; font-size: 1.125rem; font-weight:600; margin: 16px 0}