.dl-library { padding-block: 12px 96px; }
.dl-library [hidden] { display: none !important; }
.dl-jump { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid #c9d1d5; }
.dl-jump a { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 22px; color: #17232a; font-size: 17px; font-weight: 650; text-decoration: none; }
.dl-jump a + a { border-left: 1px solid #c9d1d5; }
.dl-jump a:hover, .dl-jump a:focus-visible { background: #f1f4f5; }
.dl-jump small { font-size: 12px; font-weight: 650; color: #5a6c75; }
.dl-search { display: block; width: min(100%, 460px); margin-block: 36px 0; color: #24343b; font-size: 13px; font-weight: 650; }
.dl-search-box { display: flex; align-items: center; gap: 12px; margin-top: 9px; padding-inline: 15px; min-height: 52px; border: 1px solid #b9c5cb; background: #fff; }
.dl-search-box svg { flex: none; width: 17px; height: 17px; color: #586b76; }
.dl-search input { display: block; width: 100%; min-width: 0; height: 50px; border: 0; outline: 0; background: transparent; color: #142027; font: inherit; font-weight: 450; }
.dl-search input::placeholder { color: #61717a; opacity: 1; }
.dl-search-box:focus-within { border-color: #333f45; outline: 2px solid #333f45; outline-offset: 2px; }
.dl-status { min-height: 19px; margin: 10px 0 0; color: #52616b; font-size: 12px; }
.dl-section { margin-top: 54px; scroll-margin-top: 110px; }
.dl-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 24px; margin-bottom: 21px; border-bottom: 1px solid #8b9ca5; padding-bottom: 17px; }
.dl-section-heading h2 { margin: 0; color: #101820; font-size: clamp(24px, 2.5vw, 31px); line-height: 1.25; letter-spacing: -.025em; }
.dl-section-heading p { margin: 9px 0 0; max-width: 66ch; color: #52616b; font-size: 13px; line-height: 1.55; }
.dl-section-heading > span { color: #52616b; font-size: 15px; font-variant-numeric: tabular-nums; }
.dl-catalog-grid, .dl-model-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.dl-item { display: flex; align-items: center; gap: 17px; min-width: 0; color: #17232a; text-decoration: none; }
.dl-item:hover, .dl-item:focus-visible { color: #17232a; }
.dl-item:focus-visible { outline: 2px solid #142027; outline-offset: 3px; }
.dl-item--catalog { min-height: 144px; padding: 21px; border: 1px solid #cbd4d8; background: #f5f7f7; }
.dl-item--catalog:hover { border-color: #5d717a; background: #eff3f4; }
.dl-item--model { min-height: 88px; padding: 13px 4px; border-bottom: 1px solid #d8dfe2; }
.dl-item--model:hover { border-bottom-color: #6a7a82; background: #f7f9f9; }
.dl-kind { flex: none; display: grid; place-items: center; width: 44px; height: 46px; background: #e5ebed; color: #3a5866; font-size: 10px; font-weight: 750; }
.dl-item--catalog .dl-kind { align-self: start; }
.dl-copy { display: block; flex: 1; min-width: 0; }
.dl-copy strong { display: block; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.dl-category { display: block; margin: 0 0 9px; color: #52616b; font-size: 13px; font-weight: 650; }
.dl-model-category { margin: 0 0 11px; color: #3c4e57; font-size: 15px; font-weight: 650; }
.dl-meta { display: block; margin-top: 7px; color: #52616b; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.dl-action { flex: none; display: inline-flex; align-items: center; gap: 7px; color: #a8270f; font-size: 11px; font-weight: 700; white-space: nowrap; }
.dl-request-short { display: none; }
.dl-action svg { width: 15px; height: 15px; }
.dl-empty { margin: 56px 0; color: #52616b; font-size: 14px; }
@media (max-width: 900px) {
  .dl-catalog-grid, .dl-model-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .dl-library { padding-block: 0 74px; }
  .dl-jump a { min-height: 62px; padding-inline: 12px; font-size: 13px; }
  .dl-section { margin-top: 45px; }
  .dl-item--catalog { min-height: 124px; padding: 16px; }
  .dl-item--model { gap: 11px; min-height: 85px; }
  .dl-kind { width: 38px; height: 42px; }
  .dl-action { gap: 5px; font-size: 11px; }
  .dl-request-full { display: none; }
  .dl-request-short { display: inline; }
  .dl-action svg { width: 17px; height: 17px; }
}
