/* Audio Library V2: mode-specific refinement, shared QTASS tokens unchanged. */
.qt-mode-library .qt-mode-library__hero { min-height:0; padding:112px 0 48px; }
.qt-mode-library .qt-mode-library__hero .qt-editorial-hero__visual { max-width:100%; }
.qt-mode-library #mode-library { padding-top:56px; }
.qt-mode-library #mode-library > .site-shell > p:not(.eyebrow) { max-width:800px; margin-bottom:24px; }
.qt-mode-library .qt-mode-card__excerpt { -webkit-line-clamp:2; }
.qt-mode-library .qt-mode-card__body .qt-demo-label { font-size:var(--fs-meta); }
.qt-mode-library .qt-mode-card__body .button { font-size:var(--fs-button); white-space:normal; text-align:center; }
.qt-mode-library .button--gold::after { content:none; }
.qt-mode-single .qt-mode-single-hero { padding-top:112px; }
.qt-mode-owned-heading .qt-demo-label { display:inline-block; margin:0 0 16px; }
.qt-mode-owned-heading h1 { margin-bottom:18px; }
.qt-mode-single--owned .qt-mode-practice { margin-top:16px; }
.qt-mode-single--owned .qt-mode-practice audio { min-height:44px; }
.qt-mode-single--owned .qt-mode-instructions:first-child { margin-top:0; }
.qt-mode-owned-description { margin:32px 0; border:1px solid var(--line); border-radius:14px; background:var(--qtass-warm-white); }
.qt-mode-owned-description summary { padding:20px; cursor:pointer; min-height:44px; font-weight:600; }
.qt-mode-owned-description article { padding:0 24px 24px; }
.qt-mode-compact-list { display:grid; gap:16px; }
.qt-mode-library-item { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:24px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--qtass-warm-white); }
.qt-mode-library-item__cover { width:88px; height:88px; margin:0; border-radius:12px; overflow:hidden; }
.qt-mode-library-item__cover img { width:100%; height:100%; object-fit:cover; display:block; }
.qt-mode-library-item__info { min-width:0; }
.qt-mode-library-item__info h3 { font-size:var(--fs-h4); margin:0 0 8px; overflow-wrap:anywhere; }
.qt-mode-library-item__info p { margin:0 0 8px; }
.qt-mode-library-item__info .eyebrow { font-size:var(--fs-meta); }
.qt-mode-library-item__meta,.qt-mode-library-item .qt-mode-practice-status { font-size:var(--fs-meta); line-height:1.5; }
.qt-mode-library-item .button { min-height:44px; font-size:var(--fs-button); white-space:normal; text-align:center; }
.qt-mode-library-item a:focus-visible,.qt-mode-single summary:focus-visible,.qt-mode-single button:focus-visible,.qt-mode-single audio:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(max-width:1100px) and (min-width:600px) { .qt-mode-library .qt-mode-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) {
 .qt-mode-single--owned .qt-mode-listening-layout { display:block; }
 .qt-mode-single--owned .qt-mode-listening-layout .qt-mode-cover { float:left; width:88px; height:88px; max-width:88px; margin:0 16px 16px 0; border-radius:12px; }
 .qt-mode-single--owned .qt-mode-cover img { border-radius:12px; }
 .qt-mode-single--owned .qt-mode-owned-heading { min-height:88px; }
 .qt-mode-single--owned .qt-mode-owned-heading h1 { font-size:var(--fs-h3); }
 .qt-mode-single--owned .qt-mode-practice { clear:both; }
 .qt-mode-library-item { grid-template-columns:80px minmax(0,1fr); gap:16px; }
 .qt-mode-library-item__cover { width:80px; height:80px; }
 .qt-mode-library-item > .button { grid-column:1 / -1; justify-self:start; }
}
@media(max-width:599px) {
 .qt-mode-library .qt-mode-library__hero { padding-top:112px; padding-bottom:40px; }
 .qt-mode-library .qt-mode-library__hero .qt-editorial-hero__visual { display:none; }
 .qt-mode-library .qt-mode-grid { grid-template-columns:minmax(0,1fr); }
 .qt-mode-library .qt-mode-how,.qt-mode-library .qt-mode-personal,.qt-mode-library .qt-mode-faq { padding-block:48px; }
 .qt-mode-library-item { padding:16px; }
 .qt-mode-single--owned .qt-mode-practice { padding:18px; }
 .qt-mode-single--owned .qt-mode-owned-heading > .qtass-service-meta { clear:both; }
}
@media(prefers-reduced-motion:reduce) { .qt-mode-library *, .qt-mode-single *, .qt-mode-compact-list * { scroll-behavior:auto; animation:none; transition:none; } }
/* Hướng dẫn nhanh: ba bước */
.qt-mode-library .qt-mode-how { background: var(--qtass-cream); padding-block: clamp(48px,6vw,80px); }
.qt-mode-library .qt-mode-how__heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px 56px; align-items: end; margin-bottom: 36px; }
.qt-mode-library .qt-mode-how__heading h2 { margin: 12px 0 0; }
.qt-mode-library .qt-mode-how__heading > p { margin: 0; color: var(--muted); max-width: 520px; justify-self: end; }
.qt-mode-library .qt-mode-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; margin: 0; list-style: none; counter-reset: none; }
.qt-mode-library .qt-mode-steps li { counter-increment: none; position: relative; display: flex; gap: 20px; align-items: flex-start; padding: 28px; border: var(--qt-card-line,1px solid rgba(82,40,60,.14)); border-radius: 16px; background: var(--qtass-warm-white); }
.qt-mode-library .qt-mode-steps li::before { content: none; }
.qt-mode-library .qt-mode-steps li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -25px; width: 26px; border-top: 1px solid var(--qtass-gold-300); }
.qt-mode-library .qt-mode-step-icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid var(--qtass-gold-300); border-radius: 50%; color: var(--qtass-gold-700); background: var(--qtass-cream); }
.qt-mode-library .qt-mode-step-icon svg { width: 26px; height: 26px; }
.qt-mode-library .qt-mode-step-label { margin: 0 0 6px; color: var(--qtass-gold-700); font-size: var(--fs-label); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.qt-mode-library .qt-mode-steps h3 { margin: 0 0 8px; font-size: var(--fs-h4); line-height: 1.3; }
.qt-mode-library .qt-mode-steps li p:last-child { margin: 0; color: var(--muted); font-size: var(--fs-body-sm); line-height: 1.7; }
/* Câu hỏi thường gặp: cùng kiểu với FAQ Quantum Akashic Records và Workshop */
.qt-mode-library .qt-mode-faq details { background: var(--qtass-ivory); border: var(--qt-card-line,1px solid rgba(82,40,60,.14)); border-radius: 12px; margin: 0 0 12px; padding: 0; }
.qt-mode-library .qt-mode-faq summary { cursor: pointer; padding: 20px 24px; display: flex; gap: 18px; justify-content: space-between; align-items: center; list-style: none; font-family: inherit; font-size: var(--fs-body); line-height: 1.6; font-weight: 500; color: var(--qtass-plum-800); min-height: 0; }
.qt-mode-library .qt-mode-faq summary::-webkit-details-marker { display: none; }
.qt-mode-library .qt-mode-faq summary > span { width: 20px; height: 20px; flex: 0 0 20px; position: relative; }
.qt-mode-library .qt-mode-faq summary > span::before { content: "+"; font-size: 24px; position: absolute; inset: 0; line-height: 20px; text-align: center; color: var(--qtass-gold-700); }
.qt-mode-library .qt-mode-faq details[open] summary > span::before { content: "\2212 "; }
.qt-mode-library .qt-mode-faq details[open] { border-color: var(--qtass-gold-300); }
.qt-mode-library .qt-mode-faq details > p { padding: 0 24px 24px; margin: 0; color: var(--muted); }
@media(max-width:1023px) { .qt-mode-library .qt-mode-steps { grid-template-columns: minmax(0,1fr); gap: 14px; } .qt-mode-library .qt-mode-steps li:not(:last-child)::after { content: none; } .qt-mode-library .qt-mode-how__heading { grid-template-columns: minmax(0,1fr); } .qt-mode-library .qt-mode-how__heading > p { justify-self: start; } }
@media(max-width:599px) { .qt-mode-library .qt-mode-steps li { padding: 22px; gap: 16px; } .qt-mode-library .qt-mode-faq summary { padding: 18px; } .qt-mode-library .qt-mode-faq details > p { padding: 0 18px 20px; } }
.qt-mode-library .qt-mode-faq { background: var(--qtass-warm-white); }
.qt-mode-library .qt-mode-faq__layout > header { max-width: 760px; margin: 0 0 42px; }
.qt-mode-library .qt-mode-faq__layout > header h2 { margin: 12px 0 16px; }
.qt-mode-library .qt-mode-faq__layout > header > p:last-child { margin-bottom: 0; }
@media(max-width:767px) { .qt-mode-library .qt-mode-faq__layout > header { margin-bottom: 30px; } }
/* Chi tiết Mode: câu hỏi thường gặp cùng kiểu với FAQ Reading */
.qt-mode-single .qt-mode-faq details { background: var(--qtass-ivory); border: var(--qt-card-line,1px solid rgba(82,40,60,.14)); border-radius: 12px; margin: 0 0 12px; padding: 0; }
.qt-mode-single .qt-mode-faq summary { cursor: pointer; padding: 20px 24px; display: flex; gap: 18px; justify-content: space-between; align-items: center; list-style: none; font-family: inherit; font-size: var(--fs-body); line-height: 1.6; font-weight: 500; color: var(--qtass-plum-800); min-height: 0; }
.qt-mode-single .qt-mode-faq summary::-webkit-details-marker { display: none; }
.qt-mode-single .qt-mode-faq summary > span { width: 20px; height: 20px; flex: 0 0 20px; position: relative; }
.qt-mode-single .qt-mode-faq summary > span::before { content: "+"; font-size: 24px; position: absolute; inset: 0; line-height: 20px; text-align: center; color: var(--qtass-gold-700); }
.qt-mode-single .qt-mode-faq details[open] summary > span::before { content: "\2212 "; }
.qt-mode-single .qt-mode-faq details[open] { border-color: var(--qtass-gold-300); }
.qt-mode-single .qt-mode-faq details > p { padding: 0 24px 24px; margin: 0; color: var(--muted); }
.qt-mode-single .qt-mode-faq > h2 { margin: 0 0 24px; }
@media(max-width:599px) { .qt-mode-single .qt-mode-faq summary { padding: 18px; } .qt-mode-single .qt-mode-faq details > p { padding: 0 18px 20px; } }
.qt-mode-card__image img{object-position:center 22%}
