.catalog-page{min-height:calc(100dvh - var(--header-height) - 56px);padding-block:56px 72px}.catalog-page h1{letter-spacing:-1.5px;font-size:clamp(30px,4vw,42px);font-weight:600;line-height:1.25}.catalog-filters{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:minmax(220px,1fr) minmax(140px,.45fr) minmax(180px,.5fr) auto;align-items:end;gap:16px;margin-top:32px;padding:24px;display:grid}.catalog-field{min-width:0}.catalog-field label{margin-bottom:8px;font-size:12px;font-weight:600;display:block}.catalog-field input,.catalog-field select{width:100%;height:48px;color:var(--foreground);font:inherit;background:#fff;border:1px solid #d8caba;border-radius:10px;padding:12px 14px;font-size:13px}.catalog-field input::placeholder{color:var(--muted);opacity:1}.catalog-search-input{position:relative}.catalog-search-input>svg{color:var(--muted);pointer-events:none;position:absolute;top:14px;left:14px}.catalog-search-input input{padding-left:44px}.catalog-filters .button{gap:10px;min-height:48px;padding:12px 20px;font-size:13px}.catalog-summary{color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;padding-block:26px;font-size:13px;display:flex}.catalog-summary p{overflow-wrap:anywhere}.catalog-summary strong{color:var(--foreground);font-weight:500}.catalog-reset{color:var(--foreground);text-underline-offset:4px;flex-shrink:0;text-decoration:underline}.catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:36px 28px;min-height:0;margin:0;padding:0;list-style:none;display:grid}.catalog-grid .book-card{display:block}.catalog-grid .book-cover{border-radius:8px;transition:box-shadow .18s;box-shadow:0 3px 10px #3e271214}.catalog-grid .book-card:hover .book-cover{box-shadow:0 5px 16px #3e27122e}.catalog-grid .book-title{margin-top:14px;font-weight:600}.catalog-rating{color:var(--color-walnut-brown);align-items:center;gap:5px;margin-top:9px;font-size:12px;display:flex}.catalog-rating strong{font-weight:600}.catalog-rating>span{color:var(--muted)}.catalog-unrated{color:var(--muted);font-size:11px}.catalog-pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;margin-top:44px;padding-top:24px;display:flex}.catalog-pagination>p{color:var(--muted);font-size:12px}.catalog-pagination nav,.page-number-group{align-items:center;gap:6px;display:flex}.page-number,.page-direction{background:var(--secondary);border-radius:var(--radius-buttons);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:10px 12px;font-size:12px;display:inline-flex}.page-number[aria-current=page]{color:#fff;background:var(--color-walnut-brown);border-color:var(--color-walnut-brown)}.catalog-pagination a:hover{background:var(--secondary-hover)}.catalog-pagination .page-number[aria-current=page]:hover{background:#2d1c0c}.page-direction:disabled{color:var(--muted);opacity:.55;cursor:default}.pagination-gap{color:var(--muted);padding-inline:2px}.catalog-empty{text-align:center;border:1px dashed #d8caba;border-radius:16px;flex-direction:column;align-items:center;padding:64px 20px;display:flex}.catalog-empty>svg{color:var(--muted);margin-bottom:18px}.catalog-empty h2{letter-spacing:-.5px;font-size:24px;font-weight:600}.catalog-empty p{color:var(--muted);margin-top:10px;font-size:13px}.catalog-empty .button{width:auto;margin-top:24px}.catalog-loading{color:var(--muted);padding-block:40px}@media (max-width:1100px){.catalog-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.catalog-search{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:900px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.catalog-page{padding-block:32px 48px}.catalog-filters{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px;padding:18px}.catalog-filters .button{grid-column:1/-1}.catalog-field input,.catalog-field select{font-size:16px}.catalog-field select{padding-inline:9px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.catalog-pagination{flex-direction:column;gap:12px;margin-top:32px}.catalog-pagination nav{flex-wrap:wrap;justify-content:center;gap:4px}.page-direction{padding-inline:10px}.page-direction>span{display:none}.page-number-group{gap:2px}}
