.documents_title{width:100%;margin-bottom:35px;color:var(--primary);font-size:28px;font-weight:600;line-height:0;letter-spacing:.04em;text-align:left}
.documents_grid{display:grid}
@media (max-width:711px){.sections{padding-left:12px;padding-right:12px}}

.document_card{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:16px;border-radius:var(--radius-xs);background:var(--gray);transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease,color .2s ease;will-change:transform}
.document_card:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--border);background:var(--primary)}
.document_date{color:var(--light-purple);font:600 14px/18px var(--font-sans);letter-spacing:.04em;margin-bottom:18px}
.document_row{display:flex;align-items:flex-start;gap:10px;width:100%}
.document_icon{width:18px;height:18px;flex:0 0 18px}
.document_name{flex:1 1 auto;min-width:0;color:var(--light-purple);text-align:left;font:400 20px/24px var(--font-sans);letter-spacing:.04em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;word-break:break-word}
.document_meta{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto}
.document_type{display:inline-flex;align-items:center;gap:8px}
.document_type_icon{width:25px;height:25px}
.text_blue{color:var(--primary);font:400 14px/1 var(--font-sans)}
.document_download{position:relative;display:inline-flex;align-items:center;gap:6px;color:var(--light-purple);font:700 14px/1 var(--font-sans);padding:6px 10px;border-radius:var(--radius-xs);cursor:pointer;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}
.document_download_icon{width:14px;height:14px;transition:transform .2s ease,filter .2s ease}
.document_download::after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left center;opacity:.35;transition:transform .25s ease}
.document_download:hover{background:rgba(var(--primary-rgb), .08);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .06) inset}
.document_download:hover::after{transform:scaleX(1)}
.document_download:hover .document_download_icon{transform:translateX(2px)}
.document_card:hover .document_date,.document_card:hover .document_name,.document_card:hover .document_download,.document_card:hover .document_download span,.document_card:hover .text_blue{color:var(--white)}
.document_card:hover .document_icon,.document_card:hover .document_download_icon{filter:grayscale(1) brightness(0) invert(1)}
.document_card:hover .document_download:hover{background:rgba(var(--white-rgb), .16);box-shadow:0 0 0 2px rgba(var(--white-rgb), .08) inset}
.document_card:hover .document_download:hover::after{opacity:.6}
.document_download:focus-visible{outline:2px solid rgba(var(--primary-rgb), .9);outline-offset:2px;background:rgba(var(--primary-rgb), .08)}
.document_card:hover .document_download:focus-visible{outline:2px solid rgba(var(--white-rgb), .9);background:rgba(var(--white-rgb), .16)}

.documents_section .documents_grid{grid-template-columns:repeat(3,519px);gap:20px;justify-content:space-between}
.documents_section .document_card{width:519px;height:190.55px}
.general_block .documents_grid{grid-template-columns:1fr;gap:24px;justify-items:start}
.general_block .document_card{width:100%;max-width:797px;height:190.55px}

