/* Search and tag controls share the site's quiet vermilion rules. */
.zd-menu-search { position:relative; }
.zd-menu-search summary { display:flex; align-items:center; gap:6px; cursor:pointer; list-style:none; padding:12px 7px; white-space:nowrap; font-weight:600; }
.zd-menu-search summary::-webkit-details-marker { display:none; }
.zd-menu-search svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; }
.zd-menu-search[open] summary { color:var(--zd-red); }
.zd-keyword-form { position:absolute; z-index:15; right:0; top:calc(100% + 8px); display:flex; gap:8px; width:min(370px,80vw); padding:16px; border:1px solid var(--zd-red); background:#fff; box-shadow:0 8px 24px #39231c12; }
.zd-editorial .zd-keyword-form input { min-width:0; width:100%; border:1px solid #ded9d6; padding:10px; font:inherit; font-size:14px; background:#fff; border-radius:3px; }
.zd-keyword-form button,.zd-search-actions>button:first-child { border:1px solid var(--zd-red); color:#fff; background:var(--zd-red); padding:10px 16px; font:inherit; font-size:13px; font-weight:600; white-space:nowrap; cursor:pointer; border-radius:3px; }
.zd-section--tags { margin-top:36px; }
.zd-tag-search { padding:4px 0 12px; }
.zd-search-label { display:block; margin:18px 0 10px; font-weight:600; font-size:14px; }
.zd-search-label span { margin-left:10px; font-size:12px; font-weight:400; color:#7b7774; }
.zd-editorial .zd-tag-filter-input,.zd-editorial .zd-search-keyword { display:block; width:100%; max-width:460px; padding:12px 14px; border:1px solid #d9d5d2; border-radius:3px; background:#fff; font:inherit; font-size:14px; line-height:1.5; box-sizing:border-box; }
.zd-tag-options { display:flex; flex-wrap:wrap; gap:9px; max-height:280px; overflow:auto; padding:16px 2px; }
.zd-tag-option { cursor:pointer; position:relative; }
.zd-tag-option[hidden],.zd-tag-no-match[hidden] { display:none; }
.zd-tag-option input { position:absolute; opacity:0; width:1px; height:1px; }
.zd-tag-option>span { display:block; padding:9px 13px; font-size:13px; line-height:1.4; color:#4b4643; background:#fff; border:1px solid #ded9d6; border-radius:3px; transition:background .15s,border-color .15s; }
.zd-tag-option i { font-style:normal; margin-right:5px; color:var(--zd-red); }
.zd-tag-option input:checked+span { color:#b23424; background:#fff4f0; border-color:var(--zd-red); }
.zd-tag-option input:focus-visible+span { outline:2px solid var(--zd-red); outline-offset:3px; }
.zd-match-options { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin:6px 0 20px; padding:14px 0; border:0; border-top:1px dashed #dec9c2; }
.zd-match-options legend { font-size:12px; padding-right:12px; color:#77716d; }
.zd-match-options label { display:flex; align-items:center; gap:7px; font-size:13px; cursor:pointer; }
.zd-match-options input { accent-color:var(--zd-red); }
.zd-match-options small { color:var(--zd-red); font-size:10px; letter-spacing:.04em; }
.zd-search-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.zd-search-actions>button:first-child { min-height:44px; padding:10px 20px; }
.zd-search-actions>button:first-child span { margin-left:28px; }
.zd-clear-tags { padding:8px 0; border:0; background:none; color:#716c68; font:inherit; font-size:12px; text-decoration:underline; cursor:pointer; }
.zd-search-actions output,.zd-tag-no-match { color:#827a75; font-size:12px; }
.zd-layout--search h1 { font-size:23px; line-height:1.4; margin:0; font-weight:600; }
.zd-search-count { margin:20px 0; color:#6d6661; line-height:1.8; font-size:13px; overflow-wrap:anywhere; }
.zd-search-count b { color:var(--zd-red); font-size:20px; margin:0 5px; }
.zd-results-filter { margin:0 0 30px; border-bottom:1px solid #eadbd6; }
.zd-results-filter>summary { display:flex; align-items:center; justify-content:space-between; padding:14px 0; font-size:13px; cursor:pointer; list-style:none; }
.zd-results-filter>summary::-webkit-details-marker { display:none; }
.zd-results-filter>summary span { color:var(--zd-red); }
.zd-results-filter .zd-tag-search { padding-bottom:22px; }
.zd-search-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 20px; }
.zd-search-empty { padding:28px 0; line-height:2; font-size:14px; }
.zd-layout--search .pagination { margin-top:36px; }
.zd-layout--search .nav-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.zd-layout--search .page-numbers { display:block; border:1px solid #e7d9d2; padding:10px 14px; font-size:13px; }
.zd-layout--search .page-numbers.current { background:var(--zd-red); color:white; border-color:var(--zd-red); }
@media(max-width:1100px) { .zd-search-results { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
  .zd-menu-search summary { padding:12px 0; }
  .zd-keyword-form { position:static; width:100%; padding:4px 0 12px; border:0; box-shadow:none; }
  .zd-section--tags { order:6; margin-top:0; }
  .zd-search-results { gap:24px 14px; }
  .zd-layout--search h1 { font-size:20px; }
  .zd-match-options { gap:14px; }
}
