/* Sách 3D (01/11/2026) - inc/book3d.php. Kích thước suy từ --bk-w (px, không đơn vị) và --bk-t (độ dày gáy / khổ rộng). */
.bk{--bk-w:250;--bk-ry:24deg;--W:calc(var(--bk-w)*1px);--H:calc(var(--bk-w)*1.4142px);--T:calc(var(--bk-w)*var(--bk-t,.07)*1px);--in:3px;--E:calc(var(--T) - 6px);margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;overflow-x:clip;font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif}
.bk.is-soft{--in:1px;--E:calc(var(--T) - 2px)}
.bk-stage{position:relative;width:min(100%,calc(var(--W)*1.95));height:calc(var(--H) + 40px);perspective:1800px;perspective-origin:50% 35%}
.bk-book{position:absolute;left:50%;top:8px;width:var(--W);height:var(--H);margin-left:calc(var(--W)/-2);transform-style:preserve-3d;transform:rotateX(-4deg) rotateY(var(--bk-ry));transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.bk.is-open .bk-book{transform:rotateX(-2deg) rotateY(4deg) translateX(calc(var(--W)*.33)) scale(.74)}
.bk-face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bk-back{inset:0;transform:rotateY(180deg) translateZ(calc(var(--T)/2));background:color-mix(in srgb,var(--bk-ground) 80%,#000);border-radius:5px 1px 1px 5px}
.bk-edge{background:repeating-linear-gradient(90deg,#f6efe0 0 1px,#e2d8c2 1px 2px);box-shadow:inset 0 0 14px rgba(80,60,20,.22)}
.bk-edge-r{top:var(--in);height:calc(var(--H) - var(--in)*2);width:var(--E);left:calc((var(--W) - var(--E))/2);transform:rotateY(90deg) translateZ(calc(var(--W)/2 - var(--in)))}
.bk-edge-t,.bk-edge-b{left:2px;width:calc(var(--W) - var(--in) - 2px);height:var(--E);top:calc((var(--H) - var(--E))/2);background:repeating-linear-gradient(0deg,#f8f2e5 0 1px,#e6dcc6 1px 2px)}
.bk-edge-t{transform:rotateX(90deg) translateZ(calc(var(--H)/2 - var(--in)))}
.bk-edge-b{transform:rotateX(-90deg) translateZ(calc(var(--H)/2 - var(--in)))}
.bk-spine{top:0;width:var(--T);height:var(--H);left:calc((var(--W) - var(--T))/2);transform:rotateY(-90deg) translateZ(calc(var(--W)/2));background:linear-gradient(90deg,color-mix(in srgb,var(--bk-ground) 70%,#000) 0%,color-mix(in srgb,var(--bk-ground) 88%,#fff) 48%,color-mix(in srgb,var(--bk-ground) 80%,#000) 100%);display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-sizing:border-box;padding:calc(var(--W)*.035) 0;color:#fff;border-top:2px solid var(--bk-accent);border-bottom:2px solid var(--bk-accent);overflow:hidden}
.bk-spine img{width:min(72%,calc(var(--W)*.09));height:auto}
.bk-spine-t{writing-mode:vertical-rl;white-space:nowrap;font-weight:800;font-size:clamp(6px,calc(var(--T)*.46),13px);letter-spacing:.02em;overflow:hidden;max-height:70%}
.bk-spine-d{writing-mode:vertical-rl;white-space:nowrap;font-weight:600;font-size:clamp(5px,calc(var(--T)*.3),9px);color:var(--bk-accent);letter-spacing:.06em}
.bk-hl{color:var(--bk-accent)}
.bk-page1{left:2px;top:var(--in);width:calc(var(--W) - var(--in) - 2px);height:calc(var(--H) - var(--in)*2);transform:translateZ(calc(var(--T)/2 - 1px));background:#fbf8f1;box-shadow:inset 8px 0 14px rgba(0,0,0,.12);color:#1b2b40;overflow:hidden}
.bk-page1-in{height:100%;box-sizing:border-box;padding:9% 8% 7% 10%;display:flex;flex-direction:column;gap:calc(var(--W)*.02);font-size:calc(var(--bk-w)*.041px)}
.bk-page1-k{margin:0;font-size:.82em;font-weight:600;letter-spacing:.18em;color:color-mix(in srgb,var(--bk-accent) 70%,#000)}
.bk-page1-h{margin:0 0 .3em;font-size:1.9em;font-weight:800;color:var(--bk-ground);border-bottom:2px solid var(--bk-accent);padding-bottom:.25em}
.bk-toc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow:hidden}
.bk-toc a{display:flex;gap:.6em;color:#1b2b40;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;border-bottom:1px dotted #d8ccb0}
.bk-toc a:hover,.bk-toc a:focus-visible{color:var(--bk-ground);text-decoration:underline}
.bk-toc span{flex:0 0 1.6em;font-weight:800;color:color-mix(in srgb,var(--bk-accent) 70%,#000)}
.bk-page1-p{margin:0;line-height:1.6;flex:1}
.bk-page1-f{margin:0;font-size:.8em;font-weight:600;color:#6a7686;text-align:right}
.bk-cover{position:absolute;inset:0;transform-origin:left center;transform:translateZ(calc(var(--T)/2));transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.bk.is-open .bk-cover{transform:translateZ(calc(var(--T)/2)) rotateY(-162deg)}
.bk-cover-front,.bk-cover-inside{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border-radius:1px 5px 5px 1px}
.bk.is-soft .bk-cover-front,.bk.is-soft .bk-cover-inside{border-radius:1px 2px 2px 1px}
.bk-cover-inside{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 6px,rgba(255,255,255,0) 6px 12px),color-mix(in srgb,var(--bk-ground) 86%,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--bk-soft);font-size:calc(var(--bk-w)*.04px);font-weight:600;letter-spacing:.08em}
.bk-cover-inside img{width:26%;height:auto;opacity:.9}
.bk-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.36) 0,rgba(255,255,255,.13) 2.4%,rgba(0,0,0,0) 4.6%),linear-gradient(118deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.1) 42%,rgba(255,255,255,0) 56%);box-shadow:inset -14px 0 30px rgba(0,0,0,.2),inset 0 -16px 30px rgba(0,0,0,.14)}
.bk.is-soft .bk-light{background:linear-gradient(90deg,rgba(0,0,0,.18) 0,rgba(0,0,0,0) 2.4%),linear-gradient(118deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.08) 42%,rgba(255,255,255,0) 56%)}
.bk-price{position:absolute;right:6%;top:12%;width:calc(var(--W)*.22);height:calc(var(--W)*.22);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ecd292 0%,var(--bk-accent) 62%,color-mix(in srgb,var(--bk-accent) 75%,#000) 100%);box-shadow:0 4px 10px rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);color:#0f2a4a;font-weight:800;font-size:calc(var(--bk-w)*.036px);line-height:1.15;text-align:center}
.bk-price small{font-size:.62em;font-weight:600;letter-spacing:.12em}
.bk-ribbon{position:absolute;left:calc(var(--W)*.64);top:calc(var(--H) - 8px);width:calc(var(--W)*.035);height:calc(var(--W)*.1);transform:translateZ(calc(var(--T)/2 - 3px));background:linear-gradient(90deg,color-mix(in srgb,var(--bk-accent) 75%,#000),var(--bk-accent) 50%,color-mix(in srgb,var(--bk-accent) 75%,#000));clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}
.bk-shadow{position:absolute;left:50%;top:calc(var(--H) + 2px);width:calc(var(--W)*1.2);height:40px;margin-left:calc(var(--W)*-.48);border-radius:50%;background:radial-gradient(ellipse at 45% 50%,rgba(15,42,74,.42) 0%,rgba(15,42,74,.16) 45%,rgba(15,42,74,0) 72%);filter:blur(8px);transition:margin-left .9s cubic-bezier(.2,.7,.2,1),width .9s}
.bk.is-open .bk-shadow{width:calc(var(--W)*1.75);margin-left:calc(var(--W)*-.85)}
.bk-cap-ui{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.bk-toggle{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--bk-accent);background:#fff;color:#0f2a4a;font:600 14px/1 "Be Vietnam Pro",Arial,sans-serif;cursor:pointer}
.bk-toggle:hover{background:#fbf5e6}
.bk-toggle:focus-visible{outline:3px solid var(--bk-accent);outline-offset:2px}
.bk-meta{font-size:13px;color:#5b6676}

/* Bìa (thiết kế gốc 794 x 1123, thu nhỏ theo --bk-w) */
.bk-art{position:absolute;left:0;top:0;width:794px;height:1123px;transform:scale(calc(var(--bk-w)/794));transform-origin:0 0;background:var(--bk-ground);color:#fff;overflow:hidden}
.bk-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.bk-grid i{border-right:1px solid var(--bk-accent);opacity:.07}
.bk-grid i:last-child{border:0}
.bk-head{position:absolute;top:52px;left:64px;right:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.bk-brand{display:flex;align-items:center;gap:14px}
.bk-brand>span:last-child{display:flex;flex-direction:column;gap:2px}
.bk-brand b{font-size:17px;font-weight:800;letter-spacing:.06em}
.bk-brand small{font-size:11px;color:var(--bk-muted);letter-spacing:.04em}
.bk-logo{width:52px;height:52px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center}
.bk-logo img{width:42px;height:42px}
.bk-series{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--bk-accent)}
.bk-series i{width:40px;height:1px;background:var(--bk-accent)}
.bk-motif-wrap{position:absolute;top:168px;left:117px;width:560px;height:372px;color:var(--bk-accent)}
.bk-motif{width:560px;height:372px;display:block}
.bk-year{position:absolute;left:0;right:0;top:62px;text-align:center;font-size:40px;font-weight:800;letter-spacing:.08em;color:var(--bk-accent)}
.bk-year-board{top:46px}
.bk-titleblock{position:absolute;left:64px;right:64px;bottom:262px;display:flex;flex-direction:column;gap:18px}
.bk-eyebrow{font-size:13px;font-weight:600;letter-spacing:.2em;color:var(--bk-accent)}
.bk-title{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-weight:800;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
.bk-sub{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:620px;font-family:Tinos,"Times New Roman",serif;font-style:italic;font-size:20px;line-height:1.45;color:var(--bk-muted)}
.bk-foot{position:absolute;left:0;right:0;bottom:0;height:232px;box-sizing:border-box;padding:30px 64px 34px;background:rgba(255,255,255,.04);border-top:1px solid color-mix(in srgb,var(--bk-accent) 55%,transparent);display:flex;justify-content:space-between;align-items:stretch;gap:32px}
.bk-foot-l{display:flex;flex-direction:column;gap:10px;min-width:0}
.bk-k{font-size:10.5px;font-weight:600;letter-spacing:.2em;color:var(--bk-muted)}
.bk-bars{display:flex;align-items:flex-end;gap:6px;height:58px}
.bk-bars i{width:12px;background:var(--bk-accent)}
.bk-dots{display:flex;flex-wrap:wrap;gap:4px;max-width:300px}
.bk-dots i{width:6px;height:6px;border-radius:3px}
.bk-dots .g0{background:var(--bk-accent)}.bk-dots .g1{background:var(--bk-soft)}.bk-dots .g2{background:rgba(255,255,255,.75)}
.bk-cap{font-size:12px;color:var(--bk-muted)}
.bk-domain{font-size:34px;font-weight:800;letter-spacing:.01em}
.bk-basis{margin-top:auto;font-size:11.5px;color:var(--bk-muted);opacity:.85}
.bk-foot-r{display:flex;align-items:center;gap:16px}
.bk-scan{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.bk-scan b{font-size:14px;font-weight:600}
.bk-scan em{font-style:normal;font-size:12px;color:var(--bk-accent)}
.bk-qr{width:148px;height:148px;box-sizing:border-box;padding:12px;background:#fff;border-radius:10px;display:block}
.bk-qr svg{width:124px;height:124px;display:block}

@media (max-width:640px){.bk{--bk-w:196}}
@media (prefers-reduced-motion:reduce){.bk-book,.bk-cover,.bk-shadow{transition:none}}

/* Bố cục trang chi tiết tài liệu có sách 3D */
.doc-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
@media (min-width:860px){.doc-hero:not(.no-book){grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}
.doc-hero-book{min-width:0}
.bk-stage{cursor:pointer}

/* Trang dùng font Times cho toàn bộ (cvc-doc.css, !important); bìa sách giữ font thương hiệu như bản PDF. */
#main .bk,#main .bk *:not(svg):not(svg *){font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif!important}
#main .bk .bk-sub{font-family:Tinos,"Times New Roman",serif!important}
.bk-art-img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}

/* 02/11/2026: kiểu hiển thị theo Thiết kế sách (Phẳng / Góc chéo; mặc định Nghiêng) */
.bk.is-d-flat{--bk-ry:6deg}
.bk.is-d-corner{--bk-ry:46deg}
