.library-catalog > h2 { margin: 0 0 8px; }
.library-catalog > p { margin: 0 0 var(--t-mezera); max-width: 62ch; color: var(--t-text-tlumeny); }
.library-search { margin-bottom: var(--t-mezera); }
.library-search label {
display: block;
margin-bottom: 6px;
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--t-text-tlumeny);
}
.library-search > div {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px var(--t-mezera);
}
.library-search input {
flex: 1 1 280px;
padding: 10px 12px;
border: var(--t-ramecek);
border-radius: var(--t-zaobleni);
background: var(--t-pozadi);
color: var(--t-text);
font: inherit;
}
.library-search input:focus-visible { outline: 2px solid var(--t-akcent); outline-offset: 2px; }
.library-search span { font-size: 0.9rem; color: var(--t-text-tlumeny); white-space: nowrap; }
.library-table { border-top: var(--t-ramecek); }
.library-table-head,
.library-table > a {
display: grid;
grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.4fr) minmax(70px, 0.6fr) minmax(110px, 0.7fr);
gap: 6px var(--t-mezera);
align-items: baseline;
padding: 12px 0;
border-bottom: var(--t-delici-linka);
}
.library-table-head {
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--t-text-tlumeny);
border-bottom: var(--t-ramecek);
}
.library-table > a {
color: var(--t-text);
text-decoration: none;
transition: background var(--t-rychlost) var(--t-krivka), padding var(--t-rychlost) var(--t-krivka);
}
.library-table > a:hover { padding-inline: 10px; background: var(--t-pozadi-jemne); }
.library-table > a.is-hidden { display: none; }
.library-table > a > span { color: var(--t-text-tlumeny); overflow-wrap: anywhere; }
.library-table > a > .library-status { justify-self: start; }
.library-status,
.book-status {
display: inline-block;
padding: 2px 8px;
border: var(--t-ramecek);
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
white-space: nowrap;
color: var(--t-text);
border-radius: var(--t-zaobleni);
}
.library-status.borrowed,
.book-status.borrowed {
background: var(--t-inverzni-pozadi);
border-color: var(--t-inverzni-pozadi);
color: var(--t-inverzni-text);
}
.library-empty,
.library-table-note {
margin: var(--t-mezera) 0 0;
font-size: 0.9rem;
color: var(--t-text-tlumeny);
}
.library-empty.is-hidden,
.library-pagination.is-hidden { display: none; }
.library-pagination {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--t-mezera);
margin-top: var(--t-mezera);
}
.library-pagination button {
padding: 8px 14px;
border: var(--t-ramecek);
border-radius: var(--t-zaobleni);
background: var(--t-pozadi);
color: var(--t-text);
font: inherit;
font-weight: 600;
cursor: pointer;
}
.library-pagination button:hover:not(:disabled) { background: var(--t-inverzni-pozadi); color: var(--t-inverzni-text); }
.library-pagination button:disabled { opacity: 0.4; cursor: default; }
.book-page {
width: min(var(--t-sirka), calc(100% - 2 * var(--t-okraj)));
margin-inline: auto;
padding-block: var(--t-mezera-bloku);
}
.book-page--prazdna { text-align: center; }
.catalog-back-link {
display: inline-block;
margin-bottom: var(--t-mezera);
font-weight: 600;
color: var(--t-text);
}
.book-detail-card {
display: grid;
grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
gap: var(--t-mezera-bloku);
align-items: start;
padding: var(--t-vypln);
border: var(--t-ramecek);
border-radius: var(--t-zaobleni);
}
.book-cover {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 14px;
aspect-ratio: 3 / 4;
padding: var(--t-vypln);
border: var(--t-ramecek);
background: var(--t-pozadi-jemne);
color: var(--t-text-tlumeny);
font-size: 0.85rem;
font-weight: 600;
text-align: center;
border-radius: var(--t-zaobleni);
}
.book-detail-card h1,
.book-detail-card h2 { margin: 12px 0 var(--t-mezera); }
.book-detail-card dl { margin: 0; border-top: var(--t-delici-linka); }
.book-detail-card dl > div {
display: grid;
grid-template-columns: minmax(120px, 200px) minmax(0, 1fr);
gap: 6px var(--t-mezera);
padding: 10px 0;
border-bottom: var(--t-delici-linka);
}
.book-detail-card dt { font-size: 0.85rem; color: var(--t-text-tlumeny); }
.book-detail-card dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.book-borrow-note {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
gap: var(--t-mezera);
margin-top: var(--t-mezera);
padding: var(--t-vypln);
background: var(--t-pozadi-jemne);
border: var(--t-delici-linka);
border-radius: var(--t-zaobleni);
}
.book-borrow-note h3 { margin: 4px 0 0; }
.book-borrow-note p { margin: 0; }
.book-borrow-note .kicker {
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--t-text-tlumeny);
}
@media (max-width: 720px) {
.library-table-head { display: none; }
.library-table > a { grid-template-columns: minmax(0, 1fr) auto; }
.library-table > a > strong { grid-column: 1 / -1; }
.book-detail-card,
.book-borrow-note { grid-template-columns: minmax(0, 1fr); }
.book-cover { max-width: 180px; }
.book-detail-card dl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
