:root{font-family:Segoe UI,system-ui,sans-serif;color:#233f39;background:#f6f3eb;--green:#245c4f}*{box-sizing:border-box}body{margin:0}header{padding:45px max(24px,calc((100vw - 1160px)/2));background:#e4ece1;border-bottom:1px solid #d3ddcf}h1{font:clamp(32px,5vw,50px)/1.1 Georgia,serif;margin:12px 0 18px}header p{margin:8px 0}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:700}.subtle{font-size:13px;color:#52645a}main{max-width:1208px;padding:32px 24px;margin:auto}.search{display:grid;grid-template-columns:auto 1fr auto 220px;gap:14px;align-items:center}label{font-size:14px;font-weight:600}input,select{font:inherit;border:1px solid #b6c7b8;border-radius:7px;padding:13px;width:100%;background:white;color:inherit}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.heading h2{font:27px Georgia,serif}.heading p{font-size:13px;color:#53675c}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:22px}.book{background:white;border:1px solid #d8ded3;border-radius:9px;overflow:hidden;padding:0;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit}.book:hover{border-color:var(--green);box-shadow:0 5px 18px #294a3a14}.book img{width:100%;height:230px;object-fit:contain;padding:18px;background:#eeeDE5}.book .text{padding:16px}.book h3{font-size:16px;line-height:1.45;margin:0 0 8px}.book p{font-size:13px;color:#58685e;margin:0;line-height:1.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b7882d;outline-offset:4px}dialog{width:min(880px,94vw);max-height:92vh;overflow:auto;border:1px solid #ced9cc;border-radius:12px;padding:26px;color:inherit;background:#fffcf6}dialog::backdrop{background:#12352c99}#close{display:block;margin-left:auto;border:1px solid var(--green);background:white;color:var(--green);border-radius:7px;padding:10px 14px;font:inherit;cursor:pointer;position:sticky;top:0;z-index:1}.layout{display:grid;grid-template-columns:220px 1fr;gap:30px;margin-top:22px}.layout img{width:100%;max-height:330px;object-fit:contain}.layout h2{font:30px/1.2 Georgia,serif;margin:14px 0}.description{white-space:pre-wrap;line-height:1.75;overflow-wrap:anywhere}dl{display:grid;grid-template-columns:90px 1fr;font-size:14px;gap:9px}dt{font-weight:600}dd{margin:0;overflow-wrap:anywhere}.availability{background:#edf1e7;border-radius:6px;padding:12px;font-size:13px}footer{max-width:1160px;margin:30px auto;padding:25px 24px;border-top:1px solid #d4ddcf;color:#52665b;font-size:13px}#error{background:#fff0d3;padding:18px;line-height:1.6}@media(max-width:650px){header{padding:30px 22px}main{padding:24px 16px}.search{grid-template-columns:1fr;gap:8px}.search select{margin-bottom:8px}.heading{display:block}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.book img{height:185px;padding:12px}.book .text{padding:12px}.layout{grid-template-columns:1fr;gap:16px}.layout img{width:170px;margin:auto;max-height:250px}dialog{padding:18px}.layout h2{font-size:26px}}@media print{.search,#close{display:none}dialog{position:static;max-height:none}.grid{grid-template-columns:repeat(3,1fr)}.book{break-inside:avoid}header{padding:12px}footer{margin:10px}}

.search{grid-template-columns:auto 1fr auto 170px auto 160px}.status{display:inline-block;margin-top:12px;padding:5px 8px;font-size:12px;border-radius:5px;font-weight:600}.status.available{background:#e2efdf;color:#245224}.status.loaned{background:#f5e3df;color:#853d31}.status.unknown{background:#edf0e9;color:#596359}@media(max-width:850px){.search{grid-template-columns:1fr 1fr}.search input{grid-column:2}.search select{grid-column:2}}@media(max-width:650px){.search{grid-template-columns:1fr}.search input,.search select{grid-column:auto}}

.accessi{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.accessi a{padding:10px 15px;border:1px solid #245c4f;border-radius:7px;color:#245c4f;text-decoration:none}.accessi a:hover{text-decoration:underline;background:#e4ece1}.accessi a:focus-visible{outline:3px solid #b7882d;outline-offset:3px}#detail-availability{white-space:pre-line}
