/* Kissel Library - shared styles for documents.html and document.html */
:root{
  --parchment:#f4ecd8; --parchment-dk:#e9dcbc; --paper:#fbf7ea;
  --ink:#2b2118; --ink-soft:#5c4b3a; --rule:#cdbb93; --rule-soft:#ddd0ae;
  --oxblood:#6e1f1f; --oxblood-dk:#521515; --brass:#9a7b2f; --link:#1d4a7a;
  --bad:#9b2a2a;
  --shadow:0 1px 2px rgba(43,33,24,.12),0 6px 18px rgba(43,33,24,.08);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--parchment);color:var(--ink);font-family:'Raleway',system-ui,sans-serif;font-size:15px;line-height:1.45;min-height:100vh}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;margin:0;font-weight:700}
button,input,select{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--link)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* search band (the site-wide top bar lives in nav.css) */
.sband{background:var(--paper);border-bottom:1px solid var(--rule)}
.searchbox{position:relative;max-width:640px;margin:0 auto;padding:0}
.sband{padding:14px 20px}
.searchbox input{width:100%;padding:11px 44px 11px 20px;border:1px solid var(--rule);border-radius:999px;background:#fffdf5;font-size:16px;box-shadow:inset 0 1px 3px rgba(43,33,24,.08)}
.searchbox input::placeholder{color:#8a7a62;font-style:italic}
.searchbox button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:var(--oxblood);color:#fff;display:grid;place-items:center}
.searchbox button:hover{background:var(--oxblood-dk)}
.searchbox svg{width:17px;height:17px}

/* quick filters */
.quick{max-width:1280px;margin:0 auto;padding:10px 20px 0;display:flex;gap:8px;flex-wrap:wrap}
.quick:empty{display:none}
.qf{background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:5px 14px;font-size:14px;color:var(--ink)}
.qf:hover{border-color:var(--brass);background:#fff}
.qf.on{background:var(--oxblood);border-color:var(--oxblood);color:#fff}

/* layout */
.wrap{max-width:1280px;margin:0 auto;padding:14px 20px 40px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.side{position:sticky;top:72px;max-height:calc(100vh - 84px);overflow:auto;padding-right:4px;scrollbar-width:thin}
.side h2{font-size:17px;margin:2px 0 8px}
.fac{border-top:1px solid var(--rule);padding:8px 0}
.fac>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px;letter-spacing:.02em;padding:2px 0}
.fac>summary::-webkit-details-marker{display:none}
.fac>summary::after{content:'+';color:var(--brass);font-size:18px;line-height:1}
.fac[open]>summary::after{content:'\2212'}
.fac ul{list-style:none;margin:6px 0 0;padding:0}
.fac li label{display:flex;gap:8px;align-items:baseline;padding:3px 2px;cursor:pointer;font-size:14px;border-radius:4px}
.fac li label:hover{background:rgba(154,123,47,.12)}
.fac li input{accent-color:var(--oxblood);margin:0;flex:none;transform:translateY(2px)}
.fac li .t{flex:1;min-width:0;overflow-wrap:anywhere}
.fac li .n{color:var(--ink-soft);font-size:12.5px;flex:none}
.fac li.zero{opacity:.55}
.more{background:none;border:0;color:var(--link);padding:4px 2px;font-size:13.5px}
.more:hover{text-decoration:underline}
.ffind{width:100%;margin:6px 0 2px;padding:5px 9px;border:1px solid var(--rule);border-radius:6px;background:#fffdf5;font-size:13.5px}
.range{display:flex;gap:6px;align-items:center;margin-top:6px}
.range input{width:100%;min-width:0;padding:5px 8px;border:1px solid var(--rule);border-radius:6px;background:#fffdf5;font-size:14px}
.range button{padding:5px 11px;border:1px solid var(--oxblood);background:var(--oxblood);color:#fff;border-radius:6px}
.decades{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.dec{background:#fffdf5;border:1px solid var(--rule);border-radius:999px;padding:2px 10px;font-size:13px}
.dec:hover{border-color:var(--brass)}
.dec.on{background:var(--oxblood);color:#fff;border-color:var(--oxblood)}
.dec span{color:var(--ink-soft);font-size:12px}
.dec.on span{color:#f0dccc}

/* results header */
.bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:8px}
.count{font-size:14px;color:var(--ink-soft)}
.count b{color:var(--ink)}
.sort{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft)}
.sort select{border:1px solid var(--rule);border-radius:999px;background:var(--paper);padding:5px 30px 5px 14px;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px;font-size:13.5px}
.chips:empty{display:none}
.chips .lbl{color:var(--ink-soft)}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--parchment-dk);border:1px solid var(--rule);border-radius:999px;padding:2px 4px 2px 11px}
.chip button{border:0;background:rgba(43,33,24,.12);color:var(--ink);width:19px;height:19px;border-radius:50%;line-height:1;padding:0;font-size:13px}
.chip button:hover{background:var(--oxblood);color:#fff}
.clear{background:none;border:0;color:var(--link);font-size:13.5px}
.clear:hover{text-decoration:underline}

/* result cards */
.cards{display:flex;flex-direction:column;gap:8px}
.card{display:grid;grid-template-columns:96px minmax(0,1fr);background:var(--paper);border:1px solid var(--rule);border-radius:6px;box-shadow:var(--shadow);overflow:hidden}
.card:hover{border-color:var(--brass)}
.thumb{display:grid;place-items:center;background:var(--parchment-dk);border-right:1px solid var(--rule-soft);min-height:0;text-decoration:none;overflow:hidden}
.thumb img{width:100%;height:100%;max-height:92px;object-fit:contain;display:block;padding:5px}
.thumb:hover{background:#e2d3ab}
.ph{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;color:var(--brass);text-transform:uppercase;letter-spacing:.06em}
.body{display:block;padding:7px 14px 8px;color:inherit;text-decoration:none;min-width:0}
.body:hover .ttl{text-decoration:underline}
.typ{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.ttl{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:21px;line-height:1.15;color:var(--link);margin:0 0 2px;overflow-wrap:anywhere}
.meta{font-size:13.5px;color:var(--ink-soft)}
.meta b{font-weight:600;color:var(--ink)}
.desc{font-size:13.5px;margin-top:3px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink)}
.tg{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;max-height:23px;overflow:hidden}
.tg span{font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--rule)}
.tg .car{background:var(--parchment-dk);font-weight:600}
.tg .tag{color:var(--ink-soft)}
.state{text-align:center;padding:36px 10px;color:var(--ink-soft)}
.state h3{color:var(--ink);margin-bottom:6px}
.btn{display:inline-block;padding:8px 18px;border-radius:6px;border:1px solid var(--rule);background:var(--paper);text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--brass);background:#fff}
.btn.pri{background:var(--oxblood);border-color:var(--oxblood);color:#fff;font-weight:600}
.btn.pri:hover{background:var(--oxblood-dk)}
#sentinel{height:1px}
.filterbtn{display:none}
.skel{height:112px;border-radius:6px;background:linear-gradient(90deg,var(--paper),var(--parchment-dk),var(--paper));background-size:200% 100%;animation:sh 1.4s infinite;border:1px solid var(--rule-soft)}
@keyframes sh{to{background-position:-200% 0}}

/* detail page */
.dwrap{max-width:1080px;margin:0 auto;padding:16px 20px 50px}
.back{display:inline-block;margin-bottom:12px;font-size:14px}
.dgrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.pic{background:var(--paper);border:1px solid var(--rule);border-radius:6px;box-shadow:var(--shadow);padding:10px;text-align:center}
.pic a:not(.btn){min-height:180px;display:grid;place-items:center;text-decoration:none}
.pic img{max-width:100%;max-height:420px;display:block}
.pic .btn{margin-top:10px;width:100%;text-align:center}
.dmain h1{font-size:32px;line-height:1.15;margin:2px 0 6px}
.dmain .typ{margin-bottom:2px}
.dmain .lead{color:var(--ink-soft);margin-bottom:12px}
.dmain p.d{white-space:pre-wrap;margin:0 0 14px}
.dl{display:grid;grid-template-columns:140px minmax(0,1fr);border-top:1px solid var(--rule)}
.dl>div{padding:8px 0;border-bottom:1px solid var(--rule-soft)}
.dl .k{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding-top:10px}
.pill{display:inline-block;margin:0 5px 4px 0;padding:2px 11px;border-radius:999px;border:1px solid var(--rule);background:var(--parchment-dk);text-decoration:none;color:var(--ink);font-size:14px}
a.pill:hover{border-color:var(--brass);background:#fff}
.pill em{font-style:normal;color:var(--ink-soft);font-size:12.5px;margin-left:4px}
.note{background:var(--paper);border:1px solid var(--rule-soft);border-left:3px solid var(--brass);border-radius:4px;padding:8px 12px;margin:0 0 8px;white-space:pre-wrap}
.note small{display:block;color:var(--ink-soft);margin-top:3px}
.adminbar{margin-top:16px;font-size:14px}

@media (max-width:900px){
  .wrap{grid-template-columns:1fr;padding:10px 14px 30px}
  .quick{padding:8px 14px 0;flex-wrap:nowrap;overflow-x:auto}
  .qf{white-space:nowrap}
  .filterbtn{display:inline-block;padding:6px 14px;border:1px solid var(--rule);border-radius:999px;background:var(--paper)}
  .side{display:none;position:fixed;inset:0;z-index:400;max-height:none;background:var(--parchment);padding:14px;top:0}
  body.fopen .side{display:block}
  body.fopen{overflow:hidden}
  .sidehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .card{grid-template-columns:78px minmax(0,1fr)}
  .ttl{font-size:19px}
  .dgrid{grid-template-columns:1fr}
  .dmain h1{font-size:26px}
  .dl{grid-template-columns:1fr}.dl .k{border-bottom:0;padding-bottom:0}
}
@media (min-width:901px){.sidehead .done{display:none}}
