/* ============================================================
   CHI TIẾT BÀI VIẾT (bài thường) — single.php, nhánh mặc định.
   Bố cục = Figma v2 "Trang Bài Viết - v2 (đề xuất)" 3409:17763 → khung 1920 3409:17764.
   Đo ở khung 1920: khối 3409:17766 rộng 1264 (x 328) + lề 32 → main 852 (x 360),
   cột phải "Thanh bên" 3409:18207 x 1260 rộng 354 (gap 48; tràn 54px qua mép 1264 như thiết kế).
   Chữ theo Style Guide 3655:10163 (font/màu nạp ở qh-post-type.css, file nạp sau).
   ============================================================ */
.qhp{
  --qhp-ink:#1d1827; --qhp-sub:#24133a; --qhp-text:#1b1822; --qhp-muted:#6e6879; --qhp-purple:#422666;
  --qhp-line:#ebe7f0; --qhp-line-btn:#ded0ee; --qhp-line-input:#d9d4e2; --qhp-underline:#c9bddb;
  --qhp-soft:#f7f5fa; --qhp-soft-2:#faf8fc; --qhp-soft-3:#f3f1f6; --qhp-active:#f5f2f9; --qhp-thumb:#f1eef5;
  color:var(--qhp-text);
  background:#fff;
  padding:16px 0 64px;                                     /* crumb 3409:17767 cách header 16 */
}
.qhp *,.qhp *:before,.qhp *:after{box-sizing:border-box}
.qhp-wrap{width:100%;max-width:1264px;margin:0 auto;padding:0 32px}
.qhp a{color:var(--qhp-purple)}
.qhp p{margin:0}

/* ---------- Breadcrumb 3409:17767 · 14/20, gap 6 ---------- */
.qhp-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;font-size:14px;line-height:20px;color:var(--qhp-muted);margin-bottom:24px}
.qhp-crumb a{color:var(--qhp-muted);text-decoration:none}
.qhp-crumb a:hover{color:var(--qhp-purple)}
.qhp-crumb .cur{color:var(--qhp-text)}

/* ---------- Lưới: 852 + 48 + 354 ---------- */
.qhp-grid{display:grid;grid-template-columns:minmax(0,852px) 354px;gap:48px;align-items:start;margin-right:-54px}
.qhp-main{min-width:0}

/* ---------- Đầu bài 3409:17785 ---------- */
.qhp-head{padding-top:2px}
.qhp-cat{display:block;width:fit-content;font-size:13px;line-height:18px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--qhp-purple)!important;text-decoration:none;margin-bottom:9px}
.qhp-title{color:var(--qhp-purple)!important;margin:0 0 10px!important}
.qhp-sapo{max-width:760px;font-size:18px;line-height:28px;color:var(--qhp-text);padding:6px 0 10px}

