/* Shared public filtering and search utility, scoped to this module. */
[data-ia-card][hidden], [data-ia-results][hidden], [data-ia-empty][hidden], [data-ia-site-empty][hidden] { display:none !important; }
[data-ia-page] [data-ia-query]:focus-visible,
[data-ia-page] [data-ia-reset]:focus-visible,
[data-ia-page] [data-ia-category-filter]:focus-visible,
[data-ia-page] [data-ia-format-filter]:focus-visible,
.ia-search-main :focus-visible { outline:3px solid #846746; outline-offset:4px; }
.ia-category-filters { flex-wrap:wrap; gap:8px; }
.ia-category-filters button, .ia-journal-filters button { min-height:44px; }
.ia-category-filters button[aria-pressed="true"], .ia-journal-filters button[aria-pressed="true"] { background:#302e29; color:#fff; border-color:#302e29; }
.ia-journal-filters { flex-wrap:wrap; align-items:center; gap:9px; }
.ia-journal-filters input { flex:1 1 220px; min-height:44px; }
[data-ia-status], [data-ia-empty] { line-height:1.7; }
.ia-search-main { max-width:1120px; margin:0 auto; padding:68px 28px 100px; color:#302e29; font-family:Pretendard,Inter,system-ui,sans-serif; }
body[data-ia-page="site-search"] { margin:0; background:#f7f5ef; }
.ia-search-skip { position:fixed; z-index:10000; top:12px; left:16px; transform:translateY(-200%); padding:12px 18px; background:#302e29; color:#fff; border:2px solid #fff; border-radius:3px; }
.ia-search-skip:focus { transform:translateY(0); outline:3px solid #846746; outline-offset:3px; }
.ia-search-intro { max-width:720px; margin-bottom:32px; }
.ia-eyebrow { font-size:12px; letter-spacing:.16em; }
.ia-search-intro h1 { font-weight:500; font-size:clamp(32px,5vw,54px); line-height:1.2; margin:16px 0; }
.ia-search-intro p, .ia-search-privacy { line-height:1.8; }
.ia-search-form { display:flex; align-items:end; flex-wrap:wrap; gap:12px; border-top:1px solid #d4cec2; border-bottom:1px solid #d4cec2; padding:24px 0; }
.ia-search-form label { display:flex; flex-direction:column; gap:8px; font-size:14px; }
.ia-search-form label:first-child { flex:1 1 300px; }
.ia-search-form input, .ia-search-form select, .ia-search-form button { box-sizing:border-box; min-height:46px; padding:11px 14px; border:1px solid #bcb4a6; background:#fffdf8; color:#302e29; font:inherit; border-radius:3px; }
.ia-search-form button { cursor:pointer; }
.ia-search-form button[type="submit"] { background:#302e29; color:#fff; }
.ia-search-privacy { color:#625b50; font-size:13px; max-width:850px; }
.ia-search-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:26px; }
.ia-search-result { padding:24px; border:1px solid #d4cec2; background:#fffdf8; min-width:0; }
.ia-result-kind { margin:0 0 12px; font-size:12px; color:#75674f; }
.ia-search-result h2 { margin:0 0 12px; font-weight:500; font-size:22px; line-height:1.45; overflow-wrap:anywhere; }
.ia-search-result a { color:inherit; text-decoration-thickness:1px; text-underline-offset:4px; }
.ia-search-result > p:last-child { font-size:14px; line-height:1.8; margin:0; }
@media(max-width:640px) { .ia-search-main { padding:42px 20px 70px; } .ia-search-list { grid-template-columns:1fr; } .ia-search-form label { flex:1 1 100%; } .ia-search-result { padding:20px; } }
