/* Friends and Supporters. Load after library.css. */
.sup-section{ margin:2rem 0; }
.sup-section h2{ margin:0 0 4px; color:var(--lib-gold); font-size:16px; text-transform:uppercase; padding-bottom:8px; border-bottom:1px solid var(--lib-line); }
.sup-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:1rem; margin-top:1rem; }
.sup-card{ background:var(--lib-panel); border:1px solid var(--lib-line); border-radius:8px; padding:1rem; display:flex; gap:1rem; align-items:flex-start; }
.sup-card h3{ margin:0 0 4px; font-size:14px; }
.sup-card p{ margin:.2rem 0 0; color:var(--lib-soft); }
.sup-logo{ width:72px; height:72px; object-fit:contain; background:#fff; border-radius:8px; padding:4px; flex:none; }
.sup-past{ opacity:.85; border-left:3px solid var(--lib-soft); }
.lib-form .sup-check{ display:flex; gap:.5rem; align-items:center; font-weight:400; }
.lib-form .sup-check input{ width:auto; }
@media (max-width:420px){ .sup-list{ grid-template-columns:1fr; } }
