/* pop-out search + contents panel, shared by the public site and the members area */
@media screen {
        /* search + contents pop out from the right; the page stays visible so matches can be seen */
            .search_button { position: fixed; top: 1rem; z-index: 25;
                right: calc(clamp(1rem, 4vw, 2.5rem) + 7.2rem); }
            .doc_side { display: block !important; position: fixed; top: 0; right: 0; bottom: 0; z-index: 35;
                width: min(21rem, 90vw); background: rgba(26,25,24,0.97); border-left: 1px solid var(--pewter-dim);
                box-shadow: -8px 0 24px rgba(0,0,0,0.5);
                transform: translateX(100%); visibility: hidden; transition: transform 0.3s ease, visibility 0s 0.3s; }
            body.search_open .doc_side { transform: translateX(0); visibility: visible; transition: transform 0.3s ease; }
            .doc_side_inner { display: flex !important; flex-direction: column; height: 100%; padding: 1rem 1.25rem 1.5rem; }
            .doc_side_head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; }
            .doc_side_head span { font-family: 'RuffiansMC', Georgia, serif; font-size: 1.5rem; color: var(--pewter); }
            .doc_tools { position: static !important; padding: 0 !important; background: none !important;
                display: grid !important; grid-template-columns: auto auto 1fr; gap: 0.4rem !important; align-items: center; }
            .doc_search_input { grid-column: 1 / -1; min-width: 0 !important; width: 100%;
                background: var(--black) !important; font-family: inherit; }
            .doc_count { font-size: 0.95rem; }
            .doc_tools button { background: var(--black); color: var(--pewter); border: 1px solid var(--pewter-dim);
                border-radius: 0.3rem; cursor: pointer; font: inherit; }
            .doc_toc { margin: 1.25rem 0 0 !important; padding-top: 1rem; border-top: 1px dashed #3a3936;
                overflow-y: auto; flex: 1; min-height: 0; }
            .doc_toc ul { padding-left: 1.1rem; margin: 0.5rem 0 0; font-size: 1rem; }
            .doc_toc li { margin: 0.2rem 0; }
            @media (min-width: 1100px) { main { transition: padding-right 0.3s ease; }
                body.search_open main { padding-right: 21rem; } }
            @media (max-width: 600px) { .search_button { right: calc(clamp(1rem, 4vw, 2.5rem) + 3.6rem); } }
            @media (prefers-reduced-motion: reduce) { .doc_side { transition: none !important; } }
}
