/* Static question pages (/bibliya/voprosy/). Builds on ../temy/temy.css (.tp-*) and ../fbe.css; prefix .qp-*. No JavaScript is needed. */
.qp-label { margin: 0 0 8px; font: 600 13px/1.2 Helvetica, Arial, sans-serif; letter-spacing: .02em; text-transform: uppercase; color: #1a4a8a; }
.qp-label-principles { color: #6a4a00; }
.qp-points { margin: 12px 0 8px 1.2em; padding: 0; font-size: 17px; line-height: 1.5; max-width: 38em; }
.qp-points li { margin: 0 0 8px; padding: 0; }
.qp-note { margin: 0 0 6px; font-size: 14px; color: #5a5a5a; }
.qp-sensitive { margin: 18px 0 0; padding: 12px 16px; font-size: 16px; line-height: 1.45; background: #fff8e6; border: 1px solid #e2c36b; border-radius: 10px; }
.qp-sensitive h2 { margin: 0 0 4px; font-size: 17px; }
.qp-sensitive p { margin: 0; }
.qp-safety { margin: 14px 0 20px; padding: 16px 18px; background: #fff3f0; border: 2px solid #c0392b; border-radius: 12px; color: #2b1210; }
.qp-safety h2 { margin: 0 0 8px; font-size: 22px; line-height: 1.25; color: #8a1f12; }
.qp-safety p { margin: 0 0 8px; font-size: 17px; line-height: 1.5; }
.qp-safety ol, .qp-safety ul { margin: 0 0 10px 1.3em; padding: 0; font-size: 17px; line-height: 1.5; }
.qp-safety li { margin: 0 0 8px; padding: 0; }
.qp-search { margin: 22px 0 6px; font-size: 16px; }

/* ---- compact presentation (same behaviour as /bibliya/poisk/): long passages are clipped visually by /bibliya/poisk/js/passage-collapse.js; the full text stays in the HTML ---- */
.tp-text.is-collapsed { max-height: calc(var(--bs-lh, 1.55em) * 4); overflow: hidden; -webkit-mask-image: linear-gradient(#000 62%, transparent); mask-image: linear-gradient(#000 62%, transparent); }
.bs-expand { display: inline-block; margin: 0 14px 0 0; padding: 4px 0; font: inherit; font-size: 15px; color: #1a56a8; background: none; border: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.bs-expand[hidden] { display: none; }
.bs-expand:hover { color: #0e58b3; }
.bs-expand:focus-visible { outline: 3px solid #1a73e8; outline-offset: 2px; border-radius: 4px; }
.qp .tp-verse { padding: 12px 0; }
.qp .tp-verse h3 { margin: 0 0 4px; font-size: 18px; }
.qp .tp-text { margin: 0 0 6px; }
.qp .tp-verse p { margin-top: 0; }
.qp .tp-link { padding: 4px 11px; font-size: 14px; border-radius: 7px; }
.qp section > h2 { margin: 26px 0 8px; }
.qp .tp-count { margin: 0 0 4px; }
.qp ul.tp-links, .qp ul.tp-links > li { list-style: none !important; margin: 0; padding: 0; background: none; }
.qp ul.tp-links { display: flex; flex-wrap: wrap; gap: 8px; }
.qp ul.tp-links > li::marker { content: ''; }
.qp ul.tp-links > li::before { content: none !important; }
.qp .tp-chip { padding: 6px 12px; font-size: 14px; }
@media print { .tp-text.is-collapsed { max-height: none; overflow: visible; -webkit-mask-image: none; mask-image: none; } .bs-expand { display: none; } }

/* ---- catalogue /bibliya/voprosy/ ("hub"): a self-contained card grid. It does NOT depend on ../temy/temy.css, so it renders the same even when that file is missing or old.
   Only .qh rules; the pages of individual questions are not affected. ---- */
.qh { --qh-ink: #222; --qh-muted: #55606e; --qh-accent: #1473e6; --qh-soft: #f6f8fb; --qh-line: #d7e0ec; }
.qh article { margin: 0 4%; left: 0; max-width: 980px; }
.qh h1 { margin: 12px 0 10px; font-size: 26px; line-height: 1.2; overflow-wrap: anywhere; }
@media (min-width: 640px) { .qh h1 { font-size: 32px; } }
.qh .tp-crumbs { margin: 14px 0; font-size: 15px; color: var(--qh-muted); }
.qh .tp-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 8px; list-style: none; margin: 0; padding: 0; }
.qh .tp-crumbs li { display: inline; padding: 0; }
.qh .tp-crumbs li + li::before { content: "›"; margin-right: 8px; color: #8a8a8a; }
.qh .tp-lead { margin: 0 0 6px; font-size: 18px; line-height: 1.5; color: var(--qh-ink); max-width: 38em; }
.qh a:focus-visible { outline: 3px solid #ff9f1a; outline-offset: 2px; }
.qh .qh-grid, .qh .qh-grid > li { list-style: none !important; margin: 0; padding: 0; background: none; }
.qh .qh-grid > li::marker { content: ''; }
.qh .qh-grid > li::before { content: none !important; }
.qh .qh-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 20px; }
@media (min-width: 700px) { .qh .qh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
.qh .qh-card { position: relative; display: flex; flex-direction: column; height: 100%; box-sizing: border-box; padding: 16px 18px 18px; text-decoration: none; color: var(--qh-ink); background: #fff; border: 1px solid var(--qh-line); border-radius: 14px; box-shadow: 0 1px 2px rgba(20, 40, 80, .06); transition: border-color .15s, box-shadow .15s, transform .15s; }
.qh .qh-card:hover { border-color: #7f9bc0; box-shadow: 0 4px 14px rgba(20, 60, 120, .12); transform: translateY(-1px); }
.qh .qh-card strong { display: block; margin: 0 0 6px; font-size: 19px; line-height: 1.3; color: var(--qh-accent); overflow-wrap: anywhere; }
.qh .qh-card span { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; line-height: 1.45; color: var(--qh-muted); }
.qh .qh-card::after { content: "Читать ответ →"; margin-top: auto; padding-top: 12px; font-size: 14px; font-weight: 600; color: var(--qh-accent); }
@media (prefers-reduced-motion: reduce) { .qh .qh-card { transition: none; } .qh .qh-card:hover { transform: none; } }
.qh .qp-search { margin: 26px 0 6px; font-size: 16px; }
.qh .tp-back { margin: 8px 0; font-size: 16px; }
