/* Readable policy pages, source notes and photo credits. */
.source-details,.admin-details { margin:1.2rem 0; border:1px solid #c5d2ca; border-radius:6px; padding:.2rem 1rem; background:#f5f7f0; overflow-wrap:anywhere; }
.source-details > summary,.admin-details > summary { padding:.85rem 0; min-height:44px; box-sizing:border-box; cursor:pointer; color:#123e45; font-weight:650; line-height:1.5; }
.source-details > summary:focus-visible,.admin-details > summary:focus-visible { outline:3px solid #a44b32; outline-offset:4px; border-radius:2px; }
.source-details[open] > summary,.admin-details[open] > summary { border-bottom:1px solid #c5d2ca; }
.source-details ul { padding-left:1.2rem; }
.credit-heading { display:flex; align-items:center; gap:1.2rem; margin-bottom:1rem; }
.credit-heading h2 { margin:0; overflow-wrap:anywhere; }
.credit-entry { overflow-wrap:anywhere; }
.credit-entry code { white-space:normal; }
@media(max-width:540px) { .credit-heading { align-items:flex-start; gap:.8rem; } .credit-heading h2 { font-size:1.25rem; line-height:1.3; } .source-details,.admin-details { padding-inline:.8rem; } }
@media print { .source-details,.admin-details { background:white; border-color:#aaa; } }