.documents_carousel{--dc-gap:20px;--dc-colw:519px;--dc-edge:0px}
.sections.documents_section{overflow-x:clip}
.dc-viewport{overflow:hidden;position:relative;margin:0 auto;box-sizing:border-box;padding:0 var(--dc-edge);max-width:100%}
.dc-track{display:flex;gap:0;transition:transform .35s cubic-bezier(.22,.61,.36,1);will-change:transform;list-style:none}
.dc-page{display:grid;grid-auto-rows:190.55px;column-gap:var(--dc-gap);row-gap:var(--dc-gap)}
.dc-page .dc-slide{list-style:none;width:var(--dc-colw)}
.documents_carousel .document_card{width:var(--dc-colw);height:190.55px}
.dc-controls{display:flex;align-items:center;justify-content:center;gap:18px;user-select:none}
.dc-dots{display:flex;align-items:center;gap:12px;max-width:min(100%,720px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 6px;border-radius:var(--radius-pill)}
.dc-dots::-webkit-scrollbar{display:none}
.dc-dot{flex:0 0 auto;width:10px;height:10px;border:0;cursor:pointer;background:var(--border-strong);border-radius:50%}
.dc-dot.is-active{background:var(--primary)}
.dc-dot:focus-visible{outline:2px solid rgba(var(--primary-rgb), .6);outline-offset:2px;border-radius:50%}
.dc-arrow{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;padding:6px;border-radius:50%;transition:background-color .2s ease,opacity .2s ease;cursor:pointer}
.dc-arrow img{width:24px;height:24px;display:block}
.dc-arrow:hover{background:rgba(var(--black-rgb), .06)}
.dc-arrow:disabled{opacity:.35;pointer-events:none}

@media (max-width:580px){.document_name{font-size:18px;line-height:22px;-webkit-line-clamp:4}}
@media (max-width:400px){.document_name{font-size:16px;line-height:20px;-webkit-line-clamp:5}}

.documents_carousel.dc--grid .dc-viewport{overflow:visible}
.documents_carousel.dc--grid .dc-track{display:grid!important;grid-template-columns:repeat(3,519px);gap:20px;justify-content:space-between;transform:none!important}
.documents_carousel.dc--grid .dc-slide{width:auto}
.documents_carousel.dc--grid .dc-controls{display:none!important}
@media (max-width:1611px){.documents_carousel.dc--grid .dc-track{grid-template-columns:repeat(2,519px)}}
@media (max-width:1036px){.documents_carousel.dc--grid .dc-track{justify-content:center}}
@media (max-width:711px){
  .documents_carousel.dc--grid .dc-track{grid-template-columns:1fr;justify-content:stretch}
  .documents_carousel.dc--grid .document_card{width:100%}
}

@media (max-width:1036px){
  .documents_section .documents_grid{grid-template-columns:1fr!important;gap:20px!important;justify-content:stretch!important}
  .documents_section .document_card{width:100%!important}
  .general_block .documents_grid{grid-template-columns:1fr!important;gap:20px!important}
  .general_block .document_card{width:100%!important;max-width:100%!important}
  .documents_carousel.dc--grid .dc-track{grid-template-columns:1fr!important;justify-content:stretch!important}
  .documents_carousel.dc--grid .document_card{width:100%!important}
  .documents_title{margin:0 0 20px;line-height:1.2}
}

/* Управляемая библиотека документов на странице /general/documents/. */
.documents_section.documents_library {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.documents_library_header {
  align-items: flex-start;
}

.documents_library_total {
  flex: 0 0 auto;
  padding: 9px 13px;
  color: var(--secondary) !important;
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--gray);
  font-size: 13px !important;
  white-space: nowrap;
}

.documents_library_total strong {
  color: var(--primary);
}

.documents_filters {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

.documents_filter {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  color: var(--secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--white);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.documents_filter span {
  display: inline-grid;
  min-width: 22px;
  min-height: 22px;
  place-items: center;
  padding: 2px 6px;
  border-radius: var(--radius-pill);
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 11px;
}

.documents_filter:hover {
  color: var(--primary);
  border-color: var(--primary-light);
  background: var(--primary-soft);
}

.documents_filter.is-active {
  color: var(--white);
  border-color: var(--primary);
  background: var(--primary);
}

.documents_filter.is-active span {
  color: var(--primary-dark);
  background: var(--white);
}

.documents_results {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.documents_library_grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.documents_library .document_library_card {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0;
  height: auto !important;
  min-height: 250px;
  gap: 16px;
  padding: clamp(18px, 2vw, 24px);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
  box-shadow: none;
  will-change: auto;
}

.documents_library .document_library_card:hover {
  color: inherit;
  border-color: rgba(var(--primary-rgb), .45);
  background: var(--primary-soft);
  box-shadow: 0 10px 28px rgba(var(--shadow-rgb), .09);
  transform: translateY(-2px);
}

.document_library_topline {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.documents_library .document_date {
  margin: 0;
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
}

.document_format {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.documents_library .document_row {
  align-items: flex-start;
  gap: 12px;
}

.documents_library .document_icon {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
}

.documents_library .document_name {
  margin: 0;
  color: var(--black);
  font-size: clamp(17px, 1.45vw, 21px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.015em;
  -webkit-line-clamp: 4;
}

.documents_library .document_library_card:hover .document_date {
  color: var(--primary);
}

.documents_library .document_library_card:hover .document_name {
  color: var(--black);
}

.documents_library .document_library_card:hover .document_icon,
.documents_library .document_library_card:hover .document_download_icon {
  filter: none;
}

.document_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.document_tags li {
  max-width: 100%;
  padding: 5px 8px;
  color: var(--primary-dark);
  border-radius:var(--radius-xs);
  background: rgba(var(--primary-rgb), .09);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.document_actions {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 4px;
}

.documents_library .document_action {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 13px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}

.document_preview {
  color: var(--white);
  border-color: var(--primary);
  background: var(--primary);
}

.document_preview:hover {
  border-color: var(--primary-dark);
  background: var(--primary-dark);
}

.document_meta--actions {
  gap: 10px;
}

.document_meta--actions > .document_actions {
  width: auto;
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.document_meta--actions .document_action {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: var(--radius-xs);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.document_meta--actions .document_preview {
  color: var(--white);
  border-color: var(--primary);
  background: var(--primary);
}

.document_card:hover .document_meta--actions .document_preview {
  color: var(--primary);
  border-color: var(--white);
  background: var(--white);
}

.document_card:hover .document_meta--actions .document_preview:hover {
  color: var(--primary-dark);
  background: var(--primary-soft);
}

.documents_library .document_download {
  min-height: 40px;
  color: var(--primary);
  border-color: rgba(var(--primary-rgb), .28);
  background: var(--white);
}

.documents_library .document_download::after {
  display: none;
}

.documents_library .document_library_card:hover .document_download,
.documents_library .document_library_card:hover .document_download span {
  color: var(--primary);
}

.documents_library .document_download:hover,
.documents_library .document_library_card:hover .document_download:hover {
  color: var(--primary-dark);
  border-color: var(--primary-light);
  background: var(--white);
  box-shadow: none;
}

.documents_empty--filtered {
  margin-top: 16px;
}

.document_modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: clamp(8px, 1vw, 16px);
}

.document_modal_backdrop {
  position: absolute;
  inset: 0;
  background: rgba(var(--black-rgb), .62);
  backdrop-filter: blur(5px);
}

.document_modal_dialog {
  position: relative;
  display: flex;
  width: min(1680px, 100%);
  height: calc(100vh - clamp(16px, 2vw, 32px));
  height: calc(100dvh - clamp(16px, 2vw, 32px));
  min-height: 0;
  max-height: none;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(var(--white-rgb), .4);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-lg);
}

.document_modal_header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 18px 13px;
  border-bottom: 1px solid var(--border);
}

.document_modal_header .section_eyebrow {
  margin-bottom: 6px;
}

.document_modal_header h2 {
  max-width: 1400px;
  margin: 0;
  color: var(--black);
  font-size: clamp(18px, 1.5vw, 24px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}

.document_modal_close {
  display: inline-grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  padding: 0;
  color: var(--secondary);
  border: 1px solid var(--border);
  border-radius: 50%;
  background: var(--white);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.document_modal_close:hover {
  color: var(--primary);
  border-color: var(--primary-light);
  background: var(--primary-soft);
}

.document_modal_body {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  place-items: center;
  overflow: auto;
  background: var(--gray);
}

.document_modal_frame {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  background: var(--white);
}

.document_modal_image {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  padding: 20px;
}

.document_modal_fallback {
  max-width: 520px;
  padding: 48px 24px;
  color: var(--secondary);
  text-align: center;
}

.document_modal_fallback img {
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
}

.document_modal_fallback p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
}

.document_modal_footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding: 10px 18px;
  border-top: 1px solid var(--border);
}

.document_modal_footer .ui_btn {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.document_modal_footer .ui_btn--primary {
  color: var(--white);
  border-color: var(--primary);
  background: var(--primary);
}

.document_modal_footer .ui_btn--secondary {
  color: var(--secondary);
  background: var(--white);
}

.document_modal_open {
  overflow: hidden;
}

@media (max-width: 760px) {
  .documents_library_grid {
    grid-template-columns: 1fr;
  }

  .documents_library .document_library_card {
    min-height: 220px;
  }

  .document_modal_dialog {
    height: calc(100vh - 16px);
    height: calc(100dvh - 16px);
  }

  .document_modal_header {
    padding: 13px 14px 11px;
  }

  .document_modal_frame {
    min-height: 0;
  }

  .document_modal_footer {
    padding: 12px 16px;
  }
}

@media (max-width: 480px) {
  .documents_library_total {
    white-space: normal;
  }

  .documents_filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 3px 3px 8px;
    scrollbar-width: thin;
  }

  .documents_filter {
    flex: 0 0 auto;
  }

  .document_actions,
  .document_modal_footer {
    align-items: stretch;
    flex-direction: column;
  }

  .documents_library .document_action,
  .document_modal_footer .ui_btn {
    width: 100%;
  }

  .document_meta--actions .text_blue {
    display: none;
  }

  .document_meta--actions > .document_actions {
    width: auto;
    align-items: center;
    flex-direction: row;
  }

  .document_meta--actions .document_action {
    width: auto;
  }

  .document_modal {
    padding: 0;
  }

  .document_modal_dialog {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    max-height: none;
    border: 0;
    border-radius: 0;
  }

  .document_modal_frame {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .documents_library .document_library_card,
  .documents_filter,
  .documents_library .document_action {
    transition: none;
  }
}
