/* Our Town Almanac: Your public library (/tn/<town>/library/). Loads after style.css; reuses its variables, same approach as explore.css.
   No photos: the header is a drawn bookshelf (pure CSS), so nothing is hotlinked or copied from a library. */
.lib-hero{text-align:center;margin:6px 0 10px;padding:0 0 12px;border-bottom:1px solid var(--rule)}
.lib-shelf{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:58px;margin:4px auto 10px;max-width:520px;border-bottom:6px solid var(--ink);padding:0 10px}
.lib-shelf .sp{display:block;width:14px;border:1px solid var(--ink);border-bottom:0;border-radius:2px 2px 0 0;background:var(--paper2)}
.lib-shelf .sp0{height:44px;background:var(--accent)}.lib-shelf .sp1{height:52px;background:#2f6b3a}.lib-shelf .sp2{height:38px;background:var(--paper2)}
.lib-shelf .sp3{height:48px;background:#3d5a80;width:18px}.lib-shelf .sp4{height:41px;background:var(--yp)}.lib-shelf .sp5{height:55px;background:var(--accent-dark);width:11px}
.lib-shelf .sp6{height:35px;background:#fffaf0;transform:rotate(-8deg);transform-origin:bottom left;margin-left:3px}
.lib-kicker{font:700 12px/1.2 var(--ui,system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark);margin:0 0 4px}
.lib-title{font-size:clamp(28px,4.5vw,40px);margin:4px 0 2px;line-height:1.15}
.lib-aka{font-style:italic;color:var(--muted);margin:0}
.lib-intro{font-size:18px;max-width:740px;margin:12px auto 16px;text-align:center}
.lib-intro.small{font-size:15px;color:var(--muted);margin-top:-6px}
.lib-sub{color:var(--muted);margin:4px 0 12px}
.lib-glance h2{margin:0 0 8px;font-size:22px}
.lib-glance h3{margin:0 0 6px;font-size:18px}
.lib-glance-grid{display:grid;grid-template-columns:1fr;gap:18px}
.lib-addr{font-size:20px;font-weight:700;margin:0 0 6px}
.lib-phone{font-size:18px}
.lib-phone a,.lib-signup a{font-weight:700;white-space:nowrap}
.lib-glance .btn{margin:2px 6px 6px 0;min-height:44px;line-height:24px}
.btn.ghost{background:transparent;color:var(--accent);}
.lib-hours{border-collapse:collapse;width:100%;max-width:360px;font:15px/1.4 var(--ui,system-ui,sans-serif)}
.lib-hours th,.lib-hours td{text-align:left;padding:5px 8px;border-bottom:1px dotted var(--rule)}
.lib-hours th{font-weight:700;width:9em}
.lib-note{font:14px/1.45 var(--ui,system-ui,sans-serif);color:var(--muted);margin:6px 0}
.lib-alt{font:13px/1.45 var(--ui,system-ui,sans-serif);color:var(--muted);margin:4px 0;padding-left:10px;border-left:3px solid var(--rule)}
.lib-src{display:block;font:12px/1.45 var(--ui,system-ui,sans-serif);color:var(--muted);margin:4px 0 0}
.lib-src a{color:var(--muted)}
.lib-flag{display:inline-block;font:700 11px/1.2 var(--ui,system-ui,sans-serif);text-transform:uppercase;letter-spacing:.05em;background:#fff3cd;color:#5a4300;border:1px solid #c9a227;padding:3px 6px;margin:2px 0;vertical-align:middle}
.lib-notice{background:#fff3cd;border:1px solid #c9a227;padding:10px 14px;margin:16px 0;font-size:15px}
.lib-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:12px}
.lib-tile{position:relative;margin:0}
.lib-tile h3{margin:0 0 4px;font-size:18px;padding-right:34px}
.lib-tile p{margin:6px 0;font-size:15px}
.lib-ico{position:absolute;top:14px;right:14px;width:22px;height:16px;border:2px solid var(--accent);border-radius:2px 2px 3px 3px;background:linear-gradient(90deg,transparent 46%,var(--accent) 46%,var(--accent) 54%,transparent 54%)}
.lib-tag{display:inline-block;font:700 11px/1 var(--ui,system-ui,sans-serif);text-transform:uppercase;letter-spacing:.06em;padding:4px 6px;border:1px solid var(--rule);color:var(--muted)}
.lib-tag.card{background:var(--accent);border-color:var(--accent);color:#fff}
.lib-tag.open{background:#2f6b3a;border-color:#2f6b3a;color:#fff}
.lib-month{font-size:20px;margin:18px 0 6px;color:var(--accent-dark)}
.lib-events{list-style:none;padding:0;margin:0}
.lib-ev{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:10px 0;border-bottom:1px dotted var(--rule)}
.lib-ev h4{margin:0 0 2px;font-size:17px}
.lib-ev p{margin:3px 0;font-size:15px}
.lib-date{text-align:center;border:2px solid var(--ink);background:#fffaf0;padding:3px 0;font-family:var(--ui,system-ui,sans-serif);align-self:start}
.lib-date span{display:block;line-height:1.1}
.lib-date .dw,.lib-date .dm{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.lib-date .dd{font-size:24px;font-weight:700}
.kind-closed .lib-date{border-color:#8c2b1c;background:#f8e4df}
.kind-closed h4{color:#8c2b1c}
.lib-when{font:14px/1.45 var(--ui,system-ui,sans-serif);color:var(--muted)}
.lib-later{padding-left:20px}.lib-later li{margin:6px 0}
.lib-prog{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:4px 24px}
.lib-prog li{padding:8px 0;border-bottom:1px dotted var(--rule)}
.lib-prog h4{margin:0 0 2px;font-size:17px}
.lib-prog p{margin:2px 0}
.lib-h3{font-size:20px;margin:22px 0 6px}
.lib-cardbox dl{margin:0}
.lib-cardbox dt{font-weight:700;font-size:17px;margin-top:10px}
.lib-cardbox dd{margin:2px 0 8px}
.lib-cardbox dd p{margin:2px 0}
.lib-two{display:grid;grid-template-columns:1fr;gap:12px}
.lib-two .card h3,.lib-two .card h4{margin:0 0 4px}
.lib-two .card p{margin:4px 0}
.lib-board p{display:inline}
.lib-know{padding-left:20px}.lib-know li{margin:8px 0}
.lib-history{margin-top:10px}
.lib-sources ul{font:13px/1.5 var(--ui,system-ui,sans-serif);padding-left:20px}
.lib-sources li{margin:2px 0}
.lib-url{text-align:center;font:14px/1.4 var(--ui,system-ui,sans-serif);color:var(--muted);word-break:break-all}
@media (min-width:720px){
  .lib-glance-grid{grid-template-columns:1.1fr 1fr}
  .lib-grid{grid-template-columns:repeat(2,1fr)}
  .lib-two{grid-template-columns:repeat(2,1fr)}
  .lib-prog{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1000px){.lib-grid{grid-template-columns:repeat(3,1fr)}}
@media print{.lib-shelf{display:none}}
