/* Phase 32 — Ritual Library 2.0. Presentation only; respects managed theme variables. */
body.dnmp-subdomain-site .dnmp-ritual-library--phase32,
body.dnmp-subdomain-site .dnmp-ritual-detail--phase32{--ritual-accent:var(--dnmp-portal-accent,var(--dnmp-accent,#b71c1c));--ritual-card:var(--dnmp-card,var(--dnmp-managed-surface,#181624));--ritual-text:var(--dnmp-text,var(--dnmp-managed-text,#f7f0e5));--ritual-muted:var(--dnmp-muted,var(--dnmp-managed-muted,#aaa2b8));--ritual-border:var(--dnmp-border,var(--dnmp-managed-border,#3a3448))}
body.dnmp-subdomain-site .dnmp-ritual-library__sources{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 20px;padding:12px 14px;border:1px solid var(--ritual-border);border-radius:14px;background:var(--ritual-card);color:var(--ritual-text)}
body.dnmp-subdomain-site .dnmp-ritual-library__sources span{display:inline-flex;align-items:baseline;gap:6px;padding:7px 10px;border:1px solid var(--ritual-border);border-radius:999px}
body.dnmp-subdomain-site .dnmp-ritual-library__sources small{color:var(--ritual-muted)}
body.dnmp-subdomain-site .dnmp-ritual-context-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
body.dnmp-subdomain-site .dnmp-ritual-context-chips span{font-size:.78rem;padding:4px 8px;border:1px solid var(--ritual-border);border-radius:999px;color:var(--ritual-muted)}
body.dnmp-subdomain-site .dnmp-ritual-source-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;margin:12px 0;padding-top:10px;border-top:1px dashed var(--ritual-border)}
body.dnmp-subdomain-site .dnmp-ritual-source-line>span{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--ritual-accent)}
body.dnmp-subdomain-site .dnmp-ritual-source-line small{min-width:0;color:var(--ritual-muted);overflow-wrap:anywhere}
body.dnmp-subdomain-site .dnmp-ritual-authority{margin-top:22px;padding:14px 16px;border:1px solid var(--ritual-border);border-left:4px solid var(--ritual-accent);border-radius:12px;background:var(--ritual-card);color:var(--ritual-text)}
body.dnmp-subdomain-site .dnmp-ritual-authority p{margin:.35rem 0 0;color:var(--ritual-muted)}
body.dnmp-subdomain-site .dnmp-ritual-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;padding:14px;border:1px solid var(--ritual-border);border-radius:16px;background:var(--ritual-card);color:var(--ritual-text)}
body.dnmp-subdomain-site .dnmp-ritual-trust>div{min-width:0;padding:10px;border:1px solid var(--ritual-border);border-radius:12px}
body.dnmp-subdomain-site .dnmp-ritual-trust small{display:block;color:var(--ritual-muted);margin-bottom:4px}
body.dnmp-subdomain-site .dnmp-ritual-trust strong{display:block;overflow-wrap:anywhere}
body.dnmp-subdomain-site .dnmp-ritual-trust>p{grid-column:1/-1;margin:0;color:var(--ritual-muted);font-size:.9rem}
body.dnmp-subdomain-site .dnmp-ritual-toc{position:sticky;top:76px;z-index:4;display:flex;gap:8px;overflow-x:auto;max-width:100%;margin:14px 0 18px;padding:9px;border:1px solid var(--ritual-border);border-radius:14px;background:var(--ritual-card);scrollbar-width:thin}
body.dnmp-subdomain-site .dnmp-ritual-toc a{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--ritual-border);border-radius:999px;text-decoration:none;color:var(--ritual-text)}
body.dnmp-subdomain-site .dnmp-ritual-toc a:hover,body.dnmp-subdomain-site .dnmp-ritual-toc a:focus-visible{border-color:var(--ritual-accent);outline:none}
body.dnmp-subdomain-site .dnmp-ritual-preparation{list-style:none;margin:0;padding:0;display:grid;gap:10px}
body.dnmp-subdomain-site .dnmp-ritual-preparation li{display:grid;grid-template-columns:minmax(110px,.34fr) minmax(0,1fr);gap:5px 14px;padding:12px 0;border-bottom:1px solid var(--ritual-border)}
body.dnmp-subdomain-site .dnmp-ritual-preparation li:last-child{border-bottom:0}
body.dnmp-subdomain-site .dnmp-ritual-preparation time{grid-row:1/3;color:var(--ritual-accent);font-size:.83rem;font-weight:800}
body.dnmp-subdomain-site .dnmp-ritual-preparation strong{color:var(--ritual-text)}
body.dnmp-subdomain-site .dnmp-ritual-preparation p{margin:0;color:var(--ritual-muted)}
body.dnmp-subdomain-site .dnmp-ritual-context-note{padding:10px 12px;border-left:3px solid var(--ritual-accent);background:color-mix(in srgb,var(--ritual-accent) 8%,transparent);border-radius:8px;color:var(--ritual-muted)}
body.dnmp-subdomain-site .dnmp-ritual-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.dnmp-subdomain-site .dnmp-ritual-related a{display:grid;gap:3px;padding:12px;border:1px solid var(--ritual-border);border-radius:12px;text-decoration:none;color:var(--ritual-text)}
body.dnmp-subdomain-site .dnmp-ritual-related a:hover,body.dnmp-subdomain-site .dnmp-ritual-related a:focus-visible{border-color:var(--ritual-accent);outline:none}
body.dnmp-subdomain-site .dnmp-ritual-related small{color:var(--ritual-muted)}
body.dnmp-subdomain-site .dnmp-ritual-sources ol,body.dnmp-subdomain-site .dnmp-ritual-sources ul{display:grid;gap:8px;padding-left:24px}
body.dnmp-subdomain-site .dnmp-ritual-sources a{overflow-wrap:anywhere}
body.dnmp-subdomain-site .dnmp-source-cite{font-weight:800;text-decoration:none;white-space:nowrap}
body.dnmp-subdomain-site .dnmp-ritual-faq details{padding:10px 0;border-bottom:1px solid var(--ritual-border)}
body.dnmp-subdomain-site .dnmp-ritual-faq details:last-child{border-bottom:0}
body.dnmp-subdomain-site .dnmp-ritual-faq summary{cursor:pointer;font-weight:800}
@media(max-width:760px){
 body.dnmp-subdomain-site .dnmp-ritual-trust{grid-template-columns:1fr}
 body.dnmp-subdomain-site .dnmp-ritual-trust>p{grid-column:auto}
 body.dnmp-subdomain-site .dnmp-ritual-toc{position:static;margin-inline:0}
 body.dnmp-subdomain-site .dnmp-ritual-toc a{min-height:44px}
 body.dnmp-subdomain-site .dnmp-ritual-preparation li{grid-template-columns:1fr;gap:4px}
 body.dnmp-subdomain-site .dnmp-ritual-preparation time{grid-row:auto}
 body.dnmp-subdomain-site .dnmp-ritual-related{grid-template-columns:1fr}
 body.dnmp-subdomain-site .dnmp-ritual-source-line{grid-template-columns:1fr}
}
@media print{body.dnmp-subdomain-site .dnmp-ritual-toc,body.dnmp-subdomain-site .dnmp-ritual-library__sources{display:none!important}}
