.book-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;min-width:0;transition:transform var(--duration)ease,border-color var(--duration)ease,background var(--duration)ease;background:#120f0fad;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:clamp(1rem,2vw,1.45rem);padding:clamp(.8rem,1.6vw,1rem);display:grid}.book-card:hover{border-color:var(--border-strong);background:#120f0fd1;transform:translateY(-2px)}.book-cover{aspect-ratio:2/3;border-radius:var(--radius-sm);background:#f4efe70b;justify-content:center;align-items:center;display:flex;overflow:hidden}.book-cover img{object-fit:contain;object-position:center;flex:none;width:265%;max-width:none;height:265%}.book-cover-placeholder{color:var(--accent);font-family:var(--font-display),Georgia,serif;text-align:center;padding:1rem;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1}.book-info{flex-direction:column;justify-content:space-between;gap:.85rem;min-width:0;display:flex}.book-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:800;line-height:1.2}.book-info h3{margin:.35rem 0 .55rem}.book-description{color:#f4efe7c2;-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book-meta{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.book-meta span{color:#f4efe7d1;letter-spacing:.08em;text-transform:uppercase;border:0;border-radius:0;padding:0;font-size:.78rem;font-weight:700}.book-meta .available,.book-meta .unavailable{color:var(--text-muted);letter-spacing:.02em;text-transform:none;align-items:center;gap:.35rem;display:inline-flex}.book-meta .available:before{content:"";background:#90d7a2;border-radius:50%;width:.42rem;height:.42rem}.book-meta .unavailable:before{content:"";background:var(--destructive);border-radius:50%;width:.42rem;height:.42rem}.book-meta .available{color:#90d7a2}.book-meta .unavailable{color:var(--destructive)}.book-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.book-details-button{color:#f4efe7e0;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #f4efe73d;border-radius:0;align-items:center;min-height:38px;padding:.58rem .08rem .54rem;font-size:.78rem;font-weight:700;display:inline-flex}.book-details-button:hover{border-color:var(--accent);color:var(--accent)}.book-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050404d1;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.book-modal{border:1px solid var(--border-strong);border-radius:var(--radius);background:linear-gradient(180deg,#181212fa,#0c0a0afa),var(--card);width:min(100%,680px);max-height:min(78vh,720px);box-shadow:var(--shadow-hard);padding:clamp(1.5rem,4vw,2.5rem);position:relative;overflow-y:auto;transform:translateY(0)}.book-modal h2{margin:.55rem 0 1rem}.book-modal>p:not(.book-eyebrow){color:#f4efe7d1;white-space:pre-line;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75}.book-modal-close{border:1px solid var(--border);width:42px;height:42px;color:var(--foreground);cursor:pointer;background:#f4efe70a;border-radius:50%;place-items:center;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:.9rem;right:.9rem}.book-modal-close:hover{border-color:var(--border-strong);background:#c6282833}.book-card-compact{grid-template-columns:minmax(170px,.32fr) minmax(0,1fr)}.book-card-compact .book-description{display:none}.book-card-compact .book-cover{max-height:290px}@media only screen and (max-width:768px){.book-card,.book-card-compact{grid-template-columns:118px minmax(0,1fr);padding:.75rem}.book-actions{flex-direction:column;align-items:stretch}.book-actions .button,.book-actions .book-details-button{justify-content:center;width:100%}.book-description{-webkit-line-clamp:3}}