/* ---------- Meta + chia sẻ 3409:17792 (kẻ trên/dưới, pt 25 pb 15, gap 16) ---------- */
.qhp-meta{padding:25px 0 0;border-top:1px solid var(--qhp-line);font-size:14px;line-height:20px;color:var(--qhp-text)}
.qhp-meta .line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;min-height:21px}
.qhp-meta .line + .line{margin-top:6px}
.qhp-meta strong{color:var(--qhp-purple);font-weight:500;text-decoration:underline;text-decoration-color:var(--qhp-underline);text-underline-offset:3px}
.qhp-meta .rv{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.qhp-meta .rv svg{width:14px;height:14px;color:var(--qhp-purple);flex:0 0 14px}
.qhp-meta .rv a{font-weight:500;text-decoration:underline;text-decoration-color:var(--qhp-underline);text-underline-offset:3px}

.qhp-share{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 0 15px;border-bottom:1px solid var(--qhp-line);margin-bottom:24px}
.qhp-share .lbl{font-size:14px;line-height:20px;color:var(--qhp-text)}
.qhp-share .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;min-height:0;min-width:38px;padding:0 11px;margin:0;border:1px solid var(--qhp-line-btn);border-radius:19px;background:#fff;color:var(--qhp-purple);font-size:14px;font-weight:400;line-height:20px;text-transform:none;letter-spacing:0;text-decoration:none;cursor:pointer;box-shadow:none;transition:border-color .2s,background .2s}
.qhp-share .btn:hover{border-color:var(--qhp-purple);background:var(--qhp-soft)}
.qhp-share .btn svg{width:17px;height:17px;flex:0 0 17px}
.qhp-share .btn.ico{padding:0;width:38px;border-radius:8px}
.qhp-share .qhp-share-zalo{font-size:12px;font-weight:600}
.qhp-share .qhp-share-copy{height:36px;padding:0 10px;border-radius:18px}
.qhp-share .qhp-share-copy svg{width:13px;height:13px;flex-basis:13px}
.qhp-toast{font-size:13px;color:#1a7f45;opacity:0;transition:opacity .2s}
.qhp-toast.show{opacity:1}

/* ---------- Ảnh đại diện 3409:17817 · rộng 852, bo 8, chú thích 14/20 cách 7 ---------- */
.qhp-figure{margin:0 0 24px}
.qhp-figure img{display:block;width:100%;height:auto;border-radius:8px}
.qhp-figure figcaption{margin-top:7px;font-size:14px;color:var(--qhp-text);line-height:20px}

/* ---------- Nội dung chính 3409:17821 · pt24 px24 pb20, gap 10, mục 14/20 ---------- */
.qhp-keys{background:var(--qhp-soft);border-radius:8px;padding:24px 24px 20px;margin:0 0 24px}
.qhp-keys .ttl{font-size:15px;line-height:19px;font-weight:600;color:var(--qhp-ink);margin-bottom:10px}
.qhp .qhp-keys ul{margin:0;padding:0 0 0 40px;list-style:disc;color:var(--qhp-text)}
.qhp .qhp-keys li{margin:0 0 6px;font-size:14px;line-height:24.7px}
.qhp-keys li:last-child{margin-bottom:0}
.qhp-keys a{color:var(--qhp-purple);text-decoration:none}
.qhp-keys a:hover{text-decoration:underline;text-decoration-color:var(--qhp-underline);text-underline-offset:3px}

/* ---------- Nội dung bài 3409:17837 · body 16/26; H2 cách khối trên 48, cách đoạn sau 12 ---------- */
.qhp-body{font-size:16px;line-height:26px;color:var(--qhp-text)}
.qhp-body p{margin:0 0 16px}
.qhp-body h2{color:var(--qhp-purple);margin:48px 0 12px;scroll-margin-top:var(--qhp-top,110px)}
.qhp-body h2 strong,.qhp-body h2 b,.qhp-body h3 strong,.qhp-body h3 b{font-weight:inherit;color:inherit}
.qhp-body h3{color:var(--qhp-sub);margin:32px 0 8px}
.qhp-body strong{color:var(--qhp-ink)}
.qhp-body img{max-width:100%;height:auto;border-radius:8px}
.qhp-body a{color:var(--qhp-purple);text-decoration:underline;text-decoration-color:var(--qhp-underline);text-underline-offset:3px}
.qhp-body ul,.qhp-body ol{margin:0 0 16px;padding-left:22px}
.qhp-body li{margin-bottom:5px}
.qhp-body ul > li::marker{color:var(--ohio-purple-600,#5e3d8a)}
.qhp-body blockquote{margin:24px 0;padding:20px 20px 16px 23px;border-left:3px solid var(--qhp-purple);background:var(--qhp-soft);border-radius:0 8px 8px 0;font-size:16px;line-height:26px}
.qhp-body .wp-caption{max-width:100%}
/* Khối "Đăng ký tư vấn" cũ trong nội dung (.post-dktv, ohio-legacy-customizer.css): nút L của Style Guide */
.qhp .qhp-body .post-dktv a{font-family:var(--ohio-font-body);font-weight:600;font-size:16px;line-height:52px;height:52px;letter-spacing:.04em;border-radius:12px;background:var(--ohio-grad-cta);animation:none}
.qhp-body .wp-caption-text,.qhp-body figcaption{font-size:14px;line-height:20px;color:var(--qhp-text);margin-top:7px}

.qhp-h2{color:var(--qhp-purple)!important;margin:0 0 8px!important;scroll-margin-top:var(--qhp-top,110px)}

/* ---------- Câu hỏi thường gặp 3409:18131 ---------- */
.qhp-faq{margin-top:48px;scroll-margin-top:var(--qhp-top,110px)}
.qhp-faq .list{border-top:1px solid var(--qhp-line);padding-top:7px}
.qhp-faq .item{border-bottom:1px solid var(--qhp-line)}
.qhp-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:13px 0;cursor:pointer;list-style:none;color:var(--qhp-sub)}
.qhp-faq summary::-webkit-details-marker{display:none}
.qhp-faq summary::marker{content:""}
.qhp-faq summary:hover{color:var(--qhp-purple)}
.qhp-faq summary i{position:relative;flex:0 0 18px;width:18px;height:18px}
.qhp-faq summary i:before,.qhp-faq summary i:after{content:"";position:absolute;left:2px;right:2px;top:50%;height:1.5px;margin-top:-.75px;background:var(--qhp-purple);transition:transform .2s}
.qhp-faq summary i:after{transform:rotate(90deg)}
.qhp-faq details[open] summary i:after{transform:rotate(0)}
.qhp-faq .ans{padding:0 32px 16px 0;font-size:16px;line-height:26px;color:var(--qhp-text)}
.qhp-faq .ans p{margin:0 0 10px}
.qhp-faq .ans p:last-child{margin-bottom:0}

/* ---------- Kiểm duyệt + Tác giả 3409:18150 (pt 21, gap 16/32) + Nguồn tham khảo ---------- */
.qhp-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;margin-top:48px;padding-top:21px;border-top:1px solid var(--qhp-line)}
.qhp-people .person{display:flex;align-items:flex-start;gap:12px}
.qhp-people .ico{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--qhp-soft-3);color:var(--qhp-purple);display:flex;align-items:center;justify-content:center}
.qhp-people .person:first-child .ico{background:#ebe5f3}
.qhp-people.is-single .person:first-child .ico{background:var(--qhp-soft-3)}
.qhp-people .ico svg{width:22px;height:22px}
.qhp-people .role{font-size:14px;line-height:20px;color:var(--qhp-text)}
.qhp-people .name{margin-top:-1px;font-size:14px;line-height:22.4px;font-weight:600;color:var(--qhp-ink)}
.qhp-people .name a{color:var(--qhp-ink);text-decoration:none}
.qhp-people .name a:hover{color:var(--qhp-purple);text-decoration:underline;text-decoration-color:var(--qhp-underline)}
.qhp-people .desc{font-size:14px;line-height:20px;color:var(--qhp-text)}

.qhp-refs{margin-top:16px}
.qhp-refs .ttl{font-size:14px;line-height:22.4px;font-weight:600;color:var(--qhp-ink);margin-bottom:3px}
.qhp-refs ol{margin:0;padding-left:20px}
.qhp-refs li{margin:0;font-size:14px;line-height:20px;color:var(--qhp-text);word-break:break-word}
.qhp-refs a{color:var(--qhp-text);text-decoration:underline;text-decoration-color:var(--qhp-underline);text-underline-offset:3px}
.qhp-refs a:hover{color:var(--qhp-purple)}

/* ---------- Tags 3409:18183 · nhãn 14/20, chip px12 py4 ---------- */
.qhp-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px}
.qhp-tags .lbl{font-size:14px;line-height:20px;color:var(--qhp-text);padding-right:4px}
.qhp-tags a{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--qhp-soft-3);font-size:14px;line-height:20px;color:var(--qhp-text);text-decoration:none;transition:background .2s,color .2s}
.qhp-tags a:hover{background:var(--qhp-purple);color:#fff}

/* ---------- Nút (Style Guide M 44/15) ---------- */
.qhp .qhp-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:0;margin:0;padding:0 20px;border:1px solid var(--qhp-purple);border-radius:12px;background:#fff;color:var(--qhp-purple);font-size:15px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background .2s,color .2s}
.qhp .qhp-btn:hover{background:var(--qhp-purple);color:#fff}

/* ---------- Khối liên hệ section#dat-lich 3409:18190 · pt33 px25 pb25, gap 24 ---------- */
.qhp-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:24px;padding:33px 25px 25px;background:var(--qhp-soft-2);border:1px solid #e3dcee;border-radius:8px}
.qhp-cta .txt{flex:1 1 380px;min-width:0}
.qhp-cta .ttl{color:var(--qhp-sub);margin-bottom:6px}
.qhp-cta .desc{font-size:14px;line-height:20px;color:var(--qhp-text)}
.qhp-cta .acts{display:flex;flex-wrap:wrap;gap:10px}
.qhp-cta .qh_tuvan::before,.qhp-cta .qh_tuvan::after{content:none;animation:none}

/* ---------- Bài viết liên quan 3409:18199 · cách 30, tiêu đề 24/26, lưới 3 cột gap 20 ---------- */
.qhp-rel{margin-top:30px}
.qhp-rel .qhp-rel-t{color:var(--qhp-sub);margin-bottom:16px}
.qhp-rel .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.qhp-rel .card{display:flex;flex-direction:column;text-decoration:none}
.qhp-rel .thumb{display:block;aspect-ratio:270/151.88;border-radius:8px;overflow:hidden;background:var(--qhp-thumb);margin-bottom:8px}
.qhp-rel .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.qhp-rel .card:hover img{transform:scale(1.04)}
.qhp-rel .cat,.qhp-side-rel .cat{font-size:13px;line-height:18px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--qhp-muted)}
.qhp-rel .cat{margin-bottom:6px}
.qhp-rel .t{font-size:15px;font-weight:500;line-height:21.75px;color:var(--qhp-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.qhp-rel .card:hover .t{color:var(--qhp-purple)}

/* ---------- Cột phải "Thanh bên" 3409:18207 · 354 (pr 2), gap 20 ---------- */
.qhp-aside{min-width:0;padding-right:2px}
.qhp-aside .ttl{font-size:13px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--qhp-muted);margin-bottom:8px}

.qhp-toc{border:1px solid var(--qhp-line);border-radius:8px;padding:17px;margin-bottom:20px;background:#fff}
.qhp-toc summary{display:block;list-style:none;pointer-events:none}.qhp-toc summary::-webkit-details-marker{display:none}   /* luôn mở ở PC (đóng/mở ≤767) */
.qhp-rel-h,.qhp-rel .more{display:none}                                                                             /* chỉ ≤767: qh-post-single-mobile.css */
.qhp-toc ul{list-style:none;margin:0;padding:0}
.qhp-toc li{margin:0}
.qhp-toc a{display:block;padding:5px 10px 6px 12px;border-left:2px solid var(--qhp-line-btn);border-radius:0 6px 6px 0;font-size:14px;line-height:20px;color:var(--qhp-text);text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.qhp-toc a:hover,.qhp-toc a:focus-visible,.qhp-toc li.active a{background:var(--qhp-active);border-left-color:var(--qhp-purple);color:var(--qhp-purple);font-weight:600;outline:none}

/* Form section#tu-van 3409:18218 · p17; ô 40 bo 8, ô nhu cầu 38 bo 19; nút cam 40 bo 12 */
.qhp-form{border:1px solid var(--qhp-line);border-radius:8px;padding:17px;margin-bottom:20px;background:#fff}
.qhp-form > .ttl{font-size:15px;line-height:19px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--qhp-ink);margin-bottom:1px}
.qhp-form .sub{font-size:14px;line-height:20px;color:var(--qhp-text);margin-bottom:10px}
.qhp-form form{margin:0}
.qhp .qhp-form .qh-tvf-field{display:block;margin:0 0 10px;font-size:13px;line-height:16px;font-weight:500;color:var(--qhp-text)}
.qhp .qhp-form .qh-tvf-field > span{display:block;margin-bottom:4px}
.qhp .qhp-form .qh-tvf-field input{display:block;width:100%!important;height:40px!important;min-height:0!important;margin:0!important;padding:0 12px!important;line-height:1.4!important;border:1px solid var(--qhp-line-input);border-radius:8px;background:#fff;color:var(--qhp-text);font-size:14px;font-weight:500;box-shadow:none}
.qhp .qhp-form .qh-tvf-field input[name="need"]{height:38px!important;border-radius:19px}
.qhp .qhp-form .qh-tvf-field input:focus{border-color:var(--qhp-purple);background:#fff;outline:none}
.qhp .qhp-form .qh-tvf-field.has-error input{border-color:#e05252;background:#fdf2f2}
.qhp .qhp-form .qh-tvf-submit{width:100%;height:40px;margin-top:0;padding:0 18px;border-radius:12px;box-shadow:none;transform:none}
.qhp .qhp-form .qh-tvf-msg{margin:10px 0 0;font-size:13px}
.qhp-form .note{display:flex;gap:6px;max-width:250px;margin-top:10px;font-size:12px;line-height:18px;color:var(--qhp-muted)}
.qhp-form .note svg{flex:0 0 12px;width:12px;height:12px;margin-top:3px}

.qhp-side-rel{padding:0 2px}
.qhp-side-rel .ttl{margin-bottom:10px}
.qhp-side-rel .item{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;text-decoration:none}
.qhp-side-rel .thumb{flex:0 0 88px;width:88px;height:55px;border-radius:6px;overflow:hidden;background:var(--qhp-thumb)}
.qhp-side-rel .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.qhp-side-rel .txt{min-width:0;display:flex;flex-direction:column;gap:1px}
.qhp-side-rel .t{font-size:14px;font-weight:500;line-height:19.6px;color:var(--qhp-text);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.qhp-side-rel .item:hover .t{color:var(--qhp-purple)}

/* ---------- Responsive ---------- */
@media (max-width:1330px){.qhp-grid{grid-template-columns:minmax(0,1fr) 354px;margin-right:0}}
@media (max-width:1100px){.qhp-grid{gap:32px}.qhp-wrap{padding:0 20px}}
@media (max-width:1024px){
  .qhp-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .qhp-toc,.qhp-side-rel{display:none}
  .qhp-form{max-width:520px}
}
/* ≤767px: css/qh-post-single-mobile.css (Figma 3638:17564) */
/* headings in post content: inline bold/em keep the heading face (Style Guide H2/H3 = Montserrat) */
.qhp-body :is(h1,h2,h3) :is(strong,b,em,span){font-family:inherit!important;font-weight:inherit!important}
.qhp .qhp-body h3:not([class]){font:600 28px/32px var(--ohio-font-head)!important;color:var(--ohio-text-heading)}   /* content H3 (Style Guide) */
