/* Archive search page (docs/archive-search-design.md 7); palette and type come from site.css. */
.jf-finder .jf-archive-intro{margin-bottom:34px}
.jf-finder .jf-search-find label{display:block;font:15px/1.5 var(--serif);color:var(--muted);margin-bottom:10px}
.jf-finder .jf-search-input ul{position:absolute;z-index:5;left:0;right:0;top:100%;list-style:none;margin:0;padding:6px 0;background:#f4f1ea;border:1px solid #b6ac9b;border-top:0;box-shadow:0 8px 22px #41372322}
.jf-finder .jf-search-input li{display:flex;justify-content:space-between;gap:16px;padding:9px 16px;font:16px var(--serif);cursor:pointer}
.jf-finder .jf-search-input li span{font-size:12px;color:var(--muted);white-space:nowrap}
.jf-finder .jf-search-input li[aria-selected="true"]{background:#e3ddd0}
.jf-finder .jf-search-active{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.jf-finder .jf-search-chip{position:relative;display:inline-flex;align-items:stretch;border:1px solid var(--accent);background:#efe9dd}
.jf-finder .jf-search-chip button{border:0;background:none;color:var(--ink);font:15px var(--serif);cursor:pointer;min-height:40px}
.jf-finder .jf-search-chip-label{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px}
.jf-finder .jf-search-chip-label small{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.jf-finder .jf-search-chip-label i{font-style:normal;font-size:11px;color:var(--muted)}
.jf-finder .jf-search-chip-label:disabled{cursor:default;color:var(--ink)}
.jf-finder .jf-search-chip-remove{padding:0 12px 0 6px;font-size:18px!important;color:var(--muted)!important}
.jf-finder .jf-search-menu{position:absolute;z-index:4;top:100%;left:-1px;min-width:230px;margin-top:4px;padding:10px 14px 12px;background:#f4f1ea;border:1px solid #b6ac9b;box-shadow:0 8px 22px #41372322}
.jf-finder .jf-search-menu p{font:10px var(--serif);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:6px 0 4px}
.jf-finder .jf-search-menu label{display:flex;gap:8px;align-items:center;font:15px/1.9 var(--serif);cursor:pointer}
.jf-finder .jf-search-shelves{margin-top:34px;border-top:1px solid var(--line)}
.jf-finder .jf-search-shelves>summary{cursor:pointer;font:17px var(--serif);padding:16px 0;list-style:none}
.jf-finder .jf-search-shelves>summary::before{content:'+';display:inline-block;width:20px;color:var(--muted)}
.jf-finder .jf-search-shelves[open]>summary::before{content:'–'}
.jf-finder .jf-search-shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:44px;row-gap:30px;padding:6px 0 34px}
.jf-finder .jf-search-shelf h3{font:normal 11px var(--serif);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.jf-finder .jf-search-browse{border-top:1px solid var(--line);padding-top:22px}
.jf-finder .jf-search-browse button{border:0;border-bottom:1px solid #87806f;background:none;padding:0 0 5px;font:15px var(--serif);color:var(--ink);cursor:pointer}
.jf-finder .jf-search-results-bar{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:34px}
.jf-finder .jf-search-results-bar p{font:15px var(--serif);color:var(--muted)}
.jf-finder .jf-search-results-bar strong{font-weight:normal;color:var(--ink);font-size:22px}
.jf-finder .jf-search-toggle{display:inline-flex;border:1px solid #b6ac9b}
.jf-finder .jf-search-toggle button{min-height:40px;padding:6px 16px;border:0;background:transparent;font:14px var(--serif);color:var(--ink);cursor:pointer}
.jf-finder .jf-search-toggle button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.jf-finder .jf-search-strict{display:flex;gap:8px;align-items:center;font:13px var(--serif);color:var(--muted);cursor:pointer}
.jf-finder .jf-search-tier{margin-top:44px;border-top:1px solid var(--line)}
.jf-finder .jf-search-tier summary{cursor:pointer;font:18px var(--serif);padding:16px 0 26px}
.jf-finder .jf-search-tier summary span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.jf-finder .jf-search-why{font-style:italic}
.jf-finder .jf-search-empty{font:16px var(--serif);color:var(--muted);padding:10px 0 20px}
.jf-finder :is(button,input,a):focus-visible{outline:2px solid #786448;outline-offset:3px}
@media(max-width:700px){
  .jf-finder .jf-search-shelf-grid{grid-template-columns:1fr}
  .jf-finder .jf-search-results-bar{gap:12px}
  .jf-finder .jf-search-results-bar p{width:100%}
}
/* Server-rendered: options, chips and toggles are links. */
.jf-finder .jf-search-chip a{display:flex;align-items:center;color:var(--ink);text-decoration:none;font:15px var(--serif);min-height:40px}
.jf-finder .jf-search-chip details{position:relative}
.jf-finder .jf-search-chip summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;min-height:40px;font:15px var(--serif)}
.jf-finder .jf-search-chip summary::-webkit-details-marker{display:none}
.jf-finder .jf-search-chip summary small{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.jf-finder .jf-search-chip summary i{font-style:normal;font-size:11px;color:var(--muted)}
.jf-finder .jf-search-menu a{display:block;font:15px/1.9 var(--serif);color:var(--ink)}
.jf-finder .jf-search-menu a[aria-current="true"]{text-decoration:underline;text-underline-offset:4px}
.jf-finder .jf-search-toggle a{display:inline-flex;align-items:center;min-height:40px;padding:6px 16px;font:14px var(--serif);color:var(--ink);text-decoration:none}
.jf-finder .jf-search-toggle a[aria-current="page"]{background:var(--ink);color:var(--paper)}
.jf-finder a.jf-search-strict{color:var(--muted);text-decoration:none}
.jf-finder a.jf-search-strict span{display:inline-block;width:14px;height:14px;border:1px solid #87806f;margin-right:8px;vertical-align:-2px;text-align:center;line-height:12px;font-size:11px}
.jf-finder .jf-search-notice{font:16px var(--serif);color:var(--muted);border-left:2px solid var(--accent);padding:6px 0 6px 14px;margin:24px 0}
.jf-finder .jf-search-pages{display:flex;gap:18px;font:14px var(--serif);margin-top:22px}
.jf-finder .jf-search-pages a{color:var(--ink)}
.jf-finder .jf-card-why{font-style:italic;color:var(--muted)}
.jf-finder .jf-search-browse a{display:inline-block;border-bottom:1px solid #87806f;padding:0 0 5px;font:15px var(--serif);color:var(--ink);text-decoration:none}
.jf-finder .jf-search-find{margin-top:8px}
.jf-finder .jf-search-chip-label{font:15px var(--serif);color:var(--ink)}

/* The search box holds the whole query: applied filters, filters picked below (pending until →), then typed text. */
.jf-finder .jf-search-input{position:relative;max-width:760px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:54px;padding:6px 56px 6px 6px;border:1px solid #b6ac9b;background:#f1eee7}
.jf-finder .jf-search-input:focus-within{outline:2px solid #786448;outline-offset:3px}
.jf-finder .jf-search-input input{flex:1 1 12em;min-width:0;min-height:40px;padding:4px 10px;border:0;background:transparent;color:var(--ink);font:19px var(--serif)}
.jf-finder .jf-search-input input:focus-visible{outline:0}
.jf-finder .jf-search-input>button{position:absolute;right:0;top:0;bottom:0;width:54px;border:0;background:none;font:20px var(--serif);color:var(--ink);cursor:pointer}
.jf-finder .jf-search-find.has-pending .jf-search-input>button{background:var(--ink);color:var(--paper)}
.jf-finder .jf-search-input .jf-search-chip :is(summary,a,.jf-search-chip-label){min-height:36px}
.jf-finder .jf-search-chip.is-pending{border-style:dashed}
.jf-finder .jf-search-chip.is-pending button{padding:0 12px 0 6px;font-size:18px;color:var(--muted);min-height:36px}
.jf-finder .jf-search-clear{display:inline-block;margin-top:8px;padding:4px 0;font:13px var(--serif);color:var(--muted);text-decoration:underline;text-underline-offset:4px}
/* Starting points: inline links with their item counts. */
.jf-finder .jf-search-links{font:16px/1.5 var(--serif)}
.jf-finder .jf-search-option{display:inline-flex;align-items:baseline;gap:5px;margin:0 16px 8px 0;padding:2px 0;color:var(--ink);text-decoration:none}
.jf-finder .jf-search-option>span{text-decoration:underline;text-decoration-color:#c9bfae;text-underline-offset:5px}
.jf-finder .jf-search-option:hover>span{text-decoration-color:currentColor}
.jf-finder .jf-search-option small{font-size:11px;color:var(--muted)}
.jf-finder .jf-search-option em{font-style:italic;margin-left:2px}
.jf-finder .jf-search-option.is-on>span{text-decoration-color:var(--accent);text-decoration-thickness:2px}
.jf-finder .jf-search-option-empty{color:var(--muted)}
.jf-finder .jf-search-option-empty>span{text-decoration-style:dotted}
.jf-finder .jf-search-more{border:0;background:none;padding:2px 0;margin:0 0 8px;font:italic 15px var(--serif);color:var(--muted);cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:5px}
/* Nested places: a broader place starts its line; the places within it follow, smaller. */
.jf-finder .is-nested .jf-search-entry{display:block}
.jf-finder .jf-search-within{display:inline}
.jf-finder .jf-search-within:has(.jf-search-option:not([data-extra]))::before{content:'—';margin-right:10px;color:#b6ac9b}
.jf-finder .jf-search-within .jf-search-option{font-size:14px;margin-right:12px}
.jf-finder .is-nested .jf-search-more{display:block}
/* Last, so it wins over the display rules above until "more" is pressed. */
.jf-finder .is-collapsed [data-extra]{display:none}
/* Suggestions grouped by the kind of filter they make. */
.jf-finder .jf-search-input li.jf-search-suggest-group{display:block;padding:10px 16px 3px;font:10px var(--serif);letter-spacing:.8px;text-transform:uppercase;color:var(--muted);cursor:default}
.jf-finder .jf-search-input li.jf-search-suggest-group:first-child{padding-top:4px}
/* A known term the filters in the box leave nothing behind, muted like empty starting links. */
.jf-finder .jf-search-input li.is-empty{color:var(--muted)}
/* Unfiltered: the first row of starting points, the rest behind "More examples"; collections follow below. */
.jf-finder .is-compact:not(.is-expanded) .jf-search-shelf:nth-child(n+4){display:none}
.jf-finder .is-compact .jf-search-shelf-grid{padding-bottom:14px}
.jf-finder .jf-search-shelves-more{display:block;border:0;background:none;padding:2px 0;margin:0 0 30px;font:italic 15px var(--serif);color:var(--muted);cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:5px}
.jf-finder .jf-search-shelves-more::after{content:' ↓';font-style:normal}
.jf-finder .is-expanded .jf-search-shelves-more::after{content:' ↑'}
