/* Bài viết chi tiết — artboard BaiViet.dc.html */

/* ---------- Đầu bài ---------- */
.bv-head { padding-top: 32px; }
.bv-head__inner { max-width: 840px; margin: 0 auto; padding: 56px 0 40px; display: flex; flex-direction: column; gap: 22px; align-items: center; text-align: center; }
.bv-head__cat { justify-content: center; }
.bv-head__cat:hover { color: var(--bronze-dark); }
.bv-head__title { font-size: clamp(34px, 4.6vw, 58px); }
.bv-head__lead { font-size: 20px; max-width: 680px; }
.bv-meta { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; justify-content: center; font-size: 14px; color: var(--muted); margin-top: 6px; }
.bv-meta__author { display: flex; gap: 10px; align-items: center; color: var(--ink); text-align: left; min-height: 44px; }
.bv-meta__author:hover { color: var(--bronze); }
.bv-meta__author img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.bv-meta__author > span { display: flex; flex-direction: column; line-height: 1.35; }
.bv-meta__label { color: var(--muted); font-size: 13px; }
.bv-meta__author strong { font-weight: 600; }
.bv-meta__sep { width: 1px; height: 28px; background: var(--champagne); }
.bv-cover { display: flex; flex-direction: column; gap: 12px; }
.bv-cover img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 24px; background: var(--sand-2); }
.bv-cover figcaption { font-size: 13px; color: var(--muted); text-align: center; }
@media (max-width: 760px) {
  .bv-head { padding-top: 20px; }
  .bv-head__inner { padding: 32px 0 28px; gap: 16px; }
  .bv-head__lead { font-size: 17px; }
  .bv-meta { gap: 8px 16px; }
  .bv-meta__author { flex-basis: 100%; justify-content: center; }
  .bv-meta__sep:first-of-type { display: none; }
  .bv-cover img { aspect-ratio: 16 / 9; border-radius: var(--radius-media); }
}

/* ---------- Thân bài: sidebar sticky + nội dung ---------- */
.bv-body { padding-top: 72px; padding-bottom: 96px; display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start; }
.bv-aside { flex: 1 1 240px; min-width: 0; max-width: 300px; position: sticky; top: calc(var(--header-h) + 24px); display: flex; flex-direction: column; gap: 24px; max-height: calc(100vh - var(--header-h) - 48px); overflow-y: auto; scrollbar-width: thin; }
.bv-main { flex: 999 1 600px; min-width: 0; max-width: 720px; display: flex; flex-direction: column; gap: 40px; }
.bv-body--no-toc .bv-aside { order: 2; }

/* TOC trong <details> (mặc định đóng → mobile không giật layout).
   Desktop có JS: single.js mở sẵn và ẩn summary. Không JS: summary hiện để tự mở. */
.bv-toc > summary { list-style: none; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--white); font-weight: 600; font-size: 15px; cursor: pointer; }
.bv-toc > summary::-webkit-details-marker { display: none; }
.bv-toc__chev { margin-left: auto; transition: transform .2s; }
.bv-toc[open] .bv-toc__chev { transform: rotate(180deg); }
.bv-toc .toc { border: 0; background: transparent; padding: 0; }
.bv-toc .toc a { border-left-width: 2px; color: var(--muted); padding: 8px 0 8px 16px; }
.bv-toc .toc a:hover, .bv-toc .toc a.is-active { color: var(--ink); border-left-color: var(--amber); }
.bv-toc .toc a.is-active { font-weight: 600; }
@media (min-width: 761px) {
  .js .bv-toc[open] > summary { display: none; }
}

.bv-aside__cta { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.bv-aside__cta-title { font-family: var(--serif); font-size: 19px; line-height: 1.3; }
.bv-aside__tel { display: flex; align-items: center; justify-content: center; min-height: 44px; font-size: 14px; font-weight: 600; }

.bv-share { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 13px; color: var(--muted); }
.bv-share__btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--champagne); background: var(--white); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.bv-share__btn:hover { border-color: var(--ink); color: var(--ink); }
.bv-share__btn[hidden] { display: none; }
.bv-share__status:empty { display: none; }
.bv-share__status { color: var(--success); font-weight: 500; }

@media (max-width: 760px) {
  .bv-body { padding-top: 32px; padding-bottom: 64px; gap: 32px; }
  .bv-aside { position: static; max-width: none; max-height: none; overflow: visible; flex-basis: 100%; gap: 16px; }
  .bv-aside__cta { display: none; } /* mobile: đã có nút đặt lịch ở header + CTA cuối bài */
  .bv-toc .toc { padding: 12px 16px 4px; }
  .bv-toc .toc__title { display: none; }
  .bv-main { flex-basis: 100%; }
}

/* ---------- Nội dung ---------- */
.bv-content > :first-child { margin-top: 0; }
.bv-content h2, .bv-content h3 { scroll-margin-top: calc(var(--header-h) + 16px); }
.bv-content figure.wp-block-image, .bv-content .wp-block-image { margin-inline: 0; }
.bv-content .wp-block-image img { height: auto; }
.bv-content .wp-block-quote, .bv-content blockquote { margin-inline: 0; }
.bv-content .wp-block-table { margin-inline: 0; }
.bv-content .wp-block-details { border-bottom: 1px solid var(--line); padding: 16px 0; }
.bv-content .wp-block-details summary { font-weight: 600; cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.bv-content .wp-block-group.has-background { border-radius: var(--radius-card); padding: 24px 28px; }

/* ---------- Khi nào nên đi khám + disclaimer ---------- */
.bv-checkup { background: var(--tint); border-radius: var(--radius-card); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.bv-checkup__title { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-weight: 500; font-size: 24px; line-height: 1.3; }
.bv-checkup__title .ic { color: var(--bronze); }
.bv-checkup__note { font-size: 14px; color: var(--muted); border-top: 1px solid var(--champagne); padding-top: 12px; }
@media (max-width: 760px) { .bv-checkup { padding: 24px 20px; } }

.bv-tags { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.bv-tags a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 14px; border-radius: var(--radius-pill); background: var(--sand-2); color: var(--ink); }
.bv-tags a:hover { background: var(--tint); }

/* ---------- Khối tác giả ---------- */
.bv-author { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; border-radius: var(--radius-media); }
.bv-author img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; flex: none; }
.bv-author__text { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.bv-author__name { font-family: var(--serif); font-size: 22px; line-height: 1.3; }
.bv-author .link-arrow { align-self: flex-start; }
.bv-pillar { margin: 40px 0; }
