/* Среда.Закупки — общий каркас. Белая шапка как у страницы запроса кооператору (coop-quote). */
@font-face { font-family: ZK; src: local('SF Pro Text Regular'), url('/fonts/SFPro/SFProText-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: ZK; src: local('SF Pro Text Medium'), url('/fonts/SFPro/SFProText-Medium.ttf') format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: ZK; src: local('SF Pro Text Semibold'), url('/fonts/SFPro/SFProText-Semibold.ttf') format('truetype'); font-weight: 600; font-display: swap; }
@font-face { font-family: ZK; src: local('SF Pro Text Bold'), url('/fonts/SFPro/SFProText-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }

html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

.zk-page {
    --ink: #1d1d1f;
    --ink-2: #4a4f57;
    --ink-3: #8a8f98;
    --ink-4: #b8bcc3;
    --line: #e6e6e6;
    --line-2: #f0f1f3;
    --link: #0a7fc2;
    margin: 0;
    background: #fff;
    color: var(--ink);
    font: 400 14px/20px ZK, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

:where(.zk-page) :where(h1, h2, h3, p) { margin: 0; }
.zk-page a { color: var(--link); }
.zk-page a:hover { color: var(--link); }
.zk-page :focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* шапка */
.zk-bar {
    height: 56px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 32px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.zk-page .zk-brand,
.zk-page .zk-brand:hover,
.zk-page .zk-brand:focus,
.zk-page .zk-brand:visited {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #111;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
}

.zk-brand img { display: block; width: 28px; height: 28px; object-fit: contain; filter: none; }
.zk-brand:hover img { filter: none; opacity: 1; }
.zk-sep { width: 1px; height: 20px; background: var(--line); }
.zk-bar-t { color: var(--ink-2); font-weight: 500; }
.zk-bar-note { margin-left: auto !important; color: var(--ink-3); font-size: 12px; white-space: nowrap; }

.zk-wrap {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
    padding: 28px 0 48px;
}

/* кнопки и поля списка */
.zk-btn {
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 6px;
    font: inherit;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.zk-btn-dark { background: var(--ink); color: #fff; }
.zk-btn-dark:hover { background: #000; }

.zk-textlink {
    border: 0;
    background: none;
    padding: 0;
    color: var(--link);
    font: inherit;
    font-weight: 500;
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
}

.zk-textlink:hover { text-decoration: underline; }

.zk-in {
    width: 100%;
    min-width: 0;
    height: 36px;
    border: 1px solid #d9dce0;
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 14px;
    padding: 0 10px;
}

.zk-in::placeholder { color: var(--ink-4); }
.zk-in:focus { outline: 0; border-color: var(--ink); }

@media (max-width: 720px) {
    .zk-bar { height: 50px; padding: 0 14px; }
    .zk-sep, .zk-bar-t { display: none; }
    .zk-wrap { width: calc(100% - 28px); padding-top: 18px; }
}

/* ---------- v zk3: фон-подложка, акцент, аккаунт в шапке, звезда, уведомление ---------- */
.zk-page {
    --brand: #f6c500;
    --brand-hover: #e5b700;
    --brand-soft: #fff6cc;
    --brand-ink: #8a6800;
    --sh: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);
    background: #f4f5f7;
}

.zk-btn-pri { background: var(--brand); color: #1d1d1f; }
.zk-btn-pri:hover { background: var(--brand-hover); }
.zk-page a.zk-btn, .zk-page a.zk-btn:hover { text-decoration: none; }
.zk-page a.zk-btn-pri, .zk-page a.zk-btn-pri:hover { color: #1d1d1f; }

.zk-bar .zk-acc { margin-left: auto; }

.zk-acc { display: flex; align-items: center; gap: 14px; min-width: 0; font-size: 13px; }
.zk-acc-form { margin: 0; }

.zk-acc-who {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    max-width: 280px;
    color: var(--ink-2);
    font-weight: 500;
}

.zk-acc-who span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.zk-acc-link,
.zk-page a.zk-acc-link,
.cqa-public a.zk-acc-link {
    padding: 0;
    border: 0;
    background: none;
    color: #1d1d1f;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.zk-acc-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.zk-page a.zk-acc-btn,
.cqa-public a.zk-acc-btn {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    border-radius: 8px;
    background: #f6c500;
    color: #1d1d1f;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.zk-page a.zk-acc-btn:hover,
.cqa-public a.zk-acc-btn:hover { background: #e5b700; color: #1d1d1f; }

/* звезда */
.zk-fav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #e0e3e7;
    border-radius: 9px;
    background: #fff;
    color: #9aa0a8;
    cursor: pointer;
    text-decoration: none;
    transition: background .12s ease, color .12s ease, border-color .12s ease;
}

.zk-fav:hover { background: #fff9dc; border-color: #f0d56a; color: #b88a00; }
.zk-fav .zk-fav-ic { fill: none; stroke: currentColor; stroke-width: 1.7; }
.zk-fav.is-on { background: #fff6cc; border-color: #f0d56a; color: #d9a400; }
.zk-fav.is-on .zk-fav-ic { fill: currentColor; }
.zk-fav.is-busy { opacity: .6; pointer-events: none; }
.zk-page a.zk-fav, .cqa-public a.zk-fav { color: #9aa0a8; }
.zk-page a.zk-fav:hover, .cqa-public a.zk-fav:hover { color: #b88a00; }

/* уведомление после регистрации */
.zk-toast {
    position: fixed;
    left: 50%;
    top: 68px;
    z-index: 50;
    transform: translateX(-50%);
    max-width: calc(100% - 28px);
    padding: 10px 16px;
    border: 1px solid #b9e2c7;
    border-radius: 10px;
    background: #e6f6ec;
    color: #1d7a3e;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 6px 20px rgba(16, 24, 40, .12);
    animation: zk-toast 6s ease forwards;
}

@keyframes zk-toast {
    0%, 85% { opacity: 1; transform: translate(-50%, 0); }
    100% { opacity: 0; transform: translate(-50%, -8px); pointer-events: none; }
}

@media (max-width: 720px) {
    .zk-bar { gap: 8px; }
    .zk-acc { gap: 10px; }
    .zk-acc-who { max-width: 130px; }
}

/* ---------- v zk4: кабинет в шапке, кнопка «Завершить регистрацию» ---------- */
.zk-acc button.zk-acc-btn {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    border: 0;
    border-radius: 8px;
    background: #f6c500;
    color: #1d1d1f;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.zk-acc button.zk-acc-btn:hover { background: #e5b700; }
.zk-acc a.zk-acc-who, .zk-acc a.zk-acc-who:hover { color: #4a4f57; text-decoration: none; }
.zk-acc a.zk-acc-who:hover span { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- zk7: шапка с меню, «Назад», футер с документами ---------- */
.cqa-public .zk-bar { font: 400 14px/20px ZK, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.zk-page .zk-brand span, .cqa-public .zk-brand span { font-size: 18px; letter-spacing: -.01em; }
.cqa-public .zk-brand, .cqa-public .zk-brand:hover { display: inline-flex; align-items: center; gap: 10px; color: #111; text-decoration: none; font-weight: 700; }
.zk-menu { display: flex; align-items: center; gap: 4px; margin: 0 auto; }
.zk-menu a, .zk-menu span { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 10px; color: #4a4f57; font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.zk-page .zk-menu a, .cqa-public .zk-menu a { color: #4a4f57; text-decoration: none; }
.zk-page .zk-menu a.is-on, .cqa-public .zk-menu a.is-on { background: #f2f3f5; color: #1d1d1f; font-weight: 600; }
.zk-menu .is-soon { color: #b8bcc3; cursor: default; }
.zk-menu .is-soon i { padding: 1px 6px; border-radius: 6px; background: #f2f3f5; color: #8a8f98; font-size: 10px; font-style: normal; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.zk-bar .zk-acc { margin-left: 0; }

.zk-back, .zk-page a.zk-back, .cqa-public a.zk-back { display: inline-flex; align-items: center; height: 32px; margin-bottom: 12px; padding: 0 12px 0 10px; border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(16,24,40,.06); color: #1d1d1f; font-size: 13px; font-weight: 500; text-decoration: none; }
.zk-page a.zk-back:hover, .cqa-public a.zk-back:hover { background: #f2f3f5; color: #1d1d1f; }

.zk-foot { margin-top: 32px; border-top: 1px solid #e6e6e6; background: #fff; font: 400 13px/20px ZK, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: #8a8f98; }
.zk-foot-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: 20px 0 28px; }
.zk-foot nav { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.zk-foot a, .zk-page .zk-foot a, .cqa-public .zk-foot a { color: #4a4f57; text-decoration: none; }
.zk-foot a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 720px) {
    .zk-menu { gap: 0; margin: 0; overflow-x: auto; }
    .zk-menu a, .zk-menu span { padding: 0 8px; font-size: 13px; }
    .zk-menu .is-soon i { display: none; }
    .zk-bar .zk-brand span { display: none; }
}
.cqa-public .zk-bar { --line: #e6e6e6; --ink: #1d1d1f; --ink-2: #4a4f57; --ink-3: #8a8f98; margin: 0; }

/* zk9: страница на всю ширину вьюпорта. Поля по 240px (баннер слева, справа пусто) — только от 1300px,
   когда списку остаётся ≥760px; уже — контент на 100% с отступами 24px, баннер скрыт. Шапка, футер,
   страница заявки и документов выровнены по той же сетке. Правила здесь: layout-CSS подключается последним. */
.zk-bar { padding-left: 24px; padding-right: 24px; }
.zk-foot-in { width: 100%; max-width: none; margin: 0; padding: 20px 24px 28px; }
.zk-page .zk-wrap.zk-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; width: 100%; max-width: none; margin: 0; padding: 28px 24px 48px; }
.zk-page .zk-wrap.zk-grid > .zk-main { grid-column: 1; grid-row: 1; min-width: 0; }
.zk-page .zk-wrap.zk-grid > .zk-aside { display: none; }
.zk-page .zk-wrap.zk-legal { width: 100%; max-width: none; margin: 0; padding: 28px 24px 48px; }
.zk-page .zk-wrap.zk-legal > * { max-width: 820px; }
.cqa-public .cqa-wrap { width: auto; max-width: none; margin: 24px 24px 40px; }
.zk-pending { margin: 12px 24px; padding: 11px 14px; border-radius: 10px; background: #fff4d6; color: #8a5a00; font-size: 13px; }
@media (min-width: 1300px) {
    .zk-bar { padding-left: 288px; padding-right: 288px; }
    .zk-foot-in { padding-left: 288px; padding-right: 288px; }
    .zk-page .zk-wrap.zk-grid { grid-template-columns: 240px minmax(0, 1fr) 240px; }
    .zk-page .zk-wrap.zk-grid > .zk-main { grid-column: 2; }
    .zk-page .zk-wrap.zk-grid > .zk-aside { display: block; grid-column: 1; grid-row: 1; position: sticky; top: 16px; }
    .zk-page .zk-wrap.zk-legal { padding-left: 288px; padding-right: 288px; }
    .cqa-public .cqa-wrap { margin-left: 288px; margin-right: 288px; }
    .zk-pending { margin-left: 288px; margin-right: 288px; }
}
@media (max-width: 720px) {
    .zk-bar { padding-left: 14px; padding-right: 14px; }
    .zk-foot-in { padding-left: 14px; padding-right: 14px; }
    .zk-page .zk-wrap.zk-grid, .zk-page .zk-wrap.zk-legal { padding: 18px 14px 32px; }
    .cqa-public .cqa-wrap { margin: 12px 10px 28px; }
    .zk-pending { margin: 10px 14px; }
}
